{
    "smithy": "1.0",
    "metadata": {
        "suppressions": [
            {
                "id": "HttpMethodSemantics",
                "namespace": "*"
            },
            {
                "id": "HttpResponseCodeSemantics",
                "namespace": "*"
            },
            {
                "id": "PaginatedTrait",
                "namespace": "*"
            },
            {
                "id": "HttpHeaderTrait",
                "namespace": "*"
            },
            {
                "id": "HttpUriConflict",
                "namespace": "*"
            },
            {
                "id": "Service",
                "namespace": "*"
            }
        ]
    },
    "shapes": {
        "com.amazonaws.appflow#ARN": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 512
                },
                "smithy.api#pattern": "^arn:aws:.*:.*:[0-9]+:"
            }
        },
        "com.amazonaws.appflow#AccessDeniedException": {
            "type": "structure",
            "members": {
                "message": {
                    "target": "com.amazonaws.appflow#ErrorMessage"
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>AppFlow/Requester has invalid or missing permissions.</p>",
                "smithy.api#error": "client",
                "smithy.api#httpError": 403
            }
        },
        "com.amazonaws.appflow#AccessKeyId": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 256
                },
                "smithy.api#pattern": "^\\S+$",
                "smithy.api#sensitive": {}
            }
        },
        "com.amazonaws.appflow#AccessToken": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 4096
                },
                "smithy.api#pattern": "^\\S+$",
                "smithy.api#sensitive": {}
            }
        },
        "com.amazonaws.appflow#AccountName": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 512
                },
                "smithy.api#pattern": "^\\S+$"
            }
        },
        "com.amazonaws.appflow#AggregationConfig": {
            "type": "structure",
            "members": {
                "aggregationType": {
                    "target": "com.amazonaws.appflow#AggregationType",
                    "traits": {
                        "smithy.api#documentation": "<p> Specifies whether Amazon AppFlow aggregates the flow records into a single file, or\n      leave them unaggregated. </p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> The aggregation settings that you can use to customize the output format of your flow\n      data. </p>"
            }
        },
        "com.amazonaws.appflow#AggregationType": {
            "type": "string",
            "traits": {
                "smithy.api#enum": [
                    {
                        "value": "None",
                        "name": "NONE"
                    },
                    {
                        "value": "SingleFile",
                        "name": "SINGLE_FILE"
                    }
                ]
            }
        },
        "com.amazonaws.appflow#AmplitudeConnectorOperator": {
            "type": "string",
            "traits": {
                "smithy.api#enum": [
                    {
                        "value": "BETWEEN",
                        "name": "BETWEEN"
                    }
                ]
            }
        },
        "com.amazonaws.appflow#AmplitudeConnectorProfileCredentials": {
            "type": "structure",
            "members": {
                "apiKey": {
                    "target": "com.amazonaws.appflow#ApiKey",
                    "traits": {
                        "smithy.api#documentation": "<p> A unique alphanumeric identifier used to authenticate a user, developer, or calling\n      program to your API. </p>",
                        "smithy.api#required": {}
                    }
                },
                "secretKey": {
                    "target": "com.amazonaws.appflow#SecretKey",
                    "traits": {
                        "smithy.api#documentation": "<p> The Secret Access Key portion of the credentials. </p>",
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> The connector-specific credentials required when using Amplitude. </p>"
            }
        },
        "com.amazonaws.appflow#AmplitudeConnectorProfileProperties": {
            "type": "structure",
            "members": {},
            "traits": {
                "smithy.api#documentation": "<p> The connector-specific profile properties required when using Amplitude. </p>"
            }
        },
        "com.amazonaws.appflow#AmplitudeMetadata": {
            "type": "structure",
            "members": {},
            "traits": {
                "smithy.api#documentation": "<p> The connector metadata specific to Amplitude. </p>"
            }
        },
        "com.amazonaws.appflow#AmplitudeSourceProperties": {
            "type": "structure",
            "members": {
                "object": {
                    "target": "com.amazonaws.appflow#Object",
                    "traits": {
                        "smithy.api#documentation": "<p> The object specified in the Amplitude flow source. </p>",
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> The properties that are applied when Amplitude is being used as a source. </p>"
            }
        },
        "com.amazonaws.appflow#ApiKey": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 256
                },
                "smithy.api#pattern": "^\\S+$",
                "smithy.api#sensitive": {}
            }
        },
        "com.amazonaws.appflow#ApiKeyCredentials": {
            "type": "structure",
            "members": {
                "apiKey": {
                    "target": "com.amazonaws.appflow#ApiKey",
                    "traits": {
                        "smithy.api#documentation": "<p>The API key required for API key authentication.</p>",
                        "smithy.api#required": {}
                    }
                },
                "apiSecretKey": {
                    "target": "com.amazonaws.appflow#ApiSecretKey",
                    "traits": {
                        "smithy.api#documentation": "<p>The API secret key required for API key authentication.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>The API key credentials required for API key authentication.</p>"
            }
        },
        "com.amazonaws.appflow#ApiSecretKey": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 256
                },
                "smithy.api#pattern": "^\\S+$",
                "smithy.api#sensitive": {}
            }
        },
        "com.amazonaws.appflow#ApiToken": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 256
                },
                "smithy.api#pattern": "^\\S+$"
            }
        },
        "com.amazonaws.appflow#ApiVersion": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 256
                },
                "smithy.api#pattern": "^\\S+$"
            }
        },
        "com.amazonaws.appflow#ApplicationHostUrl": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 256
                },
                "smithy.api#pattern": "^(https?)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]$"
            }
        },
        "com.amazonaws.appflow#ApplicationKey": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 512
                },
                "smithy.api#pattern": "^\\S+$"
            }
        },
        "com.amazonaws.appflow#ApplicationServicePath": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 512
                },
                "smithy.api#pattern": "^\\S+$"
            }
        },
        "com.amazonaws.appflow#ApplicationType": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 512
                },
                "smithy.api#pattern": "^\\S+$"
            }
        },
        "com.amazonaws.appflow#AuthCode": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 2048
                },
                "smithy.api#pattern": "^\\S+$"
            }
        },
        "com.amazonaws.appflow#AuthCodeUrl": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 256
                },
                "smithy.api#pattern": "^(https?)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]$"
            }
        },
        "com.amazonaws.appflow#AuthCodeUrlList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.appflow#AuthCodeUrl"
            }
        },
        "com.amazonaws.appflow#AuthParameter": {
            "type": "structure",
            "members": {
                "key": {
                    "target": "com.amazonaws.appflow#Key",
                    "traits": {
                        "smithy.api#documentation": "<p>The authentication key required to authenticate with the connector.</p>"
                    }
                },
                "isRequired": {
                    "target": "com.amazonaws.appflow#Boolean",
                    "traits": {
                        "smithy.api#documentation": "<p>Indicates whether this authentication parameter is required.</p>"
                    }
                },
                "label": {
                    "target": "com.amazonaws.appflow#Label",
                    "traits": {
                        "smithy.api#documentation": "<p>Label used for authentication parameter.</p>"
                    }
                },
                "description": {
                    "target": "com.amazonaws.appflow#Description",
                    "traits": {
                        "smithy.api#documentation": "<p>A description about the authentication parameter.</p>"
                    }
                },
                "isSensitiveField": {
                    "target": "com.amazonaws.appflow#Boolean",
                    "traits": {
                        "smithy.api#documentation": "<p>Indicates whether this authentication parameter is a sensitive field.</p>"
                    }
                },
                "connectorSuppliedValues": {
                    "target": "com.amazonaws.appflow#ConnectorSuppliedValueList",
                    "traits": {
                        "smithy.api#documentation": "<p>Contains default values for this authentication parameter that are supplied by the\n      connector.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Information about required authentication parameters.</p>"
            }
        },
        "com.amazonaws.appflow#AuthParameterList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.appflow#AuthParameter"
            }
        },
        "com.amazonaws.appflow#AuthenticationConfig": {
            "type": "structure",
            "members": {
                "isBasicAuthSupported": {
                    "target": "com.amazonaws.appflow#Boolean",
                    "traits": {
                        "smithy.api#documentation": "<p>Indicates whether basic authentication is supported by the connector.</p>"
                    }
                },
                "isApiKeyAuthSupported": {
                    "target": "com.amazonaws.appflow#Boolean",
                    "traits": {
                        "smithy.api#documentation": "<p>Indicates whether API key authentication is supported by the connector</p>"
                    }
                },
                "isOAuth2Supported": {
                    "target": "com.amazonaws.appflow#Boolean",
                    "traits": {
                        "smithy.api#documentation": "<p>Indicates whether OAuth 2.0 authentication is supported by the connector.</p>"
                    }
                },
                "isCustomAuthSupported": {
                    "target": "com.amazonaws.appflow#Boolean",
                    "traits": {
                        "smithy.api#documentation": "<p>Indicates whether custom authentication is supported by the connector</p>"
                    }
                },
                "oAuth2Defaults": {
                    "target": "com.amazonaws.appflow#OAuth2Defaults",
                    "traits": {
                        "smithy.api#documentation": "<p>Contains the default values required for OAuth 2.0 authentication.</p>"
                    }
                },
                "customAuthConfigs": {
                    "target": "com.amazonaws.appflow#CustomAuthConfigList",
                    "traits": {
                        "smithy.api#documentation": "<p>Contains information required for custom authentication.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Contains information about the authentication config that the connector supports.</p>"
            }
        },
        "com.amazonaws.appflow#AuthenticationType": {
            "type": "string",
            "traits": {
                "smithy.api#enum": [
                    {
                        "value": "OAUTH2",
                        "name": "OAUTH2"
                    },
                    {
                        "value": "APIKEY",
                        "name": "APIKEY"
                    },
                    {
                        "value": "BASIC",
                        "name": "BASIC"
                    },
                    {
                        "value": "CUSTOM",
                        "name": "CUSTOM"
                    }
                ]
            }
        },
        "com.amazonaws.appflow#BasicAuthCredentials": {
            "type": "structure",
            "members": {
                "username": {
                    "target": "com.amazonaws.appflow#Username",
                    "traits": {
                        "smithy.api#documentation": "<p> The username to use to connect to a resource. </p>",
                        "smithy.api#required": {}
                    }
                },
                "password": {
                    "target": "com.amazonaws.appflow#Password",
                    "traits": {
                        "smithy.api#documentation": "<p> The password to use to connect to a resource.</p>",
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> The basic auth credentials required for basic authentication. </p>"
            }
        },
        "com.amazonaws.appflow#Boolean": {
            "type": "boolean"
        },
        "com.amazonaws.appflow#BucketName": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 3,
                    "max": 63
                },
                "smithy.api#pattern": "^\\S+$"
            }
        },
        "com.amazonaws.appflow#BucketPrefix": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 512
                },
                "smithy.api#pattern": ".*"
            }
        },
        "com.amazonaws.appflow#ClientCredentialsArn": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 20,
                    "max": 2048
                },
                "smithy.api#pattern": "^arn:aws:secretsmanager:.*:[0-9]+:",
                "smithy.api#sensitive": {}
            }
        },
        "com.amazonaws.appflow#ClientId": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 512
                },
                "smithy.api#pattern": "^\\S+$"
            }
        },
        "com.amazonaws.appflow#ClientNumber": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 3,
                    "max": 3
                },
                "smithy.api#pattern": "^\\d{3}$"
            }
        },
        "com.amazonaws.appflow#ClientSecret": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 512
                },
                "smithy.api#pattern": "^\\S+$",
                "smithy.api#sensitive": {}
            }
        },
        "com.amazonaws.appflow#ConflictException": {
            "type": "structure",
            "members": {
                "message": {
                    "target": "com.amazonaws.appflow#ErrorMessage"
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> There was a conflict when processing the request (for example, a flow with the given name\n      already exists within the account. Check for conflicting resource names and try again. </p>",
                "smithy.api#error": "client",
                "smithy.api#httpError": 409
            }
        },
        "com.amazonaws.appflow#ConnectionMode": {
            "type": "string",
            "traits": {
                "smithy.api#enum": [
                    {
                        "value": "Public",
                        "name": "PUBLIC"
                    },
                    {
                        "value": "Private",
                        "name": "PRIVATE"
                    }
                ]
            }
        },
        "com.amazonaws.appflow#ConnectorAuthenticationException": {
            "type": "structure",
            "members": {
                "message": {
                    "target": "com.amazonaws.appflow#ErrorMessage"
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> An error occurred when authenticating with the connector endpoint. </p>",
                "smithy.api#error": "client",
                "smithy.api#httpError": 401
            }
        },
        "com.amazonaws.appflow#ConnectorConfiguration": {
            "type": "structure",
            "members": {
                "canUseAsSource": {
                    "target": "com.amazonaws.appflow#Boolean",
                    "traits": {
                        "smithy.api#documentation": "<p> Specifies whether the connector can be used as a source. </p>"
                    }
                },
                "canUseAsDestination": {
                    "target": "com.amazonaws.appflow#Boolean",
                    "traits": {
                        "smithy.api#documentation": "<p> Specifies whether the connector can be used as a destination. </p>"
                    }
                },
                "supportedDestinationConnectors": {
                    "target": "com.amazonaws.appflow#ConnectorTypeList",
                    "traits": {
                        "smithy.api#documentation": "<p> Lists the connectors that are available for use as destinations. </p>"
                    }
                },
                "supportedSchedulingFrequencies": {
                    "target": "com.amazonaws.appflow#SchedulingFrequencyTypeList",
                    "traits": {
                        "smithy.api#documentation": "<p> Specifies the supported flow frequency for that connector. </p>"
                    }
                },
                "isPrivateLinkEnabled": {
                    "target": "com.amazonaws.appflow#Boolean",
                    "traits": {
                        "smithy.api#documentation": "<p> Specifies if PrivateLink is enabled for that connector. </p>"
                    }
                },
                "isPrivateLinkEndpointUrlRequired": {
                    "target": "com.amazonaws.appflow#Boolean",
                    "traits": {
                        "smithy.api#documentation": "<p> Specifies if a PrivateLink endpoint URL is required. </p>"
                    }
                },
                "supportedTriggerTypes": {
                    "target": "com.amazonaws.appflow#TriggerTypeList",
                    "traits": {
                        "smithy.api#documentation": "<p> Specifies the supported trigger types for the flow. </p>"
                    }
                },
                "connectorMetadata": {
                    "target": "com.amazonaws.appflow#ConnectorMetadata",
                    "traits": {
                        "smithy.api#documentation": "<p> Specifies connector-specific metadata such as <code>oAuthScopes</code>,\n        <code>supportedRegions</code>, <code>privateLinkServiceUrl</code>, and so on. </p>"
                    }
                },
                "connectorType": {
                    "target": "com.amazonaws.appflow#ConnectorType",
                    "traits": {
                        "smithy.api#documentation": "<p>The connector type.</p>"
                    }
                },
                "connectorLabel": {
                    "target": "com.amazonaws.appflow#ConnectorLabel",
                    "traits": {
                        "smithy.api#documentation": "<p>The label used for registering the connector.</p>"
                    }
                },
                "connectorDescription": {
                    "target": "com.amazonaws.appflow#ConnectorDescription",
                    "traits": {
                        "smithy.api#documentation": "<p>A description about the connector.</p>"
                    }
                },
                "connectorOwner": {
                    "target": "com.amazonaws.appflow#ConnectorOwner",
                    "traits": {
                        "smithy.api#documentation": "<p>The owner who developed the connector.</p>"
                    }
                },
                "connectorName": {
                    "target": "com.amazonaws.appflow#ConnectorName",
                    "traits": {
                        "smithy.api#documentation": "<p>The connector name.</p>"
                    }
                },
                "connectorVersion": {
                    "target": "com.amazonaws.appflow#ConnectorVersion",
                    "traits": {
                        "smithy.api#documentation": "<p>The connector version.</p>"
                    }
                },
                "connectorArn": {
                    "target": "com.amazonaws.appflow#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>The Amazon Resource Name (ARN) for the registered connector.</p>"
                    }
                },
                "connectorModes": {
                    "target": "com.amazonaws.appflow#ConnectorModeList",
                    "traits": {
                        "smithy.api#documentation": "<p>The connection modes that the connector supports.</p>"
                    }
                },
                "authenticationConfig": {
                    "target": "com.amazonaws.appflow#AuthenticationConfig",
                    "traits": {
                        "smithy.api#documentation": "<p>The authentication config required for the connector.</p>"
                    }
                },
                "connectorRuntimeSettings": {
                    "target": "com.amazonaws.appflow#ConnectorRuntimeSettingList",
                    "traits": {
                        "smithy.api#documentation": "<p>The required connector runtime settings.</p>"
                    }
                },
                "supportedApiVersions": {
                    "target": "com.amazonaws.appflow#SupportedApiVersionList",
                    "traits": {
                        "smithy.api#documentation": "<p>A list of API versions that are supported by the connector.</p>"
                    }
                },
                "supportedOperators": {
                    "target": "com.amazonaws.appflow#SupportedOperatorList",
                    "traits": {
                        "smithy.api#documentation": "<p>A list of operators supported by the connector.</p>"
                    }
                },
                "supportedWriteOperations": {
                    "target": "com.amazonaws.appflow#SupportedWriteOperationList",
                    "traits": {
                        "smithy.api#documentation": "<p>A list of write operations supported by the connector.</p>"
                    }
                },
                "connectorProvisioningType": {
                    "target": "com.amazonaws.appflow#ConnectorProvisioningType",
                    "traits": {
                        "smithy.api#documentation": "<p>The provisioning type used to register the connector.</p>"
                    }
                },
                "connectorProvisioningConfig": {
                    "target": "com.amazonaws.appflow#ConnectorProvisioningConfig",
                    "traits": {
                        "smithy.api#documentation": "<p>The configuration required for registering the connector.</p>"
                    }
                },
                "logoURL": {
                    "target": "com.amazonaws.appflow#LogoURL",
                    "traits": {
                        "smithy.api#documentation": "<p>Logo URL of the connector.</p>"
                    }
                },
                "registeredAt": {
                    "target": "com.amazonaws.appflow#Date",
                    "traits": {
                        "smithy.api#documentation": "<p>The date on which the connector was registered.</p>"
                    }
                },
                "registeredBy": {
                    "target": "com.amazonaws.appflow#RegisteredBy",
                    "traits": {
                        "smithy.api#documentation": "<p>Information about who registered the connector.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> The configuration settings related to a given connector. </p>"
            }
        },
        "com.amazonaws.appflow#ConnectorConfigurationsMap": {
            "type": "map",
            "key": {
                "target": "com.amazonaws.appflow#ConnectorType"
            },
            "value": {
                "target": "com.amazonaws.appflow#ConnectorConfiguration"
            }
        },
        "com.amazonaws.appflow#ConnectorDescription": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 2048
                },
                "smithy.api#pattern": "^[\\w!@#\\-.?,\\s]*$"
            }
        },
        "com.amazonaws.appflow#ConnectorDetail": {
            "type": "structure",
            "members": {
                "connectorDescription": {
                    "target": "com.amazonaws.appflow#ConnectorDescription",
                    "traits": {
                        "smithy.api#documentation": "<p>A description about the registered connector.</p>"
                    }
                },
                "connectorName": {
                    "target": "com.amazonaws.appflow#ConnectorName",
                    "traits": {
                        "smithy.api#documentation": "<p>The name of the connector.</p>"
                    }
                },
                "connectorOwner": {
                    "target": "com.amazonaws.appflow#ConnectorOwner",
                    "traits": {
                        "smithy.api#documentation": "<p>The owner of the connector.</p>"
                    }
                },
                "connectorVersion": {
                    "target": "com.amazonaws.appflow#ConnectorVersion",
                    "traits": {
                        "smithy.api#documentation": "<p>The connector version.</p>"
                    }
                },
                "applicationType": {
                    "target": "com.amazonaws.appflow#ApplicationType",
                    "traits": {
                        "smithy.api#documentation": "<p>The application type of the connector.</p>"
                    }
                },
                "connectorType": {
                    "target": "com.amazonaws.appflow#ConnectorType",
                    "traits": {
                        "smithy.api#documentation": "<p>The connector type.</p>"
                    }
                },
                "connectorLabel": {
                    "target": "com.amazonaws.appflow#ConnectorLabel",
                    "traits": {
                        "smithy.api#documentation": "<p>A label used for the connector.</p>"
                    }
                },
                "registeredAt": {
                    "target": "com.amazonaws.appflow#Date",
                    "traits": {
                        "smithy.api#documentation": "<p>The time at which the connector was registered.</p>"
                    }
                },
                "registeredBy": {
                    "target": "com.amazonaws.appflow#RegisteredBy",
                    "traits": {
                        "smithy.api#documentation": "<p>The user who registered the connector.</p>"
                    }
                },
                "connectorProvisioningType": {
                    "target": "com.amazonaws.appflow#ConnectorProvisioningType",
                    "traits": {
                        "smithy.api#documentation": "<p>The provisioning type that the connector uses.</p>"
                    }
                },
                "connectorModes": {
                    "target": "com.amazonaws.appflow#ConnectorModeList",
                    "traits": {
                        "smithy.api#documentation": "<p>The connection mode that the connector supports.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Information about the registered connector.</p>"
            }
        },
        "com.amazonaws.appflow#ConnectorEntity": {
            "type": "structure",
            "members": {
                "name": {
                    "target": "com.amazonaws.appflow#Name",
                    "traits": {
                        "smithy.api#documentation": "<p> The name of the connector entity. </p>",
                        "smithy.api#required": {}
                    }
                },
                "label": {
                    "target": "com.amazonaws.appflow#Label",
                    "traits": {
                        "smithy.api#documentation": "<p> The label applied to the connector entity. </p>"
                    }
                },
                "hasNestedEntities": {
                    "target": "com.amazonaws.appflow#Boolean",
                    "traits": {
                        "smithy.api#documentation": "<p> Specifies whether the connector entity is a parent or a category and has more entities\n      nested underneath it. If another call is made with <code>entitiesPath =\n        \"the_current_entity_name_with_hasNestedEntities_true\"</code>, then it returns the nested\n      entities underneath it. This provides a way to retrieve all supported entities in a recursive\n      fashion. </p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> The high-level entity that can be queried in Amazon AppFlow. For example, a\n      Salesforce entity might be an <i>Account</i> or\n      <i>Opportunity</i>, whereas a ServiceNow entity might be an\n        <i>Incident</i>. </p>"
            }
        },
        "com.amazonaws.appflow#ConnectorEntityField": {
            "type": "structure",
            "members": {
                "identifier": {
                    "target": "com.amazonaws.appflow#Identifier",
                    "traits": {
                        "smithy.api#documentation": "<p> The unique identifier of the connector field. </p>",
                        "smithy.api#required": {}
                    }
                },
                "parentIdentifier": {
                    "target": "com.amazonaws.appflow#Identifier",
                    "traits": {
                        "smithy.api#documentation": "<p>The parent identifier of the connector field.</p>"
                    }
                },
                "label": {
                    "target": "com.amazonaws.appflow#Label",
                    "traits": {
                        "smithy.api#documentation": "<p> The label applied to a connector entity field. </p>"
                    }
                },
                "isPrimaryKey": {
                    "target": "com.amazonaws.appflow#Boolean",
                    "traits": {
                        "smithy.api#documentation": "<p>Booelan value that indicates whether this field can be used as a primary key.</p>"
                    }
                },
                "defaultValue": {
                    "target": "com.amazonaws.appflow#String",
                    "traits": {
                        "smithy.api#documentation": "<p>Default value that can be assigned to this field.</p>"
                    }
                },
                "isDeprecated": {
                    "target": "com.amazonaws.appflow#Boolean",
                    "traits": {
                        "smithy.api#documentation": "<p>Booelan value that indicates whether this field is deprecated or not.</p>"
                    }
                },
                "supportedFieldTypeDetails": {
                    "target": "com.amazonaws.appflow#SupportedFieldTypeDetails",
                    "traits": {
                        "smithy.api#documentation": "<p> Contains details regarding the supported <code>FieldType</code>, including the\n      corresponding <code>filterOperators</code> and <code>supportedValues</code>. </p>"
                    }
                },
                "description": {
                    "target": "com.amazonaws.appflow#Description",
                    "traits": {
                        "smithy.api#documentation": "<p> A description of the connector entity field. </p>"
                    }
                },
                "sourceProperties": {
                    "target": "com.amazonaws.appflow#SourceFieldProperties",
                    "traits": {
                        "smithy.api#documentation": "<p> The properties that can be applied to a field when the connector is being used as a\n      source. </p>"
                    }
                },
                "destinationProperties": {
                    "target": "com.amazonaws.appflow#DestinationFieldProperties",
                    "traits": {
                        "smithy.api#documentation": "<p> The properties applied to a field when the connector is being used as a destination.\n    </p>"
                    }
                },
                "customProperties": {
                    "target": "com.amazonaws.appflow#CustomProperties",
                    "traits": {
                        "smithy.api#documentation": "<p>A map that has specific properties related to the ConnectorEntityField.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> Describes the data model of a connector field. For example, for an\n        <i>account</i> entity, the fields would be <i>account name</i>,\n        <i>account ID</i>, and so on. </p>"
            }
        },
        "com.amazonaws.appflow#ConnectorEntityFieldList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.appflow#ConnectorEntityField"
            }
        },
        "com.amazonaws.appflow#ConnectorEntityList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.appflow#ConnectorEntity"
            }
        },
        "com.amazonaws.appflow#ConnectorEntityMap": {
            "type": "map",
            "key": {
                "target": "com.amazonaws.appflow#Group"
            },
            "value": {
                "target": "com.amazonaws.appflow#ConnectorEntityList"
            }
        },
        "com.amazonaws.appflow#ConnectorLabel": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 256
                },
                "smithy.api#pattern": "^[a-zA-Z0-9][\\w!@#.-]+$"
            }
        },
        "com.amazonaws.appflow#ConnectorList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.appflow#ConnectorDetail"
            }
        },
        "com.amazonaws.appflow#ConnectorMetadata": {
            "type": "structure",
            "members": {
                "Amplitude": {
                    "target": "com.amazonaws.appflow#AmplitudeMetadata",
                    "traits": {
                        "smithy.api#documentation": "<p> The connector metadata specific to Amplitude. </p>"
                    }
                },
                "Datadog": {
                    "target": "com.amazonaws.appflow#DatadogMetadata",
                    "traits": {
                        "smithy.api#documentation": "<p> The connector metadata specific to Datadog. </p>"
                    }
                },
                "Dynatrace": {
                    "target": "com.amazonaws.appflow#DynatraceMetadata",
                    "traits": {
                        "smithy.api#documentation": "<p> The connector metadata specific to Dynatrace. </p>"
                    }
                },
                "GoogleAnalytics": {
                    "target": "com.amazonaws.appflow#GoogleAnalyticsMetadata",
                    "traits": {
                        "smithy.api#documentation": "<p> The connector metadata specific to Google Analytics. </p>"
                    }
                },
                "InforNexus": {
                    "target": "com.amazonaws.appflow#InforNexusMetadata",
                    "traits": {
                        "smithy.api#documentation": "<p> The connector metadata specific to Infor Nexus. </p>"
                    }
                },
                "Marketo": {
                    "target": "com.amazonaws.appflow#MarketoMetadata",
                    "traits": {
                        "smithy.api#documentation": "<p> The connector metadata specific to Marketo. </p>"
                    }
                },
                "Redshift": {
                    "target": "com.amazonaws.appflow#RedshiftMetadata",
                    "traits": {
                        "smithy.api#documentation": "<p> The connector metadata specific to Amazon Redshift. </p>"
                    }
                },
                "S3": {
                    "target": "com.amazonaws.appflow#S3Metadata",
                    "traits": {
                        "smithy.api#documentation": "<p> The connector metadata specific to Amazon S3. </p>"
                    }
                },
                "Salesforce": {
                    "target": "com.amazonaws.appflow#SalesforceMetadata",
                    "traits": {
                        "smithy.api#documentation": "<p> The connector metadata specific to Salesforce. </p>"
                    }
                },
                "ServiceNow": {
                    "target": "com.amazonaws.appflow#ServiceNowMetadata",
                    "traits": {
                        "smithy.api#documentation": "<p> The connector metadata specific to ServiceNow. </p>"
                    }
                },
                "Singular": {
                    "target": "com.amazonaws.appflow#SingularMetadata",
                    "traits": {
                        "smithy.api#documentation": "<p> The connector metadata specific to Singular. </p>"
                    }
                },
                "Slack": {
                    "target": "com.amazonaws.appflow#SlackMetadata",
                    "traits": {
                        "smithy.api#documentation": "<p> The connector metadata specific to Slack. </p>"
                    }
                },
                "Snowflake": {
                    "target": "com.amazonaws.appflow#SnowflakeMetadata",
                    "traits": {
                        "smithy.api#documentation": "<p> The connector metadata specific to Snowflake. </p>"
                    }
                },
                "Trendmicro": {
                    "target": "com.amazonaws.appflow#TrendmicroMetadata",
                    "traits": {
                        "smithy.api#documentation": "<p> The connector metadata specific to Trend Micro. </p>"
                    }
                },
                "Veeva": {
                    "target": "com.amazonaws.appflow#VeevaMetadata",
                    "traits": {
                        "smithy.api#documentation": "<p> The connector metadata specific to Veeva. </p>"
                    }
                },
                "Zendesk": {
                    "target": "com.amazonaws.appflow#ZendeskMetadata",
                    "traits": {
                        "smithy.api#documentation": "<p> The connector metadata specific to Zendesk. </p>"
                    }
                },
                "EventBridge": {
                    "target": "com.amazonaws.appflow#EventBridgeMetadata",
                    "traits": {
                        "smithy.api#documentation": "<p> The connector metadata specific to Amazon EventBridge. </p>"
                    }
                },
                "Upsolver": {
                    "target": "com.amazonaws.appflow#UpsolverMetadata",
                    "traits": {
                        "smithy.api#documentation": "<p> The connector metadata specific to Upsolver. </p>"
                    }
                },
                "CustomerProfiles": {
                    "target": "com.amazonaws.appflow#CustomerProfilesMetadata",
                    "traits": {
                        "smithy.api#documentation": "<p> The connector metadata specific to Amazon Connect Customer Profiles. </p>"
                    }
                },
                "Honeycode": {
                    "target": "com.amazonaws.appflow#HoneycodeMetadata",
                    "traits": {
                        "smithy.api#documentation": "<p> The connector metadata specific to Amazon Honeycode. </p>"
                    }
                },
                "SAPOData": {
                    "target": "com.amazonaws.appflow#SAPODataMetadata"
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> A structure to specify connector-specific metadata such as <code>oAuthScopes</code>,\n        <code>supportedRegions</code>, <code>privateLinkServiceUrl</code>, and so on. </p>"
            }
        },
        "com.amazonaws.appflow#ConnectorMode": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 256
                },
                "smithy.api#pattern": "^\\S+$"
            }
        },
        "com.amazonaws.appflow#ConnectorModeList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.appflow#ConnectorMode"
            }
        },
        "com.amazonaws.appflow#ConnectorName": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 256
                },
                "smithy.api#pattern": ".*"
            }
        },
        "com.amazonaws.appflow#ConnectorOAuthRequest": {
            "type": "structure",
            "members": {
                "authCode": {
                    "target": "com.amazonaws.appflow#AuthCode",
                    "traits": {
                        "smithy.api#documentation": "<p> The code provided by the connector when it has been authenticated via the connected app.\n    </p>"
                    }
                },
                "redirectUri": {
                    "target": "com.amazonaws.appflow#RedirectUri",
                    "traits": {
                        "smithy.api#documentation": "<p> The URL to which the authentication server redirects the browser after authorization has\n      been granted. </p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> Used by select connectors for which the OAuth workflow is supported, such as Salesforce,\n      Google Analytics, Marketo, Zendesk, and Slack. </p>"
            }
        },
        "com.amazonaws.appflow#ConnectorOperator": {
            "type": "structure",
            "members": {
                "Amplitude": {
                    "target": "com.amazonaws.appflow#AmplitudeConnectorOperator",
                    "traits": {
                        "smithy.api#documentation": "<p> The operation to be performed on the provided Amplitude source fields. </p>"
                    }
                },
                "Datadog": {
                    "target": "com.amazonaws.appflow#DatadogConnectorOperator",
                    "traits": {
                        "smithy.api#documentation": "<p> The operation to be performed on the provided Datadog source fields. </p>"
                    }
                },
                "Dynatrace": {
                    "target": "com.amazonaws.appflow#DynatraceConnectorOperator",
                    "traits": {
                        "smithy.api#documentation": "<p> The operation to be performed on the provided Dynatrace source fields. </p>"
                    }
                },
                "GoogleAnalytics": {
                    "target": "com.amazonaws.appflow#GoogleAnalyticsConnectorOperator",
                    "traits": {
                        "smithy.api#documentation": "<p> The operation to be performed on the provided Google Analytics source fields. </p>"
                    }
                },
                "InforNexus": {
                    "target": "com.amazonaws.appflow#InforNexusConnectorOperator",
                    "traits": {
                        "smithy.api#documentation": "<p> The operation to be performed on the provided Infor Nexus source fields. </p>"
                    }
                },
                "Marketo": {
                    "target": "com.amazonaws.appflow#MarketoConnectorOperator",
                    "traits": {
                        "smithy.api#documentation": "<p> The operation to be performed on the provided Marketo source fields. </p>"
                    }
                },
                "S3": {
                    "target": "com.amazonaws.appflow#S3ConnectorOperator",
                    "traits": {
                        "smithy.api#documentation": "<p> The operation to be performed on the provided Amazon S3 source fields. </p>"
                    }
                },
                "Salesforce": {
                    "target": "com.amazonaws.appflow#SalesforceConnectorOperator",
                    "traits": {
                        "smithy.api#documentation": "<p> The operation to be performed on the provided Salesforce source fields. </p>"
                    }
                },
                "ServiceNow": {
                    "target": "com.amazonaws.appflow#ServiceNowConnectorOperator",
                    "traits": {
                        "smithy.api#documentation": "<p> The operation to be performed on the provided ServiceNow source fields. </p>"
                    }
                },
                "Singular": {
                    "target": "com.amazonaws.appflow#SingularConnectorOperator",
                    "traits": {
                        "smithy.api#documentation": "<p> The operation to be performed on the provided Singular source fields. </p>"
                    }
                },
                "Slack": {
                    "target": "com.amazonaws.appflow#SlackConnectorOperator",
                    "traits": {
                        "smithy.api#documentation": "<p> The operation to be performed on the provided Slack source fields. </p>"
                    }
                },
                "Trendmicro": {
                    "target": "com.amazonaws.appflow#TrendmicroConnectorOperator",
                    "traits": {
                        "smithy.api#documentation": "<p> The operation to be performed on the provided Trend Micro source fields. </p>"
                    }
                },
                "Veeva": {
                    "target": "com.amazonaws.appflow#VeevaConnectorOperator",
                    "traits": {
                        "smithy.api#documentation": "<p> The operation to be performed on the provided Veeva source fields. </p>"
                    }
                },
                "Zendesk": {
                    "target": "com.amazonaws.appflow#ZendeskConnectorOperator",
                    "traits": {
                        "smithy.api#documentation": "<p> The operation to be performed on the provided Zendesk source fields. </p>"
                    }
                },
                "SAPOData": {
                    "target": "com.amazonaws.appflow#SAPODataConnectorOperator",
                    "traits": {
                        "smithy.api#documentation": "<p> The operation to be performed on the provided SAPOData source fields. </p>"
                    }
                },
                "CustomConnector": {
                    "target": "com.amazonaws.appflow#Operator",
                    "traits": {
                        "smithy.api#documentation": "<p>Operators supported by the custom connector.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> The operation to be performed on the provided source fields. </p>"
            }
        },
        "com.amazonaws.appflow#ConnectorOwner": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 256
                },
                "smithy.api#pattern": ".*"
            }
        },
        "com.amazonaws.appflow#ConnectorProfile": {
            "type": "structure",
            "members": {
                "connectorProfileArn": {
                    "target": "com.amazonaws.appflow#ConnectorProfileArn",
                    "traits": {
                        "smithy.api#documentation": "<p> The Amazon Resource Name (ARN) of the connector profile. </p>"
                    }
                },
                "connectorProfileName": {
                    "target": "com.amazonaws.appflow#ConnectorProfileName",
                    "traits": {
                        "smithy.api#documentation": "<p> The name of the connector profile. The name is unique for each\n        <code>ConnectorProfile</code> in the Amazon Web Services account. </p>"
                    }
                },
                "connectorType": {
                    "target": "com.amazonaws.appflow#ConnectorType",
                    "traits": {
                        "smithy.api#documentation": "<p> The type of connector, such as Salesforce, Amplitude, and so on. </p>"
                    }
                },
                "connectorLabel": {
                    "target": "com.amazonaws.appflow#ConnectorLabel",
                    "traits": {
                        "smithy.api#documentation": "<p>The label for the connector profile being created.</p>"
                    }
                },
                "connectionMode": {
                    "target": "com.amazonaws.appflow#ConnectionMode",
                    "traits": {
                        "smithy.api#documentation": "<p> Indicates the connection mode and if it is public or private. </p>"
                    }
                },
                "credentialsArn": {
                    "target": "com.amazonaws.appflow#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p> The Amazon Resource Name (ARN) of the connector profile credentials. </p>"
                    }
                },
                "connectorProfileProperties": {
                    "target": "com.amazonaws.appflow#ConnectorProfileProperties",
                    "traits": {
                        "smithy.api#documentation": "<p> The connector-specific properties of the profile configuration. </p>"
                    }
                },
                "createdAt": {
                    "target": "com.amazonaws.appflow#Date",
                    "traits": {
                        "smithy.api#documentation": "<p> Specifies when the connector profile was created. </p>"
                    }
                },
                "lastUpdatedAt": {
                    "target": "com.amazonaws.appflow#Date",
                    "traits": {
                        "smithy.api#documentation": "<p> Specifies when the connector profile was last updated. </p>"
                    }
                },
                "privateConnectionProvisioningState": {
                    "target": "com.amazonaws.appflow#PrivateConnectionProvisioningState",
                    "traits": {
                        "smithy.api#documentation": "<p> Specifies the private connection provisioning state. </p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> Describes an instance of a connector. This includes the provided name, credentials ARN,\n      connection-mode, and so on. To keep the API intuitive and extensible, the fields that are\n      common to all types of connector profiles are explicitly specified at the top level. The rest\n      of the connector-specific properties are available via the\n        <code>connectorProfileProperties</code> field. </p>"
            }
        },
        "com.amazonaws.appflow#ConnectorProfileArn": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 512
                },
                "smithy.api#pattern": "^arn:aws:appflow:.*:[0-9]+:"
            }
        },
        "com.amazonaws.appflow#ConnectorProfileConfig": {
            "type": "structure",
            "members": {
                "connectorProfileProperties": {
                    "target": "com.amazonaws.appflow#ConnectorProfileProperties",
                    "traits": {
                        "smithy.api#documentation": "<p> The connector-specific properties of the profile configuration. </p>",
                        "smithy.api#required": {}
                    }
                },
                "connectorProfileCredentials": {
                    "target": "com.amazonaws.appflow#ConnectorProfileCredentials",
                    "traits": {
                        "smithy.api#documentation": "<p> The connector-specific credentials required by each connector. </p>",
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> Defines the connector-specific configuration and credentials for the connector profile.\n    </p>"
            }
        },
        "com.amazonaws.appflow#ConnectorProfileCredentials": {
            "type": "structure",
            "members": {
                "Amplitude": {
                    "target": "com.amazonaws.appflow#AmplitudeConnectorProfileCredentials",
                    "traits": {
                        "smithy.api#documentation": "<p> The connector-specific credentials required when using Amplitude. </p>"
                    }
                },
                "Datadog": {
                    "target": "com.amazonaws.appflow#DatadogConnectorProfileCredentials",
                    "traits": {
                        "smithy.api#documentation": "<p> The connector-specific credentials required when using Datadog. </p>"
                    }
                },
                "Dynatrace": {
                    "target": "com.amazonaws.appflow#DynatraceConnectorProfileCredentials",
                    "traits": {
                        "smithy.api#documentation": "<p> The connector-specific credentials required when using Dynatrace. </p>"
                    }
                },
                "GoogleAnalytics": {
                    "target": "com.amazonaws.appflow#GoogleAnalyticsConnectorProfileCredentials",
                    "traits": {
                        "smithy.api#documentation": "<p> The connector-specific credentials required when using Google Analytics. </p>"
                    }
                },
                "Honeycode": {
                    "target": "com.amazonaws.appflow#HoneycodeConnectorProfileCredentials",
                    "traits": {
                        "smithy.api#documentation": "<p> The connector-specific credentials required when using Amazon Honeycode. </p>"
                    }
                },
                "InforNexus": {
                    "target": "com.amazonaws.appflow#InforNexusConnectorProfileCredentials",
                    "traits": {
                        "smithy.api#documentation": "<p> The connector-specific credentials required when using Infor Nexus. </p>"
                    }
                },
                "Marketo": {
                    "target": "com.amazonaws.appflow#MarketoConnectorProfileCredentials",
                    "traits": {
                        "smithy.api#documentation": "<p> The connector-specific credentials required when using Marketo. </p>"
                    }
                },
                "Redshift": {
                    "target": "com.amazonaws.appflow#RedshiftConnectorProfileCredentials",
                    "traits": {
                        "smithy.api#documentation": "<p> The connector-specific credentials required when using Amazon Redshift. </p>"
                    }
                },
                "Salesforce": {
                    "target": "com.amazonaws.appflow#SalesforceConnectorProfileCredentials",
                    "traits": {
                        "smithy.api#documentation": "<p> The connector-specific credentials required when using Salesforce. </p>"
                    }
                },
                "ServiceNow": {
                    "target": "com.amazonaws.appflow#ServiceNowConnectorProfileCredentials",
                    "traits": {
                        "smithy.api#documentation": "<p> The connector-specific credentials required when using ServiceNow. </p>"
                    }
                },
                "Singular": {
                    "target": "com.amazonaws.appflow#SingularConnectorProfileCredentials",
                    "traits": {
                        "smithy.api#documentation": "<p> The connector-specific credentials required when using Singular. </p>"
                    }
                },
                "Slack": {
                    "target": "com.amazonaws.appflow#SlackConnectorProfileCredentials",
                    "traits": {
                        "smithy.api#documentation": "<p> The connector-specific credentials required when using Slack. </p>"
                    }
                },
                "Snowflake": {
                    "target": "com.amazonaws.appflow#SnowflakeConnectorProfileCredentials",
                    "traits": {
                        "smithy.api#documentation": "<p> The connector-specific credentials required when using Snowflake. </p>"
                    }
                },
                "Trendmicro": {
                    "target": "com.amazonaws.appflow#TrendmicroConnectorProfileCredentials",
                    "traits": {
                        "smithy.api#documentation": "<p> The connector-specific credentials required when using Trend Micro. </p>"
                    }
                },
                "Veeva": {
                    "target": "com.amazonaws.appflow#VeevaConnectorProfileCredentials",
                    "traits": {
                        "smithy.api#documentation": "<p> The connector-specific credentials required when using Veeva. </p>"
                    }
                },
                "Zendesk": {
                    "target": "com.amazonaws.appflow#ZendeskConnectorProfileCredentials",
                    "traits": {
                        "smithy.api#documentation": "<p> The connector-specific credentials required when using Zendesk. </p>"
                    }
                },
                "SAPOData": {
                    "target": "com.amazonaws.appflow#SAPODataConnectorProfileCredentials"
                },
                "CustomConnector": {
                    "target": "com.amazonaws.appflow#CustomConnectorProfileCredentials"
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> The connector-specific credentials required by a connector. </p>"
            }
        },
        "com.amazonaws.appflow#ConnectorProfileDetailList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.appflow#ConnectorProfile"
            }
        },
        "com.amazonaws.appflow#ConnectorProfileName": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 256
                },
                "smithy.api#pattern": "^[\\w/!@#+=.-]+$"
            }
        },
        "com.amazonaws.appflow#ConnectorProfileNameList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.appflow#ConnectorProfileName"
            },
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 100
                }
            }
        },
        "com.amazonaws.appflow#ConnectorProfileProperties": {
            "type": "structure",
            "members": {
                "Amplitude": {
                    "target": "com.amazonaws.appflow#AmplitudeConnectorProfileProperties",
                    "traits": {
                        "smithy.api#documentation": "<p> The connector-specific properties required by Amplitude. </p>"
                    }
                },
                "Datadog": {
                    "target": "com.amazonaws.appflow#DatadogConnectorProfileProperties",
                    "traits": {
                        "smithy.api#documentation": "<p> The connector-specific properties required by Datadog. </p>"
                    }
                },
                "Dynatrace": {
                    "target": "com.amazonaws.appflow#DynatraceConnectorProfileProperties",
                    "traits": {
                        "smithy.api#documentation": "<p> The connector-specific properties required by Dynatrace. </p>"
                    }
                },
                "GoogleAnalytics": {
                    "target": "com.amazonaws.appflow#GoogleAnalyticsConnectorProfileProperties",
                    "traits": {
                        "smithy.api#documentation": "<p> The connector-specific properties required Google Analytics. </p>"
                    }
                },
                "Honeycode": {
                    "target": "com.amazonaws.appflow#HoneycodeConnectorProfileProperties",
                    "traits": {
                        "smithy.api#documentation": "<p> The connector-specific properties required by Amazon Honeycode. </p>"
                    }
                },
                "InforNexus": {
                    "target": "com.amazonaws.appflow#InforNexusConnectorProfileProperties",
                    "traits": {
                        "smithy.api#documentation": "<p> The connector-specific properties required by Infor Nexus. </p>"
                    }
                },
                "Marketo": {
                    "target": "com.amazonaws.appflow#MarketoConnectorProfileProperties",
                    "traits": {
                        "smithy.api#documentation": "<p> The connector-specific properties required by Marketo. </p>"
                    }
                },
                "Redshift": {
                    "target": "com.amazonaws.appflow#RedshiftConnectorProfileProperties",
                    "traits": {
                        "smithy.api#documentation": "<p> The connector-specific properties required by Amazon Redshift. </p>"
                    }
                },
                "Salesforce": {
                    "target": "com.amazonaws.appflow#SalesforceConnectorProfileProperties",
                    "traits": {
                        "smithy.api#documentation": "<p> The connector-specific properties required by Salesforce. </p>"
                    }
                },
                "ServiceNow": {
                    "target": "com.amazonaws.appflow#ServiceNowConnectorProfileProperties",
                    "traits": {
                        "smithy.api#documentation": "<p> The connector-specific properties required by serviceNow. </p>"
                    }
                },
                "Singular": {
                    "target": "com.amazonaws.appflow#SingularConnectorProfileProperties",
                    "traits": {
                        "smithy.api#documentation": "<p> The connector-specific properties required by Singular. </p>"
                    }
                },
                "Slack": {
                    "target": "com.amazonaws.appflow#SlackConnectorProfileProperties",
                    "traits": {
                        "smithy.api#documentation": "<p> The connector-specific properties required by Slack. </p>"
                    }
                },
                "Snowflake": {
                    "target": "com.amazonaws.appflow#SnowflakeConnectorProfileProperties",
                    "traits": {
                        "smithy.api#documentation": "<p> The connector-specific properties required by Snowflake. </p>"
                    }
                },
                "Trendmicro": {
                    "target": "com.amazonaws.appflow#TrendmicroConnectorProfileProperties",
                    "traits": {
                        "smithy.api#documentation": "<p> The connector-specific properties required by Trend Micro. </p>"
                    }
                },
                "Veeva": {
                    "target": "com.amazonaws.appflow#VeevaConnectorProfileProperties",
                    "traits": {
                        "smithy.api#documentation": "<p> The connector-specific properties required by Veeva. </p>"
                    }
                },
                "Zendesk": {
                    "target": "com.amazonaws.appflow#ZendeskConnectorProfileProperties",
                    "traits": {
                        "smithy.api#documentation": "<p> The connector-specific properties required by Zendesk. </p>"
                    }
                },
                "SAPOData": {
                    "target": "com.amazonaws.appflow#SAPODataConnectorProfileProperties"
                },
                "CustomConnector": {
                    "target": "com.amazonaws.appflow#CustomConnectorProfileProperties",
                    "traits": {
                        "smithy.api#documentation": "<p>The properties required by the custom connector.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> The connector-specific profile properties required by each connector. </p>"
            }
        },
        "com.amazonaws.appflow#ConnectorProvisioningConfig": {
            "type": "structure",
            "members": {
                "lambda": {
                    "target": "com.amazonaws.appflow#LambdaConnectorProvisioningConfig",
                    "traits": {
                        "smithy.api#documentation": "<p>Contains information about the configuration of the lambda which is being registered as\n      the connector.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Contains information about the configuration of the connector being registered.</p>"
            }
        },
        "com.amazonaws.appflow#ConnectorProvisioningType": {
            "type": "string",
            "traits": {
                "smithy.api#documentation": "<p>The type of provisioning that the connector supports, such as Lambda.</p>",
                "smithy.api#enum": [
                    {
                        "value": "LAMBDA",
                        "name": "LAMBDA"
                    }
                ]
            }
        },
        "com.amazonaws.appflow#ConnectorRuntimeSetting": {
            "type": "structure",
            "members": {
                "key": {
                    "target": "com.amazonaws.appflow#Key",
                    "traits": {
                        "smithy.api#documentation": "<p>Contains value information about the connector runtime setting.</p>"
                    }
                },
                "dataType": {
                    "target": "com.amazonaws.appflow#ConnectorRuntimeSettingDataType",
                    "traits": {
                        "smithy.api#documentation": "<p>Data type of the connector runtime setting.</p>"
                    }
                },
                "isRequired": {
                    "target": "com.amazonaws.appflow#Boolean",
                    "traits": {
                        "smithy.api#documentation": "<p>Indicates whether this connector runtime setting is required.</p>"
                    }
                },
                "label": {
                    "target": "com.amazonaws.appflow#Label",
                    "traits": {
                        "smithy.api#documentation": "<p>A label used for connector runtime setting.</p>"
                    }
                },
                "description": {
                    "target": "com.amazonaws.appflow#Description",
                    "traits": {
                        "smithy.api#documentation": "<p>A description about the connector runtime setting.</p>"
                    }
                },
                "scope": {
                    "target": "com.amazonaws.appflow#ConnectorRuntimeSettingScope",
                    "traits": {
                        "smithy.api#documentation": "<p>Indicates the scope of the connector runtime setting.</p>"
                    }
                },
                "connectorSuppliedValueOptions": {
                    "target": "com.amazonaws.appflow#ConnectorSuppliedValueOptionList",
                    "traits": {
                        "smithy.api#documentation": "<p>Contains default values for the connector runtime setting that are supplied by the\n      connector.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Contains information about the connector runtime settings that are required for flow\n      execution.</p>"
            }
        },
        "com.amazonaws.appflow#ConnectorRuntimeSettingDataType": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 256
                },
                "smithy.api#pattern": "^\\S+$"
            }
        },
        "com.amazonaws.appflow#ConnectorRuntimeSettingList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.appflow#ConnectorRuntimeSetting"
            }
        },
        "com.amazonaws.appflow#ConnectorRuntimeSettingScope": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 256
                },
                "smithy.api#pattern": "^\\S+$"
            }
        },
        "com.amazonaws.appflow#ConnectorServerException": {
            "type": "structure",
            "members": {
                "message": {
                    "target": "com.amazonaws.appflow#ErrorMessage"
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> An error occurred when retrieving data from the connector endpoint. </p>",
                "smithy.api#error": "client",
                "smithy.api#httpError": 400
            }
        },
        "com.amazonaws.appflow#ConnectorSuppliedValue": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 256
                },
                "smithy.api#pattern": "^\\S+$"
            }
        },
        "com.amazonaws.appflow#ConnectorSuppliedValueList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.appflow#ConnectorSuppliedValue"
            }
        },
        "com.amazonaws.appflow#ConnectorSuppliedValueOptionList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.appflow#ConnectorSuppliedValue"
            }
        },
        "com.amazonaws.appflow#ConnectorType": {
            "type": "string",
            "traits": {
                "smithy.api#enum": [
                    {
                        "value": "Salesforce",
                        "name": "SALESFORCE"
                    },
                    {
                        "value": "Singular",
                        "name": "SINGULAR"
                    },
                    {
                        "value": "Slack",
                        "name": "SLACK"
                    },
                    {
                        "value": "Redshift",
                        "name": "REDSHIFT"
                    },
                    {
                        "value": "S3",
                        "name": "S3"
                    },
                    {
                        "value": "Marketo",
                        "name": "MARKETO"
                    },
                    {
                        "value": "Googleanalytics",
                        "name": "GOOGLEANALYTICS"
                    },
                    {
                        "value": "Zendesk",
                        "name": "ZENDESK"
                    },
                    {
                        "value": "Servicenow",
                        "name": "SERVICENOW"
                    },
                    {
                        "value": "Datadog",
                        "name": "DATADOG"
                    },
                    {
                        "value": "Trendmicro",
                        "name": "TRENDMICRO"
                    },
                    {
                        "value": "Snowflake",
                        "name": "SNOWFLAKE"
                    },
                    {
                        "value": "Dynatrace",
                        "name": "DYNATRACE"
                    },
                    {
                        "value": "Infornexus",
                        "name": "INFORNEXUS"
                    },
                    {
                        "value": "Amplitude",
                        "name": "AMPLITUDE"
                    },
                    {
                        "value": "Veeva",
                        "name": "VEEVA"
                    },
                    {
                        "value": "EventBridge",
                        "name": "EVENTBRIDGE"
                    },
                    {
                        "value": "LookoutMetrics",
                        "name": "LOOKOUTMETRICS"
                    },
                    {
                        "value": "Upsolver",
                        "name": "UPSOLVER"
                    },
                    {
                        "value": "Honeycode",
                        "name": "HONEYCODE"
                    },
                    {
                        "value": "CustomerProfiles",
                        "name": "CUSTOMERPROFILES"
                    },
                    {
                        "value": "SAPOData",
                        "name": "SAPODATA"
                    },
                    {
                        "value": "CustomConnector",
                        "name": "CUSTOMCONNECTOR"
                    }
                ]
            }
        },
        "com.amazonaws.appflow#ConnectorTypeList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.appflow#ConnectorType"
            },
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 100
                }
            }
        },
        "com.amazonaws.appflow#ConnectorVersion": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 256
                },
                "smithy.api#pattern": "^\\S+$"
            }
        },
        "com.amazonaws.appflow#CreateConnectorProfile": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.appflow#CreateConnectorProfileRequest"
            },
            "output": {
                "target": "com.amazonaws.appflow#CreateConnectorProfileResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.appflow#ConflictException"
                },
                {
                    "target": "com.amazonaws.appflow#ConnectorAuthenticationException"
                },
                {
                    "target": "com.amazonaws.appflow#InternalServerException"
                },
                {
                    "target": "com.amazonaws.appflow#ServiceQuotaExceededException"
                },
                {
                    "target": "com.amazonaws.appflow#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p> Creates a new connector profile associated with your Amazon Web Services account. There\n      is a soft quota of 100 connector profiles per Amazon Web Services account. If you need more\n      connector profiles than this quota allows, you can submit a request to the Amazon AppFlow team through the Amazon AppFlow support channel. In each connector profile that you\n      create, you can provide the credentials and properties for only one connector.</p>",
                "smithy.api#http": {
                    "method": "POST",
                    "uri": "/create-connector-profile",
                    "code": 200
                }
            }
        },
        "com.amazonaws.appflow#CreateConnectorProfileRequest": {
            "type": "structure",
            "members": {
                "connectorProfileName": {
                    "target": "com.amazonaws.appflow#ConnectorProfileName",
                    "traits": {
                        "smithy.api#documentation": "<p> The name of the connector profile. The name is unique for each\n        <code>ConnectorProfile</code> in your Amazon Web Services account. </p>",
                        "smithy.api#required": {}
                    }
                },
                "kmsArn": {
                    "target": "com.amazonaws.appflow#KMSArn",
                    "traits": {
                        "smithy.api#documentation": "<p> The ARN (Amazon Resource Name) of the Key Management Service (KMS) key you provide for\n      encryption. This is required if you do not want to use the Amazon AppFlow-managed KMS\n      key. If you don't provide anything here, Amazon AppFlow uses the Amazon AppFlow-managed KMS key. </p>"
                    }
                },
                "connectorType": {
                    "target": "com.amazonaws.appflow#ConnectorType",
                    "traits": {
                        "smithy.api#documentation": "<p> The type of connector, such as Salesforce, Amplitude, and so on. </p>",
                        "smithy.api#required": {}
                    }
                },
                "connectorLabel": {
                    "target": "com.amazonaws.appflow#ConnectorLabel",
                    "traits": {
                        "smithy.api#documentation": "<p>The label of the connector. The label is unique for each\n        <code>ConnectorRegistration</code> in your Amazon Web Services account. Only needed if\n      calling for CUSTOMCONNECTOR connector type/.</p>"
                    }
                },
                "connectionMode": {
                    "target": "com.amazonaws.appflow#ConnectionMode",
                    "traits": {
                        "smithy.api#documentation": "<p> Indicates the connection mode and specifies whether it is public or private. Private\n      flows use Amazon Web Services PrivateLink to route data over Amazon Web Services infrastructure\n      without exposing it to the public internet. </p>",
                        "smithy.api#required": {}
                    }
                },
                "connectorProfileConfig": {
                    "target": "com.amazonaws.appflow#ConnectorProfileConfig",
                    "traits": {
                        "smithy.api#documentation": "<p> Defines the connector-specific configuration and credentials. </p>",
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.appflow#CreateConnectorProfileResponse": {
            "type": "structure",
            "members": {
                "connectorProfileArn": {
                    "target": "com.amazonaws.appflow#ConnectorProfileArn",
                    "traits": {
                        "smithy.api#documentation": "<p> The Amazon Resource Name (ARN) of the connector profile. </p>"
                    }
                }
            }
        },
        "com.amazonaws.appflow#CreateFlow": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.appflow#CreateFlowRequest"
            },
            "output": {
                "target": "com.amazonaws.appflow#CreateFlowResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.appflow#ConflictException"
                },
                {
                    "target": "com.amazonaws.appflow#ConnectorAuthenticationException"
                },
                {
                    "target": "com.amazonaws.appflow#ConnectorServerException"
                },
                {
                    "target": "com.amazonaws.appflow#InternalServerException"
                },
                {
                    "target": "com.amazonaws.appflow#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.appflow#ServiceQuotaExceededException"
                },
                {
                    "target": "com.amazonaws.appflow#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p> Enables your application to create a new flow using Amazon AppFlow. You must create\n      a connector profile before calling this API. Please note that the Request Syntax below shows\n      syntax for multiple destinations, however, you can only transfer data to one item in this list\n      at a time. Amazon AppFlow does not currently support flows to multiple destinations at\n      once. </p>",
                "smithy.api#http": {
                    "method": "POST",
                    "uri": "/create-flow",
                    "code": 200
                }
            }
        },
        "com.amazonaws.appflow#CreateFlowRequest": {
            "type": "structure",
            "members": {
                "flowName": {
                    "target": "com.amazonaws.appflow#FlowName",
                    "traits": {
                        "smithy.api#documentation": "<p> The specified name of the flow. Spaces are not allowed. Use underscores (_) or hyphens\n      (-) only. </p>",
                        "smithy.api#required": {}
                    }
                },
                "description": {
                    "target": "com.amazonaws.appflow#FlowDescription",
                    "traits": {
                        "smithy.api#documentation": "<p> A description of the flow you want to create. </p>"
                    }
                },
                "kmsArn": {
                    "target": "com.amazonaws.appflow#KMSArn",
                    "traits": {
                        "smithy.api#documentation": "<p> The ARN (Amazon Resource Name) of the Key Management Service (KMS) key you provide for\n      encryption. This is required if you do not want to use the Amazon AppFlow-managed KMS\n      key. If you don't provide anything here, Amazon AppFlow uses the Amazon AppFlow-managed KMS key. </p>"
                    }
                },
                "triggerConfig": {
                    "target": "com.amazonaws.appflow#TriggerConfig",
                    "traits": {
                        "smithy.api#documentation": "<p> The trigger settings that determine how and when the flow runs. </p>",
                        "smithy.api#required": {}
                    }
                },
                "sourceFlowConfig": {
                    "target": "com.amazonaws.appflow#SourceFlowConfig",
                    "traits": {
                        "smithy.api#documentation": "<p> The configuration that controls how Amazon AppFlow retrieves data from the source\n      connector. </p>",
                        "smithy.api#required": {}
                    }
                },
                "destinationFlowConfigList": {
                    "target": "com.amazonaws.appflow#DestinationFlowConfigList",
                    "traits": {
                        "smithy.api#documentation": "<p> The configuration that controls how Amazon AppFlow places data in the destination\n      connector. </p>",
                        "smithy.api#required": {}
                    }
                },
                "tasks": {
                    "target": "com.amazonaws.appflow#Tasks",
                    "traits": {
                        "smithy.api#documentation": "<p> A list of tasks that Amazon AppFlow performs while transferring the data in the\n      flow run. </p>",
                        "smithy.api#required": {}
                    }
                },
                "tags": {
                    "target": "com.amazonaws.appflow#TagMap",
                    "traits": {
                        "smithy.api#documentation": "<p> The tags used to organize, track, or control access for your flow. </p>"
                    }
                }
            }
        },
        "com.amazonaws.appflow#CreateFlowResponse": {
            "type": "structure",
            "members": {
                "flowArn": {
                    "target": "com.amazonaws.appflow#FlowArn",
                    "traits": {
                        "smithy.api#documentation": "<p> The flow's Amazon Resource Name (ARN). </p>"
                    }
                },
                "flowStatus": {
                    "target": "com.amazonaws.appflow#FlowStatus",
                    "traits": {
                        "smithy.api#documentation": "<p> Indicates the current status of the flow. </p>"
                    }
                }
            }
        },
        "com.amazonaws.appflow#CreatedBy": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 256
                },
                "smithy.api#pattern": "^\\S+$"
            }
        },
        "com.amazonaws.appflow#CredentialsMap": {
            "type": "map",
            "key": {
                "target": "com.amazonaws.appflow#CredentialsMapKey"
            },
            "value": {
                "target": "com.amazonaws.appflow#CredentialsMapValue"
            },
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 50
                }
            }
        },
        "com.amazonaws.appflow#CredentialsMapKey": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 1,
                    "max": 128
                },
                "smithy.api#pattern": "^[\\w]+$",
                "smithy.api#sensitive": {}
            }
        },
        "com.amazonaws.appflow#CredentialsMapValue": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 2048
                },
                "smithy.api#pattern": "^\\S+$",
                "smithy.api#sensitive": {}
            }
        },
        "com.amazonaws.appflow#CustomAuthConfig": {
            "type": "structure",
            "members": {
                "customAuthenticationType": {
                    "target": "com.amazonaws.appflow#CustomAuthenticationType",
                    "traits": {
                        "smithy.api#documentation": "<p>The authentication type that the custom connector uses.</p>"
                    }
                },
                "authParameters": {
                    "target": "com.amazonaws.appflow#AuthParameterList",
                    "traits": {
                        "smithy.api#documentation": "<p>Information about authentication parameters required for authentication.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Configuration information required for custom authentication.</p>"
            }
        },
        "com.amazonaws.appflow#CustomAuthConfigList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.appflow#CustomAuthConfig"
            }
        },
        "com.amazonaws.appflow#CustomAuthCredentials": {
            "type": "structure",
            "members": {
                "customAuthenticationType": {
                    "target": "com.amazonaws.appflow#CustomAuthenticationType",
                    "traits": {
                        "smithy.api#documentation": "<p>The custom authentication type that the connector uses.</p>",
                        "smithy.api#required": {}
                    }
                },
                "credentialsMap": {
                    "target": "com.amazonaws.appflow#CredentialsMap",
                    "traits": {
                        "smithy.api#documentation": "<p>A map that holds custom authentication credentials.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>The custom credentials required for custom authentication.</p>"
            }
        },
        "com.amazonaws.appflow#CustomAuthenticationType": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 256
                },
                "smithy.api#pattern": "^\\S+$"
            }
        },
        "com.amazonaws.appflow#CustomConnectorDestinationProperties": {
            "type": "structure",
            "members": {
                "entityName": {
                    "target": "com.amazonaws.appflow#EntityName",
                    "traits": {
                        "smithy.api#documentation": "<p>The entity specified in the custom connector as a destination in the flow.</p>",
                        "smithy.api#required": {}
                    }
                },
                "errorHandlingConfig": {
                    "target": "com.amazonaws.appflow#ErrorHandlingConfig",
                    "traits": {
                        "smithy.api#documentation": "<p>The settings that determine how Amazon AppFlow handles an error when placing data in\n      the custom connector as destination.</p>"
                    }
                },
                "writeOperationType": {
                    "target": "com.amazonaws.appflow#WriteOperationType",
                    "traits": {
                        "smithy.api#documentation": "<p>Specifies the type of write operation to be performed in the custom connector when it's\n      used as destination.</p>"
                    }
                },
                "idFieldNames": {
                    "target": "com.amazonaws.appflow#IdFieldNameList",
                    "traits": {
                        "smithy.api#documentation": "<p>The name of the field that Amazon AppFlow uses as an ID when performing a write\n      operation such as update, delete, or upsert.</p>"
                    }
                },
                "customProperties": {
                    "target": "com.amazonaws.appflow#CustomProperties",
                    "traits": {
                        "smithy.api#documentation": "<p>The custom properties that are specific to the connector when it's used as a destination\n      in the flow.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>The properties that are applied when the custom connector is being used as a\n      destination.</p>"
            }
        },
        "com.amazonaws.appflow#CustomConnectorProfileCredentials": {
            "type": "structure",
            "members": {
                "authenticationType": {
                    "target": "com.amazonaws.appflow#AuthenticationType",
                    "traits": {
                        "smithy.api#documentation": "<p>The authentication type that the custom connector uses for authenticating while creating a\n      connector profile.</p>",
                        "smithy.api#required": {}
                    }
                },
                "basic": {
                    "target": "com.amazonaws.appflow#BasicAuthCredentials",
                    "traits": {
                        "smithy.api#documentation": "<p>The basic credentials that are required for the authentication of the user.</p>"
                    }
                },
                "oauth2": {
                    "target": "com.amazonaws.appflow#OAuth2Credentials",
                    "traits": {
                        "smithy.api#documentation": "<p>The OAuth 2.0 credentials required for the authentication of the user.</p>"
                    }
                },
                "apiKey": {
                    "target": "com.amazonaws.appflow#ApiKeyCredentials",
                    "traits": {
                        "smithy.api#documentation": "<p>The API keys required for the authentication of the user.</p>"
                    }
                },
                "custom": {
                    "target": "com.amazonaws.appflow#CustomAuthCredentials",
                    "traits": {
                        "smithy.api#documentation": "<p>If the connector uses the custom authentication mechanism, this holds the required\n      credentials.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>The connector-specific profile credentials that are required when using the custom\n      connector.</p>"
            }
        },
        "com.amazonaws.appflow#CustomConnectorProfileProperties": {
            "type": "structure",
            "members": {
                "profileProperties": {
                    "target": "com.amazonaws.appflow#ProfilePropertiesMap",
                    "traits": {
                        "smithy.api#documentation": "<p>A map of properties that are required to create a profile for the custom connector.</p>"
                    }
                },
                "oAuth2Properties": {
                    "target": "com.amazonaws.appflow#OAuth2Properties"
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>The profile properties required by the custom connector.</p>"
            }
        },
        "com.amazonaws.appflow#CustomConnectorSourceProperties": {
            "type": "structure",
            "members": {
                "entityName": {
                    "target": "com.amazonaws.appflow#EntityName",
                    "traits": {
                        "smithy.api#documentation": "<p>The entity specified in the custom connector as a source in the flow.</p>",
                        "smithy.api#required": {}
                    }
                },
                "customProperties": {
                    "target": "com.amazonaws.appflow#CustomProperties",
                    "traits": {
                        "smithy.api#documentation": "<p>Custom properties that are required to use the custom connector as a source.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>The properties that are applied when the custom connector is being used as a\n      source.</p>"
            }
        },
        "com.amazonaws.appflow#CustomProperties": {
            "type": "map",
            "key": {
                "target": "com.amazonaws.appflow#CustomPropertyKey"
            },
            "value": {
                "target": "com.amazonaws.appflow#CustomPropertyValue"
            },
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 50
                }
            }
        },
        "com.amazonaws.appflow#CustomPropertyKey": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 1,
                    "max": 128
                },
                "smithy.api#pattern": "^[\\w]+$"
            }
        },
        "com.amazonaws.appflow#CustomPropertyValue": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 2048
                },
                "smithy.api#pattern": "^\\S+$"
            }
        },
        "com.amazonaws.appflow#CustomerProfilesDestinationProperties": {
            "type": "structure",
            "members": {
                "domainName": {
                    "target": "com.amazonaws.appflow#DomainName",
                    "traits": {
                        "smithy.api#documentation": "<p> The unique name of the Amazon Connect Customer Profiles domain. </p>",
                        "smithy.api#required": {}
                    }
                },
                "objectTypeName": {
                    "target": "com.amazonaws.appflow#ObjectTypeName",
                    "traits": {
                        "smithy.api#documentation": "<p> The object specified in the Amazon Connect Customer Profiles flow destination.\n    </p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> The properties that are applied when Amazon Connect Customer Profiles is used as a\n      destination. </p>"
            }
        },
        "com.amazonaws.appflow#CustomerProfilesMetadata": {
            "type": "structure",
            "members": {},
            "traits": {
                "smithy.api#documentation": "<p> The connector metadata specific to Amazon Connect Customer Profiles. </p>"
            }
        },
        "com.amazonaws.appflow#DataPullMode": {
            "type": "string",
            "traits": {
                "smithy.api#enum": [
                    {
                        "value": "Incremental",
                        "name": "INCREMENTAL"
                    },
                    {
                        "value": "Complete",
                        "name": "COMPLETE"
                    }
                ]
            }
        },
        "com.amazonaws.appflow#DatabaseUrl": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 512
                },
                "smithy.api#pattern": "^\\S+$"
            }
        },
        "com.amazonaws.appflow#DatadogConnectorOperator": {
            "type": "string",
            "traits": {
                "smithy.api#enum": [
                    {
                        "value": "PROJECTION",
                        "name": "PROJECTION"
                    },
                    {
                        "value": "BETWEEN",
                        "name": "BETWEEN"
                    },
                    {
                        "value": "EQUAL_TO",
                        "name": "EQUAL_TO"
                    },
                    {
                        "value": "ADDITION",
                        "name": "ADDITION"
                    },
                    {
                        "value": "MULTIPLICATION",
                        "name": "MULTIPLICATION"
                    },
                    {
                        "value": "DIVISION",
                        "name": "DIVISION"
                    },
                    {
                        "value": "SUBTRACTION",
                        "name": "SUBTRACTION"
                    },
                    {
                        "value": "MASK_ALL",
                        "name": "MASK_ALL"
                    },
                    {
                        "value": "MASK_FIRST_N",
                        "name": "MASK_FIRST_N"
                    },
                    {
                        "value": "MASK_LAST_N",
                        "name": "MASK_LAST_N"
                    },
                    {
                        "value": "VALIDATE_NON_NULL",
                        "name": "VALIDATE_NON_NULL"
                    },
                    {
                        "value": "VALIDATE_NON_ZERO",
                        "name": "VALIDATE_NON_ZERO"
                    },
                    {
                        "value": "VALIDATE_NON_NEGATIVE",
                        "name": "VALIDATE_NON_NEGATIVE"
                    },
                    {
                        "value": "VALIDATE_NUMERIC",
                        "name": "VALIDATE_NUMERIC"
                    },
                    {
                        "value": "NO_OP",
                        "name": "NO_OP"
                    }
                ]
            }
        },
        "com.amazonaws.appflow#DatadogConnectorProfileCredentials": {
            "type": "structure",
            "members": {
                "apiKey": {
                    "target": "com.amazonaws.appflow#ApiKey",
                    "traits": {
                        "smithy.api#documentation": "<p> A unique alphanumeric identifier used to authenticate a user, developer, or calling\n      program to your API. </p>",
                        "smithy.api#required": {}
                    }
                },
                "applicationKey": {
                    "target": "com.amazonaws.appflow#ApplicationKey",
                    "traits": {
                        "smithy.api#documentation": "<p> Application keys, in conjunction with your API key, give you full access to Datadog’s\n      programmatic API. Application keys are associated with the user account that created them. The\n      application key is used to log all requests made to the API. </p>",
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> The connector-specific credentials required by Datadog. </p>"
            }
        },
        "com.amazonaws.appflow#DatadogConnectorProfileProperties": {
            "type": "structure",
            "members": {
                "instanceUrl": {
                    "target": "com.amazonaws.appflow#InstanceUrl",
                    "traits": {
                        "smithy.api#documentation": "<p> The location of the Datadog resource. </p>",
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> The connector-specific profile properties required by Datadog. </p>"
            }
        },
        "com.amazonaws.appflow#DatadogMetadata": {
            "type": "structure",
            "members": {},
            "traits": {
                "smithy.api#documentation": "<p> The connector metadata specific to Datadog. </p>"
            }
        },
        "com.amazonaws.appflow#DatadogSourceProperties": {
            "type": "structure",
            "members": {
                "object": {
                    "target": "com.amazonaws.appflow#Object",
                    "traits": {
                        "smithy.api#documentation": "<p> The object specified in the Datadog flow source. </p>",
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> The properties that are applied when Datadog is being used as a source. </p>"
            }
        },
        "com.amazonaws.appflow#Date": {
            "type": "timestamp"
        },
        "com.amazonaws.appflow#DatetimeTypeFieldName": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 256
                },
                "smithy.api#pattern": ".*"
            }
        },
        "com.amazonaws.appflow#DeleteConnectorProfile": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.appflow#DeleteConnectorProfileRequest"
            },
            "output": {
                "target": "com.amazonaws.appflow#DeleteConnectorProfileResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.appflow#ConflictException"
                },
                {
                    "target": "com.amazonaws.appflow#InternalServerException"
                },
                {
                    "target": "com.amazonaws.appflow#ResourceNotFoundException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p> Enables you to delete an existing connector profile. </p>",
                "smithy.api#http": {
                    "method": "POST",
                    "uri": "/delete-connector-profile",
                    "code": 200
                }
            }
        },
        "com.amazonaws.appflow#DeleteConnectorProfileRequest": {
            "type": "structure",
            "members": {
                "connectorProfileName": {
                    "target": "com.amazonaws.appflow#ConnectorProfileName",
                    "traits": {
                        "smithy.api#documentation": "<p> The name of the connector profile. The name is unique for each\n        <code>ConnectorProfile</code> in your account. </p>",
                        "smithy.api#required": {}
                    }
                },
                "forceDelete": {
                    "target": "com.amazonaws.appflow#Boolean",
                    "traits": {
                        "smithy.api#documentation": "<p> Indicates whether Amazon AppFlow should delete the profile, even if it is currently\n      in use in one or more flows. </p>"
                    }
                }
            }
        },
        "com.amazonaws.appflow#DeleteConnectorProfileResponse": {
            "type": "structure",
            "members": {}
        },
        "com.amazonaws.appflow#DeleteFlow": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.appflow#DeleteFlowRequest"
            },
            "output": {
                "target": "com.amazonaws.appflow#DeleteFlowResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.appflow#ConflictException"
                },
                {
                    "target": "com.amazonaws.appflow#InternalServerException"
                },
                {
                    "target": "com.amazonaws.appflow#ResourceNotFoundException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p> Enables your application to delete an existing flow. Before deleting the flow, Amazon AppFlow validates the request by checking the flow configuration and status. You can\n      delete flows one at a time. </p>",
                "smithy.api#http": {
                    "method": "POST",
                    "uri": "/delete-flow",
                    "code": 200
                }
            }
        },
        "com.amazonaws.appflow#DeleteFlowRequest": {
            "type": "structure",
            "members": {
                "flowName": {
                    "target": "com.amazonaws.appflow#FlowName",
                    "traits": {
                        "smithy.api#documentation": "<p> The specified name of the flow. Spaces are not allowed. Use underscores (_) or hyphens\n      (-) only. </p>",
                        "smithy.api#required": {}
                    }
                },
                "forceDelete": {
                    "target": "com.amazonaws.appflow#Boolean",
                    "traits": {
                        "smithy.api#documentation": "<p> Indicates whether Amazon AppFlow should delete the flow, even if it is currently in\n      use. </p>"
                    }
                }
            }
        },
        "com.amazonaws.appflow#DeleteFlowResponse": {
            "type": "structure",
            "members": {}
        },
        "com.amazonaws.appflow#DescribeConnector": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.appflow#DescribeConnectorRequest"
            },
            "output": {
                "target": "com.amazonaws.appflow#DescribeConnectorResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.appflow#InternalServerException"
                },
                {
                    "target": "com.amazonaws.appflow#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.appflow#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Describes the given custom connector registered in your Amazon Web Services account. This\n      API can be used for custom connectors that are registered in your account and also for Amazon\n      authored connectors.</p>",
                "smithy.api#http": {
                    "method": "POST",
                    "uri": "/describe-connector",
                    "code": 200
                }
            }
        },
        "com.amazonaws.appflow#DescribeConnectorEntity": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.appflow#DescribeConnectorEntityRequest"
            },
            "output": {
                "target": "com.amazonaws.appflow#DescribeConnectorEntityResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.appflow#ConnectorAuthenticationException"
                },
                {
                    "target": "com.amazonaws.appflow#ConnectorServerException"
                },
                {
                    "target": "com.amazonaws.appflow#InternalServerException"
                },
                {
                    "target": "com.amazonaws.appflow#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.appflow#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p> Provides details regarding the entity used with the connector, with a description of the\n      data model for each field in that entity. </p>",
                "smithy.api#http": {
                    "method": "POST",
                    "uri": "/describe-connector-entity",
                    "code": 200
                }
            }
        },
        "com.amazonaws.appflow#DescribeConnectorEntityRequest": {
            "type": "structure",
            "members": {
                "connectorEntityName": {
                    "target": "com.amazonaws.appflow#EntityName",
                    "traits": {
                        "smithy.api#documentation": "<p> The entity name for that connector. </p>",
                        "smithy.api#required": {}
                    }
                },
                "connectorType": {
                    "target": "com.amazonaws.appflow#ConnectorType",
                    "traits": {
                        "smithy.api#documentation": "<p> The type of connector application, such as Salesforce, Amplitude, and so on. </p>"
                    }
                },
                "connectorProfileName": {
                    "target": "com.amazonaws.appflow#ConnectorProfileName",
                    "traits": {
                        "smithy.api#documentation": "<p> The name of the connector profile. The name is unique for each\n        <code>ConnectorProfile</code> in the Amazon Web Services account. </p>"
                    }
                },
                "apiVersion": {
                    "target": "com.amazonaws.appflow#ApiVersion",
                    "traits": {
                        "smithy.api#documentation": "<p>The version of the API that's used by the connector.</p>"
                    }
                }
            }
        },
        "com.amazonaws.appflow#DescribeConnectorEntityResponse": {
            "type": "structure",
            "members": {
                "connectorEntityFields": {
                    "target": "com.amazonaws.appflow#ConnectorEntityFieldList",
                    "traits": {
                        "smithy.api#documentation": "<p> Describes the fields for that connector entity. For example, for an\n        <i>account</i> entity, the fields would be <i>account name</i>,\n        <i>account ID</i>, and so on. </p>",
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.appflow#DescribeConnectorProfiles": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.appflow#DescribeConnectorProfilesRequest"
            },
            "output": {
                "target": "com.amazonaws.appflow#DescribeConnectorProfilesResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.appflow#InternalServerException"
                },
                {
                    "target": "com.amazonaws.appflow#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p> Returns a list of <code>connector-profile</code> details matching the provided\n        <code>connector-profile</code> names and <code>connector-types</code>. Both input lists are\n      optional, and you can use them to filter the result. </p>\n         <p>If no names or <code>connector-types</code> are provided, returns all connector profiles\n      in a paginated form. If there is no match, this operation returns an empty list.</p>",
                "smithy.api#http": {
                    "method": "POST",
                    "uri": "/describe-connector-profiles",
                    "code": 200
                },
                "smithy.api#paginated": {
                    "inputToken": "nextToken",
                    "outputToken": "nextToken",
                    "pageSize": "maxResults"
                }
            }
        },
        "com.amazonaws.appflow#DescribeConnectorProfilesRequest": {
            "type": "structure",
            "members": {
                "connectorProfileNames": {
                    "target": "com.amazonaws.appflow#ConnectorProfileNameList",
                    "traits": {
                        "smithy.api#documentation": "<p> The name of the connector profile. The name is unique for each\n        <code>ConnectorProfile</code> in the Amazon Web Services account. </p>"
                    }
                },
                "connectorType": {
                    "target": "com.amazonaws.appflow#ConnectorType",
                    "traits": {
                        "smithy.api#documentation": "<p> The type of connector, such as Salesforce, Amplitude, and so on. </p>"
                    }
                },
                "connectorLabel": {
                    "target": "com.amazonaws.appflow#ConnectorLabel",
                    "traits": {
                        "smithy.api#documentation": "<p>The name of the connector. The name is unique for each <code>ConnectorRegistration</code>\n      in your Amazon Web Services account. Only needed if calling for CUSTOMCONNECTOR connector\n      type/.</p>"
                    }
                },
                "maxResults": {
                    "target": "com.amazonaws.appflow#MaxResults",
                    "traits": {
                        "smithy.api#documentation": "<p> Specifies the maximum number of items that should be returned in the result set. The\n      default for <code>maxResults</code> is 20 (for all paginated API operations). </p>"
                    }
                },
                "nextToken": {
                    "target": "com.amazonaws.appflow#NextToken",
                    "traits": {
                        "smithy.api#documentation": "<p> The pagination token for the next page of data. </p>"
                    }
                }
            }
        },
        "com.amazonaws.appflow#DescribeConnectorProfilesResponse": {
            "type": "structure",
            "members": {
                "connectorProfileDetails": {
                    "target": "com.amazonaws.appflow#ConnectorProfileDetailList",
                    "traits": {
                        "smithy.api#documentation": "<p> Returns information about the connector profiles associated with the flow. </p>"
                    }
                },
                "nextToken": {
                    "target": "com.amazonaws.appflow#NextToken",
                    "traits": {
                        "smithy.api#documentation": "<p> The pagination token for the next page of data. If <code>nextToken=null</code>, this\n      means that all records have been fetched. </p>"
                    }
                }
            }
        },
        "com.amazonaws.appflow#DescribeConnectorRequest": {
            "type": "structure",
            "members": {
                "connectorType": {
                    "target": "com.amazonaws.appflow#ConnectorType",
                    "traits": {
                        "smithy.api#documentation": "<p>The connector type, such as CUSTOMCONNECTOR, Saleforce, Marketo. Please choose\n      CUSTOMCONNECTOR for Lambda based custom connectors.</p>",
                        "smithy.api#required": {}
                    }
                },
                "connectorLabel": {
                    "target": "com.amazonaws.appflow#ConnectorLabel",
                    "traits": {
                        "smithy.api#documentation": "<p>The label of the connector. The label is unique for each\n        <code>ConnectorRegistration</code> in your Amazon Web Services account. Only needed if\n      calling for CUSTOMCONNECTOR connector type/.</p>"
                    }
                }
            }
        },
        "com.amazonaws.appflow#DescribeConnectorResponse": {
            "type": "structure",
            "members": {
                "connectorConfiguration": {
                    "target": "com.amazonaws.appflow#ConnectorConfiguration",
                    "traits": {
                        "smithy.api#documentation": "<p>Configuration info of all the connectors that the user requested.</p>"
                    }
                }
            }
        },
        "com.amazonaws.appflow#DescribeConnectors": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.appflow#DescribeConnectorsRequest"
            },
            "output": {
                "target": "com.amazonaws.appflow#DescribeConnectorsResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.appflow#InternalServerException"
                },
                {
                    "target": "com.amazonaws.appflow#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p> Describes the connectors vended by Amazon AppFlow for specified connector types. If\n      you don't specify a connector type, this operation describes all connectors vended by Amazon AppFlow. If there are more connectors than can be returned in one page, the response\n      contains a <code>nextToken</code> object, which can be be passed in to the next call to the\n        <code>DescribeConnectors</code> API operation to retrieve the next page. </p>",
                "smithy.api#http": {
                    "method": "POST",
                    "uri": "/describe-connectors",
                    "code": 200
                },
                "smithy.api#paginated": {
                    "inputToken": "nextToken",
                    "outputToken": "nextToken",
                    "pageSize": "maxResults"
                }
            }
        },
        "com.amazonaws.appflow#DescribeConnectorsRequest": {
            "type": "structure",
            "members": {
                "connectorTypes": {
                    "target": "com.amazonaws.appflow#ConnectorTypeList",
                    "traits": {
                        "smithy.api#documentation": "<p> The type of connector, such as Salesforce, Amplitude, and so on. </p>"
                    }
                },
                "maxResults": {
                    "target": "com.amazonaws.appflow#MaxResults",
                    "traits": {
                        "smithy.api#documentation": "<p>The maximum number of items that should be returned in the result set. The default is\n      20.</p>"
                    }
                },
                "nextToken": {
                    "target": "com.amazonaws.appflow#NextToken",
                    "traits": {
                        "smithy.api#documentation": "<p> The pagination token for the next page of data. </p>"
                    }
                }
            }
        },
        "com.amazonaws.appflow#DescribeConnectorsResponse": {
            "type": "structure",
            "members": {
                "connectorConfigurations": {
                    "target": "com.amazonaws.appflow#ConnectorConfigurationsMap",
                    "traits": {
                        "smithy.api#documentation": "<p> The configuration that is applied to the connectors used in the flow. </p>"
                    }
                },
                "connectors": {
                    "target": "com.amazonaws.appflow#ConnectorList",
                    "traits": {
                        "smithy.api#documentation": "<p>Information about the connectors supported in Amazon AppFlow.</p>"
                    }
                },
                "nextToken": {
                    "target": "com.amazonaws.appflow#NextToken",
                    "traits": {
                        "smithy.api#documentation": "<p> The pagination token for the next page of data. </p>"
                    }
                }
            }
        },
        "com.amazonaws.appflow#DescribeFlow": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.appflow#DescribeFlowRequest"
            },
            "output": {
                "target": "com.amazonaws.appflow#DescribeFlowResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.appflow#InternalServerException"
                },
                {
                    "target": "com.amazonaws.appflow#ResourceNotFoundException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p> Provides a description of the specified flow. </p>",
                "smithy.api#http": {
                    "method": "POST",
                    "uri": "/describe-flow",
                    "code": 200
                }
            }
        },
        "com.amazonaws.appflow#DescribeFlowExecutionRecords": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.appflow#DescribeFlowExecutionRecordsRequest"
            },
            "output": {
                "target": "com.amazonaws.appflow#DescribeFlowExecutionRecordsResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.appflow#InternalServerException"
                },
                {
                    "target": "com.amazonaws.appflow#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.appflow#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p> Fetches the execution history of the flow. </p>",
                "smithy.api#http": {
                    "method": "POST",
                    "uri": "/describe-flow-execution-records",
                    "code": 200
                },
                "smithy.api#paginated": {
                    "inputToken": "nextToken",
                    "outputToken": "nextToken",
                    "pageSize": "maxResults"
                }
            }
        },
        "com.amazonaws.appflow#DescribeFlowExecutionRecordsRequest": {
            "type": "structure",
            "members": {
                "flowName": {
                    "target": "com.amazonaws.appflow#FlowName",
                    "traits": {
                        "smithy.api#documentation": "<p> The specified name of the flow. Spaces are not allowed. Use underscores (_) or hyphens\n      (-) only. </p>",
                        "smithy.api#required": {}
                    }
                },
                "maxResults": {
                    "target": "com.amazonaws.appflow#MaxResults",
                    "traits": {
                        "smithy.api#documentation": "<p> Specifies the maximum number of items that should be returned in the result set. The\n      default for <code>maxResults</code> is 20 (for all paginated API operations). </p>"
                    }
                },
                "nextToken": {
                    "target": "com.amazonaws.appflow#NextToken",
                    "traits": {
                        "smithy.api#documentation": "<p> The pagination token for the next page of data. </p>"
                    }
                }
            }
        },
        "com.amazonaws.appflow#DescribeFlowExecutionRecordsResponse": {
            "type": "structure",
            "members": {
                "flowExecutions": {
                    "target": "com.amazonaws.appflow#FlowExecutionList",
                    "traits": {
                        "smithy.api#documentation": "<p> Returns a list of all instances when this flow was run. </p>"
                    }
                },
                "nextToken": {
                    "target": "com.amazonaws.appflow#NextToken",
                    "traits": {
                        "smithy.api#documentation": "<p> The pagination token for the next page of data. </p>"
                    }
                }
            }
        },
        "com.amazonaws.appflow#DescribeFlowRequest": {
            "type": "structure",
            "members": {
                "flowName": {
                    "target": "com.amazonaws.appflow#FlowName",
                    "traits": {
                        "smithy.api#documentation": "<p> The specified name of the flow. Spaces are not allowed. Use underscores (_) or hyphens\n      (-) only. </p>",
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.appflow#DescribeFlowResponse": {
            "type": "structure",
            "members": {
                "flowArn": {
                    "target": "com.amazonaws.appflow#FlowArn",
                    "traits": {
                        "smithy.api#documentation": "<p> The flow's Amazon Resource Name (ARN). </p>"
                    }
                },
                "description": {
                    "target": "com.amazonaws.appflow#FlowDescription",
                    "traits": {
                        "smithy.api#documentation": "<p> A description of the flow. </p>"
                    }
                },
                "flowName": {
                    "target": "com.amazonaws.appflow#FlowName",
                    "traits": {
                        "smithy.api#documentation": "<p> The specified name of the flow. Spaces are not allowed. Use underscores (_) or hyphens\n      (-) only. </p>"
                    }
                },
                "kmsArn": {
                    "target": "com.amazonaws.appflow#KMSArn",
                    "traits": {
                        "smithy.api#documentation": "<p> The ARN (Amazon Resource Name) of the Key Management Service (KMS) key you provide for\n      encryption. This is required if you do not want to use the Amazon AppFlow-managed KMS\n      key. If you don't provide anything here, Amazon AppFlow uses the Amazon AppFlow-managed KMS key. </p>"
                    }
                },
                "flowStatus": {
                    "target": "com.amazonaws.appflow#FlowStatus",
                    "traits": {
                        "smithy.api#documentation": "<p> Indicates the current status of the flow. </p>"
                    }
                },
                "flowStatusMessage": {
                    "target": "com.amazonaws.appflow#FlowStatusMessage",
                    "traits": {
                        "smithy.api#documentation": "<p> Contains an error message if the flow status is in a suspended or error state. This\n      applies only to scheduled or event-triggered flows. </p>"
                    }
                },
                "sourceFlowConfig": {
                    "target": "com.amazonaws.appflow#SourceFlowConfig",
                    "traits": {
                        "smithy.api#documentation": "<p> The configuration that controls how Amazon AppFlow retrieves data from the source\n      connector. </p>"
                    }
                },
                "destinationFlowConfigList": {
                    "target": "com.amazonaws.appflow#DestinationFlowConfigList",
                    "traits": {
                        "smithy.api#documentation": "<p> The configuration that controls how Amazon AppFlow transfers data to the\n      destination connector. </p>"
                    }
                },
                "lastRunExecutionDetails": {
                    "target": "com.amazonaws.appflow#ExecutionDetails",
                    "traits": {
                        "smithy.api#documentation": "<p> Describes the details of the most recent flow run. </p>"
                    }
                },
                "triggerConfig": {
                    "target": "com.amazonaws.appflow#TriggerConfig",
                    "traits": {
                        "smithy.api#documentation": "<p> The trigger settings that determine how and when the flow runs. </p>"
                    }
                },
                "tasks": {
                    "target": "com.amazonaws.appflow#Tasks",
                    "traits": {
                        "smithy.api#documentation": "<p> A list of tasks that Amazon AppFlow performs while transferring the data in the\n      flow run. </p>"
                    }
                },
                "createdAt": {
                    "target": "com.amazonaws.appflow#Date",
                    "traits": {
                        "smithy.api#documentation": "<p> Specifies when the flow was created. </p>"
                    }
                },
                "lastUpdatedAt": {
                    "target": "com.amazonaws.appflow#Date",
                    "traits": {
                        "smithy.api#documentation": "<p> Specifies when the flow was last updated. </p>"
                    }
                },
                "createdBy": {
                    "target": "com.amazonaws.appflow#CreatedBy",
                    "traits": {
                        "smithy.api#documentation": "<p> The ARN of the user who created the flow. </p>"
                    }
                },
                "lastUpdatedBy": {
                    "target": "com.amazonaws.appflow#UpdatedBy",
                    "traits": {
                        "smithy.api#documentation": "<p> Specifies the user name of the account that performed the most recent update. </p>"
                    }
                },
                "tags": {
                    "target": "com.amazonaws.appflow#TagMap",
                    "traits": {
                        "smithy.api#documentation": "<p> The tags used to organize, track, or control access for your flow. </p>"
                    }
                }
            }
        },
        "com.amazonaws.appflow#Description": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 1024
                },
                "smithy.api#pattern": "^[\\s\\w/!@#+=.-]*$"
            }
        },
        "com.amazonaws.appflow#DestinationConnectorProperties": {
            "type": "structure",
            "members": {
                "Redshift": {
                    "target": "com.amazonaws.appflow#RedshiftDestinationProperties",
                    "traits": {
                        "smithy.api#documentation": "<p> The properties required to query Amazon Redshift. </p>"
                    }
                },
                "S3": {
                    "target": "com.amazonaws.appflow#S3DestinationProperties",
                    "traits": {
                        "smithy.api#documentation": "<p> The properties required to query Amazon S3. </p>"
                    }
                },
                "Salesforce": {
                    "target": "com.amazonaws.appflow#SalesforceDestinationProperties",
                    "traits": {
                        "smithy.api#documentation": "<p> The properties required to query Salesforce. </p>"
                    }
                },
                "Snowflake": {
                    "target": "com.amazonaws.appflow#SnowflakeDestinationProperties",
                    "traits": {
                        "smithy.api#documentation": "<p> The properties required to query Snowflake. </p>"
                    }
                },
                "EventBridge": {
                    "target": "com.amazonaws.appflow#EventBridgeDestinationProperties",
                    "traits": {
                        "smithy.api#documentation": "<p> The properties required to query Amazon EventBridge. </p>"
                    }
                },
                "LookoutMetrics": {
                    "target": "com.amazonaws.appflow#LookoutMetricsDestinationProperties",
                    "traits": {
                        "smithy.api#documentation": "<p> The properties required to query Amazon Lookout for Metrics. </p>"
                    }
                },
                "Upsolver": {
                    "target": "com.amazonaws.appflow#UpsolverDestinationProperties",
                    "traits": {
                        "smithy.api#documentation": "<p> The properties required to query Upsolver. </p>"
                    }
                },
                "Honeycode": {
                    "target": "com.amazonaws.appflow#HoneycodeDestinationProperties",
                    "traits": {
                        "smithy.api#documentation": "<p> The properties required to query Amazon Honeycode. </p>"
                    }
                },
                "CustomerProfiles": {
                    "target": "com.amazonaws.appflow#CustomerProfilesDestinationProperties",
                    "traits": {
                        "smithy.api#documentation": "<p> The properties required to query Amazon Connect Customer Profiles. </p>"
                    }
                },
                "Zendesk": {
                    "target": "com.amazonaws.appflow#ZendeskDestinationProperties",
                    "traits": {
                        "smithy.api#documentation": "<p>The properties required to query Zendesk.</p>"
                    }
                },
                "Marketo": {
                    "target": "com.amazonaws.appflow#MarketoDestinationProperties",
                    "traits": {
                        "smithy.api#documentation": "<p>The properties required to query Marketo.</p>"
                    }
                },
                "CustomConnector": {
                    "target": "com.amazonaws.appflow#CustomConnectorDestinationProperties",
                    "traits": {
                        "smithy.api#documentation": "<p>The properties that are required to query the custom Connector.</p>"
                    }
                },
                "SAPOData": {
                    "target": "com.amazonaws.appflow#SAPODataDestinationProperties",
                    "traits": {
                        "smithy.api#documentation": "<p>The properties required to query SAPOData.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> This stores the information that is required to query a particular connector. </p>"
            }
        },
        "com.amazonaws.appflow#DestinationField": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 256
                },
                "smithy.api#pattern": ".*"
            }
        },
        "com.amazonaws.appflow#DestinationFieldProperties": {
            "type": "structure",
            "members": {
                "isCreatable": {
                    "target": "com.amazonaws.appflow#Boolean",
                    "traits": {
                        "smithy.api#documentation": "<p> Specifies if the destination field can be created by the current user. </p>"
                    }
                },
                "isNullable": {
                    "target": "com.amazonaws.appflow#Boolean",
                    "traits": {
                        "smithy.api#documentation": "<p> Specifies if the destination field can have a null value. </p>"
                    }
                },
                "isUpsertable": {
                    "target": "com.amazonaws.appflow#Boolean",
                    "traits": {
                        "smithy.api#documentation": "<p> Specifies if the flow run can either insert new rows in the destination field if they do\n      not already exist, or update them if they do. </p>"
                    }
                },
                "isUpdatable": {
                    "target": "com.amazonaws.appflow#Boolean",
                    "traits": {
                        "smithy.api#documentation": "<p> Specifies whether the field can be updated during an <code>UPDATE</code> or\n        <code>UPSERT</code> write operation. </p>"
                    }
                },
                "isDefaultedOnCreate": {
                    "target": "com.amazonaws.appflow#Boolean",
                    "traits": {
                        "smithy.api#documentation": "<p>Specifies whether the field can use the default value during a Create operation.</p>"
                    }
                },
                "supportedWriteOperations": {
                    "target": "com.amazonaws.appflow#SupportedWriteOperationList",
                    "traits": {
                        "smithy.api#documentation": "<p> A list of supported write operations. For each write operation listed, this field can be\n      used in <code>idFieldNames</code> when that write operation is present as a destination\n      option. </p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> The properties that can be applied to a field when connector is being used as a\n      destination. </p>"
            }
        },
        "com.amazonaws.appflow#DestinationFlowConfig": {
            "type": "structure",
            "members": {
                "connectorType": {
                    "target": "com.amazonaws.appflow#ConnectorType",
                    "traits": {
                        "smithy.api#documentation": "<p> The type of connector, such as Salesforce, Amplitude, and so on. </p>",
                        "smithy.api#required": {}
                    }
                },
                "apiVersion": {
                    "target": "com.amazonaws.appflow#ApiVersion",
                    "traits": {
                        "smithy.api#documentation": "<p>The API version that the destination connector uses.</p>"
                    }
                },
                "connectorProfileName": {
                    "target": "com.amazonaws.appflow#ConnectorProfileName",
                    "traits": {
                        "smithy.api#documentation": "<p> The name of the connector profile. This name must be unique for each connector profile in\n      the Amazon Web Services account. </p>"
                    }
                },
                "destinationConnectorProperties": {
                    "target": "com.amazonaws.appflow#DestinationConnectorProperties",
                    "traits": {
                        "smithy.api#documentation": "<p> This stores the information that is required to query a particular connector. </p>",
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> Contains information about the configuration of destination connectors present in the\n      flow. </p>"
            }
        },
        "com.amazonaws.appflow#DestinationFlowConfigList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.appflow#DestinationFlowConfig"
            }
        },
        "com.amazonaws.appflow#DocumentType": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 512
                },
                "smithy.api#pattern": "^[\\s\\w_-]+$"
            }
        },
        "com.amazonaws.appflow#DomainName": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 64
                },
                "smithy.api#pattern": "^\\S+$"
            }
        },
        "com.amazonaws.appflow#Double": {
            "type": "double"
        },
        "com.amazonaws.appflow#DynatraceConnectorOperator": {
            "type": "string",
            "traits": {
                "smithy.api#enum": [
                    {
                        "value": "PROJECTION",
                        "name": "PROJECTION"
                    },
                    {
                        "value": "BETWEEN",
                        "name": "BETWEEN"
                    },
                    {
                        "value": "EQUAL_TO",
                        "name": "EQUAL_TO"
                    },
                    {
                        "value": "ADDITION",
                        "name": "ADDITION"
                    },
                    {
                        "value": "MULTIPLICATION",
                        "name": "MULTIPLICATION"
                    },
                    {
                        "value": "DIVISION",
                        "name": "DIVISION"
                    },
                    {
                        "value": "SUBTRACTION",
                        "name": "SUBTRACTION"
                    },
                    {
                        "value": "MASK_ALL",
                        "name": "MASK_ALL"
                    },
                    {
                        "value": "MASK_FIRST_N",
                        "name": "MASK_FIRST_N"
                    },
                    {
                        "value": "MASK_LAST_N",
                        "name": "MASK_LAST_N"
                    },
                    {
                        "value": "VALIDATE_NON_NULL",
                        "name": "VALIDATE_NON_NULL"
                    },
                    {
                        "value": "VALIDATE_NON_ZERO",
                        "name": "VALIDATE_NON_ZERO"
                    },
                    {
                        "value": "VALIDATE_NON_NEGATIVE",
                        "name": "VALIDATE_NON_NEGATIVE"
                    },
                    {
                        "value": "VALIDATE_NUMERIC",
                        "name": "VALIDATE_NUMERIC"
                    },
                    {
                        "value": "NO_OP",
                        "name": "NO_OP"
                    }
                ]
            }
        },
        "com.amazonaws.appflow#DynatraceConnectorProfileCredentials": {
            "type": "structure",
            "members": {
                "apiToken": {
                    "target": "com.amazonaws.appflow#ApiToken",
                    "traits": {
                        "smithy.api#documentation": "<p> The API tokens used by Dynatrace API to authenticate various API calls. </p>",
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> The connector-specific profile credentials required by Dynatrace. </p>"
            }
        },
        "com.amazonaws.appflow#DynatraceConnectorProfileProperties": {
            "type": "structure",
            "members": {
                "instanceUrl": {
                    "target": "com.amazonaws.appflow#InstanceUrl",
                    "traits": {
                        "smithy.api#documentation": "<p> The location of the Dynatrace resource. </p>",
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> The connector-specific profile properties required by Dynatrace. </p>"
            }
        },
        "com.amazonaws.appflow#DynatraceMetadata": {
            "type": "structure",
            "members": {},
            "traits": {
                "smithy.api#documentation": "<p> The connector metadata specific to Dynatrace. </p>"
            }
        },
        "com.amazonaws.appflow#DynatraceSourceProperties": {
            "type": "structure",
            "members": {
                "object": {
                    "target": "com.amazonaws.appflow#Object",
                    "traits": {
                        "smithy.api#documentation": "<p> The object specified in the Dynatrace flow source. </p>",
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> The properties that are applied when Dynatrace is being used as a source. </p>"
            }
        },
        "com.amazonaws.appflow#EntitiesPath": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 256
                },
                "smithy.api#pattern": "^[\\s\\w/!@#+=.-]*$"
            }
        },
        "com.amazonaws.appflow#EntityName": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 1024
                },
                "smithy.api#pattern": "^\\S+$"
            }
        },
        "com.amazonaws.appflow#ErrorHandlingConfig": {
            "type": "structure",
            "members": {
                "failOnFirstDestinationError": {
                    "target": "com.amazonaws.appflow#Boolean",
                    "traits": {
                        "smithy.api#documentation": "<p> Specifies if the flow should fail after the first instance of a failure when attempting\n      to place data in the destination. </p>"
                    }
                },
                "bucketPrefix": {
                    "target": "com.amazonaws.appflow#BucketPrefix",
                    "traits": {
                        "smithy.api#documentation": "<p> Specifies the Amazon S3 bucket prefix. </p>"
                    }
                },
                "bucketName": {
                    "target": "com.amazonaws.appflow#BucketName",
                    "traits": {
                        "smithy.api#documentation": "<p> Specifies the name of the Amazon S3 bucket. </p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> The settings that determine how Amazon AppFlow handles an error when placing data\n      in the destination. For example, this setting would determine if the flow should fail after\n      one insertion error, or continue and attempt to insert every record regardless of the initial\n      failure. <code>ErrorHandlingConfig</code> is a part of the destination connector details.\n    </p>"
            }
        },
        "com.amazonaws.appflow#ErrorInfo": {
            "type": "structure",
            "members": {
                "putFailuresCount": {
                    "target": "com.amazonaws.appflow#Long",
                    "traits": {
                        "smithy.api#documentation": "<p> Specifies the failure count for the attempted flow. </p>"
                    }
                },
                "executionMessage": {
                    "target": "com.amazonaws.appflow#ExecutionMessage",
                    "traits": {
                        "smithy.api#documentation": "<p> Specifies the error message that appears if a flow fails. </p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> Provides details in the event of a failed flow, including the failure count and the\n      related error messages. </p>"
            }
        },
        "com.amazonaws.appflow#ErrorMessage": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 2048
                },
                "smithy.api#pattern": "^[\\s\\w/!@#+=.-]*$"
            }
        },
        "com.amazonaws.appflow#EventBridgeDestinationProperties": {
            "type": "structure",
            "members": {
                "object": {
                    "target": "com.amazonaws.appflow#Object",
                    "traits": {
                        "smithy.api#documentation": "<p> The object specified in the Amazon EventBridge flow destination. </p>",
                        "smithy.api#required": {}
                    }
                },
                "errorHandlingConfig": {
                    "target": "com.amazonaws.appflow#ErrorHandlingConfig"
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> The properties that are applied when Amazon EventBridge is being used as a\n      destination. </p>"
            }
        },
        "com.amazonaws.appflow#EventBridgeMetadata": {
            "type": "structure",
            "members": {},
            "traits": {
                "smithy.api#documentation": "<p> The connector metadata specific to Amazon EventBridge. </p>"
            }
        },
        "com.amazonaws.appflow#ExecutionDetails": {
            "type": "structure",
            "members": {
                "mostRecentExecutionMessage": {
                    "target": "com.amazonaws.appflow#MostRecentExecutionMessage",
                    "traits": {
                        "smithy.api#documentation": "<p> Describes the details of the most recent flow run. </p>"
                    }
                },
                "mostRecentExecutionTime": {
                    "target": "com.amazonaws.appflow#Date",
                    "traits": {
                        "smithy.api#documentation": "<p> Specifies the time of the most recent flow run. </p>"
                    }
                },
                "mostRecentExecutionStatus": {
                    "target": "com.amazonaws.appflow#ExecutionStatus",
                    "traits": {
                        "smithy.api#documentation": "<p> Specifies the status of the most recent flow run. </p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> Describes the details of the flow run, including the timestamp, status, and message.\n    </p>"
            }
        },
        "com.amazonaws.appflow#ExecutionId": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 256
                },
                "smithy.api#pattern": "^\\S+$"
            }
        },
        "com.amazonaws.appflow#ExecutionMessage": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 2048
                },
                "smithy.api#pattern": "^[\\s\\w/!@#+=.-]*$"
            }
        },
        "com.amazonaws.appflow#ExecutionRecord": {
            "type": "structure",
            "members": {
                "executionId": {
                    "target": "com.amazonaws.appflow#ExecutionId",
                    "traits": {
                        "smithy.api#documentation": "<p> Specifies the identifier of the given flow run. </p>"
                    }
                },
                "executionStatus": {
                    "target": "com.amazonaws.appflow#ExecutionStatus",
                    "traits": {
                        "smithy.api#documentation": "<p> Specifies the flow run status and whether it is in progress, has completed successfully,\n      or has failed. </p>"
                    }
                },
                "executionResult": {
                    "target": "com.amazonaws.appflow#ExecutionResult",
                    "traits": {
                        "smithy.api#documentation": "<p> Describes the result of the given flow run. </p>"
                    }
                },
                "startedAt": {
                    "target": "com.amazonaws.appflow#Date",
                    "traits": {
                        "smithy.api#documentation": "<p> Specifies the start time of the flow run. </p>"
                    }
                },
                "lastUpdatedAt": {
                    "target": "com.amazonaws.appflow#Date",
                    "traits": {
                        "smithy.api#documentation": "<p> Specifies the time of the most recent update. </p>"
                    }
                },
                "dataPullStartTime": {
                    "target": "com.amazonaws.appflow#Date",
                    "traits": {
                        "smithy.api#documentation": "<p> The timestamp that determines the first new or updated record to be transferred in the\n      flow run. </p>"
                    }
                },
                "dataPullEndTime": {
                    "target": "com.amazonaws.appflow#Date",
                    "traits": {
                        "smithy.api#documentation": "<p> The timestamp that indicates the last new or updated record to be transferred in the flow\n      run. </p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> Specifies information about the past flow run instances for a given flow. </p>"
            }
        },
        "com.amazonaws.appflow#ExecutionResult": {
            "type": "structure",
            "members": {
                "errorInfo": {
                    "target": "com.amazonaws.appflow#ErrorInfo",
                    "traits": {
                        "smithy.api#documentation": "<p> Provides any error message information related to the flow run. </p>"
                    }
                },
                "bytesProcessed": {
                    "target": "com.amazonaws.appflow#Long",
                    "traits": {
                        "smithy.api#documentation": "<p> The total number of bytes processed by the flow run. </p>"
                    }
                },
                "bytesWritten": {
                    "target": "com.amazonaws.appflow#Long",
                    "traits": {
                        "smithy.api#documentation": "<p> The total number of bytes written as a result of the flow run. </p>"
                    }
                },
                "recordsProcessed": {
                    "target": "com.amazonaws.appflow#Long",
                    "traits": {
                        "smithy.api#documentation": "<p> The number of records processed in the flow run. </p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> Specifies the end result of the flow run. </p>"
            }
        },
        "com.amazonaws.appflow#ExecutionStatus": {
            "type": "string",
            "traits": {
                "smithy.api#enum": [
                    {
                        "value": "InProgress",
                        "name": "INPROGRESS"
                    },
                    {
                        "value": "Successful",
                        "name": "SUCCESSFUL"
                    },
                    {
                        "value": "Error",
                        "name": "ERROR"
                    }
                ]
            }
        },
        "com.amazonaws.appflow#FieldType": {
            "type": "string"
        },
        "com.amazonaws.appflow#FieldTypeDetails": {
            "type": "structure",
            "members": {
                "fieldType": {
                    "target": "com.amazonaws.appflow#FieldType",
                    "traits": {
                        "smithy.api#documentation": "<p> The type of field, such as string, integer, date, and so on. </p>",
                        "smithy.api#required": {}
                    }
                },
                "filterOperators": {
                    "target": "com.amazonaws.appflow#FilterOperatorList",
                    "traits": {
                        "smithy.api#documentation": "<p> The list of operators supported by a field. </p>",
                        "smithy.api#required": {}
                    }
                },
                "supportedValues": {
                    "target": "com.amazonaws.appflow#SupportedValueList",
                    "traits": {
                        "smithy.api#documentation": "<p> The list of values that a field can contain. For example, a Boolean\n        <code>fieldType</code> can have two values: \"true\" and \"false\". </p>"
                    }
                },
                "valueRegexPattern": {
                    "target": "com.amazonaws.appflow#String",
                    "traits": {
                        "smithy.api#documentation": "<p>The regular expression pattern for the field name.</p>"
                    }
                },
                "supportedDateFormat": {
                    "target": "com.amazonaws.appflow#String",
                    "traits": {
                        "smithy.api#documentation": "<p>The date format that the field supports.</p>"
                    }
                },
                "fieldValueRange": {
                    "target": "com.amazonaws.appflow#Range",
                    "traits": {
                        "smithy.api#documentation": "<p>The range of values this field can hold.</p>"
                    }
                },
                "fieldLengthRange": {
                    "target": "com.amazonaws.appflow#Range",
                    "traits": {
                        "smithy.api#documentation": "<p>This is the allowable length range for this field's value.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> Contains details regarding the supported field type and the operators that can be applied\n      for filtering. </p>"
            }
        },
        "com.amazonaws.appflow#FileType": {
            "type": "string",
            "traits": {
                "smithy.api#enum": [
                    {
                        "value": "CSV",
                        "name": "CSV"
                    },
                    {
                        "value": "JSON",
                        "name": "JSON"
                    },
                    {
                        "value": "PARQUET",
                        "name": "PARQUET"
                    }
                ]
            }
        },
        "com.amazonaws.appflow#FilterOperatorList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.appflow#Operator"
            }
        },
        "com.amazonaws.appflow#FlowArn": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 512
                },
                "smithy.api#pattern": "^arn:aws:appflow:.*:[0-9]+:"
            }
        },
        "com.amazonaws.appflow#FlowDefinition": {
            "type": "structure",
            "members": {
                "flowArn": {
                    "target": "com.amazonaws.appflow#FlowArn",
                    "traits": {
                        "smithy.api#documentation": "<p> The flow's Amazon Resource Name (ARN). </p>"
                    }
                },
                "description": {
                    "target": "com.amazonaws.appflow#FlowDescription",
                    "traits": {
                        "smithy.api#documentation": "<p> A user-entered description of the flow. </p>"
                    }
                },
                "flowName": {
                    "target": "com.amazonaws.appflow#FlowName",
                    "traits": {
                        "smithy.api#documentation": "<p> The specified name of the flow. Spaces are not allowed. Use underscores (_) or hyphens\n      (-) only. </p>"
                    }
                },
                "flowStatus": {
                    "target": "com.amazonaws.appflow#FlowStatus",
                    "traits": {
                        "smithy.api#documentation": "<p> Indicates the current status of the flow. </p>"
                    }
                },
                "sourceConnectorType": {
                    "target": "com.amazonaws.appflow#ConnectorType",
                    "traits": {
                        "smithy.api#documentation": "<p> Specifies the source connector type, such as Salesforce, Amazon S3, Amplitude,\n      and so on. </p>"
                    }
                },
                "sourceConnectorLabel": {
                    "target": "com.amazonaws.appflow#ConnectorLabel",
                    "traits": {
                        "smithy.api#documentation": "<p>The label of the source connector in the flow.</p>"
                    }
                },
                "destinationConnectorType": {
                    "target": "com.amazonaws.appflow#ConnectorType",
                    "traits": {
                        "smithy.api#documentation": "<p> Specifies the destination connector type, such as Salesforce, Amazon S3,\n      Amplitude, and so on. </p>"
                    }
                },
                "destinationConnectorLabel": {
                    "target": "com.amazonaws.appflow#ConnectorLabel",
                    "traits": {
                        "smithy.api#documentation": "<p>The label of the destination connector in the flow.</p>"
                    }
                },
                "triggerType": {
                    "target": "com.amazonaws.appflow#TriggerType",
                    "traits": {
                        "smithy.api#documentation": "<p> Specifies the type of flow trigger. This can be <code>OnDemand</code>,\n        <code>Scheduled</code>, or <code>Event</code>. </p>"
                    }
                },
                "createdAt": {
                    "target": "com.amazonaws.appflow#Date",
                    "traits": {
                        "smithy.api#documentation": "<p> Specifies when the flow was created. </p>"
                    }
                },
                "lastUpdatedAt": {
                    "target": "com.amazonaws.appflow#Date",
                    "traits": {
                        "smithy.api#documentation": "<p> Specifies when the flow was last updated. </p>"
                    }
                },
                "createdBy": {
                    "target": "com.amazonaws.appflow#CreatedBy",
                    "traits": {
                        "smithy.api#documentation": "<p> The ARN of the user who created the flow. </p>"
                    }
                },
                "lastUpdatedBy": {
                    "target": "com.amazonaws.appflow#UpdatedBy",
                    "traits": {
                        "smithy.api#documentation": "<p> Specifies the account user name that most recently updated the flow. </p>"
                    }
                },
                "tags": {
                    "target": "com.amazonaws.appflow#TagMap",
                    "traits": {
                        "smithy.api#documentation": "<p> The tags used to organize, track, or control access for your flow. </p>"
                    }
                },
                "lastRunExecutionDetails": {
                    "target": "com.amazonaws.appflow#ExecutionDetails",
                    "traits": {
                        "smithy.api#documentation": "<p> Describes the details of the most recent flow run. </p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> The properties of the flow, such as its source, destination, trigger type, and so on.\n    </p>"
            }
        },
        "com.amazonaws.appflow#FlowDescription": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 2048
                },
                "smithy.api#pattern": "^[\\w!@#\\-.?,\\s]*$"
            }
        },
        "com.amazonaws.appflow#FlowErrorDeactivationThreshold": {
            "type": "integer",
            "traits": {
                "smithy.api#range": {
                    "min": 1,
                    "max": 100
                }
            }
        },
        "com.amazonaws.appflow#FlowExecutionList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.appflow#ExecutionRecord"
            }
        },
        "com.amazonaws.appflow#FlowList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.appflow#FlowDefinition"
            }
        },
        "com.amazonaws.appflow#FlowName": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 256
                },
                "smithy.api#pattern": "^[a-zA-Z0-9][\\w!@#.-]+$"
            }
        },
        "com.amazonaws.appflow#FlowStatus": {
            "type": "string",
            "traits": {
                "smithy.api#enum": [
                    {
                        "value": "Active",
                        "name": "ACTIVE"
                    },
                    {
                        "value": "Deprecated",
                        "name": "DEPRECATED"
                    },
                    {
                        "value": "Deleted",
                        "name": "DELETED"
                    },
                    {
                        "value": "Draft",
                        "name": "DRAFT"
                    },
                    {
                        "value": "Errored",
                        "name": "ERRORED"
                    },
                    {
                        "value": "Suspended",
                        "name": "SUSPENDED"
                    }
                ]
            }
        },
        "com.amazonaws.appflow#FlowStatusMessage": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 2048
                },
                "smithy.api#pattern": "^[\\s\\w/!@#+=.-]*$"
            }
        },
        "com.amazonaws.appflow#GoogleAnalyticsConnectorOperator": {
            "type": "string",
            "traits": {
                "smithy.api#enum": [
                    {
                        "value": "PROJECTION",
                        "name": "PROJECTION"
                    },
                    {
                        "value": "BETWEEN",
                        "name": "BETWEEN"
                    }
                ]
            }
        },
        "com.amazonaws.appflow#GoogleAnalyticsConnectorProfileCredentials": {
            "type": "structure",
            "members": {
                "clientId": {
                    "target": "com.amazonaws.appflow#ClientId",
                    "traits": {
                        "smithy.api#documentation": "<p> The identifier for the desired client. </p>",
                        "smithy.api#required": {}
                    }
                },
                "clientSecret": {
                    "target": "com.amazonaws.appflow#ClientSecret",
                    "traits": {
                        "smithy.api#documentation": "<p> The client secret used by the OAuth client to authenticate to the authorization server.\n    </p>",
                        "smithy.api#required": {}
                    }
                },
                "accessToken": {
                    "target": "com.amazonaws.appflow#AccessToken",
                    "traits": {
                        "smithy.api#documentation": "<p> The credentials used to access protected Google Analytics resources. </p>"
                    }
                },
                "refreshToken": {
                    "target": "com.amazonaws.appflow#RefreshToken",
                    "traits": {
                        "smithy.api#documentation": "<p> The credentials used to acquire new access tokens. This is required only for OAuth2\n      access tokens, and is not required for OAuth1 access tokens. </p>"
                    }
                },
                "oAuthRequest": {
                    "target": "com.amazonaws.appflow#ConnectorOAuthRequest",
                    "traits": {
                        "smithy.api#documentation": "<p> The OAuth requirement needed to request security tokens from the connector endpoint.\n    </p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> The connector-specific profile credentials required by Google Analytics. </p>"
            }
        },
        "com.amazonaws.appflow#GoogleAnalyticsConnectorProfileProperties": {
            "type": "structure",
            "members": {},
            "traits": {
                "smithy.api#documentation": "<p> The connector-specific profile properties required by Google Analytics. </p>"
            }
        },
        "com.amazonaws.appflow#GoogleAnalyticsMetadata": {
            "type": "structure",
            "members": {
                "oAuthScopes": {
                    "target": "com.amazonaws.appflow#OAuthScopeList",
                    "traits": {
                        "smithy.api#documentation": "<p> The desired authorization scope for the Google Analytics account. </p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> The connector metadata specific to Google Analytics. </p>"
            }
        },
        "com.amazonaws.appflow#GoogleAnalyticsSourceProperties": {
            "type": "structure",
            "members": {
                "object": {
                    "target": "com.amazonaws.appflow#Object",
                    "traits": {
                        "smithy.api#documentation": "<p> The object specified in the Google Analytics flow source. </p>",
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> The properties that are applied when Google Analytics is being used as a source. </p>"
            }
        },
        "com.amazonaws.appflow#Group": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 128
                },
                "smithy.api#pattern": "^\\S+$"
            }
        },
        "com.amazonaws.appflow#HoneycodeConnectorProfileCredentials": {
            "type": "structure",
            "members": {
                "accessToken": {
                    "target": "com.amazonaws.appflow#AccessToken",
                    "traits": {
                        "smithy.api#documentation": "<p> The credentials used to access protected Amazon Honeycode resources. </p>"
                    }
                },
                "refreshToken": {
                    "target": "com.amazonaws.appflow#RefreshToken",
                    "traits": {
                        "smithy.api#documentation": "<p> The credentials used to acquire new access tokens. </p>"
                    }
                },
                "oAuthRequest": {
                    "target": "com.amazonaws.appflow#ConnectorOAuthRequest"
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> The connector-specific credentials required when using Amazon Honeycode. </p>"
            }
        },
        "com.amazonaws.appflow#HoneycodeConnectorProfileProperties": {
            "type": "structure",
            "members": {},
            "traits": {
                "smithy.api#documentation": "<p> The connector-specific properties required when using Amazon Honeycode. </p>"
            }
        },
        "com.amazonaws.appflow#HoneycodeDestinationProperties": {
            "type": "structure",
            "members": {
                "object": {
                    "target": "com.amazonaws.appflow#Object",
                    "traits": {
                        "smithy.api#documentation": "<p> The object specified in the Amazon Honeycode flow destination. </p>",
                        "smithy.api#required": {}
                    }
                },
                "errorHandlingConfig": {
                    "target": "com.amazonaws.appflow#ErrorHandlingConfig"
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> The properties that are applied when Amazon Honeycode is used as a destination. </p>"
            }
        },
        "com.amazonaws.appflow#HoneycodeMetadata": {
            "type": "structure",
            "members": {
                "oAuthScopes": {
                    "target": "com.amazonaws.appflow#OAuthScopeList",
                    "traits": {
                        "smithy.api#documentation": "<p> The desired authorization scope for the Amazon Honeycode account. </p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> The connector metadata specific to Amazon Honeycode. </p>"
            }
        },
        "com.amazonaws.appflow#IdFieldNameList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.appflow#Name"
            },
            "traits": {
                "smithy.api#documentation": "<p> A list of field names that can be used as an ID field when performing a write operation.\n    </p>",
                "smithy.api#length": {
                    "min": 0
                }
            }
        },
        "com.amazonaws.appflow#Identifier": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 128
                },
                "smithy.api#pattern": "^\\S+$"
            }
        },
        "com.amazonaws.appflow#IncrementalPullConfig": {
            "type": "structure",
            "members": {
                "datetimeTypeFieldName": {
                    "target": "com.amazonaws.appflow#DatetimeTypeFieldName",
                    "traits": {
                        "smithy.api#documentation": "<p> A field that specifies the date time or timestamp field as the criteria to use when\n      importing incremental records from the source. </p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> Specifies the configuration used when importing incremental records from the source.\n    </p>"
            }
        },
        "com.amazonaws.appflow#InforNexusConnectorOperator": {
            "type": "string",
            "traits": {
                "smithy.api#enum": [
                    {
                        "value": "PROJECTION",
                        "name": "PROJECTION"
                    },
                    {
                        "value": "BETWEEN",
                        "name": "BETWEEN"
                    },
                    {
                        "value": "EQUAL_TO",
                        "name": "EQUAL_TO"
                    },
                    {
                        "value": "ADDITION",
                        "name": "ADDITION"
                    },
                    {
                        "value": "MULTIPLICATION",
                        "name": "MULTIPLICATION"
                    },
                    {
                        "value": "DIVISION",
                        "name": "DIVISION"
                    },
                    {
                        "value": "SUBTRACTION",
                        "name": "SUBTRACTION"
                    },
                    {
                        "value": "MASK_ALL",
                        "name": "MASK_ALL"
                    },
                    {
                        "value": "MASK_FIRST_N",
                        "name": "MASK_FIRST_N"
                    },
                    {
                        "value": "MASK_LAST_N",
                        "name": "MASK_LAST_N"
                    },
                    {
                        "value": "VALIDATE_NON_NULL",
                        "name": "VALIDATE_NON_NULL"
                    },
                    {
                        "value": "VALIDATE_NON_ZERO",
                        "name": "VALIDATE_NON_ZERO"
                    },
                    {
                        "value": "VALIDATE_NON_NEGATIVE",
                        "name": "VALIDATE_NON_NEGATIVE"
                    },
                    {
                        "value": "VALIDATE_NUMERIC",
                        "name": "VALIDATE_NUMERIC"
                    },
                    {
                        "value": "NO_OP",
                        "name": "NO_OP"
                    }
                ]
            }
        },
        "com.amazonaws.appflow#InforNexusConnectorProfileCredentials": {
            "type": "structure",
            "members": {
                "accessKeyId": {
                    "target": "com.amazonaws.appflow#AccessKeyId",
                    "traits": {
                        "smithy.api#documentation": "<p> The Access Key portion of the credentials. </p>",
                        "smithy.api#required": {}
                    }
                },
                "userId": {
                    "target": "com.amazonaws.appflow#Username",
                    "traits": {
                        "smithy.api#documentation": "<p> The identifier for the user. </p>",
                        "smithy.api#required": {}
                    }
                },
                "secretAccessKey": {
                    "target": "com.amazonaws.appflow#Key",
                    "traits": {
                        "smithy.api#documentation": "<p> The secret key used to sign requests. </p>",
                        "smithy.api#required": {}
                    }
                },
                "datakey": {
                    "target": "com.amazonaws.appflow#Key",
                    "traits": {
                        "smithy.api#documentation": "<p> The encryption keys used to encrypt data. </p>",
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> The connector-specific profile credentials required by Infor Nexus. </p>"
            }
        },
        "com.amazonaws.appflow#InforNexusConnectorProfileProperties": {
            "type": "structure",
            "members": {
                "instanceUrl": {
                    "target": "com.amazonaws.appflow#InstanceUrl",
                    "traits": {
                        "smithy.api#documentation": "<p> The location of the Infor Nexus resource. </p>",
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> The connector-specific profile properties required by Infor Nexus. </p>"
            }
        },
        "com.amazonaws.appflow#InforNexusMetadata": {
            "type": "structure",
            "members": {},
            "traits": {
                "smithy.api#documentation": "<p> The connector metadata specific to Infor Nexus. </p>"
            }
        },
        "com.amazonaws.appflow#InforNexusSourceProperties": {
            "type": "structure",
            "members": {
                "object": {
                    "target": "com.amazonaws.appflow#Object",
                    "traits": {
                        "smithy.api#documentation": "<p> The object specified in the Infor Nexus flow source. </p>",
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> The properties that are applied when Infor Nexus is being used as a source. </p>"
            }
        },
        "com.amazonaws.appflow#InstanceUrl": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 256
                },
                "smithy.api#pattern": "^\\S+$"
            }
        },
        "com.amazonaws.appflow#InternalServerException": {
            "type": "structure",
            "members": {
                "message": {
                    "target": "com.amazonaws.appflow#ErrorMessage"
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> An internal service error occurred during the processing of your request. Try again\n      later. </p>",
                "smithy.api#error": "server",
                "smithy.api#httpError": 500
            }
        },
        "com.amazonaws.appflow#JavaBoolean": {
            "type": "boolean",
            "traits": {
                "smithy.api#box": {}
            }
        },
        "com.amazonaws.appflow#KMSArn": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 20,
                    "max": 2048
                },
                "smithy.api#pattern": "^arn:aws:kms:.*:[0-9]+:"
            }
        },
        "com.amazonaws.appflow#Key": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 512
                },
                "smithy.api#pattern": "^\\S+$"
            }
        },
        "com.amazonaws.appflow#Label": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 128
                },
                "smithy.api#pattern": ".*"
            }
        },
        "com.amazonaws.appflow#LambdaConnectorProvisioningConfig": {
            "type": "structure",
            "members": {
                "lambdaArn": {
                    "target": "com.amazonaws.appflow#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>Lambda ARN of the connector being registered.</p>",
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Contains information about the configuration of the lambda which is being registered as\n      the connector.</p>"
            }
        },
        "com.amazonaws.appflow#ListConnectorEntities": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.appflow#ListConnectorEntitiesRequest"
            },
            "output": {
                "target": "com.amazonaws.appflow#ListConnectorEntitiesResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.appflow#ConnectorAuthenticationException"
                },
                {
                    "target": "com.amazonaws.appflow#ConnectorServerException"
                },
                {
                    "target": "com.amazonaws.appflow#InternalServerException"
                },
                {
                    "target": "com.amazonaws.appflow#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.appflow#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p> Returns the list of available connector entities supported by Amazon AppFlow. For\n      example, you can query Salesforce for <i>Account</i> and\n        <i>Opportunity</i> entities, or query ServiceNow for the\n        <i>Incident</i> entity. </p>",
                "smithy.api#http": {
                    "method": "POST",
                    "uri": "/list-connector-entities",
                    "code": 200
                }
            }
        },
        "com.amazonaws.appflow#ListConnectorEntitiesRequest": {
            "type": "structure",
            "members": {
                "connectorProfileName": {
                    "target": "com.amazonaws.appflow#ConnectorProfileName",
                    "traits": {
                        "smithy.api#documentation": "<p> The name of the connector profile. The name is unique for each\n        <code>ConnectorProfile</code> in the Amazon Web Services account, and is used to query the\n      downstream connector. </p>"
                    }
                },
                "connectorType": {
                    "target": "com.amazonaws.appflow#ConnectorType",
                    "traits": {
                        "smithy.api#documentation": "<p> The type of connector, such as Salesforce, Amplitude, and so on. </p>"
                    }
                },
                "entitiesPath": {
                    "target": "com.amazonaws.appflow#EntitiesPath",
                    "traits": {
                        "smithy.api#documentation": "<p> This optional parameter is specific to connector implementation. Some connectors support\n      multiple levels or categories of entities. You can find out the list of roots for such\n      providers by sending a request without the <code>entitiesPath</code> parameter. If the\n      connector supports entities at different roots, this initial request returns the list of\n      roots. Otherwise, this request returns all entities supported by the provider. </p>"
                    }
                },
                "apiVersion": {
                    "target": "com.amazonaws.appflow#ApiVersion",
                    "traits": {
                        "smithy.api#documentation": "<p>The version of the API that's used by the connector.</p>"
                    }
                }
            }
        },
        "com.amazonaws.appflow#ListConnectorEntitiesResponse": {
            "type": "structure",
            "members": {
                "connectorEntityMap": {
                    "target": "com.amazonaws.appflow#ConnectorEntityMap",
                    "traits": {
                        "smithy.api#documentation": "<p> The response of <code>ListConnectorEntities</code> lists entities grouped by category.\n      This map's key represents the group name, and its value contains the list of entities\n      belonging to that group. </p>",
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.appflow#ListConnectors": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.appflow#ListConnectorsRequest"
            },
            "output": {
                "target": "com.amazonaws.appflow#ListConnectorsResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.appflow#InternalServerException"
                },
                {
                    "target": "com.amazonaws.appflow#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Returns the list of all registered custom connectors in your Amazon Web Services account.\n      This API lists only custom connectors registered in this account, not the Amazon Web Services\n      authored connectors. </p>",
                "smithy.api#http": {
                    "method": "POST",
                    "uri": "/list-connectors",
                    "code": 200
                },
                "smithy.api#paginated": {
                    "inputToken": "nextToken",
                    "outputToken": "nextToken",
                    "pageSize": "maxResults"
                }
            }
        },
        "com.amazonaws.appflow#ListConnectorsRequest": {
            "type": "structure",
            "members": {
                "maxResults": {
                    "target": "com.amazonaws.appflow#MaxResults",
                    "traits": {
                        "smithy.api#documentation": "<p>Specifies the maximum number of items that should be returned in the result set. The\n      default for <code>maxResults</code> is 20 (for all paginated API operations).</p>"
                    }
                },
                "nextToken": {
                    "target": "com.amazonaws.appflow#NextToken",
                    "traits": {
                        "smithy.api#documentation": "<p>The pagination token for the next page of data.</p>"
                    }
                }
            }
        },
        "com.amazonaws.appflow#ListConnectorsResponse": {
            "type": "structure",
            "members": {
                "connectors": {
                    "target": "com.amazonaws.appflow#ConnectorList",
                    "traits": {
                        "smithy.api#documentation": "<p>Contains information about the connectors supported by Amazon AppFlow.</p>"
                    }
                },
                "nextToken": {
                    "target": "com.amazonaws.appflow#NextToken",
                    "traits": {
                        "smithy.api#documentation": "<p>The pagination token for the next page of data. If nextToken=null, this means that all\n      records have been fetched.</p>"
                    }
                }
            }
        },
        "com.amazonaws.appflow#ListFlows": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.appflow#ListFlowsRequest"
            },
            "output": {
                "target": "com.amazonaws.appflow#ListFlowsResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.appflow#InternalServerException"
                },
                {
                    "target": "com.amazonaws.appflow#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p> Lists all of the flows associated with your account. </p>",
                "smithy.api#http": {
                    "method": "POST",
                    "uri": "/list-flows",
                    "code": 200
                },
                "smithy.api#paginated": {
                    "inputToken": "nextToken",
                    "outputToken": "nextToken",
                    "pageSize": "maxResults"
                }
            }
        },
        "com.amazonaws.appflow#ListFlowsRequest": {
            "type": "structure",
            "members": {
                "maxResults": {
                    "target": "com.amazonaws.appflow#MaxResults",
                    "traits": {
                        "smithy.api#documentation": "<p> Specifies the maximum number of items that should be returned in the result set. </p>"
                    }
                },
                "nextToken": {
                    "target": "com.amazonaws.appflow#NextToken",
                    "traits": {
                        "smithy.api#documentation": "<p> The pagination token for next page of data. </p>"
                    }
                }
            }
        },
        "com.amazonaws.appflow#ListFlowsResponse": {
            "type": "structure",
            "members": {
                "flows": {
                    "target": "com.amazonaws.appflow#FlowList",
                    "traits": {
                        "smithy.api#documentation": "<p> The list of flows associated with your account. </p>"
                    }
                },
                "nextToken": {
                    "target": "com.amazonaws.appflow#NextToken",
                    "traits": {
                        "smithy.api#documentation": "<p> The pagination token for next page of data. </p>"
                    }
                }
            }
        },
        "com.amazonaws.appflow#ListTagsForResource": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.appflow#ListTagsForResourceRequest"
            },
            "output": {
                "target": "com.amazonaws.appflow#ListTagsForResourceResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.appflow#InternalServerException"
                },
                {
                    "target": "com.amazonaws.appflow#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.appflow#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p> Retrieves the tags that are associated with a specified flow. </p>",
                "smithy.api#http": {
                    "method": "GET",
                    "uri": "/tags/{resourceArn}",
                    "code": 200
                }
            }
        },
        "com.amazonaws.appflow#ListTagsForResourceRequest": {
            "type": "structure",
            "members": {
                "resourceArn": {
                    "target": "com.amazonaws.appflow#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p> The Amazon Resource Name (ARN) of the specified flow. </p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.appflow#ListTagsForResourceResponse": {
            "type": "structure",
            "members": {
                "tags": {
                    "target": "com.amazonaws.appflow#TagMap",
                    "traits": {
                        "smithy.api#documentation": "<p> The tags used to organize, track, or control access for your flow. </p>"
                    }
                }
            }
        },
        "com.amazonaws.appflow#LogoURL": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 256
                },
                "smithy.api#pattern": "^(https?|ftp|file)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]$"
            }
        },
        "com.amazonaws.appflow#LogonLanguage": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 2
                },
                "smithy.api#pattern": "^[a-zA-Z0-9_]*$"
            }
        },
        "com.amazonaws.appflow#Long": {
            "type": "long",
            "traits": {
                "smithy.api#box": {}
            }
        },
        "com.amazonaws.appflow#LookoutMetricsDestinationProperties": {
            "type": "structure",
            "members": {},
            "traits": {
                "smithy.api#documentation": "<p> The properties that are applied when Amazon Lookout for Metrics is used as a destination.\n    </p>"
            }
        },
        "com.amazonaws.appflow#MarketoConnectorOperator": {
            "type": "string",
            "traits": {
                "smithy.api#enum": [
                    {
                        "value": "PROJECTION",
                        "name": "PROJECTION"
                    },
                    {
                        "value": "LESS_THAN",
                        "name": "LESS_THAN"
                    },
                    {
                        "value": "GREATER_THAN",
                        "name": "GREATER_THAN"
                    },
                    {
                        "value": "BETWEEN",
                        "name": "BETWEEN"
                    },
                    {
                        "value": "ADDITION",
                        "name": "ADDITION"
                    },
                    {
                        "value": "MULTIPLICATION",
                        "name": "MULTIPLICATION"
                    },
                    {
                        "value": "DIVISION",
                        "name": "DIVISION"
                    },
                    {
                        "value": "SUBTRACTION",
                        "name": "SUBTRACTION"
                    },
                    {
                        "value": "MASK_ALL",
                        "name": "MASK_ALL"
                    },
                    {
                        "value": "MASK_FIRST_N",
                        "name": "MASK_FIRST_N"
                    },
                    {
                        "value": "MASK_LAST_N",
                        "name": "MASK_LAST_N"
                    },
                    {
                        "value": "VALIDATE_NON_NULL",
                        "name": "VALIDATE_NON_NULL"
                    },
                    {
                        "value": "VALIDATE_NON_ZERO",
                        "name": "VALIDATE_NON_ZERO"
                    },
                    {
                        "value": "VALIDATE_NON_NEGATIVE",
                        "name": "VALIDATE_NON_NEGATIVE"
                    },
                    {
                        "value": "VALIDATE_NUMERIC",
                        "name": "VALIDATE_NUMERIC"
                    },
                    {
                        "value": "NO_OP",
                        "name": "NO_OP"
                    }
                ]
            }
        },
        "com.amazonaws.appflow#MarketoConnectorProfileCredentials": {
            "type": "structure",
            "members": {
                "clientId": {
                    "target": "com.amazonaws.appflow#ClientId",
                    "traits": {
                        "smithy.api#documentation": "<p> The identifier for the desired client. </p>",
                        "smithy.api#required": {}
                    }
                },
                "clientSecret": {
                    "target": "com.amazonaws.appflow#ClientSecret",
                    "traits": {
                        "smithy.api#documentation": "<p> The client secret used by the OAuth client to authenticate to the authorization server.\n    </p>",
                        "smithy.api#required": {}
                    }
                },
                "accessToken": {
                    "target": "com.amazonaws.appflow#AccessToken",
                    "traits": {
                        "smithy.api#documentation": "<p> The credentials used to access protected Marketo resources. </p>"
                    }
                },
                "oAuthRequest": {
                    "target": "com.amazonaws.appflow#ConnectorOAuthRequest",
                    "traits": {
                        "smithy.api#documentation": "<p> The OAuth requirement needed to request security tokens from the connector endpoint.\n    </p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> The connector-specific profile credentials required by Marketo. </p>"
            }
        },
        "com.amazonaws.appflow#MarketoConnectorProfileProperties": {
            "type": "structure",
            "members": {
                "instanceUrl": {
                    "target": "com.amazonaws.appflow#InstanceUrl",
                    "traits": {
                        "smithy.api#documentation": "<p> The location of the Marketo resource. </p>",
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> The connector-specific profile properties required when using Marketo. </p>"
            }
        },
        "com.amazonaws.appflow#MarketoDestinationProperties": {
            "type": "structure",
            "members": {
                "object": {
                    "target": "com.amazonaws.appflow#Object",
                    "traits": {
                        "smithy.api#documentation": "<p>The object specified in the Marketo flow destination.</p>",
                        "smithy.api#required": {}
                    }
                },
                "errorHandlingConfig": {
                    "target": "com.amazonaws.appflow#ErrorHandlingConfig"
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>The properties that Amazon AppFlow applies when you use Marketo as a flow\n      destination.</p>"
            }
        },
        "com.amazonaws.appflow#MarketoMetadata": {
            "type": "structure",
            "members": {},
            "traits": {
                "smithy.api#documentation": "<p> The connector metadata specific to Marketo. </p>"
            }
        },
        "com.amazonaws.appflow#MarketoSourceProperties": {
            "type": "structure",
            "members": {
                "object": {
                    "target": "com.amazonaws.appflow#Object",
                    "traits": {
                        "smithy.api#documentation": "<p> The object specified in the Marketo flow source. </p>",
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> The properties that are applied when Marketo is being used as a source. </p>"
            }
        },
        "com.amazonaws.appflow#MaxResults": {
            "type": "integer",
            "traits": {
                "smithy.api#box": {},
                "smithy.api#range": {
                    "min": 1,
                    "max": 100
                }
            }
        },
        "com.amazonaws.appflow#MostRecentExecutionMessage": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 2048
                },
                "smithy.api#pattern": "^[\\w!@#\\-.?,\\s]*$"
            }
        },
        "com.amazonaws.appflow#Name": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 128
                },
                "smithy.api#pattern": "^\\S+$"
            }
        },
        "com.amazonaws.appflow#NextToken": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 2048
                },
                "smithy.api#pattern": "^\\S+$"
            }
        },
        "com.amazonaws.appflow#OAuth2Credentials": {
            "type": "structure",
            "members": {
                "clientId": {
                    "target": "com.amazonaws.appflow#ClientId",
                    "traits": {
                        "smithy.api#documentation": "<p>The identifier for the desired client.</p>"
                    }
                },
                "clientSecret": {
                    "target": "com.amazonaws.appflow#ClientSecret",
                    "traits": {
                        "smithy.api#documentation": "<p>The client secret used by the OAuth client to authenticate to the authorization\n      server.</p>"
                    }
                },
                "accessToken": {
                    "target": "com.amazonaws.appflow#AccessToken",
                    "traits": {
                        "smithy.api#documentation": "<p>The access token used to access the connector on your behalf.</p>"
                    }
                },
                "refreshToken": {
                    "target": "com.amazonaws.appflow#RefreshToken",
                    "traits": {
                        "smithy.api#documentation": "<p>The refresh token used to refresh an expired access token.</p>"
                    }
                },
                "oAuthRequest": {
                    "target": "com.amazonaws.appflow#ConnectorOAuthRequest"
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>The OAuth 2.0 credentials required for OAuth 2.0 authentication.</p>"
            }
        },
        "com.amazonaws.appflow#OAuth2CustomParameter": {
            "type": "structure",
            "members": {
                "key": {
                    "target": "com.amazonaws.appflow#Key",
                    "traits": {
                        "smithy.api#documentation": "<p>The key of the custom parameter required for OAuth 2.0 authentication.</p>"
                    }
                },
                "isRequired": {
                    "target": "com.amazonaws.appflow#Boolean",
                    "traits": {
                        "smithy.api#documentation": "<p>Indicates whether the custom parameter for OAuth 2.0 authentication is required.</p>"
                    }
                },
                "label": {
                    "target": "com.amazonaws.appflow#Label",
                    "traits": {
                        "smithy.api#documentation": "<p>The label of the custom parameter used for OAuth 2.0 authentication.</p>"
                    }
                },
                "description": {
                    "target": "com.amazonaws.appflow#Description",
                    "traits": {
                        "smithy.api#documentation": "<p>A description about the custom parameter used for OAuth 2.0 authentication.</p>"
                    }
                },
                "isSensitiveField": {
                    "target": "com.amazonaws.appflow#Boolean",
                    "traits": {
                        "smithy.api#documentation": "<p>Indicates whether this authentication custom parameter is a sensitive field.</p>"
                    }
                },
                "connectorSuppliedValues": {
                    "target": "com.amazonaws.appflow#ConnectorSuppliedValueList",
                    "traits": {
                        "smithy.api#documentation": "<p>Contains default values for this authentication parameter that are supplied by the\n      connector.</p>"
                    }
                },
                "type": {
                    "target": "com.amazonaws.appflow#OAuth2CustomPropType",
                    "traits": {
                        "smithy.api#documentation": "<p>Indicates whether custom parameter is used with TokenUrl or AuthUrl.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Custom parameter required for OAuth 2.0 authentication.</p>"
            }
        },
        "com.amazonaws.appflow#OAuth2CustomPropType": {
            "type": "string",
            "traits": {
                "smithy.api#enum": [
                    {
                        "value": "TOKEN_URL",
                        "name": "TOKEN_URL"
                    },
                    {
                        "value": "AUTH_URL",
                        "name": "AUTH_URL"
                    }
                ]
            }
        },
        "com.amazonaws.appflow#OAuth2CustomPropertiesList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.appflow#OAuth2CustomParameter"
            }
        },
        "com.amazonaws.appflow#OAuth2Defaults": {
            "type": "structure",
            "members": {
                "oauthScopes": {
                    "target": "com.amazonaws.appflow#OAuthScopeList",
                    "traits": {
                        "smithy.api#documentation": "<p>OAuth 2.0 scopes that the connector supports.</p>"
                    }
                },
                "tokenUrls": {
                    "target": "com.amazonaws.appflow#TokenUrlList",
                    "traits": {
                        "smithy.api#documentation": "<p>Token URLs that can be used for OAuth 2.0 authentication.</p>"
                    }
                },
                "authCodeUrls": {
                    "target": "com.amazonaws.appflow#AuthCodeUrlList",
                    "traits": {
                        "smithy.api#documentation": "<p>Auth code URLs that can be used for OAuth 2.0 authentication.</p>"
                    }
                },
                "oauth2GrantTypesSupported": {
                    "target": "com.amazonaws.appflow#OAuth2GrantTypeSupportedList",
                    "traits": {
                        "smithy.api#documentation": "<p>OAuth 2.0 grant types supported by the connector.</p>"
                    }
                },
                "oauth2CustomProperties": {
                    "target": "com.amazonaws.appflow#OAuth2CustomPropertiesList",
                    "traits": {
                        "smithy.api#documentation": "<p>List of custom parameters required for OAuth 2.0 authentication.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Contains the default values required for OAuth 2.0 authentication.</p>"
            }
        },
        "com.amazonaws.appflow#OAuth2GrantType": {
            "type": "string",
            "traits": {
                "smithy.api#enum": [
                    {
                        "value": "CLIENT_CREDENTIALS",
                        "name": "CLIENT_CREDENTIALS"
                    },
                    {
                        "value": "AUTHORIZATION_CODE",
                        "name": "AUTHORIZATION_CODE"
                    }
                ]
            }
        },
        "com.amazonaws.appflow#OAuth2GrantTypeSupportedList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.appflow#OAuth2GrantType"
            }
        },
        "com.amazonaws.appflow#OAuth2Properties": {
            "type": "structure",
            "members": {
                "tokenUrl": {
                    "target": "com.amazonaws.appflow#TokenUrl",
                    "traits": {
                        "smithy.api#documentation": "<p>The token URL required for OAuth 2.0 authentication.</p>",
                        "smithy.api#required": {}
                    }
                },
                "oAuth2GrantType": {
                    "target": "com.amazonaws.appflow#OAuth2GrantType",
                    "traits": {
                        "smithy.api#documentation": "<p>The OAuth 2.0 grant type used by connector for OAuth 2.0 authentication.</p>",
                        "smithy.api#required": {}
                    }
                },
                "tokenUrlCustomProperties": {
                    "target": "com.amazonaws.appflow#TokenUrlCustomProperties",
                    "traits": {
                        "smithy.api#documentation": "<p>Associates your token URL with a map of properties that you define. Use this parameter to\n      provide any additional details that the connector requires to authenticate your\n      request.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>The OAuth 2.0 properties required for OAuth 2.0 authentication.</p>"
            }
        },
        "com.amazonaws.appflow#OAuthCredentials": {
            "type": "structure",
            "members": {
                "clientId": {
                    "target": "com.amazonaws.appflow#ClientId",
                    "traits": {
                        "smithy.api#documentation": "<p> The identifier for the desired client. </p>",
                        "smithy.api#required": {}
                    }
                },
                "clientSecret": {
                    "target": "com.amazonaws.appflow#ClientSecret",
                    "traits": {
                        "smithy.api#documentation": "<p> The client secret used by the OAuth client to authenticate to the authorization server.\n    </p>",
                        "smithy.api#required": {}
                    }
                },
                "accessToken": {
                    "target": "com.amazonaws.appflow#AccessToken",
                    "traits": {
                        "smithy.api#documentation": "<p> The access token used to access protected SAPOData resources. </p>"
                    }
                },
                "refreshToken": {
                    "target": "com.amazonaws.appflow#RefreshToken",
                    "traits": {
                        "smithy.api#documentation": "<p> The refresh token used to refresh expired access token. </p>"
                    }
                },
                "oAuthRequest": {
                    "target": "com.amazonaws.appflow#ConnectorOAuthRequest",
                    "traits": {
                        "smithy.api#documentation": "<p> The OAuth requirement needed to request security tokens from the connector endpoint.\n    </p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> The OAuth credentials required for OAuth type authentication. </p>"
            }
        },
        "com.amazonaws.appflow#OAuthProperties": {
            "type": "structure",
            "members": {
                "tokenUrl": {
                    "target": "com.amazonaws.appflow#TokenUrl",
                    "traits": {
                        "smithy.api#documentation": "<p> The token url required to fetch access/refresh tokens using authorization code and also\n      to refresh expired access token using refresh token.</p>",
                        "smithy.api#required": {}
                    }
                },
                "authCodeUrl": {
                    "target": "com.amazonaws.appflow#AuthCodeUrl",
                    "traits": {
                        "smithy.api#documentation": "<p> The authorization code url required to redirect to SAP Login Page to fetch authorization\n      code for OAuth type authentication. </p>",
                        "smithy.api#required": {}
                    }
                },
                "oAuthScopes": {
                    "target": "com.amazonaws.appflow#OAuthScopeList",
                    "traits": {
                        "smithy.api#documentation": "<p> The OAuth scopes required for OAuth type authentication. </p>",
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> The OAuth properties required for OAuth type authentication. </p>"
            }
        },
        "com.amazonaws.appflow#OAuthScope": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 128
                },
                "smithy.api#pattern": "^\\S+$"
            }
        },
        "com.amazonaws.appflow#OAuthScopeList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.appflow#OAuthScope"
            }
        },
        "com.amazonaws.appflow#Object": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 512
                },
                "smithy.api#pattern": "^\\S+$"
            }
        },
        "com.amazonaws.appflow#ObjectTypeName": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 255
                },
                "smithy.api#pattern": "^\\S+$"
            }
        },
        "com.amazonaws.appflow#Operator": {
            "type": "string",
            "traits": {
                "smithy.api#enum": [
                    {
                        "value": "PROJECTION",
                        "name": "PROJECTION"
                    },
                    {
                        "value": "LESS_THAN",
                        "name": "LESS_THAN"
                    },
                    {
                        "value": "GREATER_THAN",
                        "name": "GREATER_THAN"
                    },
                    {
                        "value": "CONTAINS",
                        "name": "CONTAINS"
                    },
                    {
                        "value": "BETWEEN",
                        "name": "BETWEEN"
                    },
                    {
                        "value": "LESS_THAN_OR_EQUAL_TO",
                        "name": "LESS_THAN_OR_EQUAL_TO"
                    },
                    {
                        "value": "GREATER_THAN_OR_EQUAL_TO",
                        "name": "GREATER_THAN_OR_EQUAL_TO"
                    },
                    {
                        "value": "EQUAL_TO",
                        "name": "EQUAL_TO"
                    },
                    {
                        "value": "NOT_EQUAL_TO",
                        "name": "NOT_EQUAL_TO"
                    },
                    {
                        "value": "ADDITION",
                        "name": "ADDITION"
                    },
                    {
                        "value": "MULTIPLICATION",
                        "name": "MULTIPLICATION"
                    },
                    {
                        "value": "DIVISION",
                        "name": "DIVISION"
                    },
                    {
                        "value": "SUBTRACTION",
                        "name": "SUBTRACTION"
                    },
                    {
                        "value": "MASK_ALL",
                        "name": "MASK_ALL"
                    },
                    {
                        "value": "MASK_FIRST_N",
                        "name": "MASK_FIRST_N"
                    },
                    {
                        "value": "MASK_LAST_N",
                        "name": "MASK_LAST_N"
                    },
                    {
                        "value": "VALIDATE_NON_NULL",
                        "name": "VALIDATE_NON_NULL"
                    },
                    {
                        "value": "VALIDATE_NON_ZERO",
                        "name": "VALIDATE_NON_ZERO"
                    },
                    {
                        "value": "VALIDATE_NON_NEGATIVE",
                        "name": "VALIDATE_NON_NEGATIVE"
                    },
                    {
                        "value": "VALIDATE_NUMERIC",
                        "name": "VALIDATE_NUMERIC"
                    },
                    {
                        "value": "NO_OP",
                        "name": "NO_OP"
                    }
                ]
            }
        },
        "com.amazonaws.appflow#OperatorPropertiesKeys": {
            "type": "string",
            "traits": {
                "smithy.api#enum": [
                    {
                        "value": "VALUE",
                        "name": "VALUE"
                    },
                    {
                        "value": "VALUES",
                        "name": "VALUES"
                    },
                    {
                        "value": "DATA_TYPE",
                        "name": "DATA_TYPE"
                    },
                    {
                        "value": "UPPER_BOUND",
                        "name": "UPPER_BOUND"
                    },
                    {
                        "value": "LOWER_BOUND",
                        "name": "LOWER_BOUND"
                    },
                    {
                        "value": "SOURCE_DATA_TYPE",
                        "name": "SOURCE_DATA_TYPE"
                    },
                    {
                        "value": "DESTINATION_DATA_TYPE",
                        "name": "DESTINATION_DATA_TYPE"
                    },
                    {
                        "value": "VALIDATION_ACTION",
                        "name": "VALIDATION_ACTION"
                    },
                    {
                        "value": "MASK_VALUE",
                        "name": "MASK_VALUE"
                    },
                    {
                        "value": "MASK_LENGTH",
                        "name": "MASK_LENGTH"
                    },
                    {
                        "value": "TRUNCATE_LENGTH",
                        "name": "TRUNCATE_LENGTH"
                    },
                    {
                        "value": "MATH_OPERATION_FIELDS_ORDER",
                        "name": "MATH_OPERATION_FIELDS_ORDER"
                    },
                    {
                        "value": "CONCAT_FORMAT",
                        "name": "CONCAT_FORMAT"
                    },
                    {
                        "value": "SUBFIELD_CATEGORY_MAP",
                        "name": "SUBFIELD_CATEGORY_MAP"
                    },
                    {
                        "value": "EXCLUDE_SOURCE_FIELDS_LIST",
                        "name": "EXCLUDE_SOURCE_FIELDS_LIST"
                    }
                ]
            }
        },
        "com.amazonaws.appflow#Operators": {
            "type": "string",
            "traits": {
                "smithy.api#enum": [
                    {
                        "value": "PROJECTION",
                        "name": "PROJECTION"
                    },
                    {
                        "value": "LESS_THAN",
                        "name": "LESS_THAN"
                    },
                    {
                        "value": "GREATER_THAN",
                        "name": "GREATER_THAN"
                    },
                    {
                        "value": "CONTAINS",
                        "name": "CONTAINS"
                    },
                    {
                        "value": "BETWEEN",
                        "name": "BETWEEN"
                    },
                    {
                        "value": "LESS_THAN_OR_EQUAL_TO",
                        "name": "LESS_THAN_OR_EQUAL_TO"
                    },
                    {
                        "value": "GREATER_THAN_OR_EQUAL_TO",
                        "name": "GREATER_THAN_OR_EQUAL_TO"
                    },
                    {
                        "value": "EQUAL_TO",
                        "name": "EQUAL_TO"
                    },
                    {
                        "value": "NOT_EQUAL_TO",
                        "name": "NOT_EQUAL_TO"
                    },
                    {
                        "value": "ADDITION",
                        "name": "ADDITION"
                    },
                    {
                        "value": "MULTIPLICATION",
                        "name": "MULTIPLICATION"
                    },
                    {
                        "value": "DIVISION",
                        "name": "DIVISION"
                    },
                    {
                        "value": "SUBTRACTION",
                        "name": "SUBTRACTION"
                    },
                    {
                        "value": "MASK_ALL",
                        "name": "MASK_ALL"
                    },
                    {
                        "value": "MASK_FIRST_N",
                        "name": "MASK_FIRST_N"
                    },
                    {
                        "value": "MASK_LAST_N",
                        "name": "MASK_LAST_N"
                    },
                    {
                        "value": "VALIDATE_NON_NULL",
                        "name": "VALIDATE_NON_NULL"
                    },
                    {
                        "value": "VALIDATE_NON_ZERO",
                        "name": "VALIDATE_NON_ZERO"
                    },
                    {
                        "value": "VALIDATE_NON_NEGATIVE",
                        "name": "VALIDATE_NON_NEGATIVE"
                    },
                    {
                        "value": "VALIDATE_NUMERIC",
                        "name": "VALIDATE_NUMERIC"
                    },
                    {
                        "value": "NO_OP",
                        "name": "NO_OP"
                    }
                ]
            }
        },
        "com.amazonaws.appflow#Password": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 512
                },
                "smithy.api#pattern": ".*",
                "smithy.api#sensitive": {}
            }
        },
        "com.amazonaws.appflow#PortNumber": {
            "type": "integer",
            "traits": {
                "smithy.api#range": {
                    "min": 1,
                    "max": 65535
                }
            }
        },
        "com.amazonaws.appflow#PrefixConfig": {
            "type": "structure",
            "members": {
                "prefixType": {
                    "target": "com.amazonaws.appflow#PrefixType",
                    "traits": {
                        "smithy.api#documentation": "<p> Determines the format of the prefix, and whether it applies to the file name, file path,\n      or both. </p>"
                    }
                },
                "prefixFormat": {
                    "target": "com.amazonaws.appflow#PrefixFormat",
                    "traits": {
                        "smithy.api#documentation": "<p> Determines the level of granularity that's included in the prefix. </p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> Determines the prefix that Amazon AppFlow applies to the destination folder name.\n      You can name your destination folders according to the flow frequency and date. </p>"
            }
        },
        "com.amazonaws.appflow#PrefixFormat": {
            "type": "string",
            "traits": {
                "smithy.api#enum": [
                    {
                        "value": "YEAR",
                        "name": "YEAR"
                    },
                    {
                        "value": "MONTH",
                        "name": "MONTH"
                    },
                    {
                        "value": "DAY",
                        "name": "DAY"
                    },
                    {
                        "value": "HOUR",
                        "name": "HOUR"
                    },
                    {
                        "value": "MINUTE",
                        "name": "MINUTE"
                    }
                ]
            }
        },
        "com.amazonaws.appflow#PrefixType": {
            "type": "string",
            "traits": {
                "smithy.api#enum": [
                    {
                        "value": "FILENAME",
                        "name": "FILENAME"
                    },
                    {
                        "value": "PATH",
                        "name": "PATH"
                    },
                    {
                        "value": "PATH_AND_FILENAME",
                        "name": "PATH_AND_FILENAME"
                    }
                ]
            }
        },
        "com.amazonaws.appflow#PrivateConnectionProvisioningFailureCause": {
            "type": "string",
            "traits": {
                "smithy.api#enum": [
                    {
                        "value": "CONNECTOR_AUTHENTICATION",
                        "name": "CONNECTOR_AUTHENTICATION"
                    },
                    {
                        "value": "CONNECTOR_SERVER",
                        "name": "CONNECTOR_SERVER"
                    },
                    {
                        "value": "INTERNAL_SERVER",
                        "name": "INTERNAL_SERVER"
                    },
                    {
                        "value": "ACCESS_DENIED",
                        "name": "ACCESS_DENIED"
                    },
                    {
                        "value": "VALIDATION",
                        "name": "VALIDATION"
                    }
                ]
            }
        },
        "com.amazonaws.appflow#PrivateConnectionProvisioningFailureMessage": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 2048
                },
                "smithy.api#pattern": "^[\\s\\w/!@#+=.-]*$"
            }
        },
        "com.amazonaws.appflow#PrivateConnectionProvisioningState": {
            "type": "structure",
            "members": {
                "status": {
                    "target": "com.amazonaws.appflow#PrivateConnectionProvisioningStatus",
                    "traits": {
                        "smithy.api#documentation": "<p> Specifies the private connection provisioning status. </p>"
                    }
                },
                "failureMessage": {
                    "target": "com.amazonaws.appflow#PrivateConnectionProvisioningFailureMessage",
                    "traits": {
                        "smithy.api#documentation": "<p> Specifies the private connection provisioning failure reason. </p>"
                    }
                },
                "failureCause": {
                    "target": "com.amazonaws.appflow#PrivateConnectionProvisioningFailureCause",
                    "traits": {
                        "smithy.api#documentation": "<p> Specifies the private connection provisioning failure cause. </p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> Specifies the private connection provisioning state. </p>"
            }
        },
        "com.amazonaws.appflow#PrivateConnectionProvisioningStatus": {
            "type": "string",
            "traits": {
                "smithy.api#enum": [
                    {
                        "value": "FAILED",
                        "name": "FAILED"
                    },
                    {
                        "value": "PENDING",
                        "name": "PENDING"
                    },
                    {
                        "value": "CREATED",
                        "name": "CREATED"
                    }
                ]
            }
        },
        "com.amazonaws.appflow#PrivateLinkServiceName": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 512
                },
                "smithy.api#pattern": "^$|com.amazonaws.vpce.[\\w/!:@#.\\-]+$"
            }
        },
        "com.amazonaws.appflow#ProfilePropertiesMap": {
            "type": "map",
            "key": {
                "target": "com.amazonaws.appflow#ProfilePropertyKey"
            },
            "value": {
                "target": "com.amazonaws.appflow#ProfilePropertyValue"
            },
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 50
                }
            }
        },
        "com.amazonaws.appflow#ProfilePropertyKey": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 1,
                    "max": 128
                },
                "smithy.api#pattern": "^[\\w]+$"
            }
        },
        "com.amazonaws.appflow#ProfilePropertyValue": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 2048
                },
                "smithy.api#pattern": "^\\S+$"
            }
        },
        "com.amazonaws.appflow#Property": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 2048
                },
                "smithy.api#pattern": "^.+$"
            }
        },
        "com.amazonaws.appflow#Range": {
            "type": "structure",
            "members": {
                "maximum": {
                    "target": "com.amazonaws.appflow#Double",
                    "traits": {
                        "smithy.api#documentation": "<p>Maximum value supported by the field.</p>"
                    }
                },
                "minimum": {
                    "target": "com.amazonaws.appflow#Double",
                    "traits": {
                        "smithy.api#documentation": "<p>Minimum value supported by the field.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>The range of values that the property supports.</p>"
            }
        },
        "com.amazonaws.appflow#RedirectUri": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 512
                },
                "smithy.api#pattern": "^\\S+$"
            }
        },
        "com.amazonaws.appflow#RedshiftConnectorProfileCredentials": {
            "type": "structure",
            "members": {
                "username": {
                    "target": "com.amazonaws.appflow#Username",
                    "traits": {
                        "smithy.api#documentation": "<p> The name of the user. </p>",
                        "smithy.api#required": {}
                    }
                },
                "password": {
                    "target": "com.amazonaws.appflow#Password",
                    "traits": {
                        "smithy.api#documentation": "<p> The password that corresponds to the user name. </p>",
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> The connector-specific profile credentials required when using Amazon Redshift.\n    </p>"
            }
        },
        "com.amazonaws.appflow#RedshiftConnectorProfileProperties": {
            "type": "structure",
            "members": {
                "databaseUrl": {
                    "target": "com.amazonaws.appflow#DatabaseUrl",
                    "traits": {
                        "smithy.api#documentation": "<p> The JDBC URL of the Amazon Redshift cluster. </p>",
                        "smithy.api#required": {}
                    }
                },
                "bucketName": {
                    "target": "com.amazonaws.appflow#BucketName",
                    "traits": {
                        "smithy.api#documentation": "<p> A name for the associated Amazon S3 bucket. </p>",
                        "smithy.api#required": {}
                    }
                },
                "bucketPrefix": {
                    "target": "com.amazonaws.appflow#BucketPrefix",
                    "traits": {
                        "smithy.api#documentation": "<p> The object key for the destination bucket in which Amazon AppFlow places the files.\n    </p>"
                    }
                },
                "roleArn": {
                    "target": "com.amazonaws.appflow#RoleArn",
                    "traits": {
                        "smithy.api#documentation": "<p> The Amazon Resource Name (ARN) of the IAM role. </p>",
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> The connector-specific profile properties when using Amazon Redshift. </p>"
            }
        },
        "com.amazonaws.appflow#RedshiftDestinationProperties": {
            "type": "structure",
            "members": {
                "object": {
                    "target": "com.amazonaws.appflow#Object",
                    "traits": {
                        "smithy.api#documentation": "<p> The object specified in the Amazon Redshift flow destination. </p>",
                        "smithy.api#required": {}
                    }
                },
                "intermediateBucketName": {
                    "target": "com.amazonaws.appflow#BucketName",
                    "traits": {
                        "smithy.api#documentation": "<p> The intermediate bucket that Amazon AppFlow uses when moving data into Amazon Redshift. </p>",
                        "smithy.api#required": {}
                    }
                },
                "bucketPrefix": {
                    "target": "com.amazonaws.appflow#BucketPrefix",
                    "traits": {
                        "smithy.api#documentation": "<p> The object key for the bucket in which Amazon AppFlow places the destination files.\n    </p>"
                    }
                },
                "errorHandlingConfig": {
                    "target": "com.amazonaws.appflow#ErrorHandlingConfig",
                    "traits": {
                        "smithy.api#documentation": "<p> The settings that determine how Amazon AppFlow handles an error when placing data\n      in the Amazon Redshift destination. For example, this setting would determine if the flow\n      should fail after one insertion error, or continue and attempt to insert every record\n      regardless of the initial failure. <code>ErrorHandlingConfig</code> is a part of the\n      destination connector details. </p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> The properties that are applied when Amazon Redshift is being used as a destination.\n    </p>"
            }
        },
        "com.amazonaws.appflow#RedshiftMetadata": {
            "type": "structure",
            "members": {},
            "traits": {
                "smithy.api#documentation": "<p> The connector metadata specific to Amazon Redshift. </p>"
            }
        },
        "com.amazonaws.appflow#RefreshToken": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 2048
                },
                "smithy.api#pattern": "^\\S+$"
            }
        },
        "com.amazonaws.appflow#Region": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 64
                },
                "smithy.api#pattern": "^\\S+$"
            }
        },
        "com.amazonaws.appflow#RegionList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.appflow#Region"
            }
        },
        "com.amazonaws.appflow#RegisterConnector": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.appflow#RegisterConnectorRequest"
            },
            "output": {
                "target": "com.amazonaws.appflow#RegisterConnectorResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.appflow#AccessDeniedException"
                },
                {
                    "target": "com.amazonaws.appflow#ConflictException"
                },
                {
                    "target": "com.amazonaws.appflow#ConnectorAuthenticationException"
                },
                {
                    "target": "com.amazonaws.appflow#ConnectorServerException"
                },
                {
                    "target": "com.amazonaws.appflow#InternalServerException"
                },
                {
                    "target": "com.amazonaws.appflow#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.appflow#ServiceQuotaExceededException"
                },
                {
                    "target": "com.amazonaws.appflow#ThrottlingException"
                },
                {
                    "target": "com.amazonaws.appflow#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Registers a new connector with your Amazon Web Services account. Before you can register\n      the connector, you must deploy lambda in your account.</p>",
                "smithy.api#http": {
                    "method": "POST",
                    "uri": "/register-connector",
                    "code": 200
                }
            }
        },
        "com.amazonaws.appflow#RegisterConnectorRequest": {
            "type": "structure",
            "members": {
                "connectorLabel": {
                    "target": "com.amazonaws.appflow#ConnectorLabel",
                    "traits": {
                        "smithy.api#documentation": "<p> The name of the connector. The name is unique for each <code>ConnectorRegistration</code>\n      in your Amazon Web Services account.</p>"
                    }
                },
                "description": {
                    "target": "com.amazonaws.appflow#Description",
                    "traits": {
                        "smithy.api#documentation": "<p>A description about the connector that's being registered.</p>"
                    }
                },
                "connectorProvisioningType": {
                    "target": "com.amazonaws.appflow#ConnectorProvisioningType",
                    "traits": {
                        "smithy.api#documentation": "<p>The provisioning type of the connector. Currently the only supported value is LAMBDA.\n    </p>"
                    }
                },
                "connectorProvisioningConfig": {
                    "target": "com.amazonaws.appflow#ConnectorProvisioningConfig",
                    "traits": {
                        "smithy.api#documentation": "<p>The provisioning type of the connector. Currently the only supported value is\n      LAMBDA.</p>"
                    }
                }
            }
        },
        "com.amazonaws.appflow#RegisterConnectorResponse": {
            "type": "structure",
            "members": {
                "connectorArn": {
                    "target": "com.amazonaws.appflow#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p>The ARN of the connector being registered.</p>"
                    }
                }
            }
        },
        "com.amazonaws.appflow#RegisteredBy": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 512
                },
                "smithy.api#pattern": "^\\S+$"
            }
        },
        "com.amazonaws.appflow#ResourceNotFoundException": {
            "type": "structure",
            "members": {
                "message": {
                    "target": "com.amazonaws.appflow#ErrorMessage"
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> The resource specified in the request (such as the source or destination connector\n      profile) is not found. </p>",
                "smithy.api#error": "client",
                "smithy.api#httpError": 404
            }
        },
        "com.amazonaws.appflow#RoleArn": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 512
                },
                "smithy.api#pattern": "^arn:aws:iam:.*:[0-9]+:"
            }
        },
        "com.amazonaws.appflow#S3ConnectorOperator": {
            "type": "string",
            "traits": {
                "smithy.api#enum": [
                    {
                        "value": "PROJECTION",
                        "name": "PROJECTION"
                    },
                    {
                        "value": "LESS_THAN",
                        "name": "LESS_THAN"
                    },
                    {
                        "value": "GREATER_THAN",
                        "name": "GREATER_THAN"
                    },
                    {
                        "value": "BETWEEN",
                        "name": "BETWEEN"
                    },
                    {
                        "value": "LESS_THAN_OR_EQUAL_TO",
                        "name": "LESS_THAN_OR_EQUAL_TO"
                    },
                    {
                        "value": "GREATER_THAN_OR_EQUAL_TO",
                        "name": "GREATER_THAN_OR_EQUAL_TO"
                    },
                    {
                        "value": "EQUAL_TO",
                        "name": "EQUAL_TO"
                    },
                    {
                        "value": "NOT_EQUAL_TO",
                        "name": "NOT_EQUAL_TO"
                    },
                    {
                        "value": "ADDITION",
                        "name": "ADDITION"
                    },
                    {
                        "value": "MULTIPLICATION",
                        "name": "MULTIPLICATION"
                    },
                    {
                        "value": "DIVISION",
                        "name": "DIVISION"
                    },
                    {
                        "value": "SUBTRACTION",
                        "name": "SUBTRACTION"
                    },
                    {
                        "value": "MASK_ALL",
                        "name": "MASK_ALL"
                    },
                    {
                        "value": "MASK_FIRST_N",
                        "name": "MASK_FIRST_N"
                    },
                    {
                        "value": "MASK_LAST_N",
                        "name": "MASK_LAST_N"
                    },
                    {
                        "value": "VALIDATE_NON_NULL",
                        "name": "VALIDATE_NON_NULL"
                    },
                    {
                        "value": "VALIDATE_NON_ZERO",
                        "name": "VALIDATE_NON_ZERO"
                    },
                    {
                        "value": "VALIDATE_NON_NEGATIVE",
                        "name": "VALIDATE_NON_NEGATIVE"
                    },
                    {
                        "value": "VALIDATE_NUMERIC",
                        "name": "VALIDATE_NUMERIC"
                    },
                    {
                        "value": "NO_OP",
                        "name": "NO_OP"
                    }
                ]
            }
        },
        "com.amazonaws.appflow#S3DestinationProperties": {
            "type": "structure",
            "members": {
                "bucketName": {
                    "target": "com.amazonaws.appflow#BucketName",
                    "traits": {
                        "smithy.api#documentation": "<p> The Amazon S3 bucket name in which Amazon AppFlow places the transferred\n      data. </p>",
                        "smithy.api#required": {}
                    }
                },
                "bucketPrefix": {
                    "target": "com.amazonaws.appflow#BucketPrefix",
                    "traits": {
                        "smithy.api#documentation": "<p> The object key for the destination bucket in which Amazon AppFlow places the files.\n    </p>"
                    }
                },
                "s3OutputFormatConfig": {
                    "target": "com.amazonaws.appflow#S3OutputFormatConfig"
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> The properties that are applied when Amazon S3 is used as a destination. </p>"
            }
        },
        "com.amazonaws.appflow#S3InputFileType": {
            "type": "string",
            "traits": {
                "smithy.api#enum": [
                    {
                        "value": "CSV",
                        "name": "CSV"
                    },
                    {
                        "value": "JSON",
                        "name": "JSON"
                    }
                ]
            }
        },
        "com.amazonaws.appflow#S3InputFormatConfig": {
            "type": "structure",
            "members": {
                "s3InputFileType": {
                    "target": "com.amazonaws.appflow#S3InputFileType",
                    "traits": {
                        "smithy.api#documentation": "<p> The file type that Amazon AppFlow gets from your Amazon S3 bucket. </p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> When you use Amazon S3 as the source, the configuration format that you provide\n      the flow input data. </p>"
            }
        },
        "com.amazonaws.appflow#S3Metadata": {
            "type": "structure",
            "members": {},
            "traits": {
                "smithy.api#documentation": "<p> The connector metadata specific to Amazon S3. </p>"
            }
        },
        "com.amazonaws.appflow#S3OutputFormatConfig": {
            "type": "structure",
            "members": {
                "fileType": {
                    "target": "com.amazonaws.appflow#FileType",
                    "traits": {
                        "smithy.api#documentation": "<p> Indicates the file type that Amazon AppFlow places in the Amazon S3\n      bucket. </p>"
                    }
                },
                "prefixConfig": {
                    "target": "com.amazonaws.appflow#PrefixConfig",
                    "traits": {
                        "smithy.api#documentation": "<p> Determines the prefix that Amazon AppFlow applies to the folder name in the Amazon S3 bucket. You can name folders according to the flow frequency and date. </p>"
                    }
                },
                "aggregationConfig": {
                    "target": "com.amazonaws.appflow#AggregationConfig"
                },
                "preserveSourceDataTyping": {
                    "target": "com.amazonaws.appflow#JavaBoolean",
                    "traits": {
                        "smithy.api#documentation": "<p>If your file output format is Parquet, use this parameter to set whether Amazon AppFlow preserves the data types in your source data when it writes the output to Amazon S3. </p>\n         <ul>\n            <li>\n               <p>\n                  <code>true</code>: Amazon AppFlow preserves the data types when it writes to\n            Amazon S3. For example, an integer or <code>1</code> in your source data is\n          still an integer in your output.</p>\n            </li>\n            <li>\n               <p>\n                  <code>false</code>: Amazon AppFlow converts all of the source data into strings\n          when it writes to Amazon S3. For example, an integer of <code>1</code> in your\n          source data becomes the string <code>\"1\"</code> in the output.</p>\n            </li>\n         </ul>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> The configuration that determines how Amazon AppFlow should format the flow output\n      data when Amazon S3 is used as the destination. </p>"
            }
        },
        "com.amazonaws.appflow#S3SourceProperties": {
            "type": "structure",
            "members": {
                "bucketName": {
                    "target": "com.amazonaws.appflow#BucketName",
                    "traits": {
                        "smithy.api#documentation": "<p> The Amazon S3 bucket name where the source files are stored. </p>",
                        "smithy.api#required": {}
                    }
                },
                "bucketPrefix": {
                    "target": "com.amazonaws.appflow#BucketPrefix",
                    "traits": {
                        "smithy.api#documentation": "<p> The object key for the Amazon S3 bucket in which the source files are stored.\n    </p>"
                    }
                },
                "s3InputFormatConfig": {
                    "target": "com.amazonaws.appflow#S3InputFormatConfig"
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> The properties that are applied when Amazon S3 is being used as the flow source.\n    </p>"
            }
        },
        "com.amazonaws.appflow#SAPODataConnectorOperator": {
            "type": "string",
            "traits": {
                "smithy.api#enum": [
                    {
                        "value": "PROJECTION",
                        "name": "PROJECTION"
                    },
                    {
                        "value": "LESS_THAN",
                        "name": "LESS_THAN"
                    },
                    {
                        "value": "CONTAINS",
                        "name": "CONTAINS"
                    },
                    {
                        "value": "GREATER_THAN",
                        "name": "GREATER_THAN"
                    },
                    {
                        "value": "BETWEEN",
                        "name": "BETWEEN"
                    },
                    {
                        "value": "LESS_THAN_OR_EQUAL_TO",
                        "name": "LESS_THAN_OR_EQUAL_TO"
                    },
                    {
                        "value": "GREATER_THAN_OR_EQUAL_TO",
                        "name": "GREATER_THAN_OR_EQUAL_TO"
                    },
                    {
                        "value": "EQUAL_TO",
                        "name": "EQUAL_TO"
                    },
                    {
                        "value": "NOT_EQUAL_TO",
                        "name": "NOT_EQUAL_TO"
                    },
                    {
                        "value": "ADDITION",
                        "name": "ADDITION"
                    },
                    {
                        "value": "MULTIPLICATION",
                        "name": "MULTIPLICATION"
                    },
                    {
                        "value": "DIVISION",
                        "name": "DIVISION"
                    },
                    {
                        "value": "SUBTRACTION",
                        "name": "SUBTRACTION"
                    },
                    {
                        "value": "MASK_ALL",
                        "name": "MASK_ALL"
                    },
                    {
                        "value": "MASK_FIRST_N",
                        "name": "MASK_FIRST_N"
                    },
                    {
                        "value": "MASK_LAST_N",
                        "name": "MASK_LAST_N"
                    },
                    {
                        "value": "VALIDATE_NON_NULL",
                        "name": "VALIDATE_NON_NULL"
                    },
                    {
                        "value": "VALIDATE_NON_ZERO",
                        "name": "VALIDATE_NON_ZERO"
                    },
                    {
                        "value": "VALIDATE_NON_NEGATIVE",
                        "name": "VALIDATE_NON_NEGATIVE"
                    },
                    {
                        "value": "VALIDATE_NUMERIC",
                        "name": "VALIDATE_NUMERIC"
                    },
                    {
                        "value": "NO_OP",
                        "name": "NO_OP"
                    }
                ]
            }
        },
        "com.amazonaws.appflow#SAPODataConnectorProfileCredentials": {
            "type": "structure",
            "members": {
                "basicAuthCredentials": {
                    "target": "com.amazonaws.appflow#BasicAuthCredentials",
                    "traits": {
                        "smithy.api#documentation": "<p> The SAPOData basic authentication credentials. </p>"
                    }
                },
                "oAuthCredentials": {
                    "target": "com.amazonaws.appflow#OAuthCredentials",
                    "traits": {
                        "smithy.api#documentation": "<p> The SAPOData OAuth type authentication credentials. </p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> The connector-specific profile credentials required when using SAPOData. </p>"
            }
        },
        "com.amazonaws.appflow#SAPODataConnectorProfileProperties": {
            "type": "structure",
            "members": {
                "applicationHostUrl": {
                    "target": "com.amazonaws.appflow#ApplicationHostUrl",
                    "traits": {
                        "smithy.api#documentation": "<p> The location of the SAPOData resource. </p>",
                        "smithy.api#required": {}
                    }
                },
                "applicationServicePath": {
                    "target": "com.amazonaws.appflow#ApplicationServicePath",
                    "traits": {
                        "smithy.api#documentation": "<p> The application path to catalog service. </p>",
                        "smithy.api#required": {}
                    }
                },
                "portNumber": {
                    "target": "com.amazonaws.appflow#PortNumber",
                    "traits": {
                        "smithy.api#box": {},
                        "smithy.api#documentation": "<p> The port number of the SAPOData instance. </p>",
                        "smithy.api#required": {}
                    }
                },
                "clientNumber": {
                    "target": "com.amazonaws.appflow#ClientNumber",
                    "traits": {
                        "smithy.api#documentation": "<p> The client number for the client creating the connection. </p>",
                        "smithy.api#required": {}
                    }
                },
                "logonLanguage": {
                    "target": "com.amazonaws.appflow#LogonLanguage",
                    "traits": {
                        "smithy.api#documentation": "<p> The logon language of SAPOData instance. </p>"
                    }
                },
                "privateLinkServiceName": {
                    "target": "com.amazonaws.appflow#PrivateLinkServiceName",
                    "traits": {
                        "smithy.api#documentation": "<p> The SAPOData Private Link service name to be used for private data transfers. </p>"
                    }
                },
                "oAuthProperties": {
                    "target": "com.amazonaws.appflow#OAuthProperties",
                    "traits": {
                        "smithy.api#documentation": "<p> The SAPOData OAuth properties required for OAuth type authentication. </p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> The connector-specific profile properties required when using SAPOData. </p>"
            }
        },
        "com.amazonaws.appflow#SAPODataDestinationProperties": {
            "type": "structure",
            "members": {
                "objectPath": {
                    "target": "com.amazonaws.appflow#Object",
                    "traits": {
                        "smithy.api#documentation": "<p>The object path specified in the SAPOData flow destination.</p>",
                        "smithy.api#required": {}
                    }
                },
                "successResponseHandlingConfig": {
                    "target": "com.amazonaws.appflow#SuccessResponseHandlingConfig",
                    "traits": {
                        "smithy.api#documentation": "<p>Determines how Amazon AppFlow handles the success response that it gets from the\n      connector after placing data.</p>\n         <p>For example, this setting would determine where to write the response from a destination\n      connector upon a successful insert operation.</p>"
                    }
                },
                "idFieldNames": {
                    "target": "com.amazonaws.appflow#IdFieldNameList"
                },
                "errorHandlingConfig": {
                    "target": "com.amazonaws.appflow#ErrorHandlingConfig"
                },
                "writeOperationType": {
                    "target": "com.amazonaws.appflow#WriteOperationType"
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>The properties that are applied when using SAPOData as a flow destination</p>"
            }
        },
        "com.amazonaws.appflow#SAPODataMetadata": {
            "type": "structure",
            "members": {},
            "traits": {
                "smithy.api#documentation": "<p> The connector metadata specific to SAPOData. </p>"
            }
        },
        "com.amazonaws.appflow#SAPODataSourceProperties": {
            "type": "structure",
            "members": {
                "objectPath": {
                    "target": "com.amazonaws.appflow#Object",
                    "traits": {
                        "smithy.api#documentation": "<p> The object path specified in the SAPOData flow source. </p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> The properties that are applied when using SAPOData as a flow source. </p>"
            }
        },
        "com.amazonaws.appflow#SalesforceConnectorOperator": {
            "type": "string",
            "traits": {
                "smithy.api#enum": [
                    {
                        "value": "PROJECTION",
                        "name": "PROJECTION"
                    },
                    {
                        "value": "LESS_THAN",
                        "name": "LESS_THAN"
                    },
                    {
                        "value": "CONTAINS",
                        "name": "CONTAINS"
                    },
                    {
                        "value": "GREATER_THAN",
                        "name": "GREATER_THAN"
                    },
                    {
                        "value": "BETWEEN",
                        "name": "BETWEEN"
                    },
                    {
                        "value": "LESS_THAN_OR_EQUAL_TO",
                        "name": "LESS_THAN_OR_EQUAL_TO"
                    },
                    {
                        "value": "GREATER_THAN_OR_EQUAL_TO",
                        "name": "GREATER_THAN_OR_EQUAL_TO"
                    },
                    {
                        "value": "EQUAL_TO",
                        "name": "EQUAL_TO"
                    },
                    {
                        "value": "NOT_EQUAL_TO",
                        "name": "NOT_EQUAL_TO"
                    },
                    {
                        "value": "ADDITION",
                        "name": "ADDITION"
                    },
                    {
                        "value": "MULTIPLICATION",
                        "name": "MULTIPLICATION"
                    },
                    {
                        "value": "DIVISION",
                        "name": "DIVISION"
                    },
                    {
                        "value": "SUBTRACTION",
                        "name": "SUBTRACTION"
                    },
                    {
                        "value": "MASK_ALL",
                        "name": "MASK_ALL"
                    },
                    {
                        "value": "MASK_FIRST_N",
                        "name": "MASK_FIRST_N"
                    },
                    {
                        "value": "MASK_LAST_N",
                        "name": "MASK_LAST_N"
                    },
                    {
                        "value": "VALIDATE_NON_NULL",
                        "name": "VALIDATE_NON_NULL"
                    },
                    {
                        "value": "VALIDATE_NON_ZERO",
                        "name": "VALIDATE_NON_ZERO"
                    },
                    {
                        "value": "VALIDATE_NON_NEGATIVE",
                        "name": "VALIDATE_NON_NEGATIVE"
                    },
                    {
                        "value": "VALIDATE_NUMERIC",
                        "name": "VALIDATE_NUMERIC"
                    },
                    {
                        "value": "NO_OP",
                        "name": "NO_OP"
                    }
                ]
            }
        },
        "com.amazonaws.appflow#SalesforceConnectorProfileCredentials": {
            "type": "structure",
            "members": {
                "accessToken": {
                    "target": "com.amazonaws.appflow#AccessToken",
                    "traits": {
                        "smithy.api#documentation": "<p> The credentials used to access protected Salesforce resources. </p>"
                    }
                },
                "refreshToken": {
                    "target": "com.amazonaws.appflow#RefreshToken",
                    "traits": {
                        "smithy.api#documentation": "<p> The credentials used to acquire new access tokens. </p>"
                    }
                },
                "oAuthRequest": {
                    "target": "com.amazonaws.appflow#ConnectorOAuthRequest",
                    "traits": {
                        "smithy.api#documentation": "<p> The OAuth requirement needed to request security tokens from the connector endpoint.\n    </p>"
                    }
                },
                "clientCredentialsArn": {
                    "target": "com.amazonaws.appflow#ClientCredentialsArn",
                    "traits": {
                        "smithy.api#documentation": "<p> The secret manager ARN, which contains the client ID and client secret of the connected\n      app. </p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> The connector-specific profile credentials required when using Salesforce. </p>"
            }
        },
        "com.amazonaws.appflow#SalesforceConnectorProfileProperties": {
            "type": "structure",
            "members": {
                "instanceUrl": {
                    "target": "com.amazonaws.appflow#InstanceUrl",
                    "traits": {
                        "smithy.api#documentation": "<p> The location of the Salesforce resource. </p>"
                    }
                },
                "isSandboxEnvironment": {
                    "target": "com.amazonaws.appflow#Boolean",
                    "traits": {
                        "smithy.api#documentation": "<p> Indicates whether the connector profile applies to a sandbox or production environment.\n    </p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> The connector-specific profile properties required when using Salesforce. </p>"
            }
        },
        "com.amazonaws.appflow#SalesforceDestinationProperties": {
            "type": "structure",
            "members": {
                "object": {
                    "target": "com.amazonaws.appflow#Object",
                    "traits": {
                        "smithy.api#documentation": "<p> The object specified in the Salesforce flow destination. </p>",
                        "smithy.api#required": {}
                    }
                },
                "idFieldNames": {
                    "target": "com.amazonaws.appflow#IdFieldNameList",
                    "traits": {
                        "smithy.api#documentation": "<p> The name of the field that Amazon AppFlow uses as an ID when performing a write\n      operation such as update or delete. </p>"
                    }
                },
                "errorHandlingConfig": {
                    "target": "com.amazonaws.appflow#ErrorHandlingConfig",
                    "traits": {
                        "smithy.api#documentation": "<p> The settings that determine how Amazon AppFlow handles an error when placing data\n      in the Salesforce destination. For example, this setting would determine if the flow should\n      fail after one insertion error, or continue and attempt to insert every record regardless of\n      the initial failure. <code>ErrorHandlingConfig</code> is a part of the destination connector\n      details. </p>"
                    }
                },
                "writeOperationType": {
                    "target": "com.amazonaws.appflow#WriteOperationType",
                    "traits": {
                        "smithy.api#documentation": "<p> This specifies the type of write operation to be performed in Salesforce. When the value\n      is <code>UPSERT</code>, then <code>idFieldNames</code> is required. </p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> The properties that are applied when Salesforce is being used as a destination. </p>"
            }
        },
        "com.amazonaws.appflow#SalesforceMetadata": {
            "type": "structure",
            "members": {
                "oAuthScopes": {
                    "target": "com.amazonaws.appflow#OAuthScopeList",
                    "traits": {
                        "smithy.api#documentation": "<p> The desired authorization scope for the Salesforce account. </p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> The connector metadata specific to Salesforce. </p>"
            }
        },
        "com.amazonaws.appflow#SalesforceSourceProperties": {
            "type": "structure",
            "members": {
                "object": {
                    "target": "com.amazonaws.appflow#Object",
                    "traits": {
                        "smithy.api#documentation": "<p> The object specified in the Salesforce flow source. </p>",
                        "smithy.api#required": {}
                    }
                },
                "enableDynamicFieldUpdate": {
                    "target": "com.amazonaws.appflow#Boolean",
                    "traits": {
                        "smithy.api#documentation": "<p> The flag that enables dynamic fetching of new (recently added) fields in the Salesforce\n      objects while running a flow. </p>"
                    }
                },
                "includeDeletedRecords": {
                    "target": "com.amazonaws.appflow#Boolean",
                    "traits": {
                        "smithy.api#documentation": "<p> Indicates whether Amazon AppFlow includes deleted files in the flow run. </p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> The properties that are applied when Salesforce is being used as a source. </p>"
            }
        },
        "com.amazonaws.appflow#SandstoneConfigurationServiceLambda": {
            "type": "service",
            "traits": {
                "aws.api#service": {
                    "sdkId": "Appflow",
                    "arnNamespace": "appflow",
                    "cloudFormationName": "Appflow",
                    "cloudTrailEventSource": "appflow.amazonaws.com",
                    "endpointPrefix": "appflow"
                },
                "aws.auth#sigv4": {
                    "name": "appflow"
                },
                "aws.protocols#restJson1": {},
                "smithy.api#documentation": "<p>Welcome to the Amazon AppFlow API reference. This guide is for developers who need\n      detailed information about the Amazon AppFlow API operations, data types, and errors. </p>\n         <p>Amazon AppFlow is a fully managed integration service that enables you to securely\n      transfer data between software as a service (SaaS) applications like Salesforce, Marketo,\n      Slack, and ServiceNow, and Amazon Web Services like Amazon S3 and Amazon Redshift. </p>\n         <p>Use the following links to get started on the Amazon AppFlow API:</p>\n         <ul>\n            <li>\n               <p>\n                  <a href=\"https://docs.aws.amazon.com/appflow/1.0/APIReference/API_Operations.html\">Actions</a>: An alphabetical list of all Amazon AppFlow API\n          operations.</p>\n            </li>\n            <li>\n               <p>\n                  <a href=\"https://docs.aws.amazon.com/appflow/1.0/APIReference/API_Types.html\">Data\n            types</a>: An alphabetical list of all Amazon AppFlow data types.</p>\n            </li>\n            <li>\n               <p>\n                  <a href=\"https://docs.aws.amazon.com/appflow/1.0/APIReference/CommonParameters.html\">Common parameters</a>: Parameters that all Query operations can use.</p>\n            </li>\n            <li>\n               <p>\n                  <a href=\"https://docs.aws.amazon.com/appflow/1.0/APIReference/CommonErrors.html\">Common\n            errors</a>: Client and server errors that all operations can return.</p>\n            </li>\n         </ul>\n         <p>If you're new to Amazon AppFlow, we recommend that you review the <a href=\"https://docs.aws.amazon.com/appflow/latest/userguide/what-is-appflow.html\">Amazon AppFlow User Guide</a>.</p>\n         <p>Amazon AppFlow API users can use vendor-specific mechanisms for OAuth, and include\n      applicable OAuth attributes (such as <code>auth-code</code> and <code>redirecturi</code>) with\n      the connector-specific <code>ConnectorProfileProperties</code> when creating a new connector\n      profile using Amazon AppFlow API operations. For example, Salesforce users can refer to\n      the <a href=\"https://help.salesforce.com/articleView?id=remoteaccess_authenticate.htm\">\n               <i>Authorize Apps with OAuth</i>\n            </a> documentation.</p>",
                "smithy.api#title": "Amazon Appflow"
            },
            "version": "2020-08-23",
            "operations": [
                {
                    "target": "com.amazonaws.appflow#CreateConnectorProfile"
                },
                {
                    "target": "com.amazonaws.appflow#CreateFlow"
                },
                {
                    "target": "com.amazonaws.appflow#DeleteConnectorProfile"
                },
                {
                    "target": "com.amazonaws.appflow#DeleteFlow"
                },
                {
                    "target": "com.amazonaws.appflow#DescribeConnector"
                },
                {
                    "target": "com.amazonaws.appflow#DescribeConnectorEntity"
                },
                {
                    "target": "com.amazonaws.appflow#DescribeConnectorProfiles"
                },
                {
                    "target": "com.amazonaws.appflow#DescribeConnectors"
                },
                {
                    "target": "com.amazonaws.appflow#DescribeFlow"
                },
                {
                    "target": "com.amazonaws.appflow#DescribeFlowExecutionRecords"
                },
                {
                    "target": "com.amazonaws.appflow#ListConnectorEntities"
                },
                {
                    "target": "com.amazonaws.appflow#ListConnectors"
                },
                {
                    "target": "com.amazonaws.appflow#ListFlows"
                },
                {
                    "target": "com.amazonaws.appflow#ListTagsForResource"
                },
                {
                    "target": "com.amazonaws.appflow#RegisterConnector"
                },
                {
                    "target": "com.amazonaws.appflow#StartFlow"
                },
                {
                    "target": "com.amazonaws.appflow#StopFlow"
                },
                {
                    "target": "com.amazonaws.appflow#TagResource"
                },
                {
                    "target": "com.amazonaws.appflow#UnregisterConnector"
                },
                {
                    "target": "com.amazonaws.appflow#UntagResource"
                },
                {
                    "target": "com.amazonaws.appflow#UpdateConnectorProfile"
                },
                {
                    "target": "com.amazonaws.appflow#UpdateFlow"
                }
            ]
        },
        "com.amazonaws.appflow#ScheduleExpression": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 256
                },
                "smithy.api#pattern": ".*"
            }
        },
        "com.amazonaws.appflow#ScheduleFrequencyType": {
            "type": "string",
            "traits": {
                "smithy.api#enum": [
                    {
                        "value": "BYMINUTE",
                        "name": "BYMINUTE"
                    },
                    {
                        "value": "HOURLY",
                        "name": "HOURLY"
                    },
                    {
                        "value": "DAILY",
                        "name": "DAILY"
                    },
                    {
                        "value": "WEEKLY",
                        "name": "WEEKLY"
                    },
                    {
                        "value": "MONTHLY",
                        "name": "MONTHLY"
                    },
                    {
                        "value": "ONCE",
                        "name": "ONCE"
                    }
                ]
            }
        },
        "com.amazonaws.appflow#ScheduleOffset": {
            "type": "long",
            "traits": {
                "smithy.api#range": {
                    "min": 0,
                    "max": 36000
                }
            }
        },
        "com.amazonaws.appflow#ScheduledTriggerProperties": {
            "type": "structure",
            "members": {
                "scheduleExpression": {
                    "target": "com.amazonaws.appflow#ScheduleExpression",
                    "traits": {
                        "smithy.api#documentation": "<p> The scheduling expression that determines the rate at which the schedule will run, for\n      example <code>rate(5minutes)</code>. </p>",
                        "smithy.api#required": {}
                    }
                },
                "dataPullMode": {
                    "target": "com.amazonaws.appflow#DataPullMode",
                    "traits": {
                        "smithy.api#documentation": "<p> Specifies whether a scheduled flow has an incremental data transfer or a complete data\n      transfer for each flow run. </p>"
                    }
                },
                "scheduleStartTime": {
                    "target": "com.amazonaws.appflow#Date",
                    "traits": {
                        "smithy.api#documentation": "<p>The time at which the scheduled flow starts. The time is formatted as a timestamp that\n      follows the ISO 8601 standard, such as <code>2022-04-26T13:00:00-07:00</code>.</p>"
                    }
                },
                "scheduleEndTime": {
                    "target": "com.amazonaws.appflow#Date",
                    "traits": {
                        "smithy.api#documentation": "<p>The time at which the scheduled flow ends. The time is formatted as a timestamp that\n      follows the ISO 8601 standard, such as <code>2022-04-27T13:00:00-07:00</code>.</p>"
                    }
                },
                "timezone": {
                    "target": "com.amazonaws.appflow#Timezone",
                    "traits": {
                        "smithy.api#documentation": "<p>Specifies the time zone used when referring to the dates and times of a scheduled flow,\n      such as <code>America/New_York</code>. This time zone is only a descriptive label. It doesn't affect how\n      Amazon AppFlow interprets the timestamps that you specify to schedule the flow.</p>\n         <p>If you want to schedule a flow by using times in a particular time zone, indicate the time zone as a UTC\n      offset in your timestamps. For example, the UTC offsets for the <code>America/New_York</code> timezone are\n      <code>-04:00</code> EDT and <code>-05:00 EST</code>.</p>"
                    }
                },
                "scheduleOffset": {
                    "target": "com.amazonaws.appflow#ScheduleOffset",
                    "traits": {
                        "smithy.api#box": {},
                        "smithy.api#documentation": "<p> Specifies the optional offset that is added to the time interval for a schedule-triggered\n      flow. </p>"
                    }
                },
                "firstExecutionFrom": {
                    "target": "com.amazonaws.appflow#Date",
                    "traits": {
                        "smithy.api#documentation": "<p> Specifies the date range for the records to import from the connector in the first flow\n      run. </p>"
                    }
                },
                "flowErrorDeactivationThreshold": {
                    "target": "com.amazonaws.appflow#FlowErrorDeactivationThreshold",
                    "traits": {
                        "smithy.api#box": {},
                        "smithy.api#documentation": "<p>Defines how many times a scheduled flow fails consecutively before Amazon AppFlow\n      deactivates it.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> Specifies the configuration details of a schedule-triggered flow as defined by the user.\n      Currently, these settings only apply to the <code>Scheduled</code> trigger type. </p>"
            }
        },
        "com.amazonaws.appflow#SchedulingFrequencyTypeList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.appflow#ScheduleFrequencyType"
            }
        },
        "com.amazonaws.appflow#SecretKey": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 256
                },
                "smithy.api#pattern": "^\\S+$",
                "smithy.api#sensitive": {}
            }
        },
        "com.amazonaws.appflow#ServiceNowConnectorOperator": {
            "type": "string",
            "traits": {
                "smithy.api#enum": [
                    {
                        "value": "PROJECTION",
                        "name": "PROJECTION"
                    },
                    {
                        "value": "CONTAINS",
                        "name": "CONTAINS"
                    },
                    {
                        "value": "LESS_THAN",
                        "name": "LESS_THAN"
                    },
                    {
                        "value": "GREATER_THAN",
                        "name": "GREATER_THAN"
                    },
                    {
                        "value": "BETWEEN",
                        "name": "BETWEEN"
                    },
                    {
                        "value": "LESS_THAN_OR_EQUAL_TO",
                        "name": "LESS_THAN_OR_EQUAL_TO"
                    },
                    {
                        "value": "GREATER_THAN_OR_EQUAL_TO",
                        "name": "GREATER_THAN_OR_EQUAL_TO"
                    },
                    {
                        "value": "EQUAL_TO",
                        "name": "EQUAL_TO"
                    },
                    {
                        "value": "NOT_EQUAL_TO",
                        "name": "NOT_EQUAL_TO"
                    },
                    {
                        "value": "ADDITION",
                        "name": "ADDITION"
                    },
                    {
                        "value": "MULTIPLICATION",
                        "name": "MULTIPLICATION"
                    },
                    {
                        "value": "DIVISION",
                        "name": "DIVISION"
                    },
                    {
                        "value": "SUBTRACTION",
                        "name": "SUBTRACTION"
                    },
                    {
                        "value": "MASK_ALL",
                        "name": "MASK_ALL"
                    },
                    {
                        "value": "MASK_FIRST_N",
                        "name": "MASK_FIRST_N"
                    },
                    {
                        "value": "MASK_LAST_N",
                        "name": "MASK_LAST_N"
                    },
                    {
                        "value": "VALIDATE_NON_NULL",
                        "name": "VALIDATE_NON_NULL"
                    },
                    {
                        "value": "VALIDATE_NON_ZERO",
                        "name": "VALIDATE_NON_ZERO"
                    },
                    {
                        "value": "VALIDATE_NON_NEGATIVE",
                        "name": "VALIDATE_NON_NEGATIVE"
                    },
                    {
                        "value": "VALIDATE_NUMERIC",
                        "name": "VALIDATE_NUMERIC"
                    },
                    {
                        "value": "NO_OP",
                        "name": "NO_OP"
                    }
                ]
            }
        },
        "com.amazonaws.appflow#ServiceNowConnectorProfileCredentials": {
            "type": "structure",
            "members": {
                "username": {
                    "target": "com.amazonaws.appflow#Username",
                    "traits": {
                        "smithy.api#documentation": "<p> The name of the user. </p>",
                        "smithy.api#required": {}
                    }
                },
                "password": {
                    "target": "com.amazonaws.appflow#Password",
                    "traits": {
                        "smithy.api#documentation": "<p> The password that corresponds to the user name. </p>",
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> The connector-specific profile credentials required when using ServiceNow. </p>"
            }
        },
        "com.amazonaws.appflow#ServiceNowConnectorProfileProperties": {
            "type": "structure",
            "members": {
                "instanceUrl": {
                    "target": "com.amazonaws.appflow#InstanceUrl",
                    "traits": {
                        "smithy.api#documentation": "<p> The location of the ServiceNow resource. </p>",
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> The connector-specific profile properties required when using ServiceNow. </p>"
            }
        },
        "com.amazonaws.appflow#ServiceNowMetadata": {
            "type": "structure",
            "members": {},
            "traits": {
                "smithy.api#documentation": "<p> The connector metadata specific to ServiceNow. </p>"
            }
        },
        "com.amazonaws.appflow#ServiceNowSourceProperties": {
            "type": "structure",
            "members": {
                "object": {
                    "target": "com.amazonaws.appflow#Object",
                    "traits": {
                        "smithy.api#documentation": "<p> The object specified in the ServiceNow flow source. </p>",
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> The properties that are applied when ServiceNow is being used as a source. </p>"
            }
        },
        "com.amazonaws.appflow#ServiceQuotaExceededException": {
            "type": "structure",
            "members": {
                "message": {
                    "target": "com.amazonaws.appflow#ErrorMessage"
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> The request would cause a service quota (such as the number of flows) to be exceeded.\n    </p>",
                "smithy.api#error": "client",
                "smithy.api#httpError": 402
            }
        },
        "com.amazonaws.appflow#SingularConnectorOperator": {
            "type": "string",
            "traits": {
                "smithy.api#enum": [
                    {
                        "value": "PROJECTION",
                        "name": "PROJECTION"
                    },
                    {
                        "value": "EQUAL_TO",
                        "name": "EQUAL_TO"
                    },
                    {
                        "value": "ADDITION",
                        "name": "ADDITION"
                    },
                    {
                        "value": "MULTIPLICATION",
                        "name": "MULTIPLICATION"
                    },
                    {
                        "value": "DIVISION",
                        "name": "DIVISION"
                    },
                    {
                        "value": "SUBTRACTION",
                        "name": "SUBTRACTION"
                    },
                    {
                        "value": "MASK_ALL",
                        "name": "MASK_ALL"
                    },
                    {
                        "value": "MASK_FIRST_N",
                        "name": "MASK_FIRST_N"
                    },
                    {
                        "value": "MASK_LAST_N",
                        "name": "MASK_LAST_N"
                    },
                    {
                        "value": "VALIDATE_NON_NULL",
                        "name": "VALIDATE_NON_NULL"
                    },
                    {
                        "value": "VALIDATE_NON_ZERO",
                        "name": "VALIDATE_NON_ZERO"
                    },
                    {
                        "value": "VALIDATE_NON_NEGATIVE",
                        "name": "VALIDATE_NON_NEGATIVE"
                    },
                    {
                        "value": "VALIDATE_NUMERIC",
                        "name": "VALIDATE_NUMERIC"
                    },
                    {
                        "value": "NO_OP",
                        "name": "NO_OP"
                    }
                ]
            }
        },
        "com.amazonaws.appflow#SingularConnectorProfileCredentials": {
            "type": "structure",
            "members": {
                "apiKey": {
                    "target": "com.amazonaws.appflow#ApiKey",
                    "traits": {
                        "smithy.api#documentation": "<p> A unique alphanumeric identifier used to authenticate a user, developer, or calling\n      program to your API. </p>",
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> The connector-specific profile credentials required when using Singular. </p>"
            }
        },
        "com.amazonaws.appflow#SingularConnectorProfileProperties": {
            "type": "structure",
            "members": {},
            "traits": {
                "smithy.api#documentation": "<p> The connector-specific profile properties required when using Singular. </p>"
            }
        },
        "com.amazonaws.appflow#SingularMetadata": {
            "type": "structure",
            "members": {},
            "traits": {
                "smithy.api#documentation": "<p> The connector metadata specific to Singular. </p>"
            }
        },
        "com.amazonaws.appflow#SingularSourceProperties": {
            "type": "structure",
            "members": {
                "object": {
                    "target": "com.amazonaws.appflow#Object",
                    "traits": {
                        "smithy.api#documentation": "<p> The object specified in the Singular flow source. </p>",
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> The properties that are applied when Singular is being used as a source. </p>"
            }
        },
        "com.amazonaws.appflow#SlackConnectorOperator": {
            "type": "string",
            "traits": {
                "smithy.api#enum": [
                    {
                        "value": "PROJECTION",
                        "name": "PROJECTION"
                    },
                    {
                        "value": "LESS_THAN",
                        "name": "LESS_THAN"
                    },
                    {
                        "value": "GREATER_THAN",
                        "name": "GREATER_THAN"
                    },
                    {
                        "value": "BETWEEN",
                        "name": "BETWEEN"
                    },
                    {
                        "value": "LESS_THAN_OR_EQUAL_TO",
                        "name": "LESS_THAN_OR_EQUAL_TO"
                    },
                    {
                        "value": "GREATER_THAN_OR_EQUAL_TO",
                        "name": "GREATER_THAN_OR_EQUAL_TO"
                    },
                    {
                        "value": "EQUAL_TO",
                        "name": "EQUAL_TO"
                    },
                    {
                        "value": "ADDITION",
                        "name": "ADDITION"
                    },
                    {
                        "value": "MULTIPLICATION",
                        "name": "MULTIPLICATION"
                    },
                    {
                        "value": "DIVISION",
                        "name": "DIVISION"
                    },
                    {
                        "value": "SUBTRACTION",
                        "name": "SUBTRACTION"
                    },
                    {
                        "value": "MASK_ALL",
                        "name": "MASK_ALL"
                    },
                    {
                        "value": "MASK_FIRST_N",
                        "name": "MASK_FIRST_N"
                    },
                    {
                        "value": "MASK_LAST_N",
                        "name": "MASK_LAST_N"
                    },
                    {
                        "value": "VALIDATE_NON_NULL",
                        "name": "VALIDATE_NON_NULL"
                    },
                    {
                        "value": "VALIDATE_NON_ZERO",
                        "name": "VALIDATE_NON_ZERO"
                    },
                    {
                        "value": "VALIDATE_NON_NEGATIVE",
                        "name": "VALIDATE_NON_NEGATIVE"
                    },
                    {
                        "value": "VALIDATE_NUMERIC",
                        "name": "VALIDATE_NUMERIC"
                    },
                    {
                        "value": "NO_OP",
                        "name": "NO_OP"
                    }
                ]
            }
        },
        "com.amazonaws.appflow#SlackConnectorProfileCredentials": {
            "type": "structure",
            "members": {
                "clientId": {
                    "target": "com.amazonaws.appflow#ClientId",
                    "traits": {
                        "smithy.api#documentation": "<p> The identifier for the client. </p>",
                        "smithy.api#required": {}
                    }
                },
                "clientSecret": {
                    "target": "com.amazonaws.appflow#ClientSecret",
                    "traits": {
                        "smithy.api#documentation": "<p> The client secret used by the OAuth client to authenticate to the authorization server.\n    </p>",
                        "smithy.api#required": {}
                    }
                },
                "accessToken": {
                    "target": "com.amazonaws.appflow#AccessToken",
                    "traits": {
                        "smithy.api#documentation": "<p> The credentials used to access protected Slack resources. </p>"
                    }
                },
                "oAuthRequest": {
                    "target": "com.amazonaws.appflow#ConnectorOAuthRequest",
                    "traits": {
                        "smithy.api#documentation": "<p> The OAuth requirement needed to request security tokens from the connector endpoint.\n    </p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> The connector-specific profile credentials required when using Slack. </p>"
            }
        },
        "com.amazonaws.appflow#SlackConnectorProfileProperties": {
            "type": "structure",
            "members": {
                "instanceUrl": {
                    "target": "com.amazonaws.appflow#InstanceUrl",
                    "traits": {
                        "smithy.api#documentation": "<p> The location of the Slack resource. </p>",
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> The connector-specific profile properties required when using Slack. </p>"
            }
        },
        "com.amazonaws.appflow#SlackMetadata": {
            "type": "structure",
            "members": {
                "oAuthScopes": {
                    "target": "com.amazonaws.appflow#OAuthScopeList",
                    "traits": {
                        "smithy.api#documentation": "<p> The desired authorization scope for the Slack account. </p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> The connector metadata specific to Slack. </p>"
            }
        },
        "com.amazonaws.appflow#SlackSourceProperties": {
            "type": "structure",
            "members": {
                "object": {
                    "target": "com.amazonaws.appflow#Object",
                    "traits": {
                        "smithy.api#documentation": "<p> The object specified in the Slack flow source. </p>",
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> The properties that are applied when Slack is being used as a source. </p>"
            }
        },
        "com.amazonaws.appflow#SnowflakeConnectorProfileCredentials": {
            "type": "structure",
            "members": {
                "username": {
                    "target": "com.amazonaws.appflow#Username",
                    "traits": {
                        "smithy.api#documentation": "<p> The name of the user. </p>",
                        "smithy.api#required": {}
                    }
                },
                "password": {
                    "target": "com.amazonaws.appflow#Password",
                    "traits": {
                        "smithy.api#documentation": "<p> The password that corresponds to the user name. </p>",
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> The connector-specific profile credentials required when using Snowflake. </p>"
            }
        },
        "com.amazonaws.appflow#SnowflakeConnectorProfileProperties": {
            "type": "structure",
            "members": {
                "warehouse": {
                    "target": "com.amazonaws.appflow#Warehouse",
                    "traits": {
                        "smithy.api#documentation": "<p> The name of the Snowflake warehouse. </p>",
                        "smithy.api#required": {}
                    }
                },
                "stage": {
                    "target": "com.amazonaws.appflow#Stage",
                    "traits": {
                        "smithy.api#documentation": "<p> The name of the Amazon S3 stage that was created while setting up an Amazon S3 stage in the Snowflake account. This is written in the following format: <\n      Database>< Schema><Stage Name>. </p>",
                        "smithy.api#required": {}
                    }
                },
                "bucketName": {
                    "target": "com.amazonaws.appflow#BucketName",
                    "traits": {
                        "smithy.api#documentation": "<p> The name of the Amazon S3 bucket associated with Snowflake. </p>",
                        "smithy.api#required": {}
                    }
                },
                "bucketPrefix": {
                    "target": "com.amazonaws.appflow#BucketPrefix",
                    "traits": {
                        "smithy.api#documentation": "<p> The bucket path that refers to the Amazon S3 bucket associated with Snowflake.\n    </p>"
                    }
                },
                "privateLinkServiceName": {
                    "target": "com.amazonaws.appflow#PrivateLinkServiceName",
                    "traits": {
                        "smithy.api#documentation": "<p> The Snowflake Private Link service name to be used for private data transfers. </p>"
                    }
                },
                "accountName": {
                    "target": "com.amazonaws.appflow#AccountName",
                    "traits": {
                        "smithy.api#documentation": "<p> The name of the account. </p>"
                    }
                },
                "region": {
                    "target": "com.amazonaws.appflow#Region",
                    "traits": {
                        "smithy.api#documentation": "<p> The Amazon Web Services Region of the Snowflake account. </p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> The connector-specific profile properties required when using Snowflake. </p>"
            }
        },
        "com.amazonaws.appflow#SnowflakeDestinationProperties": {
            "type": "structure",
            "members": {
                "object": {
                    "target": "com.amazonaws.appflow#Object",
                    "traits": {
                        "smithy.api#documentation": "<p> The object specified in the Snowflake flow destination. </p>",
                        "smithy.api#required": {}
                    }
                },
                "intermediateBucketName": {
                    "target": "com.amazonaws.appflow#BucketName",
                    "traits": {
                        "smithy.api#documentation": "<p> The intermediate bucket that Amazon AppFlow uses when moving data into Snowflake.\n    </p>",
                        "smithy.api#required": {}
                    }
                },
                "bucketPrefix": {
                    "target": "com.amazonaws.appflow#BucketPrefix",
                    "traits": {
                        "smithy.api#documentation": "<p> The object key for the destination bucket in which Amazon AppFlow places the files.\n    </p>"
                    }
                },
                "errorHandlingConfig": {
                    "target": "com.amazonaws.appflow#ErrorHandlingConfig",
                    "traits": {
                        "smithy.api#documentation": "<p> The settings that determine how Amazon AppFlow handles an error when placing data\n      in the Snowflake destination. For example, this setting would determine if the flow should\n      fail after one insertion error, or continue and attempt to insert every record regardless of\n      the initial failure. <code>ErrorHandlingConfig</code> is a part of the destination connector\n      details. </p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> The properties that are applied when Snowflake is being used as a destination. </p>"
            }
        },
        "com.amazonaws.appflow#SnowflakeMetadata": {
            "type": "structure",
            "members": {
                "supportedRegions": {
                    "target": "com.amazonaws.appflow#RegionList",
                    "traits": {
                        "smithy.api#documentation": "<p> Specifies the supported Amazon Web Services Regions when using Snowflake. </p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> The connector metadata specific to Snowflake. </p>"
            }
        },
        "com.amazonaws.appflow#SourceConnectorProperties": {
            "type": "structure",
            "members": {
                "Amplitude": {
                    "target": "com.amazonaws.appflow#AmplitudeSourceProperties",
                    "traits": {
                        "smithy.api#documentation": "<p> Specifies the information that is required for querying Amplitude. </p>"
                    }
                },
                "Datadog": {
                    "target": "com.amazonaws.appflow#DatadogSourceProperties",
                    "traits": {
                        "smithy.api#documentation": "<p> Specifies the information that is required for querying Datadog. </p>"
                    }
                },
                "Dynatrace": {
                    "target": "com.amazonaws.appflow#DynatraceSourceProperties",
                    "traits": {
                        "smithy.api#documentation": "<p> Specifies the information that is required for querying Dynatrace. </p>"
                    }
                },
                "GoogleAnalytics": {
                    "target": "com.amazonaws.appflow#GoogleAnalyticsSourceProperties",
                    "traits": {
                        "smithy.api#documentation": "<p> Specifies the information that is required for querying Google Analytics. </p>"
                    }
                },
                "InforNexus": {
                    "target": "com.amazonaws.appflow#InforNexusSourceProperties",
                    "traits": {
                        "smithy.api#documentation": "<p> Specifies the information that is required for querying Infor Nexus. </p>"
                    }
                },
                "Marketo": {
                    "target": "com.amazonaws.appflow#MarketoSourceProperties",
                    "traits": {
                        "smithy.api#documentation": "<p> Specifies the information that is required for querying Marketo. </p>"
                    }
                },
                "S3": {
                    "target": "com.amazonaws.appflow#S3SourceProperties",
                    "traits": {
                        "smithy.api#documentation": "<p> Specifies the information that is required for querying Amazon S3. </p>"
                    }
                },
                "Salesforce": {
                    "target": "com.amazonaws.appflow#SalesforceSourceProperties",
                    "traits": {
                        "smithy.api#documentation": "<p> Specifies the information that is required for querying Salesforce. </p>"
                    }
                },
                "ServiceNow": {
                    "target": "com.amazonaws.appflow#ServiceNowSourceProperties",
                    "traits": {
                        "smithy.api#documentation": "<p> Specifies the information that is required for querying ServiceNow. </p>"
                    }
                },
                "Singular": {
                    "target": "com.amazonaws.appflow#SingularSourceProperties",
                    "traits": {
                        "smithy.api#documentation": "<p> Specifies the information that is required for querying Singular. </p>"
                    }
                },
                "Slack": {
                    "target": "com.amazonaws.appflow#SlackSourceProperties",
                    "traits": {
                        "smithy.api#documentation": "<p> Specifies the information that is required for querying Slack. </p>"
                    }
                },
                "Trendmicro": {
                    "target": "com.amazonaws.appflow#TrendmicroSourceProperties",
                    "traits": {
                        "smithy.api#documentation": "<p> Specifies the information that is required for querying Trend Micro. </p>"
                    }
                },
                "Veeva": {
                    "target": "com.amazonaws.appflow#VeevaSourceProperties",
                    "traits": {
                        "smithy.api#documentation": "<p> Specifies the information that is required for querying Veeva. </p>"
                    }
                },
                "Zendesk": {
                    "target": "com.amazonaws.appflow#ZendeskSourceProperties",
                    "traits": {
                        "smithy.api#documentation": "<p> Specifies the information that is required for querying Zendesk. </p>"
                    }
                },
                "SAPOData": {
                    "target": "com.amazonaws.appflow#SAPODataSourceProperties"
                },
                "CustomConnector": {
                    "target": "com.amazonaws.appflow#CustomConnectorSourceProperties"
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> Specifies the information that is required to query a particular connector. </p>"
            }
        },
        "com.amazonaws.appflow#SourceFieldProperties": {
            "type": "structure",
            "members": {
                "isRetrievable": {
                    "target": "com.amazonaws.appflow#Boolean",
                    "traits": {
                        "smithy.api#documentation": "<p> Indicates whether the field can be returned in a search result. </p>"
                    }
                },
                "isQueryable": {
                    "target": "com.amazonaws.appflow#Boolean",
                    "traits": {
                        "smithy.api#documentation": "<p> Indicates if the field can be queried. </p>"
                    }
                },
                "isTimestampFieldForIncrementalQueries": {
                    "target": "com.amazonaws.appflow#Boolean",
                    "traits": {
                        "smithy.api#documentation": "<p>Indicates if this timestamp field can be used for incremental queries.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> The properties that can be applied to a field when the connector is being used as a\n      source. </p>"
            }
        },
        "com.amazonaws.appflow#SourceFields": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.appflow#String"
            }
        },
        "com.amazonaws.appflow#SourceFlowConfig": {
            "type": "structure",
            "members": {
                "connectorType": {
                    "target": "com.amazonaws.appflow#ConnectorType",
                    "traits": {
                        "smithy.api#documentation": "<p> The type of connector, such as Salesforce, Amplitude, and so on. </p>",
                        "smithy.api#required": {}
                    }
                },
                "apiVersion": {
                    "target": "com.amazonaws.appflow#ApiVersion",
                    "traits": {
                        "smithy.api#documentation": "<p>The API version of the connector when it's used as a source in the flow.</p>"
                    }
                },
                "connectorProfileName": {
                    "target": "com.amazonaws.appflow#ConnectorProfileName",
                    "traits": {
                        "smithy.api#documentation": "<p> The name of the connector profile. This name must be unique for each connector profile in\n      the Amazon Web Services account. </p>"
                    }
                },
                "sourceConnectorProperties": {
                    "target": "com.amazonaws.appflow#SourceConnectorProperties",
                    "traits": {
                        "smithy.api#documentation": "<p> Specifies the information that is required to query a particular source connector.\n    </p>",
                        "smithy.api#required": {}
                    }
                },
                "incrementalPullConfig": {
                    "target": "com.amazonaws.appflow#IncrementalPullConfig",
                    "traits": {
                        "smithy.api#documentation": "<p> Defines the configuration for a scheduled incremental data pull. If a valid configuration\n      is provided, the fields specified in the configuration are used when querying for the\n      incremental data pull. </p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> Contains information about the configuration of the source connector used in the flow.\n    </p>"
            }
        },
        "com.amazonaws.appflow#Stage": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 512
                },
                "smithy.api#pattern": "^\\S+$"
            }
        },
        "com.amazonaws.appflow#StartFlow": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.appflow#StartFlowRequest"
            },
            "output": {
                "target": "com.amazonaws.appflow#StartFlowResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.appflow#ConflictException"
                },
                {
                    "target": "com.amazonaws.appflow#InternalServerException"
                },
                {
                    "target": "com.amazonaws.appflow#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.appflow#ServiceQuotaExceededException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p> Activates an existing flow. For on-demand flows, this operation runs the flow\n      immediately. For schedule and event-triggered flows, this operation activates the flow. </p>",
                "smithy.api#http": {
                    "method": "POST",
                    "uri": "/start-flow",
                    "code": 200
                }
            }
        },
        "com.amazonaws.appflow#StartFlowRequest": {
            "type": "structure",
            "members": {
                "flowName": {
                    "target": "com.amazonaws.appflow#FlowName",
                    "traits": {
                        "smithy.api#documentation": "<p> The specified name of the flow. Spaces are not allowed. Use underscores (_) or hyphens\n      (-) only. </p>",
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.appflow#StartFlowResponse": {
            "type": "structure",
            "members": {
                "flowArn": {
                    "target": "com.amazonaws.appflow#FlowArn",
                    "traits": {
                        "smithy.api#documentation": "<p> The flow's Amazon Resource Name (ARN). </p>"
                    }
                },
                "flowStatus": {
                    "target": "com.amazonaws.appflow#FlowStatus",
                    "traits": {
                        "smithy.api#documentation": "<p> Indicates the current status of the flow. </p>"
                    }
                },
                "executionId": {
                    "target": "com.amazonaws.appflow#ExecutionId",
                    "traits": {
                        "smithy.api#documentation": "<p> Returns the internal execution ID of an on-demand flow when the flow is started. For\n      scheduled or event-triggered flows, this value is null. </p>"
                    }
                }
            }
        },
        "com.amazonaws.appflow#StopFlow": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.appflow#StopFlowRequest"
            },
            "output": {
                "target": "com.amazonaws.appflow#StopFlowResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.appflow#ConflictException"
                },
                {
                    "target": "com.amazonaws.appflow#InternalServerException"
                },
                {
                    "target": "com.amazonaws.appflow#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.appflow#UnsupportedOperationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p> Deactivates the existing flow. For on-demand flows, this operation returns an\n        <code>unsupportedOperationException</code> error message. For schedule and event-triggered\n      flows, this operation deactivates the flow. </p>",
                "smithy.api#http": {
                    "method": "POST",
                    "uri": "/stop-flow",
                    "code": 200
                }
            }
        },
        "com.amazonaws.appflow#StopFlowRequest": {
            "type": "structure",
            "members": {
                "flowName": {
                    "target": "com.amazonaws.appflow#FlowName",
                    "traits": {
                        "smithy.api#documentation": "<p> The specified name of the flow. Spaces are not allowed. Use underscores (_) or hyphens\n      (-) only. </p>",
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.appflow#StopFlowResponse": {
            "type": "structure",
            "members": {
                "flowArn": {
                    "target": "com.amazonaws.appflow#FlowArn",
                    "traits": {
                        "smithy.api#documentation": "<p> The flow's Amazon Resource Name (ARN). </p>"
                    }
                },
                "flowStatus": {
                    "target": "com.amazonaws.appflow#FlowStatus",
                    "traits": {
                        "smithy.api#documentation": "<p> Indicates the current status of the flow. </p>"
                    }
                }
            }
        },
        "com.amazonaws.appflow#String": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 2048
                },
                "smithy.api#pattern": ".*"
            }
        },
        "com.amazonaws.appflow#SuccessResponseHandlingConfig": {
            "type": "structure",
            "members": {
                "bucketPrefix": {
                    "target": "com.amazonaws.appflow#BucketPrefix",
                    "traits": {
                        "smithy.api#documentation": "<p>The Amazon S3 bucket prefix.</p>"
                    }
                },
                "bucketName": {
                    "target": "com.amazonaws.appflow#BucketName",
                    "traits": {
                        "smithy.api#documentation": "<p>The name of the Amazon S3 bucket.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Determines how Amazon AppFlow handles the success response that it gets from the\n      connector after placing data.</p>\n         <p>For example, this setting would determine where to write the response from the destination\n      connector upon a successful insert operation.</p>"
            }
        },
        "com.amazonaws.appflow#SupportedApiVersion": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 256
                },
                "smithy.api#pattern": "^\\S+$"
            }
        },
        "com.amazonaws.appflow#SupportedApiVersionList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.appflow#SupportedApiVersion"
            }
        },
        "com.amazonaws.appflow#SupportedFieldTypeDetails": {
            "type": "structure",
            "members": {
                "v1": {
                    "target": "com.amazonaws.appflow#FieldTypeDetails",
                    "traits": {
                        "smithy.api#documentation": "<p> The initial supported version for <code>fieldType</code>. If this is later changed to a\n      different version, v2 will be introduced. </p>",
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> Contains details regarding all the supported <code>FieldTypes</code> and their\n      corresponding <code>filterOperators</code> and <code>supportedValues</code>. </p>"
            }
        },
        "com.amazonaws.appflow#SupportedOperatorList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.appflow#Operators"
            }
        },
        "com.amazonaws.appflow#SupportedValueList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.appflow#Value"
            }
        },
        "com.amazonaws.appflow#SupportedWriteOperationList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.appflow#WriteOperationType"
            }
        },
        "com.amazonaws.appflow#TagKey": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 1,
                    "max": 128
                },
                "smithy.api#pattern": "^(?!aws:)[a-zA-Z+-=._:/]+$"
            }
        },
        "com.amazonaws.appflow#TagKeyList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.appflow#TagKey"
            },
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 50
                }
            }
        },
        "com.amazonaws.appflow#TagMap": {
            "type": "map",
            "key": {
                "target": "com.amazonaws.appflow#TagKey"
            },
            "value": {
                "target": "com.amazonaws.appflow#TagValue"
            },
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 50
                }
            }
        },
        "com.amazonaws.appflow#TagResource": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.appflow#TagResourceRequest"
            },
            "output": {
                "target": "com.amazonaws.appflow#TagResourceResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.appflow#InternalServerException"
                },
                {
                    "target": "com.amazonaws.appflow#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.appflow#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p> Applies a tag to the specified flow. </p>",
                "smithy.api#http": {
                    "method": "POST",
                    "uri": "/tags/{resourceArn}",
                    "code": 200
                }
            }
        },
        "com.amazonaws.appflow#TagResourceRequest": {
            "type": "structure",
            "members": {
                "resourceArn": {
                    "target": "com.amazonaws.appflow#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p> The Amazon Resource Name (ARN) of the flow that you want to tag. </p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                },
                "tags": {
                    "target": "com.amazonaws.appflow#TagMap",
                    "traits": {
                        "smithy.api#documentation": "<p> The tags used to organize, track, or control access for your flow. </p>",
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.appflow#TagResourceResponse": {
            "type": "structure",
            "members": {}
        },
        "com.amazonaws.appflow#TagValue": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 256
                },
                "smithy.api#pattern": "^[\\s\\w+-=\\.:/@]*$"
            }
        },
        "com.amazonaws.appflow#Task": {
            "type": "structure",
            "members": {
                "sourceFields": {
                    "target": "com.amazonaws.appflow#SourceFields",
                    "traits": {
                        "smithy.api#documentation": "<p> The source fields to which a particular task is applied. </p>",
                        "smithy.api#required": {}
                    }
                },
                "connectorOperator": {
                    "target": "com.amazonaws.appflow#ConnectorOperator",
                    "traits": {
                        "smithy.api#documentation": "<p> The operation to be performed on the provided source fields. </p>"
                    }
                },
                "destinationField": {
                    "target": "com.amazonaws.appflow#DestinationField",
                    "traits": {
                        "smithy.api#documentation": "<p> A field in a destination connector, or a field value against which Amazon AppFlow\n      validates a source field. </p>"
                    }
                },
                "taskType": {
                    "target": "com.amazonaws.appflow#TaskType",
                    "traits": {
                        "smithy.api#documentation": "<p> Specifies the particular task implementation that Amazon AppFlow performs. </p>",
                        "smithy.api#required": {}
                    }
                },
                "taskProperties": {
                    "target": "com.amazonaws.appflow#TaskPropertiesMap",
                    "traits": {
                        "smithy.api#documentation": "<p> A map used to store task-related information. The execution service looks for particular\n      information based on the <code>TaskType</code>. </p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> A class for modeling different type of tasks. Task implementation varies based on the\n        <code>TaskType</code>. </p>"
            }
        },
        "com.amazonaws.appflow#TaskPropertiesMap": {
            "type": "map",
            "key": {
                "target": "com.amazonaws.appflow#OperatorPropertiesKeys"
            },
            "value": {
                "target": "com.amazonaws.appflow#Property"
            }
        },
        "com.amazonaws.appflow#TaskType": {
            "type": "string",
            "traits": {
                "smithy.api#enum": [
                    {
                        "value": "Arithmetic",
                        "name": "ARITHMETIC"
                    },
                    {
                        "value": "Filter",
                        "name": "FILTER"
                    },
                    {
                        "value": "Map",
                        "name": "MAP"
                    },
                    {
                        "value": "Map_all",
                        "name": "MAP_ALL"
                    },
                    {
                        "value": "Mask",
                        "name": "MASK"
                    },
                    {
                        "value": "Merge",
                        "name": "MERGE"
                    },
                    {
                        "value": "Passthrough",
                        "name": "PASSTHROUGH"
                    },
                    {
                        "value": "Truncate",
                        "name": "TRUNCATE"
                    },
                    {
                        "value": "Validate",
                        "name": "VALIDATE"
                    }
                ]
            }
        },
        "com.amazonaws.appflow#Tasks": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.appflow#Task"
            }
        },
        "com.amazonaws.appflow#ThrottlingException": {
            "type": "structure",
            "members": {
                "message": {
                    "target": "com.amazonaws.appflow#ErrorMessage"
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>API calls have exceeded the maximum allowed API request rate per account and per Region.\n    </p>",
                "smithy.api#error": "client",
                "smithy.api#httpError": 429
            }
        },
        "com.amazonaws.appflow#Timezone": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 256
                },
                "smithy.api#pattern": ".*"
            }
        },
        "com.amazonaws.appflow#TokenUrl": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 256
                },
                "smithy.api#pattern": "^(https?)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]$"
            }
        },
        "com.amazonaws.appflow#TokenUrlCustomProperties": {
            "type": "map",
            "key": {
                "target": "com.amazonaws.appflow#CustomPropertyKey"
            },
            "value": {
                "target": "com.amazonaws.appflow#CustomPropertyValue"
            },
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 50
                }
            }
        },
        "com.amazonaws.appflow#TokenUrlList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.appflow#TokenUrl"
            }
        },
        "com.amazonaws.appflow#TrendmicroConnectorOperator": {
            "type": "string",
            "traits": {
                "smithy.api#enum": [
                    {
                        "value": "PROJECTION",
                        "name": "PROJECTION"
                    },
                    {
                        "value": "EQUAL_TO",
                        "name": "EQUAL_TO"
                    },
                    {
                        "value": "ADDITION",
                        "name": "ADDITION"
                    },
                    {
                        "value": "MULTIPLICATION",
                        "name": "MULTIPLICATION"
                    },
                    {
                        "value": "DIVISION",
                        "name": "DIVISION"
                    },
                    {
                        "value": "SUBTRACTION",
                        "name": "SUBTRACTION"
                    },
                    {
                        "value": "MASK_ALL",
                        "name": "MASK_ALL"
                    },
                    {
                        "value": "MASK_FIRST_N",
                        "name": "MASK_FIRST_N"
                    },
                    {
                        "value": "MASK_LAST_N",
                        "name": "MASK_LAST_N"
                    },
                    {
                        "value": "VALIDATE_NON_NULL",
                        "name": "VALIDATE_NON_NULL"
                    },
                    {
                        "value": "VALIDATE_NON_ZERO",
                        "name": "VALIDATE_NON_ZERO"
                    },
                    {
                        "value": "VALIDATE_NON_NEGATIVE",
                        "name": "VALIDATE_NON_NEGATIVE"
                    },
                    {
                        "value": "VALIDATE_NUMERIC",
                        "name": "VALIDATE_NUMERIC"
                    },
                    {
                        "value": "NO_OP",
                        "name": "NO_OP"
                    }
                ]
            }
        },
        "com.amazonaws.appflow#TrendmicroConnectorProfileCredentials": {
            "type": "structure",
            "members": {
                "apiSecretKey": {
                    "target": "com.amazonaws.appflow#ApiSecretKey",
                    "traits": {
                        "smithy.api#documentation": "<p> The Secret Access Key portion of the credentials. </p>",
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> The connector-specific profile credentials required when using Trend Micro. </p>"
            }
        },
        "com.amazonaws.appflow#TrendmicroConnectorProfileProperties": {
            "type": "structure",
            "members": {},
            "traits": {
                "smithy.api#documentation": "<p> The connector-specific profile properties required when using Trend Micro. </p>"
            }
        },
        "com.amazonaws.appflow#TrendmicroMetadata": {
            "type": "structure",
            "members": {},
            "traits": {
                "smithy.api#documentation": "<p> The connector metadata specific to Trend Micro. </p>"
            }
        },
        "com.amazonaws.appflow#TrendmicroSourceProperties": {
            "type": "structure",
            "members": {
                "object": {
                    "target": "com.amazonaws.appflow#Object",
                    "traits": {
                        "smithy.api#documentation": "<p> The object specified in the Trend Micro flow source. </p>",
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> The properties that are applied when using Trend Micro as a flow source. </p>"
            }
        },
        "com.amazonaws.appflow#TriggerConfig": {
            "type": "structure",
            "members": {
                "triggerType": {
                    "target": "com.amazonaws.appflow#TriggerType",
                    "traits": {
                        "smithy.api#documentation": "<p> Specifies the type of flow trigger. This can be <code>OnDemand</code>,\n        <code>Scheduled</code>, or <code>Event</code>. </p>",
                        "smithy.api#required": {}
                    }
                },
                "triggerProperties": {
                    "target": "com.amazonaws.appflow#TriggerProperties",
                    "traits": {
                        "smithy.api#documentation": "<p> Specifies the configuration details of a schedule-triggered flow as defined by the user.\n      Currently, these settings only apply to the <code>Scheduled</code> trigger type. </p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> The trigger settings that determine how and when Amazon AppFlow runs the specified\n      flow. </p>"
            }
        },
        "com.amazonaws.appflow#TriggerProperties": {
            "type": "structure",
            "members": {
                "Scheduled": {
                    "target": "com.amazonaws.appflow#ScheduledTriggerProperties",
                    "traits": {
                        "smithy.api#documentation": "<p> Specifies the configuration details of a schedule-triggered flow as defined by the user.\n    </p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> Specifies the configuration details that control the trigger for a flow. Currently, these\n      settings only apply to the <code>Scheduled</code> trigger type. </p>"
            }
        },
        "com.amazonaws.appflow#TriggerType": {
            "type": "string",
            "traits": {
                "smithy.api#enum": [
                    {
                        "value": "Scheduled",
                        "name": "SCHEDULED"
                    },
                    {
                        "value": "Event",
                        "name": "EVENT"
                    },
                    {
                        "value": "OnDemand",
                        "name": "ONDEMAND"
                    }
                ]
            }
        },
        "com.amazonaws.appflow#TriggerTypeList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.appflow#TriggerType"
            }
        },
        "com.amazonaws.appflow#UnregisterConnector": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.appflow#UnregisterConnectorRequest"
            },
            "output": {
                "target": "com.amazonaws.appflow#UnregisterConnectorResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.appflow#ConflictException"
                },
                {
                    "target": "com.amazonaws.appflow#InternalServerException"
                },
                {
                    "target": "com.amazonaws.appflow#ResourceNotFoundException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Unregisters the custom connector registered in your account that matches the\n      connectorLabel provided in the request.</p>",
                "smithy.api#http": {
                    "method": "POST",
                    "uri": "/unregister-connector",
                    "code": 200
                }
            }
        },
        "com.amazonaws.appflow#UnregisterConnectorRequest": {
            "type": "structure",
            "members": {
                "connectorLabel": {
                    "target": "com.amazonaws.appflow#ConnectorLabel",
                    "traits": {
                        "smithy.api#documentation": "<p>The label of the connector. The label is unique for each\n        <code>ConnectorRegistration</code> in your Amazon Web Services account.</p>",
                        "smithy.api#required": {}
                    }
                },
                "forceDelete": {
                    "target": "com.amazonaws.appflow#Boolean",
                    "traits": {
                        "smithy.api#documentation": "<p>Indicates whether Amazon AppFlow should unregister the connector, even if it is\n      currently in use in one or more connector profiles. The default value is false.</p>"
                    }
                }
            }
        },
        "com.amazonaws.appflow#UnregisterConnectorResponse": {
            "type": "structure",
            "members": {}
        },
        "com.amazonaws.appflow#UnsupportedOperationException": {
            "type": "structure",
            "members": {
                "message": {
                    "target": "com.amazonaws.appflow#ErrorMessage"
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> The requested operation is not supported for the current flow. </p>",
                "smithy.api#error": "client",
                "smithy.api#httpError": 400
            }
        },
        "com.amazonaws.appflow#UntagResource": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.appflow#UntagResourceRequest"
            },
            "output": {
                "target": "com.amazonaws.appflow#UntagResourceResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.appflow#InternalServerException"
                },
                {
                    "target": "com.amazonaws.appflow#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.appflow#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p> Removes a tag from the specified flow. </p>",
                "smithy.api#http": {
                    "method": "DELETE",
                    "uri": "/tags/{resourceArn}",
                    "code": 200
                }
            }
        },
        "com.amazonaws.appflow#UntagResourceRequest": {
            "type": "structure",
            "members": {
                "resourceArn": {
                    "target": "com.amazonaws.appflow#ARN",
                    "traits": {
                        "smithy.api#documentation": "<p> The Amazon Resource Name (ARN) of the flow that you want to untag. </p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                },
                "tagKeys": {
                    "target": "com.amazonaws.appflow#TagKeyList",
                    "traits": {
                        "smithy.api#documentation": "<p> The tag keys associated with the tag that you want to remove from your flow. </p>",
                        "smithy.api#httpQuery": "tagKeys",
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.appflow#UntagResourceResponse": {
            "type": "structure",
            "members": {}
        },
        "com.amazonaws.appflow#UpdateConnectorProfile": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.appflow#UpdateConnectorProfileRequest"
            },
            "output": {
                "target": "com.amazonaws.appflow#UpdateConnectorProfileResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.appflow#ConflictException"
                },
                {
                    "target": "com.amazonaws.appflow#ConnectorAuthenticationException"
                },
                {
                    "target": "com.amazonaws.appflow#InternalServerException"
                },
                {
                    "target": "com.amazonaws.appflow#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.appflow#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p> Updates a given connector profile associated with your account. </p>",
                "smithy.api#http": {
                    "method": "POST",
                    "uri": "/update-connector-profile",
                    "code": 200
                }
            }
        },
        "com.amazonaws.appflow#UpdateConnectorProfileRequest": {
            "type": "structure",
            "members": {
                "connectorProfileName": {
                    "target": "com.amazonaws.appflow#ConnectorProfileName",
                    "traits": {
                        "smithy.api#documentation": "<p> The name of the connector profile and is unique for each <code>ConnectorProfile</code> in\n      the Amazon Web Services account. </p>",
                        "smithy.api#required": {}
                    }
                },
                "connectionMode": {
                    "target": "com.amazonaws.appflow#ConnectionMode",
                    "traits": {
                        "smithy.api#documentation": "<p> Indicates the connection mode and if it is public or private. </p>",
                        "smithy.api#required": {}
                    }
                },
                "connectorProfileConfig": {
                    "target": "com.amazonaws.appflow#ConnectorProfileConfig",
                    "traits": {
                        "smithy.api#documentation": "<p> Defines the connector-specific profile configuration and credentials. </p>",
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.appflow#UpdateConnectorProfileResponse": {
            "type": "structure",
            "members": {
                "connectorProfileArn": {
                    "target": "com.amazonaws.appflow#ConnectorProfileArn",
                    "traits": {
                        "smithy.api#documentation": "<p> The Amazon Resource Name (ARN) of the connector profile. </p>"
                    }
                }
            }
        },
        "com.amazonaws.appflow#UpdateFlow": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.appflow#UpdateFlowRequest"
            },
            "output": {
                "target": "com.amazonaws.appflow#UpdateFlowResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.appflow#ConflictException"
                },
                {
                    "target": "com.amazonaws.appflow#ConnectorAuthenticationException"
                },
                {
                    "target": "com.amazonaws.appflow#ConnectorServerException"
                },
                {
                    "target": "com.amazonaws.appflow#InternalServerException"
                },
                {
                    "target": "com.amazonaws.appflow#ResourceNotFoundException"
                },
                {
                    "target": "com.amazonaws.appflow#ServiceQuotaExceededException"
                },
                {
                    "target": "com.amazonaws.appflow#ValidationException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p> Updates an existing flow. </p>",
                "smithy.api#http": {
                    "method": "POST",
                    "uri": "/update-flow",
                    "code": 200
                }
            }
        },
        "com.amazonaws.appflow#UpdateFlowRequest": {
            "type": "structure",
            "members": {
                "flowName": {
                    "target": "com.amazonaws.appflow#FlowName",
                    "traits": {
                        "smithy.api#documentation": "<p> The specified name of the flow. Spaces are not allowed. Use underscores (_) or hyphens\n      (-) only. </p>",
                        "smithy.api#required": {}
                    }
                },
                "description": {
                    "target": "com.amazonaws.appflow#FlowDescription",
                    "traits": {
                        "smithy.api#documentation": "<p> A description of the flow. </p>"
                    }
                },
                "triggerConfig": {
                    "target": "com.amazonaws.appflow#TriggerConfig",
                    "traits": {
                        "smithy.api#documentation": "<p> The trigger settings that determine how and when the flow runs. </p>",
                        "smithy.api#required": {}
                    }
                },
                "sourceFlowConfig": {
                    "target": "com.amazonaws.appflow#SourceFlowConfig",
                    "traits": {
                        "smithy.api#required": {}
                    }
                },
                "destinationFlowConfigList": {
                    "target": "com.amazonaws.appflow#DestinationFlowConfigList",
                    "traits": {
                        "smithy.api#documentation": "<p> The configuration that controls how Amazon AppFlow transfers data to the\n      destination connector. </p>",
                        "smithy.api#required": {}
                    }
                },
                "tasks": {
                    "target": "com.amazonaws.appflow#Tasks",
                    "traits": {
                        "smithy.api#documentation": "<p> A list of tasks that Amazon AppFlow performs while transferring the data in the\n      flow run. </p>",
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.appflow#UpdateFlowResponse": {
            "type": "structure",
            "members": {
                "flowStatus": {
                    "target": "com.amazonaws.appflow#FlowStatus",
                    "traits": {
                        "smithy.api#documentation": "<p>Indicates the current status of the flow. </p>"
                    }
                }
            }
        },
        "com.amazonaws.appflow#UpdatedBy": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 256
                },
                "smithy.api#pattern": "^\\S+$"
            }
        },
        "com.amazonaws.appflow#UpsolverBucketName": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 16,
                    "max": 63
                },
                "smithy.api#pattern": "^(upsolver-appflow)\\S*$"
            }
        },
        "com.amazonaws.appflow#UpsolverDestinationProperties": {
            "type": "structure",
            "members": {
                "bucketName": {
                    "target": "com.amazonaws.appflow#UpsolverBucketName",
                    "traits": {
                        "smithy.api#documentation": "<p> The Upsolver Amazon S3 bucket name in which Amazon AppFlow places the\n      transferred data. </p>",
                        "smithy.api#required": {}
                    }
                },
                "bucketPrefix": {
                    "target": "com.amazonaws.appflow#BucketPrefix",
                    "traits": {
                        "smithy.api#documentation": "<p> The object key for the destination Upsolver Amazon S3 bucket in which Amazon AppFlow places the files. </p>"
                    }
                },
                "s3OutputFormatConfig": {
                    "target": "com.amazonaws.appflow#UpsolverS3OutputFormatConfig",
                    "traits": {
                        "smithy.api#documentation": "<p> The configuration that determines how data is formatted when Upsolver is used as the flow\n      destination. </p>",
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> The properties that are applied when Upsolver is used as a destination. </p>"
            }
        },
        "com.amazonaws.appflow#UpsolverMetadata": {
            "type": "structure",
            "members": {},
            "traits": {
                "smithy.api#documentation": "<p> The connector metadata specific to Upsolver. </p>"
            }
        },
        "com.amazonaws.appflow#UpsolverS3OutputFormatConfig": {
            "type": "structure",
            "members": {
                "fileType": {
                    "target": "com.amazonaws.appflow#FileType",
                    "traits": {
                        "smithy.api#documentation": "<p> Indicates the file type that Amazon AppFlow places in the Upsolver Amazon S3 bucket. </p>"
                    }
                },
                "prefixConfig": {
                    "target": "com.amazonaws.appflow#PrefixConfig",
                    "traits": {
                        "smithy.api#required": {}
                    }
                },
                "aggregationConfig": {
                    "target": "com.amazonaws.appflow#AggregationConfig"
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> The configuration that determines how Amazon AppFlow formats the flow output data\n      when Upsolver is used as the destination. </p>"
            }
        },
        "com.amazonaws.appflow#Username": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 512
                },
                "smithy.api#pattern": "^\\S+$"
            }
        },
        "com.amazonaws.appflow#ValidationException": {
            "type": "structure",
            "members": {
                "message": {
                    "target": "com.amazonaws.appflow#ErrorMessage"
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> The request has invalid or missing parameters. </p>",
                "smithy.api#error": "client",
                "smithy.api#httpError": 400
            }
        },
        "com.amazonaws.appflow#Value": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 128
                },
                "smithy.api#pattern": "^\\S+$"
            }
        },
        "com.amazonaws.appflow#VeevaConnectorOperator": {
            "type": "string",
            "traits": {
                "smithy.api#enum": [
                    {
                        "value": "PROJECTION",
                        "name": "PROJECTION"
                    },
                    {
                        "value": "LESS_THAN",
                        "name": "LESS_THAN"
                    },
                    {
                        "value": "GREATER_THAN",
                        "name": "GREATER_THAN"
                    },
                    {
                        "value": "CONTAINS",
                        "name": "CONTAINS"
                    },
                    {
                        "value": "BETWEEN",
                        "name": "BETWEEN"
                    },
                    {
                        "value": "LESS_THAN_OR_EQUAL_TO",
                        "name": "LESS_THAN_OR_EQUAL_TO"
                    },
                    {
                        "value": "GREATER_THAN_OR_EQUAL_TO",
                        "name": "GREATER_THAN_OR_EQUAL_TO"
                    },
                    {
                        "value": "EQUAL_TO",
                        "name": "EQUAL_TO"
                    },
                    {
                        "value": "NOT_EQUAL_TO",
                        "name": "NOT_EQUAL_TO"
                    },
                    {
                        "value": "ADDITION",
                        "name": "ADDITION"
                    },
                    {
                        "value": "MULTIPLICATION",
                        "name": "MULTIPLICATION"
                    },
                    {
                        "value": "DIVISION",
                        "name": "DIVISION"
                    },
                    {
                        "value": "SUBTRACTION",
                        "name": "SUBTRACTION"
                    },
                    {
                        "value": "MASK_ALL",
                        "name": "MASK_ALL"
                    },
                    {
                        "value": "MASK_FIRST_N",
                        "name": "MASK_FIRST_N"
                    },
                    {
                        "value": "MASK_LAST_N",
                        "name": "MASK_LAST_N"
                    },
                    {
                        "value": "VALIDATE_NON_NULL",
                        "name": "VALIDATE_NON_NULL"
                    },
                    {
                        "value": "VALIDATE_NON_ZERO",
                        "name": "VALIDATE_NON_ZERO"
                    },
                    {
                        "value": "VALIDATE_NON_NEGATIVE",
                        "name": "VALIDATE_NON_NEGATIVE"
                    },
                    {
                        "value": "VALIDATE_NUMERIC",
                        "name": "VALIDATE_NUMERIC"
                    },
                    {
                        "value": "NO_OP",
                        "name": "NO_OP"
                    }
                ]
            }
        },
        "com.amazonaws.appflow#VeevaConnectorProfileCredentials": {
            "type": "structure",
            "members": {
                "username": {
                    "target": "com.amazonaws.appflow#Username",
                    "traits": {
                        "smithy.api#documentation": "<p> The name of the user. </p>",
                        "smithy.api#required": {}
                    }
                },
                "password": {
                    "target": "com.amazonaws.appflow#Password",
                    "traits": {
                        "smithy.api#documentation": "<p> The password that corresponds to the user name. </p>",
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> The connector-specific profile credentials required when using Veeva. </p>"
            }
        },
        "com.amazonaws.appflow#VeevaConnectorProfileProperties": {
            "type": "structure",
            "members": {
                "instanceUrl": {
                    "target": "com.amazonaws.appflow#InstanceUrl",
                    "traits": {
                        "smithy.api#documentation": "<p> The location of the Veeva resource. </p>",
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> The connector-specific profile properties required when using Veeva. </p>"
            }
        },
        "com.amazonaws.appflow#VeevaMetadata": {
            "type": "structure",
            "members": {},
            "traits": {
                "smithy.api#documentation": "<p> The connector metadata specific to Veeva. </p>"
            }
        },
        "com.amazonaws.appflow#VeevaSourceProperties": {
            "type": "structure",
            "members": {
                "object": {
                    "target": "com.amazonaws.appflow#Object",
                    "traits": {
                        "smithy.api#documentation": "<p> The object specified in the Veeva flow source. </p>",
                        "smithy.api#required": {}
                    }
                },
                "documentType": {
                    "target": "com.amazonaws.appflow#DocumentType",
                    "traits": {
                        "smithy.api#documentation": "<p>The document type specified in the Veeva document extract flow.</p>"
                    }
                },
                "includeSourceFiles": {
                    "target": "com.amazonaws.appflow#Boolean",
                    "traits": {
                        "smithy.api#documentation": "<p>Boolean value to include source files in Veeva document extract flow.</p>"
                    }
                },
                "includeRenditions": {
                    "target": "com.amazonaws.appflow#Boolean",
                    "traits": {
                        "smithy.api#documentation": "<p>Boolean value to include file renditions in Veeva document extract flow.</p>"
                    }
                },
                "includeAllVersions": {
                    "target": "com.amazonaws.appflow#Boolean",
                    "traits": {
                        "smithy.api#documentation": "<p>Boolean value to include All Versions of files in Veeva document extract flow.</p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> The properties that are applied when using Veeva as a flow source. </p>"
            }
        },
        "com.amazonaws.appflow#Warehouse": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 512
                },
                "smithy.api#pattern": "^[\\s\\w/!@#+=.-]*$"
            }
        },
        "com.amazonaws.appflow#WriteOperationType": {
            "type": "string",
            "traits": {
                "smithy.api#documentation": "<p> The possible write operations in the destination connector. When this value is not\n      provided, this defaults to the <code>INSERT</code> operation. </p>",
                "smithy.api#enum": [
                    {
                        "value": "INSERT",
                        "name": "INSERT"
                    },
                    {
                        "value": "UPSERT",
                        "name": "UPSERT"
                    },
                    {
                        "value": "UPDATE",
                        "name": "UPDATE"
                    },
                    {
                        "value": "DELETE",
                        "name": "DELETE"
                    }
                ]
            }
        },
        "com.amazonaws.appflow#ZendeskConnectorOperator": {
            "type": "string",
            "traits": {
                "smithy.api#enum": [
                    {
                        "value": "PROJECTION",
                        "name": "PROJECTION"
                    },
                    {
                        "value": "GREATER_THAN",
                        "name": "GREATER_THAN"
                    },
                    {
                        "value": "ADDITION",
                        "name": "ADDITION"
                    },
                    {
                        "value": "MULTIPLICATION",
                        "name": "MULTIPLICATION"
                    },
                    {
                        "value": "DIVISION",
                        "name": "DIVISION"
                    },
                    {
                        "value": "SUBTRACTION",
                        "name": "SUBTRACTION"
                    },
                    {
                        "value": "MASK_ALL",
                        "name": "MASK_ALL"
                    },
                    {
                        "value": "MASK_FIRST_N",
                        "name": "MASK_FIRST_N"
                    },
                    {
                        "value": "MASK_LAST_N",
                        "name": "MASK_LAST_N"
                    },
                    {
                        "value": "VALIDATE_NON_NULL",
                        "name": "VALIDATE_NON_NULL"
                    },
                    {
                        "value": "VALIDATE_NON_ZERO",
                        "name": "VALIDATE_NON_ZERO"
                    },
                    {
                        "value": "VALIDATE_NON_NEGATIVE",
                        "name": "VALIDATE_NON_NEGATIVE"
                    },
                    {
                        "value": "VALIDATE_NUMERIC",
                        "name": "VALIDATE_NUMERIC"
                    },
                    {
                        "value": "NO_OP",
                        "name": "NO_OP"
                    }
                ]
            }
        },
        "com.amazonaws.appflow#ZendeskConnectorProfileCredentials": {
            "type": "structure",
            "members": {
                "clientId": {
                    "target": "com.amazonaws.appflow#ClientId",
                    "traits": {
                        "smithy.api#documentation": "<p> The identifier for the desired client. </p>",
                        "smithy.api#required": {}
                    }
                },
                "clientSecret": {
                    "target": "com.amazonaws.appflow#ClientSecret",
                    "traits": {
                        "smithy.api#documentation": "<p> The client secret used by the OAuth client to authenticate to the authorization server.\n    </p>",
                        "smithy.api#required": {}
                    }
                },
                "accessToken": {
                    "target": "com.amazonaws.appflow#AccessToken",
                    "traits": {
                        "smithy.api#documentation": "<p> The credentials used to access protected Zendesk resources. </p>"
                    }
                },
                "oAuthRequest": {
                    "target": "com.amazonaws.appflow#ConnectorOAuthRequest",
                    "traits": {
                        "smithy.api#documentation": "<p> The OAuth requirement needed to request security tokens from the connector endpoint.\n    </p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> The connector-specific profile credentials required when using Zendesk. </p>"
            }
        },
        "com.amazonaws.appflow#ZendeskConnectorProfileProperties": {
            "type": "structure",
            "members": {
                "instanceUrl": {
                    "target": "com.amazonaws.appflow#InstanceUrl",
                    "traits": {
                        "smithy.api#documentation": "<p> The location of the Zendesk resource. </p>",
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> The connector-specific profile properties required when using Zendesk. </p>"
            }
        },
        "com.amazonaws.appflow#ZendeskDestinationProperties": {
            "type": "structure",
            "members": {
                "object": {
                    "target": "com.amazonaws.appflow#Object",
                    "traits": {
                        "smithy.api#documentation": "<p>The object specified in the Zendesk flow destination.</p>",
                        "smithy.api#required": {}
                    }
                },
                "idFieldNames": {
                    "target": "com.amazonaws.appflow#IdFieldNameList"
                },
                "errorHandlingConfig": {
                    "target": "com.amazonaws.appflow#ErrorHandlingConfig"
                },
                "writeOperationType": {
                    "target": "com.amazonaws.appflow#WriteOperationType"
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>The properties that are applied when Zendesk is used as a destination.</p>"
            }
        },
        "com.amazonaws.appflow#ZendeskMetadata": {
            "type": "structure",
            "members": {
                "oAuthScopes": {
                    "target": "com.amazonaws.appflow#OAuthScopeList",
                    "traits": {
                        "smithy.api#documentation": "<p> The desired authorization scope for the Zendesk account. </p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> The connector metadata specific to Zendesk. </p>"
            }
        },
        "com.amazonaws.appflow#ZendeskSourceProperties": {
            "type": "structure",
            "members": {
                "object": {
                    "target": "com.amazonaws.appflow#Object",
                    "traits": {
                        "smithy.api#documentation": "<p> The object specified in the Zendesk flow source. </p>",
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p> The properties that are applied when using Zendesk as a flow source. </p>"
            }
        }
    }
}
