{
  "version":"2.0",
  "metadata":{
    "apiVersion":"2024-01-01",
    "auth":["aws.auth#sigv4"],
    "endpointPrefix":"scn",
    "protocol":"rest-json",
    "protocols":["rest-json"],
    "serviceFullName":"AWS Supply Chain",
    "serviceId":"SupplyChain",
    "signatureVersion":"v4",
    "signingName":"scn",
    "uid":"supplychain-2024-01-01"
  },
  "operations":{
    "CreateBillOfMaterialsImportJob":{
      "name":"CreateBillOfMaterialsImportJob",
      "http":{
        "method":"POST",
        "requestUri":"/api/configuration/instances/{instanceId}/bill-of-materials-import-jobs",
        "responseCode":200
      },
      "input":{"shape":"CreateBillOfMaterialsImportJobRequest"},
      "output":{"shape":"CreateBillOfMaterialsImportJobResponse"},
      "errors":[
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ThrottlingException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"}
      ],
      "documentation":"<p>CreateBillOfMaterialsImportJob creates an import job for the Product Bill Of Materials (BOM) entity. For information on the product_bom entity, see the AWS Supply Chain User Guide.</p> <p>The CSV file must be located in an Amazon S3 location accessible to AWS Supply Chain. It is recommended to use the same Amazon S3 bucket created during your AWS Supply Chain instance creation.</p>",
      "idempotent":true
    },
    "CreateDataIntegrationFlow":{
      "name":"CreateDataIntegrationFlow",
      "http":{
        "method":"PUT",
        "requestUri":"/api/data-integration/instance/{instanceId}/data-integration-flows/{name}",
        "responseCode":200
      },
      "input":{"shape":"CreateDataIntegrationFlowRequest"},
      "output":{"shape":"CreateDataIntegrationFlowResponse"},
      "errors":[
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ThrottlingException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"}
      ],
      "documentation":"<p>Enables you to programmatically create a data pipeline to ingest data from source systems such as Amazon S3 buckets, to a predefined Amazon Web Services Supply Chain dataset (product, inbound_order) or a temporary dataset along with the data transformation query provided with the API.</p>",
      "idempotent":true
    },
    "CreateDataLakeDataset":{
      "name":"CreateDataLakeDataset",
      "http":{
        "method":"PUT",
        "requestUri":"/api/datalake/instance/{instanceId}/namespaces/{namespace}/datasets/{name}",
        "responseCode":200
      },
      "input":{"shape":"CreateDataLakeDatasetRequest"},
      "output":{"shape":"CreateDataLakeDatasetResponse"},
      "errors":[
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ThrottlingException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"}
      ],
      "documentation":"<p>Enables you to programmatically create an Amazon Web Services Supply Chain data lake dataset. Developers can create the datasets using their pre-defined or custom schema for a given instance ID, namespace, and dataset name.</p>",
      "idempotent":true
    },
    "CreateInstance":{
      "name":"CreateInstance",
      "http":{
        "method":"POST",
        "requestUri":"/api/instance",
        "responseCode":200
      },
      "input":{"shape":"CreateInstanceRequest"},
      "output":{"shape":"CreateInstanceResponse"},
      "errors":[
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ThrottlingException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"}
      ],
      "documentation":"<p>Enables you to programmatically create an Amazon Web Services Supply Chain instance by applying KMS keys and relevant information associated with the API without using the Amazon Web Services console.</p> <p>This is an asynchronous operation. Upon receiving a CreateInstance request, Amazon Web Services Supply Chain immediately returns the instance resource, instance ID, and the initializing state while simultaneously creating all required Amazon Web Services resources for an instance creation. You can use GetInstance to check the status of the instance. If the instance results in an unhealthy state, you need to check the error message, delete the current instance, and recreate a new one based on the mitigation from the error message.</p>",
      "idempotent":true
    },
    "DeleteDataIntegrationFlow":{
      "name":"DeleteDataIntegrationFlow",
      "http":{
        "method":"DELETE",
        "requestUri":"/api/data-integration/instance/{instanceId}/data-integration-flows/{name}",
        "responseCode":200
      },
      "input":{"shape":"DeleteDataIntegrationFlowRequest"},
      "output":{"shape":"DeleteDataIntegrationFlowResponse"},
      "errors":[
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"}
      ],
      "documentation":"<p>Enable you to programmatically delete an existing data pipeline for the provided Amazon Web Services Supply Chain instance and DataIntegrationFlow name.</p>",
      "idempotent":true
    },
    "DeleteDataLakeDataset":{
      "name":"DeleteDataLakeDataset",
      "http":{
        "method":"DELETE",
        "requestUri":"/api/datalake/instance/{instanceId}/namespaces/{namespace}/datasets/{name}",
        "responseCode":200
      },
      "input":{"shape":"DeleteDataLakeDatasetRequest"},
      "output":{"shape":"DeleteDataLakeDatasetResponse"},
      "errors":[
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"}
      ],
      "documentation":"<p>Enables you to programmatically delete an Amazon Web Services Supply Chain data lake dataset. Developers can delete the existing datasets for a given instance ID, namespace, and instance name.</p>",
      "idempotent":true
    },
    "DeleteInstance":{
      "name":"DeleteInstance",
      "http":{
        "method":"DELETE",
        "requestUri":"/api/instance/{instanceId}",
        "responseCode":200
      },
      "input":{"shape":"DeleteInstanceRequest"},
      "output":{"shape":"DeleteInstanceResponse"},
      "errors":[
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"}
      ],
      "documentation":"<p>Enables you to programmatically delete an Amazon Web Services Supply Chain instance by deleting the KMS keys and relevant information associated with the API without using the Amazon Web Services console.</p> <p>This is an asynchronous operation. Upon receiving a DeleteInstance request, Amazon Web Services Supply Chain immediately returns a response with the instance resource, delete state while cleaning up all Amazon Web Services resources created during the instance creation process. You can use the GetInstance action to check the instance status.</p>",
      "idempotent":true
    },
    "GetBillOfMaterialsImportJob":{
      "name":"GetBillOfMaterialsImportJob",
      "http":{
        "method":"GET",
        "requestUri":"/api/configuration/instances/{instanceId}/bill-of-materials-import-jobs/{jobId}",
        "responseCode":200
      },
      "input":{"shape":"GetBillOfMaterialsImportJobRequest"},
      "output":{"shape":"GetBillOfMaterialsImportJobResponse"},
      "errors":[
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"}
      ],
      "documentation":"<p>Get status and details of a BillOfMaterialsImportJob.</p>"
    },
    "GetDataIntegrationFlow":{
      "name":"GetDataIntegrationFlow",
      "http":{
        "method":"GET",
        "requestUri":"/api/data-integration/instance/{instanceId}/data-integration-flows/{name}",
        "responseCode":200
      },
      "input":{"shape":"GetDataIntegrationFlowRequest"},
      "output":{"shape":"GetDataIntegrationFlowResponse"},
      "errors":[
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"}
      ],
      "documentation":"<p>Enables you to programmatically view a specific data pipeline for the provided Amazon Web Services Supply Chain instance and DataIntegrationFlow name.</p>"
    },
    "GetDataLakeDataset":{
      "name":"GetDataLakeDataset",
      "http":{
        "method":"GET",
        "requestUri":"/api/datalake/instance/{instanceId}/namespaces/{namespace}/datasets/{name}",
        "responseCode":200
      },
      "input":{"shape":"GetDataLakeDatasetRequest"},
      "output":{"shape":"GetDataLakeDatasetResponse"},
      "errors":[
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"}
      ],
      "documentation":"<p>Enables you to programmatically view an Amazon Web Services Supply Chain data lake dataset. Developers can view the data lake dataset information such as namespace, schema, and so on for a given instance ID, namespace, and dataset name.</p>"
    },
    "GetInstance":{
      "name":"GetInstance",
      "http":{
        "method":"GET",
        "requestUri":"/api/instance/{instanceId}",
        "responseCode":200
      },
      "input":{"shape":"GetInstanceRequest"},
      "output":{"shape":"GetInstanceResponse"},
      "errors":[
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"}
      ],
      "documentation":"<p>Enables you to programmatically retrieve the information related to an Amazon Web Services Supply Chain instance ID.</p>"
    },
    "ListDataIntegrationFlows":{
      "name":"ListDataIntegrationFlows",
      "http":{
        "method":"GET",
        "requestUri":"/api/data-integration/instance/{instanceId}/data-integration-flows",
        "responseCode":200
      },
      "input":{"shape":"ListDataIntegrationFlowsRequest"},
      "output":{"shape":"ListDataIntegrationFlowsResponse"},
      "errors":[
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ThrottlingException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"}
      ],
      "documentation":"<p>Enables you to programmatically list all data pipelines for the provided Amazon Web Services Supply Chain instance.</p>"
    },
    "ListDataLakeDatasets":{
      "name":"ListDataLakeDatasets",
      "http":{
        "method":"GET",
        "requestUri":"/api/datalake/instance/{instanceId}/namespaces/{namespace}/datasets",
        "responseCode":200
      },
      "input":{"shape":"ListDataLakeDatasetsRequest"},
      "output":{"shape":"ListDataLakeDatasetsResponse"},
      "errors":[
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"}
      ],
      "documentation":"<p>Enables you to programmatically view the list of Amazon Web Services Supply Chain data lake datasets. Developers can view the datasets and the corresponding information such as namespace, schema, and so on for a given instance ID and namespace.</p>"
    },
    "ListInstances":{
      "name":"ListInstances",
      "http":{
        "method":"GET",
        "requestUri":"/api/instance",
        "responseCode":200
      },
      "input":{"shape":"ListInstancesRequest"},
      "output":{"shape":"ListInstancesResponse"},
      "errors":[
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ThrottlingException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"}
      ],
      "documentation":"<p>List all Amazon Web Services Supply Chain instances for a specific account. Enables you to programmatically list all Amazon Web Services Supply Chain instances based on their account ID, instance name, and state of the instance (active or delete).</p>"
    },
    "ListTagsForResource":{
      "name":"ListTagsForResource",
      "http":{
        "method":"GET",
        "requestUri":"/api/tags/{resourceArn}",
        "responseCode":200
      },
      "input":{"shape":"ListTagsForResourceRequest"},
      "output":{"shape":"ListTagsForResourceResponse"},
      "errors":[
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"}
      ],
      "documentation":"<p>List all the tags for an Amazon Web ServicesSupply Chain resource. You can list all the tags added to a resource. By listing the tags, developers can view the tag level information on a resource and perform actions such as, deleting a resource associated with a particular tag.</p>"
    },
    "SendDataIntegrationEvent":{
      "name":"SendDataIntegrationEvent",
      "http":{
        "method":"POST",
        "requestUri":"/api-data/data-integration/instance/{instanceId}/data-integration-events",
        "responseCode":200
      },
      "input":{"shape":"SendDataIntegrationEventRequest"},
      "output":{"shape":"SendDataIntegrationEventResponse"},
      "errors":[
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"}
      ],
      "documentation":"<p>Send the transactional data payload for the event with real-time data for analysis or monitoring. The real-time data events are stored in an Amazon Web Services service before being processed and stored in data lake. New data events are synced with data lake at 5 PM GMT everyday. The updated transactional data is available in data lake after ingestion.</p>",
      "idempotent":true
    },
    "TagResource":{
      "name":"TagResource",
      "http":{
        "method":"POST",
        "requestUri":"/api/tags/{resourceArn}",
        "responseCode":200
      },
      "input":{"shape":"TagResourceRequest"},
      "output":{"shape":"TagResourceResponse"},
      "errors":[
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"}
      ],
      "documentation":"<p>You can create tags during or after creating a resource such as instance, data flow, or dataset in AWS Supply chain. During the data ingestion process, you can add tags such as dev, test, or prod to data flows created during the data ingestion process in the AWS Supply Chain datasets. You can use these tags to identify a group of resources or a single resource used by the developer.</p>"
    },
    "UntagResource":{
      "name":"UntagResource",
      "http":{
        "method":"DELETE",
        "requestUri":"/api/tags/{resourceArn}",
        "responseCode":200
      },
      "input":{"shape":"UntagResourceRequest"},
      "output":{"shape":"UntagResourceResponse"},
      "errors":[
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"}
      ],
      "documentation":"<p>You can delete tags for an Amazon Web Services Supply chain resource such as instance, data flow, or dataset in AWS Supply Chain. During the data ingestion process, you can delete tags such as dev, test, or prod to data flows created during the data ingestion process in the AWS Supply Chain datasets. </p>",
      "idempotent":true
    },
    "UpdateDataIntegrationFlow":{
      "name":"UpdateDataIntegrationFlow",
      "http":{
        "method":"PATCH",
        "requestUri":"/api/data-integration/instance/{instanceId}/data-integration-flows/{name}",
        "responseCode":200
      },
      "input":{"shape":"UpdateDataIntegrationFlowRequest"},
      "output":{"shape":"UpdateDataIntegrationFlowResponse"},
      "errors":[
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"}
      ],
      "documentation":"<p>Enables you to programmatically update an existing data pipeline to ingest data from the source systems such as, Amazon S3 buckets, to a predefined Amazon Web Services Supply Chain dataset (product, inbound_order) or a temporary dataset along with the data transformation query provided with the API.</p>"
    },
    "UpdateDataLakeDataset":{
      "name":"UpdateDataLakeDataset",
      "http":{
        "method":"PATCH",
        "requestUri":"/api/datalake/instance/{instanceId}/namespaces/{namespace}/datasets/{name}",
        "responseCode":200
      },
      "input":{"shape":"UpdateDataLakeDatasetRequest"},
      "output":{"shape":"UpdateDataLakeDatasetResponse"},
      "errors":[
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"}
      ],
      "documentation":"<p>Enables you to programmatically update an Amazon Web Services Supply Chain data lake dataset. Developers can update the description of a data lake dataset for a given instance ID, namespace, and dataset name.</p>"
    },
    "UpdateInstance":{
      "name":"UpdateInstance",
      "http":{
        "method":"PATCH",
        "requestUri":"/api/instance/{instanceId}",
        "responseCode":200
      },
      "input":{"shape":"UpdateInstanceRequest"},
      "output":{"shape":"UpdateInstanceResponse"},
      "errors":[
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"}
      ],
      "documentation":"<p>Enables you to programmatically update an Amazon Web Services Supply Chain instance description by providing all the relevant information such as account ID, instance ID and so on without using the AWS console.</p>"
    }
  },
  "shapes":{
    "AccessDeniedException":{
      "type":"structure",
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>You do not have the required privileges to perform this action.</p>",
      "error":{
        "httpStatusCode":403,
        "senderFault":true
      },
      "exception":true
    },
    "AscResourceArn":{
      "type":"string",
      "max":1011,
      "min":20,
      "pattern":"arn:aws:scn(?::([a-z0-9-]+):([0-9]+):instance)?/([a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12})[-_./A-Za-z0-9]*"
    },
    "AwsAccountId":{
      "type":"string",
      "pattern":"[0-9]{12}"
    },
    "BillOfMaterialsImportJob":{
      "type":"structure",
      "required":[
        "instanceId",
        "jobId",
        "status",
        "s3uri"
      ],
      "members":{
        "instanceId":{
          "shape":"UUID",
          "documentation":"<p>The BillOfMaterialsImportJob instanceId.</p>"
        },
        "jobId":{
          "shape":"UUID",
          "documentation":"<p>The BillOfMaterialsImportJob jobId.</p>"
        },
        "status":{
          "shape":"ConfigurationJobStatus",
          "documentation":"<p>The BillOfMaterialsImportJob ConfigurationJobStatus.</p>"
        },
        "s3uri":{
          "shape":"ConfigurationS3Uri",
          "documentation":"<p>The S3 URI from which the CSV is read.</p>"
        },
        "message":{
          "shape":"String",
          "documentation":"<p>When the BillOfMaterialsImportJob has reached a terminal state, there will be a message.</p>"
        }
      },
      "documentation":"<p>The BillOfMaterialsImportJob details.</p>"
    },
    "Boolean":{
      "type":"boolean",
      "box":true
    },
    "ClientToken":{
      "type":"string",
      "documentation":"<p>Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.</p>",
      "max":126,
      "min":33
    },
    "ConfigurationJobStatus":{
      "type":"string",
      "documentation":"<p>The status of the job.</p>",
      "enum":[
        "NEW",
        "FAILED",
        "IN_PROGRESS",
        "QUEUED",
        "SUCCESS"
      ]
    },
    "ConfigurationS3Uri":{
      "type":"string",
      "min":10,
      "pattern":"[sS]3://[a-z0-9][a-z0-9.-]{1,61}[a-z0-9]/.+"
    },
    "ConflictException":{
      "type":"structure",
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>Updating or deleting a resource can cause an inconsistent state.</p>",
      "error":{
        "httpStatusCode":409,
        "senderFault":true
      },
      "exception":true
    },
    "CreateBillOfMaterialsImportJobRequest":{
      "type":"structure",
      "required":[
        "instanceId",
        "s3uri"
      ],
      "members":{
        "instanceId":{
          "shape":"UUID",
          "documentation":"<p>The AWS Supply Chain instance identifier.</p>",
          "location":"uri",
          "locationName":"instanceId"
        },
        "s3uri":{
          "shape":"ConfigurationS3Uri",
          "documentation":"<p>The S3 URI of the CSV file to be imported. The bucket must grant permissions for AWS Supply Chain to read the file.</p>"
        },
        "clientToken":{
          "shape":"ClientToken",
          "documentation":"<p>An idempotency token ensures the API request is only completed no more than once. This way, retrying the request will not trigger the operation multiple times. A client token is a unique, case-sensitive string of 33 to 128 ASCII characters. To make an idempotent API request, specify a client token in the request. You should not reuse the same client token for other requests. If you retry a successful request with the same client token, the request will succeed with no further actions being taken, and you will receive the same API response as the original successful request.</p>",
          "idempotencyToken":true
        }
      },
      "documentation":"<p>The request parameters for CreateBillOfMaterialsImportJob.</p>"
    },
    "CreateBillOfMaterialsImportJobResponse":{
      "type":"structure",
      "required":["jobId"],
      "members":{
        "jobId":{
          "shape":"UUID",
          "documentation":"<p>The new BillOfMaterialsImportJob identifier.</p>"
        }
      },
      "documentation":"<p>The response parameters of CreateBillOfMaterialsImportJob.</p>"
    },
    "CreateDataIntegrationFlowRequest":{
      "type":"structure",
      "required":[
        "instanceId",
        "name",
        "sources",
        "transformation",
        "target"
      ],
      "members":{
        "instanceId":{
          "shape":"UUID",
          "documentation":"<p>The Amazon Web Services Supply Chain instance identifier.</p>",
          "location":"uri",
          "locationName":"instanceId"
        },
        "name":{
          "shape":"DataIntegrationFlowName",
          "documentation":"<p>Name of the DataIntegrationFlow.</p>",
          "location":"uri",
          "locationName":"name"
        },
        "sources":{
          "shape":"DataIntegrationFlowSourceList",
          "documentation":"<p>The source configurations for DataIntegrationFlow.</p>"
        },
        "transformation":{
          "shape":"DataIntegrationFlowTransformation",
          "documentation":"<p>The transformation configurations for DataIntegrationFlow.</p>"
        },
        "target":{
          "shape":"DataIntegrationFlowTarget",
          "documentation":"<p>The target configurations for DataIntegrationFlow.</p>"
        },
        "tags":{
          "shape":"TagMap",
          "documentation":"<p>The tags of the DataIntegrationFlow to be created</p>"
        }
      },
      "documentation":"<p>The request parameters for CreateDataIntegrationFlow.</p>"
    },
    "CreateDataIntegrationFlowResponse":{
      "type":"structure",
      "required":[
        "instanceId",
        "name"
      ],
      "members":{
        "instanceId":{
          "shape":"UUID",
          "documentation":"<p>The Amazon Web Services Supply Chain instance identifier.</p>"
        },
        "name":{
          "shape":"DataIntegrationFlowName",
          "documentation":"<p>The name of the DataIntegrationFlow created.</p>"
        }
      },
      "documentation":"<p>The response parameters for CreateDataIntegrationFlow.</p>"
    },
    "CreateDataLakeDatasetRequest":{
      "type":"structure",
      "required":[
        "instanceId",
        "namespace",
        "name"
      ],
      "members":{
        "instanceId":{
          "shape":"UUID",
          "documentation":"<p>The Amazon Web Services Supply Chain instance identifier.</p>",
          "location":"uri",
          "locationName":"instanceId"
        },
        "namespace":{
          "shape":"DataLakeDatasetNamespace",
          "documentation":"<p>The name space of the dataset.</p> <ul> <li> <p> <b>asc</b> - For information on the Amazon Web Services Supply Chain supported datasets see <a href=\"https://docs.aws.amazon.com/aws-supply-chain/latest/userguide/data-model-asc.html\">https://docs.aws.amazon.com/aws-supply-chain/latest/userguide/data-model-asc.html</a>.</p> </li> <li> <p> <b>default</b> - For datasets with custom user-defined schemas.</p> </li> </ul>",
          "location":"uri",
          "locationName":"namespace"
        },
        "name":{
          "shape":"DataLakeDatasetName",
          "documentation":"<p>The name of the dataset. For <b>asc</b> name space, the name must be one of the supported data entities under <a href=\"https://docs.aws.amazon.com/aws-supply-chain/latest/userguide/data-model-asc.html\">https://docs.aws.amazon.com/aws-supply-chain/latest/userguide/data-model-asc.html</a>.</p>",
          "location":"uri",
          "locationName":"name"
        },
        "schema":{
          "shape":"DataLakeDatasetSchema",
          "documentation":"<p>The custom schema of the data lake dataset and is only required when the name space is <b>default</b>.</p>"
        },
        "description":{
          "shape":"DataLakeDatasetDescription",
          "documentation":"<p>The description of the dataset.</p>"
        },
        "tags":{
          "shape":"TagMap",
          "documentation":"<p>The tags of the dataset.</p>"
        }
      },
      "documentation":"<p>The request parameters for CreateDataLakeDataset.</p>"
    },
    "CreateDataLakeDatasetResponse":{
      "type":"structure",
      "required":["dataset"],
      "members":{
        "dataset":{
          "shape":"DataLakeDataset",
          "documentation":"<p>The detail of created dataset.</p>"
        }
      },
      "documentation":"<p>The response parameters of CreateDataLakeDataset.</p>"
    },
    "CreateInstanceRequest":{
      "type":"structure",
      "members":{
        "instanceName":{
          "shape":"InstanceName",
          "documentation":"<p>The AWS Supply Chain instance name.</p>"
        },
        "instanceDescription":{
          "shape":"InstanceDescription",
          "documentation":"<p>The AWS Supply Chain instance description.</p>"
        },
        "kmsKeyArn":{
          "shape":"KmsKeyArn",
          "documentation":"<p>The ARN (Amazon Resource Name) of the Key Management Service (KMS) key you provide for encryption. This is required if you do not want to use the Amazon Web Services owned KMS key. If you don't provide anything here, AWS Supply Chain uses the Amazon Web Services owned KMS key.</p>"
        },
        "webAppDnsDomain":{
          "shape":"InstanceWebAppDnsDomain",
          "documentation":"<p>The DNS subdomain of the web app. This would be \"example\" in the URL \"example.scn.global.on.aws\". You can set this to a custom value, as long as the domain isn't already being used by someone else. The name may only include alphanumeric characters and hyphens.</p>"
        },
        "tags":{
          "shape":"TagMap",
          "documentation":"<p>The Amazon Web Services tags of an instance to be created.</p>"
        },
        "clientToken":{
          "shape":"ClientToken",
          "documentation":"<p>The client token for idempotency.</p>",
          "idempotencyToken":true
        }
      },
      "documentation":"<p>The request parameters for CreateInstance.</p>"
    },
    "CreateInstanceResponse":{
      "type":"structure",
      "required":["instance"],
      "members":{
        "instance":{
          "shape":"Instance",
          "documentation":"<p>The AWS Supply Chain instance resource data details.</p>"
        }
      },
      "documentation":"<p>The response parameters for CreateInstance.</p>"
    },
    "DataIntegrationEventData":{
      "type":"string",
      "max":1048576,
      "min":1,
      "sensitive":true
    },
    "DataIntegrationEventGroupId":{
      "type":"string",
      "max":255,
      "min":1
    },
    "DataIntegrationEventType":{
      "type":"string",
      "enum":[
        "scn.data.forecast",
        "scn.data.inventorylevel",
        "scn.data.inboundorder",
        "scn.data.inboundorderline",
        "scn.data.inboundorderlineschedule",
        "scn.data.outboundorderline",
        "scn.data.outboundshipment",
        "scn.data.processheader",
        "scn.data.processoperation",
        "scn.data.processproduct",
        "scn.data.reservation",
        "scn.data.shipment",
        "scn.data.shipmentstop",
        "scn.data.shipmentstoporder",
        "scn.data.supplyplan"
      ]
    },
    "DataIntegrationFlow":{
      "type":"structure",
      "required":[
        "instanceId",
        "name",
        "sources",
        "transformation",
        "target",
        "createdTime",
        "lastModifiedTime"
      ],
      "members":{
        "instanceId":{
          "shape":"UUID",
          "documentation":"<p>The DataIntegrationFlow instance ID.</p>"
        },
        "name":{
          "shape":"DataIntegrationFlowName",
          "documentation":"<p>The DataIntegrationFlow name.</p>"
        },
        "sources":{
          "shape":"DataIntegrationFlowSourceList",
          "documentation":"<p>The DataIntegrationFlow source configurations.</p>"
        },
        "transformation":{
          "shape":"DataIntegrationFlowTransformation",
          "documentation":"<p>The DataIntegrationFlow transformation configurations.</p>"
        },
        "target":{
          "shape":"DataIntegrationFlowTarget",
          "documentation":"<p>The DataIntegrationFlow target configuration.</p>"
        },
        "createdTime":{
          "shape":"Timestamp",
          "documentation":"<p>The DataIntegrationFlow creation timestamp.</p>"
        },
        "lastModifiedTime":{
          "shape":"Timestamp",
          "documentation":"<p>The DataIntegrationFlow last modified timestamp.</p>"
        }
      },
      "documentation":"<p>The DataIntegrationFlow details.</p>"
    },
    "DataIntegrationFlowDatasetOptions":{
      "type":"structure",
      "members":{
        "loadType":{
          "shape":"DataIntegrationFlowLoadType",
          "documentation":"<p>The dataset data load type in dataset options.</p>"
        },
        "dedupeRecords":{
          "shape":"Boolean",
          "documentation":"<p>The dataset load option to remove duplicates.</p>"
        }
      },
      "documentation":"<p>The dataset options used in dataset source and target configurations.</p>"
    },
    "DataIntegrationFlowDatasetSourceConfiguration":{
      "type":"structure",
      "required":["datasetIdentifier"],
      "members":{
        "datasetIdentifier":{
          "shape":"DatasetIdentifier",
          "documentation":"<p>The ARN of the dataset.</p>"
        },
        "options":{
          "shape":"DataIntegrationFlowDatasetOptions",
          "documentation":"<p>The dataset DataIntegrationFlow source options.</p>"
        }
      },
      "documentation":"<p>The dataset DataIntegrationFlow source configuration parameters.</p>"
    },
    "DataIntegrationFlowDatasetTargetConfiguration":{
      "type":"structure",
      "required":["datasetIdentifier"],
      "members":{
        "datasetIdentifier":{
          "shape":"DatasetIdentifier",
          "documentation":"<p>The dataset ARN.</p>"
        },
        "options":{
          "shape":"DataIntegrationFlowDatasetOptions",
          "documentation":"<p>The dataset DataIntegrationFlow target options.</p>"
        }
      },
      "documentation":"<p>The dataset DataIntegrationFlow target configuration parameters.</p>"
    },
    "DataIntegrationFlowFileType":{
      "type":"string",
      "enum":[
        "CSV",
        "PARQUET",
        "JSON"
      ]
    },
    "DataIntegrationFlowList":{
      "type":"list",
      "member":{"shape":"DataIntegrationFlow"}
    },
    "DataIntegrationFlowLoadType":{
      "type":"string",
      "enum":[
        "INCREMENTAL",
        "REPLACE"
      ]
    },
    "DataIntegrationFlowMaxResults":{
      "type":"integer",
      "box":true,
      "max":20,
      "min":0
    },
    "DataIntegrationFlowName":{
      "type":"string",
      "max":256,
      "min":1,
      "pattern":"[A-Za-z0-9-]+"
    },
    "DataIntegrationFlowNextToken":{
      "type":"string",
      "max":65535,
      "min":1
    },
    "DataIntegrationFlowS3Options":{
      "type":"structure",
      "members":{
        "fileType":{
          "shape":"DataIntegrationFlowFileType",
          "documentation":"<p>The Amazon S3 file type in S3 options.</p>"
        }
      },
      "documentation":"<p>The Amazon S3 options used in S3 source and target configurations.</p>"
    },
    "DataIntegrationFlowS3Prefix":{
      "type":"string",
      "max":700,
      "min":0,
      "pattern":"[/A-Za-z0-9._-]+"
    },
    "DataIntegrationFlowS3SourceConfiguration":{
      "type":"structure",
      "required":[
        "bucketName",
        "prefix"
      ],
      "members":{
        "bucketName":{
          "shape":"S3BucketName",
          "documentation":"<p>The bucketName of the S3 source objects.</p>"
        },
        "prefix":{
          "shape":"DataIntegrationFlowS3Prefix",
          "documentation":"<p>The prefix of the S3 source objects.</p>"
        },
        "options":{
          "shape":"DataIntegrationFlowS3Options",
          "documentation":"<p>The other options of the S3 DataIntegrationFlow source.</p>"
        }
      },
      "documentation":"<p>The S3 DataIntegrationFlow source configuration parameters.</p>"
    },
    "DataIntegrationFlowS3TargetConfiguration":{
      "type":"structure",
      "required":[
        "bucketName",
        "prefix"
      ],
      "members":{
        "bucketName":{
          "shape":"S3BucketName",
          "documentation":"<p>The bucketName of the S3 target objects.</p>"
        },
        "prefix":{
          "shape":"DataIntegrationFlowS3Prefix",
          "documentation":"<p>The prefix of the S3 target objects.</p>"
        },
        "options":{
          "shape":"DataIntegrationFlowS3Options",
          "documentation":"<p>The S3 DataIntegrationFlow target options.</p>"
        }
      },
      "documentation":"<p>The S3 DataIntegrationFlow target configuration parameters.</p>"
    },
    "DataIntegrationFlowSQLQuery":{
      "type":"string",
      "max":65535,
      "min":1
    },
    "DataIntegrationFlowSQLTransformationConfiguration":{
      "type":"structure",
      "required":["query"],
      "members":{
        "query":{
          "shape":"DataIntegrationFlowSQLQuery",
          "documentation":"<p>The transformation SQL query body based on SparkSQL.</p>"
        }
      },
      "documentation":"<p>The SQL DataIntegrationFlow transformation configuration parameters.</p>"
    },
    "DataIntegrationFlowSource":{
      "type":"structure",
      "required":[
        "sourceType",
        "sourceName"
      ],
      "members":{
        "sourceType":{
          "shape":"DataIntegrationFlowSourceType",
          "documentation":"<p>The DataIntegrationFlow source type.</p>"
        },
        "sourceName":{
          "shape":"DataIntegrationFlowSourceName",
          "documentation":"<p>The DataIntegrationFlow source name that can be used as table alias in SQL transformation query.</p>"
        },
        "s3Source":{
          "shape":"DataIntegrationFlowS3SourceConfiguration",
          "documentation":"<p>The S3 DataIntegrationFlow source.</p>"
        },
        "datasetSource":{
          "shape":"DataIntegrationFlowDatasetSourceConfiguration",
          "documentation":"<p>The dataset DataIntegrationFlow source.</p>"
        }
      },
      "documentation":"<p>The DataIntegrationFlow source parameters.</p>"
    },
    "DataIntegrationFlowSourceList":{
      "type":"list",
      "member":{"shape":"DataIntegrationFlowSource"},
      "max":40,
      "min":1
    },
    "DataIntegrationFlowSourceName":{
      "type":"string",
      "max":256,
      "min":1,
      "pattern":"[A-Za-z0-9_]+"
    },
    "DataIntegrationFlowSourceType":{
      "type":"string",
      "enum":[
        "S3",
        "DATASET"
      ]
    },
    "DataIntegrationFlowTarget":{
      "type":"structure",
      "required":["targetType"],
      "members":{
        "targetType":{
          "shape":"DataIntegrationFlowTargetType",
          "documentation":"<p>The DataIntegrationFlow target type.</p>"
        },
        "s3Target":{
          "shape":"DataIntegrationFlowS3TargetConfiguration",
          "documentation":"<p>The S3 DataIntegrationFlow target.</p>"
        },
        "datasetTarget":{
          "shape":"DataIntegrationFlowDatasetTargetConfiguration",
          "documentation":"<p>The dataset DataIntegrationFlow target.</p>"
        }
      },
      "documentation":"<p>The DataIntegrationFlow target parameters.</p>"
    },
    "DataIntegrationFlowTargetType":{
      "type":"string",
      "enum":[
        "S3",
        "DATASET"
      ]
    },
    "DataIntegrationFlowTransformation":{
      "type":"structure",
      "required":["transformationType"],
      "members":{
        "transformationType":{
          "shape":"DataIntegrationFlowTransformationType",
          "documentation":"<p>The DataIntegrationFlow transformation type.</p>"
        },
        "sqlTransformation":{
          "shape":"DataIntegrationFlowSQLTransformationConfiguration",
          "documentation":"<p>The SQL DataIntegrationFlow transformation configuration.</p>"
        }
      },
      "documentation":"<p>The DataIntegrationFlow transformation parameters.</p>"
    },
    "DataIntegrationFlowTransformationType":{
      "type":"string",
      "enum":[
        "SQL",
        "NONE"
      ]
    },
    "DataLakeDataset":{
      "type":"structure",
      "required":[
        "instanceId",
        "namespace",
        "name",
        "arn",
        "schema",
        "createdTime",
        "lastModifiedTime"
      ],
      "members":{
        "instanceId":{
          "shape":"UUID",
          "documentation":"<p>The Amazon Web Services Supply Chain instance identifier.</p>"
        },
        "namespace":{
          "shape":"DataLakeDatasetNamespace",
          "documentation":"<p>The name space of the dataset. The available values are:</p> <ul> <li> <p> <b>asc</b> - For information on the Amazon Web Services Supply Chain supported datasets see <a href=\"https://docs.aws.amazon.com/aws-supply-chain/latest/userguide/data-model-asc.html\">https://docs.aws.amazon.com/aws-supply-chain/latest/userguide/data-model-asc.html</a>.</p> </li> <li> <p> <b>default</b> - For datasets with custom user-defined schemas.</p> </li> </ul>"
        },
        "name":{
          "shape":"DataLakeDatasetName",
          "documentation":"<p>The name of the dataset. For <b>asc</b> name space, the name must be one of the supported data entities under <a href=\"https://docs.aws.amazon.com/aws-supply-chain/latest/userguide/data-model-asc.html\">https://docs.aws.amazon.com/aws-supply-chain/latest/userguide/data-model-asc.html</a>.</p>"
        },
        "arn":{
          "shape":"AscResourceArn",
          "documentation":"<p>The arn of the dataset.</p>"
        },
        "schema":{
          "shape":"DataLakeDatasetSchema",
          "documentation":"<p>The schema of the dataset.</p>"
        },
        "description":{
          "shape":"DataLakeDatasetDescription",
          "documentation":"<p>The description of the dataset.</p>"
        },
        "createdTime":{
          "shape":"Timestamp",
          "documentation":"<p>The creation time of the dataset.</p>"
        },
        "lastModifiedTime":{
          "shape":"Timestamp",
          "documentation":"<p>The last modified time of the dataset.</p>"
        }
      },
      "documentation":"<p>The data lake dataset details.</p>"
    },
    "DataLakeDatasetDescription":{
      "type":"string",
      "max":500,
      "min":1
    },
    "DataLakeDatasetList":{
      "type":"list",
      "member":{"shape":"DataLakeDataset"},
      "max":20,
      "min":1
    },
    "DataLakeDatasetMaxResults":{
      "type":"integer",
      "box":true,
      "max":20,
      "min":0
    },
    "DataLakeDatasetName":{
      "type":"string",
      "max":75,
      "min":1,
      "pattern":"[a-z0-9_]+"
    },
    "DataLakeDatasetNamespace":{
      "type":"string",
      "max":50,
      "min":1,
      "pattern":"[a-z]+"
    },
    "DataLakeDatasetNextToken":{
      "type":"string",
      "max":65535,
      "min":1
    },
    "DataLakeDatasetSchema":{
      "type":"structure",
      "required":[
        "name",
        "fields"
      ],
      "members":{
        "name":{
          "shape":"DataLakeDatasetSchemaName",
          "documentation":"<p>The name of the dataset schema.</p>"
        },
        "fields":{
          "shape":"DataLakeDatasetSchemaFieldList",
          "documentation":"<p>The list of field details of the dataset schema.</p>"
        }
      },
      "documentation":"<p>The schema details of the dataset.</p>"
    },
    "DataLakeDatasetSchemaField":{
      "type":"structure",
      "required":[
        "name",
        "type",
        "isRequired"
      ],
      "members":{
        "name":{
          "shape":"DataLakeDatasetSchemaFieldName",
          "documentation":"<p>The dataset field name.</p>"
        },
        "type":{
          "shape":"DataLakeDatasetSchemaFieldType",
          "documentation":"<p>The dataset field type.</p>"
        },
        "isRequired":{
          "shape":"Boolean",
          "documentation":"<p>Indicate if the field is required or not.</p>"
        }
      },
      "documentation":"<p>The dataset field details.</p>"
    },
    "DataLakeDatasetSchemaFieldList":{
      "type":"list",
      "member":{"shape":"DataLakeDatasetSchemaField"},
      "max":500,
      "min":1
    },
    "DataLakeDatasetSchemaFieldName":{
      "type":"string",
      "max":100,
      "min":1,
      "pattern":"[a-z0-9_]+"
    },
    "DataLakeDatasetSchemaFieldType":{
      "type":"string",
      "enum":[
        "INT",
        "DOUBLE",
        "STRING",
        "TIMESTAMP"
      ]
    },
    "DataLakeDatasetSchemaName":{
      "type":"string",
      "max":100,
      "min":1,
      "pattern":"[A-Za-z0-9]+"
    },
    "DatasetIdentifier":{
      "type":"string",
      "max":1011,
      "min":1,
      "pattern":"[-_/A-Za-z0-9:]+"
    },
    "DeleteDataIntegrationFlowRequest":{
      "type":"structure",
      "required":[
        "instanceId",
        "name"
      ],
      "members":{
        "instanceId":{
          "shape":"UUID",
          "documentation":"<p>The Amazon Web Services Supply Chain instance identifier.</p>",
          "location":"uri",
          "locationName":"instanceId"
        },
        "name":{
          "shape":"DataIntegrationFlowName",
          "documentation":"<p>The name of the DataIntegrationFlow to be deleted.</p>",
          "location":"uri",
          "locationName":"name"
        }
      },
      "documentation":"<p>The request parameters for DeleteDataIntegrationFlow.</p>"
    },
    "DeleteDataIntegrationFlowResponse":{
      "type":"structure",
      "required":[
        "instanceId",
        "name"
      ],
      "members":{
        "instanceId":{
          "shape":"UUID",
          "documentation":"<p>The Amazon Web Services Supply Chain instance identifier.</p>"
        },
        "name":{
          "shape":"DataIntegrationFlowName",
          "documentation":"<p>The name of the DataIntegrationFlow deleted.</p>"
        }
      },
      "documentation":"<p>The response parameters for DeleteDataIntegrationFlow.</p>"
    },
    "DeleteDataLakeDatasetRequest":{
      "type":"structure",
      "required":[
        "instanceId",
        "namespace",
        "name"
      ],
      "members":{
        "instanceId":{
          "shape":"UUID",
          "documentation":"<p>The AWS Supply Chain instance identifier.</p>",
          "location":"uri",
          "locationName":"instanceId"
        },
        "namespace":{
          "shape":"DataLakeDatasetNamespace",
          "documentation":"<p>The name space of the dataset. The available values are:</p> <ul> <li> <p> <b>asc</b> - For information on the Amazon Web Services Supply Chain supported datasets see <a href=\"https://docs.aws.amazon.com/aws-supply-chain/latest/userguide/data-model-asc.html\">https://docs.aws.amazon.com/aws-supply-chain/latest/userguide/data-model-asc.html</a>.</p> </li> <li> <p> <b>default</b> - For datasets with custom user-defined schemas.</p> </li> </ul>",
          "location":"uri",
          "locationName":"namespace"
        },
        "name":{
          "shape":"DataLakeDatasetName",
          "documentation":"<p>The name of the dataset. For <b>asc</b> name space, the name must be one of the supported data entities under <a href=\"https://docs.aws.amazon.com/aws-supply-chain/latest/userguide/data-model-asc.html\">https://docs.aws.amazon.com/aws-supply-chain/latest/userguide/data-model-asc.html</a>.</p>",
          "location":"uri",
          "locationName":"name"
        }
      },
      "documentation":"<p>The request parameters of DeleteDataLakeDataset.</p>"
    },
    "DeleteDataLakeDatasetResponse":{
      "type":"structure",
      "required":[
        "instanceId",
        "namespace",
        "name"
      ],
      "members":{
        "instanceId":{
          "shape":"UUID",
          "documentation":"<p>The AWS Supply Chain instance identifier.</p>"
        },
        "namespace":{
          "shape":"DataLakeDatasetNamespace",
          "documentation":"<p>The name space of deleted dataset.</p>"
        },
        "name":{
          "shape":"DataLakeDatasetName",
          "documentation":"<p>The name of deleted dataset.</p>"
        }
      },
      "documentation":"<p>The response parameters of DeleteDataLakeDataset.</p>"
    },
    "DeleteInstanceRequest":{
      "type":"structure",
      "required":["instanceId"],
      "members":{
        "instanceId":{
          "shape":"UUID",
          "documentation":"<p>The AWS Supply Chain instance identifier.</p>",
          "location":"uri",
          "locationName":"instanceId"
        }
      },
      "documentation":"<p>The request parameters for DeleteInstance.</p>"
    },
    "DeleteInstanceResponse":{
      "type":"structure",
      "required":["instance"],
      "members":{
        "instance":{
          "shape":"Instance",
          "documentation":"<p>The AWS Supply Chain instance resource data details.</p>"
        }
      },
      "documentation":"<p>The response parameters for DeleteInstance.</p>"
    },
    "Double":{
      "type":"double",
      "box":true
    },
    "GetBillOfMaterialsImportJobRequest":{
      "type":"structure",
      "required":[
        "instanceId",
        "jobId"
      ],
      "members":{
        "instanceId":{
          "shape":"UUID",
          "documentation":"<p>The AWS Supply Chain instance identifier.</p>",
          "location":"uri",
          "locationName":"instanceId"
        },
        "jobId":{
          "shape":"UUID",
          "documentation":"<p>The BillOfMaterialsImportJob identifier.</p>",
          "location":"uri",
          "locationName":"jobId"
        }
      },
      "documentation":"<p>The request parameters for GetBillOfMaterialsImportJob.</p>"
    },
    "GetBillOfMaterialsImportJobResponse":{
      "type":"structure",
      "required":["job"],
      "members":{
        "job":{
          "shape":"BillOfMaterialsImportJob",
          "documentation":"<p>The BillOfMaterialsImportJob.</p>"
        }
      },
      "documentation":"<p>The response parameters for GetBillOfMaterialsImportJob.</p>"
    },
    "GetDataIntegrationFlowRequest":{
      "type":"structure",
      "required":[
        "instanceId",
        "name"
      ],
      "members":{
        "instanceId":{
          "shape":"UUID",
          "documentation":"<p>The Amazon Web Services Supply Chain instance identifier.</p>",
          "location":"uri",
          "locationName":"instanceId"
        },
        "name":{
          "shape":"DataIntegrationFlowName",
          "documentation":"<p>The name of the DataIntegrationFlow created.</p>",
          "location":"uri",
          "locationName":"name"
        }
      },
      "documentation":"<p>The request parameters for GetDataIntegrationFlow.</p>"
    },
    "GetDataIntegrationFlowResponse":{
      "type":"structure",
      "required":["flow"],
      "members":{
        "flow":{
          "shape":"DataIntegrationFlow",
          "documentation":"<p>The details of the DataIntegrationFlow returned.</p>"
        }
      },
      "documentation":"<p>The response parameters for GetDataIntegrationFlow.</p>"
    },
    "GetDataLakeDatasetRequest":{
      "type":"structure",
      "required":[
        "instanceId",
        "namespace",
        "name"
      ],
      "members":{
        "instanceId":{
          "shape":"UUID",
          "documentation":"<p>The Amazon Web Services Supply Chain instance identifier.</p>",
          "location":"uri",
          "locationName":"instanceId"
        },
        "namespace":{
          "shape":"DataLakeDatasetNamespace",
          "documentation":"<p>The name space of the dataset. The available values are:</p> <ul> <li> <p> <b>asc</b> - For information on the Amazon Web Services Supply Chain supported datasets see <a href=\"https://docs.aws.amazon.com/aws-supply-chain/latest/userguide/data-model-asc.html\">https://docs.aws.amazon.com/aws-supply-chain/latest/userguide/data-model-asc.html</a>.</p> </li> <li> <p> <b>default</b> - For datasets with custom user-defined schemas.</p> </li> </ul>",
          "location":"uri",
          "locationName":"namespace"
        },
        "name":{
          "shape":"DataLakeDatasetName",
          "documentation":"<p>The name of the dataset. For <b>asc</b> name space, the name must be one of the supported data entities under <a href=\"https://docs.aws.amazon.com/aws-supply-chain/latest/userguide/data-model-asc.html\">https://docs.aws.amazon.com/aws-supply-chain/latest/userguide/data-model-asc.html</a>.</p>",
          "location":"uri",
          "locationName":"name"
        }
      },
      "documentation":"<p>The request parameters for GetDataLakeDataset.</p>"
    },
    "GetDataLakeDatasetResponse":{
      "type":"structure",
      "required":["dataset"],
      "members":{
        "dataset":{
          "shape":"DataLakeDataset",
          "documentation":"<p>The fetched dataset details.</p>"
        }
      },
      "documentation":"<p>The response parameters for UpdateDataLakeDataset.</p>"
    },
    "GetInstanceRequest":{
      "type":"structure",
      "required":["instanceId"],
      "members":{
        "instanceId":{
          "shape":"UUID",
          "documentation":"<p>The AWS Supply Chain instance identifier</p>",
          "location":"uri",
          "locationName":"instanceId"
        }
      },
      "documentation":"<p>The request parameters for GetInstance.</p>"
    },
    "GetInstanceResponse":{
      "type":"structure",
      "required":["instance"],
      "members":{
        "instance":{
          "shape":"Instance",
          "documentation":"<p>The instance resource data details.</p>"
        }
      },
      "documentation":"<p>The response parameters for GetInstance.</p>"
    },
    "Instance":{
      "type":"structure",
      "required":[
        "instanceId",
        "awsAccountId",
        "state"
      ],
      "members":{
        "instanceId":{
          "shape":"UUID",
          "documentation":"<p>The Amazon Web Services Supply Chain instance identifier.</p>"
        },
        "awsAccountId":{
          "shape":"AwsAccountId",
          "documentation":"<p>The Amazon Web Services account ID that owns the instance.</p>"
        },
        "state":{
          "shape":"InstanceState",
          "documentation":"<p>The state of the instance.</p>"
        },
        "errorMessage":{
          "shape":"String",
          "documentation":"<p>The Amazon Web Services Supply Chain instance error message. If the instance results in an unhealthy state, customers need to check the error message, delete the current instance, and recreate a new one based on the mitigation from the error message.</p>"
        },
        "webAppDnsDomain":{
          "shape":"InstanceWebAppDnsDomain",
          "documentation":"<p>The WebApp DNS domain name of the instance.</p>"
        },
        "createdTime":{
          "shape":"Timestamp",
          "documentation":"<p>The instance creation timestamp.</p>"
        },
        "lastModifiedTime":{
          "shape":"Timestamp",
          "documentation":"<p>The instance last modified timestamp.</p>"
        },
        "instanceName":{
          "shape":"InstanceName",
          "documentation":"<p>The Amazon Web Services Supply Chain instance name.</p>"
        },
        "instanceDescription":{
          "shape":"InstanceDescription",
          "documentation":"<p>The Amazon Web Services Supply Chain instance description.</p>"
        },
        "kmsKeyArn":{
          "shape":"KmsKeyArn",
          "documentation":"<p>The ARN (Amazon Resource Name) of the Key Management Service (KMS) key you optionally provided for encryption. If you did not provide anything here, AWS Supply Chain uses the Amazon Web Services owned KMS key and nothing is returned.</p>"
        },
        "versionNumber":{
          "shape":"Double",
          "documentation":"<p>The version number of the instance.</p>"
        }
      },
      "documentation":"<p>The details of the instance.</p>"
    },
    "InstanceDescription":{
      "type":"string",
      "max":501,
      "min":0,
      "pattern":"([a-zA-Z0-9., _ʼ'%-]){0,500}"
    },
    "InstanceList":{
      "type":"list",
      "member":{"shape":"Instance"}
    },
    "InstanceMaxResults":{
      "type":"integer",
      "box":true,
      "max":20,
      "min":0
    },
    "InstanceName":{
      "type":"string",
      "max":63,
      "min":0,
      "pattern":"(?![ _ʼ'%-])[a-zA-Z0-9 _ʼ'%-]{0,62}[a-zA-Z0-9]"
    },
    "InstanceNameList":{
      "type":"list",
      "member":{"shape":"InstanceName"},
      "max":10,
      "min":0
    },
    "InstanceNextToken":{
      "type":"string",
      "max":1024,
      "min":1
    },
    "InstanceState":{
      "type":"string",
      "enum":[
        "Initializing",
        "Active",
        "CreateFailed",
        "DeleteFailed",
        "Deleting",
        "Deleted"
      ]
    },
    "InstanceStateList":{
      "type":"list",
      "member":{"shape":"InstanceState"},
      "max":6,
      "min":0
    },
    "InstanceWebAppDnsDomain":{
      "type":"string",
      "pattern":"(?![-])[a-zA-Z0-9-]{1,62}[a-zA-Z0-9]"
    },
    "InternalServerException":{
      "type":"structure",
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>Unexpected error during processing of request.</p>",
      "error":{"httpStatusCode":500},
      "exception":true,
      "fault":true,
      "retryable":{"throttling":false}
    },
    "KmsKeyArn":{
      "type":"string",
      "max":2048,
      "min":0,
      "pattern":"arn:[a-z0-9][-.a-z0-9]{0,62}:kms:([a-z0-9][-.a-z0-9]{0,62})?:([a-z0-9][-.a-z0-9]{0,62})?:key/.{0,1019}"
    },
    "ListDataIntegrationFlowsRequest":{
      "type":"structure",
      "required":["instanceId"],
      "members":{
        "instanceId":{
          "shape":"UUID",
          "documentation":"<p>The Amazon Web Services Supply Chain instance identifier.</p>",
          "location":"uri",
          "locationName":"instanceId"
        },
        "nextToken":{
          "shape":"DataIntegrationFlowNextToken",
          "documentation":"<p>The pagination token to fetch the next page of the DataIntegrationFlows.</p>",
          "location":"querystring",
          "locationName":"nextToken"
        },
        "maxResults":{
          "shape":"DataIntegrationFlowMaxResults",
          "documentation":"<p>Specify the maximum number of DataIntegrationFlows to fetch in one paginated request.</p>",
          "location":"querystring",
          "locationName":"maxResults"
        }
      },
      "documentation":"<p>The request parameters for ListDataIntegrationFlows.</p>"
    },
    "ListDataIntegrationFlowsResponse":{
      "type":"structure",
      "required":["flows"],
      "members":{
        "flows":{
          "shape":"DataIntegrationFlowList",
          "documentation":"<p>The response parameters for ListDataIntegrationFlows.</p>"
        },
        "nextToken":{
          "shape":"DataIntegrationFlowNextToken",
          "documentation":"<p>The pagination token to fetch the next page of the DataIntegrationFlows.</p>"
        }
      },
      "documentation":"<p>The response parameters for ListDataIntegrationFlows.</p>"
    },
    "ListDataLakeDatasetsRequest":{
      "type":"structure",
      "required":[
        "instanceId",
        "namespace"
      ],
      "members":{
        "instanceId":{
          "shape":"UUID",
          "documentation":"<p>The Amazon Web Services Supply Chain instance identifier.</p>",
          "location":"uri",
          "locationName":"instanceId"
        },
        "namespace":{
          "shape":"DataLakeDatasetNamespace",
          "documentation":"<p>The name space of the dataset. The available values are:</p> <ul> <li> <p> <b>asc</b> - For information on the Amazon Web Services Supply Chain supported datasets see <a href=\"https://docs.aws.amazon.com/aws-supply-chain/latest/userguide/data-model-asc.html\">https://docs.aws.amazon.com/aws-supply-chain/latest/userguide/data-model-asc.html</a>.</p> </li> <li> <p> <b>default</b> - For datasets with custom user-defined schemas.</p> </li> </ul>",
          "location":"uri",
          "locationName":"namespace"
        },
        "nextToken":{
          "shape":"DataLakeDatasetNextToken",
          "documentation":"<p>The pagination token to fetch next page of datasets.</p>",
          "location":"querystring",
          "locationName":"nextToken"
        },
        "maxResults":{
          "shape":"DataLakeDatasetMaxResults",
          "documentation":"<p>The max number of datasets to fetch in this paginated request.</p>",
          "location":"querystring",
          "locationName":"maxResults"
        }
      },
      "documentation":"<p>The request parameters of ListDataLakeDatasets.</p>"
    },
    "ListDataLakeDatasetsResponse":{
      "type":"structure",
      "required":["datasets"],
      "members":{
        "datasets":{
          "shape":"DataLakeDatasetList",
          "documentation":"<p>The list of fetched dataset details.</p>"
        },
        "nextToken":{
          "shape":"DataLakeDatasetNextToken",
          "documentation":"<p>The pagination token to fetch next page of datasets.</p>"
        }
      },
      "documentation":"<p>The response parameters of ListDataLakeDatasets.</p>"
    },
    "ListInstancesRequest":{
      "type":"structure",
      "members":{
        "nextToken":{
          "shape":"InstanceNextToken",
          "documentation":"<p>The pagination token to fetch the next page of instances.</p>",
          "location":"querystring",
          "locationName":"nextToken"
        },
        "maxResults":{
          "shape":"InstanceMaxResults",
          "documentation":"<p>Specify the maximum number of instances to fetch in this paginated request.</p>",
          "location":"querystring",
          "locationName":"maxResults"
        },
        "instanceNameFilter":{
          "shape":"InstanceNameList",
          "documentation":"<p>The filter to ListInstances based on their names.</p>",
          "location":"querystring",
          "locationName":"instanceNameFilter"
        },
        "instanceStateFilter":{
          "shape":"InstanceStateList",
          "documentation":"<p>The filter to ListInstances based on their state.</p>",
          "location":"querystring",
          "locationName":"instanceStateFilter"
        }
      },
      "documentation":"<p>The request parameters for ListInstances.</p>"
    },
    "ListInstancesResponse":{
      "type":"structure",
      "required":["instances"],
      "members":{
        "instances":{
          "shape":"InstanceList",
          "documentation":"<p>The list of instances resource data details.</p>"
        },
        "nextToken":{
          "shape":"InstanceNextToken",
          "documentation":"<p>The pagination token to fetch the next page of instances.</p>"
        }
      },
      "documentation":"<p>The response parameters for ListInstances.</p>"
    },
    "ListTagsForResourceRequest":{
      "type":"structure",
      "required":["resourceArn"],
      "members":{
        "resourceArn":{
          "shape":"AscResourceArn",
          "documentation":"<p>The Amazon Web Services Supply chain resource ARN that needs tags to be listed.</p>",
          "location":"uri",
          "locationName":"resourceArn"
        }
      },
      "documentation":"<p>The request parameters of ListTagsForResource.</p>"
    },
    "ListTagsForResourceResponse":{
      "type":"structure",
      "required":["tags"],
      "members":{
        "tags":{
          "shape":"TagMap",
          "documentation":"<p>The tags added to an Amazon Web Services Supply Chain resource.</p>"
        }
      },
      "documentation":"<p>The response parameters of ListTagsForResource.</p>"
    },
    "ResourceNotFoundException":{
      "type":"structure",
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>Request references a resource which does not exist.</p>",
      "error":{
        "httpStatusCode":404,
        "senderFault":true
      },
      "exception":true
    },
    "S3BucketName":{
      "type":"string",
      "max":63,
      "min":3,
      "pattern":"[a-z0-9][a-z0-9.-]*[a-z0-9]"
    },
    "SendDataIntegrationEventRequest":{
      "type":"structure",
      "required":[
        "instanceId",
        "eventType",
        "data",
        "eventGroupId"
      ],
      "members":{
        "instanceId":{
          "shape":"UUID",
          "documentation":"<p>The AWS Supply Chain instance identifier.</p>",
          "location":"uri",
          "locationName":"instanceId"
        },
        "eventType":{
          "shape":"DataIntegrationEventType",
          "documentation":"<p>The data event type.</p>"
        },
        "data":{
          "shape":"DataIntegrationEventData",
          "documentation":"<p>The data payload of the event. For more information on the data schema to use, see <a href=\"https://docs.aws.amazon.com/aws-supply-chain/latest/userguide/data-model-asc.html\">Data entities supported in AWS Supply Chain</a>.</p>"
        },
        "eventGroupId":{
          "shape":"DataIntegrationEventGroupId",
          "documentation":"<p>Event identifier (for example, orderId for InboundOrder) used for data sharing or partitioning.</p>"
        },
        "eventTimestamp":{
          "shape":"SyntheticTimestamp_epoch_seconds",
          "documentation":"<p>The event timestamp (in epoch seconds).</p>"
        },
        "clientToken":{
          "shape":"ClientToken",
          "documentation":"<p>The idempotent client token.</p>",
          "idempotencyToken":true
        }
      },
      "documentation":"<p>The request parameters for SendDataIntegrationEvent.</p>"
    },
    "SendDataIntegrationEventResponse":{
      "type":"structure",
      "required":["eventId"],
      "members":{
        "eventId":{
          "shape":"UUID",
          "documentation":"<p>The unique event identifier.</p>"
        }
      },
      "documentation":"<p>The response parameters for SendDataIntegrationEvent.</p>"
    },
    "ServiceQuotaExceededException":{
      "type":"structure",
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>Request would cause a service quota to be exceeded.</p>",
      "error":{
        "httpStatusCode":402,
        "senderFault":true
      },
      "exception":true
    },
    "String":{"type":"string"},
    "SyntheticTimestamp_epoch_seconds":{
      "type":"timestamp",
      "timestampFormat":"unixTimestamp"
    },
    "TagKey":{
      "type":"string",
      "max":128,
      "min":1
    },
    "TagKeyList":{
      "type":"list",
      "member":{"shape":"TagKey"},
      "max":200,
      "min":0
    },
    "TagMap":{
      "type":"map",
      "key":{"shape":"TagKey"},
      "value":{"shape":"TagValue"},
      "max":200,
      "min":0
    },
    "TagResourceRequest":{
      "type":"structure",
      "required":[
        "resourceArn",
        "tags"
      ],
      "members":{
        "resourceArn":{
          "shape":"AscResourceArn",
          "documentation":"<p>The Amazon Web Services Supply chain resource ARN that needs to be tagged.</p>",
          "location":"uri",
          "locationName":"resourceArn"
        },
        "tags":{
          "shape":"TagMap",
          "documentation":"<p>The tags of the Amazon Web Services Supply chain resource to be created.</p>"
        }
      },
      "documentation":"<p>The request parameters of TagResource.</p>"
    },
    "TagResourceResponse":{
      "type":"structure",
      "members":{
      },
      "documentation":"<p>The response parameters for TagResource.</p>"
    },
    "TagValue":{
      "type":"string",
      "max":256,
      "min":0
    },
    "ThrottlingException":{
      "type":"structure",
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>Request was denied due to request throttling.</p>",
      "error":{
        "httpStatusCode":429,
        "senderFault":true
      },
      "exception":true,
      "retryable":{"throttling":true}
    },
    "Timestamp":{"type":"timestamp"},
    "UUID":{
      "type":"string",
      "max":36,
      "min":36,
      "pattern":"[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}"
    },
    "UntagResourceRequest":{
      "type":"structure",
      "required":[
        "resourceArn",
        "tagKeys"
      ],
      "members":{
        "resourceArn":{
          "shape":"AscResourceArn",
          "documentation":"<p>The Amazon Web Services Supply chain resource ARN that needs to be untagged.</p>",
          "location":"uri",
          "locationName":"resourceArn"
        },
        "tagKeys":{
          "shape":"TagKeyList",
          "documentation":"<p>The list of tag keys to be deleted for an Amazon Web Services Supply Chain resource.</p>",
          "location":"querystring",
          "locationName":"tagKeys"
        }
      },
      "documentation":"<p>The request parameters of UntagResource.</p>"
    },
    "UntagResourceResponse":{
      "type":"structure",
      "members":{
      },
      "documentation":"<p>The response parameters of UntagResource.</p>"
    },
    "UpdateDataIntegrationFlowRequest":{
      "type":"structure",
      "required":[
        "instanceId",
        "name"
      ],
      "members":{
        "instanceId":{
          "shape":"UUID",
          "documentation":"<p>The Amazon Web Services Supply Chain instance identifier.</p>",
          "location":"uri",
          "locationName":"instanceId"
        },
        "name":{
          "shape":"DataIntegrationFlowName",
          "documentation":"<p>The name of the DataIntegrationFlow to be updated.</p>",
          "location":"uri",
          "locationName":"name"
        },
        "sources":{
          "shape":"DataIntegrationFlowSourceList",
          "documentation":"<p>The new source configurations for the DataIntegrationFlow.</p>"
        },
        "transformation":{
          "shape":"DataIntegrationFlowTransformation",
          "documentation":"<p>The new transformation configurations for the DataIntegrationFlow.</p>"
        },
        "target":{
          "shape":"DataIntegrationFlowTarget",
          "documentation":"<p>The new target configurations for the DataIntegrationFlow.</p>"
        }
      },
      "documentation":"<p>The request parameters for UpdateDataIntegrationFlow.</p>"
    },
    "UpdateDataIntegrationFlowResponse":{
      "type":"structure",
      "required":["flow"],
      "members":{
        "flow":{
          "shape":"DataIntegrationFlow",
          "documentation":"<p>The details of the updated DataIntegrationFlow.</p>"
        }
      },
      "documentation":"<p>The response parameters for UpdateDataIntegrationFlow.</p>"
    },
    "UpdateDataLakeDatasetRequest":{
      "type":"structure",
      "required":[
        "instanceId",
        "namespace",
        "name"
      ],
      "members":{
        "instanceId":{
          "shape":"UUID",
          "documentation":"<p>The Amazon Web Services Chain instance identifier.</p>",
          "location":"uri",
          "locationName":"instanceId"
        },
        "namespace":{
          "shape":"DataLakeDatasetNamespace",
          "documentation":"<p>The name space of the dataset. The available values are:</p> <ul> <li> <p> <b>asc</b> - For information on the Amazon Web Services Supply Chain supported datasets see <a href=\"https://docs.aws.amazon.com/aws-supply-chain/latest/userguide/data-model-asc.html\">https://docs.aws.amazon.com/aws-supply-chain/latest/userguide/data-model-asc.html</a>.</p> </li> <li> <p> <b>default</b> - For datasets with custom user-defined schemas.</p> </li> </ul>",
          "location":"uri",
          "locationName":"namespace"
        },
        "name":{
          "shape":"DataLakeDatasetName",
          "documentation":"<p>The name of the dataset. For <b>asc</b> name space, the name must be one of the supported data entities under <a href=\"https://docs.aws.amazon.com/aws-supply-chain/latest/userguide/data-model-asc.html\">https://docs.aws.amazon.com/aws-supply-chain/latest/userguide/data-model-asc.html</a>.</p>",
          "location":"uri",
          "locationName":"name"
        },
        "description":{
          "shape":"DataLakeDatasetDescription",
          "documentation":"<p>The updated description of the data lake dataset.</p>"
        }
      },
      "documentation":"<p>The request parameters of UpdateDataLakeDataset.</p>"
    },
    "UpdateDataLakeDatasetResponse":{
      "type":"structure",
      "required":["dataset"],
      "members":{
        "dataset":{
          "shape":"DataLakeDataset",
          "documentation":"<p>The updated dataset details.</p>"
        }
      },
      "documentation":"<p>The response parameters of UpdateDataLakeDataset.</p>"
    },
    "UpdateInstanceRequest":{
      "type":"structure",
      "required":["instanceId"],
      "members":{
        "instanceId":{
          "shape":"UUID",
          "documentation":"<p>The AWS Supply Chain instance identifier.</p>",
          "location":"uri",
          "locationName":"instanceId"
        },
        "instanceName":{
          "shape":"InstanceName",
          "documentation":"<p>The AWS Supply Chain instance name.</p>"
        },
        "instanceDescription":{
          "shape":"InstanceDescription",
          "documentation":"<p>The AWS Supply Chain instance description.</p>"
        }
      },
      "documentation":"<p>The request parameters for UpdateInstance.</p>"
    },
    "UpdateInstanceResponse":{
      "type":"structure",
      "required":["instance"],
      "members":{
        "instance":{
          "shape":"Instance",
          "documentation":"<p>The instance resource data details.</p>"
        }
      },
      "documentation":"<p>The response parameters for UpdateInstance.</p>"
    },
    "ValidationException":{
      "type":"structure",
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>The input does not satisfy the constraints specified by an AWS service.</p>",
      "error":{
        "httpStatusCode":400,
        "senderFault":true
      },
      "exception":true
    }
  },
  "documentation":"<p> AWS Supply Chain is a cloud-based application that works with your enterprise resource planning (ERP) and supply chain management systems. Using AWS Supply Chain, you can connect and extract your inventory, supply, and demand related data from existing ERP or supply chain systems into a single data model. </p> <p>The AWS Supply Chain API supports configuration data import for Supply Planning.</p> <p> All AWS Supply chain API operations are Amazon-authenticated and certificate-signed. They not only require the use of the AWS SDK, but also allow for the exclusive use of AWS Identity and Access Management users and roles to help facilitate access, trust, and permission policies. </p>"
}
