{
  "version":"2.0",
  "metadata":{
    "apiVersion":"2017-07-25",
    "endpointPrefix":"databrew",
    "jsonVersion":"1.1",
    "protocol":"rest-json",
    "serviceFullName":"AWS Glue DataBrew",
    "serviceId":"DataBrew",
    "signatureVersion":"v4",
    "signingName":"databrew",
    "uid":"databrew-2017-07-25"
  },
  "operations":{
    "BatchDeleteRecipeVersion":{
      "name":"BatchDeleteRecipeVersion",
      "http":{
        "method":"POST",
        "requestUri":"/recipes/{name}/batchDeleteRecipeVersion"
      },
      "input":{"shape":"BatchDeleteRecipeVersionRequest"},
      "output":{"shape":"BatchDeleteRecipeVersionResponse"},
      "errors":[
        {"shape":"ConflictException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"}
      ],
      "documentation":"<p>Deletes one or more versions of a recipe at a time.</p>"
    },
    "CreateDataset":{
      "name":"CreateDataset",
      "http":{
        "method":"POST",
        "requestUri":"/datasets"
      },
      "input":{"shape":"CreateDatasetRequest"},
      "output":{"shape":"CreateDatasetResponse"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ConflictException"},
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ValidationException"}
      ],
      "documentation":"<p>Creates a new AWS Glue DataBrew dataset for this AWS account.</p>"
    },
    "CreateProfileJob":{
      "name":"CreateProfileJob",
      "http":{
        "method":"POST",
        "requestUri":"/profileJobs"
      },
      "input":{"shape":"CreateProfileJobRequest"},
      "output":{"shape":"CreateProfileJobResponse"},
      "errors":[
        {"shape":"ValidationException"}
      ],
      "documentation":"<p>Creates a new job to profile an AWS Glue DataBrew dataset that exists in the current AWS account.</p>"
    },
    "CreateProject":{
      "name":"CreateProject",
      "http":{
        "method":"POST",
        "requestUri":"/projects"
      },
      "input":{"shape":"CreateProjectRequest"},
      "output":{"shape":"CreateProjectResponse"},
      "errors":[
        {"shape":"ConflictException"},
        {"shape":"InternalServerException"},
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ValidationException"}
      ],
      "documentation":"<p>Creates a new AWS Glue DataBrew project in the current AWS account.</p>"
    },
    "CreateRecipe":{
      "name":"CreateRecipe",
      "http":{
        "method":"POST",
        "requestUri":"/recipes"
      },
      "input":{"shape":"CreateRecipeRequest"},
      "output":{"shape":"CreateRecipeResponse"},
      "errors":[
        {"shape":"ConflictException"},
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ValidationException"}
      ],
      "documentation":"<p>Creates a new AWS Glue DataBrew recipe for the current AWS account.</p>"
    },
    "CreateRecipeJob":{
      "name":"CreateRecipeJob",
      "http":{
        "method":"POST",
        "requestUri":"/recipeJobs"
      },
      "input":{"shape":"CreateRecipeJobRequest"},
      "output":{"shape":"CreateRecipeJobResponse"},
      "errors":[
        {"shape":"ValidationException"}
      ],
      "documentation":"<p>Creates a new job for an existing AWS Glue DataBrew recipe in the current AWS account. You can create a standalone job using either a project, or a combination of a recipe and a dataset.</p>"
    },
    "CreateSchedule":{
      "name":"CreateSchedule",
      "http":{
        "method":"POST",
        "requestUri":"/schedules"
      },
      "input":{"shape":"CreateScheduleRequest"},
      "output":{"shape":"CreateScheduleResponse"},
      "errors":[
        {"shape":"ValidationException"}
      ],
      "documentation":"<p>Creates a new schedule for one or more AWS Glue DataBrew jobs. Jobs can be run at a specific date and time, or at regular intervals.</p>"
    },
    "DeleteDataset":{
      "name":"DeleteDataset",
      "http":{
        "method":"DELETE",
        "requestUri":"/datasets/{name}"
      },
      "input":{"shape":"DeleteDatasetRequest"},
      "output":{"shape":"DeleteDatasetResponse"},
      "errors":[
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"}
      ],
      "documentation":"<p>Deletes a dataset from AWS Glue DataBrew.</p>"
    },
    "DeleteJob":{
      "name":"DeleteJob",
      "http":{
        "method":"DELETE",
        "requestUri":"/jobs/{name}"
      },
      "input":{"shape":"DeleteJobRequest"},
      "output":{"shape":"DeleteJobResponse"},
      "errors":[
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"}
      ],
      "documentation":"<p>Deletes the specified AWS Glue DataBrew job from the current AWS account. The job can be for a recipe or for a profile.</p>"
    },
    "DeleteProject":{
      "name":"DeleteProject",
      "http":{
        "method":"DELETE",
        "requestUri":"/projects/{name}"
      },
      "input":{"shape":"DeleteProjectRequest"},
      "output":{"shape":"DeleteProjectResponse"},
      "errors":[
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"}
      ],
      "documentation":"<p>Deletes an existing AWS Glue DataBrew project from the current AWS account.</p>"
    },
    "DeleteRecipeVersion":{
      "name":"DeleteRecipeVersion",
      "http":{
        "method":"DELETE",
        "requestUri":"/recipes/{name}/recipeVersion/{recipeVersion}"
      },
      "input":{"shape":"DeleteRecipeVersionRequest"},
      "output":{"shape":"DeleteRecipeVersionResponse"},
      "errors":[
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"}
      ],
      "documentation":"<p>Deletes a single version of an AWS Glue DataBrew recipe.</p>"
    },
    "DeleteSchedule":{
      "name":"DeleteSchedule",
      "http":{
        "method":"DELETE",
        "requestUri":"/schedules/{name}"
      },
      "input":{"shape":"DeleteScheduleRequest"},
      "output":{"shape":"DeleteScheduleResponse"},
      "errors":[
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"}
      ],
      "documentation":"<p>Deletes the specified AWS Glue DataBrew schedule from the current AWS account.</p>"
    },
    "DescribeDataset":{
      "name":"DescribeDataset",
      "http":{
        "method":"GET",
        "requestUri":"/datasets/{name}"
      },
      "input":{"shape":"DescribeDatasetRequest"},
      "output":{"shape":"DescribeDatasetResponse"},
      "errors":[
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"}
      ],
      "documentation":"<p>Returns the definition of a specific AWS Glue DataBrew dataset that is in the current AWS account.</p>"
    },
    "DescribeJob":{
      "name":"DescribeJob",
      "http":{
        "method":"GET",
        "requestUri":"/jobs/{name}"
      },
      "input":{"shape":"DescribeJobRequest"},
      "output":{"shape":"DescribeJobResponse"},
      "errors":[
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"}
      ],
      "documentation":"<p>Returns the definition of a specific AWS Glue DataBrew job that is in the current AWS account.</p>"
    },
    "DescribeProject":{
      "name":"DescribeProject",
      "http":{
        "method":"GET",
        "requestUri":"/projects/{name}"
      },
      "input":{"shape":"DescribeProjectRequest"},
      "output":{"shape":"DescribeProjectResponse"},
      "errors":[
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"}
      ],
      "documentation":"<p>Returns the definition of a specific AWS Glue DataBrew project that is in the current AWS account.</p>"
    },
    "DescribeRecipe":{
      "name":"DescribeRecipe",
      "http":{
        "method":"GET",
        "requestUri":"/recipes/{name}"
      },
      "input":{"shape":"DescribeRecipeRequest"},
      "output":{"shape":"DescribeRecipeResponse"},
      "errors":[
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"}
      ],
      "documentation":"<p>Returns the definition of a specific AWS Glue DataBrew recipe that is in the current AWS account.</p>"
    },
    "DescribeSchedule":{
      "name":"DescribeSchedule",
      "http":{
        "method":"GET",
        "requestUri":"/schedules/{name}"
      },
      "input":{"shape":"DescribeScheduleRequest"},
      "output":{"shape":"DescribeScheduleResponse"},
      "errors":[
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"}
      ],
      "documentation":"<p>Returns the definition of a specific AWS Glue DataBrew schedule that is in the current AWS account.</p>"
    },
    "ListDatasets":{
      "name":"ListDatasets",
      "http":{
        "method":"GET",
        "requestUri":"/datasets"
      },
      "input":{"shape":"ListDatasetsRequest"},
      "output":{"shape":"ListDatasetsResponse"},
      "errors":[
        {"shape":"ValidationException"}
      ],
      "documentation":"<p>Lists all of the AWS Glue DataBrew datasets for the current AWS account.</p>"
    },
    "ListJobRuns":{
      "name":"ListJobRuns",
      "http":{
        "method":"GET",
        "requestUri":"/jobs/{name}/jobRuns"
      },
      "input":{"shape":"ListJobRunsRequest"},
      "output":{"shape":"ListJobRunsResponse"},
      "errors":[
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"}
      ],
      "documentation":"<p>Lists all of the previous runs of a particular AWS Glue DataBrew job in the current AWS account.</p>"
    },
    "ListJobs":{
      "name":"ListJobs",
      "http":{
        "method":"GET",
        "requestUri":"/jobs"
      },
      "input":{"shape":"ListJobsRequest"},
      "output":{"shape":"ListJobsResponse"},
      "errors":[
        {"shape":"ValidationException"}
      ],
      "documentation":"<p>Lists the AWS Glue DataBrew jobs in the current AWS account.</p>"
    },
    "ListProjects":{
      "name":"ListProjects",
      "http":{
        "method":"GET",
        "requestUri":"/projects"
      },
      "input":{"shape":"ListProjectsRequest"},
      "output":{"shape":"ListProjectsResponse"},
      "errors":[
        {"shape":"ValidationException"}
      ],
      "documentation":"<p>Lists all of the DataBrew projects in the current AWS account.</p>"
    },
    "ListRecipeVersions":{
      "name":"ListRecipeVersions",
      "http":{
        "method":"GET",
        "requestUri":"/recipeVersions"
      },
      "input":{"shape":"ListRecipeVersionsRequest"},
      "output":{"shape":"ListRecipeVersionsResponse"},
      "errors":[
        {"shape":"ValidationException"}
      ],
      "documentation":"<p>Lists all of the versions of a particular AWS Glue DataBrew recipe in the current AWS account.</p>"
    },
    "ListRecipes":{
      "name":"ListRecipes",
      "http":{
        "method":"GET",
        "requestUri":"/recipes"
      },
      "input":{"shape":"ListRecipesRequest"},
      "output":{"shape":"ListRecipesResponse"},
      "errors":[
        {"shape":"ValidationException"}
      ],
      "documentation":"<p>Lists all of the AWS Glue DataBrew recipes in the current AWS account.</p>"
    },
    "ListSchedules":{
      "name":"ListSchedules",
      "http":{
        "method":"GET",
        "requestUri":"/schedules"
      },
      "input":{"shape":"ListSchedulesRequest"},
      "output":{"shape":"ListSchedulesResponse"},
      "errors":[
        {"shape":"ValidationException"}
      ],
      "documentation":"<p>Lists the AWS Glue DataBrew schedules in the current AWS account.</p>"
    },
    "ListTagsForResource":{
      "name":"ListTagsForResource",
      "http":{
        "method":"GET",
        "requestUri":"/tags/{ResourceArn}"
      },
      "input":{"shape":"ListTagsForResourceRequest"},
      "output":{"shape":"ListTagsForResourceResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"}
      ],
      "documentation":"<p>Lists all the tags for an AWS Glue DataBrew resource. </p>"
    },
    "PublishRecipe":{
      "name":"PublishRecipe",
      "http":{
        "method":"POST",
        "requestUri":"/recipes/{name}/publishRecipe"
      },
      "input":{"shape":"PublishRecipeRequest"},
      "output":{"shape":"PublishRecipeResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"ResourceNotFoundException"}
      ],
      "documentation":"<p>Publishes a new major version of an AWS Glue DataBrew recipe that exists in the current AWS account.</p>"
    },
    "SendProjectSessionAction":{
      "name":"SendProjectSessionAction",
      "http":{
        "method":"PUT",
        "requestUri":"/projects/{name}/sendProjectSessionAction"
      },
      "input":{"shape":"SendProjectSessionActionRequest"},
      "output":{"shape":"SendProjectSessionActionResponse"},
      "errors":[
        {"shape":"ConflictException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"}
      ],
      "documentation":"<p>Performs a recipe step within an interactive AWS Glue DataBrew session that's currently open.</p>"
    },
    "StartJobRun":{
      "name":"StartJobRun",
      "http":{
        "method":"POST",
        "requestUri":"/jobs/{name}/startJobRun"
      },
      "input":{"shape":"StartJobRunRequest"},
      "output":{"shape":"StartJobRunResponse"},
      "errors":[
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"}
      ],
      "documentation":"<p>Runs an AWS Glue DataBrew job that exists in the current AWS account.</p>"
    },
    "StartProjectSession":{
      "name":"StartProjectSession",
      "http":{
        "method":"PUT",
        "requestUri":"/projects/{name}/startProjectSession"
      },
      "input":{"shape":"StartProjectSessionRequest"},
      "output":{"shape":"StartProjectSessionResponse"},
      "errors":[
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"}
      ],
      "documentation":"<p>Creates an interactive session, enabling you to manipulate an AWS Glue DataBrew project.</p>"
    },
    "StopJobRun":{
      "name":"StopJobRun",
      "http":{
        "method":"POST",
        "requestUri":"/jobs/{name}/jobRun/{runId}/stopJobRun"
      },
      "input":{"shape":"StopJobRunRequest"},
      "output":{"shape":"StopJobRunResponse"},
      "errors":[
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"}
      ],
      "documentation":"<p>Stops the specified job from running in the current AWS account.</p>"
    },
    "TagResource":{
      "name":"TagResource",
      "http":{
        "method":"POST",
        "requestUri":"/tags/{ResourceArn}"
      },
      "input":{"shape":"TagResourceRequest"},
      "output":{"shape":"TagResourceResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"}
      ],
      "documentation":"<p>Adds metadata tags to an AWS Glue DataBrew resource, such as a dataset, job, project, or recipe.</p>"
    },
    "UntagResource":{
      "name":"UntagResource",
      "http":{
        "method":"DELETE",
        "requestUri":"/tags/{ResourceArn}"
      },
      "input":{"shape":"UntagResourceRequest"},
      "output":{"shape":"UntagResourceResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"}
      ],
      "documentation":"<p>Removes metadata tags from an AWS Glue DataBrew resource.</p>"
    },
    "UpdateDataset":{
      "name":"UpdateDataset",
      "http":{
        "method":"PUT",
        "requestUri":"/datasets/{name}"
      },
      "input":{"shape":"UpdateDatasetRequest"},
      "output":{"shape":"UpdateDatasetResponse"},
      "errors":[
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"}
      ],
      "documentation":"<p>Modifies the definition of an existing AWS Glue DataBrew dataset in the current AWS account.</p>"
    },
    "UpdateProfileJob":{
      "name":"UpdateProfileJob",
      "http":{
        "method":"PUT",
        "requestUri":"/profileJobs/{name}"
      },
      "input":{"shape":"UpdateProfileJobRequest"},
      "output":{"shape":"UpdateProfileJobResponse"},
      "errors":[
        {"shape":"ValidationException"}
      ],
      "documentation":"<p>Modifies the definition of an existing AWS Glue DataBrew job in the current AWS account.</p>"
    },
    "UpdateProject":{
      "name":"UpdateProject",
      "http":{
        "method":"PUT",
        "requestUri":"/projects/{name}"
      },
      "input":{"shape":"UpdateProjectRequest"},
      "output":{"shape":"UpdateProjectResponse"},
      "errors":[
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"}
      ],
      "documentation":"<p>Modifies the definition of an existing AWS Glue DataBrew project in the current AWS account.</p>"
    },
    "UpdateRecipe":{
      "name":"UpdateRecipe",
      "http":{
        "method":"PUT",
        "requestUri":"/recipes/{name}"
      },
      "input":{"shape":"UpdateRecipeRequest"},
      "output":{"shape":"UpdateRecipeResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"ResourceNotFoundException"}
      ],
      "documentation":"<p>Modifies the definition of the latest working version of an AWS Glue DataBrew recipe in the current AWS account.</p>"
    },
    "UpdateRecipeJob":{
      "name":"UpdateRecipeJob",
      "http":{
        "method":"PUT",
        "requestUri":"/recipeJobs/{name}"
      },
      "input":{"shape":"UpdateRecipeJobRequest"},
      "output":{"shape":"UpdateRecipeJobResponse"},
      "errors":[
        {"shape":"ValidationException"}
      ],
      "documentation":"<p>Modifies the definition of an existing AWS Glue DataBrew recipe job in the current AWS account.</p>"
    },
    "UpdateSchedule":{
      "name":"UpdateSchedule",
      "http":{
        "method":"PUT",
        "requestUri":"/schedules/{name}"
      },
      "input":{"shape":"UpdateScheduleRequest"},
      "output":{"shape":"UpdateScheduleResponse"},
      "errors":[
        {"shape":"ValidationException"}
      ],
      "documentation":"<p>Modifies the definition of an existing AWS Glue DataBrew schedule in the current AWS account.</p>"
    }
  },
  "shapes":{
    "AccessDeniedException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"Message"}
      },
      "documentation":"<p>Access to the specified resource was denied.</p>",
      "error":{"httpStatusCode":403},
      "exception":true
    },
    "AccountId":{
      "type":"string",
      "max":255
    },
    "ActionId":{"type":"integer"},
    "Arn":{
      "type":"string",
      "max":2048,
      "min":20
    },
    "AssumeControl":{"type":"boolean"},
    "Attempt":{"type":"integer"},
    "BatchDeleteRecipeVersionRequest":{
      "type":"structure",
      "required":[
        "Name",
        "RecipeVersions"
      ],
      "members":{
        "Name":{
          "shape":"RecipeName",
          "documentation":"<p>The name of the recipe to be modified.</p>",
          "location":"uri",
          "locationName":"name"
        },
        "RecipeVersions":{
          "shape":"RecipeVersionList",
          "documentation":"<p>An array of version identifiers to be deleted.</p>"
        }
      }
    },
    "BatchDeleteRecipeVersionResponse":{
      "type":"structure",
      "required":["Name"],
      "members":{
        "Name":{
          "shape":"RecipeName",
          "documentation":"<p>The name of the recipe that was modified.</p>"
        },
        "Errors":{
          "shape":"RecipeErrorList",
          "documentation":"<p>Errors, if any, that were encountered when deleting the recipe versions.</p>"
        }
      }
    },
    "Bucket":{
      "type":"string",
      "max":63,
      "min":3
    },
    "CatalogId":{
      "type":"string",
      "max":255,
      "min":1
    },
    "ClientSessionId":{
      "type":"string",
      "max":255,
      "min":1,
      "pattern":"^[a-zA-Z0-9][a-zA-Z0-9-]*$"
    },
    "ColumnName":{
      "type":"string",
      "max":255,
      "min":1
    },
    "ColumnNameList":{
      "type":"list",
      "member":{"shape":"ColumnName"},
      "max":200
    },
    "ColumnRange":{
      "type":"integer",
      "max":20,
      "min":0
    },
    "CompressionFormat":{
      "type":"string",
      "enum":[
        "GZIP",
        "LZ4",
        "SNAPPY",
        "BZIP2",
        "DEFLATE",
        "LZO",
        "BROTLI",
        "ZSTD",
        "ZLIB"
      ]
    },
    "Condition":{
      "type":"string",
      "max":128,
      "min":1,
      "pattern":"^[A-Z\\_]+$"
    },
    "ConditionExpression":{
      "type":"structure",
      "required":[
        "Condition",
        "TargetColumn"
      ],
      "members":{
        "Condition":{
          "shape":"Condition",
          "documentation":"<p>A specific condition to apply to a recipe action. For more information, see <a href=\"https://docs.aws.amazon.com/databrew/latest/dg/recipe-structure.html\">Recipe structure</a> in the <i>AWS Glue DataBrew Developer Guide</i>.</p>"
        },
        "Value":{
          "shape":"ConditionValue",
          "documentation":"<p>A value that the condition must evaluate to for the condition to succeed.</p>"
        },
        "TargetColumn":{
          "shape":"TargetColumn",
          "documentation":"<p>A column to apply this condition to, within an AWS Glue DataBrew dataset.</p>"
        }
      },
      "documentation":"<p>Represents an individual condition that evaluates to true or false.</p> <p>Conditions are used with recipe actions: The action is only performed for column values where the condition evaluates to true.</p> <p>If a recipe requires more than one condition, then the recipe must specify multiple <code>ConditionExpression</code> elements. Each condition is applied to the rows in a dataset first, before the recipe action is performed.</p>"
    },
    "ConditionExpressionList":{
      "type":"list",
      "member":{"shape":"ConditionExpression"}
    },
    "ConditionValue":{
      "type":"string",
      "max":1024
    },
    "ConflictException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"Message"}
      },
      "documentation":"<p>Updating or deleting a resource can cause an inconsistent state.</p>",
      "error":{"httpStatusCode":409},
      "exception":true
    },
    "CreateDatasetRequest":{
      "type":"structure",
      "required":[
        "Name",
        "Input"
      ],
      "members":{
        "Name":{
          "shape":"DatasetName",
          "documentation":"<p>The name of the dataset to be created.</p>"
        },
        "FormatOptions":{"shape":"FormatOptions"},
        "Input":{"shape":"Input"},
        "Tags":{
          "shape":"TagMap",
          "documentation":"<p>Metadata tags to apply to this dataset.</p>"
        }
      }
    },
    "CreateDatasetResponse":{
      "type":"structure",
      "required":["Name"],
      "members":{
        "Name":{
          "shape":"DatasetName",
          "documentation":"<p>The name of the dataset that you created.</p>"
        }
      }
    },
    "CreateProfileJobRequest":{
      "type":"structure",
      "required":[
        "DatasetName",
        "Name",
        "OutputLocation",
        "RoleArn"
      ],
      "members":{
        "DatasetName":{
          "shape":"DatasetName",
          "documentation":"<p>The name of the dataset that this job is to act upon.</p>"
        },
        "EncryptionKeyArn":{
          "shape":"EncryptionKeyArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of an encryption key that is used to protect the job.</p>"
        },
        "EncryptionMode":{
          "shape":"EncryptionMode",
          "documentation":"<p>The encryption mode for the job, which can be one of the following:</p> <ul> <li> <p> <code>SSE-KMS</code> - para&gt;<code>SSE-KMS</code> - server-side encryption with AWS KMS-managed keys.</p> </li> <li> <p> <code>SSE-S3</code> - Server-side encryption with keys managed by Amazon S3.</p> </li> </ul>"
        },
        "Name":{
          "shape":"JobName",
          "documentation":"<p>The name of the job to be created.</p>"
        },
        "LogSubscription":{
          "shape":"LogSubscription",
          "documentation":"<p>A value that enables or disables Amazon CloudWatch logging for the current AWS account. If logging is enabled, CloudWatch writes one log stream for each job run.</p>"
        },
        "MaxCapacity":{
          "shape":"MaxCapacity",
          "documentation":"<p>The maximum number of nodes that DataBrew can use when the job processes data.</p>"
        },
        "MaxRetries":{
          "shape":"MaxRetries",
          "documentation":"<p>The maximum number of times to retry the job after a job run fails.</p>"
        },
        "OutputLocation":{"shape":"S3Location"},
        "RoleArn":{
          "shape":"Arn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role to be assumed for this request.</p>"
        },
        "Tags":{
          "shape":"TagMap",
          "documentation":"<p>Metadata tags to apply to this job.</p>"
        },
        "Timeout":{
          "shape":"Timeout",
          "documentation":"<p>The job's timeout in minutes. A job that attempts to run longer than this timeout period ends with a status of <code>TIMEOUT</code>.</p>"
        }
      }
    },
    "CreateProfileJobResponse":{
      "type":"structure",
      "required":["Name"],
      "members":{
        "Name":{
          "shape":"JobName",
          "documentation":"<p>The name of the job that was created.</p>"
        }
      }
    },
    "CreateProjectRequest":{
      "type":"structure",
      "required":[
        "DatasetName",
        "Name",
        "RecipeName",
        "RoleArn"
      ],
      "members":{
        "DatasetName":{
          "shape":"DatasetName",
          "documentation":"<p>The name of the dataset to associate this project with.</p>"
        },
        "Name":{
          "shape":"ProjectName",
          "documentation":"<p>A unique name for the new project.</p>"
        },
        "RecipeName":{
          "shape":"RecipeName",
          "documentation":"<p>The name of an existing recipe to associate with the project.</p>"
        },
        "Sample":{"shape":"Sample"},
        "RoleArn":{
          "shape":"Arn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role to be assumed for this request.</p>"
        },
        "Tags":{
          "shape":"TagMap",
          "documentation":"<p>Metadata tags to apply to this project.</p>"
        }
      }
    },
    "CreateProjectResponse":{
      "type":"structure",
      "required":["Name"],
      "members":{
        "Name":{
          "shape":"ProjectName",
          "documentation":"<p>The name of the project that you created.</p>"
        }
      }
    },
    "CreateRecipeJobRequest":{
      "type":"structure",
      "required":[
        "Name",
        "Outputs",
        "RoleArn"
      ],
      "members":{
        "DatasetName":{
          "shape":"DatasetName",
          "documentation":"<p>The name of the dataset that this job processes.</p>"
        },
        "EncryptionKeyArn":{
          "shape":"EncryptionKeyArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of an encryption key that is used to protect the job.</p>"
        },
        "EncryptionMode":{
          "shape":"EncryptionMode",
          "documentation":"<p>The encryption mode for the job, which can be one of the following:</p> <ul> <li> <p> <code>SSE-KMS</code> - Server-side encryption with AWS KMS-managed keys.</p> </li> <li> <p> <code>SSE-S3</code> - Server-side encryption with keys managed by Amazon S3.</p> </li> </ul>"
        },
        "Name":{
          "shape":"JobName",
          "documentation":"<p>A unique name for the job.</p>"
        },
        "LogSubscription":{
          "shape":"LogSubscription",
          "documentation":"<p>A value that enables or disables Amazon CloudWatch logging for the current AWS account. If logging is enabled, CloudWatch writes one log stream for each job run.</p>"
        },
        "MaxCapacity":{
          "shape":"MaxCapacity",
          "documentation":"<p>The maximum number of nodes that DataBrew can consume when the job processes data.</p>"
        },
        "MaxRetries":{
          "shape":"MaxRetries",
          "documentation":"<p>The maximum number of times to retry the job after a job run fails.</p>"
        },
        "Outputs":{
          "shape":"OutputList",
          "documentation":"<p>One or more artifacts that represent the output from running the job.</p>"
        },
        "ProjectName":{
          "shape":"ProjectName",
          "documentation":"<p>Either the name of an existing project, or a combination of a recipe and a dataset to associate with the recipe.</p>"
        },
        "RecipeReference":{"shape":"RecipeReference"},
        "RoleArn":{
          "shape":"Arn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role to be assumed for this request.</p>"
        },
        "Tags":{
          "shape":"TagMap",
          "documentation":"<p>Metadata tags to apply to this job dataset.</p>"
        },
        "Timeout":{
          "shape":"Timeout",
          "documentation":"<p>The job's timeout in minutes. A job that attempts to run longer than this timeout period ends with a status of <code>TIMEOUT</code>.</p>"
        }
      }
    },
    "CreateRecipeJobResponse":{
      "type":"structure",
      "required":["Name"],
      "members":{
        "Name":{
          "shape":"JobName",
          "documentation":"<p>The name of the job that you created.</p>"
        }
      }
    },
    "CreateRecipeRequest":{
      "type":"structure",
      "required":[
        "Name",
        "Steps"
      ],
      "members":{
        "Description":{
          "shape":"RecipeDescription",
          "documentation":"<p>A description for the recipe.</p>"
        },
        "Name":{
          "shape":"RecipeName",
          "documentation":"<p>A unique name for the recipe.</p>"
        },
        "Steps":{
          "shape":"RecipeStepList",
          "documentation":"<p>An array containing the steps to be performed by the recipe. Each recipe step consists of one recipe action and (optionally) an array of condition expressions.</p>"
        },
        "Tags":{
          "shape":"TagMap",
          "documentation":"<p>Metadata tags to apply to this recipe.</p>"
        }
      }
    },
    "CreateRecipeResponse":{
      "type":"structure",
      "required":["Name"],
      "members":{
        "Name":{
          "shape":"RecipeName",
          "documentation":"<p>The name of the recipe that you created.</p>"
        }
      }
    },
    "CreateScheduleRequest":{
      "type":"structure",
      "required":[
        "CronExpression",
        "Name"
      ],
      "members":{
        "JobNames":{
          "shape":"JobNameList",
          "documentation":"<p>The name or names of one or more jobs to be run.</p>"
        },
        "CronExpression":{
          "shape":"CronExpression",
          "documentation":"<p>The date or dates and time or times, in <code>cron</code> format, when the jobs are to be run.</p>"
        },
        "Tags":{
          "shape":"TagMap",
          "documentation":"<p>Metadata tags to apply to this schedule.</p>"
        },
        "Name":{
          "shape":"ScheduleName",
          "documentation":"<p>A unique name for the schedule.</p>"
        }
      }
    },
    "CreateScheduleResponse":{
      "type":"structure",
      "required":["Name"],
      "members":{
        "Name":{
          "shape":"ScheduleName",
          "documentation":"<p>The name of the schedule that was created.</p>"
        }
      }
    },
    "CreatedBy":{"type":"string"},
    "CronExpression":{
      "type":"string",
      "max":512,
      "min":1
    },
    "DataCatalogInputDefinition":{
      "type":"structure",
      "required":[
        "DatabaseName",
        "TableName"
      ],
      "members":{
        "CatalogId":{
          "shape":"CatalogId",
          "documentation":"<p>The unique identifier of the AWS account that holds the Data Catalog that stores the data.</p>"
        },
        "DatabaseName":{
          "shape":"DatabaseName",
          "documentation":"<p>The name of a database in the Data Catalog.</p>"
        },
        "TableName":{
          "shape":"TableName",
          "documentation":"<p>The name of a database table in the Data Catalog. This table corresponds to a DataBrew dataset.</p>"
        },
        "TempDirectory":{
          "shape":"S3Location",
          "documentation":"<p>An Amazon location that AWS Glue Data Catalog can use as a temporary directory.</p>"
        }
      },
      "documentation":"<p>Represents how metadata stored in the AWS Glue Data Catalog is defined in an AWS Glue DataBrew dataset. </p>"
    },
    "DatabaseName":{
      "type":"string",
      "max":255,
      "min":1
    },
    "Dataset":{
      "type":"structure",
      "required":[
        "Name",
        "Input"
      ],
      "members":{
        "AccountId":{
          "shape":"AccountId",
          "documentation":"<p>The ID of the AWS account that owns the dataset.</p>"
        },
        "CreatedBy":{
          "shape":"CreatedBy",
          "documentation":"<p>The identifier (the user name) of the user who created the dataset.</p>"
        },
        "CreateDate":{
          "shape":"Date",
          "documentation":"<p>The date and time that the dataset was created.</p>"
        },
        "Name":{
          "shape":"DatasetName",
          "documentation":"<p>The unique name of the dataset.</p>"
        },
        "FormatOptions":{
          "shape":"FormatOptions",
          "documentation":"<p>Options that define how DataBrew interprets the data in the dataset.</p>"
        },
        "Input":{
          "shape":"Input",
          "documentation":"<p>Information on how DataBrew can find the dataset, in either the AWS Glue Data Catalog or Amazon S3.</p>"
        },
        "LastModifiedDate":{
          "shape":"Date",
          "documentation":"<p>The last modification date and time of the dataset.</p>"
        },
        "LastModifiedBy":{
          "shape":"LastModifiedBy",
          "documentation":"<p>The identifier (the user name) of the user who last modified the dataset.</p>"
        },
        "Source":{
          "shape":"Source",
          "documentation":"<p>The location of the data for the dataset, either Amazon S3 or the AWS Glue Data Catalog.</p>"
        },
        "Tags":{
          "shape":"TagMap",
          "documentation":"<p>Metadata tags that have been applied to the dataset.</p>"
        },
        "ResourceArn":{
          "shape":"Arn",
          "documentation":"<p>The unique Amazon Resource Name (ARN) for the dataset.</p>"
        }
      },
      "documentation":"<p>Represents a dataset that can be processed by AWS Glue DataBrew.</p>"
    },
    "DatasetList":{
      "type":"list",
      "member":{"shape":"Dataset"}
    },
    "DatasetName":{
      "type":"string",
      "max":255,
      "min":1
    },
    "Date":{"type":"timestamp"},
    "DeleteDatasetRequest":{
      "type":"structure",
      "required":["Name"],
      "members":{
        "Name":{
          "shape":"DatasetName",
          "documentation":"<p>The name of the dataset to be deleted.</p>",
          "location":"uri",
          "locationName":"name"
        }
      }
    },
    "DeleteDatasetResponse":{
      "type":"structure",
      "required":["Name"],
      "members":{
        "Name":{
          "shape":"DatasetName",
          "documentation":"<p>The name of the dataset that you deleted.</p>"
        }
      }
    },
    "DeleteJobRequest":{
      "type":"structure",
      "required":["Name"],
      "members":{
        "Name":{
          "shape":"JobName",
          "documentation":"<p>The name of the job to be deleted.</p>",
          "location":"uri",
          "locationName":"name"
        }
      }
    },
    "DeleteJobResponse":{
      "type":"structure",
      "required":["Name"],
      "members":{
        "Name":{
          "shape":"JobName",
          "documentation":"<p>The name of the job that you deleted.</p>"
        }
      }
    },
    "DeleteProjectRequest":{
      "type":"structure",
      "required":["Name"],
      "members":{
        "Name":{
          "shape":"ProjectName",
          "documentation":"<p>The name of the project to be deleted.</p>",
          "location":"uri",
          "locationName":"name"
        }
      }
    },
    "DeleteProjectResponse":{
      "type":"structure",
      "required":["Name"],
      "members":{
        "Name":{
          "shape":"ProjectName",
          "documentation":"<p>The name of the project that you deleted.</p>"
        }
      }
    },
    "DeleteRecipeVersionRequest":{
      "type":"structure",
      "required":[
        "Name",
        "RecipeVersion"
      ],
      "members":{
        "Name":{
          "shape":"RecipeName",
          "documentation":"<p>The name of the recipe to be deleted.</p>",
          "location":"uri",
          "locationName":"name"
        },
        "RecipeVersion":{
          "shape":"RecipeVersion",
          "documentation":"<p>The version of the recipe to be deleted.</p>",
          "location":"uri",
          "locationName":"recipeVersion"
        }
      }
    },
    "DeleteRecipeVersionResponse":{
      "type":"structure",
      "required":[
        "Name",
        "RecipeVersion"
      ],
      "members":{
        "Name":{
          "shape":"RecipeName",
          "documentation":"<p>The name of the recipe that was deleted.</p>"
        },
        "RecipeVersion":{
          "shape":"RecipeVersion",
          "documentation":"<p>The version of the recipe that was deleted.</p>"
        }
      }
    },
    "DeleteScheduleRequest":{
      "type":"structure",
      "required":["Name"],
      "members":{
        "Name":{
          "shape":"ScheduleName",
          "documentation":"<p>The name of the schedule to be deleted.</p>",
          "location":"uri",
          "locationName":"name"
        }
      }
    },
    "DeleteScheduleResponse":{
      "type":"structure",
      "required":["Name"],
      "members":{
        "Name":{
          "shape":"ScheduleName",
          "documentation":"<p>The name of the schedule that was deleted.</p>"
        }
      }
    },
    "DescribeDatasetRequest":{
      "type":"structure",
      "required":["Name"],
      "members":{
        "Name":{
          "shape":"DatasetName",
          "documentation":"<p>The name of the dataset to be described.</p>",
          "location":"uri",
          "locationName":"name"
        }
      }
    },
    "DescribeDatasetResponse":{
      "type":"structure",
      "required":[
        "Name",
        "Input"
      ],
      "members":{
        "CreatedBy":{
          "shape":"CreatedBy",
          "documentation":"<p>The identifier (user name) of the user who created the dataset.</p>"
        },
        "CreateDate":{
          "shape":"Date",
          "documentation":"<p>The date and time that the dataset was created.</p>"
        },
        "Name":{
          "shape":"DatasetName",
          "documentation":"<p>The name of the dataset.</p>"
        },
        "FormatOptions":{"shape":"FormatOptions"},
        "Input":{"shape":"Input"},
        "LastModifiedDate":{
          "shape":"Date",
          "documentation":"<p>The date and time that the dataset was last modified.</p>"
        },
        "LastModifiedBy":{
          "shape":"LastModifiedBy",
          "documentation":"<p>The identifier (user name) of the user who last modified the dataset.</p>"
        },
        "Source":{
          "shape":"Source",
          "documentation":"<p>The location of the data for this dataset, Amazon S3 or the AWS Glue Data Catalog.</p>"
        },
        "Tags":{
          "shape":"TagMap",
          "documentation":"<p>Metadata tags associated with this dataset.</p>"
        },
        "ResourceArn":{
          "shape":"Arn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the dataset.</p>"
        }
      }
    },
    "DescribeJobRequest":{
      "type":"structure",
      "required":["Name"],
      "members":{
        "Name":{
          "shape":"JobName",
          "documentation":"<p>The name of the job to be described.</p>",
          "location":"uri",
          "locationName":"name"
        }
      }
    },
    "DescribeJobResponse":{
      "type":"structure",
      "required":["Name"],
      "members":{
        "CreateDate":{
          "shape":"Date",
          "documentation":"<p>The date and time that the job was created.</p>"
        },
        "CreatedBy":{
          "shape":"CreatedBy",
          "documentation":"<p>The identifier (user name) of the user associated with the creation of the job.</p>"
        },
        "DatasetName":{
          "shape":"DatasetName",
          "documentation":"<p>The dataset that the job acts upon.</p>"
        },
        "EncryptionKeyArn":{
          "shape":"EncryptionKeyArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of an encryption key that is used to protect the job.</p>"
        },
        "EncryptionMode":{
          "shape":"EncryptionMode",
          "documentation":"<p>The encryption mode for the job, which can be one of the following:</p> <ul> <li> <p> <code>SSE-KMS</code> - Server-side encryption with AWS KMS-managed keys.</p> </li> <li> <p> <code>SSE-S3</code> - Server-side encryption with keys managed by Amazon S3.</p> </li> </ul>"
        },
        "Name":{
          "shape":"JobName",
          "documentation":"<p>The name of the job.</p>"
        },
        "Type":{
          "shape":"JobType",
          "documentation":"<p>The job type, which must be one of the following:</p> <ul> <li> <p> <code>PROFILE</code> - The job analyzes the dataset to determine its size, data types, data distribution, and more.</p> </li> <li> <p> <code>RECIPE</code> - The job applies one or more transformations to a dataset.</p> </li> </ul>"
        },
        "LastModifiedBy":{
          "shape":"LastModifiedBy",
          "documentation":"<p>The identifier (user name) of the user who last modified the job.</p>"
        },
        "LastModifiedDate":{
          "shape":"Date",
          "documentation":"<p>The date and time that the job was last modified.</p>"
        },
        "LogSubscription":{
          "shape":"LogSubscription",
          "documentation":"<p>A value that indicates whether Amazon CloudWatch logging is enabled for this job.</p>"
        },
        "MaxCapacity":{
          "shape":"MaxCapacity",
          "documentation":"<p>The maximum number of nodes that AWS Glue DataBrew can consume when the job processes data.</p>"
        },
        "MaxRetries":{
          "shape":"MaxRetries",
          "documentation":"<p>The maximum number of times to retry the job after a job run fails.</p>"
        },
        "Outputs":{
          "shape":"OutputList",
          "documentation":"<p>One or more artifacts that represent the output from running the job.</p>"
        },
        "ProjectName":{
          "shape":"ProjectName",
          "documentation":"<p>The DataBrew project associated with this job.</p>"
        },
        "RecipeReference":{"shape":"RecipeReference"},
        "ResourceArn":{
          "shape":"Arn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the job.</p>"
        },
        "RoleArn":{
          "shape":"Arn",
          "documentation":"<p>The ARN of the AWS Identity and Access Management (IAM) role that was assumed for this request.</p>"
        },
        "Tags":{
          "shape":"TagMap",
          "documentation":"<p>Metadata tags associated with this job.</p>"
        },
        "Timeout":{
          "shape":"Timeout",
          "documentation":"<p>The job's timeout in minutes. A job that attempts to run longer than this timeout period ends with a status of <code>TIMEOUT</code>.</p>"
        }
      }
    },
    "DescribeProjectRequest":{
      "type":"structure",
      "required":["Name"],
      "members":{
        "Name":{
          "shape":"ProjectName",
          "documentation":"<p>The name of the project to be described.</p>",
          "location":"uri",
          "locationName":"name"
        }
      }
    },
    "DescribeProjectResponse":{
      "type":"structure",
      "required":["Name"],
      "members":{
        "CreateDate":{
          "shape":"Date",
          "documentation":"<p>The date and time that the project was created.</p>"
        },
        "CreatedBy":{
          "shape":"CreatedBy",
          "documentation":"<p>The identifier (user name) of the user who created the project.</p>"
        },
        "DatasetName":{
          "shape":"DatasetName",
          "documentation":"<p>The dataset associated with the project.</p>"
        },
        "LastModifiedDate":{
          "shape":"Date",
          "documentation":"<p>The date and time that the project was last modified.</p>"
        },
        "LastModifiedBy":{
          "shape":"LastModifiedBy",
          "documentation":"<p>The identifier (user name) of the user who last modified the project.</p>"
        },
        "Name":{
          "shape":"ProjectName",
          "documentation":"<p>The name of the project.</p>"
        },
        "RecipeName":{
          "shape":"RecipeName",
          "documentation":"<p>The recipe associated with this job.</p>"
        },
        "ResourceArn":{
          "shape":"Arn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the project.</p>"
        },
        "Sample":{"shape":"Sample"},
        "RoleArn":{
          "shape":"Arn",
          "documentation":"<p>The ARN of the AWS Identity and Access Management (IAM) role that was assumed for this request.</p>"
        },
        "Tags":{
          "shape":"TagMap",
          "documentation":"<p>Metadata tags associated with this project.</p>"
        },
        "SessionStatus":{
          "shape":"SessionStatus",
          "documentation":"<p>Describes the current state of the session:</p> <ul> <li> <p> <code>PROVISIONING</code> - allocating resources for the session.</p> </li> <li> <p> <code>INITIALIZING</code> - getting the session ready for first use.</p> </li> <li> <p> <code>ASSIGNED</code> - the session is ready for use.</p> </li> </ul>"
        },
        "OpenedBy":{
          "shape":"OpenedBy",
          "documentation":"<p>The identifier (user name) of the user that opened the project for use. </p>"
        },
        "OpenDate":{
          "shape":"Date",
          "documentation":"<p>The date and time when the project was opened. </p>"
        }
      }
    },
    "DescribeRecipeRequest":{
      "type":"structure",
      "required":["Name"],
      "members":{
        "Name":{
          "shape":"RecipeName",
          "documentation":"<p>The name of the recipe to be described.</p>",
          "location":"uri",
          "locationName":"name"
        },
        "RecipeVersion":{
          "shape":"RecipeVersion",
          "documentation":"<p>The recipe version identifier. If this parameter isn't specified, then the latest published version is returned.</p>",
          "location":"querystring",
          "locationName":"recipeVersion"
        }
      }
    },
    "DescribeRecipeResponse":{
      "type":"structure",
      "required":["Name"],
      "members":{
        "CreatedBy":{
          "shape":"CreatedBy",
          "documentation":"<p>The identifier (user name) of the user who created the recipe.</p>"
        },
        "CreateDate":{
          "shape":"Date",
          "documentation":"<p>The date and time that the recipe was created.</p>"
        },
        "LastModifiedBy":{
          "shape":"LastModifiedBy",
          "documentation":"<p>The identifier (user name) of the user who last modified the recipe.</p>"
        },
        "LastModifiedDate":{
          "shape":"Date",
          "documentation":"<p>The date and time that the recipe was last modified.</p>"
        },
        "ProjectName":{
          "shape":"ProjectName",
          "documentation":"<p>The name of the project associated with this recipe.</p>"
        },
        "PublishedBy":{
          "shape":"PublishedBy",
          "documentation":"<p>The identifier (user name) of the user who last published the recipe.</p>"
        },
        "PublishedDate":{
          "shape":"Date",
          "documentation":"<p>The date and time when the recipe was last published.</p>"
        },
        "Description":{
          "shape":"RecipeDescription",
          "documentation":"<p>The description of the recipe.</p>"
        },
        "Name":{
          "shape":"RecipeName",
          "documentation":"<p>The name of the recipe.</p>"
        },
        "Steps":{
          "shape":"RecipeStepList",
          "documentation":"<p>One or more steps to be performed by the recipe. Each step consists of an action, and the conditions under which the action should succeed.</p>"
        },
        "Tags":{
          "shape":"TagMap",
          "documentation":"<p>Metadata tags associated with this project.</p>"
        },
        "ResourceArn":{
          "shape":"Arn",
          "documentation":"<p>The ARN of the recipe.</p>"
        },
        "RecipeVersion":{
          "shape":"RecipeVersion",
          "documentation":"<p>The recipe version identifier.</p>"
        }
      }
    },
    "DescribeScheduleRequest":{
      "type":"structure",
      "required":["Name"],
      "members":{
        "Name":{
          "shape":"ScheduleName",
          "documentation":"<p>The name of the schedule to be described.</p>",
          "location":"uri",
          "locationName":"name"
        }
      }
    },
    "DescribeScheduleResponse":{
      "type":"structure",
      "required":["Name"],
      "members":{
        "CreateDate":{
          "shape":"Date",
          "documentation":"<p>The date and time that the schedule was created.</p>"
        },
        "CreatedBy":{
          "shape":"CreatedBy",
          "documentation":"<p>The identifier (user name) of the user who created the schedule. </p>"
        },
        "JobNames":{
          "shape":"JobNameList",
          "documentation":"<p>The name or names of one or more jobs to be run by using the schedule.</p>"
        },
        "LastModifiedBy":{
          "shape":"LastModifiedBy",
          "documentation":"<p>The identifier (user name) of the user who last modified the schedule.</p>"
        },
        "LastModifiedDate":{
          "shape":"Date",
          "documentation":"<p>The date and time that the schedule was last modified.</p>"
        },
        "ResourceArn":{
          "shape":"Arn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the schedule.</p>"
        },
        "CronExpression":{
          "shape":"CronExpression",
          "documentation":"<p>The date or dates and time or times, in <code>cron</code> format, when the jobs are to be run for the schedule.</p>"
        },
        "Tags":{
          "shape":"TagMap",
          "documentation":"<p>Metadata tags associated with this schedule.</p>"
        },
        "Name":{
          "shape":"ScheduleName",
          "documentation":"<p>The name of the schedule.</p>"
        }
      }
    },
    "EncryptionKeyArn":{
      "type":"string",
      "max":2048,
      "min":20
    },
    "EncryptionMode":{
      "type":"string",
      "enum":[
        "SSE-KMS",
        "SSE-S3"
      ]
    },
    "ErrorCode":{
      "type":"string",
      "pattern":"^[1-5][0-9][0-9]$"
    },
    "ExcelOptions":{
      "type":"structure",
      "members":{
        "SheetNames":{
          "shape":"SheetNameList",
          "documentation":"<p>Specifies one or more named sheets in the Excel file, which will be included in the dataset.</p>"
        },
        "SheetIndexes":{
          "shape":"SheetIndexList",
          "documentation":"<p>Specifies one or more sheet numbers in the Excel file, which will be included in the dataset.</p>"
        }
      },
      "documentation":"<p>Options that define how DataBrew will interpret a Microsoft Excel file, when creating a dataset from that file.</p>"
    },
    "ExecutionTime":{"type":"integer"},
    "FormatOptions":{
      "type":"structure",
      "members":{
        "Json":{
          "shape":"JsonOptions",
          "documentation":"<p>Options that define how JSON input is to be interpreted by DataBrew.</p>"
        },
        "Excel":{
          "shape":"ExcelOptions",
          "documentation":"<p>Options that define how Excel input is to be interpreted by DataBrew.</p>"
        }
      },
      "documentation":"<p>Options that define how Microsoft Excel input is to be interpreted by DataBrew.</p>"
    },
    "HiddenColumnList":{
      "type":"list",
      "member":{"shape":"ColumnName"}
    },
    "Input":{
      "type":"structure",
      "members":{
        "S3InputDefinition":{
          "shape":"S3Location",
          "documentation":"<p>The Amazon S3 location where the data is stored.</p>"
        },
        "DataCatalogInputDefinition":{
          "shape":"DataCatalogInputDefinition",
          "documentation":"<p>The AWS Glue Data Catalog parameters for the data.</p>"
        }
      },
      "documentation":"<p>Information on how AWS Glue DataBrew can find data, in either the AWS Glue Data Catalog or Amazon S3.</p>"
    },
    "InternalServerException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"Message"}
      },
      "documentation":"<p>An internal service failure occurred.</p>",
      "error":{"httpStatusCode":500},
      "exception":true
    },
    "Job":{
      "type":"structure",
      "required":["Name"],
      "members":{
        "AccountId":{
          "shape":"AccountId",
          "documentation":"<p>The ID of the AWS account that owns the job.</p>"
        },
        "CreatedBy":{
          "shape":"CreatedBy",
          "documentation":"<p>The identifier (the user name) of the user who created the job.</p>"
        },
        "CreateDate":{
          "shape":"Date",
          "documentation":"<p>The date and time that the job was created.</p>"
        },
        "DatasetName":{
          "shape":"DatasetName",
          "documentation":"<p>A dataset that the job is to process.</p>"
        },
        "EncryptionKeyArn":{
          "shape":"EncryptionKeyArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of an encryption key that is used to protect a job.</p>"
        },
        "EncryptionMode":{
          "shape":"EncryptionMode",
          "documentation":"<p>The encryption mode for the job, which can be one of the following:</p> <ul> <li> <p> <code>SSE-KMS</code> - Server-side encryption with AWS KMS-managed keys.</p> </li> <li> <p> <code>SSE-S3</code> - Server-side encryption with keys managed by Amazon S3.</p> </li> </ul>"
        },
        "Name":{
          "shape":"JobName",
          "documentation":"<p>The unique name of the job.</p>"
        },
        "Type":{
          "shape":"JobType",
          "documentation":"<p>The job type of the job, which must be one of the following:</p> <ul> <li> <p> <code>PROFILE</code> - A job to analyze a dataset, to determine its size, data types, data distribution, and more.</p> </li> <li> <p> <code>RECIPE</code> - A job to apply one or more transformations to a dataset.</p> </li> </ul>"
        },
        "LastModifiedBy":{
          "shape":"LastModifiedBy",
          "documentation":"<p>The identifier (the user name) of the user who last modified the job.</p>"
        },
        "LastModifiedDate":{
          "shape":"Date",
          "documentation":"<p>The modification date and time of the job.</p>"
        },
        "LogSubscription":{
          "shape":"LogSubscription",
          "documentation":"<p>The current status of Amazon CloudWatch logging for the job.</p>"
        },
        "MaxCapacity":{
          "shape":"MaxCapacity",
          "documentation":"<p>The maximum number of nodes that can be consumed when the job processes data.</p>"
        },
        "MaxRetries":{
          "shape":"MaxRetries",
          "documentation":"<p>The maximum number of times to retry the job after a job run fails.</p>"
        },
        "Outputs":{
          "shape":"OutputList",
          "documentation":"<p>One or more artifacts that represent output from running the job.</p>"
        },
        "ProjectName":{
          "shape":"ProjectName",
          "documentation":"<p>The name of the project that the job is associated with.</p>"
        },
        "RecipeReference":{
          "shape":"RecipeReference",
          "documentation":"<p>A set of steps that the job runs.</p>"
        },
        "ResourceArn":{
          "shape":"Arn",
          "documentation":"<p>The unique Amazon Resource Name (ARN) for the job.</p>"
        },
        "RoleArn":{
          "shape":"Arn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the role that will be assumed for this job.</p>"
        },
        "Timeout":{
          "shape":"Timeout",
          "documentation":"<p>The job's timeout in minutes. A job that attempts to run longer than this timeout period ends with a status of <code>TIMEOUT</code>.</p>"
        },
        "Tags":{
          "shape":"TagMap",
          "documentation":"<p>Metadata tags that have been applied to the job.</p>"
        }
      },
      "documentation":"<p>Represents all of the attributes of an AWS Glue DataBrew job.</p>"
    },
    "JobList":{
      "type":"list",
      "member":{"shape":"Job"}
    },
    "JobName":{
      "type":"string",
      "max":240,
      "min":1
    },
    "JobNameList":{
      "type":"list",
      "member":{"shape":"JobName"},
      "max":50
    },
    "JobRun":{
      "type":"structure",
      "members":{
        "Attempt":{
          "shape":"Attempt",
          "documentation":"<p>The number of times that DataBrew has attempted to run the job.</p>"
        },
        "CompletedOn":{
          "shape":"Date",
          "documentation":"<p>The date and time when the job completed processing.</p>"
        },
        "DatasetName":{
          "shape":"DatasetName",
          "documentation":"<p>The name of the dataset for the job to process.</p>"
        },
        "ErrorMessage":{
          "shape":"JobRunErrorMessage",
          "documentation":"<p>A message indicating an error (if any) that was encountered when the job ran.</p>"
        },
        "ExecutionTime":{
          "shape":"ExecutionTime",
          "documentation":"<p>The amount of time, in seconds, during which a job run consumed resources.</p>"
        },
        "JobName":{
          "shape":"JobName",
          "documentation":"<p>The name of the job being processed during this run.</p>"
        },
        "RunId":{
          "shape":"JobRunId",
          "documentation":"<p>The unique identifier of the job run.</p>"
        },
        "State":{
          "shape":"JobRunState",
          "documentation":"<p>The current state of the job run entity itself.</p>"
        },
        "LogSubscription":{
          "shape":"LogSubscription",
          "documentation":"<p>The current status of Amazon CloudWatch logging for the job run.</p>"
        },
        "LogGroupName":{
          "shape":"LogGroupName",
          "documentation":"<p>The name of an Amazon CloudWatch log group, where the job writes diagnostic messages when it runs.</p>"
        },
        "Outputs":{
          "shape":"OutputList",
          "documentation":"<p>One or more output artifacts from a job run.</p>"
        },
        "RecipeReference":{
          "shape":"RecipeReference",
          "documentation":"<p>The set of steps processed by the job.</p>"
        },
        "StartedBy":{
          "shape":"StartedBy",
          "documentation":"<p>The identifier (the user name) of the user who initiated the job run. </p>"
        },
        "StartedOn":{
          "shape":"Date",
          "documentation":"<p>The date and time when the job run began. </p>"
        }
      },
      "documentation":"<p>Represents one run of an AWS Glue DataBrew job.</p>"
    },
    "JobRunErrorMessage":{"type":"string"},
    "JobRunId":{
      "type":"string",
      "max":255,
      "min":1
    },
    "JobRunList":{
      "type":"list",
      "member":{"shape":"JobRun"}
    },
    "JobRunState":{
      "type":"string",
      "enum":[
        "STARTING",
        "RUNNING",
        "STOPPING",
        "STOPPED",
        "SUCCEEDED",
        "FAILED",
        "TIMEOUT"
      ]
    },
    "JobType":{
      "type":"string",
      "enum":[
        "PROFILE",
        "RECIPE"
      ]
    },
    "JsonOptions":{
      "type":"structure",
      "members":{
        "MultiLine":{
          "shape":"MultiLine",
          "documentation":"<p>A value that specifies whether JSON input contains embedded new line characters.</p>"
        }
      },
      "documentation":"<p>Represents the JSON-specific options that define how input is to be interpreted by AWS Glue DataBrew.</p>"
    },
    "Key":{
      "type":"string",
      "max":1280,
      "min":1
    },
    "LastModifiedBy":{"type":"string"},
    "ListDatasetsRequest":{
      "type":"structure",
      "members":{
        "MaxResults":{
          "shape":"MaxResults100",
          "documentation":"<p>The maximum number of results to return in this request. </p>",
          "location":"querystring",
          "locationName":"maxResults"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token generated by DataBrew that specifies where to continue pagination if a previous request was truncated. To get the next set of pages, pass in the NextToken value from the response object of the previous page call. </p>",
          "location":"querystring",
          "locationName":"nextToken"
        }
      }
    },
    "ListDatasetsResponse":{
      "type":"structure",
      "required":["Datasets"],
      "members":{
        "Datasets":{
          "shape":"DatasetList",
          "documentation":"<p>A list of datasets that are defined in the current AWS account.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token generated by DataBrew that specifies where to continue pagination if a previous request was truncated. To obtain the next set of pages, pass in the NextToken from the response object of the previous page call. </p>"
        }
      }
    },
    "ListJobRunsRequest":{
      "type":"structure",
      "required":["Name"],
      "members":{
        "Name":{
          "shape":"JobName",
          "documentation":"<p>The name of the job.</p>",
          "location":"uri",
          "locationName":"name"
        },
        "MaxResults":{
          "shape":"MaxResults100",
          "documentation":"<p>The maximum number of results to return in this request. </p>",
          "location":"querystring",
          "locationName":"maxResults"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token generated by AWS Glue DataBrew that specifies where to continue pagination if a previous request was truncated. To get the next set of pages, pass in the NextToken value from the response object of the previous page call. </p>",
          "location":"querystring",
          "locationName":"nextToken"
        }
      }
    },
    "ListJobRunsResponse":{
      "type":"structure",
      "required":["JobRuns"],
      "members":{
        "JobRuns":{
          "shape":"JobRunList",
          "documentation":"<p>A list of job runs that have occurred for the specified job.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token generated by DataBrew that specifies where to continue pagination if a previous request was truncated. To obtain the next set of pages, pass in the NextToken from the response object of the previous page call. </p>"
        }
      }
    },
    "ListJobsRequest":{
      "type":"structure",
      "members":{
        "DatasetName":{
          "shape":"DatasetName",
          "documentation":"<p>The name of a dataset. Using this parameter indicates to return only those jobs that act on the specified dataset.</p>",
          "location":"querystring",
          "locationName":"datasetName"
        },
        "MaxResults":{
          "shape":"MaxResults100",
          "documentation":"<p>The maximum number of results to return in this request. </p>",
          "location":"querystring",
          "locationName":"maxResults"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token generated by DataBrew that specifies where to continue pagination if a previous request was truncated. To get the next set of pages, pass in the NextToken value from the response object of the previous page call. </p>",
          "location":"querystring",
          "locationName":"nextToken"
        },
        "ProjectName":{
          "shape":"ProjectName",
          "documentation":"<p>The name of a project. Using this parameter indicates to return only those jobs that are associated with the specified project.</p>",
          "location":"querystring",
          "locationName":"projectName"
        }
      }
    },
    "ListJobsResponse":{
      "type":"structure",
      "required":["Jobs"],
      "members":{
        "Jobs":{
          "shape":"JobList",
          "documentation":"<p>A list of jobs that are defined in the current AWS account.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token generated by DataBrew that specifies where to continue pagination if a previous request was truncated. To obtain the next set of pages, pass in the NextToken from the response object of the previous page call. </p>"
        }
      }
    },
    "ListProjectsRequest":{
      "type":"structure",
      "members":{
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>A pagination token that can be used in a subsequent request.</p>",
          "location":"querystring",
          "locationName":"nextToken"
        },
        "MaxResults":{
          "shape":"MaxResults100",
          "documentation":"<p>The maximum number of results to return in this request. </p>",
          "location":"querystring",
          "locationName":"maxResults"
        }
      }
    },
    "ListProjectsResponse":{
      "type":"structure",
      "required":["Projects"],
      "members":{
        "Projects":{
          "shape":"ProjectList",
          "documentation":"<p>A list of projects that are defined in the current AWS account.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token generated by DataBrew that specifies where to continue pagination if a previous request was truncated. To get the next set of pages, pass in the NextToken value from the response object of the previous page call. </p>"
        }
      }
    },
    "ListRecipeVersionsRequest":{
      "type":"structure",
      "required":["Name"],
      "members":{
        "MaxResults":{
          "shape":"MaxResults100",
          "documentation":"<p>The maximum number of results to return in this request. </p>",
          "location":"querystring",
          "locationName":"maxResults"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>A pagination token that can be used in a subsequent request.</p>",
          "location":"querystring",
          "locationName":"nextToken"
        },
        "Name":{
          "shape":"RecipeName",
          "documentation":"<p>The name of the recipe for which to return version information.</p>",
          "location":"querystring",
          "locationName":"name"
        }
      }
    },
    "ListRecipeVersionsResponse":{
      "type":"structure",
      "required":["Recipes"],
      "members":{
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token generated by DataBrew that specifies where to continue pagination if a previous request was truncated. To get the next set of pages, pass in the NextToken value from the response object of the previous page call. </p>"
        },
        "Recipes":{
          "shape":"RecipeList",
          "documentation":"<p>A list of versions for the specified recipe.</p>"
        }
      }
    },
    "ListRecipesRequest":{
      "type":"structure",
      "members":{
        "MaxResults":{
          "shape":"MaxResults100",
          "documentation":"<p>The maximum number of results to return in this request. </p>",
          "location":"querystring",
          "locationName":"maxResults"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>A pagination token that can be used in a subsequent request.</p>",
          "location":"querystring",
          "locationName":"nextToken"
        },
        "RecipeVersion":{
          "shape":"RecipeVersion",
          "documentation":"<p>A version identifier. Using this parameter indicates to return only those recipes that have this version identifier.</p>",
          "location":"querystring",
          "locationName":"recipeVersion"
        }
      }
    },
    "ListRecipesResponse":{
      "type":"structure",
      "required":["Recipes"],
      "members":{
        "Recipes":{
          "shape":"RecipeList",
          "documentation":"<p>A list of recipes that are defined in the current AWS account.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token generated by DataBrew that specifies where to continue pagination if a previous request was truncated. To get the next set of pages, pass in the NextToken value from the response object of the previous page call. </p>"
        }
      }
    },
    "ListSchedulesRequest":{
      "type":"structure",
      "members":{
        "JobName":{
          "shape":"JobName",
          "documentation":"<p>The name of the job that these schedules apply to.</p>",
          "location":"querystring",
          "locationName":"jobName"
        },
        "MaxResults":{
          "shape":"MaxResults100",
          "documentation":"<p>The maximum number of results to return in this request. </p>",
          "location":"querystring",
          "locationName":"maxResults"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>A pagination token that can be used in a subsequent request.</p>",
          "location":"querystring",
          "locationName":"nextToken"
        }
      }
    },
    "ListSchedulesResponse":{
      "type":"structure",
      "required":["Schedules"],
      "members":{
        "Schedules":{
          "shape":"ScheduleList",
          "documentation":"<p>A list of schedules in the current AWS account.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token generated by DataBrew that specifies where to continue pagination if a previous request was truncated. To get the next set of pages, pass in the NextToken value from the response object of the previous page call. </p>"
        }
      }
    },
    "ListTagsForResourceRequest":{
      "type":"structure",
      "required":["ResourceArn"],
      "members":{
        "ResourceArn":{
          "shape":"Arn",
          "documentation":"<p>The Amazon Resource Name (ARN) string that uniquely identifies the DataBrew resource. </p>",
          "location":"uri",
          "locationName":"ResourceArn"
        }
      }
    },
    "ListTagsForResourceResponse":{
      "type":"structure",
      "members":{
        "Tags":{
          "shape":"TagMap",
          "documentation":"<p>A list of tags associated with the DataBrew resource.</p>"
        }
      }
    },
    "LogGroupName":{
      "type":"string",
      "max":512,
      "min":1
    },
    "LogSubscription":{
      "type":"string",
      "enum":[
        "ENABLE",
        "DISABLE"
      ]
    },
    "MaxCapacity":{"type":"integer"},
    "MaxResults100":{
      "type":"integer",
      "max":100,
      "min":1
    },
    "MaxRetries":{
      "type":"integer",
      "min":0
    },
    "Message":{"type":"string"},
    "MultiLine":{"type":"boolean"},
    "NextToken":{
      "type":"string",
      "max":2000,
      "min":1
    },
    "OpenedBy":{"type":"string"},
    "Operation":{
      "type":"string",
      "max":128,
      "min":1,
      "pattern":"^[A-Z\\_]+$"
    },
    "Output":{
      "type":"structure",
      "required":["Location"],
      "members":{
        "CompressionFormat":{
          "shape":"CompressionFormat",
          "documentation":"<p>The compression algorithm used to compress the output text of the job.</p>"
        },
        "Format":{
          "shape":"OutputFormat",
          "documentation":"<p>The data format of the output of the job.</p>"
        },
        "PartitionColumns":{
          "shape":"ColumnNameList",
          "documentation":"<p>The names of one or more partition columns for the output of the job.</p>"
        },
        "Location":{
          "shape":"S3Location",
          "documentation":"<p>The location in Amazon S3 where the job writes its output.</p>"
        },
        "Overwrite":{
          "shape":"OverwriteOutput",
          "documentation":"<p>A value that, if true, means that any data in the location specified for output is overwritten with new output.</p>"
        }
      },
      "documentation":"<p>Represents individual output from a particular job run.</p>"
    },
    "OutputFormat":{
      "type":"string",
      "enum":[
        "CSV",
        "JSON",
        "PARQUET",
        "GLUEPARQUET",
        "AVRO",
        "ORC",
        "XML"
      ]
    },
    "OutputList":{
      "type":"list",
      "member":{"shape":"Output"},
      "min":1
    },
    "OverwriteOutput":{"type":"boolean"},
    "ParameterMap":{
      "type":"map",
      "key":{"shape":"ParameterName"},
      "value":{"shape":"ParameterValue"}
    },
    "ParameterName":{
      "type":"string",
      "max":128,
      "min":1,
      "pattern":"^[A-Za-z0-9]+$"
    },
    "ParameterValue":{
      "type":"string",
      "max":8192,
      "min":1
    },
    "Preview":{"type":"boolean"},
    "Project":{
      "type":"structure",
      "required":[
        "Name",
        "RecipeName"
      ],
      "members":{
        "AccountId":{
          "shape":"AccountId",
          "documentation":"<p>The ID of the AWS account that owns the project.</p>"
        },
        "CreateDate":{
          "shape":"Date",
          "documentation":"<p>The date and time that the project was created.</p>"
        },
        "CreatedBy":{
          "shape":"CreatedBy",
          "documentation":"<p>The identifier (the user name) of the user who crated the project.</p>"
        },
        "DatasetName":{
          "shape":"DatasetName",
          "documentation":"<p>The dataset that the project is to act upon.</p>"
        },
        "LastModifiedDate":{
          "shape":"Date",
          "documentation":"<p>The last modification date and time for the project.</p>"
        },
        "LastModifiedBy":{
          "shape":"LastModifiedBy",
          "documentation":"<p>The identifier (user name) of the user who last modified the project.</p>"
        },
        "Name":{
          "shape":"ProjectName",
          "documentation":"<p>The unique name of a project.</p>"
        },
        "RecipeName":{
          "shape":"RecipeName",
          "documentation":"<p>The name of a recipe that will be developed during a project session.</p>"
        },
        "ResourceArn":{
          "shape":"Arn",
          "documentation":"<p>The Amazon Resource Name (ARN) for the project.</p>"
        },
        "Sample":{
          "shape":"Sample",
          "documentation":"<p>The sample size and sampling type to apply to the data. If this parameter isn't specified, then the sample will consiste of the first 500 rows from the dataset.</p>"
        },
        "Tags":{
          "shape":"TagMap",
          "documentation":"<p>Metadata tags that have been applied to the project.</p>"
        },
        "RoleArn":{
          "shape":"Arn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the role that will be assumed for this project.</p>"
        },
        "OpenedBy":{
          "shape":"OpenedBy",
          "documentation":"<p>The identifier (the user name) of the user that opened the project for use.</p>"
        },
        "OpenDate":{
          "shape":"Date",
          "documentation":"<p>The date and time when the project was opened.</p>"
        }
      },
      "documentation":"<p>Represents all of the attributes of an AWS Glue DataBrew project.</p>"
    },
    "ProjectList":{
      "type":"list",
      "member":{"shape":"Project"}
    },
    "ProjectName":{
      "type":"string",
      "max":255,
      "min":1
    },
    "PublishRecipeRequest":{
      "type":"structure",
      "required":["Name"],
      "members":{
        "Description":{
          "shape":"RecipeDescription",
          "documentation":"<p>A description of the recipe to be published, for this version of the recipe.</p>"
        },
        "Name":{
          "shape":"RecipeName",
          "documentation":"<p>The name of the recipe to be published.</p>",
          "location":"uri",
          "locationName":"name"
        }
      }
    },
    "PublishRecipeResponse":{
      "type":"structure",
      "required":["Name"],
      "members":{
        "Name":{
          "shape":"RecipeName",
          "documentation":"<p>The name of the recipe that you published.</p>"
        }
      }
    },
    "PublishedBy":{"type":"string"},
    "Recipe":{
      "type":"structure",
      "required":["Name"],
      "members":{
        "CreatedBy":{
          "shape":"CreatedBy",
          "documentation":"<p>The identifier (the user name) of the user who created the recipe.</p>"
        },
        "CreateDate":{
          "shape":"Date",
          "documentation":"<p>The date and time that the recipe was created.</p>"
        },
        "LastModifiedBy":{
          "shape":"LastModifiedBy",
          "documentation":"<p>The identifier (user name) of the user who last modified the recipe.</p>"
        },
        "LastModifiedDate":{
          "shape":"Date",
          "documentation":"<p>The last modification date and time of the recipe.</p>"
        },
        "ProjectName":{
          "shape":"ProjectName",
          "documentation":"<p>The name of the project that the recipe is associated with.</p>"
        },
        "PublishedBy":{
          "shape":"PublishedBy",
          "documentation":"<p>The identifier (the user name) of the user who published the recipe.</p>"
        },
        "PublishedDate":{
          "shape":"Date",
          "documentation":"<p>The date and time when the recipe was published.</p>"
        },
        "Description":{
          "shape":"RecipeDescription",
          "documentation":"<p>The description of the recipe.</p>"
        },
        "Name":{
          "shape":"RecipeName",
          "documentation":"<p>The unique name for the recipe.</p>"
        },
        "ResourceArn":{
          "shape":"Arn",
          "documentation":"<p>The Amazon Resource Name (ARN) for the recipe.</p>"
        },
        "Steps":{
          "shape":"RecipeStepList",
          "documentation":"<p>A list of steps that are defined by the recipe.</p>"
        },
        "Tags":{
          "shape":"TagMap",
          "documentation":"<p>Metadata tags that have been applied to the recipe.</p>"
        },
        "RecipeVersion":{
          "shape":"RecipeVersion",
          "documentation":"<p>The identifier for the version for the recipe. </p>"
        }
      },
      "documentation":"<p>Represents one or more actions to be performed on an AWS Glue DataBrew dataset.</p>"
    },
    "RecipeAction":{
      "type":"structure",
      "required":["Operation"],
      "members":{
        "Operation":{
          "shape":"Operation",
          "documentation":"<p>The name of a valid DataBrew transformation to be performed on the data.</p>"
        },
        "Parameters":{
          "shape":"ParameterMap",
          "documentation":"<p>Contextual parameters for the transformation.</p>"
        }
      },
      "documentation":"<p>Represents a transformation and associated parameters that are used to apply a change to an AWS Glue DataBrew dataset. For more information, see <a href=\"https://docs.aws.amazon.com/databrew/latest/dg/recipe-structure.html\">Recipe structure</a> and <a href=\"https://docs.aws.amazon.com/databrew/latest/dg/recipe-actions-reference.html\">ecipe actions reference</a> .</p>"
    },
    "RecipeDescription":{
      "type":"string",
      "max":1024
    },
    "RecipeErrorList":{
      "type":"list",
      "member":{"shape":"RecipeVersionErrorDetail"}
    },
    "RecipeErrorMessage":{"type":"string"},
    "RecipeList":{
      "type":"list",
      "member":{"shape":"Recipe"}
    },
    "RecipeName":{
      "type":"string",
      "max":255,
      "min":1
    },
    "RecipeReference":{
      "type":"structure",
      "required":["Name"],
      "members":{
        "Name":{
          "shape":"RecipeName",
          "documentation":"<p>The name of the recipe.</p>"
        },
        "RecipeVersion":{
          "shape":"RecipeVersion",
          "documentation":"<p>The identifier for the version for the recipe. </p>"
        }
      },
      "documentation":"<p>Represents all of the attributes of an AWS Glue DataBrew recipe.</p>"
    },
    "RecipeStep":{
      "type":"structure",
      "required":["Action"],
      "members":{
        "Action":{
          "shape":"RecipeAction",
          "documentation":"<p>The particular action to be performed in the recipe step.</p>"
        },
        "ConditionExpressions":{
          "shape":"ConditionExpressionList",
          "documentation":"<p>One or more conditions that must be met, in order for the recipe step to succeed.</p> <note> <p>All of the conditions in the array must be met. In other words, all of the conditions must be combined using a logical AND operation.</p> </note>"
        }
      },
      "documentation":"<p>Represents a single step to be performed in an AWS Glue DataBrew recipe.</p>"
    },
    "RecipeStepList":{
      "type":"list",
      "member":{"shape":"RecipeStep"}
    },
    "RecipeVersion":{
      "type":"string",
      "max":16,
      "min":1
    },
    "RecipeVersionErrorDetail":{
      "type":"structure",
      "members":{
        "ErrorCode":{
          "shape":"ErrorCode",
          "documentation":"<p>The HTTP status code for the error.</p>"
        },
        "ErrorMessage":{
          "shape":"RecipeErrorMessage",
          "documentation":"<p>The text of the error message.</p>"
        },
        "RecipeVersion":{
          "shape":"RecipeVersion",
          "documentation":"<p>The identifier for the recipe version associated with this error.</p>"
        }
      },
      "documentation":"<p>Represents any errors encountered when attempting to delete multiple recipe versions.</p>"
    },
    "RecipeVersionList":{
      "type":"list",
      "member":{"shape":"RecipeVersion"},
      "max":50,
      "min":1
    },
    "ResourceNotFoundException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"Message"}
      },
      "documentation":"<p>One or more resources can't be found.</p>",
      "error":{"httpStatusCode":404},
      "exception":true
    },
    "Result":{"type":"string"},
    "S3Location":{
      "type":"structure",
      "required":["Bucket"],
      "members":{
        "Bucket":{
          "shape":"Bucket",
          "documentation":"<p>The S3 bucket name.</p>"
        },
        "Key":{
          "shape":"Key",
          "documentation":"<p>The unique name of the object in the bucket.</p>"
        }
      },
      "documentation":"<p>An Amazon S3 location (bucket name an object key) where DataBrew can read input data, or write output from a job.</p>"
    },
    "Sample":{
      "type":"structure",
      "required":["Type"],
      "members":{
        "Size":{
          "shape":"SampleSize",
          "documentation":"<p>The number of rows in the sample.</p>"
        },
        "Type":{
          "shape":"SampleType",
          "documentation":"<p>The way in which DataBrew obtains rows from a dataset.</p>"
        }
      },
      "documentation":"<p>Represents the sample size and sampling type for AWS Glue DataBrew to use for interactive data analysis.</p>"
    },
    "SampleSize":{
      "type":"integer",
      "max":5000,
      "min":1
    },
    "SampleType":{
      "type":"string",
      "enum":[
        "FIRST_N",
        "LAST_N",
        "RANDOM"
      ]
    },
    "Schedule":{
      "type":"structure",
      "required":["Name"],
      "members":{
        "AccountId":{
          "shape":"AccountId",
          "documentation":"<p>The ID of the AWS account that owns the schedule.</p>"
        },
        "CreatedBy":{
          "shape":"CreatedBy",
          "documentation":"<p>The identifier (the user name) of the user who created the schedule.</p>"
        },
        "CreateDate":{
          "shape":"Date",
          "documentation":"<p>The date and time that the schedule was created.</p>"
        },
        "JobNames":{
          "shape":"JobNameList",
          "documentation":"<p>A list of jobs to be run, according to the schedule.</p>"
        },
        "LastModifiedBy":{
          "shape":"LastModifiedBy",
          "documentation":"<p>The identifier (the user name) of the user who last modified the schedule.</p>"
        },
        "LastModifiedDate":{
          "shape":"Date",
          "documentation":"<p>The date and time when the schedule was last modified.</p>"
        },
        "ResourceArn":{
          "shape":"Arn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the schedule.</p>"
        },
        "CronExpression":{
          "shape":"CronExpression",
          "documentation":"<p>The date(s) and time(s), in <code>cron</code> format, when the job will run.</p>"
        },
        "Tags":{
          "shape":"TagMap",
          "documentation":"<p>Metadata tags that have been applied to the schedule.</p>"
        },
        "Name":{
          "shape":"ScheduleName",
          "documentation":"<p>The name of the schedule.</p>"
        }
      },
      "documentation":"<p>Represents one or more dates and times when a job is to run.</p>"
    },
    "ScheduleList":{
      "type":"list",
      "member":{"shape":"Schedule"}
    },
    "ScheduleName":{
      "type":"string",
      "max":255,
      "min":1
    },
    "SendProjectSessionActionRequest":{
      "type":"structure",
      "required":["Name"],
      "members":{
        "Preview":{
          "shape":"Preview",
          "documentation":"<p>Returns the result of the recipe step, without applying it. The result isn't added to the view frame stack.</p>"
        },
        "Name":{
          "shape":"ProjectName",
          "documentation":"<p>The name of the project to apply the action to.</p>",
          "location":"uri",
          "locationName":"name"
        },
        "RecipeStep":{"shape":"RecipeStep"},
        "StepIndex":{
          "shape":"StepIndex",
          "documentation":"<p>The index from which to preview a step. This index is used to preview the result of steps that have already been applied, so that the resulting view frame is from earlier in the view frame stack.</p>"
        },
        "ClientSessionId":{
          "shape":"ClientSessionId",
          "documentation":"<p>A unique identifier for an interactive session that's currently open and ready for work. The action will be performed on this session.</p>"
        },
        "ViewFrame":{"shape":"ViewFrame"}
      }
    },
    "SendProjectSessionActionResponse":{
      "type":"structure",
      "required":["Name"],
      "members":{
        "Result":{
          "shape":"Result",
          "documentation":"<p>A message indicating the result of performing the action.</p>"
        },
        "Name":{
          "shape":"ProjectName",
          "documentation":"<p>The name of the project that was affected by the action.</p>"
        },
        "ActionId":{
          "shape":"ActionId",
          "documentation":"<p>A unique identifier for the action that was performed.</p>"
        }
      }
    },
    "ServiceQuotaExceededException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"Message"}
      },
      "documentation":"<p>A service quota is exceeded.</p>",
      "error":{"httpStatusCode":402},
      "exception":true
    },
    "SessionStatus":{
      "type":"string",
      "enum":[
        "ASSIGNED",
        "FAILED",
        "INITIALIZING",
        "PROVISIONING",
        "READY",
        "RECYCLING",
        "ROTATING",
        "TERMINATED",
        "TERMINATING",
        "UPDATING"
      ]
    },
    "SheetIndex":{
      "type":"integer",
      "max":200,
      "min":0
    },
    "SheetIndexList":{
      "type":"list",
      "member":{"shape":"SheetIndex"},
      "max":1,
      "min":1
    },
    "SheetName":{
      "type":"string",
      "max":31,
      "min":1
    },
    "SheetNameList":{
      "type":"list",
      "member":{"shape":"SheetName"},
      "max":1,
      "min":1
    },
    "Source":{
      "type":"string",
      "enum":[
        "S3",
        "DATA-CATALOG"
      ]
    },
    "StartColumnIndex":{
      "type":"integer",
      "min":0
    },
    "StartJobRunRequest":{
      "type":"structure",
      "required":["Name"],
      "members":{
        "Name":{
          "shape":"JobName",
          "documentation":"<p>The name of the job to be run.</p>",
          "location":"uri",
          "locationName":"name"
        }
      }
    },
    "StartJobRunResponse":{
      "type":"structure",
      "required":["RunId"],
      "members":{
        "RunId":{
          "shape":"JobRunId",
          "documentation":"<p>A system-generated identifier for this particular job run.</p>"
        }
      }
    },
    "StartProjectSessionRequest":{
      "type":"structure",
      "required":["Name"],
      "members":{
        "Name":{
          "shape":"ProjectName",
          "documentation":"<p>The name of the project to act upon.</p>",
          "location":"uri",
          "locationName":"name"
        },
        "AssumeControl":{
          "shape":"AssumeControl",
          "documentation":"<p>A value that, if true, enables you to take control of a session, even if a different client is currently accessing the project.</p>"
        }
      }
    },
    "StartProjectSessionResponse":{
      "type":"structure",
      "required":["Name"],
      "members":{
        "Name":{
          "shape":"ProjectName",
          "documentation":"<p>The name of the project to be acted upon.</p>"
        },
        "ClientSessionId":{
          "shape":"ClientSessionId",
          "documentation":"<p>A system-generated identifier for the session.</p>"
        }
      }
    },
    "StartedBy":{"type":"string"},
    "StepIndex":{
      "type":"integer",
      "min":0
    },
    "StopJobRunRequest":{
      "type":"structure",
      "required":[
        "Name",
        "RunId"
      ],
      "members":{
        "Name":{
          "shape":"JobName",
          "documentation":"<p>The name of the job to be stopped.</p>",
          "location":"uri",
          "locationName":"name"
        },
        "RunId":{
          "shape":"JobRunId",
          "documentation":"<p>The ID of the job run to be stopped.</p>",
          "location":"uri",
          "locationName":"runId"
        }
      }
    },
    "StopJobRunResponse":{
      "type":"structure",
      "required":["RunId"],
      "members":{
        "RunId":{
          "shape":"JobRunId",
          "documentation":"<p>The ID of the job run that you stopped.</p>"
        }
      }
    },
    "TableName":{
      "type":"string",
      "max":255,
      "min":1
    },
    "TagKey":{
      "type":"string",
      "max":128,
      "min":1
    },
    "TagKeyList":{
      "type":"list",
      "member":{"shape":"TagKey"},
      "max":200,
      "min":1
    },
    "TagMap":{
      "type":"map",
      "key":{"shape":"TagKey"},
      "value":{"shape":"TagValue"},
      "max":200,
      "min":1
    },
    "TagResourceRequest":{
      "type":"structure",
      "required":[
        "ResourceArn",
        "Tags"
      ],
      "members":{
        "ResourceArn":{
          "shape":"Arn",
          "documentation":"<p>The DataBrew resource to which tags should be added. The value for this parameter is an Amazon Resource Name (ARN). For DataBrew, you can tag a dataset, a job, a project, or a recipe.</p>",
          "location":"uri",
          "locationName":"ResourceArn"
        },
        "Tags":{
          "shape":"TagMap",
          "documentation":"<p>One or more tags to be assigned to the resource.</p>"
        }
      }
    },
    "TagResourceResponse":{
      "type":"structure",
      "members":{
      }
    },
    "TagValue":{
      "type":"string",
      "max":256
    },
    "TargetColumn":{
      "type":"string",
      "max":1024,
      "min":1
    },
    "Timeout":{
      "type":"integer",
      "min":0
    },
    "UntagResourceRequest":{
      "type":"structure",
      "required":[
        "ResourceArn",
        "TagKeys"
      ],
      "members":{
        "ResourceArn":{
          "shape":"Arn",
          "documentation":"<p>An DataBrew resource from which you want to remove a tag or tags. The value for this parameter is an Amazon Resource Name (ARN). </p>",
          "location":"uri",
          "locationName":"ResourceArn"
        },
        "TagKeys":{
          "shape":"TagKeyList",
          "documentation":"<p>The tag keys (names) of one or more tags to be removed.</p>",
          "location":"querystring",
          "locationName":"tagKeys"
        }
      }
    },
    "UntagResourceResponse":{
      "type":"structure",
      "members":{
      }
    },
    "UpdateDatasetRequest":{
      "type":"structure",
      "required":[
        "Name",
        "Input"
      ],
      "members":{
        "Name":{
          "shape":"DatasetName",
          "documentation":"<p>The name of the dataset to be updated.</p>",
          "location":"uri",
          "locationName":"name"
        },
        "FormatOptions":{"shape":"FormatOptions"},
        "Input":{"shape":"Input"}
      }
    },
    "UpdateDatasetResponse":{
      "type":"structure",
      "required":["Name"],
      "members":{
        "Name":{
          "shape":"DatasetName",
          "documentation":"<p>The name of the dataset that you updated.</p>"
        }
      }
    },
    "UpdateProfileJobRequest":{
      "type":"structure",
      "required":[
        "Name",
        "OutputLocation",
        "RoleArn"
      ],
      "members":{
        "EncryptionKeyArn":{
          "shape":"EncryptionKeyArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of an encryption key that is used to protect the job.</p>"
        },
        "EncryptionMode":{
          "shape":"EncryptionMode",
          "documentation":"<p>The encryption mode for the job, which can be one of the following:</p> <ul> <li> <p> <code>SSE-KMS</code> - Server-side encryption with AWS KMS-managed keys.</p> </li> <li> <p> <code>SSE-S3</code> - Server-side encryption with keys managed by Amazon S3.</p> </li> </ul>"
        },
        "Name":{
          "shape":"JobName",
          "documentation":"<p>The name of the job to be updated.</p>",
          "location":"uri",
          "locationName":"name"
        },
        "LogSubscription":{
          "shape":"LogSubscription",
          "documentation":"<p>A value that enables or disables Amazon CloudWatch logging for the current AWS account. If logging is enabled, CloudWatch writes one log stream for each job run.</p>"
        },
        "MaxCapacity":{
          "shape":"MaxCapacity",
          "documentation":"<p>The maximum number of nodes that DataBrew can use when the job processes data.</p>"
        },
        "MaxRetries":{
          "shape":"MaxRetries",
          "documentation":"<p>The maximum number of times to retry the job after a job run fails.</p>"
        },
        "OutputLocation":{"shape":"S3Location"},
        "RoleArn":{
          "shape":"Arn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role to be assumed for this request.</p>"
        },
        "Timeout":{
          "shape":"Timeout",
          "documentation":"<p>The job's timeout in minutes. A job that attempts to run longer than this timeout period ends with a status of <code>TIMEOUT</code>.</p>"
        }
      }
    },
    "UpdateProfileJobResponse":{
      "type":"structure",
      "required":["Name"],
      "members":{
        "Name":{
          "shape":"JobName",
          "documentation":"<p>The name of the job that was updated.</p>"
        }
      }
    },
    "UpdateProjectRequest":{
      "type":"structure",
      "required":[
        "RoleArn",
        "Name"
      ],
      "members":{
        "Sample":{"shape":"Sample"},
        "RoleArn":{
          "shape":"Arn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the IAM role to be assumed for this request.</p>"
        },
        "Name":{
          "shape":"ProjectName",
          "documentation":"<p>The name of the project to be updated.</p>",
          "location":"uri",
          "locationName":"name"
        }
      }
    },
    "UpdateProjectResponse":{
      "type":"structure",
      "required":["Name"],
      "members":{
        "LastModifiedDate":{
          "shape":"Date",
          "documentation":"<p>The date and time that the project was last modified.</p>"
        },
        "Name":{
          "shape":"ProjectName",
          "documentation":"<p>The name of the project that you updated.</p>"
        }
      }
    },
    "UpdateRecipeJobRequest":{
      "type":"structure",
      "required":[
        "Name",
        "Outputs",
        "RoleArn"
      ],
      "members":{
        "EncryptionKeyArn":{
          "shape":"EncryptionKeyArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of an encryption key that is used to protect the job.</p>"
        },
        "EncryptionMode":{
          "shape":"EncryptionMode",
          "documentation":"<p>The encryption mode for the job, which can be one of the following:</p> <ul> <li> <p> <code>SSE-KMS</code> - Server-side encryption with AWS KMS-managed keys.</p> </li> <li> <p> <code>SSE-S3</code> - Server-side encryption with keys managed by Amazon S3.</p> </li> </ul>"
        },
        "Name":{
          "shape":"JobName",
          "documentation":"<p>The name of the job to update.</p>",
          "location":"uri",
          "locationName":"name"
        },
        "LogSubscription":{
          "shape":"LogSubscription",
          "documentation":"<p>A value that enables or disables Amazon CloudWatch logging for the current AWS account. If logging is enabled, CloudWatch writes one log stream for each job run.</p>"
        },
        "MaxCapacity":{
          "shape":"MaxCapacity",
          "documentation":"<p>The maximum number of nodes that DataBrew can consume when the job processes data.</p>"
        },
        "MaxRetries":{
          "shape":"MaxRetries",
          "documentation":"<p>The maximum number of times to retry the job after a job run fails.</p>"
        },
        "Outputs":{
          "shape":"OutputList",
          "documentation":"<p>One or more artifacts that represent the output from running the job. </p>"
        },
        "RoleArn":{
          "shape":"Arn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role to be assumed for this request.</p>"
        },
        "Timeout":{
          "shape":"Timeout",
          "documentation":"<p>The job's timeout in minutes. A job that attempts to run longer than this timeout period ends with a status of <code>TIMEOUT</code>.</p>"
        }
      }
    },
    "UpdateRecipeJobResponse":{
      "type":"structure",
      "required":["Name"],
      "members":{
        "Name":{
          "shape":"JobName",
          "documentation":"<p>The name of the job that you updated.</p>"
        }
      }
    },
    "UpdateRecipeRequest":{
      "type":"structure",
      "required":["Name"],
      "members":{
        "Description":{
          "shape":"RecipeDescription",
          "documentation":"<p>A description of the recipe.</p>"
        },
        "Name":{
          "shape":"RecipeName",
          "documentation":"<p>The name of the recipe to be updated.</p>",
          "location":"uri",
          "locationName":"name"
        },
        "Steps":{
          "shape":"RecipeStepList",
          "documentation":"<p>One or more steps to be performed by the recipe. Each step consists of an action, and the conditions under which the action should succeed.</p>"
        }
      }
    },
    "UpdateRecipeResponse":{
      "type":"structure",
      "required":["Name"],
      "members":{
        "Name":{
          "shape":"RecipeName",
          "documentation":"<p>The name of the recipe that was updated.</p>"
        }
      }
    },
    "UpdateScheduleRequest":{
      "type":"structure",
      "required":[
        "CronExpression",
        "Name"
      ],
      "members":{
        "JobNames":{
          "shape":"JobNameList",
          "documentation":"<p>The name or names of one or more jobs to be run for this schedule.</p>"
        },
        "CronExpression":{
          "shape":"CronExpression",
          "documentation":"<p>The date or dates and time or times, in <code>cron</code> format, when the jobs are to be run.</p>"
        },
        "Name":{
          "shape":"ScheduleName",
          "documentation":"<p>The name of the schedule to update.</p>",
          "location":"uri",
          "locationName":"name"
        }
      }
    },
    "UpdateScheduleResponse":{
      "type":"structure",
      "required":["Name"],
      "members":{
        "Name":{
          "shape":"ScheduleName",
          "documentation":"<p>The name of the schedule that was updated.</p>"
        }
      }
    },
    "ValidationException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"Message"}
      },
      "documentation":"<p>The input parameters for this request failed validation.</p>",
      "error":{"httpStatusCode":400},
      "exception":true
    },
    "ViewFrame":{
      "type":"structure",
      "required":["StartColumnIndex"],
      "members":{
        "StartColumnIndex":{
          "shape":"StartColumnIndex",
          "documentation":"<p>The starting index for the range of columns to return in the view frame.</p>"
        },
        "ColumnRange":{
          "shape":"ColumnRange",
          "documentation":"<p>The number of columns to include in the view frame, beginning with the <code>StartColumnIndex</code> value and ignoring any columns in the <code>HiddenColumns</code> list.</p>"
        },
        "HiddenColumns":{
          "shape":"HiddenColumnList",
          "documentation":"<p>A list of columns to hide in the view frame.</p>"
        }
      },
      "documentation":"<p>Represents the data being being transformed during an AWS Glue DataBrew project session.</p>"
    }
  },
  "documentation":"<p>AWS Glue DataBrew is a visual, cloud-scale data-preparation service. DataBrew simplifies data preparation tasks, targeting data issues that are hard to spot and time-consuming to fix. DataBrew empowers users of all technical levels to visualize the data and perform one-click data transformations, with no coding required.</p>"
}
