diff --git a/.changes/1.35.74.json b/.changes/1.35.74.json new file mode 100644 index 0000000000..8403e5d097 --- /dev/null +++ b/.changes/1.35.74.json @@ -0,0 +1,92 @@ +[ + { + "category": "``athena``", + "description": "Add FEDERATED type to CreateDataCatalog. This creates Athena Data Catalog, AWS Lambda connector, and AWS Glue connection. Create/DeleteDataCatalog returns DataCatalog. Add Status, ConnectionType, and Error to DataCatalog and DataCatalogSummary. Add DeleteCatalogOnly to delete Athena Catalog only.", + "type": "api-change" + }, + { + "category": "``bedrock``", + "description": "Tagging support for Async Invoke resources. Added support for Distillation in CreateModelCustomizationJob API. Support for videoDataDeliveryEnabled flag in invocation logging.", + "type": "api-change" + }, + { + "category": "``bedrock-agent``", + "description": "Releasing SDK for Multi-Agent Collaboration.", + "type": "api-change" + }, + { + "category": "``bedrock-agent-runtime``", + "description": "Releasing SDK for multi agent collaboration", + "type": "api-change" + }, + { + "category": "``bedrock-runtime``", + "description": "Added support for Async Invoke Operations Start, List and Get. Support for invocation logs with `requestMetadata` field in Converse, ConverseStream, Invoke and InvokeStream. Video content blocks in Converse/ConverseStream accept raw bytes or S3 URI.", + "type": "api-change" + }, + { + "category": "``cloudwatch``", + "description": "Support for configuring AiOps investigation as alarm action", + "type": "api-change" + }, + { + "category": "``datazone``", + "description": "Adds support for Connections, ProjectProfiles, and JobRuns APIs. Supports the new Lineage feature at GA. Adjusts optionality of a parameter for DataSource and SubscriptionTarget APIs which may adjust types in some clients.", + "type": "api-change" + }, + { + "category": "``dsql``", + "description": "Add new API operations for Amazon Aurora DSQL. Amazon Aurora DSQL is a serverless, distributed SQL database with virtually unlimited scale, highest availability, and zero infrastructure management.", + "type": "api-change" + }, + { + "category": "``dynamodb``", + "description": "This change adds support for global tables with multi-Region strong consistency (in preview). The UpdateTable API now supports a new attribute MultiRegionConsistency to set consistency when creating global tables. The DescribeTable output now optionally includes the MultiRegionConsistency attribute.", + "type": "api-change" + }, + { + "category": "``glue``", + "description": "This release includes(1)Zero-ETL integration to ingest data from 3P SaaS and DynamoDB to Redshift/Redlake (2)new properties on Connections to enable reuse; new connection APIs for retrieve/preview metadata (3)support of CRUD operations for Multi-catalog (4)support of automatic statistics collections", + "type": "api-change" + }, + { + "category": "``lakeformation``", + "description": "This release added two new LakeFormation Permissions (CREATE_CATALOG, SUPER_USER) and added Id field for CatalogResource. It also added new conditon and expression field.", + "type": "api-change" + }, + { + "category": "``qapps``", + "description": "Add support for 11 new plugins as action cards to help automate repetitive tasks and improve productivity.", + "type": "api-change" + }, + { + "category": "``qbusiness``", + "description": "Amazon Q Business now supports customization options for your web experience, 11 new Plugins, and QuickSight support. Amazon Q index allows software providers to enrich their native generative AI experiences with their customer's enterprise knowledge and user context spanning multiple applications.", + "type": "api-change" + }, + { + "category": "``quicksight``", + "description": "This release includes API needed to support for Unstructured Data in Q in QuickSight Q&A (IDC).", + "type": "api-change" + }, + { + "category": "``redshift``", + "description": "Adds support for Amazon Redshift RegisterNamespace and DeregisterNamespace APIs to share data to AWS Glue Data Catalog.", + "type": "api-change" + }, + { + "category": "``redshift-serverless``", + "description": "Adds support for the ListManagedWorkgroups API to get an overview of existing managed workgroups.", + "type": "api-change" + }, + { + "category": "``s3``", + "description": "Amazon S3 Metadata stores object metadata in read-only, fully managed Apache Iceberg metadata tables that you can query. You can create metadata table configurations for S3 general purpose buckets.", + "type": "api-change" + }, + { + "category": "``s3tables``", + "description": "Amazon S3 Tables deliver the first cloud object store with built-in open table format support, and the easiest way to store tabular data at scale.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/CHANGELOG.rst b/CHANGELOG.rst index b6c2168a13..3837dbc847 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -2,6 +2,29 @@ CHANGELOG ========= +1.35.74 +======= + +* api-change:``athena``: Add FEDERATED type to CreateDataCatalog. This creates Athena Data Catalog, AWS Lambda connector, and AWS Glue connection. Create/DeleteDataCatalog returns DataCatalog. Add Status, ConnectionType, and Error to DataCatalog and DataCatalogSummary. Add DeleteCatalogOnly to delete Athena Catalog only. +* api-change:``bedrock``: Tagging support for Async Invoke resources. Added support for Distillation in CreateModelCustomizationJob API. Support for videoDataDeliveryEnabled flag in invocation logging. +* api-change:``bedrock-agent``: Releasing SDK for Multi-Agent Collaboration. +* api-change:``bedrock-agent-runtime``: Releasing SDK for multi agent collaboration +* api-change:``bedrock-runtime``: Added support for Async Invoke Operations Start, List and Get. Support for invocation logs with `requestMetadata` field in Converse, ConverseStream, Invoke and InvokeStream. Video content blocks in Converse/ConverseStream accept raw bytes or S3 URI. +* api-change:``cloudwatch``: Support for configuring AiOps investigation as alarm action +* api-change:``datazone``: Adds support for Connections, ProjectProfiles, and JobRuns APIs. Supports the new Lineage feature at GA. Adjusts optionality of a parameter for DataSource and SubscriptionTarget APIs which may adjust types in some clients. +* api-change:``dsql``: Add new API operations for Amazon Aurora DSQL. Amazon Aurora DSQL is a serverless, distributed SQL database with virtually unlimited scale, highest availability, and zero infrastructure management. +* api-change:``dynamodb``: This change adds support for global tables with multi-Region strong consistency (in preview). The UpdateTable API now supports a new attribute MultiRegionConsistency to set consistency when creating global tables. The DescribeTable output now optionally includes the MultiRegionConsistency attribute. +* api-change:``glue``: This release includes(1)Zero-ETL integration to ingest data from 3P SaaS and DynamoDB to Redshift/Redlake (2)new properties on Connections to enable reuse; new connection APIs for retrieve/preview metadata (3)support of CRUD operations for Multi-catalog (4)support of automatic statistics collections +* api-change:``lakeformation``: This release added two new LakeFormation Permissions (CREATE_CATALOG, SUPER_USER) and added Id field for CatalogResource. It also added new conditon and expression field. +* api-change:``qapps``: Add support for 11 new plugins as action cards to help automate repetitive tasks and improve productivity. +* api-change:``qbusiness``: Amazon Q Business now supports customization options for your web experience, 11 new Plugins, and QuickSight support. Amazon Q index allows software providers to enrich their native generative AI experiences with their customer's enterprise knowledge and user context spanning multiple applications. +* api-change:``quicksight``: This release includes API needed to support for Unstructured Data in Q in QuickSight Q&A (IDC). +* api-change:``redshift``: Adds support for Amazon Redshift RegisterNamespace and DeregisterNamespace APIs to share data to AWS Glue Data Catalog. +* api-change:``redshift-serverless``: Adds support for the ListManagedWorkgroups API to get an overview of existing managed workgroups. +* api-change:``s3``: Amazon S3 Metadata stores object metadata in read-only, fully managed Apache Iceberg metadata tables that you can query. You can create metadata table configurations for S3 general purpose buckets. +* api-change:``s3tables``: Amazon S3 Tables deliver the first cloud object store with built-in open table format support, and the easiest way to store tabular data at scale. + + 1.35.73 ======= diff --git a/botocore/__init__.py b/botocore/__init__.py index cd55779387..9ff18766b6 100644 --- a/botocore/__init__.py +++ b/botocore/__init__.py @@ -16,7 +16,7 @@ import os import re -__version__ = '1.35.73' +__version__ = '1.35.74' class NullHandler(logging.Handler): diff --git a/botocore/data/athena/2017-05-18/service-2.json b/botocore/data/athena/2017-05-18/service-2.json index fed4374aa3..f0391c9e04 100644 --- a/botocore/data/athena/2017-05-18/service-2.json +++ b/botocore/data/athena/2017-05-18/service-2.json @@ -98,7 +98,7 @@ {"shape":"InternalServerException"}, {"shape":"InvalidRequestException"} ], - "documentation":"

Creates (registers) a data catalog with the specified name and properties. Catalogs created are visible to all users of the same Amazon Web Services account.

" + "documentation":"

Creates (registers) a data catalog with the specified name and properties. Catalogs created are visible to all users of the same Amazon Web Services account.

This API operation creates the following resources.

" }, "CreateNamedQuery":{ "name":"CreateNamedQuery", @@ -1538,6 +1538,31 @@ "min":0, "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\t]*" }, + "ConnectionType":{ + "type":"string", + "enum":[ + "DYNAMODB", + "MYSQL", + "POSTGRESQL", + "REDSHIFT", + "ORACLE", + "SYNAPSE", + "SQLSERVER", + "DB2", + "OPENSEARCH", + "BIGQUERY", + "GOOGLECLOUDSTORAGE", + "HBASE", + "DOCUMENTDB", + "CMDB", + "TPCDS", + "TIMESTREAM", + "SAPHANA", + "SNOWFLAKE", + "DATALAKEGEN2", + "DB2AS400" + ] + }, "CoordinatorDpuSize":{ "type":"integer", "box":true, @@ -1579,11 +1604,11 @@ "members":{ "Name":{ "shape":"CatalogNameString", - "documentation":"

The name of the data catalog to create. The catalog name must be unique for the Amazon Web Services account and can use a maximum of 127 alphanumeric, underscore, at sign, or hyphen characters. The remainder of the length constraint of 256 is reserved for use by Athena.

" + "documentation":"

The name of the data catalog to create. The catalog name must be unique for the Amazon Web Services account and can use a maximum of 127 alphanumeric, underscore, at sign, or hyphen characters. The remainder of the length constraint of 256 is reserved for use by Athena.

For FEDERATED type the catalog name has following considerations and limits:

" }, "Type":{ "shape":"DataCatalogType", - "documentation":"

The type of data catalog to create: LAMBDA for a federated catalog, HIVE for an external hive metastore, or GLUE for an Glue Data Catalog.

" + "documentation":"

The type of data catalog to create: LAMBDA for a federated catalog, GLUE for an Glue Data Catalog, and HIVE for an external Apache Hive metastore. FEDERATED is a federated catalog for which Athena creates the connection and the Lambda function for you based on the parameters that you pass.

" }, "Description":{ "shape":"DescriptionString", @@ -1591,17 +1616,18 @@ }, "Parameters":{ "shape":"ParametersMap", - "documentation":"

Specifies the Lambda function or functions to use for creating the data catalog. This is a mapping whose values depend on the catalog type.

" + "documentation":"

Specifies the Lambda function or functions to use for creating the data catalog. This is a mapping whose values depend on the catalog type.

" }, "Tags":{ "shape":"TagList", - "documentation":"

A list of comma separated tags to add to the data catalog that is created.

" + "documentation":"

A list of comma separated tags to add to the data catalog that is created. All the resources that are created by the CreateDataCatalog API operation with FEDERATED type will have the tag federated_athena_datacatalog=\"true\". This includes the CFN Stack, Glue Connection, Athena DataCatalog, and all the resources created as part of the CFN Stack (Lambda Function, IAM policies/roles).

" } } }, "CreateDataCatalogOutput":{ "type":"structure", "members":{ + "DataCatalog":{"shape":"DataCatalog"} } }, "CreateNamedQueryInput":{ @@ -1796,15 +1822,41 @@ }, "Type":{ "shape":"DataCatalogType", - "documentation":"

The type of data catalog to create: LAMBDA for a federated catalog, HIVE for an external hive metastore, or GLUE for an Glue Data Catalog.

" + "documentation":"

The type of data catalog to create: LAMBDA for a federated catalog, GLUE for an Glue Data Catalog, and HIVE for an external Apache Hive metastore. FEDERATED is a federated catalog for which Athena creates the connection and the Lambda function for you based on the parameters that you pass.

" }, "Parameters":{ "shape":"ParametersMap", - "documentation":"

Specifies the Lambda function or functions to use for the data catalog. This is a mapping whose values depend on the catalog type.

" + "documentation":"

Specifies the Lambda function or functions to use for the data catalog. This is a mapping whose values depend on the catalog type.

" + }, + "Status":{ + "shape":"DataCatalogStatus", + "documentation":"

The status of the creation or deletion of the data catalog.

Data catalog creation status:

Data catalog deletion status:

" + }, + "ConnectionType":{ + "shape":"ConnectionType", + "documentation":"

The type of connection for a FEDERATED data catalog (for example, REDSHIFT, MYSQL, or SQLSERVER). For information about individual connectors, see Available data source connectors.

" + }, + "Error":{ + "shape":"ErrorMessage", + "documentation":"

Text of the error that occurred during data catalog creation or deletion.

" } }, "documentation":"

Contains information about a data catalog in an Amazon Web Services account.

In the Athena console, data catalogs are listed as \"data sources\" on the Data sources page under the Data source name column.

" }, + "DataCatalogStatus":{ + "type":"string", + "enum":[ + "CREATE_IN_PROGRESS", + "CREATE_COMPLETE", + "CREATE_FAILED", + "CREATE_FAILED_CLEANUP_IN_PROGRESS", + "CREATE_FAILED_CLEANUP_COMPLETE", + "CREATE_FAILED_CLEANUP_FAILED", + "DELETE_IN_PROGRESS", + "DELETE_COMPLETE", + "DELETE_FAILED" + ] + }, "DataCatalogSummary":{ "type":"structure", "members":{ @@ -1815,6 +1867,18 @@ "Type":{ "shape":"DataCatalogType", "documentation":"

The data catalog type.

" + }, + "Status":{ + "shape":"DataCatalogStatus", + "documentation":"

The status of the creation or deletion of the data catalog.

Data catalog creation status:

Data catalog deletion status:

" + }, + "ConnectionType":{ + "shape":"ConnectionType", + "documentation":"

The type of connection for a FEDERATED data catalog (for example, REDSHIFT, MYSQL, or SQLSERVER). For information about individual connectors, see Available data source connectors.

" + }, + "Error":{ + "shape":"ErrorMessage", + "documentation":"

Text of the error that occurred during data catalog creation or deletion.

" } }, "documentation":"

The summary information for the data catalog, which includes its name and type.

" @@ -1828,7 +1892,8 @@ "enum":[ "LAMBDA", "GLUE", - "HIVE" + "HIVE", + "FEDERATED" ] }, "Database":{ @@ -1898,12 +1963,17 @@ "Name":{ "shape":"CatalogNameString", "documentation":"

The name of the data catalog to delete.

" + }, + "DeleteCatalogOnly":{ + "shape":"Boolean", + "documentation":"

Deletes the Athena Data Catalog. You can only use this with the FEDERATED catalogs. You usually perform this before registering the connector with Glue Data Catalog. After deletion, you will have to manage the Glue Connection and Lambda function.

" } } }, "DeleteDataCatalogOutput":{ "type":"structure", "members":{ + "DataCatalog":{"shape":"DataCatalog"} } }, "DeleteNamedQueryInput":{ diff --git a/botocore/data/bedrock-agent-runtime/2023-07-26/service-2.json b/botocore/data/bedrock-agent-runtime/2023-07-26/service-2.json index aa4106dffc..3c26257353 100644 --- a/botocore/data/bedrock-agent-runtime/2023-07-26/service-2.json +++ b/botocore/data/bedrock-agent-runtime/2023-07-26/service-2.json @@ -249,6 +249,12 @@ "documentation":"

Contains details about the OpenAPI schema for the action group. For more information, see Action group OpenAPI schemas. You can either include the schema directly in the payload field or you can upload it to an S3 bucket and specify the S3 bucket location in the s3 field.

", "union":true }, + "AWSResourceARN":{ + "type":"string", + "max":2048, + "min":0, + "pattern":"^arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:[0-9]{12}:agent/[0-9a-zA-Z]{10}$" + }, "AccessDeniedException":{ "type":"structure", "members":{ @@ -398,12 +404,94 @@ "type":"list", "member":{"shape":"AgentActionGroup"} }, + "AgentAliasArn":{ + "type":"string", + "max":2048, + "min":0, + "pattern":"^arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:[0-9]{12}:agent-alias/[0-9a-zA-Z]{10}/[0-9a-zA-Z]{10}$" + }, "AgentAliasId":{ "type":"string", "max":10, "min":0, "pattern":"^[0-9a-zA-Z]+$" }, + "AgentCollaboratorInputPayload":{ + "type":"structure", + "members":{ + "returnControlResults":{ + "shape":"ReturnControlResults", + "documentation":"

An action invocation result.

" + }, + "text":{ + "shape":"AgentCollaboratorPayloadString", + "documentation":"

Input text.

" + }, + "type":{ + "shape":"PayloadType", + "documentation":"

The input type.

" + } + }, + "documentation":"

Input for an agent collaborator. The input can be text or an action invocation result.

" + }, + "AgentCollaboratorInvocationInput":{ + "type":"structure", + "members":{ + "agentCollaboratorAliasArn":{ + "shape":"AgentAliasArn", + "documentation":"

The collaborator's alias ARN.

" + }, + "agentCollaboratorName":{ + "shape":"String", + "documentation":"

The collaborator's name.

" + }, + "input":{ + "shape":"AgentCollaboratorInputPayload", + "documentation":"

Text or action invocation result input for the collaborator.

" + } + }, + "documentation":"

An agent collaborator invocation input.

" + }, + "AgentCollaboratorInvocationOutput":{ + "type":"structure", + "members":{ + "agentCollaboratorAliasArn":{ + "shape":"AgentAliasArn", + "documentation":"

The output's agent collaborator alias ARN.

" + }, + "agentCollaboratorName":{ + "shape":"String", + "documentation":"

The output's agent collaborator name.

" + }, + "output":{ + "shape":"AgentCollaboratorOutputPayload", + "documentation":"

The output's output.

" + } + }, + "documentation":"

Output from an agent collaborator.

" + }, + "AgentCollaboratorOutputPayload":{ + "type":"structure", + "members":{ + "returnControlPayload":{ + "shape":"ReturnControlPayload", + "documentation":"

An action invocation result.

" + }, + "text":{ + "shape":"AgentCollaboratorPayloadString", + "documentation":"

Text output.

" + }, + "type":{ + "shape":"PayloadType", + "documentation":"

The type of output.

" + } + }, + "documentation":"

Output from an agent collaborator. The output can be text or an action invocation result.

" + }, + "AgentCollaboratorPayloadString":{ + "type":"string", + "sensitive":true + }, "AgentId":{ "type":"string", "max":10, @@ -445,10 +533,18 @@ "shape":"ActionInvocationType", "documentation":"

Contains information about the API operation to invoke.

" }, + "agentId":{ + "shape":"String", + "documentation":"

The agent's ID.

" + }, "apiPath":{ "shape":"ApiPath", "documentation":"

The path to the API operation.

" }, + "collaboratorName":{ + "shape":"Name", + "documentation":"

The agent collaborator's name.

" + }, "httpMethod":{ "shape":"String", "documentation":"

The HTTP method of the API operation.

" @@ -508,6 +604,10 @@ "shape":"String", "documentation":"

The action group that the API operation belongs to.

" }, + "agentId":{ + "shape":"String", + "documentation":"

The agent's ID.

" + }, "apiPath":{ "shape":"ApiPath", "documentation":"

The path to the API operation.

" @@ -673,6 +773,21 @@ }, "documentation":"

The property contains the file to chat with, along with its attributes.

" }, + "Caller":{ + "type":"structure", + "members":{ + "agentAliasArn":{ + "shape":"AgentAliasArn", + "documentation":"

The caller's agent alias ARN.

" + } + }, + "documentation":"

Details about a caller.

", + "union":true + }, + "CallerChain":{ + "type":"list", + "member":{"shape":"Caller"} + }, "Citation":{ "type":"structure", "members":{ @@ -757,6 +872,22 @@ }, "exception":true }, + "ContentBlock":{ + "type":"structure", + "members":{ + "text":{ + "shape":"String", + "documentation":"

The block's text.

" + } + }, + "documentation":"

A content block.

", + "sensitive":true, + "union":true + }, + "ContentBlocks":{ + "type":"list", + "member":{"shape":"ContentBlock"} + }, "ContentBody":{ "type":"structure", "members":{ @@ -776,6 +907,23 @@ "type":"string", "pattern":"[a-z]{1,20}/.{1,20}" }, + "ConversationHistory":{ + "type":"structure", + "members":{ + "messages":{ + "shape":"Messages", + "documentation":"

The conversation's messages.

" + } + }, + "documentation":"

A conversation history.

" + }, + "ConversationRole":{ + "type":"string", + "enum":[ + "user", + "assistant" + ] + }, "CreationMode":{ "type":"string", "enum":[ @@ -1502,6 +1650,14 @@ "shape":"ActionInvocationType", "documentation":"

Contains information about the function to invoke,

" }, + "agentId":{ + "shape":"String", + "documentation":"

The agent's ID.

" + }, + "collaboratorName":{ + "shape":"Name", + "documentation":"

The collaborator's name.

" + }, "function":{ "shape":"String", "documentation":"

The name of the function.

" @@ -1543,6 +1699,10 @@ "shape":"String", "documentation":"

The action group that the function belongs to.

" }, + "agentId":{ + "shape":"String", + "documentation":"

The agent's ID.

" + }, "confirmationState":{ "shape":"ConfirmationState", "documentation":"

Contains the user confirmation information about the function that was called.

" @@ -2357,6 +2517,10 @@ "shape":"ActionGroupInvocationInput", "documentation":"

Contains information about the action group to be invoked.

" }, + "agentCollaboratorInvocationInput":{ + "shape":"AgentCollaboratorInvocationInput", + "documentation":"

The collaborator's invocation input.

" + }, "codeInterpreterInvocationInput":{ "shape":"CodeInterpreterInvocationInput", "documentation":"

Contains information about the code interpreter to be invoked.

" @@ -2419,7 +2583,8 @@ "ACTION_GROUP", "KNOWLEDGE_BASE", "FINISH", - "ACTION_GROUP_CODE_INTERPRETER" + "ACTION_GROUP_CODE_INTERPRETER", + "AGENT_COLLABORATOR" ] }, "InvokeAgentRequest":{ @@ -2468,6 +2633,12 @@ "shape":"SessionState", "documentation":"

Contains parameters that specify various attributes of the session. For more information, see Control session context.

If you include returnControlInvocationResults in the sessionState field, the inputText field will be ignored.

" }, + "sourceArn":{ + "shape":"AWSResourceARN", + "documentation":"

The ARN of the resource making the request.

", + "location":"header", + "locationName":"x-amz-source-arn" + }, "streamingConfigurations":{ "shape":"StreamingConfigurations", "documentation":"

Specifies the configurations for streaming.

" @@ -2924,6 +3095,28 @@ "type":"string", "enum":["SESSION_SUMMARY"] }, + "Message":{ + "type":"structure", + "required":[ + "content", + "role" + ], + "members":{ + "content":{ + "shape":"ContentBlocks", + "documentation":"

The message's content.

" + }, + "role":{ + "shape":"ConversationRole", + "documentation":"

The message's role.

" + } + }, + "documentation":"

Details about a message.

" + }, + "Messages":{ + "type":"list", + "member":{"shape":"Message"} + }, "Metadata":{ "type":"structure", "members":{ @@ -3002,6 +3195,10 @@ "ModelInvocationInput":{ "type":"structure", "members":{ + "foundationModel":{ + "shape":"ModelIdentifier", + "documentation":"

The identifier of a foundation model.

" + }, "inferenceConfiguration":{ "shape":"InferenceConfiguration", "documentation":"

Specifications about the inference parameters that were provided alongside the prompt. These are specified in the PromptOverrideConfiguration object that was set when the agent was created or updated. For more information, see Inference parameters for foundation models.

" @@ -3034,6 +3231,11 @@ "documentation":"

The input for the pre-processing step.

", "sensitive":true }, + "Name":{ + "type":"string", + "pattern":"^([0-9a-zA-Z][_-]?){1,100}$", + "sensitive":true + }, "NextToken":{ "type":"string", "max":2048, @@ -3075,6 +3277,10 @@ "shape":"ActionGroupInvocationOutput", "documentation":"

Contains the JSON-formatted string returned by the API invoked by the action group.

" }, + "agentCollaboratorInvocationOutput":{ + "shape":"AgentCollaboratorInvocationOutput", + "documentation":"

A collaborator's invocation output.

" + }, "codeInterpreterInvocationOutput":{ "shape":"CodeInterpreterInvocationOutput", "documentation":"

Contains the JSON-formatted string returned by the API invoked by the code interpreter.

" @@ -3392,6 +3598,13 @@ "event":true, "sensitive":true }, + "PayloadType":{ + "type":"string", + "enum":[ + "TEXT", + "RETURN_CONTROL" + ] + }, "PostProcessingModelInvocationOutput":{ "type":"structure", "members":{ @@ -4514,6 +4727,63 @@ "event":true, "sensitive":true }, + "ReturnControlResults":{ + "type":"structure", + "members":{ + "invocationId":{ + "shape":"String", + "documentation":"

The action's invocation ID.

" + }, + "returnControlInvocationResults":{ + "shape":"ReturnControlInvocationResults", + "documentation":"

The action invocation result.

" + } + }, + "documentation":"

An action invocation result.

" + }, + "RoutingClassifierModelInvocationOutput":{ + "type":"structure", + "members":{ + "metadata":{ + "shape":"Metadata", + "documentation":"

The invocation's metadata.

" + }, + "rawResponse":{ + "shape":"RawResponse", + "documentation":"

The invocation's raw response.

" + }, + "traceId":{ + "shape":"TraceId", + "documentation":"

The invocation's trace ID.

" + } + }, + "documentation":"

Invocation output from a routing classifier model.

", + "sensitive":true + }, + "RoutingClassifierTrace":{ + "type":"structure", + "members":{ + "invocationInput":{ + "shape":"InvocationInput", + "documentation":"

The classifier's invocation input.

" + }, + "modelInvocationInput":{ + "shape":"ModelInvocationInput", + "documentation":"

The classifier's model invocation input.

" + }, + "modelInvocationOutput":{ + "shape":"RoutingClassifierModelInvocationOutput", + "documentation":"

The classifier's model invocation output.

" + }, + "observation":{ + "shape":"Observation", + "documentation":"

The classifier's observation.

" + } + }, + "documentation":"

A trace for a routing classifier.

", + "sensitive":true, + "union":true + }, "S3BucketName":{ "type":"string", "max":63, @@ -4601,6 +4871,10 @@ "SessionState":{ "type":"structure", "members":{ + "conversationHistory":{ + "shape":"ConversationHistory", + "documentation":"

The state's conversation history.

" + }, "files":{ "shape":"InputFiles", "documentation":"

Contains information about the files used by code interpreter.

" @@ -4814,6 +5088,10 @@ "preProcessingTrace":{ "shape":"PreProcessingTrace", "documentation":"

Details about the pre-processing step, in which the agent contextualizes and categorizes user inputs.

" + }, + "routingClassifierTrace":{ + "shape":"RoutingClassifierTrace", + "documentation":"

A routing classifier's trace.

" } }, "documentation":"

Contains one part of the agent's reasoning process and results from calling API actions and querying knowledge bases. You can use the trace to understand how the agent arrived at the response it provided the customer. For more information, see Trace enablement.

", @@ -4844,6 +5122,14 @@ "shape":"AgentVersion", "documentation":"

The version of the agent.

" }, + "callerChain":{ + "shape":"CallerChain", + "documentation":"

The part's caller chain.

" + }, + "collaboratorName":{ + "shape":"Name", + "documentation":"

The part's collaborator name.

" + }, "sessionId":{ "shape":"SessionId", "documentation":"

The unique identifier of the session with the agent.

" @@ -4861,6 +5147,7 @@ "type":"string", "enum":[ "ACTION_GROUP", + "AGENT_COLLABORATOR", "KNOWLEDGE_BASE", "FINISH", "ASK_USER", diff --git a/botocore/data/bedrock-agent/2023-06-05/paginators-1.json b/botocore/data/bedrock-agent/2023-06-05/paginators-1.json index b93f7cf2e7..0daea1de84 100644 --- a/botocore/data/bedrock-agent/2023-06-05/paginators-1.json +++ b/botocore/data/bedrock-agent/2023-06-05/paginators-1.json @@ -77,6 +77,12 @@ "output_token": "nextToken", "limit_key": "maxResults", "result_key": "documentDetails" + }, + "ListAgentCollaborators": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "agentCollaboratorSummaries" } } } diff --git a/botocore/data/bedrock-agent/2023-06-05/service-2.json b/botocore/data/bedrock-agent/2023-06-05/service-2.json index a4d165a186..32fa7c7b13 100644 --- a/botocore/data/bedrock-agent/2023-06-05/service-2.json +++ b/botocore/data/bedrock-agent/2023-06-05/service-2.json @@ -14,6 +14,27 @@ "auth":["aws.auth#sigv4"] }, "operations":{ + "AssociateAgentCollaborator":{ + "name":"AssociateAgentCollaborator", + "http":{ + "method":"PUT", + "requestUri":"/agents/{agentId}/agentversions/{agentVersion}/agentcollaborators/", + "responseCode":200 + }, + "input":{"shape":"AssociateAgentCollaboratorRequest"}, + "output":{"shape":"AssociateAgentCollaboratorResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"ServiceQuotaExceededException"} + ], + "documentation":"

Makes an agent a collaborator for another agent.

", + "idempotent":true + }, "AssociateAgentKnowledgeBase":{ "name":"AssociateAgentKnowledgeBase", "http":{ @@ -460,6 +481,26 @@ "documentation":"

Deletes a prompt or a version of it, depending on whether you include the promptVersion field or not. For more information, see Delete prompts from the Prompt management tool and Delete a version of a prompt from the Prompt management tool in the Amazon Bedrock User Guide.

", "idempotent":true }, + "DisassociateAgentCollaborator":{ + "name":"DisassociateAgentCollaborator", + "http":{ + "method":"DELETE", + "requestUri":"/agents/{agentId}/agentversions/{agentVersion}/agentcollaborators/{collaboratorId}/", + "responseCode":204 + }, + "input":{"shape":"DisassociateAgentCollaboratorRequest"}, + "output":{"shape":"DisassociateAgentCollaboratorResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"} + ], + "documentation":"

Disassociates an agent collaborator.

", + "idempotent":true + }, "DisassociateAgentKnowledgeBase":{ "name":"DisassociateAgentKnowledgeBase", "http":{ @@ -534,6 +575,24 @@ ], "documentation":"

Gets information about an alias of an agent.

" }, + "GetAgentCollaborator":{ + "name":"GetAgentCollaborator", + "http":{ + "method":"GET", + "requestUri":"/agents/{agentId}/agentversions/{agentVersion}/agentcollaborators/{collaboratorId}/", + "responseCode":200 + }, + "input":{"shape":"GetAgentCollaboratorRequest"}, + "output":{"shape":"GetAgentCollaboratorResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Retrieves information about an agent's collaborator.

" + }, "GetAgentKnowledgeBase":{ "name":"GetAgentKnowledgeBase", "http":{ @@ -771,6 +830,24 @@ ], "documentation":"

Lists the aliases of an agent and information about each one.

" }, + "ListAgentCollaborators":{ + "name":"ListAgentCollaborators", + "http":{ + "method":"POST", + "requestUri":"/agents/{agentId}/agentversions/{agentVersion}/agentcollaborators/", + "responseCode":200 + }, + "input":{"shape":"ListAgentCollaboratorsRequest"}, + "output":{"shape":"ListAgentCollaboratorsResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Retrieve a list of an agent's collaborators.

" + }, "ListAgentKnowledgeBases":{ "name":"ListAgentKnowledgeBases", "http":{ @@ -1167,6 +1244,27 @@ "documentation":"

Updates configurations for an alias of an agent.

", "idempotent":true }, + "UpdateAgentCollaborator":{ + "name":"UpdateAgentCollaborator", + "http":{ + "method":"PUT", + "requestUri":"/agents/{agentId}/agentversions/{agentVersion}/agentcollaborators/{collaboratorId}/", + "responseCode":200 + }, + "input":{"shape":"UpdateAgentCollaboratorRequest"}, + "output":{"shape":"UpdateAgentCollaboratorResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"ServiceQuotaExceededException"} + ], + "documentation":"

Updates an agent's collaborator.

", + "idempotent":true + }, "UpdateAgentKnowledgeBase":{ "name":"UpdateAgentKnowledgeBase", "http":{ @@ -1421,6 +1519,10 @@ "shape":"AgentArn", "documentation":"

The Amazon Resource Name (ARN) of the agent.

" }, + "agentCollaboration":{ + "shape":"AgentCollaboration", + "documentation":"

The agent's collaboration settings.

" + }, "agentId":{ "shape":"Id", "documentation":"

The unique identifier of the agent.

" @@ -1758,6 +1860,139 @@ "min":0, "pattern":"^arn:aws:bedrock:[a-z0-9-]{1,20}:[0-9]{12}:agent/[0-9a-zA-Z]{10}$" }, + "AgentCollaboration":{ + "type":"string", + "enum":[ + "SUPERVISOR", + "SUPERVISOR_ROUTER", + "DISABLED" + ] + }, + "AgentCollaborator":{ + "type":"structure", + "required":[ + "agentDescriptor", + "agentId", + "agentVersion", + "collaborationInstruction", + "collaboratorId", + "collaboratorName", + "createdAt", + "lastUpdatedAt" + ], + "members":{ + "agentDescriptor":{ + "shape":"AgentDescriptor", + "documentation":"

The collaborator's agent descriptor.

" + }, + "agentId":{ + "shape":"Id", + "documentation":"

The collaborator's agent ID.

" + }, + "agentVersion":{ + "shape":"Version", + "documentation":"

The collaborator's agent version.

" + }, + "clientToken":{ + "shape":"ClientToken", + "documentation":"

The collaborator's client token.

" + }, + "collaborationInstruction":{ + "shape":"CollaborationInstruction", + "documentation":"

The collaborator's instructions.

" + }, + "collaboratorId":{ + "shape":"Id", + "documentation":"

The collaborator's collaborator ID.

" + }, + "collaboratorName":{ + "shape":"Name", + "documentation":"

The collaborator's collaborator name.

" + }, + "createdAt":{ + "shape":"DateTimestamp", + "documentation":"

When the collaborator was created.

" + }, + "lastUpdatedAt":{ + "shape":"DateTimestamp", + "documentation":"

When the collaborator was updated.

" + }, + "relayConversationHistory":{ + "shape":"RelayConversationHistory", + "documentation":"

The collaborator's relay conversation history.

" + } + }, + "documentation":"

An agent collaborator.

" + }, + "AgentCollaboratorSummaries":{ + "type":"list", + "member":{"shape":"AgentCollaboratorSummary"}, + "max":10, + "min":0 + }, + "AgentCollaboratorSummary":{ + "type":"structure", + "required":[ + "agentDescriptor", + "agentId", + "agentVersion", + "collaborationInstruction", + "collaboratorId", + "collaboratorName", + "createdAt", + "lastUpdatedAt", + "relayConversationHistory" + ], + "members":{ + "agentDescriptor":{ + "shape":"AgentDescriptor", + "documentation":"

The collaborator's agent descriptor.

" + }, + "agentId":{ + "shape":"Id", + "documentation":"

The collaborator's agent ID.

" + }, + "agentVersion":{ + "shape":"Version", + "documentation":"

The collaborator's agent version.

" + }, + "collaborationInstruction":{ + "shape":"CollaborationInstruction", + "documentation":"

The collaborator's collaboration instruction.

" + }, + "collaboratorId":{ + "shape":"Id", + "documentation":"

The collaborator's ID.

" + }, + "collaboratorName":{ + "shape":"Name", + "documentation":"

The collaborator's name.

" + }, + "createdAt":{ + "shape":"DateTimestamp", + "documentation":"

When the collaborator was created.

" + }, + "lastUpdatedAt":{ + "shape":"DateTimestamp", + "documentation":"

When the collaborator was last updated.

" + }, + "relayConversationHistory":{ + "shape":"RelayConversationHistory", + "documentation":"

The collaborator's relay conversation history.

" + } + }, + "documentation":"

An agent collaborator summary.

" + }, + "AgentDescriptor":{ + "type":"structure", + "members":{ + "aliasArn":{ + "shape":"AgentAliasArn", + "documentation":"

The agent's alias ARN.

" + } + }, + "documentation":"

An agent descriptor.

" + }, "AgentFlowNodeConfiguration":{ "type":"structure", "required":["agentAliasArn"], @@ -1928,6 +2163,10 @@ "shape":"AgentArn", "documentation":"

The Amazon Resource Name (ARN) of the agent that the version belongs to.

" }, + "agentCollaboration":{ + "shape":"AgentCollaboration", + "documentation":"

The agent's collaboration settings.

" + }, "agentId":{ "shape":"Id", "documentation":"

The unique identifier of the agent that the version belongs to.

" @@ -2052,6 +2291,61 @@ }, "documentation":"

Defines tools, at least one of which must be requested by the model. No text is generated but the results of tool use are sent back to the model to help generate a response. For more information, see Use a tool to complete an Amazon Bedrock model response.

" }, + "AssociateAgentCollaboratorRequest":{ + "type":"structure", + "required":[ + "agentDescriptor", + "agentId", + "agentVersion", + "collaborationInstruction", + "collaboratorName" + ], + "members":{ + "agentDescriptor":{ + "shape":"AgentDescriptor", + "documentation":"

The alias of the collaborator agent.

" + }, + "agentId":{ + "shape":"Id", + "documentation":"

The agent's ID.

", + "location":"uri", + "locationName":"agentId" + }, + "agentVersion":{ + "shape":"DraftVersion", + "documentation":"

An agent version.

", + "location":"uri", + "locationName":"agentVersion" + }, + "clientToken":{ + "shape":"ClientToken", + "documentation":"

A client token.

", + "idempotencyToken":true + }, + "collaborationInstruction":{ + "shape":"CollaborationInstruction", + "documentation":"

Instruction for the collaborator.

" + }, + "collaboratorName":{ + "shape":"Name", + "documentation":"

A name for the collaborator.

" + }, + "relayConversationHistory":{ + "shape":"RelayConversationHistory", + "documentation":"

A relay conversation history for the collaborator.

" + } + } + }, + "AssociateAgentCollaboratorResponse":{ + "type":"structure", + "required":["agentCollaborator"], + "members":{ + "agentCollaborator":{ + "shape":"AgentCollaborator", + "documentation":"

Details about the collaborator.

" + } + } + }, "AssociateAgentKnowledgeBaseRequest":{ "type":"structure", "required":[ @@ -2250,6 +2544,12 @@ "min":33, "pattern":"^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,256}$" }, + "CollaborationInstruction":{ + "type":"string", + "max":4000, + "min":1, + "sensitive":true + }, "CollectorFlowNodeConfiguration":{ "type":"structure", "members":{ @@ -2513,6 +2813,10 @@ "type":"structure", "required":["agentName"], "members":{ + "agentCollaboration":{ + "shape":"AgentCollaboration", + "documentation":"

The agent's collaboration role.

" + }, "agentName":{ "shape":"Name", "documentation":"

A name for the agent that you create.

" @@ -3824,6 +4128,39 @@ "max":4096, "min":0 }, + "DisassociateAgentCollaboratorRequest":{ + "type":"structure", + "required":[ + "agentId", + "agentVersion", + "collaboratorId" + ], + "members":{ + "agentId":{ + "shape":"Id", + "documentation":"

An agent ID.

", + "location":"uri", + "locationName":"agentId" + }, + "agentVersion":{ + "shape":"DraftVersion", + "documentation":"

The agent's version.

", + "location":"uri", + "locationName":"agentVersion" + }, + "collaboratorId":{ + "shape":"Id", + "documentation":"

The collaborator's ID.

", + "location":"uri", + "locationName":"collaboratorId" + } + } + }, + "DisassociateAgentCollaboratorResponse":{ + "type":"structure", + "members":{ + } + }, "DisassociateAgentKnowledgeBaseRequest":{ "type":"structure", "required":[ @@ -3993,6 +4330,7 @@ }, "EmbeddingDataType":{ "type":"string", + "documentation":"

Bedrock models embedding data type. Can be either float32 or binary.

", "enum":[ "FLOAT32", "BINARY" @@ -4909,6 +5247,44 @@ } } }, + "GetAgentCollaboratorRequest":{ + "type":"structure", + "required":[ + "agentId", + "agentVersion", + "collaboratorId" + ], + "members":{ + "agentId":{ + "shape":"Id", + "documentation":"

The agent's ID.

", + "location":"uri", + "locationName":"agentId" + }, + "agentVersion":{ + "shape":"Version", + "documentation":"

The agent's version.

", + "location":"uri", + "locationName":"agentVersion" + }, + "collaboratorId":{ + "shape":"Id", + "documentation":"

The collaborator's ID.

", + "location":"uri", + "locationName":"collaboratorId" + } + } + }, + "GetAgentCollaboratorResponse":{ + "type":"structure", + "required":["agentCollaborator"], + "members":{ + "agentCollaborator":{ + "shape":"AgentCollaborator", + "documentation":"

Details about the collaborator.

" + } + } + }, "GetAgentKnowledgeBaseRequest":{ "type":"structure", "required":[ @@ -6236,6 +6612,49 @@ } } }, + "ListAgentCollaboratorsRequest":{ + "type":"structure", + "required":[ + "agentId", + "agentVersion" + ], + "members":{ + "agentId":{ + "shape":"Id", + "documentation":"

The agent's ID.

", + "location":"uri", + "locationName":"agentId" + }, + "agentVersion":{ + "shape":"Version", + "documentation":"

The agent's version.

", + "location":"uri", + "locationName":"agentVersion" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of agent collaborators to return in one page of results.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

Specify the pagination token from a previous request to retrieve the next page of results.

" + } + } + }, + "ListAgentCollaboratorsResponse":{ + "type":"structure", + "required":["agentCollaboratorSummaries"], + "members":{ + "agentCollaboratorSummaries":{ + "shape":"AgentCollaboratorSummaries", + "documentation":"

A list of collaborator summaries.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

Specify the pagination token from a previous request to retrieve the next page of results.

" + } + } + }, "ListAgentKnowledgeBasesRequest":{ "type":"structure", "required":[ @@ -7441,6 +7860,10 @@ "shape":"BasePromptTemplate", "documentation":"

Defines the prompt template with which to replace the default prompt template. You can use placeholder variables in the base prompt template to customize the prompt. For more information, see Prompt template placeholder variables. For more information, see Configure the prompt templates.

" }, + "foundationModel":{ + "shape":"ModelIdentifier", + "documentation":"

The agent's foundation model.

" + }, "inferenceConfiguration":{ "shape":"InferenceConfiguration", "documentation":"

Contains inference parameters to use when the agent invokes a foundation model in the part of the agent sequence defined by the promptType. For more information, see Inference parameters for foundation models.

" @@ -7985,9 +8408,16 @@ "min":0, "pattern":"^.*$" }, + "RelayConversationHistory":{ + "type":"string", + "enum":[ + "TO_COLLABORATOR", + "DISABLED" + ] + }, "RequireConfirmation":{ "type":"string", - "documentation":"

ENUM to check if action requires user confirmation

", + "documentation":"

Whether the action requires user confirmation.

", "enum":[ "ENABLED", "DISABLED" @@ -9056,6 +9486,63 @@ } } }, + "UpdateAgentCollaboratorRequest":{ + "type":"structure", + "required":[ + "agentDescriptor", + "agentId", + "agentVersion", + "collaborationInstruction", + "collaboratorId", + "collaboratorName" + ], + "members":{ + "agentDescriptor":{ + "shape":"AgentDescriptor", + "documentation":"

An agent descriptor for the agent collaborator.

" + }, + "agentId":{ + "shape":"Id", + "documentation":"

The agent's ID.

", + "location":"uri", + "locationName":"agentId" + }, + "agentVersion":{ + "shape":"DraftVersion", + "documentation":"

The agent's version.

", + "location":"uri", + "locationName":"agentVersion" + }, + "collaborationInstruction":{ + "shape":"CollaborationInstruction", + "documentation":"

Instruction for the collaborator.

" + }, + "collaboratorId":{ + "shape":"Id", + "documentation":"

The collaborator's ID.

", + "location":"uri", + "locationName":"collaboratorId" + }, + "collaboratorName":{ + "shape":"Name", + "documentation":"

The collaborator's name.

" + }, + "relayConversationHistory":{ + "shape":"RelayConversationHistory", + "documentation":"

A relay conversation history for the collaborator.

" + } + } + }, + "UpdateAgentCollaboratorResponse":{ + "type":"structure", + "required":["agentCollaborator"], + "members":{ + "agentCollaborator":{ + "shape":"AgentCollaborator", + "documentation":"

Details about the collaborator.

" + } + } + }, "UpdateAgentKnowledgeBaseRequest":{ "type":"structure", "required":[ @@ -9111,6 +9598,10 @@ "foundationModel" ], "members":{ + "agentCollaboration":{ + "shape":"AgentCollaboration", + "documentation":"

The agent's collaboration role.

" + }, "agentId":{ "shape":"Id", "documentation":"

The unique identifier of the agent.

", diff --git a/botocore/data/bedrock-runtime/2023-09-30/paginators-1.json b/botocore/data/bedrock-runtime/2023-09-30/paginators-1.json index ea142457a6..b6c3d8b533 100644 --- a/botocore/data/bedrock-runtime/2023-09-30/paginators-1.json +++ b/botocore/data/bedrock-runtime/2023-09-30/paginators-1.json @@ -1,3 +1,10 @@ { - "pagination": {} + "pagination": { + "ListAsyncInvokes": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "asyncInvokeSummaries" + } + } } diff --git a/botocore/data/bedrock-runtime/2023-09-30/service-2.json b/botocore/data/bedrock-runtime/2023-09-30/service-2.json index 5ef0e9202e..a3f4d932c8 100644 --- a/botocore/data/bedrock-runtime/2023-09-30/service-2.json +++ b/botocore/data/bedrock-runtime/2023-09-30/service-2.json @@ -30,7 +30,7 @@ {"shape":"ValidationException"}, {"shape":"ServiceQuotaExceededException"} ], - "documentation":"

The action to apply a guardrail.

" + "documentation":"

The action to apply a guardrail.

For troubleshooting some of the common errors you might encounter when using the ApplyGuardrail API, see Troubleshooting Amazon Bedrock API Error Codes in the Amazon Bedrock User Guide

" }, "Converse":{ "name":"Converse", @@ -76,6 +76,23 @@ ], "documentation":"

Sends messages to the specified Amazon Bedrock model and returns the response in a stream. ConverseStream provides a consistent API that works with all Amazon Bedrock models that support messages. This allows you to write code once and use it with different models. Should a model have unique inference parameters, you can also pass those unique parameters to the model.

To find out if a model supports streaming, call GetFoundationModel and check the responseStreamingSupported field in the response.

The CLI doesn't support streaming operations in Amazon Bedrock, including ConverseStream.

Amazon Bedrock doesn't store any text, images, or documents that you provide as content. The data is only used to generate the response.

You can submit a prompt by including it in the messages field, specifying the modelId of a foundation model or inference profile to run inference on it, and including any other fields that are relevant to your use case.

You can also submit a prompt from Prompt management by specifying the ARN of the prompt version and including a map of variables to values in the promptVariables field. You can append more messages to the prompt by using the messages field. If you use a prompt from Prompt management, you can't include the following fields in the request: additionalModelRequestFields, inferenceConfig, system, or toolConfig. Instead, these fields must be defined through Prompt management. For more information, see Use a prompt from Prompt management.

For information about the Converse API, see Use the Converse API in the Amazon Bedrock User Guide. To use a guardrail, see Use a guardrail with the Converse API in the Amazon Bedrock User Guide. To use a tool with a model, see Tool use (Function calling) in the Amazon Bedrock User Guide

For example code, see Conversation streaming example in the Amazon Bedrock User Guide.

This operation requires permission for the bedrock:InvokeModelWithResponseStream action.

To deny all inference access to resources that you specify in the modelId field, you need to deny access to the bedrock:InvokeModel and bedrock:InvokeModelWithResponseStream actions. Doing this also denies access to the resource through the base inference actions (InvokeModel and InvokeModelWithResponseStream). For more information see Deny access for inference on specific models.

For troubleshooting some of the common errors you might encounter when using the ConverseStream API, see Troubleshooting Amazon Bedrock API Error Codes in the Amazon Bedrock User Guide

" }, + "GetAsyncInvoke":{ + "name":"GetAsyncInvoke", + "http":{ + "method":"GET", + "requestUri":"/async-invoke/{invocationArn}", + "responseCode":200 + }, + "input":{"shape":"GetAsyncInvokeRequest"}, + "output":{"shape":"GetAsyncInvokeResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"} + ], + "documentation":"

Retrieve information about an asynchronous invocation.

" + }, "InvokeModel":{ "name":"InvokeModel", "http":{ @@ -122,6 +139,45 @@ {"shape":"ModelErrorException"} ], "documentation":"

Invoke the specified Amazon Bedrock model to run inference using the prompt and inference parameters provided in the request body. The response is returned in a stream.

To see if a model supports streaming, call GetFoundationModel and check the responseStreamingSupported field in the response.

The CLI doesn't support streaming operations in Amazon Bedrock, including InvokeModelWithResponseStream.

For example code, see Invoke model with streaming code example in the Amazon Bedrock User Guide.

This operation requires permissions to perform the bedrock:InvokeModelWithResponseStream action.

To deny all inference access to resources that you specify in the modelId field, you need to deny access to the bedrock:InvokeModel and bedrock:InvokeModelWithResponseStream actions. Doing this also denies access to the resource through the Converse API actions (Converse and ConverseStream). For more information see Deny access for inference on specific models.

For troubleshooting some of the common errors you might encounter when using the InvokeModelWithResponseStream API, see Troubleshooting Amazon Bedrock API Error Codes in the Amazon Bedrock User Guide

" + }, + "ListAsyncInvokes":{ + "name":"ListAsyncInvokes", + "http":{ + "method":"GET", + "requestUri":"/async-invoke", + "responseCode":200 + }, + "input":{"shape":"ListAsyncInvokesRequest"}, + "output":{"shape":"ListAsyncInvokesResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"} + ], + "documentation":"

Lists asynchronous invocations.

" + }, + "StartAsyncInvoke":{ + "name":"StartAsyncInvoke", + "http":{ + "method":"POST", + "requestUri":"/async-invoke", + "responseCode":200 + }, + "input":{"shape":"StartAsyncInvokeRequest"}, + "output":{"shape":"StartAsyncInvokeResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ValidationException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ConflictException"} + ], + "documentation":"

Starts an asynchronous invocation.

This operation requires permission for the bedrock:InvokeModel action.

To deny all inference access to resources that you specify in the modelId field, you need to deny access to the bedrock:InvokeModel and bedrock:InvokeModelWithResponseStream actions. Doing this also denies access to the resource through the Converse API actions (Converse and ConverseStream). For more information see Deny access for inference on specific models.

", + "idempotent":true } }, "shapes":{ @@ -137,6 +193,10 @@ }, "exception":true }, + "AccountId":{ + "type":"string", + "pattern":"[0-9]{12}" + }, "AnyToolChoice":{ "type":"structure", "members":{ @@ -205,6 +265,120 @@ } } }, + "AsyncInvokeArn":{ + "type":"string", + "max":2048, + "min":1, + "pattern":"arn:[a-z0-9\\-]+:bedrock:[a-z0-9\\-]*:[0-9]*:(provisioned-model|foundation-model)/.+" + }, + "AsyncInvokeIdempotencyToken":{ + "type":"string", + "max":256, + "min":1, + "pattern":"[!-~]*" + }, + "AsyncInvokeIdentifier":{ + "type":"string", + "max":256, + "min":1, + "pattern":"[a-zA-Z_\\.\\-/0-9:]+" + }, + "AsyncInvokeMessage":{ + "type":"string", + "max":2048, + "min":0, + "sensitive":true + }, + "AsyncInvokeOutputDataConfig":{ + "type":"structure", + "members":{ + "s3OutputDataConfig":{ + "shape":"AsyncInvokeS3OutputDataConfig", + "documentation":"

A storage location for the output data in an S3 bucket

" + } + }, + "documentation":"

Asynchronous invocation output data settings.

", + "union":true + }, + "AsyncInvokeS3OutputDataConfig":{ + "type":"structure", + "required":["s3Uri"], + "members":{ + "s3Uri":{ + "shape":"S3Uri", + "documentation":"

An object URI starting with s3://.

" + }, + "kmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"

A KMS encryption key ID.

" + }, + "bucketOwner":{ + "shape":"AccountId", + "documentation":"

If the bucket belongs to another AWS account, specify that account's ID.

" + } + }, + "documentation":"

Asynchronous invocation output data settings.

" + }, + "AsyncInvokeStatus":{ + "type":"string", + "enum":[ + "InProgress", + "Completed", + "Failed" + ] + }, + "AsyncInvokeSummaries":{ + "type":"list", + "member":{"shape":"AsyncInvokeSummary"} + }, + "AsyncInvokeSummary":{ + "type":"structure", + "required":[ + "invocationArn", + "modelArn", + "submitTime", + "outputDataConfig" + ], + "members":{ + "invocationArn":{ + "shape":"InvocationArn", + "documentation":"

The invocation's ARN.

" + }, + "modelArn":{ + "shape":"AsyncInvokeArn", + "documentation":"

The invoked model's ARN.

" + }, + "clientRequestToken":{ + "shape":"AsyncInvokeIdempotencyToken", + "documentation":"

The invocation's idempotency token.

" + }, + "status":{ + "shape":"AsyncInvokeStatus", + "documentation":"

The invocation's status.

" + }, + "failureMessage":{ + "shape":"AsyncInvokeMessage", + "documentation":"

An error message.

" + }, + "submitTime":{ + "shape":"Timestamp", + "documentation":"

When the invocation was submitted.

" + }, + "lastModifiedTime":{ + "shape":"Timestamp", + "documentation":"

When the invocation was last modified.

" + }, + "endTime":{ + "shape":"Timestamp", + "documentation":"

When the invocation ended.

" + }, + "outputDataConfig":{ + "shape":"AsyncInvokeOutputDataConfig", + "documentation":"

The invocation's output data settings.

" + } + }, + "documentation":"

A summary of an asynchronous invocation.

" + }, "AutoToolChoice":{ "type":"structure", "members":{ @@ -217,6 +391,18 @@ "min":0, "sensitive":true }, + "ConflictException":{ + "type":"structure", + "members":{ + "message":{"shape":"NonBlankString"} + }, + "documentation":"

Error occurred because of a conflict while performing an operation.

", + "error":{ + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "ContentBlock":{ "type":"structure", "members":{ @@ -232,6 +418,10 @@ "shape":"DocumentBlock", "documentation":"

A document to include in the message.

" }, + "video":{ + "shape":"VideoBlock", + "documentation":"

Video to include in the message.

" + }, "toolUse":{ "shape":"ToolUseBlock", "documentation":"

Information about a tool use request from a model.

" @@ -387,7 +577,7 @@ }, "toolConfig":{ "shape":"ToolConfiguration", - "documentation":"

Configuration information for the tools that the model can use when generating a response.

This field is only supported by Anthropic Claude 3, Cohere Command R, Cohere Command R+, and Mistral Large models.

" + "documentation":"

Configuration information for the tools that the model can use when generating a response.

For information about models that support tool use, see Supported models and model features.

" }, "guardrailConfig":{ "shape":"GuardrailConfiguration", @@ -405,6 +595,10 @@ "shape":"ConverseRequestAdditionalModelResponseFieldPathsList", "documentation":"

Additional model parameters field paths to return in the response. Converse and ConverseStream return the requested fields as a JSON Pointer object in the additionalModelResponseFields field. The following is example JSON for additionalModelResponseFieldPaths.

[ \"/stop_sequence\" ]

For information about the JSON Pointer syntax, see the Internet Engineering Task Force (IETF) documentation.

Converse and ConverseStream reject an empty JSON Pointer or incorrectly structured JSON Pointer with a 400 error code. if the JSON Pointer is valid, but the requested field is not in the model response, it is ignored by Converse.

" }, + "requestMetadata":{ + "shape":"RequestMetadata", + "documentation":"

Key-value pairs that you can use to filter invocation logs.

" + }, "performanceConfig":{ "shape":"PerformanceConfiguration", "documentation":"

Model performance settings for the request.

" @@ -536,11 +730,11 @@ }, "validationException":{ "shape":"ValidationException", - "documentation":"

Input validation failed. Check your request parameters and retry the request.

" + "documentation":"

The input fails to satisfy the constraints specified by Amazon Bedrock. For troubleshooting this error, see ValidationError in the Amazon Bedrock User Guide

" }, "throttlingException":{ "shape":"ThrottlingException", - "documentation":"

The number of requests exceeds the limit. Resubmit your request later.

" + "documentation":"

Your request was denied due to exceeding the account quotas for Amazon Bedrock. For troubleshooting this error, see ThrottlingException in the Amazon Bedrock User Guide

" }, "serviceUnavailableException":{ "shape":"ServiceUnavailableException", @@ -574,7 +768,7 @@ }, "toolConfig":{ "shape":"ToolConfiguration", - "documentation":"

Configuration information for the tools that the model can use when generating a response.

This field is only supported by Anthropic Claude 3 models.

" + "documentation":"

Configuration information for the tools that the model can use when generating a response.

For information about models that support streaming tool use, see Supported models and model features.

" }, "guardrailConfig":{ "shape":"GuardrailStreamConfiguration", @@ -592,6 +786,10 @@ "shape":"ConverseStreamRequestAdditionalModelResponseFieldPathsList", "documentation":"

Additional model parameters field paths to return in the response. Converse and ConverseStream return the requested fields as a JSON Pointer object in the additionalModelResponseFields field. The following is example JSON for additionalModelResponseFieldPaths.

[ \"/stop_sequence\" ]

For information about the JSON Pointer syntax, see the Internet Engineering Task Force (IETF) documentation.

Converse and ConverseStream reject an empty JSON Pointer or incorrectly structured JSON Pointer with a 400 error code. if the JSON Pointer is valid, but the requested field is not in the model response, it is ignored by Converse.

" }, + "requestMetadata":{ + "shape":"RequestMetadata", + "documentation":"

Key-value pairs that you can use to filter invocation logs.

" + }, "performanceConfig":{ "shape":"PerformanceConfiguration", "documentation":"

Model performance settings for the request.

" @@ -702,6 +900,66 @@ "type":"blob", "min":1 }, + "GetAsyncInvokeRequest":{ + "type":"structure", + "required":["invocationArn"], + "members":{ + "invocationArn":{ + "shape":"InvocationArn", + "documentation":"

The invocation's ARN.

", + "location":"uri", + "locationName":"invocationArn" + } + } + }, + "GetAsyncInvokeResponse":{ + "type":"structure", + "required":[ + "invocationArn", + "modelArn", + "status", + "submitTime", + "outputDataConfig" + ], + "members":{ + "invocationArn":{ + "shape":"InvocationArn", + "documentation":"

The invocation's ARN.

" + }, + "modelArn":{ + "shape":"AsyncInvokeArn", + "documentation":"

The invocation's model ARN.

" + }, + "clientRequestToken":{ + "shape":"AsyncInvokeIdempotencyToken", + "documentation":"

The invocation's idempotency token.

" + }, + "status":{ + "shape":"AsyncInvokeStatus", + "documentation":"

The invocation's status.

" + }, + "failureMessage":{ + "shape":"AsyncInvokeMessage", + "documentation":"

An error message.

" + }, + "submitTime":{ + "shape":"Timestamp", + "documentation":"

When the invocation request was submitted.

" + }, + "lastModifiedTime":{ + "shape":"Timestamp", + "documentation":"

The invocation's last modified time.

" + }, + "endTime":{ + "shape":"Timestamp", + "documentation":"

When the invocation ended.

" + }, + "outputDataConfig":{ + "shape":"AsyncInvokeOutputDataConfig", + "documentation":"

Output data settings.

" + } + } + }, "GuardrailAction":{ "type":"string", "enum":[ @@ -1529,6 +1787,12 @@ "exception":true, "fault":true }, + "InvocationArn":{ + "type":"string", + "max":2048, + "min":1, + "pattern":"arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:[0-9]{12}:async-invoke/[a-z0-9]{12}" + }, "InvokeModelIdentifier":{ "type":"string", "max":2048, @@ -1693,10 +1957,82 @@ }, "payload":"body" }, + "KmsKeyId":{ + "type":"string", + "max":2048, + "min":1, + "pattern":"arn:aws(-[^:]+)?:kms:[a-zA-Z0-9-]*:[0-9]{12}:((key/[a-zA-Z0-9-]{36})|(alias/[a-zA-Z0-9-_/]+))" + }, + "ListAsyncInvokesRequest":{ + "type":"structure", + "members":{ + "submitTimeAfter":{ + "shape":"Timestamp", + "documentation":"

Include invocations submitted after this time.

", + "location":"querystring", + "locationName":"submitTimeAfter" + }, + "submitTimeBefore":{ + "shape":"Timestamp", + "documentation":"

Include invocations submitted before this time.

", + "location":"querystring", + "locationName":"submitTimeBefore" + }, + "statusEquals":{ + "shape":"AsyncInvokeStatus", + "documentation":"

Filter invocations by status.

", + "location":"querystring", + "locationName":"statusEquals" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of invocations to return in one page of results.

", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

Specify the pagination token from a previous request to retrieve the next page of results.

", + "location":"querystring", + "locationName":"nextToken" + }, + "sortBy":{ + "shape":"SortAsyncInvocationBy", + "documentation":"

How to sort the response.

", + "location":"querystring", + "locationName":"sortBy" + }, + "sortOrder":{ + "shape":"SortOrder", + "documentation":"

The sorting order for the response.

", + "location":"querystring", + "locationName":"sortOrder" + } + } + }, + "ListAsyncInvokesResponse":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

Specify the pagination token from a previous request to retrieve the next page of results.

" + }, + "asyncInvokeSummaries":{ + "shape":"AsyncInvokeSummaries", + "documentation":"

A list of invocation summaries.

" + } + } + }, "Long":{ "type":"long", "box":true }, + "MaxResults":{ + "type":"integer", + "box":true, + "max":1000, + "min":1 + }, "Message":{ "type":"structure", "required":[ @@ -1768,6 +2104,13 @@ }, "exception":true }, + "ModelInputPayload":{ + "type":"structure", + "members":{ + }, + "document":true, + "sensitive":true + }, "ModelNotReadyException":{ "type":"structure", "members":{ @@ -1830,6 +2173,12 @@ "box":true, "min":0 }, + "PaginationToken":{ + "type":"string", + "max":2048, + "min":1, + "pattern":"\\S*" + }, "PartBody":{ "type":"blob", "max":1000000, @@ -1882,6 +2231,26 @@ "documentation":"

Contains a map of variables in a prompt from Prompt management to an object containing the values to fill in for them when running model invocation. For more information, see How Prompt management works.

", "union":true }, + "RequestMetadata":{ + "type":"map", + "key":{"shape":"RequestMetadataKeyString"}, + "value":{"shape":"RequestMetadataValueString"}, + "max":16, + "min":1, + "sensitive":true + }, + "RequestMetadataKeyString":{ + "type":"string", + "max":256, + "min":1, + "pattern":"[a-zA-Z0-9\\s:_@$#=/+,-.]{1,256}" + }, + "RequestMetadataValueString":{ + "type":"string", + "max":256, + "min":0, + "pattern":"[a-zA-Z0-9\\s:_@$#=/+,-.]{0,256}" + }, "ResourceNotFoundException":{ "type":"structure", "members":{ @@ -1929,6 +2298,27 @@ "documentation":"

Definition of content in the response stream.

", "eventstream":true }, + "S3Location":{ + "type":"structure", + "required":["uri"], + "members":{ + "uri":{ + "shape":"S3Uri", + "documentation":"

An object URI starting with s3://.

" + }, + "bucketOwner":{ + "shape":"AccountId", + "documentation":"

If the bucket belongs to another AWS account, specify that account's ID.

" + } + }, + "documentation":"

A storage location in an S3 bucket.

" + }, + "S3Uri":{ + "type":"string", + "max":1024, + "min":1, + "pattern":"s3://[a-z0-9][\\.\\-a-z0-9]{1,61}[a-z0-9](/.*)?" + }, "ServiceQuotaExceededException":{ "type":"structure", "members":{ @@ -1951,6 +2341,17 @@ "exception":true, "fault":true }, + "SortAsyncInvocationBy":{ + "type":"string", + "enum":["SubmissionTime"] + }, + "SortOrder":{ + "type":"string", + "enum":[ + "Ascending", + "Descending" + ] + }, "SpecificToolChoice":{ "type":"structure", "required":["name"], @@ -1962,6 +2363,47 @@ }, "documentation":"

The model must request a specific tool. For example, {\"tool\" : {\"name\" : \"Your tool name\"}}.

This field is only supported by Anthropic Claude 3 models.

" }, + "StartAsyncInvokeRequest":{ + "type":"structure", + "required":[ + "modelId", + "modelInput", + "outputDataConfig" + ], + "members":{ + "clientRequestToken":{ + "shape":"AsyncInvokeIdempotencyToken", + "documentation":"

Specify idempotency token to ensure that requests are not duplicated.

", + "idempotencyToken":true + }, + "modelId":{ + "shape":"AsyncInvokeIdentifier", + "documentation":"

The model to invoke.

" + }, + "modelInput":{ + "shape":"ModelInputPayload", + "documentation":"

Input to send to the model.

" + }, + "outputDataConfig":{ + "shape":"AsyncInvokeOutputDataConfig", + "documentation":"

Where to store the output.

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

Tags to apply to the invocation.

" + } + } + }, + "StartAsyncInvokeResponse":{ + "type":"structure", + "required":["invocationArn"], + "members":{ + "invocationArn":{ + "shape":"InvocationArn", + "documentation":"

The ARN of the invocation.

" + } + } + }, "StatusCode":{ "type":"integer", "box":true, @@ -1999,6 +2441,42 @@ "type":"list", "member":{"shape":"SystemContentBlock"} }, + "Tag":{ + "type":"structure", + "required":[ + "key", + "value" + ], + "members":{ + "key":{ + "shape":"TagKey", + "documentation":"

The tag's key.

" + }, + "value":{ + "shape":"TagValue", + "documentation":"

The tag's value.

" + } + }, + "documentation":"

A tag.

" + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[a-zA-Z0-9\\s._:/=+@-]*" + }, + "TagList":{ + "type":"list", + "member":{"shape":"Tag"}, + "max":200, + "min":0 + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0, + "pattern":"[a-zA-Z0-9\\s._:/=+@-]*" + }, "TextCharactersGuarded":{ "type":"integer", "box":true @@ -2019,6 +2497,10 @@ }, "exception":true }, + "Timestamp":{ + "type":"timestamp", + "timestampFormat":"iso8601" + }, "TokenUsage":{ "type":"structure", "required":[ @@ -2100,7 +2582,7 @@ "documentation":"

If supported by model, forces the model to request a tool.

" } }, - "documentation":"

Configuration information for the tools that you pass to a model. For more information, see Tool use (function calling) in the Amazon Bedrock User Guide.

This field is only supported by Anthropic Claude 3, Cohere Command R, Cohere Command R+, and Mistral Large models.

" + "documentation":"

Configuration information for the tools that you pass to a model. For more information, see Tool use (function calling) in the Amazon Bedrock User Guide.

" }, "ToolConfigurationToolsList":{ "type":"list", @@ -2164,6 +2646,10 @@ "document":{ "shape":"DocumentBlock", "documentation":"

A tool result that is a document.

" + }, + "video":{ + "shape":"VideoBlock", + "documentation":"

A tool result that is video.

" } }, "documentation":"

The tool result content block.

", @@ -2278,6 +2764,57 @@ "senderFault":true }, "exception":true + }, + "VideoBlock":{ + "type":"structure", + "required":[ + "format", + "source" + ], + "members":{ + "format":{ + "shape":"VideoFormat", + "documentation":"

The block's format.

" + }, + "source":{ + "shape":"VideoSource", + "documentation":"

The block's source.

" + } + }, + "documentation":"

A video block.

" + }, + "VideoFormat":{ + "type":"string", + "enum":[ + "mkv", + "mov", + "mp4", + "webm", + "flv", + "mpeg", + "mpg", + "wmv", + "three_gp" + ] + }, + "VideoSource":{ + "type":"structure", + "members":{ + "bytes":{ + "shape":"VideoSourceBytesBlob", + "documentation":"

Video content encoded in base64.

" + }, + "s3Location":{ + "shape":"S3Location", + "documentation":"

The location of a video object in an S3 bucket.

" + } + }, + "documentation":"

A video source. You can upload a smaller video as a base64-encoded string as long as the encoded file is less than 25MB. You can also transfer videos up to 1GB in size from an S3 bucket.

", + "union":true + }, + "VideoSourceBytesBlob":{ + "type":"blob", + "min":1 } }, "documentation":"

Describes the API operations for running inference using Amazon Bedrock models.

" diff --git a/botocore/data/bedrock/2023-04-20/service-2.json b/botocore/data/bedrock/2023-04-20/service-2.json index ff96763464..b4996d4117 100644 --- a/botocore/data/bedrock/2023-04-20/service-2.json +++ b/botocore/data/bedrock/2023-04-20/service-2.json @@ -72,7 +72,7 @@ {"shape":"ServiceQuotaExceededException"}, {"shape":"ThrottlingException"} ], - "documentation":"

Creates a guardrail to block topics and to implement safeguards for your generative AI applications.

You can configure the following policies in a guardrail to avoid undesirable and harmful content, filter out denied topics and words, and remove sensitive information for privacy protection.

In addition to the above policies, you can also configure the messages to be returned to the user if a user input or model response is in violation of the policies defined in the guardrail.

For more information, see Guardrails for Amazon Bedrock in the Amazon Bedrock User Guide.

" + "documentation":"

Creates a guardrail to block topics and to implement safeguards for your generative AI applications.

You can configure the following policies in a guardrail to avoid undesirable and harmful content, filter out denied topics and words, and remove sensitive information for privacy protection.

In addition to the above policies, you can also configure the messages to be returned to the user if a user input or model response is in violation of the policies defined in the guardrail.

For more information, see Amazon Bedrock Guardrails in the Amazon Bedrock User Guide.

" }, "CreateGuardrailVersion":{ "name":"CreateGuardrailVersion", @@ -515,7 +515,7 @@ {"shape":"InternalServerException"}, {"shape":"ThrottlingException"} ], - "documentation":"

Gets details about a batch inference job. For more information, see View details about a batch inference job

" + "documentation":"

Gets details about a batch inference job. For more information, see Monitor batch inference jobs

" }, "GetModelInvocationLoggingConfiguration":{ "name":"GetModelInvocationLoggingConfiguration", @@ -721,7 +721,7 @@ {"shape":"InternalServerException"}, {"shape":"ThrottlingException"} ], - "documentation":"

Lists all batch inference jobs in the account. For more information, see View details about a batch inference job.

" + "documentation":"

Lists all batch inference jobs in the account. For more information, see View details about a batch inference job.

" }, "ListProvisionedModelThroughputs":{ "name":"ListProvisionedModelThroughputs", @@ -832,7 +832,7 @@ {"shape":"InternalServerException"}, {"shape":"ThrottlingException"} ], - "documentation":"

Stops a batch inference job. You're only charged for tokens that were already processed. For more information, see Stop a batch inference job.

" + "documentation":"

Stops a batch inference job. You're only charged for tokens that were already processed. For more information, see Stop a batch inference job.

" }, "TagResource":{ "name":"TagResource", @@ -1447,8 +1447,7 @@ "roleArn", "baseModelIdentifier", "trainingDataConfig", - "outputDataConfig", - "hyperParameters" + "outputDataConfig" ], "members":{ "jobName":{ @@ -1507,6 +1506,10 @@ "vpcConfig":{ "shape":"VpcConfig", "documentation":"

The configuration of the Virtual Private Cloud (VPC) that contains the resources that you're using for this job. For more information, see Protect your model customization jobs using a VPC.

" + }, + "customizationConfig":{ + "shape":"CustomizationConfig", + "documentation":"

The customization configuration for the model customization job.

" } } }, @@ -1614,7 +1617,7 @@ }, "vpcConfig":{ "shape":"VpcConfig", - "documentation":"

The configuration of the Virtual Private Cloud (VPC) for the data in the batch inference job. For more information, see Protect batch inference jobs using a VPC.

" + "documentation":"

The configuration of the Virtual Private Cloud (VPC) for the data in the batch inference job. For more information, see Protect batch inference jobs using a VPC.

" }, "timeoutDurationInHours":{ "shape":"ModelInvocationJobTimeoutDurationInHours", @@ -1738,11 +1741,23 @@ "type":"list", "member":{"shape":"CustomModelSummary"} }, + "CustomizationConfig":{ + "type":"structure", + "members":{ + "distillationConfig":{ + "shape":"DistillationConfig", + "documentation":"

The distillation configuration for the custom model.

" + } + }, + "documentation":"

A model customization configuration

", + "union":true + }, "CustomizationType":{ "type":"string", "enum":[ "FINE_TUNING", - "CONTINUED_PRE_TRAINING" + "CONTINUED_PRE_TRAINING", + "DISTILLATION" ] }, "DeleteCustomModelRequest":{ @@ -1846,6 +1861,17 @@ "members":{ } }, + "DistillationConfig":{ + "type":"structure", + "required":["teacherModelConfig"], + "members":{ + "teacherModelConfig":{ + "shape":"TeacherModelConfig", + "documentation":"

The teacher model configuration.

" + } + }, + "documentation":"

Settings for distilling a foundation model into a smaller and more efficient model.

" + }, "ErrorMessage":{ "type":"string", "max":2048, @@ -2530,6 +2556,10 @@ "creationTime":{ "shape":"Timestamp", "documentation":"

Creation time of the model.

" + }, + "customizationConfig":{ + "shape":"CustomizationConfig", + "documentation":"

The customization configuration for the custom model.

" } } }, @@ -2948,7 +2978,6 @@ "roleArn", "creationTime", "baseModelArn", - "hyperParameters", "trainingDataConfig", "validationDataConfig", "outputDataConfig" @@ -3037,6 +3066,10 @@ "vpcConfig":{ "shape":"VpcConfig", "documentation":"

VPC configuration for the custom model job.

" + }, + "customizationConfig":{ + "shape":"CustomizationConfig", + "documentation":"

The customization configuration for the model customization job.

" } } }, @@ -3154,7 +3187,7 @@ }, "status":{ "shape":"ModelInvocationJobStatus", - "documentation":"

The status of the batch inference job.

" + "documentation":"

The status of the batch inference job.

The following statuses are possible:

" }, "message":{ "shape":"Message", @@ -3182,7 +3215,7 @@ }, "vpcConfig":{ "shape":"VpcConfig", - "documentation":"

The configuration of the Virtual Private Cloud (VPC) for the data in the batch inference job. For more information, see Protect batch inference jobs using a VPC.

" + "documentation":"

The configuration of the Virtual Private Cloud (VPC) for the data in the batch inference job. For more information, see Protect batch inference jobs using a VPC.

" }, "timeoutDurationInHours":{ "shape":"ModelInvocationJobTimeoutDurationInHours", @@ -4353,6 +4386,10 @@ "type":"boolean", "box":true }, + "Integer":{ + "type":"integer", + "box":true + }, "InternalServerException":{ "type":"structure", "members":{ @@ -4363,6 +4400,36 @@ "exception":true, "fault":true }, + "InvocationLogSource":{ + "type":"structure", + "members":{ + "s3Uri":{ + "shape":"S3Uri", + "documentation":"

The URI of an invocation log in a bucket.

" + } + }, + "documentation":"

A storage location for invocation logs.

", + "union":true + }, + "InvocationLogsConfig":{ + "type":"structure", + "required":["invocationLogSource"], + "members":{ + "usePromptResponse":{ + "shape":"UsePromptResponse", + "documentation":"

Whether to use the model's response for training, or just the prompt. The default value is False.

" + }, + "invocationLogSource":{ + "shape":"InvocationLogSource", + "documentation":"

The source of the invocation logs.

" + }, + "requestMetadataFilters":{ + "shape":"RequestMetadataFilters", + "documentation":"

Rules for filtering invocation logs based on request metadata.

" + } + }, + "documentation":"

Settings for using invocation logs to customize a model.

" + }, "JobName":{ "type":"string", "max":63, @@ -5030,7 +5097,7 @@ }, "statusEquals":{ "shape":"ModelInvocationJobStatus", - "documentation":"

Specify a status to filter for batch inference jobs whose statuses match the string you specify.

", + "documentation":"

Specify a status to filter for batch inference jobs whose statuses match the string you specify.

The following statuses are possible:

", "location":"querystring", "locationName":"statusEquals" }, @@ -5197,6 +5264,10 @@ "embeddingDataDeliveryEnabled":{ "shape":"Boolean", "documentation":"

Set to include embeddings data in the log delivery.

" + }, + "videoDataDeliveryEnabled":{ + "shape":"Boolean", + "documentation":"

Set to include video data in the log delivery.

" } }, "documentation":"

Configuration fields for invocation logging.

" @@ -5310,7 +5381,8 @@ "type":"string", "enum":[ "FINE_TUNING", - "CONTINUED_PRE_TRAINING" + "CONTINUED_PRE_TRAINING", + "DISTILLATION" ] }, "ModelCustomizationHyperParameters":{ @@ -5629,7 +5701,7 @@ }, "status":{ "shape":"ModelInvocationJobStatus", - "documentation":"

The status of the batch inference job.

" + "documentation":"

The status of the batch inference job.

The following statuses are possible:

" }, "message":{ "shape":"Message", @@ -5657,7 +5729,7 @@ }, "vpcConfig":{ "shape":"VpcConfig", - "documentation":"

The configuration of the Virtual Private Cloud (VPC) for the data in the batch inference job. For more information, see Protect batch inference jobs using a VPC.

" + "documentation":"

The configuration of the Virtual Private Cloud (VPC) for the data in the batch inference job. For more information, see Protect batch inference jobs using a VPC.

" }, "timeoutDurationInHours":{ "shape":"ModelInvocationJobTimeoutDurationInHours", @@ -5902,6 +5974,69 @@ "max":1, "min":1 }, + "RequestMetadataBaseFilters":{ + "type":"structure", + "members":{ + "equals":{ + "shape":"RequestMetadataMap", + "documentation":"

Include results where the key equals the value.

" + }, + "notEquals":{ + "shape":"RequestMetadataMap", + "documentation":"

Include results where the key does not equal the value.

" + } + }, + "documentation":"

A mapping of a metadata key to a value that it should or should not equal.

" + }, + "RequestMetadataFilters":{ + "type":"structure", + "members":{ + "equals":{ + "shape":"RequestMetadataMap", + "documentation":"

Include results where the key equals the value.

" + }, + "notEquals":{ + "shape":"RequestMetadataMap", + "documentation":"

Include results where the key does not equal the value.

" + }, + "andAll":{ + "shape":"RequestMetadataFiltersList", + "documentation":"

Include results where all of the based filters match.

" + }, + "orAll":{ + "shape":"RequestMetadataFiltersList", + "documentation":"

Include results where any of the base filters match.

" + } + }, + "documentation":"

Rules for filtering invocation logs. A filter can be a mapping of a metadata key to a value that it should or should not equal (a base filter), or a list of base filters that are all applied with AND or OR logical operators

", + "union":true + }, + "RequestMetadataFiltersList":{ + "type":"list", + "member":{"shape":"RequestMetadataBaseFilters"}, + "max":16, + "min":1 + }, + "RequestMetadataMap":{ + "type":"map", + "key":{"shape":"RequestMetadataMapKeyString"}, + "value":{"shape":"RequestMetadataMapValueString"}, + "max":1, + "min":1, + "sensitive":true + }, + "RequestMetadataMapKeyString":{ + "type":"string", + "max":256, + "min":1, + "pattern":"[a-zA-Z0-9\\s._:/=+$@-]{1,256}" + }, + "RequestMetadataMapValueString":{ + "type":"string", + "max":256, + "min":0, + "pattern":"[a-zA-Z0-9\\s._:/=+$@-]{0,256}" + }, "ResourceNotFoundException":{ "type":"structure", "members":{ @@ -6265,7 +6400,26 @@ "type":"string", "max":1011, "min":20, - "pattern":".*(^[a-zA-Z0-9][a-zA-Z0-9\\-]*$)|(^arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:([0-9]{12}|)((:(fine-tuning-job|model-customization-job|custom-model)/[a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([a-z0-9-]{1,63}[.]){0,2}[a-z0-9-]{1,63}([:][a-z0-9-]{1,63}){0,2}(/[a-z0-9]{12})$)|(:guardrail/[a-z0-9]+$)|(:(inference-profile|application-inference-profile)/[a-zA-Z0-9-:.]+$)|(:(provisioned-model|model-invocation-job|model-evaluation-job|evaluation-job|model-import-job|imported-model)/[a-z0-9]{12}$))).*" + "pattern":".*(^[a-zA-Z0-9][a-zA-Z0-9\\-]*$)|(^arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:([0-9]{12}|)((:(fine-tuning-job|model-customization-job|custom-model)/[a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([a-z0-9-]{1,63}[.]){0,2}[a-z0-9-]{1,63}([:][a-z0-9-]{1,63}){0,2}(/[a-z0-9]{12})$)|(:guardrail/[a-z0-9]+$)|(:(inference-profile|application-inference-profile)/[a-zA-Z0-9-:.]+$)|(:(provisioned-model|model-invocation-job|model-evaluation-job|evaluation-job|model-import-job|imported-model|async-invoke)/[a-z0-9]{12}$))).*" + }, + "TeacherModelConfig":{ + "type":"structure", + "required":["teacherModelIdentifier"], + "members":{ + "teacherModelIdentifier":{ + "shape":"TeacherModelIdentifier", + "documentation":"

The identifier of the teacher model.

" + }, + "maxResponseLengthForInference":{ + "shape":"Integer", + "documentation":"

The maximum number of tokens requested when the customization job invokes the teacher model.

" + } + }, + "documentation":"

Details about a teacher model used for model customization.

" + }, + "TeacherModelIdentifier":{ + "type":"string", + "pattern":"arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}::foundation-model/[a-z0-9-]{1,63}[.]{1}([a-z0-9-]{1,63}[.]){0,2}[a-z0-9-]{1,63}([:][a-z0-9-]{1,63}){0,2}|([a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.]?[a-z0-9-]{1,63})([:][a-z0-9-]{1,63}){0,2})|(([0-9a-zA-Z][_-]?)+)" }, "Temperature":{ "type":"float", @@ -6341,11 +6495,14 @@ }, "TrainingDataConfig":{ "type":"structure", - "required":["s3Uri"], "members":{ "s3Uri":{ "shape":"S3Uri", "documentation":"

The S3 URI where the training data is stored.

" + }, + "invocationLogsConfig":{ + "shape":"InvocationLogsConfig", + "documentation":"

Settings for using invocation logs to customize a model.

" } }, "documentation":"

S3 Location of the training data.

" @@ -6491,6 +6648,7 @@ "members":{ } }, + "UsePromptResponse":{"type":"boolean"}, "ValidationDataConfig":{ "type":"structure", "required":["validators"], diff --git a/botocore/data/cloudwatch/2010-08-01/service-2.json b/botocore/data/cloudwatch/2010-08-01/service-2.json index 7184990455..baf31c5e0f 100644 --- a/botocore/data/cloudwatch/2010-08-01/service-2.json +++ b/botocore/data/cloudwatch/2010-08-01/service-2.json @@ -1582,11 +1582,11 @@ "members":{ "KeyAttributes":{ "shape":"EntityKeyAttributesMap", - "documentation":"

The attributes of the entity which identify the specific entity, as a list of key-value pairs. Entities with the same KeyAttributes are considered to be the same entity. For an entity to be valid, the KeyAttributes must exist and be formatted correctly.

There are five allowed attributes (key names): Type, ResourceType, Identifier, Name, and Environment.

For details about how to use the key attributes to specify an entity, see How to add related information to telemetry in the CloudWatch User Guide.

" + "documentation":"

The attributes of the entity which identify the specific entity, as a list of key-value pairs. Entities with the same KeyAttributes are considered to be the same entity. For an entity to be valid, the KeyAttributes must exist and be formatted correctly.

There are five allowed attributes (key names): Type, ResourceType, Identifier, Name, and Environment.

For details about how to use the key attributes to specify an entity, see How to add related information to telemetry in the CloudWatch User Guide.

" }, "Attributes":{ "shape":"EntityAttributesMap", - "documentation":"

Additional attributes of the entity that are not used to specify the identity of the entity. A list of key-value pairs.

For details about how to use the attributes, see How to add related information to telemetry in the CloudWatch User Guide.

" + "documentation":"

Additional attributes of the entity that are not used to specify the identity of the entity. A list of key-value pairs.

For details about how to use the attributes, see How to add related information to telemetry in the CloudWatch User Guide.

" } }, "documentation":"

An entity associated with metrics, to allow for finding related telemetry. An entity is typically a resource or service within your system. For example, metrics from an Amazon EC2 instance could be associated with that instance as the entity. Similarly, metrics from a service that you own could be associated with that service as the entity.

" @@ -3175,7 +3175,7 @@ }, "AlarmActions":{ "shape":"ResourceList", - "documentation":"

The actions to execute when this alarm transitions to the ALARM state from any other state. Each action is specified as an Amazon Resource Name (ARN).

Valid Values: ]

Amazon SNS actions:

arn:aws:sns:region:account-id:sns-topic-name

Lambda actions:

Systems Manager actions:

arn:aws:ssm:region:account-id:opsitem:severity

" + "documentation":"

The actions to execute when this alarm transitions to the ALARM state from any other state. Each action is specified as an Amazon Resource Name (ARN).

Valid Values: ]

Amazon SNS actions:

arn:aws:sns:region:account-id:sns-topic-name

Lambda actions:

Systems Manager actions:

arn:aws:ssm:region:account-id:opsitem:severity

Start a Amazon Q Developer operational investigation

arn:aws:aiops:region:account-id:investigation-group:ingestigation-group-id

" }, "AlarmDescription":{ "shape":"AlarmDescription", @@ -3316,7 +3316,7 @@ }, "AlarmActions":{ "shape":"ResourceList", - "documentation":"

The actions to execute when this alarm transitions to the ALARM state from any other state. Each action is specified as an Amazon Resource Name (ARN). Valid values:

EC2 actions:

Autoscaling action:

Lambda actions:

SNS notification action:

SSM integration actions:

" + "documentation":"

The actions to execute when this alarm transitions to the ALARM state from any other state. Each action is specified as an Amazon Resource Name (ARN). Valid values:

EC2 actions:

Autoscaling action:

Lambda actions:

SNS notification action:

SSM integration actions:

Start a Amazon Q Developer operational investigation

arn:aws:aiops:region:account-id:investigation-group:ingestigation-group-id

" }, "InsufficientDataActions":{ "shape":"ResourceList", diff --git a/botocore/data/datazone/2018-05-10/paginators-1.json b/botocore/data/datazone/2018-05-10/paginators-1.json index 7b8bc81c41..5d3e9f8a87 100644 --- a/botocore/data/datazone/2018-05-10/paginators-1.json +++ b/botocore/data/datazone/2018-05-10/paginators-1.json @@ -185,6 +185,30 @@ "output_token": "nextToken", "limit_key": "maxResults", "result_key": "items" + }, + "ListConnections": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "items" + }, + "ListJobRuns": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "items" + }, + "ListLineageEvents": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "items" + }, + "ListProjectProfiles": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "items" } } } diff --git a/botocore/data/datazone/2018-05-10/service-2.json b/botocore/data/datazone/2018-05-10/service-2.json index 461a935b90..19585b79aa 100644 --- a/botocore/data/datazone/2018-05-10/service-2.json +++ b/botocore/data/datazone/2018-05-10/service-2.json @@ -243,6 +243,28 @@ ], "documentation":"

Creates a custom asset type.

" }, + "CreateConnection":{ + "name":"CreateConnection", + "http":{ + "method":"POST", + "requestUri":"/v2/domains/{domainIdentifier}/connections", + "responseCode":201 + }, + "input":{"shape":"CreateConnectionInput"}, + "output":{"shape":"CreateConnectionOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

Creates a new connection. In Amazon DataZone, a connection enables you to connect your resources (domains, projects, and environments) to external resources and services.

", + "idempotent":true + }, "CreateDataProduct":{ "name":"CreateDataProduct", "http":{ @@ -556,6 +578,27 @@ ], "documentation":"

Creates a project membership in Amazon DataZone.

" }, + "CreateProjectProfile":{ + "name":"CreateProjectProfile", + "http":{ + "method":"POST", + "requestUri":"/v2/domains/{domainIdentifier}/project-profiles", + "responseCode":201 + }, + "input":{"shape":"CreateProjectProfileInput"}, + "output":{"shape":"CreateProjectProfileOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

Creates a project profile.

" + }, "CreateRule":{ "name":"CreateRule", "http":{ @@ -719,6 +762,26 @@ ], "documentation":"

Deletes an asset type in Amazon DataZone.

" }, + "DeleteConnection":{ + "name":"DeleteConnection", + "http":{ + "method":"DELETE", + "requestUri":"/v2/domains/{domainIdentifier}/connections/{identifier}", + "responseCode":202 + }, + "input":{"shape":"DeleteConnectionInput"}, + "output":{"shape":"DeleteConnectionOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

Deletes and connection. In Amazon DataZone, a connection enables you to connect your resources (domains, projects, and environments) to external resources and services.

", + "idempotent":true + }, "DeleteDataProduct":{ "name":"DeleteDataProduct", "http":{ @@ -1005,6 +1068,26 @@ "documentation":"

Deletes project membership in Amazon DataZone.

", "idempotent":true }, + "DeleteProjectProfile":{ + "name":"DeleteProjectProfile", + "http":{ + "method":"DELETE", + "requestUri":"/v2/domains/{domainIdentifier}/project-profiles/{identifier}", + "responseCode":204 + }, + "input":{"shape":"DeleteProjectProfileInput"}, + "output":{"shape":"DeleteProjectProfileOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

Deletes a project profile.

", + "idempotent":true + }, "DeleteRule":{ "name":"DeleteRule", "http":{ @@ -1181,6 +1264,25 @@ ], "documentation":"

Gets an Amazon DataZone asset type.

" }, + "GetConnection":{ + "name":"GetConnection", + "http":{ + "method":"GET", + "requestUri":"/v2/domains/{domainIdentifier}/connections/{identifier}", + "responseCode":200 + }, + "input":{"shape":"GetConnectionInput"}, + "output":{"shape":"GetConnectionOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

Gets a connection. In Amazon DataZone, a connection enables you to connect your resources (domains, projects, and environments) to external resources and services.

" + }, "GetDataProduct":{ "name":"GetDataProduct", "http":{ @@ -1491,6 +1593,44 @@ ], "documentation":"

Gets the data portal URL for the specified Amazon DataZone domain.

" }, + "GetJobRun":{ + "name":"GetJobRun", + "http":{ + "method":"GET", + "requestUri":"/v2/domains/{domainIdentifier}/jobRuns/{identifier}", + "responseCode":200 + }, + "input":{"shape":"GetJobRunInput"}, + "output":{"shape":"GetJobRunOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

The details of the job run.

" + }, + "GetLineageEvent":{ + "name":"GetLineageEvent", + "http":{ + "method":"GET", + "requestUri":"/v2/domains/{domainIdentifier}/lineage/events/{identifier}", + "responseCode":200 + }, + "input":{"shape":"GetLineageEventInput"}, + "output":{"shape":"GetLineageEventOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

Describes the lineage event.

" + }, "GetLineageNode":{ "name":"GetLineageNode", "http":{ @@ -1567,6 +1707,25 @@ ], "documentation":"

Gets a project in Amazon DataZone.

" }, + "GetProjectProfile":{ + "name":"GetProjectProfile", + "http":{ + "method":"GET", + "requestUri":"/v2/domains/{domainIdentifier}/project-profiles/{identifier}", + "responseCode":200 + }, + "input":{"shape":"GetProjectProfileInput"}, + "output":{"shape":"GetProjectProfileOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

The details of the project profile.

" + }, "GetRule":{ "name":"GetRule", "http":{ @@ -1738,6 +1897,24 @@ ], "documentation":"

Lists the revisions for the asset.

" }, + "ListConnections":{ + "name":"ListConnections", + "http":{ + "method":"GET", + "requestUri":"/v2/domains/{domainIdentifier}/connections", + "responseCode":200 + }, + "input":{"shape":"ListConnectionsInput"}, + "output":{"shape":"ListConnectionsOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

Lists connections. In Amazon DataZone, a connection enables you to connect your resources (domains, projects, and environments) to external resources and services.

" + }, "ListDataProductRevisions":{ "name":"ListDataProductRevisions", "http":{ @@ -1969,6 +2146,43 @@ ], "documentation":"

Lists Amazon DataZone environments.

" }, + "ListJobRuns":{ + "name":"ListJobRuns", + "http":{ + "method":"GET", + "requestUri":"/v2/domains/{domainIdentifier}/jobs/{jobIdentifier}/runs", + "responseCode":200 + }, + "input":{"shape":"ListJobRunsInput"}, + "output":{"shape":"ListJobRunsOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

Lists job runs.

" + }, + "ListLineageEvents":{ + "name":"ListLineageEvents", + "http":{ + "method":"GET", + "requestUri":"/v2/domains/{domainIdentifier}/lineage/events", + "responseCode":200 + }, + "input":{"shape":"ListLineageEventsInput"}, + "output":{"shape":"ListLineageEventsOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

Lists lineage events.

" + }, "ListLineageNodeHistory":{ "name":"ListLineageNodeHistory", "http":{ @@ -2063,6 +2277,24 @@ ], "documentation":"

Lists all members of the specified project.

" }, + "ListProjectProfiles":{ + "name":"ListProjectProfiles", + "http":{ + "method":"GET", + "requestUri":"/v2/domains/{domainIdentifier}/project-profiles", + "responseCode":200 + }, + "input":{"shape":"ListProjectProfilesInput"}, + "output":{"shape":"ListProjectProfilesOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

Lists project profiles.

" + }, "ListProjects":{ "name":"ListProjects", "http":{ @@ -2576,6 +2808,28 @@ "documentation":"

Updates an asset filter.

", "idempotent":true }, + "UpdateConnection":{ + "name":"UpdateConnection", + "http":{ + "method":"PATCH", + "requestUri":"/v2/domains/{domainIdentifier}/connections/{identifier}", + "responseCode":200 + }, + "input":{"shape":"UpdateConnectionInput"}, + "output":{"shape":"UpdateConnectionOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

Updates a connection. In Amazon DataZone, a connection enables you to connect your resources (domains, projects, and environments) to external resources and services.

", + "idempotent":true + }, "UpdateDataSource":{ "name":"UpdateDataSource", "http":{ @@ -2785,6 +3039,28 @@ "documentation":"

Updates the specified project in Amazon DataZone.

", "idempotent":true }, + "UpdateProjectProfile":{ + "name":"UpdateProjectProfile", + "http":{ + "method":"PATCH", + "requestUri":"/v2/domains/{domainIdentifier}/project-profiles/{identifier}", + "responseCode":200 + }, + "input":{"shape":"UpdateProjectProfileInput"}, + "output":{"shape":"UpdateProjectProfileOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

Updates a project profile.

", + "idempotent":true + }, "UpdateRule":{ "name":"UpdateRule", "http":{ @@ -3803,6 +4079,51 @@ "members":{ } }, + "AthenaPropertiesInput":{ + "type":"structure", + "members":{ + "workgroupName":{ + "shape":"AthenaPropertiesInputWorkgroupNameString", + "documentation":"

The Amazon Athena workgroup name of a connection.

" + } + }, + "documentation":"

The Amazon Athena properties of a connection.

" + }, + "AthenaPropertiesInputWorkgroupNameString":{ + "type":"string", + "max":64, + "min":0 + }, + "AthenaPropertiesOutput":{ + "type":"structure", + "members":{ + "workgroupName":{ + "shape":"AthenaPropertiesOutputWorkgroupNameString", + "documentation":"

The Amazon Athena workgroup name of a connection.

" + } + }, + "documentation":"

The Amazon Athena properties of a connection.

" + }, + "AthenaPropertiesOutputWorkgroupNameString":{ + "type":"string", + "max":64, + "min":0 + }, + "AthenaPropertiesPatch":{ + "type":"structure", + "members":{ + "workgroupName":{ + "shape":"AthenaPropertiesPatchWorkgroupNameString", + "documentation":"

The Amazon Athena workgroup name of a connection.

" + } + }, + "documentation":"

The Amazon Athena properties patch of a connection.

" + }, + "AthenaPropertiesPatchWorkgroupNameString":{ + "type":"string", + "max":64, + "min":0 + }, "Attribute":{ "type":"string", "max":128, @@ -3815,34 +4136,212 @@ "DISABLED" ] }, - "AuthorizedPrincipalIdentifier":{ - "type":"string", - "pattern":"^[a-zA-Z0-9:/._-]*$" + "AuthenticationConfiguration":{ + "type":"structure", + "members":{ + "authenticationType":{ + "shape":"AuthenticationType", + "documentation":"

The authentication type of a connection.

" + }, + "oAuth2Properties":{ + "shape":"OAuth2Properties", + "documentation":"

The oAuth2 properties of a connection.

" + }, + "secretArn":{ + "shape":"AuthenticationConfigurationSecretArnString", + "documentation":"

The secret ARN of a connection.

" + } + }, + "documentation":"

The authentication configuration of a connection.

" }, - "AuthorizedPrincipalIdentifiers":{ - "type":"list", - "member":{"shape":"AuthorizedPrincipalIdentifier"}, - "max":10, - "min":1 + "AuthenticationConfigurationInput":{ + "type":"structure", + "members":{ + "authenticationType":{ + "shape":"AuthenticationType", + "documentation":"

The authentication type of a connection.

" + }, + "basicAuthenticationCredentials":{ + "shape":"BasicAuthenticationCredentials", + "documentation":"

The basic authentication credentials of a connection.

" + }, + "customAuthenticationCredentials":{ + "shape":"CredentialMap", + "documentation":"

The custom authentication credentials of a connection.

" + }, + "kmsKeyArn":{ + "shape":"AuthenticationConfigurationInputKmsKeyArnString", + "documentation":"

The KMS key ARN of a connection.

" + }, + "oAuth2Properties":{ + "shape":"OAuth2Properties", + "documentation":"

The oAuth2 properties of a connection.

" + }, + "secretArn":{ + "shape":"AuthenticationConfigurationInputSecretArnString", + "documentation":"

The secret ARN of a connection.

" + } + }, + "documentation":"

The authentication configuration of a connection.

" }, - "AwsAccountId":{ + "AuthenticationConfigurationInputKmsKeyArnString":{ "type":"string", - "pattern":"^\\d{12}$" + "pattern":"^$|arn:aws[a-z0-9-]*:kms:.*$" }, - "AwsConsoleLinkParameters":{ + "AuthenticationConfigurationInputSecretArnString":{ + "type":"string", + "pattern":"^arn:aws(-(cn|us-gov|iso(-[bef])?))?:secretsmanager:.*$" + }, + "AuthenticationConfigurationPatch":{ "type":"structure", "members":{ - "uri":{ - "shape":"String", - "documentation":"

The URI of the console link specified as part of the environment action.

" + "basicAuthenticationCredentials":{ + "shape":"BasicAuthenticationCredentials", + "documentation":"

The basic authentication credentials of a connection.

" + }, + "secretArn":{ + "shape":"AuthenticationConfigurationPatchSecretArnString", + "documentation":"

The secret ARN of a connection.

" } }, - "documentation":"

The parameters of the console link specified as part of the environment action.

" + "documentation":"

The authentication configuration patch of a connection.

" + }, + "AuthenticationConfigurationPatchSecretArnString":{ + "type":"string", + "pattern":"^arn:aws(-(cn|us-gov|iso(-[bef])?))?:secretsmanager:.*$" + }, + "AuthenticationConfigurationSecretArnString":{ + "type":"string", + "pattern":"^arn:aws(-(cn|us-gov|iso(-[bef])?))?:secretsmanager:.*$" + }, + "AuthenticationType":{ + "type":"string", + "enum":[ + "BASIC", + "OAUTH2", + "CUSTOM" + ] + }, + "AuthorizationCodeProperties":{ + "type":"structure", + "members":{ + "authorizationCode":{ + "shape":"AuthorizationCodePropertiesAuthorizationCodeString", + "documentation":"

The authorization code of a connection.

" + }, + "redirectUri":{ + "shape":"AuthorizationCodePropertiesRedirectUriString", + "documentation":"

The redirect URI of a connection.

" + } + }, + "documentation":"

The authorization code properties of a connection.

" + }, + "AuthorizationCodePropertiesAuthorizationCodeString":{ + "type":"string", + "max":4096, + "min":1 + }, + "AuthorizationCodePropertiesRedirectUriString":{ + "type":"string", + "max":512, + "min":0 + }, + "AuthorizedPrincipalIdentifier":{ + "type":"string", + "pattern":"^[a-zA-Z0-9:/._-]*$" + }, + "AuthorizedPrincipalIdentifiers":{ + "type":"list", + "member":{"shape":"AuthorizedPrincipalIdentifier"}, + "max":10, + "min":1 + }, + "AwsAccount":{ + "type":"structure", + "members":{ + "awsAccountId":{ + "shape":"AwsAccountId", + "documentation":"

The account ID of a project.

" + }, + "awsAccountIdPath":{ + "shape":"ParameterStorePath", + "documentation":"

The account ID path of a project.

" + } + }, + "documentation":"

The account ID of a project.

", + "union":true + }, + "AwsAccountId":{ + "type":"string", + "pattern":"^\\d{12}$" + }, + "AwsConsoleLinkParameters":{ + "type":"structure", + "members":{ + "uri":{ + "shape":"String", + "documentation":"

The URI of the console link specified as part of the environment action.

" + } + }, + "documentation":"

The parameters of the console link specified as part of the environment action.

" + }, + "AwsLocation":{ + "type":"structure", + "members":{ + "accessRole":{ + "shape":"AwsLocationAccessRoleString", + "documentation":"

The access role of a connection.

" + }, + "awsAccountId":{ + "shape":"AwsAccountId", + "documentation":"

The account ID of a connection.

" + }, + "awsRegion":{ + "shape":"AwsRegion", + "documentation":"

The Region of a connection.

" + }, + "iamConnectionId":{ + "shape":"ConnectionId", + "documentation":"

The IAM connection ID of a connection.

" + } + }, + "documentation":"

The location of a project.

" + }, + "AwsLocationAccessRoleString":{ + "type":"string", + "pattern":"^arn:aws[^:]*:iam::\\d{12}:(role|role/service-role)/[\\w+=,.@-]*$" }, "AwsRegion":{ "type":"string", "pattern":"^[a-z]{2}-[a-z]{4,10}-\\d$" }, + "BasicAuthenticationCredentials":{ + "type":"structure", + "members":{ + "password":{ + "shape":"BasicAuthenticationCredentialsPasswordString", + "documentation":"

The password for a connection.

" + }, + "userName":{ + "shape":"BasicAuthenticationCredentialsUserNameString", + "documentation":"

The user name for the connecion.

" + } + }, + "documentation":"

The basic authentication credentials of a connection.

", + "sensitive":true + }, + "BasicAuthenticationCredentialsPasswordString":{ + "type":"string", + "max":512, + "min":0, + "pattern":"^.*$" + }, + "BasicAuthenticationCredentialsUserNameString":{ + "type":"string", + "max":512, + "min":0, + "pattern":"^\\S+$" + }, "Boolean":{ "type":"boolean", "box":true @@ -4001,6 +4500,20 @@ "type":"list", "member":{"shape":"String"} }, + "ComputeEnvironments":{ + "type":"string", + "enum":[ + "SPARK", + "ATHENA", + "PYTHON" + ] + }, + "ComputeEnvironmentsList":{ + "type":"list", + "member":{"shape":"ComputeEnvironments"}, + "max":50, + "min":1 + }, "ConfigurableActionParameter":{ "type":"structure", "members":{ @@ -4061,6 +4574,237 @@ }, "exception":true }, + "ConnectionCredentials":{ + "type":"structure", + "members":{ + "accessKeyId":{ + "shape":"String", + "documentation":"

The access key ID of a connection.

" + }, + "expiration":{ + "shape":"SyntheticTimestamp_date_time", + "documentation":"

The expiration of the connection credentials.

" + }, + "secretAccessKey":{ + "shape":"String", + "documentation":"

The secret access key of a connection.

" + }, + "sessionToken":{ + "shape":"String", + "documentation":"

The session token of a connection credentials.

" + } + }, + "documentation":"

The credentials of a connection.

", + "sensitive":true + }, + "ConnectionId":{ + "type":"string", + "max":128, + "min":0 + }, + "ConnectionName":{ + "type":"string", + "max":64, + "min":0 + }, + "ConnectionProperties":{ + "type":"map", + "key":{"shape":"String"}, + "value":{"shape":"ConnectionPropertiesValueString"} + }, + "ConnectionPropertiesInput":{ + "type":"structure", + "members":{ + "athenaProperties":{ + "shape":"AthenaPropertiesInput", + "documentation":"

The Amazon Athena properties of a connection.

" + }, + "glueProperties":{ + "shape":"GluePropertiesInput", + "documentation":"

The Amazon Web Services Glue properties of a connection.

" + }, + "hyperPodProperties":{ + "shape":"HyperPodPropertiesInput", + "documentation":"

The hyper pod properties of a connection.

" + }, + "iamProperties":{ + "shape":"IamPropertiesInput", + "documentation":"

The IAM properties of a connection.

" + }, + "redshiftProperties":{ + "shape":"RedshiftPropertiesInput", + "documentation":"

The Amazon Redshift properties of a connection.

" + }, + "sparkEmrProperties":{ + "shape":"SparkEmrPropertiesInput", + "documentation":"

The Spark EMR properties of a connection.

" + }, + "sparkGlueProperties":{ + "shape":"SparkGluePropertiesInput", + "documentation":"

The Spark Amazon Web Services Glue properties of a connection.

" + } + }, + "documentation":"

The properties of a connection.

", + "union":true + }, + "ConnectionPropertiesOutput":{ + "type":"structure", + "members":{ + "athenaProperties":{ + "shape":"AthenaPropertiesOutput", + "documentation":"

The Amazon Athena properties of a connection.

" + }, + "glueProperties":{ + "shape":"GluePropertiesOutput", + "documentation":"

The Amazon Web Services Glue properties of a connection.

" + }, + "hyperPodProperties":{ + "shape":"HyperPodPropertiesOutput", + "documentation":"

The hyper pod properties of a connection.

" + }, + "iamProperties":{ + "shape":"IamPropertiesOutput", + "documentation":"

The IAM properties of a connection.

" + }, + "redshiftProperties":{ + "shape":"RedshiftPropertiesOutput", + "documentation":"

The Amazon Redshift properties of a connection.

" + }, + "sparkEmrProperties":{ + "shape":"SparkEmrPropertiesOutput", + "documentation":"

The Spark EMR properties of a connection.

" + }, + "sparkGlueProperties":{ + "shape":"SparkGluePropertiesOutput", + "documentation":"

The Spark Amazon Web Services Glue properties of a connection.

" + } + }, + "documentation":"

The properties of a connection.

", + "union":true + }, + "ConnectionPropertiesPatch":{ + "type":"structure", + "members":{ + "athenaProperties":{ + "shape":"AthenaPropertiesPatch", + "documentation":"

The Amazon Athena properties of a connection properties patch.

" + }, + "glueProperties":{ + "shape":"GluePropertiesPatch", + "documentation":"

The Amazon Web Services Glue properties of a connection properties patch.

" + }, + "iamProperties":{ + "shape":"IamPropertiesPatch", + "documentation":"

The IAM properties of a connection properties patch.

" + }, + "redshiftProperties":{ + "shape":"RedshiftPropertiesPatch", + "documentation":"

The Amazon Redshift properties of a connection properties patch.

" + }, + "sparkEmrProperties":{ + "shape":"SparkEmrPropertiesPatch", + "documentation":"

The Spark EMR properties of a connection properties patch.

" + } + }, + "documentation":"

The connection properties patch.

", + "union":true + }, + "ConnectionPropertiesValueString":{ + "type":"string", + "max":2048, + "min":1 + }, + "ConnectionStatus":{ + "type":"string", + "enum":[ + "CREATING", + "CREATE_FAILED", + "DELETING", + "DELETE_FAILED", + "READY", + "UPDATING", + "UPDATE_FAILED", + "DELETED" + ] + }, + "ConnectionSummaries":{ + "type":"list", + "member":{"shape":"ConnectionSummary"} + }, + "ConnectionSummary":{ + "type":"structure", + "required":[ + "connectionId", + "domainId", + "domainUnitId", + "name", + "physicalEndpoints", + "type" + ], + "members":{ + "connectionId":{ + "shape":"ConnectionId", + "documentation":"

The ID of a connection.

" + }, + "domainId":{ + "shape":"DomainId", + "documentation":"

The domain ID of a connection.

" + }, + "domainUnitId":{ + "shape":"DomainUnitId", + "documentation":"

The domain unit ID of a connection.

" + }, + "environmentId":{ + "shape":"EnvironmentId", + "documentation":"

The environment ID of a connection.

" + }, + "name":{ + "shape":"ConnectionName", + "documentation":"

The connection name.

" + }, + "physicalEndpoints":{ + "shape":"PhysicalEndpoints", + "documentation":"

The connection physical endpoints.

" + }, + "projectId":{ + "shape":"ProjectId", + "documentation":"

The connection project ID.

" + }, + "props":{ + "shape":"ConnectionPropertiesOutput", + "documentation":"

The connection props.

" + }, + "type":{ + "shape":"ConnectionType", + "documentation":"

The connection type.

" + } + }, + "documentation":"

The summary of a connection.

" + }, + "ConnectionType":{ + "type":"string", + "enum":[ + "ATHENA", + "BIGQUERY", + "DATABRICKS", + "DOCUMENTDB", + "DYNAMODB", + "HYPERPOD", + "IAM", + "MYSQL", + "OPENSEARCH", + "ORACLE", + "POSTGRESQL", + "REDSHIFT", + "SAPHANA", + "SNOWFLAKE", + "SPARK", + "SQLSERVER", + "TERADATA", + "VERTICA", + "WORKFLOWS_MWAA" + ] + }, "CreateAssetFilterInput":{ "type":"structure", "required":[ @@ -4550,81 +5294,181 @@ }, "documentation":"

The details of the policy grant.

" }, - "CreateDataProductInput":{ + "CreateConnectionInput":{ "type":"structure", "required":[ "domainIdentifier", - "name", - "owningProjectIdentifier" + "environmentIdentifier", + "name" ], "members":{ + "awsLocation":{ + "shape":"AwsLocation", + "documentation":"

The location where the connection is created.

" + }, "clientToken":{ - "shape":"ClientToken", + "shape":"String", "documentation":"

A unique, case-sensitive identifier that is provided to ensure the idempotency of the request.

", "idempotencyToken":true }, "description":{ - "shape":"DataProductDescription", - "documentation":"

The description of the data product.

" + "shape":"CreateConnectionInputDescriptionString", + "documentation":"

A connection description.

" }, "domainIdentifier":{ "shape":"DomainId", - "documentation":"

The ID of the domain where the data product is created.

", + "documentation":"

The ID of the domain where the connection is created.

", "location":"uri", "locationName":"domainIdentifier" }, - "formsInput":{ - "shape":"FormInputList", - "documentation":"

The metadata forms of the data product.

" - }, - "glossaryTerms":{ - "shape":"GlossaryTerms", - "documentation":"

The glossary terms of the data product.

" - }, - "items":{ - "shape":"DataProductItems", - "documentation":"

The data assets of the data product.

" + "environmentIdentifier":{ + "shape":"EnvironmentId", + "documentation":"

The ID of the environment where the connection is created.

" }, "name":{ - "shape":"DataProductName", - "documentation":"

The name of the data product.

" + "shape":"ConnectionName", + "documentation":"

The connection name.

" }, - "owningProjectIdentifier":{ - "shape":"ProjectId", - "documentation":"

The ID of the owning project of the data product.

" + "props":{ + "shape":"ConnectionPropertiesInput", + "documentation":"

The connection props.

" } } }, - "CreateDataProductOutput":{ + "CreateConnectionInputDescriptionString":{ + "type":"string", + "max":128, + "min":0, + "sensitive":true + }, + "CreateConnectionOutput":{ "type":"structure", "required":[ + "connectionId", "domainId", - "id", + "domainUnitId", "name", - "owningProjectId", - "revision", - "status" + "physicalEndpoints", + "type" ], "members":{ - "createdAt":{ - "shape":"CreatedAt", - "documentation":"

The timestamp at which the data product was created.

" - }, - "createdBy":{ - "shape":"CreatedBy", - "documentation":"

The user who created the data product.

" + "connectionId":{ + "shape":"ConnectionId", + "documentation":"

The ID of the connection.

" }, "description":{ - "shape":"DataProductDescription", - "documentation":"

The description of the data product.

" + "shape":"Description", + "documentation":"

The connection description.

" }, "domainId":{ "shape":"DomainId", - "documentation":"

The ID of the domain where the data product lives.

" - }, - "firstRevisionCreatedAt":{ - "shape":"CreatedAt", - "documentation":"

The timestamp at which the first revision of the data product was created.

" + "documentation":"

The ID of the domain where the connection is created.

" + }, + "domainUnitId":{ + "shape":"DomainUnitId", + "documentation":"

The ID of the domain unit where the connection is created.

" + }, + "environmentId":{ + "shape":"EnvironmentId", + "documentation":"

The ID of the environment where the connection is created.

" + }, + "name":{ + "shape":"ConnectionName", + "documentation":"

The connection name.

" + }, + "physicalEndpoints":{ + "shape":"PhysicalEndpoints", + "documentation":"

The physical endpoints of the connection.

" + }, + "projectId":{ + "shape":"ProjectId", + "documentation":"

The ID of the project where the connection is created.

" + }, + "props":{ + "shape":"ConnectionPropertiesOutput", + "documentation":"

The connection props.

" + }, + "type":{ + "shape":"ConnectionType", + "documentation":"

The connection type.

" + } + } + }, + "CreateDataProductInput":{ + "type":"structure", + "required":[ + "domainIdentifier", + "name", + "owningProjectIdentifier" + ], + "members":{ + "clientToken":{ + "shape":"ClientToken", + "documentation":"

A unique, case-sensitive identifier that is provided to ensure the idempotency of the request.

", + "idempotencyToken":true + }, + "description":{ + "shape":"DataProductDescription", + "documentation":"

The description of the data product.

" + }, + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

The ID of the domain where the data product is created.

", + "location":"uri", + "locationName":"domainIdentifier" + }, + "formsInput":{ + "shape":"FormInputList", + "documentation":"

The metadata forms of the data product.

" + }, + "glossaryTerms":{ + "shape":"GlossaryTerms", + "documentation":"

The glossary terms of the data product.

" + }, + "items":{ + "shape":"DataProductItems", + "documentation":"

The data assets of the data product.

" + }, + "name":{ + "shape":"DataProductName", + "documentation":"

The name of the data product.

" + }, + "owningProjectIdentifier":{ + "shape":"ProjectId", + "documentation":"

The ID of the owning project of the data product.

" + } + } + }, + "CreateDataProductOutput":{ + "type":"structure", + "required":[ + "domainId", + "id", + "name", + "owningProjectId", + "revision", + "status" + ], + "members":{ + "createdAt":{ + "shape":"CreatedAt", + "documentation":"

The timestamp at which the data product was created.

" + }, + "createdBy":{ + "shape":"CreatedBy", + "documentation":"

The user who created the data product.

" + }, + "description":{ + "shape":"DataProductDescription", + "documentation":"

The description of the data product.

" + }, + "domainId":{ + "shape":"DomainId", + "documentation":"

The ID of the domain where the data product lives.

" + }, + "firstRevisionCreatedAt":{ + "shape":"CreatedAt", + "documentation":"

The timestamp at which the first revision of the data product was created.

" }, "firstRevisionCreatedBy":{ "shape":"CreatedBy", @@ -4784,7 +5628,6 @@ "type":"structure", "required":[ "domainIdentifier", - "environmentIdentifier", "name", "projectIdentifier", "type" @@ -4803,6 +5646,10 @@ "shape":"DataSourceConfigurationInput", "documentation":"

Specifies the configuration of the data source. It can be set to either glueRunConfiguration or redshiftRunConfiguration.

" }, + "connectionIdentifier":{ + "shape":"CreateDataSourceInputConnectionIdentifierString", + "documentation":"

The ID of the connection.

" + }, "description":{ "shape":"Description", "documentation":"

The description of the data source.

" @@ -4818,7 +5665,7 @@ "documentation":"

Specifies whether the data source is enabled.

" }, "environmentIdentifier":{ - "shape":"String", + "shape":"CreateDataSourceInputEnvironmentIdentifierString", "documentation":"

The unique identifier of the Amazon DataZone environment to which the data source publishes assets.

" }, "name":{ @@ -4826,7 +5673,7 @@ "documentation":"

The name of the data source.

" }, "projectIdentifier":{ - "shape":"String", + "shape":"CreateDataSourceInputProjectIdentifierString", "documentation":"

The identifier of the Amazon DataZone project in which you want to add this data source.

" }, "publishOnImport":{ @@ -4847,11 +5694,22 @@ } } }, + "CreateDataSourceInputConnectionIdentifierString":{ + "type":"string", + "pattern":"^[a-zA-Z0-9_-]{1,36}$" + }, + "CreateDataSourceInputEnvironmentIdentifierString":{ + "type":"string", + "pattern":"^[a-zA-Z0-9_-]{1,36}$" + }, + "CreateDataSourceInputProjectIdentifierString":{ + "type":"string", + "pattern":"^[a-zA-Z0-9_-]{1,36}$" + }, "CreateDataSourceOutput":{ "type":"structure", "required":[ "domainId", - "environmentId", "id", "name", "projectId" @@ -4865,6 +5723,10 @@ "shape":"DataSourceConfigurationOutput", "documentation":"

Specifies the configuration of the data source. It can be set to either glueRunConfiguration or redshiftRunConfiguration.

" }, + "connectionId":{ + "shape":"String", + "documentation":"

The ID of the connection.

" + }, "createdAt":{ "shape":"DateTime", "documentation":"

The timestamp of when the data source was created.

" @@ -4959,6 +5821,10 @@ "shape":"RoleArn", "documentation":"

The domain execution role that is created when an Amazon DataZone domain is created. The domain execution role is created in the Amazon Web Services account that houses the Amazon DataZone domain.

" }, + "domainVersion":{ + "shape":"DomainVersion", + "documentation":"

The version of the domain that is created.

" + }, "kmsKeyIdentifier":{ "shape":"KmsKeyArn", "documentation":"

The identifier of the Amazon Web Services Key Management Service (KMS) key that is used to encrypt the Amazon DataZone domain, metadata, and reporting data.

" @@ -4967,6 +5833,10 @@ "shape":"String", "documentation":"

The name of the Amazon DataZone domain.

" }, + "serviceRole":{ + "shape":"RoleArn", + "documentation":"

The service role of the domain that is created.

" + }, "singleSignOn":{ "shape":"SingleSignOn", "documentation":"

The single-sign on configuration of the Amazon DataZone domain.

" @@ -4993,6 +5863,10 @@ "shape":"RoleArn", "documentation":"

The domain execution role that is created when an Amazon DataZone domain is created. The domain execution role is created in the Amazon Web Services account that houses the Amazon DataZone domain.

" }, + "domainVersion":{ + "shape":"DomainVersion", + "documentation":"

The version of the domain that is created.

" + }, "id":{ "shape":"DomainId", "documentation":"

The identifier of the Amazon DataZone domain.

" @@ -5013,6 +5887,10 @@ "shape":"DomainUnitId", "documentation":"

The ID of the root domain unit.

" }, + "serviceRole":{ + "shape":"RoleArn", + "documentation":"

Te service role of the domain that is created.

" + }, "singleSignOn":{ "shape":"SingleSignOn", "documentation":"

The single-sign on configuration of the Amazon DataZone domain.

" @@ -5198,6 +6076,10 @@ "projectIdentifier" ], "members":{ + "deploymentOrder":{ + "shape":"Integer", + "documentation":"

The deployment order of the environment.

" + }, "description":{ "shape":"String", "documentation":"

The description of the Amazon DataZone environment.

" @@ -5220,6 +6102,10 @@ "shape":"String", "documentation":"

The ID of the blueprint with which the environment is being created.

" }, + "environmentConfigurationId":{ + "shape":"String", + "documentation":"

The configuration ID of the environment.

" + }, "environmentProfileIdentifier":{ "shape":"EnvironmentProfileId", "documentation":"

The identifier of the environment profile that is used to create this Amazon DataZone environment.

" @@ -5814,6 +6700,20 @@ } } }, + "CreateProjectFromProjectProfilePolicyGrantDetail":{ + "type":"structure", + "members":{ + "includeChildDomainUnits":{ + "shape":"Boolean", + "documentation":"

Specifies whether to include child domain units when creating a project from project profile policy grant details

" + }, + "projectProfiles":{ + "shape":"ProjectProfileList", + "documentation":"

Specifies project profiles when creating a project from project profile policy grant details

" + } + }, + "documentation":"

Specifies whether to create a project from project profile policy grant details.

" + }, "CreateProjectInput":{ "type":"structure", "required":[ @@ -5842,6 +6742,14 @@ "name":{ "shape":"ProjectName", "documentation":"

The name of the Amazon DataZone project.

" + }, + "projectProfileId":{ + "shape":"ProjectProfileId", + "documentation":"

The ID of the project profile.

" + }, + "userParameters":{ + "shape":"EnvironmentConfigurationUserParametersList", + "documentation":"

The user parameters of the project.

" } } }, @@ -5910,6 +6818,10 @@ "shape":"DomainUnitId", "documentation":"

The ID of the domain unit.

" }, + "environmentDeploymentDetails":{ + "shape":"EnvironmentDeploymentDetails", + "documentation":"

The environment deployment details.

" + }, "failureReasons":{ "shape":"FailureReasons", "documentation":"

Specifies the error message that is returned if the operation cannot be successfully completed.

" @@ -5930,9 +6842,17 @@ "shape":"ProjectName", "documentation":"

The name of the project.

" }, + "projectProfileId":{ + "shape":"ProjectProfileId", + "documentation":"

The project profile ID.

" + }, "projectStatus":{ "shape":"ProjectStatus", "documentation":"

The status of the Amazon DataZone project that was created.

" + }, + "userParameters":{ + "shape":"EnvironmentConfigurationUserParametersList", + "documentation":"

The user parameters of the project.

" } } }, @@ -5946,6 +6866,92 @@ }, "documentation":"

The details of the policy grant.

" }, + "CreateProjectProfileInput":{ + "type":"structure", + "required":[ + "domainIdentifier", + "name" + ], + "members":{ + "description":{ + "shape":"Description", + "documentation":"

A description of a project profile.

" + }, + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

A domain ID of the project profile.

", + "location":"uri", + "locationName":"domainIdentifier" + }, + "domainUnitIdentifier":{ + "shape":"DomainUnitId", + "documentation":"

A domain unit ID of the project profile.

" + }, + "environmentConfigurations":{ + "shape":"EnvironmentConfigurationsList", + "documentation":"

Environment configurations of the project profile.

" + }, + "name":{ + "shape":"ProjectProfileName", + "documentation":"

Project profile name.

" + }, + "status":{ + "shape":"Status", + "documentation":"

Project profile status.

" + } + } + }, + "CreateProjectProfileOutput":{ + "type":"structure", + "required":[ + "createdBy", + "domainId", + "id", + "name" + ], + "members":{ + "createdAt":{ + "shape":"SyntheticTimestamp_date_time", + "documentation":"

A timestamp at which a project profile is created.

" + }, + "createdBy":{ + "shape":"CreatedBy", + "documentation":"

A user who created a project profile.

" + }, + "description":{ + "shape":"Description", + "documentation":"

A project profile description.

" + }, + "domainId":{ + "shape":"DomainId", + "documentation":"

The ID of the domain where a project profile is created.

" + }, + "domainUnitId":{ + "shape":"DomainUnitId", + "documentation":"

The ID of the domain unit where a project profile is created.

" + }, + "environmentConfigurations":{ + "shape":"EnvironmentConfigurationsList", + "documentation":"

Environment configurations of a project profile.

" + }, + "id":{ + "shape":"ProjectProfileId", + "documentation":"

Project profile ID.

" + }, + "lastUpdatedAt":{ + "shape":"SyntheticTimestamp_date_time", + "documentation":"

A timestamp when a project profile was last updated.

" + }, + "name":{ + "shape":"ProjectProfileName", + "documentation":"

Project profile name.

" + }, + "status":{ + "shape":"Status", + "documentation":"

Project profile status.

" + } + } + }, "CreateRuleInput":{ "type":"structure", "required":[ @@ -6059,8 +7065,7 @@ "required":[ "domainIdentifier", "environmentIdentifier", - "grantedEntity", - "subscriptionTargetIdentifier" + "grantedEntity" ], "members":{ "assetTargetNames":{ @@ -6314,7 +7319,7 @@ "locationName":"environmentIdentifier" }, "manageAccessRole":{ - "shape":"String", + "shape":"IamRoleArn", "documentation":"

The manage access role that is used to create the subscription target.

" }, "name":{ @@ -6345,7 +7350,6 @@ "domainId", "environmentId", "id", - "manageAccessRole", "name", "projectId", "provider", @@ -6382,7 +7386,7 @@ "documentation":"

The ID of the subscription target.

" }, "manageAccessRole":{ - "shape":"String", + "shape":"IamRoleArn", "documentation":"

The manage access role with which the subscription target was created.

" }, "name":{ @@ -6467,11 +7471,27 @@ }, "CreatedAt":{"type":"timestamp"}, "CreatedBy":{"type":"string"}, + "CredentialMap":{ + "type":"map", + "key":{"shape":"CredentialMapKeyString"}, + "value":{"shape":"CredentialMapValueString"}, + "sensitive":true + }, + "CredentialMapKeyString":{ + "type":"string", + "max":128, + "min":1 + }, + "CredentialMapValueString":{ + "type":"string", + "max":2048, + "min":1 + }, "CronString":{ "type":"string", "max":256, "min":1, - "pattern":"cron\\((\\b[0-5]?[0-9]\\b) (\\b2[0-3]\\b|\\b[0-1]?[0-9]\\b) (.*){1,5} (.*){1,5} (.*){1,5} (.*){1,5}\\)" + "pattern":"cron\\((\\b[0-5]?[0-9]\\b) (\\b2[0-3]\\b|\\b[0-1]?[0-9]\\b) ([-?*,/\\dLW]){1,83} ([-*,/\\d]|[a-zA-Z]{3}){1,23} ([-?#*,/\\dL]|[a-zA-Z]{3}){1,13} ([^\\)]+)\\)" }, "CustomParameter":{ "type":"structure", @@ -6785,6 +7805,10 @@ "redshiftRunConfiguration":{ "shape":"RedshiftRunConfigurationInput", "documentation":"

The configuration of the Amazon Redshift data source.

" + }, + "sageMakerRunConfiguration":{ + "shape":"SageMakerRunConfigurationInput", + "documentation":"

The Amazon SageMaker run configuration.

" } }, "documentation":"

The configuration of the data source.

", @@ -6800,6 +7824,10 @@ "redshiftRunConfiguration":{ "shape":"RedshiftRunConfigurationOutput", "documentation":"

The configuration of the Amazon Redshift data source.

" + }, + "sageMakerRunConfiguration":{ + "shape":"SageMakerRunConfigurationOutput", + "documentation":"

The Amazon SageMaker run configuration.

" } }, "documentation":"

The configuration of the data source.

", @@ -6873,6 +7901,10 @@ "documentation":"

The database included in the data source run activity.

" }, "errorMessage":{"shape":"DataSourceErrorMessage"}, + "lineageSummary":{ + "shape":"LineageInfo", + "documentation":"

The data lineage summary.

" + }, "projectId":{ "shape":"ProjectId", "documentation":"

The project ID included in the data source run activity.

" @@ -6896,6 +7928,16 @@ "type":"string", "pattern":"^[a-zA-Z0-9_-]{1,36}$" }, + "DataSourceRunLineageSummary":{ + "type":"structure", + "members":{ + "importStatus":{ + "shape":"LineageImportStatus", + "documentation":"

The import status that's part of the run lineage summary of a data source.

" + } + }, + "documentation":"

The run lineage summary of a data source.

" + }, "DataSourceRunStatus":{ "type":"string", "enum":[ @@ -6935,6 +7977,10 @@ "shape":"DataSourceRunId", "documentation":"

The identifier of the data source run.

" }, + "lineageSummary":{ + "shape":"DataSourceRunLineageSummary", + "documentation":"

The run lineage summary of a data source.

" + }, "projectId":{ "shape":"ProjectId", "documentation":"

The project ID of the data source run.

" @@ -6992,12 +8038,15 @@ "required":[ "dataSourceId", "domainId", - "environmentId", "name", "status", "type" ], "members":{ + "connectionId":{ + "shape":"String", + "documentation":"

The connection ID that's part of the data source summary.

" + }, "createdAt":{ "shape":"DateTime", "documentation":"

The timestamp of when the data source was created.

" @@ -7006,6 +8055,10 @@ "shape":"DataSourceId", "documentation":"

The ID of the data source.

" }, + "description":{ + "shape":"Description", + "documentation":"

The data source description.

" + }, "domainId":{ "shape":"DomainId", "documentation":"

The ID of the Amazon DataZone domain in which the data source exists.

" @@ -7015,7 +8068,7 @@ "documentation":"

Specifies whether the data source is enabled.

" }, "environmentId":{ - "shape":"EnvironmentId", + "shape":"String", "documentation":"

The ID of the environment in which the data source exists.

" }, "lastRunAssetCount":{ @@ -7150,6 +8203,36 @@ "members":{ } }, + "DeleteConnectionInput":{ + "type":"structure", + "required":[ + "domainIdentifier", + "identifier" + ], + "members":{ + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

The ID of the domain where the connection is deleted.

", + "location":"uri", + "locationName":"domainIdentifier" + }, + "identifier":{ + "shape":"ConnectionId", + "documentation":"

The ID of the connection that is deleted.

", + "location":"uri", + "locationName":"identifier" + } + } + }, + "DeleteConnectionOutput":{ + "type":"structure", + "members":{ + "status":{ + "shape":"String", + "documentation":"

The status of the action.

" + } + } + }, "DeleteDataProductInput":{ "type":"structure", "required":[ @@ -7186,6 +8269,8 @@ "clientToken":{ "shape":"String", "documentation":"

A unique, case-sensitive identifier that is provided to ensure the idempotency of the request.

", + "deprecated":true, + "deprecatedMessage":"This field is no longer required for idempotency.", "idempotencyToken":true, "location":"querystring", "locationName":"clientToken" @@ -7214,7 +8299,6 @@ "type":"structure", "required":[ "domainId", - "environmentId", "id", "name", "projectId" @@ -7228,6 +8312,10 @@ "shape":"DataSourceConfigurationOutput", "documentation":"

The configuration of the data source that is deleted.

" }, + "connectionId":{ + "shape":"String", + "documentation":"

The ID of the connection that is deleted.

" + }, "createdAt":{ "shape":"DateTime", "documentation":"

The timestamp of when this data source was created.

" @@ -7630,7 +8718,7 @@ "members":{ } }, - "DeleteRuleInput":{ + "DeleteProjectProfileInput":{ "type":"structure", "required":[ "domainIdentifier", @@ -7639,12 +8727,38 @@ "members":{ "domainIdentifier":{ "shape":"DomainId", - "documentation":"

The ID of the domain that where the rule is to be deleted.

", + "documentation":"

The ID of the domain where a project profile is deleted.

", "location":"uri", "locationName":"domainIdentifier" }, "identifier":{ - "shape":"RuleId", + "shape":"ProjectProfileId", + "documentation":"

The ID of the project profile that is deleted.

", + "location":"uri", + "locationName":"identifier" + } + } + }, + "DeleteProjectProfileOutput":{ + "type":"structure", + "members":{ + } + }, + "DeleteRuleInput":{ + "type":"structure", + "required":[ + "domainIdentifier", + "identifier" + ], + "members":{ + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

The ID of the domain that where the rule is to be deleted.

", + "location":"uri", + "locationName":"domainIdentifier" + }, + "identifier":{ + "shape":"RuleId", "documentation":"

The ID of the rule that is to be deleted.

", "location":"uri", "locationName":"identifier" @@ -7869,6 +8983,19 @@ "type":"list", "member":{"shape":"DeploymentMessage"} }, + "DeploymentMode":{ + "type":"string", + "enum":[ + "ON_CREATE", + "ON_DEMAND" + ] + }, + "DeploymentOrder":{ + "type":"integer", + "box":true, + "max":16, + "min":0 + }, "DeploymentProperties":{ "type":"structure", "members":{ @@ -8019,6 +9146,10 @@ "shape":"DomainDescription", "documentation":"

A description of an Amazon DataZone domain.

" }, + "domainVersion":{ + "shape":"DomainVersion", + "documentation":"

The domain version.

" + }, "id":{ "shape":"DomainId", "documentation":"

The ID of the Amazon DataZone domain.

" @@ -8197,6 +9328,13 @@ }, "documentation":"

The properties of the domain unit user.

" }, + "DomainVersion":{ + "type":"string", + "enum":[ + "V1", + "V2" + ] + }, "EdgeDirection":{ "type":"string", "enum":[ @@ -8309,6 +9447,10 @@ "shape":"EnvironmentBlueprintId", "documentation":"

The identifier of the environment blueprint.

" }, + "environmentRolePermissionBoundary":{ + "shape":"PolicyArn", + "documentation":"

The environment role permission boundary.

" + }, "manageAccessRoleArn":{ "shape":"RoleArn", "documentation":"

The ARN of the manage access role specified in the environment blueprint configuration.

" @@ -8390,6 +9532,146 @@ }, "documentation":"

The details of an environment blueprint summary.

" }, + "EnvironmentConfiguration":{ + "type":"structure", + "required":[ + "awsAccount", + "awsRegion", + "environmentBlueprintId", + "name" + ], + "members":{ + "awsAccount":{ + "shape":"AwsAccount", + "documentation":"

The Amazon Web Services account of the environment.

" + }, + "awsRegion":{ + "shape":"Region", + "documentation":"

The Amazon Web Services Region of the environment.

" + }, + "configurationParameters":{ + "shape":"EnvironmentConfigurationParametersDetails", + "documentation":"

The configuration parameters of the environment.

" + }, + "deploymentMode":{ + "shape":"DeploymentMode", + "documentation":"

The deployment mode of the environment.

" + }, + "deploymentOrder":{ + "shape":"DeploymentOrder", + "documentation":"

The deployment order of the environment.

" + }, + "description":{ + "shape":"Description", + "documentation":"

The environment description.

" + }, + "environmentBlueprintId":{ + "shape":"EnvironmentBlueprintId", + "documentation":"

The environment blueprint ID.

" + }, + "id":{ + "shape":"EnvironmentConfigurationId", + "documentation":"

The environment ID.

" + }, + "name":{ + "shape":"EnvironmentConfigurationName", + "documentation":"

The environment name.

" + } + }, + "documentation":"

The configuration of an environment.

" + }, + "EnvironmentConfigurationId":{ + "type":"string", + "pattern":"^[a-zA-Z0-9_-]{1,36}$", + "sensitive":true + }, + "EnvironmentConfigurationName":{ + "type":"string", + "max":64, + "min":1, + "pattern":"^[\\w -]+$", + "sensitive":true + }, + "EnvironmentConfigurationParameter":{ + "type":"structure", + "members":{ + "isEditable":{ + "shape":"Boolean", + "documentation":"

Specifies whether the environment parameter is editable.

" + }, + "name":{ + "shape":"EnvironmentConfigurationParameterName", + "documentation":"

The name of the environment configuration parameter.

" + }, + "value":{ + "shape":"String", + "documentation":"

The value of the environment configuration parameter.

" + } + }, + "documentation":"

The environment configuration parameter.

" + }, + "EnvironmentConfigurationParameterName":{ + "type":"string", + "pattern":"^[a-zA-Z_][a-zA-Z0-9_]*$" + }, + "EnvironmentConfigurationParametersDetails":{ + "type":"structure", + "members":{ + "parameterOverrides":{ + "shape":"EnvironmentConfigurationParametersList", + "documentation":"

The parameter overrides.

" + }, + "resolvedParameters":{ + "shape":"EnvironmentConfigurationParametersList", + "documentation":"

The resolved environment configuration parameters.

" + }, + "ssmPath":{ + "shape":"ParameterStorePath", + "documentation":"

Ssm path environment configuration parameters.

" + } + }, + "documentation":"

The details of the environment configuration parameter.

" + }, + "EnvironmentConfigurationParametersList":{ + "type":"list", + "member":{"shape":"EnvironmentConfigurationParameter"} + }, + "EnvironmentConfigurationUserParameter":{ + "type":"structure", + "members":{ + "environmentConfigurationName":{ + "shape":"EnvironmentConfigurationName", + "documentation":"

The environment configuration name.

" + }, + "environmentParameters":{ + "shape":"EnvironmentParametersList", + "documentation":"

The environment parameters.

" + } + }, + "documentation":"

The environment configuration user parameters.

" + }, + "EnvironmentConfigurationUserParametersList":{ + "type":"list", + "member":{"shape":"EnvironmentConfigurationUserParameter"} + }, + "EnvironmentConfigurationsList":{ + "type":"list", + "member":{"shape":"EnvironmentConfiguration"} + }, + "EnvironmentDeploymentDetails":{ + "type":"structure", + "members":{ + "environmentFailureReasons":{ + "shape":"EnvironmentFailureReasons", + "documentation":"

Environment failure reasons.

" + }, + "overallDeploymentStatus":{ + "shape":"OverallDeploymentStatus", + "documentation":"

The overall deployment status of the environment.

" + } + }, + "documentation":"

The environment deployment details.

" + }, "EnvironmentError":{ "type":"structure", "required":["message"], @@ -8405,6 +9687,15 @@ }, "documentation":"

The failure reasons for the environment deployment.

" }, + "EnvironmentFailureReasons":{ + "type":"map", + "key":{"shape":"String"}, + "value":{"shape":"EnvironmentFailureReasonsList"} + }, + "EnvironmentFailureReasonsList":{ + "type":"list", + "member":{"shape":"EnvironmentError"} + }, "EnvironmentId":{ "type":"string", "pattern":"^[a-zA-Z0-9_-]{1,36}$" @@ -8612,11 +9903,27 @@ "documentation":"

Specifies whether the value is equal to an expression.

" }, "ErrorMessage":{"type":"string"}, + "EventSummary":{ + "type":"structure", + "members":{ + "openLineageRunEventSummary":{ + "shape":"OpenLineageRunEventSummary", + "documentation":"

The open lineage run event summary.

" + } + }, + "documentation":"

The event summary.

", + "union":true + }, "ExternalIdentifier":{ "type":"string", - "max":256, - "min":1, - "sensitive":true + "max":600, + "min":1 + }, + "FailedQueryProcessingErrorMessages":{ + "type":"list", + "member":{"shape":"String"}, + "max":10, + "min":0 }, "FailureCause":{ "type":"structure", @@ -9238,6 +10545,94 @@ } } }, + "GetConnectionInput":{ + "type":"structure", + "required":[ + "domainIdentifier", + "identifier" + ], + "members":{ + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

The ID of the domain where we get the connection.

", + "location":"uri", + "locationName":"domainIdentifier" + }, + "identifier":{ + "shape":"ConnectionId", + "documentation":"

The connection ID.

", + "location":"uri", + "locationName":"identifier" + }, + "withSecret":{ + "shape":"Boolean", + "documentation":"

Specifies whether a connection has a secret.

", + "location":"querystring", + "locationName":"withSecret" + } + } + }, + "GetConnectionOutput":{ + "type":"structure", + "required":[ + "connectionId", + "domainId", + "domainUnitId", + "name", + "physicalEndpoints", + "type" + ], + "members":{ + "connectionCredentials":{ + "shape":"ConnectionCredentials", + "documentation":"

Connection credentials.

" + }, + "connectionId":{ + "shape":"ConnectionId", + "documentation":"

The ID of the connection.

" + }, + "description":{ + "shape":"Description", + "documentation":"

Connection description.

" + }, + "domainId":{ + "shape":"DomainId", + "documentation":"

The domain ID of the connection.

" + }, + "domainUnitId":{ + "shape":"DomainUnitId", + "documentation":"

The domain unit ID of the connection.

" + }, + "environmentId":{ + "shape":"EnvironmentId", + "documentation":"

The ID of the environment.

" + }, + "environmentUserRole":{ + "shape":"String", + "documentation":"

The environment user role.

" + }, + "name":{ + "shape":"ConnectionName", + "documentation":"

The name of the connection.

" + }, + "physicalEndpoints":{ + "shape":"PhysicalEndpoints", + "documentation":"

The physical endpoints of the connection.

" + }, + "projectId":{ + "shape":"ProjectId", + "documentation":"

The ID of the project.

" + }, + "props":{ + "shape":"ConnectionPropertiesOutput", + "documentation":"

Connection props.

" + }, + "type":{ + "shape":"ConnectionType", + "documentation":"

The type of the connection.

" + } + } + }, "GetDataProductInput":{ "type":"structure", "required":[ @@ -9359,7 +10754,6 @@ "type":"structure", "required":[ "domainId", - "environmentId", "id", "name", "projectId" @@ -9373,6 +10767,10 @@ "shape":"DataSourceConfigurationOutput", "documentation":"

The configuration of the data source.

" }, + "connectionId":{ + "shape":"String", + "documentation":"

The ID of the connection.

" + }, "createdAt":{ "shape":"DateTime", "documentation":"

The timestamp of when the data source was created.

" @@ -9513,6 +10911,10 @@ "shape":"DataSourceRunId", "documentation":"

The ID of the data source run.

" }, + "lineageSummary":{ + "shape":"DataSourceRunLineageSummary", + "documentation":"

The summary of the data lineage.

" + }, "projectId":{ "shape":"ProjectId", "documentation":"

The ID of the project in which this data source run occured.

" @@ -9579,6 +10981,10 @@ "shape":"RoleArn", "documentation":"

The domain execution role with which the Amazon DataZone domain is created.

" }, + "domainVersion":{ + "shape":"DomainVersion", + "documentation":"

The version of the domain.

" + }, "id":{ "shape":"DomainId", "documentation":"

The identifier of the specified Amazon DataZone domain.

" @@ -9603,6 +11009,10 @@ "shape":"DomainUnitId", "documentation":"

The ID of the root domain in Amazon Datazone.

" }, + "serviceRole":{ + "shape":"RoleArn", + "documentation":"

The service role of the domain.

" + }, "singleSignOn":{ "shape":"SingleSignOn", "documentation":"

The single sing-on option of the specified Amazon DataZone domain.

" @@ -9797,6 +11207,10 @@ "shape":"EnvironmentBlueprintId", "documentation":"

The ID of the blueprint.

" }, + "environmentRolePermissionBoundary":{ + "shape":"PolicyArn", + "documentation":"

The environment role permissions boundary.

" + }, "manageAccessRoleArn":{ "shape":"RoleArn", "documentation":"

The ARN of the manage access role with which this blueprint is created.

" @@ -10440,7 +11854,7 @@ } } }, - "GetLineageNodeInput":{ + "GetJobRunInput":{ "type":"structure", "required":[ "domainIdentifier", @@ -10449,95 +11863,236 @@ "members":{ "domainIdentifier":{ "shape":"DomainId", - "documentation":"

The ID of the domain in which you want to get the data lineage node.

", + "documentation":"

The ID of the domain.

", "location":"uri", "locationName":"domainIdentifier" }, - "eventTimestamp":{ - "shape":"Timestamp", - "documentation":"

The event time stamp for which you want to get the data lineage node.

", - "location":"querystring", - "locationName":"timestamp" - }, "identifier":{ - "shape":"LineageNodeIdentifier", - "documentation":"

The ID of the data lineage node that you want to get.

Both, a lineage node identifier generated by Amazon DataZone and a sourceIdentifier of the lineage node are supported. If sourceIdentifier is greater than 1800 characters, you can use lineage node identifier generated by Amazon DataZone to get the node details.

", + "shape":"RunIdentifier", + "documentation":"

The ID of the job run.

", "location":"uri", "locationName":"identifier" } } }, - "GetLineageNodeOutput":{ + "GetJobRunOutput":{ "type":"structure", - "required":[ - "domainId", - "id", - "typeName" - ], "members":{ "createdAt":{ - "shape":"CreatedAt", - "documentation":"

The timestamp at which the data lineage node was created.

" + "shape":"Timestamp", + "documentation":"

The timestamp of when the job run was created.

" }, "createdBy":{ - "shape":"CreatedBy", - "documentation":"

The user who created the data lineage node.

" - }, - "description":{ "shape":"String", - "documentation":"

The description of the data lineage node.

" + "documentation":"

The user who created the job run.

" + }, + "details":{ + "shape":"JobRunDetails", + "documentation":"

The details of the job run.

" }, "domainId":{ "shape":"DomainId", - "documentation":"

The ID of the domain where you're getting the data lineage node.

" - }, - "downstreamNodes":{ - "shape":"LineageNodeReferenceList", - "documentation":"

The downsteam nodes of the specified data lineage node.

" + "documentation":"

The ID of the domain.

" }, - "eventTimestamp":{ + "endTime":{ "shape":"Timestamp", - "documentation":"

The timestamp of the event described in the data lineage node.

" + "documentation":"

The timestamp of when the job run ended.

" }, - "formsOutput":{ - "shape":"FormOutputList", - "documentation":"

The metadata of the specified data lineage node.

" + "error":{ + "shape":"JobRunError", + "documentation":"

The error generated if the action is not completed successfully.

" }, "id":{ - "shape":"LineageNodeId", - "documentation":"

The ID of the data lineage node.

" - }, - "name":{ - "shape":"String", - "documentation":"

The name of the data lineage node.

" - }, - "sourceIdentifier":{ "shape":"String", - "documentation":"

The source identifier of the data lineage node.

" + "documentation":"

The ID of the job run.

" }, - "typeName":{ + "jobId":{ "shape":"String", - "documentation":"

The name of the type of the specified data lineage node.

" + "documentation":"

The ID of the job run.

" }, - "typeRevision":{ - "shape":"Revision", - "documentation":"

The revision type of the specified data lineage node.

" + "jobType":{ + "shape":"JobType", + "documentation":"

The type of the job run.

" }, - "updatedAt":{ - "shape":"UpdatedAt", - "documentation":"

The timestamp at which the data lineage node was updated.

" + "runMode":{ + "shape":"JobRunMode", + "documentation":"

The mode of the job run.

" }, - "updatedBy":{ - "shape":"UpdatedBy", - "documentation":"

The user who updated the data lineage node.

" + "startTime":{ + "shape":"Timestamp", + "documentation":"

The timestamp of when the job run started.

" }, - "upstreamNodes":{ - "shape":"LineageNodeReferenceList", - "documentation":"

The upstream nodes of the specified data lineage node.

" + "status":{ + "shape":"JobRunStatus", + "documentation":"

The status of the job run.

" } } }, - "GetListingInput":{ + "GetLineageEventInput":{ + "type":"structure", + "required":[ + "domainIdentifier", + "identifier" + ], + "members":{ + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

The ID of the domain.

", + "location":"uri", + "locationName":"domainIdentifier" + }, + "identifier":{ + "shape":"LineageEventIdentifier", + "documentation":"

The ID of the lineage event.

", + "location":"uri", + "locationName":"identifier" + } + } + }, + "GetLineageEventOutput":{ + "type":"structure", + "members":{ + "createdAt":{ + "shape":"CreatedAt", + "documentation":"

The timestamp of when the lineage event was created.

", + "location":"header", + "locationName":"Created-At" + }, + "createdBy":{ + "shape":"CreatedBy", + "documentation":"

The user who created the lineage event.

", + "location":"header", + "locationName":"Created-By" + }, + "domainId":{ + "shape":"DomainId", + "documentation":"

The ID of the domain.

", + "location":"header", + "locationName":"Domain-Id" + }, + "event":{ + "shape":"LineageEvent", + "documentation":"

The lineage event details.

" + }, + "eventTime":{ + "shape":"Timestamp", + "documentation":"

The time of the lineage event.

", + "location":"header", + "locationName":"Event-Time" + }, + "id":{ + "shape":"LineageEventIdentifier", + "documentation":"

The ID of the lineage event.

", + "location":"header", + "locationName":"Id" + }, + "processingStatus":{ + "shape":"LineageEventProcessingStatus", + "documentation":"

The progressing status of the lineage event.

", + "location":"header", + "locationName":"Processing-Status" + } + }, + "payload":"event" + }, + "GetLineageNodeInput":{ + "type":"structure", + "required":[ + "domainIdentifier", + "identifier" + ], + "members":{ + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

The ID of the domain in which you want to get the data lineage node.

", + "location":"uri", + "locationName":"domainIdentifier" + }, + "eventTimestamp":{ + "shape":"Timestamp", + "documentation":"

The event time stamp for which you want to get the data lineage node.

", + "location":"querystring", + "locationName":"timestamp" + }, + "identifier":{ + "shape":"LineageNodeIdentifier", + "documentation":"

The ID of the data lineage node that you want to get.

Both, a lineage node identifier generated by Amazon DataZone and a sourceIdentifier of the lineage node are supported. If sourceIdentifier is greater than 1800 characters, you can use lineage node identifier generated by Amazon DataZone to get the node details.

", + "location":"uri", + "locationName":"identifier" + } + } + }, + "GetLineageNodeOutput":{ + "type":"structure", + "required":[ + "domainId", + "id", + "typeName" + ], + "members":{ + "createdAt":{ + "shape":"CreatedAt", + "documentation":"

The timestamp at which the data lineage node was created.

" + }, + "createdBy":{ + "shape":"CreatedBy", + "documentation":"

The user who created the data lineage node.

" + }, + "description":{ + "shape":"String", + "documentation":"

The description of the data lineage node.

" + }, + "domainId":{ + "shape":"DomainId", + "documentation":"

The ID of the domain where you're getting the data lineage node.

" + }, + "downstreamNodes":{ + "shape":"LineageNodeReferenceList", + "documentation":"

The downsteam nodes of the specified data lineage node.

" + }, + "eventTimestamp":{ + "shape":"Timestamp", + "documentation":"

The timestamp of the event described in the data lineage node.

" + }, + "formsOutput":{ + "shape":"FormOutputList", + "documentation":"

The metadata of the specified data lineage node.

" + }, + "id":{ + "shape":"LineageNodeId", + "documentation":"

The ID of the data lineage node.

" + }, + "name":{ + "shape":"String", + "documentation":"

The name of the data lineage node.

" + }, + "sourceIdentifier":{ + "shape":"String", + "documentation":"

The source identifier of the data lineage node.

" + }, + "typeName":{ + "shape":"String", + "documentation":"

The name of the type of the specified data lineage node.

" + }, + "typeRevision":{ + "shape":"Revision", + "documentation":"

The revision type of the specified data lineage node.

" + }, + "updatedAt":{ + "shape":"UpdatedAt", + "documentation":"

The timestamp at which the data lineage node was updated.

" + }, + "updatedBy":{ + "shape":"UpdatedBy", + "documentation":"

The user who updated the data lineage node.

" + }, + "upstreamNodes":{ + "shape":"LineageNodeReferenceList", + "documentation":"

The upstream nodes of the specified data lineage node.

" + } + } + }, + "GetListingInput":{ "type":"structure", "required":[ "domainIdentifier", @@ -10731,6 +12286,10 @@ "shape":"DomainUnitId", "documentation":"

The ID of the domain unit.

" }, + "environmentDeploymentDetails":{ + "shape":"EnvironmentDeploymentDetails", + "documentation":"

The environment deployment status of a project.

" + }, "failureReasons":{ "shape":"FailureReasons", "documentation":"

Specifies the error message that is returned if the operation cannot be successfully completed.

" @@ -10751,9 +12310,89 @@ "shape":"ProjectName", "documentation":"

The name of the project.

" }, + "projectProfileId":{ + "shape":"ProjectProfileId", + "documentation":"

The ID of the project profile of a project.

" + }, "projectStatus":{ "shape":"ProjectStatus", "documentation":"

The status of the project.

" + }, + "userParameters":{ + "shape":"EnvironmentConfigurationUserParametersList", + "documentation":"

The user parameters of a project.

" + } + } + }, + "GetProjectProfileInput":{ + "type":"structure", + "required":[ + "domainIdentifier", + "identifier" + ], + "members":{ + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

The ID of the domain.

", + "location":"uri", + "locationName":"domainIdentifier" + }, + "identifier":{ + "shape":"ProjectProfileId", + "documentation":"

The ID of the project profile.

", + "location":"uri", + "locationName":"identifier" + } + } + }, + "GetProjectProfileOutput":{ + "type":"structure", + "required":[ + "createdBy", + "domainId", + "id", + "name" + ], + "members":{ + "createdAt":{ + "shape":"SyntheticTimestamp_date_time", + "documentation":"

The timestamp of when the project profile was created.

" + }, + "createdBy":{ + "shape":"CreatedBy", + "documentation":"

The user who created the project profile.

" + }, + "description":{ + "shape":"Description", + "documentation":"

The description of the project profile.

" + }, + "domainId":{ + "shape":"DomainId", + "documentation":"

The ID of the domain of the project profile.

" + }, + "domainUnitId":{ + "shape":"DomainUnitId", + "documentation":"

The ID of the domain unit of the project profile.

" + }, + "environmentConfigurations":{ + "shape":"EnvironmentConfigurationsList", + "documentation":"

The environment configurations of the project profile.

" + }, + "id":{ + "shape":"ProjectProfileId", + "documentation":"

The ID of the project profile.

" + }, + "lastUpdatedAt":{ + "shape":"SyntheticTimestamp_date_time", + "documentation":"

The timestamp of when project profile was last updated.

" + }, + "name":{ + "shape":"ProjectProfileName", + "documentation":"

The name of the project profile.

" + }, + "status":{ + "shape":"Status", + "documentation":"

The status of the project profile.

" } } }, @@ -11164,7 +12803,6 @@ "domainId", "environmentId", "id", - "manageAccessRole", "name", "projectId", "provider", @@ -11201,7 +12839,7 @@ "documentation":"

The ID of the subscription target.

" }, "manageAccessRole":{ - "shape":"String", + "shape":"IamRoleArn", "documentation":"

The manage access role with which the subscription target was created.

" }, "name":{ @@ -11510,51 +13148,339 @@ "max":20, "min":1 }, - "GlueRunConfigurationInput":{ + "GlueConnection":{ "type":"structure", - "required":["relationalFilterConfigurations"], "members":{ - "autoImportDataQualityResult":{ - "shape":"Boolean", - "documentation":"

Specifies whether to automatically import data quality metrics as part of the data source run.

" + "athenaProperties":{ + "shape":"PropertyMap", + "documentation":"

The Amazon Athena properties of the Amazon Web Services Glue connection.

" }, - "dataAccessRole":{ - "shape":"GlueRunConfigurationInputDataAccessRoleString", - "documentation":"

The data access role included in the configuration details of the Amazon Web Services Glue data source.

" + "authenticationConfiguration":{ + "shape":"AuthenticationConfiguration", + "documentation":"

The authentication configuration of the Amazon Web Services Glue connection.

" }, - "relationalFilterConfigurations":{ - "shape":"RelationalFilterConfigurations", - "documentation":"

The relational filter configurations included in the configuration details of the Amazon Web Services Glue data source.

" + "compatibleComputeEnvironments":{ + "shape":"ComputeEnvironmentsList", + "documentation":"

The compatible compute environments of the Amazon Web Services Glue connection.

" + }, + "connectionProperties":{ + "shape":"ConnectionProperties", + "documentation":"

The properties of the Amazon Web Services Glue connection.

" + }, + "connectionSchemaVersion":{ + "shape":"GlueConnectionConnectionSchemaVersionInteger", + "documentation":"

The connection schema version of the Amazon Web Services Glue connection.

" + }, + "connectionType":{ + "shape":"ConnectionType", + "documentation":"

The type of the Amazon Web Services Glue connection.

" + }, + "creationTime":{ + "shape":"Timestamp", + "documentation":"

The creation time of the Amazon Web Services Glue connection.

" + }, + "description":{ + "shape":"GlueConnectionDescriptionString", + "documentation":"

The description of the Amazon Web Services Glue connection.

" + }, + "lastConnectionValidationTime":{ + "shape":"Timestamp", + "documentation":"

The last validation time of the Amazon Web Services Glue connection.

" + }, + "lastUpdatedBy":{ + "shape":"String", + "documentation":"

The user who last updated the Amazon Web Services Glue connection.

" + }, + "lastUpdatedTime":{ + "shape":"Timestamp", + "documentation":"

The timestamp at which the Amazon Web Services Glue connection was last updated.

" + }, + "matchCriteria":{ + "shape":"MatchCriteria", + "documentation":"

The match criteria of the Amazon Web Services Glue connection.

" + }, + "name":{ + "shape":"String", + "documentation":"

The name of the Amazon Web Services Glue connection.

" + }, + "physicalConnectionRequirements":{ + "shape":"PhysicalConnectionRequirements", + "documentation":"

The physical connection requirements of the Amazon Web Services Glue connection.

" + }, + "pythonProperties":{ + "shape":"PropertyMap", + "documentation":"

The Python properties of the Amazon Web Services Glue connection.

" + }, + "sparkProperties":{ + "shape":"PropertyMap", + "documentation":"

The Spark properties of the Amazon Web Services Glue connection.

" + }, + "status":{ + "shape":"ConnectionStatus", + "documentation":"

The status of the Amazon Web Services Glue connection.

" + }, + "statusReason":{ + "shape":"GlueConnectionStatusReasonString", + "documentation":"

The status reason of the Amazon Web Services Glue connection.

" } }, - "documentation":"

The configuration details of the Amazon Web Services Glue data source.

" + "documentation":"

The Amazon Web Services Glue connection.

" }, - "GlueRunConfigurationInputDataAccessRoleString":{ + "GlueConnectionConnectionSchemaVersionInteger":{ + "type":"integer", + "box":true, + "max":2, + "min":1 + }, + "GlueConnectionDescriptionString":{ "type":"string", - "pattern":"^arn:aws[^:]*:iam::\\d{12}:(role|role/service-role)/[\\w+=,.@-]{1,128}$" + "max":2048, + "min":0 }, - "GlueRunConfigurationOutput":{ + "GlueConnectionInput":{ "type":"structure", - "required":["relationalFilterConfigurations"], "members":{ - "accountId":{ - "shape":"GlueRunConfigurationOutputAccountIdString", - "documentation":"

The Amazon Web Services account ID included in the configuration details of the Amazon Web Services Glue data source.

" + "athenaProperties":{ + "shape":"PropertyMap", + "documentation":"

The Amazon Athena properties of the Amazon Web Services Glue connection.

" }, - "autoImportDataQualityResult":{ - "shape":"Boolean", - "documentation":"

Specifies whether to automatically import data quality metrics as part of the data source run.

" + "authenticationConfiguration":{ + "shape":"AuthenticationConfigurationInput", + "documentation":"

The authentication configuration of the Amazon Web Services Glue connection.

" }, - "dataAccessRole":{ - "shape":"GlueRunConfigurationOutputDataAccessRoleString", - "documentation":"

The data access role included in the configuration details of the Amazon Web Services Glue data source.

" + "connectionProperties":{ + "shape":"ConnectionProperties", + "documentation":"

The connection properties of the Amazon Web Services Glue connection.

" }, - "region":{ - "shape":"GlueRunConfigurationOutputRegionString", - "documentation":"

The Amazon Web Services region included in the configuration details of the Amazon Web Services Glue data source.

" + "connectionType":{ + "shape":"GlueConnectionType", + "documentation":"

The connection type of the Amazon Web Services Glue connection.

" }, - "relationalFilterConfigurations":{ - "shape":"RelationalFilterConfigurations", + "description":{ + "shape":"String", + "documentation":"

The description of the Amazon Web Services Glue connection.

" + }, + "matchCriteria":{ + "shape":"GlueConnectionInputMatchCriteriaString", + "documentation":"

The match criteria of the Amazon Web Services Glue connection.

" + }, + "name":{ + "shape":"GlueConnectionInputNameString", + "documentation":"

The name of the Amazon Web Services Glue connection.

" + }, + "physicalConnectionRequirements":{ + "shape":"PhysicalConnectionRequirements", + "documentation":"

The physical connection requirements for the Amazon Web Services Glue connection.

" + }, + "pythonProperties":{ + "shape":"PropertyMap", + "documentation":"

The Python properties of the Amazon Web Services Glue connection.

" + }, + "sparkProperties":{ + "shape":"PropertyMap", + "documentation":"

The Spark properties of the Amazon Web Services Glue connection.

" + }, + "validateCredentials":{ + "shape":"Boolean", + "documentation":"

Speciefies whether to validate credentials of the Amazon Web Services Glue connection.

" + }, + "validateForComputeEnvironments":{ + "shape":"ComputeEnvironmentsList", + "documentation":"

Speciefies whether to validate for compute environments of the Amazon Web Services Glue connection.

" + } + }, + "documentation":"

The Amazon Web Services Glue connecton input.

" + }, + "GlueConnectionInputMatchCriteriaString":{ + "type":"string", + "max":10, + "min":0 + }, + "GlueConnectionInputNameString":{ + "type":"string", + "max":255, + "min":1 + }, + "GlueConnectionPatch":{ + "type":"structure", + "members":{ + "authenticationConfiguration":{ + "shape":"AuthenticationConfigurationPatch", + "documentation":"

The authentication configuration of the Amazon Web Services Glue connection patch.

" + }, + "connectionProperties":{ + "shape":"ConnectionProperties", + "documentation":"

The properties of the Amazon Web Services Glue connection patch.

" + }, + "description":{ + "shape":"String", + "documentation":"

The description of the Amazon Web Services Glue connection patch.

" + } + }, + "documentation":"

The Amazon Web Services Glue connection patch.

" + }, + "GlueConnectionStatusReasonString":{ + "type":"string", + "max":16384, + "min":1 + }, + "GlueConnectionType":{ + "type":"string", + "enum":[ + "SNOWFLAKE", + "BIGQUERY", + "DOCUMENTDB", + "DYNAMODB", + "MYSQL", + "OPENSEARCH", + "ORACLE", + "POSTGRESQL", + "REDSHIFT", + "SAPHANA", + "SQLSERVER", + "TERADATA", + "VERTICA" + ] + }, + "GlueOAuth2Credentials":{ + "type":"structure", + "members":{ + "accessToken":{ + "shape":"GlueOAuth2CredentialsAccessTokenString", + "documentation":"

The access token of a connection.

" + }, + "jwtToken":{ + "shape":"GlueOAuth2CredentialsJwtTokenString", + "documentation":"

The jwt token of the connection.

" + }, + "refreshToken":{ + "shape":"GlueOAuth2CredentialsRefreshTokenString", + "documentation":"

The refresh token of the connection.

" + }, + "userManagedClientApplicationClientSecret":{ + "shape":"GlueOAuth2CredentialsUserManagedClientApplicationClientSecretString", + "documentation":"

The user managed client application client secret of the connection.

" + } + }, + "documentation":"

The GlueOAuth2 credentials of a connection.

", + "sensitive":true + }, + "GlueOAuth2CredentialsAccessTokenString":{ + "type":"string", + "max":4096, + "min":0, + "pattern":"^[\\x20-\\x7E]*$" + }, + "GlueOAuth2CredentialsJwtTokenString":{ + "type":"string", + "max":8000, + "min":0, + "pattern":"^([a-zA-Z0-9_=]+)\\.([a-zA-Z0-9_=]+)\\.([a-zA-Z0-9_\\-\\+\\/=]*)$" + }, + "GlueOAuth2CredentialsRefreshTokenString":{ + "type":"string", + "max":4096, + "min":0, + "pattern":"^[\\x20-\\x7E]*$" + }, + "GlueOAuth2CredentialsUserManagedClientApplicationClientSecretString":{ + "type":"string", + "max":512, + "min":0, + "pattern":"^[\\x20-\\x7E]*$" + }, + "GluePropertiesInput":{ + "type":"structure", + "members":{ + "glueConnectionInput":{ + "shape":"GlueConnectionInput", + "documentation":"

The Amazon Web Services Glue connection.

" + } + }, + "documentation":"

The Amazon Web Services Glue properties of a connection.

" + }, + "GluePropertiesOutput":{ + "type":"structure", + "members":{ + "errorMessage":{ + "shape":"String", + "documentation":"

The error message generated if the action is not completed successfully.

" + }, + "status":{ + "shape":"ConnectionStatus", + "documentation":"

The status of a connection.

" + } + }, + "documentation":"

The properties of the Amazon Web Services Glue connection.

" + }, + "GluePropertiesPatch":{ + "type":"structure", + "members":{ + "glueConnectionInput":{ + "shape":"GlueConnectionPatch", + "documentation":"

The Amazon Web Services Glue properties patch of a connection.

" + } + }, + "documentation":"

The Amazon Web Services Glue properties patch of a connection.

" + }, + "GlueRunConfigurationInput":{ + "type":"structure", + "required":["relationalFilterConfigurations"], + "members":{ + "autoImportDataQualityResult":{ + "shape":"Boolean", + "documentation":"

Specifies whether to automatically import data quality metrics as part of the data source run.

" + }, + "catalogName":{ + "shape":"GlueRunConfigurationInputCatalogNameString", + "documentation":"

The catalog name in the Amazon Web Services Glue run configuration.

" + }, + "dataAccessRole":{ + "shape":"GlueRunConfigurationInputDataAccessRoleString", + "documentation":"

The data access role included in the configuration details of the Amazon Web Services Glue data source.

" + }, + "relationalFilterConfigurations":{ + "shape":"RelationalFilterConfigurations", + "documentation":"

The relational filter configurations included in the configuration details of the Amazon Web Services Glue data source.

" + } + }, + "documentation":"

The configuration details of the Amazon Web Services Glue data source.

" + }, + "GlueRunConfigurationInputCatalogNameString":{ + "type":"string", + "max":128, + "min":1 + }, + "GlueRunConfigurationInputDataAccessRoleString":{ + "type":"string", + "pattern":"^arn:aws[^:]*:iam::\\d{12}:(role|role/service-role)/[\\w+=,.@-]{1,128}$" + }, + "GlueRunConfigurationOutput":{ + "type":"structure", + "required":["relationalFilterConfigurations"], + "members":{ + "accountId":{ + "shape":"GlueRunConfigurationOutputAccountIdString", + "documentation":"

The Amazon Web Services account ID included in the configuration details of the Amazon Web Services Glue data source.

" + }, + "autoImportDataQualityResult":{ + "shape":"Boolean", + "documentation":"

Specifies whether to automatically import data quality metrics as part of the data source run.

" + }, + "catalogName":{ + "shape":"GlueRunConfigurationOutputCatalogNameString", + "documentation":"

The catalog name in the Amazon Web Services Glue run configuration.

" + }, + "dataAccessRole":{ + "shape":"GlueRunConfigurationOutputDataAccessRoleString", + "documentation":"

The data access role included in the configuration details of the Amazon Web Services Glue data source.

" + }, + "region":{ + "shape":"GlueRunConfigurationOutputRegionString", + "documentation":"

The Amazon Web Services region included in the configuration details of the Amazon Web Services Glue data source.

" + }, + "relationalFilterConfigurations":{ + "shape":"RelationalFilterConfigurations", "documentation":"

The relational filter configurations included in the configuration details of the Amazon Web Services Glue data source.

" } }, @@ -11566,6 +13492,11 @@ "min":12, "pattern":"^\\d{12}$" }, + "GlueRunConfigurationOutputCatalogNameString":{ + "type":"string", + "max":128, + "min":1 + }, "GlueRunConfigurationOutputDataAccessRoleString":{ "type":"string", "pattern":"^arn:aws[^:]*:iam::\\d{12}:(role|role/service-role)/[\\w+=,.@-]{1,128}$" @@ -11587,6 +13518,13 @@ }, "documentation":"

The details of the self granting status.

" }, + "GovernanceType":{ + "type":"string", + "enum":[ + "AWS_MANAGED", + "USER_MANAGED" + ] + }, "GrantedEntity":{ "type":"structure", "members":{ @@ -11728,6 +13666,86 @@ "DATAZONE_SSO_GROUP" ] }, + "HyperPodOrchestrator":{ + "type":"string", + "enum":[ + "EKS", + "SLURM" + ] + }, + "HyperPodPropertiesInput":{ + "type":"structure", + "required":["clusterName"], + "members":{ + "clusterName":{ + "shape":"HyperPodPropertiesInputClusterNameString", + "documentation":"

The cluster name the hyper pod properties.

" + } + }, + "documentation":"

The hyper pod properties of a Amazon Web Services Glue properties patch.

" + }, + "HyperPodPropertiesInputClusterNameString":{ + "type":"string", + "max":256, + "min":0 + }, + "HyperPodPropertiesOutput":{ + "type":"structure", + "required":["clusterName"], + "members":{ + "clusterArn":{ + "shape":"String", + "documentation":"

The cluster ARN of the hyper pod properties.

" + }, + "clusterName":{ + "shape":"String", + "documentation":"

The cluster name the hyper pod properties.

" + }, + "orchestrator":{ + "shape":"HyperPodOrchestrator", + "documentation":"

The orchestrator of the hyper pod properties.

" + } + }, + "documentation":"

The hyper pod properties of a Amazon Web Services Glue properties patch.

" + }, + "IamPropertiesInput":{ + "type":"structure", + "members":{ + "glueLineageSyncEnabled":{ + "shape":"Boolean", + "documentation":"

Specifies whether Amazon Web Services Glue lineage sync is enabled for a connection.

" + } + }, + "documentation":"

The IAM properties of a connection.

" + }, + "IamPropertiesOutput":{ + "type":"structure", + "members":{ + "environmentId":{ + "shape":"String", + "documentation":"

The environment ID of the connection.

" + }, + "glueLineageSyncEnabled":{ + "shape":"Boolean", + "documentation":"

Specifies whether Amazon Web Services Glue lineage sync is enabled for a connection.

" + } + }, + "documentation":"

The IAM properties of a connection.

" + }, + "IamPropertiesPatch":{ + "type":"structure", + "members":{ + "glueLineageSyncEnabled":{ + "shape":"Boolean", + "documentation":"

Specifies whether Amazon Web Services Glue lineage sync is enabled for a connection.

" + } + }, + "documentation":"

The IAM properties patch of a connection.

" + }, + "IamRoleArn":{ + "type":"string", + "pattern":"^arn:aws(|-cn|-us-gov):iam::\\d{12}:(role|role/service-role)/[\\w+=,.@-]*$" + }, "IamUserProfileDetails":{ "type":"structure", "members":{ @@ -11833,6 +13851,106 @@ "max":2, "min":1 }, + "JobRunDetails":{ + "type":"structure", + "members":{ + "lineageRunDetails":{ + "shape":"LineageRunDetails", + "documentation":"

The data lineage details of a job run.

" + } + }, + "documentation":"

The details of a job run.

", + "union":true + }, + "JobRunError":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{ + "shape":"String", + "documentation":"

The job run error message.

" + } + }, + "documentation":"

The job run error.

" + }, + "JobRunMode":{ + "type":"string", + "enum":[ + "SCHEDULED", + "ON_DEMAND" + ] + }, + "JobRunStatus":{ + "type":"string", + "enum":[ + "SCHEDULED", + "IN_PROGRESS", + "SUCCESS", + "PARTIALLY_SUCCEEDED", + "FAILED", + "ABORTED", + "TIMED_OUT", + "CANCELED" + ] + }, + "JobRunSummaries":{ + "type":"list", + "member":{"shape":"JobRunSummary"} + }, + "JobRunSummary":{ + "type":"structure", + "members":{ + "createdAt":{ + "shape":"Timestamp", + "documentation":"

The timestamp at which job run was created.

" + }, + "createdBy":{ + "shape":"String", + "documentation":"

The user who created the job run.

" + }, + "domainId":{ + "shape":"DomainId", + "documentation":"

The domain ID of the job run.

" + }, + "endTime":{ + "shape":"Timestamp", + "documentation":"

The end time of a job run.

" + }, + "error":{ + "shape":"JobRunError", + "documentation":"

The error of a job run.

" + }, + "jobId":{ + "shape":"String", + "documentation":"

The job ID of a job run.

" + }, + "jobType":{ + "shape":"JobType", + "documentation":"

The job type of a job run.

" + }, + "runId":{ + "shape":"String", + "documentation":"

The run ID of a job run.

" + }, + "runMode":{ + "shape":"JobRunMode", + "documentation":"

The run mode of a job run.

" + }, + "startTime":{ + "shape":"Timestamp", + "documentation":"

The start time of a job run.

" + }, + "status":{ + "shape":"JobRunStatus", + "documentation":"

The status of a job run.

" + } + }, + "documentation":"

The job run summary.

" + }, + "JobType":{ + "type":"string", + "enum":["LINEAGE"] + }, "KmsKeyArn":{ "type":"string", "max":1024, @@ -11917,6 +14035,85 @@ "min":0, "sensitive":true }, + "LineageEventErrorMessage":{"type":"string"}, + "LineageEventIdentifier":{ + "type":"string", + "pattern":"^[a-z0-9]{14}$" + }, + "LineageEventProcessingStatus":{ + "type":"string", + "enum":[ + "REQUESTED", + "PROCESSING", + "SUCCESS", + "FAILED" + ] + }, + "LineageEventSummaries":{ + "type":"list", + "member":{"shape":"LineageEventSummary"} + }, + "LineageEventSummary":{ + "type":"structure", + "members":{ + "createdAt":{ + "shape":"CreatedAt", + "documentation":"

The timestamp at which data lineage event was created.

" + }, + "createdBy":{ + "shape":"CreatedBy", + "documentation":"

The user who created the data lineage event.

" + }, + "domainId":{ + "shape":"DomainId", + "documentation":"

The domain ID of the lineage event.

" + }, + "eventSummary":{ + "shape":"EventSummary", + "documentation":"

The summary of the data lineate event.

" + }, + "eventTime":{ + "shape":"Timestamp", + "documentation":"

The time of the data lineage event.

" + }, + "id":{ + "shape":"LineageEventIdentifier", + "documentation":"

The ID of the data lineage event.

" + }, + "processingStatus":{ + "shape":"LineageEventProcessingStatus", + "documentation":"

The processing status of the data lineage event.

" + } + }, + "documentation":"

The data lineage event summary.

" + }, + "LineageImportStatus":{ + "type":"string", + "enum":[ + "IN_PROGRESS", + "SUCCESS", + "FAILED", + "PARTIALLY_SUCCEEDED" + ] + }, + "LineageInfo":{ + "type":"structure", + "members":{ + "errorMessage":{ + "shape":"LineageEventErrorMessage", + "documentation":"

The data lineage error message.

" + }, + "eventId":{ + "shape":"String", + "documentation":"

The data lineage event ID.

" + }, + "eventStatus":{ + "shape":"LineageEventProcessingStatus", + "documentation":"

The data lineage event status.

" + } + }, + "documentation":"

The data lineage information.

" + }, "LineageNodeId":{ "type":"string", "pattern":"^[a-zA-Z0-9_-]{1,36}$" @@ -12056,6 +14253,56 @@ }, "documentation":"

The details of a data lineage node type.

" }, + "LineageRunDetails":{ + "type":"structure", + "members":{ + "sqlQueryRunDetails":{ + "shape":"LineageSqlQueryRunDetails", + "documentation":"

The SQL query run details of a data lineage run.

" + } + }, + "documentation":"

The data lineage run details.

" + }, + "LineageSqlQueryRunDetails":{ + "type":"structure", + "members":{ + "errorMessages":{ + "shape":"FailedQueryProcessingErrorMessages", + "documentation":"

The error message of the SQL query run details of a data lineage run.

" + }, + "numQueriesFailed":{ + "shape":"Integer", + "documentation":"

The number of queries that failed in the SQL query run details of a data lineage run.

" + }, + "queryEndTime":{ + "shape":"Timestamp", + "documentation":"

The query end time in the SQL query run details of a data lineage run.

" + }, + "queryStartTime":{ + "shape":"Timestamp", + "documentation":"

The query start time in the SQL query run details of a data lineage run.

" + }, + "totalQueriesProcessed":{ + "shape":"Integer", + "documentation":"

The total queries processed in the SQL query run details of a data lineage run.

" + } + }, + "documentation":"

The SQL query run details of a data lineage run.

" + }, + "LineageSyncSchedule":{ + "type":"structure", + "members":{ + "schedule":{ + "shape":"LineageSyncScheduleScheduleString", + "documentation":"

The lineage sync schedule.

" + } + }, + "documentation":"

The lineage sync schedule.

" + }, + "LineageSyncScheduleScheduleString":{ + "type":"string", + "pattern":"^cron\\((\\b[0-5]?[0-9]\\b) (\\b2[0-3]\\b|\\b[0-1]?[0-9]\\b) ([-?*,/\\dLW]){1,83} ([-*,/\\d]|[a-zA-Z]{3}){1,23} ([-?#*,/\\dL]|[a-zA-Z]{3}){1,13} ([^\\)]+)\\)$" + }, "ListAssetFiltersInput":{ "type":"structure", "required":[ @@ -12130,28 +14377,105 @@ }, "maxResults":{ "shape":"MaxResults", - "documentation":"

The maximum number of revisions to return in a single call to ListAssetRevisions. When the number of revisions to be listed is greater than the value of MaxResults, the response contains a NextToken value that you can use in a subsequent call to ListAssetRevisions to list the next set of revisions.

", + "documentation":"

The maximum number of revisions to return in a single call to ListAssetRevisions. When the number of revisions to be listed is greater than the value of MaxResults, the response contains a NextToken value that you can use in a subsequent call to ListAssetRevisions to list the next set of revisions.

", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

When the number of revisions is greater than the default value for the MaxResults parameter, or if you explicitly specify a value for MaxResults that is less than the number of revisions, the response includes a pagination token named NextToken. You can specify this NextToken value in a subsequent call to ListAssetRevisions to list the next set of revisions.

", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "ListAssetRevisionsOutput":{ + "type":"structure", + "members":{ + "items":{ + "shape":"AssetRevisions", + "documentation":"

The results of the ListAssetRevisions action.

" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

When the number of revisions is greater than the default value for the MaxResults parameter, or if you explicitly specify a value for MaxResults that is less than the number of revisions, the response includes a pagination token named NextToken. You can specify this NextToken value in a subsequent call to ListAssetRevisions to list the next set of revisions.

" + } + } + }, + "ListConnectionsInput":{ + "type":"structure", + "required":[ + "domainIdentifier", + "projectIdentifier" + ], + "members":{ + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

The ID of the domain where you want to list connections.

", + "location":"uri", + "locationName":"domainIdentifier" + }, + "environmentIdentifier":{ + "shape":"EnvironmentId", + "documentation":"

The ID of the environment where you want to list connections.

", + "location":"querystring", + "locationName":"environmentIdentifier" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of connections to return in a single call to ListConnections. When the number of connections to be listed is greater than the value of MaxResults, the response contains a NextToken value that you can use in a subsequent call to ListConnections to list the next set of connections.

", "location":"querystring", "locationName":"maxResults" }, + "name":{ + "shape":"ConnectionName", + "documentation":"

The name of the connection.

", + "location":"querystring", + "locationName":"name" + }, "nextToken":{ "shape":"PaginationToken", - "documentation":"

When the number of revisions is greater than the default value for the MaxResults parameter, or if you explicitly specify a value for MaxResults that is less than the number of revisions, the response includes a pagination token named NextToken. You can specify this NextToken value in a subsequent call to ListAssetRevisions to list the next set of revisions.

", + "documentation":"

When the number of connections is greater than the default value for the MaxResults parameter, or if you explicitly specify a value for MaxResults that is less than the number of connections, the response includes a pagination token named NextToken. You can specify this NextToken value in a subsequent call to ListConnections to list the next set of connections.

", "location":"querystring", "locationName":"nextToken" + }, + "projectIdentifier":{ + "shape":"ProjectId", + "documentation":"

The ID of the project where you want to list connections.

", + "location":"querystring", + "locationName":"projectIdentifier" + }, + "sortBy":{ + "shape":"SortFieldConnection", + "documentation":"

Specifies how you want to sort the listed connections.

", + "location":"querystring", + "locationName":"sortBy" + }, + "sortOrder":{ + "shape":"SortOrder", + "documentation":"

Specifies the sort order for the listed connections.

", + "location":"querystring", + "locationName":"sortOrder" + }, + "type":{ + "shape":"ConnectionType", + "documentation":"

The type of connection.

", + "location":"querystring", + "locationName":"type" } } }, - "ListAssetRevisionsOutput":{ + "ListConnectionsOutput":{ "type":"structure", + "required":["items"], "members":{ "items":{ - "shape":"AssetRevisions", - "documentation":"

The results of the ListAssetRevisions action.

" + "shape":"ConnectionSummaries", + "documentation":"

The results of the ListConnections action.

" }, "nextToken":{ "shape":"PaginationToken", - "documentation":"

When the number of revisions is greater than the default value for the MaxResults parameter, or if you explicitly specify a value for MaxResults that is less than the number of revisions, the response includes a pagination token named NextToken. You can specify this NextToken value in a subsequent call to ListAssetRevisions to list the next set of revisions.

" + "documentation":"

When the number of connections is greater than the default value for the MaxResults parameter, or if you explicitly specify a value for MaxResults that is less than the number of connections, the response includes a pagination token named NextToken. You can specify this NextToken value in a subsequent call to ListConnections to list the next set of connections.

" } } }, @@ -12315,6 +14639,12 @@ "projectIdentifier" ], "members":{ + "connectionIdentifier":{ + "shape":"String", + "documentation":"

The ID of the connection.

", + "location":"querystring", + "locationName":"connectionIdentifier" + }, "domainIdentifier":{ "shape":"DomainId", "documentation":"

The identifier of the Amazon DataZone domain in which to list the data sources.

", @@ -12811,6 +15141,129 @@ } } }, + "ListJobRunsInput":{ + "type":"structure", + "required":[ + "domainIdentifier", + "jobIdentifier" + ], + "members":{ + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

The ID of the domain where you want to list job runs.

", + "location":"uri", + "locationName":"domainIdentifier" + }, + "jobIdentifier":{ + "shape":"ListJobRunsInputJobIdentifierString", + "documentation":"

The ID of the job run.

", + "location":"uri", + "locationName":"jobIdentifier" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of job runs to return in a single call to ListJobRuns. When the number of job runs to be listed is greater than the value of MaxResults, the response contains a NextToken value that you can use in a subsequent call to ListJobRuns to list the next set of job runs.

", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

When the number of job runs is greater than the default value for the MaxResults parameter, or if you explicitly specify a value for MaxResults that is less than the number of job runs, the response includes a pagination token named NextToken. You can specify this NextToken value in a subsequent call to ListJobRuns to list the next set of job runs.

", + "location":"querystring", + "locationName":"nextToken" + }, + "sortOrder":{ + "shape":"SortOrder", + "documentation":"

Specifies the order in which job runs are to be sorted.

", + "location":"querystring", + "locationName":"sortOrder" + }, + "status":{ + "shape":"JobRunStatus", + "documentation":"

The status of a job run.

", + "location":"querystring", + "locationName":"status" + } + } + }, + "ListJobRunsInputJobIdentifierString":{ + "type":"string", + "pattern":"^[a-zA-Z0-9_-]{1,36}$" + }, + "ListJobRunsOutput":{ + "type":"structure", + "members":{ + "items":{ + "shape":"JobRunSummaries", + "documentation":"

The results of the ListJobRuns action.

" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

When the number of job runs is greater than the default value for the MaxResults parameter, or if you explicitly specify a value for MaxResults that is less than the number of job runs, the response includes a pagination token named NextToken. You can specify this NextToken value in a subsequent call to ListJobRuns to list the next set of job runs.

" + } + } + }, + "ListLineageEventsInput":{ + "type":"structure", + "required":["domainIdentifier"], + "members":{ + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

The ID of the domain where you want to list lineage events.

", + "location":"uri", + "locationName":"domainIdentifier" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of lineage events to return in a single call to ListLineageEvents. When the number of lineage events to be listed is greater than the value of MaxResults, the response contains a NextToken value that you can use in a subsequent call to ListLineageEvents to list the next set of lineage events.

", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

When the number of lineage events is greater than the default value for the MaxResults parameter, or if you explicitly specify a value for MaxResults that is less than the number of lineage events, the response includes a pagination token named NextToken. You can specify this NextToken value in a subsequent call to ListLineageEvents to list the next set of lineage events.

", + "location":"querystring", + "locationName":"nextToken" + }, + "processingStatus":{ + "shape":"LineageEventProcessingStatus", + "documentation":"

The processing status of a lineage event.

", + "location":"querystring", + "locationName":"processingStatus" + }, + "sortOrder":{ + "shape":"SortOrder", + "documentation":"

The sort order of the lineage events.

", + "location":"querystring", + "locationName":"sortOrder" + }, + "timestampAfter":{ + "shape":"Timestamp", + "documentation":"

The after timestamp of a lineage event.

", + "location":"querystring", + "locationName":"timestampAfter" + }, + "timestampBefore":{ + "shape":"Timestamp", + "documentation":"

The before timestamp of a lineage event.

", + "location":"querystring", + "locationName":"timestampBefore" + } + } + }, + "ListLineageEventsOutput":{ + "type":"structure", + "members":{ + "items":{ + "shape":"LineageEventSummaries", + "documentation":"

The results of the ListLineageEvents action.

" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

When the number of lineage events is greater than the default value for the MaxResults parameter, or if you explicitly specify a value for MaxResults that is less than the number of lineage events, the response includes a pagination token named NextToken. You can specify this NextToken value in a subsequent call to ListLineageEvents to list the next set of lineage events.

" + } + } + }, "ListLineageNodeHistoryInput":{ "type":"structure", "required":[ @@ -13120,6 +15573,61 @@ } } }, + "ListProjectProfilesInput":{ + "type":"structure", + "required":["domainIdentifier"], + "members":{ + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

The ID of the domain where you want to list project profiles.

", + "location":"uri", + "locationName":"domainIdentifier" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of project profiles to return in a single call to ListProjectProfiles. When the number of project profiles to be listed is greater than the value of MaxResults, the response contains a NextToken value that you can use in a subsequent call to ListProjectProfiles to list the next set of project profiles.

", + "location":"querystring", + "locationName":"maxResults" + }, + "name":{ + "shape":"ProjectProfileName", + "documentation":"

The name of a project profile.

", + "location":"querystring", + "locationName":"name" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

When the number of project profiles is greater than the default value for the MaxResults parameter, or if you explicitly specify a value for MaxResults that is less than the number of project profiles, the response includes a pagination token named NextToken. You can specify this NextToken value in a subsequent call to ListProjectProfiles to list the next set of project profiles.

", + "location":"querystring", + "locationName":"nextToken" + }, + "sortBy":{ + "shape":"SortFieldProject", + "documentation":"

Specifies by what to sort project profiles.

", + "location":"querystring", + "locationName":"sortBy" + }, + "sortOrder":{ + "shape":"SortOrder", + "documentation":"

Specifies the sort order of the project profiles.

", + "location":"querystring", + "locationName":"sortOrder" + } + } + }, + "ListProjectProfilesOutput":{ + "type":"structure", + "members":{ + "items":{ + "shape":"ProjectProfileSummaries", + "documentation":"

The results of the ListProjectProfiles action.

" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

When the number of project profiles is greater than the default value for the MaxResults parameter, or if you explicitly specify a value for MaxResults that is less than the number of project profiles, the response includes a pagination token named NextToken. You can specify this NextToken value in a subsequent call to ListProjectProfiles to list the next set of project profiles.

" + } + } + }, "ListProjectsInput":{ "type":"structure", "required":["domainIdentifier"], @@ -13788,9 +16296,17 @@ "CREATE_PROJECT", "CREATE_ENVIRONMENT_PROFILE", "DELEGATE_CREATE_ENVIRONMENT_PROFILE", - "CREATE_ENVIRONMENT" + "CREATE_ENVIRONMENT", + "CREATE_ENVIRONMENT_FROM_BLUEPRINT", + "CREATE_PROJECT_FROM_PROJECT_PROFILE" ] }, + "MatchCriteria":{ + "type":"list", + "member":{"shape":"String"}, + "max":10, + "min":0 + }, "MaxResults":{ "type":"integer", "box":true, @@ -14015,6 +16531,24 @@ "min":1, "sensitive":true }, + "NameIdentifier":{ + "type":"structure", + "members":{ + "name":{ + "shape":"String", + "documentation":"

The name in the name identifier.

" + }, + "namespace":{ + "shape":"String", + "documentation":"

The namespace in the name identifier.

" + } + }, + "documentation":"

The name identifier.

" + }, + "NameIdentifiers":{ + "type":"list", + "member":{"shape":"NameIdentifier"} + }, "NotEqualToExpression":{ "type":"structure", "required":[ @@ -14128,59 +16662,176 @@ "documentation":"

The type of the notification.

" } }, - "documentation":"

The details of a notification generated in Amazon DataZone.

" + "documentation":"

The details of a notification generated in Amazon DataZone.

" + }, + "NotificationResource":{ + "type":"structure", + "required":[ + "id", + "type" + ], + "members":{ + "id":{ + "shape":"String", + "documentation":"

The ID of the resource mentioned in a notification.

" + }, + "name":{ + "shape":"String", + "documentation":"

The name of the resource mentioned in a notification.

" + }, + "type":{ + "shape":"NotificationResourceType", + "documentation":"

The type of the resource mentioned in a notification.

" + } + }, + "documentation":"

The details of the resource mentioned in a notification.

" + }, + "NotificationResourceType":{ + "type":"string", + "enum":["PROJECT"] + }, + "NotificationRole":{ + "type":"string", + "enum":[ + "PROJECT_OWNER", + "PROJECT_CONTRIBUTOR", + "PROJECT_VIEWER", + "DOMAIN_OWNER", + "PROJECT_SUBSCRIBER" + ] + }, + "NotificationSubjects":{ + "type":"list", + "member":{"shape":"String"} + }, + "NotificationType":{ + "type":"string", + "enum":[ + "TASK", + "EVENT" + ] + }, + "NotificationsList":{ + "type":"list", + "member":{"shape":"NotificationOutput"} + }, + "OAuth2ClientApplication":{ + "type":"structure", + "members":{ + "aWSManagedClientApplicationReference":{ + "shape":"OAuth2ClientApplicationAWSManagedClientApplicationReferenceString", + "documentation":"

The Amazon Web Services managed client application reference in the OAuth2Client application.

" + }, + "userManagedClientApplicationClientId":{ + "shape":"OAuth2ClientApplicationUserManagedClientApplicationClientIdString", + "documentation":"

The user managed client application client ID in the OAuth2Client application.

" + } + }, + "documentation":"

The OAuth2Client application.

" + }, + "OAuth2ClientApplicationAWSManagedClientApplicationReferenceString":{ + "type":"string", + "max":2048, + "min":0, + "pattern":"^\\S+$" + }, + "OAuth2ClientApplicationUserManagedClientApplicationClientIdString":{ + "type":"string", + "max":2048, + "min":0, + "pattern":"^\\S+$" + }, + "OAuth2GrantType":{ + "type":"string", + "enum":[ + "AUTHORIZATION_CODE", + "CLIENT_CREDENTIALS", + "JWT_BEARER" + ] + }, + "OAuth2Properties":{ + "type":"structure", + "members":{ + "authorizationCodeProperties":{ + "shape":"AuthorizationCodeProperties", + "documentation":"

The authorization code properties of the OAuth2 properties.

" + }, + "oAuth2ClientApplication":{ + "shape":"OAuth2ClientApplication", + "documentation":"

The OAuth2 client application of the OAuth2 properties.

" + }, + "oAuth2Credentials":{ + "shape":"GlueOAuth2Credentials", + "documentation":"

The OAuth2 credentials of the OAuth2 properties.

" + }, + "oAuth2GrantType":{ + "shape":"OAuth2GrantType", + "documentation":"

The OAuth2 grant type of the OAuth2 properties.

" + }, + "tokenUrl":{ + "shape":"OAuth2PropertiesTokenUrlString", + "documentation":"

The OAuth2 token URL of the OAuth2 properties.

" + }, + "tokenUrlParametersMap":{ + "shape":"TokenUrlParametersMap", + "documentation":"

The OAuth2 token URL parameter map of the OAuth2 properties.

" + } + }, + "documentation":"

The OAuth2 properties.

" }, - "NotificationResource":{ + "OAuth2PropertiesTokenUrlString":{ + "type":"string", + "max":256, + "min":0, + "pattern":"^(https?)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]$" + }, + "OpenLineageRunEventSummary":{ "type":"structure", - "required":[ - "id", - "type" - ], "members":{ - "id":{ - "shape":"String", - "documentation":"

The ID of the resource mentioned in a notification.

" + "eventType":{ + "shape":"OpenLineageRunState", + "documentation":"

The event type of the open lineage run event summary.

" }, - "name":{ - "shape":"String", - "documentation":"

The name of the resource mentioned in a notification.

" + "inputs":{ + "shape":"NameIdentifiers", + "documentation":"

The inputs of the open lineage run event summary.

" }, - "type":{ - "shape":"NotificationResourceType", - "documentation":"

The type of the resource mentioned in a notification.

" + "job":{ + "shape":"NameIdentifier", + "documentation":"

The job of the open lineage run event summary.

" + }, + "outputs":{ + "shape":"NameIdentifiers", + "documentation":"

The outputs of the open lineage run event summary.

" + }, + "runId":{ + "shape":"String", + "documentation":"

The runID of the open lineage run event summary.

" } }, - "documentation":"

The details of the resource mentioned in a notification.

" - }, - "NotificationResourceType":{ - "type":"string", - "enum":["PROJECT"] + "documentation":"

The open lineage run event summary.

" }, - "NotificationRole":{ + "OpenLineageRunState":{ "type":"string", "enum":[ - "PROJECT_OWNER", - "PROJECT_CONTRIBUTOR", - "PROJECT_VIEWER", - "DOMAIN_OWNER", - "PROJECT_SUBSCRIBER" + "START", + "RUNNING", + "COMPLETE", + "ABORT", + "FAIL", + "OTHER" ] }, - "NotificationSubjects":{ - "type":"list", - "member":{"shape":"String"} - }, - "NotificationType":{ + "OverallDeploymentStatus":{ "type":"string", "enum":[ - "TASK", - "EVENT" + "PENDING_DEPLOYMENT", + "IN_PROGRESS", + "SUCCESSFUL", + "FAILED_VALIDATION", + "FAILED_DEPLOYMENT" ] }, - "NotificationsList":{ - "type":"list", - "member":{"shape":"NotificationOutput"} - }, "OverrideDomainUnitOwnersPolicyGrantDetail":{ "type":"structure", "members":{ @@ -14278,6 +16929,86 @@ "max":8192, "min":1 }, + "ParameterStorePath":{ + "type":"string", + "max":2048, + "min":1 + }, + "Password":{ + "type":"string", + "max":64, + "min":0, + "sensitive":true + }, + "PhysicalConnectionRequirements":{ + "type":"structure", + "members":{ + "availabilityZone":{ + "shape":"PhysicalConnectionRequirementsAvailabilityZoneString", + "documentation":"

The availability zone of the physical connection requirements of a connection.

" + }, + "securityGroupIdList":{ + "shape":"SecurityGroupIdList", + "documentation":"

The group ID list of the physical connection requirements of a connection.

" + }, + "subnetId":{ + "shape":"SubnetId", + "documentation":"

The subnet ID of the physical connection requirements of a connection.

" + }, + "subnetIdList":{ + "shape":"SubnetIdList", + "documentation":"

The subnet ID list of the physical connection requirements of a connection.

" + } + }, + "documentation":"

Physical connection requirements of a connection.

" + }, + "PhysicalConnectionRequirementsAvailabilityZoneString":{ + "type":"string", + "max":255, + "min":1 + }, + "PhysicalEndpoint":{ + "type":"structure", + "members":{ + "awsLocation":{ + "shape":"AwsLocation", + "documentation":"

The location of a connection.

" + }, + "glueConnection":{ + "shape":"GlueConnection", + "documentation":"

The Amazon Web Services Glue connection.

" + }, + "glueConnectionName":{ + "shape":"String", + "documentation":"

The Amazon Web Services Glue connection name.

" + }, + "host":{ + "shape":"String", + "documentation":"

The host in the physical endpoints of a connection.

" + }, + "port":{ + "shape":"Integer", + "documentation":"

The port in the physical endpoints of a connection.

" + }, + "protocol":{ + "shape":"Protocol", + "documentation":"

The protocol in the physical endpoints of a connection.

" + }, + "stage":{ + "shape":"String", + "documentation":"

The stage in the physical endpoints of a connection.

" + } + }, + "documentation":"

The physical endpoints of a connection.

" + }, + "PhysicalEndpoints":{ + "type":"list", + "member":{"shape":"PhysicalEndpoint"} + }, + "PolicyArn":{ + "type":"string", + "pattern":"^arn:aws[^:]*:iam::(aws|\\d{12}):policy/[\\w+=,.@-]*$" + }, "PolicyGrantDetail":{ "type":"structure", "members":{ @@ -14297,6 +17028,7 @@ "shape":"Unit", "documentation":"

Specifies that this is a create environment policy.

" }, + "createEnvironmentFromBlueprint":{"shape":"Unit"}, "createEnvironmentProfile":{ "shape":"CreateEnvironmentProfilePolicyGrantDetail", "documentation":"

Specifies that this is a create environment profile policy.

" @@ -14313,6 +17045,10 @@ "shape":"CreateProjectPolicyGrantDetail", "documentation":"

Specifies that this is a create project policy.

" }, + "createProjectFromProjectProfile":{ + "shape":"CreateProjectFromProjectProfilePolicyGrantDetail", + "documentation":"

Specifies whether to create a project from project profile.

" + }, "delegateCreateEnvironmentProfile":{ "shape":"Unit", "documentation":"

Specifies that this is the delegation of the create environment profile policy.

" @@ -14389,8 +17125,8 @@ "shape":"ClientToken", "documentation":"

A unique, case-sensitive identifier that is provided to ensure the idempotency of the request.

", "idempotencyToken":true, - "location":"querystring", - "locationName":"clientToken" + "location":"header", + "locationName":"Client-Token" }, "domainIdentifier":{ "shape":"DomainId", @@ -14408,6 +17144,14 @@ "PostLineageEventOutput":{ "type":"structure", "members":{ + "domainId":{ + "shape":"DomainId", + "documentation":"

The ID of the domain.

" + }, + "id":{ + "shape":"LineageEventIdentifier", + "documentation":"

The ID of the lineage event.

" + } } }, "PostTimeSeriesDataPointsInput":{ @@ -14572,6 +17316,73 @@ }, "documentation":"

The project policy grant principal.

" }, + "ProjectProfileId":{ + "type":"string", + "pattern":"^[a-zA-Z0-9_-]{1,36}$" + }, + "ProjectProfileList":{ + "type":"list", + "member":{"shape":"String"} + }, + "ProjectProfileName":{ + "type":"string", + "max":64, + "min":1, + "pattern":"^[\\w -]+$", + "sensitive":true + }, + "ProjectProfileSummaries":{ + "type":"list", + "member":{"shape":"ProjectProfileSummary"} + }, + "ProjectProfileSummary":{ + "type":"structure", + "required":[ + "createdBy", + "domainId", + "id", + "name" + ], + "members":{ + "createdAt":{ + "shape":"SyntheticTimestamp_date_time", + "documentation":"

The timestamp of when the project profile was created.

" + }, + "createdBy":{ + "shape":"CreatedBy", + "documentation":"

The user who created the project profile.

" + }, + "description":{ + "shape":"Description", + "documentation":"

The description of the project profile.

" + }, + "domainId":{ + "shape":"DomainId", + "documentation":"

The domain ID of the project profile.

" + }, + "domainUnitId":{ + "shape":"DomainUnitId", + "documentation":"

The domain unit ID of the project profile.

" + }, + "id":{ + "shape":"ProjectProfileId", + "documentation":"

The ID of the project profile.

" + }, + "lastUpdatedAt":{ + "shape":"SyntheticTimestamp_date_time", + "documentation":"

The timestamp at which a project profile was last updated.

" + }, + "name":{ + "shape":"ProjectProfileName", + "documentation":"

The name of a project profile.

" + }, + "status":{ + "shape":"Status", + "documentation":"

The status of a project profile.

" + } + }, + "documentation":"

The summary of a project profile.

" + }, "ProjectStatus":{ "type":"string", "enum":[ @@ -14651,6 +17462,33 @@ }, "documentation":"

Specifies projects in which the rule is created.

" }, + "PropertyMap":{ + "type":"map", + "key":{"shape":"PropertyMapKeyString"}, + "value":{"shape":"PropertyMapValueString"} + }, + "PropertyMapKeyString":{ + "type":"string", + "max":128, + "min":1 + }, + "PropertyMapValueString":{ + "type":"string", + "max":2048, + "min":1 + }, + "Protocol":{ + "type":"string", + "enum":[ + "ATHENA", + "GLUE_INTERACTIVE_SESSION", + "HTTPS", + "JDBC", + "LIVY", + "ODBC", + "PRISM" + ] + }, "ProvisioningConfiguration":{ "type":"structure", "members":{ @@ -14701,6 +17539,10 @@ "location":"uri", "locationName":"environmentBlueprintIdentifier" }, + "environmentRolePermissionBoundary":{ + "shape":"PolicyArn", + "documentation":"

The environment role permissions boundary.

" + }, "manageAccessRoleArn":{ "shape":"RoleArn", "documentation":"

The ARN of the manage access role.

" @@ -14742,6 +17584,10 @@ "shape":"EnvironmentBlueprintId", "documentation":"

The identifier of the environment blueprint.

" }, + "environmentRolePermissionBoundary":{ + "shape":"PolicyArn", + "documentation":"

The environment role permissions boundary.

" + }, "manageAccessRoleArn":{ "shape":"RoleArn", "documentation":"

The ARN of the manage access role.

" @@ -14769,52 +17615,222 @@ "members":{ "enableBusinessNameGeneration":{ "shape":"Boolean", - "documentation":"

Specifies whether automatic business name generation is to be enabled or not as part of the recommendation configuration.

" + "documentation":"

Specifies whether automatic business name generation is to be enabled or not as part of the recommendation configuration.

" + } + }, + "documentation":"

The recommendation to be updated as part of the UpdateDataSource action.

" + }, + "RedshiftClusterStorage":{ + "type":"structure", + "required":["clusterName"], + "members":{ + "clusterName":{ + "shape":"RedshiftClusterStorageClusterNameString", + "documentation":"

The name of an Amazon Redshift cluster.

" + } + }, + "documentation":"

The details of the Amazon Redshift cluster storage.

" + }, + "RedshiftClusterStorageClusterNameString":{ + "type":"string", + "max":63, + "min":1, + "pattern":"^[0-9a-z].[a-z0-9\\-]*$" + }, + "RedshiftCredentialConfiguration":{ + "type":"structure", + "required":["secretManagerArn"], + "members":{ + "secretManagerArn":{ + "shape":"RedshiftCredentialConfigurationSecretManagerArnString", + "documentation":"

The ARN of a secret manager for an Amazon Redshift cluster.

" + } + }, + "documentation":"

The details of the credentials required to access an Amazon Redshift cluster.

" + }, + "RedshiftCredentialConfigurationSecretManagerArnString":{ + "type":"string", + "max":256, + "min":0, + "pattern":"^arn:aws[^:]*:secretsmanager:[a-z]{2}-?(iso|gov)?-{1}[a-z]*-{1}[0-9]:\\d{12}:secret:.*$" + }, + "RedshiftCredentials":{ + "type":"structure", + "members":{ + "secretArn":{ + "shape":"RedshiftCredentialsSecretArnString", + "documentation":"

The secret ARN of the Amazon Redshift credentials of a connection.

" + }, + "usernamePassword":{ + "shape":"UsernamePassword", + "documentation":"

The username and password of the Amazon Redshift credentials of a connection.

" + } + }, + "documentation":"

Amazon Redshift credentials of a connection.

", + "sensitive":true, + "union":true + }, + "RedshiftCredentialsSecretArnString":{ + "type":"string", + "pattern":"^arn:aws[^:]*:secretsmanager:[a-z]{2}-?(iso|gov)?-{1}[a-z]*-{1}[0-9]:\\d{12}:secret:.*$" + }, + "RedshiftLineageSyncConfigurationInput":{ + "type":"structure", + "members":{ + "enabled":{ + "shape":"Boolean", + "documentation":"

Specifies whether the Amaon Redshift lineage sync configuration is enabled.

" + }, + "schedule":{ + "shape":"LineageSyncSchedule", + "documentation":"

The schedule of the Amaon Redshift lineage sync configuration.

" + } + }, + "documentation":"

The Amaon Redshift lineage sync configuration.

" + }, + "RedshiftLineageSyncConfigurationOutput":{ + "type":"structure", + "members":{ + "enabled":{ + "shape":"Boolean", + "documentation":"

Specifies whether the Amaon Redshift lineage sync configuration is enabled.

" + }, + "lineageJobId":{ + "shape":"String", + "documentation":"

The lineage job ID of the Amaon Redshift lineage sync configuration.

" + }, + "schedule":{ + "shape":"LineageSyncSchedule", + "documentation":"

The schedule of teh Amaon Redshift lineage sync configuration.

" + } + }, + "documentation":"

The Amaon Redshift lineage sync configuration.

" + }, + "RedshiftPropertiesInput":{ + "type":"structure", + "members":{ + "credentials":{ + "shape":"RedshiftCredentials", + "documentation":"

The Amaon Redshift credentials.

" + }, + "databaseName":{ + "shape":"RedshiftPropertiesInputDatabaseNameString", + "documentation":"

The Amazon Redshift database name.

" + }, + "host":{ + "shape":"RedshiftPropertiesInputHostString", + "documentation":"

The Amazon Redshift host.

" + }, + "lineageSync":{ + "shape":"RedshiftLineageSyncConfigurationInput", + "documentation":"

The lineage sync of the Amazon Redshift.

" + }, + "port":{ + "shape":"Integer", + "documentation":"

The Amaon Redshift port.

" + }, + "storage":{ + "shape":"RedshiftStorageProperties", + "documentation":"

The Amazon Redshift storage.

" + } + }, + "documentation":"

The Amazon Redshift properties.

" + }, + "RedshiftPropertiesInputDatabaseNameString":{ + "type":"string", + "max":256, + "min":0 + }, + "RedshiftPropertiesInputHostString":{ + "type":"string", + "max":256, + "min":0 + }, + "RedshiftPropertiesOutput":{ + "type":"structure", + "members":{ + "credentials":{ + "shape":"RedshiftCredentials", + "documentation":"

The Amazon Redshift credentials.

" + }, + "databaseName":{ + "shape":"String", + "documentation":"

The Amazon Redshift database name.

" + }, + "isProvisionedSecret":{ + "shape":"Boolean", + "documentation":"

Specifies whether Amaon Redshift properties has a provisioned secret.

" + }, + "jdbcIamUrl":{ + "shape":"String", + "documentation":"

The jdbcIam URL of the Amazon Redshift properties.

" + }, + "jdbcUrl":{ + "shape":"String", + "documentation":"

The jdbcURL of the Amazon Redshift properties.

" + }, + "lineageSync":{ + "shape":"RedshiftLineageSyncConfigurationOutput", + "documentation":"

The lineage syn of the Amazon Redshift properties.

" + }, + "redshiftTempDir":{ + "shape":"String", + "documentation":"

The redshiftTempDir of the Amazon Redshift properties.

" + }, + "status":{ + "shape":"ConnectionStatus", + "documentation":"

The status in the Amazon Redshift properties.

" + }, + "storage":{ + "shape":"RedshiftStorageProperties", + "documentation":"

The storage in the Amazon Redshift properties.

" } }, - "documentation":"

The recommendation to be updated as part of the UpdateDataSource action.

" + "documentation":"

The Amazon Redshift properties.

" }, - "RedshiftClusterStorage":{ + "RedshiftPropertiesPatch":{ "type":"structure", - "required":["clusterName"], "members":{ - "clusterName":{ - "shape":"RedshiftClusterStorageClusterNameString", - "documentation":"

The name of an Amazon Redshift cluster.

" + "credentials":{ + "shape":"RedshiftCredentials", + "documentation":"

The credentials in the Amazon Redshift properties patch.

" + }, + "databaseName":{ + "shape":"RedshiftPropertiesPatchDatabaseNameString", + "documentation":"

The name in the Amazon Redshift properties patch.

" + }, + "host":{ + "shape":"RedshiftPropertiesPatchHostString", + "documentation":"

The host in the Amazon Redshift properties patch.

" + }, + "lineageSync":{ + "shape":"RedshiftLineageSyncConfigurationInput", + "documentation":"

The lineage sync in the Amazon Redshift properties patch.

" + }, + "port":{ + "shape":"Integer", + "documentation":"

The port in the Amazon Redshift properties patch.

" + }, + "storage":{ + "shape":"RedshiftStorageProperties", + "documentation":"

The storage in the Amazon Redshift properties patch.

" } }, - "documentation":"

The details of the Amazon Redshift cluster storage.

" + "documentation":"

Amazon Redshift properties patch.

" }, - "RedshiftClusterStorageClusterNameString":{ + "RedshiftPropertiesPatchDatabaseNameString":{ "type":"string", - "max":63, - "min":1, - "pattern":"^[0-9a-z].[a-z0-9\\-]*$" - }, - "RedshiftCredentialConfiguration":{ - "type":"structure", - "required":["secretManagerArn"], - "members":{ - "secretManagerArn":{ - "shape":"RedshiftCredentialConfigurationSecretManagerArnString", - "documentation":"

The ARN of a secret manager for an Amazon Redshift cluster.

" - } - }, - "documentation":"

The details of the credentials required to access an Amazon Redshift cluster.

" + "max":256, + "min":0 }, - "RedshiftCredentialConfigurationSecretManagerArnString":{ + "RedshiftPropertiesPatchHostString":{ "type":"string", "max":256, - "min":0, - "pattern":"^arn:aws[^:]*:secretsmanager:[a-z]{2}-?(iso|gov)?-{1}[a-z]*-{1}[0-9]:\\d{12}:secret:.*$" + "min":0 }, "RedshiftRunConfigurationInput":{ "type":"structure", - "required":[ - "redshiftCredentialConfiguration", - "redshiftStorage", - "relationalFilterConfigurations" - ], + "required":["relationalFilterConfigurations"], "members":{ "dataAccessRole":{ "shape":"RedshiftRunConfigurationInputDataAccessRoleString", @@ -14836,7 +17852,6 @@ "RedshiftRunConfigurationOutput":{ "type":"structure", "required":[ - "redshiftCredentialConfiguration", "redshiftStorage", "relationalFilterConfigurations" ], @@ -14921,6 +17936,46 @@ "documentation":"

The details of the Amazon Redshift storage as part of the configuration of an Amazon Redshift data source run.

", "union":true }, + "RedshiftStorageProperties":{ + "type":"structure", + "members":{ + "clusterName":{ + "shape":"RedshiftStoragePropertiesClusterNameString", + "documentation":"

The cluster name in the Amazon Redshift storage properties.

" + }, + "workgroupName":{ + "shape":"RedshiftStoragePropertiesWorkgroupNameString", + "documentation":"

The workgroup name in the Amazon Redshift storage properties.

" + } + }, + "documentation":"

The Amazon Redshift storage properties.

", + "union":true + }, + "RedshiftStoragePropertiesClusterNameString":{ + "type":"string", + "max":256, + "min":0 + }, + "RedshiftStoragePropertiesWorkgroupNameString":{ + "type":"string", + "max":256, + "min":0 + }, + "Region":{ + "type":"structure", + "members":{ + "regionName":{ + "shape":"RegionName", + "documentation":"

The Amazon Web Services Region name.

" + }, + "regionNamePath":{ + "shape":"ParameterStorePath", + "documentation":"

The region name path.

" + } + }, + "documentation":"

The Amazon Web Services Region.

", + "union":true + }, "RegionName":{ "type":"string", "max":16, @@ -15649,6 +18704,10 @@ "type":"string", "enum":["METADATA_FORM_ENFORCEMENT"] }, + "RunIdentifier":{ + "type":"string", + "pattern":"^[a-zA-Z0-9_-]{1,36}$" + }, "RunStatisticsForAssets":{ "type":"structure", "members":{ @@ -15687,6 +18746,57 @@ "max":20, "min":0 }, + "SageMakerAssetType":{ + "type":"string", + "max":64, + "min":1 + }, + "SageMakerResourceArn":{ + "type":"string", + "pattern":"^arn:aws[^:]*:sagemaker:[a-z]{2}-?(iso|gov)?-{1}[a-z]*-{1}[0-9]:\\d{12}:[\\w+=,.@-]{1,128}/[\\w+=,.@-]{1,256}$" + }, + "SageMakerRunConfigurationInput":{ + "type":"structure", + "required":["trackingAssets"], + "members":{ + "trackingAssets":{ + "shape":"TrackingAssets", + "documentation":"

The tracking assets of the Amazon SageMaker run.

" + } + }, + "documentation":"

The Amazon SageMaker run configuration.

" + }, + "SageMakerRunConfigurationOutput":{ + "type":"structure", + "required":["trackingAssets"], + "members":{ + "accountId":{ + "shape":"SageMakerRunConfigurationOutputAccountIdString", + "documentation":"

The Amazon SageMaker account ID.

" + }, + "region":{ + "shape":"SageMakerRunConfigurationOutputRegionString", + "documentation":"

The Amazon SageMaker Region.

" + }, + "trackingAssets":{ + "shape":"TrackingAssets", + "documentation":"

The tracking assets of the Amazon SageMaker.

" + } + }, + "documentation":"

The Amazon SageMaker run configuration.

" + }, + "SageMakerRunConfigurationOutputAccountIdString":{ + "type":"string", + "max":12, + "min":12, + "pattern":"^\\d{12}$" + }, + "SageMakerRunConfigurationOutputRegionString":{ + "type":"string", + "max":16, + "min":4, + "pattern":"[a-z]{2}-?(iso|gov)?-{1}[a-z]*-{1}[0-9]" + }, "ScheduleConfiguration":{ "type":"structure", "members":{ @@ -16097,6 +19207,17 @@ } } }, + "SecurityGroupIdList":{ + "type":"list", + "member":{"shape":"SecurityGroupIdListMemberString"}, + "max":50, + "min":0 + }, + "SecurityGroupIdListMemberString":{ + "type":"string", + "max":255, + "min":1 + }, "SelfGrantStatus":{ "type":"string", "enum":[ @@ -16177,48 +19298,349 @@ }, "exception":true }, - "ShortDescription":{ + "ShortDescription":{ + "type":"string", + "max":1024, + "min":0, + "sensitive":true + }, + "SingleSignOn":{ + "type":"structure", + "members":{ + "type":{ + "shape":"AuthType", + "documentation":"

The type of single sign-on in Amazon DataZone.

" + }, + "userAssignment":{ + "shape":"UserAssignment", + "documentation":"

The single sign-on user assignment in Amazon DataZone.

" + } + }, + "documentation":"

The single sign-on details in Amazon DataZone.

" + }, + "Smithy":{ + "type":"string", + "max":100000, + "min":1 + }, + "SortFieldConnection":{ + "type":"string", + "enum":["NAME"] + }, + "SortFieldProject":{ + "type":"string", + "enum":["NAME"] + }, + "SortKey":{ + "type":"string", + "enum":[ + "CREATED_AT", + "UPDATED_AT" + ] + }, + "SortOrder":{ + "type":"string", + "enum":[ + "ASCENDING", + "DESCENDING" + ] + }, + "SparkEmrPropertiesInput":{ + "type":"structure", + "members":{ + "computeArn":{ + "shape":"SparkEmrPropertiesInputComputeArnString", + "documentation":"

The compute ARN of Spark EMR.

" + }, + "instanceProfileArn":{ + "shape":"SparkEmrPropertiesInputInstanceProfileArnString", + "documentation":"

The instance profile ARN of Spark EMR.

" + }, + "javaVirtualEnv":{ + "shape":"SparkEmrPropertiesInputJavaVirtualEnvString", + "documentation":"

The java virtual env of the Spark EMR.

" + }, + "logUri":{ + "shape":"SparkEmrPropertiesInputLogUriString", + "documentation":"

The log URI of the Spark EMR.

" + }, + "pythonVirtualEnv":{ + "shape":"SparkEmrPropertiesInputPythonVirtualEnvString", + "documentation":"

The Python virtual env of the Spark EMR.

" + }, + "runtimeRole":{ + "shape":"SparkEmrPropertiesInputRuntimeRoleString", + "documentation":"

The runtime role of the Spark EMR.

" + }, + "trustedCertificatesS3Uri":{ + "shape":"SparkEmrPropertiesInputTrustedCertificatesS3UriString", + "documentation":"

The certificates S3 URI of the Spark EMR.

" + } + }, + "documentation":"

The Spark EMR properties.

" + }, + "SparkEmrPropertiesInputComputeArnString":{ + "type":"string", + "max":256, + "min":0 + }, + "SparkEmrPropertiesInputInstanceProfileArnString":{ + "type":"string", + "max":256, + "min":0 + }, + "SparkEmrPropertiesInputJavaVirtualEnvString":{ + "type":"string", + "max":256, + "min":0 + }, + "SparkEmrPropertiesInputLogUriString":{ + "type":"string", + "max":256, + "min":0 + }, + "SparkEmrPropertiesInputPythonVirtualEnvString":{ + "type":"string", + "max":256, + "min":0 + }, + "SparkEmrPropertiesInputRuntimeRoleString":{ + "type":"string", + "pattern":"^arn:aws[^:]*:iam::\\d{12}:(role|role/service-role)/[\\w+=,.@-]*$" + }, + "SparkEmrPropertiesInputTrustedCertificatesS3UriString":{ + "type":"string", + "max":256, + "min":0 + }, + "SparkEmrPropertiesOutput":{ + "type":"structure", + "members":{ + "computeArn":{ + "shape":"String", + "documentation":"

The compute ARN of the Spark EMR.

" + }, + "credentials":{ + "shape":"UsernamePassword", + "documentation":"

The credentials of the Spark EMR.

" + }, + "credentialsExpiration":{ + "shape":"SyntheticTimestamp_date_time", + "documentation":"

The credential expiration of the Spark EMR.

" + }, + "governanceType":{ + "shape":"GovernanceType", + "documentation":"

The governance type of the Spark EMR.

" + }, + "instanceProfileArn":{ + "shape":"String", + "documentation":"

The instance profile ARN of the Spark EMR.

" + }, + "javaVirtualEnv":{ + "shape":"String", + "documentation":"

The Java virtual env of the Spark EMR.

" + }, + "livyEndpoint":{ + "shape":"String", + "documentation":"

The livy endpoint of the Spark EMR.

" + }, + "logUri":{ + "shape":"String", + "documentation":"

The log URI of the Spark EMR.

" + }, + "pythonVirtualEnv":{ + "shape":"String", + "documentation":"

The Python virtual env of the Spark EMR.

" + }, + "runtimeRole":{ + "shape":"String", + "documentation":"

The runtime role of the Spark EMR.

" + }, + "trustedCertificatesS3Uri":{ + "shape":"String", + "documentation":"

The trusted certificate S3 URL of the Spark EMR.

" + } + }, + "documentation":"

The Spark EMR properties.

" + }, + "SparkEmrPropertiesPatch":{ + "type":"structure", + "members":{ + "computeArn":{ + "shape":"SparkEmrPropertiesPatchComputeArnString", + "documentation":"

The compute ARN in the Spark EMR properties patch.

" + }, + "instanceProfileArn":{ + "shape":"SparkEmrPropertiesPatchInstanceProfileArnString", + "documentation":"

The instance profile ARN in the Spark EMR properties patch.

" + }, + "javaVirtualEnv":{ + "shape":"SparkEmrPropertiesPatchJavaVirtualEnvString", + "documentation":"

The Java virtual evn in the Spark EMR properties patch.

" + }, + "logUri":{ + "shape":"SparkEmrPropertiesPatchLogUriString", + "documentation":"

The log URI in the Spark EMR properties patch.

" + }, + "pythonVirtualEnv":{ + "shape":"SparkEmrPropertiesPatchPythonVirtualEnvString", + "documentation":"

The Python virtual env in the Spark EMR properties patch.

" + }, + "runtimeRole":{ + "shape":"SparkEmrPropertiesPatchRuntimeRoleString", + "documentation":"

The runtime role in the Spark EMR properties patch.

" + }, + "trustedCertificatesS3Uri":{ + "shape":"SparkEmrPropertiesPatchTrustedCertificatesS3UriString", + "documentation":"

The trusted certificates S3 URI in the Spark EMR properties patch.

" + } + }, + "documentation":"

The Spark EMR properties patch.

" + }, + "SparkEmrPropertiesPatchComputeArnString":{ + "type":"string", + "max":256, + "min":0 + }, + "SparkEmrPropertiesPatchInstanceProfileArnString":{ + "type":"string", + "max":256, + "min":0 + }, + "SparkEmrPropertiesPatchJavaVirtualEnvString":{ + "type":"string", + "max":256, + "min":0 + }, + "SparkEmrPropertiesPatchLogUriString":{ + "type":"string", + "max":256, + "min":0 + }, + "SparkEmrPropertiesPatchPythonVirtualEnvString":{ + "type":"string", + "max":256, + "min":0 + }, + "SparkEmrPropertiesPatchRuntimeRoleString":{ + "type":"string", + "pattern":"^arn:aws[^:]*:iam::\\d{12}:(role|role/service-role)/[\\w+=,.@-]*$" + }, + "SparkEmrPropertiesPatchTrustedCertificatesS3UriString":{ "type":"string", - "max":1024, - "min":0, - "sensitive":true + "max":256, + "min":0 }, - "SingleSignOn":{ + "SparkGlueArgs":{ "type":"structure", "members":{ - "type":{ - "shape":"AuthType", - "documentation":"

The type of single sign-on in Amazon DataZone.

" + "connection":{ + "shape":"String", + "documentation":"

The connection in the Spark Amazon Web Services Glue args.

" + } + }, + "documentation":"

The Spark Amazon Web Services Glue args.

" + }, + "SparkGluePropertiesInput":{ + "type":"structure", + "members":{ + "additionalArgs":{ + "shape":"SparkGlueArgs", + "documentation":"

The additional args in the Spark Amazon Web Services Glue properties.

" }, - "userAssignment":{ - "shape":"UserAssignment", - "documentation":"

The single sign-on user assignment in Amazon DataZone.

" + "glueConnectionName":{ + "shape":"SparkGluePropertiesInputGlueConnectionNameString", + "documentation":"

The Amazon Web Services Glue connection name in the Spark Amazon Web Services Glue properties.

" + }, + "glueVersion":{ + "shape":"SparkGluePropertiesInputGlueVersionString", + "documentation":"

The Amazon Web Services Glue version in the Spark Amazon Web Services Glue properties.

" + }, + "idleTimeout":{ + "shape":"Integer", + "documentation":"

The idle timeout in the Spark Amazon Web Services Glue properties.

" + }, + "javaVirtualEnv":{ + "shape":"SparkGluePropertiesInputJavaVirtualEnvString", + "documentation":"

The Java virtual env in the Spark Amazon Web Services Glue properties.

" + }, + "numberOfWorkers":{ + "shape":"Integer", + "documentation":"

The number of workers in the Spark Amazon Web Services Glue properties.

" + }, + "pythonVirtualEnv":{ + "shape":"SparkGluePropertiesInputPythonVirtualEnvString", + "documentation":"

The Python virtual env in the Spark Amazon Web Services Glue properties.

" + }, + "workerType":{ + "shape":"SparkGluePropertiesInputWorkerTypeString", + "documentation":"

The worker type in the Spark Amazon Web Services Glue properties.

" } }, - "documentation":"

The single sign-on details in Amazon DataZone.

" + "documentation":"

The Spark Amazon Web Services Glue properties.

" }, - "Smithy":{ + "SparkGluePropertiesInputGlueConnectionNameString":{ "type":"string", - "max":100000, - "min":1 + "max":256, + "min":0 }, - "SortFieldProject":{ + "SparkGluePropertiesInputGlueVersionString":{ "type":"string", - "enum":["NAME"] + "max":256, + "min":0 }, - "SortKey":{ + "SparkGluePropertiesInputJavaVirtualEnvString":{ "type":"string", - "enum":[ - "CREATED_AT", - "UPDATED_AT" - ] + "max":256, + "min":0 }, - "SortOrder":{ + "SparkGluePropertiesInputPythonVirtualEnvString":{ "type":"string", - "enum":[ - "ASCENDING", - "DESCENDING" - ] + "max":256, + "min":0 + }, + "SparkGluePropertiesInputWorkerTypeString":{ + "type":"string", + "max":256, + "min":0 + }, + "SparkGluePropertiesOutput":{ + "type":"structure", + "members":{ + "additionalArgs":{ + "shape":"SparkGlueArgs", + "documentation":"

The additional args in the Spark Amazon Web Services Glue properties.

" + }, + "glueConnectionName":{ + "shape":"String", + "documentation":"

The Amazon Web Services Glue connection name in the Spark Amazon Web Services Glue properties.

" + }, + "glueVersion":{ + "shape":"String", + "documentation":"

The Amazon Web Services Glue version in the Spark Amazon Web Services Glue properties.

" + }, + "idleTimeout":{ + "shape":"Integer", + "documentation":"

The idle timeout in the Spark Amazon Web Services Glue properties.

" + }, + "javaVirtualEnv":{ + "shape":"String", + "documentation":"

The Java virtual env in the Spark Amazon Web Services Glue properties.

" + }, + "numberOfWorkers":{ + "shape":"Integer", + "documentation":"

The number of workers in the Spark Amazon Web Services Glue properties.

" + }, + "pythonVirtualEnv":{ + "shape":"String", + "documentation":"

The Python virtual env in the Spark Amazon Web Services Glue properties.

" + }, + "workerType":{ + "shape":"String", + "documentation":"

The worker type in the Spark Amazon Web Services Glue properties.

" + } + }, + "documentation":"

The Spark Amazon Web Services Glue properties.

" }, "SsoUserProfileDetails":{ "type":"structure", @@ -16402,11 +19824,30 @@ } } }, + "Status":{ + "type":"string", + "enum":[ + "ENABLED", + "DISABLED" + ] + }, "String":{"type":"string"}, "StringList":{ "type":"list", "member":{"shape":"String"} }, + "SubnetId":{ + "type":"string", + "max":32, + "min":0, + "pattern":"^subnet-[a-z0-9]+$" + }, + "SubnetIdList":{ + "type":"list", + "member":{"shape":"SubnetId"}, + "max":50, + "min":1 + }, "SubscribedAsset":{ "type":"structure", "required":[ @@ -16949,7 +20390,6 @@ "domainId", "environmentId", "id", - "manageAccessRole", "name", "projectId", "provider", @@ -16986,7 +20426,7 @@ "documentation":"

The identifier of the subscription target.

" }, "manageAccessRole":{ - "shape":"String", + "shape":"IamRoleArn", "documentation":"

The manage access role specified in the subscription target.

" }, "name":{ @@ -17356,6 +20796,21 @@ "min":0, "sensitive":true }, + "TokenUrlParametersMap":{ + "type":"map", + "key":{"shape":"TokenUrlParametersMapKeyString"}, + "value":{"shape":"TokenUrlParametersMapValueString"} + }, + "TokenUrlParametersMapKeyString":{ + "type":"string", + "max":128, + "min":1 + }, + "TokenUrlParametersMapValueString":{ + "type":"string", + "max":512, + "min":1 + }, "Topic":{ "type":"structure", "required":[ @@ -17376,6 +20831,19 @@ }, "documentation":"

The topic of the notification.

" }, + "TrackingAssetArns":{ + "type":"list", + "member":{"shape":"SageMakerResourceArn"}, + "max":500, + "min":0 + }, + "TrackingAssets":{ + "type":"map", + "key":{"shape":"SageMakerAssetType"}, + "value":{"shape":"TrackingAssetArns"}, + "max":1, + "min":1 + }, "TypeName":{ "type":"string", "max":256, @@ -17531,6 +20999,98 @@ } } }, + "UpdateConnectionInput":{ + "type":"structure", + "required":[ + "domainIdentifier", + "identifier" + ], + "members":{ + "awsLocation":{ + "shape":"AwsLocation", + "documentation":"

The location where a connection is to be updated.

" + }, + "description":{ + "shape":"UpdateConnectionInputDescriptionString", + "documentation":"

The description of a connection.

" + }, + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

The ID of the domain where a connection is to be updated.

", + "location":"uri", + "locationName":"domainIdentifier" + }, + "identifier":{ + "shape":"ConnectionId", + "documentation":"

The ID of the connection to be updated.

", + "location":"uri", + "locationName":"identifier" + }, + "props":{ + "shape":"ConnectionPropertiesPatch", + "documentation":"

The connection props.

" + } + } + }, + "UpdateConnectionInputDescriptionString":{ + "type":"string", + "max":128, + "min":1, + "sensitive":true + }, + "UpdateConnectionOutput":{ + "type":"structure", + "required":[ + "connectionId", + "domainId", + "domainUnitId", + "name", + "physicalEndpoints", + "type" + ], + "members":{ + "connectionId":{ + "shape":"ConnectionId", + "documentation":"

The ID of the connection.

" + }, + "description":{ + "shape":"Description", + "documentation":"

The connection description.

" + }, + "domainId":{ + "shape":"DomainId", + "documentation":"

The ID of the domain where a connection is to be updated.

" + }, + "domainUnitId":{ + "shape":"DomainUnitId", + "documentation":"

The ID of the domain unit where a connection is to be updated.

" + }, + "environmentId":{ + "shape":"EnvironmentId", + "documentation":"

The ID of the environment where a connection is to be updated.

" + }, + "name":{ + "shape":"ConnectionName", + "documentation":"

The name of the connection.

" + }, + "physicalEndpoints":{ + "shape":"PhysicalEndpoints", + "documentation":"

The physical endpoints of the connection.

" + }, + "projectId":{ + "shape":"ProjectId", + "documentation":"

The project ID of the connection.

" + }, + "props":{ + "shape":"ConnectionPropertiesOutput", + "documentation":"

The connection props.

" + }, + "type":{ + "shape":"ConnectionType", + "documentation":"

The connection type.

" + } + } + }, "UpdateDataSourceInput":{ "type":"structure", "required":[ @@ -17592,7 +21152,6 @@ "type":"structure", "required":[ "domainId", - "environmentId", "id", "name", "projectId" @@ -17606,6 +21165,10 @@ "shape":"DataSourceConfigurationOutput", "documentation":"

The configuration to be updated as part of the UpdateDataSource action.

" }, + "connectionId":{ + "shape":"String", + "documentation":"

The connection ID.

" + }, "createdAt":{ "shape":"DateTime", "documentation":"

The timestamp of when the data source was updated.

" @@ -17717,6 +21280,10 @@ "shape":"String", "documentation":"

The name to be updated as part of the UpdateDomain action.

" }, + "serviceRole":{ + "shape":"RoleArn", + "documentation":"

The service role of the domain.

" + }, "singleSignOn":{ "shape":"SingleSignOn", "documentation":"

The single sign-on option to be updated as part of the UpdateDomain action.

" @@ -17751,6 +21318,10 @@ "shape":"DomainUnitId", "documentation":"

The ID of the root domain unit.

" }, + "serviceRole":{ + "shape":"RoleArn", + "documentation":"

The service role of the domain.

" + }, "singleSignOn":{ "shape":"SingleSignOn", "documentation":"

The single sign-on option of the Amazon DataZone domain.

" @@ -18369,6 +21940,10 @@ "location":"uri", "locationName":"domainIdentifier" }, + "environmentDeploymentDetails":{ + "shape":"EnvironmentDeploymentDetails", + "documentation":"

The environment deployment details of the project.

" + }, "glossaryTerms":{ "shape":"GlossaryTerms", "documentation":"

The glossary terms to be updated as part of the UpdateProject action.

" @@ -18414,6 +21989,10 @@ "shape":"DomainUnitId", "documentation":"

The ID of the domain unit.

" }, + "environmentDeploymentDetails":{ + "shape":"EnvironmentDeploymentDetails", + "documentation":"

The environment deployment details of the project.

" + }, "failureReasons":{ "shape":"FailureReasons", "documentation":"

Specifies the error message that is returned if the operation cannot be successfully completed.

" @@ -18434,9 +22013,109 @@ "shape":"ProjectName", "documentation":"

The name of the project that is to be updated.

" }, + "projectProfileId":{ + "shape":"ProjectProfileId", + "documentation":"

The ID of the project profile.

" + }, "projectStatus":{ "shape":"ProjectStatus", "documentation":"

The status of the project.

" + }, + "userParameters":{ + "shape":"EnvironmentConfigurationUserParametersList", + "documentation":"

The user parameters of the project.

" + } + } + }, + "UpdateProjectProfileInput":{ + "type":"structure", + "required":[ + "domainIdentifier", + "identifier" + ], + "members":{ + "description":{ + "shape":"Description", + "documentation":"

The description of a project profile.

" + }, + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

The ID of the domain where a project profile is to be updated.

", + "location":"uri", + "locationName":"domainIdentifier" + }, + "domainUnitIdentifier":{ + "shape":"DomainUnitId", + "documentation":"

The ID of the domain unit where a project profile is to be updated.

" + }, + "environmentConfigurations":{ + "shape":"EnvironmentConfigurationsList", + "documentation":"

The environment configurations of a project profile.

" + }, + "identifier":{ + "shape":"ProjectProfileId", + "documentation":"

The ID of a project profile that is to be updated.

", + "location":"uri", + "locationName":"identifier" + }, + "name":{ + "shape":"ProjectProfileName", + "documentation":"

The name of a project profile.

" + }, + "status":{ + "shape":"Status", + "documentation":"

The status of a project profile.

" + } + } + }, + "UpdateProjectProfileOutput":{ + "type":"structure", + "required":[ + "createdBy", + "domainId", + "id", + "name" + ], + "members":{ + "createdAt":{ + "shape":"SyntheticTimestamp_date_time", + "documentation":"

The timestamp at which a project profile is created.

" + }, + "createdBy":{ + "shape":"CreatedBy", + "documentation":"

The user who created a project profile.

" + }, + "description":{ + "shape":"Description", + "documentation":"

The description of a project profile.

" + }, + "domainId":{ + "shape":"DomainId", + "documentation":"

The ID of the domain where project profile is to be updated.

" + }, + "domainUnitId":{ + "shape":"DomainUnitId", + "documentation":"

The domain unit ID of the project profile to be updated.

" + }, + "environmentConfigurations":{ + "shape":"EnvironmentConfigurationsList", + "documentation":"

The environment configurations of a project profile.

" + }, + "id":{ + "shape":"ProjectProfileId", + "documentation":"

The ID of the project profile.

" + }, + "lastUpdatedAt":{ + "shape":"SyntheticTimestamp_date_time", + "documentation":"

The timestamp at which a project profile was last updated.

" + }, + "name":{ + "shape":"ProjectProfileName", + "documentation":"

The name of the project profile.

" + }, + "status":{ + "shape":"Status", + "documentation":"

The status of the project profile.

" } } }, @@ -18799,7 +22478,7 @@ "locationName":"identifier" }, "manageAccessRole":{ - "shape":"String", + "shape":"IamRoleArn", "documentation":"

The manage access role to be updated as part of the UpdateSubscriptionTarget action.

" }, "name":{ @@ -18826,7 +22505,6 @@ "domainId", "environmentId", "id", - "manageAccessRole", "name", "projectId", "provider", @@ -18863,7 +22541,7 @@ "documentation":"

Identifier of the subscription target that is to be updated.

" }, "manageAccessRole":{ - "shape":"String", + "shape":"IamRoleArn", "documentation":"

The manage access role to be updated as part of the UpdateSubscriptionTarget action.

" }, "name":{ @@ -19092,6 +22770,30 @@ "SSO_USER" ] }, + "Username":{ + "type":"string", + "max":64, + "min":0 + }, + "UsernamePassword":{ + "type":"structure", + "required":[ + "password", + "username" + ], + "members":{ + "password":{ + "shape":"Password", + "documentation":"

The password of a connection.

" + }, + "username":{ + "shape":"Username", + "documentation":"

The username of a connection.

" + } + }, + "documentation":"

The username and password of a connection.

", + "sensitive":true + }, "ValidationException":{ "type":"structure", "required":["message"], diff --git a/botocore/data/dsql/2018-05-10/endpoint-rule-set-1.json b/botocore/data/dsql/2018-05-10/endpoint-rule-set-1.json new file mode 100644 index 0000000000..dfcc1b27f1 --- /dev/null +++ b/botocore/data/dsql/2018-05-10/endpoint-rule-set-1.json @@ -0,0 +1,137 @@ +{ + "version": "1.0", + "parameters": { + "UseFIPS": { + "builtIn": "AWS::UseFIPS", + "required": true, + "default": false, + "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", + "type": "Boolean" + }, + "Endpoint": { + "builtIn": "SDK::Endpoint", + "required": false, + "documentation": "Override the endpoint used to send this request", + "type": "String" + }, + "Region": { + "builtIn": "AWS::Region", + "required": false, + "documentation": "The AWS region used to dispatch the request.", + "type": "String" + } + }, + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "endpoint": { + "url": "https://dsql-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "https://dsql.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" + } + ], + "type": "tree" + } + ] +} \ No newline at end of file diff --git a/botocore/data/dsql/2018-05-10/paginators-1.json b/botocore/data/dsql/2018-05-10/paginators-1.json new file mode 100644 index 0000000000..c9cfb66eb2 --- /dev/null +++ b/botocore/data/dsql/2018-05-10/paginators-1.json @@ -0,0 +1,10 @@ +{ + "pagination": { + "ListClusters": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "clusters" + } + } +} diff --git a/botocore/data/dsql/2018-05-10/service-2.json b/botocore/data/dsql/2018-05-10/service-2.json new file mode 100644 index 0000000000..c8a102cb0c --- /dev/null +++ b/botocore/data/dsql/2018-05-10/service-2.json @@ -0,0 +1,917 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2018-05-10", + "auth":["aws.auth#sigv4"], + "endpointPrefix":"dsql", + "protocol":"rest-json", + "protocols":["rest-json"], + "serviceFullName":"Amazon Aurora DSQL", + "serviceId":"DSQL", + "signatureVersion":"v4", + "signingName":"dsql", + "uid":"dsql-2018-05-10" + }, + "operations":{ + "CreateCluster":{ + "name":"CreateCluster", + "http":{ + "method":"POST", + "requestUri":"/cluster", + "responseCode":200 + }, + "input":{"shape":"CreateClusterInput"}, + "output":{"shape":"CreateClusterOutput"}, + "errors":[ + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"} + ], + "documentation":"

Creates a cluster in Amazon Aurora DSQL.

" + }, + "CreateMultiRegionClusters":{ + "name":"CreateMultiRegionClusters", + "http":{ + "method":"POST", + "requestUri":"/multi-region-clusters", + "responseCode":200 + }, + "input":{"shape":"CreateMultiRegionClustersInput"}, + "output":{"shape":"CreateMultiRegionClustersOutput"}, + "errors":[ + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"} + ], + "documentation":"

Creates multi-Region clusters in Amazon Aurora DSQL. Multi-Region clusters require a linked Region list, which is an array of the Regions in which you want to create linked clusters. Multi-Region clusters require a witness Region, which participates in quorum in failure scenarios.

" + }, + "DeleteCluster":{ + "name":"DeleteCluster", + "http":{ + "method":"DELETE", + "requestUri":"/cluster/{identifier}", + "responseCode":200 + }, + "input":{"shape":"DeleteClusterInput"}, + "output":{"shape":"DeleteClusterOutput"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"} + ], + "documentation":"

Deletes a cluster in Amazon Aurora DSQL.

", + "idempotent":true + }, + "DeleteMultiRegionClusters":{ + "name":"DeleteMultiRegionClusters", + "http":{ + "method":"DELETE", + "requestUri":"/multi-region-clusters", + "responseCode":200 + }, + "input":{"shape":"DeleteMultiRegionClustersInput"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"} + ], + "documentation":"

Deletes a multi-Region cluster in Amazon Aurora DSQL.

", + "idempotent":true + }, + "GetCluster":{ + "name":"GetCluster", + "http":{ + "method":"GET", + "requestUri":"/cluster/{identifier}", + "responseCode":200 + }, + "input":{"shape":"GetClusterInput"}, + "output":{"shape":"GetClusterOutput"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Retrieves information about a cluster.

" + }, + "ListClusters":{ + "name":"ListClusters", + "http":{ + "method":"GET", + "requestUri":"/cluster", + "responseCode":200 + }, + "input":{"shape":"ListClustersInput"}, + "output":{"shape":"ListClustersOutput"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Retrieves information about a list of clusters.

" + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"GET", + "requestUri":"/tags/{resourceArn}", + "responseCode":200 + }, + "input":{"shape":"ListTagsForResourceInput"}, + "output":{"shape":"ListTagsForResourceOutput"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Lists all of the tags for a resource.

" + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/tags/{resourceArn}", + "responseCode":200 + }, + "input":{"shape":"TagResourceInput"}, + "errors":[ + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Tags a resource with a map of key and value pairs.

", + "idempotent":true + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"DELETE", + "requestUri":"/tags/{resourceArn}", + "responseCode":200 + }, + "input":{"shape":"UntagResourceInput"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Removes a tag from a resource.

", + "idempotent":true + }, + "UpdateCluster":{ + "name":"UpdateCluster", + "http":{ + "method":"POST", + "requestUri":"/cluster/{identifier}", + "responseCode":200 + }, + "input":{"shape":"UpdateClusterInput"}, + "output":{"shape":"UpdateClusterOutput"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"} + ], + "documentation":"

Updates a cluster.

" + } + }, + "shapes":{ + "AccessDeniedException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

You do not have sufficient access to perform this action.

", + "error":{ + "httpStatusCode":403, + "senderFault":true + }, + "exception":true + }, + "Arn":{ + "type":"string", + "documentation":"

Amazon Resource Name

", + "max":1011, + "min":1, + "pattern":"arn:.+" + }, + "ClientToken":{ + "type":"string", + "documentation":"

Idempotency Token

", + "max":128, + "min":1, + "pattern":"[!-~]+" + }, + "ClusterArn":{ + "type":"string", + "documentation":"

Cluster ARN

" + }, + "ClusterArnList":{ + "type":"list", + "member":{"shape":"ClusterArn"}, + "documentation":"

List of cluster arns

" + }, + "ClusterCreationTime":{ + "type":"timestamp", + "documentation":"

Timestamp when the Cluster was created

" + }, + "ClusterId":{ + "type":"string", + "documentation":"

The ID of the cluster

" + }, + "ClusterList":{ + "type":"list", + "member":{"shape":"ClusterSummary"}, + "documentation":"

List of clusters

" + }, + "ClusterPropertyMap":{ + "type":"map", + "key":{"shape":"Region"}, + "value":{"shape":"LinkedClusterProperties"}, + "documentation":"

Properties for each linked cluster

" + }, + "ClusterStatus":{ + "type":"string", + "documentation":"

Cluster Status

", + "enum":[ + "CREATING", + "ACTIVE", + "UPDATING", + "DELETING", + "DELETED", + "FAILED" + ] + }, + "ClusterSummary":{ + "type":"structure", + "required":[ + "identifier", + "arn" + ], + "members":{ + "identifier":{ + "shape":"ClusterId", + "documentation":"

The ID of the cluster.

" + }, + "arn":{ + "shape":"ClusterArn", + "documentation":"

The ARN of the cluster.

" + } + }, + "documentation":"

A summary of the properties of a cluster.

" + }, + "ConflictException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"}, + "resourceId":{ + "shape":"String", + "documentation":"

Resource Id

" + }, + "resourceType":{ + "shape":"String", + "documentation":"

Resource Type

" + } + }, + "documentation":"

The submitted action has conflicts.

", + "error":{ + "httpStatusCode":409, + "senderFault":true + }, + "exception":true + }, + "CreateClusterInput":{ + "type":"structure", + "members":{ + "deletionProtectionEnabled":{ + "shape":"DeletionProtectionEnabled", + "documentation":"

If enabled, you can't delete your cluster. You must first disable this property before you can delete your cluster.

" + }, + "tags":{ + "shape":"TagMap", + "documentation":"

A map of key and value pairs to use to tag your cluster.

" + }, + "clientToken":{ + "shape":"ClientToken", + "documentation":"

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, the subsequent retries with the same client token return the result from the original successful request and they have no additional effect.

If you don't specify a client token, the Amazon Web Services SDK automatically generates one.

", + "idempotencyToken":true + } + } + }, + "CreateClusterOutput":{ + "type":"structure", + "required":[ + "identifier", + "arn", + "status", + "creationTime", + "deletionProtectionEnabled" + ], + "members":{ + "identifier":{ + "shape":"ClusterId", + "documentation":"

The ID of the created cluster.

" + }, + "arn":{ + "shape":"ClusterArn", + "documentation":"

The ARN of the created cluster.

" + }, + "status":{ + "shape":"ClusterStatus", + "documentation":"

The status of the created cluster.

" + }, + "creationTime":{ + "shape":"ClusterCreationTime", + "documentation":"

The time of when created the cluster.

" + }, + "deletionProtectionEnabled":{ + "shape":"DeletionProtectionEnabled", + "documentation":"

Whether deletion protection is enabled on this cluster.

" + } + }, + "documentation":"

Output Mixin

" + }, + "CreateMultiRegionClustersInput":{ + "type":"structure", + "required":[ + "linkedRegionList", + "witnessRegion" + ], + "members":{ + "linkedRegionList":{ + "shape":"RegionList", + "documentation":"

An array of the Regions in which you want to create additional clusters.

" + }, + "clusterProperties":{ + "shape":"ClusterPropertyMap", + "documentation":"

A mapping of properties to use when creating linked clusters.

" + }, + "witnessRegion":{ + "shape":"Region", + "documentation":"

The witness Region of multi-Region clusters.

" + }, + "clientToken":{ + "shape":"ClientToken", + "documentation":"

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully. The subsequent retries with the same client token return the result from the original successful request and they have no additional effect.

If you don't specify a client token, the Amazon Web Services SDK automatically generates one.

", + "idempotencyToken":true + } + } + }, + "CreateMultiRegionClustersOutput":{ + "type":"structure", + "required":["linkedClusterArns"], + "members":{ + "linkedClusterArns":{ + "shape":"ClusterArnList", + "documentation":"

An array that contains the ARNs of all linked clusters.

" + } + } + }, + "DeleteClusterInput":{ + "type":"structure", + "required":["identifier"], + "members":{ + "identifier":{ + "shape":"ClusterId", + "documentation":"

The ID of the cluster to delete.

", + "location":"uri", + "locationName":"identifier" + }, + "clientToken":{ + "shape":"ClientToken", + "documentation":"

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully. The subsequent retries with the same client token return the result from the original successful request and they have no additional effect.

If you don't specify a client token, the Amazon Web Services SDK automatically generates one.

", + "idempotencyToken":true, + "location":"querystring", + "locationName":"client-token" + } + } + }, + "DeleteClusterOutput":{ + "type":"structure", + "required":[ + "identifier", + "arn", + "status", + "creationTime", + "deletionProtectionEnabled" + ], + "members":{ + "identifier":{ + "shape":"ClusterId", + "documentation":"

The ID of the deleted cluster.

" + }, + "arn":{ + "shape":"ClusterArn", + "documentation":"

The ARN of the deleted cluster.

" + }, + "status":{ + "shape":"ClusterStatus", + "documentation":"

The status of the cluster.

" + }, + "creationTime":{ + "shape":"ClusterCreationTime", + "documentation":"

The time of when the cluster was created.

" + }, + "deletionProtectionEnabled":{ + "shape":"DeletionProtectionEnabled", + "documentation":"

Specifies whether deletion protection was enabled on the cluster.

" + } + }, + "documentation":"

Output Mixin

" + }, + "DeleteMultiRegionClustersInput":{ + "type":"structure", + "required":["linkedClusterArns"], + "members":{ + "linkedClusterArns":{ + "shape":"ClusterArnList", + "documentation":"

The ARNs of the clusters linked to the cluster you want to delete. also deletes these clusters as part of the operation.

", + "location":"querystring", + "locationName":"linked-cluster-arns" + }, + "clientToken":{ + "shape":"ClientToken", + "documentation":"

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully. The subsequent retries with the same client token return the result from the original successful request and they have no additional effect.

If you don't specify a client token, the Amazon Web Services SDK automatically generates one.

", + "idempotencyToken":true, + "location":"querystring", + "locationName":"client-token" + } + } + }, + "DeletionProtectionEnabled":{ + "type":"boolean", + "documentation":"

Deletion Protection

", + "box":true + }, + "GetClusterInput":{ + "type":"structure", + "required":["identifier"], + "members":{ + "identifier":{ + "shape":"ClusterId", + "documentation":"

The ID of the cluster to retrieve.

", + "location":"uri", + "locationName":"identifier" + } + } + }, + "GetClusterOutput":{ + "type":"structure", + "required":[ + "identifier", + "arn", + "status", + "creationTime", + "deletionProtectionEnabled" + ], + "members":{ + "identifier":{ + "shape":"ClusterId", + "documentation":"

The ID of the retrieved cluster.

" + }, + "arn":{ + "shape":"ClusterArn", + "documentation":"

The ARN of the retrieved cluster.

" + }, + "status":{ + "shape":"ClusterStatus", + "documentation":"

The status of the retrieved cluster.

" + }, + "creationTime":{ + "shape":"ClusterCreationTime", + "documentation":"

The time of when the cluster was created.

" + }, + "deletionProtectionEnabled":{ + "shape":"DeletionProtectionEnabled", + "documentation":"

Whether deletion protection is enabled in this cluster.

" + }, + "witnessRegion":{ + "shape":"Region", + "documentation":"

The witness Region of the cluster. Applicable only for multi-Region clusters.

" + }, + "linkedClusterArns":{ + "shape":"ClusterArnList", + "documentation":"

The ARNs of the clusters linked to the retrieved cluster.

" + } + }, + "documentation":"

Output Mixin

" + }, + "Integer":{ + "type":"integer", + "box":true + }, + "InternalServerException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"}, + "retryAfterSeconds":{ + "shape":"Integer", + "documentation":"

Retry after seconds.

", + "location":"header", + "locationName":"Retry-After" + } + }, + "documentation":"

The request processing has failed because of an unknown error, exception or failure.

", + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true, + "retryable":{"throttling":false} + }, + "LinkedClusterProperties":{ + "type":"structure", + "members":{ + "deletionProtectionEnabled":{ + "shape":"DeletionProtectionEnabled", + "documentation":"

Whether deletion protection is enabled.

" + }, + "tags":{ + "shape":"TagMap", + "documentation":"

A map of key and value pairs the linked cluster is tagged with.

" + } + }, + "documentation":"

Properties of linked clusters.

" + }, + "ListClustersInput":{ + "type":"structure", + "members":{ + "maxResults":{ + "shape":"MaxResults", + "documentation":"

An optional parameter that specifies the maximum number of results to return. You can use nextToken to display the next page of results.

", + "location":"querystring", + "locationName":"max-results" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

If your initial ListClusters operation returns a nextToken, you can include the returned nextToken in following ListClusters operations, which returns results in the next page.

", + "location":"querystring", + "locationName":"next-token" + } + } + }, + "ListClustersOutput":{ + "type":"structure", + "required":["clusters"], + "members":{ + "nextToken":{ + "shape":"NextToken", + "documentation":"

If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. To retrieve the next page, make the call again using the returned token.

" + }, + "clusters":{ + "shape":"ClusterList", + "documentation":"

An array of the returned clusters.

" + } + } + }, + "ListTagsForResourceInput":{ + "type":"structure", + "required":["resourceArn"], + "members":{ + "resourceArn":{ + "shape":"Arn", + "documentation":"

The ARN of the resource for which you want to list the tags.

", + "location":"uri", + "locationName":"resourceArn" + } + } + }, + "ListTagsForResourceOutput":{ + "type":"structure", + "members":{ + "tags":{ + "shape":"TagMap", + "documentation":"

A map of key and value pairs that you used to tag your resource.

" + } + } + }, + "MaxResults":{ + "type":"integer", + "documentation":"

Max results that will be returned per page

", + "box":true, + "max":100, + "min":1 + }, + "NextToken":{ + "type":"string", + "documentation":"

Opaque token used to retrieve next page

" + }, + "Region":{ + "type":"string", + "documentation":"

AWS Region name (e.g.: 'us-east-1')

", + "max":20, + "min":0 + }, + "RegionList":{ + "type":"list", + "member":{"shape":"Region"}, + "documentation":"

List of regions

" + }, + "ResourceNotFoundException":{ + "type":"structure", + "required":[ + "message", + "resourceId", + "resourceType" + ], + "members":{ + "message":{"shape":"String"}, + "resourceId":{ + "shape":"String", + "documentation":"

Hypothetical identifier of the resource which does not exist

" + }, + "resourceType":{ + "shape":"String", + "documentation":"

Hypothetical type of the resource which does not exist

" + } + }, + "documentation":"

The resource could not be found.

", + "error":{ + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "ServiceQuotaExceededException":{ + "type":"structure", + "required":[ + "message", + "resourceId", + "resourceType", + "serviceCode", + "quotaCode" + ], + "members":{ + "message":{ + "shape":"String", + "documentation":"

Description of the error

" + }, + "resourceId":{ + "shape":"String", + "documentation":"

Identifier of the resource affected

" + }, + "resourceType":{ + "shape":"String", + "documentation":"

Type of the resource affected

" + }, + "serviceCode":{ + "shape":"String", + "documentation":"

Service Quotas requirement to identify originating service

" + }, + "quotaCode":{ + "shape":"String", + "documentation":"

Service Quotas requirement to identify originating quota

" + } + }, + "documentation":"

The service limit was exceeded.

", + "error":{ + "httpStatusCode":402, + "senderFault":true + }, + "exception":true + }, + "String":{"type":"string"}, + "TagKey":{ + "type":"string", + "documentation":"

Unique tag key, maximum 128 Unicode characters in UTF-8

", + "max":128, + "min":1, + "pattern":"[a-zA-Z0-9_.:/=+\\-@ ]*" + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"}, + "documentation":"

List of tag keys

", + "max":200, + "min":0 + }, + "TagMap":{ + "type":"map", + "key":{"shape":"TagKey"}, + "value":{"shape":"TagValue"}, + "documentation":"

Map of tags

", + "max":200, + "min":0 + }, + "TagResourceInput":{ + "type":"structure", + "required":[ + "resourceArn", + "tags" + ], + "members":{ + "resourceArn":{ + "shape":"Arn", + "documentation":"

The ARN of the resource that you want to tag.

", + "location":"uri", + "locationName":"resourceArn" + }, + "tags":{ + "shape":"TagMap", + "documentation":"

A map of key and value pairs to use to tag your resource.

" + } + } + }, + "TagValue":{ + "type":"string", + "documentation":"

Tag value, maximum 256 Unicode characters in UTF-8

", + "max":256, + "min":0, + "pattern":"[a-zA-Z0-9_.:/=+\\-@ ]*" + }, + "ThrottlingException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{ + "shape":"String", + "documentation":"

Description of the error

" + }, + "serviceCode":{ + "shape":"String", + "documentation":"

Service Quotas requirement to identify originating service

" + }, + "quotaCode":{ + "shape":"String", + "documentation":"

Service Quotas requirement to identify originating quota

" + }, + "retryAfterSeconds":{ + "shape":"Integer", + "documentation":"

Advice to clients on when the call can be safely retried

", + "location":"header", + "locationName":"Retry-After" + } + }, + "documentation":"

The request was denied due to request throttling.

", + "error":{ + "httpStatusCode":429, + "senderFault":true + }, + "exception":true, + "retryable":{"throttling":true} + }, + "UntagResourceInput":{ + "type":"structure", + "required":[ + "resourceArn", + "tagKeys" + ], + "members":{ + "resourceArn":{ + "shape":"Arn", + "documentation":"

The ARN of the resource from which to remove tags.

", + "location":"uri", + "locationName":"resourceArn" + }, + "tagKeys":{ + "shape":"TagKeyList", + "documentation":"

The array of keys of the tags that you want to remove.

", + "location":"querystring", + "locationName":"tagKeys" + } + } + }, + "UpdateClusterInput":{ + "type":"structure", + "required":["identifier"], + "members":{ + "identifier":{ + "shape":"ClusterId", + "documentation":"

The ID of the cluster you want to update.

", + "location":"uri", + "locationName":"identifier" + }, + "deletionProtectionEnabled":{ + "shape":"DeletionProtectionEnabled", + "documentation":"

Specifies whether to enable deletion protection in your cluster.

" + }, + "clientToken":{ + "shape":"ClientToken", + "documentation":"

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully. The subsequent retries with the same client token return the result from the original successful request and they have no additional effect.

If you don't specify a client token, the Amazon Web Services SDK automatically generates one.

", + "idempotencyToken":true + } + } + }, + "UpdateClusterOutput":{ + "type":"structure", + "required":[ + "identifier", + "arn", + "status", + "creationTime", + "deletionProtectionEnabled" + ], + "members":{ + "identifier":{ + "shape":"ClusterId", + "documentation":"

The ID of the cluster to update.

" + }, + "arn":{ + "shape":"ClusterArn", + "documentation":"

The ARN of the updated cluster.

" + }, + "status":{ + "shape":"ClusterStatus", + "documentation":"

The status of the updated cluster.

" + }, + "creationTime":{ + "shape":"ClusterCreationTime", + "documentation":"

The time of when the cluster was created.

" + }, + "deletionProtectionEnabled":{ + "shape":"DeletionProtectionEnabled", + "documentation":"

Whether deletion protection is enabled for the updated cluster.

" + }, + "witnessRegion":{ + "shape":"Region", + "documentation":"

The Region that receives all data you write to linked clusters.

" + }, + "linkedClusterArns":{ + "shape":"ClusterArnList", + "documentation":"

The ARNs of the clusters linked to the updated cluster. Applicable only for multi-Region clusters.

" + } + }, + "documentation":"

Output Mixin

" + }, + "ValidationException":{ + "type":"structure", + "required":[ + "message", + "reason" + ], + "members":{ + "message":{"shape":"String"}, + "reason":{"shape":"ValidationExceptionReason"}, + "fieldList":{"shape":"ValidationExceptionFieldList"} + }, + "documentation":"

The input failed to satisfy the constraints specified by an Amazon Web Services service.

", + "error":{ + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "ValidationExceptionField":{ + "type":"structure", + "required":[ + "name", + "message" + ], + "members":{ + "name":{ + "shape":"String", + "documentation":"

The name of the field.

" + }, + "message":{ + "shape":"String", + "documentation":"

A message describing why this field failed validation.

" + } + }, + "documentation":"

Stores information about a field passed inside a request that resulted in an validation error.

" + }, + "ValidationExceptionFieldList":{ + "type":"list", + "member":{"shape":"ValidationExceptionField"}, + "documentation":"

List of fields that caused the error

" + }, + "ValidationExceptionReason":{ + "type":"string", + "documentation":"

Reason the request failed validation

", + "enum":[ + "unknownOperation", + "cannotParse", + "fieldValidationFailed", + "deletionProtectionEnabled", + "other" + ] + } + }, + "documentation":"

This is an interface reference for Amazon Aurora DSQL. It contains documentation for one of the programming or command line interfaces you can use to manage Amazon Aurora DSQL.

Amazon Aurora DSQL is a serverless, distributed SQL database suitable for workloads of any size. Aurora DSQL is available in both single-Region and multi-Region configurations, so your clusters and databases are always available even if an Availability Zone or an Amazon Web Services Region are unavailable. Aurora DSQL lets you focus on using your data to acquire new insights for your business and customers.

" +} diff --git a/botocore/data/dsql/2018-05-10/waiters-2.json b/botocore/data/dsql/2018-05-10/waiters-2.json new file mode 100644 index 0000000000..69cd9baaeb --- /dev/null +++ b/botocore/data/dsql/2018-05-10/waiters-2.json @@ -0,0 +1,28 @@ +{ + "version" : 2, + "waiters" : { + "ClusterActive" : { + "description" : "Wait until a Cluster is ACTIVE", + "delay" : 2, + "maxAttempts" : 60, + "operation" : "GetCluster", + "acceptors" : [ { + "matcher" : "path", + "argument" : "status", + "state" : "success", + "expected" : "ACTIVE" + } ] + }, + "ClusterNotExists" : { + "description" : "Wait until a Cluster is gone", + "delay" : 2, + "maxAttempts" : 60, + "operation" : "GetCluster", + "acceptors" : [ { + "matcher" : "error", + "state" : "success", + "expected" : "ResourceNotFoundException" + } ] + } + } +} \ No newline at end of file diff --git a/botocore/data/dynamodb/2012-08-10/endpoint-rule-set-1.json b/botocore/data/dynamodb/2012-08-10/endpoint-rule-set-1.json index c628afe22b..4b5d78a7b5 100644 --- a/botocore/data/dynamodb/2012-08-10/endpoint-rule-set-1.json +++ b/botocore/data/dynamodb/2012-08-10/endpoint-rule-set-1.json @@ -170,9 +170,9 @@ "properties": { "authSchemes": [ { - "name": "sigv4", + "signingRegion": "us-east-1", "signingName": "dynamodb", - "signingRegion": "us-east-1" + "name": "sigv4" } ] }, diff --git a/botocore/data/dynamodb/2012-08-10/service-2.json b/botocore/data/dynamodb/2012-08-10/service-2.json index a203f64e48..227778c73a 100644 --- a/botocore/data/dynamodb/2012-08-10/service-2.json +++ b/botocore/data/dynamodb/2012-08-10/service-2.json @@ -154,7 +154,8 @@ {"shape":"ItemCollectionSizeLimitExceededException"}, {"shape":"TransactionConflictException"}, {"shape":"RequestLimitExceeded"}, - {"shape":"InternalServerError"} + {"shape":"InternalServerError"}, + {"shape":"ReplicatedWriteConflictException"} ], "documentation":"

Deletes a single item in a table by primary key. You can perform a conditional delete operation that deletes the item if it exists, or if it has an expected attribute value.

In addition to deleting an item, you can also return the item's attribute values in the same operation, using the ReturnValues parameter.

Unless you specify conditions, the DeleteItem is an idempotent operation; running it multiple times on the same item or attribute does not result in an error response.

Conditional deletes are useful for deleting items only if specific conditions are met. If those conditions are met, DynamoDB performs the delete. Otherwise, the item is not deleted.

", "endpointdiscovery":{ @@ -651,7 +652,8 @@ {"shape":"ItemCollectionSizeLimitExceededException"}, {"shape":"TransactionConflictException"}, {"shape":"RequestLimitExceeded"}, - {"shape":"InternalServerError"} + {"shape":"InternalServerError"}, + {"shape":"ReplicatedWriteConflictException"} ], "documentation":"

Creates a new item, or replaces an old item with a new item. If an item that has the same primary key as the new item already exists in the specified table, the new item completely replaces the existing item. You can perform a conditional put operation (add a new item if one with the specified primary key doesn't exist), or replace an existing item if it has certain attribute values. You can return the item's attribute values in the same operation, using the ReturnValues parameter.

When you add an item, the primary key attributes are the only required attributes.

Empty String and Binary attribute values are allowed. Attribute values of type String and Binary must have a length greater than zero if the attribute is used as a key attribute for a table or index. Set type attributes cannot be empty.

Invalid Requests with empty values will be rejected with a ValidationException exception.

To prevent a new item from replacing an existing item, use a conditional expression that contains the attribute_not_exists function with the name of the attribute being used as the partition key for the table. Since every record must contain that attribute, the attribute_not_exists function will only succeed if no matching item exists.

For more information about PutItem, see Working with Items in the Amazon DynamoDB Developer Guide.

", "endpointdiscovery":{ @@ -912,7 +914,8 @@ {"shape":"ItemCollectionSizeLimitExceededException"}, {"shape":"TransactionConflictException"}, {"shape":"RequestLimitExceeded"}, - {"shape":"InternalServerError"} + {"shape":"InternalServerError"}, + {"shape":"ReplicatedWriteConflictException"} ], "documentation":"

Edits an existing item's attributes, or adds a new item to the table if it does not already exist. You can put, delete, or add attribute values. You can also perform a conditional update on an existing item (insert a new attribute name-value pair if it doesn't exist, or replace an existing name-value pair if it has certain expected attribute values).

You can also return the item's attribute values in the same UpdateItem operation using the ReturnValues parameter.

", "endpointdiscovery":{ @@ -4343,6 +4346,13 @@ "key":{"shape":"AttributeName"}, "value":{"shape":"AttributeValue"} }, + "MultiRegionConsistency":{ + "type":"string", + "enum":[ + "EVENTUAL", + "STRONG" + ] + }, "NextTokenString":{"type":"string"}, "NonKeyAttributeName":{ "type":"string", @@ -5228,6 +5238,14 @@ "type":"list", "member":{"shape":"ReplicaUpdate"} }, + "ReplicatedWriteConflictException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

The request was rejected because one or more items in the request are being modified by a request in another Region.

", + "exception":true + }, "ReplicationGroupUpdate":{ "type":"structure", "members":{ @@ -5979,6 +5997,10 @@ "WarmThroughput":{ "shape":"TableWarmThroughputDescription", "documentation":"

Describes the warm throughput value of the base table.

" + }, + "MultiRegionConsistency":{ + "shape":"MultiRegionConsistency", + "documentation":"

Indicates one of the following consistency modes for a global table:

If you don't specify this field, the global table consistency mode defaults to EVENTUAL.

" } }, "documentation":"

Represents the properties of a table.

" @@ -6695,6 +6717,10 @@ "shape":"DeletionProtectionEnabled", "documentation":"

Indicates whether deletion protection is to be enabled (true) or disabled (false) on the table.

" }, + "MultiRegionConsistency":{ + "shape":"MultiRegionConsistency", + "documentation":"

Specifies the consistency mode for a new global table. This parameter is only valid when you create a global table by specifying one or more Create actions in the ReplicaUpdates action list.

You can specify one of the following consistency modes:

If you don't specify this parameter, the global table consistency mode defaults to EVENTUAL.

" + }, "OnDemandThroughput":{ "shape":"OnDemandThroughput", "documentation":"

Updates the maximum number of read and write units for the specified table in on-demand capacity mode. If you use this parameter, you must specify MaxReadRequestUnits, MaxWriteRequestUnits, or both.

" diff --git a/botocore/data/glue/2017-03-31/paginators-1.json b/botocore/data/glue/2017-03-31/paginators-1.json index 3d3aa68a10..98af8a9c6c 100644 --- a/botocore/data/glue/2017-03-31/paginators-1.json +++ b/botocore/data/glue/2017-03-31/paginators-1.json @@ -154,6 +154,22 @@ "limit_key": "MaxResults", "output_token": "NextToken", "result_key": "TableOptimizerRuns" + }, + "DescribeEntity": { + "input_token": "NextToken", + "output_token": "NextToken", + "result_key": "Fields" + }, + "ListConnectionTypes": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "ConnectionTypes" + }, + "ListEntities": { + "input_token": "NextToken", + "output_token": "NextToken", + "result_key": "Entities" } } } diff --git a/botocore/data/glue/2017-03-31/service-2.json b/botocore/data/glue/2017-03-31/service-2.json index 00520d3c76..57c7879bd5 100644 --- a/botocore/data/glue/2017-03-31/service-2.json +++ b/botocore/data/glue/2017-03-31/service-2.json @@ -400,6 +400,29 @@ ], "documentation":"

Registers a blueprint with Glue.

" }, + "CreateCatalog":{ + "name":"CreateCatalog", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateCatalogRequest"}, + "output":{"shape":"CreateCatalogResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"AlreadyExistsException"}, + {"shape":"ResourceNumberLimitExceededException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"GlueEncryptionException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"FederatedResourceAlreadyExistsException"}, + {"shape":"FederationSourceException"} + ], + "documentation":"

Creates a new catalog in the Glue Data Catalog.

" + }, "CreateClassifier":{ "name":"CreateClassifier", "http":{ @@ -520,7 +543,9 @@ {"shape":"OperationTimeoutException"}, {"shape":"GlueEncryptionException"}, {"shape":"ConcurrentModificationException"}, - {"shape":"FederatedResourceAlreadyExistsException"} + {"shape":"FederatedResourceAlreadyExistsException"}, + {"shape":"FederationSourceException"}, + {"shape":"FederationSourceRetryableException"} ], "documentation":"

Creates a new database in a Data Catalog.

" }, @@ -544,6 +569,69 @@ ], "documentation":"

Creates a new development endpoint.

" }, + "CreateIntegration":{ + "name":"CreateIntegration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateIntegrationRequest"}, + "output":{"shape":"CreateIntegrationResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"IntegrationConflictOperationFault"}, + {"shape":"IntegrationQuotaExceededFault"}, + {"shape":"KMSKeyNotAccessibleFault"}, + {"shape":"EntityNotFoundException"}, + {"shape":"InternalServiceException"}, + {"shape":"ConflictException"}, + {"shape":"ResourceNumberLimitExceededException"}, + {"shape":"InvalidInputException"} + ], + "documentation":"

Creates a Zero-ETL integration in the caller's account between two resources with Amazon Resource Names (ARNs): the SourceArn and TargetArn.

" + }, + "CreateIntegrationResourceProperty":{ + "name":"CreateIntegrationResourceProperty", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateIntegrationResourcePropertyRequest"}, + "output":{"shape":"CreateIntegrationResourcePropertyResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"InternalServiceException"}, + {"shape":"InvalidInputException"} + ], + "documentation":"

This API can be used for setting up the ResourceProperty of the Glue connection (for the source) or Glue database ARN (for the target). These properties can include the role to access the connection or database. To set both source and target properties the same API needs to be invoked with the Glue connection ARN as ResourceArn with SourceProcessingProperties and the Glue database ARN as ResourceArn with TargetProcessingProperties respectively.

" + }, + "CreateIntegrationTableProperties":{ + "name":"CreateIntegrationTableProperties", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateIntegrationTablePropertiesRequest"}, + "output":{"shape":"CreateIntegrationTablePropertiesResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"InternalServiceException"}, + {"shape":"InvalidInputException"} + ], + "documentation":"

This API is used to provide optional override properties for the the tables that need to be replicated. These properties can include properties for filtering and partitioning for the source and target tables. To set both source and target properties the same API need to be invoked with the Glue connection ARN as ResourceArn with SourceTableConfig, and the Glue database ARN as ResourceArn with TargetTableConfig respectively.

" + }, "CreateJob":{ "name":"CreateJob", "http":{ @@ -726,7 +814,9 @@ {"shape":"OperationTimeoutException"}, {"shape":"GlueEncryptionException"}, {"shape":"ConcurrentModificationException"}, - {"shape":"ResourceNotReadyException"} + {"shape":"ResourceNotReadyException"}, + {"shape":"FederationSourceException"}, + {"shape":"FederationSourceRetryableException"} ], "documentation":"

Creates a new table definition in the Data Catalog.

" }, @@ -839,6 +929,26 @@ ], "documentation":"

Deletes an existing blueprint.

" }, + "DeleteCatalog":{ + "name":"DeleteCatalog", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteCatalogRequest"}, + "output":{"shape":"DeleteCatalogResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"GlueEncryptionException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"FederationSourceException"} + ], + "documentation":"

Removes the specified catalog from the Glue Data Catalog.

After completing this operation, you no longer have access to the databases, tables (and all table versions and partitions that might belong to the tables) and the user-defined functions in the deleted catalog. Glue deletes these \"orphaned\" resources asynchronously in a timely manner, at the discretion of the service.

To ensure the immediate deletion of all related resources before calling the DeleteCatalog operation, use DeleteTableVersion (or BatchDeleteTableVersion), DeletePartition (or BatchDeletePartition), DeleteTable (or BatchDeleteTable), DeleteUserDefinedFunction and DeleteDatabase to delete any resources that belong to the catalog.

" + }, "DeleteClassifier":{ "name":"DeleteClassifier", "http":{ @@ -978,7 +1088,9 @@ {"shape":"InvalidInputException"}, {"shape":"InternalServiceException"}, {"shape":"OperationTimeoutException"}, - {"shape":"ConcurrentModificationException"} + {"shape":"ConcurrentModificationException"}, + {"shape":"FederationSourceException"}, + {"shape":"FederationSourceRetryableException"} ], "documentation":"

Removes a specified database from a Data Catalog.

After completing this operation, you no longer have access to the tables (and all table versions and partitions that might belong to the tables) and the user-defined functions in the deleted database. Glue deletes these \"orphaned\" resources asynchronously in a timely manner, at the discretion of the service.

To ensure the immediate deletion of all related resources, before calling DeleteDatabase, use DeleteTableVersion or BatchDeleteTableVersion, DeletePartition or BatchDeletePartition, DeleteUserDefinedFunction, and DeleteTable or BatchDeleteTable, to delete any resources that belong to the database.

" }, @@ -998,6 +1110,48 @@ ], "documentation":"

Deletes a specified development endpoint.

" }, + "DeleteIntegration":{ + "name":"DeleteIntegration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteIntegrationRequest"}, + "output":{"shape":"DeleteIntegrationResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"IntegrationNotFoundFault"}, + {"shape":"IntegrationConflictOperationFault"}, + {"shape":"InvalidIntegrationStateFault"}, + {"shape":"EntityNotFoundException"}, + {"shape":"InternalServiceException"}, + {"shape":"ConflictException"}, + {"shape":"InvalidStateException"}, + {"shape":"InvalidInputException"} + ], + "documentation":"

Deletes the specified Zero-ETL integration.

" + }, + "DeleteIntegrationTableProperties":{ + "name":"DeleteIntegrationTableProperties", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteIntegrationTablePropertiesRequest"}, + "output":{"shape":"DeleteIntegrationTablePropertiesResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"InternalServiceException"}, + {"shape":"InvalidInputException"} + ], + "documentation":"

Deletes the table properties that have been created for the tables that need to be replicated.

" + }, "DeleteJob":{ "name":"DeleteJob", "http":{ @@ -1176,7 +1330,9 @@ {"shape":"InternalServiceException"}, {"shape":"OperationTimeoutException"}, {"shape":"ConcurrentModificationException"}, - {"shape":"ResourceNotReadyException"} + {"shape":"ResourceNotReadyException"}, + {"shape":"FederationSourceException"}, + {"shape":"FederationSourceRetryableException"} ], "documentation":"

Removes a table definition from the Data Catalog.

After completing this operation, you no longer have access to the table versions and partitions that belong to the deleted table. Glue deletes these \"orphaned\" resources asynchronously in a timely manner, at the discretion of the service.

To ensure the immediate deletion of all related resources, before calling DeleteTable, use DeleteTableVersion or BatchDeleteTableVersion, and DeletePartition or BatchDeletePartition, to delete any resources that belong to the table.

" }, @@ -1277,6 +1433,81 @@ ], "documentation":"

Deletes a workflow.

" }, + "DescribeConnectionType":{ + "name":"DescribeConnectionType", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeConnectionTypeRequest"}, + "output":{"shape":"DescribeConnectionTypeResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

The DescribeConnectionType API provides full details of the supported options for a given connection type in Glue.

" + }, + "DescribeEntity":{ + "name":"DescribeEntity", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeEntityRequest"}, + "output":{"shape":"DescribeEntityResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"InvalidInputException"}, + {"shape":"GlueEncryptionException"}, + {"shape":"ValidationException"}, + {"shape":"FederationSourceException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

Provides details regarding the entity used with the connection type, with a description of the data model for each field in the selected entity.

The response includes all the fields which make up the entity.

" + }, + "DescribeInboundIntegrations":{ + "name":"DescribeInboundIntegrations", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeInboundIntegrationsRequest"}, + "output":{"shape":"DescribeInboundIntegrationsResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"IntegrationNotFoundFault"}, + {"shape":"TargetResourceNotFound"}, + {"shape":"OperationNotSupportedException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"InternalServiceException"}, + {"shape":"InvalidInputException"} + ], + "documentation":"

Returns a list of inbound integrations for the specified integration.

" + }, + "DescribeIntegrations":{ + "name":"DescribeIntegrations", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeIntegrationsRequest"}, + "output":{"shape":"DescribeIntegrationsResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"IntegrationNotFoundFault"}, + {"shape":"EntityNotFoundException"}, + {"shape":"InternalServiceException"}, + {"shape":"InvalidInputException"} + ], + "documentation":"

The API is used to retrieve a list of integrations.

" + }, "GetBlueprint":{ "name":"GetBlueprint", "http":{ @@ -1324,6 +1555,27 @@ ], "documentation":"

Retrieves the details of blueprint runs for a specified blueprint.

" }, + "GetCatalog":{ + "name":"GetCatalog", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetCatalogRequest"}, + "output":{"shape":"GetCatalogResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"GlueEncryptionException"}, + {"shape":"AccessDeniedException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"FederationSourceException"}, + {"shape":"FederationSourceRetryableException"} + ], + "documentation":"

The name of the Catalog to retrieve. This should be all lowercase.

" + }, "GetCatalogImportStatus":{ "name":"GetCatalogImportStatus", "http":{ @@ -1338,6 +1590,26 @@ ], "documentation":"

Retrieves the status of a migration operation.

" }, + "GetCatalogs":{ + "name":"GetCatalogs", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetCatalogsRequest"}, + "output":{"shape":"GetCatalogsResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"GlueEncryptionException"}, + {"shape":"AccessDeniedException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"FederationSourceException"}, + {"shape":"FederationSourceRetryableException"} + ], + "documentation":"

Retrieves all catalogs defined in a catalog in the Glue Data Catalog. For a Redshift-federated catalog use case, this operation returns the list of catalogs mapped to Redshift databases in the Redshift namespace catalog.

" + }, "GetClassifier":{ "name":"GetClassifier", "http":{ @@ -1656,7 +1928,8 @@ {"shape":"InternalServiceException"}, {"shape":"OperationTimeoutException"}, {"shape":"GlueEncryptionException"}, - {"shape":"FederationSourceException"} + {"shape":"FederationSourceException"}, + {"shape":"FederationSourceRetryableException"} ], "documentation":"

Retrieves the definition of a specified database.

" }, @@ -1672,7 +1945,10 @@ {"shape":"InvalidInputException"}, {"shape":"InternalServiceException"}, {"shape":"OperationTimeoutException"}, - {"shape":"GlueEncryptionException"} + {"shape":"GlueEncryptionException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"FederationSourceException"}, + {"shape":"FederationSourceRetryableException"} ], "documentation":"

Retrieves all databases defined in a given Data Catalog.

" }, @@ -1723,6 +1999,63 @@ ], "documentation":"

Retrieves all the development endpoints in this Amazon Web Services account.

When you create a development endpoint in a virtual private cloud (VPC), Glue returns only a private IP address and the public IP address field is not populated. When you create a non-VPC development endpoint, Glue returns only a public IP address.

" }, + "GetEntityRecords":{ + "name":"GetEntityRecords", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetEntityRecordsRequest"}, + "output":{"shape":"GetEntityRecordsResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"InvalidInputException"}, + {"shape":"GlueEncryptionException"}, + {"shape":"ValidationException"}, + {"shape":"FederationSourceException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

This API is used to query preview data from a given connection type or from a native Amazon S3 based Glue Data Catalog.

Returns records as an array of JSON blobs. Each record is formatted using Jackson JsonNode based on the field type defined by the DescribeEntity API.

Spark connectors generate schemas according to the same data type mapping as in the DescribeEntity API. Spark connectors convert data to the appropriate data types matching the schema when returning rows.

" + }, + "GetIntegrationResourceProperty":{ + "name":"GetIntegrationResourceProperty", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetIntegrationResourcePropertyRequest"}, + "output":{"shape":"GetIntegrationResourcePropertyResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"InternalServiceException"}, + {"shape":"InvalidInputException"} + ], + "documentation":"

This API is used for fetching the ResourceProperty of the Glue connection (for the source) or Glue database ARN (for the target)

" + }, + "GetIntegrationTableProperties":{ + "name":"GetIntegrationTableProperties", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetIntegrationTablePropertiesRequest"}, + "output":{"shape":"GetIntegrationTablePropertiesResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"InternalServiceException"}, + {"shape":"InvalidInputException"} + ], + "documentation":"

This API is used to retrieve optional override properties for the tables that need to be replicated. These properties can include properties for filtering and partition for source and target tables.

" + }, "GetJob":{ "name":"GetJob", "http":{ @@ -2490,6 +2823,20 @@ ], "documentation":"

List all task runs for a particular account.

" }, + "ListConnectionTypes":{ + "name":"ListConnectionTypes", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListConnectionTypesRequest"}, + "output":{"shape":"ListConnectionTypesResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

The ListConnectionTypes API provides a discovery mechanism to learn available connection types in Glue. The response contains a list of connection types with high-level details of what is supported for each connection type. The connection types listed are the set of supported options for the ConnectionType value in the CreateConnection API.

" + }, "ListCrawlers":{ "name":"ListCrawlers", "http":{ @@ -2639,21 +2986,40 @@ ], "documentation":"

Retrieves the names of all DevEndpoint resources in this Amazon Web Services account, or the resources with the specified tag. This operation allows you to see which resources are available in your account, and their names.

This operation takes the optional Tags field, which you can use as a filter on the response so that tagged resources can be retrieved as a group. If you choose to use tags filtering, only resources with the tag are retrieved.

" }, - "ListJobs":{ - "name":"ListJobs", + "ListEntities":{ + "name":"ListEntities", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"ListJobsRequest"}, - "output":{"shape":"ListJobsResponse"}, + "input":{"shape":"ListEntitiesRequest"}, + "output":{"shape":"ListEntitiesResponse"}, "errors":[ - {"shape":"InvalidInputException"}, {"shape":"EntityNotFoundException"}, - {"shape":"InternalServiceException"}, - {"shape":"OperationTimeoutException"} - ], - "documentation":"

Retrieves the names of all job resources in this Amazon Web Services account, or the resources with the specified tag. This operation allows you to see which resources are available in your account, and their names.

This operation takes the optional Tags field, which you can use as a filter on the response so that tagged resources can be retrieved as a group. If you choose to use tags filtering, only resources with the tag are retrieved.

" + {"shape":"OperationTimeoutException"}, + {"shape":"InvalidInputException"}, + {"shape":"GlueEncryptionException"}, + {"shape":"ValidationException"}, + {"shape":"FederationSourceException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

Returns the available entities supported by the connection type.

" + }, + "ListJobs":{ + "name":"ListJobs", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListJobsRequest"}, + "output":{"shape":"ListJobsResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"} + ], + "documentation":"

Retrieves the names of all job resources in this Amazon Web Services account, or the resources with the specified tag. This operation allows you to see which resources are available in your account, and their names.

This operation takes the optional Tags field, which you can use as a filter on the response so that tagged resources can be retrieved as a group. If you choose to use tags filtering, only resources with the tag are retrieved.

" }, "ListMLTransforms":{ "name":"ListMLTransforms", @@ -2817,6 +3183,29 @@ ], "documentation":"

Lists names of workflows created in the account.

" }, + "ModifyIntegration":{ + "name":"ModifyIntegration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyIntegrationRequest"}, + "output":{"shape":"ModifyIntegrationResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"IntegrationNotFoundFault"}, + {"shape":"IntegrationConflictOperationFault"}, + {"shape":"InvalidIntegrationStateFault"}, + {"shape":"EntityNotFoundException"}, + {"shape":"InternalServiceException"}, + {"shape":"ConflictException"}, + {"shape":"InvalidStateException"}, + {"shape":"InvalidInputException"} + ], + "documentation":"

Modifies a Zero-ETL integration in the caller's account.

" + }, "PutDataCatalogEncryptionSettings":{ "name":"PutDataCatalogEncryptionSettings", "http":{ @@ -3444,6 +3833,26 @@ ], "documentation":"

Updates a registered blueprint.

" }, + "UpdateCatalog":{ + "name":"UpdateCatalog", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateCatalogRequest"}, + "output":{"shape":"UpdateCatalogResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"GlueEncryptionException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"FederationSourceException"} + ], + "documentation":"

Updates an existing catalog's properties in the Glue Data Catalog.

" + }, "UpdateClassifier":{ "name":"UpdateClassifier", "http":{ @@ -3595,7 +4004,10 @@ {"shape":"InternalServiceException"}, {"shape":"OperationTimeoutException"}, {"shape":"GlueEncryptionException"}, - {"shape":"ConcurrentModificationException"} + {"shape":"ConcurrentModificationException"}, + {"shape":"FederationSourceException"}, + {"shape":"FederationSourceRetryableException"}, + {"shape":"AlreadyExistsException"} ], "documentation":"

Updates an existing database definition in a Data Catalog.

" }, @@ -3616,6 +4028,44 @@ ], "documentation":"

Updates a specified development endpoint.

" }, + "UpdateIntegrationResourceProperty":{ + "name":"UpdateIntegrationResourceProperty", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateIntegrationResourcePropertyRequest"}, + "output":{"shape":"UpdateIntegrationResourcePropertyResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"InternalServiceException"}, + {"shape":"InvalidInputException"} + ], + "documentation":"

This API can be used for updating the ResourceProperty of the Glue connection (for the source) or Glue database ARN (for the target). These properties can include the role to access the connection or database. Since the same resource can be used across multiple integrations, updating resource properties will impact all the integrations using it.

" + }, + "UpdateIntegrationTableProperties":{ + "name":"UpdateIntegrationTableProperties", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateIntegrationTablePropertiesRequest"}, + "output":{"shape":"UpdateIntegrationTablePropertiesResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"InternalServiceException"}, + {"shape":"InvalidInputException"} + ], + "documentation":"

This API is used to provide optional override properties for the tables that need to be replicated. These properties can include properties for filtering and partitioning for the source and target tables. To set both source and target properties the same API need to be invoked with the Glue connection ARN as ResourceArn with SourceTableConfig, and the Glue database ARN as ResourceArn with TargetTableConfig respectively.

The override will be reflected across all the integrations using same ResourceArn and source table.

" + }, "UpdateJob":{ "name":"UpdateJob", "http":{ @@ -3755,7 +4205,10 @@ {"shape":"ConcurrentModificationException"}, {"shape":"ResourceNumberLimitExceededException"}, {"shape":"GlueEncryptionException"}, - {"shape":"ResourceNotReadyException"} + {"shape":"ResourceNotReadyException"}, + {"shape":"FederationSourceException"}, + {"shape":"FederationSourceRetryableException"}, + {"shape":"AlreadyExistsException"} ], "documentation":"

Updates a metadata table in the Data Catalog.

" }, @@ -3865,6 +4318,12 @@ "documentation":"

Access to a resource was denied.

", "exception":true }, + "AccessToken":{ + "type":"string", + "max":4096, + "pattern":"^[\\x20-\\x7E]*$", + "sensitive":true + }, "AccountId":{ "type":"string", "max":12, @@ -3998,6 +4457,35 @@ "max":30, "min":1 }, + "AllowedValue":{ + "type":"structure", + "required":["Value"], + "members":{ + "Description":{ + "shape":"AllowedValueDescriptionString", + "documentation":"

A description of the allowed value.

" + }, + "Value":{ + "shape":"AllowedValueValueString", + "documentation":"

The value allowed for the property.

" + } + }, + "documentation":"

An object representing a value allowed for a property.

" + }, + "AllowedValueDescriptionString":{ + "type":"string", + "max":1024, + "min":0 + }, + "AllowedValueValueString":{ + "type":"string", + "max":128, + "min":1 + }, + "AllowedValues":{ + "type":"list", + "member":{"shape":"AllowedValue"} + }, "AllowedValuesStringList":{ "type":"list", "member":{"shape":"ConfigValueString"} @@ -4199,6 +4687,12 @@ "type":"list", "member":{"shape":"StatisticAnnotation"} }, + "ApiVersion":{ + "type":"string", + "max":256, + "min":1, + "pattern":"[a-zA-Z0-9.-]*" + }, "ApplyMapping":{ "type":"structure", "required":[ @@ -4296,6 +4790,33 @@ "max":2048, "min":0 }, + "AuthConfiguration":{ + "type":"structure", + "required":["AuthenticationType"], + "members":{ + "AuthenticationType":{ + "shape":"Property", + "documentation":"

The type of authentication for a connection.

" + }, + "SecretArn":{ + "shape":"Property", + "documentation":"

The Amazon Resource Name (ARN) for the Secrets Manager.

" + }, + "OAuth2Properties":{ + "shape":"PropertiesMap", + "documentation":"

A map of key-value pairs for the OAuth2 properties. Each value is a a Property object.

" + }, + "BasicAuthenticationProperties":{ + "shape":"PropertiesMap", + "documentation":"

A map of key-value pairs for the OAuth2 properties. Each value is a a Property object.

" + }, + "CustomAuthenticationProperties":{ + "shape":"PropertiesMap", + "documentation":"

A map of key-value pairs for the custom authentication properties. Each value is a a Property object.

" + } + }, + "documentation":"

The authentication configuration for a connection returned by the DescribeConnectionType API.

" + }, "AuthTokenString":{ "type":"string", "max":255, @@ -4334,6 +4855,18 @@ "SecretArn":{ "shape":"SecretArn", "documentation":"

The secret manager ARN to store credentials in the CreateConnection request.

" + }, + "KmsKeyArn":{ + "shape":"KmsKeyArn", + "documentation":"

The ARN of the KMS key used to encrypt the connection. Only taken an as input in the request and stored in the Secret Manager.

" + }, + "BasicAuthenticationCredentials":{ + "shape":"BasicAuthenticationCredentials", + "documentation":"

The credentials used when the authentication type is basic authentication.

" + }, + "CustomAuthenticationCredentials":{ + "shape":"CredentialMap", + "documentation":"

The credentials used when the authentication type is custom authentication.

" } }, "documentation":"

A structure containing the authentication configuration in the CreateConnection request.

" @@ -4343,9 +4876,14 @@ "enum":[ "BASIC", "OAUTH2", - "CUSTOM" + "CUSTOM", + "IAM" ] }, + "AuthenticationTypes":{ + "type":"list", + "member":{"shape":"AuthenticationType"} + }, "AuthorizationCode":{ "type":"string", "max":4096, @@ -4399,6 +4937,20 @@ "type":"list", "member":{"shape":"BackfillError"} }, + "BasicAuthenticationCredentials":{ + "type":"structure", + "members":{ + "Username":{ + "shape":"Username", + "documentation":"

The username to connect to the data source.

" + }, + "Password":{ + "shape":"Password", + "documentation":"

The password to connect to the data source.

" + } + }, + "documentation":"

For supplying basic auth credentials when not providing a SecretArn value.

" + }, "BasicCatalogTarget":{ "type":"structure", "required":[ @@ -5325,6 +5877,10 @@ "type":"list", "member":{"shape":"Blueprint"} }, + "Bool":{ + "type":"boolean", + "box":true + }, "Boolean":{"type":"boolean"}, "BooleanColumnStatisticsData":{ "type":"structure", @@ -5476,6 +6032,84 @@ "members":{ } }, + "Capabilities":{ + "type":"structure", + "required":[ + "SupportedAuthenticationTypes", + "SupportedDataOperations", + "SupportedComputeEnvironments" + ], + "members":{ + "SupportedAuthenticationTypes":{ + "shape":"AuthenticationTypes", + "documentation":"

A list of supported authentication types.

" + }, + "SupportedDataOperations":{ + "shape":"DataOperations", + "documentation":"

A list of supported data operations.

" + }, + "SupportedComputeEnvironments":{ + "shape":"ComputeEnvironments", + "documentation":"

A list of supported compute environments.

" + } + }, + "documentation":"

Specifies the supported authentication types returned by the DescribeConnectionType API.

" + }, + "Catalog":{ + "type":"structure", + "required":["Name"], + "members":{ + "CatalogId":{ + "shape":"CatalogIdString", + "documentation":"

The ID of the catalog. To grant access to the default catalog, this field should not be provided.

" + }, + "Name":{ + "shape":"CatalogNameString", + "documentation":"

The name of the catalog. Cannot be the same as the account ID.

" + }, + "ResourceArn":{ + "shape":"ResourceArnString", + "documentation":"

The Amazon Resource Name (ARN) assigned to the catalog resource.

" + }, + "Description":{ + "shape":"DescriptionString", + "documentation":"

Description string, not more than 2048 bytes long, matching the URI address multi-line string pattern. A description of the catalog.

" + }, + "Parameters":{ + "shape":"ParametersMap", + "documentation":"

A map array of key-value pairs that define parameters and properties of the catalog.

" + }, + "CreateTime":{ + "shape":"Timestamp", + "documentation":"

The time at which the catalog was created.

" + }, + "UpdateTime":{ + "shape":"Timestamp", + "documentation":"

The time at which the catalog was last updated.

" + }, + "TargetRedshiftCatalog":{ + "shape":"TargetRedshiftCatalog", + "documentation":"

A TargetRedshiftCatalog object that describes a target catalog for database resource linking.

" + }, + "FederatedCatalog":{ + "shape":"FederatedCatalog", + "documentation":"

A FederatedCatalog object that points to an entity outside the Glue Data Catalog.

" + }, + "CatalogProperties":{ + "shape":"CatalogPropertiesOutput", + "documentation":"

A CatalogProperties object that specifies data lake access properties and other custom properties.

" + }, + "CreateTableDefaultPermissions":{ + "shape":"PrincipalPermissionsList", + "documentation":"

An array of PrincipalPermissions objects. Creates a set of default permissions on the table(s) for principals. Used by Amazon Web Services Lake Formation. Not used in the normal course of Glue operations.

" + }, + "CreateDatabaseDefaultPermissions":{ + "shape":"PrincipalPermissionsList", + "documentation":"

An array of PrincipalPermissions objects. Creates a set of default permissions on the database(s) for principals. Used by Amazon Web Services Lake Formation. Not used in the normal course of Glue operations.

" + } + }, + "documentation":"

The catalog object represents a logical grouping of databases in the Glue Data Catalog or a federated source. You can now create a Redshift-federated catalog or a catalog containing resource links to Redshift databases in another account or region.

" + }, "CatalogDeltaSource":{ "type":"structure", "required":[ @@ -5598,6 +6232,40 @@ }, "documentation":"

A structure containing migration status information.

" }, + "CatalogInput":{ + "type":"structure", + "members":{ + "Description":{ + "shape":"DescriptionString", + "documentation":"

Description string, not more than 2048 bytes long, matching the URI address multi-line string pattern. A description of the catalog.

" + }, + "FederatedCatalog":{ + "shape":"FederatedCatalog", + "documentation":"

A FederatedCatalog object. A FederatedCatalog structure that references an entity outside the Glue Data Catalog, for example a Redshift database.

" + }, + "Parameters":{ + "shape":"ParametersMap", + "documentation":"

A map array of key-value pairs that define the parameters and properties of the catalog.

" + }, + "TargetRedshiftCatalog":{ + "shape":"TargetRedshiftCatalog", + "documentation":"

A TargetRedshiftCatalog object that describes a target catalog for resource linking.

" + }, + "CatalogProperties":{ + "shape":"CatalogProperties", + "documentation":"

A CatalogProperties object that specifies data lake access properties and other custom properties.

" + }, + "CreateTableDefaultPermissions":{ + "shape":"PrincipalPermissionsList", + "documentation":"

An array of PrincipalPermissions objects. Creates a set of default permissions on the table(s) for principals. Used by Amazon Web Services Lake Formation. Typically should be explicitly set as an empty list.

" + }, + "CreateDatabaseDefaultPermissions":{ + "shape":"PrincipalPermissionsList", + "documentation":"

An array of PrincipalPermissions objects. Creates a set of default permissions on the database(s) for principals. Used by Amazon Web Services Lake Formation. Typically should be explicitly set as an empty list.

" + } + }, + "documentation":"

A structure that describes catalog properties.

" + }, "CatalogKafkaSource":{ "type":"structure", "required":[ @@ -5679,6 +6347,44 @@ }, "documentation":"

Specifies a Kinesis data source in the Glue Data Catalog.

" }, + "CatalogList":{ + "type":"list", + "member":{"shape":"Catalog"} + }, + "CatalogNameString":{ + "type":"string", + "max":64, + "min":1, + "pattern":"^(?!(.*[.\\/\\\\]|aws:)).*$" + }, + "CatalogProperties":{ + "type":"structure", + "members":{ + "DataLakeAccessProperties":{ + "shape":"DataLakeAccessProperties", + "documentation":"

A DataLakeAccessProperties object that specifies properties to configure data lake access for your catalog resource in the Glue Data Catalog.

" + }, + "CustomProperties":{ + "shape":"ParametersMap", + "documentation":"

Additional key-value properties for the catalog, such as column statistics optimizations.

" + } + }, + "documentation":"

A structure that specifies data lake access properties and other custom properties.

" + }, + "CatalogPropertiesOutput":{ + "type":"structure", + "members":{ + "DataLakeAccessProperties":{ + "shape":"DataLakeAccessPropertiesOutput", + "documentation":"

A DataLakeAccessProperties object with input properties to configure data lake access for your catalog resource in the Glue Data Catalog.

" + }, + "CustomProperties":{ + "shape":"ParametersMap", + "documentation":"

Additional key-value properties for the catalog, such as column statistics optimizations.

" + } + }, + "documentation":"

Property attributes that include configuration properties for the catalog resource.

" + }, "CatalogSchemaChangePolicy":{ "type":"structure", "members":{ @@ -5755,6 +6461,7 @@ "type":"list", "member":{"shape":"CatalogTarget"} }, + "Category":{"type":"string"}, "CheckSchemaVersionValidityInput":{ "type":"structure", "required":[ @@ -6556,6 +7263,18 @@ "SecurityConfiguration":{ "shape":"CrawlerSecurityConfiguration", "documentation":"

Name of the security configuration that is used to encrypt CloudWatch logs.

" + }, + "ScheduleType":{ + "shape":"ScheduleType", + "documentation":"

The type of schedule for a column statistics task. Possible values may be CRON or AUTO.

" + }, + "SettingSource":{ + "shape":"SettingSource", + "documentation":"

The source of setting the column statistics task. Possible values may be CATALOG or TABLE.

" + }, + "LastExecutionAttempt":{ + "shape":"ExecutionAttempt", + "documentation":"

The last ExecutionAttempt for the column statistics task run.

" } }, "documentation":"

The settings for a column statistics task.

" @@ -6653,6 +7372,89 @@ "INCREMENTAL" ] }, + "ComputeEnvironment":{ + "type":"string", + "enum":[ + "SPARK", + "ATHENA", + "PYTHON" + ] + }, + "ComputeEnvironmentConfiguration":{ + "type":"structure", + "required":[ + "Name", + "Description", + "ComputeEnvironment", + "SupportedAuthenticationTypes", + "ConnectionOptions", + "ConnectionPropertyNameOverrides", + "ConnectionOptionNameOverrides", + "ConnectionPropertiesRequiredOverrides" + ], + "members":{ + "Name":{ + "shape":"ComputeEnvironmentName", + "documentation":"

A name for the compute environment configuration.

" + }, + "Description":{ + "shape":"ComputeEnvironmentConfigurationDescriptionString", + "documentation":"

A description of the compute environment.

" + }, + "ComputeEnvironment":{ + "shape":"ComputeEnvironment", + "documentation":"

The type of compute environment.

" + }, + "SupportedAuthenticationTypes":{ + "shape":"AuthenticationTypes", + "documentation":"

The supported authentication types for the compute environment.

" + }, + "ConnectionOptions":{ + "shape":"PropertiesMap", + "documentation":"

The parameters used as connection options for the compute environment.

" + }, + "ConnectionPropertyNameOverrides":{ + "shape":"PropertyNameOverrides", + "documentation":"

The connection property name overrides for the compute environment.

" + }, + "ConnectionOptionNameOverrides":{ + "shape":"PropertyNameOverrides", + "documentation":"

The connection option name overrides for the compute environment.

" + }, + "ConnectionPropertiesRequiredOverrides":{ + "shape":"ListOfString", + "documentation":"

The connection properties that are required as overrides for the compute environment.

" + }, + "PhysicalConnectionPropertiesRequired":{ + "shape":"Bool", + "documentation":"

Indicates whether PhysicalConnectionProperties are required for the compute environment.

" + } + }, + "documentation":"

An object containing configuration for a compute environment (such as Spark, Python or Athena) returned by the DescribeConnectionType API.

" + }, + "ComputeEnvironmentConfigurationDescriptionString":{ + "type":"string", + "max":1024, + "min":0 + }, + "ComputeEnvironmentConfigurationMap":{ + "type":"map", + "key":{"shape":"ComputeEnvironmentName"}, + "value":{"shape":"ComputeEnvironmentConfiguration"} + }, + "ComputeEnvironmentList":{ + "type":"list", + "member":{"shape":"ComputeEnvironment"} + }, + "ComputeEnvironmentName":{ + "type":"string", + "max":128, + "min":1 + }, + "ComputeEnvironments":{ + "type":"list", + "member":{"shape":"ComputeEnvironment"} + }, "ConcurrentModificationException":{ "type":"structure", "members":{ @@ -6829,11 +7631,19 @@ }, "ConnectionProperties":{ "shape":"ConnectionProperties", - "documentation":"

These key-value pairs define parameters for the connection:

" + "documentation":"

These key-value pairs define parameters for the connection when using the version 1 Connection schema:

" + }, + "SparkProperties":{ + "shape":"PropertyMap", + "documentation":"

Connection properties specific to the Spark compute environment.

" }, "AthenaProperties":{ "shape":"PropertyMap", - "documentation":"

This field is not currently used.

" + "documentation":"

Connection properties specific to the Athena compute environment.

" + }, + "PythonProperties":{ + "shape":"PropertyMap", + "documentation":"

Connection properties specific to the Python compute environment.

" }, "PhysicalConnectionRequirements":{ "shape":"PhysicalConnectionRequirements", @@ -6866,6 +7676,14 @@ "AuthenticationConfiguration":{ "shape":"AuthenticationConfiguration", "documentation":"

The authentication properties of the connection.

" + }, + "ConnectionSchemaVersion":{ + "shape":"ConnectionSchemaVersion", + "documentation":"

The version of the connection schema for this connection. Version 2 supports properties for specific compute environments.

" + }, + "CompatibleComputeEnvironments":{ + "shape":"ComputeEnvironmentList", + "documentation":"

A list of compute environments compatible with the connection.

" } }, "documentation":"

Defines a connection to a data source.

" @@ -6888,7 +7706,7 @@ }, "ConnectionType":{ "shape":"ConnectionType", - "documentation":"

The type of the connection. Currently, these types are supported:

SFTP is not supported.

For more information about how optional ConnectionProperties are used to configure features in Glue, consult Glue connection properties.

For more information about how optional ConnectionProperties are used to configure features in Glue Studio, consult Using connectors and connections.

" + "documentation":"

The type of the connection. Currently, these types are supported:

Additionally, a ConnectionType for the following SaaS connectors is supported:

For more information on the connection parameters needed for a particular connector, see the documentation for the connector in Adding an Glue connectionin the Glue User Guide.

SFTP is not supported.

For more information about how optional ConnectionProperties are used to configure features in Glue, consult Glue connection properties.

For more information about how optional ConnectionProperties are used to configure features in Glue Studio, consult Using connectors and connections.

" }, "MatchCriteria":{ "shape":"MatchCriteria", @@ -6898,9 +7716,17 @@ "shape":"ConnectionProperties", "documentation":"

These key-value pairs define parameters for the connection.

" }, + "SparkProperties":{ + "shape":"PropertyMap", + "documentation":"

Connection properties specific to the Spark compute environment.

" + }, "AthenaProperties":{ "shape":"PropertyMap", - "documentation":"

This field is not currently used.

" + "documentation":"

Connection properties specific to the Athena compute environment.

" + }, + "PythonProperties":{ + "shape":"PropertyMap", + "documentation":"

Connection properties specific to the Python compute environment.

" }, "PhysicalConnectionRequirements":{ "shape":"PhysicalConnectionRequirements", @@ -6908,11 +7734,15 @@ }, "AuthenticationConfiguration":{ "shape":"AuthenticationConfigurationInput", - "documentation":"

The authentication properties of the connection. Used for a Salesforce connection.

" + "documentation":"

The authentication properties of the connection.

" }, "ValidateCredentials":{ "shape":"Boolean", - "documentation":"

A flag to validate the credentials during create connection. Used for a Salesforce connection. Default is true.

" + "documentation":"

A flag to validate the credentials during create connection. Default is true.

" + }, + "ValidateForComputeEnvironments":{ + "shape":"ComputeEnvironmentList", + "documentation":"

The compute environments that the specified connection properties are validated against.

" } }, "documentation":"

A structure that is used to specify a connection to create or update.

" @@ -6922,6 +7752,13 @@ "member":{"shape":"Connection"} }, "ConnectionName":{"type":"string"}, + "ConnectionOptions":{ + "type":"map", + "key":{"shape":"OptionKey"}, + "value":{"shape":"OptionValue"}, + "max":100, + "min":0 + }, "ConnectionPasswordEncryption":{ "type":"structure", "required":["ReturnConnectionPasswordEncrypted"], @@ -6973,10 +7810,6 @@ "KAFKA_CLIENT_KEY_PASSWORD", "ENCRYPTED_KAFKA_CLIENT_KEYSTORE_PASSWORD", "ENCRYPTED_KAFKA_CLIENT_KEY_PASSWORD", - "SECRET_ID", - "CONNECTOR_URL", - "CONNECTOR_TYPE", - "CONNECTOR_CLASS_NAME", "KAFKA_SASL_MECHANISM", "KAFKA_SASL_PLAIN_USERNAME", "KAFKA_SASL_PLAIN_PASSWORD", @@ -6989,6 +7822,12 @@ "KAFKA_SASL_GSSAPI_KRB5_CONF", "KAFKA_SASL_GSSAPI_SERVICE", "KAFKA_SASL_GSSAPI_PRINCIPAL", + "SECRET_ID", + "CONNECTOR_URL", + "CONNECTOR_TYPE", + "CONNECTOR_CLASS_NAME", + "ENDPOINT", + "ENDPOINT_TYPE", "ROLE_ARN", "REGION", "WORKGROUP_NAME", @@ -6996,6 +7835,12 @@ "DATABASE" ] }, + "ConnectionSchemaVersion":{ + "type":"integer", + "box":true, + "max":2, + "min":1 + }, "ConnectionStatus":{ "type":"string", "enum":[ @@ -7016,9 +7861,50 @@ "CUSTOM", "SALESFORCE", "VIEW_VALIDATION_REDSHIFT", - "VIEW_VALIDATION_ATHENA" + "VIEW_VALIDATION_ATHENA", + "GOOGLEADS", + "GOOGLESHEETS", + "GOOGLEANALYTICS4", + "SERVICENOW", + "MARKETO", + "SAPODATA", + "ZENDESK", + "JIRACLOUD", + "NETSUITEERP", + "HUBSPOT", + "FACEBOOKADS", + "INSTAGRAMADS", + "ZOHOCRM", + "SALESFORCEPARDOT", + "SALESFORCEMARKETINGCLOUD", + "SLACK", + "STRIPE", + "INTERCOM", + "SNAPCHATADS" ] }, + "ConnectionTypeBrief":{ + "type":"structure", + "members":{ + "ConnectionType":{ + "shape":"ConnectionType", + "documentation":"

The name of the connection type.

" + }, + "Description":{ + "shape":"Description", + "documentation":"

A description of the connection type.

" + }, + "Capabilities":{ + "shape":"Capabilities", + "documentation":"

The supported authentication types, data interface types (compute environments), and data operations of the connector.

" + } + }, + "documentation":"

Brief information about a supported connection type returned by the ListConnectionTypes API.

" + }, + "ConnectionTypeList":{ + "type":"list", + "member":{"shape":"ConnectionTypeBrief"} + }, "ConnectionsList":{ "type":"structure", "members":{ @@ -7505,6 +8391,32 @@ } } }, + "CreateCatalogRequest":{ + "type":"structure", + "required":[ + "Name", + "CatalogInput" + ], + "members":{ + "Name":{ + "shape":"CatalogNameString", + "documentation":"

The name of the catalog to create.

" + }, + "CatalogInput":{ + "shape":"CatalogInput", + "documentation":"

A CatalogInput object that defines the metadata for the catalog.

" + }, + "Tags":{ + "shape":"TagsMap", + "documentation":"

A map array of key-value pairs, not more than 50 pairs. Each key is a UTF-8 string, not less than 1 or more than 128 bytes long. Each value is a UTF-8 string, not more than 256 bytes long. The tags you assign to the catalog.

" + } + } + }, + "CreateCatalogResponse":{ + "type":"structure", + "members":{ + } + }, "CreateClassifierRequest":{ "type":"structure", "members":{ @@ -8011,6 +8923,175 @@ }, "documentation":"

Specifies a grok classifier for CreateClassifier to create.

" }, + "CreateIntegrationRequest":{ + "type":"structure", + "required":[ + "IntegrationName", + "SourceArn", + "TargetArn" + ], + "members":{ + "IntegrationName":{ + "shape":"String128", + "documentation":"

A unique name for an integration in Glue.

" + }, + "SourceArn":{ + "shape":"String128", + "documentation":"

The ARN of the source resource for the integration.

" + }, + "TargetArn":{ + "shape":"String128", + "documentation":"

The ARN of the target resource for the integration.

" + }, + "Description":{ + "shape":"IntegrationDescription", + "documentation":"

A description of the integration.

" + }, + "DataFilter":{ + "shape":"String2048", + "documentation":"

Selects source tables for the integration using Maxwell filter syntax.

" + }, + "KmsKeyId":{ + "shape":"String2048", + "documentation":"

The ARN of a KMS key used for encrypting the channel.

" + }, + "AdditionalEncryptionContext":{ + "shape":"IntegrationAdditionalEncryptionContextMap", + "documentation":"

An optional set of non-secret key–value pairs that contains additional contextual information for encryption. This can only be provided if KMSKeyId is provided.

" + }, + "Tags":{ + "shape":"IntegrationTagsList", + "documentation":"

Metadata assigned to the resource consisting of a list of key-value pairs.

" + } + } + }, + "CreateIntegrationResourcePropertyRequest":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{ + "shape":"String128", + "documentation":"

The connection ARN of the source, or the database ARN of the target.

" + }, + "SourceProcessingProperties":{ + "shape":"SourceProcessingProperties", + "documentation":"

The resource properties associated with the integration source.

" + }, + "TargetProcessingProperties":{ + "shape":"TargetProcessingProperties", + "documentation":"

The resource properties associated with the integration target.

" + } + } + }, + "CreateIntegrationResourcePropertyResponse":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{ + "shape":"String128", + "documentation":"

The connection ARN of the source, or the database ARN of the target.

" + }, + "SourceProcessingProperties":{ + "shape":"SourceProcessingProperties", + "documentation":"

The resource properties associated with the integration source.

" + }, + "TargetProcessingProperties":{ + "shape":"TargetProcessingProperties", + "documentation":"

The resource properties associated with the integration target.

" + } + } + }, + "CreateIntegrationResponse":{ + "type":"structure", + "required":[ + "SourceArn", + "TargetArn", + "IntegrationName", + "IntegrationArn", + "Status", + "CreateTime" + ], + "members":{ + "SourceArn":{ + "shape":"String128", + "documentation":"

The ARN of the source resource for the integration.

" + }, + "TargetArn":{ + "shape":"String128", + "documentation":"

The ARN of the target resource for the integration.

" + }, + "IntegrationName":{ + "shape":"String128", + "documentation":"

A unique name for an integration in Glue.

" + }, + "Description":{ + "shape":"IntegrationDescription", + "documentation":"

A description of the integration.

" + }, + "IntegrationArn":{ + "shape":"String128", + "documentation":"

The Amazon Resource Name (ARN) for the created integration.

" + }, + "KmsKeyId":{ + "shape":"String2048", + "documentation":"

The ARN of a KMS key used for encrypting the channel.

" + }, + "AdditionalEncryptionContext":{ + "shape":"IntegrationAdditionalEncryptionContextMap", + "documentation":"

An optional set of non-secret key–value pairs that contains additional contextual information for encryption.

" + }, + "Tags":{ + "shape":"IntegrationTagsList", + "documentation":"

Metadata assigned to the resource consisting of a list of key-value pairs.

" + }, + "Status":{ + "shape":"IntegrationStatus", + "documentation":"

The status of the integration being created.

The possible statuses are:

" + }, + "CreateTime":{ + "shape":"IntegrationTimestamp", + "documentation":"

The time when the integration was created, in UTC.

" + }, + "Errors":{ + "shape":"IntegrationErrorList", + "documentation":"

A list of errors associated with the integration creation.

" + }, + "DataFilter":{ + "shape":"String2048", + "documentation":"

Selects source tables for the integration using Maxwell filter syntax.

" + } + } + }, + "CreateIntegrationTablePropertiesRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "TableName" + ], + "members":{ + "ResourceArn":{ + "shape":"String128", + "documentation":"

The connection ARN of the source, or the database ARN of the target.

" + }, + "TableName":{ + "shape":"String128", + "documentation":"

The name of the table to be replicated.

" + }, + "SourceTableConfig":{ + "shape":"SourceTableConfig", + "documentation":"

A structure for the source table configuration.

" + }, + "TargetTableConfig":{ + "shape":"TargetTableConfig", + "documentation":"

A structure for the target table configuration.

" + } + } + }, + "CreateIntegrationTablePropertiesResponse":{ + "type":"structure", + "members":{ + } + }, "CreateJobRequest":{ "type":"structure", "required":[ @@ -8813,6 +9894,22 @@ "documentation":"

Specifies an XML classifier for CreateClassifier to create.

" }, "CreatedTimestamp":{"type":"string"}, + "CredentialKey":{ + "type":"string", + "max":128, + "min":1 + }, + "CredentialMap":{ + "type":"map", + "key":{"shape":"CredentialKey"}, + "value":{"shape":"CredentialValue"}, + "sensitive":true + }, + "CredentialValue":{ + "type":"string", + "max":2048, + "min":1 + }, "CronExpression":{"type":"string"}, "CsvClassifier":{ "type":"structure", @@ -8979,6 +10076,11 @@ "min":0, "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*" }, + "CustomProperties":{ + "type":"map", + "key":{"shape":"String"}, + "value":{"shape":"String"} + }, "DQAdditionalOptions":{ "type":"map", "key":{"shape":"AdditionalOptionKeys"}, @@ -9078,6 +10180,66 @@ "PROTOBUF" ] }, + "DataLakeAccessProperties":{ + "type":"structure", + "members":{ + "DataLakeAccess":{ + "shape":"Boolean", + "documentation":"

Turns on or off data lake access for Apache Spark applications that access Amazon Redshift databases in the Data Catalog from any non-Redshift engine, such as Amazon Athena, Amazon EMR, or Glue ETL.

" + }, + "DataTransferRole":{ + "shape":"IAMRoleArn", + "documentation":"

A role that will be assumed by Glue for transferring data into/out of the staging bucket during a query.

" + }, + "KmsKey":{ + "shape":"ResourceArnString", + "documentation":"

An encryption key that will be used for the staging bucket that will be created along with the catalog.

" + }, + "CatalogType":{ + "shape":"NameString", + "documentation":"

Specifies a federated catalog type for the native catalog resource. The currently supported type is aws:redshift.

" + } + }, + "documentation":"

Input properties to configure data lake access for your catalog resource in the Glue Data Catalog.

" + }, + "DataLakeAccessPropertiesOutput":{ + "type":"structure", + "members":{ + "DataLakeAccess":{ + "shape":"Boolean", + "documentation":"

Turns on or off data lake access for Apache Spark applications that access Amazon Redshift databases in the Data Catalog.

" + }, + "DataTransferRole":{ + "shape":"IAMRoleArn", + "documentation":"

A role that will be assumed by Glue for transferring data into/out of the staging bucket during a query.

" + }, + "KmsKey":{ + "shape":"ResourceArnString", + "documentation":"

An encryption key that will be used for the staging bucket that will be created along with the catalog.

" + }, + "ManagedWorkgroupName":{ + "shape":"NameString", + "documentation":"

The managed Redshift Serverless compute name that is created for your catalog resource.

" + }, + "ManagedWorkgroupStatus":{ + "shape":"NameString", + "documentation":"

The managed Redshift Serverless compute status.

" + }, + "RedshiftDatabaseName":{ + "shape":"NameString", + "documentation":"

The default Redshift database resource name in the managed compute.

" + }, + "StatusMessage":{ + "shape":"NameString", + "documentation":"

A message that gives more detailed information about the managed workgroup status.

" + }, + "CatalogType":{ + "shape":"NameString", + "documentation":"

Specifies a federated catalog type for the native catalog resource. The currently supported type is aws:redshift.

" + } + }, + "documentation":"

The output properties of the data lake access configuration for your catalog resource in the Glue Data Catalog.

" + }, "DataLakePrincipal":{ "type":"structure", "members":{ @@ -9093,6 +10255,17 @@ "max":255, "min":1 }, + "DataOperation":{ + "type":"string", + "enum":[ + "READ", + "WRITE" + ] + }, + "DataOperations":{ + "type":"list", + "member":{"shape":"DataOperation"} + }, "DataQualityAnalyzerResult":{ "type":"structure", "members":{ @@ -9838,6 +11011,21 @@ } } }, + "DeleteCatalogRequest":{ + "type":"structure", + "required":["CatalogId"], + "members":{ + "CatalogId":{ + "shape":"CatalogIdString", + "documentation":"

The ID of the catalog.

" + } + } + }, + "DeleteCatalogResponse":{ + "type":"structure", + "members":{ + } + }, "DeleteClassifierRequest":{ "type":"structure", "required":["Name"], @@ -10050,6 +11238,99 @@ "members":{ } }, + "DeleteIntegrationRequest":{ + "type":"structure", + "required":["IntegrationIdentifier"], + "members":{ + "IntegrationIdentifier":{ + "shape":"String128", + "documentation":"

The Amazon Resource Name (ARN) for the integration.

" + } + } + }, + "DeleteIntegrationResponse":{ + "type":"structure", + "required":[ + "SourceArn", + "TargetArn", + "IntegrationName", + "IntegrationArn", + "Status", + "CreateTime" + ], + "members":{ + "SourceArn":{ + "shape":"String128", + "documentation":"

The ARN of the source for the integration.

" + }, + "TargetArn":{ + "shape":"String128", + "documentation":"

The ARN of the target for the integration.

" + }, + "IntegrationName":{ + "shape":"String128", + "documentation":"

A unique name for an integration in Glue.

" + }, + "Description":{ + "shape":"IntegrationDescription", + "documentation":"

A description of the integration.

" + }, + "IntegrationArn":{ + "shape":"String128", + "documentation":"

The Amazon Resource Name (ARN) for the integration.

" + }, + "KmsKeyId":{ + "shape":"String2048", + "documentation":"

The ARN of a KMS key used for encrypting the channel.

" + }, + "AdditionalEncryptionContext":{ + "shape":"IntegrationAdditionalEncryptionContextMap", + "documentation":"

An optional set of non-secret key–value pairs that contains additional contextual information for encryption.

" + }, + "Tags":{ + "shape":"IntegrationTagsList", + "documentation":"

Metadata assigned to the resource consisting of a list of key-value pairs.

" + }, + "Status":{ + "shape":"IntegrationStatus", + "documentation":"

The status of the integration being deleted.

The possible statuses are:

" + }, + "CreateTime":{ + "shape":"IntegrationTimestamp", + "documentation":"

The time when the integration was created, in UTC.

" + }, + "Errors":{ + "shape":"IntegrationErrorList", + "documentation":"

A list of errors associated with the integration.

" + }, + "DataFilter":{ + "shape":"String2048", + "documentation":"

Selects source tables for the integration using Maxwell filter syntax.

" + } + } + }, + "DeleteIntegrationTablePropertiesRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "TableName" + ], + "members":{ + "ResourceArn":{ + "shape":"String128", + "documentation":"

The connection ARN of the source, or the database ARN of the target.

" + }, + "TableName":{ + "shape":"String128", + "documentation":"

The name of the table to be replicated.

" + } + } + }, + "DeleteIntegrationTablePropertiesResponse":{ + "type":"structure", + "members":{ + } + }, "DeleteJobRequest":{ "type":"structure", "required":["JobName"], @@ -10491,24 +11772,198 @@ "type":"list", "member":{"shape":"DeltaTarget"} }, - "DescriptionString":{ - "type":"string", - "max":2048, - "min":0, - "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*" - }, - "DescriptionStringRemovable":{ - "type":"string", - "max":2048, - "min":0, - "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*" - }, - "DevEndpoint":{ + "DescribeConnectionTypeRequest":{ "type":"structure", + "required":["ConnectionType"], "members":{ - "EndpointName":{ - "shape":"GenericString", - "documentation":"

The name of the DevEndpoint.

" + "ConnectionType":{ + "shape":"NameString", + "documentation":"

The name of the connection type to be described.

" + } + } + }, + "DescribeConnectionTypeResponse":{ + "type":"structure", + "members":{ + "ConnectionType":{ + "shape":"NameString", + "documentation":"

The name of the connection type.

" + }, + "Description":{ + "shape":"Description", + "documentation":"

A description of the connection type.

" + }, + "Capabilities":{ + "shape":"Capabilities", + "documentation":"

The supported authentication types, data interface types (compute environments), and data operations of the connector.

" + }, + "ConnectionProperties":{ + "shape":"PropertiesMap", + "documentation":"

Connection properties which are common across compute environments.

" + }, + "ConnectionOptions":{ + "shape":"PropertiesMap", + "documentation":"

Returns properties that can be set when creating a connection in the ConnectionInput.ConnectionProperties. ConnectionOptions defines parameters that can be set in a Spark ETL script in the connection options map passed to a dataframe.

" + }, + "AuthenticationConfiguration":{ + "shape":"AuthConfiguration", + "documentation":"

The type of authentication used for the connection.

" + }, + "ComputeEnvironmentConfigurations":{ + "shape":"ComputeEnvironmentConfigurationMap", + "documentation":"

The compute environments that are supported by the connection.

" + }, + "PhysicalConnectionRequirements":{ + "shape":"PropertiesMap", + "documentation":"

Physical requirements for a connection, such as VPC, Subnet and Security Group specifications.

" + }, + "AthenaConnectionProperties":{ + "shape":"PropertiesMap", + "documentation":"

Connection properties specific to the Athena compute environment.

" + }, + "PythonConnectionProperties":{ + "shape":"PropertiesMap", + "documentation":"

Connection properties specific to the Python compute environment.

" + }, + "SparkConnectionProperties":{ + "shape":"PropertiesMap", + "documentation":"

Connection properties specific to the Spark compute environment.

" + } + } + }, + "DescribeEntityRequest":{ + "type":"structure", + "required":[ + "ConnectionName", + "EntityName" + ], + "members":{ + "ConnectionName":{ + "shape":"NameString", + "documentation":"

The name of the connection that contains the connection type credentials.

" + }, + "CatalogId":{ + "shape":"CatalogIdString", + "documentation":"

The catalog ID of the catalog that contains the connection. This can be null, By default, the Amazon Web Services Account ID is the catalog ID.

" + }, + "EntityName":{ + "shape":"EntityName", + "documentation":"

The name of the entity that you want to describe from the connection type.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

A continuation token, included if this is a continuation call.

" + }, + "DataStoreApiVersion":{ + "shape":"ApiVersion", + "documentation":"

The version of the API used for the data store.

" + } + } + }, + "DescribeEntityResponse":{ + "type":"structure", + "members":{ + "Fields":{ + "shape":"FieldsList", + "documentation":"

Describes the fields for that connector entity. This is the list of Field objects. Field is very similar to column in a database. The Field object has information about different properties associated with fields in the connector.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

A continuation token, present if the current segment is not the last.

" + } + } + }, + "DescribeInboundIntegrationsRequest":{ + "type":"structure", + "members":{ + "IntegrationArn":{ + "shape":"String128", + "documentation":"

The Amazon Resource Name (ARN) of the integration.

" + }, + "Marker":{ + "shape":"String128", + "documentation":"

A token to specify where to start paginating. This is the marker from a previously truncated response.

" + }, + "MaxRecords":{ + "shape":"IntegrationInteger", + "documentation":"

The total number of items to return in the output.

" + }, + "TargetArn":{ + "shape":"String128", + "documentation":"

The Amazon Resource Name (ARN) of the target resource in the integration.

" + } + } + }, + "DescribeInboundIntegrationsResponse":{ + "type":"structure", + "members":{ + "InboundIntegrations":{ + "shape":"InboundIntegrationsList", + "documentation":"

A list of inbound integrations.

" + }, + "Marker":{ + "shape":"String128", + "documentation":"

A value that indicates the starting point for the next set of response records in a subsequent request.

" + } + } + }, + "DescribeIntegrationsRequest":{ + "type":"structure", + "members":{ + "IntegrationIdentifier":{ + "shape":"String128", + "documentation":"

The Amazon Resource Name (ARN) for the integration.

" + }, + "Marker":{ + "shape":"String128", + "documentation":"

A value that indicates the starting point for the next set of response records in a subsequent request.

" + }, + "MaxRecords":{ + "shape":"IntegrationInteger", + "documentation":"

The total number of items to return in the output.

" + }, + "Filters":{ + "shape":"IntegrationFilterList", + "documentation":"

A list of key and values, to filter down the results. Supported keys are \"Status\", \"IntegrationName\", and \"SourceArn\". IntegrationName is limited to only one value.

" + } + } + }, + "DescribeIntegrationsResponse":{ + "type":"structure", + "members":{ + "Integrations":{ + "shape":"IntegrationsList", + "documentation":"

A list of zero-ETL integrations.

" + }, + "Marker":{ + "shape":"String128", + "documentation":"

A value that indicates the starting point for the next set of response records in a subsequent request.

" + } + } + }, + "Description":{ + "type":"string", + "max":1024, + "min":0 + }, + "DescriptionString":{ + "type":"string", + "max":2048, + "min":0, + "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*" + }, + "DescriptionStringRemovable":{ + "type":"string", + "max":2048, + "min":0, + "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*" + }, + "DevEndpoint":{ + "type":"structure", + "members":{ + "EndpointName":{ + "shape":"GenericString", + "documentation":"

The name of the DevEndpoint.

" }, "RoleArn":{ "shape":"RoleArn", @@ -11025,6 +12480,44 @@ }, "documentation":"

Specifies an encryption configuration.

" }, + "Entity":{ + "type":"structure", + "members":{ + "EntityName":{ + "shape":"EntityName", + "documentation":"

The name of the entity.

" + }, + "Label":{ + "shape":"EntityLabel", + "documentation":"

Label used for the entity.

" + }, + "IsParentEntity":{ + "shape":"IsParentEntity", + "documentation":"

A Boolean value which helps to determine whether there are sub objects that can be listed.

" + }, + "Description":{ + "shape":"EntityDescription", + "documentation":"

A description of the entity.

" + }, + "Category":{ + "shape":"Category", + "documentation":"

The type of entities that are present in the response. This value depends on the source connection. For example this is SObjects for Salesforce and databases or schemas or tables for sources like Amazon Redshift.

" + }, + "CustomProperties":{ + "shape":"CustomProperties", + "documentation":"

An optional map of keys which may be returned for an entity by a connector.

" + } + }, + "documentation":"

An entity supported by a given ConnectionType.

" + }, + "EntityDescription":{"type":"string"}, + "EntityFieldName":{"type":"string"}, + "EntityLabel":{"type":"string"}, + "EntityList":{ + "type":"list", + "member":{"shape":"Entity"} + }, + "EntityName":{"type":"string"}, "EntityNotFoundException":{ "type":"structure", "members":{ @@ -11187,6 +12680,28 @@ "documentation":"

Batch condition that must be met (specified number of events received or batch time window expired) before EventBridge event trigger fires.

" }, "EventQueueArn":{"type":"string"}, + "ExecutionAttempt":{ + "type":"structure", + "members":{ + "Status":{ + "shape":"ExecutionStatus", + "documentation":"

The status of the last column statistics task run.

" + }, + "ColumnStatisticsTaskRunId":{ + "shape":"HashString", + "documentation":"

A task run ID for the last column statistics task run.

" + }, + "ExecutionTimestamp":{ + "shape":"Timestamp", + "documentation":"

A timestamp when the last column statistics task run occurred.

" + }, + "ErrorMessage":{ + "shape":"DescriptionString", + "documentation":"

An error message associated with the last column statistics task run.

" + } + }, + "documentation":"

A run attempt for a column statistics task run.

" + }, "ExecutionClass":{ "type":"string", "enum":[ @@ -11205,6 +12720,13 @@ }, "documentation":"

An execution property of a job.

" }, + "ExecutionStatus":{ + "type":"string", + "enum":[ + "FAILED", + "STARTED" + ] + }, "ExecutionTime":{"type":"integer"}, "ExistCondition":{ "type":"string", @@ -11228,6 +12750,20 @@ "type":"string", "pattern":"[\\s\\S]*" }, + "FederatedCatalog":{ + "type":"structure", + "members":{ + "Identifier":{ + "shape":"FederationIdentifier", + "documentation":"

A unique identifier for the federated catalog.

" + }, + "ConnectionName":{ + "shape":"NameString", + "documentation":"

The name of the connection to an external data source, for example a Redshift-federated catalog.

" + } + }, + "documentation":"

A catalog that points to an entity outside the Glue Data Catalog.

" + }, "FederatedDatabase":{ "type":"structure", "members":{ @@ -11322,6 +12858,125 @@ "documentation":"

A federation source failed, but the operation may be retried.

", "exception":true }, + "Field":{ + "type":"structure", + "members":{ + "FieldName":{ + "shape":"EntityFieldName", + "documentation":"

A unique identifier for the field.

" + }, + "Label":{ + "shape":"FieldLabel", + "documentation":"

A readable label used for the field.

" + }, + "Description":{ + "shape":"FieldDescription", + "documentation":"

A description of the field.

" + }, + "FieldType":{ + "shape":"FieldDataType", + "documentation":"

The type of data in the field.

" + }, + "IsPrimaryKey":{ + "shape":"Bool", + "documentation":"

Indicates whether this field can used as a primary key for the given entity.

" + }, + "IsNullable":{ + "shape":"Bool", + "documentation":"

Indicates whether this field can be nullable or not.

" + }, + "IsRetrievable":{ + "shape":"Bool", + "documentation":"

Indicates whether this field can be added in Select clause of SQL query or whether it is retrievable or not.

" + }, + "IsFilterable":{ + "shape":"Bool", + "documentation":"

Indicates whether this field can used in a filter clause (WHERE clause) of a SQL statement when querying data.

" + }, + "IsPartitionable":{ + "shape":"Bool", + "documentation":"

Indicates whether a given field can be used in partitioning the query made to SaaS.

" + }, + "IsCreateable":{ + "shape":"Bool", + "documentation":"

Indicates whether this field can be created as part of a destination write.

" + }, + "IsUpdateable":{ + "shape":"Bool", + "documentation":"

Indicates whether this field can be updated as part of a destination write.

" + }, + "IsUpsertable":{ + "shape":"Bool", + "documentation":"

Indicates whether this field can be upserted as part of a destination write.

" + }, + "IsDefaultOnCreate":{ + "shape":"Bool", + "documentation":"

Indicates whether this field is populated automatically when the object is created, such as a created at timestamp.

" + }, + "SupportedValues":{ + "shape":"ListOfString", + "documentation":"

A list of supported values for the field.

" + }, + "SupportedFilterOperators":{ + "shape":"FieldFilterOperatorsList", + "documentation":"

Indicates the support filter operators for this field.

" + }, + "ParentField":{ + "shape":"String", + "documentation":"

A parent field name for a nested field.

" + }, + "NativeDataType":{ + "shape":"String", + "documentation":"

The data type returned by the SaaS API, such as “picklist” or “textarea” from Salesforce.

" + }, + "CustomProperties":{ + "shape":"CustomProperties", + "documentation":"

Optional map of keys which may be returned.

" + } + }, + "documentation":"

The Field object has information about the different properties associated with a field in the connector.

" + }, + "FieldDataType":{ + "type":"string", + "enum":[ + "INT", + "SMALLINT", + "BIGINT", + "FLOAT", + "LONG", + "DATE", + "BOOLEAN", + "MAP", + "ARRAY", + "STRING", + "TIMESTAMP", + "DECIMAL", + "BYTE", + "SHORT", + "DOUBLE", + "STRUCT" + ] + }, + "FieldDescription":{"type":"string"}, + "FieldFilterOperator":{ + "type":"string", + "enum":[ + "LESS_THAN", + "GREATER_THAN", + "BETWEEN", + "EQUAL_TO", + "NOT_EQUAL_TO", + "GREATER_THAN_OR_EQUAL_TO", + "LESS_THAN_OR_EQUAL_TO", + "CONTAINS", + "ORDER_BY" + ] + }, + "FieldFilterOperatorsList":{ + "type":"list", + "member":{"shape":"FieldFilterOperator"} + }, + "FieldLabel":{"type":"string"}, "FieldName":{ "type":"string", "enum":[ @@ -11333,6 +12988,10 @@ ] }, "FieldType":{"type":"string"}, + "FieldsList":{ + "type":"list", + "member":{"shape":"Field"} + }, "FillMissingValues":{ "type":"structure", "required":[ @@ -11444,6 +13103,11 @@ "NE" ] }, + "FilterPredicate":{ + "type":"string", + "max":100000, + "min":1 + }, "FilterString":{ "type":"string", "max":2048, @@ -11677,6 +13341,60 @@ } } }, + "GetCatalogRequest":{ + "type":"structure", + "required":["CatalogId"], + "members":{ + "CatalogId":{ + "shape":"CatalogIdString", + "documentation":"

The ID of the parent catalog in which the catalog resides. If none is provided, the Amazon Web Services Account Number is used by default.

" + } + } + }, + "GetCatalogResponse":{ + "type":"structure", + "members":{ + "Catalog":{ + "shape":"Catalog", + "documentation":"

A Catalog object. The definition of the specified catalog in the Glue Data Catalog.

" + } + } + }, + "GetCatalogsRequest":{ + "type":"structure", + "members":{ + "ParentCatalogId":{ + "shape":"CatalogIdString", + "documentation":"

The ID of the parent catalog in which the catalog resides. If none is provided, the Amazon Web Services Account Number is used by default.

" + }, + "NextToken":{ + "shape":"Token", + "documentation":"

A continuation token, if this is a continuation call.

" + }, + "MaxResults":{ + "shape":"PageSize", + "documentation":"

The maximum number of catalogs to return in one response.

" + }, + "Recursive":{ + "shape":"Boolean", + "documentation":"

When specified as true, iterates through the account and returns all catalog resources (including top-level resources and child resources)

" + } + } + }, + "GetCatalogsResponse":{ + "type":"structure", + "required":["CatalogList"], + "members":{ + "CatalogList":{ + "shape":"CatalogList", + "documentation":"

An array of Catalog objects. A list of Catalog objects from the specified parent catalog.

" + }, + "NextToken":{ + "shape":"Token", + "documentation":"

A continuation token for paginating the returned list of tokens, returned if the current segment of the list is not the last.

" + } + } + }, "GetClassifierRequest":{ "type":"structure", "required":["Name"], @@ -11909,6 +13627,10 @@ "HidePassword":{ "shape":"Boolean", "documentation":"

Allows you to retrieve the connection metadata without returning the password. For instance, the Glue console uses this flag to retrieve the connection, and does not display the password. Set this parameter when the caller might not have permission to use the KMS key to decrypt the password, but it does have permission to access the rest of the connection properties.

" + }, + "ApplyOverrideForComputeEnvironment":{ + "shape":"ComputeEnvironment", + "documentation":"

For connections that may be used in multiple services, specifies returning properties for the specified compute environment.

" } } }, @@ -11931,6 +13653,10 @@ "ConnectionType":{ "shape":"ConnectionType", "documentation":"

The type of connections to return. Currently, SFTP is not supported.

" + }, + "ConnectionSchemaVersion":{ + "shape":"ConnectionSchemaVersion", + "documentation":"

Denotes if the connection was created with schema version 1 or 2.

" } }, "documentation":"

Filters the connection definitions that are returned by the GetConnections API operation.

" @@ -12525,29 +14251,156 @@ } } }, - "GetDevEndpointsRequest":{ + "GetDevEndpointsRequest":{ + "type":"structure", + "members":{ + "MaxResults":{ + "shape":"PageSize", + "documentation":"

The maximum size of information to return.

" + }, + "NextToken":{ + "shape":"GenericString", + "documentation":"

A continuation token, if this is a continuation call.

" + } + } + }, + "GetDevEndpointsResponse":{ + "type":"structure", + "members":{ + "DevEndpoints":{ + "shape":"DevEndpointList", + "documentation":"

A list of DevEndpoint definitions.

" + }, + "NextToken":{ + "shape":"GenericString", + "documentation":"

A continuation token, if not all DevEndpoint definitions have yet been returned.

" + } + } + }, + "GetEntityRecordsRequest":{ + "type":"structure", + "required":[ + "EntityName", + "Limit" + ], + "members":{ + "ConnectionName":{ + "shape":"NameString", + "documentation":"

The name of the connection that contains the connection type credentials.

" + }, + "CatalogId":{ + "shape":"CatalogIdString", + "documentation":"

The catalog ID of the catalog that contains the connection. This can be null, By default, the Amazon Web Services Account ID is the catalog ID.

" + }, + "EntityName":{ + "shape":"EntityName", + "documentation":"

Name of the entity that we want to query the preview data from the given connection type.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

A continuation token, included if this is a continuation call.

" + }, + "DataStoreApiVersion":{ + "shape":"ApiVersion", + "documentation":"

The API version of the SaaS connector.

" + }, + "ConnectionOptions":{ + "shape":"ConnectionOptions", + "documentation":"

Connector options that are required to query the data.

" + }, + "FilterPredicate":{ + "shape":"FilterPredicate", + "documentation":"

A filter predicate that you can apply in the query request.

" + }, + "Limit":{ + "shape":"Limit", + "documentation":"

Limits the number of records fetched with the request.

" + }, + "OrderBy":{ + "shape":"String", + "documentation":"

A parameter that orders the response preview data.

" + }, + "SelectedFields":{ + "shape":"SelectedFields", + "documentation":"

List of fields that we want to fetch as part of preview data.

" + } + } + }, + "GetEntityRecordsResponse":{ + "type":"structure", + "members":{ + "Records":{ + "shape":"Records", + "documentation":"

A list of the requested objects.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

A continuation token, present if the current segment is not the last.

" + } + } + }, + "GetIntegrationResourcePropertyRequest":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{ + "shape":"String128", + "documentation":"

The connection ARN of the source, or the database ARN of the target.

" + } + } + }, + "GetIntegrationResourcePropertyResponse":{ + "type":"structure", + "members":{ + "ResourceArn":{ + "shape":"String128", + "documentation":"

The connection ARN of the source, or the database ARN of the target.

" + }, + "SourceProcessingProperties":{ + "shape":"SourceProcessingProperties", + "documentation":"

The resource properties associated with the integration source.

" + }, + "TargetProcessingProperties":{ + "shape":"TargetProcessingProperties", + "documentation":"

The resource properties associated with the integration target.

" + } + } + }, + "GetIntegrationTablePropertiesRequest":{ "type":"structure", + "required":[ + "ResourceArn", + "TableName" + ], "members":{ - "MaxResults":{ - "shape":"PageSize", - "documentation":"

The maximum size of information to return.

" + "ResourceArn":{ + "shape":"String128", + "documentation":"

The connection ARN of the source, or the database ARN of the target.

" }, - "NextToken":{ - "shape":"GenericString", - "documentation":"

A continuation token, if this is a continuation call.

" + "TableName":{ + "shape":"String128", + "documentation":"

The name of the table to be replicated.

" } } }, - "GetDevEndpointsResponse":{ + "GetIntegrationTablePropertiesResponse":{ "type":"structure", "members":{ - "DevEndpoints":{ - "shape":"DevEndpointList", - "documentation":"

A list of DevEndpoint definitions.

" + "ResourceArn":{ + "shape":"String128", + "documentation":"

The connection ARN of the source, or the database ARN of the target.

" }, - "NextToken":{ - "shape":"GenericString", - "documentation":"

A continuation token, if not all DevEndpoint definitions have yet been returned.

" + "TableName":{ + "shape":"String128", + "documentation":"

The name of the table to be replicated.

" + }, + "SourceTableConfig":{ + "shape":"SourceTableConfig", + "documentation":"

A structure for the source table configuration.

" + }, + "TargetTableConfig":{ + "shape":"TargetTableConfig", + "documentation":"

A structure for the target table configuration.

" } } }, @@ -14300,7 +16153,7 @@ "type":"string", "max":10240, "min":1, - "pattern":"arn:(aws|aws-us-gov|aws-cn):glue:.*" + "pattern":"arn:aws(-(cn|us-gov|iso(-[bef])?))?:glue:.*" }, "GlueSchema":{ "type":"structure", @@ -14392,7 +16245,7 @@ "type":"string", "max":255, "min":1, - "pattern":"^\\w+\\.\\w+$" + "pattern":"^(\\w+\\.)+\\w+$" }, "GovernedCatalogSource":{ "type":"structure", @@ -14772,6 +16625,47 @@ }, "documentation":"

Specifies configuration properties for an importing labels task run.

" }, + "InboundIntegration":{ + "type":"structure", + "required":[ + "SourceArn", + "TargetArn", + "IntegrationArn", + "Status", + "CreateTime" + ], + "members":{ + "SourceArn":{ + "shape":"String128", + "documentation":"

The ARN of the source resource for the integration.

" + }, + "TargetArn":{ + "shape":"String128", + "documentation":"

The ARN of the target resource for the integration.

" + }, + "IntegrationArn":{ + "shape":"String128", + "documentation":"

The ARN of the zero-ETL integration.

" + }, + "Status":{ + "shape":"IntegrationStatus", + "documentation":"

The possible statuses are:

" + }, + "CreateTime":{ + "shape":"IntegrationTimestamp", + "documentation":"

The time that the integration was created, in UTC.

" + }, + "Errors":{ + "shape":"IntegrationErrorList", + "documentation":"

A list of errors associated with the integration.

" + } + }, + "documentation":"

A structure for an integration that writes data into a resource.

" + }, + "InboundIntegrationsList":{ + "type":"list", + "member":{"shape":"InboundIntegration"} + }, "InclusionAnnotationList":{ "type":"list", "member":{"shape":"DatapointInclusionAnnotation"} @@ -14790,6 +16684,204 @@ "min":0 }, "IntegerValue":{"type":"integer"}, + "Integration":{ + "type":"structure", + "required":[ + "SourceArn", + "TargetArn", + "IntegrationName", + "IntegrationArn", + "Status", + "CreateTime" + ], + "members":{ + "SourceArn":{ + "shape":"String128", + "documentation":"

The ARN for the source of the integration.

" + }, + "TargetArn":{ + "shape":"String128", + "documentation":"

The ARN for the target of the integration.

" + }, + "Description":{ + "shape":"IntegrationDescription", + "documentation":"

A description for the integration.

" + }, + "IntegrationName":{ + "shape":"String128", + "documentation":"

A unique name for the integration.

" + }, + "IntegrationArn":{ + "shape":"String128", + "documentation":"

The Amazon Resource Name (ARN) for the integration.

" + }, + "KmsKeyId":{ + "shape":"String2048", + "documentation":"

The ARN of a KMS key used for encrypting the channel.

" + }, + "AdditionalEncryptionContext":{ + "shape":"IntegrationAdditionalEncryptionContextMap", + "documentation":"

An optional set of non-secret key–value pairs that contains additional contextual information for encryption. This can only be provided if KMSKeyId is provided.

" + }, + "Tags":{ + "shape":"IntegrationTagsList", + "documentation":"

Metadata assigned to the resource consisting of a list of key-value pairs.

" + }, + "Status":{ + "shape":"IntegrationStatus", + "documentation":"

The possible statuses are:

" + }, + "CreateTime":{ + "shape":"IntegrationTimestamp", + "documentation":"

The time that the integration was created, in UTC.

" + }, + "Errors":{ + "shape":"IntegrationErrorList", + "documentation":"

A list of errors associated with the integration.

" + }, + "DataFilter":{ + "shape":"String2048", + "documentation":"

Selects source tables for the integration using Maxwell filter syntax.

" + } + }, + "documentation":"

Describes a zero-ETL integration.

" + }, + "IntegrationAdditionalEncryptionContextMap":{ + "type":"map", + "key":{"shape":"IntegrationString"}, + "value":{"shape":"IntegrationString"} + }, + "IntegrationConflictOperationFault":{ + "type":"structure", + "members":{ + "Message":{ + "shape":"IntegrationErrorMessage", + "documentation":"

A message describing the problem.

" + } + }, + "documentation":"

The requested operation conflicts with another operation.

", + "exception":true + }, + "IntegrationDescription":{ + "type":"string", + "max":1000, + "pattern":"[\\S\\s]*" + }, + "IntegrationError":{ + "type":"structure", + "members":{ + "ErrorCode":{ + "shape":"String128", + "documentation":"

The code associated with this error.

" + }, + "ErrorMessage":{ + "shape":"String2048", + "documentation":"

A message describing the error.

" + } + }, + "documentation":"

An error associated with a zero-ETL integration.

" + }, + "IntegrationErrorList":{ + "type":"list", + "member":{"shape":"IntegrationError"} + }, + "IntegrationErrorMessage":{"type":"string"}, + "IntegrationFilter":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"String128", + "documentation":"

The name of the filter.

" + }, + "Values":{ + "shape":"IntegrationFilterValues", + "documentation":"

A list of filter values.

" + } + }, + "documentation":"

A filter that can be used when invoking a DescribeIntegrations request.

" + }, + "IntegrationFilterList":{ + "type":"list", + "member":{"shape":"IntegrationFilter"} + }, + "IntegrationFilterValues":{ + "type":"list", + "member":{"shape":"String128"} + }, + "IntegrationInteger":{"type":"integer"}, + "IntegrationNotFoundFault":{ + "type":"structure", + "members":{ + "Message":{ + "shape":"IntegrationErrorMessage", + "documentation":"

A message describing the problem.

" + } + }, + "documentation":"

The specified integration could not be found.

", + "exception":true + }, + "IntegrationPartition":{ + "type":"structure", + "members":{ + "FieldName":{ + "shape":"String128", + "documentation":"

The field name used to partition data on the target.

" + }, + "FunctionSpec":{ + "shape":"String128", + "documentation":"

Specifies a function used to partition data on the target.

" + } + }, + "documentation":"

A structure that describes how data is partitioned on the target.

" + }, + "IntegrationPartitionSpecList":{ + "type":"list", + "member":{"shape":"IntegrationPartition"} + }, + "IntegrationQuotaExceededFault":{ + "type":"structure", + "members":{ + "Message":{ + "shape":"IntegrationErrorMessage", + "documentation":"

A message describing the problem.

" + } + }, + "documentation":"

The data processed through your integration exceeded your quota.

", + "exception":true + }, + "IntegrationStatus":{ + "type":"string", + "enum":[ + "CREATING", + "ACTIVE", + "MODIFYING", + "FAILED", + "DELETING", + "SYNCING", + "NEEDS_ATTENTION" + ] + }, + "IntegrationString":{"type":"string"}, + "IntegrationTagsList":{ + "type":"list", + "member":{"shape":"Tag"} + }, + "IntegrationTimestamp":{"type":"timestamp"}, + "IntegrationsList":{ + "type":"list", + "member":{"shape":"Integration"} + }, + "InternalServerException":{ + "type":"structure", + "members":{ + "Message":{ + "shape":"IntegrationErrorMessage", + "documentation":"

A message describing the problem.

" + } + }, + "documentation":"

An internal server error occurred.

", + "exception":true + }, "InternalServiceException":{ "type":"structure", "members":{ @@ -14817,6 +16909,17 @@ "documentation":"

The input provided was not valid.

", "exception":true }, + "InvalidIntegrationStateFault":{ + "type":"structure", + "members":{ + "Message":{ + "shape":"IntegrationErrorMessage", + "documentation":"

A message describing the problem.

" + } + }, + "documentation":"

The integration is in an invalid state.

", + "exception":true + }, "InvalidStateException":{ "type":"structure", "members":{ @@ -14828,6 +16931,10 @@ "documentation":"

An error that indicates your data is in an invalid state.

", "exception":true }, + "IsParentEntity":{ + "type":"boolean", + "box":true + }, "IsVersionValid":{"type":"boolean"}, "Iso8601DateTime":{ "type":"timestamp", @@ -15611,6 +17718,23 @@ }, "JsonPath":{"type":"string"}, "JsonValue":{"type":"string"}, + "JwtToken":{ + "type":"string", + "max":8000, + "pattern":"^([a-zA-Z0-9_=]+)\\.([a-zA-Z0-9_=]+)\\.([a-zA-Z0-9_\\-\\+\\/=]*)", + "sensitive":true + }, + "KMSKeyNotAccessibleFault":{ + "type":"structure", + "members":{ + "Message":{ + "shape":"IntegrationErrorMessage", + "documentation":"

A message describing the problem.

" + } + }, + "documentation":"

The KMS key specified is not accessible.

", + "exception":true + }, "KafkaStreamingSourceOptions":{ "type":"structure", "members":{ @@ -15918,6 +18042,12 @@ ] }, "LatestSchemaVersionBoolean":{"type":"boolean"}, + "Limit":{ + "type":"long", + "box":true, + "max":1000, + "min":1 + }, "LimitedPathList":{ "type":"list", "member":{"shape":"LimitedStringList"} @@ -15992,6 +18122,32 @@ } } }, + "ListConnectionTypesRequest":{ + "type":"structure", + "members":{ + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to return.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

A continuation token, if this is a continuation call.

" + } + } + }, + "ListConnectionTypesResponse":{ + "type":"structure", + "members":{ + "ConnectionTypes":{ + "shape":"ConnectionTypeList", + "documentation":"

A list of ConnectionTypeBrief objects containing brief information about the supported connection types.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

A continuation token, if the current list segment is not the last.

" + } + } + }, "ListCrawlersRequest":{ "type":"structure", "members":{ @@ -16318,6 +18474,44 @@ } } }, + "ListEntitiesRequest":{ + "type":"structure", + "members":{ + "ConnectionName":{ + "shape":"NameString", + "documentation":"

A name for the connection that has required credentials to query any connection type.

" + }, + "CatalogId":{ + "shape":"CatalogIdString", + "documentation":"

The catalog ID of the catalog that contains the connection. This can be null, By default, the Amazon Web Services Account ID is the catalog ID.

" + }, + "ParentEntityName":{ + "shape":"EntityName", + "documentation":"

Name of the parent entity for which you want to list the children. This parameter takes a fully-qualified path of the entity in order to list the child entities.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

A continuation token, included if this is a continuation call.

" + }, + "DataStoreApiVersion":{ + "shape":"ApiVersion", + "documentation":"

The API version of the SaaS connector.

" + } + } + }, + "ListEntitiesResponse":{ + "type":"structure", + "members":{ + "Entities":{ + "shape":"EntityList", + "documentation":"

A list of Entity objects.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

A continuation token, present if the current segment is not the last.

" + } + } + }, "ListJobsRequest":{ "type":"structure", "members":{ @@ -16387,6 +18581,10 @@ } } }, + "ListOfString":{ + "type":"list", + "member":{"shape":"String"} + }, "ListRegistriesInput":{ "type":"structure", "members":{ @@ -16991,6 +19189,12 @@ }, "MaxConcurrentRuns":{"type":"integer"}, "MaxListTableOptimizerRunsTokenResults":{"type":"integer"}, + "MaxResults":{ + "type":"integer", + "box":true, + "max":100, + "min":1 + }, "MaxResultsNumber":{ "type":"integer", "box":true, @@ -17144,26 +19348,109 @@ "Table" ], "members":{ - "Name":{ - "shape":"NodeName", - "documentation":"

The name of the data target.

" + "Name":{ + "shape":"NodeName", + "documentation":"

The name of the data target.

" + }, + "Inputs":{ + "shape":"OneInput", + "documentation":"

The nodes that are inputs to the data target.

" + }, + "Database":{ + "shape":"EnclosedInStringProperty", + "documentation":"

The name of the database to write to.

" + }, + "Table":{ + "shape":"EnclosedInStringProperty", + "documentation":"

The name of the table in the database to write to.

" + } + }, + "documentation":"

Specifies a target that uses Microsoft SQL.

" + }, + "MillisecondsCount":{"type":"long"}, + "ModifyIntegrationRequest":{ + "type":"structure", + "required":["IntegrationIdentifier"], + "members":{ + "IntegrationIdentifier":{ + "shape":"String128", + "documentation":"

The Amazon Resource Name (ARN) for the integration.

" + }, + "Description":{ + "shape":"IntegrationDescription", + "documentation":"

A description of the integration.

" + }, + "DataFilter":{ + "shape":"String2048", + "documentation":"

Selects source tables for the integration using Maxwell filter syntax.

" + }, + "IntegrationName":{ + "shape":"String128", + "documentation":"

A unique name for an integration in Glue.

" + } + } + }, + "ModifyIntegrationResponse":{ + "type":"structure", + "required":[ + "SourceArn", + "TargetArn", + "IntegrationName", + "IntegrationArn", + "Status", + "CreateTime" + ], + "members":{ + "SourceArn":{ + "shape":"String128", + "documentation":"

The ARN of the source for the integration.

" }, - "Inputs":{ - "shape":"OneInput", - "documentation":"

The nodes that are inputs to the data target.

" + "TargetArn":{ + "shape":"String128", + "documentation":"

The ARN of the target for the integration.

" }, - "Database":{ - "shape":"EnclosedInStringProperty", - "documentation":"

The name of the database to write to.

" + "IntegrationName":{ + "shape":"String128", + "documentation":"

A unique name for an integration in Glue.

" }, - "Table":{ - "shape":"EnclosedInStringProperty", - "documentation":"

The name of the table in the database to write to.

" + "Description":{ + "shape":"IntegrationDescription", + "documentation":"

A description of the integration.

" + }, + "IntegrationArn":{ + "shape":"String128", + "documentation":"

The Amazon Resource Name (ARN) for the integration.

" + }, + "KmsKeyId":{ + "shape":"String2048", + "documentation":"

The ARN of a KMS key used for encrypting the channel.

" + }, + "AdditionalEncryptionContext":{ + "shape":"IntegrationAdditionalEncryptionContextMap", + "documentation":"

An optional set of non-secret key–value pairs that contains additional contextual information for encryption.

" + }, + "Tags":{ + "shape":"IntegrationTagsList", + "documentation":"

Metadata assigned to the resource consisting of a list of key-value pairs.

" + }, + "Status":{ + "shape":"IntegrationStatus", + "documentation":"

The status of the integration being modified.

The possible statuses are:

" + }, + "CreateTime":{ + "shape":"IntegrationTimestamp", + "documentation":"

The time when the integration was created, in UTC.

" + }, + "Errors":{ + "shape":"IntegrationErrorList", + "documentation":"

A list of errors associated with the integration modification.

" + }, + "DataFilter":{ + "shape":"String2048", + "documentation":"

Selects source tables for the integration using Maxwell filter syntax.

" } - }, - "documentation":"

Specifies a target that uses Microsoft SQL.

" + } }, - "MillisecondsCount":{"type":"long"}, "MongoDBTarget":{ "type":"structure", "members":{ @@ -17251,6 +19538,12 @@ "type":"list", "member":{"shape":"NameString"} }, + "NextToken":{ + "type":"string", + "max":2048, + "min":1, + "pattern":"[-a-zA-Z0-9+=/:_]*" + }, "NoScheduleException":{ "type":"structure", "members":{ @@ -17419,6 +19712,28 @@ }, "documentation":"

The OAuth2 client app used for the connection.

" }, + "OAuth2Credentials":{ + "type":"structure", + "members":{ + "UserManagedClientApplicationClientSecret":{ + "shape":"UserManagedClientApplicationClientSecret", + "documentation":"

The client application client secret if the client application is user managed.

" + }, + "AccessToken":{ + "shape":"AccessToken", + "documentation":"

The access token used when the authentication type is OAuth2.

" + }, + "RefreshToken":{ + "shape":"RefreshToken", + "documentation":"

The refresh token used when the authentication type is OAuth2.

" + }, + "JwtToken":{ + "shape":"JwtToken", + "documentation":"

The JSON Web Token (JWT) used when the authentication type is OAuth2.

" + } + }, + "documentation":"

The credentials used when the authentication type is OAuth2 authentication.

" + }, "OAuth2GrantType":{ "type":"string", "enum":[ @@ -17471,6 +19786,10 @@ "AuthorizationCodeProperties":{ "shape":"AuthorizationCodeProperties", "documentation":"

The set of properties required for the the OAuth2 AUTHORIZATION_CODE grant type.

" + }, + "OAuth2Credentials":{ + "shape":"OAuth2Credentials", + "documentation":"

The credentials used when the authentication type is OAuth2 authentication.

" } }, "documentation":"

A structure containing properties for OAuth2 in the CreateConnection request.

" @@ -17537,10 +19856,22 @@ }, "documentation":"

Specifies an option value.

" }, + "OptionKey":{ + "type":"string", + "max":256, + "min":1, + "pattern":"[\\w]*" + }, "OptionList":{ "type":"list", "member":{"shape":"Option"} }, + "OptionValue":{ + "type":"string", + "max":256, + "min":1, + "pattern":"[\\S]*" + }, "OracleSQLCatalogSource":{ "type":"structure", "required":[ @@ -17985,6 +20316,12 @@ }, "documentation":"

Contains a list of values defining partitions.

" }, + "Password":{ + "type":"string", + "max":512, + "pattern":".*", + "sensitive":true + }, "Path":{"type":"string"}, "PathList":{ "type":"list", @@ -18168,6 +20505,10 @@ "min":0, "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*" }, + "PrimaryKeyList":{ + "type":"list", + "member":{"shape":"String128"} + }, "PrincipalPermissions":{ "type":"structure", "members":{ @@ -18214,6 +20555,56 @@ }, "documentation":"

Specifies the job and session values that an admin configures in an Glue usage profile.

" }, + "PropertiesMap":{ + "type":"map", + "key":{"shape":"PropertyName"}, + "value":{"shape":"Property"} + }, + "Property":{ + "type":"structure", + "required":[ + "Name", + "Description", + "Required", + "PropertyTypes" + ], + "members":{ + "Name":{ + "shape":"PropertyName", + "documentation":"

The name of the property.

" + }, + "Description":{ + "shape":"PropertyDescriptionString", + "documentation":"

A description of the property.

" + }, + "Required":{ + "shape":"Bool", + "documentation":"

Indicates whether the property is required.

" + }, + "DefaultValue":{ + "shape":"String", + "documentation":"

The default value for the property.

" + }, + "PropertyTypes":{ + "shape":"PropertyTypes", + "documentation":"

Describes the type of property.

" + }, + "AllowedValues":{ + "shape":"AllowedValues", + "documentation":"

A list of AllowedValue objects representing the values allowed for the property.

" + }, + "DataOperationScopes":{ + "shape":"DataOperations", + "documentation":"

Indicates which data operations are applicable to the property.

" + } + }, + "documentation":"

An object that defines a connection type for a compute environment.

" + }, + "PropertyDescriptionString":{ + "type":"string", + "max":1024, + "min":0 + }, "PropertyKey":{ "type":"string", "max":128, @@ -18224,6 +20615,16 @@ "key":{"shape":"PropertyKey"}, "value":{"shape":"PropertyValue"} }, + "PropertyName":{ + "type":"string", + "max":128, + "min":1 + }, + "PropertyNameOverrides":{ + "type":"map", + "key":{"shape":"PropertyName"}, + "value":{"shape":"PropertyName"} + }, "PropertyPredicate":{ "type":"structure", "members":{ @@ -18242,6 +20643,20 @@ }, "documentation":"

Defines a property predicate.

" }, + "PropertyType":{ + "type":"string", + "enum":[ + "USER_INPUT", + "SECRET", + "READ_ONLY", + "UNUSED", + "SECRET_OR_USER_INPUT" + ] + }, + "PropertyTypes":{ + "type":"list", + "member":{"shape":"PropertyType"} + }, "PropertyValue":{ "type":"string", "max":2048, @@ -18589,6 +21004,18 @@ "max":16, "min":1 }, + "Record":{ + "type":"structure", + "members":{ + }, + "document":true, + "sensitive":true + }, + "Records":{ + "type":"list", + "member":{"shape":"Record"}, + "sensitive":true + }, "RecordsCount":{ "type":"long", "box":true @@ -18691,6 +21118,12 @@ "type":"list", "member":{"shape":"NameString"} }, + "RefreshToken":{ + "type":"string", + "max":4096, + "pattern":"^[\\x20-\\x7E]*$", + "sensitive":true + }, "RegisterSchemaVersionInput":{ "type":"structure", "required":[ @@ -18921,6 +21354,18 @@ "CREATE" ] }, + "ResourceArnString":{"type":"string"}, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "Message":{ + "shape":"IntegrationErrorMessage", + "documentation":"

A message describing the problem.

" + } + }, + "documentation":"

The resource could not be found.

", + "exception":true + }, "ResourceNotReadyException":{ "type":"structure", "members":{ @@ -19893,6 +22338,13 @@ "TRANSITIONING" ] }, + "ScheduleType":{ + "type":"string", + "enum":[ + "CRON", + "AUTO" + ] + }, "SchedulerNotRunningException":{ "type":"structure", "members":{ @@ -20302,6 +22754,12 @@ }, "documentation":"

Specifies a transform that chooses one DynamicFrame from a collection of DynamicFrames. The output is the selected DynamicFrame

" }, + "SelectedFields":{ + "type":"list", + "member":{"shape":"EntityFieldName"}, + "max":1000, + "min":1 + }, "Separator":{ "type":"string", "enum":[ @@ -20449,6 +22907,13 @@ "STOPPED" ] }, + "SettingSource":{ + "type":"string", + "enum":[ + "CATALOG", + "TABLE" + ] + }, "SkewedInfo":{ "type":"structure", "members":{ @@ -20689,6 +23154,42 @@ "AWS_CODE_COMMIT" ] }, + "SourceProcessingProperties":{ + "type":"structure", + "members":{ + "RoleArn":{ + "shape":"String128", + "documentation":"

The IAM role to access the Glue connection.

" + } + }, + "documentation":"

The resource properties associated with the integration source.

" + }, + "SourceTableConfig":{ + "type":"structure", + "members":{ + "Fields":{ + "shape":"SourceTableFieldsList", + "documentation":"

A list of fields used for column-level filtering.

" + }, + "FilterPredicate":{ + "shape":"String128", + "documentation":"

A condition clause used for row-level filtering.

" + }, + "PrimaryKey":{ + "shape":"PrimaryKeyList", + "documentation":"

Unique identifier of a record.

" + }, + "RecordUpdateField":{ + "shape":"String128", + "documentation":"

Incremental pull timestamp-based field.

" + } + }, + "documentation":"

Properties used by the source leg to process data from the source.

" + }, + "SourceTableFieldsList":{ + "type":"list", + "member":{"shape":"String128"} + }, "SparkConnectorSource":{ "type":"structure", "required":[ @@ -21783,6 +24284,17 @@ }, "documentation":"

Specifies options related to data preview for viewing a sample of your data.

" }, + "String":{"type":"string"}, + "String128":{ + "type":"string", + "max":128, + "min":1 + }, + "String2048":{ + "type":"string", + "max":2048, + "min":1 + }, "StringColumnStatisticsData":{ "type":"structure", "required":[ @@ -22248,6 +24760,20 @@ "type":"list", "member":{"shape":"TableVersionError"} }, + "Tag":{ + "type":"structure", + "members":{ + "key":{ + "shape":"TagKey", + "documentation":"

The tag key. The key is required when you create a tag on an object. The key is case-sensitive, and must not contain the prefix aws.

" + }, + "value":{ + "shape":"TagValue", + "documentation":"

The tag value. The value is optional when you create a tag on an object. The value is case-sensitive, and must not contain the prefix aws.

" + } + }, + "documentation":"

The Tag object represents a label that you can assign to an Amazon Web Services resource. Each tag consists of a key and an optional value, both of which you define.

For more information about tags, and controlling access to resources in Glue, see Amazon Web Services Tags in Glue and Specifying Glue Resource ARNs in the developer guide.

" + }, "TagKey":{ "type":"string", "max":128, @@ -22310,6 +24836,68 @@ "delta" ] }, + "TargetProcessingProperties":{ + "type":"structure", + "members":{ + "RoleArn":{ + "shape":"String128", + "documentation":"

The IAM role to access the Glue database.

" + }, + "KmsArn":{ + "shape":"String2048", + "documentation":"

The ARN of the KMS key used for encryption.

" + }, + "ConnectionName":{ + "shape":"String128", + "documentation":"

The Glue network connection to configure the Glue job running in the customer VPC.

" + }, + "EventBusArn":{ + "shape":"String2048", + "documentation":"

The ARN of an Eventbridge event bus to receive the integration status notification.

" + } + }, + "documentation":"

The resource properties associated with the integration target.

" + }, + "TargetRedshiftCatalog":{ + "type":"structure", + "required":["CatalogArn"], + "members":{ + "CatalogArn":{ + "shape":"ResourceArnString", + "documentation":"

The Amazon Resource Name (ARN) of the catalog resource.

" + } + }, + "documentation":"

A structure that describes a target catalog for resource linking.

" + }, + "TargetResourceNotFound":{ + "type":"structure", + "members":{ + "Message":{ + "shape":"IntegrationErrorMessage", + "documentation":"

A message describing the problem.

" + } + }, + "documentation":"

The target resource could not be found.

", + "exception":true + }, + "TargetTableConfig":{ + "type":"structure", + "members":{ + "UnnestSpec":{ + "shape":"UnnestSpec", + "documentation":"

Specifies how nested objects are flattened to top-level elements. Valid values are: \"TOPLEVEL\", \"FULL\", or \"NOUNNEST\".

" + }, + "PartitionSpec":{ + "shape":"IntegrationPartitionSpecList", + "documentation":"

Determines the file layout on the target.

" + }, + "TargetTableName":{ + "shape":"String128", + "documentation":"

The optional name of a target table.

" + } + }, + "documentation":"

Properties used by the target leg to partition the data on the target.

" + }, "TaskRun":{ "type":"structure", "members":{ @@ -22485,6 +25073,10 @@ "shape":"NameString", "documentation":"

Optional. The name of the connection to test. If only name is provided, the operation will get the connection and use that for testing.

" }, + "CatalogId":{ + "shape":"CatalogIdString", + "documentation":"

The catalog ID where the connection resides.

" + }, "TestConnectionInput":{ "shape":"TestConnectionInput", "documentation":"

A structure that is used to specify testing a connection to a service.

" @@ -22932,6 +25524,14 @@ "DISTINCT" ] }, + "UnnestSpec":{ + "type":"string", + "enum":[ + "TOPLEVEL", + "FULL", + "NOUNNEST" + ] + }, "UntagResourceRequest":{ "type":"structure", "required":[ @@ -22998,6 +25598,28 @@ "LOG" ] }, + "UpdateCatalogRequest":{ + "type":"structure", + "required":[ + "CatalogId", + "CatalogInput" + ], + "members":{ + "CatalogId":{ + "shape":"CatalogIdString", + "documentation":"

The ID of the catalog.

" + }, + "CatalogInput":{ + "shape":"CatalogInput", + "documentation":"

A CatalogInput object specifying the new properties of an existing catalog.

" + } + } + }, + "UpdateCatalogResponse":{ + "type":"structure", + "members":{ + } + }, "UpdateClassifierRequest":{ "type":"structure", "members":{ @@ -23437,6 +26059,71 @@ }, "documentation":"

Specifies a grok classifier to update when passed to UpdateClassifier.

" }, + "UpdateIntegrationResourcePropertyRequest":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{ + "shape":"String128", + "documentation":"

The connection ARN of the source, or the database ARN of the target.

" + }, + "SourceProcessingProperties":{ + "shape":"SourceProcessingProperties", + "documentation":"

The resource properties associated with the integration source.

" + }, + "TargetProcessingProperties":{ + "shape":"TargetProcessingProperties", + "documentation":"

The resource properties associated with the integration target.

" + } + } + }, + "UpdateIntegrationResourcePropertyResponse":{ + "type":"structure", + "members":{ + "ResourceArn":{ + "shape":"String128", + "documentation":"

The connection ARN of the source, or the database ARN of the target.

" + }, + "SourceProcessingProperties":{ + "shape":"SourceProcessingProperties", + "documentation":"

The resource properties associated with the integration source.

" + }, + "TargetProcessingProperties":{ + "shape":"TargetProcessingProperties", + "documentation":"

The resource properties associated with the integration target.

" + } + } + }, + "UpdateIntegrationTablePropertiesRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "TableName" + ], + "members":{ + "ResourceArn":{ + "shape":"String128", + "documentation":"

The connection ARN of the source, or the database ARN of the target.

" + }, + "TableName":{ + "shape":"String128", + "documentation":"

The name of the table to be replicated.

" + }, + "SourceTableConfig":{ + "shape":"SourceTableConfig", + "documentation":"

A structure for the source table configuration.

" + }, + "TargetTableConfig":{ + "shape":"TargetTableConfig", + "documentation":"

A structure for the target table configuration.

" + } + } + }, + "UpdateIntegrationTablePropertiesResponse":{ + "type":"structure", + "members":{ + } + }, "UpdateJobFromSourceControlRequest":{ "type":"structure", "members":{ @@ -24081,6 +26768,17 @@ "max":2048, "pattern":"\\S+" }, + "UserManagedClientApplicationClientSecret":{ + "type":"string", + "max":512, + "pattern":"^[\\x20-\\x7E]*$", + "sensitive":true + }, + "Username":{ + "type":"string", + "max":512, + "pattern":"\\S+" + }, "ValidationException":{ "type":"structure", "members":{ @@ -24094,7 +26792,8 @@ }, "ValueString":{ "type":"string", - "max":1024 + "max":1024, + "min":1 }, "ValueStringList":{ "type":"list", diff --git a/botocore/data/lakeformation/2017-03-31/service-2.json b/botocore/data/lakeformation/2017-03-31/service-2.json index fc74fd26f3..697370799c 100644 --- a/botocore/data/lakeformation/2017-03-31/service-2.json +++ b/botocore/data/lakeformation/2017-03-31/service-2.json @@ -1335,6 +1335,10 @@ "CatalogResource":{ "type":"structure", "members":{ + "Id":{ + "shape":"CatalogIdString", + "documentation":"

An identifier for the catalog resource.

" + } }, "documentation":"

A structure for the catalog object.

" }, @@ -1416,6 +1420,16 @@ "documentation":"

Two processes are trying to modify a resource simultaneously.

", "exception":true }, + "Condition":{ + "type":"structure", + "members":{ + "Expression":{ + "shape":"ExpressionString", + "documentation":"

An expression written based on the Cedar Policy Language used to match the principal attributes.

" + } + }, + "documentation":"

A Lake Formation condition, which applies to permissions and opt-ins that contain an expression.

" + }, "ContextKey":{ "type":"string", "max":128, @@ -2071,6 +2085,10 @@ "type":"list", "member":{"shape":"LFTag"} }, + "ExpressionString":{ + "type":"string", + "max":3000 + }, "ExtendTransactionRequest":{ "type":"structure", "members":{ @@ -2927,6 +2945,10 @@ "members":{ "Resource":{"shape":"Resource"}, "Principal":{"shape":"DataLakePrincipal"}, + "Condition":{ + "shape":"Condition", + "documentation":"

A Lake Formation condition, which applies to permissions and opt-ins that contain an expression.

" + }, "LastModified":{ "shape":"LastModifiedTimestamp", "documentation":"

The last modified date and time of the record.

" @@ -3337,7 +3359,9 @@ "CREATE_LF_TAG", "ASSOCIATE", "GRANT_WITH_LF_TAG_EXPRESSION", - "CREATE_LF_TAG_EXPRESSION" + "CREATE_LF_TAG_EXPRESSION", + "CREATE_CATALOG", + "SUPER_USER" ] }, "PermissionList":{ @@ -3427,6 +3451,10 @@ "shape":"Resource", "documentation":"

The resource where permissions are to be granted or revoked.

" }, + "Condition":{ + "shape":"Condition", + "documentation":"

A Lake Formation condition, which applies to permissions and opt-ins that contain an expression.

" + }, "Permissions":{ "shape":"PermissionList", "documentation":"

The permissions to be granted or revoked on the resource.

" diff --git a/botocore/data/qapps/2023-11-27/service-2.json b/botocore/data/qapps/2023-11-27/service-2.json index c0e097ff34..fb139fc8a4 100644 --- a/botocore/data/qapps/2023-11-27/service-2.json +++ b/botocore/data/qapps/2023-11-27/service-2.json @@ -708,6 +708,11 @@ }, "exception":true }, + "ActionIdentifier":{ + "type":"string", + "max":256, + "min":1 + }, "AmazonResourceName":{ "type":"string", "max":1011, @@ -2671,7 +2676,18 @@ "SALESFORCE", "JIRA", "ZENDESK", - "CUSTOM" + "CUSTOM", + "ASANA", + "ATLASSIAN_CONFLUENCE", + "GOOGLE_CALENDAR", + "JIRA_CLOUD", + "MICROSOFT_EXCHANGE", + "MICROSOFT_TEAMS", + "PAGERDUTY_ADVANCE", + "SALESFORCE_CRM", + "SERVICENOW_NOW_PLATFORM", + "SMARTSHEET", + "ZENDESK_SUITE" ] }, "PredictAppDefinition":{ @@ -2879,6 +2895,10 @@ "pluginId":{ "shape":"String", "documentation":"

The unique identifier of the plugin used by the card.

" + }, + "actionIdentifier":{ + "shape":"ActionIdentifier", + "documentation":"

The action identifier of the action to be performed by the plugin card.

" } }, "documentation":"

A card in an Q App that integrates with a third-party plugin or service.

" @@ -2912,6 +2932,10 @@ "pluginId":{ "shape":"PluginId", "documentation":"

The unique identifier of the plugin used by the card.

" + }, + "actionIdentifier":{ + "shape":"ActionIdentifier", + "documentation":"

The action identifier of the action to be performed by the plugin card.

" } }, "documentation":"

The input shape for defining a plugin card in an Amazon Q App.

" diff --git a/botocore/data/qbusiness/2023-11-27/paginators-1.json b/botocore/data/qbusiness/2023-11-27/paginators-1.json index fac20fd1cb..9c8e63b21a 100644 --- a/botocore/data/qbusiness/2023-11-27/paginators-1.json +++ b/botocore/data/qbusiness/2023-11-27/paginators-1.json @@ -77,6 +77,36 @@ "output_token": "nextToken", "limit_key": "maxResults", "result_key": "attachments" + }, + "ListDataAccessors": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "dataAccessors" + }, + "ListPluginActions": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "items" + }, + "ListPluginTypeActions": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "items" + }, + "ListPluginTypeMetadata": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "items" + }, + "SearchRelevantContent": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "relevantContent" } } } diff --git a/botocore/data/qbusiness/2023-11-27/service-2.json b/botocore/data/qbusiness/2023-11-27/service-2.json index cec3f1be59..cad3f65daf 100644 --- a/botocore/data/qbusiness/2023-11-27/service-2.json +++ b/botocore/data/qbusiness/2023-11-27/service-2.json @@ -14,6 +14,26 @@ "uid":"qbusiness-2023-11-27" }, "operations":{ + "AssociatePermission":{ + "name":"AssociatePermission", + "http":{ + "method":"POST", + "requestUri":"/applications/{applicationId}/policy", + "responseCode":200 + }, + "input":{"shape":"AssociatePermissionRequest"}, + "output":{"shape":"AssociatePermissionResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ServiceQuotaExceededException"} + ], + "documentation":"

Adds or updates a permission policy for a Q Business application, allowing cross-account access for an ISV. This operation creates a new policy statement for the specified Q Business application. The policy statement defines the IAM actions that the ISV is allowed to perform on the Q Business application's resources.

" + }, "BatchDeleteDocument":{ "name":"BatchDeleteDocument", "http":{ @@ -116,6 +136,27 @@ "documentation":"

Creates an Amazon Q Business application.

There are new tiers for Amazon Q Business. Not all features in Amazon Q Business Pro are also available in Amazon Q Business Lite. For information on what's included in Amazon Q Business Lite and what's included in Amazon Q Business Pro, see Amazon Q Business tiers. You must use the Amazon Q Business console to assign subscription tiers to users.

An Amazon Q Apps service linked role will be created if it's absent in the Amazon Web Services account when QAppsConfiguration is enabled in the request. For more information, see Using service-linked roles for Q Apps.

When you create an application, Amazon Q Business may securely transmit data for processing from your selected Amazon Web Services region, but within your geography. For more information, see Cross region inference in Amazon Q Business.

", "idempotent":true }, + "CreateDataAccessor":{ + "name":"CreateDataAccessor", + "http":{ + "method":"POST", + "requestUri":"/applications/{applicationId}/dataaccessors", + "responseCode":200 + }, + "input":{"shape":"CreateDataAccessorRequest"}, + "output":{"shape":"CreateDataAccessorResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ServiceQuotaExceededException"} + ], + "documentation":"

Creates a new data accessor for an ISV to access data from a Q Business application. The data accessor is an entity that represents the ISV's access to the Q Business application's data. It includes the IAM role ARN for the ISV, a friendly name, and a set of action configurations that define the specific actions the ISV is allowed to perform and any associated data filters. When the data accessor is created, an AWS IAM Identity Center application is also created to manage the ISV's identity and authentication for accessing the Q Business application.

", + "idempotent":true + }, "CreateDataSource":{ "name":"CreateDataSource", "http":{ @@ -298,6 +339,26 @@ "documentation":"

Deletes an Amazon Q Business web experience conversation.

", "idempotent":true }, + "DeleteDataAccessor":{ + "name":"DeleteDataAccessor", + "http":{ + "method":"DELETE", + "requestUri":"/applications/{applicationId}/dataaccessors/{dataAccessorId}", + "responseCode":200 + }, + "input":{"shape":"DeleteDataAccessorRequest"}, + "output":{"shape":"DeleteDataAccessorResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

Deletes a specified data accessor. This operation permanently removes the data accessor and its associated AWS IAM Identity Center application. Any access granted to the ISV through this data accessor will be revoked

", + "idempotent":true + }, "DeleteDataSource":{ "name":"DeleteDataSource", "http":{ @@ -438,6 +499,26 @@ "documentation":"

Deletes an Amazon Q Business web experience.

", "idempotent":true }, + "DisassociatePermission":{ + "name":"DisassociatePermission", + "http":{ + "method":"DELETE", + "requestUri":"/applications/{applicationId}/policy/{statementId}", + "responseCode":200 + }, + "input":{"shape":"DisassociatePermissionRequest"}, + "output":{"shape":"DisassociatePermissionResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

Removes a permission policy from a Q Business application, revoking the cross-account access that was previously granted to an ISV. This operation deletes the specified policy statement from the application's permission policy.

", + "idempotent":true + }, "GetApplication":{ "name":"GetApplication", "http":{ @@ -474,6 +555,24 @@ ], "documentation":"

Gets information about an chat controls configured for an existing Amazon Q Business application.

" }, + "GetDataAccessor":{ + "name":"GetDataAccessor", + "http":{ + "method":"GET", + "requestUri":"/applications/{applicationId}/dataaccessors/{dataAccessorId}", + "responseCode":200 + }, + "input":{"shape":"GetDataAccessorRequest"}, + "output":{"shape":"GetDataAccessorResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

Retrieves information about a specified data accessor. This operation returns details about the data accessor, including its display name, unique identifier, Amazon Resource Name (ARN), the associated Q Business application and AWS IAM Identity Center application, the IAM role for the ISV, the action configurations, and the timestamps for when the data accessor was created and last updated.

" + }, "GetDataSource":{ "name":"GetDataSource", "http":{ @@ -567,6 +666,24 @@ ], "documentation":"

Gets information about an existing Amazon Q Business plugin.

" }, + "GetPolicy":{ + "name":"GetPolicy", + "http":{ + "method":"GET", + "requestUri":"/applications/{applicationId}/policy", + "responseCode":200 + }, + "input":{"shape":"GetPolicyRequest"}, + "output":{"shape":"GetPolicyResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

Retrieves the current permission policy for a Q Business application. The policy is returned as a JSON-formatted string and defines the IAM actions that are allowed or denied for the application's resources.

" + }, "GetRetriever":{ "name":"GetRetriever", "http":{ @@ -677,6 +794,24 @@ ], "documentation":"

Lists one or more Amazon Q Business conversations.

" }, + "ListDataAccessors":{ + "name":"ListDataAccessors", + "http":{ + "method":"GET", + "requestUri":"/applications/{applicationId}/dataaccessors", + "responseCode":200 + }, + "input":{"shape":"ListDataAccessorsRequest"}, + "output":{"shape":"ListDataAccessorsResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

Lists the data accessors for a Q Business application. This operation returns a paginated list of data accessor summaries, including the friendly name, unique identifier, ARN, associated IAM role, and creation/update timestamps for each data accessor.

" + }, "ListDataSourceSyncJobs":{ "name":"ListDataSourceSyncJobs", "http":{ @@ -788,6 +923,58 @@ ], "documentation":"

Gets a list of messages associated with an Amazon Q Business web experience.

" }, + "ListPluginActions":{ + "name":"ListPluginActions", + "http":{ + "method":"GET", + "requestUri":"/applications/{applicationId}/plugins/{pluginId}/actions", + "responseCode":200 + }, + "input":{"shape":"ListPluginActionsRequest"}, + "output":{"shape":"ListPluginActionsResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

Lists configured Amazon Q Business actions for a specific plugin in an Amazon Q Business application.

" + }, + "ListPluginTypeActions":{ + "name":"ListPluginTypeActions", + "http":{ + "method":"GET", + "requestUri":"/pluginTypes/{pluginType}/actions", + "responseCode":200 + }, + "input":{"shape":"ListPluginTypeActionsRequest"}, + "output":{"shape":"ListPluginTypeActionsResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

Lists configured Amazon Q Business actions for any plugin type—both built-in and custom.

" + }, + "ListPluginTypeMetadata":{ + "name":"ListPluginTypeMetadata", + "http":{ + "method":"GET", + "requestUri":"/pluginTypeMetadata", + "responseCode":200 + }, + "input":{"shape":"ListPluginTypeMetadataRequest"}, + "output":{"shape":"ListPluginTypeMetadataResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

Lists metadata for all Amazon Q Business plugin types.

" + }, "ListPlugins":{ "name":"ListPlugins", "http":{ @@ -898,6 +1085,25 @@ "documentation":"

Create, or updates, a mapping of users—who have access to a document—to groups.

You can also map sub groups to groups. For example, the group \"Company Intellectual Property Teams\" includes sub groups \"Research\" and \"Engineering\". These sub groups include their own list of users or people who work in these teams. Only users who work in research and engineering, and therefore belong in the intellectual property group, can see top-secret company documents in their Amazon Q Business chat results.

", "idempotent":true }, + "SearchRelevantContent":{ + "name":"SearchRelevantContent", + "http":{ + "method":"POST", + "requestUri":"/applications/{applicationId}/relevant-content", + "responseCode":200 + }, + "input":{"shape":"SearchRelevantContentRequest"}, + "output":{"shape":"SearchRelevantContentResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"LicenseNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

Searches for relevant content in a Q Business application based on a query. This operation takes a search query text, the Q Business application identifier, and optional filters (such as user ID, user groups, content source, and maximum results) as input. It returns a list of relevant content items, where each item includes the content text, the unique document identifier, the document title, the document URI, any relevant document attributes, and score attributes indicating the confidence level of the relevance.

" + }, "StartDataSourceSyncJob":{ "name":"StartDataSourceSyncJob", "http":{ @@ -1017,6 +1223,26 @@ "documentation":"

Updates an set of chat controls configured for an existing Amazon Q Business application.

", "idempotent":true }, + "UpdateDataAccessor":{ + "name":"UpdateDataAccessor", + "http":{ + "method":"PUT", + "requestUri":"/applications/{applicationId}/dataaccessors/{dataAccessorId}", + "responseCode":200 + }, + "input":{"shape":"UpdateDataAccessorRequest"}, + "output":{"shape":"UpdateDataAccessorResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

Updates an existing data accessor. This operation allows modifying the action configurations (the allowed actions and associated filters) and the display name of the data accessor. It does not allow changing the IAM role associated with the data accessor or other core properties of the data accessor.

", + "idempotent":true + }, "UpdateDataSource":{ "name":"UpdateDataSource", "http":{ @@ -1208,6 +1434,27 @@ }, "exception":true }, + "ActionConfiguration":{ + "type":"structure", + "required":["action"], + "members":{ + "action":{ + "shape":"QIamAction", + "documentation":"

The Q Business action that is allowed.

" + }, + "filterConfiguration":{ + "shape":"ActionFilterConfiguration", + "documentation":"

The filter configuration for the action, if any.

" + } + }, + "documentation":"

Specifies an allowed action and its associated filter configuration.

" + }, + "ActionConfigurationList":{ + "type":"list", + "member":{"shape":"ActionConfiguration"}, + "max":10, + "min":1 + }, "ActionExecution":{ "type":"structure", "required":[ @@ -1271,6 +1518,14 @@ }, "documentation":"

A user input field in an plugin action execution payload.

" }, + "ActionFilterConfiguration":{ + "type":"structure", + "required":["documentAttributeFilter"], + "members":{ + "documentAttributeFilter":{"shape":"AttributeFilter"} + }, + "documentation":"

Specifies filters to apply to an allowed action.

" + }, "ActionPayloadFieldKey":{ "type":"string", "min":1 @@ -1390,7 +1645,7 @@ }, "arrayItemJsonSchema":{ "shape":"ActionReviewPayloadFieldArrayItemJsonSchema", - "documentation":"

Use to create a custom form with array fields (fields with nested objects inside an array).

" + "documentation":"

Use to create a custom form with array fields (fields with nested objects inside an array).

" }, "required":{ "shape":"Boolean", @@ -1423,6 +1678,32 @@ }, "document":true }, + "ActionSummary":{ + "type":"structure", + "members":{ + "actionIdentifier":{ + "shape":"String", + "documentation":"

The identifier of an Amazon Q Business plugin action.

" + }, + "displayName":{ + "shape":"String", + "documentation":"

The display name assigned by Amazon Q Business to a plugin action. You can't modify this value.

" + }, + "instructionExample":{ + "shape":"String", + "documentation":"

An Amazon Q Business suggested prompt and end user can use to invoke a plugin action. This value can be modified and sent as input to initiate an action. For example:

" + }, + "description":{ + "shape":"String", + "documentation":"

The description of an Amazon Q Business plugin action.

" + } + }, + "documentation":"

Summary information for an Amazon Q Business plugin action.

" + }, + "Actions":{ + "type":"list", + "member":{"shape":"ActionSummary"} + }, "AmazonResourceName":{ "type":"string", "max":1011, @@ -1454,6 +1735,10 @@ "identityType":{ "shape":"IdentityType", "documentation":"

The authentication type being used by a Amazon Q Business application.

" + }, + "quickSightConfiguration":{ + "shape":"QuickSightConfiguration", + "documentation":"

The Amazon QuickSight configuration for an Amazon Q Business application that uses QuickSight as the identity provider.

" } }, "documentation":"

Summary information for an Amazon Q Business application.

" @@ -1511,6 +1796,44 @@ }, "documentation":"

The creator mode specific admin controls configured for an Amazon Q Business application. Determines whether an end user can generate LLM-only responses when they use the web experience.

For more information, see Admin controls and guardrails and Conversation settings.

" }, + "AssociatePermissionRequest":{ + "type":"structure", + "required":[ + "applicationId", + "statementId", + "actions", + "principal" + ], + "members":{ + "applicationId":{ + "shape":"ApplicationId", + "documentation":"

The unique identifier of the Q Business application.

", + "location":"uri", + "locationName":"applicationId" + }, + "statementId":{ + "shape":"StatementId", + "documentation":"

A unique identifier for the policy statement.

" + }, + "actions":{ + "shape":"QIamActions", + "documentation":"

The list of Q Business actions that the ISV is allowed to perform.

" + }, + "principal":{ + "shape":"PrincipalRoleArn", + "documentation":"

The Amazon Resource Name (ARN) of the IAM role for the ISV that is being granted permission.

" + } + } + }, + "AssociatePermissionResponse":{ + "type":"structure", + "members":{ + "statement":{ + "shape":"String", + "documentation":"

The JSON representation of the added permission statement.

" + } + } + }, "Attachment":{ "type":"structure", "members":{ @@ -2227,6 +2550,12 @@ "type":"list", "member":{"shape":"ClientIdForOIDC"} }, + "ClientNamespace":{ + "type":"string", + "max":64, + "min":1, + "pattern":"[a-zA-Z0-9._-]*" + }, "ClientToken":{ "type":"string", "max":100, @@ -2293,6 +2622,17 @@ }, "documentation":"

Rules for retrieving content from data sources connected to a Amazon Q Business application for a specific topic control configuration.

" }, + "ContentSource":{ + "type":"structure", + "members":{ + "retriever":{ + "shape":"RetrieverContentSource", + "documentation":"

The retriever to use as the content source.

" + } + }, + "documentation":"

Specifies the source of content to search in.

", + "union":true + }, "ContentType":{ "type":"string", "enum":[ @@ -2424,6 +2764,10 @@ "personalizationConfiguration":{ "shape":"PersonalizationConfiguration", "documentation":"

Configuration information about chat response personalization. For more information, see Personalizing chat responses

" + }, + "quickSightConfiguration":{ + "shape":"QuickSightConfiguration", + "documentation":"

The Amazon QuickSight configuration for an Amazon Q Business application that uses QuickSight for authentication. This configuration is required if your application uses QuickSight as the identity provider. For more information, see Creating an Amazon QuickSight integrated application.

" } } }, @@ -2440,6 +2784,66 @@ } } }, + "CreateDataAccessorRequest":{ + "type":"structure", + "required":[ + "applicationId", + "principal", + "actionConfigurations", + "displayName" + ], + "members":{ + "applicationId":{ + "shape":"ApplicationId", + "documentation":"

The unique identifier of the Q Business application.

", + "location":"uri", + "locationName":"applicationId" + }, + "principal":{ + "shape":"PrincipalRoleArn", + "documentation":"

The Amazon Resource Name (ARN) of the IAM role for the ISV that will be accessing the data.

" + }, + "actionConfigurations":{ + "shape":"ActionConfigurationList", + "documentation":"

A list of action configurations specifying the allowed actions and any associated filters.

" + }, + "clientToken":{ + "shape":"ClientToken", + "documentation":"

A unique, case-sensitive identifier you provide to ensure idempotency of the request.

", + "idempotencyToken":true + }, + "displayName":{ + "shape":"DataAccessorName", + "documentation":"

A friendly name for the data accessor.

" + }, + "tags":{ + "shape":"Tags", + "documentation":"

The tags to associate with the data accessor.

" + } + } + }, + "CreateDataAccessorResponse":{ + "type":"structure", + "required":[ + "dataAccessorId", + "idcApplicationArn", + "dataAccessorArn" + ], + "members":{ + "dataAccessorId":{ + "shape":"DataAccessorId", + "documentation":"

The unique identifier of the created data accessor.

" + }, + "idcApplicationArn":{ + "shape":"IdcApplicationArn", + "documentation":"

The Amazon Resource Name (ARN) of the AWS IAM Identity Center application created for this data accessor.

" + }, + "dataAccessorArn":{ + "shape":"DataAccessorArn", + "documentation":"

The Amazon Resource Name (ARN) of the created data accessor.

" + } + } + }, "CreateDataSourceRequest":{ "type":"structure", "required":[ @@ -2768,6 +3172,10 @@ "browserExtensionConfiguration":{ "shape":"BrowserExtensionConfiguration", "documentation":"

The browser extension configuration for an Amazon Q Business web experience.

For Amazon Q Business application using external OIDC-compliant identity providers (IdPs). The IdP administrator must add the browser extension sign-in redirect URLs to the IdP application. For more information, see Configure external OIDC identity provider for your browser extensions..

" + }, + "customizationConfiguration":{ + "shape":"CustomizationConfiguration", + "documentation":"

Sets the custom logo, favicon, font, and color used in the Amazon Q web experience.

" } } }, @@ -2802,6 +3210,12 @@ "DISABLED" ] }, + "CustomCSSUrl":{ + "type":"string", + "max":1284, + "min":0, + "pattern":"(https?://[a-zA-Z0-9-_.+%/]+\\.css)?" + }, "CustomPluginConfiguration":{ "type":"structure", "required":[ @@ -2825,7 +3239,86 @@ }, "documentation":"

Configuration information required to create a custom plugin.

" }, - "DataSource":{ + "CustomizationConfiguration":{ + "type":"structure", + "members":{ + "customCSSUrl":{ + "shape":"CustomCSSUrl", + "documentation":"

Provides the URL where the custom CSS file is hosted for an Amazon Q web experience.

" + }, + "logoUrl":{ + "shape":"LogoUrl", + "documentation":"

Provides the URL where the custom logo file is hosted for an Amazon Q web experience.

" + }, + "fontUrl":{ + "shape":"FontUrl", + "documentation":"

Provides the URL where the custom font file is hosted for an Amazon Q web experience.

" + }, + "faviconUrl":{ + "shape":"FaviconUrl", + "documentation":"

Provides the URL where the custom favicon file is hosted for an Amazon Q web experience.

" + } + }, + "documentation":"

Contains the configuration information to customize the logo, font, and color of an Amazon Q Business web experience with individual files for each property or a CSS file for them all.

" + }, + "DataAccessor":{ + "type":"structure", + "members":{ + "displayName":{ + "shape":"DataAccessorName", + "documentation":"

The friendly name of the data accessor.

" + }, + "dataAccessorId":{ + "shape":"DataAccessorId", + "documentation":"

The unique identifier of the data accessor.

" + }, + "dataAccessorArn":{ + "shape":"DataAccessorArn", + "documentation":"

The Amazon Resource Name (ARN) of the data accessor.

" + }, + "idcApplicationArn":{ + "shape":"IdcApplicationArn", + "documentation":"

The Amazon Resource Name (ARN) of the associated AWS IAM Identity Center application.

" + }, + "principal":{ + "shape":"PrincipalRoleArn", + "documentation":"

The Amazon Resource Name (ARN) of the IAM role for the ISV associated with this data accessor.

" + }, + "createdAt":{ + "shape":"Timestamp", + "documentation":"

The timestamp when the data accessor was created.

" + }, + "updatedAt":{ + "shape":"Timestamp", + "documentation":"

The timestamp when the data accessor was last updated.

" + } + }, + "documentation":"

Provides summary information about a data accessor.

" + }, + "DataAccessorArn":{ + "type":"string", + "max":1284, + "min":0, + "pattern":"arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}" + }, + "DataAccessorId":{ + "type":"string", + "max":36, + "min":36, + "pattern":"[a-zA-Z0-9][a-zA-Z0-9-]{35}" + }, + "DataAccessorName":{ + "type":"string", + "max":100, + "min":1, + "pattern":"[a-zA-Z0-9][a-zA-Z0-9_-]*", + "sensitive":true + }, + "DataAccessors":{ + "type":"list", + "member":{"shape":"DataAccessor"} + }, + "DataSource":{ "type":"structure", "members":{ "displayName":{ @@ -3082,6 +3575,32 @@ "members":{ } }, + "DeleteDataAccessorRequest":{ + "type":"structure", + "required":[ + "applicationId", + "dataAccessorId" + ], + "members":{ + "applicationId":{ + "shape":"ApplicationId", + "documentation":"

The unique identifier of the Q Business application.

", + "location":"uri", + "locationName":"applicationId" + }, + "dataAccessorId":{ + "shape":"DataAccessorId", + "documentation":"

The unique identifier of the data accessor to delete.

", + "location":"uri", + "locationName":"dataAccessorId" + } + } + }, + "DeleteDataAccessorResponse":{ + "type":"structure", + "members":{ + } + }, "DeleteDataSourceRequest":{ "type":"structure", "required":[ @@ -3305,6 +3824,32 @@ "min":0, "pattern":"[\\s\\S]*" }, + "DisassociatePermissionRequest":{ + "type":"structure", + "required":[ + "applicationId", + "statementId" + ], + "members":{ + "applicationId":{ + "shape":"ApplicationId", + "documentation":"

The unique identifier of the Q Business application.

", + "location":"uri", + "locationName":"applicationId" + }, + "statementId":{ + "shape":"String", + "documentation":"

The statement ID of the permission to remove.

", + "location":"uri", + "locationName":"statementId" + } + } + }, + "DisassociatePermissionResponse":{ + "type":"structure", + "members":{ + } + }, "Document":{ "type":"structure", "required":["id"], @@ -3751,6 +4296,18 @@ "type":"list", "member":{"shape":"FailedDocument"} }, + "FaviconUrl":{ + "type":"string", + "max":1284, + "min":0, + "pattern":"(https?://[a-zA-Z0-9-_.+%/]+\\.(svg|ico))?" + }, + "FontUrl":{ + "type":"string", + "max":1284, + "min":0, + "pattern":"(https?://[a-zA-Z0-9-_.+%/]+\\.(ttf|woff|woff2|otf))?" + }, "GetApplicationRequest":{ "type":"structure", "required":["applicationId"], @@ -3837,6 +4394,10 @@ "clientIdsForOIDC":{ "shape":"ClientIdsForOIDC", "documentation":"

The OIDC client ID for a Amazon Q Business application.

" + }, + "quickSightConfiguration":{ + "shape":"QuickSightConfiguration", + "documentation":"

The Amazon QuickSight authentication configuration for the Amazon Q Business application.

" } } }, @@ -3889,6 +4450,68 @@ } } }, + "GetDataAccessorRequest":{ + "type":"structure", + "required":[ + "applicationId", + "dataAccessorId" + ], + "members":{ + "applicationId":{ + "shape":"ApplicationId", + "documentation":"

The unique identifier of the Q Business application.

", + "location":"uri", + "locationName":"applicationId" + }, + "dataAccessorId":{ + "shape":"DataAccessorId", + "documentation":"

The unique identifier of the data accessor to retrieve.

", + "location":"uri", + "locationName":"dataAccessorId" + } + } + }, + "GetDataAccessorResponse":{ + "type":"structure", + "members":{ + "displayName":{ + "shape":"DataAccessorName", + "documentation":"

The friendly name of the data accessor.

" + }, + "dataAccessorId":{ + "shape":"DataAccessorId", + "documentation":"

The unique identifier of the data accessor.

" + }, + "dataAccessorArn":{ + "shape":"DataAccessorArn", + "documentation":"

The Amazon Resource Name (ARN) of the data accessor.

" + }, + "applicationId":{ + "shape":"ApplicationId", + "documentation":"

The unique identifier of the Q Business application associated with this data accessor.

" + }, + "idcApplicationArn":{ + "shape":"IdcApplicationArn", + "documentation":"

The Amazon Resource Name (ARN) of the AWS IAM Identity Center application associated with this data accessor.

" + }, + "principal":{ + "shape":"PrincipalRoleArn", + "documentation":"

The Amazon Resource Name (ARN) of the IAM role for the ISV associated with this data accessor.

" + }, + "actionConfigurations":{ + "shape":"ActionConfigurationList", + "documentation":"

The list of action configurations specifying the allowed actions and any associated filters.

" + }, + "createdAt":{ + "shape":"Timestamp", + "documentation":"

The timestamp when the data accessor was created.

" + }, + "updatedAt":{ + "shape":"Timestamp", + "documentation":"

The timestamp when the data accessor was last updated.

" + } + } + }, "GetDataSourceRequest":{ "type":"structure", "required":[ @@ -4231,6 +4854,27 @@ } } }, + "GetPolicyRequest":{ + "type":"structure", + "required":["applicationId"], + "members":{ + "applicationId":{ + "shape":"ApplicationId", + "documentation":"

The unique identifier of the Q Business application.

", + "location":"uri", + "locationName":"applicationId" + } + } + }, + "GetPolicyResponse":{ + "type":"structure", + "members":{ + "policy":{ + "shape":"String", + "documentation":"

The JSON representation of the permission policy.

" + } + } + }, "GetRetrieverRequest":{ "type":"structure", "required":[ @@ -4417,6 +5061,10 @@ "browserExtensionConfiguration":{ "shape":"BrowserExtensionConfiguration", "documentation":"

The browser extension configuration for an Amazon Q Business web experience.

" + }, + "customizationConfiguration":{ + "shape":"CustomizationConfiguration", + "documentation":"

Gets the custom logo, favicon, font, and color used in the Amazon Q web experience.

" } } }, @@ -4521,6 +5169,24 @@ "min":10, "pattern":"arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):sso::\\d{12}:application/(sso)?ins-[a-zA-Z0-9-.]{16}/apl-[a-zA-Z0-9]{16}" }, + "IdcAuthConfiguration":{ + "type":"structure", + "required":[ + "idcApplicationArn", + "roleArn" + ], + "members":{ + "idcApplicationArn":{ + "shape":"IdcApplicationArn", + "documentation":"

The Amazon Resource Name (ARN) of the IAM Identity Center Application used to configure authentication.

" + }, + "roleArn":{ + "shape":"RoleArn", + "documentation":"

The Amazon Resource Name (ARN) of the IAM role with permissions to perform actions on Amazon Web Services services on your behalf.

" + } + }, + "documentation":"

Information about the IAM Identity Center Application used to configure authentication for a plugin.

" + }, "IdentityProviderConfiguration":{ "type":"structure", "members":{ @@ -4535,7 +5201,8 @@ "enum":[ "AWS_IAM_IDP_SAML", "AWS_IAM_IDP_OIDC", - "AWS_IAM_IDC" + "AWS_IAM_IDC", + "AWS_QUICKSIGHT_IDP" ] }, "ImageExtractionConfiguration":{ @@ -4859,6 +5526,43 @@ } } }, + "ListDataAccessorsRequest":{ + "type":"structure", + "required":["applicationId"], + "members":{ + "applicationId":{ + "shape":"ApplicationId", + "documentation":"

The unique identifier of the Q Business application.

", + "location":"uri", + "locationName":"applicationId" + }, + "nextToken":{ + "shape":"NextToken1500", + "documentation":"

The token for the next set of results. (You received this token from a previous call.)

", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResultsIntegerForListDataAccessors", + "documentation":"

The maximum number of results to return in a single call.

", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListDataAccessorsResponse":{ + "type":"structure", + "members":{ + "dataAccessors":{ + "shape":"DataAccessors", + "documentation":"

The list of data accessors.

" + }, + "nextToken":{ + "shape":"NextToken1500", + "documentation":"

The token to use to retrieve the next set of results, if there are any.

" + } + } + }, "ListDataSourceSyncJobsRequest":{ "type":"structure", "required":[ @@ -5176,6 +5880,123 @@ } } }, + "ListPluginActionsRequest":{ + "type":"structure", + "required":[ + "applicationId", + "pluginId" + ], + "members":{ + "applicationId":{ + "shape":"ApplicationId", + "documentation":"

The identifier of the Amazon Q Business application the plugin is attached to.

", + "location":"uri", + "locationName":"applicationId" + }, + "pluginId":{ + "shape":"PluginId", + "documentation":"

The identifier of the Amazon Q Business plugin.

", + "location":"uri", + "locationName":"pluginId" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

If the number of plugin actions returned exceeds maxResults, Amazon Q Business returns a next token as a pagination token to retrieve the next set of plugin actions.

", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResultsIntegerForListPluginActions", + "documentation":"

The maximum number of plugin actions to return.

", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListPluginActionsResponse":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"NextToken", + "documentation":"

If the response is truncated, Amazon Q Business returns this token, which you can use in a later request to list the next set of plugin actions.

" + }, + "items":{ + "shape":"Actions", + "documentation":"

An array of information on one or more plugin actions.

" + } + } + }, + "ListPluginTypeActionsRequest":{ + "type":"structure", + "required":["pluginType"], + "members":{ + "pluginType":{ + "shape":"PluginType", + "documentation":"

The type of the plugin.

", + "location":"uri", + "locationName":"pluginType" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

If the number of plugins returned exceeds maxResults, Amazon Q Business returns a next token as a pagination token to retrieve the next set of plugins.

", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResultsIntegerForListPluginTypeActions", + "documentation":"

The maximum number of plugins to return.

", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListPluginTypeActionsResponse":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"NextToken", + "documentation":"

If the response is truncated, Amazon Q Business returns this token, which you can use in a later request to list the next set of plugins.

" + }, + "items":{ + "shape":"Actions", + "documentation":"

An array of information on one or more plugins.

" + } + } + }, + "ListPluginTypeMetadataRequest":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"NextToken", + "documentation":"

If the metadata returned exceeds maxResults, Amazon Q Business returns a next token as a pagination token to retrieve the next set of metadata.

", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResultsIntegerForListPluginTypeMetadata", + "documentation":"

The maximum number of plugin metadata items to return.

", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListPluginTypeMetadataResponse":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"NextToken", + "documentation":"

If the response is truncated, Amazon Q Business returns this token, which you can use in a later request to list the next set of plugin metadata.

" + }, + "items":{ + "shape":"ListPluginTypeMetadataSummaries", + "documentation":"

An array of information on plugin metadata.

" + } + } + }, + "ListPluginTypeMetadataSummaries":{ + "type":"list", + "member":{"shape":"PluginTypeMetadataSummary"} + }, "ListPluginsRequest":{ "type":"structure", "required":["applicationId"], @@ -5308,10 +6129,20 @@ } } }, + "LogoUrl":{ + "type":"string", + "max":1284, + "min":0, + "pattern":"(https?://[a-zA-Z0-9-_.+%/]+\\.(svg|png))?" + }, "Long":{ "type":"long", "box":true }, + "MaxResults":{ + "type":"integer", + "box":true + }, "MaxResultsIntegerForGetTopicConfigurations":{ "type":"integer", "box":true, @@ -5336,6 +6167,12 @@ "max":100, "min":1 }, + "MaxResultsIntegerForListDataAccessors":{ + "type":"integer", + "box":true, + "max":10, + "min":1 + }, "MaxResultsIntegerForListDataSources":{ "type":"integer", "box":true, @@ -5372,6 +6209,24 @@ "max":100, "min":1 }, + "MaxResultsIntegerForListPluginActions":{ + "type":"integer", + "box":true, + "max":50, + "min":1 + }, + "MaxResultsIntegerForListPluginTypeActions":{ + "type":"integer", + "box":true, + "max":50, + "min":1 + }, + "MaxResultsIntegerForListPluginTypeMetadata":{ + "type":"integer", + "box":true, + "max":50, + "min":1 + }, "MaxResultsIntegerForListPlugins":{ "type":"integer", "box":true, @@ -5633,6 +6488,11 @@ "max":800, "min":1 }, + "NextToken1500":{ + "type":"string", + "max":1500, + "min":1 + }, "NoAuthConfiguration":{ "type":"structure", "members":{ @@ -5675,6 +6535,14 @@ "roleArn":{ "shape":"RoleArn", "documentation":"

The ARN of an IAM role used by Amazon Q Business to access the OAuth 2.0 authentication credentials stored in a Secrets Manager secret.

" + }, + "authorizationUrl":{ + "shape":"Url", + "documentation":"

The redirect URL required by the OAuth 2.0 protocol for Amazon Q Business to authenticate a plugin user through a third party authentication server.

" + }, + "tokenUrl":{ + "shape":"Url", + "documentation":"

The URL required by the OAuth 2.0 protocol to exchange an end user authorization code for an access token.

" } }, "documentation":"

Information about the OAuth 2.0 authentication credential/token used to configure a plugin.

" @@ -5783,6 +6651,10 @@ "noAuthConfiguration":{ "shape":"NoAuthConfiguration", "documentation":"

Information about invoking a custom plugin without any authentication.

" + }, + "idcAuthConfiguration":{ + "shape":"IdcAuthConfiguration", + "documentation":"

Information about the IAM Identity Center Application used to configure authentication for a plugin.

" } }, "documentation":"

Authentication configuration information for an Amazon Q Business plugin.

", @@ -5842,9 +6714,49 @@ "SALESFORCE", "JIRA", "ZENDESK", - "CUSTOM" + "CUSTOM", + "QUICKSIGHT", + "SERVICENOW_NOW_PLATFORM", + "JIRA_CLOUD", + "SALESFORCE_CRM", + "ZENDESK_SUITE", + "ATLASSIAN_CONFLUENCE", + "GOOGLE_CALENDAR", + "MICROSOFT_TEAMS", + "MICROSOFT_EXCHANGE", + "PAGERDUTY_ADVANCE", + "SMARTSHEET", + "ASANA" + ] + }, + "PluginTypeCategory":{ + "type":"string", + "enum":[ + "Customer relationship management (CRM)", + "Project management", + "Communication", + "Productivity", + "Ticketing and incident management" ] }, + "PluginTypeMetadataSummary":{ + "type":"structure", + "members":{ + "type":{ + "shape":"PluginType", + "documentation":"

The type of the plugin.

" + }, + "category":{ + "shape":"PluginTypeCategory", + "documentation":"

The category of the plugin type.

" + }, + "description":{ + "shape":"String", + "documentation":"

The description assigned by Amazon Q Business to a plugin. You can't modify this value.

" + } + }, + "documentation":"

Summary metadata information for a Amazon Q Business plugin.

" + }, "Plugins":{ "type":"list", "member":{"shape":"Plugin"} @@ -5883,6 +6795,12 @@ }, "documentation":"

Provides information about a group associated with the principal.

" }, + "PrincipalRoleArn":{ + "type":"string", + "max":1284, + "min":1, + "pattern":"arn:aws:iam::[0-9]{12}:role/[a-zA-Z0-9_/+=,.@-]+" + }, "PrincipalUser":{ "type":"structure", "required":["access"], @@ -6012,6 +6930,28 @@ "DISABLED" ] }, + "QIamAction":{ + "type":"string", + "pattern":"qbusiness:[a-zA-Z]+" + }, + "QIamActions":{ + "type":"list", + "member":{"shape":"QIamAction"}, + "max":10, + "min":1 + }, + "QueryText":{"type":"string"}, + "QuickSightConfiguration":{ + "type":"structure", + "required":["clientNamespace"], + "members":{ + "clientNamespace":{ + "shape":"ClientNamespace", + "documentation":"

The Amazon QuickSight namespace that is used as the identity provider. For more information about QuickSight namespaces, see Namespace operations.

" + } + }, + "documentation":"

The Amazon QuickSight configuration for an Amazon Q Business application that uses QuickSight as the identity provider. For more information, see Creating an Amazon QuickSight integrated application.

" + }, "ReadAccessType":{ "type":"string", "enum":[ @@ -6019,6 +6959,40 @@ "DENY" ] }, + "RelevantContent":{ + "type":"structure", + "members":{ + "content":{ + "shape":"String", + "documentation":"

The actual content of the relevant item.

" + }, + "documentId":{ + "shape":"DocumentId", + "documentation":"

The unique identifier of the document containing the relevant content.

" + }, + "documentTitle":{ + "shape":"Title", + "documentation":"

The title of the document containing the relevant content.

" + }, + "documentUri":{ + "shape":"Url", + "documentation":"

The URI of the document containing the relevant content.

" + }, + "documentAttributes":{ + "shape":"DocumentAttributes", + "documentation":"

Additional attributes of the document containing the relevant content.

" + }, + "scoreAttributes":{ + "shape":"ScoreAttributes", + "documentation":"

Attributes related to the relevance score of the content.

" + } + }, + "documentation":"

Represents a piece of content that is relevant to a search query.

" + }, + "RelevantContentList":{ + "type":"list", + "member":{"shape":"RelevantContent"} + }, "ResourceNotFoundException":{ "type":"structure", "required":[ @@ -6040,7 +7014,7 @@ "documentation":"

The type of the resource affected.

" } }, - "documentation":"

The resource you want to use doesn’t exist. Make sure you have provided the correct resource and try again.

", + "documentation":"

The application or plugin resource you want to use doesn’t exist. Make sure you have provided the correct resource and try again.

", "error":{ "httpStatusCode":404, "senderFault":true @@ -6101,6 +7075,17 @@ "documentation":"

Provides information on how the retriever used for your Amazon Q Business application is configured.

", "union":true }, + "RetrieverContentSource":{ + "type":"structure", + "required":["retrieverId"], + "members":{ + "retrieverId":{ + "shape":"RetrieverId", + "documentation":"

The unique identifier of the retriever to use as the content source.

" + } + }, + "documentation":"

Specifies a retriever as the content source for a search.

" + }, "RetrieverId":{ "type":"string", "max":36, @@ -6270,6 +7255,84 @@ }, "documentation":"

Information about the SAML 2.0-compliant identity provider (IdP) used to authenticate end users of an Amazon Q Business web experience.

" }, + "ScoreAttributes":{ + "type":"structure", + "members":{ + "scoreConfidence":{ + "shape":"ScoreConfidence", + "documentation":"

The confidence level of the relevance score.

" + } + }, + "documentation":"

Provides information about the relevance score of content.

" + }, + "ScoreConfidence":{ + "type":"string", + "enum":[ + "VERY_HIGH", + "HIGH", + "MEDIUM", + "LOW", + "NOT_AVAILABLE" + ] + }, + "SearchRelevantContentRequest":{ + "type":"structure", + "required":[ + "applicationId", + "queryText", + "contentSource" + ], + "members":{ + "applicationId":{ + "shape":"ApplicationId", + "documentation":"

The unique identifier of the Q Business application to search.

", + "location":"uri", + "locationName":"applicationId" + }, + "userId":{ + "shape":"UserId", + "documentation":"

The ID of the user performing the search. Used for access control.

", + "location":"querystring", + "locationName":"userId" + }, + "userGroups":{ + "shape":"UserGroups", + "documentation":"

The groups the user belongs to. Used for access control.

", + "location":"querystring", + "locationName":"userGroups" + }, + "queryText":{ + "shape":"QueryText", + "documentation":"

The text to search for.

" + }, + "contentSource":{ + "shape":"ContentSource", + "documentation":"

The source of content to search in.

" + }, + "attributeFilter":{"shape":"AttributeFilter"}, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to return.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token for the next set of results. (You received this token from a previous call.)

" + } + } + }, + "SearchRelevantContentResponse":{ + "type":"structure", + "members":{ + "relevantContent":{ + "shape":"RelevantContentList", + "documentation":"

The list of relevant content items found.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token to use to retrieve the next set of results, if there are any.

" + } + } + }, "SecretArn":{ "type":"string", "max":1284, @@ -6404,6 +7467,12 @@ } } }, + "StatementId":{ + "type":"string", + "max":100, + "min":1, + "pattern":"[a-zA-Z0-9_-]+" + }, "Status":{ "type":"string", "enum":[ @@ -6849,6 +7918,41 @@ "members":{ } }, + "UpdateDataAccessorRequest":{ + "type":"structure", + "required":[ + "applicationId", + "dataAccessorId", + "actionConfigurations" + ], + "members":{ + "applicationId":{ + "shape":"ApplicationId", + "documentation":"

The unique identifier of the Q Business application.

", + "location":"uri", + "locationName":"applicationId" + }, + "dataAccessorId":{ + "shape":"DataAccessorId", + "documentation":"

The unique identifier of the data accessor to update.

", + "location":"uri", + "locationName":"dataAccessorId" + }, + "actionConfigurations":{ + "shape":"ActionConfigurationList", + "documentation":"

The updated list of action configurations specifying the allowed actions and any associated filters.

" + }, + "displayName":{ + "shape":"DataAccessorName", + "documentation":"

The updated friendly name for the data accessor.

" + } + } + }, + "UpdateDataAccessorResponse":{ + "type":"structure", + "members":{ + } + }, "UpdateDataSourceRequest":{ "type":"structure", "required":[ @@ -7130,6 +8234,10 @@ "browserExtensionConfiguration":{ "shape":"BrowserExtensionConfiguration", "documentation":"

The browser extension configuration for an Amazon Q Business web experience.

For Amazon Q Business application using external OIDC-compliant identity providers (IdPs). The IdP administrator must add the browser extension sign-in redirect URLs to the IdP application. For more information, see Configure external OIDC identity provider for your browser extensions..

" + }, + "customizationConfiguration":{ + "shape":"CustomizationConfiguration", + "documentation":"

Updates the custom logo, favicon, font, and color used in the Amazon Q web experience.

" } } }, diff --git a/botocore/data/quicksight/2018-04-01/service-2.json b/botocore/data/quicksight/2018-04-01/service-2.json index 22580e0ba2..abf1c2f26f 100644 --- a/botocore/data/quicksight/2018-04-01/service-2.json +++ b/botocore/data/quicksight/2018-04-01/service-2.json @@ -741,6 +741,23 @@ ], "documentation":"

Deletes the data source permanently. This operation breaks all the datasets that reference the deleted data source.

" }, + "DeleteDefaultQBusinessApplication":{ + "name":"DeleteDefaultQBusinessApplication", + "http":{ + "method":"DELETE", + "requestUri":"/accounts/{AwsAccountId}/default-qbusiness-application" + }, + "input":{"shape":"DeleteDefaultQBusinessApplicationRequest"}, + "output":{"shape":"DeleteDefaultQBusinessApplicationResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Deletes a linked Amazon Q Business application from an Amazon QuickSight account

" + }, "DeleteFolder":{ "name":"DeleteFolder", "http":{ @@ -1527,6 +1544,23 @@ ], "documentation":"

Describes the resource permissions for a data source.

" }, + "DescribeDefaultQBusinessApplication":{ + "name":"DescribeDefaultQBusinessApplication", + "http":{ + "method":"GET", + "requestUri":"/accounts/{AwsAccountId}/default-qbusiness-application" + }, + "input":{"shape":"DescribeDefaultQBusinessApplicationRequest"}, + "output":{"shape":"DescribeDefaultQBusinessApplicationResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Describes a Amazon Q Business application that is linked to an Amazon QuickSight account.

" + }, "DescribeFolder":{ "name":"DescribeFolder", "http":{ @@ -1726,6 +1760,24 @@ ], "documentation":"

Describes a personalization configuration.

" }, + "DescribeQuickSightQSearchConfiguration":{ + "name":"DescribeQuickSightQSearchConfiguration", + "http":{ + "method":"GET", + "requestUri":"/accounts/{AwsAccountId}/quicksight-q-search-configuration" + }, + "input":{"shape":"DescribeQuickSightQSearchConfigurationRequest"}, + "output":{"shape":"DescribeQuickSightQSearchConfigurationResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ConflictException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Describes the state of a Amazon QuickSight Q Search configuration.

" + }, "DescribeRefreshSchedule":{ "name":"DescribeRefreshSchedule", "http":{ @@ -2041,6 +2093,27 @@ ], "documentation":"

Generates an embed URL that you can use to embed an Amazon QuickSight experience in your website. This action can be used for any type of user registered in an Amazon QuickSight account. Before you use this action, make sure that you have configured the relevant Amazon QuickSight resource and permissions.

The following rules apply to the generated URL:

For more information, see Embedded Analytics in the Amazon QuickSight User Guide.

For more information about the high-level steps for embedding and for an interactive demo of the ways you can customize embedding, visit the Amazon QuickSight Developer Portal.

" }, + "GenerateEmbedUrlForRegisteredUserWithIdentity":{ + "name":"GenerateEmbedUrlForRegisteredUserWithIdentity", + "http":{ + "method":"POST", + "requestUri":"/accounts/{AwsAccountId}/embed-url/registered-user-with-identity" + }, + "input":{"shape":"GenerateEmbedUrlForRegisteredUserWithIdentityRequest"}, + "output":{"shape":"GenerateEmbedUrlForRegisteredUserWithIdentityResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"QuickSightUserNotFoundException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"SessionLifetimeInMinutesInvalidException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnsupportedUserEditionException"}, + {"shape":"UnsupportedPricingPlanException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Generates an embed URL that you can use to embed an Amazon QuickSight experience in your website. This action can be used for any type of user that is registered in an Amazon QuickSight account that uses IAM Identity Center for authentication. This API requires identity-enhanced IAM Role sessions for the authenticated user that the API call is being made for.

This API uses trusted identity propagation to ensure that an end user is authenticated and receives the embed URL that is specific to that user. The IAM Identity Center application that the user has logged into needs to have trusted Identity Propagation enabled for Amazon QuickSight with the scope value set to quicksight:read. Before you use this action, make sure that you have configured the relevant Amazon QuickSight resource and permissions.

" + }, "GetDashboardEmbedUrl":{ "name":"GetDashboardEmbedUrl", "http":{ @@ -2707,6 +2780,22 @@ ], "documentation":"

Lists all of the VPC connections in the current set Amazon Web Services Region of an Amazon Web Services account.

" }, + "PredictQAResults":{ + "name":"PredictQAResults", + "http":{ + "method":"POST", + "requestUri":"/accounts/{AwsAccountId}/qa/predict" + }, + "input":{"shape":"PredictQAResultsRequest"}, + "output":{"shape":"PredictQAResultsResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Predicts existing visuals or generates new visuals to answer a given query.

" + }, "PutDataSetRefreshProperties":{ "name":"PutDataSetRefreshProperties", "http":{ @@ -3086,6 +3175,25 @@ ], "documentation":"

Updates the read and write permissions for an analysis.

" }, + "UpdateApplicationWithTokenExchangeGrant":{ + "name":"UpdateApplicationWithTokenExchangeGrant", + "http":{ + "method":"PUT", + "requestUri":"/accounts/{AwsAccountId}/application-with-token-exchange-grant" + }, + "input":{"shape":"UpdateApplicationWithTokenExchangeGrantRequest"}, + "output":{"shape":"UpdateApplicationWithTokenExchangeGrantResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ThrottlingException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Updates an Amazon QuickSight application with a token exchange grant. This operation only supports Amazon QuickSight applications that are registered with IAM Identity Center.

" + }, "UpdateBrand":{ "name":"UpdateBrand", "http":{ @@ -3334,6 +3442,24 @@ ], "documentation":"

Updates the permissions to a data source.

" }, + "UpdateDefaultQBusinessApplication":{ + "name":"UpdateDefaultQBusinessApplication", + "http":{ + "method":"PUT", + "requestUri":"/accounts/{AwsAccountId}/default-qbusiness-application" + }, + "input":{"shape":"UpdateDefaultQBusinessApplicationRequest"}, + "output":{"shape":"UpdateDefaultQBusinessApplicationResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ConflictException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Updates a Amazon Q Business application that is linked to a Amazon QuickSight account.

" + }, "UpdateFolder":{ "name":"UpdateFolder", "http":{ @@ -3499,6 +3625,24 @@ ], "documentation":"

Updates a personalization configuration.

" }, + "UpdateQuickSightQSearchConfiguration":{ + "name":"UpdateQuickSightQSearchConfiguration", + "http":{ + "method":"PUT", + "requestUri":"/accounts/{AwsAccountId}/quicksight-q-search-configuration" + }, + "input":{"shape":"UpdateQuickSightQSearchConfigurationRequest"}, + "output":{"shape":"UpdateQuickSightQSearchConfigurationResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ConflictException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Updates the state of a Amazon QuickSight Q Search configuration.

" + }, "UpdateRefreshSchedule":{ "name":"UpdateRefreshSchedule", "http":{ @@ -11052,6 +11196,44 @@ }, "documentation":"

The visual publish options of a visual in a dashboard

" }, + "DashboardVisualResult":{ + "type":"structure", + "members":{ + "DashboardId":{ + "shape":"ShortRestrictiveResourceId", + "documentation":"

The ID of the dashboard.

" + }, + "DashboardName":{ + "shape":"DashboardName", + "documentation":"

The name of the dashboard.

" + }, + "SheetId":{ + "shape":"ShortRestrictiveResourceId", + "documentation":"

The ID of the sheet.

" + }, + "SheetName":{ + "shape":"SheetName", + "documentation":"

The name of the sheet.

" + }, + "VisualId":{ + "shape":"ShortRestrictiveResourceId", + "documentation":"

The ID of the visual.

" + }, + "VisualTitle":{ + "shape":"VisualTitle", + "documentation":"

The title of the visual.

" + }, + "VisualSubtitle":{ + "shape":"VisualSubtitle", + "documentation":"

The subtitle of the visual.

" + }, + "DashboardUrl":{ + "shape":"QAUrl", + "documentation":"

The URL of the dashboard.

" + } + }, + "documentation":"

The QA result that is made from dashboard visual.

" + }, "DashboardsQAStatus":{ "type":"string", "enum":[ @@ -13263,6 +13445,38 @@ } } }, + "DeleteDefaultQBusinessApplicationRequest":{ + "type":"structure", + "required":["AwsAccountId"], + "members":{ + "AwsAccountId":{ + "shape":"AwsAccountId", + "documentation":"

The ID of the Amazon QuickSight account that you want to disconnect from a Amazon Q Business application.

", + "location":"uri", + "locationName":"AwsAccountId" + }, + "Namespace":{ + "shape":"Namespace", + "documentation":"

The Amazon QuickSight namespace that you want to delete a linked Amazon Q Business application from. If this field is left blank, the Amazon Q Business application is deleted from the default namespace. Currently, the default namespace is the only valid value for this parameter.

", + "location":"querystring", + "locationName":"namespace" + } + } + }, + "DeleteDefaultQBusinessApplicationResponse":{ + "type":"structure", + "members":{ + "RequestId":{ + "shape":"String", + "documentation":"

The Amazon Web Services request ID for this operation.

" + }, + "Status":{ + "shape":"StatusCode", + "documentation":"

The HTTP status of the request.

", + "location":"statusCode" + } + } + }, "DeleteFolderMembershipRequest":{ "type":"structure", "required":[ @@ -15346,6 +15560,42 @@ } } }, + "DescribeDefaultQBusinessApplicationRequest":{ + "type":"structure", + "required":["AwsAccountId"], + "members":{ + "AwsAccountId":{ + "shape":"AwsAccountId", + "documentation":"

The ID of the Amazon QuickSight account that is linked to the Amazon Q Business application that you want described.

", + "location":"uri", + "locationName":"AwsAccountId" + }, + "Namespace":{ + "shape":"Namespace", + "documentation":"

The Amazon QuickSight namespace that contains the linked Amazon Q Business application. If this field is left blank, the default namespace is used. Currently, the default namespace is the only valid value for this parameter.

", + "location":"querystring", + "locationName":"namespace" + } + } + }, + "DescribeDefaultQBusinessApplicationResponse":{ + "type":"structure", + "members":{ + "RequestId":{ + "shape":"String", + "documentation":"

The Amazon Web Services request ID for this operation.

" + }, + "Status":{ + "shape":"StatusCode", + "documentation":"

The HTTP status of the request.

", + "location":"statusCode" + }, + "ApplicationId":{ + "shape":"String", + "documentation":"

The ID of the Amazon Q Business application that is linked to the Amazon QuickSight account.

" + } + } + }, "DescribeFolderPermissionsRequest":{ "type":"structure", "required":[ @@ -15867,6 +16117,36 @@ } } }, + "DescribeQuickSightQSearchConfigurationRequest":{ + "type":"structure", + "required":["AwsAccountId"], + "members":{ + "AwsAccountId":{ + "shape":"AwsAccountId", + "documentation":"

The ID of the Amazon Web Services account that contains the Amazon QuickSight Q Search configuration that the user wants described.

", + "location":"uri", + "locationName":"AwsAccountId" + } + } + }, + "DescribeQuickSightQSearchConfigurationResponse":{ + "type":"structure", + "members":{ + "QSearchStatus":{ + "shape":"QSearchStatus", + "documentation":"

The status of Amazon QuickSight Q Search configuration.

" + }, + "RequestId":{ + "shape":"String", + "documentation":"

The Amazon Web Services request ID for this operation.

" + }, + "Status":{ + "shape":"StatusCode", + "documentation":"

The HTTP status of the request.

", + "location":"statusCode" + } + } + }, "DescribeRefreshScheduleRequest":{ "type":"structure", "required":[ @@ -18902,6 +19182,99 @@ } } }, + "GenerateEmbedUrlForRegisteredUserWithIdentityRequest":{ + "type":"structure", + "required":[ + "AwsAccountId", + "ExperienceConfiguration" + ], + "members":{ + "AwsAccountId":{ + "shape":"AwsAccountId", + "documentation":"

The ID of the Amazon Web Services registered user.

", + "location":"uri", + "locationName":"AwsAccountId" + }, + "SessionLifetimeInMinutes":{ + "shape":"SessionLifetimeInMinutes", + "documentation":"

The validity of the session in minutes.

" + }, + "ExperienceConfiguration":{"shape":"RegisteredUserEmbeddingExperienceConfiguration"}, + "AllowedDomains":{ + "shape":"StringList", + "documentation":"

A list of domains to be allowed to generate the embed URL.

" + } + } + }, + "GenerateEmbedUrlForRegisteredUserWithIdentityResponse":{ + "type":"structure", + "required":[ + "EmbedUrl", + "Status", + "RequestId" + ], + "members":{ + "EmbedUrl":{ + "shape":"EmbeddingUrl", + "documentation":"

The generated embed URL for the registered user.

" + }, + "Status":{ + "shape":"StatusCode", + "documentation":"

The HTTP status of the request.

", + "location":"statusCode" + }, + "RequestId":{ + "shape":"String", + "documentation":"

The Amazon Web Services request ID for this operation.

" + } + } + }, + "GeneratedAnswerResult":{ + "type":"structure", + "members":{ + "QuestionText":{ + "shape":"QAQueryText", + "documentation":"

The question text.

" + }, + "AnswerStatus":{ + "shape":"GeneratedAnswerStatus", + "documentation":"

The answer status of the generated answer.

" + }, + "TopicId":{ + "shape":"TopicId", + "documentation":"

The ID of the topic.

" + }, + "TopicName":{ + "shape":"ResourceName", + "documentation":"

The name of the topic.

" + }, + "Restatement":{ + "shape":"QAQueryText", + "documentation":"

The restatement for the answer.

" + }, + "QuestionId":{ + "shape":"QuestionId", + "documentation":"

The ID of the question.

" + }, + "AnswerId":{ + "shape":"AnswerId", + "documentation":"

The ID of the answer.

" + }, + "QuestionUrl":{ + "shape":"QAUrl", + "documentation":"

The URL of the question.

" + } + }, + "documentation":"

The QA result that is made from generated answer.

" + }, + "GeneratedAnswerStatus":{ + "type":"string", + "enum":[ + "ANSWER_GENERATED", + "ANSWER_RETRIEVED", + "ANSWER_DOWNGRADE" + ] + }, "GeoSpatialColumnGroup":{ "type":"structure", "required":[ @@ -20725,6 +21098,20 @@ "NONE" ] }, + "IncludeGeneratedAnswer":{ + "type":"string", + "enum":[ + "INCLUDE", + "EXCLUDE" + ] + }, + "IncludeQuickSightQIndex":{ + "type":"string", + "enum":[ + "INCLUDE", + "EXCLUDE" + ] + }, "IncrementalRefresh":{ "type":"structure", "required":["LookbackWindow"], @@ -24216,6 +24603,11 @@ "max":100, "min":1 }, + "MaxTopicsToConsider":{ + "type":"integer", + "max":4, + "min":1 + }, "MaximumLabelType":{ "type":"structure", "members":{ @@ -26724,6 +27116,59 @@ "max":10, "min":1 }, + "PredictQAResultsRequest":{ + "type":"structure", + "required":[ + "AwsAccountId", + "QueryText" + ], + "members":{ + "AwsAccountId":{ + "shape":"AwsAccountId", + "documentation":"

The ID of the Amazon Web Services account that the user wants to execute Predict QA results in.

", + "location":"uri", + "locationName":"AwsAccountId" + }, + "QueryText":{ + "shape":"QAQueryText", + "documentation":"

The query text to be used to predict QA results.

" + }, + "IncludeQuickSightQIndex":{ + "shape":"IncludeQuickSightQIndex", + "documentation":"

Indicates whether Q indicies are included or excluded.

" + }, + "IncludeGeneratedAnswer":{ + "shape":"IncludeGeneratedAnswer", + "documentation":"

Indicates whether generated answers are included or excluded.

" + }, + "MaxTopicsToConsider":{ + "shape":"MaxTopicsToConsider", + "documentation":"

The number of maximum topics to be considered to predict QA results.

" + } + } + }, + "PredictQAResultsResponse":{ + "type":"structure", + "members":{ + "PrimaryResult":{ + "shape":"QAResult", + "documentation":"

The primary visual response.

" + }, + "AdditionalResults":{ + "shape":"QAResults", + "documentation":"

Additional visual responses.

" + }, + "RequestId":{ + "shape":"String", + "documentation":"

The Amazon Web Services request ID for this operation.

" + }, + "Status":{ + "shape":"StatusCode", + "documentation":"

The HTTP status of the request.

", + "location":"statusCode" + } + } + }, "PredictionInterval":{ "type":"integer", "max":95, @@ -26871,6 +27316,50 @@ } } }, + "QAQueryText":{ + "type":"string", + "max":1024, + "min":1, + "sensitive":true + }, + "QAResult":{ + "type":"structure", + "members":{ + "ResultType":{ + "shape":"QAResultType", + "documentation":"

The type of QA result.

" + }, + "DashboardVisual":{ + "shape":"DashboardVisualResult", + "documentation":"

The representation of a dashboard visual result.

" + }, + "GeneratedAnswer":{ + "shape":"GeneratedAnswerResult", + "documentation":"

The representation of a generated answer result.

" + } + }, + "documentation":"

The QA result that is made from the DashboardVisual or GeneratedAnswer.

" + }, + "QAResultType":{ + "type":"string", + "enum":[ + "DASHBOARD_VISUAL", + "GENERATED_ANSWER", + "NO_ANSWER" + ] + }, + "QAResults":{ + "type":"list", + "member":{"shape":"QAResult"} + }, + "QAUrl":{"type":"string"}, + "QSearchStatus":{ + "type":"string", + "enum":[ + "ENABLED", + "DISABLED" + ] + }, "Query":{ "type":"string", "max":256, @@ -26893,6 +27382,11 @@ }, "documentation":"

A structure that describes the query execution options.

" }, + "QuestionId":{ + "type":"string", + "max":64, + "pattern":"^[a-zA-Z0-9-]+$" + }, "QueueInfo":{ "type":"structure", "required":[ @@ -29301,7 +29795,10 @@ }, "ServiceType":{ "type":"string", - "enum":["REDSHIFT"] + "enum":[ + "REDSHIFT", + "QBUSINESS" + ] }, "SessionLifetimeInMinutes":{ "type":"long", @@ -34553,6 +35050,41 @@ } } }, + "UpdateApplicationWithTokenExchangeGrantRequest":{ + "type":"structure", + "required":[ + "AwsAccountId", + "Namespace" + ], + "members":{ + "AwsAccountId":{ + "shape":"AwsAccountId", + "documentation":"

The ID of the Amazon Web Services account to be updated with a token exchange grant.

", + "location":"uri", + "locationName":"AwsAccountId" + }, + "Namespace":{ + "shape":"Namespace", + "documentation":"

The namespace of the Amazon QuickSight application.

", + "location":"querystring", + "locationName":"namespace" + } + } + }, + "UpdateApplicationWithTokenExchangeGrantResponse":{ + "type":"structure", + "members":{ + "Status":{ + "shape":"StatusCode", + "documentation":"

The HTTP status of the request.

", + "location":"statusCode" + }, + "RequestId":{ + "shape":"String", + "documentation":"

The Amazon Web Services request ID for this operation.

" + } + } + }, "UpdateBrandAssignmentRequest":{ "type":"structure", "required":[ @@ -35258,6 +35790,45 @@ } } }, + "UpdateDefaultQBusinessApplicationRequest":{ + "type":"structure", + "required":[ + "AwsAccountId", + "ApplicationId" + ], + "members":{ + "AwsAccountId":{ + "shape":"AwsAccountId", + "documentation":"

The ID of the Amazon QuickSight account that is connected to the Amazon Q Business application that you want to update.

", + "location":"uri", + "locationName":"AwsAccountId" + }, + "Namespace":{ + "shape":"Namespace", + "documentation":"

The Amazon QuickSight namespace that contains the linked Amazon Q Business application. If this field is left blank, the default namespace is used. Currently, the default namespace is the only valid value for this parameter.

", + "location":"querystring", + "locationName":"namespace" + }, + "ApplicationId":{ + "shape":"LimitedString", + "documentation":"

The ID of the Amazon Q Business application that you want to update.

" + } + } + }, + "UpdateDefaultQBusinessApplicationResponse":{ + "type":"structure", + "members":{ + "RequestId":{ + "shape":"String", + "documentation":"

The Amazon Web Services request ID for this operation.

" + }, + "Status":{ + "shape":"StatusCode", + "documentation":"

The HTTP status of the request.

", + "location":"statusCode" + } + } + }, "UpdateFolderPermissionsRequest":{ "type":"structure", "required":[ @@ -35677,6 +36248,43 @@ } } }, + "UpdateQuickSightQSearchConfigurationRequest":{ + "type":"structure", + "required":[ + "AwsAccountId", + "QSearchStatus" + ], + "members":{ + "AwsAccountId":{ + "shape":"AwsAccountId", + "documentation":"

The ID of the Amazon Web Services account that contains the Amazon QuickSight Q Search configuration that you want to update.

", + "location":"uri", + "locationName":"AwsAccountId" + }, + "QSearchStatus":{ + "shape":"QSearchStatus", + "documentation":"

The status of the Amazon QuickSight Q Search configuration that the user wants to update.

" + } + } + }, + "UpdateQuickSightQSearchConfigurationResponse":{ + "type":"structure", + "members":{ + "QSearchStatus":{ + "shape":"QSearchStatus", + "documentation":"

The status of the Amazon QuickSight Q Search configuration.

" + }, + "RequestId":{ + "shape":"String", + "documentation":"

The Amazon Web Services request ID for this operation.

" + }, + "Status":{ + "shape":"StatusCode", + "documentation":"

The HTTP status of the request.

", + "location":"statusCode" + } + } + }, "UpdateRefreshScheduleRequest":{ "type":"structure", "required":[ @@ -37095,6 +37703,11 @@ "FRAGMENT" ] }, + "VisualSubtitle":{ + "type":"string", + "max":1024, + "min":1 + }, "VisualSubtitleLabelOptions":{ "type":"structure", "members":{ @@ -37109,6 +37722,11 @@ }, "documentation":"

The subtitle label options for a visual.

" }, + "VisualTitle":{ + "type":"string", + "max":1024, + "min":1 + }, "VisualTitleLabelOptions":{ "type":"structure", "members":{ diff --git a/botocore/data/redshift-serverless/2021-04-21/paginators-1.json b/botocore/data/redshift-serverless/2021-04-21/paginators-1.json index 3c07bc6244..a6c4affb1e 100644 --- a/botocore/data/redshift-serverless/2021-04-21/paginators-1.json +++ b/botocore/data/redshift-serverless/2021-04-21/paginators-1.json @@ -59,6 +59,12 @@ "output_token": "nextToken", "limit_key": "maxResults", "result_key": "snapshotCopyConfigurations" + }, + "ListManagedWorkgroups": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "managedWorkgroups" } } } diff --git a/botocore/data/redshift-serverless/2021-04-21/service-2.json b/botocore/data/redshift-serverless/2021-04-21/service-2.json index 5a71966458..dc1b9328cd 100644 --- a/botocore/data/redshift-serverless/2021-04-21/service-2.json +++ b/botocore/data/redshift-serverless/2021-04-21/service-2.json @@ -5,12 +5,14 @@ "endpointPrefix":"redshift-serverless", "jsonVersion":"1.1", "protocol":"json", + "protocols":["json"], "serviceFullName":"Redshift Serverless", "serviceId":"Redshift Serverless", "signatureVersion":"v4", "signingName":"redshift-serverless", "targetPrefix":"RedshiftServerless", - "uid":"redshift-serverless-2021-04-21" + "uid":"redshift-serverless-2021-04-21", + "auth":["aws.auth#sigv4"] }, "operations":{ "ConvertRecoveryPointToSnapshot":{ @@ -175,7 +177,7 @@ {"shape":"TooManyTagsException"}, {"shape":"Ipv6CidrBlockNotFoundException"} ], - "documentation":"

Creates an workgroup in Amazon Redshift Serverless.

", + "documentation":"

Creates an workgroup in Amazon Redshift Serverless.

VPC Block Public Access (BPA) enables you to block resources in VPCs and subnets that you own in a Region from reaching or being reached from the internet through internet gateways and egress-only internet gateways. If a workgroup is in an account with VPC BPA turned on, the following capabilities are blocked:

For more information about VPC BPA, see Block public access to VPCs and subnets in the Amazon VPC User Guide.

", "idempotent":true }, "DeleteCustomDomainAssociation":{ @@ -343,7 +345,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"ValidationException"} ], - "documentation":"

Returns a database user name and temporary password with temporary authorization to log in to Amazon Redshift Serverless.

By default, the temporary credentials expire in 900 seconds. You can optionally specify a duration between 900 seconds (15 minutes) and 3600 seconds (60 minutes).

 <p>The Identity and Access Management (IAM) user or role that runs GetCredentials must have an IAM policy attached that allows access to all necessary actions and resources.</p> <p>If the <code>DbName</code> parameter is specified, the IAM policy must allow access to the resource dbname for the specified database name.</p> 
" + "documentation":"

Returns a database user name and temporary password with temporary authorization to log in to Amazon Redshift Serverless.

By default, the temporary credentials expire in 900 seconds. You can optionally specify a duration between 900 seconds (15 minutes) and 3600 seconds (60 minutes).

The Identity and Access Management (IAM) user or role that runs GetCredentials must have an IAM policy attached that allows access to all necessary actions and resources.

If the DbName parameter is specified, the IAM policy must allow access to the resource dbname for the specified database name.

" }, "GetCustomDomainAssociation":{ "name":"GetCustomDomainAssociation", @@ -533,6 +535,20 @@ ], "documentation":"

Returns an array of EndpointAccess objects and relevant information.

" }, + "ListManagedWorkgroups":{ + "name":"ListManagedWorkgroups", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListManagedWorkgroupsRequest"}, + "output":{"shape":"ListManagedWorkgroupsResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

Returns information about a list of specified managed workgroups in your account.

" + }, "ListNamespaces":{ "name":"ListNamespaces", "http":{ @@ -920,7 +936,7 @@ {"shape":"ValidationException"}, {"shape":"Ipv6CidrBlockNotFoundException"} ], - "documentation":"

Updates a workgroup with the specified configuration settings. You can't update multiple parameters in one request. For example, you can update baseCapacity or port in a single request, but you can't update both in the same request.

" + "documentation":"

Updates a workgroup with the specified configuration settings. You can't update multiple parameters in one request. For example, you can update baseCapacity or port in a single request, but you can't update both in the same request.

VPC Block Public Access (BPA) enables you to block resources in VPCs and subnets that you own in a Region from reaching or being reached from the internet through internet gateways and egress-only internet gateways. If a workgroup is in an account with VPC BPA turned on, the following capabilities are blocked:

For more information about VPC BPA, see Block public access to VPCs and subnets in the Amazon VPC User Guide.

" } }, "shapes":{ @@ -2036,8 +2052,7 @@ }, "maxResults":{ "shape":"ListCustomDomainAssociationsRequestMaxResultsInteger", - "documentation":"

An optional parameter that specifies the maximum number of results to return. You can use nextToken to display the next page of results.

", - "box":true + "documentation":"

An optional parameter that specifies the maximum number of results to return. You can use nextToken to display the next page of results.

" }, "nextToken":{ "shape":"PaginationToken", @@ -2069,8 +2084,7 @@ "members":{ "maxResults":{ "shape":"ListEndpointAccessRequestMaxResultsInteger", - "documentation":"

An optional parameter that specifies the maximum number of results to return. You can use nextToken to display the next page of results.

", - "box":true + "documentation":"

An optional parameter that specifies the maximum number of results to return. You can use nextToken to display the next page of results.

" }, "nextToken":{ "shape":"String", @@ -2110,13 +2124,48 @@ } } }, + "ListManagedWorkgroupsRequest":{ + "type":"structure", + "members":{ + "maxResults":{ + "shape":"ListManagedWorkgroupsRequestMaxResultsInteger", + "documentation":"

An optional parameter that specifies the maximum number of results to return. You can use nextToken to display the next page of results.

" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

If your initial ListManagedWorkgroups operation returns a nextToken, you can include the returned nextToken in following ListManagedWorkgroups operations, which returns results in the next page.

" + }, + "sourceArn":{ + "shape":"SourceArn", + "documentation":"

The Amazon Resource Name (ARN) for the managed workgroup in the AWS Glue Data Catalog.

" + } + } + }, + "ListManagedWorkgroupsRequestMaxResultsInteger":{ + "type":"integer", + "box":true, + "max":100, + "min":1 + }, + "ListManagedWorkgroupsResponse":{ + "type":"structure", + "members":{ + "managedWorkgroups":{ + "shape":"ManagedWorkgroups", + "documentation":"

The returned array of managed workgroups.

" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. To retrieve the next page, make the call again using the returned token.

" + } + } + }, "ListNamespacesRequest":{ "type":"structure", "members":{ "maxResults":{ "shape":"ListNamespacesRequestMaxResultsInteger", - "documentation":"

An optional parameter that specifies the maximum number of results to return. You can use nextToken to display the next page of results.

", - "box":true + "documentation":"

An optional parameter that specifies the maximum number of results to return. You can use nextToken to display the next page of results.

" }, "nextToken":{ "shape":"String", @@ -2153,8 +2202,7 @@ }, "maxResults":{ "shape":"ListRecoveryPointsRequestMaxResultsInteger", - "documentation":"

An optional parameter that specifies the maximum number of results to return. You can use nextToken to display the next page of results.

", - "box":true + "documentation":"

An optional parameter that specifies the maximum number of results to return. You can use nextToken to display the next page of results.

" }, "namespaceArn":{ "shape":"String", @@ -2198,8 +2246,7 @@ "members":{ "maxResults":{ "shape":"ListScheduledActionsRequestMaxResultsInteger", - "documentation":"

An optional parameter that specifies the maximum number of results to return. Use nextToken to display the next page of results.

", - "box":true + "documentation":"

An optional parameter that specifies the maximum number of results to return. Use nextToken to display the next page of results.

" }, "namespaceName":{ "shape":"NamespaceName", @@ -2235,8 +2282,7 @@ "members":{ "maxResults":{ "shape":"ListSnapshotCopyConfigurationsRequestMaxResultsInteger", - "documentation":"

An optional parameter that specifies the maximum number of results to return. You can use nextToken to display the next page of results.

", - "box":true + "documentation":"

An optional parameter that specifies the maximum number of results to return. You can use nextToken to display the next page of results.

" }, "namespaceName":{ "shape":"NamespaceName", @@ -2277,8 +2323,7 @@ }, "maxResults":{ "shape":"ListSnapshotsRequestMaxResultsInteger", - "documentation":"

An optional parameter that specifies the maximum number of results to return. You can use nextToken to display the next page of results.

", - "box":true + "documentation":"

An optional parameter that specifies the maximum number of results to return. You can use nextToken to display the next page of results.

" }, "namespaceArn":{ "shape":"String", @@ -2326,8 +2371,7 @@ "members":{ "maxResults":{ "shape":"ListTableRestoreStatusRequestMaxResultsInteger", - "documentation":"

An optional parameter that specifies the maximum number of results to return. You can use nextToken to display the next page of results.

", - "box":true + "documentation":"

An optional parameter that specifies the maximum number of results to return. You can use nextToken to display the next page of results.

" }, "namespaceName":{ "shape":"String", @@ -2386,8 +2430,7 @@ "members":{ "maxResults":{ "shape":"ListUsageLimitsRequestMaxResultsInteger", - "documentation":"

An optional parameter that specifies the maximum number of results to return. You can use nextToken to get the next page of results. The default is 100.

", - "box":true + "documentation":"

An optional parameter that specifies the maximum number of results to return. You can use nextToken to get the next page of results. The default is 100.

" }, "nextToken":{ "shape":"PaginationToken", @@ -2427,8 +2470,7 @@ "members":{ "maxResults":{ "shape":"ListWorkgroupsRequestMaxResultsInteger", - "documentation":"

An optional parameter that specifies the maximum number of results to return. You can use nextToken to display the next page of results.

", - "box":true + "documentation":"

An optional parameter that specifies the maximum number of results to return. You can use nextToken to display the next page of results.

" }, "nextToken":{ "shape":"String", @@ -2478,6 +2520,52 @@ "type":"long", "box":true }, + "ManagedWorkgroupListItem":{ + "type":"structure", + "members":{ + "creationDate":{ + "shape":"SyntheticTimestamp_date_time", + "documentation":"

The creation date of the managed workgroup.

" + }, + "managedWorkgroupId":{ + "shape":"String", + "documentation":"

The unique identifier of the managed workgroup.

" + }, + "managedWorkgroupName":{ + "shape":"ManagedWorkgroupName", + "documentation":"

The name of the managed workgroup.

" + }, + "sourceArn":{ + "shape":"SourceArn", + "documentation":"

The Amazon Resource Name (ARN) for the managed workgroup in the AWS Glue Data Catalog.

" + }, + "status":{ + "shape":"ManagedWorkgroupStatus", + "documentation":"

The status of the managed workgroup.

" + } + }, + "documentation":"

A collection of Amazon Redshift compute resources managed by AWS Glue.

" + }, + "ManagedWorkgroupName":{ + "type":"string", + "max":255, + "min":3, + "pattern":"^[a-zA-Z0-9_:\\-]+$" + }, + "ManagedWorkgroupStatus":{ + "type":"string", + "enum":[ + "CREATING", + "DELETING", + "MODIFYING", + "AVAILABLE", + "NOT_AVAILABLE" + ] + }, + "ManagedWorkgroups":{ + "type":"list", + "member":{"shape":"ManagedWorkgroupListItem"} + }, "Namespace":{ "type":"structure", "members":{ @@ -3177,6 +3265,10 @@ "COPYING" ] }, + "SourceArn":{ + "type":"string", + "pattern":"^arn:aws[a-z-]*:glue:[a-z0-9-]+:\\d+:(database|catalog)[a-z0-9-:]*(?:/[A-Za-z0-9-_]{1,255})*$" + }, "State":{ "type":"string", "enum":[ @@ -3918,5 +4010,5 @@ ] } }, - "documentation":"

This is an interface reference for Amazon Redshift Serverless. It contains documentation for one of the programming or command line interfaces you can use to manage Amazon Redshift Serverless.

Amazon Redshift Serverless automatically provisions data warehouse capacity and intelligently scales the underlying resources based on workload demands. Amazon Redshift Serverless adjusts capacity in seconds to deliver consistently high performance and simplified operations for even the most demanding and volatile workloads. Amazon Redshift Serverless lets you focus on using your data to acquire new insights for your business and customers.

To learn more about Amazon Redshift Serverless, see What is Amazon Redshift Serverless.

" + "documentation":"

This is an interface reference for Amazon Redshift Serverless. It contains documentation for one of the programming or command line interfaces you can use to manage Amazon Redshift Serverless.

Amazon Redshift Serverless automatically provisions data warehouse capacity and intelligently scales the underlying resources based on workload demands. Amazon Redshift Serverless adjusts capacity in seconds to deliver consistently high performance and simplified operations for even the most demanding and volatile workloads. Amazon Redshift Serverless lets you focus on using your data to acquire new insights for your business and customers.

To learn more about Amazon Redshift Serverless, see What is Amazon Redshift Serverless?.

" } diff --git a/botocore/data/redshift/2012-12-01/service-2.json b/botocore/data/redshift/2012-12-01/service-2.json index ef3556cb31..8de5a88329 100644 --- a/botocore/data/redshift/2012-12-01/service-2.json +++ b/botocore/data/redshift/2012-12-01/service-2.json @@ -278,7 +278,7 @@ {"shape":"UnsupportedOperationFault"}, {"shape":"RedshiftIdcApplicationNotExistsFault"} ], - "documentation":"

Creates a new cluster with the specified parameters.

To create a cluster in Virtual Private Cloud (VPC), you must provide a cluster subnet group name. The cluster subnet group identifies the subnets of your VPC that Amazon Redshift uses when creating the cluster. For more information about managing clusters, go to Amazon Redshift Clusters in the Amazon Redshift Cluster Management Guide.

" + "documentation":"

Creates a new cluster with the specified parameters.

To create a cluster in Virtual Private Cloud (VPC), you must provide a cluster subnet group name. The cluster subnet group identifies the subnets of your VPC that Amazon Redshift uses when creating the cluster. For more information about managing clusters, go to Amazon Redshift Clusters in the Amazon Redshift Cluster Management Guide.

VPC Block Public Access (BPA) enables you to block resources in VPCs and subnets that you own in a Region from reaching or being reached from the internet through internet gateways and egress-only internet gateways. If a subnet group for a provisioned cluster is in an account with VPC BPA turned on, the following capabilities are blocked:

For more information about VPC BPA, see Block public access to VPCs and subnets in the Amazon VPC User Guide.

" }, "CreateClusterParameterGroup":{ "name":"CreateClusterParameterGroup", @@ -931,6 +931,24 @@ ], "documentation":"

Deletes a usage limit from a cluster.

" }, + "DeregisterNamespace":{ + "name":"DeregisterNamespace", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeregisterNamespaceInputMessage"}, + "output":{ + "shape":"DeregisterNamespaceOutputMessage", + "resultWrapper":"DeregisterNamespaceResult" + }, + "errors":[ + {"shape":"ClusterNotFoundFault"}, + {"shape":"InvalidNamespaceFault"}, + {"shape":"InvalidClusterStateFault"} + ], + "documentation":"

Deregisters a cluster or serverless namespace from the Amazon Web Services Glue Data Catalog.

" + }, "DescribeAccountAttributes":{ "name":"DescribeAccountAttributes", "http":{ @@ -1910,7 +1928,7 @@ {"shape":"CustomCnameAssociationFault"}, {"shape":"Ipv6CidrBlockNotFoundFault"} ], - "documentation":"

Modifies the settings for a cluster.

You can also change node type and the number of nodes to scale up or down the cluster. When resizing a cluster, you must specify both the number of nodes and the node type even if one of the parameters does not change.

You can add another security or parameter group, or change the admin user password. Resetting a cluster password or modifying the security groups associated with a cluster do not need a reboot. However, modifying a parameter group requires a reboot for parameters to take effect. For more information about managing clusters, go to Amazon Redshift Clusters in the Amazon Redshift Cluster Management Guide.

" + "documentation":"

Modifies the settings for a cluster.

You can also change node type and the number of nodes to scale up or down the cluster. When resizing a cluster, you must specify both the number of nodes and the node type even if one of the parameters does not change.

You can add another security or parameter group, or change the admin user password. Resetting a cluster password or modifying the security groups associated with a cluster do not need a reboot. However, modifying a parameter group requires a reboot for parameters to take effect. For more information about managing clusters, go to Amazon Redshift Clusters in the Amazon Redshift Cluster Management Guide.

VPC Block Public Access (BPA) enables you to block resources in VPCs and subnets that you own in a Region from reaching or being reached from the internet through internet gateways and egress-only internet gateways. If a subnet group for a provisioned cluster is in an account with VPC BPA turned on, the following capabilities are blocked:

For more information about VPC BPA, see Block public access to VPCs and subnets in the Amazon VPC User Guide.

" }, "ModifyClusterDbRevision":{ "name":"ModifyClusterDbRevision", @@ -2033,7 +2051,7 @@ {"shape":"UnauthorizedOperation"}, {"shape":"DependentServiceRequestThrottlingFault"} ], - "documentation":"

Modifies a cluster subnet group to include the specified list of VPC subnets. The operation replaces the existing list of subnets with the new list of subnets.

" + "documentation":"

Modifies a cluster subnet group to include the specified list of VPC subnets. The operation replaces the existing list of subnets with the new list of subnets.

VPC Block Public Access (BPA) enables you to block resources in VPCs and subnets that you own in a Region from reaching or being reached from the internet through internet gateways and egress-only internet gateways. If a subnet group for a provisioned cluster is in an account with VPC BPA turned on, the following capabilities are blocked:

For more information about VPC BPA, see Block public access to VPCs and subnets in the Amazon VPC User Guide.

" }, "ModifyCustomDomainAssociation":{ "name":"ModifyCustomDomainAssociation", @@ -2289,6 +2307,24 @@ ], "documentation":"

Reboots a cluster. This action is taken as soon as possible. It results in a momentary outage to the cluster, during which the cluster status is set to rebooting. A cluster event is created when the reboot is completed. Any pending cluster modifications (see ModifyCluster) are applied at this reboot. For more information about managing clusters, go to Amazon Redshift Clusters in the Amazon Redshift Cluster Management Guide.

" }, + "RegisterNamespace":{ + "name":"RegisterNamespace", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RegisterNamespaceInputMessage"}, + "output":{ + "shape":"RegisterNamespaceOutputMessage", + "resultWrapper":"RegisterNamespaceResult" + }, + "errors":[ + {"shape":"ClusterNotFoundFault"}, + {"shape":"InvalidNamespaceFault"}, + {"shape":"InvalidClusterStateFault"} + ], + "documentation":"

Registers a cluster or serverless namespace to the Amazon Web Services Glue Data Catalog.

" + }, "RejectDataShare":{ "name":"RejectDataShare", "http":{ @@ -2398,7 +2434,7 @@ {"shape":"UnsupportedOperationFault"}, {"shape":"Ipv6CidrBlockNotFoundFault"} ], - "documentation":"

Creates a new cluster from a snapshot. By default, Amazon Redshift creates the resulting cluster with the same configuration as the original cluster from which the snapshot was created, except that the new cluster is created with the default cluster security and parameter groups. After Amazon Redshift creates the cluster, you can use the ModifyCluster API to associate a different security group and different parameter group with the restored cluster. If you are using a DS node type, you can also choose to change to another DS node type of the same size during restore.

If you restore a cluster into a VPC, you must provide a cluster subnet group where you want the cluster restored.

For more information about working with snapshots, go to Amazon Redshift Snapshots in the Amazon Redshift Cluster Management Guide.

" + "documentation":"

Creates a new cluster from a snapshot. By default, Amazon Redshift creates the resulting cluster with the same configuration as the original cluster from which the snapshot was created, except that the new cluster is created with the default cluster security and parameter groups. After Amazon Redshift creates the cluster, you can use the ModifyCluster API to associate a different security group and different parameter group with the restored cluster. If you are using a DS node type, you can also choose to change to another DS node type of the same size during restore.

If you restore a cluster into a VPC, you must provide a cluster subnet group where you want the cluster restored.

VPC Block Public Access (BPA) enables you to block resources in VPCs and subnets that you own in a Region from reaching or being reached from the internet through internet gateways and egress-only internet gateways. If a subnet group for a provisioned cluster is in an account with VPC BPA turned on, the following capabilities are blocked:

For more information about VPC BPA, see Block public access to VPCs and subnets in the Amazon VPC User Guide.

For more information about working with snapshots, go to Amazon Redshift Snapshots in the Amazon Redshift Cluster Management Guide.

" }, "RestoreTableFromClusterSnapshot":{ "name":"RestoreTableFromClusterSnapshot", @@ -4069,6 +4105,12 @@ }, "exception":true }, + "ConsumerIdentifierList":{ + "type":"list", + "member":{"shape":"String"}, + "max":1, + "min":1 + }, "CopyClusterSnapshotMessage":{ "type":"structure", "required":[ @@ -4952,6 +4994,10 @@ "ManagedBy":{ "shape":"String", "documentation":"

The identifier of a datashare to show its managing entity.

" + }, + "DataShareType":{ + "shape":"DataShareType", + "documentation":"

The type of the datashare created by RegisterNamespace.

" } } }, @@ -5025,6 +5071,10 @@ "REJECTED" ] }, + "DataShareType":{ + "type":"string", + "enum":["INTERNAL"] + }, "DataTransferProgress":{ "type":"structure", "members":{ @@ -5417,6 +5467,32 @@ }, "exception":true }, + "DeregisterNamespaceInputMessage":{ + "type":"structure", + "required":[ + "NamespaceIdentifier", + "ConsumerIdentifiers" + ], + "members":{ + "NamespaceIdentifier":{ + "shape":"NamespaceIdentifierUnion", + "documentation":"

The unique identifier of the cluster or serverless namespace that you want to deregister.

" + }, + "ConsumerIdentifiers":{ + "shape":"ConsumerIdentifierList", + "documentation":"

An array containing the ID of the consumer account that you want to deregister the cluster or serverless namespace from.

" + } + } + }, + "DeregisterNamespaceOutputMessage":{ + "type":"structure", + "members":{ + "Status":{ + "shape":"NamespaceRegistrationStatus", + "documentation":"

The registration status of the cluster or serverless namespace.

" + } + } + }, "DescribeAccountAttributesMessage":{ "type":"structure", "members":{ @@ -8946,6 +9022,28 @@ } } }, + "NamespaceIdentifierUnion":{ + "type":"structure", + "members":{ + "ServerlessIdentifier":{ + "shape":"ServerlessIdentifier", + "documentation":"

The identifier for a serverless namespace.

" + }, + "ProvisionedIdentifier":{ + "shape":"ProvisionedIdentifier", + "documentation":"

The identifier for a provisioned cluster.

" + } + }, + "documentation":"

Object to store union of values for a provisioned cluster or serverless namespace’s identifier.

", + "union":true + }, + "NamespaceRegistrationStatus":{ + "type":"string", + "enum":[ + "Registering", + "Deregistering" + ] + }, "NetworkInterface":{ "type":"structure", "members":{ @@ -9394,6 +9492,17 @@ }, "documentation":"

Describes cluster attributes that are in a pending state. A change to one or more the attributes was requested and is in progress or will be applied.

" }, + "ProvisionedIdentifier":{ + "type":"structure", + "required":["ClusterIdentifier"], + "members":{ + "ClusterIdentifier":{ + "shape":"String", + "documentation":"

The unique identifier for the provisioned cluster.

" + } + }, + "documentation":"

The identifier for a provisioned cluster.

" + }, "PurchaseReservedNodeOfferingMessage":{ "type":"structure", "required":["ReservedNodeOfferingId"], @@ -9702,6 +9811,32 @@ "locationName":"ReferenceLink" } }, + "RegisterNamespaceInputMessage":{ + "type":"structure", + "required":[ + "NamespaceIdentifier", + "ConsumerIdentifiers" + ], + "members":{ + "NamespaceIdentifier":{ + "shape":"NamespaceIdentifierUnion", + "documentation":"

The unique identifier of the cluster or serverless namespace that you want to register.

" + }, + "ConsumerIdentifiers":{ + "shape":"ConsumerIdentifierList", + "documentation":"

An array containing the ID of the consumer account that you want to register the namespace to.

" + } + } + }, + "RegisterNamespaceOutputMessage":{ + "type":"structure", + "members":{ + "Status":{ + "shape":"NamespaceRegistrationStatus", + "documentation":"

The registration status of the cluster or serverless namespace.

" + } + } + }, "RejectDataShareMessage":{ "type":"structure", "required":["DataShareArn"], @@ -10886,6 +11021,24 @@ "type":"string", "sensitive":true }, + "ServerlessIdentifier":{ + "type":"structure", + "required":[ + "NamespaceIdentifier", + "WorkgroupIdentifier" + ], + "members":{ + "NamespaceIdentifier":{ + "shape":"String", + "documentation":"

The unique identifier for the serverless namespace.

" + }, + "WorkgroupIdentifier":{ + "shape":"String", + "documentation":"

The unique identifier for the workgroup associated with the serverless namespace.

" + } + }, + "documentation":"

The identifier for a serverless namespace.

" + }, "ServiceAuthorization":{ "type":"string", "enum":[ diff --git a/botocore/data/s3/2006-03-01/service-2.json b/botocore/data/s3/2006-03-01/service-2.json index c92ba74cd2..dd378e0ef8 100644 --- a/botocore/data/s3/2006-03-01/service-2.json +++ b/botocore/data/s3/2006-03-01/service-2.json @@ -79,6 +79,22 @@ "UseS3ExpressControlEndpoint":{"value":true} } }, + "CreateBucketMetadataTableConfiguration":{ + "name":"CreateBucketMetadataTableConfiguration", + "http":{ + "method":"POST", + "requestUri":"/{Bucket}?metadataTable" + }, + "input":{"shape":"CreateBucketMetadataTableConfigurationRequest"}, + "documentation":"

Creates a metadata table configuration for a general purpose bucket. For more information, see Accelerating data discovery with S3 Metadata in the Amazon S3 User Guide.

Permissions

To use this operation, you must have the following permissions. For more information, see Setting up permissions for configuring metadata tables in the Amazon S3 User Guide.

If you also want to integrate your table bucket with Amazon Web Services analytics services so that you can query your metadata table, you need additional permissions. For more information, see Integrating Amazon S3 Tables with Amazon Web Services analytics services in the Amazon S3 User Guide.

The following operations are related to CreateBucketMetadataTableConfiguration:

", + "httpChecksum":{ + "requestAlgorithmMember":"ChecksumAlgorithm", + "requestChecksumRequired":true + }, + "staticContextParams":{ + "UseS3ExpressControlEndpoint":{"value":true} + } + }, "CreateMultipartUpload":{ "name":"CreateMultipartUpload", "http":{ @@ -201,6 +217,19 @@ "UseS3ExpressControlEndpoint":{"value":true} } }, + "DeleteBucketMetadataTableConfiguration":{ + "name":"DeleteBucketMetadataTableConfiguration", + "http":{ + "method":"DELETE", + "requestUri":"/{Bucket}?metadataTable", + "responseCode":204 + }, + "input":{"shape":"DeleteBucketMetadataTableConfigurationRequest"}, + "documentation":"

Deletes a metadata table configuration from a general purpose bucket. For more information, see Accelerating data discovery with S3 Metadata in the Amazon S3 User Guide.

Permissions

To use this operation, you must have the s3:DeleteBucketMetadataTableConfiguration permission. For more information, see Setting up permissions for configuring metadata tables in the Amazon S3 User Guide.

The following operations are related to DeleteBucketMetadataTableConfiguration:

", + "staticContextParams":{ + "UseS3ExpressControlEndpoint":{"value":true} + } + }, "DeleteBucketMetricsConfiguration":{ "name":"DeleteBucketMetricsConfiguration", "http":{ @@ -483,6 +512,19 @@ "UseS3ExpressControlEndpoint":{"value":true} } }, + "GetBucketMetadataTableConfiguration":{ + "name":"GetBucketMetadataTableConfiguration", + "http":{ + "method":"GET", + "requestUri":"/{Bucket}?metadataTable" + }, + "input":{"shape":"GetBucketMetadataTableConfigurationRequest"}, + "output":{"shape":"GetBucketMetadataTableConfigurationOutput"}, + "documentation":"

Retrieves the metadata table configuration for a general purpose bucket. For more information, see Accelerating data discovery with S3 Metadata in the Amazon S3 User Guide.

Permissions

To use this operation, you must have the s3:GetBucketMetadataTableConfiguration permission. For more information, see Setting up permissions for configuring metadata tables in the Amazon S3 User Guide.

The following operations are related to GetBucketMetadataTableConfiguration:

", + "staticContextParams":{ + "UseS3ExpressControlEndpoint":{"value":true} + } + }, "GetBucketMetricsConfiguration":{ "name":"GetBucketMetricsConfiguration", "http":{ @@ -2709,6 +2751,47 @@ }, "documentation":"

The configuration information for the bucket.

" }, + "CreateBucketMetadataTableConfigurationRequest":{ + "type":"structure", + "required":[ + "Bucket", + "MetadataTableConfiguration" + ], + "members":{ + "Bucket":{ + "shape":"BucketName", + "documentation":"

The general purpose bucket that you want to create the metadata table configuration in.

", + "contextParam":{"name":"Bucket"}, + "location":"uri", + "locationName":"Bucket" + }, + "ContentMD5":{ + "shape":"ContentMD5", + "documentation":"

The Content-MD5 header for the metadata table configuration.

", + "location":"header", + "locationName":"Content-MD5" + }, + "ChecksumAlgorithm":{ + "shape":"ChecksumAlgorithm", + "documentation":"

The checksum algorithm to use with your metadata table configuration.

", + "location":"header", + "locationName":"x-amz-sdk-checksum-algorithm" + }, + "MetadataTableConfiguration":{ + "shape":"MetadataTableConfiguration", + "documentation":"

The contents of your metadata table configuration.

", + "locationName":"MetadataTableConfiguration", + "xmlNamespace":{"uri":"http://s3.amazonaws.com/doc/2006-03-01/"} + }, + "ExpectedBucketOwner":{ + "shape":"AccountId", + "documentation":"

The expected owner of the general purpose bucket that contains your metadata table configuration.

", + "location":"header", + "locationName":"x-amz-expected-bucket-owner" + } + }, + "payload":"MetadataTableConfiguration" + }, "CreateBucketOutput":{ "type":"structure", "members":{ @@ -3321,6 +3404,25 @@ } } }, + "DeleteBucketMetadataTableConfigurationRequest":{ + "type":"structure", + "required":["Bucket"], + "members":{ + "Bucket":{ + "shape":"BucketName", + "documentation":"

The general purpose bucket that you want to remove the metadata table configuration from.

", + "contextParam":{"name":"Bucket"}, + "location":"uri", + "locationName":"Bucket" + }, + "ExpectedBucketOwner":{ + "shape":"AccountId", + "documentation":"

The expected bucket owner of the general purpose bucket that you want to remove the metadata table configuration from.

", + "location":"header", + "locationName":"x-amz-expected-bucket-owner" + } + } + }, "DeleteBucketMetricsConfigurationRequest":{ "type":"structure", "required":[ @@ -3892,6 +3994,20 @@ "documentation":"

Container for all error elements.

" }, "ErrorCode":{"type":"string"}, + "ErrorDetails":{ + "type":"structure", + "members":{ + "ErrorCode":{ + "shape":"ErrorCode", + "documentation":"

If the CreateBucketMetadataTableConfiguration request succeeds, but S3 Metadata was unable to create the table, this structure contains the error code. The possible error codes and error messages are as follows:

" + }, + "ErrorMessage":{ + "shape":"ErrorMessage", + "documentation":"

If the CreateBucketMetadataTableConfiguration request succeeds, but S3 Metadata was unable to create the table, this structure contains the error message. The possible error codes and error messages are as follows:

" + } + }, + "documentation":"

If the CreateBucketMetadataTableConfiguration request succeeds, but S3 Metadata was unable to create the table, this structure contains the error code and error message.

" + }, "ErrorDocument":{ "type":"structure", "required":["Key"], @@ -4387,6 +4503,57 @@ } } }, + "GetBucketMetadataTableConfigurationOutput":{ + "type":"structure", + "members":{ + "GetBucketMetadataTableConfigurationResult":{ + "shape":"GetBucketMetadataTableConfigurationResult", + "documentation":"

The metadata table configuration for the general purpose bucket.

" + } + }, + "payload":"GetBucketMetadataTableConfigurationResult" + }, + "GetBucketMetadataTableConfigurationRequest":{ + "type":"structure", + "required":["Bucket"], + "members":{ + "Bucket":{ + "shape":"BucketName", + "documentation":"

The general purpose bucket that contains the metadata table configuration that you want to retrieve.

", + "contextParam":{"name":"Bucket"}, + "location":"uri", + "locationName":"Bucket" + }, + "ExpectedBucketOwner":{ + "shape":"AccountId", + "documentation":"

The expected owner of the general purpose bucket that you want to retrieve the metadata table configuration from.

", + "location":"header", + "locationName":"x-amz-expected-bucket-owner" + } + } + }, + "GetBucketMetadataTableConfigurationResult":{ + "type":"structure", + "required":[ + "MetadataTableConfigurationResult", + "Status" + ], + "members":{ + "MetadataTableConfigurationResult":{ + "shape":"MetadataTableConfigurationResult", + "documentation":"

The metadata table configuration for a general purpose bucket.

" + }, + "Status":{ + "shape":"MetadataTableStatus", + "documentation":"

The status of the metadata table. The status values are:

" + }, + "Error":{ + "shape":"ErrorDetails", + "documentation":"

If the CreateBucketMetadataTableConfiguration request succeeds, but S3 Metadata was unable to create the table, this structure contains the error code and error message.

" + } + }, + "documentation":"

The metadata table configuration for a general purpose bucket.

" + }, "GetBucketMetricsConfigurationOutput":{ "type":"structure", "members":{ @@ -7553,6 +7720,29 @@ "documentation":"

A metadata key-value pair to store with an object.

" }, "MetadataKey":{"type":"string"}, + "MetadataTableConfiguration":{ + "type":"structure", + "required":["S3TablesDestination"], + "members":{ + "S3TablesDestination":{ + "shape":"S3TablesDestination", + "documentation":"

The destination information for the metadata table configuration. The destination table bucket must be in the same Region and Amazon Web Services account as the general purpose bucket. The specified metadata table name must be unique within the aws_s3_metadata namespace in the destination table bucket.

" + } + }, + "documentation":"

The metadata table configuration for a general purpose bucket.

" + }, + "MetadataTableConfigurationResult":{ + "type":"structure", + "required":["S3TablesDestinationResult"], + "members":{ + "S3TablesDestinationResult":{ + "shape":"S3TablesDestinationResult", + "documentation":"

The destination information for the metadata table configuration. The destination table bucket must be in the same Region and Amazon Web Services account as the general purpose bucket. The specified metadata table name must be unique within the aws_s3_metadata namespace in the destination table bucket.

" + } + }, + "documentation":"

The metadata table configuration for a general purpose bucket. The destination table bucket must be in the same Region and Amazon Web Services account as the general purpose bucket. The specified metadata table name must be unique within the aws_s3_metadata namespace in the destination table bucket.

" + }, + "MetadataTableStatus":{"type":"string"}, "MetadataValue":{"type":"string"}, "Metrics":{ "type":"structure", @@ -10541,6 +10731,56 @@ }, "documentation":"

Describes an Amazon S3 location that will receive the results of the restore request.

" }, + "S3TablesArn":{"type":"string"}, + "S3TablesBucketArn":{"type":"string"}, + "S3TablesDestination":{ + "type":"structure", + "required":[ + "TableBucketArn", + "TableName" + ], + "members":{ + "TableBucketArn":{ + "shape":"S3TablesBucketArn", + "documentation":"

The Amazon Resource Name (ARN) for the table bucket that's specified as the destination in the metadata table configuration. The destination table bucket must be in the same Region and Amazon Web Services account as the general purpose bucket.

" + }, + "TableName":{ + "shape":"S3TablesName", + "documentation":"

The name for the metadata table in your metadata table configuration. The specified metadata table name must be unique within the aws_s3_metadata namespace in the destination table bucket.

" + } + }, + "documentation":"

The destination information for the metadata table configuration. The destination table bucket must be in the same Region and Amazon Web Services account as the general purpose bucket. The specified metadata table name must be unique within the aws_s3_metadata namespace in the destination table bucket.

" + }, + "S3TablesDestinationResult":{ + "type":"structure", + "required":[ + "TableBucketArn", + "TableName", + "TableArn", + "TableNamespace" + ], + "members":{ + "TableBucketArn":{ + "shape":"S3TablesBucketArn", + "documentation":"

The Amazon Resource Name (ARN) for the table bucket that's specified as the destination in the metadata table configuration. The destination table bucket must be in the same Region and Amazon Web Services account as the general purpose bucket.

" + }, + "TableName":{ + "shape":"S3TablesName", + "documentation":"

The name for the metadata table in your metadata table configuration. The specified metadata table name must be unique within the aws_s3_metadata namespace in the destination table bucket.

" + }, + "TableArn":{ + "shape":"S3TablesArn", + "documentation":"

The Amazon Resource Name (ARN) for the metadata table in the metadata table configuration. The specified metadata table name must be unique within the aws_s3_metadata namespace in the destination table bucket.

" + }, + "TableNamespace":{ + "shape":"S3TablesNamespace", + "documentation":"

The table bucket namespace for the metadata table in your metadata table configuration. This value is always aws_s3_metadata.

" + } + }, + "documentation":"

The destination information for the metadata table configuration. The destination table bucket must be in the same Region and Amazon Web Services account as the general purpose bucket. The specified metadata table name must be unique within the aws_s3_metadata namespace in the destination table bucket.

" + }, + "S3TablesName":{"type":"string"}, + "S3TablesNamespace":{"type":"string"}, "SSECustomerAlgorithm":{"type":"string"}, "SSECustomerKey":{ "type":"string", diff --git a/botocore/data/s3tables/2018-05-10/endpoint-rule-set-1.json b/botocore/data/s3tables/2018-05-10/endpoint-rule-set-1.json new file mode 100644 index 0000000000..077f1d623b --- /dev/null +++ b/botocore/data/s3tables/2018-05-10/endpoint-rule-set-1.json @@ -0,0 +1,350 @@ +{ + "version": "1.0", + "parameters": { + "Region": { + "builtIn": "AWS::Region", + "required": false, + "documentation": "The AWS region used to dispatch the request.", + "type": "String" + }, + "UseDualStack": { + "builtIn": "AWS::UseDualStack", + "required": true, + "default": false, + "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", + "type": "Boolean" + }, + "UseFIPS": { + "builtIn": "AWS::UseFIPS", + "required": true, + "default": false, + "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", + "type": "Boolean" + }, + "Endpoint": { + "builtIn": "SDK::Endpoint", + "required": false, + "documentation": "Override the endpoint used to send this request", + "type": "String" + } + }, + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://s3tables-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + }, + true + ] + } + ], + "rules": [ + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://s3tables-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://s3tables.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://s3tables.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" + } + ], + "type": "tree" + } + ] +} \ No newline at end of file diff --git a/botocore/data/s3tables/2018-05-10/paginators-1.json b/botocore/data/s3tables/2018-05-10/paginators-1.json new file mode 100644 index 0000000000..2215b7b658 --- /dev/null +++ b/botocore/data/s3tables/2018-05-10/paginators-1.json @@ -0,0 +1,22 @@ +{ + "pagination": { + "ListNamespaces": { + "input_token": "continuationToken", + "output_token": "continuationToken", + "limit_key": "maxNamespaces", + "result_key": "namespaces" + }, + "ListTableBuckets": { + "input_token": "continuationToken", + "output_token": "continuationToken", + "limit_key": "maxBuckets", + "result_key": "tableBuckets" + }, + "ListTables": { + "input_token": "continuationToken", + "output_token": "continuationToken", + "limit_key": "maxTables", + "result_key": "tables" + } + } +} diff --git a/botocore/data/s3tables/2018-05-10/service-2.json b/botocore/data/s3tables/2018-05-10/service-2.json new file mode 100644 index 0000000000..441889a7dd --- /dev/null +++ b/botocore/data/s3tables/2018-05-10/service-2.json @@ -0,0 +1,1978 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2018-05-10", + "auth":["aws.auth#sigv4"], + "endpointPrefix":"s3tables", + "protocol":"rest-json", + "protocols":["rest-json"], + "serviceFullName":"Amazon S3 Tables", + "serviceId":"S3Tables", + "signatureVersion":"v4", + "signingName":"s3tables", + "uid":"s3tables-2018-05-10" + }, + "operations":{ + "CreateNamespace":{ + "name":"CreateNamespace", + "http":{ + "method":"PUT", + "requestUri":"/namespaces/{tableBucketARN}", + "responseCode":200 + }, + "input":{"shape":"CreateNamespaceRequest"}, + "output":{"shape":"CreateNamespaceResponse"}, + "errors":[ + {"shape":"InternalServerErrorException"}, + {"shape":"ForbiddenException"}, + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"ConflictException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

Creates a namespace. A namespace is a logical grouping of tables within your table bucket, which you can use to organize tables. For more information, see Table namespaces.

" + }, + "CreateTable":{ + "name":"CreateTable", + "http":{ + "method":"PUT", + "requestUri":"/tables/{tableBucketARN}/{namespace}", + "responseCode":200 + }, + "input":{"shape":"CreateTableRequest"}, + "output":{"shape":"CreateTableResponse"}, + "errors":[ + {"shape":"InternalServerErrorException"}, + {"shape":"ForbiddenException"}, + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"ConflictException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

Creates a new table associated with the given namespace in a table bucket.

" + }, + "CreateTableBucket":{ + "name":"CreateTableBucket", + "http":{ + "method":"PUT", + "requestUri":"/buckets", + "responseCode":200 + }, + "input":{"shape":"CreateTableBucketRequest"}, + "output":{"shape":"CreateTableBucketResponse"}, + "errors":[ + {"shape":"InternalServerErrorException"}, + {"shape":"ForbiddenException"}, + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"ConflictException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

Creates a table bucket.

" + }, + "DeleteNamespace":{ + "name":"DeleteNamespace", + "http":{ + "method":"DELETE", + "requestUri":"/namespaces/{tableBucketARN}/{namespace}", + "responseCode":204 + }, + "input":{"shape":"DeleteNamespaceRequest"}, + "errors":[ + {"shape":"InternalServerErrorException"}, + {"shape":"ForbiddenException"}, + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"ConflictException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

Deletes a namespace.

", + "idempotent":true + }, + "DeleteTable":{ + "name":"DeleteTable", + "http":{ + "method":"DELETE", + "requestUri":"/tables/{tableBucketARN}/{namespace}/{name}", + "responseCode":204 + }, + "input":{"shape":"DeleteTableRequest"}, + "errors":[ + {"shape":"InternalServerErrorException"}, + {"shape":"ForbiddenException"}, + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"ConflictException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

Deletes a table.

", + "idempotent":true + }, + "DeleteTableBucket":{ + "name":"DeleteTableBucket", + "http":{ + "method":"DELETE", + "requestUri":"/buckets/{tableBucketARN}", + "responseCode":204 + }, + "input":{"shape":"DeleteTableBucketRequest"}, + "errors":[ + {"shape":"InternalServerErrorException"}, + {"shape":"ForbiddenException"}, + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"ConflictException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

Deletes a table bucket.

", + "idempotent":true + }, + "DeleteTableBucketPolicy":{ + "name":"DeleteTableBucketPolicy", + "http":{ + "method":"DELETE", + "requestUri":"/buckets/{tableBucketARN}/policy", + "responseCode":204 + }, + "input":{"shape":"DeleteTableBucketPolicyRequest"}, + "errors":[ + {"shape":"InternalServerErrorException"}, + {"shape":"ForbiddenException"}, + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"ConflictException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

Deletes a table bucket policy.

", + "idempotent":true + }, + "DeleteTablePolicy":{ + "name":"DeleteTablePolicy", + "http":{ + "method":"DELETE", + "requestUri":"/tables/{tableBucketARN}/{namespace}/{name}/policy", + "responseCode":204 + }, + "input":{"shape":"DeleteTablePolicyRequest"}, + "errors":[ + {"shape":"InternalServerErrorException"}, + {"shape":"ForbiddenException"}, + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"ConflictException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

Deletes a table policy.

", + "idempotent":true + }, + "GetNamespace":{ + "name":"GetNamespace", + "http":{ + "method":"GET", + "requestUri":"/namespaces/{tableBucketARN}/{namespace}", + "responseCode":200 + }, + "input":{"shape":"GetNamespaceRequest"}, + "output":{"shape":"GetNamespaceResponse"}, + "errors":[ + {"shape":"InternalServerErrorException"}, + {"shape":"ForbiddenException"}, + {"shape":"NotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"ConflictException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

Gets details about a namespace.

" + }, + "GetTable":{ + "name":"GetTable", + "http":{ + "method":"GET", + "requestUri":"/tables/{tableBucketARN}/{namespace}/{name}", + "responseCode":200 + }, + "input":{"shape":"GetTableRequest"}, + "output":{"shape":"GetTableResponse"}, + "errors":[ + {"shape":"InternalServerErrorException"}, + {"shape":"ForbiddenException"}, + {"shape":"NotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"ConflictException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

Gets details about a table.

" + }, + "GetTableBucket":{ + "name":"GetTableBucket", + "http":{ + "method":"GET", + "requestUri":"/buckets/{tableBucketARN}", + "responseCode":200 + }, + "input":{"shape":"GetTableBucketRequest"}, + "output":{"shape":"GetTableBucketResponse"}, + "errors":[ + {"shape":"InternalServerErrorException"}, + {"shape":"ForbiddenException"}, + {"shape":"NotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"ConflictException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

Gets details on a table bucket.

" + }, + "GetTableBucketMaintenanceConfiguration":{ + "name":"GetTableBucketMaintenanceConfiguration", + "http":{ + "method":"GET", + "requestUri":"/buckets/{tableBucketARN}/maintenance", + "responseCode":200 + }, + "input":{"shape":"GetTableBucketMaintenanceConfigurationRequest"}, + "output":{"shape":"GetTableBucketMaintenanceConfigurationResponse"}, + "errors":[ + {"shape":"InternalServerErrorException"}, + {"shape":"ForbiddenException"}, + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"ConflictException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

Gets details about a maintenance configuration for a given table bucket.

" + }, + "GetTableBucketPolicy":{ + "name":"GetTableBucketPolicy", + "http":{ + "method":"GET", + "requestUri":"/buckets/{tableBucketARN}/policy", + "responseCode":200 + }, + "input":{"shape":"GetTableBucketPolicyRequest"}, + "output":{"shape":"GetTableBucketPolicyResponse"}, + "errors":[ + {"shape":"InternalServerErrorException"}, + {"shape":"ForbiddenException"}, + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"ConflictException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

Gets details about a table bucket policy.

" + }, + "GetTableMaintenanceConfiguration":{ + "name":"GetTableMaintenanceConfiguration", + "http":{ + "method":"GET", + "requestUri":"/tables/{tableBucketARN}/{namespace}/{name}/maintenance", + "responseCode":200 + }, + "input":{"shape":"GetTableMaintenanceConfigurationRequest"}, + "output":{"shape":"GetTableMaintenanceConfigurationResponse"}, + "errors":[ + {"shape":"InternalServerErrorException"}, + {"shape":"ForbiddenException"}, + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"ConflictException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

Gets details about the maintenance configuration of a table.

" + }, + "GetTableMaintenanceJobStatus":{ + "name":"GetTableMaintenanceJobStatus", + "http":{ + "method":"GET", + "requestUri":"/tables/{tableBucketARN}/{namespace}/{name}/maintenance-job-status", + "responseCode":200 + }, + "input":{"shape":"GetTableMaintenanceJobStatusRequest"}, + "output":{"shape":"GetTableMaintenanceJobStatusResponse"}, + "errors":[ + {"shape":"InternalServerErrorException"}, + {"shape":"ForbiddenException"}, + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"ConflictException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

Gets the status of a maintenance job for a table.

" + }, + "GetTableMetadataLocation":{ + "name":"GetTableMetadataLocation", + "http":{ + "method":"GET", + "requestUri":"/tables/{tableBucketARN}/{namespace}/{name}/metadata-location", + "responseCode":200 + }, + "input":{"shape":"GetTableMetadataLocationRequest"}, + "output":{"shape":"GetTableMetadataLocationResponse"}, + "errors":[ + {"shape":"InternalServerErrorException"}, + {"shape":"ForbiddenException"}, + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"ConflictException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

Gets the location of the table metadata.

" + }, + "GetTablePolicy":{ + "name":"GetTablePolicy", + "http":{ + "method":"GET", + "requestUri":"/tables/{tableBucketARN}/{namespace}/{name}/policy", + "responseCode":200 + }, + "input":{"shape":"GetTablePolicyRequest"}, + "output":{"shape":"GetTablePolicyResponse"}, + "errors":[ + {"shape":"InternalServerErrorException"}, + {"shape":"ForbiddenException"}, + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"ConflictException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

Gets details about a table policy.

" + }, + "ListNamespaces":{ + "name":"ListNamespaces", + "http":{ + "method":"GET", + "requestUri":"/namespaces/{tableBucketARN}", + "responseCode":200 + }, + "input":{"shape":"ListNamespacesRequest"}, + "output":{"shape":"ListNamespacesResponse"}, + "errors":[ + {"shape":"InternalServerErrorException"}, + {"shape":"ForbiddenException"}, + {"shape":"NotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"ConflictException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

Lists the namespaces within a table bucket.

" + }, + "ListTableBuckets":{ + "name":"ListTableBuckets", + "http":{ + "method":"GET", + "requestUri":"/buckets", + "responseCode":200 + }, + "input":{"shape":"ListTableBucketsRequest"}, + "output":{"shape":"ListTableBucketsResponse"}, + "errors":[ + {"shape":"InternalServerErrorException"}, + {"shape":"ForbiddenException"}, + {"shape":"NotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"ConflictException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

Lists table buckets for your account.

" + }, + "ListTables":{ + "name":"ListTables", + "http":{ + "method":"GET", + "requestUri":"/tables/{tableBucketARN}", + "responseCode":200 + }, + "input":{"shape":"ListTablesRequest"}, + "output":{"shape":"ListTablesResponse"}, + "errors":[ + {"shape":"InternalServerErrorException"}, + {"shape":"ForbiddenException"}, + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"ConflictException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

List tables in the given table bucket.

" + }, + "PutTableBucketMaintenanceConfiguration":{ + "name":"PutTableBucketMaintenanceConfiguration", + "http":{ + "method":"PUT", + "requestUri":"/buckets/{tableBucketARN}/maintenance/{type}", + "responseCode":204 + }, + "input":{"shape":"PutTableBucketMaintenanceConfigurationRequest"}, + "errors":[ + {"shape":"InternalServerErrorException"}, + {"shape":"ForbiddenException"}, + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"ConflictException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

Creates a new maintenance configuration or replaces an existing maintenance configuration for a table bucket.

" + }, + "PutTableBucketPolicy":{ + "name":"PutTableBucketPolicy", + "http":{ + "method":"PUT", + "requestUri":"/buckets/{tableBucketARN}/policy", + "responseCode":200 + }, + "input":{"shape":"PutTableBucketPolicyRequest"}, + "errors":[ + {"shape":"InternalServerErrorException"}, + {"shape":"ForbiddenException"}, + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"ConflictException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

Creates a new maintenance configuration or replaces an existing table bucket policy for a table bucket.

", + "idempotent":true + }, + "PutTableMaintenanceConfiguration":{ + "name":"PutTableMaintenanceConfiguration", + "http":{ + "method":"PUT", + "requestUri":"/tables/{tableBucketARN}/{namespace}/{name}/maintenance/{type}", + "responseCode":204 + }, + "input":{"shape":"PutTableMaintenanceConfigurationRequest"}, + "errors":[ + {"shape":"InternalServerErrorException"}, + {"shape":"ForbiddenException"}, + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"ConflictException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

Creates a new maintenance configuration or replaces an existing maintenance configuration for a table.

" + }, + "PutTablePolicy":{ + "name":"PutTablePolicy", + "http":{ + "method":"PUT", + "requestUri":"/tables/{tableBucketARN}/{namespace}/{name}/policy", + "responseCode":200 + }, + "input":{"shape":"PutTablePolicyRequest"}, + "errors":[ + {"shape":"InternalServerErrorException"}, + {"shape":"ForbiddenException"}, + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"ConflictException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

Creates a new maintenance configuration or replaces an existing table policy for a table.

", + "idempotent":true + }, + "RenameTable":{ + "name":"RenameTable", + "http":{ + "method":"PUT", + "requestUri":"/tables/{tableBucketARN}/{namespace}/{name}/rename", + "responseCode":204 + }, + "input":{"shape":"RenameTableRequest"}, + "errors":[ + {"shape":"InternalServerErrorException"}, + {"shape":"ForbiddenException"}, + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"ConflictException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

Renames a table or a namespace.

" + }, + "UpdateTableMetadataLocation":{ + "name":"UpdateTableMetadataLocation", + "http":{ + "method":"PUT", + "requestUri":"/tables/{tableBucketARN}/{namespace}/{name}/metadata-location", + "responseCode":200 + }, + "input":{"shape":"UpdateTableMetadataLocationRequest"}, + "output":{"shape":"UpdateTableMetadataLocationResponse"}, + "errors":[ + {"shape":"InternalServerErrorException"}, + {"shape":"ForbiddenException"}, + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"ConflictException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

Updates the metadata location for a table.

" + } + }, + "shapes":{ + "AccessDeniedException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

The action cannot be performed because you do not have the required permission.

", + "error":{ + "httpStatusCode":403, + "senderFault":true + }, + "exception":true + }, + "AccountId":{ + "type":"string", + "max":12, + "min":12, + "pattern":"[0-9].*" + }, + "BadRequestException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

The request is invalid or malformed.

", + "error":{ + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "ConflictException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

The request failed because there is a conflict with a previous write. You can retry the request.

", + "error":{ + "httpStatusCode":409, + "senderFault":true + }, + "exception":true + }, + "CreateNamespaceRequest":{ + "type":"structure", + "required":[ + "tableBucketARN", + "namespace" + ], + "members":{ + "tableBucketARN":{ + "shape":"TableBucketARN", + "documentation":"

The Amazon Resource Name (ARN) of the table bucket to create the namespace in.

", + "location":"uri", + "locationName":"tableBucketARN" + }, + "namespace":{ + "shape":"CreateNamespaceRequestNamespaceList", + "documentation":"

A name for the namespace.

" + } + } + }, + "CreateNamespaceRequestNamespaceList":{ + "type":"list", + "member":{"shape":"NamespaceName"}, + "max":1, + "min":1 + }, + "CreateNamespaceResponse":{ + "type":"structure", + "required":[ + "tableBucketARN", + "namespace" + ], + "members":{ + "tableBucketARN":{ + "shape":"TableBucketARN", + "documentation":"

The Amazon Resource Name (ARN) of the table bucket the namespace was created in.

" + }, + "namespace":{ + "shape":"NamespaceList", + "documentation":"

The name of the namespace.

" + } + } + }, + "CreateTableBucketRequest":{ + "type":"structure", + "required":["name"], + "members":{ + "name":{ + "shape":"TableBucketName", + "documentation":"

The name for the table bucket.

" + } + } + }, + "CreateTableBucketResponse":{ + "type":"structure", + "required":["arn"], + "members":{ + "arn":{ + "shape":"TableBucketARN", + "documentation":"

The Amazon Resource Name (ARN) of the table bucket.

" + } + } + }, + "CreateTableRequest":{ + "type":"structure", + "required":[ + "tableBucketARN", + "namespace", + "name", + "format" + ], + "members":{ + "tableBucketARN":{ + "shape":"TableBucketARN", + "documentation":"

The Amazon Resource Name (ARN) of the table bucket to create the table in.

", + "location":"uri", + "locationName":"tableBucketARN" + }, + "namespace":{ + "shape":"NamespaceName", + "documentation":"

The namespace to associated with the table.

", + "location":"uri", + "locationName":"namespace" + }, + "name":{ + "shape":"TableName", + "documentation":"

The name for the table.

" + }, + "format":{ + "shape":"OpenTableFormat", + "documentation":"

The format for the table.

" + } + } + }, + "CreateTableResponse":{ + "type":"structure", + "required":[ + "tableARN", + "versionToken" + ], + "members":{ + "tableARN":{ + "shape":"TableARN", + "documentation":"

The Amazon Resource Name (ARN) of the table.

" + }, + "versionToken":{ + "shape":"VersionToken", + "documentation":"

The version token of the table.

" + } + } + }, + "DeleteNamespaceRequest":{ + "type":"structure", + "required":[ + "tableBucketARN", + "namespace" + ], + "members":{ + "tableBucketARN":{ + "shape":"TableBucketARN", + "documentation":"

The Amazon Resource Name (ARN) of the table bucket associated with the namespace.

", + "location":"uri", + "locationName":"tableBucketARN" + }, + "namespace":{ + "shape":"NamespaceName", + "documentation":"

The name of the namespace.

", + "location":"uri", + "locationName":"namespace" + } + } + }, + "DeleteTableBucketPolicyRequest":{ + "type":"structure", + "required":["tableBucketARN"], + "members":{ + "tableBucketARN":{ + "shape":"TableBucketARN", + "documentation":"

The Amazon Resource Number (ARN) of the table bucket.

", + "location":"uri", + "locationName":"tableBucketARN" + } + } + }, + "DeleteTableBucketRequest":{ + "type":"structure", + "required":["tableBucketARN"], + "members":{ + "tableBucketARN":{ + "shape":"TableBucketARN", + "documentation":"

The Amazon Resource Name (ARN) of the table bucket.

", + "location":"uri", + "locationName":"tableBucketARN" + } + } + }, + "DeleteTablePolicyRequest":{ + "type":"structure", + "required":[ + "tableBucketARN", + "namespace", + "name" + ], + "members":{ + "tableBucketARN":{ + "shape":"TableBucketARN", + "documentation":"

The Amazon Resource Number (ARN) of the table bucket that contains the table.

", + "location":"uri", + "locationName":"tableBucketARN" + }, + "namespace":{ + "shape":"NamespaceName", + "documentation":"

The namespace associated with the table.

", + "location":"uri", + "locationName":"namespace" + }, + "name":{ + "shape":"TableName", + "documentation":"

The table name.

", + "location":"uri", + "locationName":"name" + } + } + }, + "DeleteTableRequest":{ + "type":"structure", + "required":[ + "tableBucketARN", + "namespace", + "name" + ], + "members":{ + "tableBucketARN":{ + "shape":"TableBucketARN", + "documentation":"

The Amazon Resource Name (ARN) of the table bucket that contains the table.

", + "location":"uri", + "locationName":"tableBucketARN" + }, + "namespace":{ + "shape":"NamespaceName", + "documentation":"

The namespace associated with the table.

", + "location":"uri", + "locationName":"namespace" + }, + "name":{ + "shape":"TableName", + "documentation":"

The name of the table.

", + "location":"uri", + "locationName":"name" + }, + "versionToken":{ + "shape":"VersionToken", + "documentation":"

The version token of the table.

", + "location":"querystring", + "locationName":"versionToken" + } + } + }, + "ErrorMessage":{"type":"string"}, + "ForbiddenException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

The caller isn't authorized to make the request.

", + "error":{ + "httpStatusCode":403, + "senderFault":true + }, + "exception":true + }, + "GetNamespaceRequest":{ + "type":"structure", + "required":[ + "tableBucketARN", + "namespace" + ], + "members":{ + "tableBucketARN":{ + "shape":"TableBucketARN", + "documentation":"

The Amazon Resource Name (ARN) of the table bucket.

", + "location":"uri", + "locationName":"tableBucketARN" + }, + "namespace":{ + "shape":"NamespaceName", + "documentation":"

The name of the namespace.

", + "location":"uri", + "locationName":"namespace" + } + } + }, + "GetNamespaceResponse":{ + "type":"structure", + "required":[ + "namespace", + "createdAt", + "createdBy", + "ownerAccountId" + ], + "members":{ + "namespace":{ + "shape":"NamespaceList", + "documentation":"

The name of the namespace.

" + }, + "createdAt":{ + "shape":"SyntheticTimestamp_date_time", + "documentation":"

The date and time the namespace was created at.

" + }, + "createdBy":{ + "shape":"AccountId", + "documentation":"

The ID of the account that created the namespace.

" + }, + "ownerAccountId":{ + "shape":"AccountId", + "documentation":"

The ID of the account that owns the namespcace.

" + } + } + }, + "GetTableBucketMaintenanceConfigurationRequest":{ + "type":"structure", + "required":["tableBucketARN"], + "members":{ + "tableBucketARN":{ + "shape":"TableBucketARN", + "documentation":"

The Amazon Resource Name (ARN) of the table bucket associated with the maintenance configuration.

", + "location":"uri", + "locationName":"tableBucketARN" + } + } + }, + "GetTableBucketMaintenanceConfigurationResponse":{ + "type":"structure", + "required":[ + "tableBucketARN", + "configuration" + ], + "members":{ + "tableBucketARN":{ + "shape":"TableBucketARN", + "documentation":"

The Amazon Resource Name (ARN) of the table bucket associated with the maintenance configuration.

" + }, + "configuration":{ + "shape":"TableBucketMaintenanceConfiguration", + "documentation":"

Details about the maintenance configuration for the table bucket.

" + } + } + }, + "GetTableBucketPolicyRequest":{ + "type":"structure", + "required":["tableBucketARN"], + "members":{ + "tableBucketARN":{ + "shape":"TableBucketARN", + "documentation":"

The Amazon Resource Number (ARN) of the table bucket.

", + "location":"uri", + "locationName":"tableBucketARN" + } + } + }, + "GetTableBucketPolicyResponse":{ + "type":"structure", + "required":["resourcePolicy"], + "members":{ + "resourcePolicy":{ + "shape":"ResourcePolicy", + "documentation":"

The name of the resource policy.

" + } + } + }, + "GetTableBucketRequest":{ + "type":"structure", + "required":["tableBucketARN"], + "members":{ + "tableBucketARN":{ + "shape":"TableBucketARN", + "documentation":"

The Amazon Resource Name (ARN) of the table bucket.

", + "location":"uri", + "locationName":"tableBucketARN" + } + } + }, + "GetTableBucketResponse":{ + "type":"structure", + "required":[ + "arn", + "name", + "ownerAccountId", + "createdAt" + ], + "members":{ + "arn":{ + "shape":"TableBucketARN", + "documentation":"

The Amazon Resource Name (ARN) of the table bucket.

" + }, + "name":{ + "shape":"TableBucketName", + "documentation":"

The name of the table bucket

" + }, + "ownerAccountId":{ + "shape":"AccountId", + "documentation":"

The ID of the account that owns the table bucket.

" + }, + "createdAt":{ + "shape":"SyntheticTimestamp_date_time", + "documentation":"

The date and time the table bucket was created.

" + } + } + }, + "GetTableMaintenanceConfigurationRequest":{ + "type":"structure", + "required":[ + "tableBucketARN", + "namespace", + "name" + ], + "members":{ + "tableBucketARN":{ + "shape":"TableBucketARN", + "documentation":"

The Amazon Resource Name (ARN) of the table bucket.

", + "location":"uri", + "locationName":"tableBucketARN" + }, + "namespace":{ + "shape":"NamespaceName", + "documentation":"

The namespace associated with the table.

", + "location":"uri", + "locationName":"namespace" + }, + "name":{ + "shape":"TableName", + "documentation":"

The name of the table.

", + "location":"uri", + "locationName":"name" + } + } + }, + "GetTableMaintenanceConfigurationResponse":{ + "type":"structure", + "required":[ + "tableARN", + "configuration" + ], + "members":{ + "tableARN":{ + "shape":"TableARN", + "documentation":"

The Amazon Resource Name (ARN) of the table.

" + }, + "configuration":{ + "shape":"TableMaintenanceConfiguration", + "documentation":"

Details about the maintenance configuration for the table bucket.

" + } + } + }, + "GetTableMaintenanceJobStatusRequest":{ + "type":"structure", + "required":[ + "tableBucketARN", + "namespace", + "name" + ], + "members":{ + "tableBucketARN":{ + "shape":"TableBucketARN", + "documentation":"

The Amazon Resource Name (ARN) of the table bucket.

", + "location":"uri", + "locationName":"tableBucketARN" + }, + "namespace":{ + "shape":"NamespaceName", + "documentation":"

The name of the namespace the table is associated with.

</p> 
", + "location":"uri", + "locationName":"namespace" + }, + "name":{ + "shape":"TableName", + "documentation":"

The name of the maintenance job.

", + "location":"uri", + "locationName":"name" + } + } + }, + "GetTableMaintenanceJobStatusResponse":{ + "type":"structure", + "required":[ + "tableARN", + "status" + ], + "members":{ + "tableARN":{ + "shape":"TableARN", + "documentation":"

The Amazon Resource Name (ARN) of the table.

" + }, + "status":{ + "shape":"TableMaintenanceJobStatus", + "documentation":"

The status of the maintenance job.

" + } + } + }, + "GetTableMetadataLocationRequest":{ + "type":"structure", + "required":[ + "tableBucketARN", + "namespace", + "name" + ], + "members":{ + "tableBucketARN":{ + "shape":"TableBucketARN", + "documentation":"

The Amazon Resource Name (ARN) of the table bucket.

", + "location":"uri", + "locationName":"tableBucketARN" + }, + "namespace":{ + "shape":"NamespaceName", + "documentation":"

The namespace of the table.

", + "location":"uri", + "locationName":"namespace" + }, + "name":{ + "shape":"TableName", + "documentation":"

The name of the table.

", + "location":"uri", + "locationName":"name" + } + } + }, + "GetTableMetadataLocationResponse":{ + "type":"structure", + "required":[ + "versionToken", + "warehouseLocation" + ], + "members":{ + "versionToken":{ + "shape":"VersionToken", + "documentation":"

The version token.

" + }, + "metadataLocation":{ + "shape":"MetadataLocation", + "documentation":"

The metadata location.

" + }, + "warehouseLocation":{ + "shape":"WarehouseLocation", + "documentation":"

The warehouse location.

" + } + } + }, + "GetTablePolicyRequest":{ + "type":"structure", + "required":[ + "tableBucketARN", + "namespace", + "name" + ], + "members":{ + "tableBucketARN":{ + "shape":"TableBucketARN", + "documentation":"

The Amazon Resource Number (ARN) of the table bucket that contains the table.

", + "location":"uri", + "locationName":"tableBucketARN" + }, + "namespace":{ + "shape":"NamespaceName", + "documentation":"

The namespace associated with the table.

", + "location":"uri", + "locationName":"namespace" + }, + "name":{ + "shape":"TableName", + "documentation":"

The name of the table.

", + "location":"uri", + "locationName":"name" + } + } + }, + "GetTablePolicyResponse":{ + "type":"structure", + "required":["resourcePolicy"], + "members":{ + "resourcePolicy":{ + "shape":"ResourcePolicy", + "documentation":"

The name of the resource policy.

" + } + } + }, + "GetTableRequest":{ + "type":"structure", + "required":[ + "tableBucketARN", + "namespace", + "name" + ], + "members":{ + "tableBucketARN":{ + "shape":"TableBucketARN", + "documentation":"

The Amazon Resource Name (ARN) of the table bucket associated with the table.

", + "location":"uri", + "locationName":"tableBucketARN" + }, + "namespace":{ + "shape":"NamespaceName", + "documentation":"

The name of the namespace the table is associated with.

", + "location":"uri", + "locationName":"namespace" + }, + "name":{ + "shape":"TableName", + "documentation":"

The name of the table.

", + "location":"uri", + "locationName":"name" + } + } + }, + "GetTableResponse":{ + "type":"structure", + "required":[ + "name", + "type", + "tableARN", + "namespace", + "versionToken", + "warehouseLocation", + "createdAt", + "createdBy", + "modifiedAt", + "modifiedBy", + "ownerAccountId", + "format" + ], + "members":{ + "name":{ + "shape":"TableName", + "documentation":"

The name of the table.

" + }, + "type":{ + "shape":"TableType", + "documentation":"

The type of the table.

" + }, + "tableARN":{ + "shape":"TableARN", + "documentation":"

The Amazon Resource Name (ARN) of the table.

" + }, + "namespace":{ + "shape":"NamespaceList", + "documentation":"

The namespace associated with the table.

" + }, + "versionToken":{ + "shape":"VersionToken", + "documentation":"

The version token of the table.

" + }, + "metadataLocation":{ + "shape":"MetadataLocation", + "documentation":"

The metadata location of the table.

" + }, + "warehouseLocation":{ + "shape":"WarehouseLocation", + "documentation":"

The warehouse location of the table.

" + }, + "createdAt":{ + "shape":"SyntheticTimestamp_date_time", + "documentation":"

The date and time the table bucket was created at.

" + }, + "createdBy":{ + "shape":"AccountId", + "documentation":"

The ID of the account that created the table.

" + }, + "managedByService":{ + "shape":"String", + "documentation":"

The service that manages the table.

" + }, + "modifiedAt":{ + "shape":"SyntheticTimestamp_date_time", + "documentation":"

The date and time the table was last modified on.

" + }, + "modifiedBy":{ + "shape":"AccountId", + "documentation":"

The ID of the account that last modified the table.

" + }, + "ownerAccountId":{ + "shape":"AccountId", + "documentation":"

The ID of the account that owns the table.

" + }, + "format":{ + "shape":"OpenTableFormat", + "documentation":"

The format of the table.

" + } + } + }, + "IcebergCompactionSettings":{ + "type":"structure", + "members":{ + "targetFileSizeMB":{ + "shape":"PositiveInteger", + "documentation":"

The target file size for the table in MB.

" + } + }, + "documentation":"

Contains details about the compaction settings for an Iceberg table.

" + }, + "IcebergSnapshotManagementSettings":{ + "type":"structure", + "members":{ + "minSnapshotsToKeep":{ + "shape":"PositiveInteger", + "documentation":"

The minimum number of snapshots to keep.

" + }, + "maxSnapshotAgeHours":{ + "shape":"PositiveInteger", + "documentation":"

The maximum age of a snapshot before it can be expired.

" + } + }, + "documentation":"

Contains details about the snapshot management settings for an Iceberg table. The oldest snapshot expires when its age exceeds the maxSnapshotAgeHours and the total number of snapshots exceeds the value for the minimum number of snapshots to keep minSnapshotsToKeep.

" + }, + "IcebergUnreferencedFileRemovalSettings":{ + "type":"structure", + "members":{ + "unreferencedDays":{ + "shape":"PositiveInteger", + "documentation":"

The number of days an object has to be unreferenced before it is marked as non-current.

 </p> 
" + }, + "nonCurrentDays":{ + "shape":"PositiveInteger", + "documentation":"

The number of days an object has to be non-current before it is deleted.

</p> 
" + } + }, + "documentation":"

Contains details about the unreferenced file removal settings for an Iceberg table bucket.

" + }, + "InternalServerErrorException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

The request failed due to an internal server error.

", + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true + }, + "JobStatus":{ + "type":"string", + "enum":[ + "Not_Yet_Run", + "Successful", + "Failed", + "Disabled" + ] + }, + "ListNamespacesLimit":{ + "type":"integer", + "box":true, + "max":1000, + "min":1 + }, + "ListNamespacesRequest":{ + "type":"structure", + "required":["tableBucketARN"], + "members":{ + "tableBucketARN":{ + "shape":"TableBucketARN", + "documentation":"

The Amazon Resource Name (ARN) of the table bucket.

", + "location":"uri", + "locationName":"tableBucketARN" + }, + "prefix":{ + "shape":"ListNamespacesRequestPrefixString", + "documentation":"

The prefix of the namespaces.

", + "location":"querystring", + "locationName":"prefix" + }, + "continuationToken":{ + "shape":"NextToken", + "documentation":"

ContinuationToken indicates to Amazon S3 that the list is being continued on this bucket with a token. ContinuationToken is obfuscated and is not a real key. You can use this ContinuationToken for pagination of the list results.

", + "location":"querystring", + "locationName":"continuationToken" + }, + "maxNamespaces":{ + "shape":"ListNamespacesLimit", + "documentation":"

The maximum number of namespaces to return in the list.

", + "location":"querystring", + "locationName":"maxNamespaces" + } + } + }, + "ListNamespacesRequestPrefixString":{ + "type":"string", + "max":255, + "min":1 + }, + "ListNamespacesResponse":{ + "type":"structure", + "required":["namespaces"], + "members":{ + "namespaces":{ + "shape":"NamespaceSummaryList", + "documentation":"

A list of namespaces.

" + }, + "continuationToken":{ + "shape":"NextToken", + "documentation":"

The ContinuationToken for pagination of the list results.

" + } + } + }, + "ListTableBucketsLimit":{ + "type":"integer", + "box":true, + "max":1000, + "min":1 + }, + "ListTableBucketsRequest":{ + "type":"structure", + "members":{ + "prefix":{ + "shape":"ListTableBucketsRequestPrefixString", + "documentation":"

The prefix of the table buckets.

", + "location":"querystring", + "locationName":"prefix" + }, + "continuationToken":{ + "shape":"NextToken", + "documentation":"

ContinuationToken indicates to Amazon S3 that the list is being continued on this bucket with a token. ContinuationToken is obfuscated and is not a real key. You can use this ContinuationToken for pagination of the list results.

", + "location":"querystring", + "locationName":"continuationToken" + }, + "maxBuckets":{ + "shape":"ListTableBucketsLimit", + "documentation":"

The maximum number of table buckets to return in the list.

", + "location":"querystring", + "locationName":"maxBuckets" + } + } + }, + "ListTableBucketsRequestPrefixString":{ + "type":"string", + "max":63, + "min":1 + }, + "ListTableBucketsResponse":{ + "type":"structure", + "required":["tableBuckets"], + "members":{ + "tableBuckets":{ + "shape":"TableBucketSummaryList", + "documentation":"

A list of table buckets.

" + }, + "continuationToken":{ + "shape":"NextToken", + "documentation":"

You can use this ContinuationToken for pagination of the list results.

" + } + } + }, + "ListTablesLimit":{ + "type":"integer", + "box":true, + "max":1000, + "min":1 + }, + "ListTablesRequest":{ + "type":"structure", + "required":["tableBucketARN"], + "members":{ + "tableBucketARN":{ + "shape":"TableBucketARN", + "documentation":"

The Amazon resource Number (ARN) of the table bucket.

", + "location":"uri", + "locationName":"tableBucketARN" + }, + "namespace":{ + "shape":"NamespaceName", + "documentation":"

The namespace of the tables.

", + "location":"querystring", + "locationName":"namespace" + }, + "prefix":{ + "shape":"ListTablesRequestPrefixString", + "documentation":"

The prefix of the tables.

", + "location":"querystring", + "locationName":"prefix" + }, + "continuationToken":{ + "shape":"NextToken", + "documentation":"

ContinuationToken indicates to Amazon S3 that the list is being continued on this bucket with a token. ContinuationToken is obfuscated and is not a real key. You can use this ContinuationToken for pagination of the list results.

", + "location":"querystring", + "locationName":"continuationToken" + }, + "maxTables":{ + "shape":"ListTablesLimit", + "documentation":"

The maximum number of tables to return.

", + "location":"querystring", + "locationName":"maxTables" + } + } + }, + "ListTablesRequestPrefixString":{ + "type":"string", + "max":255, + "min":1 + }, + "ListTablesResponse":{ + "type":"structure", + "required":["tables"], + "members":{ + "tables":{ + "shape":"TableSummaryList", + "documentation":"

A list of tables.

" + }, + "continuationToken":{ + "shape":"NextToken", + "documentation":"

You can use this ContinuationToken for pagination of the list results.

" + } + } + }, + "MaintenanceStatus":{ + "type":"string", + "enum":[ + "enabled", + "disabled" + ] + }, + "MetadataLocation":{ + "type":"string", + "max":2048, + "min":1 + }, + "NamespaceList":{ + "type":"list", + "member":{"shape":"NamespaceName"} + }, + "NamespaceName":{ + "type":"string", + "max":255, + "min":1, + "pattern":"[0-9a-z_]*" + }, + "NamespaceSummary":{ + "type":"structure", + "required":[ + "namespace", + "createdAt", + "createdBy", + "ownerAccountId" + ], + "members":{ + "namespace":{ + "shape":"NamespaceList", + "documentation":"

The name of the namespace.

" + }, + "createdAt":{ + "shape":"SyntheticTimestamp_date_time", + "documentation":"

The date and time the namespace was created at.

" + }, + "createdBy":{ + "shape":"AccountId", + "documentation":"

The ID of the account that created the namespace.

" + }, + "ownerAccountId":{ + "shape":"AccountId", + "documentation":"

The ID of the account that owns the namespace.

" + } + }, + "documentation":"

Contains details about a namespace.

" + }, + "NamespaceSummaryList":{ + "type":"list", + "member":{"shape":"NamespaceSummary"} + }, + "NextToken":{ + "type":"string", + "max":2048, + "min":1 + }, + "NotFoundException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

The request was rejected because the specified resource could not be found.

", + "error":{ + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "OpenTableFormat":{ + "type":"string", + "enum":["ICEBERG"] + }, + "PositiveInteger":{ + "type":"integer", + "box":true, + "max":2147483647, + "min":1 + }, + "PutTableBucketMaintenanceConfigurationRequest":{ + "type":"structure", + "required":[ + "tableBucketARN", + "type", + "value" + ], + "members":{ + "tableBucketARN":{ + "shape":"TableBucketARN", + "documentation":"

The Amazon Resource Name (ARN) of the table bucket associated with the maintenance configuration.

", + "location":"uri", + "locationName":"tableBucketARN" + }, + "type":{ + "shape":"TableBucketMaintenanceType", + "documentation":"

The type of the maintenance configuration.

", + "location":"uri", + "locationName":"type" + }, + "value":{ + "shape":"TableBucketMaintenanceConfigurationValue", + "documentation":"

Defines the values of the maintenance configuration for the table bucket.

" + } + } + }, + "PutTableBucketPolicyRequest":{ + "type":"structure", + "required":[ + "tableBucketARN", + "resourcePolicy" + ], + "members":{ + "tableBucketARN":{ + "shape":"TableBucketARN", + "documentation":"

The Amazon Resource Number (ARN) of the table bucket.

", + "location":"uri", + "locationName":"tableBucketARN" + }, + "resourcePolicy":{ + "shape":"ResourcePolicy", + "documentation":"

The name of the resource policy.

" + } + } + }, + "PutTableMaintenanceConfigurationRequest":{ + "type":"structure", + "required":[ + "tableBucketARN", + "namespace", + "name", + "type", + "value" + ], + "members":{ + "tableBucketARN":{ + "shape":"TableBucketARN", + "documentation":"

The Amazon Resource Name (ARN) of the table associated with the maintenance configuration.

", + "location":"uri", + "locationName":"tableBucketARN" + }, + "namespace":{ + "shape":"NamespaceName", + "documentation":"

The namespace of the table.

", + "location":"uri", + "locationName":"namespace" + }, + "name":{ + "shape":"TableName", + "documentation":"

The name of the maintenance configuration.

", + "location":"uri", + "locationName":"name" + }, + "type":{ + "shape":"TableMaintenanceType", + "documentation":"

The type of the maintenance configuration.

", + "location":"uri", + "locationName":"type" + }, + "value":{ + "shape":"TableMaintenanceConfigurationValue", + "documentation":"

Defines the values of the maintenance configuration for the table.

" + } + } + }, + "PutTablePolicyRequest":{ + "type":"structure", + "required":[ + "tableBucketARN", + "namespace", + "name", + "resourcePolicy" + ], + "members":{ + "tableBucketARN":{ + "shape":"TableBucketARN", + "documentation":"

The Amazon Resource Number (ARN) of the table bucket that contains the table.

", + "location":"uri", + "locationName":"tableBucketARN" + }, + "namespace":{ + "shape":"NamespaceName", + "documentation":"

The namespace associated with the table.

", + "location":"uri", + "locationName":"namespace" + }, + "name":{ + "shape":"TableName", + "documentation":"

The name of the table.

", + "location":"uri", + "locationName":"name" + }, + "resourcePolicy":{ + "shape":"ResourcePolicy", + "documentation":"

The name of the resource policy.

" + } + } + }, + "RenameTableRequest":{ + "type":"structure", + "required":[ + "tableBucketARN", + "namespace", + "name" + ], + "members":{ + "tableBucketARN":{ + "shape":"TableBucketARN", + "documentation":"

The Amazon Resource Name (ARN) of the table bucket.

", + "location":"uri", + "locationName":"tableBucketARN" + }, + "namespace":{ + "shape":"NamespaceName", + "documentation":"

The namespace associated with the table.

", + "location":"uri", + "locationName":"namespace" + }, + "name":{ + "shape":"TableName", + "documentation":"

The current name of the table.

", + "location":"uri", + "locationName":"name" + }, + "newNamespaceName":{ + "shape":"NamespaceName", + "documentation":"

The new name for the namespace.

" + }, + "newName":{ + "shape":"TableName", + "documentation":"

The new name for the table.

" + }, + "versionToken":{ + "shape":"VersionToken", + "documentation":"

The version token of the table.

" + } + } + }, + "ResourcePolicy":{ + "type":"string", + "max":20480, + "min":1 + }, + "String":{"type":"string"}, + "SyntheticTimestamp_date_time":{ + "type":"timestamp", + "timestampFormat":"iso8601" + }, + "TableARN":{ + "type":"string", + "max":2048, + "min":1, + "pattern":"(arn:aws[-a-z0-9]*:[a-z0-9]+:[-a-z0-9]*:[0-9]{12}:bucket/[a-z0-9_-]{3,63}/table/[a-zA-Z0-9-_]{1,255})" + }, + "TableBucketARN":{ + "type":"string", + "pattern":"(arn:aws[-a-z0-9]*:[a-z0-9]+:[-a-z0-9]*:[0-9]{12}:bucket/[a-z0-9_-]{3,63})" + }, + "TableBucketMaintenanceConfiguration":{ + "type":"map", + "key":{"shape":"TableBucketMaintenanceType"}, + "value":{"shape":"TableBucketMaintenanceConfigurationValue"} + }, + "TableBucketMaintenanceConfigurationValue":{ + "type":"structure", + "members":{ + "status":{ + "shape":"MaintenanceStatus", + "documentation":"

The status of the maintenance configuration.

" + }, + "settings":{ + "shape":"TableBucketMaintenanceSettings", + "documentation":"

Contains details about the settings of the maintenance configuration.

" + } + }, + "documentation":"

Details about the values that define the maintenance configuration for a table bucket.

" + }, + "TableBucketMaintenanceSettings":{ + "type":"structure", + "members":{ + "icebergUnreferencedFileRemoval":{ + "shape":"IcebergUnreferencedFileRemovalSettings", + "documentation":"

The unreferenced file removal settings for the table bucket.

" + } + }, + "documentation":"

Contains details about the maintenance settings for the table bucket.

", + "union":true + }, + "TableBucketMaintenanceType":{ + "type":"string", + "enum":["icebergUnreferencedFileRemoval"] + }, + "TableBucketName":{ + "type":"string", + "max":63, + "min":3, + "pattern":"[0-9a-z-]*" + }, + "TableBucketSummary":{ + "type":"structure", + "required":[ + "arn", + "name", + "ownerAccountId", + "createdAt" + ], + "members":{ + "arn":{ + "shape":"TableBucketARN", + "documentation":"

The Amazon Resource Number (ARN) of the table bucket.

" + }, + "name":{ + "shape":"TableBucketName", + "documentation":"

The name of the table bucket.

" + }, + "ownerAccountId":{ + "shape":"AccountId", + "documentation":"

The ID of the account that owns the table bucket.

" + }, + "createdAt":{ + "shape":"SyntheticTimestamp_date_time", + "documentation":"

The date and time the table bucket was created at.

" + } + }, + "documentation":"

Contains details about a table bucket.

" + }, + "TableBucketSummaryList":{ + "type":"list", + "member":{"shape":"TableBucketSummary"} + }, + "TableMaintenanceConfiguration":{ + "type":"map", + "key":{"shape":"TableMaintenanceType"}, + "value":{"shape":"TableMaintenanceConfigurationValue"} + }, + "TableMaintenanceConfigurationValue":{ + "type":"structure", + "members":{ + "status":{ + "shape":"MaintenanceStatus", + "documentation":"

The status of the maintenance configuration.

" + }, + "settings":{ + "shape":"TableMaintenanceSettings", + "documentation":"

Contains details about the settings for the maintenance configuration.

" + } + }, + "documentation":"

Contains the values that define a maintenance configuration for a table.

" + }, + "TableMaintenanceJobStatus":{ + "type":"map", + "key":{"shape":"TableMaintenanceJobType"}, + "value":{"shape":"TableMaintenanceJobStatusValue"} + }, + "TableMaintenanceJobStatusValue":{ + "type":"structure", + "required":["status"], + "members":{ + "status":{ + "shape":"JobStatus", + "documentation":"

The status of the job.

" + }, + "lastRunTimestamp":{ + "shape":"SyntheticTimestamp_date_time", + "documentation":"

The date and time that the maintenance job was last run.

" + }, + "failureMessage":{ + "shape":"String", + "documentation":"

The failure message of a failed job.

" + } + }, + "documentation":"

Details about the status of a maintenance job.

" + }, + "TableMaintenanceJobType":{ + "type":"string", + "enum":[ + "icebergCompaction", + "icebergSnapshotManagement", + "icebergUnreferencedFileRemoval" + ] + }, + "TableMaintenanceSettings":{ + "type":"structure", + "members":{ + "icebergCompaction":{ + "shape":"IcebergCompactionSettings", + "documentation":"

Contains details about the Iceberg compaction settings for the table.

" + }, + "icebergSnapshotManagement":{ + "shape":"IcebergSnapshotManagementSettings", + "documentation":"

Contains details about the Iceberg snapshot management settings for the table.

" + } + }, + "documentation":"

Contains details about maintenance settings for the table.

", + "union":true + }, + "TableMaintenanceType":{ + "type":"string", + "enum":[ + "icebergCompaction", + "icebergSnapshotManagement" + ] + }, + "TableName":{ + "type":"string", + "max":255, + "min":1, + "pattern":"[0-9a-z_]*" + }, + "TableSummary":{ + "type":"structure", + "required":[ + "namespace", + "name", + "type", + "tableARN", + "createdAt", + "modifiedAt" + ], + "members":{ + "namespace":{ + "shape":"NamespaceList", + "documentation":"

The name of the namespace.

" + }, + "name":{ + "shape":"TableName", + "documentation":"

The name of the table.

" + }, + "type":{ + "shape":"TableType", + "documentation":"

The type of the table.

" + }, + "tableARN":{ + "shape":"TableARN", + "documentation":"

The Amazon Resource Number (ARN) of the table.

" + }, + "createdAt":{ + "shape":"SyntheticTimestamp_date_time", + "documentation":"

The date and time the table was created at.

" + }, + "modifiedAt":{ + "shape":"SyntheticTimestamp_date_time", + "documentation":"

The date and time the table was last modified at.

" + } + }, + "documentation":"

Contains details about a table.

" + }, + "TableSummaryList":{ + "type":"list", + "member":{"shape":"TableSummary"} + }, + "TableType":{ + "type":"string", + "enum":[ + "customer", + "aws" + ] + }, + "TooManyRequestsException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

The limit on the number of requests per second was exceeded.

", + "error":{ + "httpStatusCode":429, + "senderFault":true + }, + "exception":true + }, + "UpdateTableMetadataLocationRequest":{ + "type":"structure", + "required":[ + "tableBucketARN", + "namespace", + "name", + "versionToken", + "metadataLocation" + ], + "members":{ + "tableBucketARN":{ + "shape":"TableBucketARN", + "documentation":"

The Amazon Resource Name (ARN) of the table bucket.

", + "location":"uri", + "locationName":"tableBucketARN" + }, + "namespace":{ + "shape":"NamespaceName", + "documentation":"

The namespace of the table.

", + "location":"uri", + "locationName":"namespace" + }, + "name":{ + "shape":"TableName", + "documentation":"

The name of the table.

", + "location":"uri", + "locationName":"name" + }, + "versionToken":{ + "shape":"VersionToken", + "documentation":"

The version token of the table.

" + }, + "metadataLocation":{ + "shape":"MetadataLocation", + "documentation":"

The new metadata location for the table.

" + } + } + }, + "UpdateTableMetadataLocationResponse":{ + "type":"structure", + "required":[ + "name", + "tableARN", + "namespace", + "versionToken", + "metadataLocation" + ], + "members":{ + "name":{ + "shape":"TableName", + "documentation":"

The name of the table.

" + }, + "tableARN":{ + "shape":"TableARN", + "documentation":"

The Amazon Resource Number (ARN) of the table.

" + }, + "namespace":{ + "shape":"NamespaceList", + "documentation":"

The namespace the table is associated with.

" + }, + "versionToken":{ + "shape":"VersionToken", + "documentation":"

The version token of the table.

" + }, + "metadataLocation":{ + "shape":"MetadataLocation", + "documentation":"

The metadata location of the table.

" + } + } + }, + "VersionToken":{ + "type":"string", + "max":2048, + "min":1 + }, + "WarehouseLocation":{ + "type":"string", + "max":2048, + "min":1 + } + }, + "documentation":"

An Amazon S3 table represents a structured dataset consisting of tabular data in Apache Parquet format and related metadata. This data is stored inside an S3 table as a subresource. All tables in a table bucket are stored in the Apache Iceberg table format. Through integration with the AWS Glue Data Catalog you can interact with your tables using AWS analytics services, such as Amazon Athena and Amazon Redshift. Amazon S3 manages maintenance of your tables through automatic file compaction and snapshot management. For more information, see Amazon S3 table buckets.

" +} diff --git a/botocore/data/s3tables/2018-05-10/waiters-2.json b/botocore/data/s3tables/2018-05-10/waiters-2.json new file mode 100644 index 0000000000..13f60ee66b --- /dev/null +++ b/botocore/data/s3tables/2018-05-10/waiters-2.json @@ -0,0 +1,5 @@ +{ + "version": 2, + "waiters": { + } +} diff --git a/botocore/handlers.py b/botocore/handlers.py index 6d00ffadf1..d0a89e97dd 100644 --- a/botocore/handlers.py +++ b/botocore/handlers.py @@ -54,6 +54,7 @@ ) from botocore.regions import EndpointResolverBuiltins from botocore.signers import ( + add_dsql_generate_db_auth_token_methods, add_generate_db_auth_token, add_generate_presigned_post, add_generate_presigned_url, @@ -1492,6 +1493,10 @@ def add_query_compatibility_header(model, params, **kwargs): ).hide_param, ), ############# + # DSQL + ############# + ('creating-client-class.dsql', add_dsql_generate_db_auth_token_methods), + ############# # RDS ############# ('creating-client-class.rds', add_generate_db_auth_token), diff --git a/botocore/signers.py b/botocore/signers.py index 14692d16f4..cf90fe4a5f 100644 --- a/botocore/signers.py +++ b/botocore/signers.py @@ -20,6 +20,7 @@ from botocore.awsrequest import create_request_object, prepare_request_dict from botocore.compat import OrderedDict from botocore.exceptions import ( + ParamValidationError, UnknownClientMethodError, UnknownSignatureVersionError, UnsupportedSignatureVersionError, @@ -497,6 +498,15 @@ def add_generate_db_auth_token(class_attributes, **kwargs): class_attributes['generate_db_auth_token'] = generate_db_auth_token +def add_dsql_generate_db_auth_token_methods(class_attributes, **kwargs): + class_attributes['generate_db_connect_auth_token'] = ( + dsql_generate_db_connect_auth_token + ) + class_attributes['generate_db_connect_admin_auth_token'] = ( + dsql_generate_db_connect_admin_auth_token + ) + + def generate_db_auth_token(self, DBHostname, Port, DBUsername, Region=None): """Generates an auth token used to connect to a db with IAM credentials. @@ -551,6 +561,99 @@ def generate_db_auth_token(self, DBHostname, Port, DBUsername, Region=None): return presigned_url[len(scheme) :] +def _dsql_generate_db_auth_token( + self, Hostname, Action, Region=None, ExpiresIn=900 +): + """Generate a DSQL database token for an arbitrary action. + + :type Hostname: str + :param Hostname: The DSQL endpoint host name. + + :type Action: str + :param Action: Action to perform on the cluster (DbConnectAdmin or DbConnect). + + :type Region: str + :param Region: The AWS region where the DSQL Cluster is hosted. If None, the client region will be used. + + :type ExpiresIn: int + :param ExpiresIn: The token expiry duration in seconds (default is 900 seconds). + + :return: A presigned url which can be used as an auth token. + """ + possible_actions = ("DbConnect", "DbConnectAdmin") + + if Action not in possible_actions: + raise ParamValidationError( + report=f"Received {Action} for action but expected one of: {', '.join(possible_actions)}" + ) + + if Region is None: + Region = self.meta.region_name + + request_dict = { + 'url_path': '/', + 'query_string': '', + 'headers': {}, + 'body': { + 'Action': Action, + }, + 'method': 'GET', + } + scheme = 'https://' + endpoint_url = f'{scheme}{Hostname}' + prepare_request_dict(request_dict, endpoint_url) + presigned_url = self._request_signer.generate_presigned_url( + operation_name=Action, + request_dict=request_dict, + region_name=Region, + expires_in=ExpiresIn, + signing_name='dsql', + ) + return presigned_url[len(scheme) :] + + +def dsql_generate_db_connect_auth_token( + self, Hostname, Region=None, ExpiresIn=900 +): + """Generate a DSQL database token for the "DbConnect" action. + + :type Hostname: str + :param Hostname: The DSQL endpoint host name. + + :type Region: str + :param Region: The AWS region where the DSQL Cluster is hosted. If None, the client region will be used. + + :type ExpiresIn: int + :param ExpiresIn: The token expiry duration in seconds (default is 900 seconds). + + :return: A presigned url which can be used as an auth token. + """ + return _dsql_generate_db_auth_token( + self, Hostname, "DbConnect", Region, ExpiresIn + ) + + +def dsql_generate_db_connect_admin_auth_token( + self, Hostname, Region=None, ExpiresIn=900 +): + """Generate a DSQL database token for the "DbConnectAdmin" action. + + :type Hostname: str + :param Hostname: The DSQL endpoint host name. + + :type Region: str + :param Region: The AWS region where the DSQL Cluster is hosted. If None, the client region will be used. + + :type ExpiresIn: int + :param ExpiresIn: The token expiry duration in seconds (default is 900 seconds). + + :return: A presigned url which can be used as an auth token. + """ + return _dsql_generate_db_auth_token( + self, Hostname, "DbConnectAdmin", Region, ExpiresIn + ) + + class S3PostPresigner: def __init__(self, request_signer): self._request_signer = request_signer diff --git a/docs/source/conf.py b/docs/source/conf.py index a49fbbf691..fd6ba917d3 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -59,7 +59,7 @@ # The short X.Y version. version = '1.35.' # The full version, including alpha/beta/rc tags. -release = '1.35.73' +release = '1.35.74' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff --git a/tests/functional/endpoint-rules/dsql/endpoint-tests-1.json b/tests/functional/endpoint-rules/dsql/endpoint-tests-1.json new file mode 100644 index 0000000000..acfcb3af4f --- /dev/null +++ b/tests/functional/endpoint-rules/dsql/endpoint-tests-1.json @@ -0,0 +1,201 @@ +{ + "testCases": [ + { + "documentation": "For custom endpoint with region not set and fips disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "Endpoint": "https://example.com", + "UseFIPS": false + } + }, + { + "documentation": "For custom endpoint with fips enabled", + "expect": { + "error": "Invalid Configuration: FIPS and custom endpoint are not supported" + }, + "params": { + "Endpoint": "https://example.com", + "UseFIPS": true + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dsql-fips.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dsql.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false + } + }, + { + "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dsql-fips.cn-northwest-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-northwest-1", + "UseFIPS": true + } + }, + { + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dsql.cn-northwest-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-northwest-1", + "UseFIPS": false + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dsql-fips.us-gov-west-1.api.aws" + } + }, + "params": { + "Region": "us-gov-west-1", + "UseFIPS": true + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dsql.us-gov-west-1.api.aws" + } + }, + "params": { + "Region": "us-gov-west-1", + "UseFIPS": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dsql-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dsql.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dsql-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dsql.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false + } + }, + { + "documentation": "For region eu-isoe-west-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dsql-fips.eu-isoe-west-1.cloud.adc-e.uk" + } + }, + "params": { + "Region": "eu-isoe-west-1", + "UseFIPS": true + } + }, + { + "documentation": "For region eu-isoe-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dsql.eu-isoe-west-1.cloud.adc-e.uk" + } + }, + "params": { + "Region": "eu-isoe-west-1", + "UseFIPS": false + } + }, + { + "documentation": "For region us-isof-south-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dsql-fips.us-isof-south-1.csp.hci.ic.gov" + } + }, + "params": { + "Region": "us-isof-south-1", + "UseFIPS": true + } + }, + { + "documentation": "For region us-isof-south-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dsql.us-isof-south-1.csp.hci.ic.gov" + } + }, + "params": { + "Region": "us-isof-south-1", + "UseFIPS": false + } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } + } + ], + "version": "1.0" +} \ No newline at end of file diff --git a/tests/functional/endpoint-rules/s3tables/endpoint-tests-1.json b/tests/functional/endpoint-rules/s3tables/endpoint-tests-1.json new file mode 100644 index 0000000000..b1918378b4 --- /dev/null +++ b/tests/functional/endpoint-rules/s3tables/endpoint-tests-1.json @@ -0,0 +1,314 @@ +{ + "testCases": [ + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://s3tables-fips.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://s3tables-fips.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://s3tables.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://s3tables.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://s3tables-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://s3tables-fips.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://s3tables.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://s3tables.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://s3tables-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://s3tables-fips.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://s3tables.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://s3tables.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://s3tables-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://s3tables.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://s3tables-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://s3tables.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips enabled and dualstack disabled", + "expect": { + "error": "Invalid Configuration: FIPS and custom endpoint are not supported" + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips disabled and dualstack enabled", + "expect": { + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } + } + ], + "version": "1.0" +} \ No newline at end of file diff --git a/tests/functional/test_dsql.py b/tests/functional/test_dsql.py new file mode 100644 index 0000000000..ababa16feb --- /dev/null +++ b/tests/functional/test_dsql.py @@ -0,0 +1,85 @@ +# Copyright 2024 Amazon.com, Inc. or its affiliates. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"). You +# may not use this file except in compliance with the License. A copy of +# the License is located at +# +# http://aws.amazon.com/apache2.0/ +# +# or in the "license" file accompanying this file. This file is +# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF +# ANY KIND, either express or implied. See the License for the specific +# language governing permissions and limitations under the License. +import datetime + +import pytest +from dateutil.tz import tzutc + +import botocore.auth +from tests import FreezeTime + +HOSTNAME = "peccy.dsql.us-east-1.on.aws" +REGION = "us-east-1" +AWS_ACCESS_KEY_ID = "akid" +AWS_SECRET_ACCESS_KEY = "secret" +DATE = datetime.datetime(2024, 8, 27, tzinfo=tzutc()) + + +@pytest.fixture() +def client(patched_session): + return patched_session.create_client( + "dsql", + REGION, + aws_access_key_id=AWS_ACCESS_KEY_ID, + aws_secret_access_key=AWS_SECRET_ACCESS_KEY, + ) + + +@FreezeTime(botocore.auth.datetime, date=DATE) +def test_generate_db_connect_auth_token(client): + auth_token = client.generate_db_connect_auth_token( + Hostname=HOSTNAME, Region=REGION + ) + assert f"{HOSTNAME}/?Action=DbConnect" in auth_token + assert ( + f"X-Amz-Credential={AWS_ACCESS_KEY_ID}%2F20240827%2F{REGION}%2Fdsql%2Faws4_request" + in auth_token + ) + assert "X-Amz-Expires=900" in auth_token + # Asserts that there is no scheme in the URL + assert auth_token.startswith(HOSTNAME) + + +@FreezeTime(botocore.auth.datetime, date=DATE) +def test_generate_db_connect_admin_auth_token(client): + auth_token = client.generate_db_connect_admin_auth_token( + Hostname=HOSTNAME, Region=REGION + ) + assert f"{HOSTNAME}/?Action=DbConnectAdmin" in auth_token + assert ( + f"X-Amz-Credential={AWS_ACCESS_KEY_ID}%2F20240827%2F{REGION}%2Fdsql%2Faws4_request" + in auth_token + ) + assert "X-Amz-Expires=900" in auth_token + # Asserts that there is no scheme in the URL + assert auth_token.startswith(HOSTNAME) + + +def test_generate_db_connect_auth_token_extra_params(client): + region = "us-west-2" + expires_in = 3600 + auth_token = client.generate_db_connect_auth_token( + HOSTNAME, Region=region, ExpiresIn=expires_in + ) + assert f"X-Amz-Expires={expires_in}" in auth_token + assert region in auth_token + + +def test_generate_db_connect_admin_auth_token_extra_params(client): + region = "us-west-2" + expires_in = 3600 + auth_token = client.generate_db_connect_admin_auth_token( + HOSTNAME, Region=region, ExpiresIn=expires_in + ) + assert f"&X-Amz-Expires={expires_in}" in auth_token + assert region in auth_token diff --git a/tests/unit/test_signers.py b/tests/unit/test_signers.py index d538934593..199a1b09e4 100644 --- a/tests/unit/test_signers.py +++ b/tests/unit/test_signers.py @@ -35,9 +35,14 @@ CloudFrontSigner, RequestSigner, S3PostPresigner, + _dsql_generate_db_auth_token, + dsql_generate_db_connect_admin_auth_token, + dsql_generate_db_connect_auth_token, generate_db_auth_token, ) -from tests import assert_url_equal, mock, unittest +from tests import FreezeTime, assert_url_equal, mock, unittest + +DATE = datetime.datetime(2024, 11, 7, 17, 39, 33, tzinfo=tzutc()) @pytest.fixture @@ -1178,6 +1183,81 @@ def test_custom_region(self): self.assertIn(hostname, result) +class TestDSQLGenerateDBAuthToken(BaseSignerTest): + def setUp(self): + self.session = botocore.session.get_session() + self.client = self.session.create_client( + 'dsql', + region_name='us-east-1', + aws_access_key_id='ACCESS_KEY', + aws_secret_access_key='SECRET_KEY', + aws_session_token="SESSION_TOKEN", + ) + self.hostname = 'test.dsql.us-east-1.on.aws' + self.action = 'DbConnect' + + @FreezeTime(botocore.auth.datetime, date=DATE) + def test_dsql_generate_db_auth_token(self): + result = _dsql_generate_db_auth_token( + self.client, self.hostname, self.action + ) + + expected_result = ( + 'test.dsql.us-east-1.on.aws/?Action=DbConnect' + '&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=' + 'ACCESS_KEY%2F20241107%2Fus-east-1%2Fdsql%2Faws4_request' + '&X-Amz-Date=20241107T173933Z&X-Amz-Expires=900&X-Amz-SignedHeaders=host' + '&X-Amz-Security-Token=SESSION_TOKEN&X-Amz-Signature=' + '57fe03e060348aaa21405c239bf02572bbc911076e94dcd65c12ae569dd8fcf4' + ) + + # A scheme needs to be appended to the beginning or urlsplit may fail + # on certain systems. + assert_url_equal('https://' + result, 'https://' + expected_result) + + @FreezeTime(botocore.auth.datetime, date=DATE) + def test_dsql_generate_db_connect_auth_token(self): + result = dsql_generate_db_connect_auth_token( + self.client, self.hostname + ) + + expected_result = ( + 'test.dsql.us-east-1.on.aws/?Action=DbConnect' + '&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=' + 'ACCESS_KEY%2F20241107%2Fus-east-1%2Fdsql%2Faws4_request' + '&X-Amz-Date=20241107T173933Z&X-Amz-Expires=900&X-Amz-SignedHeaders=host' + '&X-Amz-Security-Token=SESSION_TOKEN&X-Amz-Signature=' + '57fe03e060348aaa21405c239bf02572bbc911076e94dcd65c12ae569dd8fcf4' + ) + + # A scheme needs to be appended to the beginning or urlsplit may fail + # on certain systems. + assert_url_equal('https://' + result, 'https://' + expected_result) + + @FreezeTime(botocore.auth.datetime, date=DATE) + def test_dsql_generate_db_connect_admin_auth_token(self): + result = dsql_generate_db_connect_admin_auth_token( + self.client, self.hostname + ) + + expected_result = ( + 'test.dsql.us-east-1.on.aws/?Action=DbConnectAdmin' + '&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=' + 'ACCESS_KEY%2F20241107%2Fus-east-1%2Fdsql%2Faws4_request' + '&X-Amz-Date=20241107T173933Z&X-Amz-Expires=900&X-Amz-SignedHeaders=host' + '&X-Amz-Security-Token=SESSION_TOKEN&X-Amz-Signature=' + '5ac084bc7cabccc19a52a5d1b5c24b50d3ce143f43b659bd484c91aaf555e190' + ) + + # A scheme needs to be appended to the beginning or urlsplit may fail + # on certain systems. + assert_url_equal('https://' + result, 'https://' + expected_result) + + def test_dsql_generate_db_auth_token_invalid_action(self): + with self.assertRaises(ParamValidationError): + _dsql_generate_db_auth_token(self.client, self.hostname, "FooBar") + + @pytest.mark.parametrize( 'request_method', ['GET', 'HEAD', 'OPTIONS', 'POST', 'PUT', 'DELETE', None],