diff --git a/CHANGELOG.md b/CHANGELOG.md index 8b4f63e1671..4956aeba8b8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,56 @@ # Changelog +## [1.3.86] - 12/03/2024 + +### Features +* (**bedrockruntime**) Add an API parameter that allows customers to set performance configuration for invoking a model. +* (**s3control**) It allows customers to pass CRC64NVME as a header in S3 Batch Operations copy requests +* (**socialmessaging**) Added support for passing role arn corresponding to the supported event destination + +## [1.3.85] - 12/02/2024 + +### Features +* (**bedrock**) Add support for Knowledge Base Evaluations & LLM as a judge +* (**bedrockagent**) This release introduces APIs to upload documents directly into a Knowledge Base +* (**bedrockagentruntime**) This release introduces a new Rerank API to leverage reranking models (with integration into Knowledge Bases); APIs to upload documents directly into Knowledge Base; RetrieveAndGenerateStream API for streaming response; Guardrails on Retrieve API; and ability to automatically generate filters +* (**chimesdkvoice**) This release adds supports for enterprises to integrate Amazon Connect with other voice systems. It supports directly transferring voice calls and metadata without using the public telephone network. It also supports real-time and post-call analytics. +* (**cleanrooms**) This release allows customers and their partners to easily collaborate with data stored in Snowflake and Amazon Athena, without having to move or share their underlying data among collaborators. +* (**cloudwatchlogs**) Adds PutIntegration, GetIntegration, ListIntegrations and DeleteIntegration APIs. Adds QueryLanguage support to StartQuery, GetQueryResults, DescribeQueries, DescribeQueryDefinitions, and PutQueryDefinition APIs. +* (**connect**) Adds support for WhatsApp Business messaging, IVR call recording, enabling Contact Lens for existing on-premise contact centers and telephony platforms, and enabling telephony and IVR migration to Amazon Connect independent of their contact center agents. +* (**connectcampaignsv2**) Amazon Connect Outbound Campaigns V2 / Features : Adds support for Event-Triggered Campaigns. +* (**customerprofiles**) This release introduces Event Trigger APIs as part of Amazon Connect Customer Profiles service. +* (**ec2**) Adds support for declarative policies that allow you to enforce desired configuration across an AWS organization through configuring account attributes. Adds support for Allowed AMIs that allows you to limit the use of AMIs in AWS accounts. Adds support for connectivity over non-HTTP protocols. +* (**eks**) Added support for Auto Mode Clusters, Hybrid Nodes, and specifying computeTypes in the DescribeAddonVersions API. +* (**eventbridge**) Call private APIs by configuring Connections with VPC connectivity through PrivateLink and VPC Lattice +* (**fsx**) FSx API changes to support the public launch of the Amazon FSx Intelligent Tiering for OpenZFS storage class. +* (**guardduty**) Add new Multi Domain Correlation findings. +* (**imagebuilder**) Added support for EC2 Image Builder's integration with AWS Marketplace for Marketplace components. +* (**invoicing**) AWS Invoice Configuration allows you to receive separate AWS invoices based on your organizational needs. You can use the AWS SDKs to manage Invoice Units and programmatically fetch the information of the invoice receiver. +* (**memorydb**) Amazon MemoryDB SDK now supports all APIs for Multi-Region. Please refer to the updated Amazon MemoryDB public documentation for detailed information on API usage. +* (**networkflowmonitor**) This release adds documentation for a new feature in Amazon CloudWatch called Network Flow Monitor. You can use Network Flow Monitor to get near real-time metrics, including retransmissions and data transferred, for your actual workloads. +* (**opensearch**) This feature introduces support for CRUDL APIs, enabling the creation and management of Connected data sources. +* (**organizations**) Add support for policy operations on the DECLARATIVE_POLICY_EC2 policy type. +* (**qbusiness**) Amazon Q Business now supports capabilities to extract insights and answer questions from visual elements embedded within documents, a browser extension for Google Chrome, Mozilla Firefox, and Microsoft Edge, and attachments across conversations. +* (**qconnect**) This release adds following capabilities: Configuring safeguards via AIGuardrails for Q in Connect inferencing, and APIs to support Q&A self-service use cases +* (**rds**) Amazon RDS supports CloudWatch Database Insights. You can use the SDK to create, modify, and describe the DatabaseInsightsMode for your DB instances and clusters. +* (**s3**) Amazon S3 introduces support for AWS Dedicated Local Zones +* (**s3control**) Amazon S3 introduces support for AWS Dedicated Local Zones +* (**securityhub**) Add new Multi Domain Correlation findings. +* (**securityir**) AWS Security Incident Response is a purpose-built security incident solution designed to help customers prepare for, respond to, and recover from security incidents. +* (**transfer**) AWS Transfer Family now offers Web apps that enables simple and secure access to data stored in Amazon S3. +* (**vpclattice**) Lattice APIs that allow sharing and access of VPC resources across accounts. + +### Documentation +* (**ecs**) This release adds support for Container Insights with Enhanced Observability for Amazon ECS. + +## [1.3.84] - 11/27/2024 + +### Features +* (**bedrockagent**) Add support for specifying embeddingDataType, either FLOAT32 or BINARY +* (**configservice**) AWS Config adds support for service-linked recorders, a new type of Config recorder managed by AWS services to record specific subsets of resource configuration data and functioning independently from customer managed AWS Config recorders. +* (**fsx**) This release adds EFA support to increase FSx for Lustre file systems' throughput performance to a single client instance. This can be done by specifying EfaEnabled=true at the time of creation of Persistent_2 file systems. +* (**observabilityadmin**) Amazon CloudWatch Observability Admin adds the ability to audit telemetry configuration for AWS resources in customers AWS Accounts and Organizations. The release introduces new APIs to turn on/off the new experience, which supports discovering supported AWS resources and their state of telemetry. + ## [1.3.83] - 11/26/2024 ### Features diff --git a/aws-runtime/aws-http/api/aws-http.api b/aws-runtime/aws-http/api/aws-http.api index 86f4f8b4a0b..425d6c7ac51 100644 --- a/aws-runtime/aws-http/api/aws-http.api +++ b/aws-runtime/aws-http/api/aws-http.api @@ -145,6 +145,7 @@ public final class aws/sdk/kotlin/runtime/http/interceptors/AwsBusinessMetric : public static final field S3_EXPRESS_BUCKET Laws/sdk/kotlin/runtime/http/interceptors/AwsBusinessMetric; public static fun getEntries ()Lkotlin/enums/EnumEntries; public fun getIdentifier ()Ljava/lang/String; + public fun toString ()Ljava/lang/String; public static fun valueOf (Ljava/lang/String;)Laws/sdk/kotlin/runtime/http/interceptors/AwsBusinessMetric; public static fun values ()[Laws/sdk/kotlin/runtime/http/interceptors/AwsBusinessMetric; } diff --git a/aws-runtime/aws-http/common/src/aws/sdk/kotlin/runtime/http/interceptors/BusinessMetricsInterceptor.kt b/aws-runtime/aws-http/common/src/aws/sdk/kotlin/runtime/http/interceptors/BusinessMetricsInterceptor.kt index 45acf59e5d4..5115ddf47cc 100644 --- a/aws-runtime/aws-http/common/src/aws/sdk/kotlin/runtime/http/interceptors/BusinessMetricsInterceptor.kt +++ b/aws-runtime/aws-http/common/src/aws/sdk/kotlin/runtime/http/interceptors/BusinessMetricsInterceptor.kt @@ -13,14 +13,19 @@ import aws.smithy.kotlin.runtime.client.ProtocolRequestInterceptorContext import aws.smithy.kotlin.runtime.http.interceptors.HttpInterceptor import aws.smithy.kotlin.runtime.http.request.HttpRequest import aws.smithy.kotlin.runtime.http.request.toBuilder +import aws.smithy.kotlin.runtime.telemetry.logging.Logger +import aws.smithy.kotlin.runtime.telemetry.logging.logger +import kotlin.coroutines.coroutineContext /** * Appends business metrics to the `User-Agent` header. */ public class BusinessMetricsInterceptor : HttpInterceptor { override suspend fun modifyBeforeTransmit(context: ProtocolRequestInterceptorContext): HttpRequest { + val logger = coroutineContext.logger() + context.executionContext.getOrNull(BusinessMetrics)?.let { metrics -> - val metricsString = formatMetrics(metrics) + val metricsString = formatMetrics(metrics, logger) val currentUserAgentHeader = context.protocolRequest.headers[USER_AGENT] val modifiedRequest = context.protocolRequest.toBuilder() @@ -34,10 +39,22 @@ public class BusinessMetricsInterceptor : HttpInterceptor { /** * Makes sure the metrics do not exceed the maximum size and truncates them if so. + * Makes sure that metric identifiers are not > 2 chars in length. Skips them if so. */ -private fun formatMetrics(metrics: MutableSet): String { - if (metrics.isEmpty()) return "" - val metricsString = metrics.joinToString(",", "m/") { it.identifier } +private fun formatMetrics(metrics: MutableSet, logger: Logger): String { + val allowedMetrics = metrics.filter { + if (it.identifier.length > 2) { + logger.warn { + "Business metric '${it.identifier}' will be skipped due to length being > 2. " + + "This is likely a bug. Please raise an issue at https://github.com/awslabs/aws-sdk-kotlin/issues/new/choose" + } + false + } else { + true + } + } + if (allowedMetrics.isEmpty()) return "" + val metricsString = allowedMetrics.joinToString(",", "m/") { it.identifier } val metricsByteArray = metricsString.encodeToByteArray() if (metricsByteArray.size <= BUSINESS_METRICS_MAX_LENGTH) return metricsString @@ -65,4 +82,7 @@ private fun formatMetrics(metrics: MutableSet): String { public enum class AwsBusinessMetric(public override val identifier: String) : BusinessMetric { S3_EXPRESS_BUCKET("J"), DDB_MAPPER("d"), + ; + + override fun toString(): String = identifier } diff --git a/aws-runtime/aws-http/common/test/aws/sdk/kotlin/runtime/http/interceptors/BusinessMetricsInterceptorTest.kt b/aws-runtime/aws-http/common/test/aws/sdk/kotlin/runtime/http/interceptors/BusinessMetricsInterceptorTest.kt index b7dffc7150b..d1d47b22237 100644 --- a/aws-runtime/aws-http/common/test/aws/sdk/kotlin/runtime/http/interceptors/BusinessMetricsInterceptorTest.kt +++ b/aws-runtime/aws-http/common/test/aws/sdk/kotlin/runtime/http/interceptors/BusinessMetricsInterceptorTest.kt @@ -10,16 +10,12 @@ import aws.smithy.kotlin.runtime.businessmetrics.BusinessMetric import aws.smithy.kotlin.runtime.businessmetrics.SmithyBusinessMetric import aws.smithy.kotlin.runtime.businessmetrics.emitBusinessMetric import aws.smithy.kotlin.runtime.client.ProtocolRequestInterceptorContext -import aws.smithy.kotlin.runtime.collections.get import aws.smithy.kotlin.runtime.http.* import aws.smithy.kotlin.runtime.http.request.HttpRequest import aws.smithy.kotlin.runtime.net.url.Url import aws.smithy.kotlin.runtime.operation.ExecutionContext import kotlinx.coroutines.test.runTest -import kotlin.test.Test -import kotlin.test.assertFailsWith -import kotlin.test.assertFalse -import kotlin.test.assertTrue +import kotlin.test.* class BusinessMetricsInterceptorTest { @Test @@ -32,6 +28,23 @@ class BusinessMetricsInterceptorTest { assertFalse(userAgentHeader.endsWith("m/")) } + @Test + fun noValidBusinessMetrics() = runTest { + val executionContext = ExecutionContext() + + val invalidBusinessMetric = object : BusinessMetric { + override val identifier: String = "All work and no play makes Jack a dull boy".repeat(1000) + } + + executionContext.emitBusinessMetric(invalidBusinessMetric) + + val interceptor = BusinessMetricsInterceptor() + val request = interceptor.modifyBeforeTransmit(interceptorContext(executionContext)) + val userAgentHeader = request.headers[USER_AGENT]!! + + assertFalse(userAgentHeader.endsWith("m/")) + } + @Test fun businessMetrics() = runTest { val executionContext = ExecutionContext() @@ -66,11 +79,11 @@ class BusinessMetricsInterceptorTest { } @Test - fun truncateBusinessMetrics() = runTest { + fun businessMetricsMaxLength() = runTest { val executionContext = ExecutionContext() executionContext.attributes[aws.smithy.kotlin.runtime.businessmetrics.BusinessMetrics] = mutableSetOf() - for (i in 0..1024) { + for (i in 0..BUSINESS_METRICS_MAX_LENGTH) { executionContext.emitBusinessMetric( object : BusinessMetric { override val identifier: String = i.toString() @@ -78,37 +91,45 @@ class BusinessMetricsInterceptorTest { ) } - val rawMetrics = executionContext[aws.smithy.kotlin.runtime.businessmetrics.BusinessMetrics] - val rawMetricsString = rawMetrics.joinToString(",", "m/") - val rawMetricsByteArray = rawMetricsString.encodeToByteArray() - - assertTrue(rawMetricsByteArray.size >= BUSINESS_METRICS_MAX_LENGTH) - val interceptor = BusinessMetricsInterceptor() val request = interceptor.modifyBeforeTransmit(interceptorContext(executionContext)) val userAgentHeader = request.headers[USER_AGENT]!! - val truncatedMetrics = "m/" + userAgentHeader.substringAfter("m/") + val metrics = "m/" + userAgentHeader.substringAfter("m/") - assertTrue(truncatedMetrics.encodeToByteArray().size <= BUSINESS_METRICS_MAX_LENGTH) - assertFalse(truncatedMetrics.endsWith(",")) + assertTrue(metrics.encodeToByteArray().size <= BUSINESS_METRICS_MAX_LENGTH) + assertFalse(metrics.endsWith(",")) } @Test - fun malformedBusinessMetrics() = runTest { + fun invalidBusinessMetric() = runTest { val executionContext = ExecutionContext() - val reallyLongMetric = "All work and no play makes Jack a dull boy".repeat(1000) - executionContext.attributes.emitBusinessMetric( - object : BusinessMetric { - override val identifier: String = reallyLongMetric - }, - ) + val validMetric = AwsBusinessMetric.S3_EXPRESS_BUCKET + val invalidMetric = object : BusinessMetric { + override val identifier: String = "All work and no play makes Jack a dull boy".repeat(1000) + } + + executionContext.attributes.emitBusinessMetric(validMetric) + executionContext.attributes.emitBusinessMetric(invalidMetric) val interceptor = BusinessMetricsInterceptor() + val request = interceptor.modifyBeforeTransmit(interceptorContext(executionContext)) + val userAgentHeader = request.headers[USER_AGENT]!! - assertFailsWith("Business metrics are incorrectly formatted:") { - interceptor.modifyBeforeTransmit(interceptorContext(executionContext)) - } + assertTrue( + userAgentHeader.contains(validMetric.identifier), + ) + assertFalse( + userAgentHeader.contains(invalidMetric.identifier), + ) + } + + @Test + fun businessMetricToString() { + val businessMetricToString = AwsBusinessMetric.S3_EXPRESS_BUCKET.toString() + val businessMetricIdentifier = AwsBusinessMetric.S3_EXPRESS_BUCKET.identifier + + assertEquals(businessMetricIdentifier, businessMetricToString) } } diff --git a/codegen/aws-sdk-codegen/src/main/resources/aws/sdk/kotlin/codegen/endpoints.json b/codegen/aws-sdk-codegen/src/main/resources/aws/sdk/kotlin/codegen/endpoints.json index f13ef1e6689..1cbdc68d02c 100644 --- a/codegen/aws-sdk-codegen/src/main/resources/aws/sdk/kotlin/codegen/endpoints.json +++ b/codegen/aws-sdk-codegen/src/main/resources/aws/sdk/kotlin/codegen/endpoints.json @@ -13665,8 +13665,32 @@ "ap-southeast-2" : { }, "ap-southeast-3" : { }, "ap-southeast-4" : { }, - "ca-central-1" : { }, - "ca-west-1" : { }, + "ca-central-1" : { + "variants" : [ { + "hostname" : "metrics-fips.sagemaker.ca-central-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "ca-central-1-fips" : { + "credentialScope" : { + "region" : "ca-central-1" + }, + "deprecated" : true, + "hostname" : "metrics-fips.sagemaker.ca-central-1.amazonaws.com" + }, + "ca-west-1" : { + "variants" : [ { + "hostname" : "metrics-fips.sagemaker.ca-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "ca-west-1-fips" : { + "credentialScope" : { + "region" : "ca-west-1" + }, + "deprecated" : true, + "hostname" : "metrics-fips.sagemaker.ca-west-1.amazonaws.com" + }, "eu-central-1" : { }, "eu-central-2" : { }, "eu-north-1" : { }, @@ -13679,10 +13703,58 @@ "me-central-1" : { }, "me-south-1" : { }, "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } + "us-east-1" : { + "variants" : [ { + "hostname" : "metrics-fips.sagemaker.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-1-fips" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "deprecated" : true, + "hostname" : "metrics-fips.sagemaker.us-east-1.amazonaws.com" + }, + "us-east-2" : { + "variants" : [ { + "hostname" : "metrics-fips.sagemaker.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-2-fips" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "deprecated" : true, + "hostname" : "metrics-fips.sagemaker.us-east-2.amazonaws.com" + }, + "us-west-1" : { + "variants" : [ { + "hostname" : "metrics-fips.sagemaker.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-1-fips" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "deprecated" : true, + "hostname" : "metrics-fips.sagemaker.us-west-1.amazonaws.com" + }, + "us-west-2" : { + "variants" : [ { + "hostname" : "metrics-fips.sagemaker.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-2-fips" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "deprecated" : true, + "hostname" : "metrics-fips.sagemaker.us-west-2.amazonaws.com" + } } }, "mgh" : { @@ -20936,8 +21008,34 @@ "ap-southeast-3" : { }, "ap-southeast-4" : { }, "ap-southeast-5" : { }, - "ca-central-1" : { }, - "ca-west-1" : { }, + "ca-central-1" : { + "variants" : [ { + "hostname" : "streams.dynamodb-fips.ca-central-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "ca-central-1-fips" : { + "credentialScope" : { + "region" : "ca-central-1" + }, + "deprecated" : true, + "hostname" : "streams.dynamodb-fips.ca-central-1.amazonaws.com", + "protocols" : [ "https" ] + }, + "ca-west-1" : { + "variants" : [ { + "hostname" : "streams.dynamodb-fips.ca-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "ca-west-1-fips" : { + "credentialScope" : { + "region" : "ca-west-1" + }, + "deprecated" : true, + "hostname" : "streams.dynamodb-fips.ca-west-1.amazonaws.com", + "protocols" : [ "https" ] + }, "eu-central-1" : { }, "eu-central-2" : { }, "eu-north-1" : { }, @@ -20957,10 +21055,62 @@ "me-central-1" : { }, "me-south-1" : { }, "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } + "us-east-1" : { + "variants" : [ { + "hostname" : "streams.dynamodb-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-1-fips" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "deprecated" : true, + "hostname" : "streams.dynamodb-fips.us-east-1.amazonaws.com", + "protocols" : [ "https" ] + }, + "us-east-2" : { + "variants" : [ { + "hostname" : "streams.dynamodb-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-2-fips" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "deprecated" : true, + "hostname" : "streams.dynamodb-fips.us-east-2.amazonaws.com", + "protocols" : [ "https" ] + }, + "us-west-1" : { + "variants" : [ { + "hostname" : "streams.dynamodb-fips.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-1-fips" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "deprecated" : true, + "hostname" : "streams.dynamodb-fips.us-west-1.amazonaws.com", + "protocols" : [ "https" ] + }, + "us-west-2" : { + "variants" : [ { + "hostname" : "streams.dynamodb-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-2-fips" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "deprecated" : true, + "hostname" : "streams.dynamodb-fips.us-west-2.amazonaws.com", + "protocols" : [ "https" ] + } } }, "sts" : { @@ -21084,8 +21234,18 @@ "ap-southeast-3" : { }, "ap-southeast-4" : { }, "ap-southeast-5" : { }, - "ca-central-1" : { }, - "ca-west-1" : { }, + "ca-central-1" : { + "variants" : [ { + "hostname" : "swf-fips.ca-central-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "ca-west-1" : { + "variants" : [ { + "hostname" : "swf-fips.ca-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "eu-central-1" : { }, "eu-central-2" : { }, "eu-north-1" : { }, @@ -21094,6 +21254,20 @@ "eu-west-1" : { }, "eu-west-2" : { }, "eu-west-3" : { }, + "fips-ca-central-1" : { + "credentialScope" : { + "region" : "ca-central-1" + }, + "deprecated" : true, + "hostname" : "swf-fips.ca-central-1.amazonaws.com" + }, + "fips-ca-west-1" : { + "credentialScope" : { + "region" : "ca-west-1" + }, + "deprecated" : true, + "hostname" : "swf-fips.ca-west-1.amazonaws.com" + }, "fips-us-east-1" : { "credentialScope" : { "region" : "us-east-1" @@ -23864,8 +24038,18 @@ }, "elasticbeanstalk" : { "endpoints" : { - "cn-north-1" : { }, - "cn-northwest-1" : { } + "cn-north-1" : { + "variants" : [ { + "hostname" : "elasticbeanstalk.cn-north-1.api.amazonwebservices.com.cn", + "tags" : [ "dualstack" ] + } ] + }, + "cn-northwest-1" : { + "variants" : [ { + "hostname" : "elasticbeanstalk.cn-northwest-1.api.amazonwebservices.com.cn", + "tags" : [ "dualstack" ] + } ] + } } }, "elasticfilesystem" : { @@ -29698,7 +29882,7 @@ "endpoints" : { "us-gov-east-1" : { "variants" : [ { - "hostname" : "streams.dynamodb.us-gov-east-1.amazonaws.com", + "hostname" : "streams.dynamodb-fips.us-gov-east-1.amazonaws.com", "tags" : [ "fips" ] } ] }, @@ -29707,11 +29891,12 @@ "region" : "us-gov-east-1" }, "deprecated" : true, - "hostname" : "streams.dynamodb.us-gov-east-1.amazonaws.com" + "hostname" : "streams.dynamodb-fips.us-gov-east-1.amazonaws.com", + "protocols" : [ "https" ] }, "us-gov-west-1" : { "variants" : [ { - "hostname" : "streams.dynamodb.us-gov-west-1.amazonaws.com", + "hostname" : "streams.dynamodb-fips.us-gov-west-1.amazonaws.com", "tags" : [ "fips" ] } ] }, @@ -29720,7 +29905,8 @@ "region" : "us-gov-west-1" }, "deprecated" : true, - "hostname" : "streams.dynamodb.us-gov-west-1.amazonaws.com" + "hostname" : "streams.dynamodb-fips.us-gov-west-1.amazonaws.com", + "protocols" : [ "https" ] } } }, @@ -31063,8 +31249,34 @@ } }, "endpoints" : { - "us-iso-east-1" : { }, - "us-iso-west-1" : { } + "us-iso-east-1" : { + "variants" : [ { + "hostname" : "streams.dynamodb-fips.us-iso-east-1.c2s.ic.gov", + "tags" : [ "fips" ] + } ] + }, + "us-iso-east-1-fips" : { + "credentialScope" : { + "region" : "us-iso-east-1" + }, + "deprecated" : true, + "hostname" : "streams.dynamodb-fips.us-iso-east-1.c2s.ic.gov", + "protocols" : [ "https" ] + }, + "us-iso-west-1" : { + "variants" : [ { + "hostname" : "streams.dynamodb-fips.us-iso-west-1.c2s.ic.gov", + "tags" : [ "fips" ] + } ] + }, + "us-iso-west-1-fips" : { + "credentialScope" : { + "region" : "us-iso-west-1" + }, + "deprecated" : true, + "hostname" : "streams.dynamodb-fips.us-iso-west-1.c2s.ic.gov", + "protocols" : [ "https" ] + } } }, "sts" : { @@ -31086,8 +31298,32 @@ }, "swf" : { "endpoints" : { - "us-iso-east-1" : { }, - "us-iso-west-1" : { } + "fips-us-iso-east-1" : { + "credentialScope" : { + "region" : "us-iso-east-1" + }, + "deprecated" : true, + "hostname" : "swf-fips.us-iso-east-1.c2s.ic.gov" + }, + "fips-us-iso-west-1" : { + "credentialScope" : { + "region" : "us-iso-west-1" + }, + "deprecated" : true, + "hostname" : "swf-fips.us-iso-west-1.c2s.ic.gov" + }, + "us-iso-east-1" : { + "variants" : [ { + "hostname" : "swf-fips.us-iso-east-1.c2s.ic.gov", + "tags" : [ "fips" ] + } ] + }, + "us-iso-west-1" : { + "variants" : [ { + "hostname" : "swf-fips.us-iso-west-1.c2s.ic.gov", + "tags" : [ "fips" ] + } ] + } } }, "synthetics" : { @@ -31753,7 +31989,20 @@ "protocols" : [ "http", "https" ] }, "endpoints" : { - "us-isob-east-1" : { } + "us-isob-east-1" : { + "variants" : [ { + "hostname" : "streams.dynamodb-fips.us-isob-east-1.sc2s.sgov.gov", + "tags" : [ "fips" ] + } ] + }, + "us-isob-east-1-fips" : { + "credentialScope" : { + "region" : "us-isob-east-1" + }, + "deprecated" : true, + "hostname" : "streams.dynamodb-fips.us-isob-east-1.sc2s.sgov.gov", + "protocols" : [ "https" ] + } } }, "sts" : { @@ -31774,7 +32023,19 @@ }, "swf" : { "endpoints" : { - "us-isob-east-1" : { } + "fips-us-isob-east-1" : { + "credentialScope" : { + "region" : "us-isob-east-1" + }, + "deprecated" : true, + "hostname" : "swf-fips.us-isob-east-1.sc2s.sgov.gov" + }, + "us-isob-east-1" : { + "variants" : [ { + "hostname" : "swf-fips.us-isob-east-1.sc2s.sgov.gov", + "tags" : [ "fips" ] + } ] + } } }, "synthetics" : { diff --git a/codegen/sdk/aws-models/bedrock-agent-runtime.json b/codegen/sdk/aws-models/bedrock-agent-runtime.json index 6bcf5f609d9..95696942aa4 100644 --- a/codegen/sdk/aws-models/bedrock-agent-runtime.json +++ b/codegen/sdk/aws-models/bedrock-agent-runtime.json @@ -295,9 +295,15 @@ { "target": "com.amazonaws.bedrockagentruntime#OptimizePromptResource" }, + { + "target": "com.amazonaws.bedrockagentruntime#RerankResource" + }, { "target": "com.amazonaws.bedrockagentruntime#RetrieveAndGenerateResource" }, + { + "target": "com.amazonaws.bedrockagentruntime#RetrieveAndGenerateStreamResource" + }, { "target": "com.amazonaws.bedrockagentruntime#RetrieveResource" } @@ -1153,6 +1159,35 @@ "smithy.api#documentation": "

Contains information about the API operation that was called from the action group and the response body that was returned.

\n

This data type is used in the following API operations:

\n " } }, + "com.amazonaws.bedrockagentruntime#AttributeType": { + "type": "enum", + "members": { + "STRING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "STRING" + } + }, + "NUMBER": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "NUMBER" + } + }, + "BOOLEAN": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "BOOLEAN" + } + }, + "STRING_LIST": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "STRING_LIST" + } + } + } + }, "com.amazonaws.bedrockagentruntime#Attribution": { "type": "structure", "members": { @@ -1206,6 +1241,62 @@ "smithy.api#pattern": "^(arn:aws(-[^:]+)?:(bedrock|sagemaker):[a-z0-9-]{1,20}:([0-9]{12})?:([a-z-]+/)?)?([a-z0-9.-]{1,63}){0,2}(([:][a-z0-9-]{1,63}){0,2})?(/[a-z0-9]{1,12})?$" } }, + "com.amazonaws.bedrockagentruntime#BedrockRerankingConfiguration": { + "type": "structure", + "members": { + "numberOfResults": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

The number of results to return after reranking.

", + "smithy.api#range": { + "min": 1, + "max": 1000 + } + } + }, + "modelConfiguration": { + "target": "com.amazonaws.bedrockagentruntime#BedrockRerankingModelConfiguration", + "traits": { + "smithy.api#documentation": "

Contains configurations for a reranker model.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains configurations for an Amazon Bedrock reranker model.

" + } + }, + "com.amazonaws.bedrockagentruntime#BedrockRerankingModelArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 2048 + }, + "smithy.api#pattern": "^(arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}::foundation-model/(.*))?$" + } + }, + "com.amazonaws.bedrockagentruntime#BedrockRerankingModelConfiguration": { + "type": "structure", + "members": { + "modelArn": { + "target": "com.amazonaws.bedrockagentruntime#BedrockModelArn", + "traits": { + "smithy.api#documentation": "

The ARN of the reranker model.

", + "smithy.api#required": {} + } + }, + "additionalModelRequestFields": { + "target": "com.amazonaws.bedrockagentruntime#AdditionalModelRequestFields", + "traits": { + "smithy.api#documentation": "

A JSON object whose keys are request fields for the model and whose values are values for those fields.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains configurations for a reranker model.

" + } + }, "com.amazonaws.bedrockagentruntime#ByteContentBlob": { "type": "blob", "traits": { @@ -1287,6 +1378,20 @@ "smithy.api#documentation": "

An object containing a segment of the generated response that is based on a source in the knowledge base, alongside information about the source.

\n

This data type is used in the following API operations:

\n " } }, + "com.amazonaws.bedrockagentruntime#CitationEvent": { + "type": "structure", + "members": { + "citation": { + "target": "com.amazonaws.bedrockagentruntime#Citation", + "traits": { + "smithy.api#documentation": "

The citation.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

A citation event.

" + } + }, "com.amazonaws.bedrockagentruntime#Citations": { "type": "list", "member": { @@ -1444,7 +1549,7 @@ "event": { "target": "com.amazonaws.bedrockagentruntime#CustomOrchestrationTraceEvent", "traits": { - "smithy.api#documentation": "

\n The trace event details used with the custom orchestration.\n

" + "smithy.api#documentation": "

\n The event details used with the custom orchestration.\n

" } } }, @@ -1464,7 +1569,7 @@ } }, "traits": { - "smithy.api#documentation": "

\n The event in the custom orchestration sequence.\n

", + "smithy.api#documentation": "

\n The event in the custom orchestration sequence. Events are the responses which the custom orchestration Lambda function sends as response to the agent. \n

", "smithy.api#sensitive": {} } }, @@ -1739,6 +1844,38 @@ "smithy.api#sensitive": {} } }, + "com.amazonaws.bedrockagentruntime#FieldForReranking": { + "type": "structure", + "members": { + "fieldName": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The name of a metadata field to include in or exclude from consideration when reranking.

", + "smithy.api#length": { + "min": 1, + "max": 2000 + }, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains information for a metadata field to include in or exclude from consideration when reranking.

" + } + }, + "com.amazonaws.bedrockagentruntime#FieldsForReranking": { + "type": "list", + "member": { + "target": "com.amazonaws.bedrockagentruntime#FieldForReranking" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 100 + }, + "smithy.api#sensitive": {} + } + }, "com.amazonaws.bedrockagentruntime#FileBody": { "type": "blob", "traits": { @@ -3009,6 +3146,20 @@ "smithy.api#sensitive": {} } }, + "com.amazonaws.bedrockagentruntime#GuardrailEvent": { + "type": "structure", + "members": { + "action": { + "target": "com.amazonaws.bedrockagentruntime#GuadrailAction", + "traits": { + "smithy.api#documentation": "

The guardrail action.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

A guardrail event.

" + } + }, "com.amazonaws.bedrockagentruntime#GuardrailIdentifierWithArn": { "type": "string", "traits": { @@ -3530,6 +3681,28 @@ "smithy.api#sensitive": {} } }, + "com.amazonaws.bedrockagentruntime#ImplicitFilterConfiguration": { + "type": "structure", + "members": { + "metadataAttributes": { + "target": "com.amazonaws.bedrockagentruntime#MetadataAttributeSchemaList", + "traits": { + "smithy.api#documentation": "

Metadata that can be used in a filter.

", + "smithy.api#required": {} + } + }, + "modelArn": { + "target": "com.amazonaws.bedrockagentruntime#BedrockModelArn", + "traits": { + "smithy.api#documentation": "

The model that generates the filter.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Settings for implicit filtering, where a model generates a metadata filter based on the prompt.

" + } + }, "com.amazonaws.bedrockagentruntime#InferenceConfig": { "type": "structure", "members": { @@ -4682,6 +4855,18 @@ "traits": { "smithy.api#documentation": "

Specifies the filters to use on the metadata in the knowledge base data sources before returning results. For more information, see Query configurations.

" } + }, + "rerankingConfiguration": { + "target": "com.amazonaws.bedrockagentruntime#VectorSearchRerankingConfiguration", + "traits": { + "smithy.api#documentation": "

Contains configurations for reranking the retrieved results. For more information, see Improve the relevance of query responses with a reranker model.

" + } + }, + "implicitFilterConfiguration": { + "target": "com.amazonaws.bedrockagentruntime#ImplicitFilterConfiguration", + "traits": { + "smithy.api#documentation": "

Settings for implicit filtering.

" + } } }, "traits": { @@ -4839,6 +5024,79 @@ "smithy.api#sensitive": {} } }, + "com.amazonaws.bedrockagentruntime#MetadataAttributeSchema": { + "type": "structure", + "members": { + "key": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The attribute's key.

", + "smithy.api#length": { + "min": 1, + "max": 256 + }, + "smithy.api#pattern": "^[\\s\\S]+$", + "smithy.api#required": {} + } + }, + "type": { + "target": "com.amazonaws.bedrockagentruntime#AttributeType", + "traits": { + "smithy.api#documentation": "

The attribute's type.

", + "smithy.api#required": {} + } + }, + "description": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The attribute's description.

", + "smithy.api#length": { + "min": 1, + "max": 1024 + }, + "smithy.api#pattern": "^[\\s\\S]+$", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Details about a metadata attribute.

", + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.bedrockagentruntime#MetadataAttributeSchemaList": { + "type": "list", + "member": { + "target": "com.amazonaws.bedrockagentruntime#MetadataAttributeSchema" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 25 + } + } + }, + "com.amazonaws.bedrockagentruntime#MetadataConfigurationForReranking": { + "type": "structure", + "members": { + "selectionMode": { + "target": "com.amazonaws.bedrockagentruntime#RerankingMetadataSelectionMode", + "traits": { + "smithy.api#documentation": "

Specifies whether to consider all metadata when reranking, or only the metadata that you select. If you specify SELECTIVE, include the selectiveModeConfiguration field.

", + "smithy.api#required": {} + } + }, + "selectiveModeConfiguration": { + "target": "com.amazonaws.bedrockagentruntime#RerankingMetadataSelectiveModeConfiguration", + "traits": { + "smithy.api#documentation": "

Contains configurations for the metadata fields to include or exclude when considering reranking.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains configurations for the metadata to use in reranking.

" + } + }, "com.amazonaws.bedrockagentruntime#MimeType": { "type": "string" }, @@ -5966,21 +6224,402 @@ } } }, - "com.amazonaws.bedrockagentruntime#ResourceDescription": { - "type": "string", + "com.amazonaws.bedrockagentruntime#Rerank": { + "type": "operation", + "input": { + "target": "com.amazonaws.bedrockagentruntime#RerankRequest" + }, + "output": { + "target": "com.amazonaws.bedrockagentruntime#RerankResponse" + }, + "errors": [ + { + "target": "com.amazonaws.bedrockagentruntime#AccessDeniedException" + }, + { + "target": "com.amazonaws.bedrockagentruntime#BadGatewayException" + }, + { + "target": "com.amazonaws.bedrockagentruntime#ConflictException" + }, + { + "target": "com.amazonaws.bedrockagentruntime#DependencyFailedException" + }, + { + "target": "com.amazonaws.bedrockagentruntime#InternalServerException" + }, + { + "target": "com.amazonaws.bedrockagentruntime#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.bedrockagentruntime#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.bedrockagentruntime#ThrottlingException" + }, + { + "target": "com.amazonaws.bedrockagentruntime#ValidationException" + } + ], "traits": { - "smithy.api#documentation": "/ @documentation(\"Description of the using the resource.\")", - "smithy.api#length": { - "min": 1, - "max": 200 + "smithy.api#documentation": "

Reranks the relevance of sources based on queries. For more information, see Improve the relevance of query responses with a reranker model.

", + "smithy.api#http": { + "code": 200, + "method": "POST", + "uri": "/rerank" }, - "smithy.api#sensitive": {} + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "items": "results" + } } }, - "com.amazonaws.bedrockagentruntime#ResourceName": { - "type": "string", + "com.amazonaws.bedrockagentruntime#RerankDocument": { + "type": "structure", + "members": { + "type": { + "target": "com.amazonaws.bedrockagentruntime#RerankDocumentType", + "traits": { + "smithy.api#documentation": "

The type of document to rerank.

", + "smithy.api#required": {} + } + }, + "textDocument": { + "target": "com.amazonaws.bedrockagentruntime#RerankTextDocument", + "traits": { + "smithy.api#documentation": "

Contains information about a text document to rerank.

" + } + }, + "jsonDocument": { + "target": "smithy.api#Document", + "traits": { + "smithy.api#documentation": "

Contains a JSON document to rerank.

" + } + } + }, "traits": { - "smithy.api#pattern": "^([0-9a-zA-Z][_-]?){1,100}$", + "smithy.api#documentation": "

Contains information about a document to rerank. Choose the type to define and include the field that corresponds to the type.

", + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.bedrockagentruntime#RerankDocumentType": { + "type": "enum", + "members": { + "TEXT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "TEXT" + } + }, + "JSON": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "JSON" + } + } + } + }, + "com.amazonaws.bedrockagentruntime#RerankQueriesList": { + "type": "list", + "member": { + "target": "com.amazonaws.bedrockagentruntime#RerankQuery" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1 + }, + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.bedrockagentruntime#RerankQuery": { + "type": "structure", + "members": { + "type": { + "target": "com.amazonaws.bedrockagentruntime#RerankQueryContentType", + "traits": { + "smithy.api#documentation": "

The type of the query.

", + "smithy.api#required": {} + } + }, + "textQuery": { + "target": "com.amazonaws.bedrockagentruntime#RerankTextDocument", + "traits": { + "smithy.api#documentation": "

Contains information about a text query.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains information about a query to submit to the reranker model.

", + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.bedrockagentruntime#RerankQueryContentType": { + "type": "enum", + "members": { + "TEXT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "TEXT" + } + } + } + }, + "com.amazonaws.bedrockagentruntime#RerankRequest": { + "type": "structure", + "members": { + "queries": { + "target": "com.amazonaws.bedrockagentruntime#RerankQueriesList", + "traits": { + "smithy.api#documentation": "

An array of objects, each of which contains information about a query to submit to the reranker model.

", + "smithy.api#required": {} + } + }, + "sources": { + "target": "com.amazonaws.bedrockagentruntime#RerankSourcesList", + "traits": { + "smithy.api#documentation": "

An array of objects, each of which contains information about the sources to rerank.

", + "smithy.api#required": {} + } + }, + "rerankingConfiguration": { + "target": "com.amazonaws.bedrockagentruntime#RerankingConfiguration", + "traits": { + "smithy.api#documentation": "

Contains configurations for reranking.

", + "smithy.api#required": {} + } + }, + "nextToken": { + "target": "com.amazonaws.bedrockagentruntime#NextToken", + "traits": { + "smithy.api#documentation": "

If the total number of results was greater than could fit in a response, a token is returned in the nextToken field. You can enter that token in this field to return the next batch of results.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.bedrockagentruntime#RerankResource": { + "type": "resource", + "operations": [ + { + "target": "com.amazonaws.bedrockagentruntime#Rerank" + } + ] + }, + "com.amazonaws.bedrockagentruntime#RerankResponse": { + "type": "structure", + "members": { + "results": { + "target": "com.amazonaws.bedrockagentruntime#RerankResultsList", + "traits": { + "smithy.api#documentation": "

An array of objects, each of which contains information about the results of reranking.

", + "smithy.api#required": {} + } + }, + "nextToken": { + "target": "com.amazonaws.bedrockagentruntime#NextToken", + "traits": { + "smithy.api#documentation": "

If the total number of results is greater than can fit in the response, use this token in the nextToken field when making another request to return the next batch of results.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.bedrockagentruntime#RerankResult": { + "type": "structure", + "members": { + "index": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

The ranking of the document. The lower a number, the higher the document is ranked.

", + "smithy.api#range": { + "min": 0, + "max": 1000 + }, + "smithy.api#required": {} + } + }, + "relevanceScore": { + "target": "smithy.api#Float", + "traits": { + "smithy.api#documentation": "

The relevance score of the document.

", + "smithy.api#required": {} + } + }, + "document": { + "target": "com.amazonaws.bedrockagentruntime#RerankDocument", + "traits": { + "smithy.api#documentation": "

Contains information about the document.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains information about a document that was reranked.

" + } + }, + "com.amazonaws.bedrockagentruntime#RerankResultsList": { + "type": "list", + "member": { + "target": "com.amazonaws.bedrockagentruntime#RerankResult" + } + }, + "com.amazonaws.bedrockagentruntime#RerankSource": { + "type": "structure", + "members": { + "type": { + "target": "com.amazonaws.bedrockagentruntime#RerankSourceType", + "traits": { + "smithy.api#documentation": "

The type of the source.

", + "smithy.api#required": {} + } + }, + "inlineDocumentSource": { + "target": "com.amazonaws.bedrockagentruntime#RerankDocument", + "traits": { + "smithy.api#documentation": "

Contains an inline definition of a source for reranking.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains information about a source for reranking.

", + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.bedrockagentruntime#RerankSourceType": { + "type": "enum", + "members": { + "INLINE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INLINE" + } + } + } + }, + "com.amazonaws.bedrockagentruntime#RerankSourcesList": { + "type": "list", + "member": { + "target": "com.amazonaws.bedrockagentruntime#RerankSource" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1000 + }, + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.bedrockagentruntime#RerankTextDocument": { + "type": "structure", + "members": { + "text": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The text of the document.

", + "smithy.api#length": { + "min": 1, + "max": 9000 + } + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains information about a text document to rerank.

", + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.bedrockagentruntime#RerankingConfiguration": { + "type": "structure", + "members": { + "type": { + "target": "com.amazonaws.bedrockagentruntime#RerankingConfigurationType", + "traits": { + "smithy.api#documentation": "

The type of reranker that the configurations apply to.

", + "smithy.api#required": {} + } + }, + "bedrockRerankingConfiguration": { + "target": "com.amazonaws.bedrockagentruntime#BedrockRerankingConfiguration", + "traits": { + "smithy.api#documentation": "

Contains configurations for an Amazon Bedrock reranker.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains configurations for reranking.

" + } + }, + "com.amazonaws.bedrockagentruntime#RerankingConfigurationType": { + "type": "enum", + "members": { + "BEDROCK_RERANKING_MODEL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "BEDROCK_RERANKING_MODEL" + } + } + } + }, + "com.amazonaws.bedrockagentruntime#RerankingMetadataSelectionMode": { + "type": "enum", + "members": { + "SELECTIVE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SELECTIVE" + } + }, + "ALL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ALL" + } + } + } + }, + "com.amazonaws.bedrockagentruntime#RerankingMetadataSelectiveModeConfiguration": { + "type": "union", + "members": { + "fieldsToInclude": { + "target": "com.amazonaws.bedrockagentruntime#FieldsForReranking", + "traits": { + "smithy.api#documentation": "

An array of objects, each of which specifies a metadata field to include in consideration when reranking. The remaining metadata fields are ignored.

" + } + }, + "fieldsToExclude": { + "target": "com.amazonaws.bedrockagentruntime#FieldsForReranking", + "traits": { + "smithy.api#documentation": "

An array of objects, each of which specifies a metadata field to exclude from consideration when reranking.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains configurations for the metadata fields to include or exclude when considering reranking. If you include the fieldsToExclude field, the reranker ignores all the metadata fields that you specify. If you include the fieldsToInclude field, the reranker uses only the metadata fields that you specify and ignores all others. You can include only one of these fields.

" + } + }, + "com.amazonaws.bedrockagentruntime#ResourceDescription": { + "type": "string", + "traits": { + "smithy.api#documentation": "/ @documentation(\"Description of the using the resource.\")", + "smithy.api#length": { + "min": 1, + "max": 200 + }, + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.bedrockagentruntime#ResourceName": { + "type": "string", + "traits": { + "smithy.api#pattern": "^([0-9a-zA-Z][_-]?){1,100}$", "smithy.api#sensitive": {} } }, @@ -6238,6 +6877,20 @@ "smithy.api#sensitive": {} } }, + "com.amazonaws.bedrockagentruntime#RetrievalResultCustomDocumentLocation": { + "type": "structure", + "members": { + "id": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The ID of the document.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains information about the location of a document in a custom data source.

" + } + }, "com.amazonaws.bedrockagentruntime#RetrievalResultLocation": { "type": "structure", "members": { @@ -6277,6 +6930,12 @@ "traits": { "smithy.api#documentation": "

The SharePoint data source location.

" } + }, + "customDocumentLocation": { + "target": "com.amazonaws.bedrockagentruntime#RetrievalResultCustomDocumentLocation", + "traits": { + "smithy.api#documentation": "

Specifies the location of a document in a custom data source.

" + } } }, "traits": { @@ -6316,6 +6975,12 @@ "traits": { "smithy.api#enumValue": "SHAREPOINT" } + }, + "CUSTOM": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CUSTOM" + } } } }, @@ -6562,6 +7227,22 @@ "smithy.api#sensitive": {} } }, + "com.amazonaws.bedrockagentruntime#RetrieveAndGenerateOutputEvent": { + "type": "structure", + "members": { + "text": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

A text response.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

A retrieve and generate output event.

", + "smithy.api#sensitive": {} + } + }, "com.amazonaws.bedrockagentruntime#RetrieveAndGenerateRequest": { "type": "structure", "members": { @@ -6652,6 +7333,198 @@ "smithy.api#documentation": "

Contains configuration about the session with the knowledge base.

\n

This data type is used in the following API operations:

\n " } }, + "com.amazonaws.bedrockagentruntime#RetrieveAndGenerateStream": { + "type": "operation", + "input": { + "target": "com.amazonaws.bedrockagentruntime#RetrieveAndGenerateStreamRequest" + }, + "output": { + "target": "com.amazonaws.bedrockagentruntime#RetrieveAndGenerateStreamResponse" + }, + "errors": [ + { + "target": "com.amazonaws.bedrockagentruntime#AccessDeniedException" + }, + { + "target": "com.amazonaws.bedrockagentruntime#BadGatewayException" + }, + { + "target": "com.amazonaws.bedrockagentruntime#ConflictException" + }, + { + "target": "com.amazonaws.bedrockagentruntime#DependencyFailedException" + }, + { + "target": "com.amazonaws.bedrockagentruntime#InternalServerException" + }, + { + "target": "com.amazonaws.bedrockagentruntime#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.bedrockagentruntime#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.bedrockagentruntime#ThrottlingException" + }, + { + "target": "com.amazonaws.bedrockagentruntime#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Queries a knowledge base and generates responses based on the retrieved results, with output in streaming format.

\n \n

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

\n
", + "smithy.api#http": { + "code": 200, + "method": "POST", + "uri": "/retrieveAndGenerateStream" + } + } + }, + "com.amazonaws.bedrockagentruntime#RetrieveAndGenerateStreamRequest": { + "type": "structure", + "members": { + "sessionId": { + "target": "com.amazonaws.bedrockagentruntime#SessionId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the session. When you first make a RetrieveAndGenerate request, Amazon Bedrock automatically generates this value. You must reuse this value for all subsequent requests in the same conversational session. This value allows Amazon Bedrock to maintain context and knowledge from previous interactions. You can't explicitly set the sessionId yourself.

" + } + }, + "input": { + "target": "com.amazonaws.bedrockagentruntime#RetrieveAndGenerateInput", + "traits": { + "smithy.api#documentation": "

Contains the query to be made to the knowledge base.

", + "smithy.api#required": {} + } + }, + "retrieveAndGenerateConfiguration": { + "target": "com.amazonaws.bedrockagentruntime#RetrieveAndGenerateConfiguration", + "traits": { + "smithy.api#documentation": "

Contains configurations for the knowledge base query and retrieval process. For more information, see Query configurations.

" + } + }, + "sessionConfiguration": { + "target": "com.amazonaws.bedrockagentruntime#RetrieveAndGenerateSessionConfiguration", + "traits": { + "smithy.api#documentation": "

Contains details about the session with the knowledge base.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.bedrockagentruntime#RetrieveAndGenerateStreamResource": { + "type": "resource", + "operations": [ + { + "target": "com.amazonaws.bedrockagentruntime#RetrieveAndGenerateStream" + } + ] + }, + "com.amazonaws.bedrockagentruntime#RetrieveAndGenerateStreamResponse": { + "type": "structure", + "members": { + "stream": { + "target": "com.amazonaws.bedrockagentruntime#RetrieveAndGenerateStreamResponseOutput", + "traits": { + "smithy.api#documentation": "

A stream of events from the model.

", + "smithy.api#httpPayload": {}, + "smithy.api#required": {} + } + }, + "sessionId": { + "target": "com.amazonaws.bedrockagentruntime#SessionId", + "traits": { + "smithy.api#documentation": "

The session ID.

", + "smithy.api#httpHeader": "x-amzn-bedrock-knowledge-base-session-id", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.bedrockagentruntime#RetrieveAndGenerateStreamResponseOutput": { + "type": "union", + "members": { + "output": { + "target": "com.amazonaws.bedrockagentruntime#RetrieveAndGenerateOutputEvent", + "traits": { + "smithy.api#documentation": "

An output event.

" + } + }, + "citation": { + "target": "com.amazonaws.bedrockagentruntime#CitationEvent", + "traits": { + "smithy.api#documentation": "

A citation event.

" + } + }, + "guardrail": { + "target": "com.amazonaws.bedrockagentruntime#GuardrailEvent", + "traits": { + "smithy.api#documentation": "

A guardrail event.

" + } + }, + "internalServerException": { + "target": "com.amazonaws.bedrockagentruntime#InternalServerException", + "traits": { + "smithy.api#documentation": "

An internal server error occurred. Retry your request.

" + } + }, + "validationException": { + "target": "com.amazonaws.bedrockagentruntime#ValidationException", + "traits": { + "smithy.api#documentation": "

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

" + } + }, + "resourceNotFoundException": { + "target": "com.amazonaws.bedrockagentruntime#ResourceNotFoundException", + "traits": { + "smithy.api#documentation": "

The specified resource ARN was not found. For troubleshooting this error, \n see ResourceNotFound in the Amazon Bedrock User Guide.

" + } + }, + "serviceQuotaExceededException": { + "target": "com.amazonaws.bedrockagentruntime#ServiceQuotaExceededException", + "traits": { + "smithy.api#documentation": "

Your request exceeds the service quota for your account. You can view your quotas at Viewing service quotas. You can resubmit your request later.

" + } + }, + "throttlingException": { + "target": "com.amazonaws.bedrockagentruntime#ThrottlingException", + "traits": { + "smithy.api#documentation": "

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

" + } + }, + "accessDeniedException": { + "target": "com.amazonaws.bedrockagentruntime#AccessDeniedException", + "traits": { + "smithy.api#documentation": "

The request is denied because you do not have sufficient permissions to perform the requested action. For troubleshooting this error, \n see AccessDeniedException in the Amazon Bedrock User Guide.

" + } + }, + "conflictException": { + "target": "com.amazonaws.bedrockagentruntime#ConflictException", + "traits": { + "smithy.api#documentation": "

Error occurred because of a conflict while performing an operation.

" + } + }, + "dependencyFailedException": { + "target": "com.amazonaws.bedrockagentruntime#DependencyFailedException", + "traits": { + "smithy.api#documentation": "

The request failed due to a dependency error.

" + } + }, + "badGatewayException": { + "target": "com.amazonaws.bedrockagentruntime#BadGatewayException", + "traits": { + "smithy.api#documentation": "

The request failed due to a bad gateway error.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

A retrieve and generate stream response output.

", + "smithy.api#streaming": {} + } + }, "com.amazonaws.bedrockagentruntime#RetrieveAndGenerateType": { "type": "enum", "members": { @@ -6693,6 +7566,12 @@ "smithy.api#documentation": "

Contains configurations for the knowledge base query and retrieval process. For more information, see Query configurations.

" } }, + "guardrailConfiguration": { + "target": "com.amazonaws.bedrockagentruntime#GuardrailConfiguration", + "traits": { + "smithy.api#documentation": "

Guardrail settings.

" + } + }, "nextToken": { "target": "com.amazonaws.bedrockagentruntime#NextToken", "traits": { @@ -6722,6 +7601,12 @@ "smithy.api#required": {} } }, + "guardrailAction": { + "target": "com.amazonaws.bedrockagentruntime#GuadrailAction", + "traits": { + "smithy.api#documentation": "

Specifies if there is a guardrail intervention in the response.

" + } + }, "nextToken": { "target": "com.amazonaws.bedrockagentruntime#NextToken", "traits": { @@ -7368,6 +8253,90 @@ "smithy.api#httpError": 400 } }, + "com.amazonaws.bedrockagentruntime#VectorSearchBedrockRerankingConfiguration": { + "type": "structure", + "members": { + "modelConfiguration": { + "target": "com.amazonaws.bedrockagentruntime#VectorSearchBedrockRerankingModelConfiguration", + "traits": { + "smithy.api#documentation": "

Contains configurations for the reranker model.

", + "smithy.api#required": {} + } + }, + "numberOfRerankedResults": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

The number of results to return after reranking.

", + "smithy.api#range": { + "min": 1, + "max": 100 + } + } + }, + "metadataConfiguration": { + "target": "com.amazonaws.bedrockagentruntime#MetadataConfigurationForReranking", + "traits": { + "smithy.api#documentation": "

Contains configurations for the metadata to use in reranking.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains configurations for reranking with an Amazon Bedrock reranker model.

" + } + }, + "com.amazonaws.bedrockagentruntime#VectorSearchBedrockRerankingModelConfiguration": { + "type": "structure", + "members": { + "modelArn": { + "target": "com.amazonaws.bedrockagentruntime#BedrockRerankingModelArn", + "traits": { + "smithy.api#documentation": "

The ARN of the reranker model to use.

", + "smithy.api#required": {} + } + }, + "additionalModelRequestFields": { + "target": "com.amazonaws.bedrockagentruntime#AdditionalModelRequestFields", + "traits": { + "smithy.api#documentation": "

A JSON object whose keys are request fields for the model and whose values are values for those fields.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains configurations for an Amazon Bedrock reranker model.

" + } + }, + "com.amazonaws.bedrockagentruntime#VectorSearchRerankingConfiguration": { + "type": "structure", + "members": { + "type": { + "target": "com.amazonaws.bedrockagentruntime#VectorSearchRerankingConfigurationType", + "traits": { + "smithy.api#documentation": "

The type of reranker model.

", + "smithy.api#required": {} + } + }, + "bedrockRerankingConfiguration": { + "target": "com.amazonaws.bedrockagentruntime#VectorSearchBedrockRerankingConfiguration", + "traits": { + "smithy.api#documentation": "

Contains configurations for an Amazon Bedrock reranker model.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains configurations for reranking the retrieved results.

" + } + }, + "com.amazonaws.bedrockagentruntime#VectorSearchRerankingConfigurationType": { + "type": "enum", + "members": { + "BEDROCK_RERANKING_MODEL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "BEDROCK_RERANKING_MODEL" + } + } + } + }, "com.amazonaws.bedrockagentruntime#Verb": { "type": "string", "traits": { diff --git a/codegen/sdk/aws-models/bedrock-agent.json b/codegen/sdk/aws-models/bedrock-agent.json index 0f1ecc15c2a..fb516ba4fc7 100644 --- a/codegen/sdk/aws-models/bedrock-agent.json +++ b/codegen/sdk/aws-models/bedrock-agent.json @@ -1194,6 +1194,9 @@ { "target": "com.amazonaws.bedrockagent#IngestionJobResource" }, + { + "target": "com.amazonaws.bedrockagent#KnowledgeBaseDocumentResource" + }, { "target": "com.amazonaws.bedrockagent#KnowledgeBaseResource" }, @@ -2047,6 +2050,12 @@ "traits": { "smithy.api#documentation": "

The dimensions details for the vector configuration used on the Bedrock embeddings model.

" } + }, + "embeddingDataType": { + "target": "com.amazonaws.bedrockagent#EmbeddingDataType", + "traits": { + "smithy.api#documentation": "

The data type for the vectors when using a model to convert text into vector \n embeddings. The model must support the specified data type for vector embeddings. \n Floating-point (float32) is the default data type, and is supported by most models \n for vector embeddings. See Supported embeddings \n models for information on the available models and their vector data types.

" + } } }, "traits": { @@ -2094,6 +2103,39 @@ "smithy.api#pattern": "^[0-9]{12}$" } }, + "com.amazonaws.bedrockagent#ByteContentBlob": { + "type": "blob", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 5242880 + }, + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.bedrockagent#ByteContentDoc": { + "type": "structure", + "members": { + "mimeType": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The MIME type of the content. For a list of MIME types, see Media Types. The following MIME types are supported:

\n
    \n
  • \n

    text/plain

    \n
  • \n
  • \n

    text/html

    \n
  • \n
  • \n

    text/csv

    \n
  • \n
  • \n

    text/vtt

    \n
  • \n
  • \n

    message/rfc822

    \n
  • \n
  • \n

    application/xhtml+xml

    \n
  • \n
  • \n

    application/pdf

    \n
  • \n
  • \n

    application/msword

    \n
  • \n
  • \n

    application/vnd.ms-word.document.macroenabled.12

    \n
  • \n
  • \n

    application/vnd.ms-word.template.macroenabled.12

    \n
  • \n
  • \n

    application/vnd.ms-excel

    \n
  • \n
  • \n

    application/vnd.ms-excel.addin.macroenabled.12

    \n
  • \n
  • \n

    application/vnd.ms-excel.sheet.macroenabled.12

    \n
  • \n
  • \n

    application/vnd.ms-excel.template.macroenabled.12

    \n
  • \n
  • \n

    application/vnd.ms-excel.sheet.binary.macroenabled.12

    \n
  • \n
  • \n

    application/vnd.ms-spreadsheetml

    \n
  • \n
  • \n

    application/vnd.openxmlformats-officedocument.spreadsheetml.sheet

    \n
  • \n
  • \n

    application/vnd.openxmlformats-officedocument.spreadsheetml.template

    \n
  • \n
  • \n

    application/vnd.openxmlformats-officedocument.wordprocessingml.document

    \n
  • \n
  • \n

    application/vnd.openxmlformats-officedocument.wordprocessingml.template

    \n
  • \n
", + "smithy.api#pattern": "[a-z]{1,20}/.{1,20}", + "smithy.api#required": {} + } + }, + "data": { + "target": "com.amazonaws.bedrockagent#ByteContentBlob", + "traits": { + "smithy.api#documentation": "

The base64-encoded string of the content.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains information about content defined inline in bytes.

" + } + }, "com.amazonaws.bedrockagent#ChatPromptTemplateConfiguration": { "type": "structure", "members": { @@ -2364,6 +2406,23 @@ "target": "com.amazonaws.bedrockagent#ContentBlock" } }, + "com.amazonaws.bedrockagent#ContentDataSourceType": { + "type": "enum", + "members": { + "CUSTOM": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CUSTOM" + } + }, + "S3": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "S3" + } + } + } + }, "com.amazonaws.bedrockagent#ConversationRole": { "type": "enum", "members": { @@ -2835,7 +2894,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates a data source connector for a knowledge base.

\n \n

You can't change the chunkingConfiguration after you create the data source connector.

\n
", + "smithy.api#documentation": "

Connects a knowledge base to a data source. You specify the configuration for the specific data source service in the dataSourceConfiguration field.

\n \n

You can't change the chunkingConfiguration after you create the data source connector.

\n
", "smithy.api#http": { "code": 200, "method": "PUT", @@ -3855,6 +3914,40 @@ } } }, + "com.amazonaws.bedrockagent#CustomContent": { + "type": "structure", + "members": { + "customDocumentIdentifier": { + "target": "com.amazonaws.bedrockagent#CustomDocumentIdentifier", + "traits": { + "smithy.api#documentation": "

A unique identifier for the document.

", + "smithy.api#required": {} + } + }, + "sourceType": { + "target": "com.amazonaws.bedrockagent#CustomSourceType", + "traits": { + "smithy.api#documentation": "

The source of the data to ingest.

", + "smithy.api#required": {} + } + }, + "s3Location": { + "target": "com.amazonaws.bedrockagent#CustomS3Location", + "traits": { + "smithy.api#documentation": "

Contains information about the Amazon S3 location of the file from which to ingest data.

" + } + }, + "inlineContent": { + "target": "com.amazonaws.bedrockagent#InlineContent", + "traits": { + "smithy.api#documentation": "

Contains information about content defined inline to ingest into a knowledge base.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains information about the content to ingest into a knowledge base connected to a custom data source. Choose a sourceType and include the field that corresponds to it.

" + } + }, "com.amazonaws.bedrockagent#CustomControlMethod": { "type": "enum", "members": { @@ -3866,6 +3959,25 @@ } } }, + "com.amazonaws.bedrockagent#CustomDocumentIdentifier": { + "type": "structure", + "members": { + "id": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The identifier of the document to ingest into a custom data source.

", + "smithy.api#length": { + "min": 1, + "max": 2048 + }, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains information about the identifier of the document to ingest into a custom data source.

" + } + }, "com.amazonaws.bedrockagent#CustomOrchestration": { "type": "structure", "members": { @@ -3880,6 +3992,44 @@ "smithy.api#documentation": "

\n Details of custom orchestration.\n

" } }, + "com.amazonaws.bedrockagent#CustomS3Location": { + "type": "structure", + "members": { + "uri": { + "target": "com.amazonaws.bedrockagent#S3ObjectUri", + "traits": { + "smithy.api#documentation": "

The S3 URI of the file containing the content to ingest.

", + "smithy.api#required": {} + } + }, + "bucketOwnerAccountId": { + "target": "com.amazonaws.bedrockagent#BucketOwnerAccountId", + "traits": { + "smithy.api#documentation": "

The identifier of the Amazon Web Services account that owns the S3 bucket containing the content to ingest.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains information about the Amazon S3 location of the file containing the content to ingest into a knowledge base connected to a custom data source.

" + } + }, + "com.amazonaws.bedrockagent#CustomSourceType": { + "type": "enum", + "members": { + "IN_LINE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "IN_LINE" + } + }, + "S3_LOCATION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "S3_LOCATION" + } + } + } + }, "com.amazonaws.bedrockagent#CustomTransformationConfiguration": { "type": "structure", "members": { @@ -3917,6 +4067,16 @@ "smithy.api#documentation": "

Details about a cyclic connection detected in the flow.

" } }, + "com.amazonaws.bedrockagent#Data": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 5242880 + }, + "smithy.api#sensitive": {} + } + }, "com.amazonaws.bedrockagent#DataDeletionPolicy": { "type": "enum", "members": { @@ -4196,6 +4356,12 @@ "traits": { "smithy.api#enumValue": "SHAREPOINT" } + }, + "CUSTOM": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CUSTOM" + } } } }, @@ -4970,6 +5136,99 @@ ] } }, + "com.amazonaws.bedrockagent#DeleteKnowledgeBaseDocuments": { + "type": "operation", + "input": { + "target": "com.amazonaws.bedrockagent#DeleteKnowledgeBaseDocumentsRequest" + }, + "output": { + "target": "com.amazonaws.bedrockagent#DeleteKnowledgeBaseDocumentsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.bedrockagent#AccessDeniedException" + }, + { + "target": "com.amazonaws.bedrockagent#InternalServerException" + }, + { + "target": "com.amazonaws.bedrockagent#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.bedrockagent#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.bedrockagent#ThrottlingException" + }, + { + "target": "com.amazonaws.bedrockagent#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Deletes documents from a data source and syncs the changes to the knowledge base that is connected to it. For more information, see Ingest documents into a knowledge base in real-time in the Amazon Bedrock User Guide.

", + "smithy.api#http": { + "code": 202, + "method": "POST", + "uri": "/knowledgebases/{knowledgeBaseId}/datasources/{dataSourceId}/documents/deleteDocuments" + }, + "smithy.api#idempotent": {}, + "smithy.api#tags": [ + "console" + ] + } + }, + "com.amazonaws.bedrockagent#DeleteKnowledgeBaseDocumentsRequest": { + "type": "structure", + "members": { + "knowledgeBaseId": { + "target": "com.amazonaws.bedrockagent#Id", + "traits": { + "smithy.api#documentation": "

The unique identifier of the knowledge base that is connected to the data source.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "dataSourceId": { + "target": "com.amazonaws.bedrockagent#Id", + "traits": { + "smithy.api#documentation": "

The unique identifier of the data source that contains the documents.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "clientToken": { + "target": "com.amazonaws.bedrockagent#ClientToken", + "traits": { + "smithy.api#documentation": "

A unique, case-sensitive identifier to ensure that the API request completes no more than one time. If this token matches a previous request,\n Amazon Bedrock ignores the request, but does not return an error. For more information, see Ensuring idempotency.

", + "smithy.api#idempotencyToken": {} + } + }, + "documentIdentifiers": { + "target": "com.amazonaws.bedrockagent#DocumentIdentifiers", + "traits": { + "smithy.api#documentation": "

A list of objects, each of which contains information to identify a document to delete.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.bedrockagent#DeleteKnowledgeBaseDocumentsResponse": { + "type": "structure", + "members": { + "documentDetails": { + "target": "com.amazonaws.bedrockagent#KnowledgeBaseDocumentDetails", + "traits": { + "smithy.api#documentation": "

A list of objects, each of which contains information about the documents that were deleted.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.bedrockagent#DeleteKnowledgeBaseRequest": { "type": "structure", "members": { @@ -5191,95 +5450,286 @@ "smithy.api#output": {} } }, - "com.amazonaws.bedrockagent#DraftVersion": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 5, - "max": 5 - }, - "smithy.api#pattern": "^DRAFT$" - } - }, - "com.amazonaws.bedrockagent#DuplicateConditionExpressionFlowValidationDetails": { + "com.amazonaws.bedrockagent#DocumentContent": { "type": "structure", "members": { - "node": { - "target": "com.amazonaws.bedrockagent#FlowNodeName", + "dataSourceType": { + "target": "com.amazonaws.bedrockagent#ContentDataSourceType", "traits": { - "smithy.api#documentation": "

The name of the node containing the duplicate condition expressions.

", + "smithy.api#documentation": "

The type of data source that is connected to the knowledge base to which to ingest this document.

", "smithy.api#required": {} } }, - "expression": { - "target": "com.amazonaws.bedrockagent#FlowConditionExpression", + "custom": { + "target": "com.amazonaws.bedrockagent#CustomContent", "traits": { - "smithy.api#documentation": "

The duplicated condition expression.

", - "smithy.api#required": {} + "smithy.api#documentation": "

Contains information about the content to ingest into a knowledge base connected to a custom data source.

" + } + }, + "s3": { + "target": "com.amazonaws.bedrockagent#S3Content", + "traits": { + "smithy.api#documentation": "

Contains information about the content to ingest into a knowledge base connected to an Amazon S3 data source

" } } }, "traits": { - "smithy.api#documentation": "

Details about duplicate condition expressions found in a condition node.

" + "smithy.api#documentation": "

Contains information about the content of a document. Choose a dataSourceType and include the field that corresponds to it.

" } }, - "com.amazonaws.bedrockagent#DuplicateConnectionsFlowValidationDetails": { + "com.amazonaws.bedrockagent#DocumentIdentifier": { "type": "structure", "members": { - "source": { - "target": "com.amazonaws.bedrockagent#FlowNodeName", + "dataSourceType": { + "target": "com.amazonaws.bedrockagent#ContentDataSourceType", "traits": { - "smithy.api#documentation": "

The name of the source node where the duplicate connection starts.

", + "smithy.api#documentation": "

The type of data source connected to the knowledge base that contains the document.

", "smithy.api#required": {} } }, - "target": { - "target": "com.amazonaws.bedrockagent#FlowNodeName", + "s3": { + "target": "com.amazonaws.bedrockagent#S3Location", "traits": { - "smithy.api#documentation": "

The name of the target node where the duplicate connection ends.

", - "smithy.api#required": {} + "smithy.api#documentation": "

Contains information that identifies the document in an S3 data source.

" } - } - }, - "traits": { - "smithy.api#documentation": "

Details about duplicate connections found between two nodes in the flow.

" - } - }, - "com.amazonaws.bedrockagent#EmbeddingModelConfiguration": { - "type": "structure", - "members": { - "bedrockEmbeddingModelConfiguration": { - "target": "com.amazonaws.bedrockagent#BedrockEmbeddingModelConfiguration", + }, + "custom": { + "target": "com.amazonaws.bedrockagent#CustomDocumentIdentifier", "traits": { - "smithy.api#documentation": "

The vector configuration details on the Bedrock embeddings model.

" + "smithy.api#documentation": "

Contains information that identifies the document in a custom data source.

" } } }, "traits": { - "smithy.api#documentation": "

The configuration details for the embeddings model.

" + "smithy.api#documentation": "

Contains information that identifies the document.

" } }, - "com.amazonaws.bedrockagent#EnabledMemoryTypes": { + "com.amazonaws.bedrockagent#DocumentIdentifiers": { "type": "list", "member": { - "target": "com.amazonaws.bedrockagent#MemoryType" + "target": "com.amazonaws.bedrockagent#DocumentIdentifier" }, "traits": { "smithy.api#length": { "min": 1, - "max": 1 - } - } - }, - "com.amazonaws.bedrockagent#ErrorMessage": { - "type": "string", - "traits": { - "smithy.api#length": { - "max": 2048 + "max": 10 } } }, - "com.amazonaws.bedrockagent#FailureReason": { + "com.amazonaws.bedrockagent#DocumentMetadata": { + "type": "structure", + "members": { + "type": { + "target": "com.amazonaws.bedrockagent#MetadataSourceType", + "traits": { + "smithy.api#documentation": "

The type of the source source from which to add metadata.

", + "smithy.api#required": {} + } + }, + "inlineAttributes": { + "target": "com.amazonaws.bedrockagent#MetadataAttributes", + "traits": { + "smithy.api#documentation": "

An array of objects, each of which defines a metadata attribute to associate with the content to ingest. You define the attributes inline.

", + "smithy.api#length": { + "min": 1, + "max": 50 + } + } + }, + "s3Location": { + "target": "com.amazonaws.bedrockagent#CustomS3Location", + "traits": { + "smithy.api#documentation": "

The Amazon S3 location of the file containing metadata to associate with the content to ingest.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains information about the metadata associate with the content to ingest into a knowledge base. Choose a type and include the field that corresponds to it.

" + } + }, + "com.amazonaws.bedrockagent#DocumentStatus": { + "type": "enum", + "members": { + "INDEXED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INDEXED" + } + }, + "PARTIALLY_INDEXED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PARTIALLY_INDEXED" + } + }, + "PENDING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PENDING" + } + }, + "FAILED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FAILED" + } + }, + "METADATA_PARTIALLY_INDEXED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "METADATA_PARTIALLY_INDEXED" + } + }, + "METADATA_UPDATE_FAILED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "METADATA_UPDATE_FAILED" + } + }, + "IGNORED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "IGNORED" + } + }, + "NOT_FOUND": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "NOT_FOUND" + } + }, + "STARTING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "STARTING" + } + }, + "IN_PROGRESS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "IN_PROGRESS" + } + }, + "DELETING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DELETING" + } + }, + "DELETE_IN_PROGRESS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DELETE_IN_PROGRESS" + } + } + } + }, + "com.amazonaws.bedrockagent#DraftVersion": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 5, + "max": 5 + }, + "smithy.api#pattern": "^DRAFT$" + } + }, + "com.amazonaws.bedrockagent#DuplicateConditionExpressionFlowValidationDetails": { + "type": "structure", + "members": { + "node": { + "target": "com.amazonaws.bedrockagent#FlowNodeName", + "traits": { + "smithy.api#documentation": "

The name of the node containing the duplicate condition expressions.

", + "smithy.api#required": {} + } + }, + "expression": { + "target": "com.amazonaws.bedrockagent#FlowConditionExpression", + "traits": { + "smithy.api#documentation": "

The duplicated condition expression.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Details about duplicate condition expressions found in a condition node.

" + } + }, + "com.amazonaws.bedrockagent#DuplicateConnectionsFlowValidationDetails": { + "type": "structure", + "members": { + "source": { + "target": "com.amazonaws.bedrockagent#FlowNodeName", + "traits": { + "smithy.api#documentation": "

The name of the source node where the duplicate connection starts.

", + "smithy.api#required": {} + } + }, + "target": { + "target": "com.amazonaws.bedrockagent#FlowNodeName", + "traits": { + "smithy.api#documentation": "

The name of the target node where the duplicate connection ends.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Details about duplicate connections found between two nodes in the flow.

" + } + }, + "com.amazonaws.bedrockagent#EmbeddingDataType": { + "type": "enum", + "members": { + "FLOAT32": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FLOAT32" + } + }, + "BINARY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "BINARY" + } + } + } + }, + "com.amazonaws.bedrockagent#EmbeddingModelConfiguration": { + "type": "structure", + "members": { + "bedrockEmbeddingModelConfiguration": { + "target": "com.amazonaws.bedrockagent#BedrockEmbeddingModelConfiguration", + "traits": { + "smithy.api#documentation": "

The vector configuration details on the Bedrock embeddings model.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The configuration details for the embeddings model.

" + } + }, + "com.amazonaws.bedrockagent#EnabledMemoryTypes": { + "type": "list", + "member": { + "target": "com.amazonaws.bedrockagent#MemoryType" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1 + } + } + }, + "com.amazonaws.bedrockagent#ErrorMessage": { + "type": "string", + "traits": { + "smithy.api#length": { + "max": 2048 + } + } + }, + "com.amazonaws.bedrockagent#FailureReason": { "type": "string", "traits": { "smithy.api#length": { @@ -7770,6 +8220,92 @@ ] } }, + "com.amazonaws.bedrockagent#GetKnowledgeBaseDocuments": { + "type": "operation", + "input": { + "target": "com.amazonaws.bedrockagent#GetKnowledgeBaseDocumentsRequest" + }, + "output": { + "target": "com.amazonaws.bedrockagent#GetKnowledgeBaseDocumentsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.bedrockagent#AccessDeniedException" + }, + { + "target": "com.amazonaws.bedrockagent#InternalServerException" + }, + { + "target": "com.amazonaws.bedrockagent#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.bedrockagent#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.bedrockagent#ThrottlingException" + }, + { + "target": "com.amazonaws.bedrockagent#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Retrieves specific documents from a data source that is connected to a knowledge base. For more information, see Ingest documents into a knowledge base in real-time in the Amazon Bedrock User Guide.

", + "smithy.api#http": { + "code": 200, + "method": "POST", + "uri": "/knowledgebases/{knowledgeBaseId}/datasources/{dataSourceId}/documents/getDocuments" + }, + "smithy.api#readonly": {}, + "smithy.api#tags": [ + "console" + ] + } + }, + "com.amazonaws.bedrockagent#GetKnowledgeBaseDocumentsRequest": { + "type": "structure", + "members": { + "knowledgeBaseId": { + "target": "com.amazonaws.bedrockagent#Id", + "traits": { + "smithy.api#documentation": "

The unique identifier of the knowledge base that is connected to the data source.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "dataSourceId": { + "target": "com.amazonaws.bedrockagent#Id", + "traits": { + "smithy.api#documentation": "

The unique identifier of the data source that contains the documents.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "documentIdentifiers": { + "target": "com.amazonaws.bedrockagent#DocumentIdentifiers", + "traits": { + "smithy.api#documentation": "

A list of objects, each of which contains information to identify a document for which to retrieve information.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.bedrockagent#GetKnowledgeBaseDocumentsResponse": { + "type": "structure", + "members": { + "documentDetails": { + "target": "com.amazonaws.bedrockagent#KnowledgeBaseDocumentDetails", + "traits": { + "smithy.api#documentation": "

A list of objects, each of which contains information about the documents that were retrieved.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.bedrockagent#GetKnowledgeBaseRequest": { "type": "structure", "members": { @@ -8092,6 +8628,99 @@ "smithy.api#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.

" } }, + "com.amazonaws.bedrockagent#IngestKnowledgeBaseDocuments": { + "type": "operation", + "input": { + "target": "com.amazonaws.bedrockagent#IngestKnowledgeBaseDocumentsRequest" + }, + "output": { + "target": "com.amazonaws.bedrockagent#IngestKnowledgeBaseDocumentsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.bedrockagent#AccessDeniedException" + }, + { + "target": "com.amazonaws.bedrockagent#InternalServerException" + }, + { + "target": "com.amazonaws.bedrockagent#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.bedrockagent#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.bedrockagent#ThrottlingException" + }, + { + "target": "com.amazonaws.bedrockagent#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Ingests documents directly into the knowledge base that is connected to the data source. The dataSourceType specified in the content for each document must match the type of the data source that you specify in the header. For more information, see Ingest documents into a knowledge base in real-time in the Amazon Bedrock User Guide.

", + "smithy.api#http": { + "code": 202, + "method": "PUT", + "uri": "/knowledgebases/{knowledgeBaseId}/datasources/{dataSourceId}/documents" + }, + "smithy.api#idempotent": {}, + "smithy.api#tags": [ + "console" + ] + } + }, + "com.amazonaws.bedrockagent#IngestKnowledgeBaseDocumentsRequest": { + "type": "structure", + "members": { + "knowledgeBaseId": { + "target": "com.amazonaws.bedrockagent#Id", + "traits": { + "smithy.api#documentation": "

The unique identifier of the knowledge base to ingest the documents into.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "dataSourceId": { + "target": "com.amazonaws.bedrockagent#Id", + "traits": { + "smithy.api#documentation": "

The unique identifier of the data source connected to the knowledge base that you're adding documents to.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "clientToken": { + "target": "com.amazonaws.bedrockagent#ClientToken", + "traits": { + "smithy.api#documentation": "

A unique, case-sensitive identifier to ensure that the API request completes no more than one time. If this token matches a previous request,\n Amazon Bedrock ignores the request, but does not return an error. For more information, see Ensuring idempotency.

", + "smithy.api#idempotencyToken": {} + } + }, + "documents": { + "target": "com.amazonaws.bedrockagent#KnowledgeBaseDocuments", + "traits": { + "smithy.api#documentation": "

A list of objects, each of which contains information about the documents to add.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.bedrockagent#IngestKnowledgeBaseDocumentsResponse": { + "type": "structure", + "members": { + "documentDetails": { + "target": "com.amazonaws.bedrockagent#KnowledgeBaseDocumentDetails", + "traits": { + "smithy.api#documentation": "

A list of objects, each of which contains information about the documents that were ingested.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.bedrockagent#IngestionJob": { "type": "structure", "members": { @@ -8467,6 +9096,50 @@ "smithy.api#documentation": "

Contains details about a data ingestion job.

" } }, + "com.amazonaws.bedrockagent#InlineContent": { + "type": "structure", + "members": { + "type": { + "target": "com.amazonaws.bedrockagent#InlineContentType", + "traits": { + "smithy.api#documentation": "

The type of inline content to define.

", + "smithy.api#required": {} + } + }, + "byteContent": { + "target": "com.amazonaws.bedrockagent#ByteContentDoc", + "traits": { + "smithy.api#documentation": "

Contains information about content defined inline in bytes.

" + } + }, + "textContent": { + "target": "com.amazonaws.bedrockagent#TextContentDoc", + "traits": { + "smithy.api#documentation": "

Contains information about content defined inline in text.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains information about content defined inline to ingest into a data source. Choose a type and include the field that corresponds to it.

" + } + }, + "com.amazonaws.bedrockagent#InlineContentType": { + "type": "enum", + "members": { + "BYTE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "BYTE" + } + }, + "TEXT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "TEXT" + } + } + } + }, "com.amazonaws.bedrockagent#InputFlowNodeConfiguration": { "type": "structure", "members": {}, @@ -8519,6 +9192,16 @@ "smithy.api#documentation": "

Contains configurations for an iterator node in a flow. Takes an input that is an array and iteratively sends each item of the array as an output to the following node. The size of the array is also returned in the output.

\n

The output flow node at the end of the flow iteration will return a response for each member of the array. To return only one response, you can include a collector node downstream from the iterator node.

" } }, + "com.amazonaws.bedrockagent#Key": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 200 + }, + "smithy.api#sensitive": {} + } + }, "com.amazonaws.bedrockagent#KmsKeyArn": { "type": "string", "traits": { @@ -8627,19 +9310,123 @@ "type": { "target": "com.amazonaws.bedrockagent#KnowledgeBaseType", "traits": { - "smithy.api#documentation": "

The type of data that the data source is converted into for the knowledge base.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The type of data that the data source is converted into for the knowledge base.

", + "smithy.api#required": {} + } + }, + "vectorKnowledgeBaseConfiguration": { + "target": "com.amazonaws.bedrockagent#VectorKnowledgeBaseConfiguration", + "traits": { + "smithy.api#documentation": "

Contains details about the model that's used to convert the data source into vector embeddings.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains details about the vector embeddings configuration of the knowledge base.

" + } + }, + "com.amazonaws.bedrockagent#KnowledgeBaseDocument": { + "type": "structure", + "members": { + "metadata": { + "target": "com.amazonaws.bedrockagent#DocumentMetadata", + "traits": { + "smithy.api#documentation": "

Contains the metadata to associate with the document.

" + } + }, + "content": { + "target": "com.amazonaws.bedrockagent#DocumentContent", + "traits": { + "smithy.api#documentation": "

Contains the content of the document.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains information about a document to ingest into a knowledge base and metadata to associate with it.

" + } + }, + "com.amazonaws.bedrockagent#KnowledgeBaseDocumentDetail": { + "type": "structure", + "members": { + "knowledgeBaseId": { + "target": "com.amazonaws.bedrockagent#Id", + "traits": { + "smithy.api#documentation": "

The identifier of the knowledge base that the document was ingested into or deleted from.

", + "smithy.api#required": {} + } + }, + "dataSourceId": { + "target": "com.amazonaws.bedrockagent#Id", + "traits": { + "smithy.api#documentation": "

The identifier of the data source connected to the knowledge base that the document was ingested into or deleted from.

", + "smithy.api#required": {} + } + }, + "status": { + "target": "com.amazonaws.bedrockagent#DocumentStatus", + "traits": { + "smithy.api#documentation": "

The ingestion status of the document. The following statuses are possible:

\n
    \n
  • \n

    STARTED – You submitted the ingestion job containing the document.

    \n
  • \n
  • \n

    PENDING – The document is waiting to be ingested.

    \n
  • \n
  • \n

    IN_PROGRESS – The document is being ingested.

    \n
  • \n
  • \n

    INDEXED – The document was successfully indexed.

    \n
  • \n
  • \n

    PARTIALLY_INDEXED – The document was partially indexed.

    \n
  • \n
  • \n

    METADATA_PARTIALLY_INDEXED – You submitted metadata for an existing document and it was partially indexed.

    \n
  • \n
  • \n

    METADATA_UPDATE_FAILED – You submitted a metadata update for an existing document but it failed.

    \n
  • \n
  • \n

    FAILED – The document failed to be ingested.

    \n
  • \n
  • \n

    NOT_FOUND – The document wasn't found.

    \n
  • \n
  • \n

    IGNORED – The document was ignored during ingestion.

    \n
  • \n
  • \n

    DELETING – You submitted the delete job containing the document.

    \n
  • \n
  • \n

    DELETE_IN_PROGRESS – The document is being deleted.

    \n
  • \n
", + "smithy.api#required": {} + } + }, + "identifier": { + "target": "com.amazonaws.bedrockagent#DocumentIdentifier", + "traits": { + "smithy.api#documentation": "

Contains information that identifies the document.

", + "smithy.api#required": {} + } + }, + "statusReason": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The reason for the status. Appears alongside the status IGNORED.

" } }, - "vectorKnowledgeBaseConfiguration": { - "target": "com.amazonaws.bedrockagent#VectorKnowledgeBaseConfiguration", + "updatedAt": { + "target": "com.amazonaws.bedrockagent#DateTimestamp", "traits": { - "smithy.api#documentation": "

Contains details about the model that's used to convert the data source into vector embeddings.

" + "smithy.api#documentation": "

The date and time at which the document was last updated.

" } } }, "traits": { - "smithy.api#documentation": "

Contains details about the vector embeddings configuration of the knowledge base.

" + "smithy.api#documentation": "

Contains the details for a document that was ingested or deleted.

" + } + }, + "com.amazonaws.bedrockagent#KnowledgeBaseDocumentDetails": { + "type": "list", + "member": { + "target": "com.amazonaws.bedrockagent#KnowledgeBaseDocumentDetail" + } + }, + "com.amazonaws.bedrockagent#KnowledgeBaseDocumentResource": { + "type": "resource", + "operations": [ + { + "target": "com.amazonaws.bedrockagent#DeleteKnowledgeBaseDocuments" + }, + { + "target": "com.amazonaws.bedrockagent#GetKnowledgeBaseDocuments" + }, + { + "target": "com.amazonaws.bedrockagent#IngestKnowledgeBaseDocuments" + }, + { + "target": "com.amazonaws.bedrockagent#ListKnowledgeBaseDocuments" + } + ] + }, + "com.amazonaws.bedrockagent#KnowledgeBaseDocuments": { + "type": "list", + "member": { + "target": "com.amazonaws.bedrockagent#KnowledgeBaseDocument" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 10 + } } }, "com.amazonaws.bedrockagent#KnowledgeBaseFlowNodeConfiguration": { @@ -9898,6 +10685,110 @@ "smithy.api#output": {} } }, + "com.amazonaws.bedrockagent#ListKnowledgeBaseDocuments": { + "type": "operation", + "input": { + "target": "com.amazonaws.bedrockagent#ListKnowledgeBaseDocumentsRequest" + }, + "output": { + "target": "com.amazonaws.bedrockagent#ListKnowledgeBaseDocumentsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.bedrockagent#AccessDeniedException" + }, + { + "target": "com.amazonaws.bedrockagent#InternalServerException" + }, + { + "target": "com.amazonaws.bedrockagent#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.bedrockagent#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.bedrockagent#ThrottlingException" + }, + { + "target": "com.amazonaws.bedrockagent#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Retrieves all the documents contained in a data source that is connected to a knowledge base. For more information, see Ingest documents into a knowledge base in real-time in the Amazon Bedrock User Guide.

", + "smithy.api#http": { + "code": 200, + "method": "POST", + "uri": "/knowledgebases/{knowledgeBaseId}/datasources/{dataSourceId}/documents" + }, + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults", + "items": "documentDetails" + }, + "smithy.api#readonly": {}, + "smithy.api#tags": [ + "console" + ] + } + }, + "com.amazonaws.bedrockagent#ListKnowledgeBaseDocumentsRequest": { + "type": "structure", + "members": { + "knowledgeBaseId": { + "target": "com.amazonaws.bedrockagent#Id", + "traits": { + "smithy.api#documentation": "

The unique identifier of the knowledge base that is connected to the data source.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "dataSourceId": { + "target": "com.amazonaws.bedrockagent#Id", + "traits": { + "smithy.api#documentation": "

The unique identifier of the data source that contains the documents.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "maxResults": { + "target": "com.amazonaws.bedrockagent#MaxResults", + "traits": { + "smithy.api#documentation": "

The maximum number of results to return in the response. If the total number of results is greater than this value, use the token returned in the response in the nextToken field when making another request to return the next batch of results.

" + } + }, + "nextToken": { + "target": "com.amazonaws.bedrockagent#NextToken", + "traits": { + "smithy.api#documentation": "

If the total number of results is greater than the maxResults value provided in the request, enter the token returned in the nextToken field in the response in this field to return the next batch of results.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.bedrockagent#ListKnowledgeBaseDocumentsResponse": { + "type": "structure", + "members": { + "documentDetails": { + "target": "com.amazonaws.bedrockagent#KnowledgeBaseDocumentDetails", + "traits": { + "smithy.api#documentation": "

A list of objects, each of which contains information about the documents that were retrieved.

", + "smithy.api#required": {} + } + }, + "nextToken": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

If the total number of results is greater than the maxResults value provided in the request, use this token when making another request in the nextToken field to return the next batch of results.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.bedrockagent#ListKnowledgeBases": { "type": "operation", "input": { @@ -10276,6 +11167,123 @@ "target": "com.amazonaws.bedrockagent#Message" } }, + "com.amazonaws.bedrockagent#MetadataAttribute": { + "type": "structure", + "members": { + "key": { + "target": "com.amazonaws.bedrockagent#Key", + "traits": { + "smithy.api#documentation": "

The key of the metadata attribute.

", + "smithy.api#required": {} + } + }, + "value": { + "target": "com.amazonaws.bedrockagent#MetadataAttributeValue", + "traits": { + "smithy.api#documentation": "

Contains the value of the metadata attribute.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains information about a metadata attribute.

" + } + }, + "com.amazonaws.bedrockagent#MetadataAttributeValue": { + "type": "structure", + "members": { + "type": { + "target": "com.amazonaws.bedrockagent#MetadataValueType", + "traits": { + "smithy.api#documentation": "

The type of the metadata attribute.

", + "smithy.api#required": {} + } + }, + "numberValue": { + "target": "com.amazonaws.bedrockagent#NumberValue", + "traits": { + "smithy.api#documentation": "

The value of the numeric metadata attribute.

" + } + }, + "booleanValue": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "

The value of the Boolean metadata attribute.

" + } + }, + "stringValue": { + "target": "com.amazonaws.bedrockagent#StringValue", + "traits": { + "smithy.api#documentation": "

The value of the string metadata attribute.

" + } + }, + "stringListValue": { + "target": "com.amazonaws.bedrockagent#StringListValue", + "traits": { + "smithy.api#documentation": "

An array of strings that define the value of the metadata attribute.

", + "smithy.api#length": { + "min": 1, + "max": 10 + } + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains the value of the metadata attribute. Choose a type and include the field that corresponds to it.

" + } + }, + "com.amazonaws.bedrockagent#MetadataAttributes": { + "type": "list", + "member": { + "target": "com.amazonaws.bedrockagent#MetadataAttribute" + } + }, + "com.amazonaws.bedrockagent#MetadataSourceType": { + "type": "enum", + "members": { + "IN_LINE_ATTRIBUTE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "IN_LINE_ATTRIBUTE" + } + }, + "S3_LOCATION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "S3_LOCATION" + } + } + } + }, + "com.amazonaws.bedrockagent#MetadataValueType": { + "type": "enum", + "members": { + "BOOLEAN": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "BOOLEAN" + } + }, + "NUMBER": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "NUMBER" + } + }, + "STRING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "STRING" + } + }, + "STRING_LIST": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "STRING_LIST" + } + } + } + }, "com.amazonaws.bedrockagent#Microsoft365TenantId": { "type": "string", "traits": { @@ -10640,6 +11648,12 @@ } } }, + "com.amazonaws.bedrockagent#NumberValue": { + "type": "double", + "traits": { + "smithy.api#sensitive": {} + } + }, "com.amazonaws.bedrockagent#NumericalVersion": { "type": "string", "traits": { @@ -12139,6 +13153,21 @@ "smithy.api#pattern": "^s3://.{1,128}$" } }, + "com.amazonaws.bedrockagent#S3Content": { + "type": "structure", + "members": { + "s3Location": { + "target": "com.amazonaws.bedrockagent#S3Location", + "traits": { + "smithy.api#documentation": "

The S3 location of the file containing the content to ingest.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains information about the content to ingest into a knowledge base connected to an Amazon S3 data source.

" + } + }, "com.amazonaws.bedrockagent#S3DataSourceConfiguration": { "type": "structure", "members": { @@ -12211,6 +13240,16 @@ "smithy.api#pattern": "^[\\.\\-\\!\\*\\_\\'\\(\\)a-zA-Z0-9][\\.\\-\\!\\*\\_\\'\\(\\)\\/a-zA-Z0-9]*$" } }, + "com.amazonaws.bedrockagent#S3ObjectUri": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1024 + }, + "smithy.api#pattern": "^s3://[a-z0-9][a-z0-9.-]{1,61}[a-z0-9]/.{1,1024}$" + } + }, "com.amazonaws.bedrockagent#S3Prefix": { "type": "string", "traits": { @@ -12881,6 +13920,22 @@ "smithy.api#documentation": "

Contains configurations for the service to use for storing the input into the node.

" } }, + "com.amazonaws.bedrockagent#StringListValue": { + "type": "list", + "member": { + "target": "com.amazonaws.bedrockagent#StringValue" + } + }, + "com.amazonaws.bedrockagent#StringValue": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 2048 + }, + "smithy.api#sensitive": {} + } + }, "com.amazonaws.bedrockagent#SystemContentBlock": { "type": "union", "members": { @@ -13043,6 +14098,21 @@ } } }, + "com.amazonaws.bedrockagent#TextContentDoc": { + "type": "structure", + "members": { + "data": { + "target": "com.amazonaws.bedrockagent#Data", + "traits": { + "smithy.api#documentation": "

The text of the content.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains information about content defined inline in text.

" + } + }, "com.amazonaws.bedrockagent#TextPrompt": { "type": "string", "traits": { diff --git a/codegen/sdk/aws-models/bedrock-runtime.json b/codegen/sdk/aws-models/bedrock-runtime.json index 7d83f2f0884..cc4f8c47caa 100644 --- a/codegen/sdk/aws-models/bedrock-runtime.json +++ b/codegen/sdk/aws-models/bedrock-runtime.json @@ -9,7 +9,7 @@ } }, "traits": { - "smithy.api#documentation": "

The request is denied because of missing access permissions.

", + "smithy.api#documentation": "

The request is denied because you do not have sufficient permissions to perform the requested action. For troubleshooting this error, \n see AccessDeniedException in the Amazon Bedrock User Guide

", "smithy.api#error": "client", "smithy.api#httpError": 403 } @@ -1068,7 +1068,7 @@ } ], "traits": { - "smithy.api#documentation": "

Sends messages to the specified Amazon Bedrock model. Converse provides\n a consistent interface that works with all models that\n support messages. This allows you to write code once and use it with different models.\n If a model has unique inference parameters, you can also pass those unique parameters\n to the model.

\n

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

\n

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.

\n

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.

\n

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

\n

For example code, see Converse API examples in the Amazon Bedrock User Guide.\n

\n

This operation requires permission for the bedrock:InvokeModel action.

", + "smithy.api#documentation": "

Sends messages to the specified Amazon Bedrock model. Converse provides\n a consistent interface that works with all models that\n support messages. This allows you to write code once and use it with different models.\n If a model has unique inference parameters, you can also pass those unique parameters\n to the model.

\n

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

\n

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.

\n

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.

\n

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

\n

For example code, see Converse API examples in the Amazon Bedrock User Guide.\n

\n

This operation requires permission for the bedrock:InvokeModel action.

\n \n

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

\n
\n

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

", "smithy.api#http": { "code": 200, "method": "POST", @@ -1111,7 +1111,7 @@ "modelId": { "target": "com.amazonaws.bedrockruntime#ConversationalModelId", "traits": { - "smithy.api#documentation": "

Specifies the model or throughput with which to run inference, or the prompt resource to use in inference. The value depends on the resource that you use:

\n
    \n
  • \n

    If you use a base model, specify the model ID or its ARN. For a list of model IDs for base models, see Amazon Bedrock base model IDs (on-demand throughput) in the Amazon Bedrock User Guide.

    \n
  • \n
  • \n

    If you use an inference profile, specify the inference profile ID or its ARN. For a list of inference profile IDs, see Supported Regions and models for cross-region inference in the Amazon Bedrock User Guide.

    \n
  • \n
  • \n

    If you use a provisioned model, specify the ARN of the Provisioned Throughput. For more information, see Run inference using a Provisioned Throughput in the Amazon Bedrock User Guide.

    \n
  • \n
  • \n

    If you use a custom model, first purchase Provisioned Throughput for it. Then specify the ARN of the resulting provisioned model. For more information, see Use a custom model in Amazon Bedrock in the Amazon Bedrock User Guide.

    \n
  • \n
  • \n

    To include a prompt that was defined in Prompt management, specify the ARN of the prompt version to use.

    \n
  • \n
\n

The Converse API doesn't support imported models.

", + "smithy.api#documentation": "

Specifies the model or throughput with which to run inference, or the prompt resource to use in inference. The value depends on the resource that you use:

\n \n

The Converse API doesn't support imported models.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -1161,11 +1161,17 @@ "additionalModelResponseFieldPaths": { "target": "com.amazonaws.bedrockruntime#AdditionalModelResponseFieldPaths", "traits": { - "smithy.api#documentation": "

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

\n

\n [\n \"/stop_sequence\"\n ]\n

\n

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

\n

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

", + "smithy.api#documentation": "

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

\n

\n [\n \"/stop_sequence\"\n ]\n

\n

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

\n

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

", "smithy.api#length": { "max": 10 } } + }, + "performanceConfig": { + "target": "com.amazonaws.bedrockruntime#PerformanceConfiguration", + "traits": { + "smithy.api#documentation": "

Model performance settings for the request.

" + } } }, "traits": { @@ -1214,6 +1220,12 @@ "traits": { "smithy.api#documentation": "

A trace object that contains information about the Guardrail behavior.

" } + }, + "performanceConfig": { + "target": "com.amazonaws.bedrockruntime#PerformanceConfiguration", + "traits": { + "smithy.api#documentation": "

Model performance settings for the request.

" + } } }, "traits": { @@ -1258,7 +1270,7 @@ } ], "traits": { - "smithy.api#documentation": "

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

\n

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

\n \n

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

\n
\n

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

\n

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.

\n

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.

\n

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

\n

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

\n

This operation requires permission for the bedrock:InvokeModelWithResponseStream action.

", + "smithy.api#documentation": "

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

\n

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

\n \n

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

\n
\n

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

\n

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.

\n

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.

\n

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

\n

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

\n

This operation requires permission for the bedrock:InvokeModelWithResponseStream action.

\n \n

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

\n
\n

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

", "smithy.api#http": { "code": 200, "method": "POST", @@ -1288,6 +1300,12 @@ "traits": { "smithy.api#documentation": "

The trace object in the response from ConverseStream that contains information about the guardrail behavior.

" } + }, + "performanceConfig": { + "target": "com.amazonaws.bedrockruntime#PerformanceConfiguration", + "traits": { + "smithy.api#documentation": "

Model performance configuration metadata for the conversation stream event.

" + } } }, "traits": { @@ -1375,7 +1393,7 @@ "serviceUnavailableException": { "target": "com.amazonaws.bedrockruntime#ServiceUnavailableException", "traits": { - "smithy.api#documentation": "

The service isn't currently available. Try again later.

" + "smithy.api#documentation": "

The service isn't currently available. For troubleshooting this error, \n see ServiceUnavailable in the Amazon Bedrock User Guide

" } } }, @@ -1390,7 +1408,7 @@ "modelId": { "target": "com.amazonaws.bedrockruntime#ConversationalModelId", "traits": { - "smithy.api#documentation": "

Specifies the model or throughput with which to run inference, or the prompt resource to use in inference. The value depends on the resource that you use:

\n
    \n
  • \n

    If you use a base model, specify the model ID or its ARN. For a list of model IDs for base models, see Amazon Bedrock base model IDs (on-demand throughput) in the Amazon Bedrock User Guide.

    \n
  • \n
  • \n

    If you use an inference profile, specify the inference profile ID or its ARN. For a list of inference profile IDs, see Supported Regions and models for cross-region inference in the Amazon Bedrock User Guide.

    \n
  • \n
  • \n

    If you use a provisioned model, specify the ARN of the Provisioned Throughput. For more information, see Run inference using a Provisioned Throughput in the Amazon Bedrock User Guide.

    \n
  • \n
  • \n

    If you use a custom model, first purchase Provisioned Throughput for it. Then specify the ARN of the resulting provisioned model. For more information, see Use a custom model in Amazon Bedrock in the Amazon Bedrock User Guide.

    \n
  • \n
  • \n

    To include a prompt that was defined in Prompt management, specify the ARN of the prompt version to use.

    \n
  • \n
\n

The Converse API doesn't support imported models.

", + "smithy.api#documentation": "

Specifies the model or throughput with which to run inference, or the prompt resource to use in inference. The value depends on the resource that you use:

\n \n

The Converse API doesn't support imported models.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -1440,11 +1458,17 @@ "additionalModelResponseFieldPaths": { "target": "com.amazonaws.bedrockruntime#AdditionalModelResponseFieldPaths", "traits": { - "smithy.api#documentation": "

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

\n

\n [\n \"/stop_sequence\"\n ]\n

\n

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

\n

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

", + "smithy.api#documentation": "

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

\n

\n [\n \"/stop_sequence\"\n ]\n

\n

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

\n

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

", "smithy.api#length": { "max": 10 } } + }, + "performanceConfig": { + "target": "com.amazonaws.bedrockruntime#PerformanceConfiguration", + "traits": { + "smithy.api#documentation": "

Model performance settings for the request.

" + } } }, "traits": { @@ -3027,7 +3051,7 @@ } }, "traits": { - "smithy.api#documentation": "

An internal server error occurred. Retry your request.

", + "smithy.api#documentation": "

An internal server error occurred. For troubleshooting this error, \n see InternalFailure in the Amazon Bedrock User Guide

", "smithy.api#error": "server", "smithy.api#httpError": 500 } @@ -3073,7 +3097,7 @@ } ], "traits": { - "smithy.api#documentation": "

Invokes the specified Amazon Bedrock model to run inference using the prompt and inference parameters provided in the request body. \n You use model inference to generate text, images, and embeddings.

\n

For example code, see Invoke model code examples in the Amazon Bedrock User Guide.\n

\n

This operation requires permission for the bedrock:InvokeModel action.

", + "smithy.api#documentation": "

Invokes the specified Amazon Bedrock model to run inference using the prompt and inference parameters provided in the request body. \n You use model inference to generate text, images, and embeddings.

\n

For example code, see Invoke model code examples in the Amazon Bedrock User Guide.\n

\n

This operation requires permission for the bedrock:InvokeModel action.

\n \n

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

\n
\n

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

", "smithy.api#http": { "code": 200, "method": "POST", @@ -3118,7 +3142,7 @@ "modelId": { "target": "com.amazonaws.bedrockruntime#InvokeModelIdentifier", "traits": { - "smithy.api#documentation": "

The unique identifier of the model to invoke to run inference.

\n

The modelId to provide depends on the type of model that you use:

\n
    \n
  • \n

    If you use a base model, specify the model ID or its ARN. For a list of model IDs for base models, see Amazon Bedrock base model IDs (on-demand throughput) in the Amazon Bedrock User Guide.

    \n
  • \n
  • \n

    If you use a provisioned model, specify the ARN of the Provisioned Throughput. For more information, see Run inference using a Provisioned Throughput in the Amazon Bedrock User Guide.

    \n
  • \n
  • \n

    If you use a custom model, first purchase Provisioned Throughput for it. Then specify the ARN of the resulting provisioned model. For more information, see Use a custom model in Amazon Bedrock in the Amazon Bedrock User Guide.

    \n
  • \n
  • \n

    If you use an imported model, specify the ARN of the imported model. You can get the model ARN from a successful call to CreateModelImportJob or from the Imported models page in the Amazon Bedrock console.

    \n
  • \n
", + "smithy.api#documentation": "

The unique identifier of the model to invoke to run inference.

\n

The modelId to provide depends on the type of model or throughput that you use:

\n ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -3143,6 +3167,14 @@ "smithy.api#documentation": "

The version number for the guardrail. The value can also be DRAFT.

", "smithy.api#httpHeader": "X-Amzn-Bedrock-GuardrailVersion" } + }, + "performanceConfigLatency": { + "target": "com.amazonaws.bedrockruntime#PerformanceConfigLatency", + "traits": { + "smithy.api#default": "standard", + "smithy.api#documentation": "

Model performance settings for the request.

", + "smithy.api#httpHeader": "X-Amzn-Bedrock-PerformanceConfig-Latency" + } } }, "traits": { @@ -3167,6 +3199,13 @@ "smithy.api#httpHeader": "Content-Type", "smithy.api#required": {} } + }, + "performanceConfigLatency": { + "target": "com.amazonaws.bedrockruntime#PerformanceConfigLatency", + "traits": { + "smithy.api#documentation": "

Model performance settings for the request.

", + "smithy.api#httpHeader": "X-Amzn-Bedrock-PerformanceConfig-Latency" + } } }, "traits": { @@ -3217,7 +3256,7 @@ } ], "traits": { - "smithy.api#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.

\n

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

\n \n

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

\n
\n

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

\n

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

", + "smithy.api#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.

\n

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

\n \n

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

\n
\n

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

\n

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

\n \n

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

\n
\n

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

", "smithy.api#http": { "code": 200, "method": "POST", @@ -3252,7 +3291,7 @@ "modelId": { "target": "com.amazonaws.bedrockruntime#InvokeModelIdentifier", "traits": { - "smithy.api#documentation": "

The unique identifier of the model to invoke to run inference.

\n

The modelId to provide depends on the type of model that you use:

\n
    \n
  • \n

    If you use a base model, specify the model ID or its ARN. For a list of model IDs for base models, see Amazon Bedrock base model IDs (on-demand throughput) in the Amazon Bedrock User Guide.

    \n
  • \n
  • \n

    If you use a provisioned model, specify the ARN of the Provisioned Throughput. For more information, see Run inference using a Provisioned Throughput in the Amazon Bedrock User Guide.

    \n
  • \n
  • \n

    If you use a custom model, first purchase Provisioned Throughput for it. Then specify the ARN of the resulting provisioned model. For more information, see Use a custom model in Amazon Bedrock in the Amazon Bedrock User Guide.

    \n
  • \n
  • \n

    If you use an imported model, specify the ARN of the imported model. You can get the model ARN from a successful call to CreateModelImportJob or from the Imported models page in the Amazon Bedrock console.

    \n
  • \n
", + "smithy.api#documentation": "

The unique identifier of the model to invoke to run inference.

\n

The modelId to provide depends on the type of model or throughput that you use:

\n ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -3277,6 +3316,14 @@ "smithy.api#documentation": "

The version number for the guardrail. The value can also be DRAFT.

", "smithy.api#httpHeader": "X-Amzn-Bedrock-GuardrailVersion" } + }, + "performanceConfigLatency": { + "target": "com.amazonaws.bedrockruntime#PerformanceConfigLatency", + "traits": { + "smithy.api#default": "standard", + "smithy.api#documentation": "

Model performance settings for the request.

", + "smithy.api#httpHeader": "X-Amzn-Bedrock-PerformanceConfig-Latency" + } } }, "traits": { @@ -3301,6 +3348,13 @@ "smithy.api#httpHeader": "X-Amzn-Bedrock-Content-Type", "smithy.api#required": {} } + }, + "performanceConfigLatency": { + "target": "com.amazonaws.bedrockruntime#PerformanceConfigLatency", + "traits": { + "smithy.api#documentation": "

Model performance settings for the request.

", + "smithy.api#httpHeader": "X-Amzn-Bedrock-PerformanceConfig-Latency" + } } }, "traits": { @@ -3407,7 +3461,7 @@ } }, "traits": { - "smithy.api#documentation": "

The model specified in the request is not ready to serve inference requests. The AWS SDK\n will automatically retry the operation up to 5 times. For information about configuring\n automatic retries, see Retry behavior in the AWS SDKs and Tools\n reference guide.

", + "smithy.api#documentation": "

The model specified in the request is not ready to serve inference requests. The AWS SDK\n will automatically retry the operation up to 5 times. For information about configuring\n automatic retries, see Retry behavior in the AWS SDKs and Tools\n reference guide.

", "smithy.api#error": "client", "smithy.api#httpError": 429, "smithy.api#retryable": {} @@ -3509,6 +3563,38 @@ "smithy.api#sensitive": {} } }, + "com.amazonaws.bedrockruntime#PerformanceConfigLatency": { + "type": "enum", + "members": { + "STANDARD": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "standard" + } + }, + "OPTIMIZED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "optimized" + } + } + } + }, + "com.amazonaws.bedrockruntime#PerformanceConfiguration": { + "type": "structure", + "members": { + "latency": { + "target": "com.amazonaws.bedrockruntime#PerformanceConfigLatency", + "traits": { + "smithy.api#default": "standard", + "smithy.api#documentation": "

To use a latency-optimized version of the model, set to optimized.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Performance settings for a model.

" + } + }, "com.amazonaws.bedrockruntime#PromptVariableMap": { "type": "map", "key": { @@ -3543,7 +3629,7 @@ } }, "traits": { - "smithy.api#documentation": "

The specified resource ARN was not found. Check the ARN and try your request again.

", + "smithy.api#documentation": "

The specified resource ARN was not found. For troubleshooting this error, \n see ResourceNotFound in the Amazon Bedrock User Guide

", "smithy.api#error": "client", "smithy.api#httpError": 404 } @@ -3588,7 +3674,10 @@ } }, "serviceUnavailableException": { - "target": "com.amazonaws.bedrockruntime#ServiceUnavailableException" + "target": "com.amazonaws.bedrockruntime#ServiceUnavailableException", + "traits": { + "smithy.api#documentation": "

The service isn't available. Try again later.

" + } } }, "traits": { @@ -3617,7 +3706,7 @@ } }, "traits": { - "smithy.api#documentation": "

The service isn't currently available. Try again later.

", + "smithy.api#documentation": "

The service isn't currently available. For troubleshooting this error, \n see ServiceUnavailable in the Amazon Bedrock User Guide

", "smithy.api#error": "server", "smithy.api#httpError": 503 } @@ -3727,7 +3816,7 @@ } }, "traits": { - "smithy.api#documentation": "

Your request was throttled because of service-wide limitations. Resubmit your request later or in a different region. You can also purchase Provisioned Throughput to increase the rate or number of tokens you can process.

", + "smithy.api#documentation": "

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

", "smithy.api#error": "client", "smithy.api#httpError": 429 } @@ -4076,7 +4165,7 @@ } }, "traits": { - "smithy.api#documentation": "

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

", + "smithy.api#documentation": "

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

", "smithy.api#error": "client", "smithy.api#httpError": 400 } diff --git a/codegen/sdk/aws-models/bedrock.json b/codegen/sdk/aws-models/bedrock.json index bde550cad81..0f64cebdf6c 100644 --- a/codegen/sdk/aws-models/bedrock.json +++ b/codegen/sdk/aws-models/bedrock.json @@ -20,6 +20,27 @@ "smithy.api#pattern": "^[0-9]{12}$" } }, + "com.amazonaws.bedrock#AdditionalModelRequestFields": { + "type": "map", + "key": { + "target": "com.amazonaws.bedrock#AdditionalModelRequestFieldsKey" + }, + "value": { + "target": "com.amazonaws.bedrock#AdditionalModelRequestFieldsValue" + } + }, + "com.amazonaws.bedrock#AdditionalModelRequestFieldsKey": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 100 + } + } + }, + "com.amazonaws.bedrock#AdditionalModelRequestFieldsValue": { + "type": "document" + }, "com.amazonaws.bedrock#AmazonBedrockControlPlaneService": { "type": "service", "version": "2023-04-20", @@ -738,19 +759,42 @@ } } }, + "com.amazonaws.bedrock#ApplicationType": { + "type": "enum", + "members": { + "MODEL_EVALUATION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ModelEvaluation" + } + }, + "RAG_EVALUATION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RagEvaluation" + } + } + } + }, "com.amazonaws.bedrock#AutomatedEvaluationConfig": { "type": "structure", "members": { "datasetMetricConfigs": { "target": "com.amazonaws.bedrock#EvaluationDatasetMetricConfigs", "traits": { - "smithy.api#documentation": "

Specifies the required elements for an automatic model evaluation job.

", + "smithy.api#documentation": "

Configuration details of the prompt datasets and metrics you want to use for your evaluation job.

", "smithy.api#required": {} } + }, + "evaluatorModelConfig": { + "target": "com.amazonaws.bedrock#EvaluatorModelConfig", + "traits": { + "smithy.api#documentation": "

Contains the evaluator model configuration details. EvaluatorModelConfig is required for evaluation jobs that use a knowledge base or in model evaluation job that use a model as judge. This model computes all evaluation related metrics.

" + } } }, "traits": { - "smithy.api#documentation": "

Use to specify a automatic model evaluation job. The EvaluationDatasetMetricConfig object is used to specify the prompt datasets, task type, and metric names.

" + "smithy.api#documentation": "

The configuration details of an automated evaluation job. The EvaluationDatasetMetricConfig object \n is used to specify the prompt datasets, task type, and metric names.

" } }, "com.amazonaws.bedrock#BaseModelIdentifier": { @@ -792,7 +836,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates a batch deletion job. A model evaluation job can only be deleted if it has following status FAILED, COMPLETED, and STOPPED. You can request up to 25 model evaluation jobs be deleted in a single request.

", + "smithy.api#documentation": "

Deletes a batch of evaluation jobs. An evaluation job can only be deleted if it has \n following status FAILED, COMPLETED, and STOPPED. \n You can request up to 25 model evaluation jobs be deleted in a single request.

", "smithy.api#http": { "code": 202, "method": "POST", @@ -806,26 +850,26 @@ "jobIdentifier": { "target": "com.amazonaws.bedrock#EvaluationJobIdentifier", "traits": { - "smithy.api#documentation": "

The ARN of the model evaluation job being deleted.

", + "smithy.api#documentation": "

The ARN of the evaluation job being deleted.

", "smithy.api#required": {} } }, "code": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

A HTTP status code of the model evaluation job being deleted.

", + "smithy.api#documentation": "

A HTTP status code of the evaluation job being deleted.

", "smithy.api#required": {} } }, "message": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

A status message about the model evaluation job deletion.

" + "smithy.api#documentation": "

A status message about the evaluation job deletion.

" } } }, "traits": { - "smithy.api#documentation": "

A JSON array that provides the status of the model evaluation jobs being deleted.

" + "smithy.api#documentation": "

A JSON array that provides the status of the evaluation jobs being deleted.

" } }, "com.amazonaws.bedrock#BatchDeleteEvaluationJobErrors": { @@ -846,20 +890,20 @@ "jobIdentifier": { "target": "com.amazonaws.bedrock#EvaluationJobIdentifier", "traits": { - "smithy.api#documentation": "

The ARN of model evaluation job to be deleted.

", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the evaluation job for deletion.

", "smithy.api#required": {} } }, "jobStatus": { "target": "com.amazonaws.bedrock#EvaluationJobStatus", "traits": { - "smithy.api#documentation": "

The status of the job's deletion.

", + "smithy.api#documentation": "

The status of the evaluation job for deletion.

", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

An array of model evaluation jobs to be deleted, and their associated statuses.

" + "smithy.api#documentation": "

An evaluation job for deletion, and it’s current status.

" } }, "com.amazonaws.bedrock#BatchDeleteEvaluationJobItems": { @@ -874,7 +918,7 @@ "jobIdentifiers": { "target": "com.amazonaws.bedrock#EvaluationJobIdentifiers", "traits": { - "smithy.api#documentation": "

An array of model evaluation job ARNs to be deleted.

", + "smithy.api#documentation": "

A list of one or more evaluation job Amazon Resource Names (ARNs) you want to delete.

", "smithy.api#required": {} } } @@ -889,14 +933,14 @@ "errors": { "target": "com.amazonaws.bedrock#BatchDeleteEvaluationJobErrors", "traits": { - "smithy.api#documentation": "

A JSON object containing the HTTP status codes and the ARNs of model evaluation jobs that failed to be deleted.

", + "smithy.api#documentation": "

A JSON object containing the HTTP status codes and the ARNs of evaluation jobs that failed to be deleted.

", "smithy.api#required": {} } }, "evaluationJobs": { "target": "com.amazonaws.bedrock#BatchDeleteEvaluationJobItems", "traits": { - "smithy.api#documentation": "

The list of model evaluation jobs to be deleted.

", + "smithy.api#documentation": "

The list of evaluation jobs for deletion.

", "smithy.api#required": {} } } @@ -905,6 +949,43 @@ "smithy.api#output": {} } }, + "com.amazonaws.bedrock#BedrockEvaluatorModel": { + "type": "structure", + "members": { + "modelIdentifier": { + "target": "com.amazonaws.bedrock#EvaluatorModelIdentifier", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the evaluator model used used in knowledge base evaluation job or in model evaluation job that use a model as judge.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

The evaluator model used in knowledge base evaluation job or in model evaluation job that use a model as judge. This model computes all evaluation related metrics.

" + } + }, + "com.amazonaws.bedrock#BedrockEvaluatorModels": { + "type": "list", + "member": { + "target": "com.amazonaws.bedrock#BedrockEvaluatorModel" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1 + } + } + }, + "com.amazonaws.bedrock#BedrockModelArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 2048 + }, + "smithy.api#pattern": "^(arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:(([0-9]{12}:custom-model/[a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}/[a-z0-9]{12})|(:foundation-model/[a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.:]?[a-z0-9-]{1,63}))))|(arn:aws(|-us-gov|-cn|-iso|-iso-b):bedrock:(|[0-9a-z-]{1,20}):(|[0-9]{12}):inference-profile/[a-zA-Z0-9-:.]+)|([a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.:]?[a-z0-9-]{1,63}))|(([0-9a-zA-Z][_-]?)+)$" + } + }, "com.amazonaws.bedrock#BedrockModelId": { "type": "string", "traits": { @@ -933,6 +1014,45 @@ } } }, + "com.amazonaws.bedrock#ByteContentBlob": { + "type": "blob", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 10485760 + }, + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.bedrock#ByteContentDoc": { + "type": "structure", + "members": { + "identifier": { + "target": "com.amazonaws.bedrock#Identifier", + "traits": { + "smithy.api#documentation": "

The file name of the document contained in the wrapper object.

", + "smithy.api#required": {} + } + }, + "contentType": { + "target": "com.amazonaws.bedrock#ContentType", + "traits": { + "smithy.api#documentation": "

The MIME type of the document contained in the wrapper object.

", + "smithy.api#required": {} + } + }, + "data": { + "target": "com.amazonaws.bedrock#ByteContentBlob", + "traits": { + "smithy.api#documentation": "

The byte value of the file to upload, encoded as a Base-64 string.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains the document contained in the wrapper object, along with its attributes/fields.

" + } + }, "com.amazonaws.bedrock#CloudWatchConfig": { "type": "structure", "members": { @@ -991,6 +1111,12 @@ "smithy.api#httpError": 400 } }, + "com.amazonaws.bedrock#ContentType": { + "type": "string", + "traits": { + "smithy.api#pattern": "[a-z]{1,20}/.{1,20}" + } + }, "com.amazonaws.bedrock#CreateEvaluationJob": { "type": "operation", "input": { @@ -1023,7 +1149,7 @@ } ], "traits": { - "smithy.api#documentation": "

API operation for creating and managing Amazon Bedrock automatic model evaluation jobs and model evaluation jobs that use human workers. To learn more about the requirements for creating a model evaluation job see, Model evaluation.

", + "smithy.api#documentation": "

Creates an evaluation job.

", "smithy.api#http": { "code": 202, "method": "POST", @@ -1038,14 +1164,14 @@ "jobName": { "target": "com.amazonaws.bedrock#EvaluationJobName", "traits": { - "smithy.api#documentation": "

The name of the model evaluation job. Model evaluation job names must unique with your AWS account, and your account's AWS region.

", + "smithy.api#documentation": "

A name for the evaluation job. Names must unique with your Amazon Web Services account, \n and your account's Amazon Web Services region.

", "smithy.api#required": {} } }, "jobDescription": { "target": "com.amazonaws.bedrock#EvaluationJobDescription", "traits": { - "smithy.api#documentation": "

A description of the model evaluation job.

" + "smithy.api#documentation": "

A description of the evaluation job.

" } }, "clientRequestToken": { @@ -1058,14 +1184,14 @@ "roleArn": { "target": "com.amazonaws.bedrock#RoleArn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of an IAM service role that Amazon Bedrock can assume to perform tasks on your behalf. The service role must have Amazon Bedrock as the service principal, and provide access to any Amazon S3 buckets specified in the EvaluationConfig object. To pass this role to Amazon Bedrock, the caller of this API must have the iam:PassRole permission. To learn more about the required permissions, see Required permissions.

", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of an IAM service role that Amazon Bedrock can \n assume to perform tasks on your behalf. To learn more about the required permissions, \n see Required \n permissions for model evaluations.

", "smithy.api#required": {} } }, "customerEncryptionKeyId": { "target": "com.amazonaws.bedrock#KmsKeyId", "traits": { - "smithy.api#documentation": "

Specify your customer managed key ARN that will be used to encrypt your model evaluation job.

" + "smithy.api#documentation": "

Specify your customer managed encryption key Amazon Resource Name (ARN) that will be used to encrypt your evaluation job.

" } }, "jobTags": { @@ -1074,24 +1200,30 @@ "smithy.api#documentation": "

Tags to attach to the model evaluation job.

" } }, + "applicationType": { + "target": "com.amazonaws.bedrock#ApplicationType", + "traits": { + "smithy.api#documentation": "

Specifies whether the evaluation job is for evaluating a model or evaluating a knowledge base\n (retrieval and response generation).

" + } + }, "evaluationConfig": { "target": "com.amazonaws.bedrock#EvaluationConfig", "traits": { - "smithy.api#documentation": "

Specifies whether the model evaluation job is automatic or uses human worker.

", + "smithy.api#documentation": "

Contains the configuration details of either an automated or human-based evaluation job.

", "smithy.api#required": {} } }, "inferenceConfig": { "target": "com.amazonaws.bedrock#EvaluationInferenceConfig", "traits": { - "smithy.api#documentation": "

Specify the models you want to use in your model evaluation job. Automatic model evaluation jobs support a single model or inference profile, and model evaluation job that use human workers support two models or inference profiles.

", + "smithy.api#documentation": "

Contains the configuration details of the inference model for the evaluation job.

\n

For model evaluation jobs, automated jobs support a single model or \n inference profile, and jobs that use human workers support \n two models or inference profiles.

", "smithy.api#required": {} } }, "outputDataConfig": { "target": "com.amazonaws.bedrock#EvaluationOutputDataConfig", "traits": { - "smithy.api#documentation": "

An object that defines where the results of model evaluation job will be saved in Amazon S3.

", + "smithy.api#documentation": "

Contains the configuration details of the Amazon S3 bucket for storing the results \n of the evaluation job.

", "smithy.api#required": {} } } @@ -1106,7 +1238,7 @@ "jobArn": { "target": "com.amazonaws.bedrock#EvaluationJobArn", "traits": { - "smithy.api#documentation": "

The ARN of the model evaluation job.

", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the evaluation job.

", "smithy.api#required": {} } } @@ -2560,13 +2692,14 @@ "inferenceParams": { "target": "com.amazonaws.bedrock#EvaluationModelInferenceParams", "traits": { - "smithy.api#documentation": "

Each Amazon Bedrock support different inference parameters that change how the model behaves during inference.

", - "smithy.api#required": {} + "smithy.api#addedDefault": {}, + "smithy.api#default": "{}", + "smithy.api#documentation": "

Each Amazon Bedrock support different inference parameters that change how the model behaves during inference.

" } } }, "traits": { - "smithy.api#documentation": "

Contains the ARN of the Amazon Bedrock model or inference profile specified in your model evaluation job. Each Amazon Bedrock model supports different inferenceParams. To learn more about supported inference parameters for Amazon Bedrock models, see Inference parameters for foundation models.

\n

The inferenceParams are specified using JSON. To successfully insert JSON as string make sure that all quotations are properly escaped. For example, \"temperature\":\"0.25\" key value pair would need to be formatted as \\\"temperature\\\":\\\"0.25\\\" to successfully accepted in the request.

" + "smithy.api#documentation": "

Contains the ARN of the Amazon Bedrock model or inference profile specified in your evaluation job. Each Amazon Bedrock model supports different inferenceParams. To learn more about supported inference parameters for Amazon Bedrock models, see Inference parameters for foundation models.

\n

The inferenceParams are specified using JSON. To successfully insert JSON as string make sure that all quotations are properly escaped. For example, \"temperature\":\"0.25\" key value pair would need to be formatted as \\\"temperature\\\":\\\"0.25\\\" to successfully accepted in the request.

" } }, "com.amazonaws.bedrock#EvaluationConfig": { @@ -2575,18 +2708,18 @@ "automated": { "target": "com.amazonaws.bedrock#AutomatedEvaluationConfig", "traits": { - "smithy.api#documentation": "

Used to specify an automated model evaluation job.\n See AutomatedEvaluationConfig to view the required parameters.

" + "smithy.api#documentation": "

Contains the configuration details of an automated evaluation job that computes metrics.

" } }, "human": { "target": "com.amazonaws.bedrock#HumanEvaluationConfig", "traits": { - "smithy.api#documentation": "

Used to specify a model evaluation job that uses human workers.See HumanEvaluationConfig to view the required parameters.

" + "smithy.api#documentation": "

Contains the configuration details of an evaluation job that uses human workers.

" } } }, "traits": { - "smithy.api#documentation": "

Used to specify either a AutomatedEvaluationConfig or HumanEvaluationConfig object.

" + "smithy.api#documentation": "

The configuration details of either an automated or human-based evaluation job.

" } }, "com.amazonaws.bedrock#EvaluationDataset": { @@ -2630,7 +2763,7 @@ "taskType": { "target": "com.amazonaws.bedrock#EvaluationTaskType", "traits": { - "smithy.api#documentation": "

The task type you want the model to carry out.

", + "smithy.api#documentation": "

The the type of task you want to evaluate for your evaluation job. This applies only \n to model evaluation jobs and is ignored for knowledge base evaluation jobs.

", "smithy.api#required": {} } }, @@ -2644,13 +2777,13 @@ "metricNames": { "target": "com.amazonaws.bedrock#EvaluationMetricNames", "traits": { - "smithy.api#documentation": "

The names of the metrics used. For automated model evaluation jobs valid values are \"Builtin.Accuracy\", \"Builtin.Robustness\", and \"Builtin.Toxicity\". In human-based model evaluation jobs the array of strings must match the name parameter specified in HumanEvaluationCustomMetric.

", + "smithy.api#documentation": "

The names of the metrics you want to use for your evaluation job.

\n

For knowledge base evaluation jobs that evaluate retrieval only, valid values are \n \"Builtin.ContextRelevance\", \"Builtin.ContextConverage\".

\n

For knowledge base evaluation jobs that evaluate retrieval with response generation, \n valid values are \"Builtin.Correctness\", \"Builtin.Completeness\", \n \"Builtin.Helpfulness\", \"Builtin.LogicalCoherence\", \n \"Builtin.Faithfulness\", \"Builtin.Harmfulness\", \n \"Builtin.Stereotyping\", \"Builtin.Refusal\".

\n

For automated model evaluation jobs, valid values are \"Builtin.Accuracy\", \"Builtin.Robustness\", and \"Builtin.Toxicity\". In model evaluation jobs that use a LLM as judge you can specify \"Builtin.Correctness\", \"Builtin.Completeness\", \"Builtin.Faithfulness\", \"Builtin.Helpfulness\", \"Builtin.Coherence\", \"Builtin.Relevance\", \"Builtin.FollowingInstructions\", \"Builtin.ProfessionalStyleAndTone\", You can also specify the following responsible AI related metrics only for model evaluation job that use a LLM as judge \"Builtin.Harmfulness\", \"Builtin.Stereotyping\", and \"Builtin.Refusal\".

\n

For human-based model evaluation jobs, the list of strings must match the \n name parameter specified in HumanEvaluationCustomMetric.

", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

Defines the built-in prompt datasets, built-in metric names and custom metric names, and the task type.

" + "smithy.api#documentation": "

Defines the prompt datasets, built-in metric names and custom metric names, and the task type.

" } }, "com.amazonaws.bedrock#EvaluationDatasetMetricConfigs": { @@ -2682,12 +2815,18 @@ "models": { "target": "com.amazonaws.bedrock#EvaluationModelConfigs", "traits": { - "smithy.api#documentation": "

Used to specify the models.

" + "smithy.api#documentation": "

Specifies the inference models.

" + } + }, + "ragConfigs": { + "target": "com.amazonaws.bedrock#RagConfigs", + "traits": { + "smithy.api#documentation": "

Contains the configuration details of the inference for a knowledge base evaluation \n job, including either the retrieval only configuration or the retrieval with response \n generation configuration.

" } } }, "traits": { - "smithy.api#documentation": "

Used to define the models you want used in your model evaluation job. Automated model evaluation jobs support only a single model. In a human-based model evaluation job, your annotator can compare the responses for up to two different models.

" + "smithy.api#documentation": "

The configuration details of the inference model for an evaluation job.

\n

For automated model evaluation jobs, only a single model is supported.

\n

For human-based model evaluation jobs, your annotator can compare the responses for up to two different models.

" } }, "com.amazonaws.bedrock#EvaluationJobArn": { @@ -2850,7 +2989,7 @@ "traits": { "smithy.api#length": { "min": 1, - "max": 10 + "max": 15 } } }, @@ -2897,7 +3036,7 @@ }, "traits": { "smithy.api#length": { - "min": 1, + "min": 0, "max": 2 } } @@ -2918,13 +3057,13 @@ "s3Uri": { "target": "com.amazonaws.bedrock#S3Uri", "traits": { - "smithy.api#documentation": "

The Amazon S3 URI where the results of model evaluation job are saved.

", + "smithy.api#documentation": "

The Amazon S3 URI where the results of the evaluation job are saved.

", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

The Amazon S3 location where the results of your model evaluation job are saved.

" + "smithy.api#documentation": "

The Amazon S3 location where the results of your evaluation job are saved.

" } }, "com.amazonaws.bedrock#EvaluationRatingMethod": { @@ -2955,55 +3094,74 @@ "jobArn": { "target": "com.amazonaws.bedrock#EvaluationJobArn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the model evaluation job.

", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the evaluation job.

", "smithy.api#required": {} } }, "jobName": { "target": "com.amazonaws.bedrock#EvaluationJobName", "traits": { - "smithy.api#documentation": "

The name of the model evaluation job.

", + "smithy.api#documentation": "

The name for the evaluation job.

", "smithy.api#required": {} } }, "status": { "target": "com.amazonaws.bedrock#EvaluationJobStatus", "traits": { - "smithy.api#documentation": "

The current status of the model evaluation job.

", + "smithy.api#documentation": "

The current status of the evaluation job.

", "smithy.api#required": {} } }, "creationTime": { "target": "com.amazonaws.bedrock#Timestamp", "traits": { - "smithy.api#documentation": "

When the model evaluation job was created.

", + "smithy.api#documentation": "

The time the evaluation job was created.

", "smithy.api#required": {} } }, "jobType": { "target": "com.amazonaws.bedrock#EvaluationJobType", "traits": { - "smithy.api#documentation": "

The type, either human or automatic, of model evaluation job.

", + "smithy.api#documentation": "

Specifies whether the evaluation job is automated or human-based.

", "smithy.api#required": {} } }, "evaluationTaskTypes": { "target": "com.amazonaws.bedrock#EvaluationTaskTypes", "traits": { - "smithy.api#documentation": "

What task type was used in the model evaluation job.

", + "smithy.api#documentation": "

The type of task for model evaluation.

", "smithy.api#required": {} } }, "modelIdentifiers": { "target": "com.amazonaws.bedrock#EvaluationModelIdentifiers", "traits": { - "smithy.api#documentation": "

The Amazon Resource Names (ARNs) of the model(s) used in the model evaluation job.

", - "smithy.api#required": {} + "smithy.api#addedDefault": {}, + "smithy.api#default": [], + "smithy.api#documentation": "

The Amazon Resource Names (ARNs) of the model(s) used for the evaluation job.

" + } + }, + "ragIdentifiers": { + "target": "com.amazonaws.bedrock#RAGIdentifiers", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Names (ARNs) of the knowledge base resources used for a knowledge base evaluation job.

" + } + }, + "evaluatorModelIdentifiers": { + "target": "com.amazonaws.bedrock#EvaluatorModelIdentifiers", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Names (ARNs) of the models used to compute the metrics for a knowledge base evaluation job.

" + } + }, + "applicationType": { + "target": "com.amazonaws.bedrock#ApplicationType", + "traits": { + "smithy.api#documentation": "

Specifies whether the evaluation job is for evaluating a model or evaluating a knowledge base (retrieval and response generation).

" } } }, "traits": { - "smithy.api#documentation": "

A summary of the model evaluation job.

" + "smithy.api#documentation": "

Summary information of an evaluation job.

" } }, "com.amazonaws.bedrock#EvaluationTaskType": { @@ -3060,6 +3218,192 @@ } } }, + "com.amazonaws.bedrock#EvaluatorModelConfig": { + "type": "union", + "members": { + "bedrockEvaluatorModels": { + "target": "com.amazonaws.bedrock#BedrockEvaluatorModels", + "traits": { + "smithy.api#documentation": "

The evaluator model used in knowledge base evaluation job or in model evaluation job that use a model as judge. This model computes all evaluation related metrics.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Specifies the model configuration for the evaluator model. EvaluatorModelConfig is required for evaluation jobs that use a knowledge base or in model evaluation job that use a model as judge. This model computes all evaluation related metrics.

" + } + }, + "com.amazonaws.bedrock#EvaluatorModelIdentifier": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 2048 + }, + "smithy.api#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-]+[.][a-z0-9-]+([.][a-z0-9-]+)*(:[a-z0-9-]+)?$)|^[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}|)$" + } + }, + "com.amazonaws.bedrock#EvaluatorModelIdentifiers": { + "type": "list", + "member": { + "target": "com.amazonaws.bedrock#EvaluatorModelIdentifier" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 1 + } + } + }, + "com.amazonaws.bedrock#ExternalSource": { + "type": "structure", + "members": { + "sourceType": { + "target": "com.amazonaws.bedrock#ExternalSourceType", + "traits": { + "smithy.api#documentation": "

The source type of the external source wrapper object.

", + "smithy.api#required": {} + } + }, + "s3Location": { + "target": "com.amazonaws.bedrock#S3ObjectDoc", + "traits": { + "smithy.api#documentation": "

The S3 location of the external source wrapper object.

" + } + }, + "byteContent": { + "target": "com.amazonaws.bedrock#ByteContentDoc", + "traits": { + "smithy.api#documentation": "

The identifier, content type, and data of the external source wrapper object.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The unique external source of the content contained in the wrapper object.

" + } + }, + "com.amazonaws.bedrock#ExternalSourceType": { + "type": "enum", + "members": { + "S3": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "S3" + } + }, + "BYTE_CONTENT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "BYTE_CONTENT" + } + } + } + }, + "com.amazonaws.bedrock#ExternalSources": { + "type": "list", + "member": { + "target": "com.amazonaws.bedrock#ExternalSource" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1 + } + } + }, + "com.amazonaws.bedrock#ExternalSourcesGenerationConfiguration": { + "type": "structure", + "members": { + "promptTemplate": { + "target": "com.amazonaws.bedrock#PromptTemplate", + "traits": { + "smithy.api#documentation": "

Contains the template for the prompt for the external source wrapper object.

" + } + }, + "guardrailConfiguration": { + "target": "com.amazonaws.bedrock#GuardrailConfiguration", + "traits": { + "smithy.api#documentation": "

Configuration details for the guardrail.

" + } + }, + "kbInferenceConfig": { + "target": "com.amazonaws.bedrock#KbInferenceConfig", + "traits": { + "smithy.api#documentation": "

Configuration details for inference when using RetrieveAndGenerate to generate \n responses while using an external source.

" + } + }, + "additionalModelRequestFields": { + "target": "com.amazonaws.bedrock#AdditionalModelRequestFields", + "traits": { + "smithy.api#documentation": "

Additional model parameters and their corresponding values not included in the \n text inference configuration for an external source. Takes in custom model parameters \n specific to the language model being used.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The response generation configuration of the external source wrapper object.

" + } + }, + "com.amazonaws.bedrock#ExternalSourcesRetrieveAndGenerateConfiguration": { + "type": "structure", + "members": { + "modelArn": { + "target": "com.amazonaws.bedrock#BedrockModelArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the foundation model or inference profile\n used to generate responses.\n

", + "smithy.api#required": {} + } + }, + "sources": { + "target": "com.amazonaws.bedrock#ExternalSources", + "traits": { + "smithy.api#documentation": "

The document for the external source wrapper object in the retrieveAndGenerate function.

", + "smithy.api#required": {} + } + }, + "generationConfiguration": { + "target": "com.amazonaws.bedrock#ExternalSourcesGenerationConfiguration", + "traits": { + "smithy.api#documentation": "

Contains configurations details for response generation based on retrieved text chunks.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The configuration of the external source wrapper object in the retrieveAndGenerate \n function.

" + } + }, + "com.amazonaws.bedrock#FilterAttribute": { + "type": "structure", + "members": { + "key": { + "target": "com.amazonaws.bedrock#FilterKey", + "traits": { + "smithy.api#documentation": "

The name of metadata attribute/field, which must match the name in your \n data source/document metadata.

", + "smithy.api#required": {} + } + }, + "value": { + "target": "com.amazonaws.bedrock#FilterValue", + "traits": { + "smithy.api#documentation": "

The value of the metadata attribute/field.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Specifies the name of the metadata attribute/field to apply filters. \n You must match the name of the attribute/field in your data source/document metadata.

" + } + }, + "com.amazonaws.bedrock#FilterKey": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 100 + } + } + }, + "com.amazonaws.bedrock#FilterValue": { + "type": "document" + }, "com.amazonaws.bedrock#FineTuningJobStatus": { "type": "enum", "members": { @@ -3279,6 +3623,38 @@ "target": "com.amazonaws.bedrock#FoundationModelSummary" } }, + "com.amazonaws.bedrock#GenerationConfiguration": { + "type": "structure", + "members": { + "promptTemplate": { + "target": "com.amazonaws.bedrock#PromptTemplate", + "traits": { + "smithy.api#documentation": "

Contains the template for the prompt that's sent to the model for response generation.

" + } + }, + "guardrailConfiguration": { + "target": "com.amazonaws.bedrock#GuardrailConfiguration", + "traits": { + "smithy.api#documentation": "

Contains configuration details for the guardrail.

" + } + }, + "kbInferenceConfig": { + "target": "com.amazonaws.bedrock#KbInferenceConfig", + "traits": { + "smithy.api#documentation": "

Contains configuration details for inference for knowledge base retrieval and response generation.

" + } + }, + "additionalModelRequestFields": { + "target": "com.amazonaws.bedrock#AdditionalModelRequestFields", + "traits": { + "smithy.api#documentation": "

Additional model parameters and corresponding values not included in the \n textInferenceConfig structure for a knowledge base. This allows \n you to provide custom model parameters specific to the language model being \n used.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The configuration details for response generation based on retrieved text chunks.

" + } + }, "com.amazonaws.bedrock#GetCustomModel": { "type": "operation", "input": { @@ -3455,7 +3831,7 @@ } ], "traits": { - "smithy.api#documentation": "

Retrieves the properties associated with a model evaluation job, including the\n status of the job. For more information, see Model evaluation.

", + "smithy.api#documentation": "

Gets information about an evaluation job, such as the status of the job.

", "smithy.api#http": { "code": 200, "method": "GET", @@ -3470,7 +3846,7 @@ "jobIdentifier": { "target": "com.amazonaws.bedrock#EvaluationJobIdentifier", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the model evaluation job.

", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the evaluation job you want get information on.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -3486,88 +3862,94 @@ "jobName": { "target": "com.amazonaws.bedrock#EvaluationJobName", "traits": { - "smithy.api#documentation": "

The name of the model evaluation job.

", + "smithy.api#documentation": "

The name for the evaluation job.

", "smithy.api#required": {} } }, "status": { "target": "com.amazonaws.bedrock#EvaluationJobStatus", "traits": { - "smithy.api#documentation": "

The status of the model evaluation job.

", + "smithy.api#documentation": "

The current status of the evaluation job.

", "smithy.api#required": {} } }, "jobArn": { "target": "com.amazonaws.bedrock#EvaluationJobArn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the model evaluation job.

", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the evaluation job.

", "smithy.api#required": {} } }, "jobDescription": { "target": "com.amazonaws.bedrock#EvaluationJobDescription", "traits": { - "smithy.api#documentation": "

The description of the model evaluation job.

" + "smithy.api#documentation": "

The description of the evaluation job.

" } }, "roleArn": { "target": "com.amazonaws.bedrock#RoleArn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the IAM service role used in the model evaluation job.

", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the IAM service role used in the evaluation job.

", "smithy.api#required": {} } }, "customerEncryptionKeyId": { "target": "com.amazonaws.bedrock#KmsKeyId", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the customer managed key specified when the model evaluation job was created.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the customer managed encryption key specified when the evaluation job was created.

" } }, "jobType": { "target": "com.amazonaws.bedrock#EvaluationJobType", "traits": { - "smithy.api#documentation": "

The type of model evaluation job.

", + "smithy.api#documentation": "

Specifies whether the evaluation job is automated or human-based.

", "smithy.api#required": {} } }, + "applicationType": { + "target": "com.amazonaws.bedrock#ApplicationType", + "traits": { + "smithy.api#documentation": "

Specifies whether the evaluation job is for evaluating a model or evaluating a knowledge base (retrieval and response generation).

" + } + }, "evaluationConfig": { "target": "com.amazonaws.bedrock#EvaluationConfig", "traits": { - "smithy.api#documentation": "

Contains details about the type of model evaluation job, the metrics used, the task type selected, the datasets used, and any custom metrics you defined.

", + "smithy.api#documentation": "

Contains the configuration details of either an automated or human-based evaluation job.

", "smithy.api#required": {} } }, "inferenceConfig": { "target": "com.amazonaws.bedrock#EvaluationInferenceConfig", "traits": { - "smithy.api#documentation": "

Details about the models you specified in your model evaluation job.

", + "smithy.api#documentation": "

Contains the configuration details of the inference model used for the evaluation job.

", "smithy.api#required": {} } }, "outputDataConfig": { "target": "com.amazonaws.bedrock#EvaluationOutputDataConfig", "traits": { - "smithy.api#documentation": "

Amazon S3 location for where output data is saved.

", + "smithy.api#documentation": "

Contains the configuration details of the Amazon S3 bucket for \n storing the results of the evaluation job.

", "smithy.api#required": {} } }, "creationTime": { "target": "com.amazonaws.bedrock#Timestamp", "traits": { - "smithy.api#documentation": "

When the model evaluation job was created.

", + "smithy.api#documentation": "

The time the evaluation job was created.

", "smithy.api#required": {} } }, "lastModifiedTime": { "target": "com.amazonaws.bedrock#Timestamp", "traits": { - "smithy.api#documentation": "

When the model evaluation job was last modified.

" + "smithy.api#documentation": "

The time the evaluation job was last modified.

" } }, "failureMessages": { "target": "com.amazonaws.bedrock#ErrorMessages", "traits": { - "smithy.api#documentation": "

An array of strings the specify why the model evaluation job has failed.

" + "smithy.api#documentation": "

A list of strings that specify why the evaluation job failed to create.

" } } }, @@ -4889,12 +5271,43 @@ "smithy.api#sensitive": {} } }, - "com.amazonaws.bedrock#GuardrailContentFilter": { + "com.amazonaws.bedrock#GuardrailConfiguration": { "type": "structure", "members": { - "type": { - "target": "com.amazonaws.bedrock#GuardrailContentFilterType", - "traits": { + "guardrailId": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The unique identifier for the guardrail.

", + "smithy.api#length": { + "max": 64 + }, + "smithy.api#pattern": "^[a-z0-9]+$", + "smithy.api#required": {} + } + }, + "guardrailVersion": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The version of the guardrail.

", + "smithy.api#length": { + "min": 1, + "max": 5 + }, + "smithy.api#pattern": "^(([1-9][0-9]{0,7})|(DRAFT))$", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

The configuration details for the guardrail.

" + } + }, + "com.amazonaws.bedrock#GuardrailContentFilter": { + "type": "structure", + "members": { + "type": { + "target": "com.amazonaws.bedrock#GuardrailContentFilterType", + "traits": { "smithy.api#documentation": "

The harmful category that the content filter is applied to.

", "smithy.api#required": {} } @@ -6309,6 +6722,16 @@ "smithy.api#pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9])*$" } }, + "com.amazonaws.bedrock#Identifier": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1024 + }, + "smithy.api#sensitive": {} + } + }, "com.amazonaws.bedrock#ImportedModelArn": { "type": "string", "traits": { @@ -6663,6 +7086,20 @@ "smithy.api#pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9\\+\\-\\.])*$" } }, + "com.amazonaws.bedrock#KbInferenceConfig": { + "type": "structure", + "members": { + "textInferenceConfig": { + "target": "com.amazonaws.bedrock#TextInferenceConfig", + "traits": { + "smithy.api#documentation": "

Contains configuration details for text generation using a language model via the \n RetrieveAndGenerate function.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains configuration details of the inference for knowledge base retrieval and response generation.

" + } + }, "com.amazonaws.bedrock#KeyPrefix": { "type": "string", "traits": { @@ -6691,6 +7128,120 @@ "smithy.api#pattern": "^(arn:aws(-[^:]+)?:kms:[a-zA-Z0-9-]*:[0-9]{12}:((key/[a-zA-Z0-9-]{36})|(alias/[a-zA-Z0-9-_/]+)))|([a-zA-Z0-9-]{36})|(alias/[a-zA-Z0-9-_/]+)$" } }, + "com.amazonaws.bedrock#KnowledgeBaseConfig": { + "type": "union", + "members": { + "retrieveConfig": { + "target": "com.amazonaws.bedrock#RetrieveConfig", + "traits": { + "smithy.api#documentation": "

Contains configuration details for retrieving information from a knowledge base.

" + } + }, + "retrieveAndGenerateConfig": { + "target": "com.amazonaws.bedrock#RetrieveAndGenerateConfiguration", + "traits": { + "smithy.api#documentation": "

Contains configuration details for retrieving information from a knowledge base and generating responses.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The configuration details for retrieving information from a knowledge base and generating responses.

" + } + }, + "com.amazonaws.bedrock#KnowledgeBaseId": { + "type": "string", + "traits": { + "smithy.api#length": { + "max": 10 + }, + "smithy.api#pattern": "^[0-9a-zA-Z]+$" + } + }, + "com.amazonaws.bedrock#KnowledgeBaseRetrievalConfiguration": { + "type": "structure", + "members": { + "vectorSearchConfiguration": { + "target": "com.amazonaws.bedrock#KnowledgeBaseVectorSearchConfiguration", + "traits": { + "smithy.api#documentation": "

Contains configuration details for returning the results from the vector search.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains configuration details for retrieving information from a knowledge base.

" + } + }, + "com.amazonaws.bedrock#KnowledgeBaseRetrieveAndGenerateConfiguration": { + "type": "structure", + "members": { + "knowledgeBaseId": { + "target": "com.amazonaws.bedrock#KnowledgeBaseId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the knowledge base.

", + "smithy.api#required": {} + } + }, + "modelArn": { + "target": "com.amazonaws.bedrock#BedrockModelArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the foundation model or inference profile \n used to generate responses.

", + "smithy.api#required": {} + } + }, + "retrievalConfiguration": { + "target": "com.amazonaws.bedrock#KnowledgeBaseRetrievalConfiguration", + "traits": { + "smithy.api#documentation": "

Contains configuration details for retrieving text chunks.

" + } + }, + "generationConfiguration": { + "target": "com.amazonaws.bedrock#GenerationConfiguration", + "traits": { + "smithy.api#documentation": "

Contains configurations details for response generation based on retrieved text chunks.

" + } + }, + "orchestrationConfiguration": { + "target": "com.amazonaws.bedrock#OrchestrationConfiguration", + "traits": { + "smithy.api#documentation": "

Contains configuration details for the model to process the prompt prior to retrieval and response generation.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains configuration details for retrieving information from a knowledge base and generating responses.

" + } + }, + "com.amazonaws.bedrock#KnowledgeBaseVectorSearchConfiguration": { + "type": "structure", + "members": { + "numberOfResults": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

The number of text chunks to retrieve; the number of results to return.

", + "smithy.api#range": { + "min": 1, + "max": 100 + } + } + }, + "overrideSearchType": { + "target": "com.amazonaws.bedrock#SearchType", + "traits": { + "smithy.api#documentation": "

By default, Amazon Bedrock decides a search strategy for you. If you're using an \n Amazon OpenSearch Serverless vector store that contains a filterable text field, you \n can specify whether to query the knowledge base with a HYBRID search \n using both vector embeddings and raw text, or SEMANTIC search using \n only vector embeddings. For other vector store configurations, only SEMANTIC \n search is available.

" + } + }, + "filter": { + "target": "com.amazonaws.bedrock#RetrievalFilter", + "traits": { + "smithy.api#documentation": "

Specifies the filters to use on the metadata fields in the knowledge base data sources before returning results.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The configuration details for returning the results from the knowledge base vector search.

" + } + }, "com.amazonaws.bedrock#ListCustomModels": { "type": "operation", "input": { @@ -6850,7 +7401,7 @@ } ], "traits": { - "smithy.api#documentation": "

Lists model evaluation jobs.

", + "smithy.api#documentation": "

Lists all existing evaluation jobs.

", "smithy.api#http": { "code": 200, "method": "GET", @@ -6871,28 +7422,35 @@ "creationTimeAfter": { "target": "com.amazonaws.bedrock#Timestamp", "traits": { - "smithy.api#documentation": "

A filter that includes model evaluation jobs created after the time specified.

", + "smithy.api#documentation": "

A filter to only list evaluation jobs created after a specified time.

", "smithy.api#httpQuery": "creationTimeAfter" } }, "creationTimeBefore": { "target": "com.amazonaws.bedrock#Timestamp", "traits": { - "smithy.api#documentation": "

A filter that includes model evaluation jobs created prior to the time specified.

", + "smithy.api#documentation": "

A filter to only list evaluation jobs created before a specified time.

", "smithy.api#httpQuery": "creationTimeBefore" } }, "statusEquals": { "target": "com.amazonaws.bedrock#EvaluationJobStatus", "traits": { - "smithy.api#documentation": "

Only return jobs where the status condition is met.

", + "smithy.api#documentation": "

A filter to only list evaluation jobs that are of a certain status.

", "smithy.api#httpQuery": "statusEquals" } }, + "applicationTypeEquals": { + "target": "com.amazonaws.bedrock#ApplicationType", + "traits": { + "smithy.api#documentation": "

A filter to only list evaluation jobs that are either model evaluations or knowledge base evaluations.

", + "smithy.api#httpQuery": "applicationTypeEquals" + } + }, "nameContains": { "target": "com.amazonaws.bedrock#EvaluationJobName", "traits": { - "smithy.api#documentation": "

Query parameter string for model evaluation job names.

", + "smithy.api#documentation": "

A filter to only list evaluation jobs that contain a specified string in the job name.

", "smithy.api#httpQuery": "nameContains" } }, @@ -6913,14 +7471,14 @@ "sortBy": { "target": "com.amazonaws.bedrock#SortJobsBy", "traits": { - "smithy.api#documentation": "

Allows you to sort model evaluation jobs by when they were created.

", + "smithy.api#documentation": "

Specifies a creation time to sort the list of evaluation jobs by when they were created.

", "smithy.api#httpQuery": "sortBy" } }, "sortOrder": { "target": "com.amazonaws.bedrock#SortOrder", "traits": { - "smithy.api#documentation": "

How you want the order of jobs sorted.

", + "smithy.api#documentation": "

Specifies whether to sort the list of evaluation jobs by either ascending or descending order.

", "smithy.api#httpQuery": "sortOrder" } } @@ -6941,7 +7499,7 @@ "jobSummaries": { "target": "com.amazonaws.bedrock#EvaluationSummaries", "traits": { - "smithy.api#documentation": "

A summary of the model evaluation jobs.

" + "smithy.api#documentation": "

A list of summaries of the evaluation jobs.

" } } }, @@ -8091,6 +8649,15 @@ } } }, + "com.amazonaws.bedrock#MaxTokens": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 0, + "max": 65536 + } + } + }, "com.amazonaws.bedrock#Message": { "type": "string", "traits": { @@ -8963,6 +9530,21 @@ "smithy.api#pattern": "^[\\s\\S]*$" } }, + "com.amazonaws.bedrock#OrchestrationConfiguration": { + "type": "structure", + "members": { + "queryTransformationConfiguration": { + "target": "com.amazonaws.bedrock#QueryTransformationConfiguration", + "traits": { + "smithy.api#documentation": "

Contains configuration details for transforming the prompt.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

The configuration details for the model to process the prompt prior to retrieval and response generation.

" + } + }, "com.amazonaws.bedrock#OutputDataConfig": { "type": "structure", "members": { @@ -8996,6 +9578,20 @@ } } }, + "com.amazonaws.bedrock#PromptTemplate": { + "type": "structure", + "members": { + "textPromptTemplate": { + "target": "com.amazonaws.bedrock#TextPromptTemplate", + "traits": { + "smithy.api#documentation": "

The template for the prompt that's sent to the model for response generation. You can include \n prompt placeholders, which become replaced before the prompt is sent to the model to provide \n instructions and context to the model. In addition, you can include XML tags to delineate \n meaningful sections of the prompt template.

\n

For more information, see Knowledge base prompt template and \n Use XML tags with Anthropic Claude models.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The template for the prompt that's sent to the model for response generation.

" + } + }, "com.amazonaws.bedrock#Provider": { "type": "string", "traits": { @@ -9223,6 +9819,88 @@ "smithy.api#output": {} } }, + "com.amazonaws.bedrock#QueryTransformationConfiguration": { + "type": "structure", + "members": { + "type": { + "target": "com.amazonaws.bedrock#QueryTransformationType", + "traits": { + "smithy.api#documentation": "

The type of transformation to apply to the prompt.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

The configuration details for transforming the prompt.

" + } + }, + "com.amazonaws.bedrock#QueryTransformationType": { + "type": "enum", + "members": { + "QUERY_DECOMPOSITION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "QUERY_DECOMPOSITION" + } + } + } + }, + "com.amazonaws.bedrock#RAGConfig": { + "type": "union", + "members": { + "knowledgeBaseConfig": { + "target": "com.amazonaws.bedrock#KnowledgeBaseConfig", + "traits": { + "smithy.api#documentation": "

Contains configuration details for knowledge base retrieval and response generation.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains configuration details for retrieval of information and response generation.

" + } + }, + "com.amazonaws.bedrock#RAGIdentifiers": { + "type": "list", + "member": { + "target": "com.amazonaws.bedrock#KnowledgeBaseId" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 1 + } + } + }, + "com.amazonaws.bedrock#RAGStopSequences": { + "type": "list", + "member": { + "target": "smithy.api#String", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1000 + } + } + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 4 + } + } + }, + "com.amazonaws.bedrock#RagConfigs": { + "type": "list", + "member": { + "target": "com.amazonaws.bedrock#RAGConfig" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1 + } + } + }, "com.amazonaws.bedrock#ResourceNotFoundException": { "type": "structure", "members": { @@ -9236,6 +9914,170 @@ "smithy.api#httpError": 404 } }, + "com.amazonaws.bedrock#RetrievalFilter": { + "type": "union", + "members": { + "equals": { + "target": "com.amazonaws.bedrock#FilterAttribute", + "traits": { + "smithy.api#documentation": "

Knowledge base data sources are returned if they contain a metadata attribute whose \n name matches the key and whose value matches the value in this object.

\n

The following example would return data sources with an animal attribute whose value is 'cat':\n \"equals\": { \"key\": \"animal\", \"value\": \"cat\" }\n

" + } + }, + "notEquals": { + "target": "com.amazonaws.bedrock#FilterAttribute", + "traits": { + "smithy.api#documentation": "

Knowledge base data sources that contain a metadata attribute whose name matches the key and whose value \n doesn't match the value in this object are returned.

\n

The following example would return data sources that don't contain an animal attribute whose value is 'cat': \n \"notEquals\": { \"key\": \"animal\", \"value\": \"cat\" }\n

" + } + }, + "greaterThan": { + "target": "com.amazonaws.bedrock#FilterAttribute", + "traits": { + "smithy.api#documentation": "

Knowledge base data sources are returned if they contain a metadata attribute whose name \n matches the key and whose value is greater than the value in this object.

\n

The following example would return data sources with an year attribute whose value is \n greater than '1989': \"greaterThan\": { \"key\": \"year\", \"value\": 1989 }\n

" + } + }, + "greaterThanOrEquals": { + "target": "com.amazonaws.bedrock#FilterAttribute", + "traits": { + "smithy.api#documentation": "

Knowledge base data sources are returned if they contain a metadata attribute whose name \n matches the key and whose value is greater than or equal to the value in this object.

\n

The following example would return data sources with an year attribute whose value is \n greater than or equal to '1989': \"greaterThanOrEquals\": { \"key\": \"year\", \"value\": 1989 }\n

" + } + }, + "lessThan": { + "target": "com.amazonaws.bedrock#FilterAttribute", + "traits": { + "smithy.api#documentation": "

Knowledge base data sources are returned if they contain a metadata attribute whose name matches the \n key and whose value is less than the value in this object.

\n

The following example would return data sources with an year attribute whose value is less than to '1989':\n \"lessThan\": { \"key\": \"year\", \"value\": 1989 }\n

" + } + }, + "lessThanOrEquals": { + "target": "com.amazonaws.bedrock#FilterAttribute", + "traits": { + "smithy.api#documentation": "

Knowledge base data sources are returned if they contain a metadata attribute whose name matches the key \n and whose value is less than or equal to the value in this object.

\n

The following example would return data sources with an year attribute whose value is less than or equal \n to '1989': \"lessThanOrEquals\": { \"key\": \"year\", \"value\": 1989 }\n

" + } + }, + "in": { + "target": "com.amazonaws.bedrock#FilterAttribute", + "traits": { + "smithy.api#documentation": "

Knowledge base data sources are returned if they contain a metadata attribute whose \n name matches the key and whose value is in the list specified in the value in this object.

\n

The following example would return data sources with an animal attribute that is either 'cat' or 'dog':\n \"in\": { \"key\": \"animal\", \"value\": [\"cat\", \"dog\"] }\n

" + } + }, + "notIn": { + "target": "com.amazonaws.bedrock#FilterAttribute", + "traits": { + "smithy.api#documentation": "

Knowledge base data sources are returned if they contain a metadata attribute whose name matches the key \n and whose value isn't in the list specified in the value in this object.

\n

The following example would return data sources whose animal attribute is neither 'cat' nor 'dog':\n \"notIn\": { \"key\": \"animal\", \"value\": [\"cat\", \"dog\"] }\n

" + } + }, + "startsWith": { + "target": "com.amazonaws.bedrock#FilterAttribute", + "traits": { + "smithy.api#documentation": "

Knowledge base data sources are returned if they contain a metadata attribute whose name matches the key \n and whose value starts with the value in this object. This filter is currently only supported for \n Amazon OpenSearch Serverless vector stores.

\n

The following example would return data sources with an animal attribute starts with 'ca' (for example, 'cat' or 'camel').\n \"startsWith\": { \"key\": \"animal\", \"value\": \"ca\" }\n

" + } + }, + "listContains": { + "target": "com.amazonaws.bedrock#FilterAttribute", + "traits": { + "smithy.api#documentation": "

Knowledge base data sources are returned if they contain a metadata attribute whose name matches the key \n and whose value is a list that contains the value as one of its members.

\n

The following example would return data sources with an animals attribute that is a list containing a cat \n member (for example, [\"dog\", \"cat\"]): \"listContains\": { \"key\": \"animals\", \"value\": \"cat\" }\n

" + } + }, + "stringContains": { + "target": "com.amazonaws.bedrock#FilterAttribute", + "traits": { + "smithy.api#documentation": "

Knowledge base data sources are returned if they contain a metadata attribute whose name matches the key \n and whose value is one of the following:

\n

A string that contains the value as a substring. The following example would return data sources with an \n animal attribute that contains the substring at (for example, 'cat'): \n \"stringContains\": { \"key\": \"animal\", \"value\": \"at\" }\n

\n

A list with a member that contains the value as a substring. The following example would return data \n sources with an animals attribute that is a list containing a member that contains the substring at \n (for example, [\"dog\", \"cat\"]): \"stringContains\": { \"key\": \"animals\", \"value\": \"at\" }\n

" + } + }, + "andAll": { + "target": "com.amazonaws.bedrock#RetrievalFilterList", + "traits": { + "smithy.api#documentation": "

Knowledge base data sources are returned if their metadata attributes fulfill all the \n filter conditions inside this list.

" + } + }, + "orAll": { + "target": "com.amazonaws.bedrock#RetrievalFilterList", + "traits": { + "smithy.api#documentation": "

Knowledge base data sources are returned if their metadata attributes fulfill at least one of the filter \n conditions inside this list.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Specifies the filters to use on the metadata attributes/fields in the knowledge base data \n sources before returning results.

", + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.bedrock#RetrievalFilterList": { + "type": "list", + "member": { + "target": "com.amazonaws.bedrock#RetrievalFilter" + }, + "traits": { + "smithy.api#length": { + "min": 2 + } + } + }, + "com.amazonaws.bedrock#RetrieveAndGenerateConfiguration": { + "type": "structure", + "members": { + "type": { + "target": "com.amazonaws.bedrock#RetrieveAndGenerateType", + "traits": { + "smithy.api#documentation": "

The type of resource that contains your data for retrieving information and generating responses.

\n

If you choose to use EXTERNAL_SOURCES, then currently only Claude 3 Sonnet models for knowledge bases are supported.

", + "smithy.api#required": {} + } + }, + "knowledgeBaseConfiguration": { + "target": "com.amazonaws.bedrock#KnowledgeBaseRetrieveAndGenerateConfiguration", + "traits": { + "smithy.api#documentation": "

Contains configuration details for the knowledge base retrieval and response generation.

" + } + }, + "externalSourcesConfiguration": { + "target": "com.amazonaws.bedrock#ExternalSourcesRetrieveAndGenerateConfiguration", + "traits": { + "smithy.api#documentation": "

The configuration for the external source wrapper object in the \n retrieveAndGenerate function.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains configuration details for a knowledge base retrieval and response generation.

" + } + }, + "com.amazonaws.bedrock#RetrieveAndGenerateType": { + "type": "enum", + "members": { + "KNOWLEDGE_BASE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "KNOWLEDGE_BASE" + } + }, + "EXTERNAL_SOURCES": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "EXTERNAL_SOURCES" + } + } + } + }, + "com.amazonaws.bedrock#RetrieveConfig": { + "type": "structure", + "members": { + "knowledgeBaseId": { + "target": "com.amazonaws.bedrock#KnowledgeBaseId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the knowledge base.

", + "smithy.api#required": {} + } + }, + "knowledgeBaseRetrievalConfiguration": { + "target": "com.amazonaws.bedrock#KnowledgeBaseRetrievalConfiguration", + "traits": { + "smithy.api#documentation": "

Contains configuration details for knowledge base retrieval.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

The configuration details for retrieving information from a knowledge base.

" + } + }, "com.amazonaws.bedrock#RoleArn": { "type": "string", "traits": { @@ -9293,6 +10135,21 @@ } } }, + "com.amazonaws.bedrock#S3ObjectDoc": { + "type": "structure", + "members": { + "uri": { + "target": "com.amazonaws.bedrock#kBS3Uri", + "traits": { + "smithy.api#documentation": "

The S3 URI location for the wrapper object of the document.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

The unique wrapper object of the document from the S3 location.

" + } + }, "com.amazonaws.bedrock#S3Uri": { "type": "string", "traits": { @@ -9312,6 +10169,23 @@ "smithy.api#pattern": "^arn:aws(-[^:]+)?:sagemaker:[a-z0-9-]{1,20}:[0-9]{12}:flow-definition/.*$" } }, + "com.amazonaws.bedrock#SearchType": { + "type": "enum", + "members": { + "HYBRID": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "HYBRID" + } + }, + "SEMANTIC": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SEMANTIC" + } + } + } + }, "com.amazonaws.bedrock#SecurityGroupId": { "type": "string", "traits": { @@ -9425,7 +10299,7 @@ } ], "traits": { - "smithy.api#documentation": "

Stops an in progress model evaluation job.

", + "smithy.api#documentation": "

Stops an evaluation job that is current being created or running.

", "smithy.api#http": { "code": 200, "method": "POST", @@ -9439,7 +10313,7 @@ "jobIdentifier": { "target": "com.amazonaws.bedrock#EvaluationJobIdentifier", "traits": { - "smithy.api#documentation": "

The ARN of the model evaluation job you want to stop.

", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the evaluation job you want to stop.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -9757,6 +10631,57 @@ } ] }, + "com.amazonaws.bedrock#Temperature": { + "type": "float", + "traits": { + "smithy.api#range": { + "min": 0, + "max": 1 + } + } + }, + "com.amazonaws.bedrock#TextInferenceConfig": { + "type": "structure", + "members": { + "temperature": { + "target": "com.amazonaws.bedrock#Temperature", + "traits": { + "smithy.api#documentation": "

Controls the random-ness of text generated by the language model, influencing how \n much the model sticks to the most predictable next words versus exploring more \n surprising options. A lower temperature value (e.g. 0.2 or 0.3) makes model outputs \n more deterministic or predictable, while a higher temperature (e.g. 0.8 or 0.9) makes \n the outputs more creative or unpredictable.

" + } + }, + "topP": { + "target": "com.amazonaws.bedrock#TopP", + "traits": { + "smithy.api#documentation": "

A probability distribution threshold which controls what the model considers for \n the set of possible next tokens. The model will only consider the top p% of the \n probability distribution when generating the next token.

" + } + }, + "maxTokens": { + "target": "com.amazonaws.bedrock#MaxTokens", + "traits": { + "smithy.api#documentation": "

The maximum number of tokens to generate in the output text. Do not use the minimum of 0 \n or the maximum of 65536. The limit values described here are arbitrary values, for actual \n values consult the limits defined by your specific model.

" + } + }, + "stopSequences": { + "target": "com.amazonaws.bedrock#RAGStopSequences", + "traits": { + "smithy.api#documentation": "

A list of sequences of characters that, if generated, will cause the model to stop \n generating further tokens. Do not use a minimum length of 1 or a maximum length of 1000. \n The limit values described here are arbitrary values, for actual values consult the \n limits defined by your specific model.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The configuration details for text generation using a language model via the \n RetrieveAndGenerate function.

" + } + }, + "com.amazonaws.bedrock#TextPromptTemplate": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 100000 + }, + "smithy.api#sensitive": {} + } + }, "com.amazonaws.bedrock#ThrottlingException": { "type": "structure", "members": { @@ -9795,6 +10720,15 @@ "smithy.api#httpError": 400 } }, + "com.amazonaws.bedrock#TopP": { + "type": "float", + "traits": { + "smithy.api#range": { + "min": 0, + "max": 1 + } + } + }, "com.amazonaws.bedrock#TrainingDataConfig": { "type": "structure", "members": { @@ -10225,6 +11159,16 @@ "traits": { "smithy.api#documentation": "

The configuration of a virtual private cloud (VPC). For more information, see Protect your data using Amazon Virtual Private Cloud and Amazon Web Services PrivateLink.

" } + }, + "com.amazonaws.bedrock#kBS3Uri": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1024 + }, + "smithy.api#pattern": "^s3://[a-z0-9][a-z0-9.-]{1,61}[a-z0-9]/.{1,1024}$" + } } } } \ No newline at end of file diff --git a/codegen/sdk/aws-models/chime-sdk-voice.json b/codegen/sdk/aws-models/chime-sdk-voice.json index 243b299e885..b91aba9e937 100644 --- a/codegen/sdk/aws-models/chime-sdk-voice.json +++ b/codegen/sdk/aws-models/chime-sdk-voice.json @@ -736,6 +736,9 @@ { "target": "com.amazonaws.chimesdkvoice#DeleteVoiceConnectorEmergencyCallingConfiguration" }, + { + "target": "com.amazonaws.chimesdkvoice#DeleteVoiceConnectorExternalSystemsConfiguration" + }, { "target": "com.amazonaws.chimesdkvoice#DeleteVoiceConnectorGroup" }, @@ -802,6 +805,9 @@ { "target": "com.amazonaws.chimesdkvoice#GetVoiceConnectorEmergencyCallingConfiguration" }, + { + "target": "com.amazonaws.chimesdkvoice#GetVoiceConnectorExternalSystemsConfiguration" + }, { "target": "com.amazonaws.chimesdkvoice#GetVoiceConnectorGroup" }, @@ -880,6 +886,9 @@ { "target": "com.amazonaws.chimesdkvoice#PutVoiceConnectorEmergencyCallingConfiguration" }, + { + "target": "com.amazonaws.chimesdkvoice#PutVoiceConnectorExternalSystemsConfiguration" + }, { "target": "com.amazonaws.chimesdkvoice#PutVoiceConnectorLoggingConfiguration" }, @@ -1671,6 +1680,41 @@ "smithy.api#httpError": 409 } }, + "com.amazonaws.chimesdkvoice#ContactCenterSystemType": { + "type": "enum", + "members": { + "GENESYS_ENGAGE_ON_PREMISES": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "GENESYS_ENGAGE_ON_PREMISES" + } + }, + "AVAYA_AURA_CALL_CENTER_ELITE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AVAYA_AURA_CALL_CENTER_ELITE" + } + }, + "AVAYA_AURA_CONTACT_CENTER": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AVAYA_AURA_CONTACT_CENTER" + } + }, + "CISCO_UNIFIED_CONTACT_CENTER_ENTERPRISE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CISCO_UNIFIED_CONTACT_CENTER_ENTERPRISE" + } + } + } + }, + "com.amazonaws.chimesdkvoice#ContactCenterSystemTypeList": { + "type": "list", + "member": { + "target": "com.amazonaws.chimesdkvoice#ContactCenterSystemType" + } + }, "com.amazonaws.chimesdkvoice#Country": { "type": "string", "traits": { @@ -2340,6 +2384,12 @@ "traits": { "smithy.api#documentation": "

The tags assigned to the Voice Connector.

" } + }, + "IntegrationType": { + "target": "com.amazonaws.chimesdkvoice#VoiceConnectorIntegrationType", + "traits": { + "smithy.api#documentation": "

The connectors for use with Amazon Connect.

\n

The following options are available:

\n
    \n
  • \n

    \n CONNECT_CALL_TRANSFER_CONNECTOR - Enables enterprises to integrate\n Amazon Connect with other voice systems to directly transfer voice calls and\n metadata without using the public telephone network. They can use Amazon Connect\n telephony and Interactive Voice Response (IVR) with their existing voice systems to\n modernize the IVR experience of their existing contact center and their enterprise\n and branch voice systems. Additionally, enterprises migrating their contact center to\n Amazon Connect can start with Connect telephony and IVR for immediate\n modernization ahead of agent migration.

    \n
  • \n
  • \n

    \n CONNECT_ANALYTICS_CONNECTOR - Enables enterprises to integrate\n Amazon Connect with other voice systems for real-time and post-call analytics.\n They can use Amazon Connect Contact Lens with their existing voice systems to\n provides call recordings, conversational analytics (including contact transcript,\n sensitive data redaction, content categorization, theme detection, sentiment\n analysis, real-time alerts, and post-contact summary), and agent performance\n evaluations (including evaluation forms, automated evaluation, supervisor review)\n with a rich user experience to display, search and filter customer interactions, and\n programmatic access to data streams and the data lake. Additionally, enterprises\n migrating their contact center to Amazon Connect can start with Contact Lens\n analytics and performance insights ahead of agent migration.

    \n
  • \n
" + } } }, "traits": { @@ -2946,6 +2996,63 @@ "smithy.api#input": {} } }, + "com.amazonaws.chimesdkvoice#DeleteVoiceConnectorExternalSystemsConfiguration": { + "type": "operation", + "input": { + "target": "com.amazonaws.chimesdkvoice#DeleteVoiceConnectorExternalSystemsConfigurationRequest" + }, + "output": { + "target": "smithy.api#Unit" + }, + "errors": [ + { + "target": "com.amazonaws.chimesdkvoice#BadRequestException" + }, + { + "target": "com.amazonaws.chimesdkvoice#ForbiddenException" + }, + { + "target": "com.amazonaws.chimesdkvoice#NotFoundException" + }, + { + "target": "com.amazonaws.chimesdkvoice#ServiceFailureException" + }, + { + "target": "com.amazonaws.chimesdkvoice#ServiceUnavailableException" + }, + { + "target": "com.amazonaws.chimesdkvoice#ThrottledClientException" + }, + { + "target": "com.amazonaws.chimesdkvoice#UnauthorizedClientException" + } + ], + "traits": { + "smithy.api#documentation": "

Deletes the external systems configuration for a Voice Connector.

", + "smithy.api#http": { + "method": "DELETE", + "uri": "/voice-connectors/{VoiceConnectorId}/external-systems-configuration", + "code": 204 + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.chimesdkvoice#DeleteVoiceConnectorExternalSystemsConfigurationRequest": { + "type": "structure", + "members": { + "VoiceConnectorId": { + "target": "com.amazonaws.chimesdkvoice#NonEmptyString", + "traits": { + "smithy.api#documentation": "

The ID of the Voice Connector for which to delete the external system\n configuration.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, "com.amazonaws.chimesdkvoice#DeleteVoiceConnectorGroup": { "type": "operation", "input": { @@ -3714,6 +3821,26 @@ } } }, + "com.amazonaws.chimesdkvoice#ExternalSystemsConfiguration": { + "type": "structure", + "members": { + "SessionBorderControllerTypes": { + "target": "com.amazonaws.chimesdkvoice#SessionBorderControllerTypeList", + "traits": { + "smithy.api#documentation": "

The session border controllers.

" + } + }, + "ContactCenterSystemTypes": { + "target": "com.amazonaws.chimesdkvoice#ContactCenterSystemTypeList", + "traits": { + "smithy.api#documentation": "

The contact center system.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains information about an external systems configuration for a Voice\n Connector.

" + } + }, "com.amazonaws.chimesdkvoice#ForbiddenException": { "type": "structure", "members": { @@ -4583,6 +4710,76 @@ "smithy.api#output": {} } }, + "com.amazonaws.chimesdkvoice#GetVoiceConnectorExternalSystemsConfiguration": { + "type": "operation", + "input": { + "target": "com.amazonaws.chimesdkvoice#GetVoiceConnectorExternalSystemsConfigurationRequest" + }, + "output": { + "target": "com.amazonaws.chimesdkvoice#GetVoiceConnectorExternalSystemsConfigurationResponse" + }, + "errors": [ + { + "target": "com.amazonaws.chimesdkvoice#BadRequestException" + }, + { + "target": "com.amazonaws.chimesdkvoice#ForbiddenException" + }, + { + "target": "com.amazonaws.chimesdkvoice#NotFoundException" + }, + { + "target": "com.amazonaws.chimesdkvoice#ServiceFailureException" + }, + { + "target": "com.amazonaws.chimesdkvoice#ServiceUnavailableException" + }, + { + "target": "com.amazonaws.chimesdkvoice#ThrottledClientException" + }, + { + "target": "com.amazonaws.chimesdkvoice#UnauthorizedClientException" + } + ], + "traits": { + "smithy.api#documentation": "

Gets information about an external systems configuration for a Voice\n Connector.

", + "smithy.api#http": { + "method": "GET", + "uri": "/voice-connectors/{VoiceConnectorId}/external-systems-configuration", + "code": 200 + } + } + }, + "com.amazonaws.chimesdkvoice#GetVoiceConnectorExternalSystemsConfigurationRequest": { + "type": "structure", + "members": { + "VoiceConnectorId": { + "target": "com.amazonaws.chimesdkvoice#NonEmptyString", + "traits": { + "smithy.api#documentation": "

The ID of the Voice Connector for which to return information about the\n external system configuration.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.chimesdkvoice#GetVoiceConnectorExternalSystemsConfigurationResponse": { + "type": "structure", + "members": { + "ExternalSystemsConfiguration": { + "target": "com.amazonaws.chimesdkvoice#ExternalSystemsConfiguration", + "traits": { + "smithy.api#documentation": "

An object that contains information about an external systems configuration for a Voice Connector.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.chimesdkvoice#GetVoiceConnectorGroup": { "type": "operation", "input": { @@ -7739,6 +7936,92 @@ "smithy.api#output": {} } }, + "com.amazonaws.chimesdkvoice#PutVoiceConnectorExternalSystemsConfiguration": { + "type": "operation", + "input": { + "target": "com.amazonaws.chimesdkvoice#PutVoiceConnectorExternalSystemsConfigurationRequest" + }, + "output": { + "target": "com.amazonaws.chimesdkvoice#PutVoiceConnectorExternalSystemsConfigurationResponse" + }, + "errors": [ + { + "target": "com.amazonaws.chimesdkvoice#BadRequestException" + }, + { + "target": "com.amazonaws.chimesdkvoice#ConflictException" + }, + { + "target": "com.amazonaws.chimesdkvoice#ForbiddenException" + }, + { + "target": "com.amazonaws.chimesdkvoice#NotFoundException" + }, + { + "target": "com.amazonaws.chimesdkvoice#ServiceFailureException" + }, + { + "target": "com.amazonaws.chimesdkvoice#ServiceUnavailableException" + }, + { + "target": "com.amazonaws.chimesdkvoice#ThrottledClientException" + }, + { + "target": "com.amazonaws.chimesdkvoice#UnauthorizedClientException" + } + ], + "traits": { + "smithy.api#documentation": "

Adds an external systems configuration to a Voice Connector.

", + "smithy.api#http": { + "method": "PUT", + "uri": "/voice-connectors/{VoiceConnectorId}/external-systems-configuration", + "code": 200 + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.chimesdkvoice#PutVoiceConnectorExternalSystemsConfigurationRequest": { + "type": "structure", + "members": { + "VoiceConnectorId": { + "target": "com.amazonaws.chimesdkvoice#NonEmptyString128", + "traits": { + "smithy.api#documentation": "

The ID of the Voice Connector for which to add the external system\n configuration.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "SessionBorderControllerTypes": { + "target": "com.amazonaws.chimesdkvoice#SessionBorderControllerTypeList", + "traits": { + "smithy.api#documentation": "

The session border controllers to use.

" + } + }, + "ContactCenterSystemTypes": { + "target": "com.amazonaws.chimesdkvoice#ContactCenterSystemTypeList", + "traits": { + "smithy.api#documentation": "

The contact center system to use.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.chimesdkvoice#PutVoiceConnectorExternalSystemsConfigurationResponse": { + "type": "structure", + "members": { + "ExternalSystemsConfiguration": { + "target": "com.amazonaws.chimesdkvoice#ExternalSystemsConfiguration", + "traits": { + "smithy.api#documentation": "

An object that contains information about an external systems configuration for a Voice Connector.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.chimesdkvoice#PutVoiceConnectorLoggingConfiguration": { "type": "operation", "input": { @@ -8534,6 +8817,47 @@ "smithy.api#httpError": 503 } }, + "com.amazonaws.chimesdkvoice#SessionBorderControllerType": { + "type": "enum", + "members": { + "RIBBON_SBC": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RIBBON_SBC" + } + }, + "ORACLE_ACME_PACKET_SBC": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ORACLE_ACME_PACKET_SBC" + } + }, + "AVAYA_SBCE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AVAYA_SBCE" + } + }, + "CISCO_UNIFIED_BORDER_ELEMENT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CISCO_UNIFIED_BORDER_ELEMENT" + } + }, + "AUDIOCODES_MEDIANT_SBC": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AUDIOCODES_MEDIANT_SBC" + } + } + } + }, + "com.amazonaws.chimesdkvoice#SessionBorderControllerTypeList": { + "type": "list", + "member": { + "target": "com.amazonaws.chimesdkvoice#SessionBorderControllerType" + } + }, "com.amazonaws.chimesdkvoice#SipApplicationPriority": { "type": "integer", "traits": { @@ -10796,6 +11120,12 @@ "traits": { "smithy.api#documentation": "

The ARN of the Voice Connector.

" } + }, + "IntegrationType": { + "target": "com.amazonaws.chimesdkvoice#VoiceConnectorIntegrationType", + "traits": { + "smithy.api#documentation": "

The connectors for use with Amazon Connect.

" + } } }, "traits": { @@ -10933,6 +11263,23 @@ "smithy.api#pattern": "^[a-zA-Z0-9 _.-]+$" } }, + "com.amazonaws.chimesdkvoice#VoiceConnectorIntegrationType": { + "type": "enum", + "members": { + "CONNECT_CALL_TRANSFER_CONNECTOR": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CONNECT_CALL_TRANSFER_CONNECTOR" + } + }, + "CONNECT_ANALYTICS_CONNECTOR": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CONNECT_ANALYTICS_CONNECTOR" + } + } + } + }, "com.amazonaws.chimesdkvoice#VoiceConnectorItem": { "type": "structure", "members": { diff --git a/codegen/sdk/aws-models/cleanrooms.json b/codegen/sdk/aws-models/cleanrooms.json index 2c1e21c224a..71e7cca3185 100644 --- a/codegen/sdk/aws-models/cleanrooms.json +++ b/codegen/sdk/aws-models/cleanrooms.json @@ -1801,6 +1801,79 @@ } } }, + "com.amazonaws.cleanrooms#AthenaDatabaseName": { + "type": "string", + "traits": { + "smithy.api#length": { + "max": 128 + }, + "smithy.api#pattern": "^[a-zA-Z0-9_](([a-zA-Z0-9_]+-)*([a-zA-Z0-9_]+))?$" + } + }, + "com.amazonaws.cleanrooms#AthenaOutputLocation": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 8, + "max": 1024 + }, + "smithy.api#pattern": "^s3://[a-z0-9.-]{3,63}(.*)$" + } + }, + "com.amazonaws.cleanrooms#AthenaTableName": { + "type": "string", + "traits": { + "smithy.api#length": { + "max": 128 + }, + "smithy.api#pattern": "^[a-zA-Z0-9_](([a-zA-Z0-9_ ]+-)*([a-zA-Z0-9_ ]+))?$" + } + }, + "com.amazonaws.cleanrooms#AthenaTableReference": { + "type": "structure", + "members": { + "workGroup": { + "target": "com.amazonaws.cleanrooms#AthenaWorkGroup", + "traits": { + "smithy.api#documentation": "

The workgroup of the Athena table reference.

", + "smithy.api#required": {} + } + }, + "outputLocation": { + "target": "com.amazonaws.cleanrooms#AthenaOutputLocation", + "traits": { + "smithy.api#documentation": "

The output location for the Athena table.

" + } + }, + "databaseName": { + "target": "com.amazonaws.cleanrooms#AthenaDatabaseName", + "traits": { + "smithy.api#documentation": "

The database name.

", + "smithy.api#required": {} + } + }, + "tableName": { + "target": "com.amazonaws.cleanrooms#AthenaTableName", + "traits": { + "smithy.api#documentation": "

The table reference.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

A reference to a table within Athena.

" + } + }, + "com.amazonaws.cleanrooms#AthenaWorkGroup": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 128 + }, + "smithy.api#pattern": "^([a-zA-Z0-9._-])*$" + } + }, "com.amazonaws.cleanrooms#BatchGetCollaborationAnalysisTemplate": { "type": "operation", "input": { @@ -3293,7 +3366,7 @@ } }, "traits": { - "smithy.api#documentation": "

A column within a schema relation, derived from the underlying Glue\n table.

" + "smithy.api#documentation": "

A column within a schema relation, derived from the underlying\n table.

" } }, "com.amazonaws.cleanrooms#ColumnList": { @@ -3642,7 +3715,7 @@ "tableReference": { "target": "com.amazonaws.cleanrooms#TableReference", "traits": { - "smithy.api#documentation": "

The Glue table that this configured table represents.

", + "smithy.api#documentation": "

The\n table\n that this configured table represents.

", "smithy.api#required": {} } }, @@ -5082,7 +5155,7 @@ "tableReference": { "target": "com.amazonaws.cleanrooms#TableReference", "traits": { - "smithy.api#documentation": "

A reference to the Glue table being configured.

", + "smithy.api#documentation": "

A reference to the\n table\n being configured.

", "smithy.api#required": {} } }, @@ -13246,6 +13319,15 @@ "smithy.api#documentation": "

Information about the schema type properties.

" } }, + "com.amazonaws.cleanrooms#SecretsManagerArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "max": 256 + }, + "smithy.api#pattern": "^arn:aws:secretsmanager:[a-z]{2}-[a-z]+-[0-9]:\\d{12}:secret:.*$" + } + }, "com.amazonaws.cleanrooms#ServiceQuotaExceededException": { "type": "structure", "members": { @@ -13276,6 +13358,144 @@ "smithy.api#httpError": 402 } }, + "com.amazonaws.cleanrooms#SnowflakeAccountIdentifier": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 3, + "max": 256 + }, + "smithy.api#pattern": "^[\\p{L}\\p{M}\\p{N}\\p{Pc}\\p{Pd}\\p{Zs}.]+$" + } + }, + "com.amazonaws.cleanrooms#SnowflakeDatabaseName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 256 + }, + "smithy.api#pattern": "^[\\p{L}\\p{M}\\p{N}\\p{Pc}\\p{Pd}\\p{Zs}]+$" + } + }, + "com.amazonaws.cleanrooms#SnowflakeSchemaName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 256 + }, + "smithy.api#pattern": "^[\\p{L}\\p{M}\\p{N}\\p{Pc}\\p{Pd}\\p{Zs}]+$" + } + }, + "com.amazonaws.cleanrooms#SnowflakeTableName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 256 + }, + "smithy.api#pattern": "^[\\p{L}\\p{M}\\p{N}\\p{Pc}\\p{Pd}\\p{Zs}]+$" + } + }, + "com.amazonaws.cleanrooms#SnowflakeTableReference": { + "type": "structure", + "members": { + "secretArn": { + "target": "com.amazonaws.cleanrooms#SecretsManagerArn", + "traits": { + "smithy.api#documentation": "

The secret ARN of the Snowflake table reference.

", + "smithy.api#required": {} + } + }, + "accountIdentifier": { + "target": "com.amazonaws.cleanrooms#SnowflakeAccountIdentifier", + "traits": { + "smithy.api#documentation": "

The account identifier for the Snowflake table reference.

", + "smithy.api#required": {} + } + }, + "databaseName": { + "target": "com.amazonaws.cleanrooms#SnowflakeDatabaseName", + "traits": { + "smithy.api#documentation": "

The name of the database the Snowflake table belongs to.

", + "smithy.api#required": {} + } + }, + "tableName": { + "target": "com.amazonaws.cleanrooms#SnowflakeTableName", + "traits": { + "smithy.api#documentation": "

The name of the Snowflake table.

", + "smithy.api#required": {} + } + }, + "schemaName": { + "target": "com.amazonaws.cleanrooms#SnowflakeSchemaName", + "traits": { + "smithy.api#documentation": "

The schema name of the Snowflake table reference.

", + "smithy.api#required": {} + } + }, + "tableSchema": { + "target": "com.amazonaws.cleanrooms#SnowflakeTableSchema", + "traits": { + "smithy.api#documentation": "

The schema of the Snowflake table.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

A reference to a table within Snowflake.

" + } + }, + "com.amazonaws.cleanrooms#SnowflakeTableSchema": { + "type": "union", + "members": { + "v1": { + "target": "com.amazonaws.cleanrooms#SnowflakeTableSchemaList", + "traits": { + "smithy.api#documentation": "

The schema of a Snowflake table.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The schema of a Snowflake table.

" + } + }, + "com.amazonaws.cleanrooms#SnowflakeTableSchemaList": { + "type": "list", + "member": { + "target": "com.amazonaws.cleanrooms#SnowflakeTableSchemaV1" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 250 + } + } + }, + "com.amazonaws.cleanrooms#SnowflakeTableSchemaV1": { + "type": "structure", + "members": { + "columnName": { + "target": "com.amazonaws.cleanrooms#ColumnName", + "traits": { + "smithy.api#documentation": "

The column name.

", + "smithy.api#required": {} + } + }, + "columnType": { + "target": "com.amazonaws.cleanrooms#ColumnTypeString", + "traits": { + "smithy.api#documentation": "

The column's data type. Supported data types: ARRAY, BIGINT,\n BOOLEAN, CHAR, DATE,\n DECIMAL, DOUBLE, DOUBLE PRECISION,\n FLOAT, FLOAT4, INT, INTEGER,\n MAP, NUMERIC, NUMBER, REAL,\n SMALLINT, STRING, TIMESTAMP,\n TIMESTAMP_LTZ, TIMESTAMP_NTZ, DATETIME,\n TINYINT, VARCHAR, TEXT, CHARACTER.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

The Snowflake table schema.

" + } + }, "com.amazonaws.cleanrooms#StartProtectedQuery": { "type": "operation", "input": { @@ -13404,10 +13624,22 @@ "traits": { "smithy.api#documentation": "

If present, a reference to the Glue table referred to by this table\n reference.

" } + }, + "snowflake": { + "target": "com.amazonaws.cleanrooms#SnowflakeTableReference", + "traits": { + "smithy.api#documentation": "

If present, a reference to the Snowflake table referred to by this table reference.

" + } + }, + "athena": { + "target": "com.amazonaws.cleanrooms#AthenaTableReference", + "traits": { + "smithy.api#documentation": "

If present, a reference to the Athena table referred to by this table reference.

" + } } }, "traits": { - "smithy.api#documentation": "

A pointer to the dataset that underlies this table. Currently, this can only be an Glue\n table.

" + "smithy.api#documentation": "

A pointer to the dataset that underlies this table.

" } }, "com.amazonaws.cleanrooms#TagKey": { diff --git a/codegen/sdk/aws-models/cloudwatch-logs.json b/codegen/sdk/aws-models/cloudwatch-logs.json index bf8ad6a7c04..b0595b8e02a 100644 --- a/codegen/sdk/aws-models/cloudwatch-logs.json +++ b/codegen/sdk/aws-models/cloudwatch-logs.json @@ -657,6 +657,15 @@ "smithy.api#pattern": "^\\S{36,128}$" } }, + "com.amazonaws.cloudwatchlogs#CollectionRetentionDays": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 1, + "max": 30 + } + } + }, "com.amazonaws.cloudwatchlogs#Column": { "type": "string", "traits": { @@ -1251,6 +1260,12 @@ "smithy.api#input": {} } }, + "com.amazonaws.cloudwatchlogs#DashboardViewerPrincipals": { + "type": "list", + "member": { + "target": "com.amazonaws.cloudwatchlogs#Arn" + } + }, "com.amazonaws.cloudwatchlogs#DataAlreadyAcceptedException": { "type": "structure", "members": { @@ -1723,6 +1738,61 @@ "smithy.api#output": {} } }, + "com.amazonaws.cloudwatchlogs#DeleteIntegration": { + "type": "operation", + "input": { + "target": "com.amazonaws.cloudwatchlogs#DeleteIntegrationRequest" + }, + "output": { + "target": "com.amazonaws.cloudwatchlogs#DeleteIntegrationResponse" + }, + "errors": [ + { + "target": "com.amazonaws.cloudwatchlogs#InvalidParameterException" + }, + { + "target": "com.amazonaws.cloudwatchlogs#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.cloudwatchlogs#ServiceUnavailableException" + }, + { + "target": "com.amazonaws.cloudwatchlogs#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Deletes the integration between CloudWatch Logs and OpenSearch Service. If your integration has active vended logs dashboards, \n you must specify true for the force parameter, otherwise the operation will fail. If you delete the integration by \n setting force to true, \n all your vended logs dashboards powered by OpenSearch Service will be deleted and the data that was on them \n will no longer be accessible.

" + } + }, + "com.amazonaws.cloudwatchlogs#DeleteIntegrationRequest": { + "type": "structure", + "members": { + "integrationName": { + "target": "com.amazonaws.cloudwatchlogs#IntegrationName", + "traits": { + "smithy.api#documentation": "

The name of the integration to delete. To find the name of your integration, use \n ListIntegrations.

", + "smithy.api#required": {} + } + }, + "force": { + "target": "com.amazonaws.cloudwatchlogs#Force", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

Specify true to force the deletion of the integration even if vended logs dashboards currently exist.

\n

The default is false.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.cloudwatchlogs#DeleteIntegrationResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.cloudwatchlogs#DeleteKeys": { "type": "structure", "members": { @@ -3442,6 +3512,12 @@ }, "nextToken": { "target": "com.amazonaws.cloudwatchlogs#NextToken" + }, + "queryLanguage": { + "target": "com.amazonaws.cloudwatchlogs#QueryLanguage", + "traits": { + "smithy.api#documentation": "

Limits the returned queries to only the queries that use the specified query language.

" + } } }, "traits": { @@ -3488,6 +3564,12 @@ "com.amazonaws.cloudwatchlogs#DescribeQueryDefinitionsRequest": { "type": "structure", "members": { + "queryLanguage": { + "target": "com.amazonaws.cloudwatchlogs#QueryLanguage", + "traits": { + "smithy.api#documentation": "

The query language used for this query. For more information about the query languages that CloudWatch Logs supports, \n see Supported query languages.

" + } + }, "queryDefinitionNamePrefix": { "target": "com.amazonaws.cloudwatchlogs#QueryDefinitionName", "traits": { @@ -4565,6 +4647,12 @@ } } }, + "com.amazonaws.cloudwatchlogs#Force": { + "type": "boolean", + "traits": { + "smithy.api#default": false + } + }, "com.amazonaws.cloudwatchlogs#ForceUpdate": { "type": "boolean" }, @@ -4870,6 +4958,76 @@ "smithy.api#output": {} } }, + "com.amazonaws.cloudwatchlogs#GetIntegration": { + "type": "operation", + "input": { + "target": "com.amazonaws.cloudwatchlogs#GetIntegrationRequest" + }, + "output": { + "target": "com.amazonaws.cloudwatchlogs#GetIntegrationResponse" + }, + "errors": [ + { + "target": "com.amazonaws.cloudwatchlogs#InvalidParameterException" + }, + { + "target": "com.amazonaws.cloudwatchlogs#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.cloudwatchlogs#ServiceUnavailableException" + } + ], + "traits": { + "smithy.api#documentation": "

Returns information about one integration between CloudWatch Logs and OpenSearch Service.

" + } + }, + "com.amazonaws.cloudwatchlogs#GetIntegrationRequest": { + "type": "structure", + "members": { + "integrationName": { + "target": "com.amazonaws.cloudwatchlogs#IntegrationName", + "traits": { + "smithy.api#documentation": "

The name of the integration that you want to find information about. To find the name of your integration, use \n ListIntegrations\n

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.cloudwatchlogs#GetIntegrationResponse": { + "type": "structure", + "members": { + "integrationName": { + "target": "com.amazonaws.cloudwatchlogs#IntegrationName", + "traits": { + "smithy.api#documentation": "

The name of the integration.

" + } + }, + "integrationType": { + "target": "com.amazonaws.cloudwatchlogs#IntegrationType", + "traits": { + "smithy.api#documentation": "

The type of integration. Integrations with OpenSearch Service have the type OPENSEARCH.

" + } + }, + "integrationStatus": { + "target": "com.amazonaws.cloudwatchlogs#IntegrationStatus", + "traits": { + "smithy.api#documentation": "

The current status of this integration.

" + } + }, + "integrationDetails": { + "target": "com.amazonaws.cloudwatchlogs#IntegrationDetails", + "traits": { + "smithy.api#documentation": "

A structure that contains information about the integration configuration. For an integration \n with OpenSearch Service, this includes information about OpenSearch Service resources such as the collection, the workspace, \n and policies.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.cloudwatchlogs#GetLogAnomalyDetector": { "type": "operation", "input": { @@ -5276,6 +5434,12 @@ "com.amazonaws.cloudwatchlogs#GetQueryResultsResponse": { "type": "structure", "members": { + "queryLanguage": { + "target": "com.amazonaws.cloudwatchlogs#QueryLanguage", + "traits": { + "smithy.api#documentation": "

The query language used for this query. For more information about the query languages that CloudWatch Logs supports, \n see Supported query languages.

" + } + }, "results": { "target": "com.amazonaws.cloudwatchlogs#QueryResults", "traits": { @@ -5558,6 +5722,114 @@ "smithy.api#default": 0 } }, + "com.amazonaws.cloudwatchlogs#IntegrationDetails": { + "type": "union", + "members": { + "openSearchIntegrationDetails": { + "target": "com.amazonaws.cloudwatchlogs#OpenSearchIntegrationDetails", + "traits": { + "smithy.api#documentation": "

This structure contains complete information about one integration between CloudWatch Logs and\n OpenSearch Service.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

This structure contains information about the integration configuration. For an integration \n with OpenSearch Service, this includes information about OpenSearch Service resources such as the collection, the workspace, \n and policies.

\n

This structure\n is returned by a GetIntegration operation.

" + } + }, + "com.amazonaws.cloudwatchlogs#IntegrationName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 256 + }, + "smithy.api#pattern": "^[\\.\\-_/#A-Za-z0-9]+$" + } + }, + "com.amazonaws.cloudwatchlogs#IntegrationNamePrefix": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 256 + }, + "smithy.api#pattern": "^[\\.\\-_/#A-Za-z0-9]+$" + } + }, + "com.amazonaws.cloudwatchlogs#IntegrationStatus": { + "type": "enum", + "members": { + "PROVISIONING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PROVISIONING" + } + }, + "ACTIVE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ACTIVE" + } + }, + "FAILED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FAILED" + } + } + } + }, + "com.amazonaws.cloudwatchlogs#IntegrationStatusMessage": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1 + } + } + }, + "com.amazonaws.cloudwatchlogs#IntegrationSummaries": { + "type": "list", + "member": { + "target": "com.amazonaws.cloudwatchlogs#IntegrationSummary" + } + }, + "com.amazonaws.cloudwatchlogs#IntegrationSummary": { + "type": "structure", + "members": { + "integrationName": { + "target": "com.amazonaws.cloudwatchlogs#IntegrationName", + "traits": { + "smithy.api#documentation": "

The name of this integration.

" + } + }, + "integrationType": { + "target": "com.amazonaws.cloudwatchlogs#IntegrationType", + "traits": { + "smithy.api#documentation": "

The type of integration. Integrations with OpenSearch Service have the type OPENSEARCH.

" + } + }, + "integrationStatus": { + "target": "com.amazonaws.cloudwatchlogs#IntegrationStatus", + "traits": { + "smithy.api#documentation": "

The current status of this integration.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

This structure contains information about one CloudWatch Logs integration. This structure\n is returned by a ListIntegrations operation.

" + } + }, + "com.amazonaws.cloudwatchlogs#IntegrationType": { + "type": "enum", + "members": { + "OPENSEARCH": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "OPENSEARCH" + } + } + } + }, "com.amazonaws.cloudwatchlogs#Interleaved": { "type": "boolean" }, @@ -5741,6 +6013,66 @@ "smithy.api#output": {} } }, + "com.amazonaws.cloudwatchlogs#ListIntegrations": { + "type": "operation", + "input": { + "target": "com.amazonaws.cloudwatchlogs#ListIntegrationsRequest" + }, + "output": { + "target": "com.amazonaws.cloudwatchlogs#ListIntegrationsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.cloudwatchlogs#InvalidParameterException" + }, + { + "target": "com.amazonaws.cloudwatchlogs#ServiceUnavailableException" + } + ], + "traits": { + "smithy.api#documentation": "

Returns a list of integrations between CloudWatch Logs and other services in this account. Currently, only one\n integration can be created in an account, and this integration must be with OpenSearch Service.

" + } + }, + "com.amazonaws.cloudwatchlogs#ListIntegrationsRequest": { + "type": "structure", + "members": { + "integrationNamePrefix": { + "target": "com.amazonaws.cloudwatchlogs#IntegrationNamePrefix", + "traits": { + "smithy.api#documentation": "

To limit the results to integrations that start with a certain name prefix, specify that name prefix here.

" + } + }, + "integrationType": { + "target": "com.amazonaws.cloudwatchlogs#IntegrationType", + "traits": { + "smithy.api#documentation": "

To limit the results to integrations of a certain type, specify that type here.

" + } + }, + "integrationStatus": { + "target": "com.amazonaws.cloudwatchlogs#IntegrationStatus", + "traits": { + "smithy.api#documentation": "

To limit the results to integrations with a certain status, specify that status here.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.cloudwatchlogs#ListIntegrationsResponse": { + "type": "structure", + "members": { + "integrationSummaries": { + "target": "com.amazonaws.cloudwatchlogs#IntegrationSummaries", + "traits": { + "smithy.api#documentation": "

An array, where each object in the array contains information about one CloudWatch Logs integration in this account.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.cloudwatchlogs#ListLogAnomalyDetectors": { "type": "operation", "input": { @@ -6561,6 +6893,9 @@ { "target": "com.amazonaws.cloudwatchlogs#DeleteIndexPolicy" }, + { + "target": "com.amazonaws.cloudwatchlogs#DeleteIntegration" + }, { "target": "com.amazonaws.cloudwatchlogs#DeleteLogAnomalyDetector" }, @@ -6657,6 +6992,9 @@ { "target": "com.amazonaws.cloudwatchlogs#GetDeliverySource" }, + { + "target": "com.amazonaws.cloudwatchlogs#GetIntegration" + }, { "target": "com.amazonaws.cloudwatchlogs#GetLogAnomalyDetector" }, @@ -6678,6 +7016,9 @@ { "target": "com.amazonaws.cloudwatchlogs#ListAnomalies" }, + { + "target": "com.amazonaws.cloudwatchlogs#ListIntegrations" + }, { "target": "com.amazonaws.cloudwatchlogs#ListLogAnomalyDetectors" }, @@ -6714,6 +7055,9 @@ { "target": "com.amazonaws.cloudwatchlogs#PutIndexPolicy" }, + { + "target": "com.amazonaws.cloudwatchlogs#PutIntegration" + }, { "target": "com.amazonaws.cloudwatchlogs#PutLogEvents" }, @@ -8132,17 +8476,395 @@ } } }, - "com.amazonaws.cloudwatchlogs#OperationAbortedException": { + "com.amazonaws.cloudwatchlogs#OpenSearchApplication": { "type": "structure", "members": { - "message": { - "target": "com.amazonaws.cloudwatchlogs#Message" - } - }, - "traits": { - "smithy.api#documentation": "

Multiple concurrent requests to update the same resource were in conflict.

", - "smithy.api#error": "client" - } + "applicationEndpoint": { + "target": "com.amazonaws.cloudwatchlogs#OpenSearchApplicationEndpoint", + "traits": { + "smithy.api#documentation": "

The endpoint of the application.

" + } + }, + "applicationArn": { + "target": "com.amazonaws.cloudwatchlogs#Arn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the application.

" + } + }, + "applicationId": { + "target": "com.amazonaws.cloudwatchlogs#OpenSearchApplicationId", + "traits": { + "smithy.api#documentation": "

The ID of the application.

" + } + }, + "status": { + "target": "com.amazonaws.cloudwatchlogs#OpenSearchResourceStatus", + "traits": { + "smithy.api#documentation": "

This structure contains information about the status of this OpenSearch Service resource.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

This structure contains information about the OpenSearch Service application used for this integration.\n An OpenSearch Service application is the web application created by the integration with CloudWatch Logs. It hosts the vended logs dashboards.

" + } + }, + "com.amazonaws.cloudwatchlogs#OpenSearchApplicationEndpoint": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1024 + }, + "smithy.api#pattern": "^https://[\\.\\-_/#:A-Za-z0-9]+\\.com$" + } + }, + "com.amazonaws.cloudwatchlogs#OpenSearchApplicationId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 256 + }, + "smithy.api#pattern": "^[\\.\\-_/#A-Za-z0-9]+$" + } + }, + "com.amazonaws.cloudwatchlogs#OpenSearchCollection": { + "type": "structure", + "members": { + "collectionEndpoint": { + "target": "com.amazonaws.cloudwatchlogs#OpenSearchCollectionEndpoint", + "traits": { + "smithy.api#documentation": "

The endpoint of the collection.

" + } + }, + "collectionArn": { + "target": "com.amazonaws.cloudwatchlogs#Arn", + "traits": { + "smithy.api#documentation": "

The ARN of the collection.

" + } + }, + "status": { + "target": "com.amazonaws.cloudwatchlogs#OpenSearchResourceStatus", + "traits": { + "smithy.api#documentation": "

This structure contains information about the status of this OpenSearch Service resource.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

This structure contains information about the OpenSearch Service collection used for this integration.\n An OpenSearch Service collection is a logical grouping of one or more indexes that represent an analytics workload. \n For more information, see Creating and managing OpenSearch Service Serverless collections.

" + } + }, + "com.amazonaws.cloudwatchlogs#OpenSearchCollectionEndpoint": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1024 + }, + "smithy.api#pattern": "^https://[\\.\\-_/#:A-Za-z0-9]+\\.com$" + } + }, + "com.amazonaws.cloudwatchlogs#OpenSearchDataAccessPolicy": { + "type": "structure", + "members": { + "policyName": { + "target": "com.amazonaws.cloudwatchlogs#OpenSearchPolicyName", + "traits": { + "smithy.api#documentation": "

The name of the data access policy.

" + } + }, + "status": { + "target": "com.amazonaws.cloudwatchlogs#OpenSearchResourceStatus", + "traits": { + "smithy.api#documentation": "

This structure contains information about the status of this OpenSearch Service resource.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

This structure contains information about the OpenSearch Service data access policy used for this integration. The access \n policy defines the access controls for the collection. This data access policy was automatically created as part of the integration setup.\n For more information about OpenSearch Service data access policies, see Data access control for Amazon OpenSearch Serverless in the OpenSearch Service Developer Guide.

" + } + }, + "com.amazonaws.cloudwatchlogs#OpenSearchDataSource": { + "type": "structure", + "members": { + "dataSourceName": { + "target": "com.amazonaws.cloudwatchlogs#OpenSearchDataSourceName", + "traits": { + "smithy.api#documentation": "

The name of the OpenSearch Service data source.

" + } + }, + "status": { + "target": "com.amazonaws.cloudwatchlogs#OpenSearchResourceStatus", + "traits": { + "smithy.api#documentation": "

This structure contains information about the status of this OpenSearch Service resource.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

This structure contains information about the OpenSearch Service data source used for this integration. This data source was \n created as part of the integration setup.\n An OpenSearch Service data source defines the source and destination for OpenSearch Service queries. It includes the role required to execute queries and write to collections.

\n

For more information about OpenSearch Service data sources , see Creating OpenSearch Service data source integrations with Amazon S3.\n

" + } + }, + "com.amazonaws.cloudwatchlogs#OpenSearchDataSourceName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 256 + }, + "smithy.api#pattern": "^[\\.\\-_/#A-Za-z0-9]+$" + } + }, + "com.amazonaws.cloudwatchlogs#OpenSearchEncryptionPolicy": { + "type": "structure", + "members": { + "policyName": { + "target": "com.amazonaws.cloudwatchlogs#OpenSearchPolicyName", + "traits": { + "smithy.api#documentation": "

The name of the encryption policy.

" + } + }, + "status": { + "target": "com.amazonaws.cloudwatchlogs#OpenSearchResourceStatus", + "traits": { + "smithy.api#documentation": "

This structure contains information about the status of this OpenSearch Service resource.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

This structure contains information about the OpenSearch Service encryption policy used for this integration. The encryption policy was created\n automatically when you created the integration. For more information, see Encryption policies in the OpenSearch Service Developer Guide.\n

" + } + }, + "com.amazonaws.cloudwatchlogs#OpenSearchIntegrationDetails": { + "type": "structure", + "members": { + "dataSource": { + "target": "com.amazonaws.cloudwatchlogs#OpenSearchDataSource", + "traits": { + "smithy.api#documentation": "

This structure contains information about the OpenSearch Service data source used for this integration. This data source was \n created as part of the integration setup.\n An OpenSearch Service data source defines the source and destination for OpenSearch Service queries. It includes the role required to execute queries and write to collections.

\n

For more information about OpenSearch Service data sources , see Creating OpenSearch Service data source integrations with Amazon S3.\n

" + } + }, + "application": { + "target": "com.amazonaws.cloudwatchlogs#OpenSearchApplication", + "traits": { + "smithy.api#documentation": "

This structure contains information about the OpenSearch Service application used for this integration.\n An OpenSearch Service application is the web application that was created by the integration with CloudWatch Logs. It hosts the vended logs dashboards.

" + } + }, + "collection": { + "target": "com.amazonaws.cloudwatchlogs#OpenSearchCollection", + "traits": { + "smithy.api#documentation": "

This structure contains information about the OpenSearch Service collection used for this integration. This collection was \n created as part of the integration setup.\n An OpenSearch Service collection is a logical grouping of one or more indexes that represent an analytics workload. \n For more information, see Creating and managing OpenSearch Service Serverless collections.

" + } + }, + "workspace": { + "target": "com.amazonaws.cloudwatchlogs#OpenSearchWorkspace", + "traits": { + "smithy.api#documentation": "

This structure contains information about the OpenSearch Service workspace used for this integration.\n An OpenSearch Service workspace is the collection of dashboards along with other OpenSearch Service tools. This workspace was created automatically as part of the integration setup.\n For more information, see Centralized OpenSearch user interface (Dashboards) with \n OpenSearch Service.

" + } + }, + "encryptionPolicy": { + "target": "com.amazonaws.cloudwatchlogs#OpenSearchEncryptionPolicy", + "traits": { + "smithy.api#documentation": "

This structure contains information about the OpenSearch Service encryption policy used for this integration. The encryption policy was created\n automatically when you created the integration. For more information, see Encryption policies in the OpenSearch Service Developer Guide.\n

" + } + }, + "networkPolicy": { + "target": "com.amazonaws.cloudwatchlogs#OpenSearchNetworkPolicy", + "traits": { + "smithy.api#documentation": "

This structure contains information about the OpenSearch Service network policy used for this integration. The network \n policy assigns network access settings to collections. \n For more information, see Network policies in the OpenSearch Service Developer Guide.

" + } + }, + "accessPolicy": { + "target": "com.amazonaws.cloudwatchlogs#OpenSearchDataAccessPolicy", + "traits": { + "smithy.api#documentation": "

This structure contains information about the OpenSearch Service data access policy used for this integration. The access \n policy defines the access controls for the collection. This data access policy was automatically created as part of the integration setup.\n For more information about OpenSearch Service data access policies, see Data access control for Amazon OpenSearch Serverless in the OpenSearch Service Developer Guide.

" + } + }, + "lifecyclePolicy": { + "target": "com.amazonaws.cloudwatchlogs#OpenSearchLifecyclePolicy", + "traits": { + "smithy.api#documentation": "

This structure contains information about the OpenSearch Service data lifecycle policy used for this integration. The lifecycle policy\n determines the lifespan of the data in the collection. It was automatically created as part of the integration setup.

\n

For more information, see Using data lifecycle policies with OpenSearch Service Serverless \n in the OpenSearch Service Developer Guide.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

This structure contains complete information about one CloudWatch Logs integration. This structure\n is returned by a GetIntegration operation.

" + } + }, + "com.amazonaws.cloudwatchlogs#OpenSearchLifecyclePolicy": { + "type": "structure", + "members": { + "policyName": { + "target": "com.amazonaws.cloudwatchlogs#OpenSearchPolicyName", + "traits": { + "smithy.api#documentation": "

The name of the lifecycle policy.

" + } + }, + "status": { + "target": "com.amazonaws.cloudwatchlogs#OpenSearchResourceStatus", + "traits": { + "smithy.api#documentation": "

This structure contains information about the status of this OpenSearch Service resource.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

This structure contains information about the OpenSearch Service data lifecycle policy used for this integration. The lifecycle policy\n determines the lifespan of the data in the collection. It was automatically created as part of the integration setup.

\n

For more information, see Using data lifecycle policies with OpenSearch Service Serverless \n in the OpenSearch Service Developer Guide.

" + } + }, + "com.amazonaws.cloudwatchlogs#OpenSearchNetworkPolicy": { + "type": "structure", + "members": { + "policyName": { + "target": "com.amazonaws.cloudwatchlogs#OpenSearchPolicyName", + "traits": { + "smithy.api#documentation": "

The name of the network policy.

" + } + }, + "status": { + "target": "com.amazonaws.cloudwatchlogs#OpenSearchResourceStatus", + "traits": { + "smithy.api#documentation": "

This structure contains information about the status of this OpenSearch Service resource.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

This structure contains information about the OpenSearch Service network policy used for this integration. The network \n policy assigns network access settings to collections. \n For more information, see Network policies in the OpenSearch Service Developer Guide.

" + } + }, + "com.amazonaws.cloudwatchlogs#OpenSearchPolicyName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 256 + }, + "smithy.api#pattern": "^[\\.\\-_/#A-Za-z0-9]+$" + } + }, + "com.amazonaws.cloudwatchlogs#OpenSearchResourceConfig": { + "type": "structure", + "members": { + "kmsKeyArn": { + "target": "com.amazonaws.cloudwatchlogs#Arn", + "traits": { + "smithy.api#documentation": "

To have the vended dashboard data encrypted with KMS instead of the CloudWatch Logs default \n encryption method, specify the ARN of the KMS key that you want to use.

" + } + }, + "dataSourceRoleArn": { + "target": "com.amazonaws.cloudwatchlogs#Arn", + "traits": { + "smithy.api#documentation": "

Specify the ARN of an IAM role that CloudWatch Logs will use to create the integration. This role must have the permissions necessary to access the OpenSearch Service\n collection to be able to create the dashboards. For more information about the permissions needed, see Create an IAM role to access the OpenSearch Service collection in the CloudWatch Logs User Guide.

", + "smithy.api#required": {} + } + }, + "dashboardViewerPrincipals": { + "target": "com.amazonaws.cloudwatchlogs#DashboardViewerPrincipals", + "traits": { + "smithy.api#documentation": "

Specify the ARNs of IAM roles and IAM users who you want to grant permission to for viewing the dashboards.

\n \n

In addition to specifying these users here, you must also grant them the CloudWatchOpenSearchDashboardsAccess \n IAM policy. For more information, see

\n
", + "smithy.api#required": {} + } + }, + "applicationArn": { + "target": "com.amazonaws.cloudwatchlogs#Arn", + "traits": { + "smithy.api#documentation": "

If you want to use an existing OpenSearch Service application for your integration with OpenSearch Service, specify it here. If you \n omit this, a new application will be created.

" + } + }, + "retentionDays": { + "target": "com.amazonaws.cloudwatchlogs#CollectionRetentionDays", + "traits": { + "smithy.api#documentation": "

Specify how many days that you want the data derived by OpenSearch Service to be retained in the index that the dashboard refers to. \n This also sets the maximum time period that you can choose when viewing data in the dashboard. Choosing a longer time frame will incur additional costs.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

This structure contains configuration details about an integration between CloudWatch Logs and OpenSearch Service.

" + } + }, + "com.amazonaws.cloudwatchlogs#OpenSearchResourceStatus": { + "type": "structure", + "members": { + "status": { + "target": "com.amazonaws.cloudwatchlogs#OpenSearchResourceStatusType", + "traits": { + "smithy.api#documentation": "

The current status of this resource.

" + } + }, + "statusMessage": { + "target": "com.amazonaws.cloudwatchlogs#IntegrationStatusMessage", + "traits": { + "smithy.api#documentation": "

A message with additional information about the status of this resource.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

This structure contains information about the status of an OpenSearch Service resource.

" + } + }, + "com.amazonaws.cloudwatchlogs#OpenSearchResourceStatusType": { + "type": "enum", + "members": { + "ACTIVE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ACTIVE" + } + }, + "NOT_FOUND": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "NOT_FOUND" + } + }, + "ERROR": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ERROR" + } + } + } + }, + "com.amazonaws.cloudwatchlogs#OpenSearchWorkspace": { + "type": "structure", + "members": { + "workspaceId": { + "target": "com.amazonaws.cloudwatchlogs#OpenSearchWorkspaceId", + "traits": { + "smithy.api#documentation": "

The ID of this workspace.

" + } + }, + "status": { + "target": "com.amazonaws.cloudwatchlogs#OpenSearchResourceStatus", + "traits": { + "smithy.api#documentation": "

This structure contains information about the status of an OpenSearch Service resource.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

This structure contains information about the OpenSearch Service workspace used for this integration.\n An OpenSearch Service workspace is the collection of dashboards along with other OpenSearch Service tools. This workspace was created automatically as part of the integration setup.\n For more information, see Centralized OpenSearch user interface (Dashboards) with \n OpenSearch Service.

" + } + }, + "com.amazonaws.cloudwatchlogs#OpenSearchWorkspaceId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 256 + }, + "smithy.api#pattern": "^[\\.\\-_/#A-Za-z0-9]+$" + } + }, + "com.amazonaws.cloudwatchlogs#OperationAbortedException": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.cloudwatchlogs#Message" + } + }, + "traits": { + "smithy.api#documentation": "

Multiple concurrent requests to update the same resource were in conflict.

", + "smithy.api#error": "client" + } }, "com.amazonaws.cloudwatchlogs#OrderBy": { "type": "enum", @@ -9254,6 +9976,81 @@ "smithy.api#output": {} } }, + "com.amazonaws.cloudwatchlogs#PutIntegration": { + "type": "operation", + "input": { + "target": "com.amazonaws.cloudwatchlogs#PutIntegrationRequest" + }, + "output": { + "target": "com.amazonaws.cloudwatchlogs#PutIntegrationResponse" + }, + "errors": [ + { + "target": "com.amazonaws.cloudwatchlogs#InvalidParameterException" + }, + { + "target": "com.amazonaws.cloudwatchlogs#LimitExceededException" + }, + { + "target": "com.amazonaws.cloudwatchlogs#ServiceUnavailableException" + }, + { + "target": "com.amazonaws.cloudwatchlogs#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Creates an integration between CloudWatch Logs and another service in this account. Currently, only integrations with \n OpenSearch Service are supported, and currently you can have only one integration in your account.

\n

Integrating with OpenSearch Service makes it possible for you to create curated vended logs dashboards, powered \n by OpenSearch Service analytics. For more information, see \n Vended log dashboards powered by Amazon OpenSearch Service.

\n

You can use this operation only to create a new integration. You can't modify an existing integration.

" + } + }, + "com.amazonaws.cloudwatchlogs#PutIntegrationRequest": { + "type": "structure", + "members": { + "integrationName": { + "target": "com.amazonaws.cloudwatchlogs#IntegrationName", + "traits": { + "smithy.api#documentation": "

A name for the integration.

", + "smithy.api#required": {} + } + }, + "resourceConfig": { + "target": "com.amazonaws.cloudwatchlogs#ResourceConfig", + "traits": { + "smithy.api#documentation": "

A structure that contains configuration information for the integration that you are creating.

", + "smithy.api#required": {} + } + }, + "integrationType": { + "target": "com.amazonaws.cloudwatchlogs#IntegrationType", + "traits": { + "smithy.api#documentation": "

The type of integration. Currently, the only supported type is OPENSEARCH.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.cloudwatchlogs#PutIntegrationResponse": { + "type": "structure", + "members": { + "integrationName": { + "target": "com.amazonaws.cloudwatchlogs#IntegrationName", + "traits": { + "smithy.api#documentation": "

The name of the integration that you just created.

" + } + }, + "integrationStatus": { + "target": "com.amazonaws.cloudwatchlogs#IntegrationStatus", + "traits": { + "smithy.api#documentation": "

The status of the integration that you just created.

\n

After you create an integration, it takes a few minutes to complete. During this time, you'll see the status as PROVISIONING.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.cloudwatchlogs#PutLogEvents": { "type": "operation", "input": { @@ -9457,6 +10254,12 @@ "com.amazonaws.cloudwatchlogs#PutQueryDefinitionRequest": { "type": "structure", "members": { + "queryLanguage": { + "target": "com.amazonaws.cloudwatchlogs#QueryLanguage", + "traits": { + "smithy.api#documentation": "

Specify the query language to use for this query. The options are Logs Insights QL, OpenSearch PPL, and OpenSearch SQL. For more information about the query languages that CloudWatch Logs supports, \n see Supported query languages.

" + } + }, "name": { "target": "com.amazonaws.cloudwatchlogs#QueryDefinitionName", "traits": { @@ -9473,7 +10276,7 @@ "logGroupNames": { "target": "com.amazonaws.cloudwatchlogs#LogGroupNames", "traits": { - "smithy.api#documentation": "

Use this parameter to include specific log groups as part of your query definition.

\n

If you are updating a query definition and you omit this parameter, then the updated\n definition will contain no log groups.

" + "smithy.api#documentation": "

Use this parameter to include specific log groups as part of your query definition. If your query\n uses the OpenSearch Service query language, you specify the log group names inside the querystring instead of here.

\n

If you are updating an existing query definition for the Logs Insights QL or OpenSearch Service PPL and you omit this parameter, then the updated\n definition will contain no log groups.

" } }, "queryString": { @@ -9800,6 +10603,12 @@ "com.amazonaws.cloudwatchlogs#QueryDefinition": { "type": "structure", "members": { + "queryLanguage": { + "target": "com.amazonaws.cloudwatchlogs#QueryLanguage", + "traits": { + "smithy.api#documentation": "

The query language used for this query. For more information about the query languages that CloudWatch Logs supports, \n see Supported query languages.

" + } + }, "queryDefinitionId": { "target": "com.amazonaws.cloudwatchlogs#QueryId", "traits": { @@ -9871,6 +10680,12 @@ "com.amazonaws.cloudwatchlogs#QueryInfo": { "type": "structure", "members": { + "queryLanguage": { + "target": "com.amazonaws.cloudwatchlogs#QueryLanguage", + "traits": { + "smithy.api#documentation": "

The query language used for this query. For more information about the query languages that CloudWatch Logs supports, \n see Supported query languages.

" + } + }, "queryId": { "target": "com.amazonaws.cloudwatchlogs#QueryId", "traits": { @@ -9912,6 +10727,29 @@ "target": "com.amazonaws.cloudwatchlogs#QueryInfo" } }, + "com.amazonaws.cloudwatchlogs#QueryLanguage": { + "type": "enum", + "members": { + "CWLI": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CWLI" + } + }, + "SQL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SQL" + } + }, + "PPL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PPL" + } + } + } + }, "com.amazonaws.cloudwatchlogs#QueryListMaxResults": { "type": "integer", "traits": { @@ -10207,6 +11045,20 @@ "target": "com.amazonaws.cloudwatchlogs#Arn" } }, + "com.amazonaws.cloudwatchlogs#ResourceConfig": { + "type": "union", + "members": { + "openSearchResourceConfig": { + "target": "com.amazonaws.cloudwatchlogs#OpenSearchResourceConfig", + "traits": { + "smithy.api#documentation": "

This structure contains configuration details about an integration between CloudWatch Logs and OpenSearch Service.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

This structure contains configuration details about an integration between CloudWatch Logs and another entity.

" + } + }, "com.amazonaws.cloudwatchlogs#ResourceIdentifier": { "type": "string", "traits": { @@ -10844,22 +11696,28 @@ "com.amazonaws.cloudwatchlogs#StartQueryRequest": { "type": "structure", "members": { + "queryLanguage": { + "target": "com.amazonaws.cloudwatchlogs#QueryLanguage", + "traits": { + "smithy.api#documentation": "

Specify the query language to use for this query. The options are Logs Insights QL, OpenSearch PPL, and OpenSearch SQL. For more information about the query languages that CloudWatch Logs supports, \n see Supported query languages.

" + } + }, "logGroupName": { "target": "com.amazonaws.cloudwatchlogs#LogGroupName", "traits": { - "smithy.api#documentation": "

The log group on which to perform the query.

" + "smithy.api#documentation": "

The log group on which to perform the query.

\n \n

A StartQuery operation must include exactly one of the following\n parameters: logGroupName, logGroupNames, or\n logGroupIdentifiers. The exception is queries using the OpenSearch Service SQL query\n language, where you specify the log group names inside the querystring instead of here.

\n
" } }, "logGroupNames": { "target": "com.amazonaws.cloudwatchlogs#LogGroupNames", "traits": { - "smithy.api#documentation": "

The list of log groups to be queried. You can include up to 50 log groups.

" + "smithy.api#documentation": "

The list of log groups to be queried. You can include up to 50 log groups.

\n \n

A StartQuery operation must include exactly one of the following\n parameters: logGroupName, logGroupNames, or\n logGroupIdentifiers. The exception is queries using the OpenSearch Service SQL query\n language, where you specify the log group names inside the querystring instead of here.

\n
" } }, "logGroupIdentifiers": { "target": "com.amazonaws.cloudwatchlogs#LogGroupIdentifiers", "traits": { - "smithy.api#documentation": "

The list of log groups to query. You can include up to 50 log groups.

\n

You can specify them by the log group name or ARN. If a log group that you're querying is\n in a source account and you're using a monitoring account, you must specify the ARN of the log\n group here. The query definition must also be defined in the monitoring account.

\n

If you specify an ARN, use the format\n arn:aws:logs:region:account-id:log-group:log_group_name Don't include an * at the end.

\n

A StartQuery operation must include exactly one of the following parameters:\n logGroupName, logGroupNames, or logGroupIdentifiers.

" + "smithy.api#documentation": "

The list of log groups to query. You can include up to 50 log groups.

\n

You can specify them by the log group name or ARN. If a log group that you're querying is\n in a source account and you're using a monitoring account, you must specify the ARN of the log\n group here. The query definition must also be defined in the monitoring account.

\n

If you specify an ARN, use the format\n arn:aws:logs:region:account-id:log-group:log_group_name Don't include an * at the end.

\n

A StartQuery operation must include exactly one of the following parameters:\n logGroupName, logGroupNames, or logGroupIdentifiers. The exception is queries using the OpenSearch Service SQL query\n language, where you specify the log group names inside the querystring instead of here.

" } }, "startTime": { diff --git a/codegen/sdk/aws-models/config-service.json b/codegen/sdk/aws-models/config-service.json index ef795d66e78..82752f6cc0e 100644 --- a/codegen/sdk/aws-models/config-service.json +++ b/codegen/sdk/aws-models/config-service.json @@ -586,6 +586,77 @@ "target": "com.amazonaws.configservice#AggregationAuthorization" } }, + "com.amazonaws.configservice#AggregatorFilterResourceType": { + "type": "structure", + "members": { + "Type": { + "target": "com.amazonaws.configservice#AggregatorFilterType", + "traits": { + "smithy.api#documentation": "

The type of resource type filter to apply. INCLUDE specifies that the list of resource types in the Value field will be aggregated and no other resource types will be filtered.

" + } + }, + "Value": { + "target": "com.amazonaws.configservice#ResourceTypeValueList", + "traits": { + "smithy.api#documentation": "

Comma-separate list of resource types to filter your aggregated configuration recorders.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

An object to filter the configuration recorders based on the resource types in scope for recording.

" + } + }, + "com.amazonaws.configservice#AggregatorFilterServicePrincipal": { + "type": "structure", + "members": { + "Type": { + "target": "com.amazonaws.configservice#AggregatorFilterType", + "traits": { + "smithy.api#documentation": "

The type of service principal filter to apply. INCLUDE specifies that the list of service principals in the Value field will be aggregated and no other service principals will be filtered.

" + } + }, + "Value": { + "target": "com.amazonaws.configservice#ServicePrincipalValueList", + "traits": { + "smithy.api#documentation": "

Comma-separated list of service principals for the linked Amazon Web Services services to filter your aggregated service-linked configuration recorders.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

An object to filter service-linked configuration recorders in an aggregator based on the linked Amazon Web Services service.

" + } + }, + "com.amazonaws.configservice#AggregatorFilterType": { + "type": "enum", + "members": { + "INCLUDE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INCLUDE" + } + } + } + }, + "com.amazonaws.configservice#AggregatorFilters": { + "type": "structure", + "members": { + "ResourceType": { + "target": "com.amazonaws.configservice#AggregatorFilterResourceType", + "traits": { + "smithy.api#documentation": "

An object to filter the configuration recorders based on the resource types in scope for recording.

" + } + }, + "ServicePrincipal": { + "target": "com.amazonaws.configservice#AggregatorFilterServicePrincipal", + "traits": { + "smithy.api#documentation": "

An object to filter service-linked configuration recorders in an aggregator based on the linked Amazon Web Services service.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

An object to filter the data you specify for an aggregator.

" + } + }, "com.amazonaws.configservice#AggregatorRegionList": { "type": "list", "member": { @@ -621,6 +692,65 @@ } } }, + "com.amazonaws.configservice#AssociateResourceTypes": { + "type": "operation", + "input": { + "target": "com.amazonaws.configservice#AssociateResourceTypesRequest" + }, + "output": { + "target": "com.amazonaws.configservice#AssociateResourceTypesResponse" + }, + "errors": [ + { + "target": "com.amazonaws.configservice#ConflictException" + }, + { + "target": "com.amazonaws.configservice#NoSuchConfigurationRecorderException" + }, + { + "target": "com.amazonaws.configservice#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Adds all resource types specified in the ResourceTypes list to the RecordingGroup of specified configuration recorder and includes those resource types when recording.

\n

For this operation, the specified configuration recorder must use a RecordingStrategy that is either INCLUSION_BY_RESOURCE_TYPES or EXCLUSION_BY_RESOURCE_TYPES.

" + } + }, + "com.amazonaws.configservice#AssociateResourceTypesRequest": { + "type": "structure", + "members": { + "ConfigurationRecorderArn": { + "target": "com.amazonaws.configservice#AmazonResourceName", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the specified configuration recorder.

", + "smithy.api#required": {} + } + }, + "ResourceTypes": { + "target": "com.amazonaws.configservice#ResourceTypeList", + "traits": { + "smithy.api#documentation": "

The list of resource types you want to add to the recording group of the specified configuration recorder.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.configservice#AssociateResourceTypesResponse": { + "type": "structure", + "members": { + "ConfigurationRecorder": { + "target": "com.amazonaws.configservice#ConfigurationRecorder", + "traits": { + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.configservice#AutoRemediationAttemptSeconds": { "type": "long", "traits": { @@ -1420,7 +1550,7 @@ } }, "traits": { - "smithy.api#documentation": "

Status information for your Config Managed rules and Config Custom Policy rules. The\n\t\t\tstatus includes information such as the last time the rule ran, the\n\t\t\tlast time it failed, and the related error for the last\n\t\t\tfailure.

\n

This action does not return status information about Config Custom Lambda rules.

" + "smithy.api#documentation": "

Status information for your Config Managed rules and Config Custom Policy rules. The\n\t\t\tstatus includes information such as the last time the rule ran, the\n\t\t\tlast time it failed, and the related error for the last\n\t\t\tfailure.

\n

This operation does not return status information about Config Custom Lambda rules.

" } }, "com.amazonaws.configservice#ConfigRuleEvaluationStatusList": { @@ -1579,6 +1709,12 @@ "traits": { "smithy.api#documentation": "

Amazon Web Services service that created the configuration aggregator.

" } + }, + "AggregatorFilters": { + "target": "com.amazonaws.configservice#AggregatorFilters", + "traits": { + "smithy.api#documentation": "

An object to filter the data you specify for an aggregator.

" + } } }, "traits": { @@ -1800,33 +1936,100 @@ "com.amazonaws.configservice#ConfigurationRecorder": { "type": "structure", "members": { + "arn": { + "target": "com.amazonaws.configservice#AmazonResourceName", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the specified configuration recorder.

" + } + }, "name": { "target": "com.amazonaws.configservice#RecorderName", "traits": { - "smithy.api#documentation": "

The name of the configuration recorder. Config automatically assigns the name of \"default\" when creating the configuration recorder.

\n \n

You cannot change the name of the configuration recorder after it has been created. To change the configuration recorder name, you must delete it and create a new configuration recorder with a new name.

\n
" + "smithy.api#documentation": "

The name of the configuration recorder.

\n

For customer managed configuration recorders, Config automatically assigns the name of \"default\" when creating a configuration recorder if you do not specify a name at creation time.

\n

For service-linked configuration recorders, Config automatically assigns a name that has the prefix \"AWS\" to a new service-linked configuration recorder.

\n \n

\n Changing the name of a configuration recorder\n

\n

To change the name of the customer managed configuration recorder, you must delete it and create a new customer managed configuration recorder with a new name.

\n

You cannot change the name of a service-linked configuration recorder.

\n
" } }, "roleARN": { "target": "com.amazonaws.configservice#String", "traits": { - "smithy.api#documentation": "

Amazon Resource Name (ARN) of the IAM role assumed by Config and used by the configuration recorder.

\n \n

While the API model does not require this field, the server will reject a request without a defined roleARN for the configuration recorder.

\n
\n \n

\n Pre-existing Config role\n

\n

If you have used an Amazon Web Services service that uses Config, such as Security Hub or\n\t\t\t\tControl Tower, and an Config role has already been created, make sure that the\n\t\t\t\tIAM role that you use when setting up Config keeps the same minimum\n\t\t\t\tpermissions as the already created Config role. You must do this so that the\n\t\t\t\tother Amazon Web Services service continues to run as expected.

\n

For example, if Control Tower has an IAM role that allows Config to read\n\t\t\t\tAmazon Simple Storage Service (Amazon S3) objects, make sure that the same permissions are granted\n\t\t\t\twithin the IAM role you use when setting up Config. Otherwise, it may\n\t\t\t\tinterfere with how Control Tower operates. For more information about IAM\n\t\t\t\troles for Config,\n\t\t\t\tsee \n Identity and Access Management for Config\n in the Config Developer Guide.\n\t\t\t

\n
" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the IAM role assumed by Config and used by the specified configuration recorder.

\n \n

\n The server will reject a request without a defined roleARN for the configuration recorder\n

\n

While the API model does not require this field, the server will reject a request without a defined roleARN for the configuration recorder.

\n

\n Policies and compliance results\n

\n

\n IAM policies\n\t\t\t\tand other policies managed in Organizations\n\t\t\t\tcan impact whether Config\n\t\t\t\thas permissions to record configuration changes for your resources. Additionally, rules directly evaluate the configuration of a resource and rules don't take into account these policies when running evaluations.\n\t\t\t\tMake sure that the policies in effect align with how you intend to use Config.

\n

\n Keep Minimum Permisions When Reusing an IAM role\n

\n

If you use an Amazon Web Services service that uses Config, such as Security Hub or\n\t\t\t\tControl Tower, and an IAM role has already been created, make sure that the\n\t\t\t\tIAM role that you use when setting up Config keeps the same minimum\n\t\t\t\tpermissions as the pre-existing IAM role. You must do this to ensure that the\n\t\t\t\tother Amazon Web Services service continues to run as expected.

\n

For example, if Control Tower has an IAM role that allows Config to read\n\t\t\t\tS3 objects, make sure that the same permissions are granted\n\t\t\t\tto the IAM role you use when setting up Config. Otherwise, it may\n\t\t\t\tinterfere with how Control Tower operates.

\n

\n The service-linked IAM role for Config must be used for service-linked configuration recorders\n

\n

For service-linked configuration recorders, you must use the service-linked IAM role for Config: AWSServiceRoleForConfig.

\n
" } }, "recordingGroup": { "target": "com.amazonaws.configservice#RecordingGroup", "traits": { - "smithy.api#documentation": "

Specifies which resource types Config\n\t\t\trecords for configuration changes.

\n \n

\n High Number of Config Evaluations\n

\n

You may notice increased activity in your account during your initial month recording with Config when compared to subsequent months. During the\n\t\t\t\tinitial bootstrapping process, Config runs evaluations on all the resources in your account that you have selected\n\t\t\t\tfor Config to record.

\n

If you are running ephemeral workloads, you may see increased activity from Config as it records configuration changes associated with creating and deleting these\n\t\t\t\ttemporary resources. An ephemeral workload is a temporary use of computing resources that are loaded\n\t\t\t\tand run when needed. Examples include Amazon Elastic Compute Cloud (Amazon EC2)\n\t\t\t\tSpot Instances, Amazon EMR jobs, and Auto Scaling. If you want\n\t\t\t\tto avoid the increased activity from running ephemeral workloads, you can run these\n\t\t\t\ttypes of workloads in a separate account with Config turned off to avoid\n\t\t\t\tincreased configuration recording and rule evaluations.

\n
" + "smithy.api#documentation": "

Specifies which resource types are in scope for the configuration recorder to record.

\n \n

\n High Number of Config Evaluations\n

\n

You might notice increased activity in your account during your initial month recording with Config when compared to subsequent months. During the\n\t\t\t\tinitial bootstrapping process, Config runs evaluations on all the resources in your account that you have selected\n\t\t\t\tfor Config to record.

\n

If you are running ephemeral workloads, you may see increased activity from Config as it records configuration changes associated with creating and deleting these\n\t\t\t\ttemporary resources. An ephemeral workload is a temporary use of computing resources that are loaded\n\t\t\t\tand run when needed. Examples include Amazon Elastic Compute Cloud (Amazon EC2)\n\t\t\t\tSpot Instances, Amazon EMR jobs, and Auto Scaling.

\n

If you want to avoid the increased activity from running ephemeral workloads, you can set up the configuration recorder to exclude these resource types from being recorded, or run these types of workloads in a separate account with Config turned off to avoid\n\t\t\t\tincreased configuration recording and rule evaluations.

\n
" } }, "recordingMode": { "target": "com.amazonaws.configservice#RecordingMode", "traits": { - "smithy.api#documentation": "

Specifies the default recording frequency that Config uses to record configuration changes.\n\t\t\t\n\t\t\tConfig supports Continuous recording and Daily recording.

\n
    \n
  • \n

    Continuous recording allows you to record configuration changes continuously whenever a change occurs.

    \n
  • \n
  • \n

    Daily recording allows you to receive a configuration item (CI) representing the most recent state of your resources over the last 24-hour period, only if it’s different from the previous CI recorded.\n\t\t\t

    \n
  • \n
\n \n

Firewall Manager depends on continuous recording to monitor your resources. If you are using Firewall Manager,\n\t\t\tit is recommended that you set the recording frequency to Continuous.

\n
\n

You can also override the recording frequency for specific resource types.

" + "smithy.api#documentation": "

Specifies the default recording frequency for the configuration recorder.\n\t\t\t\n\t\t\tConfig supports Continuous recording and Daily recording.

\n
    \n
  • \n

    Continuous recording allows you to record configuration changes continuously whenever a change occurs.

    \n
  • \n
  • \n

    Daily recording allows you to receive a configuration item (CI) representing the most recent state of your resources over the last 24-hour period, only if it’s different from the previous CI recorded.\n\t\t\t

    \n
  • \n
\n \n

\n Some resource types require continuous recording\n

\n

Firewall Manager depends on continuous recording to monitor your resources. If you are using Firewall Manager,\n\t\t\tit is recommended that you set the recording frequency to Continuous.

\n
\n

You can also override the recording frequency for specific resource types.

" + } + }, + "recordingScope": { + "target": "com.amazonaws.configservice#RecordingScope", + "traits": { + "smithy.api#documentation": "

Specifies whether the ConfigurationItems in scope for the specified configuration recorder are recorded for free (INTERNAL) or if it impacts the costs to your bill (PAID).

" + } + }, + "servicePrincipal": { + "target": "com.amazonaws.configservice#ServicePrincipal", + "traits": { + "smithy.api#documentation": "

For service-linked configuration recorders, specifies the linked Amazon Web Services service for the configuration recorder.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Records configuration changes to the resource types in scope.

\n

For more information about the configuration recorder,\n\t\t\tsee \n Working with the Configuration Recorder\n in the Config Developer Guide.

" + } + }, + "com.amazonaws.configservice#ConfigurationRecorderFilter": { + "type": "structure", + "members": { + "filterName": { + "target": "com.amazonaws.configservice#ConfigurationRecorderFilterName", + "traits": { + "smithy.api#documentation": "

The name of the type of filter. Currently, only recordingScope is supported.

" + } + }, + "filterValue": { + "target": "com.amazonaws.configservice#ConfigurationRecorderFilterValues", + "traits": { + "smithy.api#documentation": "

The value of the filter. For recordingScope, valid values include: INTERNAL and PAID.

\n

\n INTERNAL indicates that the ConfigurationItems in scope for the configuration recorder are recorded for free.

\n

\n PAID indicates that the ConfigurationItems in scope for the configuration recorder impact the costs to your bill.

" } } }, "traits": { - "smithy.api#documentation": "

Records configuration changes to your specified resource types.\n\t\t\tFor more information about the configuration recorder,\n\t\t\tsee \n Managing the Configuration Recorder\n in the Config Developer Guide.

" + "smithy.api#documentation": "

Filters configuration recorders by recording scope.

" + } + }, + "com.amazonaws.configservice#ConfigurationRecorderFilterList": { + "type": "list", + "member": { + "target": "com.amazonaws.configservice#ConfigurationRecorderFilter" + } + }, + "com.amazonaws.configservice#ConfigurationRecorderFilterName": { + "type": "enum", + "members": { + "RecordingScope": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "recordingScope" + } + } + } + }, + "com.amazonaws.configservice#ConfigurationRecorderFilterValue": { + "type": "string", + "traits": { + "smithy.api#pattern": "^[0-9a-zA-Z\\\\*\\\\.\\\\\\/\\\\?-]*$" + } + }, + "com.amazonaws.configservice#ConfigurationRecorderFilterValues": { + "type": "list", + "member": { + "target": "com.amazonaws.configservice#ConfigurationRecorderFilterValue" } }, "com.amazonaws.configservice#ConfigurationRecorderList": { @@ -1844,6 +2047,12 @@ "com.amazonaws.configservice#ConfigurationRecorderStatus": { "type": "structure", "members": { + "arn": { + "target": "com.amazonaws.configservice#AmazonResourceName", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the configuration recorder.

" + } + }, "name": { "target": "com.amazonaws.configservice#String", "traits": { @@ -1892,10 +2101,16 @@ "traits": { "smithy.api#documentation": "

The time of the latest change in status of an recording event processed by the recorder.

" } + }, + "servicePrincipal": { + "target": "com.amazonaws.configservice#ServicePrincipal", + "traits": { + "smithy.api#documentation": "

For service-linked configuration recorders, the service principal of the linked Amazon Web Services service.

" + } } }, "traits": { - "smithy.api#documentation": "

The current status of the configuration recorder.

\n \n

For a detailed status of recording events over time, add your Config events to CloudWatch metrics and use CloudWatch metrics.

\n
" + "smithy.api#documentation": "

The current status of the configuration recorder.

\n

For a detailed status of recording events over time, add your Config events to CloudWatch metrics and use CloudWatch metrics.

" } }, "com.amazonaws.configservice#ConfigurationRecorderStatusList": { @@ -1904,9 +2119,65 @@ "target": "com.amazonaws.configservice#ConfigurationRecorderStatus" } }, + "com.amazonaws.configservice#ConfigurationRecorderSummaries": { + "type": "list", + "member": { + "target": "com.amazonaws.configservice#ConfigurationRecorderSummary" + } + }, + "com.amazonaws.configservice#ConfigurationRecorderSummary": { + "type": "structure", + "members": { + "arn": { + "target": "com.amazonaws.configservice#AmazonResourceName", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the configuration recorder.

", + "smithy.api#required": {} + } + }, + "name": { + "target": "com.amazonaws.configservice#RecorderName", + "traits": { + "smithy.api#documentation": "

The name of the configuration recorder.

", + "smithy.api#required": {} + } + }, + "servicePrincipal": { + "target": "com.amazonaws.configservice#ServicePrincipal", + "traits": { + "smithy.api#documentation": "

For service-linked configuration recorders, indicates which Amazon Web Services service the configuration recorder is linked to.

" + } + }, + "recordingScope": { + "target": "com.amazonaws.configservice#RecordingScope", + "traits": { + "smithy.api#documentation": "

Indicates whether the ConfigurationItems in scope for the configuration recorder are recorded for free (INTERNAL) or if you are charged a service fee for recording (PAID).

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

A summary of a configuration recorder, including the arn, name, servicePrincipal, and recordingScope.

" + } + }, "com.amazonaws.configservice#ConfigurationStateId": { "type": "string" }, + "com.amazonaws.configservice#ConflictException": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.configservice#ErrorMessage", + "traits": { + "smithy.api#documentation": "

Error executing the command

" + } + } + }, + "traits": { + "smithy.api#documentation": "

For PutServiceLinkedConfigurationRecorder, you cannot create a service-linked recorder because a service-linked recorder already exists for the specified service.

\n

For DeleteServiceLinkedConfigurationRecorder, you cannot delete the service-linked recorder because it is currently in use by the linked Amazon Web Services service.

\n

For DeleteDeliveryChannel, you cannot delete the specified delivery channel because the customer managed configuration recorder is running. Use the StopConfigurationRecorder operation to stop the customer managed configuration\n\t\t\trecorder.

\n

For AssociateResourceTypes and DisassociateResourceTypes, one of the following errors:

\n
    \n
  • \n

    For service-linked configuration recorders, the configuration recorder is not in use by the service. No association or dissociation of resource types is permitted.

    \n
  • \n
  • \n

    For service-linked configuration recorders, your requested change to the configuration recorder has been denied by its linked Amazon Web Services service.

    \n
  • \n
", + "smithy.api#error": "client" + } + }, "com.amazonaws.configservice#ConformancePackArn": { "type": "string", "traits": { @@ -2608,7 +2879,7 @@ } ], "traits": { - "smithy.api#documentation": "

Deletes the specified Config rule and all of its evaluation\n\t\t\tresults.

\n

Config sets the state of a rule to DELETING\n\t\t\tuntil the deletion is complete. You cannot update a rule while it is\n\t\t\tin this state. If you make a PutConfigRule or\n\t\t\t\tDeleteConfigRule request for the rule, you will\n\t\t\treceive a ResourceInUseException.

\n

You can check the state of a rule by using the\n\t\t\t\tDescribeConfigRules request.

" + "smithy.api#documentation": "

Deletes the specified Config rule and all of its evaluation\n\t\t\tresults.

\n

Config sets the state of a rule to DELETING\n\t\t\tuntil the deletion is complete. You cannot update a rule while it is\n\t\t\tin this state. If you make a PutConfigRule or\n\t\t\t\tDeleteConfigRule request for the rule, you will\n\t\t\treceive a ResourceInUseException.

\n

You can check the state of a rule by using the\n\t\t\t\tDescribeConfigRules request.

\n \n

\n Recommendation: Stop recording resource compliance before deleting rules\n

\n

It is highly recommended that you stop recording for the AWS::Config::ResourceCompliance resource type before you delete rules in your account.\n\t\t\t\tDeleting rules creates CIs for AWS::Config::ResourceCompliance and can affect your Config configuration recorder costs.\n\t\t\t\t\n\t\t\t\tIf you are deleting rules which evaluate a large number of resource types, \n\t\t\t\tthis can lead to a spike in the number of CIs recorded.

\n

Best practice:

\n
    \n
  1. \n

    Stop recording AWS::Config::ResourceCompliance\n

    \n
  2. \n
  3. \n

    Delete rule(s)

    \n
  4. \n
  5. \n

    Turn on recording for AWS::Config::ResourceCompliance\n

    \n
  6. \n
\n
" } }, "com.amazonaws.configservice#DeleteConfigRuleRequest": { @@ -2670,10 +2941,13 @@ "errors": [ { "target": "com.amazonaws.configservice#NoSuchConfigurationRecorderException" + }, + { + "target": "com.amazonaws.configservice#UnmodifiableEntityException" } ], "traits": { - "smithy.api#documentation": "

Deletes the configuration recorder.

\n

After the configuration recorder is deleted, Config will\n\t\t\tnot record resource configuration changes until you create a new\n\t\t\tconfiguration recorder.

\n

This action does not delete the configuration information that\n\t\t\twas previously recorded. You will be able to access the previously\n\t\t\trecorded information by using the\n\t\t\t\tGetResourceConfigHistory action, but you will not\n\t\t\tbe able to access this information in the Config console until\n\t\t\tyou create a new configuration recorder.

" + "smithy.api#documentation": "

Deletes the customer managed configuration recorder.

\n

This operation does not delete the configuration information that\n\t\t\twas previously recorded. You will be able to access the previously\n\t\t\trecorded information by using the\n\t\t\tGetResourceConfigHistory operation, but you will not\n\t\t\tbe able to access this information in the Config console until\n\t\t\tyou have created a new customer managed configuration recorder.

" } }, "com.amazonaws.configservice#DeleteConfigurationRecorderRequest": { @@ -2682,13 +2956,13 @@ "ConfigurationRecorderName": { "target": "com.amazonaws.configservice#RecorderName", "traits": { - "smithy.api#documentation": "

The name of the configuration recorder to be deleted. You can\n\t\t\tretrieve the name of your configuration recorder by using the\n\t\t\t\tDescribeConfigurationRecorders action.

", + "smithy.api#documentation": "

The name of the customer managed configuration recorder that you want to delete. You can\n\t\t\tretrieve the name of your configuration recorders by using the DescribeConfigurationRecorders operation.

", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

The request object for the\n\t\t\t\tDeleteConfigurationRecorder action.

", + "smithy.api#documentation": "

The request object for the\n\t\t\t\tDeleteConfigurationRecorder operation.

", "smithy.api#input": {} } }, @@ -2744,7 +3018,7 @@ } ], "traits": { - "smithy.api#documentation": "

Deletes the delivery channel.

\n

Before you can delete the delivery channel, you must stop the\n\t\t\tconfiguration recorder by using the StopConfigurationRecorder action.

" + "smithy.api#documentation": "

Deletes the delivery channel.

\n

Before you can delete the delivery channel, you must stop the customer managed configuration recorder. You can use the StopConfigurationRecorder operation to stop the customer managed configuration recorder.

" } }, "com.amazonaws.configservice#DeleteDeliveryChannelRequest": { @@ -2753,7 +3027,7 @@ "DeliveryChannelName": { "target": "com.amazonaws.configservice#ChannelName", "traits": { - "smithy.api#documentation": "

The name of the delivery channel to delete.

", + "smithy.api#documentation": "

The name of the delivery channel that you want to delete.

", "smithy.api#required": {} } } @@ -3106,6 +3380,66 @@ "smithy.api#input": {} } }, + "com.amazonaws.configservice#DeleteServiceLinkedConfigurationRecorder": { + "type": "operation", + "input": { + "target": "com.amazonaws.configservice#DeleteServiceLinkedConfigurationRecorderRequest" + }, + "output": { + "target": "com.amazonaws.configservice#DeleteServiceLinkedConfigurationRecorderResponse" + }, + "errors": [ + { + "target": "com.amazonaws.configservice#ConflictException" + }, + { + "target": "com.amazonaws.configservice#NoSuchConfigurationRecorderException" + }, + { + "target": "com.amazonaws.configservice#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Deletes an existing service-linked configuration recorder.

\n

This operation does not delete the configuration information that was previously recorded. You will be able to access the previously\n\t\t\trecorded information by using the\n\t\t\tGetResourceConfigHistory operation, but you will not\n\t\t\tbe able to access this information in the Config console until\n\t\t\tyou have created a new service-linked configuration recorder for the same service.

\n \n

\n The recording scope determines if you receive configuration items\n

\n

The recording scope is set by the service that is linked to the configuration recorder and determines whether you receive configuration items (CIs) in the delivery channel. If the recording scope is internal, you will not receive CIs in the delivery channel.

\n
" + } + }, + "com.amazonaws.configservice#DeleteServiceLinkedConfigurationRecorderRequest": { + "type": "structure", + "members": { + "ServicePrincipal": { + "target": "com.amazonaws.configservice#ServicePrincipal", + "traits": { + "smithy.api#documentation": "

The service principal of the Amazon Web Services service for the service-linked configuration recorder that you want to delete.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.configservice#DeleteServiceLinkedConfigurationRecorderResponse": { + "type": "structure", + "members": { + "Arn": { + "target": "com.amazonaws.configservice#AmazonResourceName", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the specified configuration recorder.

", + "smithy.api#required": {} + } + }, + "Name": { + "target": "com.amazonaws.configservice#RecorderName", + "traits": { + "smithy.api#documentation": "

The name of the specified configuration recorder.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.configservice#DeleteStoredQuery": { "type": "operation", "input": { @@ -3445,7 +3779,7 @@ } ], "traits": { - "smithy.api#documentation": "

Returns a list of the conformance packs and their associated compliance status with the count of compliant and noncompliant Config rules within each \n\t\t\tconformance pack. Also returns the total rule count which includes compliant rules, noncompliant rules, and rules that cannot be evaluated due to insufficient data.

\n \n

The results can return an empty result page, but if you have a nextToken, the results are displayed on the next page.

\n
", + "smithy.api#documentation": "

Returns a list of the existing and deleted conformance packs and their associated compliance status with the count of compliant and noncompliant Config rules within each \n\t\t\tconformance pack. Also returns the total rule count which includes compliant rules, noncompliant rules, and rules that cannot be evaluated due to insufficient data.

\n \n

The results can return an empty result page, but if you have a nextToken, the results are displayed on the next page.

\n
", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", @@ -3598,7 +3932,7 @@ } ], "traits": { - "smithy.api#documentation": "

Indicates whether the specified Config rules are compliant.\n\t\t\tIf a rule is noncompliant, this action returns the number of Amazon Web Services\n\t\t\tresources that do not comply with the rule.

\n

A rule is compliant if all of the evaluated resources comply\n\t\t\twith it. It is noncompliant if any of these resources do not\n\t\t\tcomply.

\n

If Config has no current evaluation results for the rule,\n\t\t\tit returns INSUFFICIENT_DATA. This result might\n\t\t\tindicate one of the following conditions:

\n
    \n
  • \n

    Config has never invoked an evaluation for the\n\t\t\t\t\trule. To check whether it has, use the\n\t\t\t\t\t\tDescribeConfigRuleEvaluationStatus action\n\t\t\t\t\tto get the LastSuccessfulInvocationTime and\n\t\t\t\t\t\tLastFailedInvocationTime.

    \n
  • \n
  • \n

    The rule's Lambda function is failing to send\n\t\t\t\t\tevaluation results to Config. Verify that the role you\n\t\t\t\t\tassigned to your configuration recorder includes the\n\t\t\t\t\t\tconfig:PutEvaluations permission. If the\n\t\t\t\t\trule is a custom rule, verify that the Lambda execution\n\t\t\t\t\trole includes the config:PutEvaluations\n\t\t\t\t\tpermission.

    \n
  • \n
  • \n

    The rule's Lambda function has returned\n\t\t\t\t\t\tNOT_APPLICABLE for all evaluation results.\n\t\t\t\t\tThis can occur if the resources were deleted or removed from\n\t\t\t\t\tthe rule's scope.

    \n
  • \n
", + "smithy.api#documentation": "

Indicates whether the specified Config rules are compliant.\n\t\t\tIf a rule is noncompliant, this operation returns the number of Amazon Web Services\n\t\t\tresources that do not comply with the rule.

\n

A rule is compliant if all of the evaluated resources comply\n\t\t\twith it. It is noncompliant if any of these resources do not\n\t\t\tcomply.

\n

If Config has no current evaluation results for the rule,\n\t\t\tit returns INSUFFICIENT_DATA. This result might\n\t\t\tindicate one of the following conditions:

\n
    \n
  • \n

    Config has never invoked an evaluation for the\n\t\t\t\t\trule. To check whether it has, use the\n\t\t\t\t\t\tDescribeConfigRuleEvaluationStatus action\n\t\t\t\t\tto get the LastSuccessfulInvocationTime and\n\t\t\t\t\t\tLastFailedInvocationTime.

    \n
  • \n
  • \n

    The rule's Lambda function is failing to send\n\t\t\t\t\tevaluation results to Config. Verify that the role you\n\t\t\t\t\tassigned to your configuration recorder includes the\n\t\t\t\t\t\tconfig:PutEvaluations permission. If the\n\t\t\t\t\trule is a custom rule, verify that the Lambda execution\n\t\t\t\t\trole includes the config:PutEvaluations\n\t\t\t\t\tpermission.

    \n
  • \n
  • \n

    The rule's Lambda function has returned\n\t\t\t\t\t\tNOT_APPLICABLE for all evaluation results.\n\t\t\t\t\tThis can occur if the resources were deleted or removed from\n\t\t\t\t\tthe rule's scope.

    \n
  • \n
", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", @@ -3671,7 +4005,7 @@ } ], "traits": { - "smithy.api#documentation": "

Indicates whether the specified Amazon Web Services resources are compliant. If\n\t\t\ta resource is noncompliant, this action returns the number of Config rules that the resource does not comply with.

\n

A resource is compliant if it complies with all the Config\n\t\t\trules that evaluate it. It is noncompliant if it does not comply\n\t\t\twith one or more of these rules.

\n

If Config has no current evaluation results for the\n\t\t\tresource, it returns INSUFFICIENT_DATA. This result\n\t\t\tmight indicate one of the following conditions about the rules that\n\t\t\tevaluate the resource:

\n
    \n
  • \n

    Config has never invoked an evaluation for the\n\t\t\t\t\trule. To check whether it has, use the\n\t\t\t\t\t\tDescribeConfigRuleEvaluationStatus action\n\t\t\t\t\tto get the LastSuccessfulInvocationTime and\n\t\t\t\t\t\tLastFailedInvocationTime.

    \n
  • \n
  • \n

    The rule's Lambda function is failing to send\n\t\t\t\t\tevaluation results to Config. Verify that the role that\n\t\t\t\t\tyou assigned to your configuration recorder includes the\n\t\t\t\t\t\tconfig:PutEvaluations permission. If the\n\t\t\t\t\trule is a custom rule, verify that the Lambda execution\n\t\t\t\t\trole includes the config:PutEvaluations\n\t\t\t\t\tpermission.

    \n
  • \n
  • \n

    The rule's Lambda function has returned\n\t\t\t\t\t\tNOT_APPLICABLE for all evaluation results.\n\t\t\t\t\tThis can occur if the resources were deleted or removed from\n\t\t\t\t\tthe rule's scope.

    \n
  • \n
", + "smithy.api#documentation": "

Indicates whether the specified Amazon Web Services resources are compliant. If\n\t\t\ta resource is noncompliant, this operation returns the number of Config rules that the resource does not comply with.

\n

A resource is compliant if it complies with all the Config\n\t\t\trules that evaluate it. It is noncompliant if it does not comply\n\t\t\twith one or more of these rules.

\n

If Config has no current evaluation results for the\n\t\t\tresource, it returns INSUFFICIENT_DATA. This result\n\t\t\tmight indicate one of the following conditions about the rules that\n\t\t\tevaluate the resource:

\n
    \n
  • \n

    Config has never invoked an evaluation for the\n\t\t\t\t\trule. To check whether it has, use the\n\t\t\t\t\t\tDescribeConfigRuleEvaluationStatus action\n\t\t\t\t\tto get the LastSuccessfulInvocationTime and\n\t\t\t\t\t\tLastFailedInvocationTime.

    \n
  • \n
  • \n

    The rule's Lambda function is failing to send\n\t\t\t\t\tevaluation results to Config. Verify that the role that\n\t\t\t\t\tyou assigned to your configuration recorder includes the\n\t\t\t\t\t\tconfig:PutEvaluations permission. If the\n\t\t\t\t\trule is a custom rule, verify that the Lambda execution\n\t\t\t\t\trole includes the config:PutEvaluations\n\t\t\t\t\tpermission.

    \n
  • \n
  • \n

    The rule's Lambda function has returned\n\t\t\t\t\t\tNOT_APPLICABLE for all evaluation results.\n\t\t\t\t\tThis can occur if the resources were deleted or removed from\n\t\t\t\t\tthe rule's scope.

    \n
  • \n
", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", @@ -3686,7 +4020,7 @@ "ResourceType": { "target": "com.amazonaws.configservice#StringWithCharLimit256", "traits": { - "smithy.api#documentation": "

The types of Amazon Web Services resources for which you want compliance\n\t\t\tinformation (for example, AWS::EC2::Instance). For this\n\t\t\taction, you can specify that the resource type is an Amazon Web Services account by\n\t\t\tspecifying AWS::::Account.

" + "smithy.api#documentation": "

The types of Amazon Web Services resources for which you want compliance\n\t\t\tinformation (for example, AWS::EC2::Instance). For this operation, you can specify that the resource type is an Amazon Web Services account by\n\t\t\tspecifying AWS::::Account.

" } }, "ResourceId": { @@ -4018,7 +4352,7 @@ } ], "traits": { - "smithy.api#documentation": "

Returns the details of one or more configuration aggregators.\n\t\t\tIf the configuration aggregator is not specified, this action\n\t\t\treturns the details for all the configuration aggregators associated\n\t\t\twith the account.

", + "smithy.api#documentation": "

Returns the details of one or more configuration aggregators.\n\t\t\tIf the configuration aggregator is not specified, this operation\n\t\t\treturns the details for all the configuration aggregators associated\n\t\t\twith the account.

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", @@ -4085,10 +4419,13 @@ "errors": [ { "target": "com.amazonaws.configservice#NoSuchConfigurationRecorderException" + }, + { + "target": "com.amazonaws.configservice#ValidationException" } ], "traits": { - "smithy.api#documentation": "

Returns the current status of the specified configuration\n\t\t\trecorder as well as the status of the last recording event for the recorder. If a configuration recorder is not specified, this action\n\t\t\treturns the status of all configuration recorders associated with\n\t\t\tthe account.

\n \n

>You can specify only one configuration recorder for each Amazon Web Services Region for each account.\n\t\t\t\tFor a detailed status of recording events over time, add your Config events to Amazon CloudWatch metrics and use CloudWatch metrics.

\n
" + "smithy.api#documentation": "

Returns the current status of the configuration\n\t\t\trecorder you specify as well as the status of the last recording event for the configuration recorders.

\n

For a detailed status of recording events over time, add your Config events to Amazon CloudWatch metrics and use CloudWatch metrics.

\n

If a configuration recorder is not specified, this operation returns the status for the customer managed configuration recorder configured for the\n\t\t\taccount, if applicable.

\n \n

When making a request to this operation, you can only specify one configuration recorder.

\n
" } }, "com.amazonaws.configservice#DescribeConfigurationRecorderStatusRequest": { @@ -4097,7 +4434,19 @@ "ConfigurationRecorderNames": { "target": "com.amazonaws.configservice#ConfigurationRecorderNameList", "traits": { - "smithy.api#documentation": "

The name(s) of the configuration recorder. If the name is not\n\t\t\tspecified, the action returns the current status of all the\n\t\t\tconfiguration recorders associated with the account.

" + "smithy.api#documentation": "

The name of the configuration recorder. If the name is not\n\t\t\tspecified, the opertation returns the status for the customer managed configuration recorder configured for the\n\t\t\taccount, if applicable.

\n \n

When making a request to this operation, you can only specify one configuration recorder.

\n
" + } + }, + "ServicePrincipal": { + "target": "com.amazonaws.configservice#ServicePrincipal", + "traits": { + "smithy.api#documentation": "

For service-linked configuration recorders, you can use the service principal of the linked Amazon Web Services service to specify the configuration recorder.

" + } + }, + "Arn": { + "target": "com.amazonaws.configservice#AmazonResourceName", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the configuration recorder that you want to specify.

" } } }, @@ -4132,10 +4481,13 @@ "errors": [ { "target": "com.amazonaws.configservice#NoSuchConfigurationRecorderException" + }, + { + "target": "com.amazonaws.configservice#ValidationException" } ], "traits": { - "smithy.api#documentation": "

Returns the details for the specified configuration recorders.\n\t\t\tIf the configuration recorder is not specified, this action returns\n\t\t\tthe details for all configuration recorders associated with the\n\t\t\taccount.

\n \n

You can specify only one configuration recorder for each Amazon Web Services Region for each account.

\n
", + "smithy.api#documentation": "

Returns details for the configuration recorder you specify.

\n

If a configuration recorder is not specified, this operation returns details for the customer managed configuration recorder configured for the\n\t\t\taccount, if applicable.

\n \n

When making a request to this operation, you can only specify one configuration recorder.

\n
", "smithy.test#smokeTests": [ { "id": "DescribeConfigurationRecordersSuccess", @@ -4157,7 +4509,19 @@ "ConfigurationRecorderNames": { "target": "com.amazonaws.configservice#ConfigurationRecorderNameList", "traits": { - "smithy.api#documentation": "

A list of configuration recorder names.

" + "smithy.api#documentation": "

A list of names of the configuration recorders that you want to specify.

" + } + }, + "ServicePrincipal": { + "target": "com.amazonaws.configservice#ServicePrincipal", + "traits": { + "smithy.api#documentation": "

For service-linked configuration recorders, you can use the service principal of the linked Amazon Web Services service to specify the configuration recorder.

" + } + }, + "Arn": { + "target": "com.amazonaws.configservice#AmazonResourceName", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the configuration recorder that you want to specify.

" } } }, @@ -4456,7 +4820,7 @@ } ], "traits": { - "smithy.api#documentation": "

Returns the current status of the specified delivery channel.\n\t\t\tIf a delivery channel is not specified, this action returns the\n\t\t\tcurrent status of all delivery channels associated with the\n\t\t\taccount.

\n \n

Currently, you can specify only one delivery channel per\n\t\t\t\tregion in your account.

\n
" + "smithy.api#documentation": "

Returns the current status of the specified delivery channel.\n\t\t\tIf a delivery channel is not specified, this operation returns the\n\t\t\tcurrent status of all delivery channels associated with the\n\t\t\taccount.

\n \n

Currently, you can specify only one delivery channel per\n\t\t\t\tregion in your account.

\n
" } }, "com.amazonaws.configservice#DescribeDeliveryChannelStatusRequest": { @@ -4503,7 +4867,7 @@ } ], "traits": { - "smithy.api#documentation": "

Returns details about the specified delivery channel. If a\n\t\t\tdelivery channel is not specified, this action returns the details\n\t\t\tof all delivery channels associated with the account.

\n \n

Currently, you can specify only one delivery channel per\n\t\t\t\tregion in your account.

\n
" + "smithy.api#documentation": "

Returns details about the specified delivery channel. If a\n\t\t\tdelivery channel is not specified, this operation returns the details\n\t\t\tof all delivery channels associated with the account.

\n \n

Currently, you can specify only one delivery channel per\n\t\t\t\tregion in your account.

\n
" } }, "com.amazonaws.configservice#DescribeDeliveryChannelsRequest": { @@ -5087,7 +5451,7 @@ "ConfigRuleName": { "target": "com.amazonaws.configservice#ConfigRuleName", "traits": { - "smithy.api#documentation": "

A list of Config rule names.

", + "smithy.api#documentation": "

The name of the Config rule.

", "smithy.api#required": {} } }, @@ -5155,7 +5519,7 @@ } ], "traits": { - "smithy.api#documentation": "

Returns the details of one or more retention configurations. If\n\t\t\tthe retention configuration name is not specified, this action\n\t\t\treturns the details for all the retention configurations for that\n\t\t\taccount.

\n \n

Currently, Config supports only one retention\n\t\t\t\tconfiguration per region in your account.

\n
", + "smithy.api#documentation": "

Returns the details of one or more retention configurations. If\n\t\t\tthe retention configuration name is not specified, this operation\n\t\t\treturns the details for all the retention configurations for that\n\t\t\taccount.

\n \n

Currently, Config supports only one retention\n\t\t\t\tconfiguration per region in your account.

\n
", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", @@ -5212,6 +5576,65 @@ } } }, + "com.amazonaws.configservice#DisassociateResourceTypes": { + "type": "operation", + "input": { + "target": "com.amazonaws.configservice#DisassociateResourceTypesRequest" + }, + "output": { + "target": "com.amazonaws.configservice#DisassociateResourceTypesResponse" + }, + "errors": [ + { + "target": "com.amazonaws.configservice#ConflictException" + }, + { + "target": "com.amazonaws.configservice#NoSuchConfigurationRecorderException" + }, + { + "target": "com.amazonaws.configservice#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Removes all resource types specified in the ResourceTypes list from the RecordingGroup of configuration recorder and excludes these resource types when recording.

\n

For this operation, the configuration recorder must use a RecordingStrategy that is either INCLUSION_BY_RESOURCE_TYPES or EXCLUSION_BY_RESOURCE_TYPES.

" + } + }, + "com.amazonaws.configservice#DisassociateResourceTypesRequest": { + "type": "structure", + "members": { + "ConfigurationRecorderArn": { + "target": "com.amazonaws.configservice#AmazonResourceName", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the specified configuration recorder.

", + "smithy.api#required": {} + } + }, + "ResourceTypes": { + "target": "com.amazonaws.configservice#ResourceTypeList", + "traits": { + "smithy.api#documentation": "

The list of resource types you want to remove from the recording group of the specified configuration recorder.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.configservice#DisassociateResourceTypesResponse": { + "type": "structure", + "members": { + "ConfigurationRecorder": { + "target": "com.amazonaws.configservice#ConfigurationRecorder", + "traits": { + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.configservice#DiscoveredResourceIdentifierList": { "type": "list", "member": { @@ -5520,7 +5943,7 @@ } }, "traits": { - "smithy.api#documentation": "

Specifies whether the configuration recorder excludes certain resource types from being recorded.\n\t\t\tUse the resourceTypes field to enter a comma-separated list of resource types you want to exclude from recording.

\n

By default, when Config adds support for a new resource type in the Region where you set up the configuration recorder,\n\t\t\tincluding global resource types, Config starts recording resources of that type automatically.

\n \n

\n How to use the exclusion recording strategy \n

\n

To use this option, you must set the useOnly\n\t\t\t\tfield of RecordingStrategy\n\t\t\t\tto EXCLUSION_BY_RESOURCE_TYPES.

\n

Config will then record configuration changes for all supported resource types, except the resource types that you specify to exclude from being recorded.

\n

\n Global resource types and the exclusion recording strategy \n

\n

Unless specifically listed as exclusions,\n\t\t\t\tAWS::RDS::GlobalCluster will be recorded automatically in all supported Config Regions were the configuration recorder is enabled.

\n

IAM users, groups, roles, and customer managed policies will be recorded in the Region where you set up the configuration recorder if that is a Region where Config was available before February 2022.\n\t\t\t\tYou cannot be record the global IAM resouce types in Regions supported by Config after February 2022. This list where you cannot record the global IAM resource types includes the following Regions:

\n
    \n
  • \n

    Asia Pacific (Hyderabad)

    \n
  • \n
  • \n

    Asia Pacific (Melbourne)

    \n
  • \n
  • \n

    Canada West (Calgary)

    \n
  • \n
  • \n

    Europe (Spain)

    \n
  • \n
  • \n

    Europe (Zurich)

    \n
  • \n
  • \n

    Israel (Tel Aviv)

    \n
  • \n
  • \n

    Middle East (UAE)

    \n
  • \n
\n
" + "smithy.api#documentation": "

Specifies whether the configuration recorder excludes certain resource types from being recorded.\n\t\t\tUse the resourceTypes field to enter a comma-separated list of resource types you want to exclude from recording.

\n

By default, when Config adds support for a new resource type in the Region where you set up the configuration recorder,\n\t\t\tincluding global resource types, Config starts recording resources of that type automatically.

\n \n

\n How to use the exclusion recording strategy \n

\n

To use this option, you must set the useOnly\n\t\t\t\tfield of RecordingStrategy\n\t\t\t\tto EXCLUSION_BY_RESOURCE_TYPES.

\n

Config will then record configuration changes for all supported resource types, except the resource types that you specify to exclude from being recorded.

\n

\n Global resource types and the exclusion recording strategy \n

\n

Unless specifically listed as exclusions,\n\t\t\t\tAWS::RDS::GlobalCluster will be recorded automatically in all supported Config Regions were the configuration recorder is enabled.

\n

IAM users, groups, roles, and customer managed policies will be recorded in the Region where you set up the configuration recorder if that is a Region where Config was available before February 2022.\n\t\t\t\tYou cannot be record the global IAM resouce types in Regions supported by Config after February 2022. For a list of those Regions,\n\t\t\t\tsee Recording Amazon Web Services Resources | Global Resources.

\n
" } }, "com.amazonaws.configservice#ExecutionControls": { @@ -6118,7 +6541,7 @@ } ], "traits": { - "smithy.api#documentation": "

Returns configuration item that is aggregated for your specific resource in a specific source account and region.

" + "smithy.api#documentation": "

Returns configuration item that is aggregated for your specific resource in a specific source account and region.

\n \n

The API does not return results for deleted resources.

\n
" } }, "com.amazonaws.configservice#GetAggregateResourceConfigRequest": { @@ -7241,7 +7664,7 @@ } }, "traits": { - "smithy.api#documentation": "

Your Amazon S3 bucket policy does not permit Config to\n\t\t\twrite to it.

", + "smithy.api#documentation": "

Your Amazon S3 bucket policy does not allow Config to\n\t\t\twrite to it.

", "smithy.api#error": "client" } }, @@ -7256,7 +7679,7 @@ } }, "traits": { - "smithy.api#documentation": "

Indicates one of the following errors:

\n
    \n
  • \n

    For PutConfigRule, the rule cannot be created because the IAM role assigned to Config lacks permissions to perform the config:Put* action.

    \n
  • \n
  • \n

    For PutConfigRule, the Lambda function cannot be invoked. Check the function ARN, and check the function's permissions.

    \n
  • \n
  • \n

    For PutOrganizationConfigRule, organization Config rule cannot be created because you do not have permissions to call IAM GetRole action or create a service-linked role.

    \n
  • \n
  • \n

    For PutConformancePack and PutOrganizationConformancePack, a conformance pack cannot be created because you do not have the following permissions:

    \n
      \n
    • \n

      You do not have permission to call IAM GetRole action or create a service-linked role.

      \n
    • \n
    • \n

      You do not have permission to read Amazon S3 bucket or call SSM:GetDocument.

      \n
    • \n
    \n
  • \n
", + "smithy.api#documentation": "

Indicates one of the following errors:

\n
    \n
  • \n

    For PutConfigRule, the rule cannot be created because the IAM role assigned to Config lacks permissions to perform the config:Put* action.

    \n
  • \n
  • \n

    For PutConfigRule, the Lambda function cannot be invoked. Check the function ARN, and check the function's permissions.

    \n
  • \n
  • \n

    For PutOrganizationConfigRule, organization Config rule cannot be created because you do not have permissions to call IAM GetRole action or create a service-linked role.

    \n
  • \n
  • \n

    For PutConformancePack and PutOrganizationConformancePack, a conformance pack cannot be created because you do not have the following permissions:

    \n
      \n
    • \n

      You do not have permission to call IAM GetRole action or create a service-linked role.

      \n
    • \n
    • \n

      You do not have permission to read Amazon S3 bucket or call SSM:GetDocument.

      \n
    • \n
    \n
  • \n
  • \n

    For PutServiceLinkedConfigurationRecorder, a service-linked configuration recorder cannot be created because you do not have the following permissions: IAM CreateServiceLinkedRole.

    \n
  • \n
", "smithy.api#error": "client" } }, @@ -7277,7 +7700,7 @@ } }, "traits": { - "smithy.api#documentation": "

You have provided a name for the configuration recorder that is not\n\t\t\tvalid.

", + "smithy.api#documentation": "

You have provided a name for the customer managed configuration recorder that is not\n\t\t\tvalid.

", "smithy.api#error": "client" } }, @@ -7367,7 +7790,7 @@ } }, "traits": { - "smithy.api#documentation": "

Indicates one of the following errors:

\n
    \n
  • \n

    You have provided a combination of parameter values that is not valid. For example:

    \n
      \n
    • \n

      Setting the allSupported field of RecordingGroup to true,\n\t\t\t\t\t\tbut providing a non-empty list for the resourceTypesfield of RecordingGroup.

      \n
    • \n
    • \n

      Setting the allSupported field of RecordingGroup to true, but also setting the useOnly field of RecordingStrategy to EXCLUSION_BY_RESOURCE_TYPES.

      \n
    • \n
    \n
  • \n
  • \n

    Every parameter is either null, false, or empty.

    \n
  • \n
  • \n

    You have reached the limit of the number of resource types you can provide for the recording group.

    \n
  • \n
  • \n

    You have provided resource types or a recording strategy that are not valid.

    \n
  • \n
", + "smithy.api#documentation": "

One of the following errors:

\n
    \n
  • \n

    You have provided a combination of parameter values that is not valid. For example:

    \n
      \n
    • \n

      Setting the allSupported field of RecordingGroup to true,\n\t\t\t\t\t\tbut providing a non-empty list for the resourceTypesfield of RecordingGroup.

      \n
    • \n
    • \n

      Setting the allSupported field of RecordingGroup to true, but also setting the useOnly field of RecordingStrategy to EXCLUSION_BY_RESOURCE_TYPES.

      \n
    • \n
    \n
  • \n
  • \n

    Every parameter is either null, false, or empty.

    \n
  • \n
  • \n

    You have reached the limit of the number of resource types you can provide for the recording group.

    \n
  • \n
  • \n

    You have provided resource types or a recording strategy that are not valid.

    \n
  • \n
", "smithy.api#error": "client" } }, @@ -7397,7 +7820,7 @@ } }, "traits": { - "smithy.api#documentation": "

You have provided a null or empty Amazon Resource Name (ARN) for the IAM role assumed by Config and used by the configuration recorder.

", + "smithy.api#documentation": "

You have provided a null or empty Amazon Resource Name (ARN) for the IAM role assumed by Config and used by the customer managed configuration recorder.

", "smithy.api#error": "client" } }, @@ -7472,7 +7895,7 @@ } }, "traits": { - "smithy.api#documentation": "

You cannot delete the delivery channel you specified because\n\t\t\tthe configuration recorder is running.

", + "smithy.api#documentation": "

You cannot delete the delivery channel you specified because the customer managed configuration recorder is running.

", "smithy.api#error": "client" } }, @@ -7503,7 +7926,7 @@ } }, "traits": { - "smithy.api#documentation": "

For StartConfigRulesEvaluation API, this exception\n\t\t\tis thrown if an evaluation is in progress or if you call the StartConfigRulesEvaluation API more than once per\n\t\t\tminute.

\n

For PutConfigurationAggregator API, this exception\n\t\t\tis thrown if the number of accounts and aggregators exceeds the\n\t\t\tlimit.

", + "smithy.api#documentation": "

For PutServiceLinkedConfigurationRecorder API, this exception\n\t\t\tis thrown if the number of service-linked roles in the account exceeds the limit.

\n

For StartConfigRulesEvaluation API, this exception\n\t\t\tis thrown if an evaluation is in progress or if you call the StartConfigRulesEvaluation API more than once per\n\t\t\tminute.

\n

For PutConfigurationAggregator API, this exception\n\t\t\tis thrown if the number of accounts and aggregators exceeds the\n\t\t\tlimit.

", "smithy.api#error": "client" } }, @@ -7600,6 +8023,77 @@ "smithy.api#output": {} } }, + "com.amazonaws.configservice#ListConfigurationRecorders": { + "type": "operation", + "input": { + "target": "com.amazonaws.configservice#ListConfigurationRecordersRequest" + }, + "output": { + "target": "com.amazonaws.configservice#ListConfigurationRecordersResponse" + }, + "errors": [ + { + "target": "com.amazonaws.configservice#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Returns a list of configuration recorders depending on the filters you specify.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "ConfigurationRecorderSummaries", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.configservice#ListConfigurationRecordersRequest": { + "type": "structure", + "members": { + "Filters": { + "target": "com.amazonaws.configservice#ConfigurationRecorderFilterList", + "traits": { + "smithy.api#documentation": "

Filters the results based on a list of ConfigurationRecorderFilter objects that you specify.

" + } + }, + "MaxResults": { + "target": "com.amazonaws.configservice#MaxResults", + "traits": { + "smithy.api#default": null, + "smithy.api#documentation": "

The maximum number of results to include in the response.

" + } + }, + "NextToken": { + "target": "com.amazonaws.configservice#NextToken", + "traits": { + "smithy.api#documentation": "

The NextToken string returned on a previous page that you use to get the next page of results in a paginated response.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.configservice#ListConfigurationRecordersResponse": { + "type": "structure", + "members": { + "ConfigurationRecorderSummaries": { + "target": "com.amazonaws.configservice#ConfigurationRecorderSummaries", + "traits": { + "smithy.api#documentation": "

A list of ConfigurationRecorderSummary objects that includes.

", + "smithy.api#required": {} + } + }, + "NextToken": { + "target": "com.amazonaws.configservice#NextToken", + "traits": { + "smithy.api#documentation": "

The NextToken string returned on a previous page that you use to get the next page of results in a paginated response.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.configservice#ListConformancePackComplianceScores": { "type": "operation", "input": { @@ -7933,7 +8427,7 @@ "NextToken": { "target": "com.amazonaws.configservice#String", "traits": { - "smithy.api#documentation": "

If the previous paginated request didn't return all of the remaining results, the response object's NextToken parameter value is set to a token. \n\t\t\tTo retrieve the next set of results, call this action again and assign that token to the request object's NextToken parameter. \n\t\t\tIf there are no remaining results, the previous response object's NextToken parameter is set to null.

" + "smithy.api#documentation": "

If the previous paginated request didn't return all of the remaining results, the response object's NextToken parameter value is set to a token. \n\t\t\tTo retrieve the next set of results, call this operation again and assign that token to the request object's NextToken parameter. \n\t\t\tIf there are no remaining results, the previous response object's NextToken parameter is set to null.

" } } }, @@ -7979,7 +8473,7 @@ "ResourceArn": { "target": "com.amazonaws.configservice#AmazonResourceName", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) that identifies the resource for which to list the tags. Currently, the supported resources are ConfigRule, ConfigurationAggregator and AggregatorAuthorization.

", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) that identifies the resource for which to list the tags. The following resources are supported:

\n
    \n
  • \n

    \n ConfigurationRecorder\n

    \n
  • \n
  • \n

    \n ConfigRule\n

    \n
  • \n
  • \n

    \n OrganizationConfigRule\n

    \n
  • \n
  • \n

    \n ConformancePack\n

    \n
  • \n
  • \n

    \n OrganizationConformancePack\n

    \n
  • \n
  • \n

    \n ConfigurationAggregator\n

    \n
  • \n
  • \n

    \n AggregationAuthorization\n

    \n
  • \n
  • \n

    \n StoredQuery\n

    \n
  • \n
", "smithy.api#required": {} } }, @@ -8147,6 +8641,16 @@ "smithy.api#error": "client" } }, + "com.amazonaws.configservice#MaxResults": { + "type": "integer", + "traits": { + "smithy.api#default": 0, + "smithy.api#range": { + "min": 0, + "max": 20 + } + } + }, "com.amazonaws.configservice#MaximumExecutionFrequency": { "type": "enum", "members": { @@ -8334,7 +8838,7 @@ } }, "traits": { - "smithy.api#documentation": "

There are no configuration recorders available to provide the\n\t\t\trole needed to describe your resources. Create a configuration\n\t\t\trecorder.

", + "smithy.api#documentation": "

There are no customer managed configuration recorders available to record your resources. Use the PutConfigurationRecorder operation to create the customer managed configuration\n\t\t\trecorder.

", "smithy.api#error": "client" } }, @@ -8577,7 +9081,7 @@ } }, "traits": { - "smithy.api#documentation": "

For PutConfigurationAggregator API, you can see this exception for the following reasons:

\n
    \n
  • \n

    No permission to call EnableAWSServiceAccess API

    \n
  • \n
  • \n

    The configuration aggregator cannot be updated because your Amazon Web Services Organization management account or the delegated administrator role changed. \n\t\t\t\tDelete this aggregator and create a new one with the current Amazon Web Services Organization.

    \n
  • \n
  • \n

    The configuration aggregator is associated with a previous Amazon Web Services Organization and Config cannot aggregate data with current Amazon Web Services Organization. \n\t\t\t\tDelete this aggregator and create a new one with the current Amazon Web Services Organization.

    \n
  • \n
  • \n

    You are not a registered delegated administrator for Config with permissions to call ListDelegatedAdministrators API. \n\t\t\tEnsure that the management account registers delagated administrator for Config service principle name before the delegated administrator creates an aggregator.

    \n
  • \n
\n

For all OrganizationConfigRule and OrganizationConformancePack APIs, Config throws an exception if APIs are called from member accounts. All APIs must be called from organization management account.

", + "smithy.api#documentation": "

For PutConfigurationAggregator API, you can see this exception for the following reasons:

\n
    \n
  • \n

    No permission to call EnableAWSServiceAccess API

    \n
  • \n
  • \n

    The configuration aggregator cannot be updated because your Amazon Web Services Organization management account or the delegated administrator role changed. \n\t\t\t\tDelete this aggregator and create a new one with the current Amazon Web Services Organization.

    \n
  • \n
  • \n

    The configuration aggregator is associated with a previous Amazon Web Services Organization and Config cannot aggregate data with current Amazon Web Services Organization. \n\t\t\t\tDelete this aggregator and create a new one with the current Amazon Web Services Organization.

    \n
  • \n
  • \n

    You are not a registered delegated administrator for Config with permissions to call ListDelegatedAdministrators API. \n\t\t\tEnsure that the management account registers delagated administrator for Config service principal name before the delegated administrator creates an aggregator.

    \n
  • \n
\n

For all OrganizationConfigRule and OrganizationConformancePack APIs, Config throws an exception if APIs are called from member accounts. All APIs must be called from organization management account.

", "smithy.api#error": "client" } }, @@ -9599,7 +10103,7 @@ } ], "traits": { - "smithy.api#documentation": "

Authorizes the aggregator account and region to collect data\n\t\t\tfrom the source account and region.

\n \n

\n PutAggregationAuthorization is an idempotent API. Subsequent requests won’t create a duplicate resource if one was already created. If a following request has different tags values,\n\t\t\tConfig will ignore these differences and treat it as an idempotent request of the previous. In this case, tags will not be updated, even if they are different.

\n
" + "smithy.api#documentation": "

Authorizes the aggregator account and region to collect data\n\t\t\tfrom the source account and region.

\n \n

\n Tags are added at creation and cannot be updated with this operation\n

\n

\n PutAggregationAuthorization is an idempotent API. Subsequent requests won’t create a duplicate resource if one was already created. If a following request has different tags values,\n\t\t\tConfig will ignore these differences and treat it as an idempotent request of the previous. In this case, tags will not be updated, even if they are different.

\n

Use TagResource and UntagResource to update tags after creation.

\n
" } }, "com.amazonaws.configservice#PutAggregationAuthorizationRequest": { @@ -9670,7 +10174,7 @@ } ], "traits": { - "smithy.api#documentation": "

Adds or updates an Config rule to evaluate if your\n\t\t\tAmazon Web Services resources comply with your desired configurations. For information on how many Config rules you can have per account, \n\t\t\tsee \n Service Limits\n in the Config Developer Guide.

\n

There are two types of rules: Config Managed Rules and Config Custom Rules.\n\t\t\tYou can use PutConfigRule to create both Config Managed Rules and Config Custom Rules.

\n

Config Managed Rules are predefined,\n\t\t\tcustomizable rules created by Config. For a list of managed rules, see\n\t\t\tList of Config\n\t\t\t\tManaged Rules. If you are adding an Config managed rule, you must specify the\n\t\t\trule's identifier for the SourceIdentifier key.

\n

Config Custom Rules are rules that you create from scratch. There are two ways to create Config custom rules: with Lambda functions\n\t\t\t( Lambda Developer Guide) and with Guard (Guard GitHub\n\t\t\t\t\tRepository), a policy-as-code language.\n\t\t\t\n\t\t\tConfig custom rules created with Lambda\n\t\t\tare called Config Custom Lambda Rules and Config custom rules created with\n\t\t\tGuard are called Config Custom Policy Rules.

\n

If you are adding a new Config Custom Lambda rule,\n\t\t\tyou first need to create an Lambda function that the rule invokes to evaluate\n\t\t\tyour resources. When you use PutConfigRule to add a Custom Lambda rule to Config, you must specify the Amazon Resource\n\t\t\tName (ARN) that Lambda assigns to the function. You specify the ARN\n\t\t\tin the SourceIdentifier key. This key is part of the\n\t\t\tSource object, which is part of the\n\t\t\tConfigRule object.

\n

For any new Config rule that you add, specify the\n\t\t\t\tConfigRuleName in the ConfigRule\n\t\t\tobject. Do not specify the ConfigRuleArn or the\n\t\t\tConfigRuleId. These values are generated by Config for new rules.

\n

If you are updating a rule that you added previously, you can\n\t\t\tspecify the rule by ConfigRuleName,\n\t\t\t\tConfigRuleId, or ConfigRuleArn in the\n\t\t\t\tConfigRule data type that you use in this\n\t\t\trequest.

\n

For more information about developing and using Config\n\t\t\trules, see Evaluating Resources with Config Rules\n\t\t\tin the Config Developer Guide.

\n \n

\n PutConfigRule is an idempotent API. Subsequent requests won’t create a duplicate resource if one was already created. If a following request has different tags values,\n\t\t\tConfig will ignore these differences and treat it as an idempotent request of the previous. In this case, tags will not be updated, even if they are different.

\n
" + "smithy.api#documentation": "

Adds or updates an Config rule to evaluate if your\n\t\t\tAmazon Web Services resources comply with your desired configurations. For information on how many Config rules you can have per account, \n\t\t\tsee \n Service Limits\n in the Config Developer Guide.

\n

There are two types of rules: Config Managed Rules and Config Custom Rules.\n\t\t\tYou can use PutConfigRule to create both Config Managed Rules and Config Custom Rules.

\n

Config Managed Rules are predefined,\n\t\t\tcustomizable rules created by Config. For a list of managed rules, see\n\t\t\tList of Config\n\t\t\t\tManaged Rules. If you are adding an Config managed rule, you must specify the\n\t\t\trule's identifier for the SourceIdentifier key.

\n

Config Custom Rules are rules that you create from scratch. There are two ways to create Config custom rules: with Lambda functions\n\t\t\t( Lambda Developer Guide) and with Guard (Guard GitHub\n\t\t\t\t\tRepository), a policy-as-code language.\n\t\t\t\n\t\t\tConfig custom rules created with Lambda\n\t\t\tare called Config Custom Lambda Rules and Config custom rules created with\n\t\t\tGuard are called Config Custom Policy Rules.

\n

If you are adding a new Config Custom Lambda rule,\n\t\t\tyou first need to create an Lambda function that the rule invokes to evaluate\n\t\t\tyour resources. When you use PutConfigRule to add a Custom Lambda rule to Config, you must specify the Amazon Resource\n\t\t\tName (ARN) that Lambda assigns to the function. You specify the ARN\n\t\t\tin the SourceIdentifier key. This key is part of the\n\t\t\tSource object, which is part of the\n\t\t\tConfigRule object.

\n

For any new Config rule that you add, specify the\n\t\t\t\tConfigRuleName in the ConfigRule\n\t\t\tobject. Do not specify the ConfigRuleArn or the\n\t\t\tConfigRuleId. These values are generated by Config for new rules.

\n

If you are updating a rule that you added previously, you can\n\t\t\tspecify the rule by ConfigRuleName,\n\t\t\t\tConfigRuleId, or ConfigRuleArn in the\n\t\t\t\tConfigRule data type that you use in this\n\t\t\trequest.

\n

For more information about developing and using Config\n\t\t\trules, see Evaluating Resources with Config Rules\n\t\t\tin the Config Developer Guide.

\n \n

\n Tags are added at creation and cannot be updated with this operation\n

\n

\n PutConfigRule is an idempotent API. Subsequent requests won’t create a duplicate resource if one was already created. If a following request has different tags values,\n\t\t\tConfig will ignore these differences and treat it as an idempotent request of the previous. In this case, tags will not be updated, even if they are different.

\n

Use TagResource and UntagResource to update tags after creation.

\n
" } }, "com.amazonaws.configservice#PutConfigRuleRequest": { @@ -9723,7 +10227,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates and updates the configuration aggregator with the\n\t\t\tselected source accounts and regions. The source account can be\n\t\t\tindividual account(s) or an organization.

\n

\n accountIds that are passed will be replaced with existing accounts.\n\t\t\tIf you want to add additional accounts into the aggregator, call DescribeConfigurationAggregators to get the previous accounts and then append new ones.

\n \n

Config should be enabled in source accounts and regions\n\t\t\t\tyou want to aggregate.

\n

If your source type is an organization, you must be signed in to the management account or a registered delegated administrator and all the features must be enabled in your organization. \n\t\t\t\tIf the caller is a management account, Config calls EnableAwsServiceAccess API to enable integration between Config and Organizations.\n\t\t\t\tIf the caller is a registered delegated administrator, Config calls ListDelegatedAdministrators API to verify whether the caller is a valid delegated administrator.

\n

To register a delegated administrator, see Register a Delegated Administrator in the Config developer guide.

\n
\n \n

\n PutConfigurationAggregator is an idempotent API. Subsequent requests won’t create a duplicate resource if one was already created. If a following request has different tags values,\n\t\t\tConfig will ignore these differences and treat it as an idempotent request of the previous. In this case, tags will not be updated, even if they are different.

\n
" + "smithy.api#documentation": "

Creates and updates the configuration aggregator with the\n\t\t\tselected source accounts and regions. The source account can be\n\t\t\tindividual account(s) or an organization.

\n

\n accountIds that are passed will be replaced with existing accounts.\n\t\t\tIf you want to add additional accounts into the aggregator, call DescribeConfigurationAggregators to get the previous accounts and then append new ones.

\n \n

Config should be enabled in source accounts and regions\n\t\t\t\tyou want to aggregate.

\n

If your source type is an organization, you must be signed in to the management account or a registered delegated administrator and all the features must be enabled in your organization. \n\t\t\t\tIf the caller is a management account, Config calls EnableAwsServiceAccess API to enable integration between Config and Organizations.\n\t\t\t\tIf the caller is a registered delegated administrator, Config calls ListDelegatedAdministrators API to verify whether the caller is a valid delegated administrator.

\n

To register a delegated administrator, see Register a Delegated Administrator in the Config developer guide.

\n
\n \n

\n Tags are added at creation and cannot be updated with this operation\n

\n

\n PutConfigurationAggregator is an idempotent API. Subsequent requests won’t create a duplicate resource if one was already created. If a following request has different tags values,\n\t\t\tConfig will ignore these differences and treat it as an idempotent request of the previous. In this case, tags will not be updated, even if they are different.

\n

Use TagResource and UntagResource to update tags after creation.

\n
" } }, "com.amazonaws.configservice#PutConfigurationAggregatorRequest": { @@ -9753,6 +10257,12 @@ "traits": { "smithy.api#documentation": "

An array of tag object.

" } + }, + "AggregatorFilters": { + "target": "com.amazonaws.configservice#AggregatorFilters", + "traits": { + "smithy.api#documentation": "

An object to filter configuration recorders in an aggregator. Either ResourceType or ServicePrincipal is required.

" + } } }, "traits": { @@ -9794,12 +10304,15 @@ { "target": "com.amazonaws.configservice#MaxNumberOfConfigurationRecordersExceededException" }, + { + "target": "com.amazonaws.configservice#UnmodifiableEntityException" + }, { "target": "com.amazonaws.configservice#ValidationException" } ], "traits": { - "smithy.api#documentation": "

Creates a new configuration recorder to record configuration changes for specified resource types.

\n

You can also use this action to change the roleARN\n\t\t\tor the recordingGroup of an existing recorder.\n\t\t\tFor more information, see \n Managing the Configuration Recorder\n in the Config Developer Guide.

\n \n

You can specify only one configuration recorder for each Amazon Web Services Region for each account.

\n

If the configuration recorder does not have the\n\t\t\t\t\trecordingGroup field\n\t\t\t\tspecified, the default is to record all supported resource\n\t\t\t\ttypes.

\n
" + "smithy.api#documentation": "

Creates or updates the customer managed configuration recorder.

\n

You can use this operation to create a new customer managed configuration recorder or to update the roleARN and the recordingGroup for an existing customer managed configuration recorder.

\n

To start the customer managed configuration recorder and begin recording configuration changes for the resource types you specify,\n\t\t\tuse the StartConfigurationRecorder operation.

\n

For more information, see \n Working with the Configuration Recorder\n in the Config Developer Guide.

\n \n

\n One customer managed configuration recorder per account per Region\n

\n

You can create only one customer managed configuration recorder for each account for each Amazon Web Services Region.

\n

\n Default is to record all supported resource types, excluding the global IAM resource types\n

\n

If you have not specified values for the recordingGroup field, the default for the customer managed configuration recorder is to record all supported resource\n\t\t\t\ttypes, excluding the global IAM resource types: AWS::IAM::Group, AWS::IAM::Policy, AWS::IAM::Role, and AWS::IAM::User.

\n

\n Tags are added at creation and cannot be updated\n

\n

\n PutConfigurationRecorder is an idempotent API. Subsequent requests won’t create a duplicate resource if one was already created. If a following request has different tags values,\n\t\t\t\tConfig will ignore these differences and treat it as an idempotent request of the previous. In this case, tags will not be updated, even if they are different.

\n

Use TagResource and UntagResource to update tags after creation.

\n
" } }, "com.amazonaws.configservice#PutConfigurationRecorderRequest": { @@ -9808,9 +10321,15 @@ "ConfigurationRecorder": { "target": "com.amazonaws.configservice#ConfigurationRecorder", "traits": { - "smithy.api#documentation": "

An object for the configuration recorder to record configuration changes for specified resource types.

", + "smithy.api#documentation": "

An object for the configuration recorder. A configuration recorder records configuration changes for the resource types in scope.

", "smithy.api#required": {} } + }, + "Tags": { + "target": "com.amazonaws.configservice#TagsList", + "traits": { + "smithy.api#documentation": "

The tags for the customer managed configuration recorder. Each tag consists of a key and an optional value, both of which you define.

" + } } }, "traits": { @@ -9947,7 +10466,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates a delivery channel object to deliver configuration\n\t\t\tinformation and other compliance information to an Amazon S3 bucket and Amazon SNS topic.\n\t\t\tFor more information,\n\t\t\tsee Notifications that Config Sends to an Amazon SNS topic.

\n

Before you can create a delivery channel, you must create a\n\t\t\tconfiguration recorder.

\n

You can use this action to change the Amazon S3 bucket or an\n\t\t\tAmazon SNS topic of the existing delivery channel. To change the\n\t\t\tAmazon S3 bucket or an Amazon SNS topic, call this action and\n\t\t\tspecify the changed values for the S3 bucket and the SNS topic. If\n\t\t\tyou specify a different value for either the S3 bucket or the SNS\n\t\t\ttopic, this action will keep the existing value for the parameter\n\t\t\tthat is not changed.

\n \n

You can have only one delivery channel per region in your\n\t\t\t\taccount.

\n
" + "smithy.api#documentation": "

Creates or updates a delivery channel to deliver configuration\n\t\t\tinformation and other compliance information.

\n

You can use this operation to create a new delivery channel or to update the Amazon S3 bucket and the\n\t\t\tAmazon SNS topic of an existing delivery channel.

\n

For more information, see \n Working with the Delivery Channel\n in the Config Developer Guide.\n

\n \n

\n One delivery channel per account per Region\n

\n

You can have only one delivery channel for each account for each Amazon Web Services Region.

\n
" } }, "com.amazonaws.configservice#PutDeliveryChannelRequest": { @@ -9956,7 +10475,7 @@ "DeliveryChannel": { "target": "com.amazonaws.configservice#DeliveryChannel", "traits": { - "smithy.api#documentation": "

The configuration delivery channel object that delivers the\n\t\t\tconfiguration information to an Amazon S3 bucket and to an Amazon\n\t\t\tSNS topic.

", + "smithy.api#documentation": "

An object for the delivery channel. A delivery channel sends notifications and updated configuration states.\n\t\t

", "smithy.api#required": {} } } @@ -9986,7 +10505,7 @@ } ], "traits": { - "smithy.api#documentation": "

Used by an Lambda function to deliver evaluation results to\n\t\t\tConfig. This action is required in every Lambda function\n\t\t\tthat is invoked by an Config rule.

" + "smithy.api#documentation": "

Used by an Lambda function to deliver evaluation results to\n\t\t\tConfig. This operation is required in every Lambda function\n\t\t\tthat is invoked by an Config rule.

" } }, "com.amazonaws.configservice#PutEvaluationsRequest": { @@ -10342,7 +10861,7 @@ } ], "traits": { - "smithy.api#documentation": "

A remediation exception is when a specified resource is no longer considered for auto-remediation. \n\t\t\tThis API adds a new exception or updates an existing exception for a specified resource with a specified Config rule.

\n \n

\n Exceptions block auto remediation\n

\n

Config generates a remediation exception when a problem occurs running a remediation action for a specified resource. \n\t\t\tRemediation exceptions blocks auto-remediation until the exception is cleared.

\n
\n \n

\n Manual remediation is recommended when placing an exception\n

\n

When placing an exception on an Amazon Web Services resource, it is recommended that remediation is set as manual remediation until\n\t\t\tthe given Config rule for the specified resource evaluates the resource as NON_COMPLIANT.\n\t\t\tOnce the resource has been evaluated as NON_COMPLIANT, you can add remediation exceptions and change the remediation type back from Manual to Auto if you want to use auto-remediation.\n\t\t\tOtherwise, using auto-remediation before a NON_COMPLIANT evaluation result can delete resources before the exception is applied.

\n
\n \n

\n Exceptions can only be performed on non-compliant resources\n

\n

Placing an exception can only be performed on resources that are NON_COMPLIANT.\n\t\t\tIf you use this API for COMPLIANT resources or resources that are NOT_APPLICABLE, a remediation exception will not be generated.\n\t\t\tFor more information on the conditions that initiate the possible Config evaluation results,\n\t\t\tsee Concepts | Config Rules in the Config Developer Guide.

\n
\n \n

\n Auto remediation can be initiated even for compliant resources\n

\n

If you enable auto remediation for a specific Config rule using the PutRemediationConfigurations API or the Config console,\n\t\t\t\tit initiates the remediation process for all non-compliant resources for that specific rule.\n\t\t\t\tThe auto remediation process relies on the compliance data snapshot which is captured on a periodic basis.\n\t\t\t\tAny non-compliant resource that is updated between the snapshot schedule will continue to be remediated based on the last known compliance data snapshot.

\n

This means that in some cases auto remediation can be initiated even for compliant resources, since the bootstrap processor uses a database that can have stale evaluation results based on the last known compliance data snapshot.

\n
" + "smithy.api#documentation": "

A remediation exception is when a specified resource is no longer considered for auto-remediation. \n\t\t\tThis API adds a new exception or updates an existing exception for a specified resource with a specified Config rule.

\n \n

\n Exceptions block auto remediation\n

\n

Config generates a remediation exception when a problem occurs running a remediation action for a specified resource. \n\t\t\tRemediation exceptions blocks auto-remediation until the exception is cleared.

\n
\n \n

\n Manual remediation is recommended when placing an exception\n

\n

When placing an exception on an Amazon Web Services resource, it is recommended that remediation is set as manual remediation until\n\t\t\tthe given Config rule for the specified resource evaluates the resource as NON_COMPLIANT.\n\t\t\tOnce the resource has been evaluated as NON_COMPLIANT, you can add remediation exceptions and change the remediation type back from Manual to Auto if you want to use auto-remediation.\n\t\t\tOtherwise, using auto-remediation before a NON_COMPLIANT evaluation result can delete resources before the exception is applied.

\n
\n \n

\n Exceptions can only be performed on non-compliant resources\n

\n

Placing an exception can only be performed on resources that are NON_COMPLIANT.\n\t\t\tIf you use this API for COMPLIANT resources or resources that are NOT_APPLICABLE, a remediation exception will not be generated.\n\t\t\tFor more information on the conditions that initiate the possible Config evaluation results,\n\t\t\tsee Concepts | Config Rules in the Config Developer Guide.

\n
\n \n

\n Exceptions cannot be placed on service-linked remediation actions\n

\n

You cannot place an exception on service-linked remediation actions, such as remediation actions put by an organizational conformance pack.

\n
\n \n

\n Auto remediation can be initiated even for compliant resources\n

\n

If you enable auto remediation for a specific Config rule using the PutRemediationConfigurations API or the Config console,\n\t\t\t\tit initiates the remediation process for all non-compliant resources for that specific rule.\n\t\t\t\tThe auto remediation process relies on the compliance data snapshot which is captured on a periodic basis.\n\t\t\t\tAny non-compliant resource that is updated between the snapshot schedule will continue to be remediated based on the last known compliance data snapshot.

\n

This means that in some cases auto remediation can be initiated even for compliant resources, since the bootstrap processor uses a database that can have stale evaluation results based on the last known compliance data snapshot.

\n
" } }, "com.amazonaws.configservice#PutRemediationExceptionsRequest": { @@ -10516,6 +11035,73 @@ "smithy.api#output": {} } }, + "com.amazonaws.configservice#PutServiceLinkedConfigurationRecorder": { + "type": "operation", + "input": { + "target": "com.amazonaws.configservice#PutServiceLinkedConfigurationRecorderRequest" + }, + "output": { + "target": "com.amazonaws.configservice#PutServiceLinkedConfigurationRecorderResponse" + }, + "errors": [ + { + "target": "com.amazonaws.configservice#ConflictException" + }, + { + "target": "com.amazonaws.configservice#InsufficientPermissionsException" + }, + { + "target": "com.amazonaws.configservice#LimitExceededException" + }, + { + "target": "com.amazonaws.configservice#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Creates a service-linked configuration recorder that is linked to a specific Amazon Web Services service based on the ServicePrincipal you specify.

\n

The configuration recorder's name, recordingGroup, recordingMode, and recordingScope is set by the service that is linked to the configuration recorder.

\n

For more information, see \n Working with the Configuration Recorder\n in the Config Developer Guide.

\n

This API creates a service-linked role AWSServiceRoleForConfig in your account. The service-linked role is created only when the role does not exist in your account.

\n \n

\n The recording scope determines if you receive configuration items\n

\n

The recording scope is set by the service that is linked to the configuration recorder and determines whether you receive configuration items (CIs) in the delivery channel. If the recording scope is internal, you will not receive CIs in the delivery channel.

\n

\n Tags are added at creation and cannot be updated with this operation\n

\n

Use TagResource and UntagResource to update tags after creation.

\n
" + } + }, + "com.amazonaws.configservice#PutServiceLinkedConfigurationRecorderRequest": { + "type": "structure", + "members": { + "ServicePrincipal": { + "target": "com.amazonaws.configservice#ServicePrincipal", + "traits": { + "smithy.api#documentation": "

The service principal of the Amazon Web Services service for the service-linked configuration recorder that you want to create.

", + "smithy.api#required": {} + } + }, + "Tags": { + "target": "com.amazonaws.configservice#TagsList", + "traits": { + "smithy.api#documentation": "

The tags for a service-linked configuration recorder. Each tag consists of a key and an optional value, both of which you define.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.configservice#PutServiceLinkedConfigurationRecorderResponse": { + "type": "structure", + "members": { + "Arn": { + "target": "com.amazonaws.configservice#AmazonResourceName", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the specified configuration recorder.

" + } + }, + "Name": { + "target": "com.amazonaws.configservice#RecorderName", + "traits": { + "smithy.api#documentation": "

The name of the specified configuration recorder.

\n

For service-linked configuration recorders, Config automatically assigns a name that has the prefix \"AWS\" to the new service-linked configuration recorder.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.configservice#PutStoredQuery": { "type": "operation", "input": { @@ -10536,7 +11122,7 @@ } ], "traits": { - "smithy.api#documentation": "

Saves a new query or updates an existing saved query. The QueryName must be unique for a single Amazon Web Services account and a single Amazon Web Services Region.\n\t\t\tYou can create upto 300 queries in a single Amazon Web Services account and a single Amazon Web Services Region.

\n \n

\n PutStoredQuery is an idempotent API. Subsequent requests won’t create a duplicate resource if one was already created. If a following request has different tags values,\n\t\t\tConfig will ignore these differences and treat it as an idempotent request of the previous. In this case, tags will not be updated, even if they are different.

\n
" + "smithy.api#documentation": "

Saves a new query or updates an existing saved query. The QueryName must be unique for a single Amazon Web Services account and a single Amazon Web Services Region.\n\t\t\tYou can create upto 300 queries in a single Amazon Web Services account and a single Amazon Web Services Region.

\n \n

\n Tags are added at creation and cannot be updated\n

\n

\n PutStoredQuery is an idempotent API. Subsequent requests won’t create a duplicate resource if one was already created. If a following request has different tags values,\n\t\t\tConfig will ignore these differences and treat it as an idempotent request of the previous. In this case, tags will not be updated, even if they are different.

\n
" } }, "com.amazonaws.configservice#PutStoredQueryRequest": { @@ -10667,6 +11253,12 @@ "traits": { "smithy.api#enumValue": "Failure" } + }, + "NotApplicable": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "NotApplicable" + } } } }, @@ -10701,7 +11293,7 @@ "target": "com.amazonaws.configservice#IncludeGlobalResourceTypes", "traits": { "smithy.api#default": false, - "smithy.api#documentation": "

This option is a bundle which only applies to the global IAM resource types:\n\t\t\tIAM users, groups, roles, and customer managed policies. These global IAM resource types can only be recorded\n\t\t\tby Config in Regions where Config was available before February 2022.\n\t\t\tYou cannot be record the global IAM resouce types in Regions supported by Config after February 2022.\n\t\t\tThis list where you cannot record the global IAM resource types includes the following Regions:

\n
    \n
  • \n

    Asia Pacific (Hyderabad)

    \n
  • \n
  • \n

    Asia Pacific (Melbourne)

    \n
  • \n
  • \n

    Canada West (Calgary)

    \n
  • \n
  • \n

    Europe (Spain)

    \n
  • \n
  • \n

    Europe (Zurich)

    \n
  • \n
  • \n

    Israel (Tel Aviv)

    \n
  • \n
  • \n

    Middle East (UAE)

    \n
  • \n
\n \n

\n Aurora global clusters are recorded in all enabled Regions\n

\n

The AWS::RDS::GlobalCluster resource type will be recorded in all supported Config Regions where the configuration recorder is enabled, even if includeGlobalResourceTypes is setfalse.\n\t\t\t\tThe includeGlobalResourceTypes option is a bundle which only applies to IAM users, groups, roles, and customer managed policies.\n\t\t\t

\n

If you do not want to record AWS::RDS::GlobalCluster in all enabled Regions, use one of the following recording strategies:

\n
    \n
  1. \n

    \n Record all current and future resource types with exclusions (EXCLUSION_BY_RESOURCE_TYPES), or

    \n
  2. \n
  3. \n

    \n Record specific resource types (INCLUSION_BY_RESOURCE_TYPES).

    \n
  4. \n
\n

For more information, see Selecting Which Resources are Recorded in the Config developer guide.

\n
\n \n

\n includeGlobalResourceTypes and the exclusion recording strategy\n

\n

The includeGlobalResourceTypes field has no impact on the EXCLUSION_BY_RESOURCE_TYPES recording strategy.\n\t\t\t\tThis means that the global IAM resource types (IAM users, groups, roles, and customer managed policies) will\n\t\t\t\tnot be automatically added as exclusions for exclusionByResourceTypes when includeGlobalResourceTypes is set to false.

\n

The includeGlobalResourceTypes field should only be used to modify the AllSupported field, as the default for\n\t\t\t\tthe AllSupported field is to record configuration changes for all supported resource types excluding the global\n\t\t\t\tIAM resource types. To include the global IAM resource types when AllSupported is set to true, make sure to set includeGlobalResourceTypes to true.

\n

To exclude the global IAM resource types for the EXCLUSION_BY_RESOURCE_TYPES recording strategy, you need to manually add them to the resourceTypes field of exclusionByResourceTypes.

\n
\n \n

\n Required and optional fields\n

\n

Before you set this field to true,\n\t\t\tset the allSupported field of RecordingGroup to\n\t\t\ttrue. Optionally, you can set the useOnly field of RecordingStrategy to ALL_SUPPORTED_RESOURCE_TYPES.

\n
\n \n

\n Overriding fields\n

\n

If you set this field to false but list global IAM resource types in the resourceTypes field of RecordingGroup,\n\t\t\tConfig will still record configuration changes for those specified resource types regardless of if you set the includeGlobalResourceTypes field to false.

\n

If you do not want to record configuration changes to the global IAM resource types (IAM users, groups, roles, and customer managed policies), make sure to not list them in the resourceTypes field\n\t\t\tin addition to setting the includeGlobalResourceTypes field to false.

\n
" + "smithy.api#documentation": "

This option is a bundle which only applies to the global IAM resource types:\n\t\t\tIAM users, groups, roles, and customer managed policies. These global IAM resource types can only be recorded\n\t\t\tby Config in Regions where Config was available before February 2022.\n\t\t\tYou cannot be record the global IAM resouce types in Regions supported by Config after February 2022. For a list of those Regions,\n\t\t\tsee Recording Amazon Web Services Resources | Global Resources.

\n \n

\n Aurora global clusters are recorded in all enabled Regions\n

\n

The AWS::RDS::GlobalCluster resource type will be recorded in all supported Config Regions where the configuration recorder is enabled, even if includeGlobalResourceTypes is setfalse.\n\t\t\t\tThe includeGlobalResourceTypes option is a bundle which only applies to IAM users, groups, roles, and customer managed policies.\n\t\t\t

\n

If you do not want to record AWS::RDS::GlobalCluster in all enabled Regions, use one of the following recording strategies:

\n
    \n
  1. \n

    \n Record all current and future resource types with exclusions (EXCLUSION_BY_RESOURCE_TYPES), or

    \n
  2. \n
  3. \n

    \n Record specific resource types (INCLUSION_BY_RESOURCE_TYPES).

    \n
  4. \n
\n

For more information, see Selecting Which Resources are Recorded in the Config developer guide.

\n
\n \n

\n includeGlobalResourceTypes and the exclusion recording strategy\n

\n

The includeGlobalResourceTypes field has no impact on the EXCLUSION_BY_RESOURCE_TYPES recording strategy.\n\t\t\t\tThis means that the global IAM resource types (IAM users, groups, roles, and customer managed policies) will\n\t\t\t\tnot be automatically added as exclusions for exclusionByResourceTypes when includeGlobalResourceTypes is set to false.

\n

The includeGlobalResourceTypes field should only be used to modify the AllSupported field, as the default for\n\t\t\t\tthe AllSupported field is to record configuration changes for all supported resource types excluding the global\n\t\t\t\tIAM resource types. To include the global IAM resource types when AllSupported is set to true, make sure to set includeGlobalResourceTypes to true.

\n

To exclude the global IAM resource types for the EXCLUSION_BY_RESOURCE_TYPES recording strategy, you need to manually add them to the resourceTypes field of exclusionByResourceTypes.

\n
\n \n

\n Required and optional fields\n

\n

Before you set this field to true,\n\t\t\tset the allSupported field of RecordingGroup to\n\t\t\ttrue. Optionally, you can set the useOnly field of RecordingStrategy to ALL_SUPPORTED_RESOURCE_TYPES.

\n
\n \n

\n Overriding fields\n

\n

If you set this field to false but list global IAM resource types in the resourceTypes field of RecordingGroup,\n\t\t\tConfig will still record configuration changes for those specified resource types regardless of if you set the includeGlobalResourceTypes field to false.

\n

If you do not want to record configuration changes to the global IAM resource types (IAM users, groups, roles, and customer managed policies), make sure to not list them in the resourceTypes field\n\t\t\tin addition to setting the includeGlobalResourceTypes field to false.

\n
" } }, "resourceTypes": { @@ -10719,7 +11311,7 @@ "recordingStrategy": { "target": "com.amazonaws.configservice#RecordingStrategy", "traits": { - "smithy.api#documentation": "

An object that specifies the recording strategy for the configuration recorder.

\n
    \n
  • \n

    If you set the useOnly field of RecordingStrategy to ALL_SUPPORTED_RESOURCE_TYPES, Config records configuration changes for all supported resource types, excluding the global IAM resource types. You also must set the allSupported field of RecordingGroup to true. When Config adds support for a new resource type, Config automatically starts recording resources of that type.

    \n
  • \n
  • \n

    If you set the useOnly field of RecordingStrategy to INCLUSION_BY_RESOURCE_TYPES, Config records configuration changes for only the resource types you specify in the resourceTypes field of RecordingGroup.

    \n
  • \n
  • \n

    If you set the useOnly field of RecordingStrategy to EXCLUSION_BY_RESOURCE_TYPES, Config records configuration changes for all supported resource types\n\t\t\t\texcept the resource types that you specify to exclude from being recorded in the resourceTypes field of ExclusionByResourceTypes.

    \n
  • \n
\n \n

\n Required and optional fields\n

\n

The recordingStrategy field is optional when you set the\n\t\t\tallSupported field of RecordingGroup to true.

\n

The recordingStrategy field is optional when you list resource types in the\n\t\t\t\tresourceTypes field of RecordingGroup.

\n

The recordingStrategy field is required if you list resource types to exclude from recording in the resourceTypes field of ExclusionByResourceTypes.

\n
\n \n

\n Overriding fields\n

\n

If you choose EXCLUSION_BY_RESOURCE_TYPES for the recording strategy, the exclusionByResourceTypes field will override other properties in the request.

\n

For example, even if you set includeGlobalResourceTypes to false, global IAM resource types will still be automatically\n\t\t\trecorded in this option unless those resource types are specifically listed as exclusions in the resourceTypes field of exclusionByResourceTypes.

\n
\n \n

\n Global resources types and the resource exclusion recording strategy\n

\n

By default, if you choose the EXCLUSION_BY_RESOURCE_TYPES recording strategy,\n\t\t\twhen Config adds support for a new resource type in the Region where you set up the configuration recorder, including global resource types,\n\t\t\tConfig starts recording resources of that type automatically.

\n

Unless specifically listed as exclusions,\n\t\t\t\tAWS::RDS::GlobalCluster will be recorded automatically in all supported Config Regions were the configuration recorder is enabled.

\n

IAM users, groups, roles, and customer managed policies will be recorded in the Region where you set up the configuration recorder if that is a Region where Config was available before February 2022.\n\t\t\t\tYou cannot be record the global IAM resouce types in Regions supported by Config after February 2022. This list where you cannot record the global IAM resource types includes the following Regions:

\n
    \n
  • \n

    Asia Pacific (Hyderabad)

    \n
  • \n
  • \n

    Asia Pacific (Melbourne)

    \n
  • \n
  • \n

    Canada West (Calgary)

    \n
  • \n
  • \n

    Europe (Spain)

    \n
  • \n
  • \n

    Europe (Zurich)

    \n
  • \n
  • \n

    Israel (Tel Aviv)

    \n
  • \n
  • \n

    Middle East (UAE)

    \n
  • \n
\n
" + "smithy.api#documentation": "

An object that specifies the recording strategy for the configuration recorder.

\n
    \n
  • \n

    If you set the useOnly field of RecordingStrategy to ALL_SUPPORTED_RESOURCE_TYPES, Config records configuration changes for all supported resource types, excluding the global IAM resource types. You also must set the allSupported field of RecordingGroup to true. When Config adds support for a new resource type, Config automatically starts recording resources of that type.

    \n
  • \n
  • \n

    If you set the useOnly field of RecordingStrategy to INCLUSION_BY_RESOURCE_TYPES, Config records configuration changes for only the resource types you specify in the resourceTypes field of RecordingGroup.

    \n
  • \n
  • \n

    If you set the useOnly field of RecordingStrategy to EXCLUSION_BY_RESOURCE_TYPES, Config records configuration changes for all supported resource types\n\t\t\t\texcept the resource types that you specify to exclude from being recorded in the resourceTypes field of ExclusionByResourceTypes.

    \n
  • \n
\n \n

\n Required and optional fields\n

\n

The recordingStrategy field is optional when you set the\n\t\t\tallSupported field of RecordingGroup to true.

\n

The recordingStrategy field is optional when you list resource types in the\n\t\t\t\tresourceTypes field of RecordingGroup.

\n

The recordingStrategy field is required if you list resource types to exclude from recording in the resourceTypes field of ExclusionByResourceTypes.

\n
\n \n

\n Overriding fields\n

\n

If you choose EXCLUSION_BY_RESOURCE_TYPES for the recording strategy, the exclusionByResourceTypes field will override other properties in the request.

\n

For example, even if you set includeGlobalResourceTypes to false, global IAM resource types will still be automatically\n\t\t\trecorded in this option unless those resource types are specifically listed as exclusions in the resourceTypes field of exclusionByResourceTypes.

\n
\n \n

\n Global resources types and the resource exclusion recording strategy\n

\n

By default, if you choose the EXCLUSION_BY_RESOURCE_TYPES recording strategy,\n\t\t\twhen Config adds support for a new resource type in the Region where you set up the configuration recorder, including global resource types,\n\t\t\tConfig starts recording resources of that type automatically.

\n

Unless specifically listed as exclusions,\n\t\t\t\tAWS::RDS::GlobalCluster will be recorded automatically in all supported Config Regions were the configuration recorder is enabled.

\n

IAM users, groups, roles, and customer managed policies will be recorded in the Region where you set up the configuration recorder if that is a Region where Config was available before February 2022.\n\t\t\t\tYou cannot be record the global IAM resouce types in Regions supported by Config after February 2022. For a list of those Regions,\n\t\t\t\tsee Recording Amazon Web Services Resources | Global Resources.

\n
" } } }, @@ -10733,7 +11325,7 @@ "recordingFrequency": { "target": "com.amazonaws.configservice#RecordingFrequency", "traits": { - "smithy.api#documentation": "

The default recording frequency that Config uses to record configuration changes.

\n \n

Daily recording is not supported for the following resource types:

\n
    \n
  • \n

    \n AWS::Config::ResourceCompliance\n

    \n
  • \n
  • \n

    \n AWS::Config::ConformancePackCompliance\n

    \n
  • \n
  • \n

    \n AWS::Config::ConfigurationRecorder\n

    \n
  • \n
\n

For the allSupported (ALL_SUPPORTED_RESOURCE_TYPES) recording strategy, these resource types will be set to Continuous recording.

\n
", + "smithy.api#documentation": "

The default recording frequency that Config uses to record configuration changes.

\n \n

Daily recording cannot be specified for the following resource types:

\n
    \n
  • \n

    \n AWS::Config::ResourceCompliance\n

    \n
  • \n
  • \n

    \n AWS::Config::ConformancePackCompliance\n

    \n
  • \n
  • \n

    \n AWS::Config::ConfigurationRecorder\n

    \n
  • \n
\n

For the allSupported (ALL_SUPPORTED_RESOURCE_TYPES) recording strategy, these resource types will be set to Continuous recording.

\n
", "smithy.api#required": {} } }, @@ -10760,7 +11352,7 @@ "resourceTypes": { "target": "com.amazonaws.configservice#RecordingModeResourceTypesList", "traits": { - "smithy.api#documentation": "

A comma-separated list that specifies which resource types Config\n\t\t\tincludes in the override.

\n \n

Daily recording is not supported for the following resource types:

\n
    \n
  • \n

    \n AWS::Config::ResourceCompliance\n

    \n
  • \n
  • \n

    \n AWS::Config::ConformancePackCompliance\n

    \n
  • \n
  • \n

    \n AWS::Config::ConfigurationRecorder\n

    \n
  • \n
\n
", + "smithy.api#documentation": "

A comma-separated list that specifies which resource types Config\n\t\t\tincludes in the override.

\n \n

Daily recording cannot be specified for the following resource types:

\n
    \n
  • \n

    \n AWS::Config::ResourceCompliance\n

    \n
  • \n
  • \n

    \n AWS::Config::ConformancePackCompliance\n

    \n
  • \n
  • \n

    \n AWS::Config::ConfigurationRecorder\n

    \n
  • \n
\n
", "smithy.api#required": {} } }, @@ -10794,6 +11386,23 @@ "target": "com.amazonaws.configservice#ResourceType" } }, + "com.amazonaws.configservice#RecordingScope": { + "type": "enum", + "members": { + "INTERNAL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INTERNAL" + } + }, + "PAID": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PAID" + } + } + } + }, "com.amazonaws.configservice#RecordingStrategy": { "type": "structure", "members": { @@ -14152,6 +14761,22 @@ } } }, + "com.amazonaws.configservice#ResourceTypeValue": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 256 + }, + "smithy.api#pattern": "^[a-zA-Z0-9]{2,64}::[a-zA-Z0-9]{2,64}::[a-zA-Z0-9]{2,64}$" + } + }, + "com.amazonaws.configservice#ResourceTypeValueList": { + "type": "list", + "member": { + "target": "com.amazonaws.configservice#ResourceTypeValue" + } + }, "com.amazonaws.configservice#ResourceTypes": { "type": "list", "member": { @@ -14511,6 +15136,32 @@ "smithy.api#output": {} } }, + "com.amazonaws.configservice#ServicePrincipal": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 128 + }, + "smithy.api#pattern": "^[\\w+=,.@-]+$" + } + }, + "com.amazonaws.configservice#ServicePrincipalValue": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 128 + }, + "smithy.api#pattern": "^[\\w+=,.@-]+$" + } + }, + "com.amazonaws.configservice#ServicePrincipalValueList": { + "type": "list", + "member": { + "target": "com.amazonaws.configservice#ServicePrincipalValue" + } + }, "com.amazonaws.configservice#SortBy": { "type": "enum", "members": { @@ -14643,6 +15294,9 @@ "type": "service", "version": "2014-11-12", "operations": [ + { + "target": "com.amazonaws.configservice#AssociateResourceTypes" + }, { "target": "com.amazonaws.configservice#BatchGetAggregateResourceConfig" }, @@ -14691,6 +15345,9 @@ { "target": "com.amazonaws.configservice#DeleteRetentionConfiguration" }, + { + "target": "com.amazonaws.configservice#DeleteServiceLinkedConfigurationRecorder" + }, { "target": "com.amazonaws.configservice#DeleteStoredQuery" }, @@ -14772,6 +15429,9 @@ { "target": "com.amazonaws.configservice#DescribeRetentionConfigurations" }, + { + "target": "com.amazonaws.configservice#DisassociateResourceTypes" + }, { "target": "com.amazonaws.configservice#GetAggregateComplianceDetailsByConfigRule" }, @@ -14832,6 +15492,9 @@ { "target": "com.amazonaws.configservice#ListAggregateDiscoveredResources" }, + { + "target": "com.amazonaws.configservice#ListConfigurationRecorders" + }, { "target": "com.amazonaws.configservice#ListConformancePackComplianceScores" }, @@ -14889,6 +15552,9 @@ { "target": "com.amazonaws.configservice#PutRetentionConfiguration" }, + { + "target": "com.amazonaws.configservice#PutServiceLinkedConfigurationRecorder" + }, { "target": "com.amazonaws.configservice#PutStoredQuery" }, @@ -16020,10 +16686,13 @@ }, { "target": "com.amazonaws.configservice#NoSuchConfigurationRecorderException" + }, + { + "target": "com.amazonaws.configservice#UnmodifiableEntityException" } ], "traits": { - "smithy.api#documentation": "

Starts recording configurations of the Amazon Web Services resources you have\n\t\t\tselected to record in your Amazon Web Services account.

\n

You must have created at least one delivery channel to\n\t\t\tsuccessfully start the configuration recorder.

" + "smithy.api#documentation": "

Starts the customer managed configuration recorder. The customer managed configuration recorder will begin recording configuration changes for the resource types you specify.

\n

You must have created a delivery channel to\n\t\t\tsuccessfully start the customer managed configuration recorder. You can use the PutDeliveryChannel operation to create a delivery channel.

" } }, "com.amazonaws.configservice#StartConfigurationRecorderRequest": { @@ -16032,13 +16701,13 @@ "ConfigurationRecorderName": { "target": "com.amazonaws.configservice#RecorderName", "traits": { - "smithy.api#documentation": "

The name of the recorder object that records each configuration\n\t\t\tchange made to the resources.

", + "smithy.api#documentation": "

The name of the customer managed configuration recorder that you want to start.

", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

The input for the StartConfigurationRecorder\n\t\t\taction.

", + "smithy.api#documentation": "

The input for the StartConfigurationRecorder\n\t\t\toperation.

", "smithy.api#input": {} } }, @@ -16240,10 +16909,13 @@ "errors": [ { "target": "com.amazonaws.configservice#NoSuchConfigurationRecorderException" + }, + { + "target": "com.amazonaws.configservice#UnmodifiableEntityException" } ], "traits": { - "smithy.api#documentation": "

Stops recording configurations of the Amazon Web Services resources you have selected to record in your Amazon Web Services account.

" + "smithy.api#documentation": "

Stops the customer managed configuration recorder. The customer managed configuration recorder will stop recording configuration changes for the resource types you have specified.

" } }, "com.amazonaws.configservice#StopConfigurationRecorderRequest": { @@ -16252,13 +16924,13 @@ "ConfigurationRecorderName": { "target": "com.amazonaws.configservice#RecorderName", "traits": { - "smithy.api#documentation": "

The name of the recorder object that records each configuration change made to the resources.

", + "smithy.api#documentation": "

The name of the customer managed configuration recorder that you want to stop.

", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

The input for the StopConfigurationRecorder action.

", + "smithy.api#documentation": "

The input for the StopConfigurationRecorder operation.

", "smithy.api#input": {} } }, @@ -16496,7 +17168,7 @@ } ], "traits": { - "smithy.api#documentation": "

Associates the specified tags to a resource with the specified resourceArn. If existing tags on a resource are not specified in the request parameters, they are not changed.\n\t\t\tIf existing tags are specified, however, then their values will be updated. When a resource is deleted, the tags associated with that resource are deleted as well.

" + "smithy.api#documentation": "

Associates the specified tags to a resource with the specified ResourceArn. If existing tags on a resource are not specified in the request parameters, they are not changed.\n\t\t\tIf existing tags are specified, however, then their values will be updated. When a resource is deleted, the tags associated with that resource are deleted as well.

" } }, "com.amazonaws.configservice#TagResourceRequest": { @@ -16505,7 +17177,7 @@ "ResourceArn": { "target": "com.amazonaws.configservice#AmazonResourceName", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) that identifies the resource for which to list the tags. Currently, the supported resources are ConfigRule, ConfigurationAggregator and AggregatorAuthorization.

", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) that identifies the resource for which to list the tags. The following resources are supported:

\n
    \n
  • \n

    \n ConfigurationRecorder\n

    \n
  • \n
  • \n

    \n ConfigRule\n

    \n
  • \n
  • \n

    \n OrganizationConfigRule\n

    \n
  • \n
  • \n

    \n ConformancePack\n

    \n
  • \n
  • \n

    \n OrganizationConformancePack\n

    \n
  • \n
  • \n

    \n ConfigurationAggregator\n

    \n
  • \n
  • \n

    \n AggregationAuthorization\n

    \n
  • \n
  • \n

    \n StoredQuery\n

    \n
  • \n
", "smithy.api#required": {} } }, @@ -16626,6 +17298,21 @@ "smithy.api#error": "client" } }, + "com.amazonaws.configservice#UnmodifiableEntityException": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.configservice#ErrorMessage", + "traits": { + "smithy.api#documentation": "

Error executing the command

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The requested operation is not valid.

\n

For PutConfigurationRecorder,\n\t\t\tyou will see this exception because you cannot use this operation to create a service-linked configuration recorder. Use the PutServiceLinkedConfigurationRecorder operation to create a service-linked configuration\n\t\t\trecorder.

\n

For DeleteConfigurationRecorder, you will see this exception because you cannot use this operation to delete a service-linked configuration recorder. Use the DeleteServiceLinkedConfigurationRecorder operation to delete a service-linked configuration\n\t\t\trecorder.

\n

For StartConfigurationRecorder and StopConfigurationRecorder, you will see this exception because these operations do not affect service-linked configuration recorders.\n\t\t\tService-linked configuration recorders are always recording. To stop recording, you must delete the service-linked configuration recorder. Use the DeleteServiceLinkedConfigurationRecorder operation to delete a service-linked configuration\n\t\t\trecorder.

", + "smithy.api#error": "client" + } + }, "com.amazonaws.configservice#UnprocessedResourceIdentifierList": { "type": "list", "member": { @@ -16658,7 +17345,7 @@ "ResourceArn": { "target": "com.amazonaws.configservice#AmazonResourceName", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) that identifies the resource for which to list the tags. Currently, the supported resources are ConfigRule, ConfigurationAggregator and AggregatorAuthorization.

", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) that identifies the resource for which to list the tags. The following resources are supported:

\n
    \n
  • \n

    \n ConfigurationRecorder\n

    \n
  • \n
  • \n

    \n ConfigRule\n

    \n
  • \n
  • \n

    \n OrganizationConfigRule\n

    \n
  • \n
  • \n

    \n ConformancePack\n

    \n
  • \n
  • \n

    \n OrganizationConformancePack\n

    \n
  • \n
  • \n

    \n ConfigurationAggregator\n

    \n
  • \n
  • \n

    \n AggregationAuthorization\n

    \n
  • \n
  • \n

    \n StoredQuery\n

    \n
  • \n
", "smithy.api#required": {} } }, @@ -16685,7 +17372,7 @@ } }, "traits": { - "smithy.api#documentation": "

The requested action is not valid.

\n

For PutStoredQuery, you will see this exception if there are missing required fields or if the input value fails the validation, or if you are trying to create more than 300 queries.

\n

For GetStoredQuery, ListStoredQuery, and DeleteStoredQuery you will see this exception if there are missing required fields or if the input value fails the validation.

", + "smithy.api#documentation": "

The requested operation is not valid. You will see this exception if there are missing required fields or if the input value fails the validation.

\n

For PutStoredQuery, one of the following errors:

\n
    \n
  • \n

    There are missing required fields.

    \n
  • \n
  • \n

    The input value fails the validation.

    \n
  • \n
  • \n

    You are trying to create more than 300 queries.

    \n
  • \n
\n

For DescribeConfigurationRecorders and DescribeConfigurationRecorderStatus, one of the following errors:

\n
    \n
  • \n

    You have specified more than one configuration recorder.

    \n
  • \n
  • \n

    You have provided a service principal for service-linked configuration recorder that is not valid.

    \n
  • \n
\n

For AssociateResourceTypes and DisassociateResourceTypes, one of the following errors:

\n
    \n
  • \n

    Your configuraiton recorder has a recording strategy that does not allow the association or disassociation of resource types.

    \n
  • \n
  • \n

    One or more of the specified resource types are already associated or disassociated with the configuration recorder.

    \n
  • \n
  • \n

    For service-linked configuration recorders, the configuration recorder does not record one or more of the specified resource types.

    \n
  • \n
", "smithy.api#error": "client" } }, diff --git a/codegen/sdk/aws-models/connect.json b/codegen/sdk/aws-models/connect.json index 758139235c1..fa7e3be5118 100644 --- a/codegen/sdk/aws-models/connect.json +++ b/codegen/sdk/aws-models/connect.json @@ -1712,7 +1712,7 @@ "name": "connect" }, "aws.protocols#restJson1": {}, - "smithy.api#documentation": "\n

Amazon Connect is a cloud-based contact center solution that you use to set up and\n manage a customer contact center and provide reliable customer engagement at any scale.

\n

Amazon Connect provides metrics and real-time reporting that enable you to optimize\n contact routing. You can also resolve customer issues more efficiently by getting customers in\n touch with the appropriate agents.

\n

There are limits to the number of Amazon Connect resources that you can create. There\n are also limits to the number of requests that you can make per second. For more information, see\n Amazon Connect Service Quotas in the Amazon Connect Administrator\n Guide.

\n

You can connect programmatically to an Amazon Web Services service by using an endpoint. For\n a list of Amazon Connect endpoints, see Amazon Connect Endpoints.

", + "smithy.api#documentation": "\n

Amazon Connect is a cloud-based contact center solution that you use to set up and\n manage a customer contact center and provide reliable customer engagement at any scale.

\n

Amazon Connect provides metrics and real-time reporting that enable you to optimize\n contact routing. You can also resolve customer issues more efficiently by getting customers in\n touch with the appropriate agents.

\n

There are limits to the number of Amazon Connect resources that you can create. There\n are also limits to the number of requests that you can make per second. For more information, see\n Amazon Connect Service Quotas in the Amazon Connect Administrator\n Guide.

\n

You can use an endpoint to connect programmatically to an Amazon Web Services service. For\n a list of Amazon Connect endpoints, see Amazon Connect Endpoints.

", "smithy.api#title": "Amazon Connect Service", "smithy.rules#endpointRuleSet": { "version": "1.0", @@ -3092,7 +3092,7 @@ "ResourceId": { "target": "com.amazonaws.connect#ARN", "traits": { - "smithy.api#documentation": "

The identifier of the resource.

", + "smithy.api#documentation": "

The identifier of the resource.

\n
    \n
  • \n

    Amazon Web Services End User Messaging SMS phone number ARN when using SMS_PHONE_NUMBER\n

    \n
  • \n
  • \n

    Amazon Web Services End User Messaging Social phone number ARN when using WHATSAPP_MESSAGING_PHONE_NUMBER\n

    \n
  • \n
", "smithy.api#required": {} } }, @@ -4706,7 +4706,7 @@ "ResourceIds": { "target": "com.amazonaws.connect#resourceArnListMaxLimit100", "traits": { - "smithy.api#documentation": "

A list of resource identifiers to retrieve flow associations.

", + "smithy.api#documentation": "

A list of resource identifiers to retrieve flow associations.

\n
    \n
  • \n

    Amazon Web Services End User Messaging SMS phone number ARN when using SMS_PHONE_NUMBER\n

    \n
  • \n
  • \n

    Amazon Web Services End User Messaging Social phone number ARN when using WHATSAPP_MESSAGING_PHONE_NUMBER\n

    \n
  • \n
", "smithy.api#required": {} } }, @@ -5266,7 +5266,7 @@ "SourcePhoneNumberArn": { "target": "com.amazonaws.connect#ARN", "traits": { - "smithy.api#documentation": "

The claimed phone number ARN that was previously imported from the external service, such as\n Amazon Pinpoint. If it is from Amazon Pinpoint, it looks like the ARN of the phone number\n that was imported from Amazon Pinpoint.

" + "smithy.api#documentation": "

The claimed phone number ARN that was previously imported from the external service, such as\n Amazon Web Services End User Messaging. If it is from Amazon Web Services End User Messaging, it looks like the ARN of the phone number\n that was imported from Amazon Web Services End User Messaging.

" } } }, @@ -6490,6 +6490,29 @@ "smithy.api#httpError": 410 } }, + "com.amazonaws.connect#ContactRecordingType": { + "type": "enum", + "members": { + "AGENT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AGENT" + } + }, + "IVR": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "IVR" + } + }, + "SCREEN": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SCREEN" + } + } + } + }, "com.amazonaws.connect#ContactReferences": { "type": "map", "key": { @@ -7990,7 +8013,7 @@ "IntegrationArn": { "target": "com.amazonaws.connect#ARN", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the integration.

\n \n

When integrating with Amazon Pinpoint, the Amazon Connect and Amazon Pinpoint\n instances must be in the same account.

\n
", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the integration.

\n \n

When integrating with Amazon Web Services End User Messaging, the Amazon Connect and Amazon Web Services End User Messaging\n instances must be in the same account.

\n
", "smithy.api#required": {} } }, @@ -12876,7 +12899,7 @@ } ], "traits": { - "smithy.api#documentation": "

Gets details and status of a phone number that’s claimed to your Amazon Connect instance\n or traffic distribution group.

\n \n

If the number is claimed to a traffic distribution group, and you are calling in the Amazon Web Services Region\n where the traffic distribution group was created, you can use either a phone number ARN or UUID value for the\n PhoneNumberId URI request parameter. However, if the number is claimed to a traffic distribution group\n and you are calling this API in the alternate Amazon Web Services Region associated with the\n traffic distribution group, you must provide a full phone number ARN. If a UUID is provided\n in\n this scenario, you will receive a\n ResourceNotFoundException.

\n
", + "smithy.api#documentation": "

Gets details and status of a phone number that’s claimed to your Amazon Connect instance\n or traffic distribution group.

\n \n

If the number is claimed to a traffic distribution group, and you are calling in the Amazon Web Services Region\n where the traffic distribution group was created, you can use either a phone number ARN or UUID value for the\n PhoneNumberId URI request parameter. However, if the number is claimed to a traffic distribution group\n and you are calling this API in the alternate Amazon Web Services Region associated with the\n traffic distribution group, you must provide a full phone number ARN. If a UUID is provided\n in\n this scenario, you receive a\n ResourceNotFoundException.

\n
", "smithy.api#http": { "method": "GET", "uri": "/phone-number/{PhoneNumberId}", @@ -14233,7 +14256,7 @@ "ResourceId": { "target": "com.amazonaws.connect#ARN", "traits": { - "smithy.api#documentation": "

The identifier of the resource.

", + "smithy.api#documentation": "

The identifier of the resource.

\n
    \n
  • \n

    Amazon Web Services End User Messaging SMS phone number ARN when using SMS_PHONE_NUMBER\n

    \n
  • \n
  • \n

    Amazon Web Services End User Messaging Social phone number ARN when using WHATSAPP_MESSAGING_PHONE_NUMBER\n

    \n
  • \n
", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -17332,6 +17355,18 @@ "traits": { "smithy.api#enumValue": "OUTBOUND_EMAIL" } + }, + "ANALYTICS_CONNECTOR": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ANALYTICS_CONNECTOR" + } + }, + "WHATSAPP_MESSAGING_PHONE_NUMBER": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "WHATSAPP_MESSAGING_PHONE_NUMBER" + } } } }, @@ -17969,7 +18004,7 @@ "ResourceId": { "target": "com.amazonaws.connect#ARN", "traits": { - "smithy.api#documentation": "

The identifier of the resource.

", + "smithy.api#documentation": "

The identifier of the resource.

\n
    \n
  • \n

    Amazon Web Services End User Messaging SMS phone number ARN when using SMS_PHONE_NUMBER\n

    \n
  • \n
  • \n

    Amazon Web Services End User Messaging Social phone number ARN when using WHATSAPP_MESSAGING_PHONE_NUMBER\n

    \n
  • \n
", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -18206,20 +18241,20 @@ "Filters": { "target": "com.amazonaws.connect#FiltersV2List", "traits": { - "smithy.api#documentation": "

The filters to apply to returned metrics. You can filter on the following resources:

\n
    \n
  • \n

    Agents

    \n
  • \n
  • \n

    Campaigns

    \n
  • \n
  • \n

    Channels

    \n
  • \n
  • \n

    Feature

    \n
  • \n
  • \n

    Queues

    \n
  • \n
  • \n

    Routing profiles

    \n
  • \n
  • \n

    Routing step expression

    \n
  • \n
  • \n

    User hierarchy groups

    \n
  • \n
\n

At least one filter must be passed from queues, routing profiles, agents, or user hierarchy\n groups.

\n

For metrics for outbound campaigns analytics, you can also use campaigns to satisfy at least\n one filter requirement.

\n

To filter by phone number, see Create a historical\n metrics report in the Amazon Connect Administrator\n Guide.

\n

Note the following limits:

\n
    \n
  • \n

    \n Filter keys: A maximum of 5 filter keys are supported in\n a single request. Valid filter keys: AGENT |\n AGENT_HIERARCHY_LEVEL_ONE | AGENT_HIERARCHY_LEVEL_TWO |\n AGENT_HIERARCHY_LEVEL_THREE | AGENT_HIERARCHY_LEVEL_FOUR |\n AGENT_HIERARCHY_LEVEL_FIVE | ANSWERING_MACHINE_DETECTION_STATUS |\n CAMPAIGN | CAMPAIGN_DELIVERY_EVENT_TYPE\n |CASE_TEMPLATE_ARN | CASE_STATUS | CHANNEL |\n contact/segmentAttributes/connect:Subtype | DISCONNECT_REASON |\n FEATURE | FLOW_TYPE | FLOWS_NEXT_RESOURCE_ID |\n FLOWS_NEXT_RESOURCE_QUEUE_ID | FLOWS_OUTCOME_TYPE |\n FLOWS_RESOURCE_ID | INITIATION_METHOD |\n RESOURCE_PUBLISHED_TIMESTAMP | ROUTING_PROFILE |\n ROUTING_STEP_EXPRESSION | QUEUE | Q_CONNECT_ENABLED |\n

    \n
  • \n
  • \n

    \n Filter values: A maximum of 100 filter values are\n supported in a single request. VOICE, CHAT, and TASK are valid filterValue for the\n CHANNEL filter key. They do not count towards limitation of 100 filter values. For example, a\n GetMetricDataV2 request can filter by 50 queues, 35 agents, and 15 routing profiles for a total\n of 100 filter values, along with 3 channel filters.

    \n

    \n contact_lens_conversational_analytics is a valid filterValue for the\n FEATURE filter key. It is available only to contacts analyzed by Contact Lens\n conversational analytics.

    \n

    \n connect:Chat, connect:SMS, connect:Telephony, and\n connect:WebRTC are valid filterValue examples (not exhaustive) for\n the contact/segmentAttributes/connect:Subtype filter key.

    \n

    \n ROUTING_STEP_EXPRESSION is a valid filter key with a filter value up to 3000\n length. This filter is case and order sensitive. JSON string fields must be sorted in ascending\n order and JSON array order should be kept as is.

    \n

    \n Q_CONNECT_ENABLED. TRUE and FALSE are the only valid filterValues for the\n Q_CONNECT_ENABLED filter key.

    \n
      \n
    • \n

      TRUE includes all contacts that had Amazon Q in Connect enabled as part of the flow.

      \n
    • \n
    • \n

      FALSE includes all contacts that did not have Amazon Q in Connect enabled as part of the flow

      \n
    • \n
    \n

    This filter is available only for contact record-driven metrics.

    \n

    \n Campaign ARNs are valid filterValues for the CAMPAIGN\n filter key.

    \n
  • \n
", + "smithy.api#documentation": "

The filters to apply to returned metrics. You can filter on the following resources:

\n
    \n
  • \n

    Agents

    \n
  • \n
  • \n

    Campaigns

    \n
  • \n
  • \n

    Channels

    \n
  • \n
  • \n

    Feature

    \n
  • \n
  • \n

    Queues

    \n
  • \n
  • \n

    Routing profiles

    \n
  • \n
  • \n

    Routing step expression

    \n
  • \n
  • \n

    User hierarchy groups

    \n
  • \n
\n

At least one filter must be passed from queues, routing profiles, agents, or user hierarchy\n groups.

\n

For metrics for outbound campaigns analytics, you can also use campaigns to satisfy at least\n one filter requirement.

\n

To filter by phone number, see Create a historical\n metrics report in the Amazon Connect Administrator\n Guide.

\n

Note the following limits:

\n
    \n
  • \n

    \n Filter keys: A maximum of 5 filter keys are supported in\n a single request. Valid filter keys: AGENT |\n AGENT_HIERARCHY_LEVEL_ONE | AGENT_HIERARCHY_LEVEL_TWO |\n AGENT_HIERARCHY_LEVEL_THREE | AGENT_HIERARCHY_LEVEL_FOUR |\n AGENT_HIERARCHY_LEVEL_FIVE | ANSWERING_MACHINE_DETECTION_STATUS |\n BOT_ID | BOT_ALIAS | BOT_VERSION |\n BOT_LOCALE | BOT_INTENT_NAME | CAMPAIGN |\n CAMPAIGN_DELIVERY_EVENT_TYPE |CASE_TEMPLATE_ARN |\n CASE_STATUS | CHANNEL |\n contact/segmentAttributes/connect:Subtype | DISCONNECT_REASON |\n FEATURE | FLOW_ACTION_ID | FLOW_TYPE |\n FLOWS_MODULE_RESOURCE_ID | FLOWS_NEXT_RESOURCE_ID |\n FLOWS_NEXT_RESOURCE_QUEUE_ID | FLOWS_OUTCOME_TYPE |\n FLOWS_RESOURCE_ID | INITIATION_METHOD |\n INVOKING_RESOURCE_PUBLISHED_TIMESTAMP | INVOKING_RESOURCE_TYPE |\n PARENT_FLOWS_RESOURCE_ID | RESOURCE_PUBLISHED_TIMESTAMP |\n ROUTING_PROFILE | ROUTING_STEP_EXPRESSION | QUEUE |\n Q_CONNECT_ENABLED |

    \n
  • \n
  • \n

    \n Filter values: A maximum of 100 filter values are\n supported in a single request. VOICE, CHAT, and TASK are valid filterValue for the\n CHANNEL filter key. They do not count towards limitation of 100 filter values. For example, a\n GetMetricDataV2 request can filter by 50 queues, 35 agents, and 15 routing profiles for a total\n of 100 filter values, along with 3 channel filters.

    \n

    \n contact_lens_conversational_analytics is a valid filterValue for the\n FEATURE filter key. It is available only to contacts analyzed by Contact Lens\n conversational analytics.

    \n

    \n connect:Chat, connect:SMS, connect:Telephony, and\n connect:WebRTC are valid filterValue examples (not exhaustive) for\n the contact/segmentAttributes/connect:Subtype filter key.

    \n

    \n ROUTING_STEP_EXPRESSION is a valid filter key with a filter value up to 3000\n length. This filter is case and order sensitive. JSON string fields must be sorted in ascending\n order and JSON array order should be kept as is.

    \n

    \n Q_CONNECT_ENABLED. TRUE and FALSE are the only valid filterValues for the\n Q_CONNECT_ENABLED filter key.

    \n
      \n
    • \n

      TRUE includes all contacts that had Amazon Q in Connect enabled as part of the flow.

      \n
    • \n
    • \n

      FALSE includes all contacts that did not have Amazon Q in Connect enabled as part of the flow

      \n
    • \n
    \n

    This filter is available only for contact record-driven metrics.

    \n

    \n Campaign ARNs are valid filterValues for the CAMPAIGN\n filter key.

    \n
  • \n
", "smithy.api#required": {} } }, "Groupings": { "target": "com.amazonaws.connect#GroupingsV2", "traits": { - "smithy.api#documentation": "

The grouping applied to the metrics that are returned. For example, when results are grouped\n by queue, the metrics returned are grouped by queue. The values that are returned apply to the\n metrics for each queue. They are not aggregated for all queues.

\n

If no grouping is specified, a summary of all metrics is returned.

\n

Valid grouping keys: AGENT | AGENT_HIERARCHY_LEVEL_ONE |\n AGENT_HIERARCHY_LEVEL_TWO | AGENT_HIERARCHY_LEVEL_THREE |\n AGENT_HIERARCHY_LEVEL_FOUR | AGENT_HIERARCHY_LEVEL_FIVE |\n ANSWERING_MACHINE_DETECTION_STATUS | CAMPAIGN |\n CAMPAIGN_DELIVERY_EVENT_TYPE | CASE_TEMPLATE_ARN |\n CASE_STATUS | CHANNEL |\n contact/segmentAttributes/connect:Subtype | DISCONNECT_REASON |\n FLOWS_RESOURCE_ID | FLOWS_MODULE_RESOURCE_ID | FLOW_TYPE\n | FLOWS_OUTCOME_TYPE | INITIATION_METHOD |\n Q_CONNECT_ENABLED | QUEUE | RESOURCE_PUBLISHED_TIMESTAMP\n | ROUTING_PROFILE | ROUTING_STEP_EXPRESSION\n

" + "smithy.api#documentation": "

The grouping applied to the metrics that are returned. For example, when results are grouped\n by queue, the metrics returned are grouped by queue. The values that are returned apply to the\n metrics for each queue. They are not aggregated for all queues.

\n

If no grouping is specified, a summary of all metrics is returned.

\n

Valid grouping keys: AGENT | AGENT_HIERARCHY_LEVEL_ONE |\n AGENT_HIERARCHY_LEVEL_TWO | AGENT_HIERARCHY_LEVEL_THREE |\n AGENT_HIERARCHY_LEVEL_FOUR | AGENT_HIERARCHY_LEVEL_FIVE |\n ANSWERING_MACHINE_DETECTION_STATUS | BOT_ID | BOT_ALIAS |\n BOT_VERSION | BOT_LOCALE | BOT_INTENT_NAME |\n CAMPAIGN | CAMPAIGN_DELIVERY_EVENT_TYPE |\n CASE_TEMPLATE_ARN | CASE_STATUS | CHANNEL |\n contact/segmentAttributes/connect:Subtype | DISCONNECT_REASON |\n FLOWS_RESOURCE_ID | FLOWS_MODULE_RESOURCE_ID |\n FLOW_ACTION_ID | FLOW_TYPE | FLOWS_OUTCOME_TYPE |\n INITIATION_METHOD | INVOKING_RESOURCE_PUBLISHED_TIMESTAMP |\n INVOKING_RESOURCE_TYPE | PARENT_FLOWS_RESOURCE_ID |\n Q_CONNECT_ENABLED | QUEUE | RESOURCE_PUBLISHED_TIMESTAMP\n | ROUTING_PROFILE | ROUTING_STEP_EXPRESSION\n

" } }, "Metrics": { "target": "com.amazonaws.connect#MetricsV2", "traits": { - "smithy.api#documentation": "

The metrics to retrieve. Specify the name, groupings, and filters for each metric. The\n following historical metrics are available. For a description of each metric, see Historical metrics definitions in the Amazon Connect Administrator\n Guide.

\n
\n
ABANDONMENT_RATE
\n
\n

Unit: Percent

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Abandonment rate\n

\n
\n
AGENT_ADHERENT_TIME
\n
\n

This metric is available only in Amazon Web Services Regions where Forecasting, capacity planning, and scheduling is available.

\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

\n

UI name: Adherent time\n

\n
\n
AGENT_ANSWER_RATE
\n
\n

Unit: Percent

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

\n

UI name: Agent answer rate\n

\n
\n
AGENT_NON_ADHERENT_TIME
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

\n

UI name: Non-adherent time\n

\n
\n
AGENT_NON_RESPONSE
\n
\n

Unit: Count

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

\n

UI name: Agent\n non-response\n

\n
\n
AGENT_NON_RESPONSE_WITHOUT_CUSTOMER_ABANDONS
\n
\n

Unit: Count

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

\n

Data for this metric is available starting from October 1, 2023 0:00:00 GMT.

\n

UI name: Agent non-response without customer abandons\n

\n
\n
AGENT_OCCUPANCY
\n
\n

Unit: Percentage

\n

Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

\n

UI name: Occupancy\n

\n
\n
AGENT_SCHEDULE_ADHERENCE
\n
\n

This metric is available only in Amazon Web Services Regions where Forecasting, capacity planning, and scheduling is available.

\n

Unit: Percent

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

\n

UI name: Adherence\n

\n
\n
AGENT_SCHEDULED_TIME
\n
\n

This metric is available only in Amazon Web Services Regions where Forecasting, capacity planning, and scheduling is available.

\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

\n

UI name: Scheduled time\n

\n
\n
AVG_ABANDON_TIME
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Average queue abandon time\n

\n
\n
AVG_ACTIVE_TIME
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

\n

UI name: Average active time\n

\n
\n
AVG_AFTER_CONTACT_WORK_TIME
\n
\n

Unit: Seconds

\n

Valid metric filter key: INITIATION_METHOD\n

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Average after contact work time\n

\n \n

Feature is a valid filter but not a valid grouping.

\n
\n
\n
AVG_AGENT_CONNECTING_TIME
\n
\n

Unit: Seconds

\n

Valid metric filter key: INITIATION_METHOD. For now, this metric only\n supports the following as INITIATION_METHOD: INBOUND |\n OUTBOUND | CALLBACK | API\n

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

\n

UI name: Average agent API connecting time\n

\n \n

The Negate key in metric-level filters is not applicable for this\n metric.

\n
\n
\n
AVG_AGENT_PAUSE_TIME
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

\n

UI name: Average agent pause time\n

\n
\n
AVG_CASE_RELATED_CONTACTS
\n
\n

Unit: Count

\n

Required filter key: CASE_TEMPLATE_ARN

\n

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

\n

UI name: Average contacts per case\n

\n
\n
AVG_CASE_RESOLUTION_TIME
\n
\n

Unit: Seconds

\n

Required filter key: CASE_TEMPLATE_ARN

\n

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

\n

UI name: Average case resolution time\n

\n
\n
AVG_CONTACT_DURATION
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Average contact duration\n

\n \n

Feature is a valid filter but not a valid grouping.

\n
\n
\n
AVG_CONVERSATION_DURATION
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Average conversation duration\n

\n
\n
AVG_DIALS_PER_MINUTE
\n
\n

This metric is available only for outbound campaigns that use the agent assisted voice\n and automated voice delivery modes.

\n

Unit: Count

\n

Valid groupings and filters: Agent, Campaign, Queue, Routing Profile

\n

UI name: Average dials per minute\n

\n
\n
AVG_FLOW_TIME
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module\n resource ID, Flows next resource ID, Flows next resource queue ID, Flows outcome type, Flows\n resource ID, Initiation method, Resource published timestamp

\n

UI name: Average flow time\n

\n
\n
AVG_GREETING_TIME_AGENT
\n
\n

This metric is available only for contacts analyzed by Contact Lens conversational\n analytics.

\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Average agent greeting time\n

\n
\n
AVG_HANDLE_TIME
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature,\n contact/segmentAttributes/connect:Subtype, RoutingStepExpression

\n

UI name: Average handle time\n

\n \n

Feature is a valid filter but not a valid grouping.

\n
\n
\n
AVG_HOLD_TIME
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Average customer hold time\n

\n \n

Feature is a valid filter but not a valid grouping.

\n
\n
\n
AVG_HOLD_TIME_ALL_CONTACTS
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Average customer hold time all contacts\n

\n
\n
AVG_HOLDS
\n
\n

Unit: Count

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Average holds\n

\n \n

Feature is a valid filter but not a valid grouping.

\n
\n
\n
AVG_INTERACTION_AND_HOLD_TIME
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Average agent interaction and customer hold time\n

\n
\n
AVG_INTERACTION_TIME
\n
\n

Unit: Seconds

\n

Valid metric filter key: INITIATION_METHOD\n

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Feature,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Average agent interaction time\n

\n \n

Feature is a valid filter but not a valid grouping.

\n
\n
\n
AVG_INTERRUPTIONS_AGENT
\n
\n

This metric is available only for contacts analyzed by Contact Lens conversational\n analytics.

\n

Unit: Count

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Average agent interruptions\n

\n
\n
AVG_INTERRUPTION_TIME_AGENT
\n
\n

This metric is available only for contacts analyzed by Contact Lens conversational\n analytics.

\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Average agent interruption time\n

\n
\n
AVG_NON_TALK_TIME
\n
\n

This metric is available only for contacts analyzed by Contact Lens conversational\n analytics.

\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Average non-talk time\n

\n
\n
AVG_QUEUE_ANSWER_TIME
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Feature,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Average queue answer time\n

\n \n

Feature is a valid filter but not a valid grouping.

\n
\n
\n
AVG_RESOLUTION_TIME
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype,\n Q in Connect

\n

UI name: Average resolution time\n

\n
\n
AVG_TALK_TIME
\n
\n

This metric is available only for contacts analyzed by Contact Lens conversational\n analytics.

\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Average talk time\n

\n
\n
AVG_TALK_TIME_AGENT
\n
\n

This metric is available only for contacts analyzed by Contact Lens conversational\n analytics.

\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Average agent talk time\n

\n
\n
AVG_TALK_TIME_CUSTOMER
\n
\n

This metric is available only for contacts analyzed by Contact Lens conversational\n analytics.

\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Average customer talk time\n

\n
\n
AVG_WAIT_TIME_AFTER_CUSTOMER_CONNECTION
\n
\n

This metric is available only for outbound campaigns that use the agent assisted voice\n and automated voice delivery modes.

\n

Unit: Seconds

\n

Valid groupings and filters: Campaign

\n

UI name: Average wait time after customer connection\n

\n
\n
CAMPAIGN_CONTACTS_ABANDONED_AFTER_X
\n
\n

This metric is available only for outbound campaigns using the agent assisted voice and\n automated voice delivery modes.

\n

Unit: Count

\n

Valid groupings and filters: Agent, Campaign

\n

Threshold: For ThresholdValue, enter any whole number from 1 to 604800\n (inclusive), in seconds. For Comparison, you must enter GT (for\n Greater than).

\n

UI name: Campaign contacts abandoned after X\n

\n
\n
CAMPAIGN_CONTACTS_ABANDONED_AFTER_X_RATE
\n
\n

This metric is available only for outbound campaigns using the agent assisted voice and\n automated voice delivery modes.

\n

Unit: Percent

\n

Valid groupings and filters: Agent, Campaign

\n

Threshold: For ThresholdValue, enter any whole number from 1 to 604800\n (inclusive), in seconds. For Comparison, you must enter GT (for\n Greater than).

\n

UI name: Campaign contacts abandoned after X rate\n

\n
\n
CAMPAIGN_INTERACTIONS
\n
\n

This metric is available only for outbound campaigns using the email delivery mode.

\n

Unit: Count

\n

Valid metric filter key: CAMPAIGN_INTERACTION_EVENT_TYPE

\n

Valid groupings and filters: Campaign

\n

UI name: Campaign interactions\n

\n
\n
CAMPAIGN_SEND_ATTEMPTS
\n
\n

This metric is available only for outbound campaigns.

\n

Unit: Count

\n

Valid groupings and filters: Campaign, Channel, contact/segmentAttributes/connect:Subtype

\n

UI name: Campaign send attempts\n

\n
\n
CASES_CREATED
\n
\n

Unit: Count

\n

Required filter key: CASE_TEMPLATE_ARN

\n

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

\n

UI name: Cases created\n

\n
\n
CONTACTS_CREATED
\n
\n

Unit: Count

\n

Valid metric filter key: INITIATION_METHOD\n

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Feature,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Contacts created\n

\n \n

Feature is a valid filter but not a valid grouping.

\n
\n
\n
CONTACTS_HANDLED
\n
\n

Unit: Count

\n

Valid metric filter key: INITIATION_METHOD,\n DISCONNECT_REASON\n

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature,\n contact/segmentAttributes/connect:Subtype, RoutingStepExpression, Q in Connect

\n

UI name: API contacts handled\n

\n \n

Feature is a valid filter but not a valid grouping.

\n
\n
\n
CONTACTS_HANDLED_BY_CONNECTED_TO_AGENT
\n
\n

Unit: Count

\n

Valid metric filter key: INITIATION_METHOD\n

\n

Valid groupings and filters: Queue, Channel, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Contacts handled (connected to agent timestamp)\n

\n
\n
CONTACTS_HOLD_ABANDONS
\n
\n

Unit: Count

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Contacts hold disconnect\n

\n
\n
CONTACTS_ON_HOLD_AGENT_DISCONNECT
\n
\n

Unit: Count

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

\n

UI name: Contacts hold agent disconnect\n

\n
\n
CONTACTS_ON_HOLD_CUSTOMER_DISCONNECT
\n
\n

Unit: Count

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

\n

UI name: Contacts hold customer disconnect\n

\n
\n
CONTACTS_PUT_ON_HOLD
\n
\n

Unit: Count

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

\n

UI name: Contacts put on hold\n

\n
\n
CONTACTS_TRANSFERRED_OUT_EXTERNAL
\n
\n

Unit: Count

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

\n

UI name: Contacts transferred out external\n

\n
\n
CONTACTS_TRANSFERRED_OUT_INTERNAL
\n
\n

Unit: Percent

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

\n

UI name: Contacts transferred out internal\n

\n
\n
CONTACTS_QUEUED
\n
\n

Unit: Count

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Contacts queued\n

\n
\n
CONTACTS_QUEUED_BY_ENQUEUE
\n
\n

Unit: Count

\n

Valid groupings and filters: Queue, Channel, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype

\n

UI name: Contacts queued (enqueue timestamp)\n

\n
\n
CONTACTS_REMOVED_FROM_QUEUE_IN_X
\n
\n

Unit: Count

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Q in Connect

\n

Threshold: For ThresholdValue, enter any whole number from 1 to 604800\n (inclusive), in seconds. For Comparison, you can use LT (for \"Less\n than\") or LTE (for \"Less than equal\").

\n

UI name: Contacts removed from queue in X seconds\n

\n
\n
CONTACTS_RESOLVED_IN_X
\n
\n

Unit: Count

\n

Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype,\n Q in Connect

\n

Threshold: For ThresholdValue, enter any whole number from 1 to 604800\n (inclusive), in seconds. For Comparison, you can use LT (for \"Less\n than\") or LTE (for \"Less than equal\").

\n

UI name: Contacts resolved in X\n

\n
\n
CONTACTS_TRANSFERRED_OUT
\n
\n

Unit: Count

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Contacts transferred out\n

\n \n

Feature is a valid filter but not a valid grouping.

\n
\n
\n
CONTACTS_TRANSFERRED_OUT_BY_AGENT
\n
\n

Unit: Count

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Contacts transferred out by agent\n

\n
\n
CONTACTS_TRANSFERRED_OUT_FROM_QUEUE
\n
\n

Unit: Count

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Contacts transferred out queue\n

\n
\n
CURRENT_CASES
\n
\n

Unit: Count

\n

Required filter key: CASE_TEMPLATE_ARN

\n

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

\n

UI name: Current cases\n

\n
\n
DELIVERY_ATTEMPTS
\n
\n

This metric is available only for outbound campaigns.

\n

Unit: Count

\n

Valid metric filter key: ANSWERING_MACHINE_DETECTION_STATUS,\n CAMPAIGN_DELIVERY_EVENT_TYPE, DISCONNECT_REASON\n

\n

Valid groupings and filters: Agent, Answering Machine Detection Status, Campaign, Campaign Delivery\n EventType, Channel, contact/segmentAttributes/connect:Subtype, Disconnect Reason, Queue,\n Routing Profile

\n

UI name: Delivery attempts\n

\n \n

Campaign Delivery EventType filter and grouping are only available for SMS and Email\n campaign delivery modes. Agent, Queue, Routing Profile, Answering Machine Detection Status\n and Disconnect Reason are only available for agent assisted voice and automated voice\n delivery modes.

\n
\n
\n
DELIVERY_ATTEMPT_DISPOSITION_RATE
\n
\n

This metric is available only for outbound campaigns. Dispositions for the agent assisted\n voice and automated voice delivery modes are only available with answering machine detection\n enabled.

\n

Unit: Percent

\n

Valid metric filter key: ANSWERING_MACHINE_DETECTION_STATUS,\n CAMPAIGN_DELIVERY_EVENT_TYPE, DISCONNECT_REASON\n

\n

Valid groupings and filters: Agent, Answering Machine Detection Status, Campaign, Channel,\n contact/segmentAttributes/connect:Subtype, Disconnect Reason, Queue, Routing Profile

\n

UI name: Delivery attempt disposition rate\n

\n \n

Campaign Delivery Event Type filter and grouping are only available for SMS and Email\n campaign delivery modes. Agent, Queue, Routing Profile, Answering Machine Detection Status\n and Disconnect Reason are only available for agent assisted voice and automated voice\n delivery modes.

\n
\n
\n
FLOWS_OUTCOME
\n
\n

Unit: Count

\n

Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module\n resource ID, Flows next resource ID, Flows next resource queue ID, Flows outcome type, Flows\n resource ID, Initiation method, Resource published timestamp

\n

UI name: Flows outcome\n

\n
\n
FLOWS_STARTED
\n
\n

Unit: Count

\n

Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module\n resource ID, Flows resource ID, Initiation method, Resource published timestamp

\n

UI name: Flows started\n

\n
\n
HUMAN_ANSWERED_CALLS
\n
\n

This metric is available only for outbound campaigns. Dispositions for the agent assisted\n voice and automated voice delivery modes are only available with answering machine detection\n enabled.

\n

Unit: Count

\n

Valid groupings and filters: Agent, Campaign

\n

UI name: Human answered\n

\n
\n
MAX_FLOW_TIME
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module\n resource ID, Flows next resource ID, Flows next resource queue ID, Flows outcome type, Flows\n resource ID, Initiation method, Resource published timestamp

\n

UI name: Maximum flow time\n

\n
\n
MAX_QUEUED_TIME
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Maximum queued time\n

\n
\n
MIN_FLOW_TIME
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module\n resource ID, Flows next resource ID, Flows next resource queue ID, Flows outcome type, Flows\n resource ID, Initiation method, Resource published timestamp

\n

UI name: Minimum flow time\n

\n
\n
PERCENT_CASES_FIRST_CONTACT_RESOLVED
\n
\n

Unit: Percent

\n

Required filter key: CASE_TEMPLATE_ARN

\n

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

\n

UI name: Cases resolved on first contact\n

\n
\n
PERCENT_CONTACTS_STEP_EXPIRED
\n
\n

Unit: Percent

\n

Valid groupings and filters: Queue, RoutingStepExpression

\n

UI name: This metric is available in Real-time Metrics UI but not on the Historical\n Metrics UI.

\n
\n
PERCENT_CONTACTS_STEP_JOINED
\n
\n

Unit: Percent

\n

Valid groupings and filters: Queue, RoutingStepExpression

\n

UI name: This metric is available in Real-time Metrics UI but not on the Historical\n Metrics UI.

\n
\n
PERCENT_FLOWS_OUTCOME
\n
\n

Unit: Percent

\n

Valid metric filter key: FLOWS_OUTCOME_TYPE\n

\n

Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module\n resource ID, Flows next resource ID, Flows next resource queue ID, Flows outcome type, Flows\n resource ID, Initiation method, Resource published timestamp

\n

UI name: Flows outcome percentage.

\n \n

The FLOWS_OUTCOME_TYPE is not a valid grouping.

\n
\n
\n
PERCENT_NON_TALK_TIME
\n
\n

This metric is available only for contacts analyzed by Contact Lens conversational\n analytics.

\n

Unit: Percentage

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Non-talk\n time percent\n

\n
\n
PERCENT_TALK_TIME
\n
\n

This metric is available only for contacts analyzed by Contact Lens conversational\n analytics.

\n

Unit: Percentage

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Talk time\n percent\n

\n
\n
PERCENT_TALK_TIME_AGENT
\n
\n

This metric is available only for contacts analyzed by Contact Lens conversational\n analytics.

\n

Unit: Percentage

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Agent\n talk time percent\n

\n
\n
PERCENT_TALK_TIME_CUSTOMER
\n
\n

This metric is available only for contacts analyzed by Contact Lens conversational\n analytics.

\n

Unit: Percentage

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Customer talk time percent\n

\n
\n
REOPENED_CASE_ACTIONS
\n
\n

Unit: Count

\n

Required filter key: CASE_TEMPLATE_ARN

\n

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

\n

UI name: Cases reopened\n

\n
\n
RESOLVED_CASE_ACTIONS
\n
\n

Unit: Count

\n

Required filter key: CASE_TEMPLATE_ARN

\n

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

\n

UI name: Cases resolved\n

\n
\n
SERVICE_LEVEL
\n
\n

You can include up to 20 SERVICE_LEVEL metrics in a request.

\n

Unit: Percent

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Q in Connect

\n

Threshold: For ThresholdValue, enter any whole number from 1 to 604800\n (inclusive), in seconds. For Comparison, you can use LT (for \"Less\n than\") or LTE (for \"Less than equal\").

\n

UI name: Service level X\n

\n
\n
STEP_CONTACTS_QUEUED
\n
\n

Unit: Count

\n

Valid groupings and filters: Queue, RoutingStepExpression

\n

UI name: This metric is available in Real-time Metrics UI but not on the Historical\n Metrics UI.

\n
\n
SUM_AFTER_CONTACT_WORK_TIME
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

\n

UI name: After\n contact work time\n

\n
\n
SUM_CONNECTING_TIME_AGENT
\n
\n

Unit: Seconds

\n

Valid metric filter key: INITIATION_METHOD. This metric only supports the\n following filter keys as INITIATION_METHOD: INBOUND |\n OUTBOUND | CALLBACK | API\n

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

\n

UI name: Agent API connecting time\n

\n \n

The Negate key in metric-level filters is not applicable for this\n metric.

\n
\n
\n
CONTACTS_ABANDONED
\n
\n

Unit: Count

\n

Metric filter:

\n
    \n
  • \n

    Valid values: API| Incoming | Outbound |\n Transfer | Callback | Queue_Transfer|\n Disconnect\n

    \n
  • \n
\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, RoutingStepExpression, Q in Connect

\n

UI name: Contact abandoned\n

\n
\n
SUM_CONTACTS_ABANDONED_IN_X
\n
\n

Unit: Count

\n

Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype,\n Q in Connect

\n

Threshold: For ThresholdValue, enter any whole number from 1 to 604800\n (inclusive), in seconds. For Comparison, you can use LT (for \"Less\n than\") or LTE (for \"Less than equal\").

\n

UI name: Contacts abandoned in X seconds\n

\n
\n
SUM_CONTACTS_ANSWERED_IN_X
\n
\n

Unit: Count

\n

Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype,\n Q in Connect

\n

Threshold: For ThresholdValue, enter any whole number from 1 to 604800\n (inclusive), in seconds. For Comparison, you can use LT (for \"Less\n than\") or LTE (for \"Less than equal\").

\n

UI name: Contacts answered in X seconds\n

\n
\n
SUM_CONTACT_FLOW_TIME
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

\n

UI name: Contact flow time\n

\n
\n
SUM_CONTACT_TIME_AGENT
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

\n

UI name: Agent on contact time\n

\n
\n
SUM_CONTACTS_DISCONNECTED
\n
\n

Valid metric filter key: DISCONNECT_REASON\n

\n

Unit: Count

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Contact disconnected\n

\n
\n
SUM_ERROR_STATUS_TIME_AGENT
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

\n

UI name: Error status time\n

\n
\n
SUM_HANDLE_TIME
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

\n

UI name: Contact handle time\n

\n
\n
SUM_HOLD_TIME
\n
\n

Unit: Count

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

\n

UI name: Customer hold time\n

\n
\n
SUM_IDLE_TIME_AGENT
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

\n

UI name: Agent idle time\n

\n
\n
SUM_INTERACTION_AND_HOLD_TIME
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

\n

UI name: Agent interaction and hold time\n

\n
\n
SUM_INTERACTION_TIME
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

\n

UI name: Agent interaction time\n

\n
\n
SUM_NON_PRODUCTIVE_TIME_AGENT
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

\n

UI name: Non-Productive Time\n

\n
\n
SUM_ONLINE_TIME_AGENT
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

\n

UI name: Online time\n

\n
\n
SUM_RETRY_CALLBACK_ATTEMPTS
\n
\n

Unit: Count

\n

Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype,\n Q in Connect

\n

UI name: Callback attempts\n

\n
\n
", + "smithy.api#documentation": "

The metrics to retrieve. Specify the name, groupings, and filters for each metric. The\n following historical metrics are available. For a description of each metric, see Historical metrics definitions in the Amazon Connect Administrator\n Guide.

\n
\n
ABANDONMENT_RATE
\n
\n

Unit: Percent

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Abandonment rate\n

\n
\n
AGENT_ADHERENT_TIME
\n
\n

This metric is available only in Amazon Web Services Regions where Forecasting, capacity planning, and scheduling is available.

\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

\n

UI name: Adherent time\n

\n
\n
AGENT_ANSWER_RATE
\n
\n

Unit: Percent

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

\n

UI name: Agent answer rate\n

\n
\n
AGENT_NON_ADHERENT_TIME
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

\n

UI name: Non-adherent time\n

\n
\n
AGENT_NON_RESPONSE
\n
\n

Unit: Count

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

\n

UI name: Agent\n non-response\n

\n
\n
AGENT_NON_RESPONSE_WITHOUT_CUSTOMER_ABANDONS
\n
\n

Unit: Count

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

\n

Data for this metric is available starting from October 1, 2023 0:00:00 GMT.

\n

UI name: Agent non-response without customer abandons\n

\n
\n
AGENT_OCCUPANCY
\n
\n

Unit: Percentage

\n

Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

\n

UI name: Occupancy\n

\n
\n
AGENT_SCHEDULE_ADHERENCE
\n
\n

This metric is available only in Amazon Web Services Regions where Forecasting, capacity planning, and scheduling is available.

\n

Unit: Percent

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

\n

UI name: Adherence\n

\n
\n
AGENT_SCHEDULED_TIME
\n
\n

This metric is available only in Amazon Web Services Regions where Forecasting, capacity planning, and scheduling is available.

\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

\n

UI name: Scheduled time\n

\n
\n
AVG_ABANDON_TIME
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Average queue abandon time\n

\n
\n
AVG_ACTIVE_TIME
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

\n

UI name: Average active time\n

\n
\n
AVG_AFTER_CONTACT_WORK_TIME
\n
\n

Unit: Seconds

\n

Valid metric filter key: INITIATION_METHOD\n

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Average after contact work time\n

\n \n

Feature is a valid filter but not a valid grouping.

\n
\n
\n
AVG_AGENT_CONNECTING_TIME
\n
\n

Unit: Seconds

\n

Valid metric filter key: INITIATION_METHOD. For now, this metric only\n supports the following as INITIATION_METHOD: INBOUND |\n OUTBOUND | CALLBACK | API\n

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

\n

UI name: Average agent API connecting time\n

\n \n

The Negate key in metric-level filters is not applicable for this\n metric.

\n
\n
\n
AVG_AGENT_PAUSE_TIME
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

\n

UI name: Average agent pause time\n

\n
\n
AVG_BOT_CONVERSATION_TIME
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Bot ID, Bot alias, Bot\n version, Bot locale, Flows resource ID, Flows module resource ID, Flow type, Flow action ID,\n Invoking resource published timestamp, Initiation method, Invoking resource type, Parent flows\n resource ID

\n

UI name: Average\n bot conversation time\n

\n
\n
AVG_BOT_CONVERSATION_TURNS
\n
\n

Unit: Count

\n

Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Bot ID, Bot alias, Bot\n version, Bot locale, Flows resource ID, Flows module resource ID, Flow type, Flow action ID,\n Invoking resource published timestamp, Initiation method, Invoking resource type, Parent flows\n resource ID

\n

UI name: Average bot conversation turns\n

\n
\n
AVG_CASE_RELATED_CONTACTS
\n
\n

Unit: Count

\n

Required filter key: CASE_TEMPLATE_ARN

\n

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

\n

UI name: Average contacts per case\n

\n
\n
AVG_CASE_RESOLUTION_TIME
\n
\n

Unit: Seconds

\n

Required filter key: CASE_TEMPLATE_ARN

\n

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

\n

UI name: Average case resolution time\n

\n
\n
AVG_CONTACT_DURATION
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Average contact duration\n

\n \n

Feature is a valid filter but not a valid grouping.

\n
\n
\n
AVG_CONVERSATION_DURATION
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Average conversation duration\n

\n
\n
AVG_DIALS_PER_MINUTE
\n
\n

This metric is available only for outbound campaigns that use the agent assisted voice\n and automated voice delivery modes.

\n

Unit: Count

\n

Valid groupings and filters: Agent, Campaign, Queue, Routing Profile

\n

UI name: Average dials per minute\n

\n
\n
AVG_FLOW_TIME
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module\n resource ID, Flows next resource ID, Flows next resource queue ID, Flows outcome type, Flows\n resource ID, Initiation method, Resource published timestamp

\n

UI name: Average flow time\n

\n
\n
AVG_GREETING_TIME_AGENT
\n
\n

This metric is available only for contacts analyzed by Contact Lens conversational\n analytics.

\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Average agent greeting time\n

\n
\n
AVG_HANDLE_TIME
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature,\n contact/segmentAttributes/connect:Subtype, RoutingStepExpression

\n

UI name: Average handle time\n

\n \n

Feature is a valid filter but not a valid grouping.

\n
\n
\n
AVG_HOLD_TIME
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Average customer hold time\n

\n \n

Feature is a valid filter but not a valid grouping.

\n
\n
\n
AVG_HOLD_TIME_ALL_CONTACTS
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Average customer hold time all contacts\n

\n
\n
AVG_HOLDS
\n
\n

Unit: Count

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Average holds\n

\n \n

Feature is a valid filter but not a valid grouping.

\n
\n
\n
AVG_INTERACTION_AND_HOLD_TIME
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Average agent interaction and customer hold time\n

\n
\n
AVG_INTERACTION_TIME
\n
\n

Unit: Seconds

\n

Valid metric filter key: INITIATION_METHOD\n

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Feature,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Average agent interaction time\n

\n \n

Feature is a valid filter but not a valid grouping.

\n
\n
\n
AVG_INTERRUPTIONS_AGENT
\n
\n

This metric is available only for contacts analyzed by Contact Lens conversational\n analytics.

\n

Unit: Count

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Average agent interruptions\n

\n
\n
AVG_INTERRUPTION_TIME_AGENT
\n
\n

This metric is available only for contacts analyzed by Contact Lens conversational\n analytics.

\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Average agent interruption time\n

\n
\n
AVG_NON_TALK_TIME
\n
\n

This metric is available only for contacts analyzed by Contact Lens conversational\n analytics.

\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Average non-talk time\n

\n
\n
AVG_QUEUE_ANSWER_TIME
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Feature,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Average queue answer time\n

\n \n

Feature is a valid filter but not a valid grouping.

\n
\n
\n
AVG_RESOLUTION_TIME
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype,\n Q in Connect

\n

UI name: Average resolution time\n

\n
\n
AVG_TALK_TIME
\n
\n

This metric is available only for contacts analyzed by Contact Lens conversational\n analytics.

\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Average talk time\n

\n
\n
AVG_TALK_TIME_AGENT
\n
\n

This metric is available only for contacts analyzed by Contact Lens conversational\n analytics.

\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Average agent talk time\n

\n
\n
AVG_TALK_TIME_CUSTOMER
\n
\n

This metric is available only for contacts analyzed by Contact Lens conversational\n analytics.

\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Average customer talk time\n

\n
\n
AVG_WAIT_TIME_AFTER_CUSTOMER_CONNECTION
\n
\n

This metric is available only for outbound campaigns that use the agent assisted voice\n and automated voice delivery modes.

\n

Unit: Seconds

\n

Valid groupings and filters: Campaign

\n

UI name: Average wait time after customer connection\n

\n
\n
BOT_CONVERSATIONS_COMPLETED
\n
\n

Unit: Count

\n

Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Bot ID, Bot alias, Bot\n version, Bot locale, Flows resource ID, Flows module resource ID, Flow type, Flow action ID,\n Invoking resource published timestamp, Initiation method, Invoking resource type, Parent flows\n resource ID

\n

UI name: Bot\n conversations\n

\n
\n
BOT_INTENTS_COMPLETED
\n
\n

Unit: Count

\n

Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Bot ID, Bot alias, Bot\n version, Bot locale, Bot intent name, Flows resource ID, Flows module resource ID, Flow type,\n Flow action ID, Invoking resource published timestamp, Initiation method, Invoking resource\n type, Parent flows resource ID

\n

UI name: Bot intents\n completed\n

\n
\n
CAMPAIGN_CONTACTS_ABANDONED_AFTER_X
\n
\n

This metric is available only for outbound campaigns using the agent assisted voice and\n automated voice delivery modes.

\n

Unit: Count

\n

Valid groupings and filters: Agent, Campaign

\n

Threshold: For ThresholdValue, enter any whole number from 1 to 604800\n (inclusive), in seconds. For Comparison, you must enter GT (for\n Greater than).

\n

UI name: Campaign contacts abandoned after X\n

\n
\n
CAMPAIGN_CONTACTS_ABANDONED_AFTER_X_RATE
\n
\n

This metric is available only for outbound campaigns using the agent assisted voice and\n automated voice delivery modes.

\n

Unit: Percent

\n

Valid groupings and filters: Agent, Campaign

\n

Threshold: For ThresholdValue, enter any whole number from 1 to 604800\n (inclusive), in seconds. For Comparison, you must enter GT (for\n Greater than).

\n

UI name: Campaign contacts abandoned after X rate\n

\n
\n
CAMPAIGN_INTERACTIONS
\n
\n

This metric is available only for outbound campaigns using the email delivery mode.

\n

Unit: Count

\n

Valid metric filter key: CAMPAIGN_INTERACTION_EVENT_TYPE

\n

Valid groupings and filters: Campaign

\n

UI name: Campaign interactions\n

\n
\n
CAMPAIGN_SEND_ATTEMPTS
\n
\n

This metric is available only for outbound campaigns.

\n

Unit: Count

\n

Valid groupings and filters: Campaign, Channel, contact/segmentAttributes/connect:Subtype

\n

UI name: Campaign send attempts\n

\n
\n
CASES_CREATED
\n
\n

Unit: Count

\n

Required filter key: CASE_TEMPLATE_ARN

\n

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

\n

UI name: Cases created\n

\n
\n
CONTACTS_CREATED
\n
\n

Unit: Count

\n

Valid metric filter key: INITIATION_METHOD\n

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Feature,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Contacts created\n

\n \n

Feature is a valid filter but not a valid grouping.

\n
\n
\n
CONTACTS_HANDLED
\n
\n

Unit: Count

\n

Valid metric filter key: INITIATION_METHOD,\n DISCONNECT_REASON\n

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature,\n contact/segmentAttributes/connect:Subtype, RoutingStepExpression, Q in Connect

\n

UI name: API contacts handled\n

\n \n

Feature is a valid filter but not a valid grouping.

\n
\n
\n
CONTACTS_HANDLED_BY_CONNECTED_TO_AGENT
\n
\n

Unit: Count

\n

Valid metric filter key: INITIATION_METHOD\n

\n

Valid groupings and filters: Queue, Channel, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Contacts handled (connected to agent timestamp)\n

\n
\n
CONTACTS_HOLD_ABANDONS
\n
\n

Unit: Count

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Contacts hold disconnect\n

\n
\n
CONTACTS_ON_HOLD_AGENT_DISCONNECT
\n
\n

Unit: Count

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

\n

UI name: Contacts hold agent disconnect\n

\n
\n
CONTACTS_ON_HOLD_CUSTOMER_DISCONNECT
\n
\n

Unit: Count

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

\n

UI name: Contacts hold customer disconnect\n

\n
\n
CONTACTS_PUT_ON_HOLD
\n
\n

Unit: Count

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

\n

UI name: Contacts put on hold\n

\n
\n
CONTACTS_TRANSFERRED_OUT_EXTERNAL
\n
\n

Unit: Count

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

\n

UI name: Contacts transferred out external\n

\n
\n
CONTACTS_TRANSFERRED_OUT_INTERNAL
\n
\n

Unit: Percent

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

\n

UI name: Contacts transferred out internal\n

\n
\n
CONTACTS_QUEUED
\n
\n

Unit: Count

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Contacts queued\n

\n
\n
CONTACTS_QUEUED_BY_ENQUEUE
\n
\n

Unit: Count

\n

Valid groupings and filters: Queue, Channel, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype

\n

UI name: Contacts queued (enqueue timestamp)\n

\n
\n
CONTACTS_REMOVED_FROM_QUEUE_IN_X
\n
\n

Unit: Count

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Q in Connect

\n

Threshold: For ThresholdValue, enter any whole number from 1 to 604800\n (inclusive), in seconds. For Comparison, you can use LT (for \"Less\n than\") or LTE (for \"Less than equal\").

\n

UI name: Contacts removed from queue in X seconds\n

\n
\n
CONTACTS_RESOLVED_IN_X
\n
\n

Unit: Count

\n

Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype,\n Q in Connect

\n

Threshold: For ThresholdValue, enter any whole number from 1 to 604800\n (inclusive), in seconds. For Comparison, you can use LT (for \"Less\n than\") or LTE (for \"Less than equal\").

\n

UI name: Contacts resolved in X\n

\n
\n
CONTACTS_TRANSFERRED_OUT
\n
\n

Unit: Count

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Contacts transferred out\n

\n \n

Feature is a valid filter but not a valid grouping.

\n
\n
\n
CONTACTS_TRANSFERRED_OUT_BY_AGENT
\n
\n

Unit: Count

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Contacts transferred out by agent\n

\n
\n
CONTACTS_TRANSFERRED_OUT_FROM_QUEUE
\n
\n

Unit: Count

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Contacts transferred out queue\n

\n
\n
CURRENT_CASES
\n
\n

Unit: Count

\n

Required filter key: CASE_TEMPLATE_ARN

\n

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

\n

UI name: Current cases\n

\n
\n
DELIVERY_ATTEMPTS
\n
\n

This metric is available only for outbound campaigns.

\n

Unit: Count

\n

Valid metric filter key: ANSWERING_MACHINE_DETECTION_STATUS,\n CAMPAIGN_DELIVERY_EVENT_TYPE, DISCONNECT_REASON\n

\n

Valid groupings and filters: Agent, Answering Machine Detection Status, Campaign, Campaign Delivery\n EventType, Channel, contact/segmentAttributes/connect:Subtype, Disconnect Reason, Queue,\n Routing Profile

\n

UI name: Delivery attempts\n

\n \n

Campaign Delivery EventType filter and grouping are only available for SMS and Email\n campaign delivery modes. Agent, Queue, Routing Profile, Answering Machine Detection Status\n and Disconnect Reason are only available for agent assisted voice and automated voice\n delivery modes.

\n
\n
\n
DELIVERY_ATTEMPT_DISPOSITION_RATE
\n
\n

This metric is available only for outbound campaigns. Dispositions for the agent assisted\n voice and automated voice delivery modes are only available with answering machine detection\n enabled.

\n

Unit: Percent

\n

Valid metric filter key: ANSWERING_MACHINE_DETECTION_STATUS,\n CAMPAIGN_DELIVERY_EVENT_TYPE, DISCONNECT_REASON\n

\n

Valid groupings and filters: Agent, Answering Machine Detection Status, Campaign, Channel,\n contact/segmentAttributes/connect:Subtype, Disconnect Reason, Queue, Routing Profile

\n

UI name: Delivery attempt disposition rate\n

\n \n

Campaign Delivery Event Type filter and grouping are only available for SMS and Email\n campaign delivery modes. Agent, Queue, Routing Profile, Answering Machine Detection Status\n and Disconnect Reason are only available for agent assisted voice and automated voice\n delivery modes.

\n
\n
\n
FLOWS_OUTCOME
\n
\n

Unit: Count

\n

Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module\n resource ID, Flows next resource ID, Flows next resource queue ID, Flows outcome type, Flows\n resource ID, Initiation method, Resource published timestamp

\n

UI name: Flows outcome\n

\n
\n
FLOWS_STARTED
\n
\n

Unit: Count

\n

Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module\n resource ID, Flows resource ID, Initiation method, Resource published timestamp

\n

UI name: Flows started\n

\n
\n
HUMAN_ANSWERED_CALLS
\n
\n

This metric is available only for outbound campaigns. Dispositions for the agent assisted\n voice and automated voice delivery modes are only available with answering machine detection\n enabled.

\n

Unit: Count

\n

Valid groupings and filters: Agent, Campaign

\n

UI name: Human answered\n

\n
\n
MAX_FLOW_TIME
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module\n resource ID, Flows next resource ID, Flows next resource queue ID, Flows outcome type, Flows\n resource ID, Initiation method, Resource published timestamp

\n

UI name: Maximum flow time\n

\n
\n
MAX_QUEUED_TIME
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Maximum queued time\n

\n
\n
MIN_FLOW_TIME
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module\n resource ID, Flows next resource ID, Flows next resource queue ID, Flows outcome type, Flows\n resource ID, Initiation method, Resource published timestamp

\n

UI name: Minimum flow time\n

\n
\n
PERCENT_BOT_CONVERSATIONS_OUTCOME
\n
\n

Unit: Percent

\n

Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Bot ID, Bot alias, Bot\n version, Bot locale, Flows resource ID, Flows module resource ID, Flow type, Flow action ID,\n Invoking resource published timestamp, Initiation method, Invoking resource type, Parent flows\n resource ID

\n

UI name: Percent bot conversations outcome\n

\n
\n
PERCENT_BOT_INTENTS_OUTCOME
\n
\n

Unit: Percent

\n

Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Bot ID, Bot alias, Bot\n version, Bot locale, Bot intent name, Flows resource ID, Flows module resource ID, Flow type,\n Flow action ID, Invoking resource published timestamp, Initiation method, Invoking resource\n type, Parent flows resource ID

\n

UI name: Percent\n bot intents outcome\n

\n
\n
PERCENT_CASES_FIRST_CONTACT_RESOLVED
\n
\n

Unit: Percent

\n

Required filter key: CASE_TEMPLATE_ARN

\n

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

\n

UI name: Cases resolved on first contact\n

\n
\n
PERCENT_CONTACTS_STEP_EXPIRED
\n
\n

Unit: Percent

\n

Valid groupings and filters: Queue, RoutingStepExpression

\n

UI name: This metric is available in Real-time Metrics UI but not on the Historical\n Metrics UI.

\n
\n
PERCENT_CONTACTS_STEP_JOINED
\n
\n

Unit: Percent

\n

Valid groupings and filters: Queue, RoutingStepExpression

\n

UI name: This metric is available in Real-time Metrics UI but not on the Historical\n Metrics UI.

\n
\n
PERCENT_FLOWS_OUTCOME
\n
\n

Unit: Percent

\n

Valid metric filter key: FLOWS_OUTCOME_TYPE\n

\n

Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module\n resource ID, Flows next resource ID, Flows next resource queue ID, Flows outcome type, Flows\n resource ID, Initiation method, Resource published timestamp

\n

UI name: Flows outcome percentage.

\n \n

The FLOWS_OUTCOME_TYPE is not a valid grouping.

\n
\n
\n
PERCENT_NON_TALK_TIME
\n
\n

This metric is available only for contacts analyzed by Contact Lens conversational\n analytics.

\n

Unit: Percentage

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Non-talk\n time percent\n

\n
\n
PERCENT_TALK_TIME
\n
\n

This metric is available only for contacts analyzed by Contact Lens conversational\n analytics.

\n

Unit: Percentage

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Talk time\n percent\n

\n
\n
PERCENT_TALK_TIME_AGENT
\n
\n

This metric is available only for contacts analyzed by Contact Lens conversational\n analytics.

\n

Unit: Percentage

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Agent\n talk time percent\n

\n
\n
PERCENT_TALK_TIME_CUSTOMER
\n
\n

This metric is available only for contacts analyzed by Contact Lens conversational\n analytics.

\n

Unit: Percentage

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Customer talk time percent\n

\n
\n
REOPENED_CASE_ACTIONS
\n
\n

Unit: Count

\n

Required filter key: CASE_TEMPLATE_ARN

\n

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

\n

UI name: Cases reopened\n

\n
\n
RESOLVED_CASE_ACTIONS
\n
\n

Unit: Count

\n

Required filter key: CASE_TEMPLATE_ARN

\n

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

\n

UI name: Cases resolved\n

\n
\n
SERVICE_LEVEL
\n
\n

You can include up to 20 SERVICE_LEVEL metrics in a request.

\n

Unit: Percent

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Q in Connect

\n

Threshold: For ThresholdValue, enter any whole number from 1 to 604800\n (inclusive), in seconds. For Comparison, you can use LT (for \"Less\n than\") or LTE (for \"Less than equal\").

\n

UI name: Service level X\n

\n
\n
STEP_CONTACTS_QUEUED
\n
\n

Unit: Count

\n

Valid groupings and filters: Queue, RoutingStepExpression

\n

UI name: This metric is available in Real-time Metrics UI but not on the Historical\n Metrics UI.

\n
\n
SUM_AFTER_CONTACT_WORK_TIME
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

\n

UI name: After\n contact work time\n

\n
\n
SUM_CONNECTING_TIME_AGENT
\n
\n

Unit: Seconds

\n

Valid metric filter key: INITIATION_METHOD. This metric only supports the\n following filter keys as INITIATION_METHOD: INBOUND |\n OUTBOUND | CALLBACK | API\n

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

\n

UI name: Agent API connecting time\n

\n \n

The Negate key in metric-level filters is not applicable for this\n metric.

\n
\n
\n
CONTACTS_ABANDONED
\n
\n

Unit: Count

\n

Metric filter:

\n
    \n
  • \n

    Valid values: API| Incoming | Outbound |\n Transfer | Callback | Queue_Transfer|\n Disconnect\n

    \n
  • \n
\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, RoutingStepExpression, Q in Connect

\n

UI name: Contact abandoned\n

\n
\n
SUM_CONTACTS_ABANDONED_IN_X
\n
\n

Unit: Count

\n

Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype,\n Q in Connect

\n

Threshold: For ThresholdValue, enter any whole number from 1 to 604800\n (inclusive), in seconds. For Comparison, you can use LT (for \"Less\n than\") or LTE (for \"Less than equal\").

\n

UI name: Contacts abandoned in X seconds\n

\n
\n
SUM_CONTACTS_ANSWERED_IN_X
\n
\n

Unit: Count

\n

Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype,\n Q in Connect

\n

Threshold: For ThresholdValue, enter any whole number from 1 to 604800\n (inclusive), in seconds. For Comparison, you can use LT (for \"Less\n than\") or LTE (for \"Less than equal\").

\n

UI name: Contacts answered in X seconds\n

\n
\n
SUM_CONTACT_FLOW_TIME
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

\n

UI name: Contact flow time\n

\n
\n
SUM_CONTACT_TIME_AGENT
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

\n

UI name: Agent on contact time\n

\n
\n
SUM_CONTACTS_DISCONNECTED
\n
\n

Valid metric filter key: DISCONNECT_REASON\n

\n

Unit: Count

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Contact disconnected\n

\n
\n
SUM_ERROR_STATUS_TIME_AGENT
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

\n

UI name: Error status time\n

\n
\n
SUM_HANDLE_TIME
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

\n

UI name: Contact handle time\n

\n
\n
SUM_HOLD_TIME
\n
\n

Unit: Count

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

\n

UI name: Customer hold time\n

\n
\n
SUM_IDLE_TIME_AGENT
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

\n

UI name: Agent idle time\n

\n
\n
SUM_INTERACTION_AND_HOLD_TIME
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

\n

UI name: Agent interaction and hold time\n

\n
\n
SUM_INTERACTION_TIME
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

\n

UI name: Agent interaction time\n

\n
\n
SUM_NON_PRODUCTIVE_TIME_AGENT
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

\n

UI name: Non-Productive Time\n

\n
\n
SUM_ONLINE_TIME_AGENT
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

\n

UI name: Online time\n

\n
\n
SUM_RETRY_CALLBACK_ATTEMPTS
\n
\n

Unit: Count

\n

Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype,\n Q in Connect

\n

UI name: Callback attempts\n

\n
\n
", "smithy.api#required": {} } }, @@ -19691,7 +19726,7 @@ } ], "traits": { - "smithy.api#documentation": "

Imports a claimed phone number from an external service, such as Amazon Pinpoint, into an\n Amazon Connect instance. You can call this API only in the same Amazon Web Services Region\n where the Amazon Connect instance was created.

\n \n

Call the DescribePhoneNumber API\n to verify the status of a previous ImportPhoneNumber operation.

\n
\n

If you plan to claim or import numbers and then release numbers frequently, contact us for a\n service quota exception. Otherwise, it is possible you will be blocked from claiming and\n releasing any more numbers until up to 180 days past the oldest number released has expired.

\n

By default you can claim or import and then release up to 200% of your maximum number of\n active phone numbers. If you claim or import and then release phone numbers using the UI or API\n during a rolling 180 day cycle that exceeds 200% of your phone number service level quota, you\n will be blocked from claiming or importing any more numbers until 180 days past the oldest number\n released has expired.

\n

For example, if you already have 99 claimed or imported numbers and a service level quota of\n 99 phone numbers, and in any 180 day period you release 99, claim 99, and then release 99, you\n will have exceeded the 200% limit. At that point you are blocked from claiming any more numbers\n until you open an Amazon Web Services Support ticket.

", + "smithy.api#documentation": "

Imports a claimed phone number from an external service, such as Amazon Web Services End User Messaging, into an\n Amazon Connect instance. You can call this API only in the same Amazon Web Services Region\n where the Amazon Connect instance was created.

\n \n

Call the DescribePhoneNumber API\n to verify the status of a previous ImportPhoneNumber operation.

\n
\n

If you plan to claim or import numbers and then release numbers frequently, contact us for a\n service quota exception. Otherwise, it is possible you will be blocked from claiming and\n releasing any more numbers until up to 180 days past the oldest number released has expired.

\n

By default you can claim or import and then release up to 200% of your maximum number of\n active phone numbers. If you claim or import and then release phone numbers using the UI or API\n during a rolling 180 day cycle that exceeds 200% of your phone number service level quota, you\n will be blocked from claiming or importing any more numbers until 180 days past the oldest number\n released has expired.

\n

For example, if you already have 99 claimed or imported numbers and a service level quota of\n 99 phone numbers, and in any 180 day period you release 99, claim 99, and then release 99, you\n will have exceeded the 200% limit. At that point you are blocked from claiming any more numbers\n until you open an Amazon Web Services Support ticket.

", "smithy.api#http": { "method": "POST", "uri": "/phone-number/import", @@ -19712,7 +19747,7 @@ "SourcePhoneNumberArn": { "target": "com.amazonaws.connect#ARN", "traits": { - "smithy.api#documentation": "

The claimed phone number ARN being imported from the external service, such as Amazon Pinpoint. If it is from Amazon Pinpoint, it looks like the ARN of the phone number to\n import from Amazon Pinpoint.

", + "smithy.api#documentation": "

The claimed phone number ARN being imported from the external service, such as Amazon Web Services End User Messaging. If it is from Amazon Web Services End User Messaging, it looks like the ARN of the phone number to\n import from Amazon Web Services End User Messaging.

", "smithy.api#required": {} } }, @@ -20504,6 +20539,18 @@ "traits": { "smithy.api#enumValue": "SES_IDENTITY" } + }, + "ANALYTICS_CONNECTOR": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ANALYTICS_CONNECTOR" + } + }, + "CALL_TRANSFER_CONNECTOR": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CALL_TRANSFER_CONNECTOR" + } } } }, @@ -20698,6 +20745,17 @@ "target": "com.amazonaws.connect#IpCidr" } }, + "com.amazonaws.connect#IvrRecordingTrack": { + "type": "enum", + "members": { + "ALL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ALL" + } + } + } + }, "com.amazonaws.connect#JoinToken": { "type": "string", "traits": { @@ -22240,6 +22298,12 @@ "com.amazonaws.connect#ListFlowAssociationResourceType": { "type": "enum", "members": { + "WHATSAPP_MESSAGING_PHONE_NUMBER": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "WHATSAPP_MESSAGING_PHONE_NUMBER" + } + }, "VOICE_PHONE_NUMBER": { "target": "smithy.api#Unit", "traits": { @@ -22257,6 +22321,12 @@ "traits": { "smithy.api#enumValue": "OUTBOUND_EMAIL" } + }, + "ANALYTICS_CONNECTOR": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ANALYTICS_CONNECTOR" + } } } }, @@ -23150,7 +23220,7 @@ "SourcePhoneNumberArn": { "target": "com.amazonaws.connect#ARN", "traits": { - "smithy.api#documentation": "

The claimed phone number ARN that was previously imported from the external service, such as\n Amazon Pinpoint. If it is from Amazon Pinpoint, it looks like the ARN of the phone number\n that was imported from Amazon Pinpoint.

" + "smithy.api#documentation": "

The claimed phone number ARN that was previously imported from the external service, such as\n Amazon Web Services End User Messaging. If it is from Amazon Web Services End User Messaging, it looks like the ARN of the phone number\n that was imported from Amazon Web Services End User Messaging.

" } } }, @@ -25844,7 +25914,7 @@ "MetricFilterValues": { "target": "com.amazonaws.connect#MetricFilterValueList", "traits": { - "smithy.api#documentation": "

The values to use for filtering data. Values for metric-level filters can be either a fixed\n set of values or a customized list, depending on the use case.

\n

For valid values of metric-level filters INITIATION_METHOD,\n DISCONNECT_REASON, and ANSWERING_MACHINE_DETECTION_STATUS, see ContactTraceRecord in the Amazon Connect Administrator Guide.

\n

For valid values of the metric-level filter FLOWS_OUTCOME_TYPE, see the\n description for the Flow outcome metric in the Amazon Connect Administrator\n Guide.

" + "smithy.api#documentation": "

The values to use for filtering data. Values for metric-level filters can be either a fixed\n set of values or a customized list, depending on the use case.

\n

For valid values of metric-level filters INITIATION_METHOD,\n DISCONNECT_REASON, and ANSWERING_MACHINE_DETECTION_STATUS, see ContactTraceRecord in the Amazon Connect Administrator Guide.

\n

For valid values of the metric-level filter FLOWS_OUTCOME_TYPE, see the\n description for the Flow outcome metric in the Amazon Connect Administrator\n Guide.

\n

For valid values of the metric-level filter BOT_CONVERSATION_OUTCOME_TYPE, see the\n description for the \n Bot conversations completed\n \n in the Amazon Connect Administrator\n Guide.

\n

For valid values of the metric-level filter BOT_INTENT_OUTCOME_TYPE, see the description for\n the \n Bot intents completed\n \n metric in the Amazon Connect Administrator\n Guide.

" } }, "Negate": { @@ -29399,6 +29469,20 @@ "smithy.api#documentation": "

If this contact was queued, this contains information about the queue.

" } }, + "com.amazonaws.connect#QueueInfoInput": { + "type": "structure", + "members": { + "Id": { + "target": "com.amazonaws.connect#QueueId", + "traits": { + "smithy.api#documentation": "

The identifier of the queue.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Information about a queue.

" + } + }, "com.amazonaws.connect#QueueMaxContacts": { "type": "integer", "traits": { @@ -31470,6 +31554,12 @@ "smithy.api#documentation": "

The identifier of the contact. This is the identifier of the contact associated with the\n first interaction with the contact center.

", "smithy.api#required": {} } + }, + "ContactRecordingType": { + "target": "com.amazonaws.connect#ContactRecordingType", + "traits": { + "smithy.api#documentation": "

The type of recording being operated on.

" + } } }, "traits": { @@ -34521,7 +34611,7 @@ "Arn": { "target": "com.amazonaws.connect#ARN", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) for the secruity profile.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) for the security profile.

" } }, "SecurityProfileName": { @@ -34868,7 +34958,7 @@ } ], "traits": { - "smithy.api#documentation": "

Processes chat integration events from Amazon Web Services or external integrations to\n Amazon Connect. A chat integration event includes:

\n
    \n
  • \n

    SourceId, DestinationId, and Subtype: a set of identifiers, uniquely representing a\n chat

    \n
  • \n
  • \n

    ChatEvent: details of the chat action to perform such as sending a message, event, or\n disconnecting from a chat

    \n
  • \n
\n

When a chat integration event is sent with chat identifiers that do not map to an active\n chat contact, a new chat contact is also created before handling chat action.

\n

Access to this API is currently restricted to Amazon Pinpoint for supporting SMS\n integration.

", + "smithy.api#documentation": "

Processes chat integration events from Amazon Web Services or external integrations to\n Amazon Connect. A chat integration event includes:

\n
    \n
  • \n

    SourceId, DestinationId, and Subtype: a set of identifiers, uniquely representing a\n chat

    \n
  • \n
  • \n

    ChatEvent: details of the chat action to perform such as sending a message, event, or\n disconnecting from a chat

    \n
  • \n
\n

When a chat integration event is sent with chat identifiers that do not map to an active\n chat contact, a new chat contact is also created before handling chat action.

\n

Access to this API is currently restricted to Amazon Web Services End User Messaging for supporting SMS\n integration.

", "smithy.api#http": { "method": "POST", "uri": "/chat-integration-event", @@ -34889,14 +34979,14 @@ "DestinationId": { "target": "com.amazonaws.connect#DestinationId", "traits": { - "smithy.api#documentation": "

Chat system identifier, used in part to uniquely identify chat. This is associated with the\n Amazon Connect instance and flow to be used to start chats. For SMS, this is the phone\n number destination of inbound SMS messages represented by an Amazon Pinpoint phone number\n ARN.

", + "smithy.api#documentation": "

Chat system identifier, used in part to uniquely identify chat. This is associated with the\n Amazon Connect instance and flow to be used to start chats. For Server Migration Service, this is the phone\n number destination of inbound Server Migration Service messages represented by an Amazon Web Services End User Messaging phone number\n ARN.

", "smithy.api#required": {} } }, "Subtype": { "target": "com.amazonaws.connect#Subtype", "traits": { - "smithy.api#documentation": "

Classification of a channel. This is used in part to uniquely identify chat.

\n

Valid value: [\"connect:sms\"]\n

" + "smithy.api#documentation": "

Classification of a channel. This is used in part to uniquely identify chat.

\n

Valid value: [\"connect:sms\", connect:\"WhatsApp\"]\n

" } }, "Event": { @@ -36105,7 +36195,7 @@ } ], "traits": { - "smithy.api#documentation": "

Initiates a new outbound SMS contact to a customer. Response of this API provides the\n ContactId of the outbound SMS contact created.

\n

\n SourceEndpoint only supports Endpoints with\n CONNECT_PHONENUMBER_ARN as Type and DestinationEndpoint only supports Endpoints with TELEPHONE_NUMBER as\n Type. ContactFlowId initiates the flow to manage the new SMS\n contact created.

\n

This API can be used to initiate outbound SMS contacts for an agent or it can also deflect\n an ongoing contact to an outbound SMS contact by using the StartOutboundChatContact Flow Action.

\n

For more information about using SMS in Amazon Connect, see the following topics in the\n Amazon Connect Administrator Guide:

\n ", + "smithy.api#documentation": "

Initiates a new outbound SMS contact to a customer. Response of this API provides the\n ContactId of the outbound SMS contact created.

\n

\n SourceEndpoint only supports Endpoints with\n CONNECT_PHONENUMBER_ARN as Type and DestinationEndpoint only supports Endpoints with TELEPHONE_NUMBER as\n Type. ContactFlowId initiates the flow to manage the new SMS\n contact created.

\n

This API can be used to initiate outbound SMS contacts for an agent, or it can also deflect\n an ongoing contact to an outbound SMS contact by using the StartOutboundChatContact Flow Action.

\n

For more information about using SMS in Amazon Connect, see the following topics in the\n Amazon Connect Administrator Guide:

\n ", "smithy.api#http": { "method": "PUT", "uri": "/contact/outbound-chat", @@ -36948,6 +37038,12 @@ "smithy.api#documentation": "

The identifier of the contact. This is the identifier of the contact associated with the\n first interaction with the contact center.

", "smithy.api#required": {} } + }, + "ContactRecordingType": { + "target": "com.amazonaws.connect#ContactRecordingType", + "traits": { + "smithy.api#documentation": "

The type of recording being operated on.

" + } } }, "traits": { @@ -37390,6 +37486,12 @@ "smithy.api#documentation": "

The identifier of the contact. This is the identifier of the contact associated with the\n first interaction with the contact center.

", "smithy.api#required": {} } + }, + "ContactRecordingType": { + "target": "com.amazonaws.connect#ContactRecordingType", + "traits": { + "smithy.api#documentation": "

The type of recording being operated on.

" + } } }, "traits": { @@ -37668,7 +37770,7 @@ "key": { "target": "com.amazonaws.connect#TagKey", "traits": { - "smithy.api#documentation": "

The tag key in the tagSet.

" + "smithy.api#documentation": "

The tag key in the TagSet.

" } }, "value": { @@ -39098,6 +39200,12 @@ "target": "com.amazonaws.connect#UpdateContactResponse" }, "errors": [ + { + "target": "com.amazonaws.connect#AccessDeniedException" + }, + { + "target": "com.amazonaws.connect#ConflictException" + }, { "target": "com.amazonaws.connect#InternalServiceException" }, @@ -39729,6 +39837,30 @@ "traits": { "smithy.api#documentation": "

A set of system defined key-value pairs stored on individual contact segments (unique\n contact ID) using an attribute map. The attributes are standard Amazon Connect attributes.\n They can be accessed in flows.

\n

Attribute keys can include only alphanumeric, -, and _.

\n

This field can be used to show channel subtype, such as connect:Guide.

\n

Currently Contact Expiry is the only segment attribute which can be updated by using the\n UpdateContact API.

" } + }, + "QueueInfo": { + "target": "com.amazonaws.connect#QueueInfoInput", + "traits": { + "smithy.api#documentation": "

Information about the queue associated with a contact. This parameter can only be updated\n for external audio contacts. It is used when you integrate third-party systems with Contact Lens for\n analytics. For more information, see Amazon Connect Contact Lens integration in\n the \n Amazon Connect Administrator Guide.

" + } + }, + "UserInfo": { + "target": "com.amazonaws.connect#UserInfo", + "traits": { + "smithy.api#documentation": "

Information about the agent associated with a contact. This parameter can only be updated\n for external audio contacts. It is used when you integrate third-party systems with Contact Lens for\n analytics. For more information, see Amazon Connect Contact Lens integration in\n the \n Amazon Connect Administrator Guide.

" + } + }, + "CustomerEndpoint": { + "target": "com.amazonaws.connect#Endpoint", + "traits": { + "smithy.api#documentation": "

The endpoint of the customer for which the contact was initiated. For external audio\n contacts, this is usually the end customer's phone number. This value can only be updated for\n external audio contacts. For more information, see Amazon Connect\n Contact Lens integration in the Amazon Connect Administrator Guide.

" + } + }, + "SystemEndpoint": { + "target": "com.amazonaws.connect#Endpoint", + "traits": { + "smithy.api#documentation": "

External system endpoint for the contact was initiated. For external audio contacts, this is\n the phone number of the external system such as the contact center. This value can only be\n updated for external audio contacts. For more information, see Amazon Connect\n Contact Lens integration in the Amazon Connect Administrator Guide.

" + } } }, "traits": { @@ -44446,6 +44578,12 @@ "traits": { "smithy.api#documentation": "

Identifies which track is being recorded.

" } + }, + "IvrRecordingTrack": { + "target": "com.amazonaws.connect#IvrRecordingTrack", + "traits": { + "smithy.api#documentation": "

Identifies which IVR track is being recorded.

" + } } }, "traits": { diff --git a/codegen/sdk/aws-models/connectcampaignsv2.json b/codegen/sdk/aws-models/connectcampaignsv2.json index b123f2db0e7..e6aa863c930 100644 --- a/codegen/sdk/aws-models/connectcampaignsv2.json +++ b/codegen/sdk/aws-models/connectcampaignsv2.json @@ -91,6 +91,9 @@ { "target": "com.amazonaws.connectcampaignsv2#PutOutboundRequestBatch" }, + { + "target": "com.amazonaws.connectcampaignsv2#PutProfileOutboundRequestBatch" + }, { "target": "com.amazonaws.connectcampaignsv2#ResumeCampaign" }, @@ -2208,6 +2211,17 @@ ] } }, + "com.amazonaws.connectcampaignsv2#EventTrigger": { + "type": "structure", + "members": { + "customerProfilesDomainArn": { + "target": "com.amazonaws.connectcampaignsv2#Arn" + } + }, + "traits": { + "smithy.api#documentation": "Event trigger of the campaign" + } + }, "com.amazonaws.connectcampaignsv2#EventType": { "type": "string", "traits": { @@ -2259,6 +2273,36 @@ } } }, + "com.amazonaws.connectcampaignsv2#FailedProfileOutboundRequest": { + "type": "structure", + "members": { + "clientToken": { + "target": "com.amazonaws.connectcampaignsv2#ClientToken" + }, + "id": { + "target": "com.amazonaws.connectcampaignsv2#ProfileOutboundRequestId" + }, + "failureCode": { + "target": "com.amazonaws.connectcampaignsv2#ProfileOutboundRequestFailureCode" + } + }, + "traits": { + "smithy.api#documentation": "Failure details for a profile outbound request" + } + }, + "com.amazonaws.connectcampaignsv2#FailedProfileOutboundRequestList": { + "type": "list", + "member": { + "target": "com.amazonaws.connectcampaignsv2#FailedProfileOutboundRequest" + }, + "traits": { + "smithy.api#documentation": "List of failed profile outbound requests", + "smithy.api#length": { + "min": 0, + "max": 20 + } + } + }, "com.amazonaws.connectcampaignsv2#FailedRequest": { "type": "structure", "members": { @@ -3284,6 +3328,93 @@ "smithy.api#documentation": "Predictive config" } }, + "com.amazonaws.connectcampaignsv2#ProfileId": { + "type": "string", + "traits": { + "smithy.api#documentation": "Identifier of the customer profile", + "smithy.api#pattern": "^[a-f0-9]{32}$" + } + }, + "com.amazonaws.connectcampaignsv2#ProfileOutboundRequest": { + "type": "structure", + "members": { + "clientToken": { + "target": "com.amazonaws.connectcampaignsv2#ClientToken", + "traits": { + "smithy.api#required": {} + } + }, + "profileId": { + "target": "com.amazonaws.connectcampaignsv2#ProfileId", + "traits": { + "smithy.api#required": {} + } + }, + "expirationTime": { + "target": "com.amazonaws.connectcampaignsv2#TimeStamp" + } + }, + "traits": { + "smithy.api#documentation": "Information about a profile outbound request" + } + }, + "com.amazonaws.connectcampaignsv2#ProfileOutboundRequestFailureCode": { + "type": "string", + "traits": { + "smithy.api#documentation": "Predefined code indicating the error that caused the failure", + "smithy.api#enum": [ + { + "value": "UnknownError", + "name": "UNKNOWN_ERROR", + "documentation": "Unexpected error during processing of request" + }, + { + "value": "ResourceNotFound", + "name": "RESOURCE_NOT_FOUND", + "documentation": "The specified resource was not found" + }, + { + "value": "Conflict", + "name": "CONFLICT", + "documentation": "The specified resource conflicts with another resource" + }, + { + "value": "RequestThrottled", + "name": "REQUEST_THROTTLED", + "documentation": "Request throttled due to large number of requests" + }, + { + "value": "InvalidInput", + "name": "INVALID_INPUT", + "documentation": "The request failed to satisfy the constraints specified by the service" + } + ] + } + }, + "com.amazonaws.connectcampaignsv2#ProfileOutboundRequestId": { + "type": "string", + "traits": { + "smithy.api#documentation": "Identifier of the profile outbound request", + "smithy.api#length": { + "min": 0, + "max": 256 + }, + "smithy.api#pattern": "^[a-zA-Z0-9_\\-.]*$" + } + }, + "com.amazonaws.connectcampaignsv2#ProfileOutboundRequestList": { + "type": "list", + "member": { + "target": "com.amazonaws.connectcampaignsv2#ProfileOutboundRequest" + }, + "traits": { + "smithy.api#documentation": "List of profile outbound requests", + "smithy.api#length": { + "min": 1, + "max": 20 + } + } + }, "com.amazonaws.connectcampaignsv2#ProgressiveConfig": { "type": "structure", "members": { @@ -3434,6 +3565,83 @@ "smithy.api#output": {} } }, + "com.amazonaws.connectcampaignsv2#PutProfileOutboundRequestBatch": { + "type": "operation", + "input": { + "target": "com.amazonaws.connectcampaignsv2#PutProfileOutboundRequestBatchRequest" + }, + "output": { + "target": "com.amazonaws.connectcampaignsv2#PutProfileOutboundRequestBatchResponse" + }, + "errors": [ + { + "target": "com.amazonaws.connectcampaignsv2#AccessDeniedException" + }, + { + "target": "com.amazonaws.connectcampaignsv2#ConflictException" + }, + { + "target": "com.amazonaws.connectcampaignsv2#InternalServerException" + }, + { + "target": "com.amazonaws.connectcampaignsv2#InvalidCampaignStateException" + }, + { + "target": "com.amazonaws.connectcampaignsv2#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.connectcampaignsv2#ThrottlingException" + }, + { + "target": "com.amazonaws.connectcampaignsv2#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "Takes in a list of profile outbound requests to be placed as part of an outbound campaign. This API is idempotent.", + "smithy.api#http": { + "uri": "/v2/campaigns/{id}/profile-outbound-requests", + "method": "PUT" + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.connectcampaignsv2#PutProfileOutboundRequestBatchRequest": { + "type": "structure", + "members": { + "id": { + "target": "com.amazonaws.connectcampaignsv2#CampaignId", + "traits": { + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "profileOutboundRequests": { + "target": "com.amazonaws.connectcampaignsv2#ProfileOutboundRequestList", + "traits": { + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "The request for PutProfileOutboundRequestBatch API", + "smithy.api#input": {} + } + }, + "com.amazonaws.connectcampaignsv2#PutProfileOutboundRequestBatchResponse": { + "type": "structure", + "members": { + "successfulRequests": { + "target": "com.amazonaws.connectcampaignsv2#SuccessfulProfileOutboundRequestList" + }, + "failedRequests": { + "target": "com.amazonaws.connectcampaignsv2#FailedProfileOutboundRequestList" + } + }, + "traits": { + "smithy.api#documentation": "The response for PutProfileOutboundRequestBatch API", + "smithy.api#output": {} + } + }, "com.amazonaws.connectcampaignsv2#QConnectIntegrationConfig": { "type": "structure", "members": { @@ -3754,6 +3962,9 @@ "members": { "customerProfilesSegmentArn": { "target": "com.amazonaws.connectcampaignsv2#Arn" + }, + "eventTrigger": { + "target": "com.amazonaws.connectcampaignsv2#EventTrigger" } }, "traits": { @@ -3977,6 +4188,33 @@ } } }, + "com.amazonaws.connectcampaignsv2#SuccessfulProfileOutboundRequest": { + "type": "structure", + "members": { + "clientToken": { + "target": "com.amazonaws.connectcampaignsv2#ClientToken" + }, + "id": { + "target": "com.amazonaws.connectcampaignsv2#ProfileOutboundRequestId" + } + }, + "traits": { + "smithy.api#documentation": "Success details for a profile outbound request" + } + }, + "com.amazonaws.connectcampaignsv2#SuccessfulProfileOutboundRequestList": { + "type": "list", + "member": { + "target": "com.amazonaws.connectcampaignsv2#SuccessfulProfileOutboundRequest" + }, + "traits": { + "smithy.api#documentation": "List of successful profile outbound requests", + "smithy.api#length": { + "min": 0, + "max": 20 + } + } + }, "com.amazonaws.connectcampaignsv2#SuccessfulRequest": { "type": "structure", "members": { diff --git a/codegen/sdk/aws-models/customer-profiles.json b/codegen/sdk/aws-models/customer-profiles.json index 048841474e8..d6f49bfe9fc 100644 --- a/codegen/sdk/aws-models/customer-profiles.json +++ b/codegen/sdk/aws-models/customer-profiles.json @@ -878,7 +878,7 @@ "ConditionOverrides": { "target": "com.amazonaws.customerprofiles#ConditionOverrides", "traits": { - "smithy.api#documentation": "

Overrides the condition block within the original calculated attribute definition.

" + "smithy.api#documentation": "

Overrides the condition block within the original calculated attribute\n definition.

" } } }, @@ -904,7 +904,7 @@ "ConditionOverrides": { "target": "com.amazonaws.customerprofiles#ConditionOverrides", "traits": { - "smithy.api#documentation": "

Overrides the condition block within the original calculated attribute definition.

" + "smithy.api#documentation": "

Overrides the condition block within the original calculated attribute\n definition.

" } } }, @@ -1022,7 +1022,7 @@ "Errors": { "target": "com.amazonaws.customerprofiles#BatchGetProfileErrorList", "traits": { - "smithy.api#documentation": "

For information about the errors that are common to all actions, see Common Errors.

" + "smithy.api#documentation": "

For information about the errors that are common to all actions, see Common\n Errors.

" } }, "Profiles": { @@ -1120,7 +1120,7 @@ "IsDataPartial": { "target": "com.amazonaws.customerprofiles#string1To255", "traits": { - "smithy.api#documentation": "

Indicates whether the calculated attribute's value is based on partial data. If the data is partial, it is set to true.

" + "smithy.api#documentation": "

Indicates whether the calculated attribute's value is based on partial data. If the data\n is partial, it is set to true.

" } }, "ProfileId": { @@ -1161,13 +1161,108 @@ "target": "com.amazonaws.customerprofiles#CalculatedAttributeDimension" } }, + "com.amazonaws.customerprofiles#ComparisonOperator": { + "type": "enum", + "members": { + "INCLUSIVE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INCLUSIVE" + } + }, + "EXCLUSIVE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "EXCLUSIVE" + } + }, + "CONTAINS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CONTAINS" + } + }, + "BEGINS_WITH": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "BEGINS_WITH" + } + }, + "ENDS_WITH": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ENDS_WITH" + } + }, + "GREATER_THAN": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "GREATER_THAN" + } + }, + "LESS_THAN": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "LESS_THAN" + } + }, + "GREATER_THAN_OR_EQUAL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "GREATER_THAN_OR_EQUAL" + } + }, + "LESS_THAN_OR_EQUAL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "LESS_THAN_OR_EQUAL" + } + }, + "EQUAL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "EQUAL" + } + }, + "BEFORE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "BEFORE" + } + }, + "AFTER": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AFTER" + } + }, + "ON": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ON" + } + }, + "BETWEEN": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "BETWEEN" + } + }, + "NOT_BETWEEN": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "NOT_BETWEEN" + } + } + } + }, "com.amazonaws.customerprofiles#ConditionOverrides": { "type": "structure", "members": { "Range": { "target": "com.amazonaws.customerprofiles#RangeOverride", "traits": { - "smithy.api#documentation": "

The relative time period over which data is included in the aggregation for this override.

" + "smithy.api#documentation": "

The relative time period over which data is included in the aggregation for this\n override.

" } } }, @@ -1385,7 +1480,7 @@ "Filter": { "target": "com.amazonaws.customerprofiles#Filter", "traits": { - "smithy.api#documentation": "

Defines how to filter incoming objects to include part of the Calculated Attribute.

" + "smithy.api#documentation": "

Defines how to filter incoming objects to include part of the Calculated\n Attribute.

" } }, "Statistic": { @@ -1719,6 +1814,164 @@ "smithy.api#output": {} } }, + "com.amazonaws.customerprofiles#CreateEventTrigger": { + "type": "operation", + "input": { + "target": "com.amazonaws.customerprofiles#CreateEventTriggerRequest" + }, + "output": { + "target": "com.amazonaws.customerprofiles#CreateEventTriggerResponse" + }, + "errors": [ + { + "target": "com.amazonaws.customerprofiles#AccessDeniedException" + }, + { + "target": "com.amazonaws.customerprofiles#BadRequestException" + }, + { + "target": "com.amazonaws.customerprofiles#InternalServerException" + }, + { + "target": "com.amazonaws.customerprofiles#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.customerprofiles#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

Creates an event trigger, which specifies the rules when to perform action based on\n customer's ingested data.

\n

Each event stream can be associated with only one integration in the same region and AWS\n account as the event stream.

", + "smithy.api#http": { + "method": "POST", + "uri": "/domains/{DomainName}/event-triggers/{EventTriggerName}", + "code": 200 + } + } + }, + "com.amazonaws.customerprofiles#CreateEventTriggerRequest": { + "type": "structure", + "members": { + "DomainName": { + "target": "com.amazonaws.customerprofiles#name", + "traits": { + "smithy.api#documentation": "

The unique name of the domain.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "EventTriggerName": { + "target": "com.amazonaws.customerprofiles#name", + "traits": { + "smithy.api#documentation": "

The unique name of the event trigger.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "ObjectTypeName": { + "target": "com.amazonaws.customerprofiles#typeName", + "traits": { + "smithy.api#documentation": "

The unique name of the object type.

", + "smithy.api#required": {} + } + }, + "Description": { + "target": "com.amazonaws.customerprofiles#sensitiveText", + "traits": { + "smithy.api#documentation": "

The description of the event trigger.

" + } + }, + "EventTriggerConditions": { + "target": "com.amazonaws.customerprofiles#EventTriggerConditions", + "traits": { + "smithy.api#documentation": "

A list of conditions that determine when an event should trigger the destination.

", + "smithy.api#required": {} + } + }, + "SegmentFilter": { + "target": "com.amazonaws.customerprofiles#name", + "traits": { + "smithy.api#documentation": "

The destination is triggered only for profiles that meet the criteria of a segment\n definition.

" + } + }, + "EventTriggerLimits": { + "target": "com.amazonaws.customerprofiles#EventTriggerLimits", + "traits": { + "smithy.api#documentation": "

Defines limits controlling whether an event triggers the destination, based on ingestion\n latency and the number of invocations per profile over specific time periods.

" + } + }, + "Tags": { + "target": "com.amazonaws.customerprofiles#TagMap", + "traits": { + "smithy.api#documentation": "

An array of key-value pairs to apply to this resource.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.customerprofiles#CreateEventTriggerResponse": { + "type": "structure", + "members": { + "EventTriggerName": { + "target": "com.amazonaws.customerprofiles#name", + "traits": { + "smithy.api#documentation": "

The unique name of the event trigger.

" + } + }, + "ObjectTypeName": { + "target": "com.amazonaws.customerprofiles#typeName", + "traits": { + "smithy.api#documentation": "

The unique name of the object type.

" + } + }, + "Description": { + "target": "com.amazonaws.customerprofiles#sensitiveText", + "traits": { + "smithy.api#documentation": "

The description of the event trigger.

" + } + }, + "EventTriggerConditions": { + "target": "com.amazonaws.customerprofiles#EventTriggerConditions", + "traits": { + "smithy.api#documentation": "

A list of conditions that determine when an event should trigger the destination.

" + } + }, + "SegmentFilter": { + "target": "com.amazonaws.customerprofiles#name", + "traits": { + "smithy.api#documentation": "

The destination is triggered only for profiles that meet the criteria of a segment\n definition.

" + } + }, + "EventTriggerLimits": { + "target": "com.amazonaws.customerprofiles#EventTriggerLimits", + "traits": { + "smithy.api#documentation": "

Defines limits controlling whether an event triggers the destination, based on ingestion\n latency and the number of invocations per profile over specific time periods.

" + } + }, + "CreatedAt": { + "target": "com.amazonaws.customerprofiles#timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp of when the event trigger was created.

" + } + }, + "LastUpdatedAt": { + "target": "com.amazonaws.customerprofiles#timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp of when the event trigger was most recently updated.

" + } + }, + "Tags": { + "target": "com.amazonaws.customerprofiles#TagMap", + "traits": { + "smithy.api#documentation": "

An array of key-value pairs to apply to this resource.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.customerprofiles#CreateIntegrationWorkflow": { "type": "operation", "input": { @@ -2098,7 +2351,7 @@ "SegmentGroups": { "target": "com.amazonaws.customerprofiles#SegmentGroup", "traits": { - "smithy.api#documentation": "

Specifies the base segments and dimensions for a segment definition along with their respective relationship.

", + "smithy.api#documentation": "

Specifies the base segments and dimensions for a segment definition along with their\n respective relationship.

", "smithy.api#required": {} } }, @@ -2233,7 +2486,7 @@ "EstimateId": { "target": "com.amazonaws.customerprofiles#string1To255", "traits": { - "smithy.api#documentation": "

A unique identifier for the resource. The value can be passed to GetSegmentEstimate to retrieve the result of segment estimate status.

" + "smithy.api#documentation": "

A unique identifier for the resource. The value can be passed to\n GetSegmentEstimate to retrieve the result of segment estimate\n status.

" } }, "StatusCode": { @@ -2312,19 +2565,19 @@ "EncryptionKey": { "target": "com.amazonaws.customerprofiles#encryptionKey", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the KMS key used to encrypt the exported segment.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the KMS key used to encrypt the exported\n segment.

" } }, "RoleArn": { "target": "com.amazonaws.customerprofiles#RoleArn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the IAM role that allows Customer Profiles service principal to assume the role for conducting KMS and S3 operations.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the IAM role that allows Customer Profiles service\n principal to assume the role for conducting KMS and S3 operations.

" } }, "DestinationUri": { "target": "com.amazonaws.customerprofiles#string1To255", "traits": { - "smithy.api#documentation": "

The destination to which the segment will be exported. This field must be provided if the request is not submitted from the Amazon Connect Admin Website.

" + "smithy.api#documentation": "

The destination to which the segment will be exported. This field must be provided if\n the request is not submitted from the Amazon Connect Admin Website.

" } } }, @@ -2378,6 +2631,9 @@ { "target": "com.amazonaws.customerprofiles#CreateEventStream" }, + { + "target": "com.amazonaws.customerprofiles#CreateEventTrigger" + }, { "target": "com.amazonaws.customerprofiles#CreateIntegrationWorkflow" }, @@ -2402,6 +2658,9 @@ { "target": "com.amazonaws.customerprofiles#DeleteEventStream" }, + { + "target": "com.amazonaws.customerprofiles#DeleteEventTrigger" + }, { "target": "com.amazonaws.customerprofiles#DeleteIntegration" }, @@ -2441,6 +2700,9 @@ { "target": "com.amazonaws.customerprofiles#GetEventStream" }, + { + "target": "com.amazonaws.customerprofiles#GetEventTrigger" + }, { "target": "com.amazonaws.customerprofiles#GetIdentityResolutionJob" }, @@ -2492,6 +2754,9 @@ { "target": "com.amazonaws.customerprofiles#ListEventStreams" }, + { + "target": "com.amazonaws.customerprofiles#ListEventTriggers" + }, { "target": "com.amazonaws.customerprofiles#ListIdentityResolutionJobs" }, @@ -2552,6 +2817,9 @@ { "target": "com.amazonaws.customerprofiles#UpdateDomain" }, + { + "target": "com.amazonaws.customerprofiles#UpdateEventTrigger" + }, { "target": "com.amazonaws.customerprofiles#UpdateProfile" } @@ -3637,6 +3905,79 @@ "smithy.api#output": {} } }, + "com.amazonaws.customerprofiles#DeleteEventTrigger": { + "type": "operation", + "input": { + "target": "com.amazonaws.customerprofiles#DeleteEventTriggerRequest" + }, + "output": { + "target": "com.amazonaws.customerprofiles#DeleteEventTriggerResponse" + }, + "errors": [ + { + "target": "com.amazonaws.customerprofiles#AccessDeniedException" + }, + { + "target": "com.amazonaws.customerprofiles#BadRequestException" + }, + { + "target": "com.amazonaws.customerprofiles#InternalServerException" + }, + { + "target": "com.amazonaws.customerprofiles#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.customerprofiles#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

Disable and deletes the Event Trigger.

\n \n

You cannot delete an Event Trigger with an active Integration associated.

\n
", + "smithy.api#http": { + "method": "DELETE", + "uri": "/domains/{DomainName}/event-triggers/{EventTriggerName}", + "code": 200 + } + } + }, + "com.amazonaws.customerprofiles#DeleteEventTriggerRequest": { + "type": "structure", + "members": { + "DomainName": { + "target": "com.amazonaws.customerprofiles#name", + "traits": { + "smithy.api#documentation": "

The unique name of the domain.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "EventTriggerName": { + "target": "com.amazonaws.customerprofiles#name", + "traits": { + "smithy.api#documentation": "

The unique name of the event trigger.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.customerprofiles#DeleteEventTriggerResponse": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.customerprofiles#message", + "traits": { + "smithy.api#documentation": "

A message that indicates the delete request is done.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.customerprofiles#DeleteIntegration": { "type": "operation", "input": { @@ -4487,75 +4828,257 @@ "RUNNING": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "RUNNING" + "smithy.api#enumValue": "RUNNING" + } + }, + "STOPPED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "STOPPED" + } + } + } + }, + "com.amazonaws.customerprofiles#EventStreamSummary": { + "type": "structure", + "members": { + "DomainName": { + "target": "com.amazonaws.customerprofiles#name", + "traits": { + "smithy.api#documentation": "

The unique name of the domain.

", + "smithy.api#required": {} + } + }, + "EventStreamName": { + "target": "com.amazonaws.customerprofiles#name", + "traits": { + "smithy.api#documentation": "

The name of the event stream.

", + "smithy.api#required": {} + } + }, + "EventStreamArn": { + "target": "com.amazonaws.customerprofiles#string1To255", + "traits": { + "smithy.api#documentation": "

A unique identifier for the event stream.

", + "smithy.api#required": {} + } + }, + "State": { + "target": "com.amazonaws.customerprofiles#EventStreamState", + "traits": { + "smithy.api#documentation": "

The operational state of destination stream for export.

", + "smithy.api#required": {} + } + }, + "StoppedSince": { + "target": "com.amazonaws.customerprofiles#timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp when the State changed to STOPPED.

" + } + }, + "DestinationSummary": { + "target": "com.amazonaws.customerprofiles#DestinationSummary", + "traits": { + "smithy.api#documentation": "

Summary information about the Kinesis data stream.

" + } + }, + "Tags": { + "target": "com.amazonaws.customerprofiles#TagMap", + "traits": { + "smithy.api#documentation": "

The tags used to organize, track, or control access for this resource.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

An instance of EventStream in a list of EventStreams.

" + } + }, + "com.amazonaws.customerprofiles#EventStreamSummaryList": { + "type": "list", + "member": { + "target": "com.amazonaws.customerprofiles#EventStreamSummary" + } + }, + "com.amazonaws.customerprofiles#EventTriggerCondition": { + "type": "structure", + "members": { + "EventTriggerDimensions": { + "target": "com.amazonaws.customerprofiles#EventTriggerDimensions", + "traits": { + "smithy.api#documentation": "

A list of dimensions to be evaluated for the event.

", + "smithy.api#required": {} + } + }, + "LogicalOperator": { + "target": "com.amazonaws.customerprofiles#EventTriggerLogicalOperator", + "traits": { + "smithy.api#documentation": "

The operator used to combine multiple dimensions.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Specifies the circumstances under which the event should trigger the destination.

" + } + }, + "com.amazonaws.customerprofiles#EventTriggerConditions": { + "type": "list", + "member": { + "target": "com.amazonaws.customerprofiles#EventTriggerCondition" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 5 + }, + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.customerprofiles#EventTriggerDimension": { + "type": "structure", + "members": { + "ObjectAttributes": { + "target": "com.amazonaws.customerprofiles#ObjectAttributes", + "traits": { + "smithy.api#documentation": "

A list of object attributes to be evaluated.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

A specific event dimension to be assessed.

" + } + }, + "com.amazonaws.customerprofiles#EventTriggerDimensions": { + "type": "list", + "member": { + "target": "com.amazonaws.customerprofiles#EventTriggerDimension" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 10 + } + } + }, + "com.amazonaws.customerprofiles#EventTriggerLimits": { + "type": "structure", + "members": { + "EventExpiration": { + "target": "com.amazonaws.customerprofiles#optionalLong", + "traits": { + "smithy.api#documentation": "

In milliseconds. Specifies that an event will only trigger the destination if it is processed within a certain latency period.

" + } + }, + "Periods": { + "target": "com.amazonaws.customerprofiles#Periods", + "traits": { + "smithy.api#documentation": "

A list of time periods during which the limits apply.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Defines limits controlling whether an event triggers the destination, based on ingestion latency and the number of invocations per profile over specific time periods.

" + } + }, + "com.amazonaws.customerprofiles#EventTriggerLogicalOperator": { + "type": "enum", + "members": { + "ANY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ANY" + } + }, + "ALL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ALL" } }, - "STOPPED": { + "NONE": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "STOPPED" + "smithy.api#enumValue": "NONE" } } } }, - "com.amazonaws.customerprofiles#EventStreamSummary": { + "com.amazonaws.customerprofiles#EventTriggerNames": { + "type": "list", + "member": { + "target": "com.amazonaws.customerprofiles#name" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1 + } + } + }, + "com.amazonaws.customerprofiles#EventTriggerSummaryItem": { "type": "structure", "members": { - "DomainName": { - "target": "com.amazonaws.customerprofiles#name", + "ObjectTypeName": { + "target": "com.amazonaws.customerprofiles#typeName", "traits": { - "smithy.api#documentation": "

The unique name of the domain.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The unique name of the object type.

" } }, - "EventStreamName": { + "EventTriggerName": { "target": "com.amazonaws.customerprofiles#name", "traits": { - "smithy.api#documentation": "

The name of the event stream.

", - "smithy.api#required": {} - } - }, - "EventStreamArn": { - "target": "com.amazonaws.customerprofiles#string1To255", - "traits": { - "smithy.api#documentation": "

A unique identifier for the event stream.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The unique name of the event trigger.

" } }, - "State": { - "target": "com.amazonaws.customerprofiles#EventStreamState", + "Description": { + "target": "com.amazonaws.customerprofiles#text", "traits": { - "smithy.api#documentation": "

The operational state of destination stream for export.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The description of the event trigger.

" } }, - "StoppedSince": { + "CreatedAt": { "target": "com.amazonaws.customerprofiles#timestamp", "traits": { - "smithy.api#documentation": "

The timestamp when the State changed to STOPPED.

" + "smithy.api#documentation": "

The timestamp of when the event trigger was created.

" } }, - "DestinationSummary": { - "target": "com.amazonaws.customerprofiles#DestinationSummary", + "LastUpdatedAt": { + "target": "com.amazonaws.customerprofiles#timestamp", "traits": { - "smithy.api#documentation": "

Summary information about the Kinesis data stream.

" + "smithy.api#documentation": "

The timestamp of when the event trigger was most recently updated.

" } }, "Tags": { "target": "com.amazonaws.customerprofiles#TagMap", "traits": { - "smithy.api#documentation": "

The tags used to organize, track, or control access for this resource.

" + "smithy.api#documentation": "

An array of key-value pairs to apply to this resource.

" } } }, "traits": { - "smithy.api#documentation": "

An instance of EventStream in a list of EventStreams.

" + "smithy.api#documentation": "

The summary of the event trigger.

" } }, - "com.amazonaws.customerprofiles#EventStreamSummaryList": { + "com.amazonaws.customerprofiles#EventTriggerSummaryList": { "type": "list", "member": { - "target": "com.amazonaws.customerprofiles#EventStreamSummary" + "target": "com.amazonaws.customerprofiles#EventTriggerSummaryItem" + }, + "traits": { + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.customerprofiles#EventTriggerValues": { + "type": "list", + "member": { + "target": "com.amazonaws.customerprofiles#string1To255" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 10 + } } }, "com.amazonaws.customerprofiles#ExportingConfig": { @@ -4607,7 +5130,7 @@ } }, "traits": { - "smithy.api#documentation": "

Object that segments on various Customer profile's fields that are larger than normal.

" + "smithy.api#documentation": "

Object that segments on various Customer profile's fields that are larger than\n normal.

" } }, "com.amazonaws.customerprofiles#ExtraLengthValues": { @@ -4821,7 +5344,7 @@ "Include": { "target": "com.amazonaws.customerprofiles#Include", "traits": { - "smithy.api#documentation": "

Define whether to include or exclude objects for Calculated Attributed calculation that fit the filter groups criteria.

", + "smithy.api#documentation": "

Define whether to include or exclude objects for Calculated Attributed calculation that\n fit the filter groups criteria.

", "smithy.api#required": {} } }, @@ -4856,7 +5379,7 @@ } }, "traits": { - "smithy.api#documentation": "

Object that defines how to filter the incoming objects for the calculated attribute.

" + "smithy.api#documentation": "

Object that defines how to filter the incoming objects for the calculated\n attribute.

" } }, "com.amazonaws.customerprofiles#FilterDimension": { @@ -5684,6 +6207,126 @@ "smithy.api#output": {} } }, + "com.amazonaws.customerprofiles#GetEventTrigger": { + "type": "operation", + "input": { + "target": "com.amazonaws.customerprofiles#GetEventTriggerRequest" + }, + "output": { + "target": "com.amazonaws.customerprofiles#GetEventTriggerResponse" + }, + "errors": [ + { + "target": "com.amazonaws.customerprofiles#AccessDeniedException" + }, + { + "target": "com.amazonaws.customerprofiles#BadRequestException" + }, + { + "target": "com.amazonaws.customerprofiles#InternalServerException" + }, + { + "target": "com.amazonaws.customerprofiles#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.customerprofiles#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

Get a specific Event Trigger from the domain.

", + "smithy.api#http": { + "method": "GET", + "uri": "/domains/{DomainName}/event-triggers/{EventTriggerName}", + "code": 200 + } + } + }, + "com.amazonaws.customerprofiles#GetEventTriggerRequest": { + "type": "structure", + "members": { + "DomainName": { + "target": "com.amazonaws.customerprofiles#name", + "traits": { + "smithy.api#documentation": "

The unique name of the domain.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "EventTriggerName": { + "target": "com.amazonaws.customerprofiles#name", + "traits": { + "smithy.api#documentation": "

The unique name of the event trigger.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.customerprofiles#GetEventTriggerResponse": { + "type": "structure", + "members": { + "EventTriggerName": { + "target": "com.amazonaws.customerprofiles#name", + "traits": { + "smithy.api#documentation": "

The unique name of the event trigger.

" + } + }, + "ObjectTypeName": { + "target": "com.amazonaws.customerprofiles#typeName", + "traits": { + "smithy.api#documentation": "

The unique name of the object type.

" + } + }, + "Description": { + "target": "com.amazonaws.customerprofiles#sensitiveText", + "traits": { + "smithy.api#documentation": "

The description of the event trigger.

" + } + }, + "EventTriggerConditions": { + "target": "com.amazonaws.customerprofiles#EventTriggerConditions", + "traits": { + "smithy.api#documentation": "

A list of conditions that determine when an event should trigger the destination.

" + } + }, + "SegmentFilter": { + "target": "com.amazonaws.customerprofiles#name", + "traits": { + "smithy.api#documentation": "

The destination is triggered only for profiles that meet the criteria of a segment\n definition.

" + } + }, + "EventTriggerLimits": { + "target": "com.amazonaws.customerprofiles#EventTriggerLimits", + "traits": { + "smithy.api#documentation": "

Defines limits controlling whether an event triggers the destination, based on ingestion latency and the number of invocations per profile over specific time periods.

" + } + }, + "CreatedAt": { + "target": "com.amazonaws.customerprofiles#timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp of when the event trigger was created.

" + } + }, + "LastUpdatedAt": { + "target": "com.amazonaws.customerprofiles#timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp of when the event trigger was most recently updated.

" + } + }, + "Tags": { + "target": "com.amazonaws.customerprofiles#TagMap", + "traits": { + "smithy.api#documentation": "

An array of key-value pairs to apply to this resource.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.customerprofiles#GetIdentityResolutionJob": { "type": "operation", "input": { @@ -5939,6 +6582,12 @@ "traits": { "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the IAM role. The Integration uses this role to make\n Customer Profiles requests on your behalf.

" } + }, + "EventTriggerNames": { + "target": "com.amazonaws.customerprofiles#EventTriggerNames", + "traits": { + "smithy.api#documentation": "

A list of unique names for active event triggers associated with the integration. This\n list would be empty if no Event Trigger is associated with the integration.

" + } } }, "traits": { @@ -6481,7 +7130,7 @@ "EstimateId": { "target": "com.amazonaws.customerprofiles#string1To255", "traits": { - "smithy.api#documentation": "

The QueryId which is the same as the value passed in QueryId.

" + "smithy.api#documentation": "

The QueryId which is the same as the value passed in\n QueryId.

" } }, "Status": { @@ -6605,7 +7254,7 @@ "Failures": { "target": "com.amazonaws.customerprofiles#Failures", "traits": { - "smithy.api#documentation": "

An array of maps where each contains a response per profile failed for the request.

", + "smithy.api#documentation": "

An array of maps where each contains a response per profile failed for the\n request.

", "smithy.api#jsonName": "Failures" } } @@ -6716,19 +7365,19 @@ "EncryptionKey": { "target": "com.amazonaws.customerprofiles#encryptionKey", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the KMS key used to encrypt the exported segment.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the KMS key used to encrypt the exported\n segment.

" } }, "RoleArn": { "target": "com.amazonaws.customerprofiles#RoleArn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the IAM role that allows Customer Profiles service principal to assume the role for conducting KMS and S3 operations.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the IAM role that allows Customer Profiles service\n principal to assume the role for conducting KMS and S3 operations.

" } }, "DestinationUri": { "target": "com.amazonaws.customerprofiles#string1To255", "traits": { - "smithy.api#documentation": "

The destination to which the segment will be exported. This field must be provided if the request is not submitted from the Amazon Connect Admin Website.

" + "smithy.api#documentation": "

The destination to which the segment will be exported. This field must be provided if\n the request is not submitted from the Amazon Connect Admin Website.

" } } }, @@ -7916,7 +8565,97 @@ "NextToken": { "target": "com.amazonaws.customerprofiles#token", "traits": { - "smithy.api#documentation": "

The pagination token from the previous ListDomains API call.

" + "smithy.api#documentation": "

The pagination token from the previous ListDomains API call.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.customerprofiles#ListEventStreams": { + "type": "operation", + "input": { + "target": "com.amazonaws.customerprofiles#ListEventStreamsRequest" + }, + "output": { + "target": "com.amazonaws.customerprofiles#ListEventStreamsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.customerprofiles#AccessDeniedException" + }, + { + "target": "com.amazonaws.customerprofiles#BadRequestException" + }, + { + "target": "com.amazonaws.customerprofiles#InternalServerException" + }, + { + "target": "com.amazonaws.customerprofiles#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.customerprofiles#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

Returns a list of all the event streams in a specific domain.

", + "smithy.api#http": { + "method": "GET", + "uri": "/domains/{DomainName}/event-streams", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "Items", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.customerprofiles#ListEventStreamsRequest": { + "type": "structure", + "members": { + "DomainName": { + "target": "com.amazonaws.customerprofiles#name", + "traits": { + "smithy.api#documentation": "

The unique name of the domain.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "NextToken": { + "target": "com.amazonaws.customerprofiles#token", + "traits": { + "smithy.api#documentation": "

Identifies the next page of results to return.

", + "smithy.api#httpQuery": "next-token" + } + }, + "MaxResults": { + "target": "com.amazonaws.customerprofiles#maxSize100", + "traits": { + "smithy.api#documentation": "

The maximum number of objects returned per page.

", + "smithy.api#httpQuery": "max-results" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.customerprofiles#ListEventStreamsResponse": { + "type": "structure", + "members": { + "Items": { + "target": "com.amazonaws.customerprofiles#EventStreamSummaryList", + "traits": { + "smithy.api#documentation": "

Contains summary information about an EventStream.

" + } + }, + "NextToken": { + "target": "com.amazonaws.customerprofiles#token", + "traits": { + "smithy.api#documentation": "

Identifies the next page of results to return.

" } } }, @@ -7924,13 +8663,13 @@ "smithy.api#output": {} } }, - "com.amazonaws.customerprofiles#ListEventStreams": { + "com.amazonaws.customerprofiles#ListEventTriggers": { "type": "operation", "input": { - "target": "com.amazonaws.customerprofiles#ListEventStreamsRequest" + "target": "com.amazonaws.customerprofiles#ListEventTriggersRequest" }, "output": { - "target": "com.amazonaws.customerprofiles#ListEventStreamsResponse" + "target": "com.amazonaws.customerprofiles#ListEventTriggersResponse" }, "errors": [ { @@ -7950,10 +8689,10 @@ } ], "traits": { - "smithy.api#documentation": "

Returns a list of all the event streams in a specific domain.

", + "smithy.api#documentation": "

List all Event Triggers under a domain.

", "smithy.api#http": { "method": "GET", - "uri": "/domains/{DomainName}/event-streams", + "uri": "/domains/{DomainName}/event-triggers", "code": 200 }, "smithy.api#paginated": { @@ -7964,7 +8703,7 @@ } } }, - "com.amazonaws.customerprofiles#ListEventStreamsRequest": { + "com.amazonaws.customerprofiles#ListEventTriggersRequest": { "type": "structure", "members": { "DomainName": { @@ -7978,14 +8717,14 @@ "NextToken": { "target": "com.amazonaws.customerprofiles#token", "traits": { - "smithy.api#documentation": "

Identifies the next page of results to return.

", + "smithy.api#documentation": "

The pagination token to use with ListEventTriggers.

", "smithy.api#httpQuery": "next-token" } }, "MaxResults": { "target": "com.amazonaws.customerprofiles#maxSize100", "traits": { - "smithy.api#documentation": "

The maximum number of objects returned per page.

", + "smithy.api#documentation": "

The maximum number of results to return per page.

", "smithy.api#httpQuery": "max-results" } } @@ -7994,19 +8733,19 @@ "smithy.api#input": {} } }, - "com.amazonaws.customerprofiles#ListEventStreamsResponse": { + "com.amazonaws.customerprofiles#ListEventTriggersResponse": { "type": "structure", "members": { "Items": { - "target": "com.amazonaws.customerprofiles#EventStreamSummaryList", + "target": "com.amazonaws.customerprofiles#EventTriggerSummaryList", "traits": { - "smithy.api#documentation": "

Contains summary information about an EventStream.

" + "smithy.api#documentation": "

The list of Event Triggers.

" } }, "NextToken": { "target": "com.amazonaws.customerprofiles#token", "traits": { - "smithy.api#documentation": "

Identifies the next page of results to return.

" + "smithy.api#documentation": "

The pagination token from the previous call to ListEventTriggers.

" } } }, @@ -8164,6 +8903,12 @@ "traits": { "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the IAM role. The Integration uses this role to make\n Customer Profiles requests on your behalf.

" } + }, + "EventTriggerNames": { + "target": "com.amazonaws.customerprofiles#EventTriggerNames", + "traits": { + "smithy.api#documentation": "

A list of unique names for active event triggers associated with the integration.

" + } } }, "traits": { @@ -9604,6 +10349,52 @@ "smithy.api#pattern": "^\\S+$" } }, + "com.amazonaws.customerprofiles#ObjectAttribute": { + "type": "structure", + "members": { + "Source": { + "target": "com.amazonaws.customerprofiles#text", + "traits": { + "smithy.api#documentation": "

An attribute contained within a source object.

" + } + }, + "FieldName": { + "target": "com.amazonaws.customerprofiles#fieldName", + "traits": { + "smithy.api#documentation": "

A field defined within an object type.

" + } + }, + "ComparisonOperator": { + "target": "com.amazonaws.customerprofiles#ComparisonOperator", + "traits": { + "smithy.api#documentation": "

The operator used to compare an attribute against a list of values.

", + "smithy.api#required": {} + } + }, + "Values": { + "target": "com.amazonaws.customerprofiles#EventTriggerValues", + "traits": { + "smithy.api#documentation": "

A list of attribute values used for comparison.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

The criteria that a specific object attribute must meet to trigger the destination.

" + } + }, + "com.amazonaws.customerprofiles#ObjectAttributes": { + "type": "list", + "member": { + "target": "com.amazonaws.customerprofiles#ObjectAttribute" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 10 + } + } + }, "com.amazonaws.customerprofiles#ObjectCount": { "type": "integer", "traits": { @@ -9854,6 +10645,82 @@ "smithy.api#sensitive": {} } }, + "com.amazonaws.customerprofiles#Period": { + "type": "structure", + "members": { + "Unit": { + "target": "com.amazonaws.customerprofiles#PeriodUnit", + "traits": { + "smithy.api#documentation": "

The unit of time.

", + "smithy.api#required": {} + } + }, + "Value": { + "target": "com.amazonaws.customerprofiles#maxSize24", + "traits": { + "smithy.api#documentation": "

The amount of time of the specified unit.

", + "smithy.api#required": {} + } + }, + "MaxInvocationsPerProfile": { + "target": "com.amazonaws.customerprofiles#maxSize1000", + "traits": { + "smithy.api#documentation": "

The maximum allowed number of destination invocations per profile.

" + } + }, + "Unlimited": { + "target": "com.amazonaws.customerprofiles#boolean", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

If set to true, there is no limit on the number of destination invocations per profile. The default is false.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Defines a limit and the time period during which it is enforced.

" + } + }, + "com.amazonaws.customerprofiles#PeriodUnit": { + "type": "enum", + "members": { + "HOURS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "HOURS" + } + }, + "DAYS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DAYS" + } + }, + "WEEKS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "WEEKS" + } + }, + "MONTHS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "MONTHS" + } + } + } + }, + "com.amazonaws.customerprofiles#Periods": { + "type": "list", + "member": { + "target": "com.amazonaws.customerprofiles#Period" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 4 + } + } + }, "com.amazonaws.customerprofiles#PhoneNumberList": { "type": "list", "member": { @@ -10479,6 +11346,12 @@ "traits": { "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the IAM role. The Integration uses this role to make\n Customer Profiles requests on your behalf.

" } + }, + "EventTriggerNames": { + "target": "com.amazonaws.customerprofiles#EventTriggerNames", + "traits": { + "smithy.api#documentation": "

A list of unique names for active event triggers associated with the integration.

" + } } }, "traits": { @@ -10551,6 +11424,12 @@ "traits": { "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the IAM role. The Integration uses this role to make\n Customer Profiles requests on your behalf.

" } + }, + "EventTriggerNames": { + "target": "com.amazonaws.customerprofiles#EventTriggerNames", + "traits": { + "smithy.api#documentation": "

A list of unique names for active event triggers associated with the integration. This\n list would be empty if no Event Trigger is associated with the integration.

" + } } }, "traits": { @@ -13027,6 +13906,156 @@ "smithy.api#output": {} } }, + "com.amazonaws.customerprofiles#UpdateEventTrigger": { + "type": "operation", + "input": { + "target": "com.amazonaws.customerprofiles#UpdateEventTriggerRequest" + }, + "output": { + "target": "com.amazonaws.customerprofiles#UpdateEventTriggerResponse" + }, + "errors": [ + { + "target": "com.amazonaws.customerprofiles#AccessDeniedException" + }, + { + "target": "com.amazonaws.customerprofiles#BadRequestException" + }, + { + "target": "com.amazonaws.customerprofiles#InternalServerException" + }, + { + "target": "com.amazonaws.customerprofiles#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.customerprofiles#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

Update the properties of an Event Trigger.

", + "smithy.api#http": { + "method": "PUT", + "uri": "/domains/{DomainName}/event-triggers/{EventTriggerName}", + "code": 200 + } + } + }, + "com.amazonaws.customerprofiles#UpdateEventTriggerRequest": { + "type": "structure", + "members": { + "DomainName": { + "target": "com.amazonaws.customerprofiles#name", + "traits": { + "smithy.api#documentation": "

The unique name of the domain.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "EventTriggerName": { + "target": "com.amazonaws.customerprofiles#name", + "traits": { + "smithy.api#documentation": "

The unique name of the event trigger.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "ObjectTypeName": { + "target": "com.amazonaws.customerprofiles#typeName", + "traits": { + "smithy.api#documentation": "

The unique name of the object type.

" + } + }, + "Description": { + "target": "com.amazonaws.customerprofiles#sensitiveText", + "traits": { + "smithy.api#documentation": "

The description of the event trigger.

" + } + }, + "EventTriggerConditions": { + "target": "com.amazonaws.customerprofiles#EventTriggerConditions", + "traits": { + "smithy.api#documentation": "

A list of conditions that determine when an event should trigger the destination.

" + } + }, + "SegmentFilter": { + "target": "com.amazonaws.customerprofiles#name", + "traits": { + "smithy.api#documentation": "

The destination is triggered only for profiles that meet the criteria of a segment\n definition.

" + } + }, + "EventTriggerLimits": { + "target": "com.amazonaws.customerprofiles#EventTriggerLimits", + "traits": { + "smithy.api#documentation": "

Defines limits controlling whether an event triggers the destination, based on ingestion latency and the number of invocations per profile over specific time periods.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.customerprofiles#UpdateEventTriggerResponse": { + "type": "structure", + "members": { + "EventTriggerName": { + "target": "com.amazonaws.customerprofiles#name", + "traits": { + "smithy.api#documentation": "

The unique name of the event trigger.

" + } + }, + "ObjectTypeName": { + "target": "com.amazonaws.customerprofiles#typeName", + "traits": { + "smithy.api#documentation": "

The unique name of the object type.

" + } + }, + "Description": { + "target": "com.amazonaws.customerprofiles#sensitiveText", + "traits": { + "smithy.api#documentation": "

The description of the event trigger.

" + } + }, + "EventTriggerConditions": { + "target": "com.amazonaws.customerprofiles#EventTriggerConditions", + "traits": { + "smithy.api#documentation": "

A list of conditions that determine when an event should trigger the destination.

" + } + }, + "SegmentFilter": { + "target": "com.amazonaws.customerprofiles#name", + "traits": { + "smithy.api#documentation": "

The destination is triggered only for profiles that meet the criteria of a segment\n definition.

" + } + }, + "EventTriggerLimits": { + "target": "com.amazonaws.customerprofiles#EventTriggerLimits", + "traits": { + "smithy.api#documentation": "

Defines limits controlling whether an event triggers the destination, based on ingestion latency and the number of invocations per profile over specific time periods.

" + } + }, + "CreatedAt": { + "target": "com.amazonaws.customerprofiles#timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp of when the event trigger was created.

" + } + }, + "LastUpdatedAt": { + "target": "com.amazonaws.customerprofiles#timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp of when the event trigger was most recently updated.

" + } + }, + "Tags": { + "target": "com.amazonaws.customerprofiles#TagMap", + "traits": { + "smithy.api#documentation": "

An array of key-value pairs to apply to this resource.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.customerprofiles#UpdateProfile": { "type": "operation", "input": { @@ -13495,6 +14524,16 @@ } } }, + "com.amazonaws.customerprofiles#fieldName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 64 + }, + "smithy.api#pattern": "^[a-zA-Z0-9_.-]+$" + } + }, "com.amazonaws.customerprofiles#foundByList": { "type": "list", "member": { @@ -13547,6 +14586,24 @@ } } }, + "com.amazonaws.customerprofiles#maxSize1000": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 1, + "max": 1000 + } + } + }, + "com.amazonaws.customerprofiles#maxSize24": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 1, + "max": 24 + } + } + }, "com.amazonaws.customerprofiles#message": { "type": "string" }, @@ -13579,6 +14636,9 @@ "com.amazonaws.customerprofiles#optionalBoolean": { "type": "boolean" }, + "com.amazonaws.customerprofiles#optionalLong": { + "type": "long" + }, "com.amazonaws.customerprofiles#requestValueList": { "type": "list", "member": { diff --git a/codegen/sdk/aws-models/ec2.json b/codegen/sdk/aws-models/ec2.json index 8ec30c6846a..c84199fffc6 100644 --- a/codegen/sdk/aws-models/ec2.json +++ b/codegen/sdk/aws-models/ec2.json @@ -2091,6 +2091,34 @@ } } }, + "com.amazonaws.ec2#AllowedImagesSettingsDisabledState": { + "type": "enum", + "members": { + "disabled": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "disabled" + } + } + } + }, + "com.amazonaws.ec2#AllowedImagesSettingsEnabledState": { + "type": "enum", + "members": { + "enabled": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "enabled" + } + }, + "audit_mode": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "audit-mode" + } + } + } + }, "com.amazonaws.ec2#AllowedInstanceType": { "type": "string", "traits": { @@ -2371,6 +2399,9 @@ { "target": "com.amazonaws.ec2#CancelConversionTask" }, + { + "target": "com.amazonaws.ec2#CancelDeclarativePoliciesReport" + }, { "target": "com.amazonaws.ec2#CancelExportTask" }, @@ -2983,6 +3014,9 @@ { "target": "com.amazonaws.ec2#DescribeCustomerGateways" }, + { + "target": "com.amazonaws.ec2#DescribeDeclarativePoliciesReports" + }, { "target": "com.amazonaws.ec2#DescribeDhcpOptions" }, @@ -3355,6 +3389,9 @@ { "target": "com.amazonaws.ec2#DescribeVpcClassicLinkDnsSupport" }, + { + "target": "com.amazonaws.ec2#DescribeVpcEndpointAssociations" + }, { "target": "com.amazonaws.ec2#DescribeVpcEndpointConnectionNotifications" }, @@ -3406,6 +3443,9 @@ { "target": "com.amazonaws.ec2#DisableAddressTransfer" }, + { + "target": "com.amazonaws.ec2#DisableAllowedImagesSettings" + }, { "target": "com.amazonaws.ec2#DisableAwsNetworkPerformanceMetricSubscription" }, @@ -3505,6 +3545,9 @@ { "target": "com.amazonaws.ec2#EnableAddressTransfer" }, + { + "target": "com.amazonaws.ec2#EnableAllowedImagesSettings" + }, { "target": "com.amazonaws.ec2#EnableAwsNetworkPerformanceMetricSubscription" }, @@ -3568,6 +3611,12 @@ { "target": "com.amazonaws.ec2#ExportTransitGatewayRoutes" }, + { + "target": "com.amazonaws.ec2#ExportVerifiedAccessInstanceClientConfiguration" + }, + { + "target": "com.amazonaws.ec2#GetAllowedImagesSettings" + }, { "target": "com.amazonaws.ec2#GetAssociatedEnclaveCertificateIamRoles" }, @@ -3589,6 +3638,9 @@ { "target": "com.amazonaws.ec2#GetConsoleScreenshot" }, + { + "target": "com.amazonaws.ec2#GetDeclarativePoliciesReportSummary" + }, { "target": "com.amazonaws.ec2#GetDefaultCreditSpecification" }, @@ -3703,6 +3755,9 @@ { "target": "com.amazonaws.ec2#GetVerifiedAccessEndpointPolicy" }, + { + "target": "com.amazonaws.ec2#GetVerifiedAccessEndpointTargets" + }, { "target": "com.amazonaws.ec2#GetVerifiedAccessGroupPolicy" }, @@ -4030,6 +4085,9 @@ { "target": "com.amazonaws.ec2#ReplaceIamInstanceProfileAssociation" }, + { + "target": "com.amazonaws.ec2#ReplaceImageCriteriaInAllowedImagesSettings" + }, { "target": "com.amazonaws.ec2#ReplaceNetworkAclAssociation" }, @@ -4120,6 +4178,9 @@ { "target": "com.amazonaws.ec2#SendDiagnosticInterrupt" }, + { + "target": "com.amazonaws.ec2#StartDeclarativePoliciesReport" + }, { "target": "com.amazonaws.ec2#StartInstances" }, @@ -8413,6 +8474,63 @@ "smithy.api#documentation": "

Describes a value for a resource attribute that is a Boolean value.

" } }, + "com.amazonaws.ec2#AttributeSummary": { + "type": "structure", + "members": { + "AttributeName": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "AttributeName", + "smithy.api#documentation": "

The name of the attribute.

", + "smithy.api#xmlName": "attributeName" + } + }, + "MostFrequentValue": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "MostFrequentValue", + "smithy.api#documentation": "

The configuration value that is most frequently observed for the attribute.

", + "smithy.api#xmlName": "mostFrequentValue" + } + }, + "NumberOfMatchedAccounts": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "NumberOfMatchedAccounts", + "smithy.api#documentation": "

The number of accounts with the same configuration value for the attribute that is\n most frequently observed.

", + "smithy.api#xmlName": "numberOfMatchedAccounts" + } + }, + "NumberOfUnmatchedAccounts": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "NumberOfUnmatchedAccounts", + "smithy.api#documentation": "

The number of accounts with a configuration value different from the most frequently\n observed value for the attribute.

", + "smithy.api#xmlName": "numberOfUnmatchedAccounts" + } + }, + "RegionalSummaries": { + "target": "com.amazonaws.ec2#RegionalSummaryList", + "traits": { + "aws.protocols#ec2QueryName": "RegionalSummarySet", + "smithy.api#documentation": "

The summary report for each Region for the attribute.

", + "smithy.api#xmlName": "regionalSummarySet" + } + } + }, + "traits": { + "smithy.api#documentation": "

A summary report for the attribute across all Regions.

" + } + }, + "com.amazonaws.ec2#AttributeSummaryList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#AttributeSummary", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, "com.amazonaws.ec2#AttributeValue": { "type": "structure", "members": { @@ -10271,6 +10389,56 @@ "smithy.api#documentation": "

Cancels an active conversion task. The task can be the import of an instance or volume. The action removes all\n artifacts of the conversion, including a partially uploaded volume or instance. If the conversion is complete or is\n in the process of transferring the final disk image, the command fails and returns an exception.

" } }, + "com.amazonaws.ec2#CancelDeclarativePoliciesReport": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#CancelDeclarativePoliciesReportRequest" + }, + "output": { + "target": "com.amazonaws.ec2#CancelDeclarativePoliciesReportResult" + }, + "traits": { + "smithy.api#documentation": "

Cancels the generation of an account status report.

\n

You can only cancel a report while it has the running status. Reports\n with other statuses (complete, cancelled, or\n error) can't be canceled.

\n

For more information, see Generating the account status report for declarative policies in the\n Amazon Web Services Organizations User Guide.

" + } + }, + "com.amazonaws.ec2#CancelDeclarativePoliciesReportRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + } + }, + "ReportId": { + "target": "com.amazonaws.ec2#DeclarativePoliciesReportId", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the report.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#CancelDeclarativePoliciesReportResult": { + "type": "structure", + "members": { + "Return": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "Return", + "smithy.api#documentation": "

Is true if the request succeeds, and an error otherwise.

", + "smithy.api#xmlName": "return" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.ec2#CancelExportTask": { "type": "operation", "input": { @@ -21435,6 +21603,40 @@ "smithy.api#documentation": "

An Amazon Web Services Verified Access endpoint is where you define your application along with an optional endpoint-level access policy.

" } }, + "com.amazonaws.ec2#CreateVerifiedAccessEndpointCidrOptions": { + "type": "structure", + "members": { + "Protocol": { + "target": "com.amazonaws.ec2#VerifiedAccessEndpointProtocol", + "traits": { + "smithy.api#documentation": "

The protocol.

" + } + }, + "SubnetIds": { + "target": "com.amazonaws.ec2#CreateVerifiedAccessEndpointSubnetIdList", + "traits": { + "smithy.api#documentation": "

The IDs of the subnets.

", + "smithy.api#xmlName": "SubnetId" + } + }, + "Cidr": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The CIDR.

" + } + }, + "PortRanges": { + "target": "com.amazonaws.ec2#CreateVerifiedAccessEndpointPortRangeList", + "traits": { + "smithy.api#documentation": "

The port ranges.

", + "smithy.api#xmlName": "PortRange" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes the CIDR options for a Verified Access endpoint.

" + } + }, "com.amazonaws.ec2#CreateVerifiedAccessEndpointEniOptions": { "type": "structure", "members": { @@ -21455,6 +21657,13 @@ "traits": { "smithy.api#documentation": "

The IP port number.

" } + }, + "PortRanges": { + "target": "com.amazonaws.ec2#CreateVerifiedAccessEndpointPortRangeList", + "traits": { + "smithy.api#documentation": "

The port ranges.

", + "smithy.api#xmlName": "PortRange" + } } }, "traits": { @@ -21488,12 +21697,99 @@ "smithy.api#documentation": "

The IDs of the subnets.

", "smithy.api#xmlName": "SubnetId" } + }, + "PortRanges": { + "target": "com.amazonaws.ec2#CreateVerifiedAccessEndpointPortRangeList", + "traits": { + "smithy.api#documentation": "

The port ranges.

", + "smithy.api#xmlName": "PortRange" + } } }, "traits": { "smithy.api#documentation": "

Describes the load balancer options when creating an Amazon Web Services Verified Access endpoint using the\n load-balancer type.

" } }, + "com.amazonaws.ec2#CreateVerifiedAccessEndpointPortRange": { + "type": "structure", + "members": { + "FromPort": { + "target": "com.amazonaws.ec2#VerifiedAccessEndpointPortNumber", + "traits": { + "smithy.api#documentation": "

The start of the port range.

" + } + }, + "ToPort": { + "target": "com.amazonaws.ec2#VerifiedAccessEndpointPortNumber", + "traits": { + "smithy.api#documentation": "

The end of the port range.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes the port range for a Verified Access endpoint.

" + } + }, + "com.amazonaws.ec2#CreateVerifiedAccessEndpointPortRangeList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#CreateVerifiedAccessEndpointPortRange", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#CreateVerifiedAccessEndpointRdsOptions": { + "type": "structure", + "members": { + "Protocol": { + "target": "com.amazonaws.ec2#VerifiedAccessEndpointProtocol", + "traits": { + "smithy.api#documentation": "

The protocol.

" + } + }, + "Port": { + "target": "com.amazonaws.ec2#VerifiedAccessEndpointPortNumber", + "traits": { + "smithy.api#documentation": "

The port.

" + } + }, + "RdsDbInstanceArn": { + "target": "com.amazonaws.ec2#RdsDbInstanceArn", + "traits": { + "smithy.api#documentation": "

The ARN of the RDS instance.

" + } + }, + "RdsDbClusterArn": { + "target": "com.amazonaws.ec2#RdsDbClusterArn", + "traits": { + "smithy.api#documentation": "

The ARN of the DB cluster.

" + } + }, + "RdsDbProxyArn": { + "target": "com.amazonaws.ec2#RdsDbProxyArn", + "traits": { + "smithy.api#documentation": "

The ARN of the RDS proxy.

" + } + }, + "RdsEndpoint": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The RDS endpoint.

" + } + }, + "SubnetIds": { + "target": "com.amazonaws.ec2#CreateVerifiedAccessEndpointSubnetIdList", + "traits": { + "smithy.api#documentation": "

The IDs of the subnets.

", + "smithy.api#xmlName": "SubnetId" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes the RDS options for a Verified Access endpoint.

" + } + }, "com.amazonaws.ec2#CreateVerifiedAccessEndpointRequest": { "type": "structure", "members": { @@ -21524,25 +21820,19 @@ "DomainCertificateArn": { "target": "com.amazonaws.ec2#CertificateArn", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ARN of the public TLS/SSL certificate in Amazon Web Services Certificate Manager to associate with the endpoint.\n The CN in the certificate must match the DNS name your end users will use to reach your\n application.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The ARN of the public TLS/SSL certificate in Amazon Web Services Certificate Manager to associate with the endpoint.\n The CN in the certificate must match the DNS name your end users will use to reach your\n application.

" } }, "ApplicationDomain": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The DNS name for users to reach your application.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The DNS name for users to reach your application.

" } }, "EndpointDomainPrefix": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

A custom identifier that is prepended to the DNS name that is generated for the\n endpoint.

", - "smithy.api#required": {} + "smithy.api#documentation": "

A custom identifier that is prepended to the DNS name that is generated for the\n endpoint.

" } }, "SecurityGroupIds": { @@ -21601,6 +21891,18 @@ "traits": { "smithy.api#documentation": "

The options for server side encryption.

" } + }, + "RdsOptions": { + "target": "com.amazonaws.ec2#CreateVerifiedAccessEndpointRdsOptions", + "traits": { + "smithy.api#documentation": "

The RDS details. This parameter is required if the endpoint type is rds.

" + } + }, + "CidrOptions": { + "target": "com.amazonaws.ec2#CreateVerifiedAccessEndpointCidrOptions", + "traits": { + "smithy.api#documentation": "

The CIDR options. This parameter is required if the endpoint type is cidr.

" + } } }, "traits": { @@ -21760,6 +22062,12 @@ "traits": { "smithy.api#documentation": "

Enable or disable support for Federal Information Processing Standards (FIPS) on the instance.

" } + }, + "CidrEndpointsCustomSubDomain": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The custom subdomain.

" + } } }, "traits": { @@ -21782,6 +22090,62 @@ "smithy.api#output": {} } }, + "com.amazonaws.ec2#CreateVerifiedAccessNativeApplicationOidcOptions": { + "type": "structure", + "members": { + "PublicSigningKeyEndpoint": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The public signing key endpoint.

" + } + }, + "Issuer": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The OIDC issuer identifier of the IdP.

" + } + }, + "AuthorizationEndpoint": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The authorization endpoint of the IdP.

" + } + }, + "TokenEndpoint": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The token endpoint of the IdP.

" + } + }, + "UserInfoEndpoint": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The user info endpoint of the IdP.

" + } + }, + "ClientId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The OAuth 2.0 client identifier.

" + } + }, + "ClientSecret": { + "target": "com.amazonaws.ec2#ClientSecretType", + "traits": { + "smithy.api#documentation": "

The OAuth 2.0 client secret.

" + } + }, + "Scope": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The set of user claims to be requested from the IdP.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes the OpenID Connect (OIDC) options.

" + } + }, "com.amazonaws.ec2#CreateVerifiedAccessTrustProvider": { "type": "operation", "input": { @@ -21938,6 +22302,12 @@ "traits": { "smithy.api#documentation": "

The options for server side encryption.

" } + }, + "NativeApplicationOidcOptions": { + "target": "com.amazonaws.ec2#CreateVerifiedAccessNativeApplicationOidcOptions", + "traits": { + "smithy.api#documentation": "

The OpenID Connect (OIDC) options.

" + } } }, "traits": { @@ -22390,9 +22760,7 @@ "ServiceName": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The name of the endpoint service.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The name of the endpoint service.

" } }, "PolicyDocument": { @@ -22460,6 +22828,18 @@ "smithy.api#xmlName": "SubnetConfiguration" } }, + "ServiceNetworkArn": { + "target": "com.amazonaws.ec2#ServiceNetworkArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of a service network that will be associated with the VPC\n endpoint of type service-network.

" + } + }, + "ResourceConfigurationArn": { + "target": "com.amazonaws.ec2#ResourceConfigurationArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of a resource configuration that will be associated with\n the VPC endpoint of type resource.

" + } + }, "ServiceRegion": { "target": "com.amazonaws.ec2#String", "traits": { @@ -23291,6 +23671,99 @@ "com.amazonaws.ec2#DateTime": { "type": "timestamp" }, + "com.amazonaws.ec2#DeclarativePoliciesMaxResults": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 1, + "max": 1000 + } + } + }, + "com.amazonaws.ec2#DeclarativePoliciesReport": { + "type": "structure", + "members": { + "ReportId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "ReportId", + "smithy.api#documentation": "

The ID of the report.

", + "smithy.api#xmlName": "reportId" + } + }, + "S3Bucket": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "S3Bucket", + "smithy.api#documentation": "

The name of the Amazon S3 bucket where the report is located.

", + "smithy.api#xmlName": "s3Bucket" + } + }, + "S3Prefix": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "S3Prefix", + "smithy.api#documentation": "

The prefix for your S3 object.

", + "smithy.api#xmlName": "s3Prefix" + } + }, + "TargetId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "TargetId", + "smithy.api#documentation": "

The root ID, organizational unit ID, or account ID.

\n

Format:

\n
    \n
  • \n

    For root: r-ab12\n

    \n
  • \n
  • \n

    For OU: ou-ab12-cdef1234\n

    \n
  • \n
  • \n

    For account: 123456789012\n

    \n
  • \n
", + "smithy.api#xmlName": "targetId" + } + }, + "StartTime": { + "target": "com.amazonaws.ec2#MillisecondDateTime", + "traits": { + "aws.protocols#ec2QueryName": "StartTime", + "smithy.api#documentation": "

The time when the report generation started.

", + "smithy.api#xmlName": "startTime" + } + }, + "EndTime": { + "target": "com.amazonaws.ec2#MillisecondDateTime", + "traits": { + "aws.protocols#ec2QueryName": "EndTime", + "smithy.api#documentation": "

The time when the report generation ended.

", + "smithy.api#xmlName": "endTime" + } + }, + "Status": { + "target": "com.amazonaws.ec2#ReportState", + "traits": { + "aws.protocols#ec2QueryName": "Status", + "smithy.api#documentation": "

The current status of the report.

", + "smithy.api#xmlName": "status" + } + }, + "Tags": { + "target": "com.amazonaws.ec2#TagList", + "traits": { + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

Any tags assigned to the report.

", + "smithy.api#xmlName": "tagSet" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes the metadata of the account status report.

" + } + }, + "com.amazonaws.ec2#DeclarativePoliciesReportId": { + "type": "string" + }, + "com.amazonaws.ec2#DeclarativePoliciesReportList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#DeclarativePoliciesReport", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, "com.amazonaws.ec2#DedicatedHostFlag": { "type": "boolean" }, @@ -30490,6 +30963,75 @@ "smithy.api#output": {} } }, + "com.amazonaws.ec2#DescribeDeclarativePoliciesReports": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#DescribeDeclarativePoliciesReportsRequest" + }, + "output": { + "target": "com.amazonaws.ec2#DescribeDeclarativePoliciesReportsResult" + }, + "traits": { + "smithy.api#documentation": "

Describes the metadata of an account status report, including the status of the\n report.

\n

To view the full report, download it from the Amazon S3 bucket where it was saved.\n Reports are accessible only when they have the complete status. Reports\n with other statuses (running, cancelled, or\n error) are not available in the S3 bucket. For more information about\n downloading objects from an S3 bucket, see Downloading objects in\n the Amazon Simple Storage Service User Guide.

\n

For more information, see Generating the account status report for declarative policies in the\n Amazon Web Services Organizations User Guide.

" + } + }, + "com.amazonaws.ec2#DescribeDeclarativePoliciesReportsRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

" + } + }, + "MaxResults": { + "target": "com.amazonaws.ec2#DeclarativePoliciesMaxResults", + "traits": { + "smithy.api#documentation": "

The maximum number of items to return for this request.\n\tTo get the next page of items, make another request with the token returned in the output.\n\tFor more information, see Pagination.

" + } + }, + "ReportIds": { + "target": "com.amazonaws.ec2#ValueStringList", + "traits": { + "smithy.api#documentation": "

One or more report IDs.

", + "smithy.api#xmlName": "ReportId" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#DescribeDeclarativePoliciesReportsResult": { + "type": "structure", + "members": { + "NextToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token to include in another request to get the next page of items. This value is null when there are no more items to return.

", + "smithy.api#xmlName": "nextToken" + } + }, + "Reports": { + "target": "com.amazonaws.ec2#DeclarativePoliciesReportList", + "traits": { + "aws.protocols#ec2QueryName": "ReportSet", + "smithy.api#documentation": "

The report metadata.

", + "smithy.api#xmlName": "reportSet" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.ec2#DescribeDhcpOptions": { "type": "operation", "input": { @@ -32496,7 +33038,7 @@ "target": "com.amazonaws.ec2#DescribeImagesResult" }, "traits": { - "smithy.api#documentation": "

Describes the specified images (AMIs, AKIs, and ARIs) available to you or all of the\n images available to you.

\n

The images available to you include public images, private images that you own, and\n private images owned by other Amazon Web Services accounts for which you have explicit launch\n permissions.

\n

Recently deregistered images appear in the returned results for a short interval and then\n return empty results. After all instances that reference a deregistered AMI are terminated,\n specifying the ID of the image will eventually return an error indicating that the AMI ID\n cannot be found.

\n \n

We strongly recommend using only paginated requests. Unpaginated requests are\n susceptible to throttling and timeouts.

\n
\n \n

The order of the elements in the response, including those within nested structures,\n might vary. Applications should not assume the elements appear in a particular order.

\n
", + "smithy.api#documentation": "

Describes the specified images (AMIs, AKIs, and ARIs) available to you or all of the\n images available to you.

\n

The images available to you include public images, private images that you own, and\n private images owned by other Amazon Web Services accounts for which you have explicit launch\n permissions.

\n

Recently deregistered images appear in the returned results for a short interval and then\n return empty results. After all instances that reference a deregistered AMI are terminated,\n specifying the ID of the image will eventually return an error indicating that the AMI ID\n cannot be found.

\n

When Allowed AMIs is set to enabled, only allowed images are returned in the\n results, with the imageAllowed field set to true for each image. In\n audit-mode, the imageAllowed field is set to true for\n images that meet the account's Allowed AMIs criteria, and false for images that\n don't meet the criteria. For more information, see EnableAllowedImagesSettings.

\n \n

We strongly recommend using only paginated requests. Unpaginated requests are\n susceptible to throttling and timeouts.

\n
\n \n

The order of the elements in the response, including those within nested structures,\n might vary. Applications should not assume the elements appear in a particular order.

\n
", "smithy.api#examples": [ { "title": "To describe an AMI", @@ -32657,7 +33199,7 @@ "Filters": { "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

The filters.

\n
    \n
  • \n

    \n architecture - The image architecture (i386 |\n x86_64 | arm64 | x86_64_mac |\n arm64_mac).

    \n
  • \n
  • \n

    \n block-device-mapping.delete-on-termination - A Boolean value that indicates\n whether the Amazon EBS volume is deleted on instance termination.

    \n
  • \n
  • \n

    \n block-device-mapping.device-name - The device name specified in the block\n device mapping (for example, /dev/sdh or xvdh).

    \n
  • \n
  • \n

    \n block-device-mapping.snapshot-id - The ID of the snapshot used for the Amazon EBS\n volume.

    \n
  • \n
  • \n

    \n block-device-mapping.volume-size - The volume size of the Amazon EBS volume, in\n GiB.

    \n
  • \n
  • \n

    \n block-device-mapping.volume-type - The volume type of the Amazon EBS volume\n (io1 | io2 | gp2 | gp3 | sc1\n | st1 | standard).

    \n
  • \n
  • \n

    \n block-device-mapping.encrypted - A Boolean that indicates whether the Amazon EBS\n volume is encrypted.

    \n
  • \n
  • \n

    \n creation-date - The time when the image was created, in the ISO 8601\n format in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ), for example,\n 2021-09-29T11:04:43.305Z. You can use a wildcard (*), for\n example, 2021-09-29T*, which matches an entire day.

    \n
  • \n
  • \n

    \n description - The description of the image (provided during image\n creation).

    \n
  • \n
  • \n

    \n ena-support - A Boolean that indicates whether enhanced networking with\n ENA is enabled.

    \n
  • \n
  • \n

    \n hypervisor - The hypervisor type (ovm |\n xen).

    \n
  • \n
  • \n

    \n image-id - The ID of the image.

    \n
  • \n
  • \n

    \n image-type - The image type (machine | kernel |\n ramdisk).

    \n
  • \n
  • \n

    \n is-public - A Boolean that indicates whether the image is public.

    \n
  • \n
  • \n

    \n kernel-id - The kernel ID.

    \n
  • \n
  • \n

    \n manifest-location - The location of the image manifest.

    \n
  • \n
  • \n

    \n name - The name of the AMI (provided during image creation).

    \n
  • \n
  • \n

    \n owner-alias - The owner alias (amazon |\n aws-backup-vault | aws-marketplace). The valid aliases are\n defined in an Amazon-maintained list. This is not the Amazon Web Services account alias\n that can be set using the IAM console. We recommend that you use the Owner request parameter instead of this filter.

    \n
  • \n
  • \n

    \n owner-id - The Amazon Web Services account ID of the owner. We recommend\n that you use the Owner request parameter instead of this\n filter.

    \n
  • \n
  • \n

    \n platform - The platform. The only supported value is\n windows.

    \n
  • \n
  • \n

    \n product-code - The product code.

    \n
  • \n
  • \n

    \n product-code.type - The type of the product code\n (marketplace).

    \n
  • \n
  • \n

    \n ramdisk-id - The RAM disk ID.

    \n
  • \n
  • \n

    \n root-device-name - The device name of the root device volume (for example,\n /dev/sda1).

    \n
  • \n
  • \n

    \n root-device-type - The type of the root device volume (ebs |\n instance-store).

    \n
  • \n
  • \n

    \n source-instance-id - The ID of the instance that the AMI was created from\n if the AMI was created using CreateImage. This filter is applicable only if the AMI was\n created using CreateImage.

    \n
  • \n
  • \n

    \n state - The state of the image (available | pending\n | failed).

    \n
  • \n
  • \n

    \n state-reason-code - The reason code for the state change.

    \n
  • \n
  • \n

    \n state-reason-message - The message for the state change.

    \n
  • \n
  • \n

    \n sriov-net-support - A value of simple indicates that\n enhanced networking with the Intel 82599 VF interface is enabled.

    \n
  • \n
  • \n

    \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    \n
  • \n
  • \n

    \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

    \n
  • \n
  • \n

    \n virtualization-type - The virtualization type (paravirtual |\n hvm).

    \n
  • \n
", + "smithy.api#documentation": "

The filters.

\n
    \n
  • \n

    \n architecture - The image architecture (i386 |\n x86_64 | arm64 | x86_64_mac |\n arm64_mac).

    \n
  • \n
  • \n

    \n block-device-mapping.delete-on-termination - A Boolean value that indicates\n whether the Amazon EBS volume is deleted on instance termination.

    \n
  • \n
  • \n

    \n block-device-mapping.device-name - The device name specified in the block\n device mapping (for example, /dev/sdh or xvdh).

    \n
  • \n
  • \n

    \n block-device-mapping.snapshot-id - The ID of the snapshot used for the Amazon EBS\n volume.

    \n
  • \n
  • \n

    \n block-device-mapping.volume-size - The volume size of the Amazon EBS volume, in\n GiB.

    \n
  • \n
  • \n

    \n block-device-mapping.volume-type - The volume type of the Amazon EBS volume\n (io1 | io2 | gp2 | gp3 | sc1\n | st1 | standard).

    \n
  • \n
  • \n

    \n block-device-mapping.encrypted - A Boolean that indicates whether the Amazon EBS\n volume is encrypted.

    \n
  • \n
  • \n

    \n creation-date - The time when the image was created, in the ISO 8601\n format in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ), for example,\n 2021-09-29T11:04:43.305Z. You can use a wildcard (*), for\n example, 2021-09-29T*, which matches an entire day.

    \n
  • \n
  • \n

    \n description - The description of the image (provided during image\n creation).

    \n
  • \n
  • \n

    \n ena-support - A Boolean that indicates whether enhanced networking with\n ENA is enabled.

    \n
  • \n
  • \n

    \n hypervisor - The hypervisor type (ovm |\n xen).

    \n
  • \n
  • \n

    \n image-allowed - A Boolean that indicates whether the image meets the\n criteria specified for Allowed AMIs.

    \n
  • \n
  • \n

    \n image-id - The ID of the image.

    \n
  • \n
  • \n

    \n image-type - The image type (machine | kernel |\n ramdisk).

    \n
  • \n
  • \n

    \n is-public - A Boolean that indicates whether the image is public.

    \n
  • \n
  • \n

    \n kernel-id - The kernel ID.

    \n
  • \n
  • \n

    \n manifest-location - The location of the image manifest.

    \n
  • \n
  • \n

    \n name - The name of the AMI (provided during image creation).

    \n
  • \n
  • \n

    \n owner-alias - The owner alias (amazon |\n aws-backup-vault | aws-marketplace). The valid aliases are\n defined in an Amazon-maintained list. This is not the Amazon Web Services account alias\n that can be set using the IAM console. We recommend that you use the Owner request parameter instead of this filter.

    \n
  • \n
  • \n

    \n owner-id - The Amazon Web Services account ID of the owner. We recommend\n that you use the Owner request parameter instead of this\n filter.

    \n
  • \n
  • \n

    \n platform - The platform. The only supported value is\n windows.

    \n
  • \n
  • \n

    \n product-code - The product code.

    \n
  • \n
  • \n

    \n product-code.type - The type of the product code\n (marketplace).

    \n
  • \n
  • \n

    \n ramdisk-id - The RAM disk ID.

    \n
  • \n
  • \n

    \n root-device-name - The device name of the root device volume (for example,\n /dev/sda1).

    \n
  • \n
  • \n

    \n root-device-type - The type of the root device volume (ebs |\n instance-store).

    \n
  • \n
  • \n

    \n source-image-id - The ID of the source AMI from which the AMI was\n created.

    \n
  • \n
  • \n

    \n source-image-region - The Region of the source AMI.

    \n
  • \n
  • \n

    \n source-instance-id - The ID of the instance that the AMI was created from\n if the AMI was created using CreateImage. This filter is applicable only if the AMI was\n created using CreateImage.

    \n
  • \n
  • \n

    \n state - The state of the image (available | pending\n | failed).

    \n
  • \n
  • \n

    \n state-reason-code - The reason code for the state change.

    \n
  • \n
  • \n

    \n state-reason-message - The message for the state change.

    \n
  • \n
  • \n

    \n sriov-net-support - A value of simple indicates that\n enhanced networking with the Intel 82599 VF interface is enabled.

    \n
  • \n
  • \n

    \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    \n
  • \n
  • \n

    \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

    \n
  • \n
  • \n

    \n virtualization-type - The virtualization type (paravirtual |\n hvm).

    \n
  • \n
", "smithy.api#xmlName": "Filter" } } @@ -33283,7 +33825,7 @@ "target": "com.amazonaws.ec2#DescribeInstanceImageMetadataResult" }, "traits": { - "smithy.api#documentation": "

Describes the AMI that was used to launch an instance, even if the AMI is deprecated,\n deregistered, or made private (no longer public or shared with your account).

\n

If you specify instance IDs, the output includes information for only the specified\n instances. If you specify filters, the output includes information for only those instances\n that meet the filter criteria. If you do not specify instance IDs or filters, the output\n includes information for all instances, which can affect performance.

\n

If you specify an instance ID that is not valid, an instance that doesn't exist, or an\n instance that you do not own, an error (InvalidInstanceID.NotFound) is\n returned.

\n

Recently terminated instances might appear in the returned results. This interval is\n usually less than one hour.

\n

In the rare case where an Availability Zone is experiencing a service disruption and you\n specify instance IDs that are in the affected Availability Zone, or do not specify any\n instance IDs at all, the call fails. If you specify only instance IDs that are in an\n unaffected Availability Zone, the call works normally.

\n \n

The order of the elements in the response, including those within nested structures,\n might vary. Applications should not assume the elements appear in a particular order.

\n
", + "smithy.api#documentation": "

Describes the AMI that was used to launch an instance, even if the AMI is deprecated,\n deregistered, made private (no longer public or shared with your account), or not\n allowed.

\n

If you specify instance IDs, the output includes information for only the specified\n instances. If you specify filters, the output includes information for only those instances\n that meet the filter criteria. If you do not specify instance IDs or filters, the output\n includes information for all instances, which can affect performance.

\n

If you specify an instance ID that is not valid, an instance that doesn't exist, or an\n instance that you do not own, an error (InvalidInstanceID.NotFound) is\n returned.

\n

Recently terminated instances might appear in the returned results. This interval is\n usually less than one hour.

\n

In the rare case where an Availability Zone is experiencing a service disruption and you\n specify instance IDs that are in the affected Availability Zone, or do not specify any\n instance IDs at all, the call fails. If you specify only instance IDs that are in an\n unaffected Availability Zone, the call works normally.

\n \n

The order of the elements in the response, including those within nested structures,\n might vary. Applications should not assume the elements appear in a particular order.

\n
", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", @@ -33307,7 +33849,7 @@ "Filters": { "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

The filters.

\n
    \n
  • \n

    \n availability-zone - The name of the Availability Zone (for example,\n us-west-2a) or Local Zone (for example, us-west-2-lax-1b) of\n the instance.

    \n
  • \n
  • \n

    \n instance-id - The ID of the instance.

    \n
  • \n
  • \n

    \n instance-state-name - The state of the instance (pending |\n running | shutting-down | terminated |\n stopping | stopped).

    \n
  • \n
  • \n

    \n instance-type - The type of instance (for example,\n t3.micro).

    \n
  • \n
  • \n

    \n launch-time - The time when the instance was launched, in the ISO 8601\n format in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ), for example,\n 2023-09-29T11:04:43.305Z. You can use a wildcard (*), for\n example, 2023-09-29T*, which matches an entire day.

    \n
  • \n
  • \n

    \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    \n
  • \n
  • \n

    \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

    \n
  • \n
  • \n

    \n zone-id - The ID of the Availability Zone (for example,\n usw2-az2) or Local Zone (for example, usw2-lax1-az1) of the\n instance.

    \n
  • \n
", + "smithy.api#documentation": "

The filters.

\n
    \n
  • \n

    \n availability-zone - The name of the Availability Zone (for example,\n us-west-2a) or Local Zone (for example, us-west-2-lax-1b) of\n the instance.

    \n
  • \n
  • \n

    \n instance-id - The ID of the instance.

    \n
  • \n
  • \n

    \n image-allowed - A Boolean that indicates whether the image meets the\n criteria specified for Allowed AMIs.

    \n
  • \n
  • \n

    \n instance-state-name - The state of the instance (pending |\n running | shutting-down | terminated |\n stopping | stopped).

    \n
  • \n
  • \n

    \n instance-type - The type of instance (for example,\n t3.micro).

    \n
  • \n
  • \n

    \n launch-time - The time when the instance was launched, in the ISO 8601\n format in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ), for example,\n 2023-09-29T11:04:43.305Z. You can use a wildcard (*), for\n example, 2023-09-29T*, which matches an entire day.

    \n
  • \n
  • \n

    \n owner-alias - The owner alias (amazon |\n aws-marketplace | aws-backup-vault). The valid aliases are\n defined in an Amazon-maintained list. This is not the Amazon Web Services account alias that can be set\n using the IAM console. We recommend that you use the Owner request parameter\n instead of this filter.

    \n
  • \n
  • \n

    \n owner-id - The Amazon Web Services account ID of the owner. We recommend that you use\n the Owner request parameter instead of this filter.

    \n
  • \n
  • \n

    \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    \n
  • \n
  • \n

    \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

    \n
  • \n
  • \n

    \n zone-id - The ID of the Availability Zone (for example,\n usw2-az2) or Local Zone (for example, usw2-lax1-az1) of the\n instance.

    \n
  • \n
", "smithy.api#xmlName": "Filter" } }, @@ -39248,7 +39790,7 @@ "Filters": { "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

The filters.

\n
    \n
  • \n

    \n description - A description of the snapshot.

    \n
  • \n
  • \n

    \n encrypted - Indicates whether the snapshot is encrypted\n (true | false)

    \n
  • \n
  • \n

    \n owner-alias - The owner alias, from an Amazon-maintained list \n (amazon). \n This is not the user-configured Amazon Web Services account alias set using the IAM console.\n We recommend that you use the related parameter instead of this filter.

    \n
  • \n
  • \n

    \n owner-id - The Amazon Web Services account ID of the owner. We recommend that \n you use the related parameter instead of this filter.

    \n
  • \n
  • \n

    \n progress - The progress of the snapshot, as a percentage (for example,\n 80%).

    \n
  • \n
  • \n

    \n snapshot-id - The snapshot ID.

    \n
  • \n
  • \n

    \n start-time - The time stamp when the snapshot was initiated.

    \n
  • \n
  • \n

    \n status - The status of the snapshot (pending |\n completed | error).

    \n
  • \n
  • \n

    \n storage-tier - The storage tier of the snapshot (archive |\n standard).

    \n
  • \n
  • \n

    \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    \n
  • \n
  • \n

    \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

    \n
  • \n
  • \n

    \n volume-id - The ID of the volume the snapshot is for.

    \n
  • \n
  • \n

    \n volume-size - The size of the volume, in GiB.

    \n
  • \n
", + "smithy.api#documentation": "

The filters.

\n
    \n
  • \n

    \n description - A description of the snapshot.

    \n
  • \n
  • \n

    \n encrypted - Indicates whether the snapshot is encrypted\n (true | false)

    \n
  • \n
  • \n

    \n owner-alias - The owner alias, from an Amazon-maintained list \n (amazon). \n This is not the user-configured Amazon Web Services account alias set using the IAM console.\n We recommend that you use the related parameter instead of this filter.

    \n
  • \n
  • \n

    \n owner-id - The Amazon Web Services account ID of the owner. We recommend that \n you use the related parameter instead of this filter.

    \n
  • \n
  • \n

    \n progress - The progress of the snapshot, as a percentage (for example,\n 80%).

    \n
  • \n
  • \n

    \n snapshot-id - The snapshot ID.

    \n
  • \n
  • \n

    \n start-time - The time stamp when the snapshot was initiated.

    \n
  • \n
  • \n

    \n status - The status of the snapshot (pending |\n completed | error).

    \n
  • \n
  • \n

    \n storage-tier - The storage tier of the snapshot (archive |\n standard).

    \n
  • \n
  • \n

    \n transfer-type - The type of operation used to create the snapshot (time-based | standard).

    \n
  • \n
  • \n

    \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    \n
  • \n
  • \n

    \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

    \n
  • \n
  • \n

    \n volume-id - The ID of the volume the snapshot is for.

    \n
  • \n
  • \n

    \n volume-size - The size of the volume, in GiB.

    \n
  • \n
", "smithy.api#xmlName": "Filter" } } @@ -43255,6 +43797,82 @@ "smithy.api#output": {} } }, + "com.amazonaws.ec2#DescribeVpcEndpointAssociations": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#DescribeVpcEndpointAssociationsRequest" + }, + "output": { + "target": "com.amazonaws.ec2#DescribeVpcEndpointAssociationsResult" + }, + "traits": { + "smithy.api#documentation": "

Describes the VPC resources, VPC endpoint services, Amazon Lattice services, or service networks\n associated with the VPC endpoint.

" + } + }, + "com.amazonaws.ec2#DescribeVpcEndpointAssociationsRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + } + }, + "VpcEndpointIds": { + "target": "com.amazonaws.ec2#VpcEndpointIdList", + "traits": { + "smithy.api#documentation": "

The IDs of the VPC endpoints.

", + "smithy.api#xmlName": "VpcEndpointId" + } + }, + "Filters": { + "target": "com.amazonaws.ec2#FilterList", + "traits": { + "smithy.api#documentation": "

The filters.

\n
    \n
  • \n

    \n vpc-endpoint-id - The ID of the VPC endpoint.

    \n
  • \n
  • \n

    \n associated-resource-accessibility - The association state. When the\n state is accessible, it returns AVAILABLE. When the state\n is inaccessible, it returns PENDING or\n FAILED.

    \n
  • \n
  • \n

    \n association-id - The ID of the VPC endpoint association.

    \n
  • \n
  • \n

    \n associated-resource-id - The ID of the associated resource\n configuration.

    \n
  • \n
  • \n

    \n service-network-arn - The Amazon Resource Name (ARN) of the\n associated service network. Only VPC endpoints of type service network will be\n returned.

    \n
  • \n
  • \n

    \n resource-configuration-group-arn - The Amazon Resource Name (ARN) of\n the resource configuration of type GROUP.

    \n
  • \n
  • \n

    \n service-network-resource-association-id - The ID of the\n association.

    \n
  • \n
", + "smithy.api#xmlName": "Filter" + } + }, + "MaxResults": { + "target": "com.amazonaws.ec2#MaxResults2", + "traits": { + "smithy.api#documentation": "

The maximum page size.

" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The pagination token.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#DescribeVpcEndpointAssociationsResult": { + "type": "structure", + "members": { + "VpcEndpointAssociations": { + "target": "com.amazonaws.ec2#VpcEndpointAssociationSet", + "traits": { + "aws.protocols#ec2QueryName": "VpcEndpointAssociationSet", + "smithy.api#documentation": "

Details of the endpoint associations.

", + "smithy.api#xmlName": "vpcEndpointAssociationSet" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The pagination token.

", + "smithy.api#xmlName": "nextToken" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.ec2#DescribeVpcEndpointConnectionNotifications": { "type": "operation", "input": { @@ -44714,6 +45332,15 @@ } } }, + "com.amazonaws.ec2#DeviceTrustProviderTypeList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#DeviceTrustProviderType", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, "com.amazonaws.ec2#DeviceType": { "type": "enum", "members": { @@ -44914,6 +45541,48 @@ "smithy.api#output": {} } }, + "com.amazonaws.ec2#DisableAllowedImagesSettings": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#DisableAllowedImagesSettingsRequest" + }, + "output": { + "target": "com.amazonaws.ec2#DisableAllowedImagesSettingsResult" + }, + "traits": { + "smithy.api#documentation": "

Disables Allowed AMIs for your account in the specified Amazon Web Services Region. When set to\n disabled, the image criteria in your Allowed AMIs settings do not apply, and no\n restrictions are placed on AMI discoverability or usage. Users in your account can launch\n instances using any public AMI or AMI shared with your account.

\n \n

The Allowed AMIs feature does not restrict the AMIs owned by your account. Regardless of\n the criteria you set, the AMIs created by your account will always be discoverable and\n usable by users in your account.

\n
\n

For more information, see Control the discovery and use of AMIs in\n Amazon EC2 with Allowed AMIs in\n Amazon EC2 User Guide.

" + } + }, + "com.amazonaws.ec2#DisableAllowedImagesSettingsRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n\t\t\tand provides an error response. If you have the required permissions, the error response is \n\t\t\tDryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#DisableAllowedImagesSettingsResult": { + "type": "structure", + "members": { + "AllowedImagesSettingsState": { + "target": "com.amazonaws.ec2#AllowedImagesSettingsDisabledState", + "traits": { + "aws.protocols#ec2QueryName": "AllowedImagesSettingsState", + "smithy.api#documentation": "

Returns disabled if the request succeeds; otherwise, it returns an\n error.

", + "smithy.api#xmlName": "allowedImagesSettingsState" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.ec2#DisableAwsNetworkPerformanceMetricSubscription": { "type": "operation", "input": { @@ -47582,7 +48251,7 @@ "target": "com.amazonaws.ec2#OperatorResponse", "traits": { "aws.protocols#ec2QueryName": "Operator", - "smithy.api#documentation": "

The entity that manages the EBS volume.

", + "smithy.api#documentation": "

The service provider that manages the EBS volume.

", "smithy.api#xmlName": "operator" } } @@ -48555,6 +49224,56 @@ "smithy.api#output": {} } }, + "com.amazonaws.ec2#EnableAllowedImagesSettings": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#EnableAllowedImagesSettingsRequest" + }, + "output": { + "target": "com.amazonaws.ec2#EnableAllowedImagesSettingsResult" + }, + "traits": { + "smithy.api#documentation": "

Enables Allowed AMIs for your account in the specified Amazon Web Services Region. Two values are\n accepted:

\n
    \n
  • \n

    \n enabled: The image criteria in your Allowed AMIs settings are applied. As\n a result, only AMIs matching these criteria are discoverable and can be used by your\n account to launch instances.

    \n
  • \n
  • \n

    \n audit-mode: The image criteria in your Allowed AMIs settings are not\n applied. No restrictions are placed on AMI discoverability or usage. Users in your account\n can launch instances using any public AMI or AMI shared with your account.

    \n

    The purpose of audit-mode is to indicate which AMIs will be affected when\n Allowed AMIs is enabled. In audit-mode, each AMI displays either\n \"ImageAllowed\": true or \"ImageAllowed\": false to indicate\n whether the AMI will be discoverable and available to users in the account when Allowed\n AMIs is enabled.

    \n
  • \n
\n \n

The Allowed AMIs feature does not restrict the AMIs owned by your account. Regardless of\n the criteria you set, the AMIs created by your account will always be discoverable and\n usable by users in your account.

\n
\n

For more information, see Control the discovery and use of AMIs in\n Amazon EC2 with Allowed AMIs in\n Amazon EC2 User Guide.

" + } + }, + "com.amazonaws.ec2#EnableAllowedImagesSettingsRequest": { + "type": "structure", + "members": { + "AllowedImagesSettingsState": { + "target": "com.amazonaws.ec2#AllowedImagesSettingsEnabledState", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

Specify enabled to apply the image criteria specified by the Allowed AMIs\n settings. Specify audit-mode so that you can check which AMIs will be allowed or\n not allowed by the image criteria.

", + "smithy.api#required": {} + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n\t\t\tand provides an error response. If you have the required permissions, the error response is \n\t\t\tDryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#EnableAllowedImagesSettingsResult": { + "type": "structure", + "members": { + "AllowedImagesSettingsState": { + "target": "com.amazonaws.ec2#AllowedImagesSettingsEnabledState", + "traits": { + "aws.protocols#ec2QueryName": "AllowedImagesSettingsState", + "smithy.api#documentation": "

Returns enabled or audit-mode if the request succeeds;\n otherwise, it returns an error.

", + "smithy.api#xmlName": "allowedImagesSettingsState" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.ec2#EnableAwsNetworkPerformanceMetricSubscription": { "type": "operation", "input": { @@ -51093,6 +51812,96 @@ "smithy.api#output": {} } }, + "com.amazonaws.ec2#ExportVerifiedAccessInstanceClientConfiguration": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#ExportVerifiedAccessInstanceClientConfigurationRequest" + }, + "output": { + "target": "com.amazonaws.ec2#ExportVerifiedAccessInstanceClientConfigurationResult" + }, + "traits": { + "smithy.api#documentation": "

Exports the client configuration for a Verified Access instance.

" + } + }, + "com.amazonaws.ec2#ExportVerifiedAccessInstanceClientConfigurationRequest": { + "type": "structure", + "members": { + "VerifiedAccessInstanceId": { + "target": "com.amazonaws.ec2#VerifiedAccessInstanceId", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the Verified Access instance.

", + "smithy.api#required": {} + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#ExportVerifiedAccessInstanceClientConfigurationResult": { + "type": "structure", + "members": { + "Version": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Version", + "smithy.api#documentation": "

The version.

", + "smithy.api#xmlName": "version" + } + }, + "VerifiedAccessInstanceId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "VerifiedAccessInstanceId", + "smithy.api#documentation": "

The ID of the Verified Access instance.

", + "smithy.api#xmlName": "verifiedAccessInstanceId" + } + }, + "Region": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Region", + "smithy.api#documentation": "

The Region.

", + "smithy.api#xmlName": "region" + } + }, + "DeviceTrustProviders": { + "target": "com.amazonaws.ec2#DeviceTrustProviderTypeList", + "traits": { + "aws.protocols#ec2QueryName": "DeviceTrustProviderSet", + "smithy.api#documentation": "

The device trust providers.

", + "smithy.api#xmlName": "deviceTrustProviderSet" + } + }, + "UserTrustProvider": { + "target": "com.amazonaws.ec2#VerifiedAccessInstanceUserTrustProviderClientConfiguration", + "traits": { + "aws.protocols#ec2QueryName": "UserTrustProvider", + "smithy.api#documentation": "

The user identity trust provider.

", + "smithy.api#xmlName": "userTrustProvider" + } + }, + "OpenVpnConfigurations": { + "target": "com.amazonaws.ec2#VerifiedAccessInstanceOpenVpnClientConfigurationList", + "traits": { + "aws.protocols#ec2QueryName": "OpenVpnConfigurationSet", + "smithy.api#documentation": "

The Open VPN configuration.

", + "smithy.api#xmlName": "openVpnConfigurationSet" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.ec2#ExportVmTaskId": { "type": "string" }, @@ -53122,6 +53931,64 @@ } } }, + "com.amazonaws.ec2#GetAllowedImagesSettings": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#GetAllowedImagesSettingsRequest" + }, + "output": { + "target": "com.amazonaws.ec2#GetAllowedImagesSettingsResult" + }, + "traits": { + "smithy.api#documentation": "

Gets the current state of the Allowed AMIs setting and the list of Allowed AMIs criteria\n at the account level in the specified Region.

\n \n

The Allowed AMIs feature does not restrict the AMIs owned by your account. Regardless of\n the criteria you set, the AMIs created by your account will always be discoverable and\n usable by users in your account.

\n
\n

For more information, see Control the discovery and use of AMIs in\n Amazon EC2 with Allowed AMIs in\n Amazon EC2 User Guide.

" + } + }, + "com.amazonaws.ec2#GetAllowedImagesSettingsRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n\t\t\tand provides an error response. If you have the required permissions, the error response is \n\t\t\tDryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#GetAllowedImagesSettingsResult": { + "type": "structure", + "members": { + "State": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "State", + "smithy.api#documentation": "

The current state of the Allowed AMIs setting at the account level in the specified Amazon Web Services\n Region.

\n

Possible values:

\n
    \n
  • \n

    \n disabled: All AMIs are allowed.

    \n
  • \n
  • \n

    \n audit-mode: All AMIs are allowed, but the ImageAllowed field\n is set to true if the AMI would be allowed with the current list of criteria\n if allowed AMIs was enabled.

    \n
  • \n
  • \n

    \n enabled: Only AMIs matching the image criteria are discoverable and\n available for use.

    \n
  • \n
", + "smithy.api#xmlName": "state" + } + }, + "ImageCriteria": { + "target": "com.amazonaws.ec2#ImageCriterionList", + "traits": { + "aws.protocols#ec2QueryName": "ImageCriterionSet", + "smithy.api#documentation": "

The list of criteria for images that are discoverable and usable in the account in the\n specified Amazon Web Services Region.

", + "smithy.api#xmlName": "imageCriterionSet" + } + }, + "ManagedBy": { + "target": "com.amazonaws.ec2#ManagedBy", + "traits": { + "aws.protocols#ec2QueryName": "ManagedBy", + "smithy.api#documentation": "

The entity that manages the Allowed AMIs settings. Possible values include:

\n
    \n
  • \n

    \n account - The Allowed AMIs settings is managed by the account.

    \n
  • \n
  • \n

    \n declarative-policy - The Allowed AMIs settings is managed by a\n declarative policy and can't be modified by the account.

    \n
  • \n
", + "smithy.api#xmlName": "managedBy" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.ec2#GetAssociatedEnclaveCertificateIamRoles": { "type": "operation", "input": { @@ -53699,6 +54566,120 @@ "smithy.api#output": {} } }, + "com.amazonaws.ec2#GetDeclarativePoliciesReportSummary": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#GetDeclarativePoliciesReportSummaryRequest" + }, + "output": { + "target": "com.amazonaws.ec2#GetDeclarativePoliciesReportSummaryResult" + }, + "traits": { + "smithy.api#documentation": "

Retrieves a summary of the account status report.

\n

To view the full report, download it from the Amazon S3 bucket where it was saved.\n Reports are accessible only when they have the complete status. Reports\n with other statuses (running, cancelled, or\n error) are not available in the S3 bucket. For more information about\n downloading objects from an S3 bucket, see Downloading objects in\n the Amazon Simple Storage Service User Guide.

\n

For more information, see Generating the account status report for declarative policies in the\n Amazon Web Services Organizations User Guide.

" + } + }, + "com.amazonaws.ec2#GetDeclarativePoliciesReportSummaryRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + } + }, + "ReportId": { + "target": "com.amazonaws.ec2#DeclarativePoliciesReportId", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the report.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#GetDeclarativePoliciesReportSummaryResult": { + "type": "structure", + "members": { + "ReportId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "ReportId", + "smithy.api#documentation": "

The ID of the report.

", + "smithy.api#xmlName": "reportId" + } + }, + "S3Bucket": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "S3Bucket", + "smithy.api#documentation": "

The name of the Amazon S3 bucket where the report is located.

", + "smithy.api#xmlName": "s3Bucket" + } + }, + "S3Prefix": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "S3Prefix", + "smithy.api#documentation": "

The prefix for your S3 object.

", + "smithy.api#xmlName": "s3Prefix" + } + }, + "TargetId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "TargetId", + "smithy.api#documentation": "

The root ID, organizational unit ID, or account ID.

\n

Format:

\n
    \n
  • \n

    For root: r-ab12\n

    \n
  • \n
  • \n

    For OU: ou-ab12-cdef1234\n

    \n
  • \n
  • \n

    For account: 123456789012\n

    \n
  • \n
", + "smithy.api#xmlName": "targetId" + } + }, + "StartTime": { + "target": "com.amazonaws.ec2#MillisecondDateTime", + "traits": { + "aws.protocols#ec2QueryName": "StartTime", + "smithy.api#documentation": "

The time when the report generation started.

", + "smithy.api#xmlName": "startTime" + } + }, + "EndTime": { + "target": "com.amazonaws.ec2#MillisecondDateTime", + "traits": { + "aws.protocols#ec2QueryName": "EndTime", + "smithy.api#documentation": "

The time when the report generation ended.

", + "smithy.api#xmlName": "endTime" + } + }, + "NumberOfAccounts": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "NumberOfAccounts", + "smithy.api#documentation": "

The total number of accounts associated with the specified\n targetId.

", + "smithy.api#xmlName": "numberOfAccounts" + } + }, + "NumberOfFailedAccounts": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "NumberOfFailedAccounts", + "smithy.api#documentation": "

The number of accounts where attributes could not be retrieved in any Region.

", + "smithy.api#xmlName": "numberOfFailedAccounts" + } + }, + "AttributeSummaries": { + "target": "com.amazonaws.ec2#AttributeSummaryList", + "traits": { + "aws.protocols#ec2QueryName": "AttributeSummarySet", + "smithy.api#documentation": "

The attributes described in the report.

", + "smithy.api#xmlName": "attributeSummarySet" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.ec2#GetDefaultCreditSpecification": { "type": "operation", "input": { @@ -54105,6 +55086,14 @@ "smithy.api#documentation": "

The current state of block public access for AMIs at the account level in the specified\n Amazon Web Services Region.

\n

Possible values:

\n
    \n
  • \n

    \n block-new-sharing - Any attempt to publicly share your AMIs in the\n specified Region is blocked.

    \n
  • \n
  • \n

    \n unblocked - Your AMIs in the specified Region can be publicly\n shared.

    \n
  • \n
", "smithy.api#xmlName": "imageBlockPublicAccessState" } + }, + "ManagedBy": { + "target": "com.amazonaws.ec2#ManagedBy", + "traits": { + "aws.protocols#ec2QueryName": "ManagedBy", + "smithy.api#documentation": "

The entity that manages the state for block public access for AMIs. Possible values\n include:

\n
    \n
  • \n

    \n account - The state is managed by the account.

    \n
  • \n
  • \n

    \n declarative-policy - The state is managed by a declarative policy and\n can't be modified by the account.

    \n
  • \n
", + "smithy.api#xmlName": "managedBy" + } } }, "traits": { @@ -55832,6 +56821,14 @@ "smithy.api#documentation": "

If true, access to the EC2 serial console of all instances is enabled for\n\t\t\tyour account. If false, access to the EC2 serial console of all instances\n\t\t\tis disabled for your account.

", "smithy.api#xmlName": "serialConsoleAccessEnabled" } + }, + "ManagedBy": { + "target": "com.amazonaws.ec2#ManagedBy", + "traits": { + "aws.protocols#ec2QueryName": "ManagedBy", + "smithy.api#documentation": "

The entity that manages access to the serial console. Possible values include:

\n
    \n
  • \n

    \n account - Access is managed by the account.

    \n
  • \n
  • \n

    \n declarative-policy - Access is managed by a declarative policy and can't\n be modified by the account.

    \n
  • \n
", + "smithy.api#xmlName": "managedBy" + } } }, "traits": { @@ -55874,6 +56871,14 @@ "smithy.api#documentation": "

The current state of block public access for snapshots. Possible values include:

\n
    \n
  • \n

    \n block-all-sharing - All public sharing of snapshots is blocked. Users in \n the account can't request new public sharing. Additionally, snapshots that were already \n publicly shared are treated as private and are not publicly available.

    \n
  • \n
  • \n

    \n block-new-sharing - Only new public sharing of snapshots is blocked. \n Users in the account can't request new public sharing. However, snapshots that were \n already publicly shared, remain publicly available.

    \n
  • \n
  • \n

    \n unblocked - Public sharing is not blocked. Users can publicly share \n snapshots.

    \n
  • \n
", "smithy.api#xmlName": "state" } + }, + "ManagedBy": { + "target": "com.amazonaws.ec2#ManagedBy", + "traits": { + "aws.protocols#ec2QueryName": "ManagedBy", + "smithy.api#documentation": "

The entity that manages the state for block public access for snapshots. Possible\n values include:

\n
    \n
  • \n

    \n account - The state is managed by the account.

    \n
  • \n
  • \n

    \n declarative-policy - The state is managed by a declarative policy and\n can't be modified by the account.

    \n
  • \n
", + "smithy.api#xmlName": "managedBy" + } } }, "traits": { @@ -56707,6 +57712,86 @@ "smithy.api#output": {} } }, + "com.amazonaws.ec2#GetVerifiedAccessEndpointTargets": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#GetVerifiedAccessEndpointTargetsRequest" + }, + "output": { + "target": "com.amazonaws.ec2#GetVerifiedAccessEndpointTargetsResult" + }, + "traits": { + "smithy.api#documentation": "

Gets the targets for the specified network CIDR endpoint for Verified Access.

" + } + }, + "com.amazonaws.ec2#GetVerifiedAccessEndpointTargetsMaxResults": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 5, + "max": 1000 + } + } + }, + "com.amazonaws.ec2#GetVerifiedAccessEndpointTargetsRequest": { + "type": "structure", + "members": { + "VerifiedAccessEndpointId": { + "target": "com.amazonaws.ec2#VerifiedAccessEndpointId", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the network CIDR endpoint.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "VerifiedAccessEndpointId" + } + }, + "MaxResults": { + "target": "com.amazonaws.ec2#GetVerifiedAccessEndpointTargetsMaxResults", + "traits": { + "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", + "traits": { + "smithy.api#documentation": "

The token for the next page of results.

" + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#GetVerifiedAccessEndpointTargetsResult": { + "type": "structure", + "members": { + "VerifiedAccessEndpointTargets": { + "target": "com.amazonaws.ec2#VerifiedAccessEndpointTargetList", + "traits": { + "aws.protocols#ec2QueryName": "VerifiedAccessEndpointTargetSet", + "smithy.api#documentation": "

The Verified Access targets.

", + "smithy.api#xmlName": "verifiedAccessEndpointTargetSet" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", + "traits": { + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "smithy.api#xmlName": "nextToken" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.ec2#GetVerifiedAccessGroupPolicy": { "type": "operation", "input": { @@ -58315,6 +59400,14 @@ "smithy.api#xmlName": "lastLaunchedTime" } }, + "ImageAllowed": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "ImageAllowed", + "smithy.api#documentation": "

If true, the AMI satisfies the criteria for Allowed AMIs and can be\n discovered and used in the account. If false and Allowed AMIs is set to\n enabled, the AMI can't be discovered or used in the account. If\n false and Allowed AMIs is set to audit-mode, the AMI can be\n discovered and used in the account.

\n

For more information, see Control the discovery and use of AMIs in\n Amazon EC2 with Allowed AMIs in\n Amazon EC2 User Guide.

", + "smithy.api#xmlName": "imageAllowed" + } + }, "SourceImageId": { "target": "com.amazonaws.ec2#String", "traits": { @@ -58657,6 +59750,55 @@ } } }, + "com.amazonaws.ec2#ImageCriterion": { + "type": "structure", + "members": { + "ImageProviders": { + "target": "com.amazonaws.ec2#ImageProviderList", + "traits": { + "aws.protocols#ec2QueryName": "ImageProviderSet", + "smithy.api#documentation": "

A list of AMI providers whose AMIs are discoverable and useable in the account. Up to a\n total of 200 values can be specified.

\n

Possible values:

\n

\n amazon: Allow AMIs created by Amazon Web Services.

\n

\n aws-marketplace: Allow AMIs created by verified providers in the Amazon Web Services\n Marketplace.

\n

\n aws-backup-vault: Allow AMIs created by Amazon Web Services Backup.

\n

12-digit account ID: Allow AMIs created by this account. One or more account IDs can be\n specified.

\n

\n none: Allow AMIs created by your own account only.

", + "smithy.api#xmlName": "imageProviderSet" + } + } + }, + "traits": { + "smithy.api#documentation": "

The list of criteria that are evaluated to determine whch AMIs are discoverable and usable\n in the account in the specified Amazon Web Services Region. Currently, the only criteria that can be\n specified are AMI providers.

\n

Up to 10 imageCriteria objects can be specified, and up to a total of 200\n values for all imageProviders. For more information, see JSON\n configuration for the Allowed AMIs criteria in the\n Amazon EC2 User Guide.

" + } + }, + "com.amazonaws.ec2#ImageCriterionList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#ImageCriterion", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#ImageCriterionRequest": { + "type": "structure", + "members": { + "ImageProviders": { + "target": "com.amazonaws.ec2#ImageProviderRequestList", + "traits": { + "smithy.api#documentation": "

A list of image providers whose AMIs are discoverable and useable in the account. Up to a\n total of 200 values can be specified.

\n

Possible values:

\n

\n amazon: Allow AMIs created by Amazon Web Services.

\n

\n aws-marketplace: Allow AMIs created by verified providers in the Amazon Web Services\n Marketplace.

\n

\n aws-backup-vault: Allow AMIs created by Amazon Web Services Backup.

\n

12-digit account ID: Allow AMIs created by this account. One or more account IDs can be\n specified.

\n

\n none: Allow AMIs created by your own account only. When none is\n specified, no other values can be specified.

", + "smithy.api#xmlName": "ImageProvider" + } + } + }, + "traits": { + "smithy.api#documentation": "

The list of criteria that are evaluated to determine whch AMIs are discoverable and usable\n in the account in the specified Amazon Web Services Region. Currently, the only criteria that can be\n specified are AMI providers.

\n

Up to 10 imageCriteria objects can be specified, and up to a total of 200\n values for all imageProviders. For more information, see JSON\n configuration for the Allowed AMIs criteria in the\n Amazon EC2 User Guide.

" + } + }, + "com.amazonaws.ec2#ImageCriterionRequestList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#ImageCriterionRequest", + "traits": { + "smithy.api#xmlName": "ImageCriterion" + } + } + }, "com.amazonaws.ec2#ImageDiskContainer": { "type": "structure", "members": { @@ -58799,6 +59941,14 @@ "smithy.api#xmlName": "deprecationTime" } }, + "ImageAllowed": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "ImageAllowed", + "smithy.api#documentation": "

If true, the AMI satisfies the criteria for Allowed AMIs and can be\n discovered and used in the account. If false, the AMI can't be discovered or used\n in the account.

\n

For more information, see Control the discovery and use of AMIs in\n Amazon EC2 with Allowed AMIs in\n Amazon EC2 User Guide.

", + "smithy.api#xmlName": "imageAllowed" + } + }, "IsPublic": { "target": "com.amazonaws.ec2#Boolean", "traits": { @@ -58812,6 +59962,30 @@ "smithy.api#documentation": "

Information about the AMI.

" } }, + "com.amazonaws.ec2#ImageProvider": { + "type": "string" + }, + "com.amazonaws.ec2#ImageProviderList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#ImageProvider", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#ImageProviderRequest": { + "type": "string" + }, + "com.amazonaws.ec2#ImageProviderRequestList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#ImageProviderRequest", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, "com.amazonaws.ec2#ImageRecycleBinInfo": { "type": "structure", "members": { @@ -60586,7 +61760,7 @@ "target": "com.amazonaws.ec2#OperatorResponse", "traits": { "aws.protocols#ec2QueryName": "Operator", - "smithy.api#documentation": "

The entity that manages the instance.

", + "smithy.api#documentation": "

The service provider that manages the instance.

", "smithy.api#xmlName": "operator" } }, @@ -62139,6 +63313,22 @@ "smithy.api#documentation": "

Indicates whether access to instance tags from the instance metadata is enabled or\n disabled. For more information, see Work with\n instance tags using the instance metadata in the\n Amazon EC2 User Guide.

", "smithy.api#xmlName": "instanceMetadataTags" } + }, + "ManagedBy": { + "target": "com.amazonaws.ec2#ManagedBy", + "traits": { + "aws.protocols#ec2QueryName": "ManagedBy", + "smithy.api#documentation": "

The entity that manages the IMDS default settings. Possible values include:

\n
    \n
  • \n

    \n account - The IMDS default settings are managed by the\n account.

    \n
  • \n
  • \n

    \n declarative-policy - The IMDS default settings are managed\n by a declarative policy and can't be modified by the account.

    \n
  • \n
", + "smithy.api#xmlName": "managedBy" + } + }, + "ManagedExceptionMessage": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "ManagedExceptionMessage", + "smithy.api#documentation": "

The customized exception message that is specified in the declarative policy.

", + "smithy.api#xmlName": "managedExceptionMessage" + } } }, "traits": { @@ -62499,7 +63689,7 @@ "target": "com.amazonaws.ec2#OperatorResponse", "traits": { "aws.protocols#ec2QueryName": "Operator", - "smithy.api#documentation": "

The entity that manages the network interface.

", + "smithy.api#documentation": "

The service provider that manages the network interface.

", "smithy.api#xmlName": "operator" } } @@ -63425,7 +64615,7 @@ "target": "com.amazonaws.ec2#OperatorResponse", "traits": { "aws.protocols#ec2QueryName": "Operator", - "smithy.api#documentation": "

The entity that manages the instance.

", + "smithy.api#documentation": "

The service provider that manages the instance.

", "smithy.api#xmlName": "operator" } }, @@ -68956,6 +70146,114 @@ "traits": { "smithy.api#enumValue": "x8g.metal-48xl" } + }, + "i7ie_large": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "i7ie.large" + } + }, + "i7ie_xlarge": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "i7ie.xlarge" + } + }, + "i7ie_2xlarge": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "i7ie.2xlarge" + } + }, + "i7ie_3xlarge": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "i7ie.3xlarge" + } + }, + "i7ie_6xlarge": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "i7ie.6xlarge" + } + }, + "i7ie_12xlarge": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "i7ie.12xlarge" + } + }, + "i7ie_18xlarge": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "i7ie.18xlarge" + } + }, + "i7ie_24xlarge": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "i7ie.24xlarge" + } + }, + "i7ie_48xlarge": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "i7ie.48xlarge" + } + }, + "i8g_large": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "i8g.large" + } + }, + "i8g_xlarge": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "i8g.xlarge" + } + }, + "i8g_2xlarge": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "i8g.2xlarge" + } + }, + "i8g_4xlarge": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "i8g.4xlarge" + } + }, + "i8g_8xlarge": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "i8g.8xlarge" + } + }, + "i8g_12xlarge": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "i8g.12xlarge" + } + }, + "i8g_16xlarge": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "i8g.16xlarge" + } + }, + "i8g_24xlarge": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "i8g.24xlarge" + } + }, + "i8g_metal_24xl": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "i8g.metal-24xl" + } } } }, @@ -76880,6 +78178,23 @@ "smithy.api#documentation": "

Details for Site-to-Site VPN tunnel endpoint maintenance events.

" } }, + "com.amazonaws.ec2#ManagedBy": { + "type": "enum", + "members": { + "account": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "account" + } + }, + "declarative_policy": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "declarative-policy" + } + } + } + }, "com.amazonaws.ec2#ManagedPrefixList": { "type": "structure", "members": { @@ -77006,6 +78321,15 @@ "com.amazonaws.ec2#MaxResults": { "type": "integer" }, + "com.amazonaws.ec2#MaxResults2": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 1, + "max": 100 + } + } + }, "com.amazonaws.ec2#MaxResultsParam": { "type": "integer", "traits": { @@ -81101,6 +82425,21 @@ "smithy.api#documentation": "

Modifies the configuration of the specified Amazon Web Services Verified Access endpoint.

" } }, + "com.amazonaws.ec2#ModifyVerifiedAccessEndpointCidrOptions": { + "type": "structure", + "members": { + "PortRanges": { + "target": "com.amazonaws.ec2#ModifyVerifiedAccessEndpointPortRangeList", + "traits": { + "smithy.api#documentation": "

The port ranges.

", + "smithy.api#xmlName": "PortRange" + } + } + }, + "traits": { + "smithy.api#documentation": "

The CIDR options for a Verified Access endpoint.

" + } + }, "com.amazonaws.ec2#ModifyVerifiedAccessEndpointEniOptions": { "type": "structure", "members": { @@ -81115,6 +82454,13 @@ "traits": { "smithy.api#documentation": "

The IP port number.

" } + }, + "PortRanges": { + "target": "com.amazonaws.ec2#ModifyVerifiedAccessEndpointPortRangeList", + "traits": { + "smithy.api#documentation": "

The port ranges.

", + "smithy.api#xmlName": "PortRange" + } } }, "traits": { @@ -81142,6 +82488,13 @@ "traits": { "smithy.api#documentation": "

The IP port number.

" } + }, + "PortRanges": { + "target": "com.amazonaws.ec2#ModifyVerifiedAccessEndpointPortRangeList", + "traits": { + "smithy.api#documentation": "

The port ranges.

", + "smithy.api#xmlName": "PortRange" + } } }, "traits": { @@ -81239,6 +82592,62 @@ "smithy.api#output": {} } }, + "com.amazonaws.ec2#ModifyVerifiedAccessEndpointPortRange": { + "type": "structure", + "members": { + "FromPort": { + "target": "com.amazonaws.ec2#VerifiedAccessEndpointPortNumber", + "traits": { + "smithy.api#documentation": "

The start of the port range.

" + } + }, + "ToPort": { + "target": "com.amazonaws.ec2#VerifiedAccessEndpointPortNumber", + "traits": { + "smithy.api#documentation": "

The end of the port range.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes the port range for a Verified Access endpoint.

" + } + }, + "com.amazonaws.ec2#ModifyVerifiedAccessEndpointPortRangeList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#ModifyVerifiedAccessEndpointPortRange", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#ModifyVerifiedAccessEndpointRdsOptions": { + "type": "structure", + "members": { + "SubnetIds": { + "target": "com.amazonaws.ec2#ModifyVerifiedAccessEndpointSubnetIdList", + "traits": { + "smithy.api#documentation": "

The IDs of the subnets.

", + "smithy.api#xmlName": "SubnetId" + } + }, + "Port": { + "target": "com.amazonaws.ec2#VerifiedAccessEndpointPortNumber", + "traits": { + "smithy.api#documentation": "

The port.

" + } + }, + "RdsEndpoint": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The RDS endpoint.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The RDS options for a Verified Access endpoint.

" + } + }, "com.amazonaws.ec2#ModifyVerifiedAccessEndpointRequest": { "type": "structure", "members": { @@ -81286,6 +82695,18 @@ "traits": { "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } + }, + "RdsOptions": { + "target": "com.amazonaws.ec2#ModifyVerifiedAccessEndpointRdsOptions", + "traits": { + "smithy.api#documentation": "

The RDS options.

" + } + }, + "CidrOptions": { + "target": "com.amazonaws.ec2#ModifyVerifiedAccessEndpointCidrOptions", + "traits": { + "smithy.api#documentation": "

The CIDR options.

" + } } }, "traits": { @@ -81583,6 +83004,12 @@ "smithy.api#documentation": "

A unique, case-sensitive token that you provide to ensure idempotency of your\n modification request. For more information, see Ensuring idempotency.

", "smithy.api#idempotencyToken": {} } + }, + "CidrEndpointsCustomSubDomain": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The custom subdomain.

" + } } }, "traits": { @@ -81605,6 +83032,62 @@ "smithy.api#output": {} } }, + "com.amazonaws.ec2#ModifyVerifiedAccessNativeApplicationOidcOptions": { + "type": "structure", + "members": { + "PublicSigningKeyEndpoint": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The public signing key endpoint.

" + } + }, + "Issuer": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The OIDC issuer identifier of the IdP.

" + } + }, + "AuthorizationEndpoint": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The authorization endpoint of the IdP.

" + } + }, + "TokenEndpoint": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The token endpoint of the IdP.

" + } + }, + "UserInfoEndpoint": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The user info endpoint of the IdP.

" + } + }, + "ClientId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The OAuth 2.0 client identifier.

" + } + }, + "ClientSecret": { + "target": "com.amazonaws.ec2#ClientSecretType", + "traits": { + "smithy.api#documentation": "

The OAuth 2.0 client secret.

" + } + }, + "Scope": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The set of user claims to be requested from the IdP.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes the OpenID Connect (OIDC) options.

" + } + }, "com.amazonaws.ec2#ModifyVerifiedAccessTrustProvider": { "type": "operation", "input": { @@ -81623,7 +83106,7 @@ "PublicSigningKeyUrl": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The URL Amazon Web Services Verified Access will use to verify the authenticity of the device tokens.

" + "smithy.api#documentation": "

The URL Amazon Web Services Verified Access will use to verify the authenticity of the device tokens.

" } } }, @@ -81728,6 +83211,12 @@ "traits": { "smithy.api#documentation": "

The options for server side encryption.

" } + }, + "NativeApplicationOidcOptions": { + "target": "com.amazonaws.ec2#ModifyVerifiedAccessNativeApplicationOidcOptions", + "traits": { + "smithy.api#documentation": "

The OpenID Connect (OIDC) options.

" + } } }, "traits": { @@ -83719,6 +85208,70 @@ } } }, + "com.amazonaws.ec2#NativeApplicationOidcOptions": { + "type": "structure", + "members": { + "PublicSigningKeyEndpoint": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "PublicSigningKeyEndpoint", + "smithy.api#documentation": "

The public signing key endpoint.

", + "smithy.api#xmlName": "publicSigningKeyEndpoint" + } + }, + "Issuer": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Issuer", + "smithy.api#documentation": "

The OIDC issuer identifier of the IdP.

", + "smithy.api#xmlName": "issuer" + } + }, + "AuthorizationEndpoint": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "AuthorizationEndpoint", + "smithy.api#documentation": "

The authorization endpoint of the IdP.

", + "smithy.api#xmlName": "authorizationEndpoint" + } + }, + "TokenEndpoint": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "TokenEndpoint", + "smithy.api#documentation": "

The token endpoint of the IdP.

", + "smithy.api#xmlName": "tokenEndpoint" + } + }, + "UserInfoEndpoint": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "UserInfoEndpoint", + "smithy.api#documentation": "

The user info endpoint of the IdP.

", + "smithy.api#xmlName": "userInfoEndpoint" + } + }, + "ClientId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "ClientId", + "smithy.api#documentation": "

The OAuth 2.0 client identifier.

", + "smithy.api#xmlName": "clientId" + } + }, + "Scope": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Scope", + "smithy.api#documentation": "

The set of user claims to be requested from the IdP.

", + "smithy.api#xmlName": "scope" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes the OpenID Connect (OIDC) options.

" + } + }, "com.amazonaws.ec2#NetmaskLength": { "type": "integer" }, @@ -84899,7 +86452,7 @@ "target": "com.amazonaws.ec2#OperatorResponse", "traits": { "aws.protocols#ec2QueryName": "Operator", - "smithy.api#documentation": "

The entity that manages the network interface.

", + "smithy.api#documentation": "

The service provider that manages the network interface.

", "smithy.api#xmlName": "operator" } } @@ -86094,12 +87647,12 @@ "Principal": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The entity that manages the resource.

" + "smithy.api#documentation": "

The service provider that manages the resource.

" } } }, "traits": { - "smithy.api#documentation": "

The entity that manages the resource.

" + "smithy.api#documentation": "

The service provider that manages the resource.

" } }, "com.amazonaws.ec2#OperatorResponse": { @@ -86109,7 +87662,7 @@ "target": "com.amazonaws.ec2#Boolean", "traits": { "aws.protocols#ec2QueryName": "Managed", - "smithy.api#documentation": "

If true, the resource is managed by an entity.

", + "smithy.api#documentation": "

If true, the resource is managed by an service provider.

", "smithy.api#xmlName": "managed" } }, @@ -86117,13 +87670,13 @@ "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "Principal", - "smithy.api#documentation": "

If managed is true, then the principal is returned. \n The principal is the entity that manages the resource.

", + "smithy.api#documentation": "

If managed is true, then the principal is returned. The\n principal is the service provider that manages the resource.

", "smithy.api#xmlName": "principal" } } }, "traits": { - "smithy.api#documentation": "

Describes whether the resource is managed by an entity and, if so, \n describes the entity that manages it.

" + "smithy.api#documentation": "

Describes whether the resource is managed by an service provider and, if so, describes\n the service provider that manages it.

" } }, "com.amazonaws.ec2#OrganizationArnStringList": { @@ -89522,6 +91075,15 @@ "com.amazonaws.ec2#RamdiskId": { "type": "string" }, + "com.amazonaws.ec2#RdsDbClusterArn": { + "type": "string" + }, + "com.amazonaws.ec2#RdsDbInstanceArn": { + "type": "string" + }, + "com.amazonaws.ec2#RdsDbProxyArn": { + "type": "string" + }, "com.amazonaws.ec2#ReasonCodesList": { "type": "list", "member": { @@ -89734,6 +91296,47 @@ } } }, + "com.amazonaws.ec2#RegionalSummary": { + "type": "structure", + "members": { + "RegionName": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "RegionName", + "smithy.api#documentation": "

The Amazon Web Services Region.

", + "smithy.api#xmlName": "regionName" + } + }, + "NumberOfMatchedAccounts": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "NumberOfMatchedAccounts", + "smithy.api#documentation": "

The number of accounts in the Region with the same configuration value for the\n attribute that is most frequently observed.

", + "smithy.api#xmlName": "numberOfMatchedAccounts" + } + }, + "NumberOfUnmatchedAccounts": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "NumberOfUnmatchedAccounts", + "smithy.api#documentation": "

The number of accounts in the Region with a configuration value different from the\n most frequently observed value for the attribute.

", + "smithy.api#xmlName": "numberOfUnmatchedAccounts" + } + } + }, + "traits": { + "smithy.api#documentation": "

A summary report for the attribute for a Region.

" + } + }, + "com.amazonaws.ec2#RegionalSummaryList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#RegionalSummary", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, "com.amazonaws.ec2#RegisterImage": { "type": "operation", "input": { @@ -90734,6 +92337,55 @@ "smithy.api#output": {} } }, + "com.amazonaws.ec2#ReplaceImageCriteriaInAllowedImagesSettings": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#ReplaceImageCriteriaInAllowedImagesSettingsRequest" + }, + "output": { + "target": "com.amazonaws.ec2#ReplaceImageCriteriaInAllowedImagesSettingsResult" + }, + "traits": { + "smithy.api#documentation": "

Sets or replaces the criteria for Allowed AMIs.

\n \n

The Allowed AMIs feature does not restrict the AMIs owned by your account. Regardless of\n the criteria you set, the AMIs created by your account will always be discoverable and\n usable by users in your account.

\n
\n

For more information, see Control the discovery and use of AMIs in\n Amazon EC2 with Allowed AMIs in\n Amazon EC2 User Guide.

" + } + }, + "com.amazonaws.ec2#ReplaceImageCriteriaInAllowedImagesSettingsRequest": { + "type": "structure", + "members": { + "ImageCriteria": { + "target": "com.amazonaws.ec2#ImageCriterionRequestList", + "traits": { + "smithy.api#documentation": "

The list of criteria that are evaluated to determine whether AMIs are discoverable and\n usable in the account in the specified Amazon Web Services Region.

", + "smithy.api#xmlName": "ImageCriterion" + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n\t\t\tand provides an error response. If you have the required permissions, the error response is \n\t\t\tDryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#ReplaceImageCriteriaInAllowedImagesSettingsResult": { + "type": "structure", + "members": { + "ReturnValue": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "Return", + "smithy.api#documentation": "

Returns true if the request succeeds; otherwise, it returns an error.

", + "smithy.api#xmlName": "return" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.ec2#ReplaceNetworkAclAssociation": { "type": "operation", "input": { @@ -91621,6 +93273,35 @@ "smithy.api#sensitive": {} } }, + "com.amazonaws.ec2#ReportState": { + "type": "enum", + "members": { + "running": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "running" + } + }, + "cancelled": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "cancelled" + } + }, + "complete": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "complete" + } + }, + "error": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "error" + } + } + } + }, "com.amazonaws.ec2#ReportStatusType": { "type": "enum", "members": { @@ -93764,6 +95445,9 @@ } } }, + "com.amazonaws.ec2#ResourceConfigurationArn": { + "type": "string" + }, "com.amazonaws.ec2#ResourceIdList": { "type": "list", "member": { @@ -93858,6 +95542,12 @@ "smithy.api#enumValue": "coip-pool" } }, + "declarative_policies_report": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "declarative-policies-report" + } + }, "dedicated_host": { "target": "smithy.api#Unit", "traits": { @@ -94344,6 +96034,12 @@ "smithy.api#enumValue": "instance-connect-endpoint" } }, + "verified_access_endpoint_target": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "verified-access-endpoint-target" + } + }, "ipam_external_resource_verification_token": { "target": "smithy.api#Unit", "traits": { @@ -98607,6 +100303,9 @@ } } }, + "com.amazonaws.ec2#ServiceNetworkArn": { + "type": "string" + }, "com.amazonaws.ec2#ServiceState": { "type": "enum", "members": { @@ -100941,6 +102640,77 @@ } } }, + "com.amazonaws.ec2#StartDeclarativePoliciesReport": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#StartDeclarativePoliciesReportRequest" + }, + "output": { + "target": "com.amazonaws.ec2#StartDeclarativePoliciesReportResult" + }, + "traits": { + "smithy.api#documentation": "

Generates an account status report. The report is generated asynchronously, and can\n take several hours to complete.

\n

The report provides the current status of all attributes supported by declarative\n policies for the accounts within the specified scope. The scope is determined by the\n specified TargetId, which can represent an individual account, or all the\n accounts that fall under the specified organizational unit (OU) or root (the entire\n Amazon Web Services Organization).

\n

The report is saved to your specified S3 bucket, using the following path structure\n (with the italicized placeholders representing your specific\n values):

\n

\n s3://amzn-s3-demo-bucket/your-optional-s3-prefix/ec2_targetId_reportId_yyyyMMddThhmmZ.csv\n

\n

\n Prerequisites for generating a report\n

\n
    \n
  • \n

    The StartDeclarativePoliciesReport API can only be called by the\n management account or delegated administrators for the organization.

    \n
  • \n
  • \n

    An S3 bucket must be available before generating the report (you can create a\n new one or use an existing one), and it must have an appropriate bucket policy.\n For a sample S3 policy, see Sample Amazon S3 policy under\n .

    \n
  • \n
  • \n

    Trusted access must be enabled for the service for which the declarative\n policy will enforce a baseline configuration. If you use the Amazon Web Services Organizations\n console, this is done automatically when you enable declarative policies. The\n API uses the following service principal to identify the EC2 service:\n ec2.amazonaws.com. For more information on how to enable\n trusted access with the Amazon Web Services CLI and Amazon Web Services SDKs, see Using\n Organizations with other Amazon Web Services services in the\n Amazon Web Services Organizations User Guide.

    \n
  • \n
  • \n

    Only one report per organization can be generated at a time. Attempting to\n generate a report while another is in progress will result in an error.

    \n
  • \n
\n

For more information, including the required IAM permissions to run this API, see\n Generating the account status report for declarative policies in the\n Amazon Web Services Organizations User Guide.

" + } + }, + "com.amazonaws.ec2#StartDeclarativePoliciesReportRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + } + }, + "S3Bucket": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The name of the S3 bucket where the report will be saved.

", + "smithy.api#required": {} + } + }, + "S3Prefix": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The prefix for your S3 object.

" + } + }, + "TargetId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The root ID, organizational unit ID, or account ID.

\n

Format:

\n
    \n
  • \n

    For root: r-ab12\n

    \n
  • \n
  • \n

    For OU: ou-ab12-cdef1234\n

    \n
  • \n
  • \n

    For account: 123456789012\n

    \n
  • \n
", + "smithy.api#required": {} + } + }, + "TagSpecifications": { + "target": "com.amazonaws.ec2#TagSpecificationList", + "traits": { + "smithy.api#documentation": "

The tags to apply.

", + "smithy.api#xmlName": "TagSpecification" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#StartDeclarativePoliciesReportResult": { + "type": "structure", + "members": { + "ReportId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "ReportId", + "smithy.api#documentation": "

The ID of the report.

", + "smithy.api#xmlName": "reportId" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.ec2#StartInstances": { "type": "operation", "input": { @@ -101274,6 +103044,12 @@ "traits": { "smithy.api#enumValue": "Expired" } + }, + "Partial": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Partial" + } } } }, @@ -102056,6 +103832,39 @@ } } }, + "com.amazonaws.ec2#SubnetIpPrefixes": { + "type": "structure", + "members": { + "SubnetId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "SubnetId", + "smithy.api#documentation": "

ID of the subnet.

", + "smithy.api#xmlName": "subnetId" + } + }, + "IpPrefixes": { + "target": "com.amazonaws.ec2#ValueStringList", + "traits": { + "aws.protocols#ec2QueryName": "IpPrefixSet", + "smithy.api#documentation": "

Array of SubnetIpPrefixes objects.

", + "smithy.api#xmlName": "ipPrefixSet" + } + } + }, + "traits": { + "smithy.api#documentation": "

Prefixes of the subnet IP.

" + } + }, + "com.amazonaws.ec2#SubnetIpPrefixesList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#SubnetIpPrefixes", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, "com.amazonaws.ec2#SubnetIpv6CidrBlockAssociation": { "type": "structure", "members": { @@ -108284,6 +110093,22 @@ "smithy.api#documentation": "

The options in use for server side encryption.

", "smithy.api#xmlName": "sseSpecification" } + }, + "RdsOptions": { + "target": "com.amazonaws.ec2#VerifiedAccessEndpointRdsOptions", + "traits": { + "aws.protocols#ec2QueryName": "RdsOptions", + "smithy.api#documentation": "

The options for an RDS endpoint.

", + "smithy.api#xmlName": "rdsOptions" + } + }, + "CidrOptions": { + "target": "com.amazonaws.ec2#VerifiedAccessEndpointCidrOptions", + "traits": { + "aws.protocols#ec2QueryName": "CidrOptions", + "smithy.api#documentation": "

The options for a CIDR endpoint.

", + "smithy.api#xmlName": "cidrOptions" + } } }, "traits": { @@ -108301,6 +110126,46 @@ } } }, + "com.amazonaws.ec2#VerifiedAccessEndpointCidrOptions": { + "type": "structure", + "members": { + "Cidr": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Cidr", + "smithy.api#documentation": "

The CIDR.

", + "smithy.api#xmlName": "cidr" + } + }, + "PortRanges": { + "target": "com.amazonaws.ec2#VerifiedAccessEndpointPortRangeList", + "traits": { + "aws.protocols#ec2QueryName": "PortRangeSet", + "smithy.api#documentation": "

The port ranges.

", + "smithy.api#xmlName": "portRangeSet" + } + }, + "Protocol": { + "target": "com.amazonaws.ec2#VerifiedAccessEndpointProtocol", + "traits": { + "aws.protocols#ec2QueryName": "Protocol", + "smithy.api#documentation": "

The protocol.

", + "smithy.api#xmlName": "protocol" + } + }, + "SubnetIds": { + "target": "com.amazonaws.ec2#VerifiedAccessEndpointSubnetIdList", + "traits": { + "aws.protocols#ec2QueryName": "SubnetIdSet", + "smithy.api#documentation": "

The IDs of the subnets.

", + "smithy.api#xmlName": "subnetIdSet" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes the CIDR options for a Verified Access endpoint.

" + } + }, "com.amazonaws.ec2#VerifiedAccessEndpointEniOptions": { "type": "structure", "members": { @@ -108327,6 +110192,14 @@ "smithy.api#documentation": "

The IP port number.

", "smithy.api#xmlName": "port" } + }, + "PortRanges": { + "target": "com.amazonaws.ec2#VerifiedAccessEndpointPortRangeList", + "traits": { + "aws.protocols#ec2QueryName": "PortRangeSet", + "smithy.api#documentation": "

The port ranges.

", + "smithy.api#xmlName": "portRangeSet" + } } }, "traits": { @@ -108388,6 +110261,14 @@ "smithy.api#documentation": "

The IDs of the subnets.

", "smithy.api#xmlName": "subnetIdSet" } + }, + "PortRanges": { + "target": "com.amazonaws.ec2#VerifiedAccessEndpointPortRangeList", + "traits": { + "aws.protocols#ec2QueryName": "PortRangeSet", + "smithy.api#documentation": "

The port ranges.

", + "smithy.api#xmlName": "portRangeSet" + } } }, "traits": { @@ -108403,6 +110284,39 @@ } } }, + "com.amazonaws.ec2#VerifiedAccessEndpointPortRange": { + "type": "structure", + "members": { + "FromPort": { + "target": "com.amazonaws.ec2#VerifiedAccessEndpointPortNumber", + "traits": { + "aws.protocols#ec2QueryName": "FromPort", + "smithy.api#documentation": "

The start of the port range.

", + "smithy.api#xmlName": "fromPort" + } + }, + "ToPort": { + "target": "com.amazonaws.ec2#VerifiedAccessEndpointPortNumber", + "traits": { + "aws.protocols#ec2QueryName": "ToPort", + "smithy.api#documentation": "

The end of the port range.

", + "smithy.api#xmlName": "toPort" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes a port range.

" + } + }, + "com.amazonaws.ec2#VerifiedAccessEndpointPortRangeList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#VerifiedAccessEndpointPortRange", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, "com.amazonaws.ec2#VerifiedAccessEndpointProtocol": { "type": "enum", "members": { @@ -108417,9 +110331,79 @@ "traits": { "smithy.api#enumValue": "https" } + }, + "tcp": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "tcp" + } } } }, + "com.amazonaws.ec2#VerifiedAccessEndpointRdsOptions": { + "type": "structure", + "members": { + "Protocol": { + "target": "com.amazonaws.ec2#VerifiedAccessEndpointProtocol", + "traits": { + "aws.protocols#ec2QueryName": "Protocol", + "smithy.api#documentation": "

The protocol.

", + "smithy.api#xmlName": "protocol" + } + }, + "Port": { + "target": "com.amazonaws.ec2#VerifiedAccessEndpointPortNumber", + "traits": { + "aws.protocols#ec2QueryName": "Port", + "smithy.api#documentation": "

The port.

", + "smithy.api#xmlName": "port" + } + }, + "RdsDbInstanceArn": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "RdsDbInstanceArn", + "smithy.api#documentation": "

The ARN of the RDS instance.

", + "smithy.api#xmlName": "rdsDbInstanceArn" + } + }, + "RdsDbClusterArn": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "RdsDbClusterArn", + "smithy.api#documentation": "

The ARN of the DB cluster.

", + "smithy.api#xmlName": "rdsDbClusterArn" + } + }, + "RdsDbProxyArn": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "RdsDbProxyArn", + "smithy.api#documentation": "

The ARN of the RDS proxy.

", + "smithy.api#xmlName": "rdsDbProxyArn" + } + }, + "RdsEndpoint": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "RdsEndpoint", + "smithy.api#documentation": "

The RDS endpoint.

", + "smithy.api#xmlName": "rdsEndpoint" + } + }, + "SubnetIds": { + "target": "com.amazonaws.ec2#VerifiedAccessEndpointSubnetIdList", + "traits": { + "aws.protocols#ec2QueryName": "SubnetIdSet", + "smithy.api#documentation": "

The IDs of the subnets.

", + "smithy.api#xmlName": "subnetIdSet" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes the RDS options for a Verified Access endpoint.

" + } + }, "com.amazonaws.ec2#VerifiedAccessEndpointStatus": { "type": "structure", "members": { @@ -108488,6 +110472,47 @@ } } }, + "com.amazonaws.ec2#VerifiedAccessEndpointTarget": { + "type": "structure", + "members": { + "VerifiedAccessEndpointId": { + "target": "com.amazonaws.ec2#VerifiedAccessEndpointId", + "traits": { + "aws.protocols#ec2QueryName": "VerifiedAccessEndpointId", + "smithy.api#documentation": "

The ID of the Verified Access endpoint.

", + "smithy.api#xmlName": "verifiedAccessEndpointId" + } + }, + "VerifiedAccessEndpointTargetIpAddress": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "VerifiedAccessEndpointTargetIpAddress", + "smithy.api#documentation": "

The IP address of the target.

", + "smithy.api#xmlName": "verifiedAccessEndpointTargetIpAddress" + } + }, + "VerifiedAccessEndpointTargetDns": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "VerifiedAccessEndpointTargetDns", + "smithy.api#documentation": "

The DNS name of the target.

", + "smithy.api#xmlName": "verifiedAccessEndpointTargetDns" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes the targets for the specified Verified Access endpoint.

" + } + }, + "com.amazonaws.ec2#VerifiedAccessEndpointTargetList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#VerifiedAccessEndpointTarget", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, "com.amazonaws.ec2#VerifiedAccessEndpointType": { "type": "enum", "members": { @@ -108502,6 +110527,18 @@ "traits": { "smithy.api#enumValue": "network-interface" } + }, + "rds": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "rds" + } + }, + "cidr": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "cidr" + } } } }, @@ -108672,12 +110709,44 @@ "smithy.api#documentation": "

Indicates whether support for Federal Information Processing Standards (FIPS) is enabled on the instance.

", "smithy.api#xmlName": "fipsEnabled" } + }, + "CidrEndpointsCustomSubDomain": { + "target": "com.amazonaws.ec2#VerifiedAccessInstanceCustomSubDomain", + "traits": { + "aws.protocols#ec2QueryName": "CidrEndpointsCustomSubDomain", + "smithy.api#documentation": "

The custom subdomain.

", + "smithy.api#xmlName": "cidrEndpointsCustomSubDomain" + } } }, "traits": { "smithy.api#documentation": "

Describes a Verified Access instance.

" } }, + "com.amazonaws.ec2#VerifiedAccessInstanceCustomSubDomain": { + "type": "structure", + "members": { + "SubDomain": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "SubDomain", + "smithy.api#documentation": "

The subdomain.

", + "smithy.api#xmlName": "subDomain" + } + }, + "Nameservers": { + "target": "com.amazonaws.ec2#ValueStringList", + "traits": { + "aws.protocols#ec2QueryName": "NameserverSet", + "smithy.api#documentation": "

The name servers.

", + "smithy.api#xmlName": "nameserverSet" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes a custom subdomain for a network CIDR endpoint for Verified Access.

" + } + }, "com.amazonaws.ec2#VerifiedAccessInstanceId": { "type": "string" }, @@ -108732,6 +110801,152 @@ } } }, + "com.amazonaws.ec2#VerifiedAccessInstanceOpenVpnClientConfiguration": { + "type": "structure", + "members": { + "Config": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Config", + "smithy.api#documentation": "

The base64-encoded Open VPN client configuration.

", + "smithy.api#xmlName": "config" + } + }, + "Routes": { + "target": "com.amazonaws.ec2#VerifiedAccessInstanceOpenVpnClientConfigurationRouteList", + "traits": { + "aws.protocols#ec2QueryName": "RouteSet", + "smithy.api#documentation": "

The routes.

", + "smithy.api#xmlName": "routeSet" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes a set of routes.

" + } + }, + "com.amazonaws.ec2#VerifiedAccessInstanceOpenVpnClientConfigurationList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#VerifiedAccessInstanceOpenVpnClientConfiguration", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#VerifiedAccessInstanceOpenVpnClientConfigurationRoute": { + "type": "structure", + "members": { + "Cidr": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Cidr", + "smithy.api#documentation": "

The CIDR block.

", + "smithy.api#xmlName": "cidr" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes a route.

" + } + }, + "com.amazonaws.ec2#VerifiedAccessInstanceOpenVpnClientConfigurationRouteList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#VerifiedAccessInstanceOpenVpnClientConfigurationRoute", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#VerifiedAccessInstanceUserTrustProviderClientConfiguration": { + "type": "structure", + "members": { + "Type": { + "target": "com.amazonaws.ec2#UserTrustProviderType", + "traits": { + "aws.protocols#ec2QueryName": "Type", + "smithy.api#documentation": "

The trust provider type.

", + "smithy.api#xmlName": "type" + } + }, + "Scopes": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Scopes", + "smithy.api#documentation": "

The set of user claims to be requested from the IdP.

", + "smithy.api#xmlName": "scopes" + } + }, + "Issuer": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Issuer", + "smithy.api#documentation": "

The OIDC issuer identifier of the IdP.

", + "smithy.api#xmlName": "issuer" + } + }, + "AuthorizationEndpoint": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "AuthorizationEndpoint", + "smithy.api#documentation": "

The authorization endpoint of the IdP.

", + "smithy.api#xmlName": "authorizationEndpoint" + } + }, + "PublicSigningKeyEndpoint": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "PublicSigningKeyEndpoint", + "smithy.api#documentation": "

The public signing key endpoint.

", + "smithy.api#xmlName": "publicSigningKeyEndpoint" + } + }, + "TokenEndpoint": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "TokenEndpoint", + "smithy.api#documentation": "

The token endpoint of the IdP.

", + "smithy.api#xmlName": "tokenEndpoint" + } + }, + "UserInfoEndpoint": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "UserInfoEndpoint", + "smithy.api#documentation": "

The user info endpoint of the IdP.

", + "smithy.api#xmlName": "userInfoEndpoint" + } + }, + "ClientId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "ClientId", + "smithy.api#documentation": "

The OAuth 2.0 client identifier.

", + "smithy.api#xmlName": "clientId" + } + }, + "ClientSecret": { + "target": "com.amazonaws.ec2#ClientSecretType", + "traits": { + "aws.protocols#ec2QueryName": "ClientSecret", + "smithy.api#documentation": "

The OAuth 2.0 client secret.

", + "smithy.api#xmlName": "clientSecret" + } + }, + "PkceEnabled": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "PkceEnabled", + "smithy.api#documentation": "

Indicates whether Proof of Key Code Exchange (PKCE) is enabled.

", + "smithy.api#xmlName": "pkceEnabled" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes the trust provider.

" + } + }, "com.amazonaws.ec2#VerifiedAccessLogCloudWatchLogsDestination": { "type": "structure", "members": { @@ -109191,6 +111406,14 @@ "smithy.api#documentation": "

The options in use for server side encryption.

", "smithy.api#xmlName": "sseSpecification" } + }, + "NativeApplicationOidcOptions": { + "target": "com.amazonaws.ec2#NativeApplicationOidcOptions", + "traits": { + "aws.protocols#ec2QueryName": "NativeApplicationOidcOptions", + "smithy.api#documentation": "

The OpenID Connect (OIDC) options.

", + "smithy.api#xmlName": "nativeApplicationOidcOptions" + } } }, "traits": { @@ -109470,7 +111693,7 @@ "target": "com.amazonaws.ec2#OperatorResponse", "traits": { "aws.protocols#ec2QueryName": "Operator", - "smithy.api#documentation": "

The entity that manages the volume.

", + "smithy.api#documentation": "

The service provider that manages the volume.

", "smithy.api#xmlName": "operator" } }, @@ -110623,6 +112846,23 @@ } } }, + "com.amazonaws.ec2#VpcBlockPublicAccessExclusionsAllowed": { + "type": "enum", + "members": { + "allowed": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "allowed" + } + }, + "not_allowed": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "not-allowed" + } + } + } + }, "com.amazonaws.ec2#VpcBlockPublicAccessOptions": { "type": "structure", "members": { @@ -110673,6 +112913,22 @@ "smithy.api#documentation": "

The last time the VPC BPA mode was updated.

", "smithy.api#xmlName": "lastUpdateTimestamp" } + }, + "ManagedBy": { + "target": "com.amazonaws.ec2#ManagedBy", + "traits": { + "aws.protocols#ec2QueryName": "ManagedBy", + "smithy.api#documentation": "

The entity that manages the state of VPC BPA. Possible values include:

\n
    \n
  • \n

    \n account - The state is managed by the account.

    \n
  • \n
  • \n

    \n declarative-policy - The state is managed by a declarative policy\n and can't be modified by the account.

    \n
  • \n
", + "smithy.api#xmlName": "managedBy" + } + }, + "ExclusionsAllowed": { + "target": "com.amazonaws.ec2#VpcBlockPublicAccessExclusionsAllowed", + "traits": { + "aws.protocols#ec2QueryName": "ExclusionsAllowed", + "smithy.api#documentation": "

Determines if exclusions are allowed. If you have enabled VPC BPA at the Organization level, exclusions may be\n not-allowed. Otherwise, they are allowed.

", + "smithy.api#xmlName": "exclusionsAllowed" + } } }, "traits": { @@ -111016,6 +113272,46 @@ "smithy.api#xmlName": "lastError" } }, + "Ipv4Prefixes": { + "target": "com.amazonaws.ec2#SubnetIpPrefixesList", + "traits": { + "aws.protocols#ec2QueryName": "Ipv4PrefixSet", + "smithy.api#documentation": "

Array of IPv4 prefixes.

", + "smithy.api#xmlName": "ipv4PrefixSet" + } + }, + "Ipv6Prefixes": { + "target": "com.amazonaws.ec2#SubnetIpPrefixesList", + "traits": { + "aws.protocols#ec2QueryName": "Ipv6PrefixSet", + "smithy.api#documentation": "

Array of IPv6 prefixes.

", + "smithy.api#xmlName": "ipv6PrefixSet" + } + }, + "FailureReason": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "FailureReason", + "smithy.api#documentation": "

Reason for the failure.

", + "smithy.api#xmlName": "failureReason" + } + }, + "ServiceNetworkArn": { + "target": "com.amazonaws.ec2#ServiceNetworkArn", + "traits": { + "aws.protocols#ec2QueryName": "ServiceNetworkArn", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the service network.

", + "smithy.api#xmlName": "serviceNetworkArn" + } + }, + "ResourceConfigurationArn": { + "target": "com.amazonaws.ec2#ResourceConfigurationArn", + "traits": { + "aws.protocols#ec2QueryName": "ResourceConfigurationArn", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the resource configuration.

", + "smithy.api#xmlName": "resourceConfigurationArn" + } + }, "ServiceRegion": { "target": "com.amazonaws.ec2#String", "traits": { @@ -111029,6 +113325,119 @@ "smithy.api#documentation": "

Describes a VPC endpoint.

" } }, + "com.amazonaws.ec2#VpcEndpointAssociation": { + "type": "structure", + "members": { + "Id": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Id", + "smithy.api#documentation": "

The ID of the VPC endpoint association.

", + "smithy.api#xmlName": "id" + } + }, + "VpcEndpointId": { + "target": "com.amazonaws.ec2#VpcEndpointId", + "traits": { + "aws.protocols#ec2QueryName": "VpcEndpointId", + "smithy.api#documentation": "

The ID of the VPC endpoint.

", + "smithy.api#xmlName": "vpcEndpointId" + } + }, + "ServiceNetworkArn": { + "target": "com.amazonaws.ec2#ServiceNetworkArn", + "traits": { + "aws.protocols#ec2QueryName": "ServiceNetworkArn", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the service network.

", + "smithy.api#xmlName": "serviceNetworkArn" + } + }, + "ServiceNetworkName": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "ServiceNetworkName", + "smithy.api#documentation": "

The name of the service network.

", + "smithy.api#xmlName": "serviceNetworkName" + } + }, + "AssociatedResourceAccessibility": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "AssociatedResourceAccessibility", + "smithy.api#documentation": "

The connectivity status of the resources associated to a VPC endpoint. The resource is\n accessible if the associated resource configuration is AVAILABLE, otherwise\n the resource is inaccessible.

", + "smithy.api#xmlName": "associatedResourceAccessibility" + } + }, + "FailureReason": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "FailureReason", + "smithy.api#documentation": "

A message related to why an VPC endpoint association failed.

", + "smithy.api#xmlName": "failureReason" + } + }, + "FailureCode": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "FailureCode", + "smithy.api#documentation": "

An error code related to why an VPC endpoint association failed.

", + "smithy.api#xmlName": "failureCode" + } + }, + "DnsEntry": { + "target": "com.amazonaws.ec2#DnsEntry", + "traits": { + "aws.protocols#ec2QueryName": "DnsEntry", + "smithy.api#documentation": "

The DNS entry of the VPC endpoint association.

", + "smithy.api#xmlName": "dnsEntry" + } + }, + "PrivateDnsEntry": { + "target": "com.amazonaws.ec2#DnsEntry", + "traits": { + "aws.protocols#ec2QueryName": "PrivateDnsEntry", + "smithy.api#documentation": "

The private DNS entry of the VPC endpoint association.

", + "smithy.api#xmlName": "privateDnsEntry" + } + }, + "AssociatedResourceArn": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "AssociatedResourceArn", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the associated resource.

", + "smithy.api#xmlName": "associatedResourceArn" + } + }, + "ResourceConfigurationGroupArn": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "ResourceConfigurationGroupArn", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the resource configuration group.

", + "smithy.api#xmlName": "resourceConfigurationGroupArn" + } + }, + "Tags": { + "target": "com.amazonaws.ec2#TagList", + "traits": { + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

The tags to apply to the VPC endpoint association.

", + "smithy.api#xmlName": "tagSet" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes the VPC resources, VPC endpoint services, Lattice services, or service\n networks associated with the VPC endpoint.

" + } + }, + "com.amazonaws.ec2#VpcEndpointAssociationSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#VpcEndpointAssociation", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, "com.amazonaws.ec2#VpcEndpointConnection": { "type": "structure", "members": { @@ -111222,6 +113631,18 @@ "traits": { "smithy.api#enumValue": "GatewayLoadBalancer" } + }, + "Resource": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Resource" + } + }, + "ServiceNetwork": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ServiceNetwork" + } } } }, diff --git a/codegen/sdk/aws-models/ecs.json b/codegen/sdk/aws-models/ecs.json index 56b65bb7fcd..81b6d754140 100644 --- a/codegen/sdk/aws-models/ecs.json +++ b/codegen/sdk/aws-models/ecs.json @@ -1539,7 +1539,7 @@ "assignPublicIp": { "target": "com.amazonaws.ecs#AssignPublicIp", "traits": { - "smithy.api#documentation": "

Whether the task's elastic network interface receives a public IP address. The default value is\n\t\t\t\tDISABLED.

" + "smithy.api#documentation": "

Whether the task's elastic network interface receives a public IP address. The default value is\n\t\t\t\tENABLED.

" } } }, @@ -2062,12 +2062,12 @@ "value": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The value to set for the cluster setting. The supported values are enabled and\n\t\t\t\tdisabled.

\n

If you set name to containerInsights and value to\n\t\t\t\tenabled, CloudWatch Container Insights will be on for the cluster, otherwise it will be off\n\t\t\tunless the containerInsights account setting is turned on. If a cluster value is\n\t\t\tspecified, it will override the containerInsights value set with PutAccountSetting or PutAccountSettingDefault.

" + "smithy.api#documentation": "

The value to set for the cluster setting. The supported values are enhanced,\n\t\t\t\tenabled, and disabled.

\n

To use Container Insights with enhanced observability, set the\n\t\t\t\tcontainerInsights account setting to enhanced.

\n

To use Container Insights, set the containerInsights account setting to\n\t\t\t\tenabled.

\n

If a cluster value is specified, it will override the containerInsights value\n\t\t\tset with PutAccountSetting or PutAccountSettingDefault.

" } } }, "traits": { - "smithy.api#documentation": "

The settings to use when creating a cluster. This parameter is used to turn on CloudWatch Container\n\t\t\tInsights for a cluster.

" + "smithy.api#documentation": "

The settings to use when creating a cluster. This parameter is used to turn on CloudWatch Container\n\t\t\tInsights with enhanced observability or CloudWatch Container\n\t\t\tInsights for a cluster.

\n

Container Insights with enhanced observability provides all the Container Insights metrics,\n\t\t\tplus additional task and container metrics. This version supports enhanced observability\n\t\t\tfor Amazon ECS clusters using the Amazon EC2 and Fargate launch types. After you configure\n\t\t\tContainer Insights with enhanced observability on Amazon ECS, Container Insights\n\t\t\tauto-collects detailed infrastructure telemetry from the cluster level down to the container\n\t\t\tlevel in your environment and displays these critical performance data in curated\n\t\t\tdashboards removing the heavy lifting in observability set-up.

\n

For more information, see Monitor\n\t\t\t\tAmazon ECS containers using Container Insights with enhanced observability in the\n\t\t\tAmazon Elastic Container Service Developer Guide.

" } }, "com.amazonaws.ecs#ClusterSettingName": { @@ -3828,7 +3828,7 @@ } ], "traits": { - "smithy.api#documentation": "

Deletes the specified capacity provider.

\n \n

The FARGATE and FARGATE_SPOT capacity providers are reserved and can't\n\t\t\t\tbe deleted. You can disassociate them from a cluster using either PutCapacityProviderProviders or by deleting the cluster.

\n
\n

Prior to a capacity provider being deleted, the capacity provider must be removed from the capacity\n\t\t\tprovider strategy from all services. The UpdateService API can be used to\n\t\t\tremove a capacity provider from a service's capacity provider strategy. When updating a service, the\n\t\t\t\tforceNewDeployment option can be used to ensure that any tasks using the Amazon EC2\n\t\t\tinstance capacity provided by the capacity provider are transitioned to use the capacity from the\n\t\t\tremaining capacity providers. Only capacity providers that aren't associated with a cluster can be\n\t\t\tdeleted. To remove a capacity provider from a cluster, you can either use PutClusterCapacityProviders or delete the cluster.

" + "smithy.api#documentation": "

Deletes the specified capacity provider.

\n \n

The FARGATE and FARGATE_SPOT capacity providers are reserved and can't\n\t\t\t\tbe deleted. You can disassociate them from a cluster using either PutClusterCapacityProviders or by deleting the cluster.

\n
\n

Prior to a capacity provider being deleted, the capacity provider must be removed from the capacity\n\t\t\tprovider strategy from all services. The UpdateService API can be used to\n\t\t\tremove a capacity provider from a service's capacity provider strategy. When updating a service, the\n\t\t\t\tforceNewDeployment option can be used to ensure that any tasks using the Amazon EC2\n\t\t\tinstance capacity provided by the capacity provider are transitioned to use the capacity from the\n\t\t\tremaining capacity providers. Only capacity providers that aren't associated with a cluster can be\n\t\t\tdeleted. To remove a capacity provider from a cluster, you can either use PutClusterCapacityProviders or delete the cluster.

" } }, "com.amazonaws.ecs#DeleteCapacityProviderRequest": { @@ -4716,7 +4716,7 @@ } ], "traits": { - "smithy.api#documentation": "

Describes one or more of your clusters.

", + "smithy.api#documentation": "

Describes one or more of your clusters.

\n

For CLI examples, see describe-clusters.rst on GitHub.

", "smithy.api#examples": [ { "title": "To describe a cluster", @@ -5614,7 +5614,7 @@ "cluster": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The short name or full Amazon Resource Name (ARN) of the cluster that hosts the task or tasks to describe.\n\t\t\tIf you do not specify a cluster, the default cluster is assumed. This parameter is required if the task or tasks you are describing were\n\t\t\tlaunched in any cluster other than the default cluster.

" + "smithy.api#documentation": "

The short name or full Amazon Resource Name (ARN) of the cluster that hosts the task or tasks to describe.\n\t\t\tIf you do not specify a cluster, the default cluster is assumed. This parameter is required. If you do not specify a value, the\n\t\t\t\tdefault cluster is used.

" } }, "tasks": { @@ -6069,7 +6069,7 @@ "target": "com.amazonaws.ecs#Integer", "traits": { "smithy.api#default": 0, - "smithy.api#documentation": "

The total amount, in GiB, of ephemeral storage to set for the task. The minimum supported value is\n\t\t\t\t20 GiB and the maximum supported value is 200 GiB.

", + "smithy.api#documentation": "

The total amount, in GiB, of ephemeral storage to set for the task. The minimum supported\n\t\t\tvalue is 21 GiB and the maximum supported value is 200\n\t\t\tGiB.

", "smithy.api#required": {} } } @@ -7422,7 +7422,7 @@ "cluster": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The cluster that hosts the service. This can either be the cluster name or ARN. Starting April 15, 2023, Amazon Web Services will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performanceIf you don't\n\t\t\tspecify a cluster, deault is used.

" + "smithy.api#documentation": "

The cluster that hosts the service. This can either be the cluster name or ARN. Starting\n\t\t\tApril 15, 2023, Amazon Web Services will not onboard new customers to Amazon Elastic\n\t\t\tInference (EI), and will help current customers migrate their workloads to options that\n\t\t\toffer better price and performanceIf you don't specify a cluster, default\n\t\t\tis used.

" } }, "status": { @@ -9150,14 +9150,14 @@ "name": { "target": "com.amazonaws.ecs#SettingName", "traits": { - "smithy.api#documentation": "

The resource name for which to modify the account setting.

\n

The following are the valid values for the account setting name.

\n
    \n
  • \n

    \n serviceLongArnFormat - When modified, the Amazon Resource Name (ARN) and\n\t\t\t\t\tresource ID format of the resource type for a specified user, role, or the root user for an\n\t\t\t\t\taccount is affected. The opt-in and opt-out account setting must be set for each Amazon ECS resource\n\t\t\t\t\tseparately. The ARN and resource ID format of a resource is defined by the opt-in status of\n\t\t\t\t\tthe user or role that created the resource. You must turn on this setting to use Amazon ECS features\n\t\t\t\t\tsuch as resource tagging.

    \n
  • \n
  • \n

    \n taskLongArnFormat - When modified, the Amazon Resource Name (ARN) and resource\n\t\t\t\t\tID format of the resource type for a specified user, role, or the root user for an account is\n\t\t\t\t\taffected. The opt-in and opt-out account setting must be set for each Amazon ECS resource\n\t\t\t\t\tseparately. The ARN and resource ID format of a resource is defined by the opt-in status of\n\t\t\t\t\tthe user or role that created the resource. You must turn on this setting to use Amazon ECS features\n\t\t\t\t\tsuch as resource tagging.

    \n
  • \n
  • \n

    \n containerInstanceLongArnFormat - When modified, the Amazon Resource Name (ARN)\n\t\t\t\t\tand resource ID format of the resource type for a specified user, role, or the root user for an\n\t\t\t\t\taccount is affected. The opt-in and opt-out account setting must be set for each Amazon ECS resource\n\t\t\t\t\tseparately. The ARN and resource ID format of a resource is defined by the opt-in status of\n\t\t\t\t\tthe user or role that created the resource. You must turn on this setting to use Amazon ECS features\n\t\t\t\t\tsuch as resource tagging.

    \n
  • \n
  • \n

    \n awsvpcTrunking - When modified, the elastic network interface (ENI) limit for\n\t\t\t\t\tany new container instances that support the feature is changed. If awsvpcTrunking\n\t\t\t\t\tis turned on, any new container instances that support the feature are launched have the\n\t\t\t\t\tincreased ENI limits available to them. For more information, see Elastic Network Interface\n\t\t\t\t\t\tTrunking in the Amazon Elastic Container Service Developer Guide.

    \n
  • \n
  • \n

    \n containerInsights - When modified, the default setting indicating whether Amazon Web Services\n\t\t\t\t\tCloudWatch Container Insights is turned on for your clusters is changed. If\n\t\t\t\t\t\tcontainerInsights is turned on, any new clusters that are created will have\n\t\t\t\t\tContainer Insights turned on unless you disable it during cluster creation. For more\n\t\t\t\t\tinformation, see CloudWatch Container\n\t\t\t\t\t\tInsights in the Amazon Elastic Container Service Developer Guide.

    \n
  • \n
  • \n

    \n dualStackIPv6 - When turned on, when using a VPC in dual stack mode, your tasks\n\t\t\t\t\tusing the awsvpc network mode can have an IPv6 address assigned. For more\n\t\t\t\t\tinformation on using IPv6 with tasks launched on Amazon EC2 instances, see Using a VPC in dual-stack mode. For more information on using IPv6 with tasks\n\t\t\t\t\tlaunched on Fargate, see Using a VPC in dual-stack mode.

    \n
  • \n
  • \n

    \n fargateFIPSMode - If you specify fargateFIPSMode, Fargate FIPS\n\t\t\t\t\t140 compliance is affected.

    \n
  • \n
  • \n

    \n fargateTaskRetirementWaitPeriod - When Amazon Web Services determines that a security or\n\t\t\t\t\tinfrastructure update is needed for an Amazon ECS task hosted on Fargate, the tasks need to be\n\t\t\t\t\tstopped and new tasks launched to replace them. Use\n\t\t\t\t\t\tfargateTaskRetirementWaitPeriod to configure the wait time to retire a\n\t\t\t\t\tFargate task. For information about the Fargate tasks maintenance, see Amazon Web Services\n\t\t\t\t\t\tFargate task maintenance in the Amazon ECS Developer\n\t\t\t\t\tGuide.

    \n
  • \n
  • \n

    \n tagResourceAuthorization - Amazon ECS is introducing tagging authorization for\n\t\t\t\t\tresource creation. Users must have permissions for actions that create the resource, such as\n\t\t\t\t\t\tecsCreateCluster. If tags are specified when you create a resource, Amazon Web Services\n\t\t\t\t\tperforms additional authorization to verify if users or roles have permissions to create tags.\n\t\t\t\t\tTherefore, you must grant explicit permissions to use the ecs:TagResource action.\n\t\t\t\t\tFor more information, see Grant permission\n\t\t\t\t\t\tto tag resources on creation in the Amazon ECS Developer\n\t\t\t\t\tGuide.

    \n
  • \n
  • \n

    \n guardDutyActivate - The guardDutyActivate parameter is read-only in Amazon ECS and indicates whether\n\t\t\tAmazon ECS Runtime Monitoring is enabled or disabled by your security administrator in your\n\t\t\tAmazon ECS account. Amazon GuardDuty controls this account setting on your behalf. For more information, see Protecting Amazon ECS workloads with Amazon ECS Runtime Monitoring.

    \n
  • \n
", + "smithy.api#documentation": "

The resource name for which to modify the account setting.

\n

The following are the valid values for the account setting name.

\n
    \n
  • \n

    \n serviceLongArnFormat - When modified, the Amazon Resource Name (ARN) and\n\t\t\t\t\tresource ID format of the resource type for a specified user, role, or the root user for an\n\t\t\t\t\taccount is affected. The opt-in and opt-out account setting must be set for each Amazon ECS resource\n\t\t\t\t\tseparately. The ARN and resource ID format of a resource is defined by the opt-in status of\n\t\t\t\t\tthe user or role that created the resource. You must turn on this setting to use Amazon ECS features\n\t\t\t\t\tsuch as resource tagging.

    \n
  • \n
  • \n

    \n taskLongArnFormat - When modified, the Amazon Resource Name (ARN) and resource\n\t\t\t\t\tID format of the resource type for a specified user, role, or the root user for an account is\n\t\t\t\t\taffected. The opt-in and opt-out account setting must be set for each Amazon ECS resource\n\t\t\t\t\tseparately. The ARN and resource ID format of a resource is defined by the opt-in status of\n\t\t\t\t\tthe user or role that created the resource. You must turn on this setting to use Amazon ECS features\n\t\t\t\t\tsuch as resource tagging.

    \n
  • \n
  • \n

    \n containerInstanceLongArnFormat - When modified, the Amazon Resource Name (ARN)\n\t\t\t\t\tand resource ID format of the resource type for a specified user, role, or the root user for an\n\t\t\t\t\taccount is affected. The opt-in and opt-out account setting must be set for each Amazon ECS resource\n\t\t\t\t\tseparately. The ARN and resource ID format of a resource is defined by the opt-in status of\n\t\t\t\t\tthe user or role that created the resource. You must turn on this setting to use Amazon ECS features\n\t\t\t\t\tsuch as resource tagging.

    \n
  • \n
  • \n

    \n awsvpcTrunking - When modified, the elastic network interface (ENI) limit for\n\t\t\t\t\tany new container instances that support the feature is changed. If awsvpcTrunking\n\t\t\t\t\tis turned on, any new container instances that support the feature are launched have the\n\t\t\t\t\tincreased ENI limits available to them. For more information, see Elastic Network Interface\n\t\t\t\t\t\tTrunking in the Amazon Elastic Container Service Developer Guide.

    \n
  • \n
  • \n

    \n containerInsights - Container Insights with enhanced observability provides\n\t\t\t\t\tall the Container Insights metrics, plus additional task and container metrics.\n\t\t\t\t\tThis version supports enhanced observability for Amazon ECS clusters using the Amazon EC2\n\t\t\t\t\tand Fargate launch types. After you configure Container Insights with enhanced\n\t\t\t\t\tobservability on Amazon ECS, Container Insights auto-collects detailed infrastructure\n\t\t\t\t\ttelemetry from the cluster level down to the container level in your environment and\n\t\t\t\t\tdisplays these critical performance data in curated dashboards removing the\n\t\t\t\t\theavy lifting in observability set-up.

    \n

    To use Container Insights with enhanced observability, set the\n\t\t\t\t\t\tcontainerInsights account setting to\n\t\t\t\t\tenhanced.

    \n

    To use Container Insights, set the containerInsights account\n\t\t\t\t\tsetting to enabled.

    \n

    For more information, see Monitor Amazon ECS containers using Container Insights with enhanced observability in the Amazon Elastic Container Service Developer Guide.

    \n
  • \n
  • \n

    \n dualStackIPv6 - When turned on, when using a VPC in dual stack mode, your tasks\n\t\t\t\t\tusing the awsvpc network mode can have an IPv6 address assigned. For more\n\t\t\t\t\tinformation on using IPv6 with tasks launched on Amazon EC2 instances, see Using a VPC in dual-stack mode. For more information on using IPv6 with tasks\n\t\t\t\t\tlaunched on Fargate, see Using a VPC in dual-stack mode.

    \n
  • \n
  • \n

    \n fargateFIPSMode - If you specify fargateFIPSMode, Fargate FIPS\n\t\t\t\t\t140 compliance is affected.

    \n
  • \n
  • \n

    \n fargateTaskRetirementWaitPeriod - When Amazon Web Services determines that a security or\n\t\t\t\t\tinfrastructure update is needed for an Amazon ECS task hosted on Fargate, the tasks need to be\n\t\t\t\t\tstopped and new tasks launched to replace them. Use\n\t\t\t\t\t\tfargateTaskRetirementWaitPeriod to configure the wait time to retire a\n\t\t\t\t\tFargate task. For information about the Fargate tasks maintenance, see Amazon Web Services\n\t\t\t\t\t\tFargate task maintenance in the Amazon ECS Developer\n\t\t\t\t\tGuide.

    \n
  • \n
  • \n

    \n tagResourceAuthorization - Amazon ECS is introducing tagging authorization for\n\t\t\t\t\tresource creation. Users must have permissions for actions that create the resource, such as\n\t\t\t\t\t\tecsCreateCluster. If tags are specified when you create a resource, Amazon Web Services\n\t\t\t\t\tperforms additional authorization to verify if users or roles have permissions to create tags.\n\t\t\t\t\tTherefore, you must grant explicit permissions to use the ecs:TagResource action.\n\t\t\t\t\tFor more information, see Grant permission\n\t\t\t\t\t\tto tag resources on creation in the Amazon ECS Developer\n\t\t\t\t\tGuide.

    \n
  • \n
  • \n

    \n guardDutyActivate - The guardDutyActivate parameter is read-only in Amazon ECS and indicates whether\n\t\t\tAmazon ECS Runtime Monitoring is enabled or disabled by your security administrator in your\n\t\t\tAmazon ECS account. Amazon GuardDuty controls this account setting on your behalf. For more information, see Protecting Amazon ECS workloads with Amazon ECS Runtime Monitoring.

    \n
  • \n
", "smithy.api#required": {} } }, "value": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The account setting value for the specified principal ARN. Accepted values are enabled,\n\t\t\t\tdisabled, on, and off.

\n

When you specify fargateTaskRetirementWaitPeriod for the name, the\n\t\t\tfollowing are the valid values:

\n
    \n
  • \n

    \n 0 - Amazon Web Services sends the notification, and immediately retires the affected\n\t\t\t\t\ttasks.

    \n
  • \n
  • \n

    \n 7 - Amazon Web Services sends the notification, and waits 7 calendar days to retire the\n\t\t\t\t\ttasks.

    \n
  • \n
  • \n

    \n 14 - Amazon Web Services sends the notification, and waits 14 calendar days to retire the\n\t\t\t\t\ttasks.

    \n
  • \n
", + "smithy.api#documentation": "

The account setting value for the specified principal ARN. Accepted values are\n\t\t\t\tenabled, disabled, on, enhanced,\n\t\t\tand off.

\n

When you specify fargateTaskRetirementWaitPeriod for the\n\t\t\t\tname, the following are the valid values:

\n
    \n
  • \n

    \n 0 - Amazon Web Services sends the notification, and immediately retires the affected\n\t\t\t\t\ttasks.

    \n
  • \n
  • \n

    \n 7 - Amazon Web Services sends the notification, and waits 7 calendar days to retire the\n\t\t\t\t\ttasks.

    \n
  • \n
  • \n

    \n 14 - Amazon Web Services sends the notification, and waits 14 calendar days to retire the\n\t\t\t\t\ttasks.

    \n
  • \n
", "smithy.api#required": {} } } @@ -9186,14 +9186,14 @@ "name": { "target": "com.amazonaws.ecs#SettingName", "traits": { - "smithy.api#documentation": "

The Amazon ECS account setting name to modify.

\n

The following are the valid values for the account setting name.

\n
    \n
  • \n

    \n serviceLongArnFormat - When modified, the Amazon Resource Name (ARN) and\n\t\t\t\t\tresource ID format of the resource type for a specified user, role, or the root user for an\n\t\t\t\t\taccount is affected. The opt-in and opt-out account setting must be set for each Amazon ECS resource\n\t\t\t\t\tseparately. The ARN and resource ID format of a resource is defined by the opt-in status of\n\t\t\t\t\tthe user or role that created the resource. You must turn on this setting to use Amazon ECS features\n\t\t\t\t\tsuch as resource tagging.

    \n
  • \n
  • \n

    \n taskLongArnFormat - When modified, the Amazon Resource Name (ARN) and resource\n\t\t\t\t\tID format of the resource type for a specified user, role, or the root user for an account is\n\t\t\t\t\taffected. The opt-in and opt-out account setting must be set for each Amazon ECS resource\n\t\t\t\t\tseparately. The ARN and resource ID format of a resource is defined by the opt-in status of\n\t\t\t\t\tthe user or role that created the resource. You must turn on this setting to use Amazon ECS features\n\t\t\t\t\tsuch as resource tagging.

    \n
  • \n
  • \n

    \n containerInstanceLongArnFormat - When modified, the Amazon Resource Name (ARN)\n\t\t\t\t\tand resource ID format of the resource type for a specified user, role, or the root user for an\n\t\t\t\t\taccount is affected. The opt-in and opt-out account setting must be set for each Amazon ECS resource\n\t\t\t\t\tseparately. The ARN and resource ID format of a resource is defined by the opt-in status of\n\t\t\t\t\tthe user or role that created the resource. You must turn on this setting to use Amazon ECS features\n\t\t\t\t\tsuch as resource tagging.

    \n
  • \n
  • \n

    \n awsvpcTrunking - When modified, the elastic network interface (ENI) limit for\n\t\t\t\t\tany new container instances that support the feature is changed. If awsvpcTrunking\n\t\t\t\t\tis turned on, any new container instances that support the feature are launched have the\n\t\t\t\t\tincreased ENI limits available to them. For more information, see Elastic Network Interface\n\t\t\t\t\t\tTrunking in the Amazon Elastic Container Service Developer Guide.

    \n
  • \n
  • \n

    \n containerInsights - When modified, the default setting indicating whether Amazon Web Services\n\t\t\t\t\tCloudWatch Container Insights is turned on for your clusters is changed. If\n\t\t\t\t\t\tcontainerInsights is turned on, any new clusters that are created will have\n\t\t\t\t\tContainer Insights turned on unless you disable it during cluster creation. For more\n\t\t\t\t\tinformation, see CloudWatch Container\n\t\t\t\t\t\tInsights in the Amazon Elastic Container Service Developer Guide.

    \n
  • \n
  • \n

    \n dualStackIPv6 - When turned on, when using a VPC in dual stack mode, your tasks\n\t\t\t\t\tusing the awsvpc network mode can have an IPv6 address assigned. For more\n\t\t\t\t\tinformation on using IPv6 with tasks launched on Amazon EC2 instances, see Using a VPC in dual-stack mode. For more information on using IPv6 with tasks\n\t\t\t\t\tlaunched on Fargate, see Using a VPC in dual-stack mode.

    \n
  • \n
  • \n

    \n fargateTaskRetirementWaitPeriod - When Amazon Web Services determines that a security or\n\t\t\t\t\tinfrastructure update is needed for an Amazon ECS task hosted on Fargate, the tasks need to be\n\t\t\t\t\tstopped and new tasks launched to replace them. Use\n\t\t\t\t\t\tfargateTaskRetirementWaitPeriod to configure the wait time to retire a\n\t\t\t\t\tFargate task. For information about the Fargate tasks maintenance, see Amazon Web Services\n\t\t\t\t\t\tFargate task maintenance in the Amazon ECS Developer\n\t\t\t\t\tGuide.

    \n
  • \n
  • \n

    \n tagResourceAuthorization - Amazon ECS is introducing tagging authorization for\n\t\t\t\t\tresource creation. Users must have permissions for actions that create the resource, such as\n\t\t\t\t\t\tecsCreateCluster. If tags are specified when you create a resource, Amazon Web Services\n\t\t\t\t\tperforms additional authorization to verify if users or roles have permissions to create tags.\n\t\t\t\t\tTherefore, you must grant explicit permissions to use the ecs:TagResource action.\n\t\t\t\t\tFor more information, see Grant permission\n\t\t\t\t\t\tto tag resources on creation in the Amazon ECS Developer\n\t\t\t\t\tGuide.

    \n
  • \n
  • \n

    \n guardDutyActivate - The guardDutyActivate parameter is read-only in Amazon ECS and indicates whether\n\t\t\tAmazon ECS Runtime Monitoring is enabled or disabled by your security administrator in your\n\t\t\tAmazon ECS account. Amazon GuardDuty controls this account setting on your behalf. For more information, see Protecting Amazon ECS workloads with Amazon ECS Runtime Monitoring.

    \n
  • \n
", + "smithy.api#documentation": "

The Amazon ECS account setting name to modify.

\n

The following are the valid values for the account setting name.

\n
    \n
  • \n

    \n serviceLongArnFormat - When modified, the Amazon Resource Name (ARN) and\n\t\t\t\t\tresource ID format of the resource type for a specified user, role, or the root user for an\n\t\t\t\t\taccount is affected. The opt-in and opt-out account setting must be set for each Amazon ECS resource\n\t\t\t\t\tseparately. The ARN and resource ID format of a resource is defined by the opt-in status of\n\t\t\t\t\tthe user or role that created the resource. You must turn on this setting to use Amazon ECS features\n\t\t\t\t\tsuch as resource tagging.

    \n
  • \n
  • \n

    \n taskLongArnFormat - When modified, the Amazon Resource Name (ARN) and resource\n\t\t\t\t\tID format of the resource type for a specified user, role, or the root user for an account is\n\t\t\t\t\taffected. The opt-in and opt-out account setting must be set for each Amazon ECS resource\n\t\t\t\t\tseparately. The ARN and resource ID format of a resource is defined by the opt-in status of\n\t\t\t\t\tthe user or role that created the resource. You must turn on this setting to use Amazon ECS features\n\t\t\t\t\tsuch as resource tagging.

    \n
  • \n
  • \n

    \n containerInstanceLongArnFormat - When modified, the Amazon Resource Name (ARN)\n\t\t\t\t\tand resource ID format of the resource type for a specified user, role, or the root user for an\n\t\t\t\t\taccount is affected. The opt-in and opt-out account setting must be set for each Amazon ECS resource\n\t\t\t\t\tseparately. The ARN and resource ID format of a resource is defined by the opt-in status of\n\t\t\t\t\tthe user or role that created the resource. You must turn on this setting to use Amazon ECS features\n\t\t\t\t\tsuch as resource tagging.

    \n
  • \n
  • \n

    \n awsvpcTrunking - When modified, the elastic network interface (ENI) limit for\n\t\t\t\t\tany new container instances that support the feature is changed. If awsvpcTrunking\n\t\t\t\t\tis turned on, any new container instances that support the feature are launched have the\n\t\t\t\t\tincreased ENI limits available to them. For more information, see Elastic Network Interface\n\t\t\t\t\t\tTrunking in the Amazon Elastic Container Service Developer Guide.

    \n
  • \n
  • \n

    \n containerInsights - Container Insights with enhanced observability provides\n\t\t\t\t\tall the Container Insights metrics, plus additional task and container metrics.\n\t\t\t\t\tThis version supports enhanced observability for Amazon ECS clusters using the Amazon EC2\n\t\t\t\t\tand Fargate launch types. After you configure Container Insights with enhanced\n\t\t\t\t\tobservability on Amazon ECS, Container Insights auto-collects detailed infrastructure\n\t\t\t\t\ttelemetry from the cluster level down to the container level in your environment and\n\t\t\t\t\tdisplays these critical performance data in curated dashboards removing the\n\t\t\t\t\theavy lifting in observability set-up.

    \n

    To use Container Insights with enhanced observability, set the\n\t\t\t\t\t\tcontainerInsights account setting to\n\t\t\t\t\tenhanced.

    \n

    To use Container Insights, set the containerInsights account setting to\n\t\t\t\t\t\tenabled.

    \n

    For more information, see Monitor Amazon ECS containers using Container Insights with enhanced observability in the Amazon Elastic Container Service Developer Guide.

    \n
  • \n
  • \n

    \n dualStackIPv6 - When turned on, when using a VPC in dual stack mode, your tasks\n\t\t\t\t\tusing the awsvpc network mode can have an IPv6 address assigned. For more\n\t\t\t\t\tinformation on using IPv6 with tasks launched on Amazon EC2 instances, see Using a VPC in dual-stack mode. For more information on using IPv6 with tasks\n\t\t\t\t\tlaunched on Fargate, see Using a VPC in dual-stack mode.

    \n
  • \n
  • \n

    \n fargateTaskRetirementWaitPeriod - When Amazon Web Services determines that a security or\n\t\t\t\t\tinfrastructure update is needed for an Amazon ECS task hosted on Fargate, the tasks need to be\n\t\t\t\t\tstopped and new tasks launched to replace them. Use\n\t\t\t\t\t\tfargateTaskRetirementWaitPeriod to configure the wait time to retire a\n\t\t\t\t\tFargate task. For information about the Fargate tasks maintenance, see Amazon Web Services\n\t\t\t\t\t\tFargate task maintenance in the Amazon ECS Developer\n\t\t\t\t\tGuide.

    \n
  • \n
  • \n

    \n tagResourceAuthorization - Amazon ECS is introducing tagging authorization for\n\t\t\t\t\tresource creation. Users must have permissions for actions that create the resource, such as\n\t\t\t\t\t\tecsCreateCluster. If tags are specified when you create a resource, Amazon Web Services\n\t\t\t\t\tperforms additional authorization to verify if users or roles have permissions to create tags.\n\t\t\t\t\tTherefore, you must grant explicit permissions to use the ecs:TagResource action.\n\t\t\t\t\tFor more information, see Grant permission\n\t\t\t\t\t\tto tag resources on creation in the Amazon ECS Developer\n\t\t\t\t\tGuide.

    \n
  • \n
  • \n

    \n guardDutyActivate - The guardDutyActivate parameter is read-only in Amazon ECS and indicates whether\n\t\t\tAmazon ECS Runtime Monitoring is enabled or disabled by your security administrator in your\n\t\t\tAmazon ECS account. Amazon GuardDuty controls this account setting on your behalf. For more information, see Protecting Amazon ECS workloads with Amazon ECS Runtime Monitoring.

    \n
  • \n
", "smithy.api#required": {} } }, "value": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The account setting value for the specified principal ARN. Accepted values are enabled,\n\t\t\t\tdisabled, on, and off.

\n

When you specify fargateTaskRetirementWaitPeriod for the name, the\n\t\t\tfollowing are the valid values:

\n
    \n
  • \n

    \n 0 - Amazon Web Services sends the notification, and immediately retires the affected\n\t\t\t\t\ttasks.

    \n
  • \n
  • \n

    \n 7 - Amazon Web Services sends the notification, and waits 7 calendar days to retire the\n\t\t\t\t\ttasks.

    \n
  • \n
  • \n

    \n 14 - Amazon Web Services sends the notification, and waits 14 calendar days to retire the\n\t\t\t\t\ttasks.

    \n
  • \n
", + "smithy.api#documentation": "

The account setting value for the specified principal ARN. Accepted values are\n\t\t\t\tenabled, disabled, enhanced,\n\t\t\t\ton, and off.

\n

When you specify fargateTaskRetirementWaitPeriod for the\n\t\t\t\tname, the following are the valid values:

\n
    \n
  • \n

    \n 0 - Amazon Web Services sends the notification, and immediately retires the affected\n\t\t\t\t\ttasks.

    \n
  • \n
  • \n

    \n 7 - Amazon Web Services sends the notification, and waits 7 calendar days to retire the\n\t\t\t\t\ttasks.

    \n
  • \n
  • \n

    \n 14 - Amazon Web Services sends the notification, and waits 14 calendar days to retire the\n\t\t\t\t\ttasks.

    \n
  • \n
", "smithy.api#required": {} } }, diff --git a/codegen/sdk/aws-models/eks.json b/codegen/sdk/aws-models/eks.json index e3a975608d5..06f60c4a44e 100644 --- a/codegen/sdk/aws-models/eks.json +++ b/codegen/sdk/aws-models/eks.json @@ -1893,6 +1893,12 @@ "smithy.api#documentation": "

The architectures that the version supports.

" } }, + "computeTypes": { + "target": "com.amazonaws.eks#StringList", + "traits": { + "smithy.api#documentation": "

Indicates the compute type of the addon version.

" + } + }, "compatibilities": { "target": "com.amazonaws.eks#Compatibilities", "traits": { @@ -2290,6 +2296,20 @@ "smithy.api#httpError": 400 } }, + "com.amazonaws.eks#BlockStorage": { + "type": "structure", + "members": { + "enabled": { + "target": "com.amazonaws.eks#BoxedBoolean", + "traits": { + "smithy.api#documentation": "

Indicates if the block storage capability is enabled on your EKS Auto Mode cluster. If the block storage capability is enabled, EKS Auto Mode will create and delete EBS volumes in your Amazon Web Services account.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Indicates the current configuration of the block storage capability on your EKS Auto Mode cluster. For example, if the capability is enabled or disabled. If the block storage capability is enabled, EKS Auto Mode will create and delete EBS volumes in your Amazon Web Services account. For more information, see EKS Auto Mode block storage capability in the EKS User Guide.

" + } + }, "com.amazonaws.eks#Boolean": { "type": "boolean", "traits": { @@ -2577,6 +2597,24 @@ "traits": { "smithy.api#documentation": "

The configuration for zonal shift for the cluster.

" } + }, + "remoteNetworkConfig": { + "target": "com.amazonaws.eks#RemoteNetworkConfigResponse", + "traits": { + "smithy.api#documentation": "

The configuration in the cluster for EKS Hybrid Nodes. You can't change or update this\n configuration after the cluster is created.

" + } + }, + "computeConfig": { + "target": "com.amazonaws.eks#ComputeConfigResponse", + "traits": { + "smithy.api#documentation": "

Indicates the current configuration of the compute capability on your EKS Auto Mode cluster. For example, if the capability is enabled or disabled. If the compute capability is enabled, EKS Auto Mode will create and delete EC2 Managed Instances in your Amazon Web Services account. For more information, see EKS Auto Mode compute capability in the EKS User Guide.

" + } + }, + "storageConfig": { + "target": "com.amazonaws.eks#StorageConfigResponse", + "traits": { + "smithy.api#documentation": "

Indicates the current configuration of the block storage capability on your EKS Auto Mode cluster. For example, if the capability is enabled or disabled. If the block storage capability is enabled, EKS Auto Mode will create and delete EBS volumes in your Amazon Web Services account. For more information, see EKS Auto Mode block storage capability in the EKS User Guide.

" + } } }, "traits": { @@ -2832,6 +2870,58 @@ "smithy.api#documentation": "

Compatibility information.

" } }, + "com.amazonaws.eks#ComputeConfigRequest": { + "type": "structure", + "members": { + "enabled": { + "target": "com.amazonaws.eks#BoxedBoolean", + "traits": { + "smithy.api#documentation": "

Request to enable or disable the compute capability on your EKS Auto Mode cluster. If the compute capability is enabled, EKS Auto Mode will create and delete EC2 Managed Instances in your Amazon Web Services account.

" + } + }, + "nodePools": { + "target": "com.amazonaws.eks#StringList", + "traits": { + "smithy.api#documentation": "

Configuration for node pools that defines the compute resources for your EKS Auto Mode cluster. For more information, see EKS Auto Mode Node Pools in the EKS User Guide.

" + } + }, + "nodeRoleArn": { + "target": "com.amazonaws.eks#String", + "traits": { + "smithy.api#documentation": "

The ARN of the IAM Role EKS will assign to EC2 Managed Instances in your EKS Auto Mode cluster. This value cannot be changed after the compute capability of EKS Auto Mode is enabled. For more information, see the IAM Reference in the EKS User Guide.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Request to update the configuration of the compute capability of your EKS Auto Mode cluster. For example, enable the capability. For more information, see EKS Auto Mode compute capability in the EKS User Guide.

" + } + }, + "com.amazonaws.eks#ComputeConfigResponse": { + "type": "structure", + "members": { + "enabled": { + "target": "com.amazonaws.eks#BoxedBoolean", + "traits": { + "smithy.api#documentation": "

Indicates if the compute capability is enabled on your EKS Auto Mode cluster. If the compute capability is enabled, EKS Auto Mode will create and delete EC2 Managed Instances in your Amazon Web Services account.

" + } + }, + "nodePools": { + "target": "com.amazonaws.eks#StringList", + "traits": { + "smithy.api#documentation": "

Indicates the current configuration of node pools in your EKS Auto Mode cluster. For more information, see EKS Auto Mode Node Pools in the EKS User Guide.

" + } + }, + "nodeRoleArn": { + "target": "com.amazonaws.eks#String", + "traits": { + "smithy.api#documentation": "

The ARN of the IAM Role EKS will assign to EC2 Managed Instances in your EKS Auto Mode cluster.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Indicates the status of the request to update the compute capability of your EKS Auto Mode cluster.

" + } + }, "com.amazonaws.eks#ConnectorConfigProvider": { "type": "enum", "members": { @@ -3367,6 +3457,24 @@ "traits": { "smithy.api#documentation": "

Enable or disable ARC zonal shift for the cluster. If zonal shift is enabled, Amazon Web Services\n configures zonal autoshift for the cluster.

\n

Zonal shift is a feature of\n Amazon Application Recovery Controller (ARC). ARC zonal shift is designed to be a temporary measure that allows you to move\n traffic for a resource away from an impaired AZ until the zonal shift expires or you cancel\n it. You can extend the zonal shift if necessary.

\n

You can start a zonal shift for an EKS cluster, or you can allow Amazon Web Services to do it for you\n by enabling zonal autoshift. This shift updates the flow of\n east-to-west network traffic in your cluster to only consider network endpoints for Pods\n running on worker nodes in healthy AZs. Additionally, any ALB or NLB handling ingress\n traffic for applications in your EKS cluster will automatically route traffic to targets in\n the healthy AZs. For more information about zonal shift in EKS, see Learn about Amazon Application Recovery Controller (ARC)\n Zonal Shift in Amazon EKS in the\n \n Amazon EKS User Guide\n .

" } + }, + "remoteNetworkConfig": { + "target": "com.amazonaws.eks#RemoteNetworkConfigRequest", + "traits": { + "smithy.api#documentation": "

The configuration in the cluster for EKS Hybrid Nodes. You can't change or update this\n configuration after the cluster is created.

" + } + }, + "computeConfig": { + "target": "com.amazonaws.eks#ComputeConfigRequest", + "traits": { + "smithy.api#documentation": "

Enable or disable the compute capability of EKS Auto Mode when creating your EKS Auto Mode cluster. If the compute capability is enabled, EKS Auto Mode will create and delete EC2 Managed Instances in your Amazon Web Services account

" + } + }, + "storageConfig": { + "target": "com.amazonaws.eks#StorageConfigRequest", + "traits": { + "smithy.api#documentation": "

Enable or disable the block storage capability of EKS Auto Mode when creating your EKS Auto Mode cluster. If the block storage capability is enabled, EKS Auto Mode will create and delete EBS volumes in your Amazon Web Services account.

" + } } }, "traits": { @@ -5958,6 +6066,20 @@ } } }, + "com.amazonaws.eks#ElasticLoadBalancing": { + "type": "structure", + "members": { + "enabled": { + "target": "com.amazonaws.eks#BoxedBoolean", + "traits": { + "smithy.api#documentation": "

Indicates if the load balancing capability is enabled on your EKS Auto Mode cluster. If the load balancing capability is enabled, EKS Auto Mode will create and delete load balancers in your Amazon Web Services account.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Indicates the current configuration of the load balancing capability on your EKS Auto Mode cluster. For example, if the capability is enabled or disabled. For more information, see EKS Auto Mode load balancing capability in the EKS User Guide.

" + } + }, "com.amazonaws.eks#EncryptionConfig": { "type": "structure", "members": { @@ -6837,6 +6959,12 @@ "traits": { "smithy.api#documentation": "

Specify which IP family is used to assign Kubernetes pod and service IP addresses. If you\n don't specify a value, ipv4 is used by default. You can only specify an IP\n family when you create a cluster and can't change this value once the cluster is\n created. If you specify ipv6, the VPC and subnets that you specify for\n cluster creation must have both IPv4 and IPv6 CIDR blocks\n assigned to them. You can't specify ipv6 for clusters in China\n Regions.

\n

You can only specify ipv6 for 1.21 and later clusters that\n use version 1.10.1 or later of the Amazon VPC CNI add-on. If you specify\n ipv6, then ensure that your VPC meets the requirements listed in the\n considerations listed in Assigning IPv6 addresses to pods and\n services in the Amazon EKS User Guide. Kubernetes assigns services\n IPv6 addresses from the unique local address range\n (fc00::/7). You can't specify a custom IPv6 CIDR block.\n Pod addresses are assigned from the subnet's IPv6 CIDR.

" } + }, + "elasticLoadBalancing": { + "target": "com.amazonaws.eks#ElasticLoadBalancing", + "traits": { + "smithy.api#documentation": "

Request to enable or disable the load balancing capability on your EKS Auto Mode cluster. For more information, see EKS Auto Mode load balancing capability in the EKS User Guide.

" + } } }, "traits": { @@ -6863,6 +6991,12 @@ "traits": { "smithy.api#documentation": "

The IP family used to assign Kubernetes Pod and Service objects\n IP addresses. The IP family is always ipv4, unless you have a\n 1.21 or later cluster running version 1.10.1 or later of\n the Amazon VPC CNI plugin for Kubernetes and specified ipv6 when you created the cluster.\n

" } + }, + "elasticLoadBalancing": { + "target": "com.amazonaws.eks#ElasticLoadBalancing", + "traits": { + "smithy.api#documentation": "

Indicates the current configuration of the load balancing capability on your EKS Auto Mode cluster. For example, if the capability is enabled or disabled.

" + } } }, "traits": { @@ -9243,6 +9377,98 @@ "smithy.api#documentation": "

An object representing the remote access configuration for the managed node\n group.

" } }, + "com.amazonaws.eks#RemoteNetworkConfigRequest": { + "type": "structure", + "members": { + "remoteNodeNetworks": { + "target": "com.amazonaws.eks#RemoteNodeNetworkList", + "traits": { + "smithy.api#documentation": "

The list of network CIDRs that can contain hybrid nodes.

" + } + }, + "remotePodNetworks": { + "target": "com.amazonaws.eks#RemotePodNetworkList", + "traits": { + "smithy.api#documentation": "

The list of network CIDRs that can contain pods that run Kubernetes webhooks on hybrid nodes.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The configuration in the cluster for EKS Hybrid Nodes. You can't change or update this\n configuration after the cluster is created.

" + } + }, + "com.amazonaws.eks#RemoteNetworkConfigResponse": { + "type": "structure", + "members": { + "remoteNodeNetworks": { + "target": "com.amazonaws.eks#RemoteNodeNetworkList", + "traits": { + "smithy.api#documentation": "

The list of network CIDRs that can contain hybrid nodes.

" + } + }, + "remotePodNetworks": { + "target": "com.amazonaws.eks#RemotePodNetworkList", + "traits": { + "smithy.api#documentation": "

The list of network CIDRs that can contain pods that run Kubernetes webhooks on hybrid nodes.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The configuration in the cluster for EKS Hybrid Nodes. You can't change or update this\n configuration after the cluster is created.

" + } + }, + "com.amazonaws.eks#RemoteNodeNetwork": { + "type": "structure", + "members": { + "cidrs": { + "target": "com.amazonaws.eks#StringList", + "traits": { + "smithy.api#documentation": "

A network CIDR that can contain hybrid nodes.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

A network CIDR that can contain hybrid nodes.

" + } + }, + "com.amazonaws.eks#RemoteNodeNetworkList": { + "type": "list", + "member": { + "target": "com.amazonaws.eks#RemoteNodeNetwork" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 1 + } + } + }, + "com.amazonaws.eks#RemotePodNetwork": { + "type": "structure", + "members": { + "cidrs": { + "target": "com.amazonaws.eks#StringList", + "traits": { + "smithy.api#documentation": "

A network CIDR that can contain pods that run Kubernetes webhooks on hybrid nodes.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

A network CIDR that can contain pods that run Kubernetes webhooks on hybrid nodes.

" + } + }, + "com.amazonaws.eks#RemotePodNetworkList": { + "type": "list", + "member": { + "target": "com.amazonaws.eks#RemotePodNetwork" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 1 + } + } + }, "com.amazonaws.eks#ResolveConflicts": { "type": "enum", "members": { @@ -9461,6 +9687,34 @@ "smithy.api#httpError": 503 } }, + "com.amazonaws.eks#StorageConfigRequest": { + "type": "structure", + "members": { + "blockStorage": { + "target": "com.amazonaws.eks#BlockStorage", + "traits": { + "smithy.api#documentation": "

Request to configure EBS Block Storage settings for your EKS Auto Mode cluster.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Request to update the configuration of the storage capability of your EKS Auto Mode cluster. For example, enable the capability. For more information, see EKS Auto Mode block storage capability in the EKS User Guide.

" + } + }, + "com.amazonaws.eks#StorageConfigResponse": { + "type": "structure", + "members": { + "blockStorage": { + "target": "com.amazonaws.eks#BlockStorage", + "traits": { + "smithy.api#documentation": "

Indicates the current configuration of the block storage capability on your EKS Auto Mode cluster. For example, if the capability is enabled or disabled.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Indicates the status of the request to update the block storage capability of your EKS Auto Mode cluster.

" + } + }, "com.amazonaws.eks#String": { "type": "string" }, @@ -10068,6 +10322,21 @@ "traits": { "smithy.api#documentation": "

Enable or disable ARC zonal shift for the cluster. If zonal shift is enabled, Amazon Web Services\n configures zonal autoshift for the cluster.

\n

Zonal shift is a feature of\n Amazon Application Recovery Controller (ARC). ARC zonal shift is designed to be a temporary measure that allows you to move\n traffic for a resource away from an impaired AZ until the zonal shift expires or you cancel\n it. You can extend the zonal shift if necessary.

\n

You can start a zonal shift for an EKS cluster, or you can allow Amazon Web Services to do it for you\n by enabling zonal autoshift. This shift updates the flow of\n east-to-west network traffic in your cluster to only consider network endpoints for Pods\n running on worker nodes in healthy AZs. Additionally, any ALB or NLB handling ingress\n traffic for applications in your EKS cluster will automatically route traffic to targets in\n the healthy AZs. For more information about zonal shift in EKS, see Learn about Amazon Application Recovery Controller (ARC)\n Zonal Shift in Amazon EKS in the\n \n Amazon EKS User Guide\n .

" } + }, + "computeConfig": { + "target": "com.amazonaws.eks#ComputeConfigRequest", + "traits": { + "smithy.api#documentation": "

Update the configuration of the compute capability of your EKS Auto Mode cluster. For example, enable the capability.

" + } + }, + "kubernetesNetworkConfig": { + "target": "com.amazonaws.eks#KubernetesNetworkConfigRequest" + }, + "storageConfig": { + "target": "com.amazonaws.eks#StorageConfigRequest", + "traits": { + "smithy.api#documentation": "

Update the configuration of the block storage capability of your EKS Auto Mode cluster. For example, enable the capability.

" + } } }, "traits": { @@ -10674,6 +10943,24 @@ "traits": { "smithy.api#enumValue": "ZonalShiftConfig" } + }, + "COMPUTE_CONFIG": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ComputeConfig" + } + }, + "STORAGE_CONFIG": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "StorageConfig" + } + }, + "KUBERNETES_NETWORK_CONFIG": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "KubernetesNetworkConfig" + } } } }, @@ -10888,6 +11175,12 @@ "traits": { "smithy.api#enumValue": "ZonalShiftConfigUpdate" } + }, + "AUTO_MODE_UPDATE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AutoModeUpdate" + } } } }, diff --git a/codegen/sdk/aws-models/eventbridge.json b/codegen/sdk/aws-models/eventbridge.json index e61df2d72ed..41df041a238 100644 --- a/codegen/sdk/aws-models/eventbridge.json +++ b/codegen/sdk/aws-models/eventbridge.json @@ -1598,6 +1598,18 @@ } } }, + "com.amazonaws.eventbridge#AccessDeniedException": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.eventbridge#ErrorMessage" + } + }, + "traits": { + "smithy.api#documentation": "

You do not have the necessary permissons for this action.

", + "smithy.api#error": "client" + } + }, "com.amazonaws.eventbridge#AccountId": { "type": "string", "traits": { @@ -2419,10 +2431,16 @@ "traits": { "smithy.api#documentation": "

Additional parameters for the connection that are passed through with every invocation to\n the HTTP endpoint.

" } + }, + "ConnectivityParameters": { + "target": "com.amazonaws.eventbridge#DescribeConnectionConnectivityParameters", + "traits": { + "smithy.api#documentation": "

For private OAuth authentication endpoints. The parameters EventBridge uses to authenticate against the endpoint.

\n

For more information, see Authorization methods for connections in the \n Amazon EventBridge User Guide\n .

" + } } }, "traits": { - "smithy.api#documentation": "

Contains the authorization parameters to use for the connection.

" + "smithy.api#documentation": "

Tthe authorization parameters to use for the connection.

" } }, "com.amazonaws.eventbridge#ConnectionAuthorizationType": { @@ -2459,7 +2477,7 @@ } }, "traits": { - "smithy.api#documentation": "

Contains the authorization parameters for the connection if Basic is specified as the\n authorization type.

" + "smithy.api#documentation": "

The authorization parameters for the connection if Basic is specified as the\n authorization type.

" } }, "com.amazonaws.eventbridge#ConnectionBodyParameter": { @@ -2481,7 +2499,7 @@ "target": "com.amazonaws.eventbridge#Boolean", "traits": { "smithy.api#default": false, - "smithy.api#documentation": "

Specified whether the value is secret.

" + "smithy.api#documentation": "

Specifies whether the value is secret.

" } } }, @@ -2530,7 +2548,7 @@ "target": "com.amazonaws.eventbridge#Boolean", "traits": { "smithy.api#default": false, - "smithy.api#documentation": "

Specified whether the value is a secret.

" + "smithy.api#documentation": "

Specifies whether the value is a secret.

" } } }, @@ -2556,24 +2574,24 @@ "HeaderParameters": { "target": "com.amazonaws.eventbridge#ConnectionHeaderParametersList", "traits": { - "smithy.api#documentation": "

Contains additional header parameters for the connection.

" + "smithy.api#documentation": "

Any additional header parameters for the connection.

" } }, "QueryStringParameters": { "target": "com.amazonaws.eventbridge#ConnectionQueryStringParametersList", "traits": { - "smithy.api#documentation": "

Contains additional query string parameters for the connection.

" + "smithy.api#documentation": "

Any additional query string parameters for the connection.

" } }, "BodyParameters": { "target": "com.amazonaws.eventbridge#ConnectionBodyParametersList", "traits": { - "smithy.api#documentation": "

Contains additional body string parameters for the connection.

" + "smithy.api#documentation": "

Any additional body string parameters for the connection.

" } } }, "traits": { - "smithy.api#documentation": "

Contains additional parameters for the connection.

" + "smithy.api#documentation": "

Any additional parameters for the connection.

" } }, "com.amazonaws.eventbridge#ConnectionName": { @@ -2597,7 +2615,7 @@ } }, "traits": { - "smithy.api#documentation": "

Contains the client response parameters for the connection when OAuth is specified as the\n authorization type.

" + "smithy.api#documentation": "

The client response parameters for the connection when OAuth is specified as the\n authorization type.

" } }, "com.amazonaws.eventbridge#ConnectionOAuthHttpMethod": { @@ -2629,7 +2647,7 @@ "ClientParameters": { "target": "com.amazonaws.eventbridge#ConnectionOAuthClientResponseParameters", "traits": { - "smithy.api#documentation": "

A ConnectionOAuthClientResponseParameters object that contains details about\n the client parameters returned when OAuth is specified as the authorization type.

" + "smithy.api#documentation": "

Details about the client parameters returned when OAuth is specified as the authorization type.

" } }, "AuthorizationEndpoint": { @@ -2652,7 +2670,7 @@ } }, "traits": { - "smithy.api#documentation": "

Contains the response parameters when OAuth is specified as the authorization type.

" + "smithy.api#documentation": "

The response parameters when OAuth is specified as the authorization type.

" } }, "com.amazonaws.eventbridge#ConnectionQueryStringParameter": { @@ -2679,7 +2697,7 @@ } }, "traits": { - "smithy.api#documentation": "

Additional query string parameter for the connection. You can include up to 100 additional\n query string parameters per request. Each additional parameter counts towards the event\n payload size, which cannot exceed 64 KB.

" + "smithy.api#documentation": "

Any additional query string parameter for the connection. You can include up to 100 additional\n query string parameters per request. Each additional parameter counts towards the event\n payload size, which cannot exceed 64 KB.

" } }, "com.amazonaws.eventbridge#ConnectionQueryStringParametersList": { @@ -2744,6 +2762,18 @@ "traits": { "smithy.api#enumValue": "DEAUTHORIZING" } + }, + "ACTIVE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ACTIVE" + } + }, + "FAILED_CONNECTIVITY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FAILED_CONNECTIVITY" + } } } }, @@ -2757,6 +2787,36 @@ "smithy.api#pattern": ".*" } }, + "com.amazonaws.eventbridge#ConnectivityResourceConfigurationArn": { + "type": "structure", + "members": { + "ResourceConfigurationArn": { + "target": "com.amazonaws.eventbridge#ResourceConfigurationArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the resource configuration for the resource endpoint.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the resource configuration for the resource endpoint.

" + } + }, + "com.amazonaws.eventbridge#ConnectivityResourceParameters": { + "type": "structure", + "members": { + "ResourceParameters": { + "target": "com.amazonaws.eventbridge#ConnectivityResourceConfigurationArn", + "traits": { + "smithy.api#documentation": "

The parameters for EventBridge to use when invoking the resource endpoint.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

The parameters for EventBridge to use when invoking the resource endpoint.

" + } + }, "com.amazonaws.eventbridge#CreateApiDestination": { "type": "operation", "input": { @@ -2976,6 +3036,9 @@ "target": "com.amazonaws.eventbridge#CreateConnectionResponse" }, "errors": [ + { + "target": "com.amazonaws.eventbridge#AccessDeniedException" + }, { "target": "com.amazonaws.eventbridge#InternalException" }, @@ -2984,10 +3047,16 @@ }, { "target": "com.amazonaws.eventbridge#ResourceAlreadyExistsException" + }, + { + "target": "com.amazonaws.eventbridge#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.eventbridge#ThrottlingException" } ], "traits": { - "smithy.api#documentation": "

Creates a connection. A connection defines the authorization type and credentials to use\n for authorization with an API destination HTTP endpoint.

" + "smithy.api#documentation": "

Creates a connection. A connection defines the authorization type and credentials to use\n for authorization with an API destination HTTP endpoint.

\n

For more information, see Connections for endpoint targets in the Amazon EventBridge User Guide.

" } }, "com.amazonaws.eventbridge#CreateConnectionApiKeyAuthRequestParameters": { @@ -3009,7 +3078,7 @@ } }, "traits": { - "smithy.api#documentation": "

Contains the API key authorization parameters for the connection.

" + "smithy.api#documentation": "

The API key authorization parameters for the connection.

" } }, "com.amazonaws.eventbridge#CreateConnectionAuthRequestParameters": { @@ -3018,30 +3087,36 @@ "BasicAuthParameters": { "target": "com.amazonaws.eventbridge#CreateConnectionBasicAuthRequestParameters", "traits": { - "smithy.api#documentation": "

A CreateConnectionBasicAuthRequestParameters object that contains the Basic\n authorization parameters to use for the connection.

" + "smithy.api#documentation": "

The Basic\n authorization parameters to use for the connection.

" } }, "OAuthParameters": { "target": "com.amazonaws.eventbridge#CreateConnectionOAuthRequestParameters", "traits": { - "smithy.api#documentation": "

A CreateConnectionOAuthRequestParameters object that contains the OAuth\n authorization parameters to use for the connection.

" + "smithy.api#documentation": "

The OAuth\n authorization parameters to use for the connection.

" } }, "ApiKeyAuthParameters": { "target": "com.amazonaws.eventbridge#CreateConnectionApiKeyAuthRequestParameters", "traits": { - "smithy.api#documentation": "

A CreateConnectionApiKeyAuthRequestParameters object that contains the API\n key authorization parameters to use for the connection.

" + "smithy.api#documentation": "

The API\n key authorization parameters to use for the connection.

" } }, "InvocationHttpParameters": { "target": "com.amazonaws.eventbridge#ConnectionHttpParameters", "traits": { - "smithy.api#documentation": "

A ConnectionHttpParameters object that contains the API key authorization\n parameters to use for the connection. Note that if you include additional parameters for the\n target of a rule via HttpParameters, including query strings, the parameters\n added for the connection take precedence.

" + "smithy.api#documentation": "

The API key authorization\n parameters to use for the connection. Note that if you include additional parameters for the\n target of a rule via HttpParameters, including query strings, the parameters\n added for the connection take precedence.

" + } + }, + "ConnectivityParameters": { + "target": "com.amazonaws.eventbridge#ConnectivityResourceParameters", + "traits": { + "smithy.api#documentation": "

If you specify a private OAuth endpoint, the parameters for EventBridge to use when authenticating against the endpoint.

\n

For more information, see Authorization methods for connections in the \n Amazon EventBridge User Guide\n .

" } } }, "traits": { - "smithy.api#documentation": "

Contains the authorization parameters for the connection.

" + "smithy.api#documentation": "

The authorization parameters for the connection.

\n

You must include only authorization parameters for the AuthorizationType you specify.

" } }, "com.amazonaws.eventbridge#CreateConnectionBasicAuthRequestParameters": { @@ -3085,7 +3160,7 @@ } }, "traits": { - "smithy.api#documentation": "

Contains the Basic authorization parameters to use for the connection.

" + "smithy.api#documentation": "

The Basic authorization parameters to use for the connection.

" } }, "com.amazonaws.eventbridge#CreateConnectionOAuthRequestParameters": { @@ -3094,7 +3169,7 @@ "ClientParameters": { "target": "com.amazonaws.eventbridge#CreateConnectionOAuthClientRequestParameters", "traits": { - "smithy.api#documentation": "

A CreateConnectionOAuthClientRequestParameters object that contains the\n client parameters for OAuth authorization.

", + "smithy.api#documentation": "

The client parameters for OAuth authorization.

", "smithy.api#required": {} } }, @@ -3115,7 +3190,7 @@ "OAuthHttpParameters": { "target": "com.amazonaws.eventbridge#ConnectionHttpParameters", "traits": { - "smithy.api#documentation": "

A ConnectionHttpParameters object that contains details about the additional\n parameters to use for the connection.

" + "smithy.api#documentation": "

Details about the additional\n parameters to use for the connection.

" } } }, @@ -3149,9 +3224,15 @@ "AuthParameters": { "target": "com.amazonaws.eventbridge#CreateConnectionAuthRequestParameters", "traits": { - "smithy.api#documentation": "

A CreateConnectionAuthRequestParameters object that contains the\n authorization parameters to use to authorize with the endpoint.

", + "smithy.api#documentation": "

The\n authorization parameters to use to authorize with the endpoint.

\n

You must include only authorization parameters for the AuthorizationType you specify.

", "smithy.api#required": {} } + }, + "InvocationConnectivityParameters": { + "target": "com.amazonaws.eventbridge#ConnectivityResourceParameters", + "traits": { + "smithy.api#documentation": "

For connections to private resource endpoints, the parameters to use for invoking the resource endpoint.

\n

For more information, see Connecting to private resources in the \n Amazon EventBridge User Guide\n .

" + } } }, "traits": { @@ -3565,7 +3646,7 @@ } }, "traits": { - "smithy.api#documentation": "

Configuration details of the Amazon SQS queue for EventBridge to use as a\n dead-letter queue (DLQ).

\n

For more information, see Event\n retry policy and using dead-letter queues in the EventBridge User\n Guide.

" + "smithy.api#documentation": "

Configuration details of the Amazon SQS queue for EventBridge to use as a\n dead-letter queue (DLQ).

\n

For more information, see Using dead-letter queues to process undelivered events in the EventBridge User\n Guide.

" } }, "com.amazonaws.eventbridge#DeauthorizeConnection": { @@ -4226,6 +4307,21 @@ "smithy.api#documentation": "

Retrieves details about a connection.

" } }, + "com.amazonaws.eventbridge#DescribeConnectionConnectivityParameters": { + "type": "structure", + "members": { + "ResourceParameters": { + "target": "com.amazonaws.eventbridge#DescribeConnectionResourceParameters", + "traits": { + "smithy.api#documentation": "

The parameters for EventBridge to use when invoking the resource endpoint.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

If the connection uses a private OAuth endpoint, the parameters for EventBridge to use when authenticating against the endpoint.

\n

For more information, see Authorization methods for connections in the \n Amazon EventBridge User Guide\n .

" + } + }, "com.amazonaws.eventbridge#DescribeConnectionRequest": { "type": "structure", "members": { @@ -4241,6 +4337,28 @@ "smithy.api#input": {} } }, + "com.amazonaws.eventbridge#DescribeConnectionResourceParameters": { + "type": "structure", + "members": { + "ResourceConfigurationArn": { + "target": "com.amazonaws.eventbridge#ResourceConfigurationArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the resource configuration for the private API.

", + "smithy.api#required": {} + } + }, + "ResourceAssociationArn": { + "target": "com.amazonaws.eventbridge#ResourceAssociationArn", + "traits": { + "smithy.api#documentation": "

For connections to private APIs, the Amazon Resource Name (ARN) of the resource association EventBridge created between the connection and the private API's resource configuration.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

The parameters for EventBridge to use when invoking the resource endpoint.

" + } + }, "com.amazonaws.eventbridge#DescribeConnectionResponse": { "type": "structure", "members": { @@ -4262,6 +4380,12 @@ "smithy.api#documentation": "

The description for the connection retrieved.

" } }, + "InvocationConnectivityParameters": { + "target": "com.amazonaws.eventbridge#DescribeConnectionConnectivityParameters", + "traits": { + "smithy.api#documentation": "

For connections to private resource endpoints. The parameters EventBridge uses to invoke the resource endpoint.

\n

For more information, see Connecting to private resources in the \n Amazon EventBridge User Guide\n .

" + } + }, "ConnectionState": { "target": "com.amazonaws.eventbridge#ConnectionState", "traits": { @@ -5871,7 +5995,7 @@ "NextToken": { "target": "com.amazonaws.eventbridge#NextToken", "traits": { - "smithy.api#documentation": "

The token returned by a previous call to retrieve the next set of results.

" + "smithy.api#documentation": "

The token returned by a previous call, which you can use to retrieve the next set of results.

\n

The value of nextToken is a unique pagination token for each page. To retrieve the next page of results, make the call again using\n the returned token. Keep all other arguments unchanged.

\n

Using an expired pagination token results in an HTTP 400 InvalidToken error.

" } }, "Limit": { @@ -5891,13 +6015,13 @@ "ApiDestinations": { "target": "com.amazonaws.eventbridge#ApiDestinationResponseList", "traits": { - "smithy.api#documentation": "

An array of ApiDestination objects that include information about an API\n destination.

" + "smithy.api#documentation": "

An array that includes information about each API\n destination.

" } }, "NextToken": { "target": "com.amazonaws.eventbridge#NextToken", "traits": { - "smithy.api#documentation": "

A token you can use in a subsequent request to retrieve the next set of results.

" + "smithy.api#documentation": "

A token indicating there are more results available. If there are no more results, no token is included in the response.

\n

The value of nextToken is a unique pagination token for each page. To retrieve the next page of results, make the call again using\n the returned token. Keep all other arguments unchanged.

\n

Using an expired pagination token results in an HTTP 400 InvalidToken error.

" } } }, @@ -5949,7 +6073,7 @@ "NextToken": { "target": "com.amazonaws.eventbridge#NextToken", "traits": { - "smithy.api#documentation": "

The token returned by a previous call to retrieve the next set of results.

" + "smithy.api#documentation": "

The token returned by a previous call, which you can use to retrieve the next set of results.

\n

The value of nextToken is a unique pagination token for each page. To retrieve the next page of results, make the call again using\n the returned token. Keep all other arguments unchanged.

\n

Using an expired pagination token results in an HTTP 400 InvalidToken error.

" } }, "Limit": { @@ -5975,7 +6099,7 @@ "NextToken": { "target": "com.amazonaws.eventbridge#NextToken", "traits": { - "smithy.api#documentation": "

The token returned by a previous call to retrieve the next set of results.

" + "smithy.api#documentation": "

A token indicating there are more results available. If there are no more results, no token is included in the response.

\n

The value of nextToken is a unique pagination token for each page. To retrieve the next page of results, make the call again using\n the returned token. Keep all other arguments unchanged.

\n

Using an expired pagination token results in an HTTP 400 InvalidToken error.

" } } }, @@ -6018,7 +6142,7 @@ "NextToken": { "target": "com.amazonaws.eventbridge#NextToken", "traits": { - "smithy.api#documentation": "

The token returned by a previous call to retrieve the next set of results.

" + "smithy.api#documentation": "

The token returned by a previous call, which you can use to retrieve the next set of results.

\n

The value of nextToken is a unique pagination token for each page. To retrieve the next page of results, make the call again using\n the returned token. Keep all other arguments unchanged.

\n

Using an expired pagination token results in an HTTP 400 InvalidToken error.

" } }, "Limit": { @@ -6044,7 +6168,7 @@ "NextToken": { "target": "com.amazonaws.eventbridge#NextToken", "traits": { - "smithy.api#documentation": "

A token you can use in a subsequent request to retrieve the next set of results.

" + "smithy.api#documentation": "

A token indicating there are more results available. If there are no more results, no token is included in the response.

\n

The value of nextToken is a unique pagination token for each page. To retrieve the next page of results, make the call again using\n the returned token. Keep all other arguments unchanged.

\n

Using an expired pagination token results in an HTTP 400 InvalidToken error.

" } } }, @@ -6087,7 +6211,7 @@ "NextToken": { "target": "com.amazonaws.eventbridge#NextToken", "traits": { - "smithy.api#documentation": "

If nextToken is returned, there are more results available. The value of\n nextToken is a unique pagination token for each page. Make the call again using\n the returned token to retrieve the next page. Keep all other arguments unchanged. Each\n pagination token expires after 24 hours. Using an expired pagination token will return an HTTP\n 400 InvalidToken error.

" + "smithy.api#documentation": "

The token returned by a previous call, which you can use to retrieve the next set of results.

\n

The value of nextToken is a unique pagination token for each page. To retrieve the next page of results, make the call again using\n the returned token. Keep all other arguments unchanged.

\n

Using an expired pagination token results in an HTTP 400 InvalidToken error.

" } }, "MaxResults": { @@ -6113,7 +6237,7 @@ "NextToken": { "target": "com.amazonaws.eventbridge#NextToken", "traits": { - "smithy.api#documentation": "

If nextToken is returned, there are more results available. The value of\n nextToken is a unique pagination token for each page. Make the call again using\n the returned token to retrieve the next page. Keep all other arguments unchanged. Each\n pagination token expires after 24 hours. Using an expired pagination token will return an HTTP\n 400 InvalidToken error.

" + "smithy.api#documentation": "

A token indicating there are more results available. If there are no more results, no token is included in the response.

\n

The value of nextToken is a unique pagination token for each page. To retrieve the next page of results, make the call again using\n the returned token. Keep all other arguments unchanged.

\n

Using an expired pagination token results in an HTTP 400 InvalidToken error.

" } } }, @@ -6150,7 +6274,7 @@ "NextToken": { "target": "com.amazonaws.eventbridge#NextToken", "traits": { - "smithy.api#documentation": "

The token returned by a previous call to retrieve the next set of results.

" + "smithy.api#documentation": "

The token returned by a previous call, which you can use to retrieve the next set of results.

\n

The value of nextToken is a unique pagination token for each page. To retrieve the next page of results, make the call again using\n the returned token. Keep all other arguments unchanged.

\n

Using an expired pagination token results in an HTTP 400 InvalidToken error.

" } }, "Limit": { @@ -6176,7 +6300,7 @@ "NextToken": { "target": "com.amazonaws.eventbridge#NextToken", "traits": { - "smithy.api#documentation": "

A token you can use in a subsequent operation to retrieve the next set of results.

" + "smithy.api#documentation": "

A token indicating there are more results available. If there are no more results, no token is included in the response.

\n

The value of nextToken is a unique pagination token for each page. To retrieve the next page of results, make the call again using\n the returned token. Keep all other arguments unchanged.

\n

Using an expired pagination token results in an HTTP 400 InvalidToken error.

" } } }, @@ -6216,7 +6340,7 @@ "NextToken": { "target": "com.amazonaws.eventbridge#NextToken", "traits": { - "smithy.api#documentation": "

The token returned by a previous call to retrieve the next set of results.

" + "smithy.api#documentation": "

The token returned by a previous call, which you can use to retrieve the next set of results.

\n

The value of nextToken is a unique pagination token for each page. To retrieve the next page of results, make the call again using\n the returned token. Keep all other arguments unchanged.

\n

Using an expired pagination token results in an HTTP 400 InvalidToken error.

" } }, "Limit": { @@ -6242,7 +6366,7 @@ "NextToken": { "target": "com.amazonaws.eventbridge#NextToken", "traits": { - "smithy.api#documentation": "

A token you can use in a subsequent operation to retrieve the next set of results.

" + "smithy.api#documentation": "

A token indicating there are more results available. If there are no more results, no token is included in the response.

\n

The value of nextToken is a unique pagination token for each page. To retrieve the next page of results, make the call again using\n the returned token. Keep all other arguments unchanged.

\n

Using an expired pagination token results in an HTTP 400 InvalidToken error.

" } } }, @@ -6286,7 +6410,7 @@ "NextToken": { "target": "com.amazonaws.eventbridge#NextToken", "traits": { - "smithy.api#documentation": "

The token returned by a previous call to this operation. Specifying this retrieves the\n next set of results.

" + "smithy.api#documentation": "

The token returned by a previous call, which you can use to retrieve the next set of results.

\n

The value of nextToken is a unique pagination token for each page. To retrieve the next page of results, make the call again using\n the returned token. Keep all other arguments unchanged.

\n

Using an expired pagination token results in an HTTP 400 InvalidToken error.

" } }, "Limit": { @@ -6312,7 +6436,7 @@ "NextToken": { "target": "com.amazonaws.eventbridge#NextToken", "traits": { - "smithy.api#documentation": "

A token you can use in a subsequent operation to retrieve the next set of results.

" + "smithy.api#documentation": "

A token indicating there are more results available. If there are no more results, no token is included in the response.

\n

The value of nextToken is a unique pagination token for each page. To retrieve the next page of results, make the call again using\n the returned token. Keep all other arguments unchanged.

\n

Using an expired pagination token results in an HTTP 400 InvalidToken error.

" } } }, @@ -6353,7 +6477,7 @@ "NextToken": { "target": "com.amazonaws.eventbridge#NextToken", "traits": { - "smithy.api#documentation": "

The token returned by a previous call to this operation. Specifying this retrieves the\n next set of results.

" + "smithy.api#documentation": "

The token returned by a previous call, which you can use to retrieve the next set of results.

\n

The value of nextToken is a unique pagination token for each page. To retrieve the next page of results, make the call again using\n the returned token. Keep all other arguments unchanged.

\n

Using an expired pagination token results in an HTTP 400 InvalidToken error.

" } }, "Limit": { @@ -6379,7 +6503,7 @@ "NextToken": { "target": "com.amazonaws.eventbridge#NextToken", "traits": { - "smithy.api#documentation": "

A token you can use in a subsequent operation to retrieve the next set of results.

" + "smithy.api#documentation": "

A token indicating there are more results available. If there are no more results, no token is included in the response.

\n

The value of nextToken is a unique pagination token for each page. To retrieve the next page of results, make the call again using\n the returned token. Keep all other arguments unchanged.

\n

Using an expired pagination token results in an HTTP 400 InvalidToken error.

" } } }, @@ -6428,7 +6552,7 @@ "NextToken": { "target": "com.amazonaws.eventbridge#NextToken", "traits": { - "smithy.api#documentation": "

The token returned by a previous call to retrieve the next set of results.

" + "smithy.api#documentation": "

The token returned by a previous call, which you can use to retrieve the next set of results.

\n

The value of nextToken is a unique pagination token for each page. To retrieve the next page of results, make the call again using\n the returned token. Keep all other arguments unchanged.

\n

Using an expired pagination token results in an HTTP 400 InvalidToken error.

" } }, "Limit": { @@ -6454,7 +6578,7 @@ "NextToken": { "target": "com.amazonaws.eventbridge#NextToken", "traits": { - "smithy.api#documentation": "

The token returned by a previous call to retrieve the next set of results.

" + "smithy.api#documentation": "

A token indicating there are more results available. If there are no more results, no token is included in the response.

\n

The value of nextToken is a unique pagination token for each page. To retrieve the next page of results, make the call again using\n the returned token. Keep all other arguments unchanged.

\n

Using an expired pagination token results in an HTTP 400 InvalidToken error.

" } } }, @@ -6501,7 +6625,7 @@ "NextToken": { "target": "com.amazonaws.eventbridge#NextToken", "traits": { - "smithy.api#documentation": "

The token returned by a previous call to retrieve the next set of results.

" + "smithy.api#documentation": "

The token returned by a previous call, which you can use to retrieve the next set of results.

\n

The value of nextToken is a unique pagination token for each page. To retrieve the next page of results, make the call again using\n the returned token. Keep all other arguments unchanged.

\n

Using an expired pagination token results in an HTTP 400 InvalidToken error.

" } }, "Limit": { @@ -6527,7 +6651,7 @@ "NextToken": { "target": "com.amazonaws.eventbridge#NextToken", "traits": { - "smithy.api#documentation": "

Indicates whether there are additional results to retrieve. If there are no more results,\n the value is null.

" + "smithy.api#documentation": "

A token indicating there are more results available. If there are no more results, no token is included in the response.

\n

The value of nextToken is a unique pagination token for each page. To retrieve the next page of results, make the call again using\n the returned token. Keep all other arguments unchanged.

\n

Using an expired pagination token results in an HTTP 400 InvalidToken error.

" } } }, @@ -6586,7 +6710,7 @@ "NextToken": { "target": "com.amazonaws.eventbridge#NextToken", "traits": { - "smithy.api#documentation": "

The token returned by a previous call to retrieve the next set of results.

" + "smithy.api#documentation": "

The token returned by a previous call, which you can use to retrieve the next set of results.

\n

The value of nextToken is a unique pagination token for each page. To retrieve the next page of results, make the call again using\n the returned token. Keep all other arguments unchanged.

\n

Using an expired pagination token results in an HTTP 400 InvalidToken error.

" } }, "Limit": { @@ -6612,7 +6736,7 @@ "NextToken": { "target": "com.amazonaws.eventbridge#NextToken", "traits": { - "smithy.api#documentation": "

Indicates whether there are additional results to retrieve. If there are no more results,\n the value is null.

" + "smithy.api#documentation": "

A token indicating there are more results available. If there are no more results, no token is included in the response.

\n

The value of nextToken is a unique pagination token for each page. To retrieve the next page of results, make the call again using\n the returned token. Keep all other arguments unchanged.

\n

Using an expired pagination token results in an HTTP 400 InvalidToken error.

" } } }, @@ -6708,7 +6832,7 @@ "NextToken": { "target": "com.amazonaws.eventbridge#NextToken", "traits": { - "smithy.api#documentation": "

The token returned by a previous call to retrieve the next set of results.

" + "smithy.api#documentation": "

The token returned by a previous call, which you can use to retrieve the next set of results.

\n

The value of nextToken is a unique pagination token for each page. To retrieve the next page of results, make the call again using\n the returned token. Keep all other arguments unchanged.

\n

Using an expired pagination token results in an HTTP 400 InvalidToken error.

" } }, "Limit": { @@ -6734,7 +6858,7 @@ "NextToken": { "target": "com.amazonaws.eventbridge#NextToken", "traits": { - "smithy.api#documentation": "

Indicates whether there are additional results to retrieve. If there are no more results,\n the value is null.

" + "smithy.api#documentation": "

A token indicating there are more results available. If there are no more results, no token is included in the response.

\n

The value of nextToken is a unique pagination token for each page. To retrieve the next page of results, make the call again using\n the returned token. Keep all other arguments unchanged.

\n

Using an expired pagination token results in an HTTP 400 InvalidToken error.

" } } }, @@ -7131,7 +7255,7 @@ } ], "traits": { - "smithy.api#documentation": "

Sends custom events to Amazon EventBridge so that they can be matched to rules.

\n

The maximum size for a PutEvents event entry is 256 KB. Entry size is calculated including\n the event and any necessary characters and keys of the JSON representation of the event. To\n learn more, see Calculating PutEvents event entry\n size in the \n Amazon EventBridge User Guide\n \n

\n

PutEvents accepts the data in JSON format. For the JSON number (integer) data type, the\n constraints are: a minimum value of -9,223,372,036,854,775,808 and a maximum value of\n 9,223,372,036,854,775,807.

\n \n

PutEvents will only process nested JSON up to 1100 levels deep.

\n
" + "smithy.api#documentation": "

Sends custom events to Amazon EventBridge so that they can be matched to rules.

\n

The maximum size for a PutEvents event entry is 256 KB. Entry size is calculated including\n the event and any necessary characters and keys of the JSON representation of the event. To\n learn more, see Calculating PutEvents event entry\n size in the \n Amazon EventBridge User Guide\n \n

\n

PutEvents accepts the data in JSON format. For the JSON number (integer) data type, the\n constraints are: a minimum value of -9,223,372,036,854,775,808 and a maximum value of\n 9,223,372,036,854,775,807.

\n \n

PutEvents will only process nested JSON up to 1000 levels deep.

\n
" } }, "com.amazonaws.eventbridge#PutEventsRequest": { @@ -7437,7 +7561,7 @@ } ], "traits": { - "smithy.api#documentation": "

Running PutPermission permits the specified Amazon Web Services account or\n Amazon Web Services organization to put events to the specified event\n bus. Amazon EventBridge (CloudWatch Events) rules in your account are\n triggered by these events arriving to an event bus in your account.

\n

For another account to send events to your account, that external account must have an\n EventBridge rule with your account's event bus as a target.

\n

To enable multiple Amazon Web Services accounts to put events to your event bus, run\n PutPermission once for each of these accounts. Or, if all the accounts are\n members of the same Amazon Web Services organization, you can run PutPermission\n once specifying Principal as \"*\" and specifying the Amazon Web Services\n organization ID in Condition, to grant permissions to all accounts in that\n organization.

\n

If you grant permissions using an organization, then accounts in that organization must\n specify a RoleArn with proper permissions when they use PutTarget to\n add your account's event bus as a target. For more information, see Sending and\n Receiving Events Between Amazon Web Services Accounts in the Amazon EventBridge User Guide.

\n

The permission policy on the event bus cannot exceed 10 KB in size.

" + "smithy.api#documentation": "

Running PutPermission permits the specified Amazon Web Services account or Amazon Web Services organization\n to put events to the specified event bus. Amazon EventBridge rules in your account are triggered by these events arriving to an event bus in your\n account.

\n

For another account to send events to your account, that external account must have an\n EventBridge rule with your account's event bus as a target.

\n

To enable multiple Amazon Web Services accounts to put events to your event bus, run\n PutPermission once for each of these accounts. Or, if all the accounts are\n members of the same Amazon Web Services organization, you can run PutPermission\n once specifying Principal as \"*\" and specifying the Amazon Web Services\n organization ID in Condition, to grant permissions to all accounts in that\n organization.

\n

If you grant permissions using an organization, then accounts in that organization must\n specify a RoleArn with proper permissions when they use PutTarget to\n add your account's event bus as a target. For more information, see Sending and\n Receiving Events Between Amazon Web Services Accounts in the Amazon EventBridge User Guide.

\n

The permission policy on the event bus cannot exceed 10 KB in size.

" } }, "com.amazonaws.eventbridge#PutPermissionRequest": { @@ -7513,7 +7637,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates or updates the specified rule. Rules are enabled by default, or based on value of\n the state. You can disable a rule using DisableRule.

\n

A single rule watches for events from a single event bus. Events generated by Amazon Web Services services go to your account's default event bus. Events generated by SaaS partner\n services or applications go to the matching partner event bus. If you have custom applications\n or services, you can specify whether their events go to your default event bus or a custom\n event bus that you have created. For more information, see CreateEventBus.

\n

If you are updating an existing rule, the rule is replaced with what you specify in this\n PutRule command. If you omit arguments in PutRule, the old values\n for those arguments are not kept. Instead, they are replaced with null values.

\n

When you create or update a rule, incoming events might not immediately start matching to\n new or updated rules. Allow a short period of time for changes to take effect.

\n

A rule must contain at least an EventPattern or ScheduleExpression. Rules with\n EventPatterns are triggered when a matching event is observed. Rules with ScheduleExpressions\n self-trigger based on the given schedule. A rule can have both an EventPattern and a\n ScheduleExpression, in which case the rule triggers on matching events as well as on a\n schedule.

\n

When you initially create a rule, you can optionally assign one or more tags to the rule.\n Tags can help you organize and categorize your resources. You can also use them to scope user\n permissions, by granting a user permission to access or change only rules with certain tag\n values. To use the PutRule operation and assign tags, you must have both the\n events:PutRule and events:TagResource permissions.

\n

If you are updating an existing rule, any tags you specify in the PutRule\n operation are ignored. To update the tags of an existing rule, use TagResource and UntagResource.

\n

Most services in Amazon Web Services treat : or / as the same character in Amazon Resource\n Names (ARNs). However, EventBridge uses an exact match in event patterns and rules. Be sure to\n use the correct ARN characters when creating event patterns so that they match the ARN syntax\n in the event you want to match.

\n

In EventBridge, it is possible to create rules that lead to infinite loops, where a rule\n is fired repeatedly. For example, a rule might detect that ACLs have changed on an S3 bucket,\n and trigger software to change them to the desired state. If the rule is not written\n carefully, the subsequent change to the ACLs fires the rule again, creating an infinite\n loop.

\n

To prevent this, write the rules so that the triggered actions do not re-fire the same\n rule. For example, your rule could fire only if ACLs are found to be in a bad state, instead\n of after any change.

\n

An infinite loop can quickly cause higher than expected charges. We recommend that you use\n budgeting, which alerts you when charges exceed your specified limit. For more information,\n see Managing Your Costs with\n Budgets.

" + "smithy.api#documentation": "

Creates or updates the specified rule. Rules are enabled by default, or based on value of\n the state. You can disable a rule using DisableRule.

\n

A single rule watches for events from a single event bus. Events generated by Amazon Web Services services go to your account's default event bus. Events generated by SaaS partner\n services or applications go to the matching partner event bus. If you have custom applications\n or services, you can specify whether their events go to your default event bus or a custom\n event bus that you have created. For more information, see CreateEventBus.

\n

If you are updating an existing rule, the rule is replaced with what you specify in this\n PutRule command. If you omit arguments in PutRule, the old values\n for those arguments are not kept. Instead, they are replaced with null values.

\n

When you create or update a rule, incoming events might not immediately start matching to\n new or updated rules. Allow a short period of time for changes to take effect.

\n

A rule must contain at least an EventPattern or ScheduleExpression. Rules with\n EventPatterns are triggered when a matching event is observed. Rules with ScheduleExpressions\n self-trigger based on the given schedule. A rule can have both an EventPattern and a\n ScheduleExpression, in which case the rule triggers on matching events as well as on a\n schedule.

\n

When you initially create a rule, you can optionally assign one or more tags to the rule.\n Tags can help you organize and categorize your resources. You can also use them to scope user\n permissions, by granting a user permission to access or change only rules with certain tag\n values. To use the PutRule operation and assign tags, you must have both the\n events:PutRule and events:TagResource permissions.

\n

If you are updating an existing rule, any tags you specify in the PutRule\n operation are ignored. To update the tags of an existing rule, use TagResource and UntagResource.

\n

Most services in Amazon Web Services treat : or / as the same character in Amazon Resource\n Names (ARNs). However, EventBridge uses an exact match in event patterns and rules. Be sure to\n use the correct ARN characters when creating event patterns so that they match the ARN syntax\n in the event you want to match.

\n

In EventBridge, it is possible to create rules that lead to infinite loops, where a rule\n is fired repeatedly. For example, a rule might detect that ACLs have changed on an S3 bucket,\n and trigger software to change them to the desired state. If the rule is not written\n carefully, the subsequent change to the ACLs fires the rule again, creating an infinite\n loop.

\n

To prevent this, write the rules so that the triggered actions do not re-fire the same\n rule. For example, your rule could fire only if ACLs are found to be in a bad state, instead\n of after any change.

\n

An infinite loop can quickly cause higher than expected charges. We recommend that you use\n budgeting, which alerts you when charges exceed your specified limit. For more information,\n see Managing Your Costs with\n Budgets.

\n

To create a rule that filters for management events from Amazon Web Services services, see \n Receiving read-only management events from Amazon Web Services services in the \n EventBridge User Guide.

" } }, "com.amazonaws.eventbridge#PutRuleRequest": { @@ -8204,6 +8328,26 @@ } } }, + "com.amazonaws.eventbridge#ResourceAssociationArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 17, + "max": 2048 + }, + "smithy.api#pattern": "^arn:[a-z0-9\\\\-]+:vpc-lattice:[a-zA-Z0-9\\\\-]+:\\\\d{12}:servicenetworkresourceassociation/snra-[0-9a-z]{17}$" + } + }, + "com.amazonaws.eventbridge#ResourceConfigurationArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 2048 + }, + "smithy.api#pattern": "^(?:^arn:[a-z0-9\\-]+:vpc-lattice:[a-zA-Z0-9\\-]+:\\d{12}:resourceconfiguration/rcfg-[0-9a-z]{17}$|^$)$" + } + }, "com.amazonaws.eventbridge#ResourceNotFoundException": { "type": "structure", "members": { @@ -8973,7 +9117,7 @@ "RetryPolicy": { "target": "com.amazonaws.eventbridge#RetryPolicy", "traits": { - "smithy.api#documentation": "

The RetryPolicy object that contains the retry policy configuration to use\n for the dead-letter queue.

" + "smithy.api#documentation": "

The retry policy configuration to use\n for the dead-letter queue.

" } }, "AppSyncParameters": { @@ -9114,6 +9258,18 @@ "smithy.api#output": {} } }, + "com.amazonaws.eventbridge#ThrottlingException": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.eventbridge#ErrorMessage" + } + }, + "traits": { + "smithy.api#documentation": "

This request cannot be completed due to throttling issues.

", + "smithy.api#error": "client" + } + }, "com.amazonaws.eventbridge#Timestamp": { "type": "timestamp" }, @@ -9173,7 +9329,7 @@ } ], "traits": { - "smithy.api#documentation": "

Removes one or more tags from the specified EventBridge resource. In Amazon EventBridge\n (CloudWatch Events), rules and event buses can be tagged.

" + "smithy.api#documentation": "

Removes one or more tags from the specified EventBridge resource. In Amazon EventBridge, rules and event buses can be tagged.

" } }, "com.amazonaws.eventbridge#UntagResourceRequest": { @@ -9411,6 +9567,9 @@ "target": "com.amazonaws.eventbridge#UpdateConnectionResponse" }, "errors": [ + { + "target": "com.amazonaws.eventbridge#AccessDeniedException" + }, { "target": "com.amazonaws.eventbridge#ConcurrentModificationException" }, @@ -9422,6 +9581,9 @@ }, { "target": "com.amazonaws.eventbridge#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.eventbridge#ThrottlingException" } ], "traits": { @@ -9440,7 +9602,7 @@ "ApiKeyValue": { "target": "com.amazonaws.eventbridge#AuthHeaderParametersSensitive", "traits": { - "smithy.api#documentation": "

The value associated with teh API key to use for authorization.

" + "smithy.api#documentation": "

The value associated with the API key to use for authorization.

" } } }, @@ -9454,25 +9616,31 @@ "BasicAuthParameters": { "target": "com.amazonaws.eventbridge#UpdateConnectionBasicAuthRequestParameters", "traits": { - "smithy.api#documentation": "

A UpdateConnectionBasicAuthRequestParameters object that contains the\n authorization parameters for Basic authorization.

" + "smithy.api#documentation": "

The\n authorization parameters for Basic authorization.

" } }, "OAuthParameters": { "target": "com.amazonaws.eventbridge#UpdateConnectionOAuthRequestParameters", "traits": { - "smithy.api#documentation": "

A UpdateConnectionOAuthRequestParameters object that contains the\n authorization parameters for OAuth authorization.

" + "smithy.api#documentation": "

The\n authorization parameters for OAuth authorization.

" } }, "ApiKeyAuthParameters": { "target": "com.amazonaws.eventbridge#UpdateConnectionApiKeyAuthRequestParameters", "traits": { - "smithy.api#documentation": "

A UpdateConnectionApiKeyAuthRequestParameters object that contains the\n authorization parameters for API key authorization.

" + "smithy.api#documentation": "

The\n authorization parameters for API key authorization.

" } }, "InvocationHttpParameters": { "target": "com.amazonaws.eventbridge#ConnectionHttpParameters", "traits": { - "smithy.api#documentation": "

A ConnectionHttpParameters object that contains the additional parameters to\n use for the connection.

" + "smithy.api#documentation": "

The additional parameters to\n use for the connection.

" + } + }, + "ConnectivityParameters": { + "target": "com.amazonaws.eventbridge#ConnectivityResourceParameters", + "traits": { + "smithy.api#documentation": "

If you specify a private OAuth endpoint, the parameters for EventBridge to use when authenticating against the endpoint.

\n

For more information, see Authorization methods for connections in the \n Amazon EventBridge User Guide\n .

" } } }, @@ -9497,7 +9665,7 @@ } }, "traits": { - "smithy.api#documentation": "

Contains the Basic authorization parameters for the connection.

" + "smithy.api#documentation": "

The Basic authorization parameters for the connection.

" } }, "com.amazonaws.eventbridge#UpdateConnectionOAuthClientRequestParameters": { @@ -9517,7 +9685,7 @@ } }, "traits": { - "smithy.api#documentation": "

Contains the OAuth authorization parameters to use for the connection.

" + "smithy.api#documentation": "

The OAuth authorization parameters to use for the connection.

" } }, "com.amazonaws.eventbridge#UpdateConnectionOAuthRequestParameters": { @@ -9526,7 +9694,7 @@ "ClientParameters": { "target": "com.amazonaws.eventbridge#UpdateConnectionOAuthClientRequestParameters", "traits": { - "smithy.api#documentation": "

A UpdateConnectionOAuthClientRequestParameters object that contains the\n client parameters to use for the connection when OAuth is specified as the authorization\n type.

" + "smithy.api#documentation": "

The\n client parameters to use for the connection when OAuth is specified as the authorization\n type.

" } }, "AuthorizationEndpoint": { @@ -9549,7 +9717,7 @@ } }, "traits": { - "smithy.api#documentation": "

Contains the OAuth request parameters to use for the connection.

" + "smithy.api#documentation": "

The OAuth request parameters to use for the connection.

" } }, "com.amazonaws.eventbridge#UpdateConnectionRequest": { @@ -9579,6 +9747,12 @@ "traits": { "smithy.api#documentation": "

The authorization parameters to use for the connection.

" } + }, + "InvocationConnectivityParameters": { + "target": "com.amazonaws.eventbridge#ConnectivityResourceParameters", + "traits": { + "smithy.api#documentation": "

For connections to private resource endpoints, the parameters to use for invoking the resource endpoint.

\n

For more information, see Connecting to private resources in the \n Amazon EventBridge User Guide\n .

" + } } }, "traits": { diff --git a/codegen/sdk/aws-models/fsx.json b/codegen/sdk/aws-models/fsx.json index c021226bc6a..38907cc577b 100644 --- a/codegen/sdk/aws-models/fsx.json +++ b/codegen/sdk/aws-models/fsx.json @@ -1912,6 +1912,12 @@ }, "Volume": { "target": "com.amazonaws.fsx#Volume" + }, + "SizeInBytes": { + "target": "com.amazonaws.fsx#SizeInBytes", + "traits": { + "smithy.api#documentation": "

\n The size of the backup in bytes. This represents the amount of data that the file system would contain if you restore this backup.\n

" + } } }, "traits": { @@ -3229,6 +3235,12 @@ "smithy.api#documentation": "

Sets the data compression configuration for the file system. DataCompressionType\n can have the following values:

\n
    \n
  • \n

    \n NONE - (Default) Data compression is turned off when\n the file system is created.

    \n
  • \n
  • \n

    \n LZ4 - Data compression is turned on with the LZ4\n algorithm.

    \n
  • \n
\n

For more information, see Lustre data compression \n in the Amazon FSx for Lustre User Guide.

" } }, + "EfaEnabled": { + "target": "com.amazonaws.fsx#Flag", + "traits": { + "smithy.api#documentation": "

(Optional) Specifies whether Elastic Fabric Adapter (EFA) and GPUDirect Storage (GDS)\n support is enabled for the Amazon FSx for Lustre file system.

\n

(Default = false)

" + } + }, "LogConfiguration": { "target": "com.amazonaws.fsx#LustreLogCreateConfiguration", "traits": { @@ -3413,6 +3425,12 @@ "traits": { "smithy.api#documentation": "

(Multi-AZ only) Specifies the route tables in which Amazon FSx creates the rules\n for routing traffic to the correct file server. You should specify all virtual private cloud\n (VPC) route tables associated with the subnets in which your clients are located. By default,\n Amazon FSx selects your VPC's default route table.

" } + }, + "ReadCacheConfiguration": { + "target": "com.amazonaws.fsx#OpenZFSReadCacheConfiguration", + "traits": { + "smithy.api#documentation": "

\n Specifies the optional provisioned SSD read cache on file systems that use the Intelligent-Tiering storage class. \n

" + } } }, "traits": { @@ -3440,15 +3458,13 @@ "StorageCapacity": { "target": "com.amazonaws.fsx#StorageCapacity", "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

Sets the storage capacity of the file system that you're creating, in gibibytes (GiB).

\n

\n FSx for Lustre file systems - The amount of\n storage capacity that you can configure depends on the value that you set for\n StorageType and the Lustre DeploymentType, as\n follows:

\n
    \n
  • \n

    For SCRATCH_2, PERSISTENT_2, and PERSISTENT_1 deployment types \n using SSD storage type, the valid values are 1200 GiB, 2400 GiB, and increments of 2400 GiB.

    \n
  • \n
  • \n

    For PERSISTENT_1 HDD file systems, valid values are increments of 6000 GiB for \n 12 MB/s/TiB file systems and increments of 1800 GiB for 40 MB/s/TiB file systems.

    \n
  • \n
  • \n

    For SCRATCH_1 deployment type, valid values are \n 1200 GiB, 2400 GiB, and increments of 3600 GiB.

    \n
  • \n
\n

\n FSx for ONTAP file systems - The amount of storage capacity \n that you can configure depends on the value of the HAPairs property. The minimum value is calculated as 1,024 * HAPairs and the maximum is calculated as 524,288 * HAPairs.

\n

\n FSx for OpenZFS file systems - The amount of storage capacity that \n you can configure is from 64 GiB up to 524,288 GiB (512 TiB).

\n

\n FSx for Windows File Server file systems - The amount\n of storage capacity that you can configure depends on the value that you set for\n StorageType as follows:

\n
    \n
  • \n

    For SSD storage, valid values are 32 GiB-65,536 GiB (64 TiB).

    \n
  • \n
  • \n

    For HDD storage, valid values are 2000 GiB-65,536 GiB (64 TiB).

    \n
  • \n
", - "smithy.api#required": {} + "smithy.api#documentation": "

Sets the storage capacity of the file system that you're creating, in gibibytes (GiB).

\n

\n FSx for Lustre file systems - The amount of\n storage capacity that you can configure depends on the value that you set for\n StorageType and the Lustre DeploymentType, as\n follows:

\n
    \n
  • \n

    For SCRATCH_2, PERSISTENT_2, and PERSISTENT_1 deployment types \n using SSD storage type, the valid values are 1200 GiB, 2400 GiB, and increments of 2400 GiB.

    \n
  • \n
  • \n

    For PERSISTENT_1 HDD file systems, valid values are increments of 6000 GiB for \n 12 MB/s/TiB file systems and increments of 1800 GiB for 40 MB/s/TiB file systems.

    \n
  • \n
  • \n

    For SCRATCH_1 deployment type, valid values are \n 1200 GiB, 2400 GiB, and increments of 3600 GiB.

    \n
  • \n
\n

\n FSx for ONTAP file systems - The amount of storage capacity \n that you can configure depends on the value of the HAPairs property. The minimum value is calculated as 1,024 * HAPairs and the maximum is calculated as 524,288 * HAPairs.

\n

\n FSx for OpenZFS file systems - The amount of storage capacity that \n you can configure is from 64 GiB up to 524,288 GiB (512 TiB).

\n

\n FSx for Windows File Server file systems - The amount\n of storage capacity that you can configure depends on the value that you set for\n StorageType as follows:

\n
    \n
  • \n

    For SSD storage, valid values are 32 GiB-65,536 GiB (64 TiB).

    \n
  • \n
  • \n

    For HDD storage, valid values are 2000 GiB-65,536 GiB (64 TiB).

    \n
  • \n
" } }, "StorageType": { "target": "com.amazonaws.fsx#StorageType", "traits": { - "smithy.api#documentation": "

Sets the storage type for the file system that you're creating. Valid values are\n SSD and HDD.

\n
    \n
  • \n

    Set to SSD to use solid state drive storage. SSD is supported on all Windows,\n Lustre, ONTAP, and OpenZFS deployment types.

    \n
  • \n
  • \n

    Set to HDD to use hard disk drive storage. \n HDD is supported on SINGLE_AZ_2 and MULTI_AZ_1 Windows file system deployment types,\n and on PERSISTENT_1 Lustre file system deployment types.

    \n
  • \n
\n

Default value is SSD. For more information, see Storage\n type options in the FSx for Windows File Server User\n Guide and Multiple storage\n options in the FSx for Lustre User\n Guide.

" + "smithy.api#documentation": "

Sets the storage class for the file system that you're creating. Valid values are\n SSD, HDD, and INTELLIGENT_TIERING.

\n
    \n
  • \n

    Set to SSD to use solid state drive storage. SSD is supported on all Windows,\n Lustre, ONTAP, and OpenZFS deployment types.

    \n
  • \n
  • \n

    Set to HDD to use hard disk drive storage. \n HDD is supported on SINGLE_AZ_2 and MULTI_AZ_1 Windows file system deployment types,\n and on PERSISTENT_1 Lustre file system deployment types.

    \n
  • \n
  • \n

    Set to INTELLIGENT_TIERING to use fully elastic, intelligently-tiered storage. Intelligent-Tiering is only available for OpenZFS file systems with the Multi-AZ deployment type.

    \n
  • \n
\n

Default value is SSD. For more information, see Storage\n type options in the FSx for Windows File Server User\n Guide, Multiple storage\n options in the FSx for Lustre User\n Guide, and Working with Intelligent-Tiering in the Amazon FSx for OpenZFS User\n Guide.

" } }, "SubnetIds": { @@ -3735,7 +3751,7 @@ "RecordSizeKiB": { "target": "com.amazonaws.fsx#IntegerRecordSizeKiB", "traits": { - "smithy.api#documentation": "

Specifies the suggested block size for a volume in a ZFS dataset, in kibibytes (KiB). Valid values are 4, 8,\n 16, 32, 64, 128, 256, 512, or 1024 KiB. The default is 128 KiB.\n We recommend using the default setting for the majority of use cases. \n Generally, workloads that write in fixed small or large record sizes \n may benefit from setting a custom record size, like database workloads \n (small record size) or media streaming workloads (large record size). \n For additional guidance on when\n to set a custom record size, see \n \n ZFS Record size in the Amazon FSx for OpenZFS User Guide.

" + "smithy.api#documentation": "

Specifies the suggested block size for a volume in a ZFS dataset, in kibibytes (KiB). \n For file systems using the Intelligent-Tiering storage class, valid values are 128, 256, 512, 1024, 2048, or 4096 KiB, with a default of 2048 KiB. \n For all other file systems, valid values are 4, 8, 16, 32, 64, 128, 256, 512, or 1024 KiB, with a default of 128 KiB. \n We recommend using the default setting for the majority of use cases. Generally, workloads that write in fixed small or large record sizes may benefit from setting a custom record size, like database workloads (small record size) or media streaming workloads (large record size).\n For additional guidance on when to set a custom record size, see \n \n ZFS Record size in the Amazon FSx for OpenZFS User Guide.

" } }, "DataCompressionType": { @@ -7646,7 +7662,7 @@ "traits": { "smithy.api#range": { "min": 4, - "max": 1024 + "max": 4096 } } }, @@ -8082,6 +8098,12 @@ "traits": { "smithy.api#documentation": "

The Lustre metadata performance configuration for an Amazon FSx for Lustre file system\n using a PERSISTENT_2 deployment type.

" } + }, + "EfaEnabled": { + "target": "com.amazonaws.fsx#Flag", + "traits": { + "smithy.api#documentation": "

Specifies whether Elastic Fabric Adapter (EFA) and GPUDirect Storage (GDS)\n support is enabled for the Amazon FSx for Lustre file system.

" + } } }, "traits": { @@ -8886,6 +8908,12 @@ "traits": { "smithy.api#documentation": "

The IP address of the endpoint\n that is used to access data or to manage the file system.

" } + }, + "ReadCacheConfiguration": { + "target": "com.amazonaws.fsx#OpenZFSReadCacheConfiguration", + "traits": { + "smithy.api#documentation": "

\n Required when StorageType is set to INTELLIGENT_TIERING. Specifies the optional provisioned SSD read cache.

" + } } }, "traits": { @@ -8976,6 +9004,49 @@ } } }, + "com.amazonaws.fsx#OpenZFSReadCacheConfiguration": { + "type": "structure", + "members": { + "SizingMode": { + "target": "com.amazonaws.fsx#OpenZFSReadCacheSizingMode", + "traits": { + "smithy.api#documentation": "

\n Specifies how the provisioned SSD read cache is sized, as follows:\n

\n
    \n
  • \n

    Set to NO_CACHE if you do not want to use an SSD read cache with your Intelligent-Tiering file system.

    \n
  • \n
  • \n

    Set to USER_PROVISIONED to specify the exact size of your SSD read cache.

    \n
  • \n
  • \n

    Set to PROPORTIONAL_TO_THROUGHPUT_CAPACITY to have your SSD read cache automatically sized based on your throughput capacity.

    \n
  • \n
" + } + }, + "SizeGiB": { + "target": "com.amazonaws.fsx#StorageCapacity", + "traits": { + "smithy.api#documentation": "

\n Required if SizingMode is set to USER_PROVISIONED. Specifies the size of the file system's SSD read cache, in gibibytes (GiB).\n

" + } + } + }, + "traits": { + "smithy.api#documentation": "

\n The configuration for the optional provisioned SSD read cache on file systems that use the Intelligent-Tiering storage class.\n

" + } + }, + "com.amazonaws.fsx#OpenZFSReadCacheSizingMode": { + "type": "enum", + "members": { + "NO_CACHE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "NO_CACHE" + } + }, + "USER_PROVISIONED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "USER_PROVISIONED" + } + }, + "PROPORTIONAL_TO_THROUGHPUT_CAPACITY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PROPORTIONAL_TO_THROUGHPUT_CAPACITY" + } + } + } + }, "com.amazonaws.fsx#OpenZFSUserAndGroupQuotas": { "type": "list", "member": { @@ -9909,6 +9980,14 @@ "smithy.api#error": "client" } }, + "com.amazonaws.fsx#SizeInBytes": { + "type": "long", + "traits": { + "smithy.api#range": { + "min": 0 + } + } + }, "com.amazonaws.fsx#SnaplockConfiguration": { "type": "structure", "members": { @@ -10365,6 +10444,12 @@ "traits": { "smithy.api#enumValue": "HDD" } + }, + "INTELLIGENT_TIERING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INTELLIGENT_TIERING" + } } }, "traits": { @@ -11324,7 +11409,7 @@ } ], "traits": { - "smithy.api#documentation": "

Use this operation to update the configuration of an existing Amazon FSx file\n system. You can update multiple properties in a single request.

\n

For FSx for Windows File Server file systems, you can update the following\n properties:

\n
    \n
  • \n

    \n AuditLogConfiguration\n

    \n
  • \n
  • \n

    \n AutomaticBackupRetentionDays\n

    \n
  • \n
  • \n

    \n DailyAutomaticBackupStartTime\n

    \n
  • \n
  • \n

    \n SelfManagedActiveDirectoryConfiguration\n

    \n
  • \n
  • \n

    \n StorageCapacity\n

    \n
  • \n
  • \n

    \n StorageType\n

    \n
  • \n
  • \n

    \n ThroughputCapacity\n

    \n
  • \n
  • \n

    \n DiskIopsConfiguration\n

    \n
  • \n
  • \n

    \n WeeklyMaintenanceStartTime\n

    \n
  • \n
\n

For FSx for Lustre file systems, you can update the following\n properties:

\n
    \n
  • \n

    \n AutoImportPolicy\n

    \n
  • \n
  • \n

    \n AutomaticBackupRetentionDays\n

    \n
  • \n
  • \n

    \n DailyAutomaticBackupStartTime\n

    \n
  • \n
  • \n

    \n DataCompressionType\n

    \n
  • \n
  • \n

    \n LogConfiguration\n

    \n
  • \n
  • \n

    \n LustreRootSquashConfiguration\n

    \n
  • \n
  • \n

    \n MetadataConfiguration\n

    \n
  • \n
  • \n

    \n PerUnitStorageThroughput\n

    \n
  • \n
  • \n

    \n StorageCapacity\n

    \n
  • \n
  • \n

    \n WeeklyMaintenanceStartTime\n

    \n
  • \n
\n

For FSx for ONTAP file systems, you can update the following\n properties:

\n
    \n
  • \n

    \n AddRouteTableIds\n

    \n
  • \n
  • \n

    \n AutomaticBackupRetentionDays\n

    \n
  • \n
  • \n

    \n DailyAutomaticBackupStartTime\n

    \n
  • \n
  • \n

    \n DiskIopsConfiguration\n

    \n
  • \n
  • \n

    \n FsxAdminPassword\n

    \n
  • \n
  • \n

    \n HAPairs\n

    \n
  • \n
  • \n

    \n RemoveRouteTableIds\n

    \n
  • \n
  • \n

    \n StorageCapacity\n

    \n
  • \n
  • \n

    \n ThroughputCapacity\n

    \n
  • \n
  • \n

    \n ThroughputCapacityPerHAPair\n

    \n
  • \n
  • \n

    \n WeeklyMaintenanceStartTime\n

    \n
  • \n
\n

For FSx for OpenZFS file systems, you can update the following\n properties:

\n
    \n
  • \n

    \n AddRouteTableIds\n

    \n
  • \n
  • \n

    \n AutomaticBackupRetentionDays\n

    \n
  • \n
  • \n

    \n CopyTagsToBackups\n

    \n
  • \n
  • \n

    \n CopyTagsToVolumes\n

    \n
  • \n
  • \n

    \n DailyAutomaticBackupStartTime\n

    \n
  • \n
  • \n

    \n DiskIopsConfiguration\n

    \n
  • \n
  • \n

    \n RemoveRouteTableIds\n

    \n
  • \n
  • \n

    \n StorageCapacity\n

    \n
  • \n
  • \n

    \n ThroughputCapacity\n

    \n
  • \n
  • \n

    \n WeeklyMaintenanceStartTime\n

    \n
  • \n
" + "smithy.api#documentation": "

Use this operation to update the configuration of an existing Amazon FSx file\n system. You can update multiple properties in a single request.

\n

For FSx for Windows File Server file systems, you can update the following\n properties:

\n
    \n
  • \n

    \n AuditLogConfiguration\n

    \n
  • \n
  • \n

    \n AutomaticBackupRetentionDays\n

    \n
  • \n
  • \n

    \n DailyAutomaticBackupStartTime\n

    \n
  • \n
  • \n

    \n SelfManagedActiveDirectoryConfiguration\n

    \n
  • \n
  • \n

    \n StorageCapacity\n

    \n
  • \n
  • \n

    \n StorageType\n

    \n
  • \n
  • \n

    \n ThroughputCapacity\n

    \n
  • \n
  • \n

    \n DiskIopsConfiguration\n

    \n
  • \n
  • \n

    \n WeeklyMaintenanceStartTime\n

    \n
  • \n
\n

For FSx for Lustre file systems, you can update the following\n properties:

\n
    \n
  • \n

    \n AutoImportPolicy\n

    \n
  • \n
  • \n

    \n AutomaticBackupRetentionDays\n

    \n
  • \n
  • \n

    \n DailyAutomaticBackupStartTime\n

    \n
  • \n
  • \n

    \n DataCompressionType\n

    \n
  • \n
  • \n

    \n LogConfiguration\n

    \n
  • \n
  • \n

    \n LustreRootSquashConfiguration\n

    \n
  • \n
  • \n

    \n MetadataConfiguration\n

    \n
  • \n
  • \n

    \n PerUnitStorageThroughput\n

    \n
  • \n
  • \n

    \n StorageCapacity\n

    \n
  • \n
  • \n

    \n WeeklyMaintenanceStartTime\n

    \n
  • \n
\n

For FSx for ONTAP file systems, you can update the following\n properties:

\n
    \n
  • \n

    \n AddRouteTableIds\n

    \n
  • \n
  • \n

    \n AutomaticBackupRetentionDays\n

    \n
  • \n
  • \n

    \n DailyAutomaticBackupStartTime\n

    \n
  • \n
  • \n

    \n DiskIopsConfiguration\n

    \n
  • \n
  • \n

    \n FsxAdminPassword\n

    \n
  • \n
  • \n

    \n HAPairs\n

    \n
  • \n
  • \n

    \n RemoveRouteTableIds\n

    \n
  • \n
  • \n

    \n StorageCapacity\n

    \n
  • \n
  • \n

    \n ThroughputCapacity\n

    \n
  • \n
  • \n

    \n ThroughputCapacityPerHAPair\n

    \n
  • \n
  • \n

    \n WeeklyMaintenanceStartTime\n

    \n
  • \n
\n

For FSx for OpenZFS file systems, you can update the following\n properties:

\n
    \n
  • \n

    \n AddRouteTableIds\n

    \n
  • \n
  • \n

    \n AutomaticBackupRetentionDays\n

    \n
  • \n
  • \n

    \n CopyTagsToBackups\n

    \n
  • \n
  • \n

    \n CopyTagsToVolumes\n

    \n
  • \n
  • \n

    \n DailyAutomaticBackupStartTime\n

    \n
  • \n
  • \n

    \n DiskIopsConfiguration\n

    \n
  • \n
  • \n

    \n ReadCacheConfiguration\n

    \n
  • \n
  • \n

    \n RemoveRouteTableIds\n

    \n
  • \n
  • \n

    \n StorageCapacity\n

    \n
  • \n
  • \n

    \n ThroughputCapacity\n

    \n
  • \n
  • \n

    \n WeeklyMaintenanceStartTime\n

    \n
  • \n
" } }, "com.amazonaws.fsx#UpdateFileSystemLustreConfiguration": { @@ -11509,6 +11594,12 @@ "traits": { "smithy.api#documentation": "

(Multi-AZ only) A list of IDs of existing virtual private cloud (VPC)\n route tables to disassociate (remove) from your Amazon FSx for OpenZFS file system. You can use\n the API operation to retrieve the\n list of VPC route table IDs for a file system.

" } + }, + "ReadCacheConfiguration": { + "target": "com.amazonaws.fsx#OpenZFSReadCacheConfiguration", + "traits": { + "smithy.api#documentation": "

\n The configuration for the optional provisioned SSD read cache on file systems that use the Intelligent-Tiering storage class.

" + } } }, "traits": { diff --git a/codegen/sdk/aws-models/guardduty.json b/codegen/sdk/aws-models/guardduty.json index cf660a6bb83..1292bbc67dc 100644 --- a/codegen/sdk/aws-models/guardduty.json +++ b/codegen/sdk/aws-models/guardduty.json @@ -218,6 +218,35 @@ "smithy.api#httpError": 403 } }, + "com.amazonaws.guardduty#AccessKey": { + "type": "structure", + "members": { + "PrincipalId": { + "target": "com.amazonaws.guardduty#String", + "traits": { + "smithy.api#documentation": "

Principal ID of the user.

", + "smithy.api#jsonName": "principalId" + } + }, + "UserName": { + "target": "com.amazonaws.guardduty#String", + "traits": { + "smithy.api#documentation": "

Name of the user.

", + "smithy.api#jsonName": "userName" + } + }, + "UserType": { + "target": "com.amazonaws.guardduty#String", + "traits": { + "smithy.api#documentation": "

Type of the user.

", + "smithy.api#jsonName": "userType" + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains information about the access keys.

" + } + }, "com.amazonaws.guardduty#AccessKeyDetails": { "type": "structure", "members": { @@ -254,6 +283,30 @@ "smithy.api#documentation": "

Contains information about the access keys.

" } }, + "com.amazonaws.guardduty#Account": { + "type": "structure", + "members": { + "Uid": { + "target": "com.amazonaws.guardduty#String", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

ID of the member's Amazon Web Services account

", + "smithy.api#jsonName": "uid", + "smithy.api#required": {} + } + }, + "Name": { + "target": "com.amazonaws.guardduty#String", + "traits": { + "smithy.api#documentation": "

Name of the member's Amazon Web Services account.

", + "smithy.api#jsonName": "account" + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains information about the account.

" + } + }, "com.amazonaws.guardduty#AccountDetail": { "type": "structure", "members": { @@ -473,6 +526,61 @@ "smithy.api#documentation": "

Contains information about actions.

" } }, + "com.amazonaws.guardduty#Actor": { + "type": "structure", + "members": { + "Id": { + "target": "com.amazonaws.guardduty#String", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

ID of the threat actor.

", + "smithy.api#jsonName": "id", + "smithy.api#required": {} + } + }, + "User": { + "target": "com.amazonaws.guardduty#User", + "traits": { + "smithy.api#documentation": "

Contains information about the user credentials used by the threat actor.

", + "smithy.api#jsonName": "user" + } + }, + "Session": { + "target": "com.amazonaws.guardduty#Session", + "traits": { + "smithy.api#documentation": "

Contains information about the user session where the activity initiated.

", + "smithy.api#jsonName": "session" + } + } + }, + "traits": { + "smithy.api#documentation": "

Information about the actors involved in an attack sequence.

" + } + }, + "com.amazonaws.guardduty#ActorIds": { + "type": "list", + "member": { + "target": "com.amazonaws.guardduty#String" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 400 + } + } + }, + "com.amazonaws.guardduty#Actors": { + "type": "list", + "member": { + "target": "com.amazonaws.guardduty#Actor" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 400 + } + } + }, "com.amazonaws.guardduty#AddonDetails": { "type": "structure", "members": { @@ -792,6 +900,32 @@ } } }, + "com.amazonaws.guardduty#AutonomousSystem": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.guardduty#String", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

Name associated with the Autonomous System (AS).

", + "smithy.api#jsonName": "name", + "smithy.api#required": {} + } + }, + "Number": { + "target": "com.amazonaws.guardduty#Integer", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The unique number that identifies the Autonomous System (AS).

", + "smithy.api#jsonName": "number", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains information about the Autonomous System (AS) associated with the network \n endpoints involved in an attack sequence.

" + } + }, "com.amazonaws.guardduty#AwsApiCallAction": { "type": "structure", "members": { @@ -3840,6 +3974,13 @@ "smithy.api#documentation": "

The details about the anomalous activity that caused GuardDuty to \n generate the finding.

", "smithy.api#jsonName": "anomaly" } + }, + "Sequence": { + "target": "com.amazonaws.guardduty#Sequence", + "traits": { + "smithy.api#documentation": "

The details about the attack sequence.

", + "smithy.api#jsonName": "sequence" + } } }, "traits": { @@ -4538,6 +4679,129 @@ "smithy.api#documentation": "

Describes the configuration of scanning EBS volumes as a data source.

" } }, + "com.amazonaws.guardduty#Ec2Instance": { + "type": "structure", + "members": { + "AvailabilityZone": { + "target": "com.amazonaws.guardduty#String", + "traits": { + "smithy.api#documentation": "

The availability zone of the Amazon EC2 instance. For more information, see\n Availability zones\n in the Amazon EC2 User Guide.

", + "smithy.api#jsonName": "availabilityZone" + } + }, + "ImageDescription": { + "target": "com.amazonaws.guardduty#String", + "traits": { + "smithy.api#documentation": "

The image description of the Amazon EC2 instance.

", + "smithy.api#jsonName": "imageDescription" + } + }, + "InstanceState": { + "target": "com.amazonaws.guardduty#String", + "traits": { + "smithy.api#documentation": "

The state of the Amazon EC2 instance. For more information, see\n Amazon EC2 instance state changes\n in the Amazon EC2 User Guide.

", + "smithy.api#jsonName": "instanceState" + } + }, + "IamInstanceProfile": { + "target": "com.amazonaws.guardduty#IamInstanceProfile" + }, + "InstanceType": { + "target": "com.amazonaws.guardduty#String", + "traits": { + "smithy.api#documentation": "

Type of the Amazon EC2 instance.

", + "smithy.api#jsonName": "instanceType" + } + }, + "OutpostArn": { + "target": "com.amazonaws.guardduty#String", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Amazon Web Services Outpost. This shows applicable Amazon Web Services Outposts instances.

", + "smithy.api#jsonName": "outpostArn" + } + }, + "Platform": { + "target": "com.amazonaws.guardduty#String", + "traits": { + "smithy.api#documentation": "

The platform of the Amazon EC2 instance.

", + "smithy.api#jsonName": "platform" + } + }, + "ProductCodes": { + "target": "com.amazonaws.guardduty#ProductCodes", + "traits": { + "smithy.api#documentation": "

The product code of the Amazon EC2 instance.

", + "smithy.api#jsonName": "productCodes" + } + }, + "Ec2NetworkInterfaceUids": { + "target": "com.amazonaws.guardduty#Ec2NetworkInterfaceUids", + "traits": { + "smithy.api#documentation": "

The ID of the network interface.

", + "smithy.api#jsonName": "ec2NetworkInterfaceUids" + } + } + }, + "traits": { + "smithy.api#documentation": "

Details about the potentially impacted Amazon EC2 instance resource.

" + } + }, + "com.amazonaws.guardduty#Ec2NetworkInterface": { + "type": "structure", + "members": { + "Ipv6Addresses": { + "target": "com.amazonaws.guardduty#Ipv6Addresses", + "traits": { + "smithy.api#documentation": "

A list of IPv6 addresses for the Amazon EC2 instance.

", + "smithy.api#jsonName": "ipv6Addresses" + } + }, + "PrivateIpAddresses": { + "target": "com.amazonaws.guardduty#PrivateIpAddresses", + "traits": { + "smithy.api#documentation": "

Other private IP address information of the Amazon EC2 instance.

", + "smithy.api#jsonName": "privateIpAddresses" + } + }, + "PublicIp": { + "target": "com.amazonaws.guardduty#String", + "traits": { + "smithy.api#documentation": "

The public IP address of the Amazon EC2 instance.

", + "smithy.api#jsonName": "publicIp" + } + }, + "SecurityGroups": { + "target": "com.amazonaws.guardduty#SecurityGroups", + "traits": { + "smithy.api#documentation": "

The security groups associated with the Amazon EC2 instance.

", + "smithy.api#jsonName": "securityGroups" + } + }, + "SubNetId": { + "target": "com.amazonaws.guardduty#String", + "traits": { + "smithy.api#documentation": "

The subnet ID of the Amazon EC2 instance.

", + "smithy.api#jsonName": "subNetId" + } + }, + "VpcId": { + "target": "com.amazonaws.guardduty#String", + "traits": { + "smithy.api#documentation": "

The VPC ID of the Amazon EC2 instance.

", + "smithy.api#jsonName": "vpcId" + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains information about the elastic network interface of the Amazon EC2 instance.

" + } + }, + "com.amazonaws.guardduty#Ec2NetworkInterfaceUids": { + "type": "list", + "member": { + "target": "com.amazonaws.guardduty#String" + } + }, "com.amazonaws.guardduty#EcsClusterDetails": { "type": "structure", "members": { @@ -4796,6 +5060,18 @@ "smithy.api#output": {} } }, + "com.amazonaws.guardduty#EndpointIds": { + "type": "list", + "member": { + "target": "com.amazonaws.guardduty#String" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 400 + } + } + }, "com.amazonaws.guardduty#Eq": { "type": "list", "member": { @@ -5173,6 +5449,13 @@ "smithy.api#jsonName": "updatedAt", "smithy.api#required": {} } + }, + "AssociatedAttackSequenceArn": { + "target": "com.amazonaws.guardduty#String", + "traits": { + "smithy.api#documentation": "

Amazon Resource Name (ARN) associated with the attack sequence finding.

", + "smithy.api#jsonName": "associatedAttackSequenceArn" + } } }, "traits": { @@ -5238,6 +5521,41 @@ } } }, + "com.amazonaws.guardduty#FindingResourceType": { + "type": "enum", + "members": { + "EC2_INSTANCE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "EC2_INSTANCE" + } + }, + "EC2_NETWORK_INTERFACE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "EC2_NETWORK_INTERFACE" + } + }, + "S3_BUCKET": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "S3_BUCKET" + } + }, + "S3_OBJECT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "S3_OBJECT" + } + }, + "ACCESS_KEY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ACCESS_KEY" + } + } + } + }, "com.amazonaws.guardduty#FindingStatisticType": { "type": "enum", "members": { @@ -8331,19 +8649,157 @@ "smithy.api#documentation": "

Contains information about the impersonated user.

" } }, - "com.amazonaws.guardduty#InstanceArn": { - "type": "string", - "traits": { - "smithy.api#pattern": "^arn:(aws|aws-cn|aws-us-gov):[a-z]+:[a-z]+(-[0-9]+|-[a-z]+)+:([0-9]{12}):[a-z\\-]+\\/[a-zA-Z0-9]*$" - } - }, - "com.amazonaws.guardduty#InstanceDetails": { + "com.amazonaws.guardduty#Indicator": { "type": "structure", "members": { - "AvailabilityZone": { - "target": "com.amazonaws.guardduty#String", + "Key": { + "target": "com.amazonaws.guardduty#IndicatorType", "traits": { - "smithy.api#documentation": "

The Availability Zone of the EC2 instance.

", + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

Specific indicator keys observed in the attack sequence.

", + "smithy.api#jsonName": "key", + "smithy.api#required": {} + } + }, + "Values": { + "target": "com.amazonaws.guardduty#IndicatorValues", + "traits": { + "smithy.api#documentation": "

Values associated with each indicator key. For example, if the indicator key is\n SUSPICIOUS_NETWORK, then the value will be the name of the network. If\n the indicator key is ATTACK_TACTIC, then the value will be one of the MITRE tactics.

\n

For more information about the\n values associated with the key, see GuardDuty Extended Threat Detection in the\n GuardDuty User Guide.\n

", + "smithy.api#jsonName": "values" + } + }, + "Title": { + "target": "com.amazonaws.guardduty#IndicatorTitle", + "traits": { + "smithy.api#documentation": "

Title describing the indicator.

", + "smithy.api#jsonName": "title" + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains information about the indicators that include a set of \n signals observed in an attack sequence.

" + } + }, + "com.amazonaws.guardduty#IndicatorTitle": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 256 + } + } + }, + "com.amazonaws.guardduty#IndicatorType": { + "type": "enum", + "members": { + "SUSPICIOUS_USER_AGENT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SUSPICIOUS_USER_AGENT" + } + }, + "SUSPICIOUS_NETWORK": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SUSPICIOUS_NETWORK" + } + }, + "MALICIOUS_IP": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "MALICIOUS_IP" + } + }, + "TOR_IP": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "TOR_IP" + } + }, + "ATTACK_TACTIC": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ATTACK_TACTIC" + } + }, + "HIGH_RISK_API": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "HIGH_RISK_API" + } + }, + "ATTACK_TECHNIQUE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ATTACK_TECHNIQUE" + } + }, + "UNUSUAL_API_FOR_ACCOUNT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "UNUSUAL_API_FOR_ACCOUNT" + } + }, + "UNUSUAL_ASN_FOR_ACCOUNT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "UNUSUAL_ASN_FOR_ACCOUNT" + } + }, + "UNUSUAL_ASN_FOR_USER": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "UNUSUAL_ASN_FOR_USER" + } + } + } + }, + "com.amazonaws.guardduty#IndicatorValueString": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 256 + } + } + }, + "com.amazonaws.guardduty#IndicatorValues": { + "type": "list", + "member": { + "target": "com.amazonaws.guardduty#IndicatorValueString" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 400 + } + } + }, + "com.amazonaws.guardduty#Indicators": { + "type": "list", + "member": { + "target": "com.amazonaws.guardduty#Indicator" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 400 + } + } + }, + "com.amazonaws.guardduty#InstanceArn": { + "type": "string", + "traits": { + "smithy.api#pattern": "^arn:(aws|aws-cn|aws-us-gov):[a-z]+:[a-z]+(-[0-9]+|-[a-z]+)+:([0-9]{12}):[a-z\\-]+\\/[a-zA-Z0-9]*$" + } + }, + "com.amazonaws.guardduty#InstanceDetails": { + "type": "structure", + "members": { + "AvailabilityZone": { + "target": "com.amazonaws.guardduty#String", + "traits": { + "smithy.api#documentation": "

The Availability Zone of the EC2 instance.

", "smithy.api#jsonName": "availabilityZone" } }, @@ -10996,6 +11452,23 @@ "target": "com.amazonaws.guardduty#String" } }, + "com.amazonaws.guardduty#MfaStatus": { + "type": "enum", + "members": { + "ENABLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ENABLED" + } + }, + "DISABLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DISABLED" + } + } + } + }, "com.amazonaws.guardduty#Name": { "type": "string", "traits": { @@ -11011,6 +11484,23 @@ "target": "com.amazonaws.guardduty#String" } }, + "com.amazonaws.guardduty#NetworkConnection": { + "type": "structure", + "members": { + "Direction": { + "target": "com.amazonaws.guardduty#NetworkDirection", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The direction in which the network traffic is flowing.

", + "smithy.api#jsonName": "direction", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains information about the network connection.

" + } + }, "com.amazonaws.guardduty#NetworkConnectionAction": { "type": "structure", "members": { @@ -11075,6 +11565,138 @@ "smithy.api#documentation": "

Contains information about the NETWORK_CONNECTION action described in the finding.

" } }, + "com.amazonaws.guardduty#NetworkDirection": { + "type": "enum", + "members": { + "INBOUND": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INBOUND" + } + }, + "OUTBOUND": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "OUTBOUND" + } + } + } + }, + "com.amazonaws.guardduty#NetworkEndpoint": { + "type": "structure", + "members": { + "Id": { + "target": "com.amazonaws.guardduty#String", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the network endpoint.

", + "smithy.api#jsonName": "id", + "smithy.api#required": {} + } + }, + "Ip": { + "target": "com.amazonaws.guardduty#String", + "traits": { + "smithy.api#documentation": "

The IP address associated with the network endpoint.

", + "smithy.api#jsonName": "ip" + } + }, + "Domain": { + "target": "com.amazonaws.guardduty#String", + "traits": { + "smithy.api#documentation": "

The domain information for the network endpoint.

", + "smithy.api#jsonName": "domain" + } + }, + "Port": { + "target": "com.amazonaws.guardduty#Integer", + "traits": { + "smithy.api#documentation": "

The port number associated with the network endpoint.

", + "smithy.api#jsonName": "port" + } + }, + "Location": { + "target": "com.amazonaws.guardduty#NetworkGeoLocation", + "traits": { + "smithy.api#documentation": "

Information about the location of the network endpoint.

", + "smithy.api#jsonName": "location" + } + }, + "AutonomousSystem": { + "target": "com.amazonaws.guardduty#AutonomousSystem", + "traits": { + "smithy.api#documentation": "

The Autonomous System (AS) of the network endpoint.

", + "smithy.api#jsonName": "autonomousSystem" + } + }, + "Connection": { + "target": "com.amazonaws.guardduty#NetworkConnection", + "traits": { + "smithy.api#documentation": "

Information about the network connection.

", + "smithy.api#jsonName": "connection" + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains information about network endpoints that were observed in the attack sequence.

" + } + }, + "com.amazonaws.guardduty#NetworkEndpoints": { + "type": "list", + "member": { + "target": "com.amazonaws.guardduty#NetworkEndpoint" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 400 + } + } + }, + "com.amazonaws.guardduty#NetworkGeoLocation": { + "type": "structure", + "members": { + "City": { + "target": "com.amazonaws.guardduty#String", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The name of the city.

", + "smithy.api#jsonName": "city", + "smithy.api#required": {} + } + }, + "Country": { + "target": "com.amazonaws.guardduty#String", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The name of the country.

", + "smithy.api#jsonName": "country", + "smithy.api#required": {} + } + }, + "Latitude": { + "target": "com.amazonaws.guardduty#Double", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The latitude information of the endpoint location.

", + "smithy.api#jsonName": "lat", + "smithy.api#required": {} + } + }, + "Longitude": { + "target": "com.amazonaws.guardduty#Double", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The longitude information of the endpoint location.

", + "smithy.api#jsonName": "lon", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains information about network endpoint location.

" + } + }, "com.amazonaws.guardduty#NetworkInterface": { "type": "structure", "members": { @@ -12166,49 +12788,136 @@ "smithy.api#documentation": "

Describes the public access policies that apply to the S3 bucket.

" } }, - "com.amazonaws.guardduty#PublishingStatus": { - "type": "enum", + "com.amazonaws.guardduty#PublicAccessConfiguration": { + "type": "structure", "members": { - "PENDING_VERIFICATION": { - "target": "smithy.api#Unit", + "PublicAclAccess": { + "target": "com.amazonaws.guardduty#PublicAccessStatus", "traits": { - "smithy.api#enumValue": "PENDING_VERIFICATION" + "smithy.api#documentation": "

Indicates whether or not there is a setting that allows public access to the Amazon S3 buckets through access\n control lists (ACLs).

", + "smithy.api#jsonName": "publicAclAccess" } }, - "PUBLISHING": { - "target": "smithy.api#Unit", + "PublicPolicyAccess": { + "target": "com.amazonaws.guardduty#PublicAccessStatus", "traits": { - "smithy.api#enumValue": "PUBLISHING" + "smithy.api#documentation": "

Indicates whether or not there is a setting that allows public access to the Amazon S3 bucket policy.

", + "smithy.api#jsonName": "publicPolicyAccess" } }, - "UNABLE_TO_PUBLISH_FIX_DESTINATION_PROPERTY": { - "target": "smithy.api#Unit", + "PublicAclIgnoreBehavior": { + "target": "com.amazonaws.guardduty#PublicAclIgnoreBehavior", "traits": { - "smithy.api#enumValue": "UNABLE_TO_PUBLISH_FIX_DESTINATION_PROPERTY" + "smithy.api#documentation": "

Indicates whether or not there is a setting that ignores all public access control lists (ACLs)\n on the Amazon S3 bucket and the objects that it contains.

", + "smithy.api#jsonName": "publicAclIgnoreBehavior" } }, - "STOPPED": { - "target": "smithy.api#Unit", + "PublicBucketRestrictBehavior": { + "target": "com.amazonaws.guardduty#PublicBucketRestrictBehavior", "traits": { - "smithy.api#enumValue": "STOPPED" + "smithy.api#documentation": "

Indicates whether or not there is a setting that restricts access to the bucket with specified policies.

", + "smithy.api#jsonName": "publicBucketRestrictBehavior" } } }, "traits": { - "smithy.api#length": { - "min": 1, - "max": 300 - } + "smithy.api#documentation": "

Describes public access policies that apply to the Amazon S3 bucket.

\n

For information about each of the following settings, see\n Blocking public access to your Amazon S3 storage in the Amazon S3 User Guide.

" } }, - "com.amazonaws.guardduty#RdsDbInstanceDetails": { - "type": "structure", + "com.amazonaws.guardduty#PublicAccessStatus": { + "type": "enum", "members": { - "DbInstanceIdentifier": { - "target": "com.amazonaws.guardduty#String", + "BLOCKED": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

The identifier associated to the database instance that was involved in the\n finding.

", - "smithy.api#jsonName": "dbInstanceIdentifier" + "smithy.api#enumValue": "BLOCKED" + } + }, + "ALLOWED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ALLOWED" + } + } + } + }, + "com.amazonaws.guardduty#PublicAclIgnoreBehavior": { + "type": "enum", + "members": { + "IGNORED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "IGNORED" + } + }, + "NOT_IGNORED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "NOT_IGNORED" + } + } + } + }, + "com.amazonaws.guardduty#PublicBucketRestrictBehavior": { + "type": "enum", + "members": { + "RESTRICTED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RESTRICTED" + } + }, + "NOT_RESTRICTED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "NOT_RESTRICTED" + } + } + } + }, + "com.amazonaws.guardduty#PublishingStatus": { + "type": "enum", + "members": { + "PENDING_VERIFICATION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PENDING_VERIFICATION" + } + }, + "PUBLISHING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PUBLISHING" + } + }, + "UNABLE_TO_PUBLISH_FIX_DESTINATION_PROPERTY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "UNABLE_TO_PUBLISH_FIX_DESTINATION_PROPERTY" + } + }, + "STOPPED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "STOPPED" + } + } + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 300 + } + } + }, + "com.amazonaws.guardduty#RdsDbInstanceDetails": { + "type": "structure", + "members": { + "DbInstanceIdentifier": { + "target": "com.amazonaws.guardduty#String", + "traits": { + "smithy.api#documentation": "

The identifier associated to the database instance that was involved in the\n finding.

", + "smithy.api#jsonName": "dbInstanceIdentifier" } }, "Engine": { @@ -12342,7 +13051,7 @@ "Tags": { "target": "com.amazonaws.guardduty#Tags", "traits": { - "smithy.api#documentation": "

Information about the tag-key value pair.

", + "smithy.api#documentation": "

Information about the tag key-value pair.

", "smithy.api#jsonName": "tags" } } @@ -12569,6 +13278,49 @@ "smithy.api#pattern": "^arn:[A-Za-z-]+:[A-Za-z0-9]+:[A-Za-z0-9-]+:\\d+:(([A-Za-z0-9-]+)[:\\/])?[A-Za-z0-9-]*$" } }, + "com.amazonaws.guardduty#ResourceData": { + "type": "structure", + "members": { + "S3Bucket": { + "target": "com.amazonaws.guardduty#S3Bucket", + "traits": { + "smithy.api#documentation": "

Contains information about the Amazon S3 bucket.

", + "smithy.api#jsonName": "s3Bucket" + } + }, + "Ec2Instance": { + "target": "com.amazonaws.guardduty#Ec2Instance", + "traits": { + "smithy.api#documentation": "

Contains information about the Amazon EC2 instance.

", + "smithy.api#jsonName": "ec2Instance" + } + }, + "AccessKey": { + "target": "com.amazonaws.guardduty#AccessKey", + "traits": { + "smithy.api#documentation": "

Contains information about the IAM access key details of a user that involved in the GuardDuty finding.

", + "smithy.api#jsonName": "accessKey" + } + }, + "Ec2NetworkInterface": { + "target": "com.amazonaws.guardduty#Ec2NetworkInterface", + "traits": { + "smithy.api#documentation": "

Contains information about the elastic network interface of the Amazon EC2 instance.

", + "smithy.api#jsonName": "ec2NetworkInterface" + } + }, + "S3Object": { + "target": "com.amazonaws.guardduty#S3Object", + "traits": { + "smithy.api#documentation": "

Contains information about the Amazon S3 object.

", + "smithy.api#jsonName": "s3Object" + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains information about the Amazon Web Services resource that is associated with the activity that prompted\n GuardDuty to generate a finding.

" + } + }, "com.amazonaws.guardduty#ResourceDetails": { "type": "structure", "members": { @@ -12680,6 +13432,105 @@ } } }, + "com.amazonaws.guardduty#ResourceUids": { + "type": "list", + "member": { + "target": "com.amazonaws.guardduty#String" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 400 + } + } + }, + "com.amazonaws.guardduty#ResourceV2": { + "type": "structure", + "members": { + "Uid": { + "target": "com.amazonaws.guardduty#String", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The unique identifier of the resource.

", + "smithy.api#jsonName": "uid", + "smithy.api#required": {} + } + }, + "Name": { + "target": "com.amazonaws.guardduty#String", + "traits": { + "smithy.api#documentation": "

The name of the resource.

", + "smithy.api#jsonName": "name" + } + }, + "AccountId": { + "target": "com.amazonaws.guardduty#String", + "traits": { + "smithy.api#documentation": "

The Amazon Web Services account ID to which the resource belongs.

", + "smithy.api#jsonName": "accountId" + } + }, + "ResourceType": { + "target": "com.amazonaws.guardduty#FindingResourceType", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The type of the Amazon Web Services resource.

", + "smithy.api#jsonName": "resourceType", + "smithy.api#required": {} + } + }, + "Region": { + "target": "com.amazonaws.guardduty#String", + "traits": { + "smithy.api#documentation": "

The Amazon Web Services Region where the resource belongs.

", + "smithy.api#jsonName": "region" + } + }, + "Service": { + "target": "com.amazonaws.guardduty#String", + "traits": { + "smithy.api#documentation": "

The Amazon Web Services service of the resource.

", + "smithy.api#jsonName": "service" + } + }, + "CloudPartition": { + "target": "com.amazonaws.guardduty#String", + "traits": { + "smithy.api#documentation": "

The cloud partition within the Amazon Web Services Region to which the resource belongs.

", + "smithy.api#jsonName": "cloudPartition" + } + }, + "Tags": { + "target": "com.amazonaws.guardduty#Tags", + "traits": { + "smithy.api#documentation": "

Contains information about the tags associated with the resource.

", + "smithy.api#jsonName": "tags" + } + }, + "Data": { + "target": "com.amazonaws.guardduty#ResourceData", + "traits": { + "smithy.api#documentation": "

Contains information about the Amazon Web Services resource associated with the activity that prompted\n GuardDuty to generate a finding.

", + "smithy.api#jsonName": "data" + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains information about the Amazon Web Services resource that is associated with the GuardDuty finding.

" + } + }, + "com.amazonaws.guardduty#Resources": { + "type": "list", + "member": { + "target": "com.amazonaws.guardduty#ResourceV2" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 400 + } + } + }, "com.amazonaws.guardduty#RuntimeContext": { "type": "structure", "members": { @@ -12885,6 +13736,84 @@ "smithy.api#documentation": "

Information about the process and any required context values for a specific\n finding.

" } }, + "com.amazonaws.guardduty#S3Bucket": { + "type": "structure", + "members": { + "OwnerId": { + "target": "com.amazonaws.guardduty#String", + "traits": { + "smithy.api#documentation": "

The owner ID of the associated S3Amazon S3bucket.

", + "smithy.api#jsonName": "ownerId" + } + }, + "CreatedAt": { + "target": "com.amazonaws.guardduty#Timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp at which the Amazon S3 bucket was created.

", + "smithy.api#jsonName": "createdAt" + } + }, + "EncryptionType": { + "target": "com.amazonaws.guardduty#String", + "traits": { + "smithy.api#documentation": "

The type of encryption used for the Amazon S3 buckets and its objects. For more information,\n see Protecting data with server-side encryption\n in the Amazon S3 User Guide.

", + "smithy.api#jsonName": "encryptionType" + } + }, + "EncryptionKeyArn": { + "target": "com.amazonaws.guardduty#String", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the encryption key that is used to encrypt the Amazon S3 bucket and its objects.

", + "smithy.api#jsonName": "encryptionKeyArn" + } + }, + "EffectivePermission": { + "target": "com.amazonaws.guardduty#String", + "traits": { + "smithy.api#documentation": "

Describes the effective permissions on this S3 bucket, after factoring all the attached policies.

", + "smithy.api#jsonName": "effectivePermission" + } + }, + "PublicReadAccess": { + "target": "com.amazonaws.guardduty#PublicAccessStatus", + "traits": { + "smithy.api#documentation": "

Indicates whether or not the public read access is allowed for an Amazon S3 bucket.

", + "smithy.api#jsonName": "publicReadAccess" + } + }, + "PublicWriteAccess": { + "target": "com.amazonaws.guardduty#PublicAccessStatus", + "traits": { + "smithy.api#documentation": "

Indicates whether or not the public write access is allowed for an Amazon S3 bucket.

", + "smithy.api#jsonName": "publicWriteAccess" + } + }, + "AccountPublicAccess": { + "target": "com.amazonaws.guardduty#PublicAccessConfiguration", + "traits": { + "smithy.api#documentation": "

Contains information about the public access policies that apply to the Amazon S3 bucket at the account level.

", + "smithy.api#jsonName": "accountPublicAccess" + } + }, + "BucketPublicAccess": { + "target": "com.amazonaws.guardduty#PublicAccessConfiguration", + "traits": { + "smithy.api#documentation": "

Contains information about public access policies that apply to the Amazon S3 bucket.

", + "smithy.api#jsonName": "bucketPublicAccess" + } + }, + "S3ObjectUids": { + "target": "com.amazonaws.guardduty#S3ObjectUids", + "traits": { + "smithy.api#documentation": "

Represents a list of Amazon S3 object identifiers.

", + "smithy.api#jsonName": "s3ObjectUids" + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains information about the Amazon S3 bucket policies and encryption.

" + } + }, "com.amazonaws.guardduty#S3BucketDetail": { "type": "structure", "members": { @@ -12996,6 +13925,35 @@ "smithy.api#documentation": "

Describes whether S3 data event logs will be enabled as a data source.

" } }, + "com.amazonaws.guardduty#S3Object": { + "type": "structure", + "members": { + "ETag": { + "target": "com.amazonaws.guardduty#String", + "traits": { + "smithy.api#documentation": "

The entity tag is a hash of the Amazon S3 object. The ETag reflects changes only to the\n contents of an object, and not its metadata.

", + "smithy.api#jsonName": "eTag" + } + }, + "Key": { + "target": "com.amazonaws.guardduty#String", + "traits": { + "smithy.api#documentation": "

The key of the Amazon S3 object.

", + "smithy.api#jsonName": "key" + } + }, + "VersionId": { + "target": "com.amazonaws.guardduty#String", + "traits": { + "smithy.api#documentation": "

The version Id of the Amazon S3 object.

", + "smithy.api#jsonName": "versionId" + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains information about the Amazon S3 object.

" + } + }, "com.amazonaws.guardduty#S3ObjectDetail": { "type": "structure", "members": { @@ -13045,6 +14003,12 @@ "target": "com.amazonaws.guardduty#S3ObjectDetail" } }, + "com.amazonaws.guardduty#S3ObjectUids": { + "type": "list", + "member": { + "target": "com.amazonaws.guardduty#String" + } + }, "com.amazonaws.guardduty#Scan": { "type": "structure", "members": { @@ -13560,6 +14524,78 @@ "smithy.api#sensitive": {} } }, + "com.amazonaws.guardduty#Sequence": { + "type": "structure", + "members": { + "Uid": { + "target": "com.amazonaws.guardduty#String", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

Unique identifier of the attack sequence.

", + "smithy.api#jsonName": "uid", + "smithy.api#required": {} + } + }, + "Description": { + "target": "com.amazonaws.guardduty#SequenceDescription", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

Description of the attack sequence.

", + "smithy.api#jsonName": "description", + "smithy.api#required": {} + } + }, + "Actors": { + "target": "com.amazonaws.guardduty#Actors", + "traits": { + "smithy.api#documentation": "

Contains information about the actors involved in the attack sequence.

", + "smithy.api#jsonName": "actors" + } + }, + "Resources": { + "target": "com.amazonaws.guardduty#Resources", + "traits": { + "smithy.api#documentation": "

Contains information about the resources involved in the attack sequence.

", + "smithy.api#jsonName": "resources" + } + }, + "Endpoints": { + "target": "com.amazonaws.guardduty#NetworkEndpoints", + "traits": { + "smithy.api#documentation": "

Contains information about the network endpoints that were used in the attack sequence.

", + "smithy.api#jsonName": "endpoints" + } + }, + "Signals": { + "target": "com.amazonaws.guardduty#Signals", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

Contains information about the signals involved in the attack sequence.

", + "smithy.api#jsonName": "signals", + "smithy.api#required": {} + } + }, + "SequenceIndicators": { + "target": "com.amazonaws.guardduty#Indicators", + "traits": { + "smithy.api#documentation": "

Contains information about the indicators observed in the attack sequence.

", + "smithy.api#jsonName": "sequenceIndicators" + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains information about the GuardDuty attack sequence finding.

" + } + }, + "com.amazonaws.guardduty#SequenceDescription": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 4096 + } + } + }, "com.amazonaws.guardduty#Service": { "type": "structure", "members": { @@ -13702,6 +14738,42 @@ "smithy.api#documentation": "

Additional information about the generated finding.

" } }, + "com.amazonaws.guardduty#Session": { + "type": "structure", + "members": { + "Uid": { + "target": "com.amazonaws.guardduty#String", + "traits": { + "smithy.api#documentation": "

The unique identifier of the session.

", + "smithy.api#jsonName": "uid" + } + }, + "MfaStatus": { + "target": "com.amazonaws.guardduty#MfaStatus", + "traits": { + "smithy.api#documentation": "

Indicates whether or not multi-factor authencation (MFA) was used during authentication.

\n

In Amazon Web Services CloudTrail, you can find this value as userIdentity.sessionContext.attributes.mfaAuthenticated.

", + "smithy.api#jsonName": "mfaStatus" + } + }, + "CreatedTime": { + "target": "com.amazonaws.guardduty#Timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp for when the session was created.

\n

In Amazon Web Services CloudTrail, you can find this value as userIdentity.sessionContext.attributes.creationDate.

", + "smithy.api#jsonName": "createdTime" + } + }, + "Issuer": { + "target": "com.amazonaws.guardduty#String", + "traits": { + "smithy.api#documentation": "

Identifier of the session issuer.

\n

In Amazon Web Services CloudTrail, you can find this value as userIdentity.sessionContext.sessionIssuer.arn.

", + "smithy.api#jsonName": "issuer" + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains information about the authenticated session.

" + } + }, "com.amazonaws.guardduty#SessionNameList": { "type": "list", "member": { @@ -13737,6 +14809,172 @@ "smithy.api#documentation": "

Information about severity level for each finding type.

" } }, + "com.amazonaws.guardduty#Signal": { + "type": "structure", + "members": { + "Uid": { + "target": "com.amazonaws.guardduty#String", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The unique identifier of the signal.

", + "smithy.api#jsonName": "uid", + "smithy.api#required": {} + } + }, + "Type": { + "target": "com.amazonaws.guardduty#SignalType", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The type of the signal used to identify an attack sequence.

\n

Signals can be GuardDuty findings or activities observed in data sources that GuardDuty monitors. For\n more information, see \n Foundational data sources in the\n GuardDuty User Guide.

\n

A signal type can be one of the valid values listed in this API. Here are the related descriptions:

\n
    \n
  • \n

    \n FINDING - Individually generated GuardDuty finding.

    \n
  • \n
  • \n

    \n CLOUD_TRAIL - Activity observed from CloudTrail logs

    \n
  • \n
  • \n

    \n S3_DATA_EVENTS - Activity observed from CloudTrail data events for S3. Activities associated\n with this type will show up only when\n you have enabled GuardDuty S3 Protection feature in your account. For more information about S3 Protection and\n steps to enable it, see S3 Protection in the\n GuardDuty User Guide.

    \n
  • \n
", + "smithy.api#jsonName": "type", + "smithy.api#required": {} + } + }, + "Description": { + "target": "com.amazonaws.guardduty#SignalDescription", + "traits": { + "smithy.api#documentation": "

The description of the signal.

", + "smithy.api#jsonName": "description" + } + }, + "Name": { + "target": "com.amazonaws.guardduty#String", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The name of the signal. For example, when signal type is FINDING, \n the signal name is the name of the finding.

", + "smithy.api#jsonName": "name", + "smithy.api#required": {} + } + }, + "CreatedAt": { + "target": "com.amazonaws.guardduty#Timestamp", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The timestamp when the first finding or activity related to this signal was observed.

", + "smithy.api#jsonName": "createdAt", + "smithy.api#required": {} + } + }, + "UpdatedAt": { + "target": "com.amazonaws.guardduty#Timestamp", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The timestamp when this signal was last observed.

", + "smithy.api#jsonName": "updatedAt", + "smithy.api#required": {} + } + }, + "FirstSeenAt": { + "target": "com.amazonaws.guardduty#Timestamp", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The timestamp when the first finding or activity related to this signal was observed.

", + "smithy.api#jsonName": "firstSeenAt", + "smithy.api#required": {} + } + }, + "LastSeenAt": { + "target": "com.amazonaws.guardduty#Timestamp", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The timestamp when the last finding or activity related to this signal was observed.

", + "smithy.api#jsonName": "lastSeenAt", + "smithy.api#required": {} + } + }, + "Severity": { + "target": "com.amazonaws.guardduty#Double", + "traits": { + "smithy.api#documentation": "

The severity associated with the signal. For more information about severity, see \n Findings severity levels\n in the GuardDuty User Guide.

", + "smithy.api#jsonName": "severity" + } + }, + "Count": { + "target": "com.amazonaws.guardduty#Integer", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The number of times this signal was observed.

", + "smithy.api#jsonName": "count", + "smithy.api#required": {} + } + }, + "ResourceUids": { + "target": "com.amazonaws.guardduty#ResourceUids", + "traits": { + "smithy.api#documentation": "

Information about the unique identifiers of the resources involved in the signal.

", + "smithy.api#jsonName": "resourceUids" + } + }, + "ActorIds": { + "target": "com.amazonaws.guardduty#ActorIds", + "traits": { + "smithy.api#documentation": "

Information about the IDs of the threat actors involved in the signal.

", + "smithy.api#jsonName": "actorIds" + } + }, + "EndpointIds": { + "target": "com.amazonaws.guardduty#EndpointIds", + "traits": { + "smithy.api#documentation": "

Information about the endpoint IDs associated with this signal.

", + "smithy.api#jsonName": "endpointIds" + } + }, + "SignalIndicators": { + "target": "com.amazonaws.guardduty#Indicators", + "traits": { + "smithy.api#documentation": "

Contains information about the indicators associated with the signals.

", + "smithy.api#jsonName": "signalIndicators" + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains information about the signals involved in the attack sequence.

" + } + }, + "com.amazonaws.guardduty#SignalDescription": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 2000 + } + } + }, + "com.amazonaws.guardduty#SignalType": { + "type": "enum", + "members": { + "FINDING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FINDING" + } + }, + "CLOUD_TRAIL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CLOUD_TRAIL" + } + }, + "S3_DATA_EVENTS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "S3_DATA_EVENTS" + } + } + } + }, + "com.amazonaws.guardduty#Signals": { + "type": "list", + "member": { + "target": "com.amazonaws.guardduty#Signal" + }, + "traits": { + "smithy.api#length": { + "min": 2, + "max": 100 + } + } + }, "com.amazonaws.guardduty#SortCriteria": { "type": "structure", "members": { @@ -15757,6 +16995,55 @@ "target": "com.amazonaws.guardduty#UsageTopAccountsResult" } }, + "com.amazonaws.guardduty#User": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.guardduty#String", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The name of the user.

", + "smithy.api#jsonName": "name", + "smithy.api#required": {} + } + }, + "Uid": { + "target": "com.amazonaws.guardduty#String", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The unique identifier of the user.

", + "smithy.api#jsonName": "uid", + "smithy.api#required": {} + } + }, + "Type": { + "target": "com.amazonaws.guardduty#String", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The type of the user.

", + "smithy.api#jsonName": "type", + "smithy.api#required": {} + } + }, + "CredentialUid": { + "target": "com.amazonaws.guardduty#String", + "traits": { + "smithy.api#documentation": "

The credentials of the user ID.

", + "smithy.api#jsonName": "credentialUid" + } + }, + "Account": { + "target": "com.amazonaws.guardduty#Account", + "traits": { + "smithy.api#documentation": "

Contains information about the Amazon Web Services account.

", + "smithy.api#jsonName": "account" + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains information about the user involved in the attack sequence.

" + } + }, "com.amazonaws.guardduty#Volume": { "type": "structure", "members": { diff --git a/codegen/sdk/aws-models/imagebuilder.json b/codegen/sdk/aws-models/imagebuilder.json index 131b2bf2933..a67d8c280a3 100644 --- a/codegen/sdk/aws-models/imagebuilder.json +++ b/codegen/sdk/aws-models/imagebuilder.json @@ -481,7 +481,7 @@ "state": { "target": "com.amazonaws.imagebuilder#ComponentState", "traits": { - "smithy.api#documentation": "

Describes the current status of the component. This is used for components that are no\n\t\t\tlonger active.

" + "smithy.api#documentation": "

Describes the current status of the component.

" } }, "parameters": { @@ -538,6 +538,12 @@ "smithy.api#default": false, "smithy.api#documentation": "

Indicates whether component source is hidden from view in the console, and from \n\t\t\tcomponent detail results for API, CLI, or SDK operations.

" } + }, + "productCodes": { + "target": "com.amazonaws.imagebuilder#ProductCodeList", + "traits": { + "smithy.api#documentation": "

Contains product codes that are used for billing purposes for Amazon Web Services Marketplace components.

" + } } }, "traits": { @@ -742,6 +748,18 @@ "traits": { "smithy.api#enumValue": "DEPRECATED" } + }, + "DISABLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DISABLED" + } + }, + "ACTIVE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ACTIVE" + } } } }, @@ -830,7 +848,7 @@ "target": "com.amazonaws.imagebuilder#Boolean", "traits": { "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether component source is hidden from view in the console, \n\t\t\tand from component detail results for API, CLI, or SDK operations.

" + "smithy.api#documentation": "

Indicates whether component source is hidden from view in the console, and from \n\t\t\tcomponent detail results for API, CLI, or SDK operations.

" } } }, @@ -917,6 +935,18 @@ "traits": { "smithy.api#documentation": "

The date that the component was created.

" } + }, + "status": { + "target": "com.amazonaws.imagebuilder#ComponentStatus", + "traits": { + "smithy.api#documentation": "

Describes the current status of the component version.

" + } + }, + "productCodes": { + "target": "com.amazonaws.imagebuilder#ProductCodeList", + "traits": { + "smithy.api#documentation": "

Contains product codes that are used for billing purposes for Amazon Web Services Marketplace components.

" + } } }, "traits": { @@ -3891,7 +3921,7 @@ "com.amazonaws.imagebuilder#FilterValue": { "type": "string", "traits": { - "smithy.api#pattern": "^[0-9a-zA-Z./_ :-]{1,1024}$" + "smithy.api#pattern": "^[0-9a-zA-Z./_ :,{}\"-]{1,1024}$" } }, "com.amazonaws.imagebuilder#FilterValues": { @@ -4858,6 +4888,97 @@ "smithy.api#output": {} } }, + "com.amazonaws.imagebuilder#GetMarketplaceResource": { + "type": "operation", + "input": { + "target": "com.amazonaws.imagebuilder#GetMarketplaceResourceRequest" + }, + "output": { + "target": "com.amazonaws.imagebuilder#GetMarketplaceResourceResponse" + }, + "errors": [ + { + "target": "com.amazonaws.imagebuilder#CallRateLimitExceededException" + }, + { + "target": "com.amazonaws.imagebuilder#ClientException" + }, + { + "target": "com.amazonaws.imagebuilder#ForbiddenException" + }, + { + "target": "com.amazonaws.imagebuilder#InvalidRequestException" + }, + { + "target": "com.amazonaws.imagebuilder#ServiceException" + }, + { + "target": "com.amazonaws.imagebuilder#ServiceUnavailableException" + } + ], + "traits": { + "smithy.api#documentation": "

Verify the subscription and perform resource dependency checks on the requested \n\t\t\tAmazon Web Services Marketplace resource. For Amazon Web Services Marketplace components, the response contains fields to download the \n\t\t\tcomponents and their artifacts.

", + "smithy.api#http": { + "method": "POST", + "uri": "/GetMarketplaceResource", + "code": 200 + } + } + }, + "com.amazonaws.imagebuilder#GetMarketplaceResourceRequest": { + "type": "structure", + "members": { + "resourceType": { + "target": "com.amazonaws.imagebuilder#MarketplaceResourceType", + "traits": { + "smithy.api#documentation": "

Specifies which type of Amazon Web Services Marketplace resource Image Builder retrieves.

", + "smithy.api#required": {} + } + }, + "resourceArn": { + "target": "com.amazonaws.imagebuilder#ImageBuilderArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) that uniquely identifies an Amazon Web Services Marketplace resource.

", + "smithy.api#required": {} + } + }, + "resourceLocation": { + "target": "com.amazonaws.imagebuilder#MarketplaceResourceLocation", + "traits": { + "smithy.api#documentation": "

The bucket path that you can specify to download the resource from Amazon S3.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.imagebuilder#GetMarketplaceResourceResponse": { + "type": "structure", + "members": { + "resourceArn": { + "target": "com.amazonaws.imagebuilder#ImageBuilderArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) for the Amazon Web Services Marketplace resource that was requested.

" + } + }, + "url": { + "target": "com.amazonaws.imagebuilder#NonEmptyString", + "traits": { + "smithy.api#documentation": "

The obfuscated S3 URL to download the component artifact from.

" + } + }, + "data": { + "target": "com.amazonaws.imagebuilder#NonEmptyString", + "traits": { + "smithy.api#documentation": "

Returns obfuscated data that contains the YAML content of the component.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.imagebuilder#GetWorkflow": { "type": "operation", "input": { @@ -5476,18 +5597,18 @@ "packageName": { "target": "com.amazonaws.imagebuilder#NonEmptyString", "traits": { - "smithy.api#documentation": "

The name of the package as reported to the operating system package manager.

" + "smithy.api#documentation": "

The name of the package that's reported to the operating system package \n\t\t\tmanager.

" } }, "packageVersion": { "target": "com.amazonaws.imagebuilder#NonEmptyString", "traits": { - "smithy.api#documentation": "

The version of the package as reported to the operating system package manager.

" + "smithy.api#documentation": "

The version of the package that's reported to the operating system package \n\t\t\tmanager.

" } } }, "traits": { - "smithy.api#documentation": "

Represents a package installed on an Image Builder image.

" + "smithy.api#documentation": "

A software package that's installed on top of the base image to create a \n\t\t\tcustomized image.

" } }, "com.amazonaws.imagebuilder#ImagePackageList": { @@ -6325,7 +6446,7 @@ "timeoutMinutes": { "target": "com.amazonaws.imagebuilder#ImageTestsTimeoutMinutes", "traits": { - "smithy.api#documentation": "

The maximum time in minutes that tests are permitted to run.

\n \n

The timeoutMinutes attribute is not currently active. This value is\n\t\t\t\tignored.

\n
" + "smithy.api#documentation": "

The maximum time in minutes that tests are permitted to run.

\n \n

The timeout attribute is not currently active. This value is\n\t\t\t\tignored.

\n
" } } }, @@ -10327,6 +10448,33 @@ "smithy.api#documentation": "

Logging configuration defines where Image Builder uploads your logs.

" } }, + "com.amazonaws.imagebuilder#MarketplaceResourceLocation": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 1024 + }, + "smithy.api#pattern": "^s3://[^/]+/.+[^/]$" + } + }, + "com.amazonaws.imagebuilder#MarketplaceResourceType": { + "type": "enum", + "members": { + "COMPONENT_DATA": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "COMPONENT_DATA" + } + }, + "COMPONENT_ARTIFACT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "COMPONENT_ARTIFACT" + } + } + } + }, "com.amazonaws.imagebuilder#MaxParallelLaunches": { "type": "integer", "traits": { @@ -10485,6 +10633,12 @@ "traits": { "smithy.api#enumValue": "ThirdParty" } + }, + "AWS_MARKETPLACE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AWSMarketplace" + } } } }, @@ -10671,6 +10825,51 @@ } } }, + "com.amazonaws.imagebuilder#ProductCodeId": { + "type": "string", + "traits": { + "smithy.api#pattern": "^[A-Za-z0-9]{1,25}$" + } + }, + "com.amazonaws.imagebuilder#ProductCodeList": { + "type": "list", + "member": { + "target": "com.amazonaws.imagebuilder#ProductCodeListItem" + } + }, + "com.amazonaws.imagebuilder#ProductCodeListItem": { + "type": "structure", + "members": { + "productCodeId": { + "target": "com.amazonaws.imagebuilder#ProductCodeId", + "traits": { + "smithy.api#documentation": "

For Amazon Web Services Marketplace components, this contains the product code ID that can be stamped onto \n\t\t\tan EC2 AMI to ensure that components are billed correctly. If this property is empty, \n\t\t\tit might mean that the component is not published.

", + "smithy.api#required": {} + } + }, + "productCodeType": { + "target": "com.amazonaws.imagebuilder#ProductCodeType", + "traits": { + "smithy.api#documentation": "

The owner of the product code that's billed. If this property is \n\t\t\tempty, it might mean that the component is not published.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Information about a single product code.

" + } + }, + "com.amazonaws.imagebuilder#ProductCodeType": { + "type": "enum", + "members": { + "MARKETPLACE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "marketplace" + } + } + } + }, "com.amazonaws.imagebuilder#PutComponentPolicy": { "type": "operation", "input": { @@ -11875,7 +12074,7 @@ "repositoryName": { "target": "com.amazonaws.imagebuilder#NonEmptyString", "traits": { - "smithy.api#documentation": "

The name of the container repository where the output container image is stored. This\n\t\t\tname is prefixed by the repository location.

", + "smithy.api#documentation": "

The name of the container repository where the output container image is stored. \n\t\t\tThis name is prefixed by the repository location. For example, \n\t\t\t/repository_name.

", "smithy.api#required": {} } } @@ -13673,6 +13872,9 @@ { "target": "com.amazonaws.imagebuilder#GetLifecyclePolicy" }, + { + "target": "com.amazonaws.imagebuilder#GetMarketplaceResource" + }, { "target": "com.amazonaws.imagebuilder#GetWorkflow" }, diff --git a/codegen/sdk/aws-models/invoicing.json b/codegen/sdk/aws-models/invoicing.json new file mode 100644 index 00000000000..787040f2e16 --- /dev/null +++ b/codegen/sdk/aws-models/invoicing.json @@ -0,0 +1,2117 @@ +{ + "smithy": "2.0", + "shapes": { + "com.amazonaws.invoicing#AccessDeniedException": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.invoicing#BasicString" + }, + "resourceName": { + "target": "com.amazonaws.invoicing#InvoiceUnitArnString", + "traits": { + "smithy.api#documentation": "

You don't have sufficient access to perform this action.\n

" + } + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "InvoicingAccessDenied", + "httpResponseCode": 403 + }, + "smithy.api#documentation": "

You don't have sufficient access to perform this action.

", + "smithy.api#error": "client", + "smithy.api#httpError": 403 + } + }, + "com.amazonaws.invoicing#AccountIdList": { + "type": "list", + "member": { + "target": "com.amazonaws.invoicing#AccountIdString" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1000 + } + } + }, + "com.amazonaws.invoicing#AccountIdString": { + "type": "string", + "traits": { + "smithy.api#pattern": "^\\d{12}$" + } + }, + "com.amazonaws.invoicing#AsOfTimestamp": { + "type": "timestamp" + }, + "com.amazonaws.invoicing#BasicString": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 1024 + }, + "smithy.api#pattern": "^\\S+$" + } + }, + "com.amazonaws.invoicing#BatchGetInvoiceProfile": { + "type": "operation", + "input": { + "target": "com.amazonaws.invoicing#BatchGetInvoiceProfileRequest" + }, + "output": { + "target": "com.amazonaws.invoicing#BatchGetInvoiceProfileResponse" + }, + "errors": [ + { + "target": "com.amazonaws.invoicing#AccessDeniedException" + }, + { + "target": "com.amazonaws.invoicing#InternalServerException" + }, + { + "target": "com.amazonaws.invoicing#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.invoicing#ThrottlingException" + }, + { + "target": "com.amazonaws.invoicing#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

This gets the invoice profile associated with a set of accounts. The accounts must be linked accounts under the requester management account organization.

", + "smithy.api#examples": [ + { + "title": "BatchGetInvoiceProfile", + "input": { + "AccountIds": [ + "111111111111" + ] + }, + "output": { + "Profiles": [ + { + "AccountId": "111111111111", + "Issuer": "Test", + "ReceiverAddress": { + "AddressLine1": "Test", + "City": "Test", + "CountryCode": "LU", + "PostalCode": "Test", + "StateOrRegion": "Test" + }, + "ReceiverEmail": "test@amazon.com", + "ReceiverName": "TestAccount" + } + ] + } + } + ], + "smithy.api#readonly": {} + } + }, + "com.amazonaws.invoicing#BatchGetInvoiceProfileRequest": { + "type": "structure", + "members": { + "AccountIds": { + "target": "com.amazonaws.invoicing#AccountIdList", + "traits": { + "smithy.api#documentation": "

Retrieves the corresponding invoice profile data for these account IDs.\n

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.invoicing#BatchGetInvoiceProfileResponse": { + "type": "structure", + "members": { + "Profiles": { + "target": "com.amazonaws.invoicing#ProfileList", + "traits": { + "smithy.api#documentation": "

\n A list of invoice profiles corresponding to the requested accounts.\n

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.invoicing#CreateInvoiceUnit": { + "type": "operation", + "input": { + "target": "com.amazonaws.invoicing#CreateInvoiceUnitRequest" + }, + "output": { + "target": "com.amazonaws.invoicing#CreateInvoiceUnitResponse" + }, + "errors": [ + { + "target": "com.amazonaws.invoicing#AccessDeniedException" + }, + { + "target": "com.amazonaws.invoicing#InternalServerException" + }, + { + "target": "com.amazonaws.invoicing#ThrottlingException" + }, + { + "target": "com.amazonaws.invoicing#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

This creates a new invoice unit with the provided definition.

", + "smithy.api#examples": [ + { + "title": "CreateInvoiceUnit", + "input": { + "Name": "Example Invoice Unit", + "InvoiceReceiver": "111111111111", + "Description": "Example Invoice Unit Description", + "TaxInheritanceDisabled": false, + "Rule": { + "LinkedAccounts": [ + "222222222222" + ] + }, + "ResourceTags": [ + { + "Key": "TagKey", + "Value": "TagValue" + } + ] + }, + "output": { + "InvoiceUnitArn": "arn:aws:invoicing::000000000000:invoice-unit/12345678" + } + } + ] + } + }, + "com.amazonaws.invoicing#CreateInvoiceUnitRequest": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.invoicing#InvoiceUnitName", + "traits": { + "smithy.api#documentation": "

\n The unique name of the invoice unit that is shown on the generated invoice. This can't be changed once it is set. To change this name, you must delete the invoice unit recreate.\n

", + "smithy.api#required": {} + } + }, + "InvoiceReceiver": { + "target": "com.amazonaws.invoicing#AccountIdString", + "traits": { + "smithy.api#documentation": "

\n The Amazon Web Services account ID chosen to be the receiver of an invoice unit. All invoices generated for that invoice unit will be sent to this account ID.\n

", + "smithy.api#required": {} + } + }, + "Description": { + "target": "com.amazonaws.invoicing#DescriptionString", + "traits": { + "smithy.api#documentation": "

\n The invoice unit's description. This can be changed at a later time.\n

" + } + }, + "TaxInheritanceDisabled": { + "target": "com.amazonaws.invoicing#TaxInheritanceDisabledFlag", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

Whether the invoice unit based tax inheritance is/ should be enabled or disabled.\n

" + } + }, + "Rule": { + "target": "com.amazonaws.invoicing#InvoiceUnitRule", + "traits": { + "smithy.api#documentation": "

The InvoiceUnitRule object used to create invoice units.\n

", + "smithy.api#required": {} + } + }, + "ResourceTags": { + "target": "com.amazonaws.invoicing#ResourceTagList", + "traits": { + "smithy.api#documentation": "

\n The tag structure that contains a tag key and value.\n

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.invoicing#CreateInvoiceUnitResponse": { + "type": "structure", + "members": { + "InvoiceUnitArn": { + "target": "com.amazonaws.invoicing#InvoiceUnitArnString", + "traits": { + "smithy.api#documentation": "

\n The ARN to identify an invoice unit. This information can't be modified or deleted.\n

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.invoicing#DeleteInvoiceUnit": { + "type": "operation", + "input": { + "target": "com.amazonaws.invoicing#DeleteInvoiceUnitRequest" + }, + "output": { + "target": "com.amazonaws.invoicing#DeleteInvoiceUnitResponse" + }, + "errors": [ + { + "target": "com.amazonaws.invoicing#AccessDeniedException" + }, + { + "target": "com.amazonaws.invoicing#InternalServerException" + }, + { + "target": "com.amazonaws.invoicing#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.invoicing#ThrottlingException" + }, + { + "target": "com.amazonaws.invoicing#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

This deletes an invoice unit with the provided invoice unit ARN.\n

", + "smithy.api#examples": [ + { + "title": "DeleteInvoiceUnit", + "input": { + "InvoiceUnitArn": "arn:aws:invoicing::000000000000:invoice-unit/12345678" + }, + "output": { + "InvoiceUnitArn": "arn:aws:invoicing::000000000000:invoice-unit/12345678" + } + } + ] + } + }, + "com.amazonaws.invoicing#DeleteInvoiceUnitRequest": { + "type": "structure", + "members": { + "InvoiceUnitArn": { + "target": "com.amazonaws.invoicing#InvoiceUnitArnString", + "traits": { + "smithy.api#documentation": "

\n The ARN to identify an invoice unit. This information can't be modified or deleted.\n

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.invoicing#DeleteInvoiceUnitResponse": { + "type": "structure", + "members": { + "InvoiceUnitArn": { + "target": "com.amazonaws.invoicing#InvoiceUnitArnString", + "traits": { + "smithy.api#documentation": "

\n The ARN to identify an invoice unit. This information can't be modified or deleted.\n

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.invoicing#DescriptionString": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 500 + }, + "smithy.api#pattern": "^[\\S\\s]*$" + } + }, + "com.amazonaws.invoicing#Filters": { + "type": "structure", + "members": { + "Names": { + "target": "com.amazonaws.invoicing#InvoiceUnitNames", + "traits": { + "smithy.api#documentation": "

\n An optional input to the list API. You can specify a list of invoice unit names inside filters to return invoice units that match only the specified invoice unit names. If multiple names are provided, the result is an OR condition (match any) of the specified invoice unit names.\n

" + } + }, + "InvoiceReceivers": { + "target": "com.amazonaws.invoicing#AccountIdList", + "traits": { + "smithy.api#documentation": "

\nYou can specify a list of Amazon Web Services account IDs inside filters to return invoice units that match only the specified accounts. If multiple accounts are provided, the result is an OR condition (match any) of the specified accounts. This filter only matches the specified accounts on the invoice receivers of the invoice units.\n

" + } + }, + "Accounts": { + "target": "com.amazonaws.invoicing#AccountIdList", + "traits": { + "smithy.api#documentation": "

\nYou can specify a list of Amazon Web Services account IDs inside filters to return invoice units that match only the specified accounts. If multiple accounts are provided, the result is an OR condition (match any) of the specified accounts. The specified account IDs are matched with either the receiver or the linked accounts in the rules.\n

" + } + } + }, + "traits": { + "smithy.api#documentation": "

An optional input to the list API. If multiple filters are specified, the returned list will be a configuration that match all of the provided filters. Supported filter types are InvoiceReceivers, Names, and Accounts. \n

" + } + }, + "com.amazonaws.invoicing#GetInvoiceUnit": { + "type": "operation", + "input": { + "target": "com.amazonaws.invoicing#GetInvoiceUnitRequest" + }, + "output": { + "target": "com.amazonaws.invoicing#GetInvoiceUnitResponse" + }, + "errors": [ + { + "target": "com.amazonaws.invoicing#AccessDeniedException" + }, + { + "target": "com.amazonaws.invoicing#InternalServerException" + }, + { + "target": "com.amazonaws.invoicing#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.invoicing#ThrottlingException" + }, + { + "target": "com.amazonaws.invoicing#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

This retrieves the invoice unit definition.

", + "smithy.api#examples": [ + { + "title": "GetInvoiceUnit as of current time", + "input": { + "InvoiceUnitArn": "arn:aws:invoicing::000000000000:invoice-unit/12345678" + }, + "output": { + "InvoiceReceiver": "111111111111", + "InvoiceUnitArn": "arn:aws:invoicing::000000000000:invoice-unit/12345678", + "LastModified": 1733788800, + "Name": "Example Invoice Unit A", + "Description": "Description changed on 1733788800", + "Rule": { + "LinkedAccounts": [ + "222222222222" + ] + }, + "TaxInheritanceDisabled": false + } + }, + { + "title": "GetInvoiceUnit as of specified time", + "input": { + "InvoiceUnitArn": "arn:aws:invoicing::000000000000:invoice-unit/87654321", + "AsOf": 1733097600 + }, + "output": { + "InvoiceReceiver": "333333333333", + "InvoiceUnitArn": "arn:aws:invoicing::000000000000:invoice-unit/87654321", + "LastModified": 1733011200, + "Name": "Example Invoice Unit B", + "Description": "Description changed on 1733011200", + "Rule": { + "LinkedAccounts": [ + "333333333333" + ] + }, + "TaxInheritanceDisabled": false + } + } + ], + "smithy.api#readonly": {} + } + }, + "com.amazonaws.invoicing#GetInvoiceUnitRequest": { + "type": "structure", + "members": { + "InvoiceUnitArn": { + "target": "com.amazonaws.invoicing#InvoiceUnitArnString", + "traits": { + "smithy.api#documentation": "

\n The ARN to identify an invoice unit. This information can't be modified or deleted.\n

", + "smithy.api#required": {} + } + }, + "AsOf": { + "target": "com.amazonaws.invoicing#AsOfTimestamp", + "traits": { + "smithy.api#documentation": "

\n The state of an invoice unit at a specified time. You can see legacy invoice units that are currently deleted if the AsOf time is set to before it was deleted. If an AsOf is not provided, the default value is the current time.\n

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.invoicing#GetInvoiceUnitResponse": { + "type": "structure", + "members": { + "InvoiceUnitArn": { + "target": "com.amazonaws.invoicing#InvoiceUnitArnString", + "traits": { + "smithy.api#documentation": "

\n The ARN to identify an invoice unit. This information can't be modified or deleted.\n

" + } + }, + "InvoiceReceiver": { + "target": "com.amazonaws.invoicing#AccountIdString", + "traits": { + "smithy.api#documentation": "

\n The Amazon Web Services account ID chosen to be the receiver of an invoice unit. All invoices generated for that invoice unit will be sent to this account ID.\n

" + } + }, + "Name": { + "target": "com.amazonaws.invoicing#InvoiceUnitName", + "traits": { + "smithy.api#documentation": "

\n The unique name of the invoice unit that is shown on the generated invoice.\n

" + } + }, + "Description": { + "target": "com.amazonaws.invoicing#DescriptionString", + "traits": { + "smithy.api#documentation": "

\n The assigned description for an invoice unit.\n

" + } + }, + "TaxInheritanceDisabled": { + "target": "com.amazonaws.invoicing#TaxInheritanceDisabledFlag", + "traits": { + "smithy.api#default": null, + "smithy.api#documentation": "

\n Whether the invoice unit based tax inheritance is/ should be enabled or disabled.\n

" + } + }, + "Rule": { + "target": "com.amazonaws.invoicing#InvoiceUnitRule" + }, + "LastModified": { + "target": "com.amazonaws.invoicing#LastModifiedTimestamp", + "traits": { + "smithy.api#documentation": "

\n The most recent date the invoice unit response was updated.\n

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.invoicing#InternalServerException": { + "type": "structure", + "members": { + "retryAfterSeconds": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

The processing request failed because of an unknown error, exception, or failure.

", + "smithy.api#httpHeader": "Retry-After" + } + }, + "message": { + "target": "com.amazonaws.invoicing#BasicString" + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "InvoicingInternalServer", + "httpResponseCode": 500 + }, + "smithy.api#documentation": "

The processing request failed because of an unknown error, exception, or failure.\n

", + "smithy.api#error": "server", + "smithy.api#httpError": 500 + } + }, + "com.amazonaws.invoicing#InvoiceProfile": { + "type": "structure", + "members": { + "AccountId": { + "target": "com.amazonaws.invoicing#AccountIdString", + "traits": { + "smithy.api#documentation": "

\nThe account ID the invoice profile is generated for.\n

" + } + }, + "ReceiverName": { + "target": "com.amazonaws.invoicing#BasicString", + "traits": { + "smithy.api#documentation": "

\nThe name of the person receiving the invoice profile.\n

" + } + }, + "ReceiverAddress": { + "target": "com.amazonaws.invoicing#ReceiverAddress", + "traits": { + "smithy.api#documentation": "

The address of the receiver that will be printed on the invoice.\n

" + } + }, + "ReceiverEmail": { + "target": "com.amazonaws.invoicing#SensitiveBasicString", + "traits": { + "smithy.api#documentation": "

The email address for the invoice profile receiver.\n

" + } + }, + "Issuer": { + "target": "com.amazonaws.invoicing#BasicString", + "traits": { + "smithy.api#documentation": "

\nThis specifies the issuing entity of the invoice.\n

" + } + }, + "TaxRegistrationNumber": { + "target": "com.amazonaws.invoicing#SensitiveBasicString", + "traits": { + "smithy.api#documentation": "

\nYour Tax Registration Number (TRN) information.\n

" + } + } + }, + "traits": { + "smithy.api#documentation": "

\nContains high-level information about the invoice receiver.\n

" + } + }, + "com.amazonaws.invoicing#InvoiceUnit": { + "type": "structure", + "members": { + "InvoiceUnitArn": { + "target": "com.amazonaws.invoicing#InvoiceUnitArnString", + "traits": { + "smithy.api#documentation": "

ARN to identify an invoice unit. This information can't be modified or deleted.\n

" + } + }, + "InvoiceReceiver": { + "target": "com.amazonaws.invoicing#AccountIdString", + "traits": { + "smithy.api#documentation": "

The account that receives invoices related to the invoice unit.\n

" + } + }, + "Name": { + "target": "com.amazonaws.invoicing#InvoiceUnitName", + "traits": { + "smithy.api#documentation": "

\n A unique name that is distinctive within your Amazon Web Services.\n

" + } + }, + "Description": { + "target": "com.amazonaws.invoicing#DescriptionString", + "traits": { + "smithy.api#documentation": "

The assigned description for an invoice unit. This information can't be modified or deleted.\n

" + } + }, + "TaxInheritanceDisabled": { + "target": "com.amazonaws.invoicing#TaxInheritanceDisabledFlag", + "traits": { + "smithy.api#default": null, + "smithy.api#documentation": "

Whether the invoice unit based tax inheritance is/ should be enabled or disabled.\n

" + } + }, + "Rule": { + "target": "com.amazonaws.invoicing#InvoiceUnitRule", + "traits": { + "smithy.api#documentation": "

\nAn InvoiceUnitRule object used the categorize invoice units. \n

" + } + }, + "LastModified": { + "target": "com.amazonaws.invoicing#LastModifiedTimestamp", + "traits": { + "smithy.api#documentation": "

\nThe last time the invoice unit was updated. This is important to determine the version of invoice unit configuration used to create the invoices. Any invoice created after this modified time will use this invoice unit configuration.\n

" + } + } + }, + "traits": { + "smithy.api#documentation": "

An invoice unit is a set of mutually exclusive accounts that correspond to your business entity. Invoice units allow you separate Amazon Web Services account costs and configures your invoice for each business entity going forward.\n

" + } + }, + "com.amazonaws.invoicing#InvoiceUnitArnString": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 256 + }, + "smithy.api#pattern": "^arn:aws[-a-z0-9]*:[a-z0-9]+:[-a-z0-9]*:[0-9]{12}:[-a-zA-Z0-9/:_]+$" + } + }, + "com.amazonaws.invoicing#InvoiceUnitName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 50 + }, + "smithy.api#pattern": "^(?! )[\\p{L}\\p{N}\\p{Z}-_]*(?The list of LINKED_ACCOUNT IDs where charges are included within the invoice unit.\n

" + } + } + }, + "traits": { + "smithy.api#documentation": "

\nThis is used to categorize the invoice unit. Values are Amazon Web Services account IDs. Currently, the only supported rule is LINKED_ACCOUNT.\n

" + } + }, + "com.amazonaws.invoicing#InvoiceUnits": { + "type": "list", + "member": { + "target": "com.amazonaws.invoicing#InvoiceUnit" + } + }, + "com.amazonaws.invoicing#Invoicing": { + "type": "service", + "version": "2024-12-01", + "operations": [ + { + "target": "com.amazonaws.invoicing#BatchGetInvoiceProfile" + }, + { + "target": "com.amazonaws.invoicing#CreateInvoiceUnit" + }, + { + "target": "com.amazonaws.invoicing#DeleteInvoiceUnit" + }, + { + "target": "com.amazonaws.invoicing#GetInvoiceUnit" + }, + { + "target": "com.amazonaws.invoicing#ListInvoiceUnits" + }, + { + "target": "com.amazonaws.invoicing#ListTagsForResource" + }, + { + "target": "com.amazonaws.invoicing#TagResource" + }, + { + "target": "com.amazonaws.invoicing#UntagResource" + }, + { + "target": "com.amazonaws.invoicing#UpdateInvoiceUnit" + } + ], + "traits": { + "aws.api#service": { + "sdkId": "Invoicing", + "arnNamespace": "invoicing", + "endpointPrefix": "invoicing", + "docId": "invoicing-2024-12-01", + "cloudTrailEventSource": "invoicing.amazonaws.com" + }, + "aws.auth#sigv4": { + "name": "invoicing" + }, + "aws.endpoints#dualStackOnlyEndpoints": {}, + "aws.endpoints#standardPartitionalEndpoints": { + "endpointPatternType": "service_region_dnsSuffix" + }, + "aws.protocols#awsJson1_0": {}, + "smithy.api#documentation": "

\n Amazon Web Services Invoice Configuration\n

\n

You can use Amazon Web Services Invoice Configuration APIs to programmatically create,\n update, delete, get, and list invoice units. You can also programmatically fetch the\n information of the invoice receiver. For example, business legal name, address, and invoicing\n contacts.

\n

You can use Amazon Web Services Invoice Configuration to receive separate Amazon Web Services invoices based your organizational needs. By using Amazon Web Services Invoice Configuration, you can configure invoice units that are groups of Amazon Web Services accounts that represent your business entities, and receive separate invoices for each business entity. You can also assign a unique member or payer account as the invoice receiver for each invoice unit. As you create new accounts within your Organizations using Amazon Web Services Invoice Configuration APIs, you can automate the creation of new invoice units and subsequently automate the addition of new accounts to your invoice units.

\n

Service endpoint

\n

You can use the following endpoints for Amazon Web Services Invoice Configuration:

\n
    \n
  • \n

    \n https://invoicing.us-east-1.api.aws\n

    \n
  • \n
", + "smithy.api#title": "AWS Invoicing", + "smithy.rules#endpointRuleSet": { + "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://invoicing-fips.{PartitionResult#implicitGlobalRegion}.{PartitionResult#dualStackDnsSuffix}", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "{PartitionResult#implicitGlobalRegion}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "https://invoicing.{PartitionResult#implicitGlobalRegion}.{PartitionResult#dualStackDnsSuffix}", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "{PartitionResult#implicitGlobalRegion}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" + } + ], + "type": "tree" + } + ] + }, + "smithy.rules#endpointTests": { + "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": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-east-1" + } + ] + }, + "url": "https://invoicing-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": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-east-1" + } + ] + }, + "url": "https://invoicing.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": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "cn-northwest-1" + } + ] + }, + "url": "https://invoicing-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": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "cn-northwest-1" + } + ] + }, + "url": "https://invoicing.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": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-gov-west-1" + } + ] + }, + "url": "https://invoicing-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": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-gov-west-1" + } + ] + }, + "url": "https://invoicing.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": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-iso-east-1" + } + ] + }, + "url": "https://invoicing-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": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-iso-east-1" + } + ] + }, + "url": "https://invoicing.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": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-isob-east-1" + } + ] + }, + "url": "https://invoicing-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": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-isob-east-1" + } + ] + }, + "url": "https://invoicing.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": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "eu-isoe-west-1" + } + ] + }, + "url": "https://invoicing-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": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "eu-isoe-west-1" + } + ] + }, + "url": "https://invoicing.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": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-isof-south-1" + } + ] + }, + "url": "https://invoicing-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": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-isof-south-1" + } + ] + }, + "url": "https://invoicing.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" + } + } + }, + "com.amazonaws.invoicing#LastModifiedTimestamp": { + "type": "timestamp" + }, + "com.amazonaws.invoicing#ListInvoiceUnits": { + "type": "operation", + "input": { + "target": "com.amazonaws.invoicing#ListInvoiceUnitsRequest" + }, + "output": { + "target": "com.amazonaws.invoicing#ListInvoiceUnitsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.invoicing#AccessDeniedException" + }, + { + "target": "com.amazonaws.invoicing#InternalServerException" + }, + { + "target": "com.amazonaws.invoicing#ThrottlingException" + }, + { + "target": "com.amazonaws.invoicing#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

This fetches a list of all invoice unit definitions for a given account, as of the provided AsOf date.

", + "smithy.api#examples": [ + { + "title": "ListInvoiceUnits without filters as of current time", + "input": {}, + "output": { + "InvoiceUnits": [ + { + "InvoiceReceiver": "111111111111", + "InvoiceUnitArn": "arn:aws:invoicing::000000000000:invoice-unit/12345678", + "LastModified": 1733788800, + "Name": "Example Invoice Unit A", + "Description": "Description changed on 1733788800", + "Rule": { + "LinkedAccounts": [ + "222222222222" + ] + }, + "TaxInheritanceDisabled": false + }, + { + "InvoiceReceiver": "333333333333", + "InvoiceUnitArn": "arn:aws:invoicing::000000000000:invoice-unit/87654321", + "LastModified": 1733788800, + "Name": "Example Invoice Unit B", + "Description": "Description changed on 1733788800", + "Rule": { + "LinkedAccounts": [ + "333333333333" + ] + }, + "TaxInheritanceDisabled": true + } + ] + } + }, + { + "title": "ListInvoiceUnits with filters as of specified time", + "input": { + "AsOf": 1733097600, + "Filters": { + "InvoiceReceivers": [ + "333333333333" + ] + } + }, + "output": { + "InvoiceUnits": [ + { + "InvoiceReceiver": "333333333333", + "InvoiceUnitArn": "arn:aws:invoicing::000000000000:invoice-unit/87654321", + "LastModified": 1733011200, + "Name": "Example Invoice Unit B", + "Description": "Description changed on 1733011200", + "Rule": { + "LinkedAccounts": [ + "333333333333" + ] + }, + "TaxInheritanceDisabled": false + } + ] + } + }, + { + "title": "ListInvoiceUnits with pagination - first page", + "input": { + "MaxResults": 1 + }, + "output": { + "InvoiceUnits": [ + { + "InvoiceReceiver": "111111111111", + "InvoiceUnitArn": "arn:aws:invoicing::000000000000:invoice-unit/12345678", + "LastModified": 1733788800, + "Name": "Example Invoice Unit A", + "Description": "Description changed on 1733788800", + "Rule": { + "LinkedAccounts": [ + "222222222222" + ] + }, + "TaxInheritanceDisabled": false + } + ], + "NextToken": "nextTokenExample" + } + }, + { + "title": "ListInvoiceUnits with pagination - second page", + "input": { + "MaxResults": 1, + "NextToken": "nextTokenExample" + }, + "output": { + "InvoiceUnits": [ + { + "InvoiceReceiver": "333333333333", + "InvoiceUnitArn": "arn:aws:invoicing::000000000000:invoice-unit/87654321", + "LastModified": 1733788800, + "Name": "Example Invoice Unit B", + "Description": "Description changed on 1733788800", + "Rule": { + "LinkedAccounts": [ + "333333333333" + ] + }, + "TaxInheritanceDisabled": true + } + ] + } + } + ], + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults", + "items": "InvoiceUnits" + }, + "smithy.api#readonly": {}, + "smithy.test#smokeTests": [ + { + "id": "ListInvoiceUnitsSuccess", + "params": {}, + "expect": { + "success": {} + }, + "vendorParamsShape": "aws.test#AwsVendorParams", + "vendorParams": { + "region": "us-east-1" + } + } + ] + } + }, + "com.amazonaws.invoicing#ListInvoiceUnitsRequest": { + "type": "structure", + "members": { + "Filters": { + "target": "com.amazonaws.invoicing#Filters", + "traits": { + "smithy.api#documentation": "

\n An optional input to the list API. If multiple filters are specified, the returned list will be a configuration that match all of the provided filters. Supported filter types are InvoiceReceivers, Names, and Accounts. \n

" + } + }, + "NextToken": { + "target": "com.amazonaws.invoicing#NextTokenString", + "traits": { + "smithy.api#documentation": "

The next token used to indicate where the returned list should start from.\n

" + } + }, + "MaxResults": { + "target": "com.amazonaws.invoicing#MaxResultsInteger", + "traits": { + "smithy.api#default": 500, + "smithy.api#documentation": "

The maximum number of invoice units that can be returned.\n

" + } + }, + "AsOf": { + "target": "com.amazonaws.invoicing#AsOfTimestamp", + "traits": { + "smithy.api#documentation": "

\n The state of an invoice unit at a specified time. You can see legacy invoice units that are currently deleted if the AsOf time is set to before it was deleted. If an AsOf is not provided, the default value is the current time.\n

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.invoicing#ListInvoiceUnitsResponse": { + "type": "structure", + "members": { + "InvoiceUnits": { + "target": "com.amazonaws.invoicing#InvoiceUnits", + "traits": { + "smithy.api#documentation": "

\n An invoice unit is a set of mutually exclusive accounts that correspond to your business entity.\n

" + } + }, + "NextToken": { + "target": "com.amazonaws.invoicing#NextTokenString", + "traits": { + "smithy.api#documentation": "

The next token used to indicate where the returned list should start from.\n

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.invoicing#ListTagsForResource": { + "type": "operation", + "input": { + "target": "com.amazonaws.invoicing#ListTagsForResourceRequest" + }, + "output": { + "target": "com.amazonaws.invoicing#ListTagsForResourceResponse" + }, + "errors": [ + { + "target": "com.amazonaws.invoicing#AccessDeniedException" + }, + { + "target": "com.amazonaws.invoicing#InternalServerException" + }, + { + "target": "com.amazonaws.invoicing#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.invoicing#ThrottlingException" + }, + { + "target": "com.amazonaws.invoicing#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Lists the tags for a resource.\n

", + "smithy.api#examples": [ + { + "title": "ListTagsForResource", + "input": { + "ResourceArn": "arn:aws:invoicing::000000000000:invoice-unit/12345678" + }, + "output": { + "ResourceTags": [ + { + "Key": "TagKey", + "Value": "TagValue" + } + ] + } + } + ], + "smithy.api#readonly": {} + } + }, + "com.amazonaws.invoicing#ListTagsForResourceRequest": { + "type": "structure", + "members": { + "ResourceArn": { + "target": "com.amazonaws.invoicing#TagrisArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of tags to list.\n

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.invoicing#ListTagsForResourceResponse": { + "type": "structure", + "members": { + "ResourceTags": { + "target": "com.amazonaws.invoicing#ResourceTagList", + "traits": { + "smithy.api#documentation": "

\n Adds a tag to a resource.\n

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.invoicing#MaxResultsInteger": { + "type": "integer", + "traits": { + "smithy.api#default": 500, + "smithy.api#range": { + "min": 1, + "max": 500 + } + } + }, + "com.amazonaws.invoicing#NextTokenString": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 2048 + }, + "smithy.api#pattern": "^[\\S\\s]*$" + } + }, + "com.amazonaws.invoicing#ProfileList": { + "type": "list", + "member": { + "target": "com.amazonaws.invoicing#InvoiceProfile" + } + }, + "com.amazonaws.invoicing#ReceiverAddress": { + "type": "structure", + "members": { + "AddressLine1": { + "target": "com.amazonaws.invoicing#BasicString", + "traits": { + "smithy.api#documentation": "

\nThe first line of the address.\n

" + } + }, + "AddressLine2": { + "target": "com.amazonaws.invoicing#BasicString", + "traits": { + "smithy.api#documentation": "

\nThe second line of the address, if applicable.\n

" + } + }, + "AddressLine3": { + "target": "com.amazonaws.invoicing#BasicString", + "traits": { + "smithy.api#documentation": "

\nThe third line of the address, if applicable.\n

" + } + }, + "DistrictOrCounty": { + "target": "com.amazonaws.invoicing#BasicString", + "traits": { + "smithy.api#documentation": "

\nThe district or country the address is located in.\n

" + } + }, + "City": { + "target": "com.amazonaws.invoicing#BasicString", + "traits": { + "smithy.api#documentation": "

\nThe city that the address is in.\n

" + } + }, + "StateOrRegion": { + "target": "com.amazonaws.invoicing#BasicString", + "traits": { + "smithy.api#documentation": "

\nThe state, region, or province the address is located.\n

" + } + }, + "CountryCode": { + "target": "com.amazonaws.invoicing#BasicString", + "traits": { + "smithy.api#documentation": "

\nThe country code for the country the address is in.\n

" + } + }, + "CompanyName": { + "target": "com.amazonaws.invoicing#BasicString", + "traits": { + "smithy.api#documentation": "

\nA unique company name.\n

" + } + }, + "PostalCode": { + "target": "com.amazonaws.invoicing#BasicString", + "traits": { + "smithy.api#documentation": "

\nThe postal code associated with the address.\n

" + } + } + }, + "traits": { + "smithy.api#documentation": "

\nThe details of the address associated with the receiver.\n

", + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.invoicing#ResourceNotFoundException": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.invoicing#BasicString" + }, + "resourceName": { + "target": "com.amazonaws.invoicing#InvoiceUnitArnString", + "traits": { + "smithy.api#documentation": "

The resource could not be found.

" + } + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "InvoicingResourceNotFound", + "httpResponseCode": 404 + }, + "smithy.api#documentation": "

The resource could not be found.\n

", + "smithy.api#error": "client", + "smithy.api#httpError": 404 + } + }, + "com.amazonaws.invoicing#ResourceTag": { + "type": "structure", + "members": { + "Key": { + "target": "com.amazonaws.invoicing#ResourceTagKey", + "traits": { + "smithy.api#documentation": "

The object key of your of your resource tag.\n

", + "smithy.api#required": {} + } + }, + "Value": { + "target": "com.amazonaws.invoicing#ResourceTagValue", + "traits": { + "smithy.api#documentation": "

\nThe specific value of the resource tag.\n

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

The tag structure that contains a tag key and value.\n

" + } + }, + "com.amazonaws.invoicing#ResourceTagKey": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 128 + } + } + }, + "com.amazonaws.invoicing#ResourceTagKeyList": { + "type": "list", + "member": { + "target": "com.amazonaws.invoicing#ResourceTagKey" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 200 + } + } + }, + "com.amazonaws.invoicing#ResourceTagList": { + "type": "list", + "member": { + "target": "com.amazonaws.invoicing#ResourceTag" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 200 + } + } + }, + "com.amazonaws.invoicing#ResourceTagValue": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 256 + } + } + }, + "com.amazonaws.invoicing#SensitiveBasicString": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 1024 + }, + "smithy.api#pattern": "^\\S+$", + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.invoicing#ServiceQuotaExceededException": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.invoicing#BasicString", + "traits": { + "smithy.api#required": {} + } + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "InvoicingServiceQuotaExceeded", + "httpResponseCode": 402 + }, + "smithy.api#documentation": "

The request was rejected because it attempted to create resources beyond the current Amazon Web Services account limits. The error message describes the limit exceeded.\n

", + "smithy.api#error": "client", + "smithy.api#httpError": 402 + } + }, + "com.amazonaws.invoicing#TagResource": { + "type": "operation", + "input": { + "target": "com.amazonaws.invoicing#TagResourceRequest" + }, + "output": { + "target": "com.amazonaws.invoicing#TagResourceResponse" + }, + "errors": [ + { + "target": "com.amazonaws.invoicing#AccessDeniedException" + }, + { + "target": "com.amazonaws.invoicing#InternalServerException" + }, + { + "target": "com.amazonaws.invoicing#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.invoicing#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.invoicing#ThrottlingException" + }, + { + "target": "com.amazonaws.invoicing#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Adds a tag to a resource.\n

", + "smithy.api#examples": [ + { + "title": "TagResource", + "input": { + "ResourceArn": "arn:aws:invoicing::000000000000:invoice-unit/12345678", + "ResourceTags": [ + { + "Key": "TagKey", + "Value": "TagValue" + } + ] + }, + "output": {} + } + ] + } + }, + "com.amazonaws.invoicing#TagResourceRequest": { + "type": "structure", + "members": { + "ResourceArn": { + "target": "com.amazonaws.invoicing#TagrisArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the tags.\n

", + "smithy.api#required": {} + } + }, + "ResourceTags": { + "target": "com.amazonaws.invoicing#ResourceTagList", + "traits": { + "smithy.api#documentation": "

\n Adds a tag to a resource.\n

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.invoicing#TagResourceResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.invoicing#TagrisArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 20, + "max": 2048 + }, + "smithy.api#pattern": "^arn:aws[-a-z0-9]*:[a-z0-9]+:[-a-z0-9]*:[0-9]{12}:[-a-zA-Z0-9/:_]+$" + } + }, + "com.amazonaws.invoicing#TaxInheritanceDisabledFlag": { + "type": "boolean", + "traits": { + "smithy.api#default": false + } + }, + "com.amazonaws.invoicing#ThrottlingException": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.invoicing#BasicString" + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "InvoicingThrottling", + "httpResponseCode": 429 + }, + "smithy.api#documentation": "

The request was denied due to request throttling.

", + "smithy.api#error": "client", + "smithy.api#httpError": 429 + } + }, + "com.amazonaws.invoicing#UntagResource": { + "type": "operation", + "input": { + "target": "com.amazonaws.invoicing#UntagResourceRequest" + }, + "output": { + "target": "com.amazonaws.invoicing#UntagResourceResponse" + }, + "errors": [ + { + "target": "com.amazonaws.invoicing#AccessDeniedException" + }, + { + "target": "com.amazonaws.invoicing#InternalServerException" + }, + { + "target": "com.amazonaws.invoicing#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.invoicing#ThrottlingException" + }, + { + "target": "com.amazonaws.invoicing#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

\n Removes a tag from a resource.\n

", + "smithy.api#examples": [ + { + "title": "UntagResource", + "input": { + "ResourceArn": "arn:aws:invoicing::000000000000:invoice-unit/12345678", + "ResourceTagKeys": [ + "TagKey" + ] + }, + "output": {} + } + ] + } + }, + "com.amazonaws.invoicing#UntagResourceRequest": { + "type": "structure", + "members": { + "ResourceArn": { + "target": "com.amazonaws.invoicing#TagrisArn", + "traits": { + "smithy.api#documentation": "

\n The Amazon Resource Name (ARN) to untag.\n

", + "smithy.api#required": {} + } + }, + "ResourceTagKeys": { + "target": "com.amazonaws.invoicing#ResourceTagKeyList", + "traits": { + "smithy.api#documentation": "

\n Keys for the tags to be removed.\n

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.invoicing#UntagResourceResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.invoicing#UpdateInvoiceUnit": { + "type": "operation", + "input": { + "target": "com.amazonaws.invoicing#UpdateInvoiceUnitRequest" + }, + "output": { + "target": "com.amazonaws.invoicing#UpdateInvoiceUnitResponse" + }, + "errors": [ + { + "target": "com.amazonaws.invoicing#AccessDeniedException" + }, + { + "target": "com.amazonaws.invoicing#InternalServerException" + }, + { + "target": "com.amazonaws.invoicing#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.invoicing#ThrottlingException" + }, + { + "target": "com.amazonaws.invoicing#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

You can update the invoice unit configuration at any time, and Amazon Web Services will use the latest configuration at the end of the month.

", + "smithy.api#examples": [ + { + "title": "UpdateInvoiceUnit with all updatable fields", + "input": { + "InvoiceUnitArn": "arn:aws:invoicing::000000000000:invoice-unit/12345678", + "Description": "Updated IU description", + "TaxInheritanceDisabled": false, + "Rule": { + "LinkedAccounts": [ + "111111111111", + "222222222222" + ] + } + }, + "output": { + "InvoiceUnitArn": "arn:aws:invoicing::000000000000:invoice-unit/12345678" + } + }, + { + "title": "UpdateInvoiceUnit with specific fields", + "input": { + "InvoiceUnitArn": "arn:aws:invoicing::000000000000:invoice-unit/12345678", + "Description": "Updated IU description. All other fields remain unchanged" + }, + "output": { + "InvoiceUnitArn": "arn:aws:invoicing::000000000000:invoice-unit/12345678" + } + } + ] + } + }, + "com.amazonaws.invoicing#UpdateInvoiceUnitRequest": { + "type": "structure", + "members": { + "InvoiceUnitArn": { + "target": "com.amazonaws.invoicing#InvoiceUnitArnString", + "traits": { + "smithy.api#documentation": "

The ARN to identify an invoice unit. This information can't be modified or deleted.\n

", + "smithy.api#required": {} + } + }, + "Description": { + "target": "com.amazonaws.invoicing#DescriptionString", + "traits": { + "smithy.api#documentation": "

The assigned description for an invoice unit. This information can't be modified or deleted.\n

" + } + }, + "TaxInheritanceDisabled": { + "target": "com.amazonaws.invoicing#TaxInheritanceDisabledFlag", + "traits": { + "smithy.api#default": null, + "smithy.api#documentation": "

Whether the invoice unit based tax inheritance is/ should be enabled or disabled.\n

" + } + }, + "Rule": { + "target": "com.amazonaws.invoicing#InvoiceUnitRule", + "traits": { + "smithy.api#documentation": "

The InvoiceUnitRule object used to update invoice units.\n

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.invoicing#UpdateInvoiceUnitResponse": { + "type": "structure", + "members": { + "InvoiceUnitArn": { + "target": "com.amazonaws.invoicing#InvoiceUnitArnString", + "traits": { + "smithy.api#documentation": "

\n The ARN to identify an invoice unit. This information can't be modified or deleted.\n

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.invoicing#ValidationException": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.invoicing#BasicString" + }, + "resourceName": { + "target": "com.amazonaws.invoicing#InvoiceUnitArnString", + "traits": { + "smithy.api#documentation": "

You don't have sufficient access to perform this action.\n

" + } + }, + "reason": { + "target": "com.amazonaws.invoicing#ValidationExceptionReason", + "traits": { + "smithy.api#documentation": "

You don't have sufficient access to perform this action.\n

" + } + }, + "fieldList": { + "target": "com.amazonaws.invoicing#ValidationExceptionFieldList", + "traits": { + "smithy.api#documentation": "

\n The input fails to satisfy the constraints specified by an Amazon Web Services service.\n

" + } + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "InvoicingValidation", + "httpResponseCode": 400 + }, + "smithy.api#documentation": "

\n The input fails to satisfy the constraints specified by an Amazon Web Services service.\n

", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.invoicing#ValidationExceptionField": { + "type": "structure", + "members": { + "name": { + "target": "com.amazonaws.invoicing#BasicString", + "traits": { + "smithy.api#documentation": "

\n The input fails to satisfy the constraints specified by an Amazon Web Services service.\n

", + "smithy.api#required": {} + } + }, + "message": { + "target": "com.amazonaws.invoicing#BasicString", + "traits": { + "smithy.api#documentation": "

\n The input fails to satisfy the constraints specified by an Amazon Web Services service.\n

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

\n The input fails to satisfy the constraints specified by an Amazon Web Services service.\n

" + } + }, + "com.amazonaws.invoicing#ValidationExceptionFieldList": { + "type": "list", + "member": { + "target": "com.amazonaws.invoicing#ValidationExceptionField" + } + }, + "com.amazonaws.invoicing#ValidationExceptionReason": { + "type": "enum", + "members": { + "NON_MEMBERS_PRESENT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "nonMemberPresent" + } + }, + "MAX_ACCOUNTS_EXCEEDED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "maxAccountsExceeded" + } + }, + "MAX_INVOICE_UNITS_EXCEEDED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "maxInvoiceUnitsExceeded" + } + }, + "DUPLICATE_INVOICE_UNIT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "duplicateInvoiceUnit" + } + }, + "MUTUAL_EXCLUSION_ERROR": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "mutualExclusionError" + } + }, + "ACCOUNT_MEMBERSHIP_ERROR": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "accountMembershipError" + } + }, + "TAX_SETTINGS_ERROR": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "taxSettingsError" + } + }, + "EXPIRED_NEXT_TOKEN": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "expiredNextToken" + } + }, + "INVALID_NEXT_TOKEN": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "invalidNextToken" + } + }, + "INVALID_INPUT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "invalidInput" + } + }, + "FIELD_VALIDATION_FAILED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "fieldValidationFailed" + } + }, + "CANNOT_PARSE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "cannotParse" + } + }, + "UNKNOWN_OPERATION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "unknownOperation" + } + }, + "OTHER": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "other" + } + } + } + } + } +} \ No newline at end of file diff --git a/codegen/sdk/aws-models/memorydb.json b/codegen/sdk/aws-models/memorydb.json index 431cac56582..426dda073af 100644 --- a/codegen/sdk/aws-models/memorydb.json +++ b/codegen/sdk/aws-models/memorydb.json @@ -247,6 +247,9 @@ { "target": "com.amazonaws.memorydb#CreateCluster" }, + { + "target": "com.amazonaws.memorydb#CreateMultiRegionCluster" + }, { "target": "com.amazonaws.memorydb#CreateParameterGroup" }, @@ -265,6 +268,9 @@ { "target": "com.amazonaws.memorydb#DeleteCluster" }, + { + "target": "com.amazonaws.memorydb#DeleteMultiRegionCluster" + }, { "target": "com.amazonaws.memorydb#DeleteParameterGroup" }, @@ -289,6 +295,9 @@ { "target": "com.amazonaws.memorydb#DescribeEvents" }, + { + "target": "com.amazonaws.memorydb#DescribeMultiRegionClusters" + }, { "target": "com.amazonaws.memorydb#DescribeParameterGroups" }, @@ -316,6 +325,9 @@ { "target": "com.amazonaws.memorydb#FailoverShard" }, + { + "target": "com.amazonaws.memorydb#ListAllowedMultiRegionClusterUpdates" + }, { "target": "com.amazonaws.memorydb#ListAllowedNodeTypeUpdates" }, @@ -340,6 +352,9 @@ { "target": "com.amazonaws.memorydb#UpdateCluster" }, + { + "target": "com.amazonaws.memorydb#UpdateMultiRegionCluster" + }, { "target": "com.amazonaws.memorydb#UpdateParameterGroup" }, @@ -362,7 +377,7 @@ "name": "memorydb" }, "aws.protocols#awsJson1_1": {}, - "smithy.api#documentation": "

MemoryDB for Redis is a fully managed, Redis-compatible, in-memory database that delivers ultra-fast performance and Multi-AZ durability for modern applications built using microservices architectures.\n \n MemoryDB stores the entire database in-memory, enabling low latency and high throughput data access. It is compatible with Redis, a popular open source data store, enabling you to leverage Redis’ flexible and friendly data structures, APIs, and commands.

", + "smithy.api#documentation": "

MemoryDB is a fully managed, Redis OSS-compatible, in-memory database that delivers ultra-fast performance and Multi-AZ durability for modern applications built using microservices architectures.\n \n MemoryDB stores the entire database in-memory, enabling low latency and high throughput data access. It is compatible with Redis OSS, a popular open source data store, enabling you to leverage Redis OSS’ flexible and friendly data structures, APIs, and commands.

", "smithy.api#title": "Amazon MemoryDB", "smithy.api#xmlNamespace": { "uri": "http://memorydb.amazonaws.com/doc/2021-01-01/" @@ -1431,6 +1446,12 @@ "smithy.api#documentation": "

A group of settings that are currently being applied.

" } }, + "MultiRegionClusterName": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

The name of the multi-Region cluster that this cluster belongs to.

" + } + }, "NumberOfShards": { "target": "com.amazonaws.memorydb#IntegerOptional", "traits": { @@ -1464,19 +1485,19 @@ "Engine": { "target": "com.amazonaws.memorydb#String", "traits": { - "smithy.api#documentation": "

\n The Redis OSS or Valkey engine used by the cluster.

" + "smithy.api#documentation": "

The name of the engine used by the cluster.

" } }, "EngineVersion": { "target": "com.amazonaws.memorydb#String", "traits": { - "smithy.api#documentation": "

The Redis engine version used by the cluster

" + "smithy.api#documentation": "

The Redis OSS engine version used by the cluster

" } }, "EnginePatchVersion": { "target": "com.amazonaws.memorydb#String", "traits": { - "smithy.api#documentation": "

The engine patch version used by the cluster

" + "smithy.api#documentation": "

The Redis OSS engine patch version used by the cluster

" } }, "ParameterGroupName": { @@ -1615,13 +1636,13 @@ "Engine": { "target": "com.amazonaws.memorydb#String", "traits": { - "smithy.api#documentation": "

The configuration for the Redis OSS or Valkey engine used by the cluster.

" + "smithy.api#documentation": "

The name of the engine used by the cluster configuration.

" } }, "EngineVersion": { "target": "com.amazonaws.memorydb#String", "traits": { - "smithy.api#documentation": "

The engine version used by the cluster

" + "smithy.api#documentation": "

The Redis OSS engine version used by the cluster

" } }, "MaintenanceWindow": { @@ -1683,6 +1704,18 @@ "traits": { "smithy.api#documentation": "

The list of shards in the cluster

" } + }, + "MultiRegionParameterGroupName": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

The name of the multi-Region parameter group associated with the cluster configuration.

" + } + }, + "MultiRegionClusterName": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

The name for the multi-Region cluster associated with the cluster configuration.

" + } } }, "traits": { @@ -1965,6 +1998,9 @@ { "target": "com.amazonaws.memorydb#InvalidCredentialsException" }, + { + "target": "com.amazonaws.memorydb#InvalidMultiRegionClusterStateFault" + }, { "target": "com.amazonaws.memorydb#InvalidParameterCombinationException" }, @@ -1974,6 +2010,9 @@ { "target": "com.amazonaws.memorydb#InvalidVPCNetworkStateFault" }, + { + "target": "com.amazonaws.memorydb#MultiRegionClusterNotFoundFault" + }, { "target": "com.amazonaws.memorydb#NodeQuotaForClusterExceededFault" }, @@ -2017,6 +2056,12 @@ "smithy.api#required": {} } }, + "MultiRegionClusterName": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

The name of the multi-Region cluster to be created.

" + } + }, "ParameterGroupName": { "target": "com.amazonaws.memorydb#String", "traits": { @@ -2123,13 +2168,13 @@ "Engine": { "target": "com.amazonaws.memorydb#String", "traits": { - "smithy.api#documentation": "

The name of the engine to be used for the nodes in this cluster. The value must be set to either Redis or Valkey.

" + "smithy.api#documentation": "

The name of the engine to be used for the cluster.

" } }, "EngineVersion": { "target": "com.amazonaws.memorydb#String", "traits": { - "smithy.api#documentation": "

The version number of the engine to be used for the cluster.

" + "smithy.api#documentation": "

The version number of the Redis OSS engine to be used for the cluster.

" } }, "AutoMinorVersionUpgrade": { @@ -2163,6 +2208,116 @@ "smithy.api#output": {} } }, + "com.amazonaws.memorydb#CreateMultiRegionCluster": { + "type": "operation", + "input": { + "target": "com.amazonaws.memorydb#CreateMultiRegionClusterRequest" + }, + "output": { + "target": "com.amazonaws.memorydb#CreateMultiRegionClusterResponse" + }, + "errors": [ + { + "target": "com.amazonaws.memorydb#ClusterQuotaForCustomerExceededFault" + }, + { + "target": "com.amazonaws.memorydb#InvalidParameterCombinationException" + }, + { + "target": "com.amazonaws.memorydb#InvalidParameterValueException" + }, + { + "target": "com.amazonaws.memorydb#MultiRegionClusterAlreadyExistsFault" + }, + { + "target": "com.amazonaws.memorydb#MultiRegionParameterGroupNotFoundFault" + }, + { + "target": "com.amazonaws.memorydb#TagQuotaPerResourceExceeded" + } + ], + "traits": { + "smithy.api#documentation": "

Creates a new multi-Region cluster.

" + } + }, + "com.amazonaws.memorydb#CreateMultiRegionClusterRequest": { + "type": "structure", + "members": { + "MultiRegionClusterNameSuffix": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

A suffix to be added to the multi-Region cluster name.

", + "smithy.api#required": {} + } + }, + "Description": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

A description for the multi-Region cluster.

" + } + }, + "Engine": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

The name of the engine to be used for the multi-Region cluster.

" + } + }, + "EngineVersion": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

The version of the engine to be used for the multi-Region cluster.

" + } + }, + "NodeType": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

The node type to be used for the multi-Region cluster.

", + "smithy.api#required": {} + } + }, + "MultiRegionParameterGroupName": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

The name of the multi-Region parameter group to be associated with the cluster.

" + } + }, + "NumShards": { + "target": "com.amazonaws.memorydb#IntegerOptional", + "traits": { + "smithy.api#documentation": "

The number of shards for the multi-Region cluster.

" + } + }, + "TLSEnabled": { + "target": "com.amazonaws.memorydb#BooleanOptional", + "traits": { + "smithy.api#documentation": "

Whether to enable TLS encryption for the multi-Region cluster.

" + } + }, + "Tags": { + "target": "com.amazonaws.memorydb#TagList", + "traits": { + "smithy.api#documentation": "

A list of tags to be applied to the multi-Region cluster.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.memorydb#CreateMultiRegionClusterResponse": { + "type": "structure", + "members": { + "MultiRegionCluster": { + "target": "com.amazonaws.memorydb#MultiRegionCluster", + "traits": { + "smithy.api#documentation": "

Details about the newly created multi-Region cluster.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.memorydb#CreateParameterGroup": { "type": "operation", "input": { @@ -2407,7 +2562,7 @@ "SubnetGroup": { "target": "com.amazonaws.memorydb#SubnetGroup", "traits": { - "smithy.api#documentation": "

The newly-created subnet group

" + "smithy.api#documentation": "

The newly-created subnet group.

" } } }, @@ -2559,7 +2714,7 @@ "ACLName": { "target": "com.amazonaws.memorydb#String", "traits": { - "smithy.api#documentation": "

The name of the Access Control List to delete

", + "smithy.api#documentation": "

The name of the Access Control List to delete.

", "smithy.api#required": {} } } @@ -2611,7 +2766,7 @@ } ], "traits": { - "smithy.api#documentation": "

Deletes a cluster. It also deletes all associated nodes and node endpoints

" + "smithy.api#documentation": "

Deletes a cluster. It also deletes all associated nodes and node endpoints.

\n \n

\n CreateSnapshot permission is required to create a final snapshot. \n Without this permission, the API call will fail with an Access Denied exception.

\n
" } }, "com.amazonaws.memorydb#DeleteClusterRequest": { @@ -2624,6 +2779,12 @@ "smithy.api#required": {} } }, + "MultiRegionClusterName": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

The name of the multi-Region cluster to be deleted.

" + } + }, "FinalSnapshotName": { "target": "com.amazonaws.memorydb#String", "traits": { @@ -2641,7 +2802,59 @@ "Cluster": { "target": "com.amazonaws.memorydb#Cluster", "traits": { - "smithy.api#documentation": "

The cluster object that has been deleted

" + "smithy.api#documentation": "

The cluster object that has been deleted.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.memorydb#DeleteMultiRegionCluster": { + "type": "operation", + "input": { + "target": "com.amazonaws.memorydb#DeleteMultiRegionClusterRequest" + }, + "output": { + "target": "com.amazonaws.memorydb#DeleteMultiRegionClusterResponse" + }, + "errors": [ + { + "target": "com.amazonaws.memorydb#InvalidMultiRegionClusterStateFault" + }, + { + "target": "com.amazonaws.memorydb#InvalidParameterValueException" + }, + { + "target": "com.amazonaws.memorydb#MultiRegionClusterNotFoundFault" + } + ], + "traits": { + "smithy.api#documentation": "

Deletes an existing multi-Region cluster.

" + } + }, + "com.amazonaws.memorydb#DeleteMultiRegionClusterRequest": { + "type": "structure", + "members": { + "MultiRegionClusterName": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

The name of the multi-Region cluster to be deleted.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.memorydb#DeleteMultiRegionClusterResponse": { + "type": "structure", + "members": { + "MultiRegionCluster": { + "target": "com.amazonaws.memorydb#MultiRegionCluster", + "traits": { + "smithy.api#documentation": "

Details about the deleted multi-Region cluster.

" } } }, @@ -2742,7 +2955,7 @@ "SnapshotName": { "target": "com.amazonaws.memorydb#String", "traits": { - "smithy.api#documentation": "

The name of the snapshot to delete

", + "smithy.api#documentation": "

The name of the snapshot to delete.

", "smithy.api#required": {} } } @@ -2794,7 +3007,7 @@ "SubnetGroupName": { "target": "com.amazonaws.memorydb#String", "traits": { - "smithy.api#documentation": "

The name of the subnet group to delete

", + "smithy.api#documentation": "

The name of the subnet group to delete.

", "smithy.api#required": {} } } @@ -2886,7 +3099,7 @@ } ], "traits": { - "smithy.api#documentation": "

Returns a list of ACLs

", + "smithy.api#documentation": "

Returns a list of ACLs.

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", @@ -2901,7 +3114,7 @@ "ACLName": { "target": "com.amazonaws.memorydb#String", "traits": { - "smithy.api#documentation": "

The name of the ACL

" + "smithy.api#documentation": "

The name of the ACL.

" } }, "MaxResults": { @@ -2927,7 +3140,7 @@ "ACLs": { "target": "com.amazonaws.memorydb#ACLList", "traits": { - "smithy.api#documentation": "

The list of ACLs

" + "smithy.api#documentation": "

The list of ACLs.

" } }, "NextToken": { @@ -2979,7 +3192,7 @@ "ClusterName": { "target": "com.amazonaws.memorydb#String", "traits": { - "smithy.api#documentation": "

The name of the cluster

" + "smithy.api#documentation": "

The name of the cluster.

" } }, "MaxResults": { @@ -3045,7 +3258,7 @@ } ], "traits": { - "smithy.api#documentation": "

Returns a list of the available engine versions.

", + "smithy.api#documentation": "

Returns a list of the available Redis OSS engine versions.

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", @@ -3060,13 +3273,13 @@ "Engine": { "target": "com.amazonaws.memorydb#String", "traits": { - "smithy.api#documentation": "

The engine version to return. Valid values are either valkey or redis.

" + "smithy.api#documentation": "

The name of the engine for which to list available versions.

" } }, "EngineVersion": { "target": "com.amazonaws.memorydb#String", "traits": { - "smithy.api#documentation": "

The engine version.

" + "smithy.api#documentation": "

The Redis OSS engine version

" } }, "ParameterGroupFamily": { @@ -3218,6 +3431,90 @@ "smithy.api#output": {} } }, + "com.amazonaws.memorydb#DescribeMultiRegionClusters": { + "type": "operation", + "input": { + "target": "com.amazonaws.memorydb#DescribeMultiRegionClustersRequest" + }, + "output": { + "target": "com.amazonaws.memorydb#DescribeMultiRegionClustersResponse" + }, + "errors": [ + { + "target": "com.amazonaws.memorydb#ClusterNotFoundFault" + }, + { + "target": "com.amazonaws.memorydb#InvalidParameterCombinationException" + }, + { + "target": "com.amazonaws.memorydb#InvalidParameterValueException" + }, + { + "target": "com.amazonaws.memorydb#MultiRegionClusterNotFoundFault" + } + ], + "traits": { + "smithy.api#documentation": "

Returns details about one or more multi-Region clusters.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "MultiRegionClusters", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.memorydb#DescribeMultiRegionClustersRequest": { + "type": "structure", + "members": { + "MultiRegionClusterName": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

The name of a specific multi-Region cluster to describe.

" + } + }, + "MaxResults": { + "target": "com.amazonaws.memorydb#IntegerOptional", + "traits": { + "smithy.api#documentation": "

The maximum number of results to return.

" + } + }, + "NextToken": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

A token to specify where to start paginating.

" + } + }, + "ShowClusterDetails": { + "target": "com.amazonaws.memorydb#BooleanOptional", + "traits": { + "smithy.api#documentation": "

Details about the multi-Region cluster.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.memorydb#DescribeMultiRegionClustersResponse": { + "type": "structure", + "members": { + "NextToken": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

A token to use to retrieve the next page of results.

" + } + }, + "MultiRegionClusters": { + "target": "com.amazonaws.memorydb#MultiRegionClusterList", + "traits": { + "smithy.api#documentation": "

A list of multi-Region clusters.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.memorydb#DescribeParameterGroups": { "type": "operation", "input": { @@ -3590,7 +3887,7 @@ } ], "traits": { - "smithy.api#documentation": "

Returns details of the service updates

", + "smithy.api#documentation": "

Returns details of the service updates.

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", @@ -3611,13 +3908,13 @@ "ClusterNames": { "target": "com.amazonaws.memorydb#ClusterNameList", "traits": { - "smithy.api#documentation": "

The list of cluster names to identify service updates to apply

" + "smithy.api#documentation": "

The list of cluster names to identify service updates to apply.

" } }, "Status": { "target": "com.amazonaws.memorydb#ServiceUpdateStatusList", "traits": { - "smithy.api#documentation": "

The status(es) of the service updates to filter on

" + "smithy.api#documentation": "

The status(es) of the service updates to filter on.

" } }, "MaxResults": { @@ -3857,7 +4154,7 @@ "UserName": { "target": "com.amazonaws.memorydb#UserName", "traits": { - "smithy.api#documentation": "

The name of the user

" + "smithy.api#documentation": "

The name of the user.

" } }, "Filters": { @@ -3953,7 +4250,7 @@ "Engine": { "target": "com.amazonaws.memorydb#String", "traits": { - "smithy.api#documentation": "

The version of the Redis OSS or Valkey engine used by the cluster.

" + "smithy.api#documentation": "

The name of the engine for which version information is provided.

" } }, "EngineVersion": { @@ -3976,7 +4273,7 @@ } }, "traits": { - "smithy.api#documentation": "

Provides details of the engine version.

" + "smithy.api#documentation": "

Provides details of the Redis OSS engine version

" } }, "com.amazonaws.memorydb#EngineVersionInfoList": { @@ -4073,14 +4370,14 @@ "ClusterName": { "target": "com.amazonaws.memorydb#String", "traits": { - "smithy.api#documentation": "

The cluster being failed over

", + "smithy.api#documentation": "

The cluster being failed over.

", "smithy.api#required": {} } }, "ShardName": { "target": "com.amazonaws.memorydb#String", "traits": { - "smithy.api#documentation": "

The name of the shard

", + "smithy.api#documentation": "

The name of the shard.

", "smithy.api#required": {} } } @@ -4095,7 +4392,7 @@ "Cluster": { "target": "com.amazonaws.memorydb#Cluster", "traits": { - "smithy.api#documentation": "

The cluster being failed over

" + "smithy.api#documentation": "

The cluster being failed over.

" } } }, @@ -4282,6 +4579,23 @@ "smithy.api#httpError": 400 } }, + "com.amazonaws.memorydb#InvalidMultiRegionClusterStateFault": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.memorydb#ExceptionMessage" + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "InvalidMultiRegionClusterState", + "httpResponseCode": 400 + }, + "smithy.api#documentation": "

The requested operation cannot be performed on the multi-Region cluster in its current state.

", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, "com.amazonaws.memorydb#InvalidNodeStateFault": { "type": "structure", "members": { @@ -4433,18 +4747,15 @@ } } }, - "com.amazonaws.memorydb#ListAllowedNodeTypeUpdates": { + "com.amazonaws.memorydb#ListAllowedMultiRegionClusterUpdates": { "type": "operation", "input": { - "target": "com.amazonaws.memorydb#ListAllowedNodeTypeUpdatesRequest" + "target": "com.amazonaws.memorydb#ListAllowedMultiRegionClusterUpdatesRequest" }, "output": { - "target": "com.amazonaws.memorydb#ListAllowedNodeTypeUpdatesResponse" + "target": "com.amazonaws.memorydb#ListAllowedMultiRegionClusterUpdatesResponse" }, "errors": [ - { - "target": "com.amazonaws.memorydb#ClusterNotFoundFault" - }, { "target": "com.amazonaws.memorydb#InvalidParameterCombinationException" }, @@ -4452,20 +4763,20 @@ "target": "com.amazonaws.memorydb#InvalidParameterValueException" }, { - "target": "com.amazonaws.memorydb#ServiceLinkedRoleNotFoundFault" + "target": "com.amazonaws.memorydb#MultiRegionClusterNotFoundFault" } ], "traits": { - "smithy.api#documentation": "

Lists all available node types that you can scale to from your cluster's current node type.\n \n When you use the UpdateCluster operation to scale your cluster, the value of the NodeType parameter must be one of the node types returned by this operation.

" + "smithy.api#documentation": "

Lists the allowed updates for a multi-Region cluster.

" } }, - "com.amazonaws.memorydb#ListAllowedNodeTypeUpdatesRequest": { + "com.amazonaws.memorydb#ListAllowedMultiRegionClusterUpdatesRequest": { "type": "structure", "members": { - "ClusterName": { + "MultiRegionClusterName": { "target": "com.amazonaws.memorydb#String", "traits": { - "smithy.api#documentation": "

The name of the cluster you want to scale. MemoryDB uses the cluster name to identify the current node type being used by this cluster, and from that to create a list of node types\n you can scale up to.

", + "smithy.api#documentation": "

The name of the multi-Region cluster.

", "smithy.api#required": {} } } @@ -4474,13 +4785,74 @@ "smithy.api#input": {} } }, - "com.amazonaws.memorydb#ListAllowedNodeTypeUpdatesResponse": { + "com.amazonaws.memorydb#ListAllowedMultiRegionClusterUpdatesResponse": { "type": "structure", "members": { "ScaleUpNodeTypes": { "target": "com.amazonaws.memorydb#NodeTypeList", "traits": { - "smithy.api#documentation": "

A list node types which you can use to scale up your cluster.

" + "smithy.api#documentation": "

The node types that the cluster can be scaled up to.

" + } + }, + "ScaleDownNodeTypes": { + "target": "com.amazonaws.memorydb#NodeTypeList", + "traits": { + "smithy.api#documentation": "

The node types that the cluster can be scaled down to.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.memorydb#ListAllowedNodeTypeUpdates": { + "type": "operation", + "input": { + "target": "com.amazonaws.memorydb#ListAllowedNodeTypeUpdatesRequest" + }, + "output": { + "target": "com.amazonaws.memorydb#ListAllowedNodeTypeUpdatesResponse" + }, + "errors": [ + { + "target": "com.amazonaws.memorydb#ClusterNotFoundFault" + }, + { + "target": "com.amazonaws.memorydb#InvalidParameterCombinationException" + }, + { + "target": "com.amazonaws.memorydb#InvalidParameterValueException" + }, + { + "target": "com.amazonaws.memorydb#ServiceLinkedRoleNotFoundFault" + } + ], + "traits": { + "smithy.api#documentation": "

Lists all available node types that you can scale to from your cluster's current node type.\n \n When you use the UpdateCluster operation to scale your cluster, the value of the NodeType parameter must be one of the node types returned by this operation.

" + } + }, + "com.amazonaws.memorydb#ListAllowedNodeTypeUpdatesRequest": { + "type": "structure", + "members": { + "ClusterName": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

The name of the cluster you want to scale. MemoryDB uses the cluster name to identify the current node type being used by this cluster, and from that to create a list of node types\n you can scale up to.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.memorydb#ListAllowedNodeTypeUpdatesResponse": { + "type": "structure", + "members": { + "ScaleUpNodeTypes": { + "target": "com.amazonaws.memorydb#NodeTypeList", + "traits": { + "smithy.api#documentation": "

A list node types which you can use to scale up your cluster.

" } }, "ScaleDownNodeTypes": { @@ -4515,6 +4887,12 @@ { "target": "com.amazonaws.memorydb#InvalidClusterStateFault" }, + { + "target": "com.amazonaws.memorydb#MultiRegionClusterNotFoundFault" + }, + { + "target": "com.amazonaws.memorydb#MultiRegionParameterGroupNotFoundFault" + }, { "target": "com.amazonaws.memorydb#ParameterGroupNotFoundFault" }, @@ -4532,7 +4910,7 @@ } ], "traits": { - "smithy.api#documentation": "

Lists all tags currently on a named resource.\n \n A tag is a key-value pair where the key and value are case-sensitive. You can use tags to categorize and track your MemoryDB resources. \n For more information, see Tagging your MemoryDB resources\n

" + "smithy.api#documentation": "

Lists all tags currently on a named resource.\n \n A tag is a key-value pair where the key and value are case-sensitive. You can use tags to categorize and track your MemoryDB resources. \n For more information, see Tagging your MemoryDB resources.

" } }, "com.amazonaws.memorydb#ListTagsRequest": { @@ -4541,7 +4919,7 @@ "ResourceArn": { "target": "com.amazonaws.memorydb#String", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the resource for which you want the list of tags

", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the resource for which you want the list of tags.

", "smithy.api#required": {} } } @@ -4564,6 +4942,137 @@ "smithy.api#output": {} } }, + "com.amazonaws.memorydb#MultiRegionCluster": { + "type": "structure", + "members": { + "MultiRegionClusterName": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

The name of the multi-Region cluster.

" + } + }, + "Description": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

The description of the multi-Region cluster.

" + } + }, + "Status": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

The current status of the multi-Region cluster.

" + } + }, + "NodeType": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

The node type used by the multi-Region cluster.

" + } + }, + "Engine": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

The name of the engine used by the multi-Region cluster.

" + } + }, + "EngineVersion": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

The version of the engine used by the multi-Region cluster.

" + } + }, + "NumberOfShards": { + "target": "com.amazonaws.memorydb#IntegerOptional", + "traits": { + "smithy.api#documentation": "

The number of shards in the multi-Region cluster.

" + } + }, + "Clusters": { + "target": "com.amazonaws.memorydb#RegionalClusterList", + "traits": { + "smithy.api#documentation": "

The clusters in this multi-Region cluster.

" + } + }, + "MultiRegionParameterGroupName": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

The name of the multi-Region parameter group associated with the cluster.

" + } + }, + "TLSEnabled": { + "target": "com.amazonaws.memorydb#BooleanOptional", + "traits": { + "smithy.api#documentation": "

Indiciates if the multi-Region cluster is TLS enabled.

" + } + }, + "ARN": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the multi-Region cluster.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Represents a multi-Region cluster.

" + } + }, + "com.amazonaws.memorydb#MultiRegionClusterAlreadyExistsFault": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.memorydb#ExceptionMessage" + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "MultiRegionClusterAlreadyExistsFault", + "httpResponseCode": 400 + }, + "smithy.api#documentation": "

A multi-Region cluster with the specified name already exists.

", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.memorydb#MultiRegionClusterList": { + "type": "list", + "member": { + "target": "com.amazonaws.memorydb#MultiRegionCluster" + } + }, + "com.amazonaws.memorydb#MultiRegionClusterNotFoundFault": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.memorydb#ExceptionMessage" + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "MultiRegionClusterNotFound", + "httpResponseCode": 404 + }, + "smithy.api#documentation": "

The specified multi-Region cluster does not exist.

", + "smithy.api#error": "client", + "smithy.api#httpError": 404 + } + }, + "com.amazonaws.memorydb#MultiRegionParameterGroupNotFoundFault": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.memorydb#ExceptionMessage" + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "MultiRegionParameterGroupNotFoundFault", + "httpResponseCode": 404 + }, + "smithy.api#documentation": "

The specified multi-Region parameter group does not exist.

", + "smithy.api#error": "client", + "smithy.api#httpError": 404 + } + }, "com.amazonaws.memorydb#NoOperationFault": { "type": "structure", "members": { @@ -5000,6 +5509,47 @@ } } }, + "com.amazonaws.memorydb#RegionalCluster": { + "type": "structure", + "members": { + "ClusterName": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

The name of the Regional cluster

" + } + }, + "Region": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

The Region the current Regional cluster is assigned to.

" + } + }, + "Status": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

The status of the Regional cluster.

" + } + }, + "ARN": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) the Regional cluster

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Represents a Regional cluster

" + } + }, + "com.amazonaws.memorydb#RegionalClusterList": { + "type": "list", + "member": { + "target": "com.amazonaws.memorydb#RegionalCluster", + "traits": { + "smithy.api#xmlName": "RegionalCluster" + } + } + }, "com.amazonaws.memorydb#ReplicaConfigurationRequest": { "type": "structure", "members": { @@ -5403,7 +5953,7 @@ "Engine": { "target": "com.amazonaws.memorydb#String", "traits": { - "smithy.api#documentation": "

The MemoryDB engine to which the update applies. The values are either Redis or Valkey.

" + "smithy.api#documentation": "

The name of the engine for which a service update is available.

" } }, "NodesUpdated": { @@ -6138,6 +6688,15 @@ { "target": "com.amazonaws.memorydb#InvalidClusterStateFault" }, + { + "target": "com.amazonaws.memorydb#InvalidParameterValueException" + }, + { + "target": "com.amazonaws.memorydb#MultiRegionClusterNotFoundFault" + }, + { + "target": "com.amazonaws.memorydb#MultiRegionParameterGroupNotFoundFault" + }, { "target": "com.amazonaws.memorydb#ParameterGroupNotFoundFault" }, @@ -6167,7 +6726,7 @@ "ResourceArn": { "target": "com.amazonaws.memorydb#String", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the resource to which the tags are to be added

", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the resource to which the tags are to be added.

", "smithy.api#required": {} } }, @@ -6280,6 +6839,15 @@ { "target": "com.amazonaws.memorydb#InvalidClusterStateFault" }, + { + "target": "com.amazonaws.memorydb#InvalidParameterValueException" + }, + { + "target": "com.amazonaws.memorydb#MultiRegionClusterNotFoundFault" + }, + { + "target": "com.amazonaws.memorydb#MultiRegionParameterGroupNotFoundFault" + }, { "target": "com.amazonaws.memorydb#ParameterGroupNotFoundFault" }, @@ -6300,7 +6868,7 @@ } ], "traits": { - "smithy.api#documentation": "

Use this operation to remove tags on a resource

" + "smithy.api#documentation": "

Use this operation to remove tags on a resource.

" } }, "com.amazonaws.memorydb#UntagResourceRequest": { @@ -6309,14 +6877,14 @@ "ResourceArn": { "target": "com.amazonaws.memorydb#String", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the resource to which the tags are to be removed

", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the resource to which the tags are to be removed.

", "smithy.api#required": {} } }, "TagKeys": { "target": "com.amazonaws.memorydb#KeyList", "traits": { - "smithy.api#documentation": "

The list of keys of the tags that are to be removed

", + "smithy.api#documentation": "

The list of keys of the tags that are to be removed.

", "smithy.api#required": {} } } @@ -6331,7 +6899,7 @@ "TagList": { "target": "com.amazonaws.memorydb#TagList", "traits": { - "smithy.api#documentation": "

The list of tags removed

" + "smithy.api#documentation": "

The list of tags removed.

" } } }, @@ -6380,20 +6948,20 @@ "ACLName": { "target": "com.amazonaws.memorydb#String", "traits": { - "smithy.api#documentation": "

The name of the Access Control List

", + "smithy.api#documentation": "

The name of the Access Control List.

", "smithy.api#required": {} } }, "UserNamesToAdd": { "target": "com.amazonaws.memorydb#UserNameListInput", "traits": { - "smithy.api#documentation": "

The list of users to add to the Access Control List

" + "smithy.api#documentation": "

The list of users to add to the Access Control List.

" } }, "UserNamesToRemove": { "target": "com.amazonaws.memorydb#UserNameListInput", "traits": { - "smithy.api#documentation": "

The list of users to remove from the Access Control List

" + "smithy.api#documentation": "

The list of users to remove from the Access Control List.

" } } }, @@ -6407,7 +6975,7 @@ "ACL": { "target": "com.amazonaws.memorydb#ACL", "traits": { - "smithy.api#documentation": "

The updated Access Control List

" + "smithy.api#documentation": "

The updated Access Control List.

" } } }, @@ -6483,20 +7051,20 @@ "ClusterName": { "target": "com.amazonaws.memorydb#String", "traits": { - "smithy.api#documentation": "

The name of the cluster to update

", + "smithy.api#documentation": "

The name of the cluster to update.

", "smithy.api#required": {} } }, "Description": { "target": "com.amazonaws.memorydb#String", "traits": { - "smithy.api#documentation": "

The description of the cluster to update

" + "smithy.api#documentation": "

The description of the cluster to update.

" } }, "SecurityGroupIds": { "target": "com.amazonaws.memorydb#SecurityGroupIdsList", "traits": { - "smithy.api#documentation": "

The SecurityGroupIds to update

" + "smithy.api#documentation": "

The SecurityGroupIds to update.

" } }, "MaintenanceWindow": { @@ -6508,7 +7076,7 @@ "SnsTopicArn": { "target": "com.amazonaws.memorydb#String", "traits": { - "smithy.api#documentation": "

The SNS topic ARN to update

" + "smithy.api#documentation": "

The SNS topic ARN to update.

" } }, "SnsTopicStatus": { @@ -6520,7 +7088,7 @@ "ParameterGroupName": { "target": "com.amazonaws.memorydb#String", "traits": { - "smithy.api#documentation": "

The name of the parameter group to update

" + "smithy.api#documentation": "

The name of the parameter group to update.

" } }, "SnapshotWindow": { @@ -6544,7 +7112,7 @@ "Engine": { "target": "com.amazonaws.memorydb#String", "traits": { - "smithy.api#documentation": "

The name of the engine to be used for the nodes in this cluster. The value must be set to either Redis or Valkey.

" + "smithy.api#documentation": "

The name of the engine to be used for the cluster.

" } }, "EngineVersion": { @@ -6556,19 +7124,19 @@ "ReplicaConfiguration": { "target": "com.amazonaws.memorydb#ReplicaConfigurationRequest", "traits": { - "smithy.api#documentation": "

The number of replicas that will reside in each shard

" + "smithy.api#documentation": "

The number of replicas that will reside in each shard.

" } }, "ShardConfiguration": { "target": "com.amazonaws.memorydb#ShardConfigurationRequest", "traits": { - "smithy.api#documentation": "

The number of shards in the cluster

" + "smithy.api#documentation": "

The number of shards in the cluster.

" } }, "ACLName": { "target": "com.amazonaws.memorydb#ACLName", "traits": { - "smithy.api#documentation": "

The Access Control List that is associated with the cluster

" + "smithy.api#documentation": "

The Access Control List that is associated with the cluster.

" } } }, @@ -6582,7 +7150,98 @@ "Cluster": { "target": "com.amazonaws.memorydb#Cluster", "traits": { - "smithy.api#documentation": "

The updated cluster

" + "smithy.api#documentation": "

The updated cluster.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.memorydb#UpdateMultiRegionCluster": { + "type": "operation", + "input": { + "target": "com.amazonaws.memorydb#UpdateMultiRegionClusterRequest" + }, + "output": { + "target": "com.amazonaws.memorydb#UpdateMultiRegionClusterResponse" + }, + "errors": [ + { + "target": "com.amazonaws.memorydb#InvalidMultiRegionClusterStateFault" + }, + { + "target": "com.amazonaws.memorydb#InvalidParameterCombinationException" + }, + { + "target": "com.amazonaws.memorydb#InvalidParameterValueException" + }, + { + "target": "com.amazonaws.memorydb#MultiRegionClusterNotFoundFault" + }, + { + "target": "com.amazonaws.memorydb#MultiRegionParameterGroupNotFoundFault" + } + ], + "traits": { + "smithy.api#documentation": "

Updates the configuration of an existing multi-Region cluster.

" + } + }, + "com.amazonaws.memorydb#UpdateMultiRegionClusterRequest": { + "type": "structure", + "members": { + "MultiRegionClusterName": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

The name of the multi-Region cluster to be updated.

", + "smithy.api#required": {} + } + }, + "NodeType": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

The new node type to be used for the multi-Region cluster.

" + } + }, + "Description": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

A new description for the multi-Region cluster.

" + } + }, + "EngineVersion": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

The new engine version to be used for the multi-Region cluster.

" + } + }, + "ShardConfiguration": { + "target": "com.amazonaws.memorydb#ShardConfigurationRequest" + }, + "MultiRegionParameterGroupName": { + "target": "com.amazonaws.memorydb#String", + "traits": { + "smithy.api#documentation": "

The new multi-Region parameter group to be associated with the cluster.

" + } + }, + "UpdateStrategy": { + "target": "com.amazonaws.memorydb#UpdateStrategy", + "traits": { + "smithy.api#documentation": "

Whether to force the update even if it may cause data loss.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.memorydb#UpdateMultiRegionClusterResponse": { + "type": "structure", + "members": { + "MultiRegionCluster": { + "target": "com.amazonaws.memorydb#MultiRegionCluster", + "traits": { + "smithy.api#documentation": "

The status of updating the multi-Region cluster.

" } } }, @@ -6655,6 +7314,23 @@ "smithy.api#output": {} } }, + "com.amazonaws.memorydb#UpdateStrategy": { + "type": "enum", + "members": { + "COORDINATED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "coordinated" + } + }, + "UNCOORDINATED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "uncoordinated" + } + } + } + }, "com.amazonaws.memorydb#UpdateSubnetGroup": { "type": "operation", "input": { diff --git a/codegen/sdk/aws-models/networkflowmonitor.json b/codegen/sdk/aws-models/networkflowmonitor.json new file mode 100644 index 00000000000..9e62924dc7b --- /dev/null +++ b/codegen/sdk/aws-models/networkflowmonitor.json @@ -0,0 +1,4120 @@ +{ + "smithy": "2.0", + "shapes": { + "com.amazonaws.networkflowmonitor#AccessDeniedException": { + "type": "structure", + "members": { + "message": { + "target": "smithy.api#String" + } + }, + "traits": { + "smithy.api#documentation": "

You don't have sufficient permission to perform this action.

", + "smithy.api#error": "client", + "smithy.api#httpError": 403 + } + }, + "com.amazonaws.networkflowmonitor#AccountId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 12 + }, + "smithy.api#pattern": "^[0-9]{12}$" + } + }, + "com.amazonaws.networkflowmonitor#Arn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 20, + "max": 2048 + }, + "smithy.api#pattern": "^arn:.*$" + } + }, + "com.amazonaws.networkflowmonitor#AvailabilityZone": { + "type": "string" + }, + "com.amazonaws.networkflowmonitor#AwsRegion": { + "type": "string" + }, + "com.amazonaws.networkflowmonitor#Component": { + "type": "string" + }, + "com.amazonaws.networkflowmonitor#ComponentType": { + "type": "string" + }, + "com.amazonaws.networkflowmonitor#ConflictException": { + "type": "structure", + "members": { + "message": { + "target": "smithy.api#String" + } + }, + "traits": { + "smithy.api#documentation": "

The requested resource is in use.

", + "smithy.api#error": "client", + "smithy.api#httpError": 409 + } + }, + "com.amazonaws.networkflowmonitor#CreateMonitor": { + "type": "operation", + "input": { + "target": "com.amazonaws.networkflowmonitor#CreateMonitorInput" + }, + "output": { + "target": "com.amazonaws.networkflowmonitor#CreateMonitorOutput" + }, + "errors": [ + { + "target": "com.amazonaws.networkflowmonitor#AccessDeniedException" + }, + { + "target": "com.amazonaws.networkflowmonitor#ConflictException" + }, + { + "target": "com.amazonaws.networkflowmonitor#InternalServerException" + }, + { + "target": "com.amazonaws.networkflowmonitor#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.networkflowmonitor#ThrottlingException" + }, + { + "target": "com.amazonaws.networkflowmonitor#ValidationException" + } + ], + "traits": { + "aws.iam#conditionKeys": [ + "aws:RequestTag/${TagKey}", + "aws:TagKeys" + ], + "aws.iam#iamAction": { + "documentation": "Grants permission to create a monitor" + }, + "smithy.api#documentation": "

Create a monitor for specific network flows between local and remote resources, so that you can monitor\n\t\t\tnetwork performance for one or several of your workloads. For each monitor, Network Flow Monitor publishes detailed\n\t\t\tend-to-end performance metrics and a network health indicators (NHI) that informs you whether there were\n\t\t\tAmazon Web Services network issues for one or more of the network flows tracked by a monitor, during a time period that you choose.\n\t\t

", + "smithy.api#http": { + "uri": "/monitors", + "method": "POST" + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.networkflowmonitor#CreateMonitorInput": { + "type": "structure", + "members": { + "monitorName": { + "target": "com.amazonaws.networkflowmonitor#ResourceName", + "traits": { + "smithy.api#documentation": "

The name of the monitor.

", + "smithy.api#required": {} + } + }, + "localResources": { + "target": "com.amazonaws.networkflowmonitor#MonitorLocalResources", + "traits": { + "smithy.api#documentation": "

The local resources to monitor. A local resource, in a bi-directional flow of a workload, \n \t\tis the host where the agent is installed. For example, if a workload consists of an interaction \n \t\tbetween a web service and a backend database (for example, Amazon Relational Database Service (RDS)), \n \t\tthe EC2 instance hosting the web service, which also runs the agent, is the local resource.

", + "smithy.api#length": { + "min": 1 + }, + "smithy.api#required": {} + } + }, + "remoteResources": { + "target": "com.amazonaws.networkflowmonitor#MonitorRemoteResources", + "traits": { + "smithy.api#documentation": "

The remote resources to monitor. A remote resource is the other endpoint in the bi-directional \n \t\tflow of a workload, with a local resource. For example, Amazon Relational Database Service (RDS) can be a remote resource.

" + } + }, + "scopeArn": { + "target": "com.amazonaws.networkflowmonitor#Arn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the scope for the monitor.

", + "smithy.api#required": {} + } + }, + "clientToken": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

A unique, case-sensitive string of up to 64 ASCII characters that you specify to make an idempotent API request. Don't reuse the same client token for\n \t\tother API requests.

", + "smithy.api#idempotencyToken": {} + } + }, + "tags": { + "target": "com.amazonaws.networkflowmonitor#TagMap", + "traits": { + "smithy.api#documentation": "

The tags for a monitor. You can add a maximum of 200 tags.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.networkflowmonitor#CreateMonitorOutput": { + "type": "structure", + "members": { + "monitorArn": { + "target": "com.amazonaws.networkflowmonitor#MonitorArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the monitor.

", + "smithy.api#required": {} + } + }, + "monitorName": { + "target": "com.amazonaws.networkflowmonitor#ResourceName", + "traits": { + "smithy.api#documentation": "

The name of the monitor.

", + "smithy.api#required": {} + } + }, + "monitorStatus": { + "target": "com.amazonaws.networkflowmonitor#MonitorStatus", + "traits": { + "smithy.api#documentation": "

The status of a monitor. The status can be one of the following

\n
    \n
  • \n

    \n PENDING: The monitor is in the process of being created.

    \n
  • \n
  • \n

    \n ACTIVE: The monitor is active.

    \n
  • \n
  • \n

    \n INACTIVE: The monitor is inactive.

    \n
  • \n
  • \n

    \n ERROR: Monitor creation failed due to an error.

    \n
  • \n
  • \n

    \n DELETING: The monitor is in the process of being deleted.

    \n
  • \n
", + "smithy.api#required": {} + } + }, + "localResources": { + "target": "com.amazonaws.networkflowmonitor#MonitorLocalResources", + "traits": { + "smithy.api#documentation": "

The local resources to monitor. A local resource, in a bi-directional flow of a workload, \n \tis the host where the agent is installed.

", + "smithy.api#required": {} + } + }, + "remoteResources": { + "target": "com.amazonaws.networkflowmonitor#MonitorRemoteResources", + "traits": { + "smithy.api#documentation": "

The remote resources to monitor. A remote resource is the other endpoint in the bi-directional \n \t\tflow of a workload, with a local resource. For example, Amazon Relational Database Service (RDS) can \n \t\tbe a remote resource. The remote resource is identified by its ARN or an identifier.

", + "smithy.api#required": {} + } + }, + "createdAt": { + "target": "com.amazonaws.networkflowmonitor#Iso8601Timestamp", + "traits": { + "smithy.api#documentation": "

The date and time when the monitor was created.

", + "smithy.api#required": {} + } + }, + "modifiedAt": { + "target": "com.amazonaws.networkflowmonitor#Iso8601Timestamp", + "traits": { + "smithy.api#documentation": "

The last date and time that the monitor was modified.

", + "smithy.api#required": {} + } + }, + "tags": { + "target": "com.amazonaws.networkflowmonitor#TagMap", + "traits": { + "smithy.api#documentation": "

The tags for a monitor.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.networkflowmonitor#CreateScope": { + "type": "operation", + "input": { + "target": "com.amazonaws.networkflowmonitor#CreateScopeInput" + }, + "output": { + "target": "com.amazonaws.networkflowmonitor#CreateScopeOutput" + }, + "errors": [ + { + "target": "com.amazonaws.networkflowmonitor#AccessDeniedException" + }, + { + "target": "com.amazonaws.networkflowmonitor#ConflictException" + }, + { + "target": "com.amazonaws.networkflowmonitor#InternalServerException" + }, + { + "target": "com.amazonaws.networkflowmonitor#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.networkflowmonitor#ThrottlingException" + }, + { + "target": "com.amazonaws.networkflowmonitor#ValidationException" + } + ], + "traits": { + "aws.iam#conditionKeys": [ + "aws:RequestTag/${TagKey}", + "aws:TagKeys" + ], + "aws.iam#iamAction": { + "documentation": "Grants permission to create a scope" + }, + "smithy.api#documentation": "

Create a scope of resources that you want to be available for Network Flow Monitor to generate metrics for,\n \t\twhen you have active agents on those resources sending metrics reports to the Network Flow Monitor backend.\n \t\tThis call returns a scope ID to identify the scope.

\n

When you create a scope, you enable permissions for Network Flow Monitor. The scope is set to the\n \t\tresources for the Amazon Web Services that enables the feature.

", + "smithy.api#http": { + "uri": "/scopes", + "method": "POST" + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.networkflowmonitor#CreateScopeInput": { + "type": "structure", + "members": { + "targets": { + "target": "com.amazonaws.networkflowmonitor#TargetResourceList", + "traits": { + "smithy.api#documentation": "

The targets to define the scope to be monitored. Currently, a target is an Amazon Web Services account.

", + "smithy.api#length": { + "min": 1, + "max": 100 + }, + "smithy.api#required": {} + } + }, + "clientToken": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

A unique, case-sensitive string of up to 64 ASCII characters that you specify to make an idempotent \n \t\tAPI request. Don't reuse the same client token for other API requests.

", + "smithy.api#idempotencyToken": {} + } + }, + "tags": { + "target": "com.amazonaws.networkflowmonitor#TagMap", + "traits": { + "smithy.api#documentation": "

The tags for a scope. You can add a maximum of 200 tags.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.networkflowmonitor#CreateScopeOutput": { + "type": "structure", + "members": { + "scopeId": { + "target": "com.amazonaws.networkflowmonitor#ScopeId", + "traits": { + "smithy.api#documentation": "

The identifier for the scope that includes the resources you want to get metrics for.\n \t\tA scope ID is an internally-generated identifier that includes all the resources \n \t\tfor a specific root account.

", + "smithy.api#required": {} + } + }, + "status": { + "target": "com.amazonaws.networkflowmonitor#ScopeStatus", + "traits": { + "smithy.api#documentation": "

The status for a call to create a scope. The status can be one of the following: \n \t\tSUCCEEDED, IN_PROGRESS, or FAILED.

", + "smithy.api#required": {} + } + }, + "scopeArn": { + "target": "com.amazonaws.networkflowmonitor#Arn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the scope.

", + "smithy.api#required": {} + } + }, + "tags": { + "target": "com.amazonaws.networkflowmonitor#TagMap", + "traits": { + "smithy.api#documentation": "

The tags for a scope.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.networkflowmonitor#DeleteMonitor": { + "type": "operation", + "input": { + "target": "com.amazonaws.networkflowmonitor#DeleteMonitorInput" + }, + "output": { + "target": "com.amazonaws.networkflowmonitor#DeleteMonitorOutput" + }, + "errors": [ + { + "target": "com.amazonaws.networkflowmonitor#AccessDeniedException" + }, + { + "target": "com.amazonaws.networkflowmonitor#InternalServerException" + }, + { + "target": "com.amazonaws.networkflowmonitor#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.networkflowmonitor#ThrottlingException" + }, + { + "target": "com.amazonaws.networkflowmonitor#ValidationException" + } + ], + "traits": { + "aws.iam#iamAction": { + "documentation": "Grants permission to delete a monitor" + }, + "smithy.api#documentation": "

Deletes a monitor in Network Flow Monitor.

", + "smithy.api#http": { + "uri": "/monitors/{monitorName}", + "method": "DELETE" + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.networkflowmonitor#DeleteMonitorInput": { + "type": "structure", + "members": { + "monitorName": { + "target": "com.amazonaws.networkflowmonitor#ResourceName", + "traits": { + "smithy.api#documentation": "

The name of the monitor to delete.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.networkflowmonitor#DeleteMonitorOutput": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.networkflowmonitor#DeleteScope": { + "type": "operation", + "input": { + "target": "com.amazonaws.networkflowmonitor#DeleteScopeInput" + }, + "output": { + "target": "com.amazonaws.networkflowmonitor#DeleteScopeOutput" + }, + "errors": [ + { + "target": "com.amazonaws.networkflowmonitor#AccessDeniedException" + }, + { + "target": "com.amazonaws.networkflowmonitor#InternalServerException" + }, + { + "target": "com.amazonaws.networkflowmonitor#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.networkflowmonitor#ThrottlingException" + }, + { + "target": "com.amazonaws.networkflowmonitor#ValidationException" + } + ], + "traits": { + "aws.iam#iamAction": { + "documentation": "Grants permission to delete a scope" + }, + "smithy.api#documentation": "

Deletes a scope that has been defined.

", + "smithy.api#http": { + "uri": "/scopes/{scopeId}", + "method": "DELETE" + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.networkflowmonitor#DeleteScopeInput": { + "type": "structure", + "members": { + "scopeId": { + "target": "com.amazonaws.networkflowmonitor#ScopeId", + "traits": { + "smithy.api#documentation": "

The identifier for the scope that includes the resources you want to get data results for.\n \t\tA scope ID is an internally-generated identifier that includes all the resources \n \t\tfor a specific root account.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.networkflowmonitor#DeleteScopeOutput": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.networkflowmonitor#DestinationCategory": { + "type": "enum", + "members": { + "INTRA_AZ": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INTRA_AZ" + } + }, + "INTER_AZ": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INTER_AZ" + } + }, + "INTER_VPC": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INTER_VPC" + } + }, + "UNCLASSIFIED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "UNCLASSIFIED" + } + }, + "AMAZON_S3": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AMAZON_S3" + } + }, + "AMAZON_DYNAMODB": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AMAZON_DYNAMODB" + } + } + } + }, + "com.amazonaws.networkflowmonitor#GetMonitor": { + "type": "operation", + "input": { + "target": "com.amazonaws.networkflowmonitor#GetMonitorInput" + }, + "output": { + "target": "com.amazonaws.networkflowmonitor#GetMonitorOutput" + }, + "errors": [ + { + "target": "com.amazonaws.networkflowmonitor#AccessDeniedException" + }, + { + "target": "com.amazonaws.networkflowmonitor#InternalServerException" + }, + { + "target": "com.amazonaws.networkflowmonitor#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.networkflowmonitor#ThrottlingException" + }, + { + "target": "com.amazonaws.networkflowmonitor#ValidationException" + } + ], + "traits": { + "aws.iam#iamAction": { + "documentation": "Grants permission to get information about a monitor" + }, + "smithy.api#documentation": "

Gets information about a monitor in Network Flow Monitor based on a monitor name. The information returned includes \n \t\tthe Amazon Resource Name (ARN), create time, modified time, resources included in the monitor, and status information.

", + "smithy.api#http": { + "uri": "/monitors/{monitorName}", + "method": "GET" + }, + "smithy.api#readonly": {}, + "smithy.test#smokeTests": [ + { + "id": "GetMonitorSuccess", + "params": { + "monitorName": "SmokeTestMonitor" + }, + "expect": { + "success": {} + }, + "vendorParamsShape": "aws.test#AwsVendorParams", + "vendorParams": { + "region": "us-east-1" + } + } + ] + } + }, + "com.amazonaws.networkflowmonitor#GetMonitorInput": { + "type": "structure", + "members": { + "monitorName": { + "target": "com.amazonaws.networkflowmonitor#ResourceName", + "traits": { + "smithy.api#documentation": "

The name of the monitor.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.networkflowmonitor#GetMonitorOutput": { + "type": "structure", + "members": { + "monitorArn": { + "target": "com.amazonaws.networkflowmonitor#MonitorArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the monitor.

", + "smithy.api#required": {} + } + }, + "monitorName": { + "target": "com.amazonaws.networkflowmonitor#ResourceName", + "traits": { + "smithy.api#documentation": "

The name of the monitor.

", + "smithy.api#required": {} + } + }, + "monitorStatus": { + "target": "com.amazonaws.networkflowmonitor#MonitorStatus", + "traits": { + "smithy.api#documentation": "

The status of a monitor. The status can be one of the following

\n
    \n
  • \n

    \n PENDING: The monitor is in the process of being created.

    \n
  • \n
  • \n

    \n ACTIVE: The monitor is active.

    \n
  • \n
  • \n

    \n INACTIVE: The monitor is inactive.

    \n
  • \n
  • \n

    \n ERROR: Monitor creation failed due to an error.

    \n
  • \n
  • \n

    \n DELETING: The monitor is in the process of being deleted.

    \n
  • \n
", + "smithy.api#required": {} + } + }, + "localResources": { + "target": "com.amazonaws.networkflowmonitor#MonitorLocalResources", + "traits": { + "smithy.api#documentation": "

The local resources for this monitor.

", + "smithy.api#required": {} + } + }, + "remoteResources": { + "target": "com.amazonaws.networkflowmonitor#MonitorRemoteResources", + "traits": { + "smithy.api#documentation": "

The remote resources for this monitor.

", + "smithy.api#required": {} + } + }, + "createdAt": { + "target": "com.amazonaws.networkflowmonitor#Iso8601Timestamp", + "traits": { + "smithy.api#documentation": "

The date and time when the monitor was created.

", + "smithy.api#required": {} + } + }, + "modifiedAt": { + "target": "com.amazonaws.networkflowmonitor#Iso8601Timestamp", + "traits": { + "smithy.api#documentation": "

The date and time when the monitor was last modified.

", + "smithy.api#required": {} + } + }, + "tags": { + "target": "com.amazonaws.networkflowmonitor#TagMap", + "traits": { + "smithy.api#documentation": "

The tags for a monitor.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.networkflowmonitor#GetQueryResultsMonitorTopContributors": { + "type": "operation", + "input": { + "target": "com.amazonaws.networkflowmonitor#GetQueryResultsMonitorTopContributorsInput" + }, + "output": { + "target": "com.amazonaws.networkflowmonitor#GetQueryResultsMonitorTopContributorsOutput" + }, + "errors": [ + { + "target": "com.amazonaws.networkflowmonitor#AccessDeniedException" + }, + { + "target": "com.amazonaws.networkflowmonitor#InternalServerException" + }, + { + "target": "com.amazonaws.networkflowmonitor#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.networkflowmonitor#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.networkflowmonitor#ThrottlingException" + }, + { + "target": "com.amazonaws.networkflowmonitor#ValidationException" + } + ], + "traits": { + "aws.api#dataPlane": {}, + "aws.iam#iamAction": { + "documentation": "Grants permission to get the results of a query that retrieves top contributors data for a monitor" + }, + "smithy.api#documentation": "

Return the data for a query with the Network Flow Monitor query interface. \n \t\tYou specify the query that you want to return results for by providing a query ID \n \t\tand a monitor name. This query returns the top contributors for a specific monitor.

\n

Create a query ID for this call by calling the corresponding API call to start the query, \n \t\tStartQueryMonitorTopContributors. Use the scope ID that was returned\n \t\tfor your account by CreateScope.

\n

Top contributors in Network Flow Monitor are network flows with the highest values for a specific \n \t\tmetric type, related to a scope (for workload insights) or a monitor.

", + "smithy.api#http": { + "uri": "/monitors/{monitorName}/topContributorsQueries/{queryId}/results", + "method": "GET" + }, + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults", + "items": "topContributors" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.networkflowmonitor#GetQueryResultsMonitorTopContributorsInput": { + "type": "structure", + "members": { + "monitorName": { + "target": "com.amazonaws.networkflowmonitor#ResourceName", + "traits": { + "smithy.api#documentation": "

The name of the monitor.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "queryId": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The identifier for the query. A query ID is an internally-generated \n \t\tidentifier for a specific query returned from an API call to start a query.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "nextToken": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The token for the next set of results. You receive this token from a previous call.

", + "smithy.api#httpQuery": "nextToken" + } + }, + "maxResults": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

The number of query results that you want to return with this call.

", + "smithy.api#httpQuery": "maxResults" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.networkflowmonitor#GetQueryResultsMonitorTopContributorsOutput": { + "type": "structure", + "members": { + "unit": { + "target": "com.amazonaws.networkflowmonitor#MetricUnit", + "traits": { + "smithy.api#documentation": "

The units for a metric returned by the query.

" + } + }, + "topContributors": { + "target": "com.amazonaws.networkflowmonitor#MonitorTopContributorsRowList", + "traits": { + "smithy.api#documentation": "

The top contributor network flows overall for a specific metric type, for example, the \n \t\tnumber of retransmissions.

" + } + }, + "nextToken": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The token for the next set of results. You receive this token from a previous call.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.networkflowmonitor#GetQueryResultsWorkloadInsightsTopContributors": { + "type": "operation", + "input": { + "target": "com.amazonaws.networkflowmonitor#GetQueryResultsWorkloadInsightsTopContributorsInput" + }, + "output": { + "target": "com.amazonaws.networkflowmonitor#GetQueryResultsWorkloadInsightsTopContributorsOutput" + }, + "errors": [ + { + "target": "com.amazonaws.networkflowmonitor#AccessDeniedException" + }, + { + "target": "com.amazonaws.networkflowmonitor#InternalServerException" + }, + { + "target": "com.amazonaws.networkflowmonitor#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.networkflowmonitor#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.networkflowmonitor#ThrottlingException" + }, + { + "target": "com.amazonaws.networkflowmonitor#ValidationException" + } + ], + "traits": { + "aws.api#dataPlane": {}, + "aws.iam#iamAction": { + "documentation": "Grants permission to get the results of a query that retrieves top contributors for workload insights" + }, + "smithy.api#documentation": "

Return the data for a query with the Network Flow Monitor query interface. \n \t\tYou specify the query that you want to return results for by providing a query ID \n \t\tand a monitor name. This query returns the top contributors for a specific monitor.

\n

Create a query ID for this call by calling the corresponding API call to start the query, \n \t\tStartQueryWorkloadInsightsTopContributors. Use the scope ID that was returned\n \t\tfor your account by CreateScope.

\n

Top contributors in Network Flow Monitor are network flows with the highest values for a specific \n \t\tmetric type, related to a scope (for workload insights) or a monitor.

", + "smithy.api#http": { + "uri": "/workloadInsights/{scopeId}/topContributorsQueries/{queryId}/results", + "method": "GET" + }, + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults", + "items": "topContributors" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.networkflowmonitor#GetQueryResultsWorkloadInsightsTopContributorsData": { + "type": "operation", + "input": { + "target": "com.amazonaws.networkflowmonitor#GetQueryResultsWorkloadInsightsTopContributorsDataInput" + }, + "output": { + "target": "com.amazonaws.networkflowmonitor#GetQueryResultsWorkloadInsightsTopContributorsDataOutput" + }, + "errors": [ + { + "target": "com.amazonaws.networkflowmonitor#AccessDeniedException" + }, + { + "target": "com.amazonaws.networkflowmonitor#InternalServerException" + }, + { + "target": "com.amazonaws.networkflowmonitor#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.networkflowmonitor#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.networkflowmonitor#ThrottlingException" + }, + { + "target": "com.amazonaws.networkflowmonitor#ValidationException" + } + ], + "traits": { + "aws.api#dataPlane": {}, + "aws.iam#iamAction": { + "documentation": "Grants permission to get the results of a query that retrieves top contributors data points for workload insights" + }, + "smithy.api#documentation": "

Return the data for a query with the Network Flow Monitor query interface. \n \t\tSpecify the query that you want to return results for by providing a query ID \n \t\tand a scope ID. This query returns data for the top contributors for workload insights.\n \t\tWorkload insights provide a high level view of network flow performance data collected by agents \n \t\tfor a scope.

\n

Create a query ID for this call by calling the corresponding API call to start the query, \n \t\tStartQueryWorkloadInsightsTopContributorsData. Use the scope ID that was returned\n \t\tfor your account by CreateScope.

\n

Top contributors in Network Flow Monitor are network flows with the highest values for a specific \n \t\tmetric type, related to a scope (for workload insights) or a monitor.

\n

The top contributor network flows overall for a specific metric type, for example, the \n \t\tnumber of retransmissions.

", + "smithy.api#http": { + "uri": "/workloadInsights/{scopeId}/topContributorsDataQueries/{queryId}/results", + "method": "GET" + }, + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults", + "items": "datapoints" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.networkflowmonitor#GetQueryResultsWorkloadInsightsTopContributorsDataInput": { + "type": "structure", + "members": { + "scopeId": { + "target": "com.amazonaws.networkflowmonitor#ScopeId", + "traits": { + "smithy.api#documentation": "

The identifier for the scope that includes the resources you want to get data results for.\n \t\tA scope ID is an internally-generated identifier that includes all the resources \n \t\tfor a specific root account.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "queryId": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The identifier for the query. A query ID is an internally-generated \n \t\tidentifier for a specific query returned from an API call to start a query.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "nextToken": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The token for the next set of results. You receive this token from a previous call.

", + "smithy.api#httpQuery": "nextToken" + } + }, + "maxResults": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

The number of query results that you want to return with this call.

", + "smithy.api#httpQuery": "maxResults" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.networkflowmonitor#GetQueryResultsWorkloadInsightsTopContributorsDataOutput": { + "type": "structure", + "members": { + "unit": { + "target": "com.amazonaws.networkflowmonitor#MetricUnit", + "traits": { + "smithy.api#documentation": "

The units for a metric returned by the query.

", + "smithy.api#required": {} + } + }, + "datapoints": { + "target": "com.amazonaws.networkflowmonitor#WorkloadInsightsTopContributorsDataPoints", + "traits": { + "smithy.api#documentation": "

The datapoints returned by the query.

", + "smithy.api#required": {} + } + }, + "nextToken": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The token for the next set of results. You receive this token from a previous call.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.networkflowmonitor#GetQueryResultsWorkloadInsightsTopContributorsInput": { + "type": "structure", + "members": { + "scopeId": { + "target": "com.amazonaws.networkflowmonitor#ScopeId", + "traits": { + "smithy.api#documentation": "

The identifier for the scope that includes the resources you want to get data results for.\n \t\tA scope ID is an internally-generated identifier that includes all the resources \n \t\tfor a specific root account.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "queryId": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The identifier for the query. A query ID is an internally-generated \n \t\tidentifier for a specific query returned from an API call to start a query.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "nextToken": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The token for the next set of results. You receive this token from a previous call.

", + "smithy.api#httpQuery": "nextToken" + } + }, + "maxResults": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

The number of query results that you want to return with this call.

", + "smithy.api#httpQuery": "maxResults" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.networkflowmonitor#GetQueryResultsWorkloadInsightsTopContributorsOutput": { + "type": "structure", + "members": { + "topContributors": { + "target": "com.amazonaws.networkflowmonitor#WorkloadInsightsTopContributorsRowList", + "traits": { + "smithy.api#documentation": "

The top contributor network flows overall for a specific metric type, for example, the \n \t\tnumber of retransmissions.

" + } + }, + "nextToken": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The token for the next set of results. You receive this token from a previous call.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.networkflowmonitor#GetQueryStatusMonitorTopContributors": { + "type": "operation", + "input": { + "target": "com.amazonaws.networkflowmonitor#GetQueryStatusMonitorTopContributorsInput" + }, + "output": { + "target": "com.amazonaws.networkflowmonitor#GetQueryStatusMonitorTopContributorsOutput" + }, + "errors": [ + { + "target": "com.amazonaws.networkflowmonitor#AccessDeniedException" + }, + { + "target": "com.amazonaws.networkflowmonitor#InternalServerException" + }, + { + "target": "com.amazonaws.networkflowmonitor#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.networkflowmonitor#ThrottlingException" + }, + { + "target": "com.amazonaws.networkflowmonitor#ValidationException" + } + ], + "traits": { + "aws.api#dataPlane": {}, + "aws.iam#iamAction": { + "documentation": "Grants permission to get the status of a query that retrieves top contributors data for a monitor" + }, + "smithy.api#documentation": "

Returns the current status of a query for the Network Flow Monitor query interface, for a specified query ID and monitor. \n \t\tThis call returns the query status for the top contributors for a monitor.

\n

When you start a query, use this call to check the status of the query to make sure that it has \n \t\thas SUCCEEDED before you review the results. Use the same query ID that you used for \n \t\tthe corresponding API call to start the query, StartQueryMonitorTopContributors.

\n

When you run a query, use this call to check the status of the query to make sure that the query \n \t\thas SUCCEEDED before you review the results.

", + "smithy.api#http": { + "uri": "/monitors/{monitorName}/topContributorsQueries/{queryId}/status", + "method": "GET" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.networkflowmonitor#GetQueryStatusMonitorTopContributorsInput": { + "type": "structure", + "members": { + "monitorName": { + "target": "com.amazonaws.networkflowmonitor#ResourceName", + "traits": { + "smithy.api#documentation": "

The name of the monitor.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "queryId": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The identifier for the query. A query ID is an internally-generated \n \t\tidentifier for a specific query returned from an API call to start a query.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.networkflowmonitor#GetQueryStatusMonitorTopContributorsOutput": { + "type": "structure", + "members": { + "status": { + "target": "com.amazonaws.networkflowmonitor#QueryStatus", + "traits": { + "smithy.api#documentation": "

When you run a query, use this call to check the status of the query to make sure that the query \n \t\thas SUCCEEDED before you review the results.

\n
    \n
  • \n

    \n QUEUED: The query is scheduled to run.

    \n
  • \n
  • \n

    \n RUNNING: The query is in progress but not complete.

    \n
  • \n
  • \n

    \n SUCCEEDED: The query completed sucessfully.

    \n
  • \n
  • \n

    \n FAILED: The query failed due to an error.

    \n
  • \n
  • \n

    \n CANCELED: The query was canceled.

    \n
  • \n
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.networkflowmonitor#GetQueryStatusWorkloadInsightsTopContributors": { + "type": "operation", + "input": { + "target": "com.amazonaws.networkflowmonitor#GetQueryStatusWorkloadInsightsTopContributorsInput" + }, + "output": { + "target": "com.amazonaws.networkflowmonitor#GetQueryStatusWorkloadInsightsTopContributorsOutput" + }, + "errors": [ + { + "target": "com.amazonaws.networkflowmonitor#AccessDeniedException" + }, + { + "target": "com.amazonaws.networkflowmonitor#InternalServerException" + }, + { + "target": "com.amazonaws.networkflowmonitor#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.networkflowmonitor#ThrottlingException" + }, + { + "target": "com.amazonaws.networkflowmonitor#ValidationException" + } + ], + "traits": { + "aws.api#dataPlane": {}, + "aws.iam#iamAction": { + "documentation": "Grants permission to get the status of a query that retrieves top contributors for workload insights" + }, + "smithy.api#documentation": "

Return the data for a query with the Network Flow Monitor query interface. \n \t\tSpecify the query that you want to return results for by providing a query ID \n \t\tand a monitor name. This query returns the top contributors for workload insights.

\n

When you start a query, use this call to check the status of the query to make sure that it has \n \t\thas SUCCEEDED before you review the results. Use the same query ID that you used for \n \t\tthe corresponding API call to start the query, StartQueryWorkloadInsightsTopContributors.

\n

Top contributors in Network Flow Monitor are network flows with the highest values for a specific \n \t\tmetric type, related to a scope (for workload insights) or a monitor.

", + "smithy.api#http": { + "uri": "/workloadInsights/{scopeId}/topContributorsQueries/{queryId}/status", + "method": "GET" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.networkflowmonitor#GetQueryStatusWorkloadInsightsTopContributorsData": { + "type": "operation", + "input": { + "target": "com.amazonaws.networkflowmonitor#GetQueryStatusWorkloadInsightsTopContributorsDataInput" + }, + "output": { + "target": "com.amazonaws.networkflowmonitor#GetQueryStatusWorkloadInsightsTopContributorsDataOutput" + }, + "errors": [ + { + "target": "com.amazonaws.networkflowmonitor#AccessDeniedException" + }, + { + "target": "com.amazonaws.networkflowmonitor#InternalServerException" + }, + { + "target": "com.amazonaws.networkflowmonitor#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.networkflowmonitor#ThrottlingException" + }, + { + "target": "com.amazonaws.networkflowmonitor#ValidationException" + } + ], + "traits": { + "aws.api#dataPlane": {}, + "aws.iam#iamAction": { + "documentation": "Grants permission to get the status of a query that retrieves top contributors data points for workload insights" + }, + "smithy.api#documentation": "

Returns the current status of a query for the Network Flow Monitor query interface, for a specified query ID and monitor. \n \t\tThis call returns the query status for the top contributors data for workload insights.

\n

When you start a query, use this call to check the status of the query to make sure that it has \n \t\thas SUCCEEDED before you review the results. Use the same query ID that you used for \n \t\tthe corresponding API call to start the query, StartQueryWorkloadInsightsTopContributorsData.

\n

Top contributors in Network Flow Monitor are network flows with the highest values for a specific \n \t\tmetric type, related to a scope (for workload insights) or a monitor.

\n

The top contributor network flows overall for a specific metric type, for example, the \n \t\tnumber of retransmissions.

", + "smithy.api#http": { + "uri": "/workloadInsights/{scopeId}/topContributorsDataQueries/{queryId}/status", + "method": "GET" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.networkflowmonitor#GetQueryStatusWorkloadInsightsTopContributorsDataInput": { + "type": "structure", + "members": { + "scopeId": { + "target": "com.amazonaws.networkflowmonitor#ScopeId", + "traits": { + "smithy.api#documentation": "

The identifier for the scope that includes the resources you want to get data results for.\n \t\tA scope ID is an internally-generated identifier that includes all the resources \n \t\tfor a specific root account. A scope ID is returned from a CreateScope API call.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "queryId": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The identifier for the query. A query ID is an internally-generated \n \t\tidentifier for a specific query returned from an API call to start a query.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.networkflowmonitor#GetQueryStatusWorkloadInsightsTopContributorsDataOutput": { + "type": "structure", + "members": { + "status": { + "target": "com.amazonaws.networkflowmonitor#QueryStatus", + "traits": { + "smithy.api#documentation": "

The status of a query for top contributors data.

\n
    \n
  • \n

    \n QUEUED: The query is scheduled to run.

    \n
  • \n
  • \n

    \n RUNNING: The query is in progress but not complete.

    \n
  • \n
  • \n

    \n SUCCEEDED: The query completed sucessfully.

    \n
  • \n
  • \n

    \n FAILED: The query failed due to an error.

    \n
  • \n
  • \n

    \n CANCELED: The query was canceled.

    \n
  • \n
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.networkflowmonitor#GetQueryStatusWorkloadInsightsTopContributorsInput": { + "type": "structure", + "members": { + "scopeId": { + "target": "com.amazonaws.networkflowmonitor#ScopeId", + "traits": { + "smithy.api#documentation": "

The identifier for the scope that includes the resources you want to get data results for.\n \t\tA scope ID is an internally-generated identifier that includes all the resources \n \t\tfor a specific root account.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "queryId": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The identifier for the query. A query ID is an internally-generated \n \t\tidentifier for a specific query returned from an API call to start a query.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.networkflowmonitor#GetQueryStatusWorkloadInsightsTopContributorsOutput": { + "type": "structure", + "members": { + "status": { + "target": "com.amazonaws.networkflowmonitor#QueryStatus", + "traits": { + "smithy.api#documentation": "

When you run a query, use this call to check the status of the query to make sure that the query \n \t\thas SUCCEEDED before you review the results.

\n
    \n
  • \n

    \n QUEUED: The query is scheduled to run.

    \n
  • \n
  • \n

    \n RUNNING: The query is in progress but not complete.

    \n
  • \n
  • \n

    \n SUCCEEDED: The query completed sucessfully.

    \n
  • \n
  • \n

    \n FAILED: The query failed due to an error.

    \n
  • \n
  • \n

    \n CANCELED: The query was canceled.

    \n
  • \n
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.networkflowmonitor#GetScope": { + "type": "operation", + "input": { + "target": "com.amazonaws.networkflowmonitor#GetScopeInput" + }, + "output": { + "target": "com.amazonaws.networkflowmonitor#GetScopeOutput" + }, + "errors": [ + { + "target": "com.amazonaws.networkflowmonitor#AccessDeniedException" + }, + { + "target": "com.amazonaws.networkflowmonitor#InternalServerException" + }, + { + "target": "com.amazonaws.networkflowmonitor#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.networkflowmonitor#ThrottlingException" + }, + { + "target": "com.amazonaws.networkflowmonitor#ValidationException" + } + ], + "traits": { + "aws.iam#iamAction": { + "documentation": "Grants permission to get information about a scope" + }, + "smithy.api#documentation": "

Gets information about a scope, including the name, status, tags, and target details. \n \t\tThe scope in Network Flow Monitor is an account.

", + "smithy.api#http": { + "uri": "/scopes/{scopeId}", + "method": "GET" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.networkflowmonitor#GetScopeInput": { + "type": "structure", + "members": { + "scopeId": { + "target": "com.amazonaws.networkflowmonitor#ScopeId", + "traits": { + "smithy.api#documentation": "

The identifier for the scope that includes the resources you want to get data results for.\n \t\tA scope ID is an internally-generated identifier that includes all the resources \n \t\tfor a specific root account. A scope ID is returned from a CreateScope API call.

", + "smithy.api#httpLabel": {}, + "smithy.api#length": { + "min": 1 + }, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.networkflowmonitor#GetScopeOutput": { + "type": "structure", + "members": { + "scopeId": { + "target": "com.amazonaws.networkflowmonitor#ScopeId", + "traits": { + "smithy.api#documentation": "

The identifier for the scope that includes the resources you want to get data results for.\n \t\tA scope ID is an internally-generated identifier that includes all the resources \n \t\tfor a specific root account. A scope ID is returned from a CreateScope API call.

", + "smithy.api#required": {} + } + }, + "status": { + "target": "com.amazonaws.networkflowmonitor#ScopeStatus", + "traits": { + "smithy.api#documentation": "

The status of a scope. The status can be one of the following: \n \t\tSUCCEEDED, IN_PROGRESS, or FAILED.

", + "smithy.api#required": {} + } + }, + "scopeArn": { + "target": "com.amazonaws.networkflowmonitor#Arn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the scope.

", + "smithy.api#required": {} + } + }, + "targets": { + "target": "com.amazonaws.networkflowmonitor#TargetResourceList", + "traits": { + "smithy.api#documentation": "

The targets for a scope

", + "smithy.api#required": {} + } + }, + "tags": { + "target": "com.amazonaws.networkflowmonitor#TagMap", + "traits": { + "smithy.api#documentation": "

The tags for a scope.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.networkflowmonitor#InstanceArn": { + "type": "string" + }, + "com.amazonaws.networkflowmonitor#InstanceId": { + "type": "string", + "traits": { + "smithy.api#pattern": "^i-[a-zA-Z0-9]{8,32}$" + } + }, + "com.amazonaws.networkflowmonitor#InternalServerException": { + "type": "structure", + "members": { + "message": { + "target": "smithy.api#String" + } + }, + "traits": { + "smithy.api#documentation": "

An internal error occurred.

", + "smithy.api#error": "server", + "smithy.api#httpError": 500, + "smithy.api#retryable": {} + } + }, + "com.amazonaws.networkflowmonitor#Iso8601Timestamp": { + "type": "timestamp" + }, + "com.amazonaws.networkflowmonitor#KubernetesMetadata": { + "type": "structure", + "members": { + "localServiceName": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The service name for a local resource.

" + } + }, + "localPodName": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The name of the pod for a local resource.

" + } + }, + "localPodNamespace": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The namespace of the pod for a local resource.

" + } + }, + "remoteServiceName": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The service name for a remote resource.

" + } + }, + "remotePodName": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The name of the pod for a remote resource.

" + } + }, + "remotePodNamespace": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The namespace of the pod for a remote resource.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Meta data about Kubernetes resources.

" + } + }, + "com.amazonaws.networkflowmonitor#Limit": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 1, + "max": 500 + } + } + }, + "com.amazonaws.networkflowmonitor#ListMonitors": { + "type": "operation", + "input": { + "target": "com.amazonaws.networkflowmonitor#ListMonitorsInput" + }, + "output": { + "target": "com.amazonaws.networkflowmonitor#ListMonitorsOutput" + }, + "errors": [ + { + "target": "com.amazonaws.networkflowmonitor#AccessDeniedException" + }, + { + "target": "com.amazonaws.networkflowmonitor#InternalServerException" + }, + { + "target": "com.amazonaws.networkflowmonitor#ThrottlingException" + }, + { + "target": "com.amazonaws.networkflowmonitor#ValidationException" + } + ], + "traits": { + "aws.iam#iamAction": { + "documentation": "Grants permission to list all monitors in an account and their statuses" + }, + "smithy.api#documentation": "

List all monitors in an account. Optionally, you can list only monitors that have a specific status, by\n \t\tusing the STATUS parameter.

", + "smithy.api#http": { + "uri": "/monitors", + "method": "GET" + }, + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults", + "items": "monitors" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.networkflowmonitor#ListMonitorsInput": { + "type": "structure", + "members": { + "nextToken": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The token for the next set of results. You receive this token from a previous call.

", + "smithy.api#httpQuery": "nextToken" + } + }, + "maxResults": { + "target": "com.amazonaws.networkflowmonitor#MaxResults", + "traits": { + "smithy.api#documentation": "

The number of query results that you want to return with this call.

", + "smithy.api#httpQuery": "maxResults" + } + }, + "monitorStatus": { + "target": "com.amazonaws.networkflowmonitor#MonitorStatus", + "traits": { + "smithy.api#documentation": "

The status of a monitor. The status can be one of the following

\n
    \n
  • \n

    \n PENDING: The monitor is in the process of being created.

    \n
  • \n
  • \n

    \n ACTIVE: The monitor is active.

    \n
  • \n
  • \n

    \n INACTIVE: The monitor is inactive.

    \n
  • \n
  • \n

    \n ERROR: Monitor creation failed due to an error.

    \n
  • \n
  • \n

    \n DELETING: The monitor is in the process of being deleted.

    \n
  • \n
", + "smithy.api#httpQuery": "monitorStatus" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.networkflowmonitor#ListMonitorsOutput": { + "type": "structure", + "members": { + "monitors": { + "target": "com.amazonaws.networkflowmonitor#MonitorList", + "traits": { + "smithy.api#documentation": "

The monitors that are in an account.

", + "smithy.api#required": {} + } + }, + "nextToken": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The token for the next set of results. You receive this token from a previous call.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.networkflowmonitor#ListScopes": { + "type": "operation", + "input": { + "target": "com.amazonaws.networkflowmonitor#ListScopesInput" + }, + "output": { + "target": "com.amazonaws.networkflowmonitor#ListScopesOutput" + }, + "errors": [ + { + "target": "com.amazonaws.networkflowmonitor#AccessDeniedException" + }, + { + "target": "com.amazonaws.networkflowmonitor#InternalServerException" + }, + { + "target": "com.amazonaws.networkflowmonitor#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.networkflowmonitor#ThrottlingException" + }, + { + "target": "com.amazonaws.networkflowmonitor#ValidationException" + } + ], + "traits": { + "aws.iam#iamAction": { + "documentation": "Grants permission to get all scopes for an account" + }, + "smithy.api#documentation": "

List all the scopes for an account.

", + "smithy.api#http": { + "uri": "/scopes", + "method": "GET" + }, + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults", + "items": "scopes" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.networkflowmonitor#ListScopesInput": { + "type": "structure", + "members": { + "nextToken": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The token for the next set of results. You receive this token from a previous call.

", + "smithy.api#httpQuery": "nextToken" + } + }, + "maxResults": { + "target": "com.amazonaws.networkflowmonitor#MaxResults", + "traits": { + "smithy.api#documentation": "

The number of query results that you want to return with this call.

", + "smithy.api#httpQuery": "maxResults" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.networkflowmonitor#ListScopesOutput": { + "type": "structure", + "members": { + "scopes": { + "target": "com.amazonaws.networkflowmonitor#ScopeSummaryList", + "traits": { + "smithy.api#documentation": "

The scopes returned by the call.

", + "smithy.api#required": {} + } + }, + "nextToken": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The token for the next set of results. You receive this token from a previous call.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.networkflowmonitor#ListTagsForResource": { + "type": "operation", + "input": { + "target": "com.amazonaws.networkflowmonitor#ListTagsForResourceInput" + }, + "output": { + "target": "com.amazonaws.networkflowmonitor#ListTagsForResourceOutput" + }, + "errors": [ + { + "target": "com.amazonaws.networkflowmonitor#AccessDeniedException" + }, + { + "target": "com.amazonaws.networkflowmonitor#ConflictException" + }, + { + "target": "com.amazonaws.networkflowmonitor#InternalServerException" + }, + { + "target": "com.amazonaws.networkflowmonitor#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.networkflowmonitor#ThrottlingException" + }, + { + "target": "com.amazonaws.networkflowmonitor#ValidationException" + } + ], + "traits": { + "aws.iam#iamAction": { + "documentation": "Grants permission to list the tags for a resource" + }, + "smithy.api#documentation": "

Returns all the tags for a resource.

", + "smithy.api#http": { + "uri": "/tags/{resourceArn}", + "method": "GET" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.networkflowmonitor#ListTagsForResourceInput": { + "type": "structure", + "members": { + "resourceArn": { + "target": "com.amazonaws.networkflowmonitor#Arn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the resource.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "aws.api#data": "tagging", + "smithy.api#input": {}, + "smithy.api#references": [ + { + "resource": "com.amazonaws.networkflowmonitor#ScopeResource", + "ids": { + "scopeId": "resourceArn" + } + }, + { + "resource": "com.amazonaws.networkflowmonitor#MonitorResource", + "ids": { + "monitorName": "resourceArn" + } + } + ] + } + }, + "com.amazonaws.networkflowmonitor#ListTagsForResourceOutput": { + "type": "structure", + "members": { + "tags": { + "target": "com.amazonaws.networkflowmonitor#TagMap", + "traits": { + "smithy.api#documentation": "

The tags for a resource.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.networkflowmonitor#MaxResults": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 1, + "max": 25 + } + } + }, + "com.amazonaws.networkflowmonitor#MetricUnit": { + "type": "enum", + "members": { + "SECONDS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Seconds" + } + }, + "MICROSECONDS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Microseconds" + } + }, + "MILLISECONDS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Milliseconds" + } + }, + "BYTES": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Bytes" + } + }, + "KILOBYTES": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Kilobytes" + } + }, + "MEGABYTES": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Megabytes" + } + }, + "GIGABYTES": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Gigabytes" + } + }, + "TERABYTES": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Terabytes" + } + }, + "BITS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Bits" + } + }, + "KILOBITS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Kilobits" + } + }, + "MEGABITS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Megabits" + } + }, + "GIGABITS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Gigabits" + } + }, + "TERABITS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Terabits" + } + }, + "PERCENT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Percent" + } + }, + "COUNT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Count" + } + }, + "BYTES_PER_SECOND": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Bytes/Second" + } + }, + "KILOBYTES_PER_SECOND": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Kilobytes/Second" + } + }, + "MEGABYTES_PER_SECOND": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Megabytes/Second" + } + }, + "GIGABYTES_PER_SECOND": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Gigabytes/Second" + } + }, + "TERABYTES_PER_SECOND": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Terabytes/Second" + } + }, + "BITS_PER_SECOND": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Bits/Second" + } + }, + "KILOBITS_PER_SECOND": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Kilobits/Second" + } + }, + "MEGABITS_PER_SECOND": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Megabits/Second" + } + }, + "GIGABITS_PER_SECOND": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Gigabits/Second" + } + }, + "TERABITS_PER_SECOND": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Terabits/Second" + } + }, + "COUNT_PER_SECOND": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Count/Second" + } + }, + "NONE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "None" + } + } + } + }, + "com.amazonaws.networkflowmonitor#MonitorArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 20, + "max": 512 + }, + "smithy.api#pattern": "^arn:.*$" + } + }, + "com.amazonaws.networkflowmonitor#MonitorList": { + "type": "list", + "member": { + "target": "com.amazonaws.networkflowmonitor#MonitorSummary" + } + }, + "com.amazonaws.networkflowmonitor#MonitorLocalResource": { + "type": "structure", + "members": { + "type": { + "target": "com.amazonaws.networkflowmonitor#MonitorLocalResourceType", + "traits": { + "smithy.api#documentation": "

The type of the local resource. Valid values are AWS::EC2::VPC\n AWS::AvailabilityZone or AWS::EC2::Subnet.

", + "smithy.api#required": {} + } + }, + "identifier": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The identifier of the local resource, such as an ARN.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

A local resource is the host where the agent is installed. Local resources can be a\n \t\ta subnet, a VPC, or an Availability Zone.

" + } + }, + "com.amazonaws.networkflowmonitor#MonitorLocalResourceType": { + "type": "enum", + "members": { + "AWS_VPC": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AWS::EC2::VPC" + } + }, + "AWS_AZ": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AWS::AvailabilityZone" + } + }, + "AWS_SUBNET": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AWS::EC2::Subnet" + } + } + } + }, + "com.amazonaws.networkflowmonitor#MonitorLocalResources": { + "type": "list", + "member": { + "target": "com.amazonaws.networkflowmonitor#MonitorLocalResource" + } + }, + "com.amazonaws.networkflowmonitor#MonitorMetric": { + "type": "enum", + "members": { + "ROUND_TRIP_TIME": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ROUND_TRIP_TIME" + } + }, + "TIMEOUTS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "TIMEOUTS" + } + }, + "RETRANSMISSIONS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RETRANSMISSIONS" + } + }, + "DATA_TRANSFERRED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DATA_TRANSFERRED" + } + } + } + }, + "com.amazonaws.networkflowmonitor#MonitorRemoteResource": { + "type": "structure", + "members": { + "type": { + "target": "com.amazonaws.networkflowmonitor#MonitorRemoteResourceType", + "traits": { + "smithy.api#documentation": "

The type of the remote resource. Valid values are AWS::EC2::VPC\n AWS::AvailabilityZone, AWS::EC2::Subnet, or\n \t\tAWS::AWSService.

", + "smithy.api#required": {} + } + }, + "identifier": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The identifier of the remote resource, such as an ARN.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

A remote resource is the other endpoint in a network flow. That is, one endpoint\n \t\tis the local resource and the other is the remote resource. Remote resources can be a\n \t\ta subnet, a VPC, an Availability Zone, or an Amazon Web Services service.

" + } + }, + "com.amazonaws.networkflowmonitor#MonitorRemoteResourceType": { + "type": "enum", + "members": { + "AWS_VPC": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AWS::EC2::VPC" + } + }, + "AWS_AZ": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AWS::AvailabilityZone" + } + }, + "AWS_SUBNET": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AWS::EC2::Subnet" + } + }, + "AWS_SERVICE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AWS::AWSService" + } + } + } + }, + "com.amazonaws.networkflowmonitor#MonitorRemoteResources": { + "type": "list", + "member": { + "target": "com.amazonaws.networkflowmonitor#MonitorRemoteResource" + } + }, + "com.amazonaws.networkflowmonitor#MonitorResource": { + "type": "resource", + "identifiers": { + "monitorName": { + "target": "com.amazonaws.networkflowmonitor#ResourceName" + } + }, + "put": { + "target": "com.amazonaws.networkflowmonitor#CreateMonitor" + }, + "read": { + "target": "com.amazonaws.networkflowmonitor#GetMonitor" + }, + "update": { + "target": "com.amazonaws.networkflowmonitor#UpdateMonitor" + }, + "delete": { + "target": "com.amazonaws.networkflowmonitor#DeleteMonitor" + }, + "list": { + "target": "com.amazonaws.networkflowmonitor#ListMonitors" + }, + "operations": [ + { + "target": "com.amazonaws.networkflowmonitor#GetQueryResultsMonitorTopContributors" + }, + { + "target": "com.amazonaws.networkflowmonitor#GetQueryStatusMonitorTopContributors" + }, + { + "target": "com.amazonaws.networkflowmonitor#StartQueryMonitorTopContributors" + }, + { + "target": "com.amazonaws.networkflowmonitor#StopQueryMonitorTopContributors" + } + ], + "traits": { + "aws.api#arn": { + "template": "monitor/{monitorName}" + }, + "aws.iam#conditionKeys": [ + "aws:ResourceTag/${TagKey}" + ], + "aws.iam#disableConditionKeyInference": {}, + "aws.iam#iamResource": { + "name": "monitor" + } + } + }, + "com.amazonaws.networkflowmonitor#MonitorStatus": { + "type": "enum", + "members": { + "PENDING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PENDING" + } + }, + "ACTIVE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ACTIVE" + } + }, + "INACTIVE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INACTIVE" + } + }, + "ERROR": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ERROR" + } + }, + "DELETING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DELETING" + } + } + } + }, + "com.amazonaws.networkflowmonitor#MonitorSummary": { + "type": "structure", + "members": { + "monitorArn": { + "target": "com.amazonaws.networkflowmonitor#MonitorArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the monitor.

", + "smithy.api#required": {} + } + }, + "monitorName": { + "target": "com.amazonaws.networkflowmonitor#ResourceName", + "traits": { + "smithy.api#documentation": "

The name of the monitor.

", + "smithy.api#required": {} + } + }, + "monitorStatus": { + "target": "com.amazonaws.networkflowmonitor#MonitorStatus", + "traits": { + "smithy.api#documentation": "

The status of a monitor. The status can be one of the following

\n
    \n
  • \n

    \n PENDING: The monitor is in the process of being created.

    \n
  • \n
  • \n

    \n ACTIVE: The monitor is active.

    \n
  • \n
  • \n

    \n INACTIVE: The monitor is inactive.

    \n
  • \n
  • \n

    \n ERROR: Monitor creation failed due to an error.

    \n
  • \n
  • \n

    \n DELETING: The monitor is in the process of being deleted.

    \n
  • \n
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

A summary of information about a monitor, includ the ARN, the name, and the status.

" + } + }, + "com.amazonaws.networkflowmonitor#MonitorTopContributorsRow": { + "type": "structure", + "members": { + "localIp": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The IP address of the local resource for a top contributor network flow.

" + } + }, + "snatIp": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The secure network address translation (SNAT) IP address for a top contributor network flow.

" + } + }, + "localInstanceId": { + "target": "com.amazonaws.networkflowmonitor#InstanceId", + "traits": { + "smithy.api#documentation": "

The instance identifier for the local resource for a top contributor network flow.

" + } + }, + "localVpcId": { + "target": "com.amazonaws.networkflowmonitor#VpcId", + "traits": { + "smithy.api#documentation": "

The VPC ID for a top contributor network flow for the local resource.

" + } + }, + "localRegion": { + "target": "com.amazonaws.networkflowmonitor#AwsRegion", + "traits": { + "smithy.api#documentation": "

The Amazon Web Services Region for the local resource for a top contributor network flow.

" + } + }, + "localAz": { + "target": "com.amazonaws.networkflowmonitor#AvailabilityZone", + "traits": { + "smithy.api#documentation": "

The Availability Zone for the local resource for a top contributor network flow.

" + } + }, + "localSubnetId": { + "target": "com.amazonaws.networkflowmonitor#SubnetId", + "traits": { + "smithy.api#documentation": "

The subnet ID for the local resource for a top contributor network flow.

" + } + }, + "targetPort": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

The target port.

" + } + }, + "destinationCategory": { + "target": "com.amazonaws.networkflowmonitor#DestinationCategory", + "traits": { + "smithy.api#documentation": "

The destination category for a top contributors row. Destination categories can be one of the following:

\n
    \n
  • \n

    \n INTRA_AZ: Top contributor network flows within a single Availability Zone

    \n
  • \n
  • \n

    \n INTER_AZ: Top contributor network flows between Availability Zones

    \n
  • \n
  • \n

    \n INTER_VPC: Top contributor network flows between VPCs

    \n
  • \n
  • \n

    \n AWS_SERVICES: Top contributor network flows to or from Amazon Web Services services

    \n
  • \n
  • \n

    \n UNCLASSIFIED: Top contributor network flows that do not have a bucket classification

    \n
  • \n
" + } + }, + "remoteVpcId": { + "target": "com.amazonaws.networkflowmonitor#VpcId", + "traits": { + "smithy.api#documentation": "

The VPC ID for a top contributor network flow for the remote resource.

" + } + }, + "remoteRegion": { + "target": "com.amazonaws.networkflowmonitor#AwsRegion", + "traits": { + "smithy.api#documentation": "

The Amazon Web Services Region for the remote resource for a top contributor network flow.

" + } + }, + "remoteAz": { + "target": "com.amazonaws.networkflowmonitor#AvailabilityZone", + "traits": { + "smithy.api#documentation": "

The Availability Zone for the remote resource for a top contributor network flow.

" + } + }, + "remoteSubnetId": { + "target": "com.amazonaws.networkflowmonitor#SubnetId", + "traits": { + "smithy.api#documentation": "

The subnet ID for the remote resource for a top contributor network flow.

" + } + }, + "remoteInstanceId": { + "target": "com.amazonaws.networkflowmonitor#InstanceId", + "traits": { + "smithy.api#documentation": "

The instance identifier for the remote resource for a top contributor network flow.

" + } + }, + "remoteIp": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The IP address of the remote resource for a top contributor network flow.

" + } + }, + "dnatIp": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The destination network address translation (DNAT) IP address for a top contributor network flow.

" + } + }, + "value": { + "target": "smithy.api#Long", + "traits": { + "smithy.api#documentation": "

The value of the metric for a top contributor network flow.

" + } + }, + "traversedConstructs": { + "target": "com.amazonaws.networkflowmonitor#TraversedConstructsList", + "traits": { + "smithy.api#documentation": "

The constructs traversed by a network flow.

" + } + }, + "kubernetesMetadata": { + "target": "com.amazonaws.networkflowmonitor#KubernetesMetadata", + "traits": { + "smithy.api#documentation": "

Meta data about Kubernetes resources.

" + } + }, + "localInstanceArn": { + "target": "com.amazonaws.networkflowmonitor#InstanceArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of a local resource.

" + } + }, + "localSubnetArn": { + "target": "com.amazonaws.networkflowmonitor#SubnetArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of a local subnet.

" + } + }, + "localVpcArn": { + "target": "com.amazonaws.networkflowmonitor#VpcArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of a local VPC.

" + } + }, + "remoteInstanceArn": { + "target": "com.amazonaws.networkflowmonitor#InstanceArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of a remote resource.

" + } + }, + "remoteSubnetArn": { + "target": "com.amazonaws.networkflowmonitor#SubnetArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of a remote subnet.

" + } + }, + "remoteVpcArn": { + "target": "com.amazonaws.networkflowmonitor#VpcArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of a remote VPC.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

A set of information for a top contributor network flow in a monitor. \n \t\tIn a monitor, Network Flow Monitor returns information about the network flows for top\n \t\tcontributors for each metric. Top contributors are network flows with\n \t\tthe top values for each metric type.

" + } + }, + "com.amazonaws.networkflowmonitor#MonitorTopContributorsRowList": { + "type": "list", + "member": { + "target": "com.amazonaws.networkflowmonitor#MonitorTopContributorsRow" + } + }, + "com.amazonaws.networkflowmonitor#NetworkFlowMonitor": { + "type": "service", + "version": "2023-04-19", + "operations": [ + { + "target": "com.amazonaws.networkflowmonitor#ListTagsForResource" + }, + { + "target": "com.amazonaws.networkflowmonitor#TagResource" + }, + { + "target": "com.amazonaws.networkflowmonitor#UntagResource" + } + ], + "resources": [ + { + "target": "com.amazonaws.networkflowmonitor#MonitorResource" + }, + { + "target": "com.amazonaws.networkflowmonitor#ScopeResource" + } + ], + "traits": { + "aws.api#service": { + "sdkId": "NetworkFlowMonitor", + "arnNamespace": "networkflowmonitor", + "cloudTrailEventSource": "networkflowmonitor.amazonaws.com" + }, + "aws.auth#sigv4": { + "name": "networkflowmonitor" + }, + "aws.endpoints#dualStackOnlyEndpoints": {}, + "aws.endpoints#standardRegionalEndpoints": {}, + "aws.iam#defineConditionKeys": { + "aws:ResourceTag/${TagKey}": { + "type": "String", + "documentation": "Filters access by the tag key-value pairs attached to the resource", + "externalDocumentation": "${DocHomeURL}IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-resourcetag" + }, + "aws:RequestTag/${TagKey}": { + "type": "String", + "documentation": "Filters access by the tag key-value pairs in the request", + "externalDocumentation": "${DocHomeURL}IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-requesttag" + }, + "aws:TagKeys": { + "type": "ArrayOfString", + "documentation": "Filters access by the tag keys in the request", + "externalDocumentation": "${DocHomeURL}IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-tagkeys" + } + }, + "aws.iam#supportedPrincipalTypes": [ + "Root", + "IAMUser", + "IAMRole", + "FederatedUser" + ], + "aws.protocols#restJson1": {}, + "smithy.api#cors": { + "additionalAllowedHeaders": [ + "Content-Type", + "X-Amz-Requested-Operation" + ] + }, + "smithy.api#documentation": "

Network Flow Monitor is a feature of Amazon CloudWatch Network Monitoring that provides visibility into the performance of \n\t \t\tnetwork flows for your Amazon Web Services workloads, between instances in subnets, as well as to and\n\t \t\tfrom Amazon Web Services. Lightweight agents that you install on the instances capture performance metrics\n\t \t\tfor your network flows, such as packet loss and latency, and send them to the Network Flow Monitor backend. Then, you can\n\t \t\tview and analyze metrics from the top contributors for each metric type, to help troubleshoot issues.

\n

In addition, when you create a monitor, Network Flow Monitor provides a network health indicator (NHI) \n\t \t\tthat informs you whether there were Amazon Web Services network issues for one or more of the network flows \n\t \t\ttracked by a monitor, during a time period that you choose. By using this value, you can independently determine \n\t \t\tif the Amazon Web Services network is impacting your workload during a specific time frame, to help you focus \n\t \t\ttroubleshooting efforts.

\n

To learn more about Network Flow Monitor, see the \n\t \t\tNetwork Flow Monitor User Guide\n\t\t\t\tin the Amazon CloudWatch User Guide.

", + "smithy.api#title": "Network Flow Monitor", + "smithy.rules#endpointRuleSet": { + "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://networkflowmonitor-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "https://networkflowmonitor.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" + } + ], + "type": "tree" + } + ] + }, + "smithy.rules#endpointTests": { + "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://networkflowmonitor-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://networkflowmonitor.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://networkflowmonitor-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://networkflowmonitor.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://networkflowmonitor-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://networkflowmonitor.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://networkflowmonitor-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://networkflowmonitor.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://networkflowmonitor-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://networkflowmonitor.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://networkflowmonitor-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://networkflowmonitor.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://networkflowmonitor-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://networkflowmonitor.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" + } + } + }, + "com.amazonaws.networkflowmonitor#QueryStatus": { + "type": "enum", + "members": { + "QUEUED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "QUEUED" + } + }, + "RUNNING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RUNNING" + } + }, + "SUCCEEDED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SUCCEEDED" + } + }, + "FAILED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FAILED" + } + }, + "CANCELED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CANCELED" + } + } + } + }, + "com.amazonaws.networkflowmonitor#ResourceName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 255 + }, + "smithy.api#pattern": "^[a-zA-Z0-9_.-]+$" + } + }, + "com.amazonaws.networkflowmonitor#ResourceNotFoundException": { + "type": "structure", + "members": { + "message": { + "target": "smithy.api#String" + } + }, + "traits": { + "smithy.api#documentation": "

The request specifies a resource that doesn't exist.

", + "smithy.api#error": "client", + "smithy.api#httpError": 404 + } + }, + "com.amazonaws.networkflowmonitor#ScopeId": { + "type": "string" + }, + "com.amazonaws.networkflowmonitor#ScopeResource": { + "type": "resource", + "identifiers": { + "scopeId": { + "target": "com.amazonaws.networkflowmonitor#ScopeId" + } + }, + "create": { + "target": "com.amazonaws.networkflowmonitor#CreateScope" + }, + "read": { + "target": "com.amazonaws.networkflowmonitor#GetScope" + }, + "update": { + "target": "com.amazonaws.networkflowmonitor#UpdateScope" + }, + "delete": { + "target": "com.amazonaws.networkflowmonitor#DeleteScope" + }, + "list": { + "target": "com.amazonaws.networkflowmonitor#ListScopes" + }, + "operations": [ + { + "target": "com.amazonaws.networkflowmonitor#GetQueryResultsWorkloadInsightsTopContributors" + }, + { + "target": "com.amazonaws.networkflowmonitor#GetQueryResultsWorkloadInsightsTopContributorsData" + }, + { + "target": "com.amazonaws.networkflowmonitor#GetQueryStatusWorkloadInsightsTopContributors" + }, + { + "target": "com.amazonaws.networkflowmonitor#GetQueryStatusWorkloadInsightsTopContributorsData" + }, + { + "target": "com.amazonaws.networkflowmonitor#StartQueryWorkloadInsightsTopContributors" + }, + { + "target": "com.amazonaws.networkflowmonitor#StartQueryWorkloadInsightsTopContributorsData" + }, + { + "target": "com.amazonaws.networkflowmonitor#StopQueryWorkloadInsightsTopContributors" + }, + { + "target": "com.amazonaws.networkflowmonitor#StopQueryWorkloadInsightsTopContributorsData" + } + ], + "traits": { + "aws.api#arn": { + "template": "scope/{scopeId}" + }, + "aws.iam#conditionKeys": [ + "aws:ResourceTag/${TagKey}" + ], + "aws.iam#disableConditionKeyInference": {}, + "aws.iam#iamResource": { + "name": "scope" + } + } + }, + "com.amazonaws.networkflowmonitor#ScopeStatus": { + "type": "enum", + "members": { + "SUCCEEDED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SUCCEEDED" + } + }, + "IN_PROGRESS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "IN_PROGRESS" + } + }, + "FAILED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FAILED" + } + } + } + }, + "com.amazonaws.networkflowmonitor#ScopeSummary": { + "type": "structure", + "members": { + "scopeId": { + "target": "com.amazonaws.networkflowmonitor#ScopeId", + "traits": { + "smithy.api#documentation": "

The identifier for the scope that includes the resources you want to get data results for.\n \t\tA scope ID is an internally-generated identifier that includes all the resources \n \t\tfor a specific root account.

", + "smithy.api#required": {} + } + }, + "status": { + "target": "com.amazonaws.networkflowmonitor#ScopeStatus", + "traits": { + "smithy.api#documentation": "

The status of a scope. The status can be one of the following, depending on the\n \t\tstate of scope creation: SUCCEEDED, IN_PROGRESS, or FAILED.

", + "smithy.api#required": {} + } + }, + "scopeArn": { + "target": "com.amazonaws.networkflowmonitor#Arn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the scope.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

A summary of information about a scope, including the ARN, target ID, and \n \t\tAmazon Web Services Region.

" + } + }, + "com.amazonaws.networkflowmonitor#ScopeSummaryList": { + "type": "list", + "member": { + "target": "com.amazonaws.networkflowmonitor#ScopeSummary" + } + }, + "com.amazonaws.networkflowmonitor#ServiceQuotaExceededException": { + "type": "structure", + "members": { + "message": { + "target": "smithy.api#String" + } + }, + "traits": { + "smithy.api#documentation": "

The request exceeded a service quota.

", + "smithy.api#error": "client", + "smithy.api#httpError": 402 + } + }, + "com.amazonaws.networkflowmonitor#StartQueryMonitorTopContributors": { + "type": "operation", + "input": { + "target": "com.amazonaws.networkflowmonitor#StartQueryMonitorTopContributorsInput" + }, + "output": { + "target": "com.amazonaws.networkflowmonitor#StartQueryMonitorTopContributorsOutput" + }, + "errors": [ + { + "target": "com.amazonaws.networkflowmonitor#AccessDeniedException" + }, + { + "target": "com.amazonaws.networkflowmonitor#InternalServerException" + }, + { + "target": "com.amazonaws.networkflowmonitor#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.networkflowmonitor#ThrottlingException" + }, + { + "target": "com.amazonaws.networkflowmonitor#ValidationException" + } + ], + "traits": { + "aws.api#dataPlane": {}, + "aws.iam#iamAction": { + "documentation": "Grants permission to start a query for retrieving top contributors data for a monitor" + }, + "smithy.api#documentation": "

Start a query to return the data with the Network Flow Monitor query interface. \n \t\tSpecify the query that you want to return results for by providing a query ID \n \t\tand a monitor name. This query returns the top contributors for a specific monitor.

\n

Top contributors in Network Flow Monitor are network flows with the highest values for a specific \n \t\tmetric type, related to a scope (for workload insights) or a monitor.

", + "smithy.api#http": { + "uri": "/monitors/{monitorName}/topContributorsQueries", + "method": "POST" + } + } + }, + "com.amazonaws.networkflowmonitor#StartQueryMonitorTopContributorsInput": { + "type": "structure", + "members": { + "monitorName": { + "target": "com.amazonaws.networkflowmonitor#ResourceName", + "traits": { + "smithy.api#documentation": "

The name of the monitor.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "startTime": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp that is the date and time beginning of the period that you want to retrieve \n \t\tresults for with your query.

", + "smithy.api#required": {}, + "smithy.api#timestampFormat": "date-time" + } + }, + "endTime": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp that is the date and time end of the period that you want to retrieve \n \t\tresults for with your query.

", + "smithy.api#required": {}, + "smithy.api#timestampFormat": "date-time" + } + }, + "metricName": { + "target": "com.amazonaws.networkflowmonitor#MonitorMetric", + "traits": { + "smithy.api#documentation": "

The metric that you want to query top contributors for. That is, you can specify this metric to \n \t\treturn the top contributor network flows, for this type of metric, for a monitor and (optionally) within \n \t\ta specific category, such as network flows between Availability Zones.

", + "smithy.api#required": {} + } + }, + "destinationCategory": { + "target": "com.amazonaws.networkflowmonitor#DestinationCategory", + "traits": { + "smithy.api#documentation": "

The category that you want to query top contributors for, for a specific monitor. Destination\n \t\tcategories can be one of the following:

\n
    \n
  • \n

    \n INTRA_AZ: Top contributor network flows within a single Availability Zone

    \n
  • \n
  • \n

    \n INTER_AZ: Top contributor network flows between Availability Zones

    \n
  • \n
  • \n

    \n INTER_VPC: Top contributor network flows between VPCs

    \n
  • \n
  • \n

    \n AWS_SERVICES: Top contributor network flows to or from Amazon Web Services services

    \n
  • \n
  • \n

    \n UNCLASSIFIED: Top contributor network flows that do not have a bucket classification

    \n
  • \n
", + "smithy.api#required": {} + } + }, + "limit": { + "target": "com.amazonaws.networkflowmonitor#Limit", + "traits": { + "smithy.api#documentation": "

The maximum number of top contributors to return.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.networkflowmonitor#StartQueryMonitorTopContributorsOutput": { + "type": "structure", + "members": { + "queryId": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The identifier for the query. A query ID is an internally-generated \n \t\tidentifier for a specific query returned from an API call to start a query.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.networkflowmonitor#StartQueryWorkloadInsightsTopContributors": { + "type": "operation", + "input": { + "target": "com.amazonaws.networkflowmonitor#StartQueryWorkloadInsightsTopContributorsInput" + }, + "output": { + "target": "com.amazonaws.networkflowmonitor#StartQueryWorkloadInsightsTopContributorsOutput" + }, + "errors": [ + { + "target": "com.amazonaws.networkflowmonitor#AccessDeniedException" + }, + { + "target": "com.amazonaws.networkflowmonitor#InternalServerException" + }, + { + "target": "com.amazonaws.networkflowmonitor#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.networkflowmonitor#ThrottlingException" + }, + { + "target": "com.amazonaws.networkflowmonitor#ValidationException" + } + ], + "traits": { + "aws.api#dataPlane": {}, + "aws.iam#iamAction": { + "documentation": "Grants permission to start a query for retrieving top contributors data for workload insights" + }, + "smithy.api#documentation": "

Start a query to return the data with the Network Flow Monitor query interface.\n \t\tSpecify the query that you want to start by providing a query ID \n \t\tand a monitor name. This query returns the top contributors for a specific monitor.

\n

Top contributors in Network Flow Monitor are network flows with the highest values for a specific \n \t\tmetric type, related to a scope (for workload insights) or a monitor.

", + "smithy.api#http": { + "uri": "/workloadInsights/{scopeId}/topContributorsQueries", + "method": "POST" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.networkflowmonitor#StartQueryWorkloadInsightsTopContributorsData": { + "type": "operation", + "input": { + "target": "com.amazonaws.networkflowmonitor#StartQueryWorkloadInsightsTopContributorsDataInput" + }, + "output": { + "target": "com.amazonaws.networkflowmonitor#StartQueryWorkloadInsightsTopContributorsDataOutput" + }, + "errors": [ + { + "target": "com.amazonaws.networkflowmonitor#AccessDeniedException" + }, + { + "target": "com.amazonaws.networkflowmonitor#InternalServerException" + }, + { + "target": "com.amazonaws.networkflowmonitor#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.networkflowmonitor#ThrottlingException" + }, + { + "target": "com.amazonaws.networkflowmonitor#ValidationException" + } + ], + "traits": { + "aws.api#dataPlane": {}, + "aws.iam#iamAction": { + "documentation": "Grants permission to start a query for retrieving top contributors data points for workload insights" + }, + "smithy.api#documentation": "

Return the data for a query with the Network Flow Monitor query interface. \n \t\tSpecify the query that you want to return results for by providing a query ID \n \t\tand a scope ID. This query returns data for the top contributors for workload insights.\n \t\tWorkload insights provide a high level view of network flow performance data collected by agents \n \t\tfor a scope.

\n

A query ID is returned from an API call to start a query of a specific type; for\n \t\texample

\n

Top contributors in Network Flow Monitor are network flows with the highest values for a specific \n \t\tmetric type, related to a scope (for workload insights) or a monitor.

\n

The top contributor network flows overall for a specific metric type, for example, the \n \t\tnumber of retransmissions.

", + "smithy.api#http": { + "uri": "/workloadInsights/{scopeId}/topContributorsDataQueries", + "method": "POST" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.networkflowmonitor#StartQueryWorkloadInsightsTopContributorsDataInput": { + "type": "structure", + "members": { + "scopeId": { + "target": "com.amazonaws.networkflowmonitor#ScopeId", + "traits": { + "smithy.api#documentation": "

The identifier for the scope that includes the resources you want to get data results for.\n \t\tA scope ID is an internally-generated identifier that includes all the resources \n \t\tfor a specific root account.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "startTime": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp that is the date and time beginning of the period that you want to retrieve \n \t\tresults for with your query.

", + "smithy.api#required": {}, + "smithy.api#timestampFormat": "date-time" + } + }, + "endTime": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp that is the date and time end of the period that you want to retrieve \n \t\tresults for with your query.

", + "smithy.api#required": {}, + "smithy.api#timestampFormat": "date-time" + } + }, + "metricName": { + "target": "com.amazonaws.networkflowmonitor#WorkloadInsightsMetric", + "traits": { + "smithy.api#documentation": "

The metric that you want to query top contributors for. That is, you can specify this metric to \n \t\treturn the top contributor network flows, for this type of metric, for a monitor and (optionally) \n \t\twithin a specific category, such as network flows between Availability Zones.

", + "smithy.api#required": {} + } + }, + "destinationCategory": { + "target": "com.amazonaws.networkflowmonitor#DestinationCategory", + "traits": { + "smithy.api#documentation": "

The destination category for a top contributors. Destination categories can be one of the following:

\n
    \n
  • \n

    \n INTRA_AZ: Top contributor network flows within a single Availability Zone

    \n
  • \n
  • \n

    \n INTER_AZ: Top contributor network flows between Availability Zones

    \n
  • \n
  • \n

    \n INTER_VPC: Top contributor network flows between VPCs

    \n
  • \n
  • \n

    \n AWS_SERVICES: Top contributor network flows to or from Amazon Web Services services

    \n
  • \n
  • \n

    \n UNCLASSIFIED: Top contributor network flows that do not have a bucket classification

    \n
  • \n
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.networkflowmonitor#StartQueryWorkloadInsightsTopContributorsDataOutput": { + "type": "structure", + "members": { + "queryId": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The identifier for the query. A query ID is an internally-generated \n \t\tidentifier for a specific query returned from an API call to start a query.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.networkflowmonitor#StartQueryWorkloadInsightsTopContributorsInput": { + "type": "structure", + "members": { + "scopeId": { + "target": "com.amazonaws.networkflowmonitor#ScopeId", + "traits": { + "smithy.api#documentation": "

The identifier for the scope that includes the resources you want to get data results for.\n \t\tA scope ID is an internally-generated identifier that includes all the resources \n \t\tfor a specific root account. A scope ID is returned from a CreateScope API call.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "startTime": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp that is the date and time beginning of the period that you want to retrieve \n \t\tresults for with your query.

", + "smithy.api#required": {}, + "smithy.api#timestampFormat": "date-time" + } + }, + "endTime": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp that is the date and time end of the period that you want to retrieve \n \t\tresults for with your query.

", + "smithy.api#required": {}, + "smithy.api#timestampFormat": "date-time" + } + }, + "metricName": { + "target": "com.amazonaws.networkflowmonitor#WorkloadInsightsMetric", + "traits": { + "smithy.api#documentation": "

The metric that you want to query top contributors for. That is, you can specify this metric to \n \t\treturn the top contributor network flows, for this type of metric, for a monitor and (optionally) \n \t\twithin a specific category, such as network flows between Availability Zones.

", + "smithy.api#required": {} + } + }, + "destinationCategory": { + "target": "com.amazonaws.networkflowmonitor#DestinationCategory", + "traits": { + "smithy.api#documentation": "

The destination category for a top contributors row. Destination categories can be one of the following:

\n
    \n
  • \n

    \n INTRA_AZ: Top contributor network flows within a single Availability Zone

    \n
  • \n
  • \n

    \n INTER_AZ: Top contributor network flows between Availability Zones

    \n
  • \n
  • \n

    \n INTER_VPC: Top contributor network flows between VPCs

    \n
  • \n
  • \n

    \n AWS_SERVICES: Top contributor network flows to or from Amazon Web Services services

    \n
  • \n
  • \n

    \n UNCLASSIFIED: Top contributor network flows that do not have a bucket classification

    \n
  • \n
", + "smithy.api#required": {} + } + }, + "limit": { + "target": "com.amazonaws.networkflowmonitor#Limit", + "traits": { + "smithy.api#documentation": "

The maximum number of top contributors to return.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.networkflowmonitor#StartQueryWorkloadInsightsTopContributorsOutput": { + "type": "structure", + "members": { + "queryId": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The identifier for the query. A query ID is an internally-generated \n \t\tidentifier for a specific query returned from an API call to start a query.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.networkflowmonitor#StopQueryMonitorTopContributors": { + "type": "operation", + "input": { + "target": "com.amazonaws.networkflowmonitor#StopQueryMonitorTopContributorsInput" + }, + "output": { + "target": "com.amazonaws.networkflowmonitor#StopQueryMonitorTopContributorsOutput" + }, + "errors": [ + { + "target": "com.amazonaws.networkflowmonitor#AccessDeniedException" + }, + { + "target": "com.amazonaws.networkflowmonitor#InternalServerException" + }, + { + "target": "com.amazonaws.networkflowmonitor#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.networkflowmonitor#ThrottlingException" + }, + { + "target": "com.amazonaws.networkflowmonitor#ValidationException" + } + ], + "traits": { + "aws.api#dataPlane": {}, + "aws.iam#iamAction": { + "documentation": "Grants permission to stop a query for retrieving top contributors data for a monitor" + }, + "smithy.api#documentation": "

Stop a query with the Network Flow Monitor query interface. \n \t\tSpecify the query that you want to stop by providing a query ID \n \t\tand a monitor name. This query returns the top contributors for a specific monitor.

\n

Top contributors in Network Flow Monitor are network flows with the highest values for a specific \n \t\tmetric type, related to a scope (for workload insights) or a monitor.

", + "smithy.api#http": { + "uri": "/monitors/{monitorName}/topContributorsQueries/{queryId}", + "method": "DELETE" + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.networkflowmonitor#StopQueryMonitorTopContributorsInput": { + "type": "structure", + "members": { + "monitorName": { + "target": "com.amazonaws.networkflowmonitor#ResourceName", + "traits": { + "smithy.api#documentation": "

The name of the monitor.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "queryId": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The identifier for the query. A query ID is an internally-generated \n \t\tidentifier for a specific query returned from an API call to start a query.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.networkflowmonitor#StopQueryMonitorTopContributorsOutput": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.networkflowmonitor#StopQueryWorkloadInsightsTopContributors": { + "type": "operation", + "input": { + "target": "com.amazonaws.networkflowmonitor#StopQueryWorkloadInsightsTopContributorsInput" + }, + "output": { + "target": "com.amazonaws.networkflowmonitor#StopQueryWorkloadInsightsTopContributorsOutput" + }, + "errors": [ + { + "target": "com.amazonaws.networkflowmonitor#AccessDeniedException" + }, + { + "target": "com.amazonaws.networkflowmonitor#InternalServerException" + }, + { + "target": "com.amazonaws.networkflowmonitor#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.networkflowmonitor#ThrottlingException" + }, + { + "target": "com.amazonaws.networkflowmonitor#ValidationException" + } + ], + "traits": { + "aws.api#dataPlane": {}, + "aws.iam#iamAction": { + "documentation": "Grants permission to stop a query for retrieving top contributors for workload insights" + }, + "smithy.api#documentation": "

Stop a query with the Network Flow Monitor query interface. \n \t\tSpecify the query that you want to stop by providing a query ID \n \t\tand a monitor name. This query returns the top contributors for a specific monitor.

\n

Top contributors in Network Flow Monitor are network flows with the highest values for a specific \n \t\tmetric type, related to a scope (for workload insights) or a monitor.

", + "smithy.api#http": { + "uri": "/workloadInsights/{scopeId}/topContributorsQueries/{queryId}", + "method": "DELETE" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.networkflowmonitor#StopQueryWorkloadInsightsTopContributorsData": { + "type": "operation", + "input": { + "target": "com.amazonaws.networkflowmonitor#StopQueryWorkloadInsightsTopContributorsDataInput" + }, + "output": { + "target": "com.amazonaws.networkflowmonitor#StopQueryWorkloadInsightsTopContributorsDataOutput" + }, + "errors": [ + { + "target": "com.amazonaws.networkflowmonitor#AccessDeniedException" + }, + { + "target": "com.amazonaws.networkflowmonitor#InternalServerException" + }, + { + "target": "com.amazonaws.networkflowmonitor#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.networkflowmonitor#ThrottlingException" + }, + { + "target": "com.amazonaws.networkflowmonitor#ValidationException" + } + ], + "traits": { + "aws.api#dataPlane": {}, + "aws.iam#iamAction": { + "documentation": "Grants permission to stop a query for retrieving top contributors data points for workload insights" + }, + "smithy.api#documentation": "

Return the data for a query with the Network Flow Monitor query interface. \n \t\tSpecify the query that you want to return results for by providing a query ID \n \t\tand a scope ID. This query returns data for the top contributors for workload insights.\n \t\tWorkload insights provide a high level view of network flow performance data collected by agents \n \t\tfor a scope.

\n

Top contributors in Network Flow Monitor are network flows with the highest values for a specific \n \t\tmetric type, related to a scope (for workload insights) or a monitor.

\n

The top contributor network flows overall for a specific metric type, for example, the \n \t\tnumber of retransmissions.

", + "smithy.api#http": { + "uri": "/workloadInsights/{scopeId}/topContributorsDataQueries/{queryId}", + "method": "DELETE" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.networkflowmonitor#StopQueryWorkloadInsightsTopContributorsDataInput": { + "type": "structure", + "members": { + "scopeId": { + "target": "com.amazonaws.networkflowmonitor#ScopeId", + "traits": { + "smithy.api#documentation": "

The identifier for the scope that includes the resources you want to get data results for.\n \t\tA scope ID is an internally-generated identifier that includes all the resources \n \t\tfor a specific root account.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "queryId": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The identifier for the query. A query ID is an internally-generated \n \t\tidentifier for a specific query returned from an API call to start a query.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.networkflowmonitor#StopQueryWorkloadInsightsTopContributorsDataOutput": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.networkflowmonitor#StopQueryWorkloadInsightsTopContributorsInput": { + "type": "structure", + "members": { + "scopeId": { + "target": "com.amazonaws.networkflowmonitor#ScopeId", + "traits": { + "smithy.api#documentation": "

The identifier for the scope that includes the resources you want to get data results for.\n \t\tA scope ID is an internally-generated identifier that includes all the resources \n \t\tfor a specific root account.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "queryId": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The identifier for the query. A query ID is an internally-generated \n \t\tidentifier for a specific query returned from an API call to start a query.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.networkflowmonitor#StopQueryWorkloadInsightsTopContributorsOutput": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.networkflowmonitor#SubnetArn": { + "type": "string" + }, + "com.amazonaws.networkflowmonitor#SubnetId": { + "type": "string", + "traits": { + "smithy.api#pattern": "^subnet-[a-zA-Z0-9]{8,32}$" + } + }, + "com.amazonaws.networkflowmonitor#TagKey": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 128 + } + } + }, + "com.amazonaws.networkflowmonitor#TagKeyList": { + "type": "list", + "member": { + "target": "com.amazonaws.networkflowmonitor#TagKey" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 200 + } + } + }, + "com.amazonaws.networkflowmonitor#TagMap": { + "type": "map", + "key": { + "target": "com.amazonaws.networkflowmonitor#TagKey" + }, + "value": { + "target": "com.amazonaws.networkflowmonitor#TagValue" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 200 + } + } + }, + "com.amazonaws.networkflowmonitor#TagResource": { + "type": "operation", + "input": { + "target": "com.amazonaws.networkflowmonitor#TagResourceInput" + }, + "output": { + "target": "com.amazonaws.networkflowmonitor#TagResourceOutput" + }, + "errors": [ + { + "target": "com.amazonaws.networkflowmonitor#AccessDeniedException" + }, + { + "target": "com.amazonaws.networkflowmonitor#ConflictException" + }, + { + "target": "com.amazonaws.networkflowmonitor#InternalServerException" + }, + { + "target": "com.amazonaws.networkflowmonitor#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.networkflowmonitor#ThrottlingException" + }, + { + "target": "com.amazonaws.networkflowmonitor#ValidationException" + } + ], + "traits": { + "aws.iam#conditionKeys": [ + "aws:RequestTag/${TagKey}", + "aws:TagKeys" + ], + "aws.iam#iamAction": { + "documentation": "Grants permission to add tags to a resource" + }, + "smithy.api#documentation": "

Adds a tag to a resource.

", + "smithy.api#http": { + "uri": "/tags/{resourceArn}", + "method": "POST" + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.networkflowmonitor#TagResourceInput": { + "type": "structure", + "members": { + "resourceArn": { + "target": "com.amazonaws.networkflowmonitor#Arn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the resource.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "tags": { + "target": "com.amazonaws.networkflowmonitor#TagMap", + "traits": { + "smithy.api#documentation": "

The tags for a resource.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "aws.api#data": "tagging", + "smithy.api#input": {}, + "smithy.api#references": [ + { + "resource": "com.amazonaws.networkflowmonitor#ScopeResource", + "ids": { + "scopeId": "resourceArn" + } + }, + { + "resource": "com.amazonaws.networkflowmonitor#MonitorResource", + "ids": { + "monitorName": "resourceArn" + } + } + ] + } + }, + "com.amazonaws.networkflowmonitor#TagResourceOutput": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.networkflowmonitor#TagValue": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 256 + } + } + }, + "com.amazonaws.networkflowmonitor#TargetId": { + "type": "union", + "members": { + "accountId": { + "target": "com.amazonaws.networkflowmonitor#AccountId", + "traits": { + "smithy.api#documentation": "

The identifier for the account for a target.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

A target ID is an internally-generated identifier for a target.\n \t\tA target allows you to identify all the resources in a Network Flow Monitor scope. Currently,\n \t\ta target is always an Amazon Web Services account.

" + } + }, + "com.amazonaws.networkflowmonitor#TargetIdentifier": { + "type": "structure", + "members": { + "targetId": { + "target": "com.amazonaws.networkflowmonitor#TargetId", + "traits": { + "smithy.api#documentation": "

The identifier for a target.

", + "smithy.api#required": {} + } + }, + "targetType": { + "target": "com.amazonaws.networkflowmonitor#TargetType", + "traits": { + "smithy.api#documentation": "

The type of a target. A target type is currently always ACCOUNT\n \t\tbecause a target is currently a single Amazon Web Services account.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

A target identifier is a pair of identifying information for a resource that\n \t\tis included in a target. A target identifier includes the target ID and \n \t\tthe target type.

" + } + }, + "com.amazonaws.networkflowmonitor#TargetResource": { + "type": "structure", + "members": { + "targetIdentifier": { + "target": "com.amazonaws.networkflowmonitor#TargetIdentifier", + "traits": { + "smithy.api#documentation": "

A target identifier is a pair of identifying information for a resource that\n \t\tis included in a target. A target identifier includes the target ID and \n \t\tthe target type.

", + "smithy.api#required": {} + } + }, + "region": { + "target": "com.amazonaws.networkflowmonitor#AwsRegion", + "traits": { + "smithy.api#documentation": "

The Amazon Web Services Region where the target resource is located.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

A target resource in a scope. The resource is identified by a Region and\n \t\ta target identifier, which includes a target ID and a target type.

" + } + }, + "com.amazonaws.networkflowmonitor#TargetResourceList": { + "type": "list", + "member": { + "target": "com.amazonaws.networkflowmonitor#TargetResource" + } + }, + "com.amazonaws.networkflowmonitor#TargetType": { + "type": "enum", + "members": { + "ACCOUNT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ACCOUNT" + } + } + } + }, + "com.amazonaws.networkflowmonitor#ThrottlingException": { + "type": "structure", + "members": { + "message": { + "target": "smithy.api#String" + } + }, + "traits": { + "smithy.api#documentation": "

The request was denied due to request throttling.

", + "smithy.api#error": "client", + "smithy.api#httpError": 429, + "smithy.api#retryable": { + "throttling": true + } + } + }, + "com.amazonaws.networkflowmonitor#TraversedComponent": { + "type": "structure", + "members": { + "componentId": { + "target": "com.amazonaws.networkflowmonitor#Component", + "traits": { + "smithy.api#documentation": "

The identifier for the traversed component.

" + } + }, + "componentType": { + "target": "com.amazonaws.networkflowmonitor#ComponentType", + "traits": { + "smithy.api#documentation": "

The type of component that was traversed.

" + } + }, + "componentArn": { + "target": "com.amazonaws.networkflowmonitor#Arn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of a tranversed component.

" + } + }, + "serviceName": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The service name for the traversed component.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

A section of the network that a network flow has traveled through.

" + } + }, + "com.amazonaws.networkflowmonitor#TraversedConstructsList": { + "type": "list", + "member": { + "target": "com.amazonaws.networkflowmonitor#TraversedComponent" + } + }, + "com.amazonaws.networkflowmonitor#UntagResource": { + "type": "operation", + "input": { + "target": "com.amazonaws.networkflowmonitor#UntagResourceInput" + }, + "output": { + "target": "com.amazonaws.networkflowmonitor#UntagResourceOutput" + }, + "errors": [ + { + "target": "com.amazonaws.networkflowmonitor#AccessDeniedException" + }, + { + "target": "com.amazonaws.networkflowmonitor#ConflictException" + }, + { + "target": "com.amazonaws.networkflowmonitor#InternalServerException" + }, + { + "target": "com.amazonaws.networkflowmonitor#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.networkflowmonitor#ThrottlingException" + }, + { + "target": "com.amazonaws.networkflowmonitor#ValidationException" + } + ], + "traits": { + "aws.iam#conditionKeys": [ + "aws:TagKeys" + ], + "aws.iam#iamAction": { + "documentation": "Grants permission to remove tags from a resource" + }, + "smithy.api#documentation": "

Removes a tag from a resource.

", + "smithy.api#http": { + "uri": "/tags/{resourceArn}", + "method": "DELETE" + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.networkflowmonitor#UntagResourceInput": { + "type": "structure", + "members": { + "resourceArn": { + "target": "com.amazonaws.networkflowmonitor#Arn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the resource.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "tagKeys": { + "target": "com.amazonaws.networkflowmonitor#TagKeyList", + "traits": { + "smithy.api#documentation": "

Keys that you specified when you tagged a resource.

", + "smithy.api#httpQuery": "tagKeys", + "smithy.api#required": {} + } + } + }, + "traits": { + "aws.api#data": "tagging", + "smithy.api#input": {}, + "smithy.api#references": [ + { + "resource": "com.amazonaws.networkflowmonitor#ScopeResource", + "ids": { + "scopeId": "resourceArn" + } + }, + { + "resource": "com.amazonaws.networkflowmonitor#MonitorResource", + "ids": { + "monitorName": "resourceArn" + } + } + ] + } + }, + "com.amazonaws.networkflowmonitor#UntagResourceOutput": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.networkflowmonitor#UpdateMonitor": { + "type": "operation", + "input": { + "target": "com.amazonaws.networkflowmonitor#UpdateMonitorInput" + }, + "output": { + "target": "com.amazonaws.networkflowmonitor#UpdateMonitorOutput" + }, + "errors": [ + { + "target": "com.amazonaws.networkflowmonitor#AccessDeniedException" + }, + { + "target": "com.amazonaws.networkflowmonitor#InternalServerException" + }, + { + "target": "com.amazonaws.networkflowmonitor#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.networkflowmonitor#ThrottlingException" + }, + { + "target": "com.amazonaws.networkflowmonitor#ValidationException" + } + ], + "traits": { + "aws.iam#iamAction": { + "documentation": "Grants permission to update a monitor" + }, + "smithy.api#documentation": "

Update a monitor to add or remove local or remote resources.

", + "smithy.api#http": { + "uri": "/monitors/{monitorName}", + "method": "PATCH" + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.networkflowmonitor#UpdateMonitorInput": { + "type": "structure", + "members": { + "monitorName": { + "target": "com.amazonaws.networkflowmonitor#ResourceName", + "traits": { + "smithy.api#documentation": "

The name of the monitor.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "localResourcesToAdd": { + "target": "com.amazonaws.networkflowmonitor#MonitorLocalResources", + "traits": { + "smithy.api#documentation": "

The local resources to add, as an array of resources with identifiers and types.

" + } + }, + "localResourcesToRemove": { + "target": "com.amazonaws.networkflowmonitor#MonitorLocalResources", + "traits": { + "smithy.api#documentation": "

The local resources to remove, as an array of resources with identifiers and types.

" + } + }, + "remoteResourcesToAdd": { + "target": "com.amazonaws.networkflowmonitor#MonitorRemoteResources", + "traits": { + "smithy.api#documentation": "

The remove resources to add, as an array of resources with identifiers and types.

" + } + }, + "remoteResourcesToRemove": { + "target": "com.amazonaws.networkflowmonitor#MonitorRemoteResources", + "traits": { + "smithy.api#documentation": "

The remove resources to remove, as an array of resources with identifiers and types.

" + } + }, + "clientToken": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

A unique, case-sensitive string of up to 64 ASCII characters that you specify to make an idempotent API request. Don't reuse the same client token for\n \t\tother API requests.

", + "smithy.api#idempotencyToken": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.networkflowmonitor#UpdateMonitorOutput": { + "type": "structure", + "members": { + "monitorArn": { + "target": "com.amazonaws.networkflowmonitor#MonitorArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the monitor.

", + "smithy.api#required": {} + } + }, + "monitorName": { + "target": "com.amazonaws.networkflowmonitor#ResourceName", + "traits": { + "smithy.api#documentation": "

The name of the monitor.

", + "smithy.api#required": {} + } + }, + "monitorStatus": { + "target": "com.amazonaws.networkflowmonitor#MonitorStatus", + "traits": { + "smithy.api#documentation": "

The status of a monitor. The status can be one of the following

\n
    \n
  • \n

    \n PENDING: The monitor is in the process of being created.

    \n
  • \n
  • \n

    \n ACTIVE: The monitor is active.

    \n
  • \n
  • \n

    \n INACTIVE: The monitor is inactive.

    \n
  • \n
  • \n

    \n ERROR: Monitor creation failed due to an error.

    \n
  • \n
  • \n

    \n DELETING: The monitor is in the process of being deleted.

    \n
  • \n
", + "smithy.api#required": {} + } + }, + "localResources": { + "target": "com.amazonaws.networkflowmonitor#MonitorLocalResources", + "traits": { + "smithy.api#documentation": "

The local resources updated for a monitor, as an array of resources with identifiers and types.

", + "smithy.api#required": {} + } + }, + "remoteResources": { + "target": "com.amazonaws.networkflowmonitor#MonitorRemoteResources", + "traits": { + "smithy.api#documentation": "

The remote resources updated for a monitor, as an array of resources with identifiers and types.

", + "smithy.api#required": {} + } + }, + "createdAt": { + "target": "com.amazonaws.networkflowmonitor#Iso8601Timestamp", + "traits": { + "smithy.api#documentation": "

The date and time when the monitor was created.

", + "smithy.api#required": {} + } + }, + "modifiedAt": { + "target": "com.amazonaws.networkflowmonitor#Iso8601Timestamp", + "traits": { + "smithy.api#documentation": "

The last date and time that the monitor was modified.

", + "smithy.api#required": {} + } + }, + "tags": { + "target": "com.amazonaws.networkflowmonitor#TagMap", + "traits": { + "smithy.api#documentation": "

The tags for a monitor.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.networkflowmonitor#UpdateScope": { + "type": "operation", + "input": { + "target": "com.amazonaws.networkflowmonitor#UpdateScopeInput" + }, + "output": { + "target": "com.amazonaws.networkflowmonitor#UpdateScopeOutput" + }, + "errors": [ + { + "target": "com.amazonaws.networkflowmonitor#AccessDeniedException" + }, + { + "target": "com.amazonaws.networkflowmonitor#InternalServerException" + }, + { + "target": "com.amazonaws.networkflowmonitor#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.networkflowmonitor#ThrottlingException" + }, + { + "target": "com.amazonaws.networkflowmonitor#ValidationException" + } + ], + "traits": { + "aws.iam#iamAction": { + "documentation": "Grants permission to update a scope" + }, + "smithy.api#documentation": "

Update a scope to add or remove resources that you want to be available for Network Flow Monitor to generate metrics for,\n \t\twhen you have active agents on those resources sending metrics reports to the Network Flow Monitor backend.

", + "smithy.api#http": { + "uri": "/scopes/{scopeId}", + "method": "PATCH" + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.networkflowmonitor#UpdateScopeInput": { + "type": "structure", + "members": { + "scopeId": { + "target": "com.amazonaws.networkflowmonitor#ScopeId", + "traits": { + "smithy.api#documentation": "

The identifier for the scope that includes the resources you want to get data results for.\n \t\tA scope ID is an internally-generated identifier that includes all the resources \n \t\tfor a specific root account.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "resourcesToAdd": { + "target": "com.amazonaws.networkflowmonitor#TargetResourceList", + "traits": { + "smithy.api#documentation": "

A list of resources to add to a scope.

", + "smithy.api#length": { + "min": 1, + "max": 99 + } + } + }, + "resourcesToDelete": { + "target": "com.amazonaws.networkflowmonitor#TargetResourceList", + "traits": { + "smithy.api#documentation": "

A list of resources to delete from a scope.

", + "smithy.api#length": { + "min": 1, + "max": 99 + } + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.networkflowmonitor#UpdateScopeOutput": { + "type": "structure", + "members": { + "scopeId": { + "target": "com.amazonaws.networkflowmonitor#ScopeId", + "traits": { + "smithy.api#documentation": "

The identifier for the scope that includes the resources you want to get data results for.\n \t\tA scope ID is an internally-generated identifier that includes all the resources \n \t\tfor a specific root account.

", + "smithy.api#required": {} + } + }, + "status": { + "target": "com.amazonaws.networkflowmonitor#ScopeStatus", + "traits": { + "smithy.api#documentation": "

The status for a call to update a scope. The status can be one of the following: \n \t\tSUCCEEDED, IN_PROGRESS, or FAILED.

", + "smithy.api#required": {} + } + }, + "scopeArn": { + "target": "com.amazonaws.networkflowmonitor#Arn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the scope.

", + "smithy.api#required": {} + } + }, + "tags": { + "target": "com.amazonaws.networkflowmonitor#TagMap", + "traits": { + "smithy.api#documentation": "

The tags for a scope.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.networkflowmonitor#ValidationException": { + "type": "structure", + "members": { + "message": { + "target": "smithy.api#String" + } + }, + "traits": { + "smithy.api#documentation": "

Invalid request.

", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.networkflowmonitor#VpcArn": { + "type": "string" + }, + "com.amazonaws.networkflowmonitor#VpcId": { + "type": "string", + "traits": { + "smithy.api#pattern": "^vpc-[a-zA-Z0-9]{8,32}$" + } + }, + "com.amazonaws.networkflowmonitor#WorkloadInsightsMetric": { + "type": "enum", + "members": { + "TIMEOUTS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "TIMEOUTS" + } + }, + "RETRANSMISSIONS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RETRANSMISSIONS" + } + }, + "DATA_TRANSFERRED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DATA_TRANSFERRED" + } + } + } + }, + "com.amazonaws.networkflowmonitor#WorkloadInsightsTopContributorsDataPoint": { + "type": "structure", + "members": { + "timestamps": { + "target": "com.amazonaws.networkflowmonitor#WorkloadInsightsTopContributorsTimestampsList", + "traits": { + "smithy.api#documentation": "

An array of the timestamps for the data point.

", + "smithy.api#required": {} + } + }, + "values": { + "target": "com.amazonaws.networkflowmonitor#WorkloadInsightsTopContributorsValuesList", + "traits": { + "smithy.api#documentation": "

The values for the data point.

", + "smithy.api#required": {} + } + }, + "label": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The label identifying the data point.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

A data point for a top contributor network flow in a scope.\n \t\tNetwork Flow Monitor returns information about the network flows with the top values\n \t\tfor each metric type, which are called top contributors.

" + } + }, + "com.amazonaws.networkflowmonitor#WorkloadInsightsTopContributorsDataPoints": { + "type": "list", + "member": { + "target": "com.amazonaws.networkflowmonitor#WorkloadInsightsTopContributorsDataPoint" + } + }, + "com.amazonaws.networkflowmonitor#WorkloadInsightsTopContributorsRow": { + "type": "structure", + "members": { + "accountId": { + "target": "com.amazonaws.networkflowmonitor#AccountId", + "traits": { + "smithy.api#documentation": "

The account ID for a specific row of data.

" + } + }, + "localSubnetId": { + "target": "com.amazonaws.networkflowmonitor#SubnetId", + "traits": { + "smithy.api#documentation": "

The subnet identifier for the local resource.

" + } + }, + "localAz": { + "target": "com.amazonaws.networkflowmonitor#AvailabilityZone", + "traits": { + "smithy.api#documentation": "

The identifier for the Availability Zone where the local resource is located.

" + } + }, + "localVpcId": { + "target": "com.amazonaws.networkflowmonitor#VpcId", + "traits": { + "smithy.api#documentation": "

The identifier for the VPC for the local resource.

" + } + }, + "localRegion": { + "target": "com.amazonaws.networkflowmonitor#AwsRegion", + "traits": { + "smithy.api#documentation": "

The Amazon Web Services Region where the local resource is located.

" + } + }, + "remoteIdentifier": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The identifier of a remote resource.

" + } + }, + "value": { + "target": "smithy.api#Long", + "traits": { + "smithy.api#documentation": "

The value for a metric.

" + } + }, + "localSubnetArn": { + "target": "com.amazonaws.networkflowmonitor#SubnetArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of a local subnet.

" + } + }, + "localVpcArn": { + "target": "com.amazonaws.networkflowmonitor#VpcArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of a local VPC.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

A row for a top contributor for a scope.

" + } + }, + "com.amazonaws.networkflowmonitor#WorkloadInsightsTopContributorsRowList": { + "type": "list", + "member": { + "target": "com.amazonaws.networkflowmonitor#WorkloadInsightsTopContributorsRow" + } + }, + "com.amazonaws.networkflowmonitor#WorkloadInsightsTopContributorsTimestampsList": { + "type": "list", + "member": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#timestampFormat": "date-time" + } + } + }, + "com.amazonaws.networkflowmonitor#WorkloadInsightsTopContributorsValuesList": { + "type": "list", + "member": { + "target": "smithy.api#Double" + } + } + } +} \ No newline at end of file diff --git a/codegen/sdk/aws-models/observabilityadmin.json b/codegen/sdk/aws-models/observabilityadmin.json new file mode 100644 index 00000000000..29a51cb81a1 --- /dev/null +++ b/codegen/sdk/aws-models/observabilityadmin.json @@ -0,0 +1,1492 @@ +{ + "smithy": "2.0", + "shapes": { + "com.amazonaws.observabilityadmin#AccessDeniedException": { + "type": "structure", + "members": { + "Message": { + "target": "smithy.api#String" + }, + "amznErrorType": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

\n The name of the exception.\n

", + "smithy.api#httpHeader": "x-amzn-ErrorType" + } + } + }, + "traits": { + "smithy.api#documentation": "

\n Indicates you don't have permissions to perform the requested operation. The user or role that is making the request must have at least one IAM permissions policy attached that grants the required permissions. For more information, see Access management for AWS resources in the IAM user guide.\n

", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.observabilityadmin#AccountIdentifier": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 12, + "max": 12 + }, + "smithy.api#pattern": "^[0-9]{12}$" + } + }, + "com.amazonaws.observabilityadmin#AccountIdentifiers": { + "type": "list", + "member": { + "target": "com.amazonaws.observabilityadmin#AccountIdentifier" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 10 + }, + "smithy.api#uniqueItems": {} + } + }, + "com.amazonaws.observabilityadmin#FailureReason": { + "type": "string" + }, + "com.amazonaws.observabilityadmin#GetTelemetryEvaluationStatus": { + "type": "operation", + "input": { + "target": "smithy.api#Unit" + }, + "output": { + "target": "com.amazonaws.observabilityadmin#GetTelemetryEvaluationStatusOutput" + }, + "errors": [ + { + "target": "com.amazonaws.observabilityadmin#AccessDeniedException" + }, + { + "target": "com.amazonaws.observabilityadmin#InternalServerException" + } + ], + "traits": { + "smithy.api#documentation": "

\n Returns the current onboarding status of the telemetry config feature, including the status of the feature and reason the feature failed to start or stop.\n

", + "smithy.api#http": { + "method": "POST", + "uri": "/GetTelemetryEvaluationStatus" + }, + "smithy.api#readonly": {}, + "smithy.test#smokeTests": [ + { + "id": "GetTelemetryEvaluationStatus", + "params": {}, + "expect": { + "failure": { + "errorId": "com.amazonaws.observabilityadmin#AccessDeniedException" + } + }, + "vendorParamsShape": "aws.test#AwsVendorParams", + "vendorParams": { + "region": "us-east-2" + } + } + ] + } + }, + "com.amazonaws.observabilityadmin#GetTelemetryEvaluationStatusForOrganization": { + "type": "operation", + "input": { + "target": "smithy.api#Unit" + }, + "output": { + "target": "com.amazonaws.observabilityadmin#GetTelemetryEvaluationStatusForOrganizationOutput" + }, + "errors": [ + { + "target": "com.amazonaws.observabilityadmin#AccessDeniedException" + }, + { + "target": "com.amazonaws.observabilityadmin#InternalServerException" + }, + { + "target": "com.amazonaws.observabilityadmin#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

\n This returns the onboarding status of the telemetry configuration feature for the organization. It can only be called by a Management Account of an AWS Organization or an assigned Delegated Admin Account of AWS CloudWatch telemetry config.\n

", + "smithy.api#http": { + "method": "POST", + "uri": "/GetTelemetryEvaluationStatusForOrganization" + }, + "smithy.api#readonly": {}, + "smithy.test#smokeTests": [ + { + "id": "GetTelemetryEvaluationStatusForOrganization", + "params": {}, + "expect": { + "failure": { + "errorId": "com.amazonaws.observabilityadmin#AccessDeniedException" + } + }, + "vendorParamsShape": "aws.test#AwsVendorParams", + "vendorParams": { + "region": "us-east-2" + } + } + ] + } + }, + "com.amazonaws.observabilityadmin#GetTelemetryEvaluationStatusForOrganizationOutput": { + "type": "structure", + "members": { + "Status": { + "target": "com.amazonaws.observabilityadmin#Status", + "traits": { + "smithy.api#documentation": "

\n The onboarding status of the telemetry config feature for the organization.\n

" + } + }, + "FailureReason": { + "target": "com.amazonaws.observabilityadmin#FailureReason", + "traits": { + "smithy.api#documentation": "

\n This field describes the reason for the failure status. The field will only be populated if Status is FAILED_START or FAILED_STOP.\n

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.observabilityadmin#GetTelemetryEvaluationStatusOutput": { + "type": "structure", + "members": { + "Status": { + "target": "com.amazonaws.observabilityadmin#Status", + "traits": { + "smithy.api#documentation": "

\n The onboarding status of the telemetry config feature.\n

" + } + }, + "FailureReason": { + "target": "com.amazonaws.observabilityadmin#FailureReason", + "traits": { + "smithy.api#documentation": "

\n Describes the reason for the failure status. The field will only be populated if Status is FAILED_START or FAILED_STOP.\n

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.observabilityadmin#InternalServerException": { + "type": "structure", + "members": { + "Message": { + "target": "smithy.api#String" + }, + "amznErrorType": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

\n The name of the exception.\n

", + "smithy.api#httpHeader": "x-amzn-ErrorType" + } + } + }, + "traits": { + "smithy.api#documentation": "

\n Indicates the request has failed to process because of an unknown server error, exception, or failure.\n

", + "smithy.api#error": "server", + "smithy.api#httpError": 500 + } + }, + "com.amazonaws.observabilityadmin#ListResourceTelemetry": { + "type": "operation", + "input": { + "target": "com.amazonaws.observabilityadmin#ListResourceTelemetryInput" + }, + "output": { + "target": "com.amazonaws.observabilityadmin#ListResourceTelemetryOutput" + }, + "errors": [ + { + "target": "com.amazonaws.observabilityadmin#AccessDeniedException" + }, + { + "target": "com.amazonaws.observabilityadmin#InternalServerException" + }, + { + "target": "com.amazonaws.observabilityadmin#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

\n Returns a list of telemetry configurations for AWS resources supported by telemetry config. For more information, see Auditing CloudWatch telemetry configurations.\n

", + "smithy.api#http": { + "method": "POST", + "uri": "/ListResourceTelemetry" + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults", + "items": "TelemetryConfigurations" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.observabilityadmin#ListResourceTelemetryForOrganization": { + "type": "operation", + "input": { + "target": "com.amazonaws.observabilityadmin#ListResourceTelemetryForOrganizationInput" + }, + "output": { + "target": "com.amazonaws.observabilityadmin#ListResourceTelemetryForOrganizationOutput" + }, + "errors": [ + { + "target": "com.amazonaws.observabilityadmin#AccessDeniedException" + }, + { + "target": "com.amazonaws.observabilityadmin#InternalServerException" + }, + { + "target": "com.amazonaws.observabilityadmin#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

\n Returns a list of telemetry configurations for AWS resources supported by telemetry config in the organization.\n

", + "smithy.api#http": { + "method": "POST", + "uri": "/ListResourceTelemetryForOrganization" + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults", + "items": "TelemetryConfigurations" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.observabilityadmin#ListResourceTelemetryForOrganizationInput": { + "type": "structure", + "members": { + "AccountIdentifiers": { + "target": "com.amazonaws.observabilityadmin#AccountIdentifiers", + "traits": { + "smithy.api#documentation": "

\n A list of AWS account IDs used to filter the resources to those associated with the specified accounts.\n

" + } + }, + "ResourceIdentifierPrefix": { + "target": "com.amazonaws.observabilityadmin#ResourceIdentifierPrefix", + "traits": { + "smithy.api#documentation": "

\n A string used to filter resources in the organization which have a ResourceIdentifier starting with the ResourceIdentifierPrefix.\n

" + } + }, + "ResourceTypes": { + "target": "com.amazonaws.observabilityadmin#ResourceTypes", + "traits": { + "smithy.api#documentation": "

\n A list of resource types used to filter resources in the organization. If this parameter is provided, the resources will be returned in the same order used in the request.\n

" + } + }, + "TelemetryConfigurationState": { + "target": "com.amazonaws.observabilityadmin#TelemetryConfigurationState", + "traits": { + "smithy.api#documentation": "

\n A key-value pair to filter resources in the organization based on the telemetry type and the state of the telemetry configuration. The key is the telemetry type and the value is the state.\n

" + } + }, + "ResourceTags": { + "target": "com.amazonaws.observabilityadmin#TagMapInput", + "traits": { + "smithy.api#documentation": "

\n A key-value pair to filter resources in the organization based on tags associated with the resource. Fore more information about tags, see What are tags?\n

" + } + }, + "MaxResults": { + "target": "com.amazonaws.observabilityadmin#ListResourceTelemetryForOrganizationMaxResults", + "traits": { + "smithy.api#default": null, + "smithy.api#documentation": "

\n A number field used to limit the number of results within the returned list.\n

" + } + }, + "NextToken": { + "target": "com.amazonaws.observabilityadmin#NextToken", + "traits": { + "smithy.api#documentation": "

\n The token for the next set of items to return. A previous call provides this token.\n

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.observabilityadmin#ListResourceTelemetryForOrganizationMaxResults": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 1, + "max": 50 + } + } + }, + "com.amazonaws.observabilityadmin#ListResourceTelemetryForOrganizationOutput": { + "type": "structure", + "members": { + "TelemetryConfigurations": { + "target": "com.amazonaws.observabilityadmin#TelemetryConfigurations", + "traits": { + "smithy.api#documentation": "

\n A list of telemetry configurations for AWS resources supported by telemetry config in the organization.\n

" + } + }, + "NextToken": { + "target": "com.amazonaws.observabilityadmin#NextToken", + "traits": { + "smithy.api#documentation": "

\n The token for the next set of items to return. A previous call provides this token.\n

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.observabilityadmin#ListResourceTelemetryInput": { + "type": "structure", + "members": { + "ResourceIdentifierPrefix": { + "target": "com.amazonaws.observabilityadmin#ResourceIdentifierPrefix", + "traits": { + "smithy.api#documentation": "

\n A string used to filter resources which have a ResourceIdentifier starting with the ResourceIdentifierPrefix.\n

" + } + }, + "ResourceTypes": { + "target": "com.amazonaws.observabilityadmin#ResourceTypes", + "traits": { + "smithy.api#documentation": "

\n A list of resource types used to filter resources supported by telemetry config. If this parameter is provided, the resources will be returned in the same order used in the request.\n

" + } + }, + "TelemetryConfigurationState": { + "target": "com.amazonaws.observabilityadmin#TelemetryConfigurationState", + "traits": { + "smithy.api#documentation": "

\n A key-value pair to filter resources based on the telemetry type and the state of the telemetry configuration. The key is the telemetry type and the value is the state.\n

" + } + }, + "ResourceTags": { + "target": "com.amazonaws.observabilityadmin#TagMapInput", + "traits": { + "smithy.api#documentation": "

\n A key-value pair to filter resources based on tags associated with the resource. For more information about tags, see What are tags?\n

" + } + }, + "MaxResults": { + "target": "com.amazonaws.observabilityadmin#ListResourceTelemetryMaxResults", + "traits": { + "smithy.api#default": null, + "smithy.api#documentation": "

\n A number field used to limit the number of results within the returned list.\n

" + } + }, + "NextToken": { + "target": "com.amazonaws.observabilityadmin#NextToken", + "traits": { + "smithy.api#documentation": "

\n The token for the next set of items to return. A previous call generates this token.\n

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.observabilityadmin#ListResourceTelemetryMaxResults": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 1, + "max": 50 + } + } + }, + "com.amazonaws.observabilityadmin#ListResourceTelemetryOutput": { + "type": "structure", + "members": { + "TelemetryConfigurations": { + "target": "com.amazonaws.observabilityadmin#TelemetryConfigurations", + "traits": { + "smithy.api#documentation": "

\n A list of telemetry configurations for AWS resources supported by telemetry config in the caller's account.\n

" + } + }, + "NextToken": { + "target": "com.amazonaws.observabilityadmin#NextToken", + "traits": { + "smithy.api#documentation": "

\n The token for the next set of items to return. A previous call generates this token.\n

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.observabilityadmin#NextToken": { + "type": "string" + }, + "com.amazonaws.observabilityadmin#ObservabilityAdmin": { + "type": "service", + "version": "2018-05-10", + "operations": [ + { + "target": "com.amazonaws.observabilityadmin#GetTelemetryEvaluationStatus" + }, + { + "target": "com.amazonaws.observabilityadmin#GetTelemetryEvaluationStatusForOrganization" + }, + { + "target": "com.amazonaws.observabilityadmin#ListResourceTelemetry" + }, + { + "target": "com.amazonaws.observabilityadmin#ListResourceTelemetryForOrganization" + }, + { + "target": "com.amazonaws.observabilityadmin#StartTelemetryEvaluation" + }, + { + "target": "com.amazonaws.observabilityadmin#StartTelemetryEvaluationForOrganization" + }, + { + "target": "com.amazonaws.observabilityadmin#StopTelemetryEvaluation" + }, + { + "target": "com.amazonaws.observabilityadmin#StopTelemetryEvaluationForOrganization" + } + ], + "traits": { + "aws.api#service": { + "sdkId": "ObservabilityAdmin", + "arnNamespace": "observabilityadmin" + }, + "aws.auth#sigv4": { + "name": "observabilityadmin" + }, + "aws.protocols#restJson1": {}, + "smithy.api#documentation": "

\n Amazon CloudWatch Obsersavability Admin to control temletry config for your AWS Organization or account. Telemetry config config to discover and understand the state of telemetry configuration for your AWS resources from a central view in the CloudWatch console. Telemetry config simplifies the process of auditing your telemetry collection configurations across multiple resource types across your AWS Organization or account. \n For more information, see Auditing CloudWatch telemetry configurations in the CloudWatch User Guide.

\n

For information on the permissions you need to use this API, see Identity and access management for Amazon CloudWatch in the CloudWatch User Guide.

", + "smithy.api#title": "CloudWatch Observability Admin Service", + "smithy.rules#endpointRuleSet": { + "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://observabilityadmin-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://observabilityadmin-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://observabilityadmin.{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://observabilityadmin.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" + } + ], + "type": "tree" + } + ] + }, + "smithy.rules#endpointTests": { + "testCases": [ + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://observabilityadmin-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://observabilityadmin-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://observabilityadmin.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://observabilityadmin.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://observabilityadmin-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://observabilityadmin-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://observabilityadmin.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://observabilityadmin.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://observabilityadmin-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://observabilityadmin-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://observabilityadmin.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://observabilityadmin.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://observabilityadmin-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://observabilityadmin.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://observabilityadmin-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://observabilityadmin.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" + } + } + }, + "com.amazonaws.observabilityadmin#ResourceIdentifier": { + "type": "string" + }, + "com.amazonaws.observabilityadmin#ResourceIdentifierPrefix": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 3, + "max": 768 + } + } + }, + "com.amazonaws.observabilityadmin#ResourceType": { + "type": "enum", + "members": { + "AWS_EC2_INSTANCE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AWS::EC2::Instance" + } + }, + "AWS_EC2_VPC": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AWS::EC2::VPC" + } + }, + "AWS_LAMDBA_FUNCTION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AWS::Lambda::Function" + } + } + } + }, + "com.amazonaws.observabilityadmin#ResourceTypes": { + "type": "list", + "member": { + "target": "com.amazonaws.observabilityadmin#ResourceType" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 5 + }, + "smithy.api#uniqueItems": {} + } + }, + "com.amazonaws.observabilityadmin#StartTelemetryEvaluation": { + "type": "operation", + "input": { + "target": "smithy.api#Unit" + }, + "output": { + "target": "smithy.api#Unit" + }, + "errors": [ + { + "target": "com.amazonaws.observabilityadmin#AccessDeniedException" + }, + { + "target": "com.amazonaws.observabilityadmin#InternalServerException" + }, + { + "target": "com.amazonaws.observabilityadmin#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

\n This action begins onboarding onboarding the caller AWS account to the telemetry config feature.\n

", + "smithy.api#http": { + "method": "POST", + "uri": "/StartTelemetryEvaluation" + } + } + }, + "com.amazonaws.observabilityadmin#StartTelemetryEvaluationForOrganization": { + "type": "operation", + "input": { + "target": "smithy.api#Unit" + }, + "output": { + "target": "smithy.api#Unit" + }, + "errors": [ + { + "target": "com.amazonaws.observabilityadmin#AccessDeniedException" + }, + { + "target": "com.amazonaws.observabilityadmin#InternalServerException" + }, + { + "target": "com.amazonaws.observabilityadmin#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

\n This actions begins onboarding the organization and all member accounts to the telemetry config feature.\n

", + "smithy.api#http": { + "method": "POST", + "uri": "/StartTelemetryEvaluationForOrganization" + } + } + }, + "com.amazonaws.observabilityadmin#Status": { + "type": "enum", + "members": { + "NOT_STARTED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "NOT_STARTED" + } + }, + "STARTING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "STARTING" + } + }, + "FAILED_START": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FAILED_START" + } + }, + "RUNNING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RUNNING" + } + }, + "STOPPING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "STOPPING" + } + }, + "FAILED_STOP": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FAILED_STOP" + } + }, + "STOPPED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "STOPPED" + } + } + } + }, + "com.amazonaws.observabilityadmin#StopTelemetryEvaluation": { + "type": "operation", + "input": { + "target": "smithy.api#Unit" + }, + "output": { + "target": "smithy.api#Unit" + }, + "errors": [ + { + "target": "com.amazonaws.observabilityadmin#AccessDeniedException" + }, + { + "target": "com.amazonaws.observabilityadmin#InternalServerException" + }, + { + "target": "com.amazonaws.observabilityadmin#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

\n This action begins offboarding the caller AWS account from the telemetry config feature.\n

", + "smithy.api#http": { + "method": "POST", + "uri": "/StopTelemetryEvaluation" + } + } + }, + "com.amazonaws.observabilityadmin#StopTelemetryEvaluationForOrganization": { + "type": "operation", + "input": { + "target": "smithy.api#Unit" + }, + "output": { + "target": "smithy.api#Unit" + }, + "errors": [ + { + "target": "com.amazonaws.observabilityadmin#AccessDeniedException" + }, + { + "target": "com.amazonaws.observabilityadmin#InternalServerException" + }, + { + "target": "com.amazonaws.observabilityadmin#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

\n This action offboards the Organization of the caller AWS account from thef telemetry config feature.\n

", + "smithy.api#http": { + "method": "POST", + "uri": "/StopTelemetryEvaluationForOrganization" + } + } + }, + "com.amazonaws.observabilityadmin#TagKey": { + "type": "string", + "traits": { + "aws.api#data": "tagging", + "smithy.api#length": { + "min": 1, + "max": 128 + }, + "smithy.api#pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + } + }, + "com.amazonaws.observabilityadmin#TagMapInput": { + "type": "map", + "key": { + "target": "com.amazonaws.observabilityadmin#TagKey" + }, + "value": { + "target": "com.amazonaws.observabilityadmin#TagValue" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 50 + } + } + }, + "com.amazonaws.observabilityadmin#TagMapOutput": { + "type": "map", + "key": { + "target": "smithy.api#String" + }, + "value": { + "target": "smithy.api#String" + } + }, + "com.amazonaws.observabilityadmin#TagValue": { + "type": "string", + "traits": { + "aws.api#data": "tagging", + "smithy.api#length": { + "min": 0, + "max": 256 + }, + "smithy.api#pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + } + }, + "com.amazonaws.observabilityadmin#TelemetryConfiguration": { + "type": "structure", + "members": { + "AccountIdentifier": { + "target": "com.amazonaws.observabilityadmin#AccountIdentifier", + "traits": { + "smithy.api#documentation": "

\n The account ID which contains the resource managed in telemetry configuration. An example of a valid account ID is 012345678901.\n

" + } + }, + "TelemetryConfigurationState": { + "target": "com.amazonaws.observabilityadmin#TelemetryConfigurationState", + "traits": { + "smithy.api#documentation": "

\n The configuration state for the resource, for example { Logs: NotApplicable; Metrics: Enabled; Traces: NotApplicable; }.\n

" + } + }, + "ResourceType": { + "target": "com.amazonaws.observabilityadmin#ResourceType", + "traits": { + "smithy.api#documentation": "

\n The type of resource, for example AWS::EC2::Instance.\n

" + } + }, + "ResourceIdentifier": { + "target": "com.amazonaws.observabilityadmin#ResourceIdentifier", + "traits": { + "smithy.api#documentation": "

\n The identifier of the resource, for example i-0b22a22eec53b9321.\n

" + } + }, + "ResourceTags": { + "target": "com.amazonaws.observabilityadmin#TagMapOutput", + "traits": { + "smithy.api#documentation": "

\n Tags associated with the resource, for example { Name: \"ExampleInstance\", Environment: \"Development\" }.\n

" + } + }, + "LastUpdateTimeStamp": { + "target": "smithy.api#Long", + "traits": { + "smithy.api#documentation": "

\n The timestamp of the last change to the telemetry configuration for the resource. For example, 1728679196318.\n

" + } + } + }, + "traits": { + "smithy.api#documentation": "

\n A model representing the state of a resource within an account according to telemetry config.\n

" + } + }, + "com.amazonaws.observabilityadmin#TelemetryConfigurationState": { + "type": "map", + "key": { + "target": "com.amazonaws.observabilityadmin#TelemetryType" + }, + "value": { + "target": "com.amazonaws.observabilityadmin#TelemetryState" + } + }, + "com.amazonaws.observabilityadmin#TelemetryConfigurations": { + "type": "list", + "member": { + "target": "com.amazonaws.observabilityadmin#TelemetryConfiguration" + } + }, + "com.amazonaws.observabilityadmin#TelemetryState": { + "type": "enum", + "members": { + "ENABLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Enabled" + } + }, + "DISABLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Disabled" + } + }, + "NOT_APPLICABLE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "NotApplicable" + } + } + } + }, + "com.amazonaws.observabilityadmin#TelemetryType": { + "type": "enum", + "members": { + "LOGS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Logs" + } + }, + "METRICS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Metrics" + } + }, + "TRACES": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Traces" + } + } + } + }, + "com.amazonaws.observabilityadmin#ValidationException": { + "type": "structure", + "members": { + "Message": { + "target": "smithy.api#String" + } + }, + "traits": { + "smithy.api#documentation": "

\n Indicates input validation failed. Check your request parameters and retry the request.\n

", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + } + } +} \ No newline at end of file diff --git a/codegen/sdk/aws-models/opensearch.json b/codegen/sdk/aws-models/opensearch.json index d9e59bd5367..a6bf9f26500 100644 --- a/codegen/sdk/aws-models/opensearch.json +++ b/codegen/sdk/aws-models/opensearch.json @@ -406,6 +406,95 @@ "smithy.api#output": {} } }, + "com.amazonaws.opensearch#AddDirectQueryDataSource": { + "type": "operation", + "input": { + "target": "com.amazonaws.opensearch#AddDirectQueryDataSourceRequest" + }, + "output": { + "target": "com.amazonaws.opensearch#AddDirectQueryDataSourceResponse" + }, + "errors": [ + { + "target": "com.amazonaws.opensearch#BaseException" + }, + { + "target": "com.amazonaws.opensearch#DisabledOperationException" + }, + { + "target": "com.amazonaws.opensearch#InternalException" + }, + { + "target": "com.amazonaws.opensearch#LimitExceededException" + }, + { + "target": "com.amazonaws.opensearch#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.opensearch#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

\n Adds a new data source in Amazon OpenSearch Service \n so that you can perform direct queries on external data.\n

", + "smithy.api#http": { + "method": "POST", + "uri": "/2021-01-01/opensearch/directQueryDataSource", + "code": 200 + } + } + }, + "com.amazonaws.opensearch#AddDirectQueryDataSourceRequest": { + "type": "structure", + "members": { + "DataSourceName": { + "target": "com.amazonaws.opensearch#DirectQueryDataSourceName", + "traits": { + "smithy.api#documentation": "

\n A unique, user-defined label to identify the data source \n within your OpenSearch Service environment.\n

", + "smithy.api#required": {} + } + }, + "DataSourceType": { + "target": "com.amazonaws.opensearch#DirectQueryDataSourceType", + "traits": { + "smithy.api#documentation": "

\n The supported Amazon Web Services service that you want to use as the source for direct queries in OpenSearch Service.\n

", + "smithy.api#required": {} + } + }, + "Description": { + "target": "com.amazonaws.opensearch#DirectQueryDataSourceDescription", + "traits": { + "smithy.api#documentation": "

\n An optional text field for providing additional context and details about the data source.\n

" + } + }, + "OpenSearchArns": { + "target": "com.amazonaws.opensearch#DirectQueryOpenSearchARNList", + "traits": { + "smithy.api#documentation": "

\n A list of Amazon Resource Names (ARNs) for the OpenSearch \n collections that are associated with the direct query data source.\n

", + "smithy.api#required": {} + } + }, + "TagList": { + "target": "com.amazonaws.opensearch#TagList" + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.opensearch#AddDirectQueryDataSourceResponse": { + "type": "structure", + "members": { + "DataSourceArn": { + "target": "com.amazonaws.opensearch#String", + "traits": { + "smithy.api#documentation": "

\n The unique, system-generated identifier that represents the data source.\n

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.opensearch#AddTags": { "type": "operation", "input": { @@ -429,7 +518,7 @@ } ], "traits": { - "smithy.api#documentation": "

Attaches tags to an existing Amazon OpenSearch Service domain. Tags are a set of\n case-sensitive key-value pairs. A domain can have up to 10 tags. For more information, see\n Tagging Amazon OpenSearch Service domains.\n

", + "smithy.api#documentation": "

Attaches tags to an existing Amazon OpenSearch Service domain, data source, or application.

\n

Tags are a set of case-sensitive key-value pairs. A domain, data source, or application can\n have up to 10 tags. For more information, see Tagging\n Amazon OpenSearch Service resources.

", "smithy.api#http": { "method": "POST", "uri": "/2021-01-01/tags", @@ -443,7 +532,7 @@ "ARN": { "target": "com.amazonaws.opensearch#ARN", "traits": { - "smithy.api#documentation": "

Amazon Resource Name (ARN) for the OpenSearch Service domain to which you want to attach\n resource tags.

", + "smithy.api#documentation": "

Amazon Resource Name (ARN) for the OpenSearch Service domain, data source, or application to\n which you want to attach resource tags.

", "smithy.api#required": {} } }, @@ -456,7 +545,7 @@ } }, "traits": { - "smithy.api#documentation": "

Container for the parameters to the AddTags operation. Specifies the tags to\n attach to the domain.

", + "smithy.api#documentation": "

Container for the parameters to the AddTags operation. Specifies the tags to\n attach to the domain, data source, or application.

", "smithy.api#input": {} } }, @@ -640,6 +729,9 @@ { "target": "com.amazonaws.opensearch#AddDataSource" }, + { + "target": "com.amazonaws.opensearch#AddDirectQueryDataSource" + }, { "target": "com.amazonaws.opensearch#AddTags" }, @@ -679,6 +771,9 @@ { "target": "com.amazonaws.opensearch#DeleteDataSource" }, + { + "target": "com.amazonaws.opensearch#DeleteDirectQueryDataSource" + }, { "target": "com.amazonaws.opensearch#DeleteDomain" }, @@ -754,6 +849,9 @@ { "target": "com.amazonaws.opensearch#GetDataSource" }, + { + "target": "com.amazonaws.opensearch#GetDirectQueryDataSource" + }, { "target": "com.amazonaws.opensearch#GetDomainMaintenanceStatus" }, @@ -772,6 +870,9 @@ { "target": "com.amazonaws.opensearch#ListDataSources" }, + { + "target": "com.amazonaws.opensearch#ListDirectQueryDataSources" + }, { "target": "com.amazonaws.opensearch#ListDomainMaintenances" }, @@ -829,6 +930,9 @@ { "target": "com.amazonaws.opensearch#UpdateDataSource" }, + { + "target": "com.amazonaws.opensearch#UpdateDirectQueryDataSource" + }, { "target": "com.amazonaws.opensearch#UpdateDomainConfig" }, @@ -3143,6 +3247,21 @@ } } }, + "com.amazonaws.opensearch#CloudWatchDirectQueryDataSource": { + "type": "structure", + "members": { + "RoleArn": { + "target": "com.amazonaws.opensearch#DirectQueryDataSourceRoleArn", + "traits": { + "smithy.api#documentation": "

\n The unique identifier of the IAM role that grants \n OpenSearch Service permission to access the specified data source.\n

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

\n Configuration details for a CloudWatch Logs data source \n that can be used for direct queries.\n

" + } + }, "com.amazonaws.opensearch#CloudWatchLogsLogGroupArn": { "type": "string", "traits": { @@ -4406,6 +4525,56 @@ "smithy.api#output": {} } }, + "com.amazonaws.opensearch#DeleteDirectQueryDataSource": { + "type": "operation", + "input": { + "target": "com.amazonaws.opensearch#DeleteDirectQueryDataSourceRequest" + }, + "output": { + "target": "smithy.api#Unit" + }, + "errors": [ + { + "target": "com.amazonaws.opensearch#BaseException" + }, + { + "target": "com.amazonaws.opensearch#DisabledOperationException" + }, + { + "target": "com.amazonaws.opensearch#InternalException" + }, + { + "target": "com.amazonaws.opensearch#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.opensearch#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

\n Deletes a previously configured direct query data \n source from Amazon OpenSearch Service.\n

", + "smithy.api#http": { + "method": "DELETE", + "uri": "/2021-01-01/opensearch/directQueryDataSource/{DataSourceName}", + "code": 200 + } + } + }, + "com.amazonaws.opensearch#DeleteDirectQueryDataSourceRequest": { + "type": "structure", + "members": { + "DataSourceName": { + "target": "com.amazonaws.opensearch#DirectQueryDataSourceName", + "traits": { + "smithy.api#documentation": "

\n A unique, user-defined label to identify the data source \n within your OpenSearch Service environment.\n

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, "com.amazonaws.opensearch#DeleteDomain": { "type": "operation", "input": { @@ -6083,6 +6252,112 @@ "com.amazonaws.opensearch#Description": { "type": "string" }, + "com.amazonaws.opensearch#DirectQueryDataSource": { + "type": "structure", + "members": { + "DataSourceName": { + "target": "com.amazonaws.opensearch#DirectQueryDataSourceName", + "traits": { + "smithy.api#documentation": "

\n A unique, user-defined label to identify the data source \n within your OpenSearch Service environment.\n

" + } + }, + "DataSourceType": { + "target": "com.amazonaws.opensearch#DirectQueryDataSourceType", + "traits": { + "smithy.api#documentation": "

\n The supported Amazon Web Services service that is used as the source for direct queries in OpenSearch Service. \n

" + } + }, + "Description": { + "target": "com.amazonaws.opensearch#DirectQueryDataSourceDescription", + "traits": { + "smithy.api#documentation": "

\n A description that provides additional context and details about the data source.

" + } + }, + "OpenSearchArns": { + "target": "com.amazonaws.opensearch#DirectQueryOpenSearchARNList", + "traits": { + "smithy.api#documentation": "

\n A list of Amazon Resource Names (ARNs) for the OpenSearch \n collections that are associated with the direct query data source.\n

" + } + }, + "DataSourceArn": { + "target": "com.amazonaws.opensearch#String", + "traits": { + "smithy.api#documentation": "

\n The unique, system-generated identifier that represents the data source.

" + } + }, + "TagList": { + "target": "com.amazonaws.opensearch#TagList", + "traits": { + "smithy.api#documentation": "

\n A list of tags attached to a direct query data source.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

\n The configuration details for a data source that can be directly queried.\n

" + } + }, + "com.amazonaws.opensearch#DirectQueryDataSourceDescription": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 1000 + }, + "smithy.api#pattern": "^([a-zA-Z0-9_])*[\\\\a-zA-Z0-9_@#%*+=:?./!\\s-]*$" + } + }, + "com.amazonaws.opensearch#DirectQueryDataSourceList": { + "type": "list", + "member": { + "target": "com.amazonaws.opensearch#DirectQueryDataSource" + } + }, + "com.amazonaws.opensearch#DirectQueryDataSourceName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 3, + "max": 80 + }, + "smithy.api#pattern": "^[a-z][a-z0-9_]+$" + } + }, + "com.amazonaws.opensearch#DirectQueryDataSourceRoleArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 32, + "max": 200 + }, + "smithy.api#pattern": "^arn:aws[a-zA-Z-]*:iam::\\d{12}:role(\\/service-role)?\\/[A-Za-z0-9+=,.@\\-_]{1,64}$" + } + }, + "com.amazonaws.opensearch#DirectQueryDataSourceType": { + "type": "union", + "members": { + "CloudWatchLog": { + "target": "com.amazonaws.opensearch#CloudWatchDirectQueryDataSource", + "traits": { + "smithy.api#documentation": "

\n Specifies CloudWatch Logs as a type of data source for direct queries.\n

" + } + }, + "SecurityLake": { + "target": "com.amazonaws.opensearch#SecurityLakeDirectQueryDataSource", + "traits": { + "smithy.api#documentation": "

\n Specifies Security Lake as a type of data source for direct queries.\n

" + } + } + }, + "traits": { + "smithy.api#documentation": "

\n The type of data source that is used for direct queries. \n This is a supported Amazon Web Services service, such as CloudWatch Logs or Security Lake.\n

" + } + }, + "com.amazonaws.opensearch#DirectQueryOpenSearchARNList": { + "type": "list", + "member": { + "target": "com.amazonaws.opensearch#ARN" + } + }, "com.amazonaws.opensearch#DisableTimestamp": { "type": "timestamp" }, @@ -7725,6 +8000,94 @@ "smithy.api#output": {} } }, + "com.amazonaws.opensearch#GetDirectQueryDataSource": { + "type": "operation", + "input": { + "target": "com.amazonaws.opensearch#GetDirectQueryDataSourceRequest" + }, + "output": { + "target": "com.amazonaws.opensearch#GetDirectQueryDataSourceResponse" + }, + "errors": [ + { + "target": "com.amazonaws.opensearch#BaseException" + }, + { + "target": "com.amazonaws.opensearch#DisabledOperationException" + }, + { + "target": "com.amazonaws.opensearch#InternalException" + }, + { + "target": "com.amazonaws.opensearch#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.opensearch#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

\n Returns detailed configuration information for \n a specific direct query data source in Amazon OpenSearch Service.\n

", + "smithy.api#http": { + "method": "GET", + "uri": "/2021-01-01/opensearch/directQueryDataSource/{DataSourceName}", + "code": 200 + } + } + }, + "com.amazonaws.opensearch#GetDirectQueryDataSourceRequest": { + "type": "structure", + "members": { + "DataSourceName": { + "target": "com.amazonaws.opensearch#DirectQueryDataSourceName", + "traits": { + "smithy.api#documentation": "

\n A unique, user-defined label that identifies the data source within \n your OpenSearch Service environment.\n

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.opensearch#GetDirectQueryDataSourceResponse": { + "type": "structure", + "members": { + "DataSourceName": { + "target": "com.amazonaws.opensearch#DirectQueryDataSourceName", + "traits": { + "smithy.api#documentation": "

\n A unique, user-defined label to identify the data source \n within your OpenSearch Service environment.\n

" + } + }, + "DataSourceType": { + "target": "com.amazonaws.opensearch#DirectQueryDataSourceType", + "traits": { + "smithy.api#documentation": "

\n The supported Amazon Web Services service that is used as the source for \n direct queries in OpenSearch Service. \n

" + } + }, + "Description": { + "target": "com.amazonaws.opensearch#DirectQueryDataSourceDescription", + "traits": { + "smithy.api#documentation": "

\n A description that provides additional context and details about the data source.\n

" + } + }, + "OpenSearchArns": { + "target": "com.amazonaws.opensearch#DirectQueryOpenSearchARNList", + "traits": { + "smithy.api#documentation": "

\n A list of Amazon Resource Names (ARNs) for the OpenSearch \n collections that are associated with the direct query data source.\n

" + } + }, + "DataSourceArn": { + "target": "com.amazonaws.opensearch#String", + "traits": { + "smithy.api#documentation": "

\n The unique, system-generated identifier that represents the data source.\n

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.opensearch#GetDomainMaintenanceStatus": { "type": "operation", "input": { @@ -8988,6 +9351,71 @@ "smithy.api#output": {} } }, + "com.amazonaws.opensearch#ListDirectQueryDataSources": { + "type": "operation", + "input": { + "target": "com.amazonaws.opensearch#ListDirectQueryDataSourcesRequest" + }, + "output": { + "target": "com.amazonaws.opensearch#ListDirectQueryDataSourcesResponse" + }, + "errors": [ + { + "target": "com.amazonaws.opensearch#BaseException" + }, + { + "target": "com.amazonaws.opensearch#DisabledOperationException" + }, + { + "target": "com.amazonaws.opensearch#InternalException" + }, + { + "target": "com.amazonaws.opensearch#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.opensearch#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

\n Lists an inventory of all the direct query data sources that you\n have configured within Amazon OpenSearch Service.\n

", + "smithy.api#http": { + "method": "GET", + "uri": "/2021-01-01/opensearch/directQueryDataSource", + "code": 200 + } + } + }, + "com.amazonaws.opensearch#ListDirectQueryDataSourcesRequest": { + "type": "structure", + "members": { + "NextToken": { + "target": "com.amazonaws.opensearch#NextToken", + "traits": { + "smithy.api#httpQuery": "nexttoken" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.opensearch#ListDirectQueryDataSourcesResponse": { + "type": "structure", + "members": { + "NextToken": { + "target": "com.amazonaws.opensearch#NextToken" + }, + "DirectQueryDataSources": { + "target": "com.amazonaws.opensearch#DirectQueryDataSourceList", + "traits": { + "smithy.api#documentation": "

\n A list of the direct query data sources that are returned by \n the ListDirectQueryDataSources API operation.\n

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.opensearch#ListDomainMaintenances": { "type": "operation", "input": { @@ -9555,7 +9983,7 @@ } ], "traits": { - "smithy.api#documentation": "

Returns all resource tags for an Amazon OpenSearch Service domain. For more information, see\n Tagging Amazon OpenSearch Service domains.

", + "smithy.api#documentation": "

Returns all resource tags for an Amazon OpenSearch Service domain, data source, or\n application. For more information, see Tagging\n Amazon OpenSearch Service resources.

", "smithy.api#http": { "method": "GET", "uri": "/2021-01-01/tags", @@ -9569,7 +9997,7 @@ "ARN": { "target": "com.amazonaws.opensearch#ARN", "traits": { - "smithy.api#documentation": "

Amazon Resource Name (ARN) for the domain to view tags for.

", + "smithy.api#documentation": "

Amazon Resource Name (ARN) for the domain, data source, or application to view tags\n for.

", "smithy.api#httpQuery": "arn", "smithy.api#required": {} } @@ -9586,7 +10014,7 @@ "TagList": { "target": "com.amazonaws.opensearch#TagList", "traits": { - "smithy.api#documentation": "

List of resource tags associated with the specified domain.

" + "smithy.api#documentation": "

List of resource tags associated with the specified domain, data source, or\n application.

" } } }, @@ -12187,7 +12615,7 @@ } ], "traits": { - "smithy.api#documentation": "

Removes the specified set of tags from an Amazon OpenSearch Service domain. For more\n information, see Tagging Amazon OpenSearch Service domains.

", + "smithy.api#documentation": "

Removes the specified set of tags from an Amazon OpenSearch Service domain, data source, or\n application. For more information, see Tagging Amazon OpenSearch Service resources.

", "smithy.api#http": { "method": "POST", "uri": "/2021-01-01/tags-removal", @@ -12201,14 +12629,14 @@ "ARN": { "target": "com.amazonaws.opensearch#ARN", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the domain from which you want to delete the specified\n tags.

", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the domain, data source, or application from which you\n want to delete the specified tags.

", "smithy.api#required": {} } }, "TagKeys": { "target": "com.amazonaws.opensearch#StringList", "traits": { - "smithy.api#documentation": "

The list of tag keys to remove from the domain.

", + "smithy.api#documentation": "

The list of tag keys to remove from the domain, data source, or application.

", "smithy.api#required": {} } } @@ -12963,6 +13391,21 @@ } } }, + "com.amazonaws.opensearch#SecurityLakeDirectQueryDataSource": { + "type": "structure", + "members": { + "RoleArn": { + "target": "com.amazonaws.opensearch#DirectQueryDataSourceRoleArn", + "traits": { + "smithy.api#documentation": "

\n The unique identifier of the IAM role that grants OpenSearch \n Service permission to access the specified data source.\n

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

\n Configuration details for a Security Lake data source \n that can be used for direct queries.\n

" + } + }, "com.amazonaws.opensearch#ServiceSoftwareOptions": { "type": "structure", "members": { @@ -13761,6 +14204,90 @@ "smithy.api#output": {} } }, + "com.amazonaws.opensearch#UpdateDirectQueryDataSource": { + "type": "operation", + "input": { + "target": "com.amazonaws.opensearch#UpdateDirectQueryDataSourceRequest" + }, + "output": { + "target": "com.amazonaws.opensearch#UpdateDirectQueryDataSourceResponse" + }, + "errors": [ + { + "target": "com.amazonaws.opensearch#BaseException" + }, + { + "target": "com.amazonaws.opensearch#DisabledOperationException" + }, + { + "target": "com.amazonaws.opensearch#InternalException" + }, + { + "target": "com.amazonaws.opensearch#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.opensearch#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

\n Updates the configuration or properties of an existing\n direct query data source in Amazon OpenSearch Service.\n

", + "smithy.api#http": { + "method": "PUT", + "uri": "/2021-01-01/opensearch/directQueryDataSource/{DataSourceName}", + "code": 200 + } + } + }, + "com.amazonaws.opensearch#UpdateDirectQueryDataSourceRequest": { + "type": "structure", + "members": { + "DataSourceName": { + "target": "com.amazonaws.opensearch#DirectQueryDataSourceName", + "traits": { + "smithy.api#documentation": "

\n A unique, user-defined label to identify the data \n source within your OpenSearch Service environment.\n

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "DataSourceType": { + "target": "com.amazonaws.opensearch#DirectQueryDataSourceType", + "traits": { + "smithy.api#documentation": "

\n The supported Amazon Web Services service that you want to use as the source for \n direct queries in OpenSearch Service. \n

", + "smithy.api#required": {} + } + }, + "Description": { + "target": "com.amazonaws.opensearch#DirectQueryDataSourceDescription", + "traits": { + "smithy.api#documentation": "

\n An optional text field for providing additional context and \n details about the data source.\n

" + } + }, + "OpenSearchArns": { + "target": "com.amazonaws.opensearch#DirectQueryOpenSearchARNList", + "traits": { + "smithy.api#documentation": "

\n A list of Amazon Resource Names (ARNs) for the OpenSearch \n collections that are associated with the direct query data source.\n

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.opensearch#UpdateDirectQueryDataSourceResponse": { + "type": "structure", + "members": { + "DataSourceArn": { + "target": "com.amazonaws.opensearch#String", + "traits": { + "smithy.api#documentation": "

\n The unique, system-generated identifier that represents the data source.\n

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.opensearch#UpdateDomainConfig": { "type": "operation", "input": { diff --git a/codegen/sdk/aws-models/organizations.json b/codegen/sdk/aws-models/organizations.json index cd8e9d43312..8c22f0db6ec 100644 --- a/codegen/sdk/aws-models/organizations.json +++ b/codegen/sdk/aws-models/organizations.json @@ -1902,7 +1902,7 @@ } ], "traits": { - "smithy.api#documentation": "

Attaches a policy to a root, an organizational unit (OU), or an individual account.\n How the policy affects accounts depends on the type of policy. Refer to the\n Organizations User Guide for information about each policy type:

\n \n

This operation can be called only from the organization's\nmanagement account or by a member account that is a delegated administrator for an Amazon Web Services service.

", + "smithy.api#documentation": "

Attaches a policy to a root, an organizational unit (OU), or an individual account.\n How the policy affects accounts depends on the type of policy. Refer to the\n Organizations User Guide for information about each policy type:

\n \n

This operation can be called only from the organization's\nmanagement account or by a member account that is a delegated administrator for an Amazon Web Services service.

", "smithy.api#examples": [ { "title": "To attach a policy to an account", @@ -3129,7 +3129,7 @@ "Type": { "target": "com.amazonaws.organizations#PolicyType", "traits": { - "smithy.api#documentation": "

The type of policy to create. You can specify one of the following values:

\n ", + "smithy.api#documentation": "

The type of policy to create. You can specify one of the following values:

\n ", "smithy.api#required": {} } }, @@ -3828,7 +3828,7 @@ } ], "traits": { - "smithy.api#documentation": "

Returns the contents of the effective policy for specified policy type and account.\n The effective policy is the aggregation of any policies of the specified type that the\n account inherits, plus any policy of that type that is directly attached to the\n account.

\n

This operation applies only to policy types other than service\n control policies (SCPs).

\n

For more information about policy inheritance, see Understanding\n management policy inheritance in the\n Organizations User Guide.

\n

This operation can be called from any account in the organization.

" + "smithy.api#documentation": "

Returns the contents of the effective policy for specified policy type and account.\n The effective policy is the aggregation of any policies of the specified type that the\n account inherits, plus any policy of that type that is directly attached to the\n account.

\n

This operation applies only to management policies. It does not apply to authorization policies: service\n control policies (SCPs) and resource control policies (RCPs).

\n

For more information about policy inheritance, see Understanding\n management policy inheritance in the\n Organizations User Guide.

\n

This operation can be called from any account in the organization.

" } }, "com.amazonaws.organizations#DescribeEffectivePolicyRequest": { @@ -3837,7 +3837,7 @@ "PolicyType": { "target": "com.amazonaws.organizations#EffectivePolicyType", "traits": { - "smithy.api#documentation": "

The type of policy that you want information about. You can specify one of the\n following values:

\n ", + "smithy.api#documentation": "

The type of policy that you want information about. You can specify one of the\n following values:

\n ", "smithy.api#required": {} } }, @@ -4478,7 +4478,7 @@ "PolicyType": { "target": "com.amazonaws.organizations#PolicyType", "traits": { - "smithy.api#documentation": "

The policy type that you want to disable in this root. You can specify one of the\n following values:

\n ", + "smithy.api#documentation": "

The policy type that you want to disable in this root. You can specify one of the\n following values:

\n ", "smithy.api#required": {} } } @@ -4636,6 +4636,12 @@ "traits": { "smithy.api#enumValue": "CHATBOT_POLICY" } + }, + "DECLARATIVE_POLICY_EC2": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DECLARATIVE_POLICY_EC2" + } } } }, @@ -4873,7 +4879,7 @@ "PolicyType": { "target": "com.amazonaws.organizations#PolicyType", "traits": { - "smithy.api#documentation": "

The policy type that you want to enable. You can specify one of the following\n values:

\n ", + "smithy.api#documentation": "

The policy type that you want to enable. You can specify one of the following\n values:

\n ", "smithy.api#required": {} } } @@ -7134,7 +7140,7 @@ "Filter": { "target": "com.amazonaws.organizations#PolicyType", "traits": { - "smithy.api#documentation": "

The type of policy that you want to include in the returned list. You must specify one\n of the following values:

\n ", + "smithy.api#documentation": "

The type of policy that you want to include in the returned list. You must specify one\n of the following values:

\n ", "smithy.api#required": {} } }, @@ -7181,7 +7187,7 @@ "Filter": { "target": "com.amazonaws.organizations#PolicyType", "traits": { - "smithy.api#documentation": "

Specifies the type of policy that you want to include in the response. You must\n specify one of the following values:

\n ", + "smithy.api#documentation": "

Specifies the type of policy that you want to include in the response. You must\n specify one of the following values:

\n ", "smithy.api#required": {} } }, @@ -8137,6 +8143,12 @@ "traits": { "smithy.api#enumValue": "CHATBOT_POLICY" } + }, + "DECLARATIVE_POLICY_EC2": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DECLARATIVE_POLICY_EC2" + } } } }, diff --git a/codegen/sdk/aws-models/qbusiness.json b/codegen/sdk/aws-models/qbusiness.json index f7be686f52d..5d29a31ce1a 100644 --- a/codegen/sdk/aws-models/qbusiness.json +++ b/codegen/sdk/aws-models/qbusiness.json @@ -515,9 +515,15 @@ "target": "com.amazonaws.qbusiness#ListApplications" }, "resources": [ + { + "target": "com.amazonaws.qbusiness#DataAccessorResource" + }, { "target": "com.amazonaws.qbusiness#IndexResource" }, + { + "target": "com.amazonaws.qbusiness#IntegrationResource" + }, { "target": "com.amazonaws.qbusiness#PluginResource" }, @@ -604,26 +610,104 @@ "smithy.api#documentation": "

The creator mode specific admin controls configured for an Amazon Q Business application.\n Determines whether an end user can generate LLM-only responses when they use the web\n experience.

\n

For more information, see Admin controls and guardrails and Conversation settings.

" } }, - "com.amazonaws.qbusiness#AttachmentInput": { + "com.amazonaws.qbusiness#Attachment": { "type": "structure", "members": { + "attachmentId": { + "target": "com.amazonaws.qbusiness#AttachmentId", + "traits": { + "smithy.api#documentation": "

The identifier of the Amazon Q Business attachment.

" + } + }, + "conversationId": { + "target": "com.amazonaws.qbusiness#ConversationId", + "traits": { + "smithy.api#documentation": "

The identifier of the Amazon Q Business conversation the attachment is associated with.

" + } + }, "name": { "target": "com.amazonaws.qbusiness#AttachmentName", "traits": { - "smithy.api#documentation": "

The name of the file.

", - "smithy.api#required": {} + "smithy.api#documentation": "

Filename of the Amazon Q Business attachment.

" + } + }, + "copyFrom": { + "target": "com.amazonaws.qbusiness#CopyFromSource", + "traits": { + "smithy.api#documentation": "

A CopyFromSource containing a reference to the original source of the Amazon Q Business attachment.

" + } + }, + "fileType": { + "target": "com.amazonaws.qbusiness#String", + "traits": { + "smithy.api#documentation": "

Filetype of the Amazon Q Business attachment.

" + } + }, + "fileSize": { + "target": "com.amazonaws.qbusiness#Integer", + "traits": { + "smithy.api#documentation": "

Size in bytes of the Amazon Q Business attachment.

" + } + }, + "md5chksum": { + "target": "com.amazonaws.qbusiness#String", + "traits": { + "smithy.api#documentation": "

MD5 checksum of the Amazon Q Business attachment contents.

" + } + }, + "createdAt": { + "target": "com.amazonaws.qbusiness#Timestamp", + "traits": { + "smithy.api#documentation": "

The Unix timestamp when the Amazon Q Business attachment was created.

" + } + }, + "status": { + "target": "com.amazonaws.qbusiness#AttachmentStatus", + "traits": { + "smithy.api#documentation": "

AttachmentStatus of the Amazon Q Business attachment.

" } }, + "error": { + "target": "com.amazonaws.qbusiness#ErrorDetail", + "traits": { + "smithy.api#documentation": "

ErrorDetail providing information about a Amazon Q Business attachment error.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

An attachment in an Amazon Q Business conversation.

" + } + }, + "com.amazonaws.qbusiness#AttachmentId": { + "type": "string", + "traits": { + "smithy.api#pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$" + } + }, + "com.amazonaws.qbusiness#AttachmentInput": { + "type": "structure", + "members": { "data": { "target": "com.amazonaws.qbusiness#Blob", "traits": { - "smithy.api#documentation": "

The data contained within the uploaded file.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The contents of the attachment.

" + } + }, + "name": { + "target": "com.amazonaws.qbusiness#AttachmentName", + "traits": { + "smithy.api#documentation": "

The filename of the attachment.

" + } + }, + "copyFrom": { + "target": "com.amazonaws.qbusiness#CopyFromSource", + "traits": { + "smithy.api#documentation": "

A reference to an existing attachment.

" } } }, "traits": { - "smithy.api#documentation": "

A file directly uploaded into a web experience chat.

" + "smithy.api#documentation": "

This is either a file directly uploaded into a web experience chat or a reference to an existing attachment that is part of a web experience chat.

" } }, "com.amazonaws.qbusiness#AttachmentInputEvent": { @@ -637,6 +721,12 @@ "smithy.api#documentation": "

A file input event activated by a end user request to upload files into their web\n experience chat.

" } }, + "com.amazonaws.qbusiness#AttachmentList": { + "type": "list", + "member": { + "target": "com.amazonaws.qbusiness#Attachment" + } + }, "com.amazonaws.qbusiness#AttachmentName": { "type": "string", "traits": { @@ -667,6 +757,18 @@ "traits": { "smithy.api#documentation": "

An error associated with a file uploaded during chat.

" } + }, + "attachmentId": { + "target": "com.amazonaws.qbusiness#AttachmentId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the Amazon Q Business attachment.

" + } + }, + "conversationId": { + "target": "com.amazonaws.qbusiness#ConversationId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the Amazon Q Business conversation.

" + } } }, "traits": { @@ -682,10 +784,10 @@ "smithy.api#enumValue": "FAILED" } }, - "SUCCEEDED": { + "SUCCESS": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "SUCCEEDED" + "smithy.api#enumValue": "SUCCESS" } } } @@ -1199,11 +1301,6 @@ "type": "list", "member": { "target": "com.amazonaws.qbusiness#BlockedPhrase" - }, - "traits": { - "smithy.api#length": { - "max": 5 - } } }, "com.amazonaws.qbusiness#BlockedPhrasesConfiguration": { @@ -1261,6 +1358,49 @@ } } }, + "com.amazonaws.qbusiness#BrowserExtension": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "FIREFOX", + "name": "FIREFOX" + }, + { + "value": "CHROME", + "name": "CHROME" + } + ] + } + }, + "com.amazonaws.qbusiness#BrowserExtensionConfiguration": { + "type": "structure", + "members": { + "enabledBrowserExtensions": { + "target": "com.amazonaws.qbusiness#BrowserExtensionList", + "traits": { + "smithy.api#documentation": "

Specify the browser extensions allowed for your Amazon Q web experience.

\n
    \n
  • \n

    \n CHROME — Enables the extension for Chromium-based browsers (Google Chrome, Microsoft\n Edge, Opera, etc.).

    \n
  • \n
  • \n

    \n FIREFOX — Enables the extension for Mozilla Firefox.

    \n
  • \n
  • \n

    \n CHROME and FIREFOX — Enable the extension for Chromium-based browsers\n and Mozilla Firefox.

    \n
  • \n
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

The container for browser extension configuration for an Amazon Q Business web experience.

" + } + }, + "com.amazonaws.qbusiness#BrowserExtensionList": { + "type": "list", + "member": { + "target": "com.amazonaws.qbusiness#BrowserExtension" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 2 + }, + "smithy.api#uniqueItems": {} + } + }, "com.amazonaws.qbusiness#Chat": { "type": "operation", "input": { @@ -1276,6 +1416,9 @@ { "target": "com.amazonaws.qbusiness#ConflictException" }, + { + "target": "com.amazonaws.qbusiness#ExternalResourceException" + }, { "target": "com.amazonaws.qbusiness#InternalServerException" }, @@ -1510,6 +1653,9 @@ { "target": "com.amazonaws.qbusiness#ConflictException" }, + { + "target": "com.amazonaws.qbusiness#ExternalResourceException" + }, { "target": "com.amazonaws.qbusiness#InternalServerException" }, @@ -1604,7 +1750,7 @@ "chatMode": { "target": "com.amazonaws.qbusiness#ChatMode", "traits": { - "smithy.api#documentation": "

The chat modes available to an Amazon Q Business end user.

\n
    \n
  • \n

    \n RETRIEVAL_MODE - The default chat mode for an\n Amazon Q Business application. When this mode is enabled, Amazon Q Business generates\n responses only from data sources connected to an Amazon Q Business\n application.

    \n
  • \n
  • \n

    \n CREATOR_MODE - By selecting this mode, users can choose to\n generate responses only from the LLM knowledge, without consulting connected\n data sources, for a chat request.

    \n
  • \n
  • \n

    \n PLUGIN_MODE - By selecting this mode, users can choose to\n use plugins in chat.

    \n
  • \n
\n

For more information, see Admin controls and guardrails, Plugins,\n and Conversation settings.

" + "smithy.api#documentation": "

The chatMode parameter determines the chat modes available to \n Amazon Q Business users:

\n
    \n
  • \n

    \n RETRIEVAL_MODE - If you choose this mode, Amazon Q generates responses solely from the data sources connected and\n indexed by the application. If an answer is not found in the data sources or\n there are no data sources available, Amazon Q will respond with a\n \"No Answer Found\" message, unless LLM knowledge has\n been enabled. In that case, Amazon Q will generate a response from\n the LLM knowledge

    \n
  • \n
  • \n

    \n CREATOR_MODE - By selecting this mode, you can choose to generate \n responses only from the LLM knowledge. You can also attach files and have Amazon Q \n generate a response based on the data in those files. \n If the attached files do not contain an answer for the query, Amazon Q \n will automatically fall back to generating a response from the LLM knowledge.

    \n
  • \n
  • \n

    \n PLUGIN_MODE - By selecting this mode, users can choose to\n use plugins in chat to get their responses.

    \n
  • \n
\n \n

If none of the modes are selected, Amazon Q will only respond using the information\n from the attached files.

\n
\n

For more information, see Admin controls and guardrails, Plugins,\n and Response sources.

" } }, "chatModeConfiguration": { @@ -1687,7 +1833,8 @@ "smithy.api#length": { "min": 1, "max": 255 - } + }, + "smithy.api#pattern": "^[a-zA-Z0-9_.:/()*?=-]*$" } }, "com.amazonaws.qbusiness#ClientIdsForOIDC": { @@ -1751,7 +1898,7 @@ } }, "traits": { - "smithy.api#documentation": "

You are trying to perform an action that conflicts with the current status of your\n resource. Fix any inconsistences with your resources and try again.

", + "smithy.api#documentation": "

You are trying to perform an action that conflicts with the current status of your\n resource. Fix any inconsistencies with your resources and try again.

", "smithy.api#error": "client", "smithy.api#httpError": 409 } @@ -1897,6 +2044,28 @@ "smithy.api#pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{35}$" } }, + "com.amazonaws.qbusiness#ConversationSource": { + "type": "structure", + "members": { + "conversationId": { + "target": "com.amazonaws.qbusiness#ConversationId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the Amazon Q Business conversation.

", + "smithy.api#required": {} + } + }, + "attachmentId": { + "target": "com.amazonaws.qbusiness#AttachmentId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the Amazon Q Business attachment.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

The source reference for an existing attachment in an existing conversation.

" + } + }, "com.amazonaws.qbusiness#ConversationTitle": { "type": "string" }, @@ -1906,6 +2075,20 @@ "target": "com.amazonaws.qbusiness#Conversation" } }, + "com.amazonaws.qbusiness#CopyFromSource": { + "type": "union", + "members": { + "conversation": { + "target": "com.amazonaws.qbusiness#ConversationSource", + "traits": { + "smithy.api#documentation": "

A reference to an attachment in an existing conversation.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The source reference for an existing attachment.

" + } + }, "com.amazonaws.qbusiness#CreateApplication": { "type": "operation", "input": { @@ -1938,15 +2121,29 @@ } ], "traits": { + "aws.iam#conditionKeys": [ + "aws:RequestTag/${TagKey}", + "aws:TagKeys" + ], "aws.iam#requiredActions": [ "qbusiness:GetApplication", + "qbusiness:UpdateApplication", "qbusiness:TagResource", "qbusiness:ListTagsForResource", "iam:PassRole", "kms:DescribeKey", - "kms:CreateGrant" + "kms:CreateGrant", + "sso:CreateApplication", + "sso:PutApplicationAuthenticationMethod", + "sso:PutApplicationAccessScope", + "sso:PutApplicationGrant", + "sso:DeleteApplication", + "sso:DescribeInstance", + "iam:GetSAMLProvider", + "quicksight:DescribeAccountSubscription", + "quicksight:ListNamespaces" ], - "smithy.api#documentation": "

Creates an Amazon Q Business application.

\n \n

There are new tiers for Amazon Q Business. Not all features in Amazon Q Business Pro are\n also available in Amazon Q Business Lite. For information on what's included in\n 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\n subscription tiers to users.\n

\n

\n A Amazon Q Apps service linked role will be created if it's absent in the \n Amazon Web Services account when the QAppsConfiguration is enabled in the request. \n For more information, see \n \n Using service-linked roles for Q Apps\n \n

\n
", + "smithy.api#documentation": "

Creates an Amazon Q Business application.

\n \n

There are new tiers for Amazon Q Business. Not all features in Amazon Q Business Pro are\n also available in Amazon Q Business Lite. For information on what's included in\n 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\n subscription tiers to users.

\n

An Amazon Q Apps service linked role will be created if it's absent in the\n Amazon Web Services account when QAppsConfiguration is enabled in\n the request. For more information, see Using\n service-linked roles for Q Apps.

\n

When you create an application, Amazon Q Business may securely transmit data for\n processing from your selected Amazon Web Services region, but within your geography.\n For more information, see Cross region\n inference in Amazon Q Business.

\n
", "smithy.api#http": { "uri": "/applications", "method": "POST" @@ -1977,7 +2174,7 @@ } }, "iamIdentityProviderArn": { - "target": "com.amazonaws.qbusiness#IamIdentityProviderArn", + "target": "com.amazonaws.qbusiness#IAMIdentityProviderArn", "traits": { "smithy.api#documentation": "

The Amazon Resource Name (ARN) of an identity provider being used by an Amazon Q Business application.

" } @@ -2096,6 +2293,10 @@ } ], "traits": { + "aws.iam#conditionKeys": [ + "aws:RequestTag/${TagKey}", + "aws:TagKeys" + ], "aws.iam#requiredActions": [ "qbusiness:GetDataSource", "qbusiness:TagResource", @@ -2184,6 +2385,12 @@ }, "documentEnrichmentConfiguration": { "target": "com.amazonaws.qbusiness#DocumentEnrichmentConfiguration" + }, + "mediaExtractionConfiguration": { + "target": "com.amazonaws.qbusiness#MediaExtractionConfiguration", + "traits": { + "smithy.api#documentation": "

The configuration for extracting information from media in documents during ingestion.

" + } } }, "traits": { @@ -2242,6 +2449,10 @@ } ], "traits": { + "aws.iam#conditionKeys": [ + "aws:RequestTag/${TagKey}", + "aws:TagKeys" + ], "aws.iam#requiredActions": [ "qbusiness:GetIndex", "qbusiness:TagResource", @@ -2273,18 +2484,18 @@ "smithy.api#required": {} } }, - "type": { - "target": "com.amazonaws.qbusiness#IndexType", - "traits": { - "smithy.api#documentation": "

The index type that's suitable for your needs. For more information on what's included\n in each type of index, see Amazon Q Business\n tiers.

" - } - }, "description": { "target": "com.amazonaws.qbusiness#Description", "traits": { "smithy.api#documentation": "

A description for the Amazon Q Business index.

" } }, + "type": { + "target": "com.amazonaws.qbusiness#IndexType", + "traits": { + "smithy.api#documentation": "

The index type that's suitable for your needs. For more information on what's included\n in each type of index, see Amazon Q Business\n tiers.

" + } + }, "tags": { "target": "com.amazonaws.qbusiness#Tags", "traits": { @@ -2500,6 +2711,10 @@ } ], "traits": { + "aws.iam#conditionKeys": [ + "aws:RequestTag/${TagKey}", + "aws:TagKeys" + ], "aws.iam#requiredActions": [ "qbusiness:TagResource", "qbusiness:ListTagsForResource", @@ -2709,11 +2924,17 @@ } ], "traits": { + "aws.iam#conditionKeys": [ + "aws:RequestTag/${TagKey}", + "aws:TagKeys" + ], "aws.iam#requiredActions": [ "qbusiness:GetWebExperience", "qbusiness:TagResource", "qbusiness:ListTagsForResource", - "iam:PassRole" + "iam:PassRole", + "sso:PutApplicationGrant", + "sso:UpdateApplication" ], "smithy.api#documentation": "

Creates an Amazon Q Business web experience.

", "smithy.api#http": { @@ -2788,6 +3009,12 @@ "traits": { "smithy.api#documentation": "

Information about the identity provider (IdP) used to authenticate end users of an\n Amazon Q Business web experience.

" } + }, + "browserExtensionConfiguration": { + "target": "com.amazonaws.qbusiness#BrowserExtensionConfiguration", + "traits": { + "smithy.api#documentation": "

The browser extension configuration for an Amazon Q Business web experience.

\n \n

\n For Amazon Q Business application using external OIDC-compliant identity providers (IdPs).\n The IdP administrator must add the browser extension sign-in redirect URLs to the IdP application.\n For more information, see Configure external OIDC identity provider for your browser extensions..\n

\n
" + } } }, "traits": { @@ -2875,6 +3102,32 @@ "smithy.api#documentation": "

Configuration information required to create a custom plugin.

" } }, + "com.amazonaws.qbusiness#DataAccessorId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 36, + "max": 36 + }, + "smithy.api#pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{35}$" + } + }, + "com.amazonaws.qbusiness#DataAccessorResource": { + "type": "resource", + "identifiers": { + "applicationId": { + "target": "com.amazonaws.qbusiness#ApplicationId" + }, + "dataAccessorId": { + "target": "com.amazonaws.qbusiness#DataAccessorId" + } + }, + "traits": { + "aws.cloudformation#cfnResource": { + "name": "DataAccessor" + } + } + }, "com.amazonaws.qbusiness#DataSource": { "type": "structure", "members": { @@ -3273,7 +3526,8 @@ "traits": { "aws.iam#requiredActions": [ "qbusiness:GetApplication", - "kms:RetireGrant" + "kms:RetireGrant", + "sso:DeleteApplication" ], "smithy.api#documentation": "

Deletes an Amazon Q Business application.

", "smithy.api#http": { @@ -3981,7 +4235,7 @@ "min": 0, "max": 1000 }, - "smithy.api#pattern": "^\\P{C}*$" + "smithy.api#pattern": "^[\\s\\S]*$" } }, "com.amazonaws.qbusiness#Document": { @@ -4029,6 +4283,12 @@ "traits": { "smithy.api#documentation": "

The configuration information for altering document metadata and content during the\n document ingestion process.

" } + }, + "mediaExtractionConfiguration": { + "target": "com.amazonaws.qbusiness#MediaExtractionConfiguration", + "traits": { + "smithy.api#documentation": "

The configuration for extracting information from media in the document.

" + } } }, "traits": { @@ -4634,18 +4894,18 @@ "errorMessage": { "target": "com.amazonaws.qbusiness#ErrorMessage", "traits": { - "smithy.api#documentation": "

The message explaining the data source sync error.

" + "smithy.api#documentation": "

The message explaining the Amazon Q Business request error.

" } }, "errorCode": { "target": "com.amazonaws.qbusiness#ErrorCode", "traits": { - "smithy.api#documentation": "

The code associated with the data source sync error.

" + "smithy.api#documentation": "

The code associated with the Amazon Q Business request error.

" } } }, "traits": { - "smithy.api#documentation": "

Provides information about a data source sync error.

" + "smithy.api#documentation": "

Provides information about a Amazon Q Business request error.

" } }, "com.amazonaws.qbusiness#ErrorMessage": { @@ -4655,7 +4915,7 @@ "min": 1, "max": 2048 }, - "smithy.api#pattern": "^\\P{C}*$" + "smithy.api#pattern": "^[\\s\\S]*$" } }, "com.amazonaws.qbusiness#ExampleChatMessage": { @@ -4725,9 +4985,15 @@ { "target": "com.amazonaws.qbusiness#GetGroup" }, + { + "target": "com.amazonaws.qbusiness#GetMedia" + }, { "target": "com.amazonaws.qbusiness#GetUser" }, + { + "target": "com.amazonaws.qbusiness#ListAttachments" + }, { "target": "com.amazonaws.qbusiness#ListConversations" }, @@ -5165,6 +5431,22 @@ } } }, + "com.amazonaws.qbusiness#ExternalResourceException": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.qbusiness#ErrorMessage", + "traits": { + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

An external resource that you configured with your application is returning errors and\n preventing this operation from succeeding. Fix those errors and try again.\n

", + "smithy.api#error": "client", + "smithy.api#httpError": 424 + } + }, "com.amazonaws.qbusiness#FailedAttachmentEvent": { "type": "structure", "members": { @@ -5307,7 +5589,7 @@ } }, "iamIdentityProviderArn": { - "target": "com.amazonaws.qbusiness#IamIdentityProviderArn", + "target": "com.amazonaws.qbusiness#IAMIdentityProviderArn", "traits": { "smithy.api#documentation": "

The Amazon Resource Name (ARN) of an identity provider being used by an Amazon Q Business application.

" } @@ -5672,6 +5954,12 @@ }, "documentEnrichmentConfiguration": { "target": "com.amazonaws.qbusiness#DocumentEnrichmentConfiguration" + }, + "mediaExtractionConfiguration": { + "target": "com.amazonaws.qbusiness#MediaExtractionConfiguration", + "traits": { + "smithy.api#documentation": "

The configuration for extracting information from media in documents for the data source.\n

" + } } }, "traits": { @@ -5856,12 +6144,6 @@ "smithy.api#documentation": "

The name of the Amazon Q Business index.

" } }, - "type": { - "target": "com.amazonaws.qbusiness#IndexType", - "traits": { - "smithy.api#documentation": "

The type of index attached to your Amazon Q Business application.

" - } - }, "indexArn": { "target": "com.amazonaws.qbusiness#IndexArn", "traits": { @@ -5874,6 +6156,12 @@ "smithy.api#documentation": "

The current status of the index. When the value is ACTIVE, the index is\n ready for use. If the Status field value is FAILED, the\n ErrorMessage field contains a message that explains why.

" } }, + "type": { + "target": "com.amazonaws.qbusiness#IndexType", + "traits": { + "smithy.api#documentation": "

The type of index attached to your Amazon Q Business application.

" + } + }, "description": { "target": "com.amazonaws.qbusiness#Description", "traits": { @@ -5907,14 +6195,114 @@ "error": { "target": "com.amazonaws.qbusiness#ErrorDetail", "traits": { - "aws.cloudformation#cfnExcludeProperty": {}, - "smithy.api#documentation": "

When the Status field value is FAILED, the\n ErrorMessage field contains a message that explains why.

" + "aws.cloudformation#cfnExcludeProperty": {}, + "smithy.api#documentation": "

When the Status field value is FAILED, the\n ErrorMessage field contains a message that explains why.

" + } + }, + "indexStatistics": { + "target": "com.amazonaws.qbusiness#IndexStatistics", + "traits": { + "smithy.api#documentation": "

Provides information about the number of documents indexed.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.qbusiness#GetMedia": { + "type": "operation", + "input": { + "target": "com.amazonaws.qbusiness#GetMediaRequest" + }, + "output": { + "target": "com.amazonaws.qbusiness#GetMediaResponse" + }, + "errors": [ + { + "target": "com.amazonaws.qbusiness#AccessDeniedException" + }, + { + "target": "com.amazonaws.qbusiness#InternalServerException" + }, + { + "target": "com.amazonaws.qbusiness#LicenseNotFoundException" + }, + { + "target": "com.amazonaws.qbusiness#MediaTooLargeException" + }, + { + "target": "com.amazonaws.qbusiness#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.qbusiness#ThrottlingException" + }, + { + "target": "com.amazonaws.qbusiness#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Returns the image bytes corresponding to a media object. If you have implemented your own application with the Chat and ChatSync APIs, and\n have enabled content extraction from visual data in Amazon Q Business, you use the GetMedia API operation to download \n the images so you can show them in your UI with responses.

\n

For more information, see Extracting semantic meaning from images and visuals.

", + "smithy.api#http": { + "method": "GET", + "uri": "/applications/{applicationId}/conversations/{conversationId}/messages/{messageId}/media/{mediaId}" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.qbusiness#GetMediaRequest": { + "type": "structure", + "members": { + "applicationId": { + "target": "com.amazonaws.qbusiness#ApplicationId", + "traits": { + "smithy.api#documentation": "

The identifier of the Amazon Q Business which contains the media object.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "conversationId": { + "target": "com.amazonaws.qbusiness#ConversationId", + "traits": { + "smithy.api#documentation": "

The identifier of the Amazon Q Business conversation.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "messageId": { + "target": "com.amazonaws.qbusiness#MessageId", + "traits": { + "smithy.api#documentation": "

The identifier of the Amazon Q Business message.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "mediaId": { + "target": "com.amazonaws.qbusiness#MediaId", + "traits": { + "smithy.api#documentation": "

The identifier of the media object. You can find this in the sourceAttributions returned by the Chat, ChatSync, and ListMessages API responses.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.qbusiness#GetMediaResponse": { + "type": "structure", + "members": { + "mediaBytes": { + "target": "com.amazonaws.qbusiness#Blob", + "traits": { + "smithy.api#documentation": "

The base64-encoded bytes of the media object.

" } }, - "indexStatistics": { - "target": "com.amazonaws.qbusiness#IndexStatistics", + "mediaMimeType": { + "target": "com.amazonaws.qbusiness#String", "traits": { - "smithy.api#documentation": "

Provides information about the number of documents indexed.

" + "smithy.api#documentation": "

The MIME type of the media object (image/png).

" } } }, @@ -6424,6 +6812,12 @@ "aws.cloudformation#cfnExcludeProperty": {}, "smithy.api#documentation": "

When the Status field value is FAILED, the\n ErrorMessage field contains a description of the error that caused the\n data source connector to fail.

" } + }, + "browserExtensionConfiguration": { + "target": "com.amazonaws.qbusiness#BrowserExtensionConfiguration", + "traits": { + "smithy.api#documentation": "

The browser extension configuration for an Amazon Q Business web experience.

" + } } }, "traits": { @@ -6582,7 +6976,7 @@ "smithy.api#documentation": "

Provides the configuration information for invoking a Lambda function in\n Lambda to alter document metadata and content when ingesting\n documents into Amazon Q Business.

\n

You can configure your Lambda function using the\n PreExtractionHookConfiguration parameter if you want to apply advanced\n alterations on the original or raw documents.

\n

If you want to apply advanced alterations on the Amazon Q Business structured documents,\n you must configure your Lambda function using\n PostExtractionHookConfiguration.

\n

You can only invoke one Lambda function. However, this function can invoke\n other functions it requires.

\n

For more information, see Custom document enrichment.

" } }, - "com.amazonaws.qbusiness#IamIdentityProviderArn": { + "com.amazonaws.qbusiness#IAMIdentityProviderArn": { "type": "string", "traits": { "smithy.api#length": { @@ -6639,6 +7033,38 @@ } } }, + "com.amazonaws.qbusiness#ImageExtractionConfiguration": { + "type": "structure", + "members": { + "imageExtractionStatus": { + "target": "com.amazonaws.qbusiness#ImageExtractionStatus", + "traits": { + "smithy.api#documentation": "

Specify whether to extract semantic meaning from images and visuals from documents.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

The configuration for extracting semantic meaning from images in documents. For more information, see Extracting semantic meaning from images and visuals.

" + } + }, + "com.amazonaws.qbusiness#ImageExtractionStatus": { + "type": "enum", + "members": { + "ENABLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ENABLED" + } + }, + "DISABLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DISABLED" + } + } + } + }, "com.amazonaws.qbusiness#Index": { "type": "structure", "members": { @@ -6898,6 +7324,32 @@ "com.amazonaws.qbusiness#Integer": { "type": "integer" }, + "com.amazonaws.qbusiness#IntegrationId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 36, + "max": 36 + }, + "smithy.api#pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]*$" + } + }, + "com.amazonaws.qbusiness#IntegrationResource": { + "type": "resource", + "identifiers": { + "applicationId": { + "target": "com.amazonaws.qbusiness#ApplicationId" + }, + "integrationId": { + "target": "com.amazonaws.qbusiness#IntegrationId" + } + }, + "traits": { + "aws.cloudformation#cfnResource": { + "name": "Integration" + } + } + }, "com.amazonaws.qbusiness#InternalServerException": { "type": "structure", "members": { @@ -6998,7 +7450,7 @@ } ], "traits": { - "smithy.api#documentation": "

Lists Amazon Q Business applications.

", + "smithy.api#documentation": "

Lists Amazon Q Business applications.

\n \n

Amazon Q Business applications may securely transmit data for processing across\n Amazon Web Services Regions within your geography. For more information, see\n Cross region\n inference in Amazon Q Business.

\n
", "smithy.api#http": { "uri": "/applications", "method": "GET" @@ -7054,6 +7506,113 @@ "smithy.api#output": {} } }, + "com.amazonaws.qbusiness#ListAttachments": { + "type": "operation", + "input": { + "target": "com.amazonaws.qbusiness#ListAttachmentsRequest" + }, + "output": { + "target": "com.amazonaws.qbusiness#ListAttachmentsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.qbusiness#AccessDeniedException" + }, + { + "target": "com.amazonaws.qbusiness#InternalServerException" + }, + { + "target": "com.amazonaws.qbusiness#LicenseNotFoundException" + }, + { + "target": "com.amazonaws.qbusiness#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.qbusiness#ThrottlingException" + }, + { + "target": "com.amazonaws.qbusiness#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Gets a list of attachments associated with an Amazon Q Business web experience or a list of attachements associated with a specific Amazon Q Business conversation.

", + "smithy.api#http": { + "uri": "/applications/{applicationId}/attachments", + "method": "GET" + }, + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults", + "items": "attachments" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.qbusiness#ListAttachmentsRequest": { + "type": "structure", + "members": { + "applicationId": { + "target": "com.amazonaws.qbusiness#ApplicationId", + "traits": { + "smithy.api#documentation": "

The unique identifier for the Amazon Q Business application.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "conversationId": { + "target": "com.amazonaws.qbusiness#ConversationId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the Amazon Q Business web experience conversation.

", + "smithy.api#httpQuery": "conversationId" + } + }, + "userId": { + "target": "com.amazonaws.qbusiness#UserId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the user involved in the Amazon Q Business web experience conversation.

", + "smithy.api#httpQuery": "userId" + } + }, + "nextToken": { + "target": "com.amazonaws.qbusiness#NextToken", + "traits": { + "smithy.api#documentation": "

If the number of attachments returned exceeds maxResults, Amazon Q Business\n returns a next token as a pagination token to retrieve the next set of attachments.

", + "smithy.api#httpQuery": "nextToken" + } + }, + "maxResults": { + "target": "com.amazonaws.qbusiness#MaxResultsIntegerForListAttachments", + "traits": { + "smithy.api#documentation": "

The maximum number of attachements to return.

", + "smithy.api#httpQuery": "maxResults" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.qbusiness#ListAttachmentsResponse": { + "type": "structure", + "members": { + "attachments": { + "target": "com.amazonaws.qbusiness#AttachmentList", + "traits": { + "smithy.api#documentation": "

An array of information on one or more attachments.

" + } + }, + "nextToken": { + "target": "com.amazonaws.qbusiness#NextToken", + "traits": { + "smithy.api#documentation": "

If the response is truncated, Amazon Q Business returns this token, which you can use in a\n later request to list the next set of attachments.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.qbusiness#ListConversations": { "type": "operation", "input": { @@ -7166,6 +7725,9 @@ { "target": "com.amazonaws.qbusiness#AccessDeniedException" }, + { + "target": "com.amazonaws.qbusiness#ConflictException" + }, { "target": "com.amazonaws.qbusiness#InternalServerException" }, @@ -7762,7 +8324,7 @@ "nextToken": { "target": "com.amazonaws.qbusiness#NextToken", "traits": { - "smithy.api#documentation": "

If the number of retrievers returned exceeds maxResults, Amazon Q Business\n returns a next token as a pagination token to retrieve the next set of messages.

", + "smithy.api#documentation": "

If the number of messages returned exceeds maxResults, Amazon Q Business\n returns a next token as a pagination token to retrieve the next set of messages.

", "smithy.api#httpQuery": "nextToken" } }, @@ -8153,6 +8715,15 @@ } } }, + "com.amazonaws.qbusiness#MaxResultsIntegerForListAttachments": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 1, + "max": 100 + } + } + }, "com.amazonaws.qbusiness#MaxResultsIntegerForListConversations": { "type": "integer", "traits": { @@ -8243,6 +8814,46 @@ } } }, + "com.amazonaws.qbusiness#MediaExtractionConfiguration": { + "type": "structure", + "members": { + "imageExtractionConfiguration": { + "target": "com.amazonaws.qbusiness#ImageExtractionConfiguration", + "traits": { + "smithy.api#documentation": "

The configuration for extracting semantic meaning from images in documents. \n For more information, see Extracting semantic meaning from images and visuals.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The configuration for extracting information from media in documents.

" + } + }, + "com.amazonaws.qbusiness#MediaId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 36, + "max": 36 + }, + "smithy.api#pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{35}$" + } + }, + "com.amazonaws.qbusiness#MediaTooLargeException": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.qbusiness#ErrorMessage", + "traits": { + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

The requested media object is too large to be returned.

", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, "com.amazonaws.qbusiness#MemberGroup": { "type": "structure", "members": { @@ -8268,12 +8879,6 @@ "type": "list", "member": { "target": "com.amazonaws.qbusiness#MemberGroup" - }, - "traits": { - "smithy.api#length": { - "min": 1, - "max": 1000 - } } }, "com.amazonaws.qbusiness#MemberRelation": { @@ -8318,12 +8923,6 @@ "type": "list", "member": { "target": "com.amazonaws.qbusiness#MemberUser" - }, - "traits": { - "smithy.api#length": { - "min": 1, - "max": 1000 - } } }, "com.amazonaws.qbusiness#MembershipType": { @@ -9918,6 +10517,16 @@ "smithy.api#documentation": "

The documents used to generate an Amazon Q Business web experience response.

" } }, + "com.amazonaws.qbusiness#SourceAttributionMediaId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 36, + "max": 36 + }, + "smithy.api#pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{35}$" + } + }, "com.amazonaws.qbusiness#SourceAttributions": { "type": "list", "member": { @@ -10041,6 +10650,9 @@ { "target": "com.amazonaws.qbusiness#AccessDeniedException" }, + { + "target": "com.amazonaws.qbusiness#ConflictException" + }, { "target": "com.amazonaws.qbusiness#InternalServerException" }, @@ -10229,7 +10841,7 @@ "smithy.api#length": { "max": 998 }, - "smithy.api#pattern": "^\\P{C}*$" + "smithy.api#pattern": "^[\\s\\S]*$" } }, "com.amazonaws.qbusiness#SystemMessageId": { @@ -10323,6 +10935,10 @@ } ], "traits": { + "aws.iam#conditionKeys": [ + "aws:RequestTag/${TagKey}", + "aws:TagKeys" + ], "smithy.api#documentation": "

Adds the specified tag to the specified Amazon Q Business application or data source\n resource. If the tag already exists, the existing value is replaced with the new\n value.

", "smithy.api#http": { "uri": "/v1/tags/{resourceARN}", @@ -10469,6 +11085,18 @@ "traits": { "smithy.api#documentation": "

The relevant text excerpt from a source that was used to generate a citation text\n segment in an Amazon Q Business chat response.

" } + }, + "mediaId": { + "target": "com.amazonaws.qbusiness#SourceAttributionMediaId", + "traits": { + "smithy.api#documentation": "

The identifier of the media object associated with the text segment in the source attribution.

" + } + }, + "mediaMimeType": { + "target": "com.amazonaws.qbusiness#String", + "traits": { + "smithy.api#documentation": "

The MIME type (image/png) of the media object associated with the text segment in the source attribution.

" + } } }, "traits": { @@ -10600,6 +11228,9 @@ } ], "traits": { + "aws.iam#conditionKeys": [ + "aws:TagKeys" + ], "smithy.api#documentation": "

Removes a tag from an Amazon Q Business application or a data source.

", "smithy.api#http": { "uri": "/v1/tags/{resourceARN}", @@ -10673,9 +11304,15 @@ "qbusiness:TagResource", "qbusiness:UntagResource", "qbusiness:ListTagsForResource", - "iam:PassRole" + "iam:PassRole", + "sso:CreateApplication", + "sso:PutApplicationAuthenticationMethod", + "sso:PutApplicationAccessScope", + "sso:PutApplicationGrant", + "sso:DeleteApplication", + "sso:DescribeInstance" ], - "smithy.api#documentation": "

Updates an existing Amazon Q Business application.

\n \n

\n A Amazon Q Apps service-linked role will be created if it's absent in the Amazon Web Services account\n when the QAppsConfiguration is enabled in the request.\n For more information, see \n Using service-linked roles for Q Apps\n \n

\n
", + "smithy.api#documentation": "

Updates an existing Amazon Q Business application.

\n \n

Amazon Q Business applications may securely transmit data for processing across\n Amazon Web Services Regions within your geography. For more information, see\n Cross region\n inference in Amazon Q Business.

\n
\n \n

An Amazon Q Apps service-linked role will be created if it's absent in the\n Amazon Web Services account when QAppsConfiguration is enabled in\n the request. For more information, see Using\n service-linked roles for Q Apps.

\n
", "smithy.api#http": { "uri": "/applications/{applicationId}", "method": "PUT" @@ -10958,6 +11595,12 @@ }, "documentEnrichmentConfiguration": { "target": "com.amazonaws.qbusiness#DocumentEnrichmentConfiguration" + }, + "mediaExtractionConfiguration": { + "target": "com.amazonaws.qbusiness#MediaExtractionConfiguration", + "traits": { + "smithy.api#documentation": "

The configuration for extracting information from media in documents for your data source.

" + } } }, "traits": { @@ -11406,7 +12049,9 @@ "qbusiness:TagResource", "qbusiness:UntagResource", "qbusiness:ListTagsForResource", - "iam:PassRole" + "iam:PassRole", + "sso:PutApplicationGrant", + "sso:UpdateApplication" ], "smithy.api#documentation": "

Updates an Amazon Q Business web experience.

", "smithy.api#http": { @@ -11485,6 +12130,12 @@ "traits": { "smithy.api#documentation": "

Updates the website domain origins that \n are allowed to embed the Amazon Q Business web experience.\n \n The domain origin refers to the \n base URL for accessing a website including the protocol \n (http/https), the domain name, and the port number (if specified).

\n \n
    \n
  • \n

    Any values except null submitted as part of this \n update will replace all previous values.

    \n
  • \n
  • \n

    You must only submit a base URL and \n not a full path. For example, https://docs.aws.amazon.com.

    \n
  • \n
\n
" } + }, + "browserExtensionConfiguration": { + "target": "com.amazonaws.qbusiness#BrowserExtensionConfiguration", + "traits": { + "smithy.api#documentation": "

The browser extension configuration for an Amazon Q Business web experience.

\n \n

\n For Amazon Q Business application using external OIDC-compliant identity providers (IdPs).\n The IdP administrator must add the browser extension sign-in redirect URLs to the IdP application.\n For more information, see Configure external OIDC identity provider for your browser extensions..\n

\n
" + } } }, "traits": { @@ -11564,13 +12215,7 @@ } }, "com.amazonaws.qbusiness#UserMessage": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 7000 - } - } + "type": "string" }, "com.amazonaws.qbusiness#UsersAndGroups": { "type": "structure", @@ -11844,7 +12489,7 @@ "min": 0, "max": 500 }, - "smithy.api#pattern": "^\\P{C}*$" + "smithy.api#pattern": "^[\\s\\S]*$" } }, "com.amazonaws.qbusiness#WebExperienceTitle": { @@ -11854,7 +12499,7 @@ "min": 0, "max": 500 }, - "smithy.api#pattern": "^\\P{C}*$" + "smithy.api#pattern": "^[\\s\\S]*$" } }, "com.amazonaws.qbusiness#WebExperienceWelcomeMessage": { diff --git a/codegen/sdk/aws-models/qconnect.json b/codegen/sdk/aws-models/qconnect.json index da25339d851..5341c7344e8 100644 --- a/codegen/sdk/aws-models/qconnect.json +++ b/codegen/sdk/aws-models/qconnect.json @@ -69,6 +69,12 @@ "traits": { "smithy.api#documentation": "

The configuration for AI Agents of type ANSWER_RECOMMENDATION.

" } + }, + "selfServiceAIAgentConfiguration": { + "target": "com.amazonaws.qconnect#SelfServiceAIAgentConfiguration", + "traits": { + "smithy.api#documentation": "

The configuration for AI Agents of type SELF_SERVICE.

" + } } }, "traits": { @@ -313,6 +319,10 @@ { "value": "ANSWER_RECOMMENDATION", "name": "ANSWER_RECOMMENDATION" + }, + { + "value": "SELF_SERVICE", + "name": "SELF_SERVICE" } ] } @@ -343,65 +353,91 @@ "smithy.api#documentation": "

The summary of the AI Agent version.

" } }, - "com.amazonaws.qconnect#AIPrompt": { + "com.amazonaws.qconnect#AIGuardrail": { "type": "resource", "identifiers": { "assistantId": { "target": "com.amazonaws.qconnect#UuidOrArn" }, - "aiPromptId": { + "aiGuardrailId": { "target": "com.amazonaws.qconnect#UuidOrArnOrEitherWithQualifier" } }, "create": { - "target": "com.amazonaws.qconnect#CreateAIPrompt" + "target": "com.amazonaws.qconnect#CreateAIGuardrail" }, "read": { - "target": "com.amazonaws.qconnect#GetAIPrompt" + "target": "com.amazonaws.qconnect#GetAIGuardrail" }, "update": { - "target": "com.amazonaws.qconnect#UpdateAIPrompt" + "target": "com.amazonaws.qconnect#UpdateAIGuardrail" }, "delete": { - "target": "com.amazonaws.qconnect#DeleteAIPrompt" + "target": "com.amazonaws.qconnect#DeleteAIGuardrail" }, "list": { - "target": "com.amazonaws.qconnect#ListAIPrompts" + "target": "com.amazonaws.qconnect#ListAIGuardrails" }, "operations": [ { - "target": "com.amazonaws.qconnect#CreateAIPromptVersion" + "target": "com.amazonaws.qconnect#CreateAIGuardrailVersion" }, { - "target": "com.amazonaws.qconnect#DeleteAIPromptVersion" + "target": "com.amazonaws.qconnect#DeleteAIGuardrailVersion" }, { - "target": "com.amazonaws.qconnect#ListAIPromptVersions" + "target": "com.amazonaws.qconnect#ListAIGuardrailVersions" } ], "traits": { "aws.api#arn": { - "template": "ai-prompt/{assistantId}/{aiPromptId}" + "template": "ai-guardrail/{assistantId}/{aiGuardrailId}" }, "aws.iam#disableConditionKeyInference": {} } }, - "com.amazonaws.qconnect#AIPromptAPIFormat": { + "com.amazonaws.qconnect#AIGuardrailBlockedMessaging": { "type": "string", "traits": { - "smithy.api#enum": [ - { - "value": "ANTHROPIC_CLAUDE_MESSAGES", - "name": "ANTHROPIC_CLAUDE_MESSAGES" - }, - { - "value": "ANTHROPIC_CLAUDE_TEXT_COMPLETIONS", - "name": "ANTHROPIC_CLAUDE_TEXT_COMPLETIONS" + "smithy.api#documentation": "Messaging for when violations are detected in text", + "smithy.api#length": { + "min": 1, + "max": 500 + }, + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.qconnect#AIGuardrailContentPolicyConfig": { + "type": "structure", + "members": { + "filtersConfig": { + "target": "com.amazonaws.qconnect#GuardrailContentFiltersConfig", + "traits": { + "smithy.api#documentation": "

Contains the type of the content filter and how strongly it should apply to prompts and\n model responses.

", + "smithy.api#required": {} } - ] + } + }, + "traits": { + "smithy.api#documentation": "

Contains details about how to handle harmful content.

" } }, - "com.amazonaws.qconnect#AIPromptData": { + "com.amazonaws.qconnect#AIGuardrailContextualGroundingPolicyConfig": { + "type": "structure", + "members": { + "filtersConfig": { + "target": "com.amazonaws.qconnect#GuardrailContextualGroundingFiltersConfig", + "traits": { + "smithy.api#documentation": "

The filter configuration details for the AI Guardrails contextual grounding policy.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

The policy configuration details for the AI Guardrail's contextual grounding\n policy.

" + } + }, + "com.amazonaws.qconnect#AIGuardrailData": { "type": "structure", "members": { "assistantId": { @@ -418,79 +454,82 @@ "smithy.api#required": {} } }, - "aiPromptId": { - "target": "com.amazonaws.qconnect#Uuid", + "aiGuardrailArn": { + "target": "com.amazonaws.qconnect#Arn", "traits": { - "smithy.api#documentation": "

The identifier of the Amazon Q in Connect AI prompt.

", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the AI Guardrail.

", "smithy.api#required": {} } }, - "aiPromptArn": { - "target": "com.amazonaws.qconnect#Arn", + "aiGuardrailId": { + "target": "com.amazonaws.qconnect#Uuid", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the AI Prompt.

", + "smithy.api#documentation": "

The identifier of the Amazon Q in Connect AI Guardrail.

", "smithy.api#required": {} } }, "name": { "target": "com.amazonaws.qconnect#Name", "traits": { - "smithy.api#documentation": "

The name of the AI Prompt

", + "smithy.api#documentation": "

The name of the AI Guardrail.

", "smithy.api#required": {} } }, - "type": { - "target": "com.amazonaws.qconnect#AIPromptType", + "visibilityStatus": { + "target": "com.amazonaws.qconnect#VisibilityStatus", "traits": { - "smithy.api#documentation": "

The type of this AI Prompt.

", + "smithy.api#documentation": "

The visibility status of the AI Guardrail.

", "smithy.api#required": {} } }, - "templateType": { - "target": "com.amazonaws.qconnect#AIPromptTemplateType", + "blockedInputMessaging": { + "target": "com.amazonaws.qconnect#AIGuardrailBlockedMessaging", "traits": { - "smithy.api#documentation": "

The type of the prompt template for this AI Prompt.

", + "smithy.api#documentation": "

The message to return when the AI Guardrail blocks a prompt.

", "smithy.api#required": {} } }, - "modelId": { - "target": "com.amazonaws.qconnect#AIPromptModelIdentifier", + "blockedOutputsMessaging": { + "target": "com.amazonaws.qconnect#AIGuardrailBlockedMessaging", "traits": { - "smithy.api#documentation": "

The identifier of the model used for this AI Prompt. Model Ids supported are:\n CLAUDE_3_HAIKU_20240307_V1.

", + "smithy.api#documentation": "

The message to return when the AI Guardrail blocks a model response.

", "smithy.api#required": {} } }, - "apiFormat": { - "target": "com.amazonaws.qconnect#AIPromptAPIFormat", + "description": { + "target": "com.amazonaws.qconnect#AIGuardrailDescription", "traits": { - "smithy.api#documentation": "

The API format used for this AI Prompt.

", - "smithy.api#required": {} + "smithy.api#documentation": "

A description of the AI Guardrail.

" } }, - "templateConfiguration": { - "target": "com.amazonaws.qconnect#AIPromptTemplateConfiguration", + "topicPolicyConfig": { + "target": "com.amazonaws.qconnect#AIGuardrailTopicPolicyConfig", "traits": { - "smithy.api#documentation": "

The configuration of the prompt template for this AI Prompt.

", - "smithy.api#required": {} + "smithy.api#documentation": "

Contains details about topics that the AI Guardrail should identify and deny.

" } }, - "modifiedTime": { - "target": "smithy.api#Timestamp", + "contentPolicyConfig": { + "target": "com.amazonaws.qconnect#AIGuardrailContentPolicyConfig", "traits": { - "smithy.api#documentation": "

The time the AI Prompt was last modified.

" + "smithy.api#documentation": "

Contains details about how to handle harmful content.

" } }, - "description": { - "target": "com.amazonaws.qconnect#Description", + "wordPolicyConfig": { + "target": "com.amazonaws.qconnect#AIGuardrailWordPolicyConfig", "traits": { - "smithy.api#documentation": "

The description of the AI Prompt.

" + "smithy.api#documentation": "

Contains details about the word policy to configured for the AI Guardrail.

" } }, - "visibilityStatus": { - "target": "com.amazonaws.qconnect#VisibilityStatus", + "sensitiveInformationPolicyConfig": { + "target": "com.amazonaws.qconnect#AIGuardrailSensitiveInformationPolicyConfig", "traits": { - "smithy.api#documentation": "

The visibility status of the AI Prompt.

", - "smithy.api#required": {} + "smithy.api#documentation": "

Contains details about PII entities and regular expressions to configure for the AI\n Guardrail.

" + } + }, + "contextualGroundingPolicyConfig": { + "target": "com.amazonaws.qconnect#AIGuardrailContextualGroundingPolicyConfig", + "traits": { + "smithy.api#documentation": "

The policy configuration details for the AI Guardrail's contextual grounding\n policy.

" } }, "tags": { @@ -499,44 +538,72 @@ "smithy.api#documentation": "

The tags used to organize, track, or control access for this resource.

" } }, - "origin": { - "target": "com.amazonaws.qconnect#Origin", + "status": { + "target": "com.amazonaws.qconnect#Status", "traits": { - "smithy.api#documentation": "

The origin of the AI Prompt. SYSTEM for a default AI Prompt created by Q in\n Connect or CUSTOMER for an AI Prompt created by calling AI Prompt creation APIs.\n

" + "smithy.api#documentation": "

The status of the AI Guardrail.

" } }, - "status": { - "target": "com.amazonaws.qconnect#Status", + "modifiedTime": { + "target": "smithy.api#Timestamp", "traits": { - "smithy.api#documentation": "

The status of the AI Prompt.

" + "smithy.api#documentation": "

The time the AI Guardrail was last modified.

" } } }, "traits": { - "smithy.api#documentation": "

The data for the AI Prompt

", + "smithy.api#documentation": "

The data for the AI Guardrail

", "smithy.api#references": [ { - "resource": "com.amazonaws.qconnect#AIPrompt" + "resource": "com.amazonaws.qconnect#AIGuardrail" } ] } }, - "com.amazonaws.qconnect#AIPromptModelIdentifier": { + "com.amazonaws.qconnect#AIGuardrailDescription": { "type": "string", "traits": { + "smithy.api#documentation": "Description of the guardrail or its version", "smithy.api#length": { "min": 1, - "max": 2048 + "max": 200 + }, + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.qconnect#AIGuardrailSensitiveInformationPolicyConfig": { + "type": "structure", + "members": { + "piiEntitiesConfig": { + "target": "com.amazonaws.qconnect#GuardrailPiiEntitiesConfig", + "traits": { + "smithy.api#documentation": "

A list of PII entities to configure to the AI Guardrail.

" + } + }, + "regexesConfig": { + "target": "com.amazonaws.qconnect#GuardrailRegexesConfig", + "traits": { + "smithy.api#documentation": "

A list of regular expressions to configure to the AI Guardrail.

" + } } + }, + "traits": { + "smithy.api#documentation": "

Contains details about PII entities and regular expressions to configure for the AI\n Guardrail.

" } }, - "com.amazonaws.qconnect#AIPromptSummary": { + "com.amazonaws.qconnect#AIGuardrailSummariesList": { + "type": "list", + "member": { + "target": "com.amazonaws.qconnect#AIGuardrailSummary" + } + }, + "com.amazonaws.qconnect#AIGuardrailSummary": { "type": "structure", "members": { "name": { "target": "com.amazonaws.qconnect#Name", "traits": { - "smithy.api#documentation": "

The name of the AI Prompt.

", + "smithy.api#documentation": "

The name of the AI Guardrail.

", "smithy.api#required": {} } }, @@ -554,77 +621,43 @@ "smithy.api#required": {} } }, - "aiPromptId": { + "aiGuardrailId": { "target": "com.amazonaws.qconnect#Uuid", "traits": { - "smithy.api#documentation": "

The identifier of the Amazon Q in Connect AI prompt.

", - "smithy.api#required": {} - } - }, - "type": { - "target": "com.amazonaws.qconnect#AIPromptType", - "traits": { - "smithy.api#documentation": "

The type of this AI Prompt.

", + "smithy.api#documentation": "

The identifier of the Amazon Q in Connect AI Guardrail.

", "smithy.api#required": {} } }, - "aiPromptArn": { + "aiGuardrailArn": { "target": "com.amazonaws.qconnect#Arn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the AI Prompt.

", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the AI Guardrail.

", "smithy.api#required": {} } }, "modifiedTime": { "target": "smithy.api#Timestamp", "traits": { - "smithy.api#documentation": "

The time the AI Prompt was last modified.

" - } - }, - "templateType": { - "target": "com.amazonaws.qconnect#AIPromptTemplateType", - "traits": { - "smithy.api#documentation": "

The type of the prompt template for this AI Prompt.

", - "smithy.api#required": {} - } - }, - "modelId": { - "target": "com.amazonaws.qconnect#AIPromptModelIdentifier", - "traits": { - "smithy.api#documentation": "

The identifier of the model used for this AI Prompt. Model Ids supported are:\n CLAUDE_3_HAIKU_20240307_V1.

", - "smithy.api#required": {} - } - }, - "apiFormat": { - "target": "com.amazonaws.qconnect#AIPromptAPIFormat", - "traits": { - "smithy.api#documentation": "

The API format used for this AI Prompt.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The time the AI Guardrail was last modified.

" } }, "visibilityStatus": { "target": "com.amazonaws.qconnect#VisibilityStatus", "traits": { - "smithy.api#documentation": "

The visibility status of the AI Prompt.

", + "smithy.api#documentation": "

The visibility status of the AI Guardrail.

", "smithy.api#required": {} } }, - "origin": { - "target": "com.amazonaws.qconnect#Origin", - "traits": { - "smithy.api#documentation": "

The origin of the AI Prompt. SYSTEM for a default AI Prompt created by Q in\n Connect or CUSTOMER for an AI Prompt created by calling AI Prompt creation APIs.\n

" - } - }, "description": { - "target": "com.amazonaws.qconnect#Description", + "target": "com.amazonaws.qconnect#AIGuardrailDescription", "traits": { - "smithy.api#documentation": "

The description of the AI Prompt.

" + "smithy.api#documentation": "

A description of the AI Guardrail.

" } }, "status": { "target": "com.amazonaws.qconnect#Status", "traits": { - "smithy.api#documentation": "

The status of the AI Prompt.

" + "smithy.api#documentation": "

The status of the AI Guardrail.

" } }, "tags": { @@ -635,527 +668,357 @@ } }, "traits": { - "smithy.api#documentation": "

The summary of the AI Prompt.

", + "smithy.api#documentation": "

The summary of the AI Guardrail.

", "smithy.api#references": [ { - "resource": "com.amazonaws.qconnect#AIPrompt" + "resource": "com.amazonaws.qconnect#AIGuardrail" } ] } }, - "com.amazonaws.qconnect#AIPromptSummaryList": { - "type": "list", - "member": { - "target": "com.amazonaws.qconnect#AIPromptSummary" - } - }, - "com.amazonaws.qconnect#AIPromptTemplateConfiguration": { - "type": "union", + "com.amazonaws.qconnect#AIGuardrailTopicPolicyConfig": { + "type": "structure", "members": { - "textFullAIPromptEditTemplateConfiguration": { - "target": "com.amazonaws.qconnect#TextFullAIPromptEditTemplateConfiguration", + "topicsConfig": { + "target": "com.amazonaws.qconnect#GuardrailTopicsConfig", "traits": { - "smithy.api#documentation": "

The configuration for a prompt template that supports full textual prompt configuration\n using a YAML prompt.

" + "smithy.api#documentation": "

A list of policies related to topics that the AI Guardrail should deny.

", + "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

A typed union that specifies the configuration for a prompt template based on its\n type.

" - } - }, - "com.amazonaws.qconnect#AIPromptTemplateType": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "TEXT", - "name": "TEXT" - } - ] - } - }, - "com.amazonaws.qconnect#AIPromptType": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "ANSWER_GENERATION", - "name": "ANSWER_GENERATION" - }, - { - "value": "INTENT_LABELING_GENERATION", - "name": "INTENT_LABELING_GENERATION" - }, - { - "value": "QUERY_REFORMULATION", - "name": "QUERY_REFORMULATION" - } - ] + "smithy.api#documentation": "

Contains details about topics that the AI Guardrail should identify and deny.

" } }, - "com.amazonaws.qconnect#AIPromptVersionSummariesList": { + "com.amazonaws.qconnect#AIGuardrailVersionSummariesList": { "type": "list", "member": { - "target": "com.amazonaws.qconnect#AIPromptVersionSummary" + "target": "com.amazonaws.qconnect#AIGuardrailVersionSummary" } }, - "com.amazonaws.qconnect#AIPromptVersionSummary": { + "com.amazonaws.qconnect#AIGuardrailVersionSummary": { "type": "structure", "members": { - "aiPromptSummary": { - "target": "com.amazonaws.qconnect#AIPromptSummary", + "aiGuardrailSummary": { + "target": "com.amazonaws.qconnect#AIGuardrailSummary", "traits": { - "smithy.api#documentation": "

The date for the summary of the AI Prompt version.

" + "smithy.api#documentation": "

The data for the summary of the AI Guardrail version.

" } }, "versionNumber": { "target": "com.amazonaws.qconnect#Version", "traits": { - "smithy.api#documentation": "

The version number for this AI Prompt version.

" + "smithy.api#documentation": "

The version number for this AI Guardrail version.

" } } }, "traits": { - "smithy.api#documentation": "

The summary of the AI Prompt version.

" + "smithy.api#documentation": "

The summary of the AI Guardrail version.

" } }, - "com.amazonaws.qconnect#AccessDeniedException": { + "com.amazonaws.qconnect#AIGuardrailWordPolicyConfig": { "type": "structure", "members": { - "message": { - "target": "smithy.api#String" + "wordsConfig": { + "target": "com.amazonaws.qconnect#GuardrailWordsConfig", + "traits": { + "smithy.api#documentation": "

A list of words to configure for the AI Guardrail.

" + } + }, + "managedWordListsConfig": { + "target": "com.amazonaws.qconnect#GuardrailManagedWordListsConfig", + "traits": { + "smithy.api#documentation": "

A list of managed words to configure for the AI Guardrail.

" + } } }, "traits": { - "smithy.api#documentation": "

You do not have sufficient access to perform this action.

", - "smithy.api#error": "client", - "smithy.api#httpError": 403 + "smithy.api#documentation": "

Contains details about the word policy to configured for the AI Guardrail.

" } }, - "com.amazonaws.qconnect#ActivateMessageTemplate": { - "type": "operation", - "input": { - "target": "com.amazonaws.qconnect#ActivateMessageTemplateRequest" + "com.amazonaws.qconnect#AIPrompt": { + "type": "resource", + "identifiers": { + "assistantId": { + "target": "com.amazonaws.qconnect#UuidOrArn" + }, + "aiPromptId": { + "target": "com.amazonaws.qconnect#UuidOrArnOrEitherWithQualifier" + } }, - "output": { - "target": "com.amazonaws.qconnect#ActivateMessageTemplateResponse" + "create": { + "target": "com.amazonaws.qconnect#CreateAIPrompt" }, - "errors": [ - { - "target": "com.amazonaws.qconnect#AccessDeniedException" - }, - { - "target": "com.amazonaws.qconnect#ConflictException" - }, + "read": { + "target": "com.amazonaws.qconnect#GetAIPrompt" + }, + "update": { + "target": "com.amazonaws.qconnect#UpdateAIPrompt" + }, + "delete": { + "target": "com.amazonaws.qconnect#DeleteAIPrompt" + }, + "list": { + "target": "com.amazonaws.qconnect#ListAIPrompts" + }, + "operations": [ { - "target": "com.amazonaws.qconnect#ResourceNotFoundException" + "target": "com.amazonaws.qconnect#CreateAIPromptVersion" }, { - "target": "com.amazonaws.qconnect#ThrottlingException" + "target": "com.amazonaws.qconnect#DeleteAIPromptVersion" }, { - "target": "com.amazonaws.qconnect#ValidationException" + "target": "com.amazonaws.qconnect#ListAIPromptVersions" } ], "traits": { - "smithy.api#documentation": "

Activates a specific version of the Amazon Q in Connect message template. After the\n version is activated, the previous active version will be deactivated automatically. You can\n use the $ACTIVE_VERSION qualifier later to reference the version that is in\n active status.

", - "smithy.api#http": { - "uri": "/knowledgeBases/{knowledgeBaseId}/messageTemplates/{messageTemplateId}/activate", - "method": "POST" - } + "aws.api#arn": { + "template": "ai-prompt/{assistantId}/{aiPromptId}" + }, + "aws.iam#disableConditionKeyInference": {} } }, - "com.amazonaws.qconnect#ActivateMessageTemplateRequest": { + "com.amazonaws.qconnect#AIPromptAPIFormat": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "ANTHROPIC_CLAUDE_MESSAGES", + "name": "ANTHROPIC_CLAUDE_MESSAGES" + }, + { + "value": "ANTHROPIC_CLAUDE_TEXT_COMPLETIONS", + "name": "ANTHROPIC_CLAUDE_TEXT_COMPLETIONS" + } + ] + } + }, + "com.amazonaws.qconnect#AIPromptData": { "type": "structure", "members": { - "knowledgeBaseId": { - "target": "com.amazonaws.qconnect#UuidOrArn", + "assistantId": { + "target": "com.amazonaws.qconnect#Uuid", "traits": { - "smithy.api#documentation": "

The identifier of the knowledge base. Can be either the ID or the ARN. URLs cannot contain\n the ARN.

", - "smithy.api#httpLabel": {}, + "smithy.api#documentation": "

The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs\n cannot contain the ARN.

", "smithy.api#required": {} } }, - "messageTemplateId": { - "target": "com.amazonaws.qconnect#UuidOrArnOrEitherWithQualifier", + "assistantArn": { + "target": "com.amazonaws.qconnect#Arn", "traits": { - "smithy.api#documentation": "

The identifier of the message template. Can be either the ID or the ARN. It cannot contain any qualifier.

", - "smithy.api#httpLabel": {}, + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Amazon Q in Connect assistant.

", "smithy.api#required": {} } }, - "versionNumber": { - "target": "com.amazonaws.qconnect#Version", + "aiPromptId": { + "target": "com.amazonaws.qconnect#Uuid", "traits": { - "smithy.api#documentation": "

The version number of the message template version to activate.

", + "smithy.api#documentation": "

The identifier of the Amazon Q in Connect AI prompt.

", "smithy.api#required": {} } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.qconnect#ActivateMessageTemplateResponse": { - "type": "structure", - "members": { - "messageTemplateArn": { - "target": "com.amazonaws.qconnect#ArnWithQualifier", + }, + "aiPromptArn": { + "target": "com.amazonaws.qconnect#Arn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the message template.

", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the AI Prompt.

", "smithy.api#required": {} } }, - "messageTemplateId": { - "target": "com.amazonaws.qconnect#Uuid", + "name": { + "target": "com.amazonaws.qconnect#Name", "traits": { - "smithy.api#documentation": "

The identifier of the message template.

", + "smithy.api#documentation": "

The name of the AI Prompt

", "smithy.api#required": {} } }, - "versionNumber": { - "target": "com.amazonaws.qconnect#Version", + "type": { + "target": "com.amazonaws.qconnect#AIPromptType", "traits": { - "smithy.api#documentation": "

The version number of the message template version that is activated.

", + "smithy.api#documentation": "

The type of this AI Prompt.

", "smithy.api#required": {} } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.qconnect#AgentAttributes": { - "type": "structure", - "members": { - "firstName": { - "target": "com.amazonaws.qconnect#MessageTemplateAttributeValue", + }, + "templateType": { + "target": "com.amazonaws.qconnect#AIPromptTemplateType", "traits": { - "smithy.api#documentation": "

The agent’s first name as entered in their Amazon Connect user account.

" + "smithy.api#documentation": "

The type of the prompt template for this AI Prompt.

", + "smithy.api#required": {} } }, - "lastName": { - "target": "com.amazonaws.qconnect#MessageTemplateAttributeValue", + "modelId": { + "target": "com.amazonaws.qconnect#AIPromptModelIdentifier", "traits": { - "smithy.api#documentation": "

The agent’s last name as entered in their Amazon Connect user account.

" + "smithy.api#documentation": "

The identifier of the model used for this AI Prompt. Model Ids supported are:\n CLAUDE_3_HAIKU_20240307_V1.

", + "smithy.api#required": {} } - } - }, - "traits": { - "smithy.api#documentation": "

Information about an agent.

" - } - }, - "com.amazonaws.qconnect#AmazonConnectGuideAssociationData": { - "type": "structure", - "members": { - "flowId": { - "target": "com.amazonaws.qconnect#GenericArn", + }, + "apiFormat": { + "target": "com.amazonaws.qconnect#AIPromptAPIFormat", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of an Amazon Connect flow. Step-by-step guides are a type of flow.

" + "smithy.api#documentation": "

The API format used for this AI Prompt.

", + "smithy.api#required": {} } - } - }, - "traits": { - "smithy.api#documentation": "

Content association data for a step-by-step\n guide.

" - } - }, - "com.amazonaws.qconnect#AndConditions": { - "type": "list", - "member": { - "target": "com.amazonaws.qconnect#TagCondition" - } - }, - "com.amazonaws.qconnect#AnswerRecommendationAIAgentConfiguration": { - "type": "structure", - "members": { - "intentLabelingGenerationAIPromptId": { - "target": "com.amazonaws.qconnect#UuidWithQualifier", + }, + "templateConfiguration": { + "target": "com.amazonaws.qconnect#AIPromptTemplateConfiguration", "traits": { - "smithy.api#documentation": "

The AI Prompt identifier for the Intent Labeling prompt used by the\n ANSWER_RECOMMENDATION AI Agent.

" + "smithy.api#documentation": "

The configuration of the prompt template for this AI Prompt.

", + "smithy.api#required": {} } }, - "queryReformulationAIPromptId": { - "target": "com.amazonaws.qconnect#UuidWithQualifier", + "modifiedTime": { + "target": "smithy.api#Timestamp", "traits": { - "smithy.api#documentation": "

The AI Prompt identifier for the Query Reformulation prompt used by the\n ANSWER_RECOMMENDATION AI Agent.

" + "smithy.api#documentation": "

The time the AI Prompt was last modified.

" } }, - "answerGenerationAIPromptId": { - "target": "com.amazonaws.qconnect#UuidWithQualifier", + "description": { + "target": "com.amazonaws.qconnect#Description", "traits": { - "smithy.api#documentation": "

The AI Prompt identifier for the Answer Generation prompt used by the\n ANSWER_RECOMMENDATION AI Agent.

" + "smithy.api#documentation": "

The description of the AI Prompt.

" } }, - "associationConfigurations": { - "target": "com.amazonaws.qconnect#AssociationConfigurationList", + "visibilityStatus": { + "target": "com.amazonaws.qconnect#VisibilityStatus", "traits": { - "smithy.api#documentation": "

The association configurations for overriding behavior on this AI Agent.

" + "smithy.api#documentation": "

The visibility status of the AI Prompt.

", + "smithy.api#required": {} } - } - }, - "traits": { - "smithy.api#documentation": "

The configuration for the ANSWER_RECOMMENDATION AI Agent type.

" - } - }, - "com.amazonaws.qconnect#AppIntegrationsConfiguration": { - "type": "structure", - "members": { - "appIntegrationArn": { - "target": "com.amazonaws.qconnect#GenericArn", + }, + "tags": { + "target": "com.amazonaws.qconnect#Tags", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the AppIntegrations DataIntegration to use for ingesting content.

\n
    \n
  • \n

    For Salesforce, your AppIntegrations DataIntegration must have an ObjectConfiguration if\n objectFields is not provided, including at least Id,\n ArticleNumber, VersionNumber, Title,\n PublishStatus, and IsDeleted as source fields.

    \n
  • \n
  • \n

    For ServiceNow, your AppIntegrations DataIntegration must have an ObjectConfiguration if\n objectFields is not provided, including at least number,\n short_description, sys_mod_count, workflow_state,\n and active as source fields.

    \n
  • \n
  • \n

    For \n Zendesk, your AppIntegrations DataIntegration must have an ObjectConfiguration if\n objectFields is not provided, including at least id,\n title, updated_at, and draft as source fields.\n

    \n
  • \n
  • \n

    For SharePoint, your AppIntegrations DataIntegration must have a FileConfiguration,\n including only file extensions that are among docx, pdf,\n html, htm, and txt.

    \n
  • \n
  • \n

    For Amazon S3, the\n ObjectConfiguration and FileConfiguration of your AppIntegrations DataIntegration must be null.\n The SourceURI of your DataIntegration must use the following format:\n s3://your_s3_bucket_name.

    \n \n

    The bucket policy of the corresponding S3 bucket must allow the Amazon Web Services\n principal app-integrations.amazonaws.com to perform\n s3:ListBucket, s3:GetObject, and\n s3:GetBucketLocation against the bucket.

    \n
    \n
  • \n
", - "smithy.api#required": {} + "smithy.api#documentation": "

The tags used to organize, track, or control access for this resource.

" } }, - "objectFields": { - "target": "com.amazonaws.qconnect#ObjectFieldsList", + "origin": { + "target": "com.amazonaws.qconnect#Origin", "traits": { - "smithy.api#documentation": "

The fields from the source that are made available to your agents in Amazon Q in Connect. Optional if\n ObjectConfiguration is included in the provided DataIntegration.

\n
    \n
  • \n

    For Salesforce, you must include at least Id,\n ArticleNumber, VersionNumber, Title,\n PublishStatus, and IsDeleted.

    \n
  • \n
  • \n

    For ServiceNow, you must include at least number,\n short_description, sys_mod_count, workflow_state,\n and active.

    \n
  • \n
  • \n

    For \n Zendesk, you must include at least id, title,\n updated_at, and draft.

    \n
  • \n
\n

Make sure to include additional fields. These fields are indexed and used to source\n recommendations.

" + "smithy.api#documentation": "

The origin of the AI Prompt. SYSTEM for a default AI Prompt created by Q in\n Connect or CUSTOMER for an AI Prompt created by calling AI Prompt creation APIs.\n

" + } + }, + "status": { + "target": "com.amazonaws.qconnect#Status", + "traits": { + "smithy.api#documentation": "

The status of the AI Prompt.

" } } }, "traits": { - "smithy.api#documentation": "

Configuration information for Amazon AppIntegrations to automatically ingest content.

" - } - }, - "com.amazonaws.qconnect#Arn": { - "type": "string", - "traits": { - "smithy.api#pattern": "^arn:[a-z-]*?:wisdom:[a-z0-9-]*?:[0-9]{12}:[a-z-]*?/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(?:/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}){0,2}$" + "smithy.api#documentation": "

The data for the AI Prompt

", + "smithy.api#references": [ + { + "resource": "com.amazonaws.qconnect#AIPrompt" + } + ] } }, - "com.amazonaws.qconnect#ArnWithQualifier": { + "com.amazonaws.qconnect#AIPromptModelIdentifier": { "type": "string", "traits": { - "smithy.api#pattern": "^arn:[a-z-]*?:wisdom:[a-z0-9-]*?:[0-9]{12}:[a-z-]*?/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(?:/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}){0,2}(:[A-Z0-9_$]+){0,1}$" + "smithy.api#length": { + "min": 1, + "max": 2048 + } } }, - "com.amazonaws.qconnect#Assistant": { - "type": "resource", - "identifiers": { - "assistantId": { - "target": "com.amazonaws.qconnect#UuidOrArn" - } - }, - "create": { - "target": "com.amazonaws.qconnect#CreateAssistant" - }, - "read": { - "target": "com.amazonaws.qconnect#GetAssistant" - }, - "delete": { - "target": "com.amazonaws.qconnect#DeleteAssistant" - }, - "list": { - "target": "com.amazonaws.qconnect#ListAssistants" - }, - "operations": [ - { - "target": "com.amazonaws.qconnect#GetRecommendations" + "com.amazonaws.qconnect#AIPromptSummary": { + "type": "structure", + "members": { + "name": { + "target": "com.amazonaws.qconnect#Name", + "traits": { + "smithy.api#documentation": "

The name of the AI Prompt.

", + "smithy.api#required": {} + } }, - { - "target": "com.amazonaws.qconnect#NotifyRecommendationsReceived" - }, - { - "target": "com.amazonaws.qconnect#PutFeedback" - }, - { - "target": "com.amazonaws.qconnect#QueryAssistant" - }, - { - "target": "com.amazonaws.qconnect#RemoveAssistantAIAgent" - }, - { - "target": "com.amazonaws.qconnect#SearchSessions" - }, - { - "target": "com.amazonaws.qconnect#UpdateAssistantAIAgent" - } - ], - "resources": [ - { - "target": "com.amazonaws.qconnect#AIAgent" - }, - { - "target": "com.amazonaws.qconnect#AIPrompt" - }, - { - "target": "com.amazonaws.qconnect#AssistantAssociation" - }, - { - "target": "com.amazonaws.qconnect#Session" - } - ], - "traits": { - "aws.api#arn": { - "template": "assistant/{assistantId}" - }, - "aws.cloudformation#cfnResource": {}, - "aws.iam#disableConditionKeyInference": {} - } - }, - "com.amazonaws.qconnect#AssistantAssociation": { - "type": "resource", - "identifiers": { "assistantId": { - "target": "com.amazonaws.qconnect#UuidOrArn" - }, - "assistantAssociationId": { - "target": "com.amazonaws.qconnect#UuidOrArn" - } - }, - "create": { - "target": "com.amazonaws.qconnect#CreateAssistantAssociation" - }, - "read": { - "target": "com.amazonaws.qconnect#GetAssistantAssociation" - }, - "delete": { - "target": "com.amazonaws.qconnect#DeleteAssistantAssociation" - }, - "list": { - "target": "com.amazonaws.qconnect#ListAssistantAssociations" - }, - "traits": { - "aws.api#arn": { - "template": "association/{assistantId}/{assistantAssociationId}" - }, - "aws.cloudformation#cfnResource": {}, - "aws.iam#disableConditionKeyInference": {} - } - }, - "com.amazonaws.qconnect#AssistantAssociationData": { - "type": "structure", - "members": { - "assistantAssociationId": { "target": "com.amazonaws.qconnect#Uuid", "traits": { - "smithy.api#documentation": "

The identifier of the assistant association.

", + "smithy.api#documentation": "

The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs\n cannot contain the ARN.

", "smithy.api#required": {} } }, - "assistantAssociationArn": { + "assistantArn": { "target": "com.amazonaws.qconnect#Arn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the assistant association.

", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Amazon Q in Connect assistant.

", "smithy.api#required": {} } }, - "assistantId": { + "aiPromptId": { "target": "com.amazonaws.qconnect#Uuid", "traits": { - "smithy.api#documentation": "

The identifier of the Amazon Q in Connect assistant.

", + "smithy.api#documentation": "

The identifier of the Amazon Q in Connect AI prompt.

", "smithy.api#required": {} } }, - "assistantArn": { - "target": "com.amazonaws.qconnect#Arn", + "type": { + "target": "com.amazonaws.qconnect#AIPromptType", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Amazon Q in Connect assistant.

", + "smithy.api#documentation": "

The type of this AI Prompt.

", "smithy.api#required": {} } }, - "associationType": { - "target": "com.amazonaws.qconnect#AssociationType", + "aiPromptArn": { + "target": "com.amazonaws.qconnect#Arn", "traits": { - "smithy.api#documentation": "

The type of association.

", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the AI Prompt.

", "smithy.api#required": {} } }, - "associationData": { - "target": "com.amazonaws.qconnect#AssistantAssociationOutputData", + "modifiedTime": { + "target": "smithy.api#Timestamp", "traits": { - "smithy.api#documentation": "

A union type that currently has a single argument, the knowledge base ID.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The time the AI Prompt was last modified.

" } }, - "tags": { - "target": "com.amazonaws.qconnect#Tags", - "traits": { - "smithy.api#documentation": "

The tags used to organize, track, or control access for this resource.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Information about the assistant association.

", - "smithy.api#references": [ - { - "resource": "com.amazonaws.qconnect#AssistantAssociation" - } - ] - } - }, - "com.amazonaws.qconnect#AssistantAssociationInputData": { - "type": "union", - "members": { - "knowledgeBaseId": { - "target": "com.amazonaws.qconnect#Uuid", - "traits": { - "smithy.api#documentation": "

The identifier of the knowledge base. This should not be a QUICK_RESPONSES type knowledge base.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

The data that is input into Amazon Q in Connect as a result of the assistant association.

" - } - }, - "com.amazonaws.qconnect#AssistantAssociationOutputData": { - "type": "union", - "members": { - "knowledgeBaseAssociation": { - "target": "com.amazonaws.qconnect#KnowledgeBaseAssociationData", + "templateType": { + "target": "com.amazonaws.qconnect#AIPromptTemplateType", "traits": { - "smithy.api#documentation": "

The knowledge base where output data is sent.

" + "smithy.api#documentation": "

The type of the prompt template for this AI Prompt.

", + "smithy.api#required": {} } - } - }, - "traits": { - "smithy.api#documentation": "

The data that is output as a result of the assistant association.

" - } - }, - "com.amazonaws.qconnect#AssistantAssociationSummary": { - "type": "structure", - "members": { - "assistantAssociationId": { - "target": "com.amazonaws.qconnect#Uuid", + }, + "modelId": { + "target": "com.amazonaws.qconnect#AIPromptModelIdentifier", "traits": { - "smithy.api#documentation": "

The identifier of the assistant association.

", + "smithy.api#documentation": "

The identifier of the model used for this AI Prompt. Model Ids supported are:\n CLAUDE_3_HAIKU_20240307_V1.

", "smithy.api#required": {} } }, - "assistantAssociationArn": { - "target": "com.amazonaws.qconnect#Arn", + "apiFormat": { + "target": "com.amazonaws.qconnect#AIPromptAPIFormat", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the assistant association.

", + "smithy.api#documentation": "

The API format used for this AI Prompt.

", "smithy.api#required": {} } }, - "assistantId": { - "target": "com.amazonaws.qconnect#Uuid", + "visibilityStatus": { + "target": "com.amazonaws.qconnect#VisibilityStatus", "traits": { - "smithy.api#documentation": "

The identifier of the Amazon Q in Connect assistant.

", + "smithy.api#documentation": "

The visibility status of the AI Prompt.

", "smithy.api#required": {} } }, - "assistantArn": { - "target": "com.amazonaws.qconnect#Arn", + "origin": { + "target": "com.amazonaws.qconnect#Origin", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Amazon Q in Connect assistant.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The origin of the AI Prompt. SYSTEM for a default AI Prompt created by Q in\n Connect or CUSTOMER for an AI Prompt created by calling AI Prompt creation APIs.\n

" } }, - "associationType": { - "target": "com.amazonaws.qconnect#AssociationType", + "description": { + "target": "com.amazonaws.qconnect#Description", "traits": { - "smithy.api#documentation": "

The type of association.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The description of the AI Prompt.

" } }, - "associationData": { - "target": "com.amazonaws.qconnect#AssistantAssociationOutputData", + "status": { + "target": "com.amazonaws.qconnect#Status", "traits": { - "smithy.api#documentation": "

The association data.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The status of the AI Prompt.

" } }, "tags": { @@ -1166,242 +1029,790 @@ } }, "traits": { - "smithy.api#documentation": "

Summary information about the assistant association.

", + "smithy.api#documentation": "

The summary of the AI Prompt.

", "smithy.api#references": [ { - "resource": "com.amazonaws.qconnect#AssistantAssociation" + "resource": "com.amazonaws.qconnect#AIPrompt" } ] } }, - "com.amazonaws.qconnect#AssistantAssociationSummaryList": { + "com.amazonaws.qconnect#AIPromptSummaryList": { "type": "list", "member": { - "target": "com.amazonaws.qconnect#AssistantAssociationSummary" + "target": "com.amazonaws.qconnect#AIPromptSummary" } }, - "com.amazonaws.qconnect#AssistantCapabilityConfiguration": { - "type": "structure", + "com.amazonaws.qconnect#AIPromptTemplateConfiguration": { + "type": "union", "members": { - "type": { - "target": "com.amazonaws.qconnect#AssistantCapabilityType", + "textFullAIPromptEditTemplateConfiguration": { + "target": "com.amazonaws.qconnect#TextFullAIPromptEditTemplateConfiguration", "traits": { - "smithy.api#documentation": "

The type of Amazon Q in Connect assistant capability.

" + "smithy.api#documentation": "

The configuration for a prompt template that supports full textual prompt configuration\n using a YAML prompt.

" } } }, "traits": { - "smithy.api#documentation": "

The capability configuration for an Amazon Q in Connect assistant.

" + "smithy.api#documentation": "

A typed union that specifies the configuration for a prompt template based on its\n type.

" } }, - "com.amazonaws.qconnect#AssistantCapabilityType": { + "com.amazonaws.qconnect#AIPromptTemplateType": { "type": "string", "traits": { "smithy.api#enum": [ { - "value": "V1", - "name": "V1" + "value": "TEXT", + "name": "TEXT" + } + ] + } + }, + "com.amazonaws.qconnect#AIPromptType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "ANSWER_GENERATION", + "name": "ANSWER_GENERATION" }, { - "value": "V2", - "name": "V2" + "value": "INTENT_LABELING_GENERATION", + "name": "INTENT_LABELING_GENERATION" + }, + { + "value": "QUERY_REFORMULATION", + "name": "QUERY_REFORMULATION" + }, + { + "value": "SELF_SERVICE_PRE_PROCESSING", + "name": "SELF_SERVICE_PRE_PROCESSING" + }, + { + "value": "SELF_SERVICE_ANSWER_GENERATION", + "name": "SELF_SERVICE_ANSWER_GENERATION" } ] } }, - "com.amazonaws.qconnect#AssistantData": { + "com.amazonaws.qconnect#AIPromptVersionSummariesList": { + "type": "list", + "member": { + "target": "com.amazonaws.qconnect#AIPromptVersionSummary" + } + }, + "com.amazonaws.qconnect#AIPromptVersionSummary": { "type": "structure", "members": { - "assistantId": { - "target": "com.amazonaws.qconnect#Uuid", + "aiPromptSummary": { + "target": "com.amazonaws.qconnect#AIPromptSummary", "traits": { - "smithy.api#documentation": "

The identifier of the Amazon Q in Connect assistant.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The date for the summary of the AI Prompt version.

" } }, - "assistantArn": { - "target": "com.amazonaws.qconnect#Arn", + "versionNumber": { + "target": "com.amazonaws.qconnect#Version", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Amazon Q in Connect assistant.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The version number for this AI Prompt version.

" } + } + }, + "traits": { + "smithy.api#documentation": "

The summary of the AI Prompt version.

" + } + }, + "com.amazonaws.qconnect#AccessDeniedException": { + "type": "structure", + "members": { + "message": { + "target": "smithy.api#String" + } + }, + "traits": { + "smithy.api#documentation": "

You do not have sufficient access to perform this action.

", + "smithy.api#error": "client", + "smithy.api#httpError": 403 + } + }, + "com.amazonaws.qconnect#ActivateMessageTemplate": { + "type": "operation", + "input": { + "target": "com.amazonaws.qconnect#ActivateMessageTemplateRequest" + }, + "output": { + "target": "com.amazonaws.qconnect#ActivateMessageTemplateResponse" + }, + "errors": [ + { + "target": "com.amazonaws.qconnect#AccessDeniedException" }, - "name": { - "target": "com.amazonaws.qconnect#Name", - "traits": { - "smithy.api#documentation": "

The name.

", - "smithy.api#required": {} - } + { + "target": "com.amazonaws.qconnect#ConflictException" }, - "type": { - "target": "com.amazonaws.qconnect#AssistantType", + { + "target": "com.amazonaws.qconnect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.qconnect#ThrottlingException" + }, + { + "target": "com.amazonaws.qconnect#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Activates a specific version of the Amazon Q in Connect message template. After the\n version is activated, the previous active version will be deactivated automatically. You can\n use the $ACTIVE_VERSION qualifier later to reference the version that is in\n active status.

", + "smithy.api#http": { + "uri": "/knowledgeBases/{knowledgeBaseId}/messageTemplates/{messageTemplateId}/activate", + "method": "POST" + } + } + }, + "com.amazonaws.qconnect#ActivateMessageTemplateRequest": { + "type": "structure", + "members": { + "knowledgeBaseId": { + "target": "com.amazonaws.qconnect#UuidOrArn", "traits": { - "smithy.api#documentation": "

The type of assistant.

", + "smithy.api#documentation": "

The identifier of the knowledge base. Can be either the ID or the ARN. URLs cannot contain\n the ARN.

", + "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, - "status": { - "target": "com.amazonaws.qconnect#AssistantStatus", + "messageTemplateId": { + "target": "com.amazonaws.qconnect#UuidOrArnOrEitherWithQualifier", "traits": { - "smithy.api#documentation": "

The status of the assistant.

", + "smithy.api#documentation": "

The identifier of the message template. Can be either the ID or the ARN. It cannot contain\n any qualifier.

", + "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, - "description": { - "target": "com.amazonaws.qconnect#Description", + "versionNumber": { + "target": "com.amazonaws.qconnect#Version", "traits": { - "smithy.api#documentation": "

The description.

" + "smithy.api#documentation": "

The version number of the message template version to activate.

", + "smithy.api#required": {} } - }, - "tags": { - "target": "com.amazonaws.qconnect#Tags", + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.qconnect#ActivateMessageTemplateResponse": { + "type": "structure", + "members": { + "messageTemplateArn": { + "target": "com.amazonaws.qconnect#ArnWithQualifier", "traits": { - "smithy.api#documentation": "

The tags used to organize, track, or control access for this resource.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the message template.

", + "smithy.api#required": {} } }, - "serverSideEncryptionConfiguration": { - "target": "com.amazonaws.qconnect#ServerSideEncryptionConfiguration", + "messageTemplateId": { + "target": "com.amazonaws.qconnect#Uuid", "traits": { - "smithy.api#documentation": "

The configuration information for the customer managed key used for encryption.

\n

This KMS key must have a policy that allows kms:CreateGrant,\n kms:DescribeKey, kms:Decrypt, and\n kms:GenerateDataKey* permissions to the IAM identity using the\n key to invoke Amazon Q in Connect. To use Amazon Q in Connect with chat, the key policy must also allow\n kms:Decrypt, kms:GenerateDataKey*, and\n kms:DescribeKey permissions to the connect.amazonaws.com service\n principal.

\n

For more information about setting up a customer managed key for Amazon Q in Connect, see Enable Amazon Q in Connect for\n your instance.

" + "smithy.api#documentation": "

The identifier of the message template.

", + "smithy.api#required": {} } }, - "integrationConfiguration": { - "target": "com.amazonaws.qconnect#AssistantIntegrationConfiguration", + "versionNumber": { + "target": "com.amazonaws.qconnect#Version", "traits": { - "smithy.api#documentation": "

The configuration information for the Amazon Q in Connect assistant integration.

" + "smithy.api#documentation": "

The version number of the message template version that is activated.

", + "smithy.api#required": {} } - }, - "capabilityConfiguration": { - "target": "com.amazonaws.qconnect#AssistantCapabilityConfiguration", + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.qconnect#AgentAttributes": { + "type": "structure", + "members": { + "firstName": { + "target": "com.amazonaws.qconnect#MessageTemplateAttributeValue", "traits": { - "smithy.api#documentation": "

The configuration information for the Amazon Q in Connect assistant capability.

" + "smithy.api#documentation": "

The agent’s first name as entered in their Amazon Connect user account.

" } }, - "aiAgentConfiguration": { - "target": "com.amazonaws.qconnect#AIAgentConfigurationMap", + "lastName": { + "target": "com.amazonaws.qconnect#MessageTemplateAttributeValue", "traits": { - "smithy.api#documentation": "

The configuration of the AI Agents (mapped by AI Agent Type to AI Agent version) that is\n set on the Amazon Q in Connect Assistant.

" + "smithy.api#documentation": "

The agent’s last name as entered in their Amazon Connect user account.

" } } }, "traits": { - "smithy.api#documentation": "

The assistant data.

" + "smithy.api#documentation": "

Information about an agent.

" } }, - "com.amazonaws.qconnect#AssistantIntegrationConfiguration": { + "com.amazonaws.qconnect#AmazonConnectGuideAssociationData": { "type": "structure", "members": { - "topicIntegrationArn": { + "flowId": { "target": "com.amazonaws.qconnect#GenericArn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the integrated Amazon SNS topic used for streaming chat messages.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of an Amazon Connect flow. Step-by-step guides are a type of flow.

" } } }, "traits": { - "smithy.api#documentation": "

The configuration information for the Amazon Q in Connect assistant integration.

" + "smithy.api#documentation": "

Content association data for a step-by-step\n guide.

" } }, - "com.amazonaws.qconnect#AssistantList": { + "com.amazonaws.qconnect#AndConditions": { "type": "list", "member": { - "target": "com.amazonaws.qconnect#AssistantSummary" - } - }, - "com.amazonaws.qconnect#AssistantStatus": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "CREATE_IN_PROGRESS", - "name": "CREATE_IN_PROGRESS" - }, - { - "value": "CREATE_FAILED", - "name": "CREATE_FAILED" - }, - { - "value": "ACTIVE", - "name": "ACTIVE" - }, - { - "value": "DELETE_IN_PROGRESS", - "name": "DELETE_IN_PROGRESS" - }, - { - "value": "DELETE_FAILED", - "name": "DELETE_FAILED" - }, - { - "value": "DELETED", - "name": "DELETED" - } - ] + "target": "com.amazonaws.qconnect#TagCondition" } }, - "com.amazonaws.qconnect#AssistantSummary": { + "com.amazonaws.qconnect#AnswerRecommendationAIAgentConfiguration": { "type": "structure", "members": { - "assistantId": { - "target": "com.amazonaws.qconnect#Uuid", - "traits": { - "smithy.api#documentation": "

The identifier of the Amazon Q in Connect assistant.

", - "smithy.api#required": {} - } - }, - "assistantArn": { - "target": "com.amazonaws.qconnect#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Amazon Q in Connect assistant.

", - "smithy.api#required": {} - } - }, - "name": { - "target": "com.amazonaws.qconnect#Name", + "intentLabelingGenerationAIPromptId": { + "target": "com.amazonaws.qconnect#UuidWithQualifier", "traits": { - "smithy.api#documentation": "

The name of the assistant.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The AI Prompt identifier for the Intent Labeling prompt used by the\n ANSWER_RECOMMENDATION AI Agent.

" } }, - "type": { - "target": "com.amazonaws.qconnect#AssistantType", + "queryReformulationAIPromptId": { + "target": "com.amazonaws.qconnect#UuidWithQualifier", "traits": { - "smithy.api#documentation": "

The type of the assistant.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The AI Prompt identifier for the Query Reformulation prompt used by the\n ANSWER_RECOMMENDATION AI Agent.

" } }, - "status": { - "target": "com.amazonaws.qconnect#AssistantStatus", + "answerGenerationAIPromptId": { + "target": "com.amazonaws.qconnect#UuidWithQualifier", "traits": { - "smithy.api#documentation": "

The status of the assistant.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The AI Prompt identifier for the Answer Generation prompt used by the\n ANSWER_RECOMMENDATION AI Agent.

" } }, - "description": { - "target": "com.amazonaws.qconnect#Description", + "answerGenerationAIGuardrailId": { + "target": "com.amazonaws.qconnect#UuidWithQualifier", "traits": { - "smithy.api#documentation": "

The description of the assistant.

" + "smithy.api#documentation": "

The AI Guardrail identifier for the Answer Generation Guardrail used by the\n ANSWER_RECOMMENDATION AI Agent.

" } }, - "tags": { - "target": "com.amazonaws.qconnect#Tags", + "associationConfigurations": { + "target": "com.amazonaws.qconnect#AssociationConfigurationList", "traits": { - "smithy.api#documentation": "

The tags used to organize, track, or control access for this resource.

" + "smithy.api#documentation": "

The association configurations for overriding behavior on this AI Agent.

" } - }, - "serverSideEncryptionConfiguration": { - "target": "com.amazonaws.qconnect#ServerSideEncryptionConfiguration", + } + }, + "traits": { + "smithy.api#documentation": "

The configuration for the ANSWER_RECOMMENDATION AI Agent type.

" + } + }, + "com.amazonaws.qconnect#AppIntegrationsConfiguration": { + "type": "structure", + "members": { + "appIntegrationArn": { + "target": "com.amazonaws.qconnect#GenericArn", "traits": { - "smithy.api#documentation": "

The configuration information for the customer managed key used for encryption.

\n

This KMS key must have a policy that allows kms:CreateGrant,\n kms:DescribeKey, kms:Decrypt, and\n kms:GenerateDataKey* permissions to the IAM identity using the\n key to invoke Amazon Q in Connect. To use Amazon Q in Connect with chat, the key policy must also allow\n kms:Decrypt, kms:GenerateDataKey*, and\n kms:DescribeKey permissions to the connect.amazonaws.com service\n principal.

\n

For more information about setting up a customer managed key for Amazon Q in Connect, see Enable Amazon Q in Connect for\n your instance.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the AppIntegrations DataIntegration to use for ingesting content.

\n
    \n
  • \n

    For Salesforce, your AppIntegrations DataIntegration must have an ObjectConfiguration if\n objectFields is not provided, including at least Id,\n ArticleNumber, VersionNumber, Title,\n PublishStatus, and IsDeleted as source fields.

    \n
  • \n
  • \n

    For ServiceNow, your AppIntegrations DataIntegration must have an ObjectConfiguration if\n objectFields is not provided, including at least number,\n short_description, sys_mod_count, workflow_state,\n and active as source fields.

    \n
  • \n
  • \n

    For \n Zendesk, your AppIntegrations DataIntegration must have an ObjectConfiguration if\n objectFields is not provided, including at least id,\n title, updated_at, and draft as source fields.\n

    \n
  • \n
  • \n

    For SharePoint, your AppIntegrations DataIntegration must have a FileConfiguration,\n including only file extensions that are among docx, pdf,\n html, htm, and txt.

    \n
  • \n
  • \n

    For Amazon S3, the\n ObjectConfiguration and FileConfiguration of your AppIntegrations DataIntegration must be null.\n The SourceURI of your DataIntegration must use the following format:\n s3://your_s3_bucket_name.

    \n \n

    The bucket policy of the corresponding S3 bucket must allow the Amazon Web Services\n principal app-integrations.amazonaws.com to perform\n s3:ListBucket, s3:GetObject, and\n s3:GetBucketLocation against the bucket.

    \n
    \n
  • \n
", + "smithy.api#required": {} } }, - "integrationConfiguration": { - "target": "com.amazonaws.qconnect#AssistantIntegrationConfiguration", + "objectFields": { + "target": "com.amazonaws.qconnect#ObjectFieldsList", "traits": { - "smithy.api#documentation": "

The configuration information for the Amazon Q in Connect assistant integration.

" + "smithy.api#documentation": "

The fields from the source that are made available to your agents in Amazon Q in Connect. Optional if\n ObjectConfiguration is included in the provided DataIntegration.

\n
    \n
  • \n

    For Salesforce, you must include at least Id,\n ArticleNumber, VersionNumber, Title,\n PublishStatus, and IsDeleted.

    \n
  • \n
  • \n

    For ServiceNow, you must include at least number,\n short_description, sys_mod_count, workflow_state,\n and active.

    \n
  • \n
  • \n

    For \n Zendesk, you must include at least id, title,\n updated_at, and draft.

    \n
  • \n
\n

Make sure to include additional fields. These fields are indexed and used to source\n recommendations.

" } - }, - "capabilityConfiguration": { + } + }, + "traits": { + "smithy.api#documentation": "

Configuration information for Amazon AppIntegrations to automatically ingest content.

" + } + }, + "com.amazonaws.qconnect#Arn": { + "type": "string", + "traits": { + "smithy.api#pattern": "^arn:[a-z-]*?:wisdom:[a-z0-9-]*?:[0-9]{12}:[a-z-]*?/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(?:/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}){0,2}$" + } + }, + "com.amazonaws.qconnect#ArnWithQualifier": { + "type": "string", + "traits": { + "smithy.api#pattern": "^arn:[a-z-]*?:wisdom:[a-z0-9-]*?:[0-9]{12}:[a-z-]*?/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(?:/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}){0,2}(:[A-Z0-9_$]+){0,1}$" + } + }, + "com.amazonaws.qconnect#Assistant": { + "type": "resource", + "identifiers": { + "assistantId": { + "target": "com.amazonaws.qconnect#UuidOrArn" + } + }, + "create": { + "target": "com.amazonaws.qconnect#CreateAssistant" + }, + "read": { + "target": "com.amazonaws.qconnect#GetAssistant" + }, + "delete": { + "target": "com.amazonaws.qconnect#DeleteAssistant" + }, + "list": { + "target": "com.amazonaws.qconnect#ListAssistants" + }, + "operations": [ + { + "target": "com.amazonaws.qconnect#GetRecommendations" + }, + { + "target": "com.amazonaws.qconnect#NotifyRecommendationsReceived" + }, + { + "target": "com.amazonaws.qconnect#PutFeedback" + }, + { + "target": "com.amazonaws.qconnect#QueryAssistant" + }, + { + "target": "com.amazonaws.qconnect#RemoveAssistantAIAgent" + }, + { + "target": "com.amazonaws.qconnect#SearchSessions" + }, + { + "target": "com.amazonaws.qconnect#UpdateAssistantAIAgent" + } + ], + "resources": [ + { + "target": "com.amazonaws.qconnect#AIAgent" + }, + { + "target": "com.amazonaws.qconnect#AIGuardrail" + }, + { + "target": "com.amazonaws.qconnect#AIPrompt" + }, + { + "target": "com.amazonaws.qconnect#AssistantAssociation" + }, + { + "target": "com.amazonaws.qconnect#Session" + } + ], + "traits": { + "aws.api#arn": { + "template": "assistant/{assistantId}" + }, + "aws.cloudformation#cfnResource": {}, + "aws.iam#disableConditionKeyInference": {} + } + }, + "com.amazonaws.qconnect#AssistantAssociation": { + "type": "resource", + "identifiers": { + "assistantId": { + "target": "com.amazonaws.qconnect#UuidOrArn" + }, + "assistantAssociationId": { + "target": "com.amazonaws.qconnect#UuidOrArn" + } + }, + "create": { + "target": "com.amazonaws.qconnect#CreateAssistantAssociation" + }, + "read": { + "target": "com.amazonaws.qconnect#GetAssistantAssociation" + }, + "delete": { + "target": "com.amazonaws.qconnect#DeleteAssistantAssociation" + }, + "list": { + "target": "com.amazonaws.qconnect#ListAssistantAssociations" + }, + "traits": { + "aws.api#arn": { + "template": "association/{assistantId}/{assistantAssociationId}" + }, + "aws.cloudformation#cfnResource": {}, + "aws.iam#disableConditionKeyInference": {} + } + }, + "com.amazonaws.qconnect#AssistantAssociationData": { + "type": "structure", + "members": { + "assistantAssociationId": { + "target": "com.amazonaws.qconnect#Uuid", + "traits": { + "smithy.api#documentation": "

The identifier of the assistant association.

", + "smithy.api#required": {} + } + }, + "assistantAssociationArn": { + "target": "com.amazonaws.qconnect#Arn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the assistant association.

", + "smithy.api#required": {} + } + }, + "assistantId": { + "target": "com.amazonaws.qconnect#Uuid", + "traits": { + "smithy.api#documentation": "

The identifier of the Amazon Q in Connect assistant.

", + "smithy.api#required": {} + } + }, + "assistantArn": { + "target": "com.amazonaws.qconnect#Arn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Amazon Q in Connect assistant.

", + "smithy.api#required": {} + } + }, + "associationType": { + "target": "com.amazonaws.qconnect#AssociationType", + "traits": { + "smithy.api#documentation": "

The type of association.

", + "smithy.api#required": {} + } + }, + "associationData": { + "target": "com.amazonaws.qconnect#AssistantAssociationOutputData", + "traits": { + "smithy.api#documentation": "

A union type that currently has a single argument, the knowledge base ID.

", + "smithy.api#required": {} + } + }, + "tags": { + "target": "com.amazonaws.qconnect#Tags", + "traits": { + "smithy.api#documentation": "

The tags used to organize, track, or control access for this resource.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Information about the assistant association.

", + "smithy.api#references": [ + { + "resource": "com.amazonaws.qconnect#AssistantAssociation" + } + ] + } + }, + "com.amazonaws.qconnect#AssistantAssociationInputData": { + "type": "union", + "members": { + "knowledgeBaseId": { + "target": "com.amazonaws.qconnect#Uuid", + "traits": { + "smithy.api#documentation": "

The identifier of the knowledge base. This should not be a QUICK_RESPONSES type knowledge base.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The data that is input into Amazon Q in Connect as a result of the assistant association.

" + } + }, + "com.amazonaws.qconnect#AssistantAssociationOutputData": { + "type": "union", + "members": { + "knowledgeBaseAssociation": { + "target": "com.amazonaws.qconnect#KnowledgeBaseAssociationData", + "traits": { + "smithy.api#documentation": "

The knowledge base where output data is sent.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The data that is output as a result of the assistant association.

" + } + }, + "com.amazonaws.qconnect#AssistantAssociationSummary": { + "type": "structure", + "members": { + "assistantAssociationId": { + "target": "com.amazonaws.qconnect#Uuid", + "traits": { + "smithy.api#documentation": "

The identifier of the assistant association.

", + "smithy.api#required": {} + } + }, + "assistantAssociationArn": { + "target": "com.amazonaws.qconnect#Arn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the assistant association.

", + "smithy.api#required": {} + } + }, + "assistantId": { + "target": "com.amazonaws.qconnect#Uuid", + "traits": { + "smithy.api#documentation": "

The identifier of the Amazon Q in Connect assistant.

", + "smithy.api#required": {} + } + }, + "assistantArn": { + "target": "com.amazonaws.qconnect#Arn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Amazon Q in Connect assistant.

", + "smithy.api#required": {} + } + }, + "associationType": { + "target": "com.amazonaws.qconnect#AssociationType", + "traits": { + "smithy.api#documentation": "

The type of association.

", + "smithy.api#required": {} + } + }, + "associationData": { + "target": "com.amazonaws.qconnect#AssistantAssociationOutputData", + "traits": { + "smithy.api#documentation": "

The association data.

", + "smithy.api#required": {} + } + }, + "tags": { + "target": "com.amazonaws.qconnect#Tags", + "traits": { + "smithy.api#documentation": "

The tags used to organize, track, or control access for this resource.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Summary information about the assistant association.

", + "smithy.api#references": [ + { + "resource": "com.amazonaws.qconnect#AssistantAssociation" + } + ] + } + }, + "com.amazonaws.qconnect#AssistantAssociationSummaryList": { + "type": "list", + "member": { + "target": "com.amazonaws.qconnect#AssistantAssociationSummary" + } + }, + "com.amazonaws.qconnect#AssistantCapabilityConfiguration": { + "type": "structure", + "members": { + "type": { + "target": "com.amazonaws.qconnect#AssistantCapabilityType", + "traits": { + "smithy.api#documentation": "

The type of Amazon Q in Connect assistant capability.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The capability configuration for an Amazon Q in Connect assistant.

" + } + }, + "com.amazonaws.qconnect#AssistantCapabilityType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "V1", + "name": "V1" + }, + { + "value": "V2", + "name": "V2" + } + ] + } + }, + "com.amazonaws.qconnect#AssistantData": { + "type": "structure", + "members": { + "assistantId": { + "target": "com.amazonaws.qconnect#Uuid", + "traits": { + "smithy.api#documentation": "

The identifier of the Amazon Q in Connect assistant.

", + "smithy.api#required": {} + } + }, + "assistantArn": { + "target": "com.amazonaws.qconnect#Arn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Amazon Q in Connect assistant.

", + "smithy.api#required": {} + } + }, + "name": { + "target": "com.amazonaws.qconnect#Name", + "traits": { + "smithy.api#documentation": "

The name.

", + "smithy.api#required": {} + } + }, + "type": { + "target": "com.amazonaws.qconnect#AssistantType", + "traits": { + "smithy.api#documentation": "

The type of assistant.

", + "smithy.api#required": {} + } + }, + "status": { + "target": "com.amazonaws.qconnect#AssistantStatus", + "traits": { + "smithy.api#documentation": "

The status of the assistant.

", + "smithy.api#required": {} + } + }, + "description": { + "target": "com.amazonaws.qconnect#Description", + "traits": { + "smithy.api#documentation": "

The description.

" + } + }, + "tags": { + "target": "com.amazonaws.qconnect#Tags", + "traits": { + "smithy.api#documentation": "

The tags used to organize, track, or control access for this resource.

" + } + }, + "serverSideEncryptionConfiguration": { + "target": "com.amazonaws.qconnect#ServerSideEncryptionConfiguration", + "traits": { + "smithy.api#documentation": "

The configuration information for the customer managed key used for encryption.

\n

This KMS key must have a policy that allows kms:CreateGrant,\n kms:DescribeKey, kms:Decrypt, and\n kms:GenerateDataKey* permissions to the IAM identity using the\n key to invoke Amazon Q in Connect. To use Amazon Q in Connect with chat, the key policy must also allow\n kms:Decrypt, kms:GenerateDataKey*, and\n kms:DescribeKey permissions to the connect.amazonaws.com service\n principal.

\n

For more information about setting up a customer managed key for Amazon Q in Connect, see Enable Amazon Q in Connect for\n your instance.

" + } + }, + "integrationConfiguration": { + "target": "com.amazonaws.qconnect#AssistantIntegrationConfiguration", + "traits": { + "smithy.api#documentation": "

The configuration information for the Amazon Q in Connect assistant integration.

" + } + }, + "capabilityConfiguration": { + "target": "com.amazonaws.qconnect#AssistantCapabilityConfiguration", + "traits": { + "smithy.api#documentation": "

The configuration information for the Amazon Q in Connect assistant capability.

" + } + }, + "aiAgentConfiguration": { + "target": "com.amazonaws.qconnect#AIAgentConfigurationMap", + "traits": { + "smithy.api#documentation": "

The configuration of the AI Agents (mapped by AI Agent Type to AI Agent version) that is\n set on the Amazon Q in Connect Assistant.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The assistant data.

" + } + }, + "com.amazonaws.qconnect#AssistantIntegrationConfiguration": { + "type": "structure", + "members": { + "topicIntegrationArn": { + "target": "com.amazonaws.qconnect#GenericArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the integrated Amazon SNS topic used for streaming chat messages.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The configuration information for the Amazon Q in Connect assistant integration.

" + } + }, + "com.amazonaws.qconnect#AssistantList": { + "type": "list", + "member": { + "target": "com.amazonaws.qconnect#AssistantSummary" + } + }, + "com.amazonaws.qconnect#AssistantStatus": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "CREATE_IN_PROGRESS", + "name": "CREATE_IN_PROGRESS" + }, + { + "value": "CREATE_FAILED", + "name": "CREATE_FAILED" + }, + { + "value": "ACTIVE", + "name": "ACTIVE" + }, + { + "value": "DELETE_IN_PROGRESS", + "name": "DELETE_IN_PROGRESS" + }, + { + "value": "DELETE_FAILED", + "name": "DELETE_FAILED" + }, + { + "value": "DELETED", + "name": "DELETED" + } + ] + } + }, + "com.amazonaws.qconnect#AssistantSummary": { + "type": "structure", + "members": { + "assistantId": { + "target": "com.amazonaws.qconnect#Uuid", + "traits": { + "smithy.api#documentation": "

The identifier of the Amazon Q in Connect assistant.

", + "smithy.api#required": {} + } + }, + "assistantArn": { + "target": "com.amazonaws.qconnect#Arn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Amazon Q in Connect assistant.

", + "smithy.api#required": {} + } + }, + "name": { + "target": "com.amazonaws.qconnect#Name", + "traits": { + "smithy.api#documentation": "

The name of the assistant.

", + "smithy.api#required": {} + } + }, + "type": { + "target": "com.amazonaws.qconnect#AssistantType", + "traits": { + "smithy.api#documentation": "

The type of the assistant.

", + "smithy.api#required": {} + } + }, + "status": { + "target": "com.amazonaws.qconnect#AssistantStatus", + "traits": { + "smithy.api#documentation": "

The status of the assistant.

", + "smithy.api#required": {} + } + }, + "description": { + "target": "com.amazonaws.qconnect#Description", + "traits": { + "smithy.api#documentation": "

The description of the assistant.

" + } + }, + "tags": { + "target": "com.amazonaws.qconnect#Tags", + "traits": { + "smithy.api#documentation": "

The tags used to organize, track, or control access for this resource.

" + } + }, + "serverSideEncryptionConfiguration": { + "target": "com.amazonaws.qconnect#ServerSideEncryptionConfiguration", + "traits": { + "smithy.api#documentation": "

The configuration information for the customer managed key used for encryption.

\n

This KMS key must have a policy that allows kms:CreateGrant,\n kms:DescribeKey, kms:Decrypt, and\n kms:GenerateDataKey* permissions to the IAM identity using the\n key to invoke Amazon Q in Connect. To use Amazon Q in Connect with chat, the key policy must also allow\n kms:Decrypt, kms:GenerateDataKey*, and\n kms:DescribeKey permissions to the connect.amazonaws.com service\n principal.

\n

For more information about setting up a customer managed key for Amazon Q in Connect, see Enable Amazon Q in Connect for\n your instance.

" + } + }, + "integrationConfiguration": { + "target": "com.amazonaws.qconnect#AssistantIntegrationConfiguration", + "traits": { + "smithy.api#documentation": "

The configuration information for the Amazon Q in Connect assistant integration.

" + } + }, + "capabilityConfiguration": { "target": "com.amazonaws.qconnect#AssistantCapabilityConfiguration", "traits": { "smithy.api#documentation": "

The configuration information for the Amazon Q in Connect assistant capability.

" @@ -2111,248 +2522,530 @@ } }, "traits": { - "smithy.api#documentation": "

Details about the content data.

" + "smithy.api#documentation": "

Details about the content data.

" + } + }, + "com.amazonaws.qconnect#ContentDisposition": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "ATTACHMENT", + "name": "ATTACHMENT" + } + ] + } + }, + "com.amazonaws.qconnect#ContentFeedbackData": { + "type": "union", + "members": { + "generativeContentFeedbackData": { + "target": "com.amazonaws.qconnect#GenerativeContentFeedbackData", + "traits": { + "smithy.api#documentation": "

Information about the feedback for a generative target type.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Information about the feedback.

" + } + }, + "com.amazonaws.qconnect#ContentMetadata": { + "type": "map", + "key": { + "target": "com.amazonaws.qconnect#NonEmptyString" + }, + "value": { + "target": "com.amazonaws.qconnect#NonEmptyString" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 10 + } + } + }, + "com.amazonaws.qconnect#ContentReference": { + "type": "structure", + "members": { + "knowledgeBaseArn": { + "target": "com.amazonaws.qconnect#Arn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the knowledge base.

" + } + }, + "knowledgeBaseId": { + "target": "com.amazonaws.qconnect#Uuid", + "traits": { + "smithy.api#documentation": "

The identifier of the knowledge base. This should not be a QUICK_RESPONSES type knowledge base.

" + } + }, + "contentArn": { + "target": "com.amazonaws.qconnect#Arn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the content.

" + } + }, + "contentId": { + "target": "com.amazonaws.qconnect#Uuid", + "traits": { + "smithy.api#documentation": "

The identifier of the content.

" + } + }, + "sourceURL": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The web URL of the source content.

" + } + }, + "referenceType": { + "target": "com.amazonaws.qconnect#ReferenceType", + "traits": { + "smithy.api#documentation": "

The type of reference content.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Reference information about the content.

" + } + }, + "com.amazonaws.qconnect#ContentStatus": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "CREATE_IN_PROGRESS", + "name": "CREATE_IN_PROGRESS" + }, + { + "value": "CREATE_FAILED", + "name": "CREATE_FAILED" + }, + { + "value": "ACTIVE", + "name": "ACTIVE" + }, + { + "value": "DELETE_IN_PROGRESS", + "name": "DELETE_IN_PROGRESS" + }, + { + "value": "DELETE_FAILED", + "name": "DELETE_FAILED" + }, + { + "value": "DELETED", + "name": "DELETED" + }, + { + "value": "UPDATE_FAILED", + "name": "UPDATE_FAILED" + } + ] + } + }, + "com.amazonaws.qconnect#ContentSummary": { + "type": "structure", + "members": { + "contentArn": { + "target": "com.amazonaws.qconnect#Arn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the content.

", + "smithy.api#required": {} + } + }, + "contentId": { + "target": "com.amazonaws.qconnect#Uuid", + "traits": { + "smithy.api#documentation": "

The identifier of the content.

", + "smithy.api#required": {} + } + }, + "knowledgeBaseArn": { + "target": "com.amazonaws.qconnect#Arn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the knowledge base.

", + "smithy.api#required": {} + } + }, + "knowledgeBaseId": { + "target": "com.amazonaws.qconnect#Uuid", + "traits": { + "smithy.api#documentation": "

The identifier of the knowledge base. This should not be a QUICK_RESPONSES type knowledge base.

", + "smithy.api#required": {} + } + }, + "name": { + "target": "com.amazonaws.qconnect#Name", + "traits": { + "smithy.api#documentation": "

The name of the content.

", + "smithy.api#required": {} + } + }, + "revisionId": { + "target": "com.amazonaws.qconnect#NonEmptyString", + "traits": { + "smithy.api#documentation": "

The identifier of the revision of the content.

", + "smithy.api#required": {} + } + }, + "title": { + "target": "com.amazonaws.qconnect#ContentTitle", + "traits": { + "smithy.api#documentation": "

The title of the content.

", + "smithy.api#required": {} + } + }, + "contentType": { + "target": "com.amazonaws.qconnect#ContentType", + "traits": { + "smithy.api#documentation": "

The media type of the content.

", + "smithy.api#required": {} + } + }, + "status": { + "target": "com.amazonaws.qconnect#ContentStatus", + "traits": { + "smithy.api#documentation": "

The status of the content.

", + "smithy.api#required": {} + } + }, + "metadata": { + "target": "com.amazonaws.qconnect#ContentMetadata", + "traits": { + "smithy.api#documentation": "

A key/value map to store attributes without affecting tagging or recommendations. \nFor example, when synchronizing data between an external system and Amazon Q in Connect, you can store an external version identifier as metadata to utilize for determining drift.

", + "smithy.api#required": {} + } + }, + "tags": { + "target": "com.amazonaws.qconnect#Tags", + "traits": { + "smithy.api#documentation": "

The tags used to organize, track, or control access for this resource.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Summary information about the content.

", + "smithy.api#references": [ + { + "resource": "com.amazonaws.qconnect#Content" + }, + { + "resource": "com.amazonaws.qconnect#KnowledgeBase" + } + ] + } + }, + "com.amazonaws.qconnect#ContentSummaryList": { + "type": "list", + "member": { + "target": "com.amazonaws.qconnect#ContentSummary" + } + }, + "com.amazonaws.qconnect#ContentTitle": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 255 + } } }, - "com.amazonaws.qconnect#ContentDisposition": { + "com.amazonaws.qconnect#ContentType": { "type": "string", "traits": { - "smithy.api#enum": [ - { - "value": "ATTACHMENT", - "name": "ATTACHMENT" - } - ] + "smithy.api#pattern": "^(text/(plain|html|csv))|(application/(pdf|vnd\\.openxmlformats-officedocument\\.wordprocessingml\\.document))|(application/x\\.wisdom-json;source=(salesforce|servicenow|zendesk))$" } }, - "com.amazonaws.qconnect#ContentFeedbackData": { - "type": "union", + "com.amazonaws.qconnect#ConversationContext": { + "type": "structure", "members": { - "generativeContentFeedbackData": { - "target": "com.amazonaws.qconnect#GenerativeContentFeedbackData", + "selfServiceConversationHistory": { + "target": "com.amazonaws.qconnect#SelfServiceConversationHistoryList", "traits": { - "smithy.api#documentation": "

Information about the feedback for a generative target type.

" + "smithy.api#documentation": "

The self service conversation history before the Amazon Q in Connect session.

", + "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

Information about the feedback.

" - } - }, - "com.amazonaws.qconnect#ContentMetadata": { - "type": "map", - "key": { - "target": "com.amazonaws.qconnect#NonEmptyString" - }, - "value": { - "target": "com.amazonaws.qconnect#NonEmptyString" - }, - "traits": { - "smithy.api#length": { - "min": 0, - "max": 10 - } + "smithy.api#documentation": "

The conversation context to include in SendMessage.

" } }, - "com.amazonaws.qconnect#ContentReference": { + "com.amazonaws.qconnect#ConversationState": { "type": "structure", "members": { - "knowledgeBaseArn": { - "target": "com.amazonaws.qconnect#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the knowledge base.

" - } - }, - "knowledgeBaseId": { - "target": "com.amazonaws.qconnect#Uuid", - "traits": { - "smithy.api#documentation": "

The identifier of the knowledge base. This should not be a QUICK_RESPONSES type knowledge base.

" - } - }, - "contentArn": { - "target": "com.amazonaws.qconnect#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the content.

" - } - }, - "contentId": { - "target": "com.amazonaws.qconnect#Uuid", - "traits": { - "smithy.api#documentation": "

The identifier of the content.

" - } - }, - "sourceURL": { - "target": "smithy.api#String", + "status": { + "target": "com.amazonaws.qconnect#ConversationStatus", "traits": { - "smithy.api#documentation": "

The web URL of the source content.

" + "smithy.api#documentation": "

The status of the conversation state.

", + "smithy.api#required": {} } }, - "referenceType": { - "target": "com.amazonaws.qconnect#ReferenceType", + "reason": { + "target": "com.amazonaws.qconnect#ConversationStatusReason", "traits": { - "smithy.api#documentation": "

The type of reference content.

" + "smithy.api#documentation": "

The reason of the conversation state.

" } } }, "traits": { - "smithy.api#documentation": "

Reference information about the content.

" + "smithy.api#documentation": "

The conversation state associated to a message.

" } }, - "com.amazonaws.qconnect#ContentStatus": { + "com.amazonaws.qconnect#ConversationStatus": { "type": "string", "traits": { "smithy.api#enum": [ { - "value": "CREATE_IN_PROGRESS", - "name": "CREATE_IN_PROGRESS" - }, - { - "value": "CREATE_FAILED", - "name": "CREATE_FAILED" + "value": "CLOSED", + "name": "CLOSED" }, { - "value": "ACTIVE", - "name": "ACTIVE" + "value": "READY", + "name": "READY" }, { - "value": "DELETE_IN_PROGRESS", - "name": "DELETE_IN_PROGRESS" - }, + "value": "PROCESSING", + "name": "PROCESSING" + } + ] + } + }, + "com.amazonaws.qconnect#ConversationStatusReason": { + "type": "string", + "traits": { + "smithy.api#enum": [ { - "value": "DELETE_FAILED", - "name": "DELETE_FAILED" + "value": "SUCCESS", + "name": "SUCCESS" }, { - "value": "DELETED", - "name": "DELETED" + "value": "FAILED", + "name": "FAILED" }, { - "value": "UPDATE_FAILED", - "name": "UPDATE_FAILED" + "value": "REJECTED", + "name": "REJECTED" } ] } }, - "com.amazonaws.qconnect#ContentSummary": { + "com.amazonaws.qconnect#CreateAIAgent": { + "type": "operation", + "input": { + "target": "com.amazonaws.qconnect#CreateAIAgentRequest" + }, + "output": { + "target": "com.amazonaws.qconnect#CreateAIAgentResponse" + }, + "errors": [ + { + "target": "com.amazonaws.qconnect#AccessDeniedException" + }, + { + "target": "com.amazonaws.qconnect#ConflictException" + }, + { + "target": "com.amazonaws.qconnect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.qconnect#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.qconnect#ThrottlingException" + }, + { + "target": "com.amazonaws.qconnect#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Creates an Amazon Q in Connect AI Agent.

", + "smithy.api#http": { + "uri": "/assistants/{assistantId}/aiagents", + "method": "POST" + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.qconnect#CreateAIAgentRequest": { "type": "structure", "members": { - "contentArn": { - "target": "com.amazonaws.qconnect#Arn", + "clientToken": { + "target": "com.amazonaws.qconnect#ClientToken", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the content.

", - "smithy.api#required": {} + "smithy.api#documentation": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request. If not provided, the Amazon Web Services\n SDK populates this field. For more information about idempotency, see\n Making retries safe with idempotent APIs..

", + "smithy.api#idempotencyToken": {} } }, - "contentId": { - "target": "com.amazonaws.qconnect#Uuid", + "assistantId": { + "target": "com.amazonaws.qconnect#UuidOrArn", "traits": { - "smithy.api#documentation": "

The identifier of the content.

", + "smithy.api#documentation": "

The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs\n cannot contain the ARN.

", + "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, - "knowledgeBaseArn": { - "target": "com.amazonaws.qconnect#Arn", + "name": { + "target": "com.amazonaws.qconnect#Name", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the knowledge base.

", + "smithy.api#documentation": "

The name of the AI Agent.

", "smithy.api#required": {} } }, - "knowledgeBaseId": { - "target": "com.amazonaws.qconnect#Uuid", + "type": { + "target": "com.amazonaws.qconnect#AIAgentType", "traits": { - "smithy.api#documentation": "

The identifier of the knowledge base. This should not be a QUICK_RESPONSES type knowledge base.

", + "smithy.api#documentation": "

The type of the AI Agent.

", "smithy.api#required": {} } }, - "name": { - "target": "com.amazonaws.qconnect#Name", + "configuration": { + "target": "com.amazonaws.qconnect#AIAgentConfiguration", "traits": { - "smithy.api#documentation": "

The name of the content.

", + "smithy.api#documentation": "

The configuration of the AI Agent.

", "smithy.api#required": {} } }, - "revisionId": { - "target": "com.amazonaws.qconnect#NonEmptyString", + "visibilityStatus": { + "target": "com.amazonaws.qconnect#VisibilityStatus", "traits": { - "smithy.api#documentation": "

The identifier of the revision of the content.

", + "smithy.api#documentation": "

The visibility status of the AI Agent.

", "smithy.api#required": {} } }, - "title": { - "target": "com.amazonaws.qconnect#ContentTitle", + "tags": { + "target": "com.amazonaws.qconnect#Tags", "traits": { - "smithy.api#documentation": "

The title of the content.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The tags used to organize, track, or control access for this resource.

" } }, - "contentType": { - "target": "com.amazonaws.qconnect#ContentType", + "description": { + "target": "com.amazonaws.qconnect#Description", + "traits": { + "smithy.api#documentation": "

The description of the AI Agent.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.qconnect#CreateAIAgentResponse": { + "type": "structure", + "members": { + "aiAgent": { + "target": "com.amazonaws.qconnect#AIAgentData", + "traits": { + "smithy.api#documentation": "

The data of the created AI Agent.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.qconnect#CreateAIAgentVersion": { + "type": "operation", + "input": { + "target": "com.amazonaws.qconnect#CreateAIAgentVersionRequest" + }, + "output": { + "target": "com.amazonaws.qconnect#CreateAIAgentVersionResponse" + }, + "errors": [ + { + "target": "com.amazonaws.qconnect#AccessDeniedException" + }, + { + "target": "com.amazonaws.qconnect#ConflictException" + }, + { + "target": "com.amazonaws.qconnect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.qconnect#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.qconnect#ThrottlingException" + }, + { + "target": "com.amazonaws.qconnect#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Creates and Amazon Q in Connect AI Agent version.

", + "smithy.api#http": { + "uri": "/assistants/{assistantId}/aiagents/{aiAgentId}/versions", + "method": "POST" + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.qconnect#CreateAIAgentVersionRequest": { + "type": "structure", + "members": { + "assistantId": { + "target": "com.amazonaws.qconnect#UuidOrArn", "traits": { - "smithy.api#documentation": "

The media type of the content.

", + "smithy.api#documentation": "

The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs\n cannot contain the ARN.

", + "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, - "status": { - "target": "com.amazonaws.qconnect#ContentStatus", + "aiAgentId": { + "target": "com.amazonaws.qconnect#UuidOrArnOrEitherWithQualifier", "traits": { - "smithy.api#documentation": "

The status of the content.

", + "smithy.api#documentation": "

The identifier of the Amazon Q in Connect AI Agent.

", + "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, - "metadata": { - "target": "com.amazonaws.qconnect#ContentMetadata", + "modifiedTime": { + "target": "smithy.api#Timestamp", "traits": { - "smithy.api#documentation": "

A key/value map to store attributes without affecting tagging or recommendations. \nFor example, when synchronizing data between an external system and Amazon Q in Connect, you can store an external version identifier as metadata to utilize for determining drift.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The modification time of the AI Agent should be tracked for version creation. This field\n should be specified to avoid version creation when simultaneous update to the underlying AI\n Agent are possible. The value should be the modifiedTime returned from the request to create\n or update an AI Agent so that version creation can fail if an update to the AI Agent post the\n specified modification time has been made.

" } }, - "tags": { - "target": "com.amazonaws.qconnect#Tags", + "clientToken": { + "target": "com.amazonaws.qconnect#ClientToken", "traits": { - "smithy.api#documentation": "

The tags used to organize, track, or control access for this resource.

" + "smithy.api#documentation": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request. If not provided, the Amazon Web Services\n SDK populates this field. For more information about idempotency, see\n Making retries safe with idempotent APIs..

", + "smithy.api#idempotencyToken": {} } } }, "traits": { - "smithy.api#documentation": "

Summary information about the content.

", - "smithy.api#references": [ - { - "resource": "com.amazonaws.qconnect#Content" - }, - { - "resource": "com.amazonaws.qconnect#KnowledgeBase" - } - ] - } - }, - "com.amazonaws.qconnect#ContentSummaryList": { - "type": "list", - "member": { - "target": "com.amazonaws.qconnect#ContentSummary" + "smithy.api#input": {} } }, - "com.amazonaws.qconnect#ContentTitle": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 255 + "com.amazonaws.qconnect#CreateAIAgentVersionResponse": { + "type": "structure", + "members": { + "aiAgent": { + "target": "com.amazonaws.qconnect#AIAgentData", + "traits": { + "smithy.api#documentation": "

The data of the AI Agent version.

" + } + }, + "versionNumber": { + "target": "com.amazonaws.qconnect#Version", + "traits": { + "smithy.api#documentation": "

The version number of the AI Agent version.

" + } } - } - }, - "com.amazonaws.qconnect#ContentType": { - "type": "string", + }, "traits": { - "smithy.api#pattern": "^(text/(plain|html|csv))|(application/(pdf|vnd\\.openxmlformats-officedocument\\.wordprocessingml\\.document))|(application/x\\.wisdom-json;source=(salesforce|servicenow|zendesk))$" + "smithy.api#output": {} } }, - "com.amazonaws.qconnect#CreateAIAgent": { + "com.amazonaws.qconnect#CreateAIGuardrail": { "type": "operation", "input": { - "target": "com.amazonaws.qconnect#CreateAIAgentRequest" + "target": "com.amazonaws.qconnect#CreateAIGuardrailRequest" }, "output": { - "target": "com.amazonaws.qconnect#CreateAIAgentResponse" + "target": "com.amazonaws.qconnect#CreateAIGuardrailResponse" }, "errors": [ { @@ -2375,15 +3068,16 @@ } ], "traits": { - "smithy.api#documentation": "

Creates an Amazon Q in Connect AI Agent.

", + "smithy.api#documentation": "

Creates an Amazon Q in Connect AI Guardrail.

", "smithy.api#http": { - "uri": "/assistants/{assistantId}/aiagents", + "uri": "/assistants/{assistantId}/aiguardrails", "method": "POST" }, - "smithy.api#idempotent": {} + "smithy.api#idempotent": {}, + "smithy.api#private": {} } }, - "com.amazonaws.qconnect#CreateAIAgentRequest": { + "com.amazonaws.qconnect#CreateAIGuardrailRequest": { "type": "structure", "members": { "clientToken": { @@ -2404,41 +3098,71 @@ "name": { "target": "com.amazonaws.qconnect#Name", "traits": { - "smithy.api#documentation": "

The name of the AI Agent.

", + "smithy.api#documentation": "

The name of the AI Guardrail.

", "smithy.api#required": {} } }, - "type": { - "target": "com.amazonaws.qconnect#AIAgentType", + "blockedInputMessaging": { + "target": "com.amazonaws.qconnect#AIGuardrailBlockedMessaging", "traits": { - "smithy.api#documentation": "

The type of the AI Agent.

", + "smithy.api#documentation": "

The message to return when the AI Guardrail blocks a prompt.

", "smithy.api#required": {} } }, - "configuration": { - "target": "com.amazonaws.qconnect#AIAgentConfiguration", + "blockedOutputsMessaging": { + "target": "com.amazonaws.qconnect#AIGuardrailBlockedMessaging", "traits": { - "smithy.api#documentation": "

The configuration of the AI Agent.

", + "smithy.api#documentation": "

The message to return when the AI Guardrail blocks a model response.

", "smithy.api#required": {} } }, "visibilityStatus": { "target": "com.amazonaws.qconnect#VisibilityStatus", "traits": { - "smithy.api#documentation": "

The visibility status of the AI Agent.

", + "smithy.api#documentation": "

The visibility status of the AI Guardrail.

", "smithy.api#required": {} } }, - "tags": { - "target": "com.amazonaws.qconnect#Tags", + "description": { + "target": "com.amazonaws.qconnect#AIGuardrailDescription", "traits": { - "smithy.api#documentation": "

The tags used to organize, track, or control access for this resource.

" + "smithy.api#documentation": "

A description of the AI Guardrail.

" } }, - "description": { - "target": "com.amazonaws.qconnect#Description", + "topicPolicyConfig": { + "target": "com.amazonaws.qconnect#AIGuardrailTopicPolicyConfig", "traits": { - "smithy.api#documentation": "

The description of the AI Agent.

" + "smithy.api#documentation": "

The topic policies to configure for the AI Guardrail.

" + } + }, + "contentPolicyConfig": { + "target": "com.amazonaws.qconnect#AIGuardrailContentPolicyConfig", + "traits": { + "smithy.api#documentation": "

The content filter policies to configure for the AI Guardrail.

" + } + }, + "wordPolicyConfig": { + "target": "com.amazonaws.qconnect#AIGuardrailWordPolicyConfig", + "traits": { + "smithy.api#documentation": "

The word policy you configure for the AI Guardrail.

" + } + }, + "sensitiveInformationPolicyConfig": { + "target": "com.amazonaws.qconnect#AIGuardrailSensitiveInformationPolicyConfig", + "traits": { + "smithy.api#documentation": "

The sensitive information policy to configure for the AI Guardrail.

" + } + }, + "contextualGroundingPolicyConfig": { + "target": "com.amazonaws.qconnect#AIGuardrailContextualGroundingPolicyConfig", + "traits": { + "smithy.api#documentation": "

The contextual grounding policy configuration used to create an AI Guardrail.

" + } + }, + "tags": { + "target": "com.amazonaws.qconnect#Tags", + "traits": { + "smithy.api#documentation": "

The tags used to organize, track, or control access for this resource.

" } } }, @@ -2446,13 +3170,13 @@ "smithy.api#input": {} } }, - "com.amazonaws.qconnect#CreateAIAgentResponse": { + "com.amazonaws.qconnect#CreateAIGuardrailResponse": { "type": "structure", "members": { - "aiAgent": { - "target": "com.amazonaws.qconnect#AIAgentData", + "aiGuardrail": { + "target": "com.amazonaws.qconnect#AIGuardrailData", "traits": { - "smithy.api#documentation": "

The data of the created AI Agent.

" + "smithy.api#documentation": "

The data of the AI Guardrail.

" } } }, @@ -2460,13 +3184,13 @@ "smithy.api#output": {} } }, - "com.amazonaws.qconnect#CreateAIAgentVersion": { + "com.amazonaws.qconnect#CreateAIGuardrailVersion": { "type": "operation", "input": { - "target": "com.amazonaws.qconnect#CreateAIAgentVersionRequest" + "target": "com.amazonaws.qconnect#CreateAIGuardrailVersionRequest" }, "output": { - "target": "com.amazonaws.qconnect#CreateAIAgentVersionResponse" + "target": "com.amazonaws.qconnect#CreateAIGuardrailVersionResponse" }, "errors": [ { @@ -2489,15 +3213,16 @@ } ], "traits": { - "smithy.api#documentation": "

Creates and Amazon Q in Connect AI Agent version.

", + "smithy.api#documentation": "

Creates an Amazon Q in Connect AI Guardrail version.

", "smithy.api#http": { - "uri": "/assistants/{assistantId}/aiagents/{aiAgentId}/versions", + "uri": "/assistants/{assistantId}/aiguardrails/{aiGuardrailId}/versions", "method": "POST" }, - "smithy.api#idempotent": {} + "smithy.api#idempotent": {}, + "smithy.api#private": {} } }, - "com.amazonaws.qconnect#CreateAIAgentVersionRequest": { + "com.amazonaws.qconnect#CreateAIGuardrailVersionRequest": { "type": "structure", "members": { "assistantId": { @@ -2508,10 +3233,10 @@ "smithy.api#required": {} } }, - "aiAgentId": { + "aiGuardrailId": { "target": "com.amazonaws.qconnect#UuidOrArnOrEitherWithQualifier", "traits": { - "smithy.api#documentation": "

The identifier of the Amazon Q in Connect AI Agent.

", + "smithy.api#documentation": "

The identifier of the Amazon Q in Connect AI Guardrail.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -2519,7 +3244,7 @@ "modifiedTime": { "target": "smithy.api#Timestamp", "traits": { - "smithy.api#documentation": "

The modification time of the AI Agent should be tracked for version creation. This field\n should be specified to avoid version creation when simultaneous update to the underlying AI\n Agent are possible. The value should be the modifiedTime returned from the request to create\n or update an AI Agent so that version creation can fail if an update to the AI Agent post the\n specified modification time has been made.

" + "smithy.api#documentation": "

The time the AI Guardrail was last modified.

" } }, "clientToken": { @@ -2534,19 +3259,19 @@ "smithy.api#input": {} } }, - "com.amazonaws.qconnect#CreateAIAgentVersionResponse": { + "com.amazonaws.qconnect#CreateAIGuardrailVersionResponse": { "type": "structure", "members": { - "aiAgent": { - "target": "com.amazonaws.qconnect#AIAgentData", + "aiGuardrail": { + "target": "com.amazonaws.qconnect#AIGuardrailData", "traits": { - "smithy.api#documentation": "

The data of the AI Agent version.

" + "smithy.api#documentation": "

The data of the AI Guardrail version.

" } }, "versionNumber": { "target": "com.amazonaws.qconnect#Version", "traits": { - "smithy.api#documentation": "

The version number of the AI Agent version.

" + "smithy.api#documentation": "

The version number of the AI Guardrail version.

" } } }, @@ -3350,7 +4075,7 @@ "messageTemplateId": { "target": "com.amazonaws.qconnect#UuidOrArnOrEitherWithQualifier", "traits": { - "smithy.api#documentation": "

The identifier of the message template. Can be either the ID or the ARN. It cannot contain any qualifier.

", + "smithy.api#documentation": "

The identifier of the message template. Can be either the ID or the ARN. It cannot contain\n any qualifier.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -3365,7 +4090,7 @@ "name": { "target": "com.amazonaws.qconnect#AttachmentFileName", "traits": { - "smithy.api#documentation": "

The name of the attachment file being uploaded. The name should include the file extension.

", + "smithy.api#documentation": "

The name of the attachment file being uploaded. The name should include the file\n extension.

", "smithy.api#required": {} } }, @@ -3536,7 +4261,7 @@ "messageTemplateId": { "target": "com.amazonaws.qconnect#UuidOrArnOrEitherWithQualifier", "traits": { - "smithy.api#documentation": "

The identifier of the message template. Can be either the ID or the ARN. It cannot contain any qualifier.

", + "smithy.api#documentation": "

The identifier of the message template. Can be either the ID or the ARN. It cannot contain\n any qualifier.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -4284,7 +5009,7 @@ "messageTemplateId": { "target": "com.amazonaws.qconnect#UuidOrArnOrEitherWithQualifier", "traits": { - "smithy.api#documentation": "

The identifier of the message template. Can be either the ID or the ARN. It cannot contain any qualifier.

", + "smithy.api#documentation": "

The identifier of the message template. Can be either the ID or the ARN. It cannot contain\n any qualifier.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -4330,18 +5055,158 @@ "smithy.api#output": {} } }, - "com.amazonaws.qconnect#DeleteAIAgent": { + "com.amazonaws.qconnect#DeleteAIAgent": { + "type": "operation", + "input": { + "target": "com.amazonaws.qconnect#DeleteAIAgentRequest" + }, + "output": { + "target": "com.amazonaws.qconnect#DeleteAIAgentResponse" + }, + "errors": [ + { + "target": "com.amazonaws.qconnect#AccessDeniedException" + }, + { + "target": "com.amazonaws.qconnect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.qconnect#ThrottlingException" + }, + { + "target": "com.amazonaws.qconnect#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Deletes an Amazon Q in Connect AI Agent.

", + "smithy.api#http": { + "uri": "/assistants/{assistantId}/aiagents/{aiAgentId}", + "method": "DELETE", + "code": 204 + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.qconnect#DeleteAIAgentRequest": { + "type": "structure", + "members": { + "assistantId": { + "target": "com.amazonaws.qconnect#UuidOrArn", + "traits": { + "smithy.api#documentation": "

The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs\n cannot contain the ARN.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "aiAgentId": { + "target": "com.amazonaws.qconnect#UuidOrArnOrEitherWithQualifier", + "traits": { + "smithy.api#documentation": "

The identifier of the Amazon Q in Connect AI Agent. Can be either the ID or the ARN. URLs\n cannot contain the ARN.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.qconnect#DeleteAIAgentResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.qconnect#DeleteAIAgentVersion": { + "type": "operation", + "input": { + "target": "com.amazonaws.qconnect#DeleteAIAgentVersionRequest" + }, + "output": { + "target": "com.amazonaws.qconnect#DeleteAIAgentVersionResponse" + }, + "errors": [ + { + "target": "com.amazonaws.qconnect#AccessDeniedException" + }, + { + "target": "com.amazonaws.qconnect#ConflictException" + }, + { + "target": "com.amazonaws.qconnect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.qconnect#ThrottlingException" + }, + { + "target": "com.amazonaws.qconnect#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Deletes an Amazon Q in Connect AI Agent Version.

", + "smithy.api#http": { + "uri": "/assistants/{assistantId}/aiagents/{aiAgentId}/versions/{versionNumber}", + "method": "DELETE", + "code": 204 + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.qconnect#DeleteAIAgentVersionRequest": { + "type": "structure", + "members": { + "assistantId": { + "target": "com.amazonaws.qconnect#UuidOrArn", + "traits": { + "smithy.api#documentation": "

The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs\n cannot contain the ARN.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "aiAgentId": { + "target": "com.amazonaws.qconnect#UuidOrArnOrEitherWithQualifier", + "traits": { + "smithy.api#documentation": "

The identifier of the Amazon Q in Connect AI Agent. Can be either the ID or the ARN. URLs\n cannot contain the ARN.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "versionNumber": { + "target": "com.amazonaws.qconnect#Version", + "traits": { + "smithy.api#documentation": "

The version number of the AI Agent version.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.qconnect#DeleteAIAgentVersionResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.qconnect#DeleteAIGuardrail": { "type": "operation", "input": { - "target": "com.amazonaws.qconnect#DeleteAIAgentRequest" + "target": "com.amazonaws.qconnect#DeleteAIGuardrailRequest" }, "output": { - "target": "com.amazonaws.qconnect#DeleteAIAgentResponse" + "target": "com.amazonaws.qconnect#DeleteAIGuardrailResponse" }, "errors": [ { "target": "com.amazonaws.qconnect#AccessDeniedException" }, + { + "target": "com.amazonaws.qconnect#ConflictException" + }, { "target": "com.amazonaws.qconnect#ResourceNotFoundException" }, @@ -4353,16 +5218,17 @@ } ], "traits": { - "smithy.api#documentation": "

Deletes an Amazon Q in Connect AI Agent.

", + "smithy.api#documentation": "

Deletes an Amazon Q in Connect AI Guardrail.

", "smithy.api#http": { - "uri": "/assistants/{assistantId}/aiagents/{aiAgentId}", + "uri": "/assistants/{assistantId}/aiguardrails/{aiGuardrailId}", "method": "DELETE", - "code": 204 + "code": 202 }, - "smithy.api#idempotent": {} + "smithy.api#idempotent": {}, + "smithy.api#private": {} } }, - "com.amazonaws.qconnect#DeleteAIAgentRequest": { + "com.amazonaws.qconnect#DeleteAIGuardrailRequest": { "type": "structure", "members": { "assistantId": { @@ -4373,10 +5239,10 @@ "smithy.api#required": {} } }, - "aiAgentId": { + "aiGuardrailId": { "target": "com.amazonaws.qconnect#UuidOrArnOrEitherWithQualifier", "traits": { - "smithy.api#documentation": "

The identifier of the Amazon Q in Connect AI Agent. Can be either the ID or the ARN. URLs\n cannot contain the ARN.

", + "smithy.api#documentation": "

The identifier of the Amazon Q in Connect AI Guardrail. Can be either the ID or the ARN.\n URLs cannot contain the ARN.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -4386,20 +5252,20 @@ "smithy.api#input": {} } }, - "com.amazonaws.qconnect#DeleteAIAgentResponse": { + "com.amazonaws.qconnect#DeleteAIGuardrailResponse": { "type": "structure", "members": {}, "traits": { "smithy.api#output": {} } }, - "com.amazonaws.qconnect#DeleteAIAgentVersion": { + "com.amazonaws.qconnect#DeleteAIGuardrailVersion": { "type": "operation", "input": { - "target": "com.amazonaws.qconnect#DeleteAIAgentVersionRequest" + "target": "com.amazonaws.qconnect#DeleteAIGuardrailVersionRequest" }, "output": { - "target": "com.amazonaws.qconnect#DeleteAIAgentVersionResponse" + "target": "com.amazonaws.qconnect#DeleteAIGuardrailVersionResponse" }, "errors": [ { @@ -4419,16 +5285,17 @@ } ], "traits": { - "smithy.api#documentation": "

Deletes an Amazon Q in Connect AI Agent Version.

", + "smithy.api#documentation": "

Delete and Amazon Q in Connect AI Guardrail version.

", "smithy.api#http": { - "uri": "/assistants/{assistantId}/aiagents/{aiAgentId}/versions/{versionNumber}", + "uri": "/assistants/{assistantId}/aiguardrails/{aiGuardrailId}/versions/{versionNumber}", "method": "DELETE", - "code": 204 + "code": 202 }, - "smithy.api#idempotent": {} + "smithy.api#idempotent": {}, + "smithy.api#private": {} } }, - "com.amazonaws.qconnect#DeleteAIAgentVersionRequest": { + "com.amazonaws.qconnect#DeleteAIGuardrailVersionRequest": { "type": "structure", "members": { "assistantId": { @@ -4439,10 +5306,10 @@ "smithy.api#required": {} } }, - "aiAgentId": { + "aiGuardrailId": { "target": "com.amazonaws.qconnect#UuidOrArnOrEitherWithQualifier", "traits": { - "smithy.api#documentation": "

The identifier of the Amazon Q in Connect AI Agent. Can be either the ID or the ARN. URLs\n cannot contain the ARN.

", + "smithy.api#documentation": "

The identifier of the Amazon Q in Connect AI Guardrail.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -4450,7 +5317,7 @@ "versionNumber": { "target": "com.amazonaws.qconnect#Version", "traits": { - "smithy.api#documentation": "

The version number of the AI Agent version.

", + "smithy.api#documentation": "

The version number of the AI Guardrail version to be deleted.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -4460,7 +5327,7 @@ "smithy.api#input": {} } }, - "com.amazonaws.qconnect#DeleteAIAgentVersionResponse": { + "com.amazonaws.qconnect#DeleteAIGuardrailVersionResponse": { "type": "structure", "members": {}, "traits": { @@ -5022,7 +5889,7 @@ "messageTemplateId": { "target": "com.amazonaws.qconnect#UuidOrArnOrEitherWithQualifier", "traits": { - "smithy.api#documentation": "

The identifier of the message template. Can be either the ID or the ARN. It cannot contain any qualifier.

", + "smithy.api#documentation": "

The identifier of the message template. Can be either the ID or the ARN. It cannot contain\n any qualifier.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -5592,52 +6459,306 @@ "rankingData": { "target": "com.amazonaws.qconnect#RankingData", "traits": { - "smithy.api#documentation": "

Details about the generative content ranking data.

", + "smithy.api#documentation": "

Details about the generative content ranking data.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Details about generative data.

" + } + }, + "com.amazonaws.qconnect#GenerativeReference": { + "type": "structure", + "members": { + "modelId": { + "target": "com.amazonaws.qconnect#LlmModelId", + "traits": { + "smithy.api#documentation": "

The identifier of the LLM model.

" + } + }, + "generationId": { + "target": "com.amazonaws.qconnect#Uuid", + "traits": { + "smithy.api#documentation": "

The identifier of the LLM model.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Reference information about generative content.

" + } + }, + "com.amazonaws.qconnect#GenericArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 2048 + }, + "smithy.api#pattern": "^arn:[a-z-]+?:[a-z-]+?:[a-z0-9-]*?:([0-9]{12})?:[a-zA-Z0-9-:/]+$" + } + }, + "com.amazonaws.qconnect#GetAIAgent": { + "type": "operation", + "input": { + "target": "com.amazonaws.qconnect#GetAIAgentRequest" + }, + "output": { + "target": "com.amazonaws.qconnect#GetAIAgentResponse" + }, + "errors": [ + { + "target": "com.amazonaws.qconnect#AccessDeniedException" + }, + { + "target": "com.amazonaws.qconnect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.qconnect#ThrottlingException" + }, + { + "target": "com.amazonaws.qconnect#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Gets an Amazon Q in Connect AI Agent.

", + "smithy.api#http": { + "uri": "/assistants/{assistantId}/aiagents/{aiAgentId}", + "method": "GET" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.qconnect#GetAIAgentRequest": { + "type": "structure", + "members": { + "assistantId": { + "target": "com.amazonaws.qconnect#UuidOrArn", + "traits": { + "smithy.api#documentation": "

The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs\n cannot contain the ARN.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "aiAgentId": { + "target": "com.amazonaws.qconnect#UuidOrArnOrEitherWithQualifier", + "traits": { + "smithy.api#documentation": "

The identifier of the Amazon Q in Connect AI Agent (with or without a version qualifier).\n Can be either the ID or the ARN. URLs cannot contain the ARN.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.qconnect#GetAIAgentResponse": { + "type": "structure", + "members": { + "aiAgent": { + "target": "com.amazonaws.qconnect#AIAgentData", + "traits": { + "smithy.api#documentation": "

The data of the AI Agent.

" + } + }, + "versionNumber": { + "target": "com.amazonaws.qconnect#Version", + "traits": { + "smithy.api#documentation": "

The version number of the AI Agent version (returned if an AI Agent version was specified\n via use of a qualifier for the aiAgentId on the request).

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.qconnect#GetAIGuardrail": { + "type": "operation", + "input": { + "target": "com.amazonaws.qconnect#GetAIGuardrailRequest" + }, + "output": { + "target": "com.amazonaws.qconnect#GetAIGuardrailResponse" + }, + "errors": [ + { + "target": "com.amazonaws.qconnect#AccessDeniedException" + }, + { + "target": "com.amazonaws.qconnect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.qconnect#ThrottlingException" + }, + { + "target": "com.amazonaws.qconnect#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Gets the Amazon Q in Connect AI Guardrail.

", + "smithy.api#http": { + "uri": "/assistants/{assistantId}/aiguardrails/{aiGuardrailId}", + "method": "GET" + }, + "smithy.api#private": {}, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.qconnect#GetAIGuardrailRequest": { + "type": "structure", + "members": { + "assistantId": { + "target": "com.amazonaws.qconnect#UuidOrArn", + "traits": { + "smithy.api#documentation": "

The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs\n cannot contain the ARN.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "aiGuardrailId": { + "target": "com.amazonaws.qconnect#UuidOrArnOrEitherWithQualifier", + "traits": { + "smithy.api#documentation": "

The identifier of the Amazon Q in Connect AI Guardrail.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.qconnect#GetAIGuardrailResponse": { + "type": "structure", + "members": { + "aiGuardrail": { + "target": "com.amazonaws.qconnect#AIGuardrailData", + "traits": { + "smithy.api#documentation": "

The data of the AI Guardrail.

" + } + }, + "versionNumber": { + "target": "com.amazonaws.qconnect#Version", + "traits": { + "smithy.api#documentation": "

The version number of the AI Guardrail version (returned if an AI Guardrail version was\n specified via use of a qualifier for the aiGuardrailId on the request).

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.qconnect#GetAIPrompt": { + "type": "operation", + "input": { + "target": "com.amazonaws.qconnect#GetAIPromptRequest" + }, + "output": { + "target": "com.amazonaws.qconnect#GetAIPromptResponse" + }, + "errors": [ + { + "target": "com.amazonaws.qconnect#AccessDeniedException" + }, + { + "target": "com.amazonaws.qconnect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.qconnect#ThrottlingException" + }, + { + "target": "com.amazonaws.qconnect#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Gets and Amazon Q in Connect AI Prompt.

", + "smithy.api#http": { + "uri": "/assistants/{assistantId}/aiprompts/{aiPromptId}", + "method": "GET" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.qconnect#GetAIPromptRequest": { + "type": "structure", + "members": { + "assistantId": { + "target": "com.amazonaws.qconnect#UuidOrArn", + "traits": { + "smithy.api#documentation": "

The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs\n cannot contain the ARN.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "aiPromptId": { + "target": "com.amazonaws.qconnect#UuidOrArnOrEitherWithQualifier", + "traits": { + "smithy.api#documentation": "

The identifier of the Amazon Q in Connect AI prompt.

", + "smithy.api#httpLabel": {}, "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

Details about generative data.

" + "smithy.api#input": {} } }, - "com.amazonaws.qconnect#GenerativeReference": { + "com.amazonaws.qconnect#GetAIPromptResponse": { "type": "structure", "members": { - "modelId": { - "target": "com.amazonaws.qconnect#LlmModelId", + "aiPrompt": { + "target": "com.amazonaws.qconnect#AIPromptData", "traits": { - "smithy.api#documentation": "

The identifier of the LLM model.

" + "smithy.api#documentation": "

The data of the AI Prompt.

" } }, - "generationId": { - "target": "com.amazonaws.qconnect#Uuid", + "versionNumber": { + "target": "com.amazonaws.qconnect#Version", "traits": { - "smithy.api#documentation": "

The identifier of the LLM model.

" + "smithy.api#documentation": "

The version number of the AI Prompt version (returned if an AI Prompt version was\n specified via use of a qualifier for the aiPromptId on the request).

" } } }, "traits": { - "smithy.api#documentation": "

Reference information about generative content.

" + "smithy.api#output": {} } }, - "com.amazonaws.qconnect#GenericArn": { - "type": "string", + "com.amazonaws.qconnect#GetAssistant": { + "type": "operation", + "input": { + "target": "com.amazonaws.qconnect#GetAssistantRequest" + }, + "output": { + "target": "com.amazonaws.qconnect#GetAssistantResponse" + }, + "errors": [ + { + "target": "com.amazonaws.qconnect#AccessDeniedException" + }, + { + "target": "com.amazonaws.qconnect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.qconnect#ValidationException" + } + ], "traits": { - "smithy.api#length": { - "min": 1, - "max": 2048 + "smithy.api#documentation": "

Retrieves information about an assistant.

", + "smithy.api#http": { + "uri": "/assistants/{assistantId}", + "method": "GET" }, - "smithy.api#pattern": "^arn:[a-z-]+?:[a-z-]+?:[a-z0-9-]*?:([0-9]{12})?:[a-zA-Z0-9-:/]+$" + "smithy.api#readonly": {} } }, - "com.amazonaws.qconnect#GetAIAgent": { + "com.amazonaws.qconnect#GetAssistantAssociation": { "type": "operation", "input": { - "target": "com.amazonaws.qconnect#GetAIAgentRequest" + "target": "com.amazonaws.qconnect#GetAssistantAssociationRequest" }, "output": { - "target": "com.amazonaws.qconnect#GetAIAgentResponse" + "target": "com.amazonaws.qconnect#GetAssistantAssociationResponse" }, "errors": [ { @@ -5646,73 +6767,82 @@ { "target": "com.amazonaws.qconnect#ResourceNotFoundException" }, - { - "target": "com.amazonaws.qconnect#ThrottlingException" - }, { "target": "com.amazonaws.qconnect#ValidationException" } ], "traits": { - "smithy.api#documentation": "

Gets an Amazon Q in Connect AI Agent.

", + "smithy.api#documentation": "

Retrieves information about an assistant association.

", "smithy.api#http": { - "uri": "/assistants/{assistantId}/aiagents/{aiAgentId}", + "uri": "/assistants/{assistantId}/associations/{assistantAssociationId}", "method": "GET" }, "smithy.api#readonly": {} } }, - "com.amazonaws.qconnect#GetAIAgentRequest": { + "com.amazonaws.qconnect#GetAssistantAssociationRequest": { "type": "structure", "members": { - "assistantId": { + "assistantAssociationId": { "target": "com.amazonaws.qconnect#UuidOrArn", "traits": { - "smithy.api#documentation": "

The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs\n cannot contain the ARN.

", + "smithy.api#documentation": "

The identifier of the assistant association. Can be either the ID or the ARN. URLs cannot contain the ARN.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, - "aiAgentId": { - "target": "com.amazonaws.qconnect#UuidOrArnOrEitherWithQualifier", + "assistantId": { + "target": "com.amazonaws.qconnect#UuidOrArn", "traits": { - "smithy.api#documentation": "

The identifier of the Amazon Q in Connect AI Agent (with or without a version qualifier).\n Can be either the ID or the ARN. URLs cannot contain the ARN.

", + "smithy.api#documentation": "

The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } } - }, - "traits": { - "smithy.api#input": {} } }, - "com.amazonaws.qconnect#GetAIAgentResponse": { + "com.amazonaws.qconnect#GetAssistantAssociationResponse": { "type": "structure", "members": { - "aiAgent": { - "target": "com.amazonaws.qconnect#AIAgentData", + "assistantAssociation": { + "target": "com.amazonaws.qconnect#AssistantAssociationData", "traits": { - "smithy.api#documentation": "

The data of the AI Agent.

" + "smithy.api#documentation": "

The assistant association.

" } - }, - "versionNumber": { - "target": "com.amazonaws.qconnect#Version", + } + } + }, + "com.amazonaws.qconnect#GetAssistantRequest": { + "type": "structure", + "members": { + "assistantId": { + "target": "com.amazonaws.qconnect#UuidOrArn", "traits": { - "smithy.api#documentation": "

The version number of the AI Agent version (returned if an AI Agent version was specified\n via use of a qualifier for the aiAgentId on the request).

" + "smithy.api#documentation": "

The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} } } - }, - "traits": { - "smithy.api#output": {} } }, - "com.amazonaws.qconnect#GetAIPrompt": { + "com.amazonaws.qconnect#GetAssistantResponse": { + "type": "structure", + "members": { + "assistant": { + "target": "com.amazonaws.qconnect#AssistantData", + "traits": { + "smithy.api#documentation": "

Information about the assistant.

" + } + } + } + }, + "com.amazonaws.qconnect#GetContent": { "type": "operation", "input": { - "target": "com.amazonaws.qconnect#GetAIPromptRequest" + "target": "com.amazonaws.qconnect#GetContentRequest" }, "output": { - "target": "com.amazonaws.qconnect#GetAIPromptResponse" + "target": "com.amazonaws.qconnect#GetContentResponse" }, "errors": [ { @@ -5722,36 +6852,69 @@ "target": "com.amazonaws.qconnect#ResourceNotFoundException" }, { - "target": "com.amazonaws.qconnect#ThrottlingException" + "target": "com.amazonaws.qconnect#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Retrieves content, including a pre-signed URL to download the content.

", + "smithy.api#http": { + "uri": "/knowledgeBases/{knowledgeBaseId}/contents/{contentId}", + "method": "GET" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.qconnect#GetContentAssociation": { + "type": "operation", + "input": { + "target": "com.amazonaws.qconnect#GetContentAssociationRequest" + }, + "output": { + "target": "com.amazonaws.qconnect#GetContentAssociationResponse" + }, + "errors": [ + { + "target": "com.amazonaws.qconnect#AccessDeniedException" + }, + { + "target": "com.amazonaws.qconnect#ResourceNotFoundException" }, { "target": "com.amazonaws.qconnect#ValidationException" } ], "traits": { - "smithy.api#documentation": "

Gets and Amazon Q in Connect AI Prompt.

", + "smithy.api#documentation": "

Returns the content association.

\n

For more information about content associations--what they are and when they are used--see\n Integrate Amazon Q in Connect with step-by-step guides in the Amazon Connect\n Administrator Guide.

", "smithy.api#http": { - "uri": "/assistants/{assistantId}/aiprompts/{aiPromptId}", + "uri": "/knowledgeBases/{knowledgeBaseId}/contents/{contentId}/associations/{contentAssociationId}", "method": "GET" }, "smithy.api#readonly": {} } }, - "com.amazonaws.qconnect#GetAIPromptRequest": { + "com.amazonaws.qconnect#GetContentAssociationRequest": { "type": "structure", "members": { - "assistantId": { + "knowledgeBaseId": { "target": "com.amazonaws.qconnect#UuidOrArn", "traits": { - "smithy.api#documentation": "

The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs\n cannot contain the ARN.

", + "smithy.api#documentation": "

The identifier of the knowledge base.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, - "aiPromptId": { - "target": "com.amazonaws.qconnect#UuidOrArnOrEitherWithQualifier", + "contentId": { + "target": "com.amazonaws.qconnect#UuidOrArn", "traits": { - "smithy.api#documentation": "

The identifier of the Amazon Q in Connect AI prompt.

", + "smithy.api#documentation": "

The identifier of the content.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "contentAssociationId": { + "target": "com.amazonaws.qconnect#UuidOrArn", + "traits": { + "smithy.api#documentation": "

The identifier of the content association. Can be either the ID or the ARN. URLs cannot contain the ARN.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -5761,19 +6924,13 @@ "smithy.api#input": {} } }, - "com.amazonaws.qconnect#GetAIPromptResponse": { + "com.amazonaws.qconnect#GetContentAssociationResponse": { "type": "structure", "members": { - "aiPrompt": { - "target": "com.amazonaws.qconnect#AIPromptData", - "traits": { - "smithy.api#documentation": "

The data of the AI Prompt.

" - } - }, - "versionNumber": { - "target": "com.amazonaws.qconnect#Version", + "contentAssociation": { + "target": "com.amazonaws.qconnect#ContentAssociationData", "traits": { - "smithy.api#documentation": "

The version number of the AI Prompt version (returned if an AI Prompt version was\n specified via use of a qualifier for the aiPromptId on the request).

" + "smithy.api#documentation": "

The association between Amazon Q in Connect content and another resource.

" } } }, @@ -5781,13 +6938,45 @@ "smithy.api#output": {} } }, - "com.amazonaws.qconnect#GetAssistant": { + "com.amazonaws.qconnect#GetContentRequest": { + "type": "structure", + "members": { + "contentId": { + "target": "com.amazonaws.qconnect#UuidOrArn", + "traits": { + "smithy.api#documentation": "

The identifier of the content. Can be either the ID or the ARN. URLs cannot contain the ARN.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "knowledgeBaseId": { + "target": "com.amazonaws.qconnect#UuidOrArn", + "traits": { + "smithy.api#documentation": "

The identifier of the knowledge base. This should not be a QUICK_RESPONSES type knowledge base. Can be either the ID or the ARN. URLs cannot contain the ARN.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.qconnect#GetContentResponse": { + "type": "structure", + "members": { + "content": { + "target": "com.amazonaws.qconnect#ContentData", + "traits": { + "smithy.api#documentation": "

The content.

" + } + } + } + }, + "com.amazonaws.qconnect#GetContentSummary": { "type": "operation", "input": { - "target": "com.amazonaws.qconnect#GetAssistantRequest" + "target": "com.amazonaws.qconnect#GetContentSummaryRequest" }, "output": { - "target": "com.amazonaws.qconnect#GetAssistantResponse" + "target": "com.amazonaws.qconnect#GetContentSummaryResponse" }, "errors": [ { @@ -5801,21 +6990,53 @@ } ], "traits": { - "smithy.api#documentation": "

Retrieves information about an assistant.

", + "smithy.api#documentation": "

Retrieves summary information about the content.

", "smithy.api#http": { - "uri": "/assistants/{assistantId}", + "uri": "/knowledgeBases/{knowledgeBaseId}/contents/{contentId}/summary", "method": "GET" }, "smithy.api#readonly": {} } }, - "com.amazonaws.qconnect#GetAssistantAssociation": { + "com.amazonaws.qconnect#GetContentSummaryRequest": { + "type": "structure", + "members": { + "contentId": { + "target": "com.amazonaws.qconnect#UuidOrArn", + "traits": { + "smithy.api#documentation": "

The identifier of the content. Can be either the ID or the ARN. URLs cannot contain the ARN.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "knowledgeBaseId": { + "target": "com.amazonaws.qconnect#UuidOrArn", + "traits": { + "smithy.api#documentation": "

The identifier of the knowledge base. Can be either the ID or the ARN. URLs cannot contain the ARN.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.qconnect#GetContentSummaryResponse": { + "type": "structure", + "members": { + "contentSummary": { + "target": "com.amazonaws.qconnect#ContentSummary", + "traits": { + "smithy.api#documentation": "

The content summary.

" + } + } + } + }, + "com.amazonaws.qconnect#GetImportJob": { "type": "operation", "input": { - "target": "com.amazonaws.qconnect#GetAssistantAssociationRequest" + "target": "com.amazonaws.qconnect#GetImportJobRequest" }, "output": { - "target": "com.amazonaws.qconnect#GetAssistantAssociationResponse" + "target": "com.amazonaws.qconnect#GetImportJobResponse" }, "errors": [ { @@ -5829,77 +7050,59 @@ } ], "traits": { - "smithy.api#documentation": "

Retrieves information about an assistant association.

", + "smithy.api#documentation": "

Retrieves the started import job.

", "smithy.api#http": { - "uri": "/assistants/{assistantId}/associations/{assistantAssociationId}", + "uri": "/knowledgeBases/{knowledgeBaseId}/importJobs/{importJobId}", "method": "GET" }, "smithy.api#readonly": {} } }, - "com.amazonaws.qconnect#GetAssistantAssociationRequest": { + "com.amazonaws.qconnect#GetImportJobRequest": { "type": "structure", "members": { - "assistantAssociationId": { - "target": "com.amazonaws.qconnect#UuidOrArn", + "importJobId": { + "target": "com.amazonaws.qconnect#Uuid", "traits": { - "smithy.api#documentation": "

The identifier of the assistant association. Can be either the ID or the ARN. URLs cannot contain the ARN.

", + "smithy.api#documentation": "

The identifier of the import job to retrieve.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, - "assistantId": { - "target": "com.amazonaws.qconnect#UuidOrArn", - "traits": { - "smithy.api#documentation": "

The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - } - } - }, - "com.amazonaws.qconnect#GetAssistantAssociationResponse": { - "type": "structure", - "members": { - "assistantAssociation": { - "target": "com.amazonaws.qconnect#AssistantAssociationData", - "traits": { - "smithy.api#documentation": "

The assistant association.

" - } - } - } - }, - "com.amazonaws.qconnect#GetAssistantRequest": { - "type": "structure", - "members": { - "assistantId": { + "knowledgeBaseId": { "target": "com.amazonaws.qconnect#UuidOrArn", "traits": { - "smithy.api#documentation": "

The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.

", + "smithy.api#documentation": "

The identifier of the knowledge base that the import job belongs to.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.qconnect#GetAssistantResponse": { + "com.amazonaws.qconnect#GetImportJobResponse": { "type": "structure", "members": { - "assistant": { - "target": "com.amazonaws.qconnect#AssistantData", + "importJob": { + "target": "com.amazonaws.qconnect#ImportJobData", "traits": { - "smithy.api#documentation": "

Information about the assistant.

" + "smithy.api#documentation": "

The import job.

" } } + }, + "traits": { + "smithy.api#output": {} } }, - "com.amazonaws.qconnect#GetContent": { + "com.amazonaws.qconnect#GetKnowledgeBase": { "type": "operation", "input": { - "target": "com.amazonaws.qconnect#GetContentRequest" + "target": "com.amazonaws.qconnect#GetKnowledgeBaseRequest" }, "output": { - "target": "com.amazonaws.qconnect#GetContentResponse" + "target": "com.amazonaws.qconnect#GetKnowledgeBaseResponse" }, "errors": [ { @@ -5913,21 +7116,45 @@ } ], "traits": { - "smithy.api#documentation": "

Retrieves content, including a pre-signed URL to download the content.

", + "smithy.api#documentation": "

Retrieves information about the knowledge base.

", "smithy.api#http": { - "uri": "/knowledgeBases/{knowledgeBaseId}/contents/{contentId}", + "uri": "/knowledgeBases/{knowledgeBaseId}", "method": "GET" }, "smithy.api#readonly": {} } }, - "com.amazonaws.qconnect#GetContentAssociation": { + "com.amazonaws.qconnect#GetKnowledgeBaseRequest": { + "type": "structure", + "members": { + "knowledgeBaseId": { + "target": "com.amazonaws.qconnect#UuidOrArn", + "traits": { + "smithy.api#documentation": "

The identifier of the knowledge base. Can be either the ID or the ARN. URLs cannot contain the ARN.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.qconnect#GetKnowledgeBaseResponse": { + "type": "structure", + "members": { + "knowledgeBase": { + "target": "com.amazonaws.qconnect#KnowledgeBaseData", + "traits": { + "smithy.api#documentation": "

The knowledge base.

" + } + } + } + }, + "com.amazonaws.qconnect#GetMessageTemplate": { "type": "operation", "input": { - "target": "com.amazonaws.qconnect#GetContentAssociationRequest" + "target": "com.amazonaws.qconnect#GetMessageTemplateRequest" }, "output": { - "target": "com.amazonaws.qconnect#GetContentAssociationResponse" + "target": "com.amazonaws.qconnect#GetMessageTemplateResponse" }, "errors": [ { @@ -5936,42 +7163,37 @@ { "target": "com.amazonaws.qconnect#ResourceNotFoundException" }, + { + "target": "com.amazonaws.qconnect#ThrottlingException" + }, { "target": "com.amazonaws.qconnect#ValidationException" } ], "traits": { - "smithy.api#documentation": "

Returns the content association.

\n

For more information about content associations--what they are and when they are used--see\n Integrate Amazon Q in Connect with step-by-step guides in the Amazon Connect\n Administrator Guide.

", + "smithy.api#documentation": "

Retrieves the Amazon Q in Connect message template. The message template identifier can\n contain an optional qualifier, for example,\n <message-template-id>:<qualifier>, which is either an actual\n version number or an Amazon Q Connect managed qualifier $ACTIVE_VERSION |\n $LATEST. If it is not supplied, then $LATEST is assumed\n implicitly.

", "smithy.api#http": { - "uri": "/knowledgeBases/{knowledgeBaseId}/contents/{contentId}/associations/{contentAssociationId}", + "uri": "/knowledgeBases/{knowledgeBaseId}/messageTemplates/{messageTemplateId}", "method": "GET" }, "smithy.api#readonly": {} } }, - "com.amazonaws.qconnect#GetContentAssociationRequest": { + "com.amazonaws.qconnect#GetMessageTemplateRequest": { "type": "structure", "members": { - "knowledgeBaseId": { - "target": "com.amazonaws.qconnect#UuidOrArn", - "traits": { - "smithy.api#documentation": "

The identifier of the knowledge base.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - }, - "contentId": { - "target": "com.amazonaws.qconnect#UuidOrArn", + "messageTemplateId": { + "target": "com.amazonaws.qconnect#UuidOrArnOrEitherWithQualifier", "traits": { - "smithy.api#documentation": "

The identifier of the content.

", + "smithy.api#documentation": "

The identifier of the message template. Can be either the ID or the ARN.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, - "contentAssociationId": { + "knowledgeBaseId": { "target": "com.amazonaws.qconnect#UuidOrArn", "traits": { - "smithy.api#documentation": "

The identifier of the content association. Can be either the ID or the ARN. URLs cannot contain the ARN.

", + "smithy.api#documentation": "

The identifier of the knowledge base. Can be either the ID or the ARN. URLs cannot contain\n the ARN.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -5981,13 +7203,13 @@ "smithy.api#input": {} } }, - "com.amazonaws.qconnect#GetContentAssociationResponse": { + "com.amazonaws.qconnect#GetMessageTemplateResponse": { "type": "structure", "members": { - "contentAssociation": { - "target": "com.amazonaws.qconnect#ContentAssociationData", + "messageTemplate": { + "target": "com.amazonaws.qconnect#ExtendedMessageTemplateData", "traits": { - "smithy.api#documentation": "

The association between Amazon Q in Connect content and another resource.

" + "smithy.api#documentation": "

The message template.

" } } }, @@ -5995,45 +7217,13 @@ "smithy.api#output": {} } }, - "com.amazonaws.qconnect#GetContentRequest": { - "type": "structure", - "members": { - "contentId": { - "target": "com.amazonaws.qconnect#UuidOrArn", - "traits": { - "smithy.api#documentation": "

The identifier of the content. Can be either the ID or the ARN. URLs cannot contain the ARN.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - }, - "knowledgeBaseId": { - "target": "com.amazonaws.qconnect#UuidOrArn", - "traits": { - "smithy.api#documentation": "

The identifier of the knowledge base. This should not be a QUICK_RESPONSES type knowledge base. Can be either the ID or the ARN. URLs cannot contain the ARN.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - } - } - }, - "com.amazonaws.qconnect#GetContentResponse": { - "type": "structure", - "members": { - "content": { - "target": "com.amazonaws.qconnect#ContentData", - "traits": { - "smithy.api#documentation": "

The content.

" - } - } - } - }, - "com.amazonaws.qconnect#GetContentSummary": { + "com.amazonaws.qconnect#GetNextMessage": { "type": "operation", "input": { - "target": "com.amazonaws.qconnect#GetContentSummaryRequest" + "target": "com.amazonaws.qconnect#GetNextMessageRequest" }, "output": { - "target": "com.amazonaws.qconnect#GetContentSummaryResponse" + "target": "com.amazonaws.qconnect#GetNextMessageResponse" }, "errors": [ { @@ -6047,53 +7237,102 @@ } ], "traits": { - "smithy.api#documentation": "

Retrieves summary information about the content.

", + "smithy.api#documentation": "

Retrieves next message on an Amazon Q in Connect session.

", "smithy.api#http": { - "uri": "/knowledgeBases/{knowledgeBaseId}/contents/{contentId}/summary", + "uri": "/assistants/{assistantId}/sessions/{sessionId}/messages/next", "method": "GET" }, + "smithy.api#private": {}, "smithy.api#readonly": {} } }, - "com.amazonaws.qconnect#GetContentSummaryRequest": { + "com.amazonaws.qconnect#GetNextMessageRequest": { "type": "structure", "members": { - "contentId": { + "assistantId": { "target": "com.amazonaws.qconnect#UuidOrArn", "traits": { - "smithy.api#documentation": "

The identifier of the content. Can be either the ID or the ARN. URLs cannot contain the ARN.

", + "smithy.api#documentation": "

The identifier of the Amazon Q in Connect assistant.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, - "knowledgeBaseId": { + "sessionId": { "target": "com.amazonaws.qconnect#UuidOrArn", "traits": { - "smithy.api#documentation": "

The identifier of the knowledge base. Can be either the ID or the ARN. URLs cannot contain the ARN.

", + "smithy.api#documentation": "

The identifier of the Amazon Q in Connect session.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } + }, + "nextMessageToken": { + "target": "com.amazonaws.qconnect#NextToken", + "traits": { + "smithy.api#documentation": "

The token for the next message. Use the value returned in the SendMessage or previous\n response in the next request to retrieve the next message.

", + "smithy.api#httpQuery": "nextMessageToken", + "smithy.api#required": {} + } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.qconnect#GetContentSummaryResponse": { + "com.amazonaws.qconnect#GetNextMessageResponse": { "type": "structure", "members": { - "contentSummary": { - "target": "com.amazonaws.qconnect#ContentSummary", + "type": { + "target": "com.amazonaws.qconnect#MessageType", "traits": { - "smithy.api#documentation": "

The content summary.

" + "smithy.api#documentation": "

The type of message response.

", + "smithy.api#required": {} + } + }, + "response": { + "target": "com.amazonaws.qconnect#MessageOutput", + "traits": { + "smithy.api#documentation": "

The message response to the requested message.

", + "smithy.api#required": {} + } + }, + "requestMessageId": { + "target": "com.amazonaws.qconnect#Uuid", + "traits": { + "smithy.api#documentation": "

The identifier of the submitted message.

", + "smithy.api#required": {} + } + }, + "conversationState": { + "target": "com.amazonaws.qconnect#ConversationState", + "traits": { + "smithy.api#documentation": "

The state of current conversation.

", + "smithy.api#required": {} + } + }, + "nextMessageToken": { + "target": "com.amazonaws.qconnect#NextToken", + "traits": { + "smithy.api#documentation": "

The token for the next message.

" + } + }, + "conversationSessionData": { + "target": "com.amazonaws.qconnect#RuntimeSessionDataList", + "traits": { + "smithy.api#documentation": "

The conversation data stored on an Amazon Q in Connect Session.

" } } + }, + "traits": { + "smithy.api#output": {} } }, - "com.amazonaws.qconnect#GetImportJob": { + "com.amazonaws.qconnect#GetQuickResponse": { "type": "operation", "input": { - "target": "com.amazonaws.qconnect#GetImportJobRequest" + "target": "com.amazonaws.qconnect#GetQuickResponseRequest" }, "output": { - "target": "com.amazonaws.qconnect#GetImportJobResponse" + "target": "com.amazonaws.qconnect#GetQuickResponseResponse" }, "errors": [ { @@ -6107,21 +7346,21 @@ } ], "traits": { - "smithy.api#documentation": "

Retrieves the started import job.

", + "smithy.api#documentation": "

Retrieves the quick response.

", "smithy.api#http": { - "uri": "/knowledgeBases/{knowledgeBaseId}/importJobs/{importJobId}", + "uri": "/knowledgeBases/{knowledgeBaseId}/quickResponses/{quickResponseId}", "method": "GET" }, "smithy.api#readonly": {} } }, - "com.amazonaws.qconnect#GetImportJobRequest": { + "com.amazonaws.qconnect#GetQuickResponseRequest": { "type": "structure", "members": { - "importJobId": { - "target": "com.amazonaws.qconnect#Uuid", + "quickResponseId": { + "target": "com.amazonaws.qconnect#UuidOrArn", "traits": { - "smithy.api#documentation": "

The identifier of the import job to retrieve.

", + "smithy.api#documentation": "

The identifier of the quick response.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -6129,7 +7368,7 @@ "knowledgeBaseId": { "target": "com.amazonaws.qconnect#UuidOrArn", "traits": { - "smithy.api#documentation": "

The identifier of the knowledge base that the import job belongs to.

", + "smithy.api#documentation": "

The identifier of the knowledge base. This should be a QUICK_RESPONSES type knowledge base.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -6139,13 +7378,13 @@ "smithy.api#input": {} } }, - "com.amazonaws.qconnect#GetImportJobResponse": { + "com.amazonaws.qconnect#GetQuickResponseResponse": { "type": "structure", "members": { - "importJob": { - "target": "com.amazonaws.qconnect#ImportJobData", + "quickResponse": { + "target": "com.amazonaws.qconnect#QuickResponseData", "traits": { - "smithy.api#documentation": "

The import job.

" + "smithy.api#documentation": "

The quick response.

" } } }, @@ -6153,13 +7392,13 @@ "smithy.api#output": {} } }, - "com.amazonaws.qconnect#GetKnowledgeBase": { + "com.amazonaws.qconnect#GetRecommendations": { "type": "operation", "input": { - "target": "com.amazonaws.qconnect#GetKnowledgeBaseRequest" + "target": "com.amazonaws.qconnect#GetRecommendationsRequest" }, "output": { - "target": "com.amazonaws.qconnect#GetKnowledgeBaseResponse" + "target": "com.amazonaws.qconnect#GetRecommendationsResponse" }, "errors": [ { @@ -6173,45 +7412,78 @@ } ], "traits": { - "smithy.api#documentation": "

Retrieves information about the knowledge base.

", + "smithy.api#deprecated": { + "message": "GetRecommendations API will be discontinued starting June 1, 2024. To receive generative responses after March 1, 2024 you will need to create a new Assistant in the Connect console and integrate the Amazon Q in Connect JavaScript library (amazon-q-connectjs) into your applications." + }, + "smithy.api#documentation": "\n

This API will be discontinued starting June 1, 2024. To receive generative responses\n after March 1, 2024, you will need to create a new Assistant in the Amazon Connect\n console and integrate the Amazon Q in Connect JavaScript library (amazon-q-connectjs) into\n your applications.

\n
\n

Retrieves recommendations for the specified session. To avoid retrieving the same\n recommendations in subsequent calls, use NotifyRecommendationsReceived. This API supports long-polling behavior with the\n waitTimeSeconds parameter. Short poll is the default behavior and only returns\n recommendations already available. To perform a manual query against an assistant, use QueryAssistant.

", "smithy.api#http": { - "uri": "/knowledgeBases/{knowledgeBaseId}", + "uri": "/assistants/{assistantId}/sessions/{sessionId}/recommendations", "method": "GET" }, "smithy.api#readonly": {} } }, - "com.amazonaws.qconnect#GetKnowledgeBaseRequest": { + "com.amazonaws.qconnect#GetRecommendationsRequest": { "type": "structure", "members": { - "knowledgeBaseId": { + "assistantId": { "target": "com.amazonaws.qconnect#UuidOrArn", "traits": { - "smithy.api#documentation": "

The identifier of the knowledge base. Can be either the ID or the ARN. URLs cannot contain the ARN.

", + "smithy.api#documentation": "

The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "sessionId": { + "target": "com.amazonaws.qconnect#UuidOrArn", + "traits": { + "smithy.api#documentation": "

The identifier of the session. Can be either the ID or the ARN. URLs cannot contain the ARN.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } + }, + "maxResults": { + "target": "com.amazonaws.qconnect#MaxResults", + "traits": { + "smithy.api#documentation": "

The maximum number of results to return per page.

", + "smithy.api#httpQuery": "maxResults" + } + }, + "waitTimeSeconds": { + "target": "com.amazonaws.qconnect#WaitTimeSeconds", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

The duration (in seconds) for which the call waits for a recommendation to be made\n available before returning. If a recommendation is available, the call returns sooner than\n WaitTimeSeconds. If no messages are available and the wait time expires, the\n call returns successfully with an empty list.

", + "smithy.api#httpQuery": "waitTimeSeconds" + } } } }, - "com.amazonaws.qconnect#GetKnowledgeBaseResponse": { + "com.amazonaws.qconnect#GetRecommendationsResponse": { "type": "structure", "members": { - "knowledgeBase": { - "target": "com.amazonaws.qconnect#KnowledgeBaseData", + "recommendations": { + "target": "com.amazonaws.qconnect#RecommendationList", "traits": { - "smithy.api#documentation": "

The knowledge base.

" + "smithy.api#documentation": "

The recommendations.

", + "smithy.api#required": {} + } + }, + "triggers": { + "target": "com.amazonaws.qconnect#RecommendationTriggerList", + "traits": { + "smithy.api#documentation": "

The triggers corresponding to recommendations.

" } } } }, - "com.amazonaws.qconnect#GetMessageTemplate": { + "com.amazonaws.qconnect#GetSession": { "type": "operation", "input": { - "target": "com.amazonaws.qconnect#GetMessageTemplateRequest" + "target": "com.amazonaws.qconnect#GetSessionRequest" }, "output": { - "target": "com.amazonaws.qconnect#GetMessageTemplateResponse" + "target": "com.amazonaws.qconnect#GetSessionResponse" }, "errors": [ { @@ -6220,294 +7492,614 @@ { "target": "com.amazonaws.qconnect#ResourceNotFoundException" }, - { - "target": "com.amazonaws.qconnect#ThrottlingException" - }, { "target": "com.amazonaws.qconnect#ValidationException" } ], "traits": { - "smithy.api#documentation": "

Retrieves the Amazon Q in Connect message template. The message template identifier can\n contain an optional qualifier, for example,\n <message-template-id>:<qualifier>, which is either an actual\n version number or an Amazon Q Connect managed qualifier $ACTIVE_VERSION | $LATEST. If it is\n not supplied, then $LATEST is assumed implicitly.

", + "smithy.api#documentation": "

Retrieves information for a specified session.

", "smithy.api#http": { - "uri": "/knowledgeBases/{knowledgeBaseId}/messageTemplates/{messageTemplateId}", + "uri": "/assistants/{assistantId}/sessions/{sessionId}", "method": "GET" }, "smithy.api#readonly": {} } }, - "com.amazonaws.qconnect#GetMessageTemplateRequest": { + "com.amazonaws.qconnect#GetSessionRequest": { "type": "structure", "members": { - "messageTemplateId": { - "target": "com.amazonaws.qconnect#UuidOrArnOrEitherWithQualifier", + "assistantId": { + "target": "com.amazonaws.qconnect#UuidOrArn", "traits": { - "smithy.api#documentation": "

The identifier of the message template. Can be either the ID or the ARN.

", + "smithy.api#documentation": "

The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, - "knowledgeBaseId": { + "sessionId": { "target": "com.amazonaws.qconnect#UuidOrArn", "traits": { - "smithy.api#documentation": "

The identifier of the knowledge base. Can be either the ID or the ARN. URLs cannot contain\n the ARN.

", + "smithy.api#documentation": "

The identifier of the session. Can be either the ID or the ARN. URLs cannot contain the ARN.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } } - }, - "traits": { - "smithy.api#input": {} } }, - "com.amazonaws.qconnect#GetMessageTemplateResponse": { + "com.amazonaws.qconnect#GetSessionResponse": { "type": "structure", "members": { - "messageTemplate": { - "target": "com.amazonaws.qconnect#ExtendedMessageTemplateData", + "session": { + "target": "com.amazonaws.qconnect#SessionData", "traits": { - "smithy.api#documentation": "

The message template.

" + "smithy.api#documentation": "

The session.

" + } + } + } + }, + "com.amazonaws.qconnect#GroupingConfiguration": { + "type": "structure", + "members": { + "criteria": { + "target": "com.amazonaws.qconnect#GroupingCriteria", + "traits": { + "smithy.api#documentation": "

The criteria used for grouping Amazon Q in Connect users.

\n

The following is the list of supported criteria values.

\n " + } + }, + "values": { + "target": "com.amazonaws.qconnect#GroupingValues", + "traits": { + "smithy.api#documentation": "

The list of values that define different groups of Amazon Q in Connect users.

\n " } } }, "traits": { - "smithy.api#output": {} + "smithy.api#documentation": "

The configuration information of the grouping of Amazon Q in Connect users.

" } }, - "com.amazonaws.qconnect#GetQuickResponse": { - "type": "operation", - "input": { - "target": "com.amazonaws.qconnect#GetQuickResponseRequest" - }, - "output": { - "target": "com.amazonaws.qconnect#GetQuickResponseResponse" + "com.amazonaws.qconnect#GroupingCriteria": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 100 + }, + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.qconnect#GroupingValue": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 2048 + }, + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.qconnect#GroupingValues": { + "type": "list", + "member": { + "target": "com.amazonaws.qconnect#GroupingValue" }, - "errors": [ - { - "target": "com.amazonaws.qconnect#AccessDeniedException" + "traits": { + "smithy.api#uniqueItems": {} + } + }, + "com.amazonaws.qconnect#GuardrailContentFilterConfig": { + "type": "structure", + "members": { + "type": { + "target": "com.amazonaws.qconnect#GuardrailContentFilterType", + "traits": { + "smithy.api#documentation": "

The harmful category that the content filter is applied to.

", + "smithy.api#required": {} + } }, - { - "target": "com.amazonaws.qconnect#ResourceNotFoundException" + "inputStrength": { + "target": "com.amazonaws.qconnect#GuardrailFilterStrength", + "traits": { + "smithy.api#documentation": "

The strength of the content filter to apply to prompts. As you increase the filter\n strength, the likelihood of filtering harmful content increases and the probability of seeing\n harmful content in your application reduces.

", + "smithy.api#required": {} + } }, - { - "target": "com.amazonaws.qconnect#ValidationException" + "outputStrength": { + "target": "com.amazonaws.qconnect#GuardrailFilterStrength", + "traits": { + "smithy.api#documentation": "

The strength of the content filter to apply to model responses. As you increase the filter\n strength, the likelihood of filtering harmful content increases and the probability of seeing\n harmful content in your application reduces.

", + "smithy.api#required": {} + } } - ], + }, "traits": { - "smithy.api#documentation": "

Retrieves the quick response.

", - "smithy.api#http": { - "uri": "/knowledgeBases/{knowledgeBaseId}/quickResponses/{quickResponseId}", - "method": "GET" - }, - "smithy.api#readonly": {} + "smithy.api#documentation": "

Contains filter strengths for harmful content. AI Guardrail's support the following\n content filters to detect and filter harmful user inputs and FM-generated outputs.

\n
    \n
  • \n

    \n Hate: Describes input prompts and model responses that\n discriminate, criticize, insult, denounce, or dehumanize a person or group on the basis of\n an identity (such as race, ethnicity, gender, religion, sexual orientation, ability, and\n national origin).

    \n
  • \n
  • \n

    \n Insults: Describes input prompts and model responses that\n includes demeaning, humiliating, mocking, insulting, or belittling language. This type of\n language is also labeled as bullying.

    \n
  • \n
  • \n

    \n Sexual: Describes input prompts and model responses that\n indicates sexual interest, activity, or arousal using direct or indirect references to\n body parts, physical traits, or sex.

    \n
  • \n
  • \n

    \n Violence: Describes input prompts and model responses\n that includes glorification of, or threats to inflict physical pain, hurt, or injury\n toward a person, group, or thing.

    \n
  • \n
\n

Content filtering depends on the confidence classification of user inputs and FM responses\n across each of the four harmful categories. All input and output statements are classified\n into one of four confidence levels (NONE, LOW, MEDIUM, HIGH) for each harmful category. For\n example, if a statement is classified as Hate with HIGH confidence, the\n likelihood of the statement representing hateful content is high. A single statement can be\n classified across multiple categories with varying confidence levels. For example, a single\n statement can be classified as Hate with HIGH confidence, \n Insults with LOW confidence, Sexual with NONE confidence,\n and Violence with MEDIUM confidence.

" } }, - "com.amazonaws.qconnect#GetQuickResponseRequest": { + "com.amazonaws.qconnect#GuardrailContentFilterType": { + "type": "string", + "traits": { + "smithy.api#documentation": "Type of text to text filter in content policy", + "smithy.api#enum": [ + { + "value": "SEXUAL", + "name": "SEXUAL" + }, + { + "value": "VIOLENCE", + "name": "VIOLENCE" + }, + { + "value": "HATE", + "name": "HATE" + }, + { + "value": "INSULTS", + "name": "INSULTS" + }, + { + "value": "MISCONDUCT", + "name": "MISCONDUCT" + }, + { + "value": "PROMPT_ATTACK", + "name": "PROMPT_ATTACK" + } + ], + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.qconnect#GuardrailContentFiltersConfig": { + "type": "list", + "member": { + "target": "com.amazonaws.qconnect#GuardrailContentFilterConfig" + }, + "traits": { + "smithy.api#documentation": "List of content filter configs in content policy.", + "smithy.api#length": { + "min": 1, + "max": 6 + } + } + }, + "com.amazonaws.qconnect#GuardrailContextualGroundingFilterConfig": { "type": "structure", "members": { - "quickResponseId": { - "target": "com.amazonaws.qconnect#UuidOrArn", + "type": { + "target": "com.amazonaws.qconnect#GuardrailContextualGroundingFilterType", "traits": { - "smithy.api#documentation": "

The identifier of the quick response.

", - "smithy.api#httpLabel": {}, + "smithy.api#documentation": "

The filter type for the AI Guardrail's contextual grounding filter.

", "smithy.api#required": {} } }, - "knowledgeBaseId": { - "target": "com.amazonaws.qconnect#UuidOrArn", + "threshold": { + "target": "com.amazonaws.qconnect#GuardrailContextualGroundingFilterThreshold", "traits": { - "smithy.api#documentation": "

The identifier of the knowledge base. This should be a QUICK_RESPONSES type knowledge base.

", - "smithy.api#httpLabel": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The threshold details for the AI Guardrail's contextual grounding filter.

", "smithy.api#required": {} } - } + } + }, + "traits": { + "smithy.api#documentation": "

The filter configuration details for the AI Guardrail's contextual grounding\n filter.

" + } + }, + "com.amazonaws.qconnect#GuardrailContextualGroundingFilterThreshold": { + "type": "double", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "The threshold for this filter.", + "smithy.api#range": { + "min": 0 + }, + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.qconnect#GuardrailContextualGroundingFilterType": { + "type": "string", + "traits": { + "smithy.api#documentation": "Type of contextual grounding filter", + "smithy.api#enum": [ + { + "value": "GROUNDING", + "name": "GROUNDING" + }, + { + "value": "RELEVANCE", + "name": "RELEVANCE" + } + ], + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.qconnect#GuardrailContextualGroundingFiltersConfig": { + "type": "list", + "member": { + "target": "com.amazonaws.qconnect#GuardrailContextualGroundingFilterConfig" + }, + "traits": { + "smithy.api#documentation": "List of contextual grounding filter configs.", + "smithy.api#length": { + "min": 1 + } + } + }, + "com.amazonaws.qconnect#GuardrailFilterStrength": { + "type": "string", + "traits": { + "smithy.api#documentation": "Strength for filters", + "smithy.api#enum": [ + { + "value": "NONE", + "name": "NONE" + }, + { + "value": "LOW", + "name": "LOW" + }, + { + "value": "MEDIUM", + "name": "MEDIUM" + }, + { + "value": "HIGH", + "name": "HIGH" + } + ], + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.qconnect#GuardrailManagedWordListsConfig": { + "type": "list", + "member": { + "target": "com.amazonaws.qconnect#GuardrailManagedWordsConfig" }, "traits": { - "smithy.api#input": {} + "smithy.api#documentation": "A config for the list of managed words." } }, - "com.amazonaws.qconnect#GetQuickResponseResponse": { + "com.amazonaws.qconnect#GuardrailManagedWordsConfig": { "type": "structure", "members": { - "quickResponse": { - "target": "com.amazonaws.qconnect#QuickResponseData", + "type": { + "target": "com.amazonaws.qconnect#GuardrailManagedWordsType", "traits": { - "smithy.api#documentation": "

The quick response.

" + "smithy.api#documentation": "

The managed word type to configure for the AI Guardrail.

", + "smithy.api#required": {} } } }, "traits": { - "smithy.api#output": {} + "smithy.api#documentation": "

The managed word list to configure for the AI Guardrail.

" } }, - "com.amazonaws.qconnect#GetRecommendations": { - "type": "operation", - "input": { - "target": "com.amazonaws.qconnect#GetRecommendationsRequest" - }, - "output": { - "target": "com.amazonaws.qconnect#GetRecommendationsResponse" + "com.amazonaws.qconnect#GuardrailManagedWordsType": { + "type": "string", + "traits": { + "smithy.api#documentation": "Options for managed words.", + "smithy.api#enum": [ + { + "value": "PROFANITY", + "name": "PROFANITY" + } + ], + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.qconnect#GuardrailPiiEntitiesConfig": { + "type": "list", + "member": { + "target": "com.amazonaws.qconnect#GuardrailPiiEntityConfig" }, - "errors": [ - { - "target": "com.amazonaws.qconnect#AccessDeniedException" - }, - { - "target": "com.amazonaws.qconnect#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.qconnect#ValidationException" - } - ], "traits": { - "smithy.api#deprecated": { - "message": "GetRecommendations API will be discontinued starting June 1, 2024. To receive generative responses after March 1, 2024 you will need to create a new Assistant in the Connect console and integrate the Amazon Q in Connect JavaScript library (amazon-q-connectjs) into your applications." - }, - "smithy.api#documentation": "\n

This API will be discontinued starting June 1, 2024. To receive generative responses\n after March 1, 2024, you will need to create a new Assistant in the Amazon Connect\n console and integrate the Amazon Q in Connect JavaScript library (amazon-q-connectjs) into\n your applications.

\n
\n

Retrieves recommendations for the specified session. To avoid retrieving the same\n recommendations in subsequent calls, use NotifyRecommendationsReceived. This API supports long-polling behavior with the\n waitTimeSeconds parameter. Short poll is the default behavior and only returns\n recommendations already available. To perform a manual query against an assistant, use QueryAssistant.

", - "smithy.api#http": { - "uri": "/assistants/{assistantId}/sessions/{sessionId}/recommendations", - "method": "GET" + "smithy.api#documentation": "List of entities.", + "smithy.api#length": { + "min": 1 }, - "smithy.api#readonly": {} + "smithy.api#uniqueItems": {} } }, - "com.amazonaws.qconnect#GetRecommendationsRequest": { + "com.amazonaws.qconnect#GuardrailPiiEntityConfig": { "type": "structure", "members": { - "assistantId": { - "target": "com.amazonaws.qconnect#UuidOrArn", + "type": { + "target": "com.amazonaws.qconnect#GuardrailPiiEntityType", "traits": { - "smithy.api#documentation": "

The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.

", - "smithy.api#httpLabel": {}, + "smithy.api#documentation": "

Configure AI Guardrail type when the PII entity is detected.

\n

The following PIIs are used to block or mask sensitive information:

\n
    \n
  • \n

    \n General\n

    \n
      \n
    • \n

      \n ADDRESS\n

      \n

      A physical address, such as \"100 Main Street, Anytown, USA\" or \"Suite #12,\n Building 123\". An address can include information such as the street, building,\n location, city, state, country, county, zip code, precinct, and neighborhood.

      \n
    • \n
    • \n

      \n AGE\n

      \n

      An individual's age, including the quantity and unit of time. For example, in the\n phrase \"I am 40 years old,\" Guarrails recognizes \"40 years\" as an age.

      \n
    • \n
    • \n

      \n NAME\n

      \n

      An individual's name. This entity type does not include titles, such as Dr., Mr.,\n Mrs., or Miss. AI Guardrail doesn't apply this entity type to names that are part of\n organizations or addresses. For example, AI Guardrail recognizes the \"John Doe\n Organization\" as an organization, and it recognizes \"Jane Doe Street\" as an address.\n

      \n
    • \n
    • \n

      \n EMAIL\n

      \n

      An email address, such as marymajor@email.com.

      \n
    • \n
    • \n

      \n PHONE\n

      \n

      A phone number. This entity type also includes fax and pager numbers.

      \n
    • \n
    • \n

      \n USERNAME\n

      \n

      A user name that identifies an account, such as a login name, screen name, nick\n name, or handle.

      \n
    • \n
    • \n

      \n PASSWORD\n

      \n

      An alphanumeric string that is used as a password, such as \"*\n very20special#pass*\".

      \n
    • \n
    • \n

      \n DRIVER_ID\n

      \n

      The number assigned to a driver's license, which is an official document\n permitting an individual to operate one or more motorized vehicles on a public road. A\n driver's license number consists of alphanumeric characters.

      \n
    • \n
    • \n

      \n LICENSE_PLATE\n

      \n

      A license plate for a vehicle is issued by the state or country where the vehicle\n is registered. The format for passenger vehicles is typically five to eight digits,\n consisting of upper-case letters and numbers. The format varies depending on the\n location of the issuing state or country.

      \n
    • \n
    • \n

      \n VEHICLE_IDENTIFICATION_NUMBER\n

      \n

      A Vehicle Identification Number (VIN) uniquely identifies a vehicle. VIN content\n and format are defined in the ISO 3779 specification. Each\n country has specific codes and formats for VINs.

      \n
    • \n
    \n
  • \n
  • \n

    \n Finance\n

    \n
      \n
    • \n

      \n REDIT_DEBIT_CARD_CVV\n

      \n

      A three-digit card verification code (CVV) that is present on VISA, MasterCard,\n and Discover credit and debit cards. For American Express credit or debit cards, the\n CVV is a four-digit numeric code.

      \n
    • \n
    • \n

      \n CREDIT_DEBIT_CARD_EXPIRY\n

      \n

      The expiration date for a credit or debit card. This number is usually four digits\n long and is often formatted as month/year or\n MM/YY. AI Guardrail recognizes expiration dates such as\n 01/21, 01/2021, and Jan\n 2021.

      \n
    • \n
    • \n

      \n CREDIT_DEBIT_CARD_NUMBER\n

      \n

      The number for a credit or debit card. These numbers can vary from 13 to 16 digits\n in length. However, Amazon Comprehend also recognizes credit or debit card numbers\n when only the last four digits are present.

      \n
    • \n
    • \n

      \n PIN\n

      \n

      A four-digit personal identification number (PIN) with which you can access your\n bank account.

      \n
    • \n
    • \n

      \n INTERNATIONAL_BANK_ACCOUNT_NUMBER\n

      \n

      An International Bank Account Number has specific formats in each country. For\n more information, see \n www.iban.com/structure.

      \n
    • \n
    • \n

      \n SWIFT_CODE\n

      \n

      A SWIFT code is a standard format of Bank Identifier Code (BIC) used to specify a\n particular bank or branch. Banks use these codes for money transfers such as\n international wire transfers.

      \n

      SWIFT codes consist of eight or 11 characters. The 11-digit codes refer to\n specific branches, while eight-digit codes (or 11-digit codes ending in 'XXX') refer\n to the head or primary office.

      \n
    • \n
    \n
  • \n
  • \n

    \n IT\n

    \n
      \n
    • \n

      \n IP_ADDRESS\n

      \n

      An IPv4 address, such as 198.51.100.0.

      \n
    • \n
    • \n

      \n MAC_ADDRESS\n

      \n

      A media access control (MAC) address is a unique identifier\n assigned to a network interface controller (NIC).

      \n
    • \n
    • \n

      \n URL\n

      \n

      A web address, such as www.example.com.

      \n
    • \n
    • \n

      \n AWS_ACCESS_KEY\n

      \n

      A unique identifier that's associated with a secret access key; you use the access\n key ID and secret access key to sign programmatic Amazon Web Services requests\n cryptographically.

      \n
    • \n
    • \n

      \n AWS_SECRET_KEY\n

      \n

      A unique identifier that's associated with an access key. You use the access key\n ID and secret access key to sign programmatic Amazon Web Services requests\n cryptographically.

      \n
    • \n
    \n
  • \n
  • \n

    \n USA specific\n

    \n
      \n
    • \n

      \n US_BANK_ACCOUNT_NUMBER\n

      \n

      A US bank account number, which is typically 10 to 12 digits long.

      \n
    • \n
    • \n

      \n US_BANK_ROUTING_NUMBER\n

      \n

      A US bank account routing number. These are typically nine digits long,

      \n
    • \n
    • \n

      \n US_INDIVIDUAL_TAX_IDENTIFICATION_NUMBER\n

      \n

      A US Individual Taxpayer Identification Number (ITIN) is a nine-digit number that\n starts with a \"9\" and contain a \"7\" or \"8\" as the fourth digit. An ITIN can be\n formatted with a space or a dash after the third and forth digits.

      \n
    • \n
    • \n

      \n US_PASSPORT_NUMBER\n

      \n

      A US passport number. Passport numbers range from six to nine alphanumeric\n characters.

      \n
    • \n
    • \n

      \n US_SOCIAL_SECURITY_NUMBER\n

      \n

      A US Social Security Number (SSN) is a nine-digit number that is issued to US\n citizens, permanent residents, and temporary working residents.

      \n
    • \n
    \n
  • \n
  • \n

    \n Canada specific\n

    \n
      \n
    • \n

      \n CA_HEALTH_NUMBER\n

      \n

      A Canadian Health Service Number is a 10-digit unique identifier, required for\n individuals to access healthcare benefits.

      \n
    • \n
    • \n

      \n CA_SOCIAL_INSURANCE_NUMBER\n

      \n

      A Canadian Social Insurance Number (SIN) is a nine-digit unique identifier,\n required for individuals to access government programs and benefits.

      \n

      The SIN is formatted as three groups of three digits, such as \n 123-456-789. A SIN can be validated through a simple check-digit process\n called the Luhn\n algorithm .

      \n
    • \n
    \n
  • \n
  • \n

    \n UK Specific\n

    \n
      \n
    • \n

      \n UK_NATIONAL_HEALTH_SERVICE_NUMBER\n

      \n

      A UK National Health Service Number is a 10-17 digit number, such as 485\n 555 3456. The current system formats the 10-digit number with spaces\n after the third and sixth digits. The final digit is an error-detecting\n checksum.

      \n
    • \n
    • \n

      \n UK_NATIONAL_INSURANCE_NUMBER\n

      \n

      A UK National Insurance Number (NINO) provides individuals with access to National\n Insurance (social security) benefits. It is also used for some purposes in the UK tax\n system.

      \n

      The number is nine digits long and starts with two letters, followed by six\n numbers and one letter. A NINO can be formatted with a space or a dash after the two\n letters and after the second, forth, and sixth digits.

      \n
    • \n
    • \n

      \n UK_UNIQUE_TAXPAYER_REFERENCE_NUMBER\n

      \n

      A UK Unique Taxpayer Reference (UTR) is a 10-digit number that identifies a\n taxpayer or a business.

      \n
    • \n
    \n
  • \n
  • \n

    \n Custom\n

    \n
      \n
    • \n

      \n Regex filter - You can use a regular expressions to\n define patterns for an AI Guardrail to recognize and act upon such as serial number,\n booking ID etc..

      \n
    • \n
    \n
  • \n
", "smithy.api#required": {} } }, - "sessionId": { - "target": "com.amazonaws.qconnect#UuidOrArn", + "action": { + "target": "com.amazonaws.qconnect#GuardrailSensitiveInformationAction", "traits": { - "smithy.api#documentation": "

The identifier of the session. Can be either the ID or the ARN. URLs cannot contain the ARN.

", - "smithy.api#httpLabel": {}, + "smithy.api#documentation": "

Configure AI Guardrail's action when the PII entity is detected.

", "smithy.api#required": {} } - }, - "maxResults": { - "target": "com.amazonaws.qconnect#MaxResults", - "traits": { - "smithy.api#documentation": "

The maximum number of results to return per page.

", - "smithy.api#httpQuery": "maxResults" - } - }, - "waitTimeSeconds": { - "target": "com.amazonaws.qconnect#WaitTimeSeconds", - "traits": { - "smithy.api#default": 0, - "smithy.api#documentation": "

The duration (in seconds) for which the call waits for a recommendation to be made\n available before returning. If a recommendation is available, the call returns sooner than\n WaitTimeSeconds. If no messages are available and the wait time expires, the\n call returns successfully with an empty list.

", - "smithy.api#httpQuery": "waitTimeSeconds" - } } + }, + "traits": { + "smithy.api#documentation": "

The PII entity to configure for the AI Guardrail.

" } }, - "com.amazonaws.qconnect#GetRecommendationsResponse": { + "com.amazonaws.qconnect#GuardrailPiiEntityType": { + "type": "string", + "traits": { + "smithy.api#documentation": "The currently supported PII entities", + "smithy.api#enum": [ + { + "value": "ADDRESS", + "name": "ADDRESS" + }, + { + "value": "AGE", + "name": "AGE" + }, + { + "value": "AWS_ACCESS_KEY", + "name": "AWS_ACCESS_KEY" + }, + { + "value": "AWS_SECRET_KEY", + "name": "AWS_SECRET_KEY" + }, + { + "value": "CA_HEALTH_NUMBER", + "name": "CA_HEALTH_NUMBER" + }, + { + "value": "CA_SOCIAL_INSURANCE_NUMBER", + "name": "CA_SOCIAL_INSURANCE_NUMBER" + }, + { + "value": "CREDIT_DEBIT_CARD_CVV", + "name": "CREDIT_DEBIT_CARD_CVV" + }, + { + "value": "CREDIT_DEBIT_CARD_EXPIRY", + "name": "CREDIT_DEBIT_CARD_EXPIRY" + }, + { + "value": "CREDIT_DEBIT_CARD_NUMBER", + "name": "CREDIT_DEBIT_CARD_NUMBER" + }, + { + "value": "DRIVER_ID", + "name": "DRIVER_ID" + }, + { + "value": "EMAIL", + "name": "EMAIL" + }, + { + "value": "INTERNATIONAL_BANK_ACCOUNT_NUMBER", + "name": "INTERNATIONAL_BANK_ACCOUNT_NUMBER" + }, + { + "value": "IP_ADDRESS", + "name": "IP_ADDRESS" + }, + { + "value": "LICENSE_PLATE", + "name": "LICENSE_PLATE" + }, + { + "value": "MAC_ADDRESS", + "name": "MAC_ADDRESS" + }, + { + "value": "NAME", + "name": "NAME" + }, + { + "value": "PASSWORD", + "name": "PASSWORD" + }, + { + "value": "PHONE", + "name": "PHONE" + }, + { + "value": "PIN", + "name": "PIN" + }, + { + "value": "SWIFT_CODE", + "name": "SWIFT_CODE" + }, + { + "value": "UK_NATIONAL_HEALTH_SERVICE_NUMBER", + "name": "UK_NATIONAL_HEALTH_SERVICE_NUMBER" + }, + { + "value": "UK_NATIONAL_INSURANCE_NUMBER", + "name": "UK_NATIONAL_INSURANCE_NUMBER" + }, + { + "value": "UK_UNIQUE_TAXPAYER_REFERENCE_NUMBER", + "name": "UK_UNIQUE_TAXPAYER_REFERENCE_NUMBER" + }, + { + "value": "URL", + "name": "URL" + }, + { + "value": "USERNAME", + "name": "USERNAME" + }, + { + "value": "US_BANK_ACCOUNT_NUMBER", + "name": "US_BANK_ACCOUNT_NUMBER" + }, + { + "value": "US_BANK_ROUTING_NUMBER", + "name": "US_BANK_ROUTING_NUMBER" + }, + { + "value": "US_INDIVIDUAL_TAX_IDENTIFICATION_NUMBER", + "name": "US_INDIVIDUAL_TAX_IDENTIFICATION_NUMBER" + }, + { + "value": "US_PASSPORT_NUMBER", + "name": "US_PASSPORT_NUMBER" + }, + { + "value": "US_SOCIAL_SECURITY_NUMBER", + "name": "US_SOCIAL_SECURITY_NUMBER" + }, + { + "value": "VEHICLE_IDENTIFICATION_NUMBER", + "name": "VEHICLE_IDENTIFICATION_NUMBER" + } + ], + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.qconnect#GuardrailRegexConfig": { "type": "structure", "members": { - "recommendations": { - "target": "com.amazonaws.qconnect#RecommendationList", + "name": { + "target": "com.amazonaws.qconnect#GuardrailRegexName", "traits": { - "smithy.api#documentation": "

The recommendations.

", + "smithy.api#documentation": "

The name of the regular expression to configure for the AI Guardrail.

", "smithy.api#required": {} } }, - "triggers": { - "target": "com.amazonaws.qconnect#RecommendationTriggerList", + "description": { + "target": "com.amazonaws.qconnect#GuardrailRegexDescription", "traits": { - "smithy.api#documentation": "

The triggers corresponding to recommendations.

" + "smithy.api#documentation": "

The description of the regular expression to configure for the AI Guardrail.

" + } + }, + "pattern": { + "target": "com.amazonaws.qconnect#GuardrailRegexPattern", + "traits": { + "smithy.api#documentation": "

The regular expression pattern to configure for the AI Guardrail.

", + "smithy.api#required": {} + } + }, + "action": { + "target": "com.amazonaws.qconnect#GuardrailSensitiveInformationAction", + "traits": { + "smithy.api#documentation": "

The AI Guardrail action to configure when matching regular expression is detected.

", + "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#documentation": "

The regular expression to configure for the AI Guardrail.

" } }, - "com.amazonaws.qconnect#GetSession": { - "type": "operation", - "input": { - "target": "com.amazonaws.qconnect#GetSessionRequest" - }, - "output": { - "target": "com.amazonaws.qconnect#GetSessionResponse" - }, - "errors": [ - { - "target": "com.amazonaws.qconnect#AccessDeniedException" - }, - { - "target": "com.amazonaws.qconnect#ResourceNotFoundException" + "com.amazonaws.qconnect#GuardrailRegexDescription": { + "type": "string", + "traits": { + "smithy.api#documentation": "The regex description.", + "smithy.api#length": { + "min": 1, + "max": 1000 }, - { - "target": "com.amazonaws.qconnect#ValidationException" - } - ], + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.qconnect#GuardrailRegexName": { + "type": "string", "traits": { - "smithy.api#documentation": "

Retrieves information for a specified session.

", - "smithy.api#http": { - "uri": "/assistants/{assistantId}/sessions/{sessionId}", - "method": "GET" + "smithy.api#documentation": "The regex name.", + "smithy.api#length": { + "min": 1, + "max": 100 }, - "smithy.api#readonly": {} + "smithy.api#sensitive": {} } }, - "com.amazonaws.qconnect#GetSessionRequest": { - "type": "structure", - "members": { - "assistantId": { - "target": "com.amazonaws.qconnect#UuidOrArn", - "traits": { - "smithy.api#documentation": "

The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } + "com.amazonaws.qconnect#GuardrailRegexPattern": { + "type": "string", + "traits": { + "smithy.api#documentation": "The regex pattern.", + "smithy.api#length": { + "min": 1 }, - "sessionId": { - "target": "com.amazonaws.qconnect#UuidOrArn", - "traits": { - "smithy.api#documentation": "

The identifier of the session. Can be either the ID or the ARN. URLs cannot contain the ARN.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.qconnect#GuardrailRegexesConfig": { + "type": "list", + "member": { + "target": "com.amazonaws.qconnect#GuardrailRegexConfig" + }, + "traits": { + "smithy.api#documentation": "List of regex.", + "smithy.api#length": { + "min": 1 } } }, - "com.amazonaws.qconnect#GetSessionResponse": { - "type": "structure", - "members": { - "session": { - "target": "com.amazonaws.qconnect#SessionData", - "traits": { - "smithy.api#documentation": "

The session.

" + "com.amazonaws.qconnect#GuardrailSensitiveInformationAction": { + "type": "string", + "traits": { + "smithy.api#documentation": "Options for sensitive information action.", + "smithy.api#enum": [ + { + "value": "BLOCK", + "name": "BLOCK" + }, + { + "value": "ANONYMIZE", + "name": "ANONYMIZE" } - } + ], + "smithy.api#sensitive": {} } }, - "com.amazonaws.qconnect#GroupingConfiguration": { + "com.amazonaws.qconnect#GuardrailTopicConfig": { "type": "structure", "members": { - "criteria": { - "target": "com.amazonaws.qconnect#GroupingCriteria", + "name": { + "target": "com.amazonaws.qconnect#GuardrailTopicName", "traits": { - "smithy.api#documentation": "

The criteria used for grouping Amazon Q in Connect users.

\n

The following is the list of supported criteria values.

\n " + "smithy.api#documentation": "

The name of the topic to deny.

", + "smithy.api#required": {} } }, - "values": { - "target": "com.amazonaws.qconnect#GroupingValues", + "definition": { + "target": "com.amazonaws.qconnect#GuardrailTopicDefinition", "traits": { - "smithy.api#documentation": "

The list of values that define different groups of Amazon Q in Connect users.

\n " + "smithy.api#documentation": "

A definition of the topic to deny.

", + "smithy.api#required": {} + } + }, + "examples": { + "target": "com.amazonaws.qconnect#GuardrailTopicExamples", + "traits": { + "smithy.api#documentation": "

A list of prompts, each of which is an example of a prompt that can be categorized as\n belonging to the topic.

" + } + }, + "type": { + "target": "com.amazonaws.qconnect#GuardrailTopicType", + "traits": { + "smithy.api#documentation": "

Specifies to deny the topic.

", + "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

The configuration information of the grouping of Amazon Q in Connect users.

" + "smithy.api#documentation": "

Details about topics for the AI Guardrail to identify and deny.

" } }, - "com.amazonaws.qconnect#GroupingCriteria": { + "com.amazonaws.qconnect#GuardrailTopicDefinition": { "type": "string", "traits": { + "smithy.api#documentation": "Definition of topic in topic policy", + "smithy.api#length": { + "min": 1, + "max": 200 + }, + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.qconnect#GuardrailTopicExample": { + "type": "string", + "traits": { + "smithy.api#documentation": "Text example in topic policy", "smithy.api#length": { "min": 1, "max": 100 @@ -6515,23 +8107,90 @@ "smithy.api#sensitive": {} } }, - "com.amazonaws.qconnect#GroupingValue": { + "com.amazonaws.qconnect#GuardrailTopicExamples": { + "type": "list", + "member": { + "target": "com.amazonaws.qconnect#GuardrailTopicExample" + }, + "traits": { + "smithy.api#documentation": "List of text examples", + "smithy.api#length": { + "min": 0 + } + } + }, + "com.amazonaws.qconnect#GuardrailTopicName": { "type": "string", "traits": { + "smithy.api#documentation": "Name of topic in topic policy", "smithy.api#length": { "min": 1, - "max": 2048 + "max": 100 }, + "smithy.api#pattern": "^[0-9a-zA-Z-_ !?.]+$", "smithy.api#sensitive": {} } }, - "com.amazonaws.qconnect#GroupingValues": { + "com.amazonaws.qconnect#GuardrailTopicType": { + "type": "string", + "traits": { + "smithy.api#documentation": "Type of topic in a policy", + "smithy.api#enum": [ + { + "value": "DENY", + "name": "DENY" + } + ], + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.qconnect#GuardrailTopicsConfig": { "type": "list", "member": { - "target": "com.amazonaws.qconnect#GroupingValue" + "target": "com.amazonaws.qconnect#GuardrailTopicConfig" }, "traits": { - "smithy.api#uniqueItems": {} + "smithy.api#documentation": "List of topic configs in topic policy.", + "smithy.api#length": { + "min": 1 + } + } + }, + "com.amazonaws.qconnect#GuardrailWordConfig": { + "type": "structure", + "members": { + "text": { + "target": "com.amazonaws.qconnect#GuardrailWordText", + "traits": { + "smithy.api#documentation": "

Text of the word configured for the AI Guardrail to block.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

A word to configure for the AI Guardrail.

" + } + }, + "com.amazonaws.qconnect#GuardrailWordText": { + "type": "string", + "traits": { + "smithy.api#documentation": "The custom word text.", + "smithy.api#length": { + "min": 1 + }, + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.qconnect#GuardrailWordsConfig": { + "type": "list", + "member": { + "target": "com.amazonaws.qconnect#GuardrailWordConfig" + }, + "traits": { + "smithy.api#documentation": "List of custom word configs.", + "smithy.api#length": { + "min": 1 + } } }, "com.amazonaws.qconnect#Headers": { @@ -7368,7 +9027,199 @@ "aiAgentVersionSummaries": { "target": "com.amazonaws.qconnect#AIAgentVersionSummariesList", "traits": { - "smithy.api#documentation": "

The summaries of AI Agent versions.

", + "smithy.api#documentation": "

The summaries of AI Agent versions.

", + "smithy.api#required": {} + } + }, + "nextToken": { + "target": "com.amazonaws.qconnect#NextToken", + "traits": { + "smithy.api#documentation": "

The token for the next set of results. Use the value returned in the previous response in\n the next request to retrieve the next set of results.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.qconnect#ListAIAgents": { + "type": "operation", + "input": { + "target": "com.amazonaws.qconnect#ListAIAgentsRequest" + }, + "output": { + "target": "com.amazonaws.qconnect#ListAIAgentsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.qconnect#AccessDeniedException" + }, + { + "target": "com.amazonaws.qconnect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.qconnect#ThrottlingException" + }, + { + "target": "com.amazonaws.qconnect#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Lists AI Agents.

", + "smithy.api#http": { + "uri": "/assistants/{assistantId}/aiagents", + "method": "GET" + }, + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults", + "items": "aiAgentSummaries" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.qconnect#ListAIAgentsRequest": { + "type": "structure", + "members": { + "assistantId": { + "target": "com.amazonaws.qconnect#UuidOrArn", + "traits": { + "smithy.api#documentation": "

The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs\n cannot contain the ARN.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "nextToken": { + "target": "com.amazonaws.qconnect#NextToken", + "traits": { + "smithy.api#documentation": "

The token for the next set of results. Use the value returned in the previous response in\n the next request to retrieve the next set of results.

", + "smithy.api#httpQuery": "nextToken" + } + }, + "maxResults": { + "target": "com.amazonaws.qconnect#MaxResults", + "traits": { + "smithy.api#documentation": "

The maximum number of results to return per page.

", + "smithy.api#httpQuery": "maxResults" + } + }, + "origin": { + "target": "com.amazonaws.qconnect#Origin", + "traits": { + "smithy.api#documentation": "

The origin of the AI Agents to be listed. SYSTEM for a default AI Agent\n created by Q in Connect or CUSTOMER for an AI Agent created by calling AI Agent\n creation APIs.

", + "smithy.api#httpQuery": "origin" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.qconnect#ListAIAgentsResponse": { + "type": "structure", + "members": { + "aiAgentSummaries": { + "target": "com.amazonaws.qconnect#AIAgentSummaryList", + "traits": { + "smithy.api#documentation": "

The summaries of AI Agents.

", + "smithy.api#required": {} + } + }, + "nextToken": { + "target": "com.amazonaws.qconnect#NextToken", + "traits": { + "smithy.api#documentation": "

The token for the next set of results. Use the value returned in the previous response in\n the next request to retrieve the next set of results.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.qconnect#ListAIGuardrailVersions": { + "type": "operation", + "input": { + "target": "com.amazonaws.qconnect#ListAIGuardrailVersionsRequest" + }, + "output": { + "target": "com.amazonaws.qconnect#ListAIGuardrailVersionsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.qconnect#AccessDeniedException" + }, + { + "target": "com.amazonaws.qconnect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.qconnect#ThrottlingException" + }, + { + "target": "com.amazonaws.qconnect#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Lists AI Guardrail versions.

", + "smithy.api#http": { + "uri": "/assistants/{assistantId}/aiguardrails/{aiGuardrailId}/versions", + "method": "GET" + }, + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults", + "items": "aiGuardrailVersionSummaries" + }, + "smithy.api#private": {}, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.qconnect#ListAIGuardrailVersionsRequest": { + "type": "structure", + "members": { + "assistantId": { + "target": "com.amazonaws.qconnect#UuidOrArn", + "traits": { + "smithy.api#documentation": "

The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs\n cannot contain the ARN.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "aiGuardrailId": { + "target": "com.amazonaws.qconnect#UuidOrArnOrEitherWithQualifier", + "traits": { + "smithy.api#documentation": "

The identifier of the Amazon Q in Connect AI Guardrail for which versions are to be\n listed.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "nextToken": { + "target": "com.amazonaws.qconnect#NextToken", + "traits": { + "smithy.api#documentation": "

The token for the next set of results. Use the value returned in the previous response in\n the next request to retrieve the next set of results.

", + "smithy.api#httpQuery": "nextToken" + } + }, + "maxResults": { + "target": "com.amazonaws.qconnect#MaxResults", + "traits": { + "smithy.api#documentation": "

The maximum number of results to return per page.

", + "smithy.api#httpQuery": "maxResults" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.qconnect#ListAIGuardrailVersionsResponse": { + "type": "structure", + "members": { + "aiGuardrailVersionSummaries": { + "target": "com.amazonaws.qconnect#AIGuardrailVersionSummariesList", + "traits": { + "smithy.api#documentation": "

The summaries of the AI Guardrail versions.

", "smithy.api#required": {} } }, @@ -7383,13 +9234,13 @@ "smithy.api#output": {} } }, - "com.amazonaws.qconnect#ListAIAgents": { + "com.amazonaws.qconnect#ListAIGuardrails": { "type": "operation", "input": { - "target": "com.amazonaws.qconnect#ListAIAgentsRequest" + "target": "com.amazonaws.qconnect#ListAIGuardrailsRequest" }, "output": { - "target": "com.amazonaws.qconnect#ListAIAgentsResponse" + "target": "com.amazonaws.qconnect#ListAIGuardrailsResponse" }, "errors": [ { @@ -7406,21 +9257,22 @@ } ], "traits": { - "smithy.api#documentation": "

Lists AI Agents.

", + "smithy.api#documentation": "

Lists the AI Guardrails available on the Amazon Q in Connect assistant.

", "smithy.api#http": { - "uri": "/assistants/{assistantId}/aiagents", + "uri": "/assistants/{assistantId}/aiguardrails", "method": "GET" }, "smithy.api#paginated": { "inputToken": "nextToken", "outputToken": "nextToken", "pageSize": "maxResults", - "items": "aiAgentSummaries" + "items": "aiGuardrailSummaries" }, + "smithy.api#private": {}, "smithy.api#readonly": {} } }, - "com.amazonaws.qconnect#ListAIAgentsRequest": { + "com.amazonaws.qconnect#ListAIGuardrailsRequest": { "type": "structure", "members": { "assistantId": { @@ -7444,26 +9296,19 @@ "smithy.api#documentation": "

The maximum number of results to return per page.

", "smithy.api#httpQuery": "maxResults" } - }, - "origin": { - "target": "com.amazonaws.qconnect#Origin", - "traits": { - "smithy.api#documentation": "

The origin of the AI Agents to be listed. SYSTEM for a default AI Agent\n created by Q in Connect or CUSTOMER for an AI Agent created by calling AI Agent\n creation APIs.

", - "smithy.api#httpQuery": "origin" - } } }, "traits": { "smithy.api#input": {} } }, - "com.amazonaws.qconnect#ListAIAgentsResponse": { + "com.amazonaws.qconnect#ListAIGuardrailsResponse": { "type": "structure", "members": { - "aiAgentSummaries": { - "target": "com.amazonaws.qconnect#AIAgentSummaryList", + "aiGuardrailSummaries": { + "target": "com.amazonaws.qconnect#AIGuardrailSummariesList", "traits": { - "smithy.api#documentation": "

The summaries of AI Agents.

", + "smithy.api#documentation": "

The summaries of the AI Guardrails.

", "smithy.api#required": {} } }, @@ -8196,7 +10041,7 @@ "messageTemplateId": { "target": "com.amazonaws.qconnect#UuidOrArnOrEitherWithQualifier", "traits": { - "smithy.api#documentation": "

The identifier of the message template. Can be either the ID or the ARN. It cannot contain any qualifier.

", + "smithy.api#documentation": "

The identifier of the message template. Can be either the ID or the ARN. It cannot contain\n any qualifier.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -8329,6 +10174,100 @@ "smithy.api#output": {} } }, + "com.amazonaws.qconnect#ListMessages": { + "type": "operation", + "input": { + "target": "com.amazonaws.qconnect#ListMessagesRequest" + }, + "output": { + "target": "com.amazonaws.qconnect#ListMessagesResponse" + }, + "errors": [ + { + "target": "com.amazonaws.qconnect#AccessDeniedException" + }, + { + "target": "com.amazonaws.qconnect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.qconnect#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Lists messages on an Amazon Q in Connect session.

", + "smithy.api#http": { + "uri": "/assistants/{assistantId}/sessions/{sessionId}/messages", + "method": "GET" + }, + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults", + "items": "messages" + }, + "smithy.api#private": {}, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.qconnect#ListMessagesRequest": { + "type": "structure", + "members": { + "assistantId": { + "target": "com.amazonaws.qconnect#UuidOrArn", + "traits": { + "smithy.api#documentation": "

The identifier of the Amazon Q in Connect assistant.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "sessionId": { + "target": "com.amazonaws.qconnect#UuidOrArn", + "traits": { + "smithy.api#documentation": "

The identifier of the Amazon Q in Connect session.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "nextToken": { + "target": "com.amazonaws.qconnect#NextToken", + "traits": { + "smithy.api#documentation": "

The token for the next set of results. Use the value returned in the previous response in\n the next request to retrieve the next set of results.

", + "smithy.api#httpQuery": "nextToken" + } + }, + "maxResults": { + "target": "com.amazonaws.qconnect#MaxResults", + "traits": { + "smithy.api#documentation": "

The maximum number of results to return per page.

", + "smithy.api#httpQuery": "maxResults" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.qconnect#ListMessagesResponse": { + "type": "structure", + "members": { + "messages": { + "target": "com.amazonaws.qconnect#MessageList", + "traits": { + "smithy.api#documentation": "

The message information.

", + "smithy.api#required": {} + } + }, + "nextToken": { + "target": "com.amazonaws.qconnect#NextToken", + "traits": { + "smithy.api#documentation": "

The token for the next set of results. Use the value returned in the previous response in\n the next request to retrieve the next set of results.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.qconnect#ListQuickResponses": { "type": "operation", "input": { @@ -8492,6 +10431,12 @@ "smithy.api#documentation": "

The AI Prompt identifier for the Answer Generation prompt used by the MANUAL_SEARCH AI\n Agent.

" } }, + "answerGenerationAIGuardrailId": { + "target": "com.amazonaws.qconnect#UuidWithQualifier", + "traits": { + "smithy.api#documentation": "

The AI Guardrail identifier for the Answer Generation guardrail used by the MANUAL_SEARCH\n AI Agent.

" + } + }, "associationConfigurations": { "target": "com.amazonaws.qconnect#AssociationConfigurationList", "traits": { @@ -8512,6 +10457,77 @@ } } }, + "com.amazonaws.qconnect#MessageData": { + "type": "union", + "members": { + "text": { + "target": "com.amazonaws.qconnect#TextMessage", + "traits": { + "smithy.api#documentation": "

The message data in text type.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The message data.

" + } + }, + "com.amazonaws.qconnect#MessageInput": { + "type": "structure", + "members": { + "value": { + "target": "com.amazonaws.qconnect#MessageData", + "traits": { + "smithy.api#documentation": "

The message input value.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

The message input.

" + } + }, + "com.amazonaws.qconnect#MessageList": { + "type": "list", + "member": { + "target": "com.amazonaws.qconnect#MessageOutput" + } + }, + "com.amazonaws.qconnect#MessageOutput": { + "type": "structure", + "members": { + "value": { + "target": "com.amazonaws.qconnect#MessageData", + "traits": { + "smithy.api#documentation": "

The value of a message data.

", + "smithy.api#required": {} + } + }, + "messageId": { + "target": "com.amazonaws.qconnect#Uuid", + "traits": { + "smithy.api#documentation": "

The identifier of a message.

", + "smithy.api#required": {} + } + }, + "participant": { + "target": "com.amazonaws.qconnect#Participant", + "traits": { + "smithy.api#documentation": "

The participant of a message.

", + "smithy.api#required": {} + } + }, + "timestamp": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp of a message.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

The message output.

" + } + }, "com.amazonaws.qconnect#MessageTemplate": { "type": "resource", "identifiers": { @@ -8583,7 +10599,7 @@ "name": { "target": "com.amazonaws.qconnect#AttachmentFileName", "traits": { - "smithy.api#documentation": "

The name of the attachment file being uploaded. The name should include the file extension.

", + "smithy.api#documentation": "

The name of the attachment file being uploaded. The name should include the file\n extension.

", "smithy.api#required": {} } }, @@ -9411,6 +11427,17 @@ "target": "com.amazonaws.qconnect#MessageTemplateVersionSummary" } }, + "com.amazonaws.qconnect#MessageType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "TEXT", + "name": "TEXT" + } + ] + } + }, "com.amazonaws.qconnect#Name": { "type": "string", "traits": { @@ -9684,6 +11711,25 @@ ] } }, + "com.amazonaws.qconnect#Participant": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "CUSTOMER", + "name": "CUSTOMER" + }, + { + "value": "AGENT", + "name": "AGENT" + }, + { + "value": "BOT", + "name": "BOT" + } + ] + } + }, "com.amazonaws.qconnect#PreconditionFailedException": { "type": "structure", "members": { @@ -11842,75 +13888,146 @@ "nextToken": { "target": "com.amazonaws.qconnect#NextToken", "traits": { - "smithy.api#documentation": "

The token for the next set of results. Use the value returned in the previous \nresponse in the next request to retrieve the next set of results.

", - "smithy.api#httpQuery": "nextToken" + "smithy.api#documentation": "

The token for the next set of results. Use the value returned in the previous \nresponse in the next request to retrieve the next set of results.

", + "smithy.api#httpQuery": "nextToken" + } + }, + "maxResults": { + "target": "com.amazonaws.qconnect#MaxResults", + "traits": { + "smithy.api#documentation": "

The maximum number of results to return per page.

", + "smithy.api#httpQuery": "maxResults" + } + }, + "assistantId": { + "target": "com.amazonaws.qconnect#UuidOrArn", + "traits": { + "smithy.api#documentation": "

The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "searchExpression": { + "target": "com.amazonaws.qconnect#SearchExpression", + "traits": { + "smithy.api#documentation": "

The search expression to filter results.

", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.qconnect#SearchSessionsResponse": { + "type": "structure", + "members": { + "sessionSummaries": { + "target": "com.amazonaws.qconnect#SessionSummaries", + "traits": { + "smithy.api#documentation": "

Summary information about the sessions.

", + "smithy.api#required": {} + } + }, + "nextToken": { + "target": "com.amazonaws.qconnect#NextToken", + "traits": { + "smithy.api#documentation": "

If there are additional results, this is the token for the next set of results.

" + } + } + } + }, + "com.amazonaws.qconnect#SeedUrl": { + "type": "structure", + "members": { + "url": { + "target": "com.amazonaws.qconnect#WebUrl", + "traits": { + "smithy.api#documentation": "

URL for crawling

" + } + } + }, + "traits": { + "smithy.api#documentation": "

A URL for crawling.

" + } + }, + "com.amazonaws.qconnect#SeedUrls": { + "type": "list", + "member": { + "target": "com.amazonaws.qconnect#SeedUrl" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 100 + } + } + }, + "com.amazonaws.qconnect#SelfServiceAIAgentConfiguration": { + "type": "structure", + "members": { + "selfServicePreProcessingAIPromptId": { + "target": "com.amazonaws.qconnect#UuidWithQualifier", + "traits": { + "smithy.api#documentation": "

The AI Prompt identifier for the Self Service Pre-Processing prompt used by the\n SELF_SERVICE AI Agent

" } }, - "maxResults": { - "target": "com.amazonaws.qconnect#MaxResults", + "selfServiceAnswerGenerationAIPromptId": { + "target": "com.amazonaws.qconnect#UuidWithQualifier", "traits": { - "smithy.api#documentation": "

The maximum number of results to return per page.

", - "smithy.api#httpQuery": "maxResults" + "smithy.api#documentation": "

The AI Prompt identifier for the Self Service Answer Generation prompt used by the\n SELF_SERVICE AI Agent

" } }, - "assistantId": { - "target": "com.amazonaws.qconnect#UuidOrArn", + "selfServiceAIGuardrailId": { + "target": "com.amazonaws.qconnect#UuidWithQualifier", "traits": { - "smithy.api#documentation": "

The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} + "smithy.api#documentation": "

The AI Guardrail identifier used by the SELF_SERVICE AI Agent.

" } }, - "searchExpression": { - "target": "com.amazonaws.qconnect#SearchExpression", + "associationConfigurations": { + "target": "com.amazonaws.qconnect#AssociationConfigurationList", "traits": { - "smithy.api#documentation": "

The search expression to filter results.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The association configurations for overriding behavior on this AI Agent.

" } } + }, + "traits": { + "smithy.api#documentation": "

The configuration for AI Agents of type SELF_SERVICE.

" } }, - "com.amazonaws.qconnect#SearchSessionsResponse": { + "com.amazonaws.qconnect#SelfServiceConversationHistory": { "type": "structure", "members": { - "sessionSummaries": { - "target": "com.amazonaws.qconnect#SessionSummaries", + "turnNumber": { + "target": "smithy.api#Integer", "traits": { - "smithy.api#documentation": "

Summary information about the sessions.

", + "smithy.api#documentation": "

The number of turn of the conversation history data.

", "smithy.api#required": {} } }, - "nextToken": { - "target": "com.amazonaws.qconnect#NextToken", + "inputTranscript": { + "target": "com.amazonaws.qconnect#SensitiveString", "traits": { - "smithy.api#documentation": "

If there are additional results, this is the token for the next set of results.

" + "smithy.api#documentation": "

The input transcript of the conversation history data.

" } - } - } - }, - "com.amazonaws.qconnect#SeedUrl": { - "type": "structure", - "members": { - "url": { - "target": "com.amazonaws.qconnect#WebUrl", + }, + "botResponse": { + "target": "com.amazonaws.qconnect#SensitiveString", "traits": { - "smithy.api#documentation": "

URL for crawling

" + "smithy.api#documentation": "

The bot response of the conversation history data.

" } } }, "traits": { - "smithy.api#documentation": "

A URL for crawling.

" + "smithy.api#documentation": "

The conversation history data to included in conversation context data before the the\n Amazon Q in Connect session..

" } }, - "com.amazonaws.qconnect#SeedUrls": { + "com.amazonaws.qconnect#SelfServiceConversationHistoryList": { "type": "list", "member": { - "target": "com.amazonaws.qconnect#SeedUrl" + "target": "com.amazonaws.qconnect#SelfServiceConversationHistory" }, "traits": { "smithy.api#length": { - "min": 1, - "max": 100 + "min": 0, + "max": 10 } } }, @@ -11954,6 +14071,117 @@ "smithy.api#documentation": "

Settings for semantic document chunking for a data source. Semantic chunking splits a\n document into smaller documents based on groups of similar content derived from the text with\n natural language processing.

" } }, + "com.amazonaws.qconnect#SendMessage": { + "type": "operation", + "input": { + "target": "com.amazonaws.qconnect#SendMessageRequest" + }, + "output": { + "target": "com.amazonaws.qconnect#SendMessageResponse" + }, + "errors": [ + { + "target": "com.amazonaws.qconnect#AccessDeniedException" + }, + { + "target": "com.amazonaws.qconnect#ConflictException" + }, + { + "target": "com.amazonaws.qconnect#RequestTimeoutException" + }, + { + "target": "com.amazonaws.qconnect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.qconnect#ThrottlingException" + }, + { + "target": "com.amazonaws.qconnect#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Submits a message to the Amazon Q in Connect session.

", + "smithy.api#http": { + "uri": "/assistants/{assistantId}/sessions/{sessionId}/message", + "method": "POST" + }, + "smithy.api#idempotent": {}, + "smithy.api#private": {} + } + }, + "com.amazonaws.qconnect#SendMessageRequest": { + "type": "structure", + "members": { + "assistantId": { + "target": "com.amazonaws.qconnect#UuidOrArn", + "traits": { + "smithy.api#documentation": "

The identifier of the Amazon Q in Connect assistant.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "sessionId": { + "target": "com.amazonaws.qconnect#UuidOrArn", + "traits": { + "smithy.api#documentation": "

The identifier of the Amazon Q in Connect session.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "type": { + "target": "com.amazonaws.qconnect#MessageType", + "traits": { + "smithy.api#documentation": "

The message type.

", + "smithy.api#required": {} + } + }, + "message": { + "target": "com.amazonaws.qconnect#MessageInput", + "traits": { + "smithy.api#documentation": "

The message data to submit to the Amazon Q in Connect session.

", + "smithy.api#required": {} + } + }, + "conversationContext": { + "target": "com.amazonaws.qconnect#ConversationContext", + "traits": { + "smithy.api#documentation": "

The conversation context before the Amazon Q in Connect session.

" + } + }, + "clientToken": { + "target": "com.amazonaws.qconnect#ClientToken", + "traits": { + "smithy.api#documentation": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request. If not provided, the AWS SDK populates this field.For more information about\n idempotency, see Making retries safe with idempotent APIs.

", + "smithy.api#idempotencyToken": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.qconnect#SendMessageResponse": { + "type": "structure", + "members": { + "requestMessageId": { + "target": "com.amazonaws.qconnect#Uuid", + "traits": { + "smithy.api#documentation": "

The identifier of the submitted message.

", + "smithy.api#required": {} + } + }, + "nextMessageToken": { + "target": "com.amazonaws.qconnect#NextToken", + "traits": { + "smithy.api#documentation": "

The token for the next message, used by GetNextMessage.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.qconnect#SensitiveString": { "type": "string", "traits": { @@ -12007,6 +14235,15 @@ "target": "com.amazonaws.qconnect#UpdateSession" }, "operations": [ + { + "target": "com.amazonaws.qconnect#GetNextMessage" + }, + { + "target": "com.amazonaws.qconnect#ListMessages" + }, + { + "target": "com.amazonaws.qconnect#SendMessage" + }, { "target": "com.amazonaws.qconnect#UpdateSessionData" } @@ -12496,7 +14733,7 @@ "address": { "target": "com.amazonaws.qconnect#MessageTemplateAttributeValue", "traits": { - "smithy.api#documentation": "

The customer's phone number if used with customerEndpoint, or the number the customer\n dialed to call your contact center if used with systemEndpoint.

" + "smithy.api#documentation": "

The customer's phone number if used with customerEndpoint, or the number the\n customer dialed to call your contact center if used with systemEndpoint.

" } } }, @@ -12694,6 +14931,24 @@ "smithy.api#documentation": "

The configuration for a prompt template that supports full textual prompt configuration\n using a YAML prompt.

" } }, + "com.amazonaws.qconnect#TextMessage": { + "type": "structure", + "members": { + "value": { + "target": "com.amazonaws.qconnect#SensitiveString", + "traits": { + "smithy.api#documentation": "

The value of the message data in text type.

", + "smithy.api#length": { + "min": 1, + "max": 1024 + } + } + } + }, + "traits": { + "smithy.api#documentation": "

The message data in text type.

" + } + }, "com.amazonaws.qconnect#ThrottlingException": { "type": "structure", "members": { @@ -12882,6 +15137,143 @@ "smithy.api#output": {} } }, + "com.amazonaws.qconnect#UpdateAIGuardrail": { + "type": "operation", + "input": { + "target": "com.amazonaws.qconnect#UpdateAIGuardrailRequest" + }, + "output": { + "target": "com.amazonaws.qconnect#UpdateAIGuardrailResponse" + }, + "errors": [ + { + "target": "com.amazonaws.qconnect#AccessDeniedException" + }, + { + "target": "com.amazonaws.qconnect#ConflictException" + }, + { + "target": "com.amazonaws.qconnect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.qconnect#ThrottlingException" + }, + { + "target": "com.amazonaws.qconnect#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Updates an AI Guardrail.

", + "smithy.api#http": { + "uri": "/assistants/{assistantId}/aiguardrails/{aiGuardrailId}", + "method": "POST" + }, + "smithy.api#idempotent": {}, + "smithy.api#private": {} + } + }, + "com.amazonaws.qconnect#UpdateAIGuardrailRequest": { + "type": "structure", + "members": { + "clientToken": { + "target": "com.amazonaws.qconnect#ClientToken", + "traits": { + "smithy.api#documentation": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request. If not provided, the Amazon Web Services\n SDK populates this field. For more information about idempotency, see\n Making retries safe with idempotent APIs..

", + "smithy.api#idempotencyToken": {} + } + }, + "assistantId": { + "target": "com.amazonaws.qconnect#UuidOrArn", + "traits": { + "smithy.api#documentation": "

The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs\n cannot contain the ARN.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "aiGuardrailId": { + "target": "com.amazonaws.qconnect#UuidOrArnOrEitherWithQualifier", + "traits": { + "smithy.api#documentation": "

The identifier of the Amazon Q in Connect AI Guardrail.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "visibilityStatus": { + "target": "com.amazonaws.qconnect#VisibilityStatus", + "traits": { + "smithy.api#documentation": "

The visibility status of the Amazon Q in Connect AI Guardrail.

", + "smithy.api#required": {} + } + }, + "blockedInputMessaging": { + "target": "com.amazonaws.qconnect#AIGuardrailBlockedMessaging", + "traits": { + "smithy.api#documentation": "

The message to return when the AI Guardrail blocks a prompt.

", + "smithy.api#required": {} + } + }, + "blockedOutputsMessaging": { + "target": "com.amazonaws.qconnect#AIGuardrailBlockedMessaging", + "traits": { + "smithy.api#documentation": "

The message to return when the AI Guardrail blocks a model response.

", + "smithy.api#required": {} + } + }, + "description": { + "target": "com.amazonaws.qconnect#AIGuardrailDescription", + "traits": { + "smithy.api#documentation": "

A description of the AI Guardrail.

" + } + }, + "topicPolicyConfig": { + "target": "com.amazonaws.qconnect#AIGuardrailTopicPolicyConfig", + "traits": { + "smithy.api#documentation": "

The topic policies to configure for the AI Guardrail.

" + } + }, + "contentPolicyConfig": { + "target": "com.amazonaws.qconnect#AIGuardrailContentPolicyConfig", + "traits": { + "smithy.api#documentation": "

The content filter policies to configure for the AI Guardrail.

" + } + }, + "wordPolicyConfig": { + "target": "com.amazonaws.qconnect#AIGuardrailWordPolicyConfig", + "traits": { + "smithy.api#documentation": "

The word policy you configure for the AI Guardrail.

" + } + }, + "sensitiveInformationPolicyConfig": { + "target": "com.amazonaws.qconnect#AIGuardrailSensitiveInformationPolicyConfig", + "traits": { + "smithy.api#documentation": "

The sensitive information policy to configure for the AI Guardrail.

" + } + }, + "contextualGroundingPolicyConfig": { + "target": "com.amazonaws.qconnect#AIGuardrailContextualGroundingPolicyConfig", + "traits": { + "smithy.api#documentation": "

The contextual grounding policy configuration used to create an AI Guardrail.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.qconnect#UpdateAIGuardrailResponse": { + "type": "structure", + "members": { + "aiGuardrail": { + "target": "com.amazonaws.qconnect#AIGuardrailData", + "traits": { + "smithy.api#documentation": "

The data of the updated Amazon Q in Connect AI Guardrail.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.qconnect#UpdateAIPrompt": { "type": "operation", "input": { @@ -13287,7 +15679,7 @@ "messageTemplateId": { "target": "com.amazonaws.qconnect#UuidOrArnOrEitherWithQualifier", "traits": { - "smithy.api#documentation": "

The identifier of the message template. Can be either the ID or the ARN. It cannot contain any qualifier.

", + "smithy.api#documentation": "

The identifier of the message template. Can be either the ID or the ARN. It cannot contain\n any qualifier.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -13340,7 +15732,7 @@ "messageTemplateId": { "target": "com.amazonaws.qconnect#UuidOrArnOrEitherWithQualifier", "traits": { - "smithy.api#documentation": "

The identifier of the message template. Can be either the ID or the ARN. It cannot contain any qualifier.

", + "smithy.api#documentation": "

The identifier of the message template. Can be either the ID or the ARN. It cannot contain\n any qualifier.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } diff --git a/codegen/sdk/aws-models/rds.json b/codegen/sdk/aws-models/rds.json index f6ff0ca7d80..1fde890c40b 100644 --- a/codegen/sdk/aws-models/rds.json +++ b/codegen/sdk/aws-models/rds.json @@ -4471,6 +4471,12 @@ "smithy.api#documentation": "

The Amazon Resource Name (ARN) for the IAM role that permits RDS to send Enhanced Monitoring metrics to Amazon CloudWatch Logs. \n An example is arn:aws:iam:123456789012:role/emaccess. For information on creating a monitoring role,\n see Setting \n up and enabling Enhanced Monitoring in the Amazon RDS User Guide.

\n

If MonitoringInterval is set to a value other than 0, supply a MonitoringRoleArn value.

\n

Valid for Cluster Type: Multi-AZ DB clusters only

" } }, + "DatabaseInsightsMode": { + "target": "com.amazonaws.rds#DatabaseInsightsMode", + "traits": { + "smithy.api#documentation": "

Specifies the mode of Database Insights to enable for the cluster.

" + } + }, "EnablePerformanceInsights": { "target": "com.amazonaws.rds#BooleanOptional", "traits": { @@ -5217,6 +5223,12 @@ "smithy.api#documentation": "

Specifies whether to enable mapping of Amazon Web Services Identity and Access Management\n (IAM) accounts to database accounts. By default, mapping isn't enabled.

\n

For more information, see \n \n IAM Database Authentication for MySQL and PostgreSQL in the Amazon RDS User Guide.

\n

This setting doesn't apply to the following DB instances:

\n
    \n
  • \n

    Amazon Aurora (Mapping Amazon Web Services IAM accounts to database accounts is managed by the DB cluster.)

    \n
  • \n
  • \n

    RDS Custom

    \n
  • \n
" } }, + "DatabaseInsightsMode": { + "target": "com.amazonaws.rds#DatabaseInsightsMode", + "traits": { + "smithy.api#documentation": "

Specifies the mode of Database Insights to enable for the instance.

" + } + }, "EnablePerformanceInsights": { "target": "com.amazonaws.rds#BooleanOptional", "traits": { @@ -5570,6 +5582,12 @@ "smithy.api#documentation": "

Specifies whether to enable mapping of Amazon Web Services Identity and Access Management\n (IAM) accounts to database accounts. By default, mapping isn't enabled.

\n

For more information about IAM database authentication, see \n \n IAM Database Authentication for MySQL and PostgreSQL in the Amazon RDS User Guide.

\n

This setting doesn't apply to RDS Custom DB instances.

" } }, + "DatabaseInsightsMode": { + "target": "com.amazonaws.rds#DatabaseInsightsMode", + "traits": { + "smithy.api#documentation": "

Specifies the mode of Database Insights.

" + } + }, "EnablePerformanceInsights": { "target": "com.amazonaws.rds#BooleanOptional", "traits": { @@ -7519,6 +7537,12 @@ "smithy.api#documentation": "

The ARN for the IAM role that permits RDS to send Enhanced Monitoring metrics to Amazon CloudWatch Logs.

\n

This setting is only for non-Aurora Multi-AZ DB clusters.

" } }, + "DatabaseInsightsMode": { + "target": "com.amazonaws.rds#DatabaseInsightsMode", + "traits": { + "smithy.api#documentation": "

The mode of Database Insights that is enabled for the cluster.

" + } + }, "PerformanceInsightsEnabled": { "target": "com.amazonaws.rds#BooleanOptional", "traits": { @@ -9335,6 +9359,12 @@ "smithy.api#documentation": "

Indicates whether mapping of Amazon Web Services Identity and Access Management (IAM) accounts to database accounts is enabled for the DB instance.

\n

For a list of engine versions that support IAM database authentication, see \n IAM database authentication\n in the Amazon RDS User Guide and IAM \n database authentication in Aurora in the Amazon Aurora User Guide.

" } }, + "DatabaseInsightsMode": { + "target": "com.amazonaws.rds#DatabaseInsightsMode", + "traits": { + "smithy.api#documentation": "

The mode of Database Insights that is enabled for the instance.

" + } + }, "PerformanceInsightsEnabled": { "target": "com.amazonaws.rds#BooleanOptional", "traits": { @@ -11966,6 +11996,23 @@ "smithy.api#pattern": "^arn:[A-Za-z][0-9A-Za-z-:._]*$" } }, + "com.amazonaws.rds#DatabaseInsightsMode": { + "type": "enum", + "members": { + "STANDARD": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "standard" + } + }, + "ADVANCED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "advanced" + } + } + } + }, "com.amazonaws.rds#DeleteBlueGreenDeployment": { "type": "operation", "input": { @@ -18357,7 +18404,7 @@ } ], "traits": { - "smithy.api#documentation": "

Disables the HTTP endpoint for the specified DB cluster. Disabling this endpoint disables RDS Data API.

\n

For more information, see Using RDS Data API in the \n Amazon Aurora User Guide.

\n \n

This operation applies only to Aurora PostgreSQL Serverless v2 and provisioned DB clusters. To disable the HTTP endpoint for Aurora Serverless v1 DB clusters, \n use the EnableHttpEndpoint parameter of the ModifyDBCluster operation.

\n
" + "smithy.api#documentation": "

Disables the HTTP endpoint for the specified DB cluster. Disabling this endpoint disables RDS Data API.

\n

For more information, see Using RDS Data API in the \n Amazon Aurora User Guide.

\n \n

This operation applies only to Aurora Serverless v2 and provisioned DB clusters. To disable the HTTP endpoint for Aurora Serverless v1 DB clusters, \n use the EnableHttpEndpoint parameter of the ModifyDBCluster operation.

\n
" } }, "com.amazonaws.rds#DisableHttpEndpointRequest": { @@ -18710,7 +18757,7 @@ } ], "traits": { - "smithy.api#documentation": "

Enables the HTTP endpoint for the DB cluster. By default, the HTTP endpoint \n isn't enabled.

\n

When enabled, this endpoint provides a connectionless web service API (RDS Data API) \n for running SQL queries on the Aurora DB cluster. You can also query your database from inside the RDS console \n with the RDS query editor.

\n

For more information, see Using RDS Data API in the \n Amazon Aurora User Guide.

\n \n

This operation applies only to Aurora PostgreSQL Serverless v2 and provisioned DB clusters. To enable the HTTP endpoint for Aurora Serverless v1 DB clusters, \n use the EnableHttpEndpoint parameter of the ModifyDBCluster operation.

\n
" + "smithy.api#documentation": "

Enables the HTTP endpoint for the DB cluster. By default, the HTTP endpoint \n isn't enabled.

\n

When enabled, this endpoint provides a connectionless web service API (RDS Data API) \n for running SQL queries on the Aurora DB cluster. You can also query your database from inside the RDS console \n with the RDS query editor.

\n

For more information, see Using RDS Data API in the \n Amazon Aurora User Guide.

\n \n

This operation applies only to Aurora Serverless v2 and provisioned DB clusters. To enable the HTTP endpoint for Aurora Serverless v1 DB clusters, \n use the EnableHttpEndpoint parameter of the ModifyDBCluster operation.

\n
" } }, "com.amazonaws.rds#EnableHttpEndpointRequest": { @@ -21776,7 +21823,7 @@ "EnableHttpEndpoint": { "target": "com.amazonaws.rds#BooleanOptional", "traits": { - "smithy.api#documentation": "

Specifies whether to enable the HTTP endpoint for an Aurora Serverless v1 DB cluster. By default, the HTTP endpoint \n isn't enabled.

\n

When enabled, the HTTP endpoint provides a connectionless web service API (RDS Data API) for running\n SQL queries on the Aurora Serverless v1 DB cluster. You can also query your database\n from inside the RDS console with the RDS query editor.

\n

For more information, see Using RDS Data API in the \n Amazon Aurora User Guide.

\n \n

This parameter applies only to Aurora Serverless v1 DB clusters. To enable or disable the HTTP endpoint for an Aurora PostgreSQL \n Serverless v2 or provisioned DB cluster, use the EnableHttpEndpoint and DisableHttpEndpoint operations.

\n
\n

Valid for Cluster Type: Aurora DB clusters only

" + "smithy.api#documentation": "

Specifies whether to enable the HTTP endpoint for an Aurora Serverless v1 DB cluster. By default, the HTTP endpoint \n isn't enabled.

\n

When enabled, the HTTP endpoint provides a connectionless web service API (RDS Data API) for running\n SQL queries on the Aurora Serverless v1 DB cluster. You can also query your database\n from inside the RDS console with the RDS query editor.

\n

For more information, see Using RDS Data API in the \n Amazon Aurora User Guide.

\n \n

This parameter applies only to Aurora Serverless v1 DB clusters. To enable or disable the HTTP endpoint for an Aurora\n Serverless v2 or provisioned DB cluster, use the EnableHttpEndpoint and DisableHttpEndpoint operations.

\n
\n

Valid for Cluster Type: Aurora DB clusters only

" } }, "CopyTagsToSnapshot": { @@ -21833,6 +21880,12 @@ "smithy.api#documentation": "

The Amazon Resource Name (ARN) for the IAM role that permits RDS to send Enhanced Monitoring metrics to Amazon CloudWatch Logs. An\n example is arn:aws:iam:123456789012:role/emaccess. For information on creating a monitoring role,\n see To \n create an IAM role for Amazon RDS Enhanced Monitoring in the Amazon RDS User Guide.\n

\n

If MonitoringInterval is set to a value other than 0, supply a MonitoringRoleArn value.

\n

Valid for Cluster Type: Multi-AZ DB clusters only

" } }, + "DatabaseInsightsMode": { + "target": "com.amazonaws.rds#DatabaseInsightsMode", + "traits": { + "smithy.api#documentation": "

Specifies the mode of Database Insights to enable for the cluster.

" + } + }, "EnablePerformanceInsights": { "target": "com.amazonaws.rds#BooleanOptional", "traits": { @@ -22452,6 +22505,12 @@ "smithy.api#documentation": "

Specifies whether to enable mapping of Amazon Web Services Identity and Access Management\n (IAM) accounts to database accounts. By default, mapping isn't enabled.

\n

This setting doesn't apply to Amazon Aurora. Mapping Amazon Web Services IAM accounts to database accounts is managed by the DB\n cluster.

\n

For more information about IAM database authentication, see \n \n IAM Database Authentication for MySQL and PostgreSQL in the Amazon RDS User Guide.\n

\n

This setting doesn't apply to RDS Custom DB instances.

" } }, + "DatabaseInsightsMode": { + "target": "com.amazonaws.rds#DatabaseInsightsMode", + "traits": { + "smithy.api#documentation": "

Specifies the mode of Database Insights to enable for the instance.

" + } + }, "EnablePerformanceInsights": { "target": "com.amazonaws.rds#BooleanOptional", "traits": { @@ -28566,6 +28625,12 @@ "smithy.api#required": {} } }, + "DatabaseInsightsMode": { + "target": "com.amazonaws.rds#DatabaseInsightsMode", + "traits": { + "smithy.api#documentation": "

Specifies the mode of Database Insights to enable for the instance.

" + } + }, "EnablePerformanceInsights": { "target": "com.amazonaws.rds#BooleanOptional", "traits": { diff --git a/codegen/sdk/aws-models/s3-control.json b/codegen/sdk/aws-models/s3-control.json index 197ca7cdc86..de7b0580cbe 100644 --- a/codegen/sdk/aws-models/s3-control.json +++ b/codegen/sdk/aws-models/s3-control.json @@ -8093,7 +8093,7 @@ "Operation": { "target": "com.amazonaws.s3control#JobOperation", "traits": { - "smithy.api#documentation": "

The action that you want this job to perform on every object listed in the manifest. For\n more information about the available actions, see Operations in the\n Amazon S3 User Guide.

", + "smithy.api#documentation": "

The action that you want this job to perform on every object listed in the manifest. For\n more information about the available actions, see Operations in the\n Amazon S3 User Guide.

", "smithy.api#required": {} } }, @@ -13928,7 +13928,7 @@ "target": "com.amazonaws.s3control#ListCallerAccessGrantsResult" }, "traits": { - "smithy.api#documentation": "

Returns a list of the access grants that were given to the caller using S3 Access Grants and that allow the caller to access the S3 data of the Amazon Web Services account specified in the request.

\n
\n
Permissions
\n
\n

You must have the s3:ListCallerAccessGrants permission to use this operation.

\n
\n
", + "smithy.api#documentation": "

Use this API to list the access grants that grant the caller access to Amazon S3 data through S3 Access Grants. The caller (grantee) can be an Identity and Access Management (IAM) identity or Amazon Web Services Identity Center corporate directory identity. You must pass the Amazon Web Services account of the S3 data owner (grantor) in the request. You can, optionally, narrow the results by GrantScope, using a fragment of the data's S3 path, and S3 Access Grants will return only the grants with a path that contains the path fragment. You can also pass the AllowedByApplication filter in the request, which returns only the grants authorized for applications, whether the application is the caller's Identity Center application or any other application (ALL). For more information, see List the caller's access grants in the Amazon S3 User Guide.

\n
\n
Permissions
\n
\n

You must have the s3:ListCallerAccessGrants permission to use this operation.

\n
\n
", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, @@ -17437,6 +17437,12 @@ "traits": { "smithy.api#enumValue": "SHA256" } + }, + "CRC64NVME": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CRC64NVME" + } } } }, @@ -17522,7 +17528,7 @@ "SSEAwsKmsKeyId": { "target": "com.amazonaws.s3control#KmsKeyArnString", "traits": { - "smithy.api#documentation": "

\n \n

This functionality is not supported by directory buckets.

\n
" + "smithy.api#documentation": "

Specifies the KMS key ID (Key ID, Key ARN, or Key Alias) to use for object encryption. If the KMS key doesn't exist in the same\n account that's issuing the command, you must use the full Key ARN not the Key ID.

\n \n

\n Directory buckets - If you specify SSEAlgorithm with KMS, you must specify the \n SSEAwsKmsKeyId parameter with the ID (Key ID or Key ARN) of the KMS \n symmetric encryption customer managed key to use. Otherwise, you get an HTTP 400 Bad Request error. The key alias format of the KMS key isn't supported. To encrypt new object copies in a directory bucket with SSE-KMS, you must specify SSE-KMS as the directory bucket's default encryption configuration with a KMS key (specifically, a customer managed key). \n The Amazon Web Services managed key (aws/s3) isn't supported. Your SSE-KMS configuration can only support 1 customer managed key per directory bucket for the lifetime of the bucket. \nAfter you specify a customer managed key for SSE-KMS as the bucket default encryption, you can't override the customer managed key for the bucket's SSE-KMS configuration. \nThen, when you specify server-side encryption settings for new object copies with SSE-KMS, you must make sure the encryption key is the same customer managed key that you specified for the directory bucket's default encryption configuration. \n

\n
" } }, "TargetKeyPrefix": { @@ -17553,7 +17559,7 @@ "target": "com.amazonaws.s3control#Boolean", "traits": { "smithy.api#default": false, - "smithy.api#documentation": "

Specifies whether Amazon S3 should use an S3 Bucket Key for object encryption with\n server-side encryption using Amazon Web Services KMS (SSE-KMS). Setting this header to true\n causes Amazon S3 to use an S3 Bucket Key for object encryption with SSE-KMS.

\n

Specifying this header with an object action doesn’t affect\n bucket-level settings for S3 Bucket Key.

\n \n

This functionality is not supported by directory buckets.

\n
" + "smithy.api#documentation": "

Specifies whether Amazon S3 should use an S3 Bucket Key for object encryption with\n server-side encryption using Amazon Web Services KMS (SSE-KMS). Setting this header to true\n causes Amazon S3 to use an S3 Bucket Key for object encryption with SSE-KMS.

\n

Specifying this header with an Copy action doesn’t affect\n bucket-level settings for S3 Bucket Key.

\n \n

\n Directory buckets - S3 Bucket Keys aren't supported, when you copy SSE-KMS encrypted objects from general purpose buckets \nto directory buckets, from directory buckets to general purpose buckets, or between directory buckets, through the Copy operation in Batch Operations. In this case, Amazon S3 makes a call to KMS every time a copy request is made for a KMS-encrypted object.

\n
" } }, "ChecksumAlgorithm": { @@ -17955,7 +17961,7 @@ "SSEAlgorithm": { "target": "com.amazonaws.s3control#S3SSEAlgorithm", "traits": { - "smithy.api#documentation": "

\n \n

For directory buckets, only the server-side encryption with Amazon S3 managed keys (SSE-S3) (AES256) is supported.

\n
" + "smithy.api#documentation": "

The server-side encryption algorithm used when storing objects in Amazon S3.

\n

\n Directory buckets - For directory buckets, there are only two supported options for server-side encryption: server-side encryption with Amazon S3 managed keys (SSE-S3) (AES256) and server-side encryption with KMS keys (SSE-KMS) (KMS). For more\n information, see Protecting data with server-side encryption in the Amazon S3 User Guide. For the Copy operation in Batch Operations, see S3CopyObjectOperation.

" } } }, diff --git a/codegen/sdk/aws-models/s3.json b/codegen/sdk/aws-models/s3.json index 307ac393f31..33682ef9644 100644 --- a/codegen/sdk/aws-models/s3.json +++ b/codegen/sdk/aws-models/s3.json @@ -60,7 +60,7 @@ } ], "traits": { - "smithy.api#documentation": "

This operation aborts a multipart upload. After a multipart upload is aborted, no\n additional parts can be uploaded using that upload ID. The storage consumed by any\n previously uploaded parts will be freed. However, if any part uploads are currently in\n progress, those part uploads might or might not succeed. As a result, it might be necessary\n to abort a given multipart upload multiple times in order to completely free all storage\n consumed by all parts.

\n

To verify that all parts have been removed and prevent getting charged for the part\n storage, you should call the ListParts API operation and ensure\n that the parts list is empty.

\n \n
    \n
  • \n

    \n Directory buckets - If multipart\n uploads in a directory bucket are in progress, you can't delete the bucket until\n all the in-progress multipart uploads are aborted or completed. To delete these\n in-progress multipart uploads, use the ListMultipartUploads operation\n to list the in-progress multipart uploads in the bucket and use the\n AbortMultipartUpload operation to abort all the in-progress\n multipart uploads.

    \n
  • \n
  • \n

    \n Directory buckets -\n For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://bucket_name.s3express-az_id.region.amazonaws.com/key-name\n . Path-style requests are not supported. For more information, see Regional and Zonal endpoints in the\n Amazon S3 User Guide.

    \n
  • \n
\n
\n
\n
Permissions
\n
\n
    \n
  • \n

    \n General purpose bucket permissions - For\n information about permissions required to use the multipart upload, see\n Multipart Upload and\n Permissions in the Amazon S3 User Guide.

    \n
  • \n
  • \n

    \n Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the \n CreateSession\n API operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. \nAmazon Web Services CLI or SDKs create session and refresh the session token automatically to avoid service interruptions when a session expires. For more information about authorization, see \n CreateSession\n .

    \n
  • \n
\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is \n Bucket_name.s3express-az_id.region.amazonaws.com.

\n
\n
\n

The following operations are related to AbortMultipartUpload:

\n ", + "smithy.api#documentation": "

This operation aborts a multipart upload. After a multipart upload is aborted, no\n additional parts can be uploaded using that upload ID. The storage consumed by any\n previously uploaded parts will be freed. However, if any part uploads are currently in\n progress, those part uploads might or might not succeed. As a result, it might be necessary\n to abort a given multipart upload multiple times in order to completely free all storage\n consumed by all parts.

\n

To verify that all parts have been removed and prevent getting charged for the part\n storage, you should call the ListParts API operation and ensure\n that the parts list is empty.

\n \n
    \n
  • \n

    \n Directory buckets - If multipart\n uploads in a directory bucket are in progress, you can't delete the bucket until\n all the in-progress multipart uploads are aborted or completed. To delete these\n in-progress multipart uploads, use the ListMultipartUploads operation\n to list the in-progress multipart uploads in the bucket and use the\n AbortMultipartUpload operation to abort all the in-progress\n multipart uploads.

    \n
  • \n
  • \n

    \n Directory buckets -\n For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://bucket-name.s3express-zone-id.region-code.amazonaws.com/key-name\n . Path-style requests are not supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Available Local Zone for directory buckets in the\n Amazon S3 User Guide.

    \n
  • \n
\n
\n
\n
Permissions
\n
\n
    \n
  • \n

    \n General purpose bucket permissions - For\n information about permissions required to use the multipart upload, see\n Multipart Upload and\n Permissions in the Amazon S3 User Guide.

    \n
  • \n
  • \n

    \n Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the \n CreateSession\n API operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. \nAmazon Web Services CLI or SDKs create session and refresh the session token automatically to avoid service interruptions when a session expires. For more information about authorization, see \n CreateSession\n .

    \n
  • \n
\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is \n Bucket-name.s3express-zone-id.region-code.amazonaws.com.

\n
\n
\n

The following operations are related to AbortMultipartUpload:

\n ", "smithy.api#examples": [ { "title": "To abort a multipart upload", @@ -100,7 +100,7 @@ "Bucket": { "target": "com.amazonaws.s3#BucketName", "traits": { - "smithy.api#documentation": "

The bucket name to which the upload was taking place.

\n

\n Directory buckets -\n When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format \n Bucket_name.s3express-az_id.region.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format \n bucket_base_name--az-id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming\n restrictions, see Directory bucket naming\n rules in the Amazon S3 User Guide.

\n

\n Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

\n \n

Access points and Object Lambda access points are not supported by directory buckets.

\n
\n

\n S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form \n AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

", + "smithy.api#documentation": "

The bucket name to which the upload was taking place.

\n

\n Directory buckets -\n When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format \n Bucket-name.s3express-zone-id.region-code.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Zone (Availability Zone or Local Zone). Bucket names must follow the format \n bucket-base-name--zone-id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming\n restrictions, see Directory bucket naming\n rules in the Amazon S3 User Guide.

\n

\n Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

\n \n

Access points and Object Lambda access points are not supported by directory buckets.

\n
\n

\n S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form \n AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

", "smithy.api#httpLabel": {}, "smithy.api#required": {}, "smithy.rules#contextParam": { @@ -1449,6 +1449,270 @@ ], "type": "tree" }, + { + "conditions": [ + { + "fn": "substring", + "argv": [ + { + "ref": "Bucket" + }, + 6, + 19, + true + ], + "assign": "s3expressAvailabilityZoneId" + }, + { + "fn": "substring", + "argv": [ + { + "ref": "Bucket" + }, + 19, + 21, + true + ], + "assign": "s3expressAvailabilityZoneDelim" + }, + { + "fn": "stringEquals", + "argv": [ + { + "ref": "s3expressAvailabilityZoneDelim" + }, + "--" + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "endpoint": { + "url": "https://{Bucket}.s3express-fips-{s3expressAvailabilityZoneId}.{Region}.amazonaws.com", + "properties": { + "backend": "S3Express", + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3express", + "signingRegion": "{Region}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "https://{Bucket}.s3express-{s3expressAvailabilityZoneId}.{Region}.amazonaws.com", + "properties": { + "backend": "S3Express", + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3express", + "signingRegion": "{Region}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "substring", + "argv": [ + { + "ref": "Bucket" + }, + 6, + 20, + true + ], + "assign": "s3expressAvailabilityZoneId" + }, + { + "fn": "substring", + "argv": [ + { + "ref": "Bucket" + }, + 20, + 22, + true + ], + "assign": "s3expressAvailabilityZoneDelim" + }, + { + "fn": "stringEquals", + "argv": [ + { + "ref": "s3expressAvailabilityZoneDelim" + }, + "--" + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "endpoint": { + "url": "https://{Bucket}.s3express-fips-{s3expressAvailabilityZoneId}.{Region}.amazonaws.com", + "properties": { + "backend": "S3Express", + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3express", + "signingRegion": "{Region}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "https://{Bucket}.s3express-{s3expressAvailabilityZoneId}.{Region}.amazonaws.com", + "properties": { + "backend": "S3Express", + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3express", + "signingRegion": "{Region}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "substring", + "argv": [ + { + "ref": "Bucket" + }, + 6, + 26, + true + ], + "assign": "s3expressAvailabilityZoneId" + }, + { + "fn": "substring", + "argv": [ + { + "ref": "Bucket" + }, + 26, + 28, + true + ], + "assign": "s3expressAvailabilityZoneDelim" + }, + { + "fn": "stringEquals", + "argv": [ + { + "ref": "s3expressAvailabilityZoneDelim" + }, + "--" + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "endpoint": { + "url": "https://{Bucket}.s3express-fips-{s3expressAvailabilityZoneId}.{Region}.amazonaws.com", + "properties": { + "backend": "S3Express", + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3express", + "signingRegion": "{Region}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "https://{Bucket}.s3express-{s3expressAvailabilityZoneId}.{Region}.amazonaws.com", + "properties": { + "backend": "S3Express", + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3express", + "signingRegion": "{Region}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, { "conditions": [], "error": "Unrecognized S3Express bucket name format.", @@ -1633,6 +1897,270 @@ ], "type": "tree" }, + { + "conditions": [ + { + "fn": "substring", + "argv": [ + { + "ref": "Bucket" + }, + 6, + 19, + true + ], + "assign": "s3expressAvailabilityZoneId" + }, + { + "fn": "substring", + "argv": [ + { + "ref": "Bucket" + }, + 19, + 21, + true + ], + "assign": "s3expressAvailabilityZoneDelim" + }, + { + "fn": "stringEquals", + "argv": [ + { + "ref": "s3expressAvailabilityZoneDelim" + }, + "--" + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "endpoint": { + "url": "https://{Bucket}.s3express-fips-{s3expressAvailabilityZoneId}.{Region}.amazonaws.com", + "properties": { + "backend": "S3Express", + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4-s3express", + "signingName": "s3express", + "signingRegion": "{Region}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "https://{Bucket}.s3express-{s3expressAvailabilityZoneId}.{Region}.amazonaws.com", + "properties": { + "backend": "S3Express", + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4-s3express", + "signingName": "s3express", + "signingRegion": "{Region}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "substring", + "argv": [ + { + "ref": "Bucket" + }, + 6, + 20, + true + ], + "assign": "s3expressAvailabilityZoneId" + }, + { + "fn": "substring", + "argv": [ + { + "ref": "Bucket" + }, + 20, + 22, + true + ], + "assign": "s3expressAvailabilityZoneDelim" + }, + { + "fn": "stringEquals", + "argv": [ + { + "ref": "s3expressAvailabilityZoneDelim" + }, + "--" + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "endpoint": { + "url": "https://{Bucket}.s3express-fips-{s3expressAvailabilityZoneId}.{Region}.amazonaws.com", + "properties": { + "backend": "S3Express", + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4-s3express", + "signingName": "s3express", + "signingRegion": "{Region}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "https://{Bucket}.s3express-{s3expressAvailabilityZoneId}.{Region}.amazonaws.com", + "properties": { + "backend": "S3Express", + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4-s3express", + "signingName": "s3express", + "signingRegion": "{Region}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "substring", + "argv": [ + { + "ref": "Bucket" + }, + 6, + 26, + true + ], + "assign": "s3expressAvailabilityZoneId" + }, + { + "fn": "substring", + "argv": [ + { + "ref": "Bucket" + }, + 26, + 28, + true + ], + "assign": "s3expressAvailabilityZoneDelim" + }, + { + "fn": "stringEquals", + "argv": [ + { + "ref": "s3expressAvailabilityZoneDelim" + }, + "--" + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "endpoint": { + "url": "https://{Bucket}.s3express-fips-{s3expressAvailabilityZoneId}.{Region}.amazonaws.com", + "properties": { + "backend": "S3Express", + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4-s3express", + "signingName": "s3express", + "signingRegion": "{Region}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "https://{Bucket}.s3express-{s3expressAvailabilityZoneId}.{Region}.amazonaws.com", + "properties": { + "backend": "S3Express", + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4-s3express", + "signingName": "s3express", + "signingRegion": "{Region}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, { "conditions": [], "error": "Unrecognized S3Express bucket name format.", @@ -16726,7 +17254,7 @@ } }, { - "documentation": "Data Plane with short AZ", + "documentation": "Data Plane with short zone name", "expect": { "endpoint": { "properties": { @@ -16740,7 +17268,7 @@ ], "backend": "S3Express" }, - "url": "https://mybucket--use1-az1--x-s3.s3express-use1-az1.us-east-1.amazonaws.com" + "url": "https://mybucket--abcd-ab1--x-s3.s3express-abcd-ab1.us-east-1.amazonaws.com" } }, "operationInputs": [ @@ -16750,14 +17278,131 @@ }, "operationName": "GetObject", "operationParams": { - "Bucket": "mybucket--use1-az1--x-s3", + "Bucket": "mybucket--abcd-ab1--x-s3", "Key": "key" } } ], "params": { "Region": "us-east-1", - "Bucket": "mybucket--use1-az1--x-s3", + "Bucket": "mybucket--abcd-ab1--x-s3", + "UseFIPS": false, + "UseDualStack": false, + "Accelerate": false, + "UseS3ExpressControlEndpoint": false + } + }, + { + "documentation": "Data Plane with short zone names (13 chars)", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4-s3express", + "signingName": "s3express", + "signingRegion": "us-west-2", + "disableDoubleEncoding": true + } + ], + "backend": "S3Express" + }, + "url": "https://mybucket--test-zone-ab1--x-s3.s3express-test-zone-ab1.us-west-2.amazonaws.com" + } + }, + "operationInputs": [ + { + "builtInParams": { + "AWS::Region": "us-west-2" + }, + "operationName": "GetObject", + "operationParams": { + "Bucket": "mybucket--test-zone-ab1--x-s3", + "Key": "key" + } + } + ], + "params": { + "Region": "us-west-2", + "Bucket": "mybucket--test-zone-ab1--x-s3", + "UseFIPS": false, + "UseDualStack": false, + "Accelerate": false, + "UseS3ExpressControlEndpoint": false + } + }, + { + "documentation": "Data Plane with medium zone names (14 chars)", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4-s3express", + "signingName": "s3express", + "signingRegion": "us-west-2", + "disableDoubleEncoding": true + } + ], + "backend": "S3Express" + }, + "url": "https://mybucket--test1-zone-ab1--x-s3.s3express-test1-zone-ab1.us-west-2.amazonaws.com" + } + }, + "operationInputs": [ + { + "builtInParams": { + "AWS::Region": "us-west-2" + }, + "operationName": "GetObject", + "operationParams": { + "Bucket": "mybucket--test1-zone-ab1--x-s3", + "Key": "key" + } + } + ], + "params": { + "Region": "us-west-2", + "Bucket": "mybucket--test1-zone-ab1--x-s3", + "UseFIPS": false, + "UseDualStack": false, + "Accelerate": false, + "UseS3ExpressControlEndpoint": false + } + }, + { + "documentation": "Data Plane with long zone names (20 chars)", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4-s3express", + "signingName": "s3express", + "signingRegion": "us-west-2", + "disableDoubleEncoding": true + } + ], + "backend": "S3Express" + }, + "url": "https://mybucket--test1-long1-zone-ab1--x-s3.s3express-test1-long1-zone-ab1.us-west-2.amazonaws.com" + } + }, + "operationInputs": [ + { + "builtInParams": { + "AWS::Region": "us-west-2" + }, + "operationName": "GetObject", + "operationParams": { + "Bucket": "mybucket--test1-long1-zone-ab1--x-s3", + "Key": "key" + } + } + ], + "params": { + "Region": "us-west-2", + "Bucket": "mybucket--test1-long1-zone-ab1--x-s3", "UseFIPS": false, "UseDualStack": false, "Accelerate": false, @@ -16765,7 +17410,7 @@ } }, { - "documentation": "Data Plane with short AZ fips", + "documentation": "Data Plane with short zone fips", "expect": { "endpoint": { "properties": { @@ -16779,7 +17424,7 @@ ], "backend": "S3Express" }, - "url": "https://mybucket--use1-az1--x-s3.s3express-fips-use1-az1.us-east-1.amazonaws.com" + "url": "https://mybucket--test-ab1--x-s3.s3express-fips-test-ab1.us-east-1.amazonaws.com" } }, "operationInputs": [ @@ -16790,14 +17435,134 @@ }, "operationName": "GetObject", "operationParams": { - "Bucket": "mybucket--use1-az1--x-s3", + "Bucket": "mybucket--test-ab1--x-s3", "Key": "key" } } ], "params": { "Region": "us-east-1", - "Bucket": "mybucket--use1-az1--x-s3", + "Bucket": "mybucket--test-ab1--x-s3", + "UseFIPS": true, + "UseDualStack": false, + "Accelerate": false, + "UseS3ExpressControlEndpoint": false + } + }, + { + "documentation": "Data Plane with short zone (13 chars) fips", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4-s3express", + "signingName": "s3express", + "signingRegion": "us-west-2", + "disableDoubleEncoding": true + } + ], + "backend": "S3Express" + }, + "url": "https://mybucket--test-zone-ab1--x-s3.s3express-fips-test-zone-ab1.us-west-2.amazonaws.com" + } + }, + "operationInputs": [ + { + "builtInParams": { + "AWS::Region": "us-west-2", + "AWS::UseFIPS": true + }, + "operationName": "GetObject", + "operationParams": { + "Bucket": "mybucket--test-zone-ab1--x-s3", + "Key": "key" + } + } + ], + "params": { + "Region": "us-west-2", + "Bucket": "mybucket--test-zone-ab1--x-s3", + "UseFIPS": true, + "UseDualStack": false, + "Accelerate": false, + "UseS3ExpressControlEndpoint": false + } + }, + { + "documentation": "Data Plane with medium zone (14 chars) fips", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4-s3express", + "signingName": "s3express", + "signingRegion": "us-west-2", + "disableDoubleEncoding": true + } + ], + "backend": "S3Express" + }, + "url": "https://mybucket--test1-zone-ab1--x-s3.s3express-fips-test1-zone-ab1.us-west-2.amazonaws.com" + } + }, + "operationInputs": [ + { + "builtInParams": { + "AWS::Region": "us-west-2", + "AWS::UseFIPS": true + }, + "operationName": "GetObject", + "operationParams": { + "Bucket": "mybucket--test1-zone-ab1--x-s3", + "Key": "key" + } + } + ], + "params": { + "Region": "us-west-2", + "Bucket": "mybucket--test1-zone-ab1--x-s3", + "UseFIPS": true, + "UseDualStack": false, + "Accelerate": false, + "UseS3ExpressControlEndpoint": false + } + }, + { + "documentation": "Data Plane with long zone (20 chars) fips", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4-s3express", + "signingName": "s3express", + "signingRegion": "us-west-2", + "disableDoubleEncoding": true + } + ], + "backend": "S3Express" + }, + "url": "https://mybucket--test1-long1-zone-ab1--x-s3.s3express-fips-test1-long1-zone-ab1.us-west-2.amazonaws.com" + } + }, + "operationInputs": [ + { + "builtInParams": { + "AWS::Region": "us-west-2", + "AWS::UseFIPS": true + }, + "operationName": "GetObject", + "operationParams": { + "Bucket": "mybucket--test1-long1-zone-ab1--x-s3", + "Key": "key" + } + } + ], + "params": { + "Region": "us-west-2", + "Bucket": "mybucket--test1-long1-zone-ab1--x-s3", "UseFIPS": true, "UseDualStack": false, "Accelerate": false, @@ -16813,30 +17578,30 @@ { "name": "sigv4-s3express", "signingName": "s3express", - "signingRegion": "ap-northeast-1", + "signingRegion": "us-west-2", "disableDoubleEncoding": true } ], "backend": "S3Express" }, - "url": "https://mybucket--apne1-az1--x-s3.s3express-apne1-az1.ap-northeast-1.amazonaws.com" + "url": "https://mybucket--test1-az1--x-s3.s3express-test1-az1.us-west-2.amazonaws.com" } }, "operationInputs": [ { "builtInParams": { - "AWS::Region": "ap-northeast-1" + "AWS::Region": "us-west-2" }, "operationName": "GetObject", "operationParams": { - "Bucket": "mybucket--apne1-az1--x-s3", + "Bucket": "mybucket--test1-az1--x-s3", "Key": "key" } } ], "params": { - "Region": "ap-northeast-1", - "Bucket": "mybucket--apne1-az1--x-s3", + "Region": "us-west-2", + "Bucket": "mybucket--test1-az1--x-s3", "UseFIPS": false, "UseDualStack": false, "Accelerate": false, @@ -16852,31 +17617,31 @@ { "name": "sigv4-s3express", "signingName": "s3express", - "signingRegion": "ap-northeast-1", + "signingRegion": "us-west-2", "disableDoubleEncoding": true } ], "backend": "S3Express" }, - "url": "https://mybucket--apne1-az1--x-s3.s3express-fips-apne1-az1.ap-northeast-1.amazonaws.com" + "url": "https://mybucket--test1-az1--x-s3.s3express-fips-test1-az1.us-west-2.amazonaws.com" } }, "operationInputs": [ { "builtInParams": { - "AWS::Region": "ap-northeast-1", + "AWS::Region": "us-west-2", "AWS::UseFIPS": true }, "operationName": "GetObject", "operationParams": { - "Bucket": "mybucket--apne1-az1--x-s3", + "Bucket": "mybucket--test1-az1--x-s3", "Key": "key" } } ], "params": { - "Region": "ap-northeast-1", - "Bucket": "mybucket--apne1-az1--x-s3", + "Region": "us-west-2", + "Bucket": "mybucket--test1-az1--x-s3", "UseFIPS": true, "UseDualStack": false, "Accelerate": false, @@ -16898,7 +17663,7 @@ ], "backend": "S3Express" }, - "url": "https://s3express-control.us-east-1.amazonaws.com/mybucket--use1-az1--x-s3" + "url": "https://s3express-control.us-east-1.amazonaws.com/mybucket--test-ab1--x-s3" } }, "operationInputs": [ @@ -16908,13 +17673,13 @@ }, "operationName": "CreateBucket", "operationParams": { - "Bucket": "mybucket--use1-az1--x-s3" + "Bucket": "mybucket--test-ab1--x-s3" } } ], "params": { "Region": "us-east-1", - "Bucket": "mybucket--use1-az1--x-s3", + "Bucket": "mybucket--test-ab1--x-s3", "UseFIPS": false, "UseDualStack": false, "Accelerate": false, @@ -16937,7 +17702,7 @@ ], "backend": "S3Express" }, - "url": "https://s3express-control-fips.us-east-1.amazonaws.com/mybucket--use1-az1--x-s3" + "url": "https://s3express-control-fips.us-east-1.amazonaws.com/mybucket--test-ab1--x-s3" } }, "operationInputs": [ @@ -16948,13 +17713,13 @@ }, "operationName": "CreateBucket", "operationParams": { - "Bucket": "mybucket--use1-az1--x-s3" + "Bucket": "mybucket--test-ab1--x-s3" } } ], "params": { "Region": "us-east-1", - "Bucket": "mybucket--use1-az1--x-s3", + "Bucket": "mybucket--test-ab1--x-s3", "UseFIPS": true, "UseDualStack": false, "Accelerate": false, @@ -17060,6 +17825,33 @@ "DisableS3ExpressSessionAuth": true } }, + { + "documentation": "Data Plane sigv4 auth with short zone (13 chars)", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "s3express", + "signingRegion": "us-west-2", + "disableDoubleEncoding": true + } + ], + "backend": "S3Express" + }, + "url": "https://mybucket--test-zone-ab1--x-s3.s3express-test-zone-ab1.us-west-2.amazonaws.com" + } + }, + "params": { + "Region": "us-west-2", + "Bucket": "mybucket--test-zone-ab1--x-s3", + "UseFIPS": false, + "UseDualStack": false, + "Accelerate": false, + "DisableS3ExpressSessionAuth": true + } + }, { "documentation": "Data Plane sigv4 auth with short AZ fips", "expect": { @@ -17087,6 +17879,33 @@ "DisableS3ExpressSessionAuth": true } }, + { + "documentation": "Data Plane sigv4 auth with short zone (13 chars) fips", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "s3express", + "signingRegion": "us-west-2", + "disableDoubleEncoding": true + } + ], + "backend": "S3Express" + }, + "url": "https://mybucket--test-zone-ab1--x-s3.s3express-fips-test-zone-ab1.us-west-2.amazonaws.com" + } + }, + "params": { + "Region": "us-west-2", + "Bucket": "mybucket--test-zone-ab1--x-s3", + "UseFIPS": true, + "UseDualStack": false, + "Accelerate": false, + "DisableS3ExpressSessionAuth": true + } + }, { "documentation": "Data Plane sigv4 auth with long AZ", "expect": { @@ -17096,18 +17915,74 @@ { "name": "sigv4", "signingName": "s3express", - "signingRegion": "ap-northeast-1", + "signingRegion": "us-west-2", "disableDoubleEncoding": true } ], "backend": "S3Express" }, - "url": "https://mybucket--apne1-az1--x-s3.s3express-apne1-az1.ap-northeast-1.amazonaws.com" + "url": "https://mybucket--test1-az1--x-s3.s3express-test1-az1.us-west-2.amazonaws.com" } }, "params": { - "Region": "ap-northeast-1", - "Bucket": "mybucket--apne1-az1--x-s3", + "Region": "us-west-2", + "Bucket": "mybucket--test1-az1--x-s3", + "UseFIPS": false, + "UseDualStack": false, + "Accelerate": false, + "UseS3ExpressControlEndpoint": false, + "DisableS3ExpressSessionAuth": true + } + }, + { + "documentation": "Data Plane sigv4 auth with medium zone(14 chars)", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "s3express", + "signingRegion": "us-west-2", + "disableDoubleEncoding": true + } + ], + "backend": "S3Express" + }, + "url": "https://mybucket--test1-zone-ab1--x-s3.s3express-test1-zone-ab1.us-west-2.amazonaws.com" + } + }, + "params": { + "Region": "us-west-2", + "Bucket": "mybucket--test1-zone-ab1--x-s3", + "UseFIPS": false, + "UseDualStack": false, + "Accelerate": false, + "UseS3ExpressControlEndpoint": false, + "DisableS3ExpressSessionAuth": true + } + }, + { + "documentation": "Data Plane sigv4 auth with long zone(20 chars)", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "s3express", + "signingRegion": "us-west-2", + "disableDoubleEncoding": true + } + ], + "backend": "S3Express" + }, + "url": "https://mybucket--test1-long1-zone-ab1--x-s3.s3express-test1-long1-zone-ab1.us-west-2.amazonaws.com" + } + }, + "params": { + "Region": "us-west-2", + "Bucket": "mybucket--test1-long1-zone-ab1--x-s3", "UseFIPS": false, "UseDualStack": false, "Accelerate": false, @@ -17124,18 +17999,74 @@ { "name": "sigv4", "signingName": "s3express", - "signingRegion": "ap-northeast-1", + "signingRegion": "us-west-2", + "disableDoubleEncoding": true + } + ], + "backend": "S3Express" + }, + "url": "https://mybucket--test1-az1--x-s3.s3express-fips-test1-az1.us-west-2.amazonaws.com" + } + }, + "params": { + "Region": "us-west-2", + "Bucket": "mybucket--test1-az1--x-s3", + "UseFIPS": true, + "UseDualStack": false, + "Accelerate": false, + "UseS3ExpressControlEndpoint": false, + "DisableS3ExpressSessionAuth": true + } + }, + { + "documentation": "Data Plane sigv4 auth with medium zone (14 chars) fips", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "s3express", + "signingRegion": "us-west-2", + "disableDoubleEncoding": true + } + ], + "backend": "S3Express" + }, + "url": "https://mybucket--test1-zone-ab1--x-s3.s3express-fips-test1-zone-ab1.us-west-2.amazonaws.com" + } + }, + "params": { + "Region": "us-west-2", + "Bucket": "mybucket--test1-zone-ab1--x-s3", + "UseFIPS": true, + "UseDualStack": false, + "Accelerate": false, + "UseS3ExpressControlEndpoint": false, + "DisableS3ExpressSessionAuth": true + } + }, + { + "documentation": "Data Plane sigv4 auth with long zone (20 chars) fips", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "s3express", + "signingRegion": "us-west-2", "disableDoubleEncoding": true } ], "backend": "S3Express" }, - "url": "https://mybucket--apne1-az1--x-s3.s3express-fips-apne1-az1.ap-northeast-1.amazonaws.com" + "url": "https://mybucket--test1-long1-zone-ab1--x-s3.s3express-fips-test1-long1-zone-ab1.us-west-2.amazonaws.com" } }, "params": { - "Region": "ap-northeast-1", - "Bucket": "mybucket--apne1-az1--x-s3", + "Region": "us-west-2", + "Bucket": "mybucket--test1-long1-zone-ab1--x-s3", "UseFIPS": true, "UseDualStack": false, "Accelerate": false, @@ -17375,14 +18306,14 @@ }, "operationName": "GetObject", "operationParams": { - "Bucket": "mybucket--use1-az1--x-s3", + "Bucket": "mybucket--test-ab1--x-s3", "Key": "key" } } ], "params": { "Region": "us-east-1", - "Bucket": "mybucket--use1-az1--x-s3", + "Bucket": "mybucket--test-ab1--x-s3", "UseFIPS": false, "UseDualStack": true, "Accelerate": false, @@ -17402,14 +18333,14 @@ }, "operationName": "GetObject", "operationParams": { - "Bucket": "mybucket--use1-az1--x-s3", + "Bucket": "mybucket--test-ab1--x-s3", "Key": "key" } } ], "params": { "Region": "us-east-1", - "Bucket": "mybucket--use1-az1--x-s3", + "Bucket": "mybucket--test-ab1--x-s3", "UseFIPS": false, "UseDualStack": false, "Accelerate": true, @@ -17428,14 +18359,14 @@ }, "operationName": "GetObject", "operationParams": { - "Bucket": "my.bucket--use1-az1--x-s3", + "Bucket": "my.bucket--test-ab1--x-s3", "Key": "key" } } ], "params": { "Region": "us-east-1", - "Bucket": "my.bucket--use1-az1--x-s3", + "Bucket": "my.bucket--test-ab1--x-s3", "UseFIPS": false, "UseDualStack": false, "Accelerate": false, @@ -17750,7 +18681,7 @@ "DataRedundancy": { "target": "com.amazonaws.s3#DataRedundancy", "traits": { - "smithy.api#documentation": "

The number of Availability Zone that's used for redundancy for the bucket.

" + "smithy.api#documentation": "

The number of Zone (Availability Zone or Local Zone) that's used for redundancy for the bucket.

" } }, "Type": { @@ -18342,7 +19273,7 @@ "target": "com.amazonaws.s3#CompleteMultipartUploadOutput" }, "traits": { - "smithy.api#documentation": "

Completes a multipart upload by assembling previously uploaded parts.

\n

You first initiate the multipart upload and then upload all parts using the UploadPart\n operation or the UploadPartCopy operation.\n After successfully uploading all relevant parts of an upload, you call this\n CompleteMultipartUpload operation to complete the upload. Upon receiving\n this request, Amazon S3 concatenates all the parts in ascending order by part number to create a\n new object. In the CompleteMultipartUpload request, you must provide the parts list and\n ensure that the parts list is complete. The CompleteMultipartUpload API operation\n concatenates the parts that you provide in the list. For each part in the list, you must\n provide the PartNumber value and the ETag value that are returned\n after that part was uploaded.

\n

The processing of a CompleteMultipartUpload request could take several minutes to\n finalize. After Amazon S3 begins processing the request, it sends an HTTP response header that\n specifies a 200 OK response. While processing is in progress, Amazon S3\n periodically sends white space characters to keep the connection from timing out. A request\n could fail after the initial 200 OK response has been sent. This means that a\n 200 OK response can contain either a success or an error. The error\n response might be embedded in the 200 OK response. If you call this API\n operation directly, make sure to design your application to parse the contents of the\n response and handle it appropriately. If you use Amazon Web Services SDKs, SDKs handle this condition.\n The SDKs detect the embedded error and apply error handling per your configuration settings\n (including automatically retrying the request as appropriate). If the condition persists,\n the SDKs throw an exception (or, for the SDKs that don't use exceptions, they return an\n error).

\n

Note that if CompleteMultipartUpload fails, applications should be prepared\n to retry any failed requests (including 500 error responses). For more information, see\n Amazon S3 Error\n Best Practices.

\n \n

You can't use Content-Type: application/x-www-form-urlencoded for the\n CompleteMultipartUpload requests. Also, if you don't provide a Content-Type\n header, CompleteMultipartUpload can still return a 200 OK\n response.

\n
\n

For more information about multipart uploads, see Uploading Objects Using Multipart\n Upload in the Amazon S3 User Guide.

\n \n

\n Directory buckets -\n For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://bucket_name.s3express-az_id.region.amazonaws.com/key-name\n . Path-style requests are not supported. For more information, see Regional and Zonal endpoints in the\n Amazon S3 User Guide.

\n
\n
\n
Permissions
\n
\n
    \n
  • \n

    \n General purpose bucket permissions - For\n information about permissions required to use the multipart upload API, see\n Multipart Upload and\n Permissions in the Amazon S3 User Guide.

    \n

    If you provide an additional checksum\n value in your MultipartUpload requests and the\n object is encrypted with Key Management Service, you must have permission to use the\n kms:Decrypt action for the\n CompleteMultipartUpload request to succeed.

    \n
  • \n
  • \n

    \n Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the \n CreateSession\n API operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. \nAmazon Web Services CLI or SDKs create session and refresh the session token automatically to avoid service interruptions when a session expires. For more information about authorization, see \n CreateSession\n .

    \n

    If the object is encrypted with SSE-KMS, you must also have the\n kms:GenerateDataKey and kms:Decrypt permissions\n in IAM identity-based policies and KMS key policies for the KMS\n key.

    \n
  • \n
\n
\n
Special errors
\n
\n
    \n
  • \n

    Error Code: EntityTooSmall\n

    \n
      \n
    • \n

      Description: Your proposed upload is smaller than the minimum\n allowed object size. Each part must be at least 5 MB in size, except\n the last part.

      \n
    • \n
    • \n

      HTTP Status Code: 400 Bad Request

      \n
    • \n
    \n
  • \n
  • \n

    Error Code: InvalidPart\n

    \n
      \n
    • \n

      Description: One or more of the specified parts could not be found.\n The part might not have been uploaded, or the specified ETag might not\n have matched the uploaded part's ETag.

      \n
    • \n
    • \n

      HTTP Status Code: 400 Bad Request

      \n
    • \n
    \n
  • \n
  • \n

    Error Code: InvalidPartOrder\n

    \n
      \n
    • \n

      Description: The list of parts was not in ascending order. The\n parts list must be specified in order by part number.

      \n
    • \n
    • \n

      HTTP Status Code: 400 Bad Request

      \n
    • \n
    \n
  • \n
  • \n

    Error Code: NoSuchUpload\n

    \n
      \n
    • \n

      Description: The specified multipart upload does not exist. The\n upload ID might be invalid, or the multipart upload might have been\n aborted or completed.

      \n
    • \n
    • \n

      HTTP Status Code: 404 Not Found

      \n
    • \n
    \n
  • \n
\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is \n Bucket_name.s3express-az_id.region.amazonaws.com.

\n
\n
\n

The following operations are related to CompleteMultipartUpload:

\n ", + "smithy.api#documentation": "

Completes a multipart upload by assembling previously uploaded parts.

\n

You first initiate the multipart upload and then upload all parts using the UploadPart\n operation or the UploadPartCopy operation.\n After successfully uploading all relevant parts of an upload, you call this\n CompleteMultipartUpload operation to complete the upload. Upon receiving\n this request, Amazon S3 concatenates all the parts in ascending order by part number to create a\n new object. In the CompleteMultipartUpload request, you must provide the parts list and\n ensure that the parts list is complete. The CompleteMultipartUpload API operation\n concatenates the parts that you provide in the list. For each part in the list, you must\n provide the PartNumber value and the ETag value that are returned\n after that part was uploaded.

\n

The processing of a CompleteMultipartUpload request could take several minutes to\n finalize. After Amazon S3 begins processing the request, it sends an HTTP response header that\n specifies a 200 OK response. While processing is in progress, Amazon S3\n periodically sends white space characters to keep the connection from timing out. A request\n could fail after the initial 200 OK response has been sent. This means that a\n 200 OK response can contain either a success or an error. The error\n response might be embedded in the 200 OK response. If you call this API\n operation directly, make sure to design your application to parse the contents of the\n response and handle it appropriately. If you use Amazon Web Services SDKs, SDKs handle this condition.\n The SDKs detect the embedded error and apply error handling per your configuration settings\n (including automatically retrying the request as appropriate). If the condition persists,\n the SDKs throw an exception (or, for the SDKs that don't use exceptions, they return an\n error).

\n

Note that if CompleteMultipartUpload fails, applications should be prepared\n to retry any failed requests (including 500 error responses). For more information, see\n Amazon S3 Error\n Best Practices.

\n \n

You can't use Content-Type: application/x-www-form-urlencoded for the\n CompleteMultipartUpload requests. Also, if you don't provide a Content-Type\n header, CompleteMultipartUpload can still return a 200 OK\n response.

\n
\n

For more information about multipart uploads, see Uploading Objects Using Multipart\n Upload in the Amazon S3 User Guide.

\n \n

\n Directory buckets -\n For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://bucket-name.s3express-zone-id.region-code.amazonaws.com/key-name\n . Path-style requests are not supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Available Local Zone for directory buckets in the\n Amazon S3 User Guide.

\n
\n
\n
Permissions
\n
\n
    \n
  • \n

    \n General purpose bucket permissions - For\n information about permissions required to use the multipart upload API, see\n Multipart Upload and\n Permissions in the Amazon S3 User Guide.

    \n

    If you provide an additional checksum\n value in your MultipartUpload requests and the\n object is encrypted with Key Management Service, you must have permission to use the\n kms:Decrypt action for the\n CompleteMultipartUpload request to succeed.

    \n
  • \n
  • \n

    \n Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the \n CreateSession\n API operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. \nAmazon Web Services CLI or SDKs create session and refresh the session token automatically to avoid service interruptions when a session expires. For more information about authorization, see \n CreateSession\n .

    \n

    If the object is encrypted with SSE-KMS, you must also have the\n kms:GenerateDataKey and kms:Decrypt permissions\n in IAM identity-based policies and KMS key policies for the KMS\n key.

    \n
  • \n
\n
\n
Special errors
\n
\n
    \n
  • \n

    Error Code: EntityTooSmall\n

    \n
      \n
    • \n

      Description: Your proposed upload is smaller than the minimum\n allowed object size. Each part must be at least 5 MB in size, except\n the last part.

      \n
    • \n
    • \n

      HTTP Status Code: 400 Bad Request

      \n
    • \n
    \n
  • \n
  • \n

    Error Code: InvalidPart\n

    \n
      \n
    • \n

      Description: One or more of the specified parts could not be found.\n The part might not have been uploaded, or the specified ETag might not\n have matched the uploaded part's ETag.

      \n
    • \n
    • \n

      HTTP Status Code: 400 Bad Request

      \n
    • \n
    \n
  • \n
  • \n

    Error Code: InvalidPartOrder\n

    \n
      \n
    • \n

      Description: The list of parts was not in ascending order. The\n parts list must be specified in order by part number.

      \n
    • \n
    • \n

      HTTP Status Code: 400 Bad Request

      \n
    • \n
    \n
  • \n
  • \n

    Error Code: NoSuchUpload\n

    \n
      \n
    • \n

      Description: The specified multipart upload does not exist. The\n upload ID might be invalid, or the multipart upload might have been\n aborted or completed.

      \n
    • \n
    • \n

      HTTP Status Code: 404 Not Found

      \n
    • \n
    \n
  • \n
\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is \n Bucket-name.s3express-zone-id.region-code.amazonaws.com.

\n
\n
\n

The following operations are related to CompleteMultipartUpload:

\n ", "smithy.api#examples": [ { "title": "To complete multipart upload", @@ -18483,7 +19414,7 @@ "Bucket": { "target": "com.amazonaws.s3#BucketName", "traits": { - "smithy.api#documentation": "

Name of the bucket to which the multipart upload was initiated.

\n

\n Directory buckets -\n When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format \n Bucket_name.s3express-az_id.region.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format \n bucket_base_name--az-id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming\n restrictions, see Directory bucket naming\n rules in the Amazon S3 User Guide.

\n

\n Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

\n \n

Access points and Object Lambda access points are not supported by directory buckets.

\n
\n

\n S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form \n AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

", + "smithy.api#documentation": "

Name of the bucket to which the multipart upload was initiated.

\n

\n Directory buckets -\n When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format \n Bucket-name.s3express-zone-id.region-code.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Zone (Availability Zone or Local Zone). Bucket names must follow the format \n bucket-base-name--zone-id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming\n restrictions, see Directory bucket naming\n rules in the Amazon S3 User Guide.

\n

\n Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

\n \n

Access points and Object Lambda access points are not supported by directory buckets.

\n
\n

\n S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form \n AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

", "smithy.api#httpLabel": {}, "smithy.api#required": {}, "smithy.rules#contextParam": { @@ -18753,7 +19684,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates a copy of an object that is already stored in Amazon S3.

\n \n

You can store individual objects of up to 5 TB in Amazon S3. You create a copy of your\n object up to 5 GB in size in a single atomic action using this API. However, to copy an\n object greater than 5 GB, you must use the multipart upload Upload Part - Copy\n (UploadPartCopy) API. For more information, see Copy Object Using the\n REST Multipart Upload API.

\n
\n

You can copy individual objects between general purpose buckets, between directory buckets,\n and between general purpose buckets and directory buckets.

\n \n
    \n
  • \n

    Amazon S3 supports copy operations using Multi-Region Access Points only as a\n destination when using the Multi-Region Access Point ARN.

    \n
  • \n
  • \n

    \n Directory buckets -\n For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://bucket_name.s3express-az_id.region.amazonaws.com/key-name\n . Path-style requests are not supported. For more information, see Regional and Zonal endpoints in the\n Amazon S3 User Guide.

    \n
  • \n
  • \n

    VPC endpoints don't support cross-Region requests (including copies). If you're\n using VPC endpoints, your source and destination buckets should be in the same\n Amazon Web Services Region as your VPC endpoint.

    \n
  • \n
\n
\n

Both the Region that you want to copy the object from and the Region that you want to\n copy the object to must be enabled for your account. For more information about how to\n enable a Region for your account, see Enable or disable a Region for standalone accounts in the Amazon Web Services\n Account Management Guide.

\n \n

Amazon S3 transfer acceleration does not support cross-Region copies. If you request a\n cross-Region copy using a transfer acceleration endpoint, you get a 400 Bad\n Request error. For more information, see Transfer\n Acceleration.

\n
\n
\n
Authentication and authorization
\n
\n

All CopyObject requests must be authenticated and signed by using\n IAM credentials (access key ID and secret access key for the IAM identities).\n All headers with the x-amz- prefix, including\n x-amz-copy-source, must be signed. For more information, see\n REST Authentication.

\n

\n Directory buckets - You must use the\n IAM credentials to authenticate and authorize your access to the\n CopyObject API operation, instead of using the temporary security\n credentials through the CreateSession API operation.

\n

Amazon Web Services CLI or SDKs handles authentication and authorization on your\n behalf.

\n
\n
Permissions
\n
\n

You must have read access to the source object and\n write access to the destination bucket.

\n
    \n
  • \n

    \n General purpose bucket permissions - You\n must have permissions in an IAM policy based on the source and destination\n bucket types in a CopyObject operation.

    \n
      \n
    • \n

      If the source object is in a general purpose bucket, you must have\n \n s3:GetObject\n \n permission to read the source object that is being copied.

      \n
    • \n
    • \n

      If the destination bucket is a general purpose bucket, you must have\n \n s3:PutObject\n \n permission to write the object copy to the destination bucket.

      \n
    • \n
    \n
  • \n
  • \n

    \n Directory bucket permissions -\n You must have permissions in a bucket policy or an IAM identity-based policy based on the\n source and destination bucket types in a CopyObject\n operation.

    \n
      \n
    • \n

      If the source object that you want to copy is in a\n directory bucket, you must have the \n s3express:CreateSession\n permission in\n the Action element of a policy to read the object. By\n default, the session is in the ReadWrite mode. If you\n want to restrict the access, you can explicitly set the\n s3express:SessionMode condition key to\n ReadOnly on the copy source bucket.

      \n
    • \n
    • \n

      If the copy destination is a directory bucket, you must have the\n \n s3express:CreateSession\n permission in the\n Action element of a policy to write the object to the\n destination. The s3express:SessionMode condition key\n can't be set to ReadOnly on the copy destination bucket.\n

      \n
    • \n
    \n

    If the object is encrypted with SSE-KMS, you must also have the\n kms:GenerateDataKey and kms:Decrypt permissions\n in IAM identity-based policies and KMS key policies for the KMS\n key.

    \n

    For example policies, see Example bucket policies for S3 Express One Zone and Amazon Web Services Identity and Access Management (IAM) identity-based policies for\n S3 Express One Zone in the Amazon S3 User Guide.

    \n
  • \n
\n
\n
Response and special errors
\n
\n

When the request is an HTTP 1.1 request, the response is chunk encoded. When\n the request is not an HTTP 1.1 request, the response would not contain the\n Content-Length. You always need to read the entire response body\n to check if the copy succeeds.

\n
    \n
  • \n

    If the copy is successful, you receive a response with information about\n the copied object.

    \n
  • \n
  • \n

    A copy request might return an error when Amazon S3 receives the copy request\n or while Amazon S3 is copying the files. A 200 OK response can\n contain either a success or an error.

    \n
      \n
    • \n

      If the error occurs before the copy action starts, you receive a\n standard Amazon S3 error.

      \n
    • \n
    • \n

      If the error occurs during the copy operation, the error response\n is embedded in the 200 OK response. For example, in a\n cross-region copy, you may encounter throttling and receive a\n 200 OK response. For more information, see Resolve the Error 200 response when copying objects to\n Amazon S3. The 200 OK status code means the copy\n was accepted, but it doesn't mean the copy is complete. Another\n example is when you disconnect from Amazon S3 before the copy is complete,\n Amazon S3 might cancel the copy and you may receive a 200 OK\n response. You must stay connected to Amazon S3 until the entire response is\n successfully received and processed.

      \n

      If you call this API operation directly, make sure to design your\n application to parse the content of the response and handle it\n appropriately. If you use Amazon Web Services SDKs, SDKs handle this condition. The\n SDKs detect the embedded error and apply error handling per your\n configuration settings (including automatically retrying the request\n as appropriate). If the condition persists, the SDKs throw an\n exception (or, for the SDKs that don't use exceptions, they return an\n error).

      \n
    • \n
    \n
  • \n
\n
\n
Charge
\n
\n

The copy request charge is based on the storage class and Region that you\n specify for the destination object. The request can also result in a data\n retrieval charge for the source if the source storage class bills for data\n retrieval. If the copy source is in a different region, the data transfer is\n billed to the copy source account. For pricing information, see Amazon S3 pricing.

\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is \n Bucket_name.s3express-az_id.region.amazonaws.com.

\n
\n
\n

The following operations are related to CopyObject:

\n ", + "smithy.api#documentation": "

Creates a copy of an object that is already stored in Amazon S3.

\n \n

You can store individual objects of up to 5 TB in Amazon S3. You create a copy of your\n object up to 5 GB in size in a single atomic action using this API. However, to copy an\n object greater than 5 GB, you must use the multipart upload Upload Part - Copy\n (UploadPartCopy) API. For more information, see Copy Object Using the\n REST Multipart Upload API.

\n
\n

You can copy individual objects between general purpose buckets, between directory buckets,\n and between general purpose buckets and directory buckets.

\n \n
    \n
  • \n

    Amazon S3 supports copy operations using Multi-Region Access Points only as a\n destination when using the Multi-Region Access Point ARN.

    \n
  • \n
  • \n

    \n Directory buckets -\n For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://bucket-name.s3express-zone-id.region-code.amazonaws.com/key-name\n . Path-style requests are not supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Available Local Zone for directory buckets in the\n Amazon S3 User Guide.

    \n
  • \n
  • \n

    VPC endpoints don't support cross-Region requests (including copies). If you're\n using VPC endpoints, your source and destination buckets should be in the same\n Amazon Web Services Region as your VPC endpoint.

    \n
  • \n
\n
\n

Both the Region that you want to copy the object from and the Region that you want to\n copy the object to must be enabled for your account. For more information about how to\n enable a Region for your account, see Enable or disable a Region for standalone accounts in the Amazon Web Services\n Account Management Guide.

\n \n

Amazon S3 transfer acceleration does not support cross-Region copies. If you request a\n cross-Region copy using a transfer acceleration endpoint, you get a 400 Bad\n Request error. For more information, see Transfer\n Acceleration.

\n
\n
\n
Authentication and authorization
\n
\n

All CopyObject requests must be authenticated and signed by using\n IAM credentials (access key ID and secret access key for the IAM identities).\n All headers with the x-amz- prefix, including\n x-amz-copy-source, must be signed. For more information, see\n REST Authentication.

\n

\n Directory buckets - You must use the\n IAM credentials to authenticate and authorize your access to the\n CopyObject API operation, instead of using the temporary security\n credentials through the CreateSession API operation.

\n

Amazon Web Services CLI or SDKs handles authentication and authorization on your\n behalf.

\n
\n
Permissions
\n
\n

You must have read access to the source object and\n write access to the destination bucket.

\n
    \n
  • \n

    \n General purpose bucket permissions - You\n must have permissions in an IAM policy based on the source and destination\n bucket types in a CopyObject operation.

    \n
      \n
    • \n

      If the source object is in a general purpose bucket, you must have\n \n s3:GetObject\n \n permission to read the source object that is being copied.

      \n
    • \n
    • \n

      If the destination bucket is a general purpose bucket, you must have\n \n s3:PutObject\n \n permission to write the object copy to the destination bucket.

      \n
    • \n
    \n
  • \n
  • \n

    \n Directory bucket permissions -\n You must have permissions in a bucket policy or an IAM identity-based policy based on the\n source and destination bucket types in a CopyObject\n operation.

    \n
      \n
    • \n

      If the source object that you want to copy is in a\n directory bucket, you must have the \n s3express:CreateSession\n permission in\n the Action element of a policy to read the object. By\n default, the session is in the ReadWrite mode. If you\n want to restrict the access, you can explicitly set the\n s3express:SessionMode condition key to\n ReadOnly on the copy source bucket.

      \n
    • \n
    • \n

      If the copy destination is a directory bucket, you must have the\n \n s3express:CreateSession\n permission in the\n Action element of a policy to write the object to the\n destination. The s3express:SessionMode condition key\n can't be set to ReadOnly on the copy destination bucket.\n

      \n
    • \n
    \n

    If the object is encrypted with SSE-KMS, you must also have the\n kms:GenerateDataKey and kms:Decrypt permissions\n in IAM identity-based policies and KMS key policies for the KMS\n key.

    \n

    For example policies, see Example bucket policies for S3 Express One Zone and Amazon Web Services Identity and Access Management (IAM) identity-based policies for\n S3 Express One Zone in the Amazon S3 User Guide.

    \n
  • \n
\n
\n
Response and special errors
\n
\n

When the request is an HTTP 1.1 request, the response is chunk encoded. When\n the request is not an HTTP 1.1 request, the response would not contain the\n Content-Length. You always need to read the entire response body\n to check if the copy succeeds.

\n
    \n
  • \n

    If the copy is successful, you receive a response with information about\n the copied object.

    \n
  • \n
  • \n

    A copy request might return an error when Amazon S3 receives the copy request\n or while Amazon S3 is copying the files. A 200 OK response can\n contain either a success or an error.

    \n
      \n
    • \n

      If the error occurs before the copy action starts, you receive a\n standard Amazon S3 error.

      \n
    • \n
    • \n

      If the error occurs during the copy operation, the error response\n is embedded in the 200 OK response. For example, in a\n cross-region copy, you may encounter throttling and receive a\n 200 OK response. For more information, see Resolve the Error 200 response when copying objects to\n Amazon S3. The 200 OK status code means the copy\n was accepted, but it doesn't mean the copy is complete. Another\n example is when you disconnect from Amazon S3 before the copy is complete,\n Amazon S3 might cancel the copy and you may receive a 200 OK\n response. You must stay connected to Amazon S3 until the entire response is\n successfully received and processed.

      \n

      If you call this API operation directly, make sure to design your\n application to parse the content of the response and handle it\n appropriately. If you use Amazon Web Services SDKs, SDKs handle this condition. The\n SDKs detect the embedded error and apply error handling per your\n configuration settings (including automatically retrying the request\n as appropriate). If the condition persists, the SDKs throw an\n exception (or, for the SDKs that don't use exceptions, they return an\n error).

      \n
    • \n
    \n
  • \n
\n
\n
Charge
\n
\n

The copy request charge is based on the storage class and Region that you\n specify for the destination object. The request can also result in a data\n retrieval charge for the source if the source storage class bills for data\n retrieval. If the copy source is in a different region, the data transfer is\n billed to the copy source account. For pricing information, see Amazon S3 pricing.

\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is \n Bucket-name.s3express-zone-id.region-code.amazonaws.com.

\n
\n
\n

The following operations are related to CopyObject:

\n ", "smithy.api#examples": [ { "title": "To copy an object", @@ -18796,7 +19727,7 @@ "Expiration": { "target": "com.amazonaws.s3#Expiration", "traits": { - "smithy.api#documentation": "

If the object expiration is configured, the response includes this header.

\n \n

This functionality is not supported for directory buckets.

\n
", + "smithy.api#documentation": "

If the object expiration is configured, the response includes this header.

\n \n

Object expiration information is not returned in directory buckets and this header returns the value \"NotImplemented\" in all responses for directory buckets.

\n
", "smithy.api#httpHeader": "x-amz-expiration" } }, @@ -18880,7 +19811,7 @@ "Bucket": { "target": "com.amazonaws.s3#BucketName", "traits": { - "smithy.api#documentation": "

The name of the destination bucket.

\n

\n Directory buckets -\n When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format \n Bucket_name.s3express-az_id.region.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format \n bucket_base_name--az-id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming\n restrictions, see Directory bucket naming\n rules in the Amazon S3 User Guide.

\n

\n Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

\n \n

Access points and Object Lambda access points are not supported by directory buckets.

\n
\n

\n S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form \n AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

", + "smithy.api#documentation": "

The name of the destination bucket.

\n

\n Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format \n Bucket-name.s3express-zone-id.region-code.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Zone (Availability Zone or Local Zone). Bucket names must follow the format \n bucket-base-name--zone-id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming\n restrictions, see Directory bucket naming\n rules in the Amazon S3 User Guide.

\n \n

Copying objects across different Amazon Web Services Regions isn't supported when the source or destination bucket is in Amazon Web Services Local Zones. The source and destination buckets must have the same parent Amazon Web Services Region. Otherwise, \n you get an HTTP 400 Bad Request error with the error code InvalidRequest.

\n
\n

\n Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

\n \n

Access points and Object Lambda access points are not supported by directory buckets.

\n
\n

\n S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form \n AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

", "smithy.api#httpLabel": {}, "smithy.api#required": {}, "smithy.rules#contextParam": { @@ -19314,7 +20245,7 @@ } ], "traits": { - "smithy.api#documentation": "\n

This action creates an Amazon S3 bucket. To create an Amazon S3 on Outposts bucket, see \n CreateBucket\n .

\n
\n

Creates a new S3 bucket. To create a bucket, you must set up Amazon S3 and have a valid Amazon Web Services\n Access Key ID to authenticate requests. Anonymous requests are never allowed to create\n buckets. By creating the bucket, you become the bucket owner.

\n

There are two types of buckets: general purpose buckets and directory buckets. For more\n information about these bucket types, see Creating, configuring, and\n working with Amazon S3 buckets in the Amazon S3 User Guide.

\n \n
    \n
  • \n

    \n General purpose buckets - If you send your\n CreateBucket request to the s3.amazonaws.com global\n endpoint, the request goes to the us-east-1 Region. So the signature\n calculations in Signature Version 4 must use us-east-1 as the Region,\n even if the location constraint in the request specifies another Region where the\n bucket is to be created. If you create a bucket in a Region other than US East (N.\n Virginia), your application must be able to handle 307 redirect. For more\n information, see Virtual hosting of\n buckets in the Amazon S3 User Guide.

    \n
  • \n
  • \n

    \n Directory buckets - For directory buckets, you must make requests for this API operation to the Regional endpoint. These endpoints support path-style requests in the format https://s3express-control.region_code.amazonaws.com/bucket-name\n . Virtual-hosted-style requests aren't supported. \nFor more information, see Regional and Zonal endpoints in the\n Amazon S3 User Guide.

    \n
  • \n
\n
\n
\n
Permissions
\n
\n
    \n
  • \n

    \n General purpose bucket permissions - In\n addition to the s3:CreateBucket permission, the following\n permissions are required in a policy when your CreateBucket\n request includes specific headers:

    \n
      \n
    • \n

      \n Access control lists (ACLs)\n - In your CreateBucket request, if you specify an\n access control list (ACL) and set it to public-read,\n public-read-write, authenticated-read, or\n if you explicitly specify any other custom ACLs, both\n s3:CreateBucket and s3:PutBucketAcl\n permissions are required. In your CreateBucket request,\n if you set the ACL to private, or if you don't specify\n any ACLs, only the s3:CreateBucket permission is\n required.

      \n
    • \n
    • \n

      \n Object Lock - In your\n CreateBucket request, if you set\n x-amz-bucket-object-lock-enabled to true, the\n s3:PutBucketObjectLockConfiguration and\n s3:PutBucketVersioning permissions are\n required.

      \n
    • \n
    • \n

      \n S3 Object Ownership - If\n your CreateBucket request includes the\n x-amz-object-ownership header, then the\n s3:PutBucketOwnershipControls permission is\n required.

      \n \n

      To set an ACL on a bucket as part of a\n CreateBucket request, you must explicitly set S3\n Object Ownership for the bucket to a different value than the\n default, BucketOwnerEnforced. Additionally, if your\n desired bucket ACL grants public access, you must first create the\n bucket (without the bucket ACL) and then explicitly disable Block\n Public Access on the bucket before using PutBucketAcl\n to set the ACL. If you try to create a bucket with a public ACL,\n the request will fail.

      \n

      For the majority of modern use cases in S3, we recommend that\n you keep all Block Public Access settings enabled and keep ACLs\n disabled. If you would like to share data with users outside of\n your account, you can use bucket policies as needed. For more\n information, see Controlling ownership of objects and disabling ACLs for your\n bucket and Blocking public access to your Amazon S3 storage in\n the Amazon S3 User Guide.

      \n
      \n
    • \n
    • \n

      \n S3 Block Public Access - If\n your specific use case requires granting public access to your S3\n resources, you can disable Block Public Access. Specifically, you can\n create a new bucket with Block Public Access enabled, then separately\n call the \n DeletePublicAccessBlock\n API. To use this operation, you must have the\n s3:PutBucketPublicAccessBlock permission. For more\n information about S3 Block Public Access, see Blocking public access to your Amazon S3 storage in the\n Amazon S3 User Guide.

      \n
    • \n
    \n
  • \n
  • \n

    \n Directory bucket permissions -\n You must have the s3express:CreateBucket permission in\n an IAM identity-based policy instead of a bucket policy. Cross-account access to this API operation isn't supported. This operation can only be performed by the Amazon Web Services account that owns the resource.\n For more information about directory bucket policies and permissions, see Amazon Web Services Identity and Access Management (IAM) for S3 Express One Zone in the Amazon S3 User Guide.

    \n \n

    The permissions for ACLs, Object Lock, S3 Object Ownership, and S3\n Block Public Access are not supported for directory buckets. For\n directory buckets, all Block Public Access settings are enabled at the\n bucket level and S3 Object Ownership is set to Bucket owner enforced\n (ACLs disabled). These settings can't be modified.

    \n

    For more information about permissions for creating and working with\n directory buckets, see Directory buckets in the\n Amazon S3 User Guide. For more information about\n supported S3 features for directory buckets, see Features of S3 Express One Zone in the\n Amazon S3 User Guide.

    \n
    \n
  • \n
\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is s3express-control.region.amazonaws.com.

\n
\n
\n

The following operations are related to CreateBucket:

\n ", + "smithy.api#documentation": "\n

This action creates an Amazon S3 bucket. To create an Amazon S3 on Outposts bucket, see \n CreateBucket\n .

\n
\n

Creates a new S3 bucket. To create a bucket, you must set up Amazon S3 and have a valid Amazon Web Services\n Access Key ID to authenticate requests. Anonymous requests are never allowed to create\n buckets. By creating the bucket, you become the bucket owner.

\n

There are two types of buckets: general purpose buckets and directory buckets. For more\n information about these bucket types, see Creating, configuring, and\n working with Amazon S3 buckets in the Amazon S3 User Guide.

\n \n
    \n
  • \n

    \n General purpose buckets - If you send your\n CreateBucket request to the s3.amazonaws.com global\n endpoint, the request goes to the us-east-1 Region. So the signature\n calculations in Signature Version 4 must use us-east-1 as the Region,\n even if the location constraint in the request specifies another Region where the\n bucket is to be created. If you create a bucket in a Region other than US East (N.\n Virginia), your application must be able to handle 307 redirect. For more\n information, see Virtual hosting of\n buckets in the Amazon S3 User Guide.

    \n
  • \n
  • \n

    \n Directory buckets - For directory buckets, you must make requests for this API operation to the Regional endpoint. These endpoints support path-style requests in the format https://s3express-control.region-code.amazonaws.com/bucket-name\n . Virtual-hosted-style requests aren't supported. \nFor more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Available Local Zone for directory buckets in the\n Amazon S3 User Guide.

    \n
  • \n
\n
\n
\n
Permissions
\n
\n
    \n
  • \n

    \n General purpose bucket permissions - In\n addition to the s3:CreateBucket permission, the following\n permissions are required in a policy when your CreateBucket\n request includes specific headers:

    \n
      \n
    • \n

      \n Access control lists (ACLs)\n - In your CreateBucket request, if you specify an\n access control list (ACL) and set it to public-read,\n public-read-write, authenticated-read, or\n if you explicitly specify any other custom ACLs, both\n s3:CreateBucket and s3:PutBucketAcl\n permissions are required. In your CreateBucket request,\n if you set the ACL to private, or if you don't specify\n any ACLs, only the s3:CreateBucket permission is\n required.

      \n
    • \n
    • \n

      \n Object Lock - In your\n CreateBucket request, if you set\n x-amz-bucket-object-lock-enabled to true, the\n s3:PutBucketObjectLockConfiguration and\n s3:PutBucketVersioning permissions are\n required.

      \n
    • \n
    • \n

      \n S3 Object Ownership - If\n your CreateBucket request includes the\n x-amz-object-ownership header, then the\n s3:PutBucketOwnershipControls permission is\n required.

      \n \n

      To set an ACL on a bucket as part of a\n CreateBucket request, you must explicitly set S3\n Object Ownership for the bucket to a different value than the\n default, BucketOwnerEnforced. Additionally, if your\n desired bucket ACL grants public access, you must first create the\n bucket (without the bucket ACL) and then explicitly disable Block\n Public Access on the bucket before using PutBucketAcl\n to set the ACL. If you try to create a bucket with a public ACL,\n the request will fail.

      \n

      For the majority of modern use cases in S3, we recommend that\n you keep all Block Public Access settings enabled and keep ACLs\n disabled. If you would like to share data with users outside of\n your account, you can use bucket policies as needed. For more\n information, see Controlling ownership of objects and disabling ACLs for your\n bucket and Blocking public access to your Amazon S3 storage in\n the Amazon S3 User Guide.

      \n
      \n
    • \n
    • \n

      \n S3 Block Public Access - If\n your specific use case requires granting public access to your S3\n resources, you can disable Block Public Access. Specifically, you can\n create a new bucket with Block Public Access enabled, then separately\n call the \n DeletePublicAccessBlock\n API. To use this operation, you must have the\n s3:PutBucketPublicAccessBlock permission. For more\n information about S3 Block Public Access, see Blocking public access to your Amazon S3 storage in the\n Amazon S3 User Guide.

      \n
    • \n
    \n
  • \n
  • \n

    \n Directory bucket permissions -\n You must have the s3express:CreateBucket permission in\n an IAM identity-based policy instead of a bucket policy. Cross-account access to this API operation isn't supported. This operation can only be performed by the Amazon Web Services account that owns the resource.\n For more information about directory bucket policies and permissions, see Amazon Web Services Identity and Access Management (IAM) for S3 Express One Zone in the Amazon S3 User Guide.

    \n \n

    The permissions for ACLs, Object Lock, S3 Object Ownership, and S3\n Block Public Access are not supported for directory buckets. For\n directory buckets, all Block Public Access settings are enabled at the\n bucket level and S3 Object Ownership is set to Bucket owner enforced\n (ACLs disabled). These settings can't be modified.

    \n

    For more information about permissions for creating and working with\n directory buckets, see Directory buckets in the\n Amazon S3 User Guide. For more information about\n supported S3 features for directory buckets, see Features of S3 Express One Zone in the\n Amazon S3 User Guide.

    \n
    \n
  • \n
\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is s3express-control.region-code.amazonaws.com.

\n
\n
\n

The following operations are related to CreateBucket:

\n ", "smithy.api#examples": [ { "title": "To create a bucket in a specific region", @@ -19367,7 +20298,7 @@ "Location": { "target": "com.amazonaws.s3#LocationInfo", "traits": { - "smithy.api#documentation": "

Specifies the location where the bucket will be created.

\n

For directory buckets, the location type is Availability Zone.

\n \n

This functionality is only supported by directory buckets.

\n
" + "smithy.api#documentation": "

Specifies the location where the bucket will be created.

\n

\n Directory buckets - The location type is Availability Zone or Local Zone. \n When the location type is Local Zone, your Local Zone must be in opt-in status. Otherwise, you get an HTTP 400 Bad Request error with the \n error code Access denied. To learn more about opt-in Local Zones, see Opt-in Dedicated Local Zonesin the Amazon S3 User Guide.\n

\n \n

This functionality is only supported by directory buckets.

\n
" } }, "Bucket": { @@ -19409,7 +20340,7 @@ "Bucket": { "target": "com.amazonaws.s3#BucketName", "traits": { - "smithy.api#documentation": "

The name of the bucket to create.

\n

\n General purpose buckets - For information about bucket naming\n restrictions, see Bucket naming\n rules in the Amazon S3 User Guide.

\n

\n Directory buckets - When you use this operation with a directory bucket, you must use path-style requests in the format https://s3express-control.region_code.amazonaws.com/bucket-name\n . Virtual-hosted-style requests aren't supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must also follow the format \n bucket_base_name--az_id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming restrictions, see Directory bucket naming rules in the Amazon S3 User Guide\n

", + "smithy.api#documentation": "

The name of the bucket to create.

\n

\n General purpose buckets - For information about bucket naming\n restrictions, see Bucket naming\n rules in the Amazon S3 User Guide.

\n

\n Directory buckets - When you use this operation with a directory bucket, you must use path-style requests in the format https://s3express-control.region-code.amazonaws.com/bucket-name\n . Virtual-hosted-style requests aren't supported. Directory bucket names must be unique in the chosen Zone (Availability Zone or Local Zone). Bucket names must also follow the format \n bucket-base-name--zone-id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming restrictions, see Directory bucket naming rules in the Amazon S3 User Guide\n

", "smithy.api#httpLabel": {}, "smithy.api#required": {}, "smithy.rules#contextParam": { @@ -19487,7 +20418,7 @@ "target": "com.amazonaws.s3#CreateMultipartUploadOutput" }, "traits": { - "smithy.api#documentation": "

This action initiates a multipart upload and returns an upload ID. This upload ID is\n used to associate all of the parts in the specific multipart upload. You specify this\n upload ID in each of your subsequent upload part requests (see UploadPart). You also include this\n upload ID in the final request to either complete or abort the multipart upload request.\n For more information about multipart uploads, see Multipart Upload Overview in the\n Amazon S3 User Guide.

\n \n

After you initiate a multipart upload and upload one or more parts, to stop being\n charged for storing the uploaded parts, you must either complete or abort the multipart\n upload. Amazon S3 frees up the space used to store the parts and stops charging you for\n storing them only after you either complete or abort a multipart upload.

\n
\n

If you have configured a lifecycle rule to abort incomplete multipart uploads, the\n created multipart upload must be completed within the number of days specified in the\n bucket lifecycle configuration. Otherwise, the incomplete multipart upload becomes eligible\n for an abort action and Amazon S3 aborts the multipart upload. For more information, see Aborting Incomplete Multipart Uploads Using a Bucket Lifecycle\n Configuration.

\n \n
    \n
  • \n

    \n Directory buckets -\n S3 Lifecycle is not supported by directory buckets.

    \n
  • \n
  • \n

    \n Directory buckets -\n For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://bucket_name.s3express-az_id.region.amazonaws.com/key-name\n . Path-style requests are not supported. For more information, see Regional and Zonal endpoints in the\n Amazon S3 User Guide.

    \n
  • \n
\n
\n
\n
Request signing
\n
\n

For request signing, multipart upload is just a series of regular requests. You\n initiate a multipart upload, send one or more requests to upload parts, and then\n complete the multipart upload process. You sign each request individually. There\n is nothing special about signing multipart upload requests. For more information\n about signing, see Authenticating\n Requests (Amazon Web Services Signature Version 4) in the\n Amazon S3 User Guide.

\n
\n
Permissions
\n
\n
    \n
  • \n

    \n General purpose bucket permissions - To\n perform a multipart upload with encryption using an Key Management Service (KMS)\n KMS key, the requester must have permission to the\n kms:Decrypt and kms:GenerateDataKey actions on\n the key. The requester must also have permissions for the\n kms:GenerateDataKey action for the\n CreateMultipartUpload API. Then, the requester needs\n permissions for the kms:Decrypt action on the\n UploadPart and UploadPartCopy APIs. These\n permissions are required because Amazon S3 must decrypt and read data from the\n encrypted file parts before it completes the multipart upload. For more\n information, see Multipart upload API and permissions and Protecting data\n using server-side encryption with Amazon Web Services KMS in the\n Amazon S3 User Guide.

    \n
  • \n
  • \n

    \n Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the \n CreateSession\n API operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. \nAmazon Web Services CLI or SDKs create session and refresh the session token automatically to avoid service interruptions when a session expires. For more information about authorization, see \n CreateSession\n .

    \n
  • \n
\n
\n
Encryption
\n
\n
    \n
  • \n

    \n General purpose buckets - Server-side\n encryption is for data encryption at rest. Amazon S3 encrypts your data as it\n writes it to disks in its data centers and decrypts it when you access it.\n Amazon S3 automatically encrypts all new objects that are uploaded to an S3\n bucket. When doing a multipart upload, if you don't specify encryption\n information in your request, the encryption setting of the uploaded parts is\n set to the default encryption configuration of the destination bucket. By\n default, all buckets have a base level of encryption configuration that uses\n server-side encryption with Amazon S3 managed keys (SSE-S3). If the destination\n bucket has a default encryption configuration that uses server-side\n encryption with an Key Management Service (KMS) key (SSE-KMS), or a customer-provided\n encryption key (SSE-C), Amazon S3 uses the corresponding KMS key, or a\n customer-provided key to encrypt the uploaded parts. When you perform a\n CreateMultipartUpload operation, if you want to use a different type of\n encryption setting for the uploaded parts, you can request that Amazon S3\n encrypts the object with a different encryption key (such as an Amazon S3 managed\n key, a KMS key, or a customer-provided key). When the encryption setting\n in your request is different from the default encryption configuration of\n the destination bucket, the encryption setting in your request takes\n precedence. If you choose to provide your own encryption key, the request\n headers you provide in UploadPart and\n UploadPartCopy\n requests must match the headers you used in the\n CreateMultipartUpload request.

    \n
      \n
    • \n

      Use KMS keys (SSE-KMS) that include the Amazon Web Services managed key\n (aws/s3) and KMS customer managed keys stored in Key Management Service\n (KMS) – If you want Amazon Web Services to manage the keys used to encrypt data,\n specify the following headers in the request.

      \n
        \n
      • \n

        \n x-amz-server-side-encryption\n

        \n
      • \n
      • \n

        \n x-amz-server-side-encryption-aws-kms-key-id\n

        \n
      • \n
      • \n

        \n x-amz-server-side-encryption-context\n

        \n
      • \n
      \n \n
        \n
      • \n

        If you specify\n x-amz-server-side-encryption:aws:kms, but\n don't provide\n x-amz-server-side-encryption-aws-kms-key-id,\n Amazon S3 uses the Amazon Web Services managed key (aws/s3 key) in\n KMS to protect the data.

        \n
      • \n
      • \n

        To perform a multipart upload with encryption by using an\n Amazon Web Services KMS key, the requester must have permission to the\n kms:Decrypt and\n kms:GenerateDataKey* actions on the key.\n These permissions are required because Amazon S3 must decrypt and\n read data from the encrypted file parts before it completes\n the multipart upload. For more information, see Multipart upload API and permissions and Protecting data using server-side encryption with Amazon Web Services\n KMS in the\n Amazon S3 User Guide.

        \n
      • \n
      • \n

        If your Identity and Access Management (IAM) user or role is in the same\n Amazon Web Services account as the KMS key, then you must have these\n permissions on the key policy. If your IAM user or role is\n in a different account from the key, then you must have the\n permissions on both the key policy and your IAM user or\n role.

        \n
      • \n
      • \n

        All GET and PUT requests for an\n object protected by KMS fail if you don't make them by\n using Secure Sockets Layer (SSL), Transport Layer Security\n (TLS), or Signature Version 4. For information about\n configuring any of the officially supported Amazon Web Services SDKs and\n Amazon Web Services CLI, see Specifying the Signature Version in\n Request Authentication in the\n Amazon S3 User Guide.

        \n
      • \n
      \n
      \n

      For more information about server-side encryption with KMS keys\n (SSE-KMS), see Protecting\n Data Using Server-Side Encryption with KMS keys in the\n Amazon S3 User Guide.

      \n
    • \n
    • \n

      Use customer-provided encryption keys (SSE-C) – If you want to\n manage your own encryption keys, provide all the following headers in\n the request.

      \n
        \n
      • \n

        \n x-amz-server-side-encryption-customer-algorithm\n

        \n
      • \n
      • \n

        \n x-amz-server-side-encryption-customer-key\n

        \n
      • \n
      • \n

        \n x-amz-server-side-encryption-customer-key-MD5\n

        \n
      • \n
      \n

      For more information about server-side encryption with\n customer-provided encryption keys (SSE-C), see Protecting data using server-side encryption with\n customer-provided encryption keys (SSE-C) in the\n Amazon S3 User Guide.

      \n
    • \n
    \n
  • \n
  • \n

    \n Directory buckets -\n For directory buckets, there are only two supported options for server-side encryption: server-side encryption with Amazon S3 managed keys (SSE-S3) (AES256) and server-side encryption with KMS keys (SSE-KMS) (aws:kms). We recommend that the bucket's default encryption uses the desired encryption configuration and you don't override the bucket default encryption in your \n CreateSession requests or PUT object requests. Then, new objects \n are automatically encrypted with the desired encryption settings. For more\n information, see Protecting data with server-side encryption in the Amazon S3 User Guide. For more information about the encryption overriding behaviors in directory buckets, see Specifying server-side encryption with KMS for new object uploads.

    \n

    In the Zonal endpoint API calls (except CopyObject and UploadPartCopy) using the REST API, the encryption request headers must match the encryption settings that are specified in the CreateSession request. \n You can't override the values of the encryption settings (x-amz-server-side-encryption, x-amz-server-side-encryption-aws-kms-key-id, x-amz-server-side-encryption-context, and x-amz-server-side-encryption-bucket-key-enabled) that are specified in the CreateSession request. \n You don't need to explicitly specify these encryption settings values in Zonal endpoint API calls, and \n Amazon S3 will use the encryption settings values from the CreateSession request to protect new objects in the directory bucket. \n

    \n \n

    When you use the CLI or the Amazon Web Services SDKs, for CreateSession, the session token refreshes automatically to avoid service interruptions when a session expires. The CLI or the Amazon Web Services SDKs use the bucket's default encryption configuration for the \n CreateSession request. It's not supported to override the encryption settings values in the CreateSession request. \n So in the Zonal endpoint API calls (except CopyObject and UploadPartCopy), \n the encryption request headers must match the default encryption configuration of the directory bucket.\n\n

    \n
    \n \n

    For directory buckets, when you perform a\n CreateMultipartUpload operation and an\n UploadPartCopy operation, the request headers you provide\n in the CreateMultipartUpload request must match the default\n encryption configuration of the destination bucket.

    \n
    \n
  • \n
\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is \n Bucket_name.s3express-az_id.region.amazonaws.com.

\n
\n
\n

The following operations are related to CreateMultipartUpload:

\n ", + "smithy.api#documentation": "

This action initiates a multipart upload and returns an upload ID. This upload ID is\n used to associate all of the parts in the specific multipart upload. You specify this\n upload ID in each of your subsequent upload part requests (see UploadPart). You also include this\n upload ID in the final request to either complete or abort the multipart upload request.\n For more information about multipart uploads, see Multipart Upload Overview in the\n Amazon S3 User Guide.

\n \n

After you initiate a multipart upload and upload one or more parts, to stop being\n charged for storing the uploaded parts, you must either complete or abort the multipart\n upload. Amazon S3 frees up the space used to store the parts and stops charging you for\n storing them only after you either complete or abort a multipart upload.

\n
\n

If you have configured a lifecycle rule to abort incomplete multipart uploads, the\n created multipart upload must be completed within the number of days specified in the\n bucket lifecycle configuration. Otherwise, the incomplete multipart upload becomes eligible\n for an abort action and Amazon S3 aborts the multipart upload. For more information, see Aborting Incomplete Multipart Uploads Using a Bucket Lifecycle\n Configuration.

\n \n
    \n
  • \n

    \n Directory buckets -\n S3 Lifecycle is not supported by directory buckets.

    \n
  • \n
  • \n

    \n Directory buckets -\n For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://bucket-name.s3express-zone-id.region-code.amazonaws.com/key-name\n . Path-style requests are not supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Available Local Zone for directory buckets in the\n Amazon S3 User Guide.

    \n
  • \n
\n
\n
\n
Request signing
\n
\n

For request signing, multipart upload is just a series of regular requests. You\n initiate a multipart upload, send one or more requests to upload parts, and then\n complete the multipart upload process. You sign each request individually. There\n is nothing special about signing multipart upload requests. For more information\n about signing, see Authenticating\n Requests (Amazon Web Services Signature Version 4) in the\n Amazon S3 User Guide.

\n
\n
Permissions
\n
\n
    \n
  • \n

    \n General purpose bucket permissions - To\n perform a multipart upload with encryption using an Key Management Service (KMS)\n KMS key, the requester must have permission to the\n kms:Decrypt and kms:GenerateDataKey actions on\n the key. The requester must also have permissions for the\n kms:GenerateDataKey action for the\n CreateMultipartUpload API. Then, the requester needs\n permissions for the kms:Decrypt action on the\n UploadPart and UploadPartCopy APIs. These\n permissions are required because Amazon S3 must decrypt and read data from the\n encrypted file parts before it completes the multipart upload. For more\n information, see Multipart upload API and permissions and Protecting data\n using server-side encryption with Amazon Web Services KMS in the\n Amazon S3 User Guide.

    \n
  • \n
  • \n

    \n Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the \n CreateSession\n API operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. \nAmazon Web Services CLI or SDKs create session and refresh the session token automatically to avoid service interruptions when a session expires. For more information about authorization, see \n CreateSession\n .

    \n
  • \n
\n
\n
Encryption
\n
\n
    \n
  • \n

    \n General purpose buckets - Server-side\n encryption is for data encryption at rest. Amazon S3 encrypts your data as it\n writes it to disks in its data centers and decrypts it when you access it.\n Amazon S3 automatically encrypts all new objects that are uploaded to an S3\n bucket. When doing a multipart upload, if you don't specify encryption\n information in your request, the encryption setting of the uploaded parts is\n set to the default encryption configuration of the destination bucket. By\n default, all buckets have a base level of encryption configuration that uses\n server-side encryption with Amazon S3 managed keys (SSE-S3). If the destination\n bucket has a default encryption configuration that uses server-side\n encryption with an Key Management Service (KMS) key (SSE-KMS), or a customer-provided\n encryption key (SSE-C), Amazon S3 uses the corresponding KMS key, or a\n customer-provided key to encrypt the uploaded parts. When you perform a\n CreateMultipartUpload operation, if you want to use a different type of\n encryption setting for the uploaded parts, you can request that Amazon S3\n encrypts the object with a different encryption key (such as an Amazon S3 managed\n key, a KMS key, or a customer-provided key). When the encryption setting\n in your request is different from the default encryption configuration of\n the destination bucket, the encryption setting in your request takes\n precedence. If you choose to provide your own encryption key, the request\n headers you provide in UploadPart and\n UploadPartCopy\n requests must match the headers you used in the\n CreateMultipartUpload request.

    \n
      \n
    • \n

      Use KMS keys (SSE-KMS) that include the Amazon Web Services managed key\n (aws/s3) and KMS customer managed keys stored in Key Management Service\n (KMS) – If you want Amazon Web Services to manage the keys used to encrypt data,\n specify the following headers in the request.

      \n
        \n
      • \n

        \n x-amz-server-side-encryption\n

        \n
      • \n
      • \n

        \n x-amz-server-side-encryption-aws-kms-key-id\n

        \n
      • \n
      • \n

        \n x-amz-server-side-encryption-context\n

        \n
      • \n
      \n \n
        \n
      • \n

        If you specify\n x-amz-server-side-encryption:aws:kms, but\n don't provide\n x-amz-server-side-encryption-aws-kms-key-id,\n Amazon S3 uses the Amazon Web Services managed key (aws/s3 key) in\n KMS to protect the data.

        \n
      • \n
      • \n

        To perform a multipart upload with encryption by using an\n Amazon Web Services KMS key, the requester must have permission to the\n kms:Decrypt and\n kms:GenerateDataKey* actions on the key.\n These permissions are required because Amazon S3 must decrypt and\n read data from the encrypted file parts before it completes\n the multipart upload. For more information, see Multipart upload API and permissions and Protecting data using server-side encryption with Amazon Web Services\n KMS in the\n Amazon S3 User Guide.

        \n
      • \n
      • \n

        If your Identity and Access Management (IAM) user or role is in the same\n Amazon Web Services account as the KMS key, then you must have these\n permissions on the key policy. If your IAM user or role is\n in a different account from the key, then you must have the\n permissions on both the key policy and your IAM user or\n role.

        \n
      • \n
      • \n

        All GET and PUT requests for an\n object protected by KMS fail if you don't make them by\n using Secure Sockets Layer (SSL), Transport Layer Security\n (TLS), or Signature Version 4. For information about\n configuring any of the officially supported Amazon Web Services SDKs and\n Amazon Web Services CLI, see Specifying the Signature Version in\n Request Authentication in the\n Amazon S3 User Guide.

        \n
      • \n
      \n
      \n

      For more information about server-side encryption with KMS keys\n (SSE-KMS), see Protecting\n Data Using Server-Side Encryption with KMS keys in the\n Amazon S3 User Guide.

      \n
    • \n
    • \n

      Use customer-provided encryption keys (SSE-C) – If you want to\n manage your own encryption keys, provide all the following headers in\n the request.

      \n
        \n
      • \n

        \n x-amz-server-side-encryption-customer-algorithm\n

        \n
      • \n
      • \n

        \n x-amz-server-side-encryption-customer-key\n

        \n
      • \n
      • \n

        \n x-amz-server-side-encryption-customer-key-MD5\n

        \n
      • \n
      \n

      For more information about server-side encryption with\n customer-provided encryption keys (SSE-C), see Protecting data using server-side encryption with\n customer-provided encryption keys (SSE-C) in the\n Amazon S3 User Guide.

      \n
    • \n
    \n
  • \n
  • \n

    \n Directory buckets -\n For directory buckets, there are only two supported options for server-side encryption: server-side encryption with Amazon S3 managed keys (SSE-S3) (AES256) and server-side encryption with KMS keys (SSE-KMS) (aws:kms). We recommend that the bucket's default encryption uses the desired encryption configuration and you don't override the bucket default encryption in your \n CreateSession requests or PUT object requests. Then, new objects \n are automatically encrypted with the desired encryption settings. For more\n information, see Protecting data with server-side encryption in the Amazon S3 User Guide. For more information about the encryption overriding behaviors in directory buckets, see Specifying server-side encryption with KMS for new object uploads.

    \n

    In the Zonal endpoint API calls (except CopyObject and UploadPartCopy) using the REST API, the encryption request headers must match the encryption settings that are specified in the CreateSession request. \n You can't override the values of the encryption settings (x-amz-server-side-encryption, x-amz-server-side-encryption-aws-kms-key-id, x-amz-server-side-encryption-context, and x-amz-server-side-encryption-bucket-key-enabled) that are specified in the CreateSession request. \n You don't need to explicitly specify these encryption settings values in Zonal endpoint API calls, and \n Amazon S3 will use the encryption settings values from the CreateSession request to protect new objects in the directory bucket. \n

    \n \n

    When you use the CLI or the Amazon Web Services SDKs, for CreateSession, the session token refreshes automatically to avoid service interruptions when a session expires. The CLI or the Amazon Web Services SDKs use the bucket's default encryption configuration for the \n CreateSession request. It's not supported to override the encryption settings values in the CreateSession request. \n So in the Zonal endpoint API calls (except CopyObject and UploadPartCopy), \n the encryption request headers must match the default encryption configuration of the directory bucket.\n\n

    \n
    \n \n

    For directory buckets, when you perform a\n CreateMultipartUpload operation and an\n UploadPartCopy operation, the request headers you provide\n in the CreateMultipartUpload request must match the default\n encryption configuration of the destination bucket.

    \n
    \n
  • \n
\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is \n Bucket-name.s3express-zone-id.region-code.amazonaws.com.

\n
\n
\n

The following operations are related to CreateMultipartUpload:

\n ", "smithy.api#examples": [ { "title": "To initiate a multipart upload", @@ -19620,7 +20551,7 @@ "Bucket": { "target": "com.amazonaws.s3#BucketName", "traits": { - "smithy.api#documentation": "

The name of the bucket where the multipart upload is initiated and where the object is\n uploaded.

\n

\n Directory buckets -\n When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format \n Bucket_name.s3express-az_id.region.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format \n bucket_base_name--az-id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming\n restrictions, see Directory bucket naming\n rules in the Amazon S3 User Guide.

\n

\n Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

\n \n

Access points and Object Lambda access points are not supported by directory buckets.

\n
\n

\n S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form \n AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

", + "smithy.api#documentation": "

The name of the bucket where the multipart upload is initiated and where the object is\n uploaded.

\n

\n Directory buckets -\n When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format \n Bucket-name.s3express-zone-id.region-code.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Zone (Availability Zone or Local Zone). Bucket names must follow the format \n bucket-base-name--zone-id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming\n restrictions, see Directory bucket naming\n rules in the Amazon S3 User Guide.

\n

\n Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

\n \n

Access points and Object Lambda access points are not supported by directory buckets.

\n
\n

\n S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form \n AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

", "smithy.api#httpLabel": {}, "smithy.api#required": {}, "smithy.rules#contextParam": { @@ -19846,7 +20777,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates a session that establishes temporary security credentials to support fast\n authentication and authorization for the Zonal endpoint API operations on directory buckets. For more\n information about Zonal endpoint API operations that include the Availability Zone in the request endpoint, see S3 Express One Zone\n APIs in the Amazon S3 User Guide.

\n

To make Zonal endpoint API requests on a directory bucket, use the CreateSession\n API operation. Specifically, you grant s3express:CreateSession permission to a\n bucket in a bucket policy or an IAM identity-based policy. Then, you use IAM credentials to make the\n CreateSession API request on the bucket, which returns temporary security\n credentials that include the access key ID, secret access key, session token, and\n expiration. These credentials have associated permissions to access the Zonal endpoint API operations. After\n the session is created, you don’t need to use other policies to grant permissions to each\n Zonal endpoint API individually. Instead, in your Zonal endpoint API requests, you sign your requests by\n applying the temporary security credentials of the session to the request headers and\n following the SigV4 protocol for authentication. You also apply the session token to the\n x-amz-s3session-token request header for authorization. Temporary security\n credentials are scoped to the bucket and expire after 5 minutes. After the expiration time,\n any calls that you make with those credentials will fail. You must use IAM credentials\n again to make a CreateSession API request that generates a new set of\n temporary credentials for use. Temporary credentials cannot be extended or refreshed beyond\n the original specified interval.

\n

If you use Amazon Web Services SDKs, SDKs handle the session token refreshes automatically to avoid\n service interruptions when a session expires. We recommend that you use the Amazon Web Services SDKs to\n initiate and manage requests to the CreateSession API. For more information, see Performance guidelines and design patterns in the\n Amazon S3 User Guide.

\n \n
    \n
  • \n

    You must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://bucket_name.s3express-az_id.region.amazonaws.com. Path-style requests are not supported. For more information, see Regional and Zonal endpoints in the\n Amazon S3 User Guide.

    \n
  • \n
  • \n

    \n \n CopyObject API operation -\n Unlike other Zonal endpoint API operations, the CopyObject API operation doesn't use\n the temporary security credentials returned from the CreateSession\n API operation for authentication and authorization. For information about\n authentication and authorization of the CopyObject API operation on\n directory buckets, see CopyObject.

    \n
  • \n
  • \n

    \n \n HeadBucket API operation -\n Unlike other Zonal endpoint API operations, the HeadBucket API operation doesn't use\n the temporary security credentials returned from the CreateSession\n API operation for authentication and authorization. For information about\n authentication and authorization of the HeadBucket API operation on\n directory buckets, see HeadBucket.

    \n
  • \n
\n
\n
\n
Permissions
\n
\n

To obtain temporary security credentials, you must create\n a bucket policy or an IAM identity-based policy that grants s3express:CreateSession\n permission to the bucket. In a policy, you can have the\n s3express:SessionMode condition key to control who can create a\n ReadWrite or ReadOnly session. For more information\n about ReadWrite or ReadOnly sessions, see \n x-amz-create-session-mode\n . For example policies, see\n Example bucket policies for S3 Express One Zone and Amazon Web Services Identity and Access Management (IAM) identity-based policies for\n S3 Express One Zone in the Amazon S3 User Guide.

\n

To grant cross-account access to Zonal endpoint API operations, the bucket policy should also\n grant both accounts the s3express:CreateSession permission.

\n

If you want to encrypt objects with SSE-KMS, you must also have the\n kms:GenerateDataKey and the kms:Decrypt permissions\n in IAM identity-based policies and KMS key policies for the target KMS\n key.

\n
\n
Encryption
\n
\n

For directory buckets, there are only two supported options for server-side encryption: server-side encryption with Amazon S3 managed keys (SSE-S3) (AES256) and server-side encryption with KMS keys (SSE-KMS) (aws:kms). We recommend that the bucket's default encryption uses the desired encryption configuration and you don't override the bucket default encryption in your \n CreateSession requests or PUT object requests. Then, new objects \n are automatically encrypted with the desired encryption settings. For more\n information, see Protecting data with server-side encryption in the Amazon S3 User Guide. For more information about the encryption overriding behaviors in directory buckets, see Specifying server-side encryption with KMS for new object uploads.

\n

For Zonal endpoint (object-level) API operations except CopyObject and UploadPartCopy, \nyou authenticate and authorize requests through CreateSession for low latency. \n To encrypt new objects in a directory bucket with SSE-KMS, you must specify SSE-KMS as the directory bucket's default encryption configuration with a KMS key (specifically, a customer managed key). Then, when a session is created for Zonal endpoint API operations, new objects are automatically encrypted and decrypted with SSE-KMS and S3 Bucket Keys during the session.

\n \n

\n Only 1 customer managed key is supported per directory bucket for the lifetime of the bucket. The Amazon Web Services managed key (aws/s3) isn't supported. \n After you specify SSE-KMS as your bucket's default encryption configuration with a customer managed key, you can't change the customer managed key for the bucket's SSE-KMS configuration.\n

\n
\n

In the Zonal endpoint API calls (except CopyObject and UploadPartCopy) using the REST API, \n you can't override the values of the encryption settings (x-amz-server-side-encryption, x-amz-server-side-encryption-aws-kms-key-id, x-amz-server-side-encryption-context, and x-amz-server-side-encryption-bucket-key-enabled) from the CreateSession request. \n You don't need to explicitly specify these encryption settings values in Zonal endpoint API calls, and \n Amazon S3 will use the encryption settings values from the CreateSession request to protect new objects in the directory bucket. \n

\n \n

When you use the CLI or the Amazon Web Services SDKs, for CreateSession, the session token refreshes automatically to avoid service interruptions when a session expires. The CLI or the Amazon Web Services SDKs use the bucket's default encryption configuration for the \n CreateSession request. It's not supported to override the encryption settings values in the CreateSession request. \n Also, in the Zonal endpoint API calls (except CopyObject and UploadPartCopy), \n it's not supported to override the values of the encryption settings from the CreateSession request. \n\n

\n
\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is \n Bucket_name.s3express-az_id.region.amazonaws.com.

\n
\n
", + "smithy.api#documentation": "

Creates a session that establishes temporary security credentials to support fast\n authentication and authorization for the Zonal endpoint API operations on directory buckets. For more\n information about Zonal endpoint API operations that include the Availability Zone in the request endpoint, see S3 Express One Zone\n APIs in the Amazon S3 User Guide.

\n

To make Zonal endpoint API requests on a directory bucket, use the CreateSession\n API operation. Specifically, you grant s3express:CreateSession permission to a\n bucket in a bucket policy or an IAM identity-based policy. Then, you use IAM credentials to make the\n CreateSession API request on the bucket, which returns temporary security\n credentials that include the access key ID, secret access key, session token, and\n expiration. These credentials have associated permissions to access the Zonal endpoint API operations. After\n the session is created, you don’t need to use other policies to grant permissions to each\n Zonal endpoint API individually. Instead, in your Zonal endpoint API requests, you sign your requests by\n applying the temporary security credentials of the session to the request headers and\n following the SigV4 protocol for authentication. You also apply the session token to the\n x-amz-s3session-token request header for authorization. Temporary security\n credentials are scoped to the bucket and expire after 5 minutes. After the expiration time,\n any calls that you make with those credentials will fail. You must use IAM credentials\n again to make a CreateSession API request that generates a new set of\n temporary credentials for use. Temporary credentials cannot be extended or refreshed beyond\n the original specified interval.

\n

If you use Amazon Web Services SDKs, SDKs handle the session token refreshes automatically to avoid\n service interruptions when a session expires. We recommend that you use the Amazon Web Services SDKs to\n initiate and manage requests to the CreateSession API. For more information, see Performance guidelines and design patterns in the\n Amazon S3 User Guide.

\n \n
    \n
  • \n

    You must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://bucket-name.s3express-zone-id.region-code.amazonaws.com. Path-style requests are not supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Available Local Zone for directory buckets in the\n Amazon S3 User Guide.

    \n
  • \n
  • \n

    \n \n CopyObject API operation -\n Unlike other Zonal endpoint API operations, the CopyObject API operation doesn't use\n the temporary security credentials returned from the CreateSession\n API operation for authentication and authorization. For information about\n authentication and authorization of the CopyObject API operation on\n directory buckets, see CopyObject.

    \n
  • \n
  • \n

    \n \n HeadBucket API operation -\n Unlike other Zonal endpoint API operations, the HeadBucket API operation doesn't use\n the temporary security credentials returned from the CreateSession\n API operation for authentication and authorization. For information about\n authentication and authorization of the HeadBucket API operation on\n directory buckets, see HeadBucket.

    \n
  • \n
\n
\n
\n
Permissions
\n
\n

To obtain temporary security credentials, you must create\n a bucket policy or an IAM identity-based policy that grants s3express:CreateSession\n permission to the bucket. In a policy, you can have the\n s3express:SessionMode condition key to control who can create a\n ReadWrite or ReadOnly session. For more information\n about ReadWrite or ReadOnly sessions, see \n x-amz-create-session-mode\n . For example policies, see\n Example bucket policies for S3 Express One Zone and Amazon Web Services Identity and Access Management (IAM) identity-based policies for\n S3 Express One Zone in the Amazon S3 User Guide.

\n

To grant cross-account access to Zonal endpoint API operations, the bucket policy should also\n grant both accounts the s3express:CreateSession permission.

\n

If you want to encrypt objects with SSE-KMS, you must also have the\n kms:GenerateDataKey and the kms:Decrypt permissions\n in IAM identity-based policies and KMS key policies for the target KMS\n key.

\n
\n
Encryption
\n
\n

For directory buckets, there are only two supported options for server-side encryption: server-side encryption with Amazon S3 managed keys (SSE-S3) (AES256) and server-side encryption with KMS keys (SSE-KMS) (aws:kms). We recommend that the bucket's default encryption uses the desired encryption configuration and you don't override the bucket default encryption in your \n CreateSession requests or PUT object requests. Then, new objects \n are automatically encrypted with the desired encryption settings. For more\n information, see Protecting data with server-side encryption in the Amazon S3 User Guide. For more information about the encryption overriding behaviors in directory buckets, see Specifying server-side encryption with KMS for new object uploads.

\n

For Zonal endpoint (object-level) API operations except CopyObject and UploadPartCopy, \nyou authenticate and authorize requests through CreateSession for low latency. \n To encrypt new objects in a directory bucket with SSE-KMS, you must specify SSE-KMS as the directory bucket's default encryption configuration with a KMS key (specifically, a customer managed key). Then, when a session is created for Zonal endpoint API operations, new objects are automatically encrypted and decrypted with SSE-KMS and S3 Bucket Keys during the session.

\n \n

\n Only 1 customer managed key is supported per directory bucket for the lifetime of the bucket. The Amazon Web Services managed key (aws/s3) isn't supported. \n After you specify SSE-KMS as your bucket's default encryption configuration with a customer managed key, you can't change the customer managed key for the bucket's SSE-KMS configuration.\n

\n
\n

In the Zonal endpoint API calls (except CopyObject and UploadPartCopy) using the REST API, \n you can't override the values of the encryption settings (x-amz-server-side-encryption, x-amz-server-side-encryption-aws-kms-key-id, x-amz-server-side-encryption-context, and x-amz-server-side-encryption-bucket-key-enabled) from the CreateSession request. \n You don't need to explicitly specify these encryption settings values in Zonal endpoint API calls, and \n Amazon S3 will use the encryption settings values from the CreateSession request to protect new objects in the directory bucket. \n

\n \n

When you use the CLI or the Amazon Web Services SDKs, for CreateSession, the session token refreshes automatically to avoid service interruptions when a session expires. The CLI or the Amazon Web Services SDKs use the bucket's default encryption configuration for the \n CreateSession request. It's not supported to override the encryption settings values in the CreateSession request. \n Also, in the Zonal endpoint API calls (except CopyObject and UploadPartCopy), \n it's not supported to override the values of the encryption settings from the CreateSession request. \n\n

\n
\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is \n Bucket-name.s3express-zone-id.region-code.amazonaws.com.

\n
\n
", "smithy.api#http": { "method": "GET", "uri": "/{Bucket}?session", @@ -19969,6 +20900,12 @@ "traits": { "smithy.api#enumValue": "SingleAvailabilityZone" } + }, + "SingleLocalZone": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SingleLocalZone" + } } } }, @@ -20042,7 +20979,7 @@ "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "

Deletes the S3 bucket. All objects (including all object versions and delete markers) in\n the bucket must be deleted before the bucket itself can be deleted.

\n \n
    \n
  • \n

    \n Directory buckets - If multipart\n uploads in a directory bucket are in progress, you can't delete the bucket until\n all the in-progress multipart uploads are aborted or completed.

    \n
  • \n
  • \n

    \n Directory buckets - For directory buckets, you must make requests for this API operation to the Regional endpoint. These endpoints support path-style requests in the format https://s3express-control.region_code.amazonaws.com/bucket-name\n . Virtual-hosted-style requests aren't supported. \nFor more information, see Regional and Zonal endpoints in the\n Amazon S3 User Guide.

    \n
  • \n
\n
\n
\n
Permissions
\n
\n
    \n
  • \n

    \n General purpose bucket permissions - You\n must have the s3:DeleteBucket permission on the specified\n bucket in a policy.

    \n
  • \n
  • \n

    \n Directory bucket permissions -\n You must have the s3express:DeleteBucket permission in\n an IAM identity-based policy instead of a bucket policy. Cross-account access to this API operation isn't supported. This operation can only be performed by the Amazon Web Services account that owns the resource.\n For more information about directory bucket policies and permissions, see Amazon Web Services Identity and Access Management (IAM) for S3 Express One Zone in the Amazon S3 User Guide.

    \n
  • \n
\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is s3express-control.region.amazonaws.com.

\n
\n
\n

The following operations are related to DeleteBucket:

\n ", + "smithy.api#documentation": "

Deletes the S3 bucket. All objects (including all object versions and delete markers) in\n the bucket must be deleted before the bucket itself can be deleted.

\n \n
    \n
  • \n

    \n Directory buckets - If multipart\n uploads in a directory bucket are in progress, you can't delete the bucket until\n all the in-progress multipart uploads are aborted or completed.

    \n
  • \n
  • \n

    \n Directory buckets - For directory buckets, you must make requests for this API operation to the Regional endpoint. These endpoints support path-style requests in the format https://s3express-control.region-code.amazonaws.com/bucket-name\n . Virtual-hosted-style requests aren't supported. \nFor more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Available Local Zone for directory buckets in the\n Amazon S3 User Guide.

    \n
  • \n
\n
\n
\n
Permissions
\n
\n
    \n
  • \n

    \n General purpose bucket permissions - You\n must have the s3:DeleteBucket permission on the specified\n bucket in a policy.

    \n
  • \n
  • \n

    \n Directory bucket permissions -\n You must have the s3express:DeleteBucket permission in\n an IAM identity-based policy instead of a bucket policy. Cross-account access to this API operation isn't supported. This operation can only be performed by the Amazon Web Services account that owns the resource.\n For more information about directory bucket policies and permissions, see Amazon Web Services Identity and Access Management (IAM) for S3 Express One Zone in the Amazon S3 User Guide.

    \n
  • \n
\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is s3express-control.region-code.amazonaws.com.

\n
\n
\n

The following operations are related to DeleteBucket:

\n ", "smithy.api#examples": [ { "title": "To delete a bucket", @@ -20186,7 +21123,7 @@ "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "

This implementation of the DELETE action resets the default encryption for the bucket as\n server-side encryption with Amazon S3 managed keys (SSE-S3).

\n \n \n \n
\n
Permissions
\n
\n
    \n
  • \n

    \n General purpose bucket permissions - The\n s3:PutEncryptionConfiguration permission is required in a\n policy. The bucket owner has this permission by default. The bucket owner\n can grant this permission to others. For more information about permissions,\n see Permissions Related to Bucket Operations and Managing Access\n Permissions to Your Amazon S3 Resources.

    \n
  • \n
  • \n

    \n Directory bucket permissions -\n To grant access to this API operation, you must have the\n s3express:PutEncryptionConfiguration permission in\n an IAM identity-based policy instead of a bucket policy. Cross-account access to this API operation isn't supported. This operation can only be performed by the Amazon Web Services account that owns the resource.\n For more information about directory bucket policies and permissions, see Amazon Web Services Identity and Access Management (IAM) for S3 Express One Zone in the Amazon S3 User Guide.

    \n
  • \n
\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is s3express-control.region.amazonaws.com.

\n
\n
\n

The following operations are related to DeleteBucketEncryption:

\n ", + "smithy.api#documentation": "

This implementation of the DELETE action resets the default encryption for the bucket as\n server-side encryption with Amazon S3 managed keys (SSE-S3).

\n \n \n \n
\n
Permissions
\n
\n
    \n
  • \n

    \n General purpose bucket permissions - The\n s3:PutEncryptionConfiguration permission is required in a\n policy. The bucket owner has this permission by default. The bucket owner\n can grant this permission to others. For more information about permissions,\n see Permissions Related to Bucket Operations and Managing Access\n Permissions to Your Amazon S3 Resources.

    \n
  • \n
  • \n

    \n Directory bucket permissions -\n To grant access to this API operation, you must have the\n s3express:PutEncryptionConfiguration permission in\n an IAM identity-based policy instead of a bucket policy. Cross-account access to this API operation isn't supported. This operation can only be performed by the Amazon Web Services account that owns the resource.\n For more information about directory bucket policies and permissions, see Amazon Web Services Identity and Access Management (IAM) for S3 Express One Zone in the Amazon S3 User Guide.

    \n
  • \n
\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is s3express-control.region-code.amazonaws.com.

\n
\n
\n

The following operations are related to DeleteBucketEncryption:

\n ", "smithy.api#http": { "method": "DELETE", "uri": "/{Bucket}?encryption", @@ -20205,7 +21142,7 @@ "Bucket": { "target": "com.amazonaws.s3#BucketName", "traits": { - "smithy.api#documentation": "

The name of the bucket containing the server-side encryption configuration to\n delete.

\n

\n Directory buckets - When you use this operation with a directory bucket, you must use path-style requests in the format https://s3express-control.region_code.amazonaws.com/bucket-name\n . Virtual-hosted-style requests aren't supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must also follow the format \n bucket_base_name--az_id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming restrictions, see Directory bucket naming rules in the Amazon S3 User Guide\n

", + "smithy.api#documentation": "

The name of the bucket containing the server-side encryption configuration to\n delete.

\n

\n Directory buckets - When you use this operation with a directory bucket, you must use path-style requests in the format https://s3express-control.region-code.amazonaws.com/bucket-name\n . Virtual-hosted-style requests aren't supported. Directory bucket names must be unique in the chosen Zone (Availability Zone or Local Zone). Bucket names must also follow the format \n bucket-base-name--zone-id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming restrictions, see Directory bucket naming rules in the Amazon S3 User Guide\n

", "smithy.api#httpLabel": {}, "smithy.api#required": {}, "smithy.rules#contextParam": { @@ -20339,7 +21276,7 @@ "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "

Deletes the lifecycle configuration from the specified bucket. Amazon S3 removes all the\n lifecycle configuration rules in the lifecycle subresource associated with the bucket. Your\n objects never expire, and Amazon S3 no longer automatically deletes any objects on the basis of\n rules contained in the deleted lifecycle configuration.

\n
\n
Permissions
\n
\n
    \n
  • \n

    \n General purpose bucket permissions - By\n default, all Amazon S3 resources are private, including buckets, objects, and\n related subresources (for example, lifecycle configuration and website\n configuration). Only the resource owner (that is, the Amazon Web Services account that\n created it) can access the resource. The resource owner can optionally grant\n access permissions to others by writing an access policy. For this\n operation, a user must have the s3:PutLifecycleConfiguration\n permission.

    \n

    For more information about permissions, see Managing Access\n Permissions to Your Amazon S3 Resources.

    \n
  • \n
\n
    \n
  • \n

    \n Directory bucket permissions -\n You must have the s3express:PutLifecycleConfiguration\n permission in an IAM identity-based policy to use this operation.\n Cross-account access to this API operation isn't supported. The resource\n owner can optionally grant access permissions to others by creating a role\n or user for them as long as they are within the same account as the owner\n and resource.

    \n

    For more information about directory bucket policies and permissions, see\n Authorizing Regional endpoint APIs with IAM in the\n Amazon S3 User Guide.

    \n \n

    \n Directory buckets - For directory buckets, you must make requests for this API operation to the Regional endpoint. These endpoints support path-style requests in the format https://s3express-control.region_code.amazonaws.com/bucket-name\n . Virtual-hosted-style requests aren't supported. \nFor more information, see Regional and Zonal endpoints in the\n Amazon S3 User Guide.

    \n
    \n
  • \n
\n
\n
\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host\n header syntax is\n s3express-control.region.amazonaws.com.

\n
\n
\n

For more information about the object expiration, see Elements to Describe Lifecycle Actions.

\n

Related actions include:

\n ", + "smithy.api#documentation": "

Deletes the lifecycle configuration from the specified bucket. Amazon S3 removes all the\n lifecycle configuration rules in the lifecycle subresource associated with the bucket. Your\n objects never expire, and Amazon S3 no longer automatically deletes any objects on the basis of\n rules contained in the deleted lifecycle configuration.

\n
\n
Permissions
\n
\n
    \n
  • \n

    \n General purpose bucket permissions - By\n default, all Amazon S3 resources are private, including buckets, objects, and\n related subresources (for example, lifecycle configuration and website\n configuration). Only the resource owner (that is, the Amazon Web Services account that\n created it) can access the resource. The resource owner can optionally grant\n access permissions to others by writing an access policy. For this\n operation, a user must have the s3:PutLifecycleConfiguration\n permission.

    \n

    For more information about permissions, see Managing Access\n Permissions to Your Amazon S3 Resources.

    \n
  • \n
\n
    \n
  • \n

    \n Directory bucket permissions -\n You must have the s3express:PutLifecycleConfiguration\n permission in an IAM identity-based policy to use this operation.\n Cross-account access to this API operation isn't supported. The resource\n owner can optionally grant access permissions to others by creating a role\n or user for them as long as they are within the same account as the owner\n and resource.

    \n

    For more information about directory bucket policies and permissions, see\n Authorizing Regional endpoint APIs with IAM in the\n Amazon S3 User Guide.

    \n \n

    \n Directory buckets - For directory buckets, you must make requests for this API operation to the Regional endpoint. These endpoints support path-style requests in the format https://s3express-control.region-code.amazonaws.com/bucket-name\n . Virtual-hosted-style requests aren't supported. \nFor more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Available Local Zone for directory buckets in the\n Amazon S3 User Guide.

    \n
    \n
  • \n
\n
\n
\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host\n header syntax is\n s3express-control.region.amazonaws.com.

\n
\n
\n

For more information about the object expiration, see Elements to Describe Lifecycle Actions.

\n

Related actions include:

\n ", "smithy.api#examples": [ { "title": "To delete lifecycle configuration on a bucket.", @@ -20500,7 +21437,7 @@ "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "

Deletes the policy of a specified bucket.

\n \n

\n Directory buckets - For directory buckets, you must make requests for this API operation to the Regional endpoint. These endpoints support path-style requests in the format https://s3express-control.region_code.amazonaws.com/bucket-name\n . Virtual-hosted-style requests aren't supported. \nFor more information, see Regional and Zonal endpoints in the\n Amazon S3 User Guide.

\n
\n
\n
Permissions
\n
\n

If you are using an identity other than the root user of the Amazon Web Services account that\n owns the bucket, the calling identity must both have the\n DeleteBucketPolicy permissions on the specified bucket and belong\n to the bucket owner's account in order to use this operation.

\n

If you don't have DeleteBucketPolicy permissions, Amazon S3 returns a\n 403 Access Denied error. If you have the correct permissions, but\n you're not using an identity that belongs to the bucket owner's account, Amazon S3\n returns a 405 Method Not Allowed error.

\n \n

To ensure that bucket owners don't inadvertently lock themselves out of\n their own buckets, the root principal in a bucket owner's Amazon Web Services account can\n perform the GetBucketPolicy, PutBucketPolicy, and\n DeleteBucketPolicy API actions, even if their bucket policy\n explicitly denies the root principal's access. Bucket owner root principals can\n only be blocked from performing these API actions by VPC endpoint policies and\n Amazon Web Services Organizations policies.

\n
\n
    \n
  • \n

    \n General purpose bucket permissions - The\n s3:DeleteBucketPolicy permission is required in a policy.\n For more information about general purpose buckets bucket policies, see Using Bucket Policies and User Policies in the\n Amazon S3 User Guide.

    \n
  • \n
  • \n

    \n Directory bucket permissions -\n To grant access to this API operation, you must have the\n s3express:DeleteBucketPolicy permission in\n an IAM identity-based policy instead of a bucket policy. Cross-account access to this API operation isn't supported. This operation can only be performed by the Amazon Web Services account that owns the resource.\n For more information about directory bucket policies and permissions, see Amazon Web Services Identity and Access Management (IAM) for S3 Express One Zone in the Amazon S3 User Guide.

    \n
  • \n
\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is s3express-control.region.amazonaws.com.

\n
\n
\n

The following operations are related to DeleteBucketPolicy\n

\n ", + "smithy.api#documentation": "

Deletes the policy of a specified bucket.

\n \n

\n Directory buckets - For directory buckets, you must make requests for this API operation to the Regional endpoint. These endpoints support path-style requests in the format https://s3express-control.region-code.amazonaws.com/bucket-name\n . Virtual-hosted-style requests aren't supported. \nFor more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Available Local Zone for directory buckets in the\n Amazon S3 User Guide.

\n
\n
\n
Permissions
\n
\n

If you are using an identity other than the root user of the Amazon Web Services account that\n owns the bucket, the calling identity must both have the\n DeleteBucketPolicy permissions on the specified bucket and belong\n to the bucket owner's account in order to use this operation.

\n

If you don't have DeleteBucketPolicy permissions, Amazon S3 returns a\n 403 Access Denied error. If you have the correct permissions, but\n you're not using an identity that belongs to the bucket owner's account, Amazon S3\n returns a 405 Method Not Allowed error.

\n \n

To ensure that bucket owners don't inadvertently lock themselves out of\n their own buckets, the root principal in a bucket owner's Amazon Web Services account can\n perform the GetBucketPolicy, PutBucketPolicy, and\n DeleteBucketPolicy API actions, even if their bucket policy\n explicitly denies the root principal's access. Bucket owner root principals can\n only be blocked from performing these API actions by VPC endpoint policies and\n Amazon Web Services Organizations policies.

\n
\n
    \n
  • \n

    \n General purpose bucket permissions - The\n s3:DeleteBucketPolicy permission is required in a policy.\n For more information about general purpose buckets bucket policies, see Using Bucket Policies and User Policies in the\n Amazon S3 User Guide.

    \n
  • \n
  • \n

    \n Directory bucket permissions -\n To grant access to this API operation, you must have the\n s3express:DeleteBucketPolicy permission in\n an IAM identity-based policy instead of a bucket policy. Cross-account access to this API operation isn't supported. This operation can only be performed by the Amazon Web Services account that owns the resource.\n For more information about directory bucket policies and permissions, see Amazon Web Services Identity and Access Management (IAM) for S3 Express One Zone in the Amazon S3 User Guide.

    \n
  • \n
\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is s3express-control.region-code.amazonaws.com.

\n
\n
\n

The following operations are related to DeleteBucketPolicy\n

\n ", "smithy.api#examples": [ { "title": "To delete bucket policy", @@ -20528,7 +21465,7 @@ "Bucket": { "target": "com.amazonaws.s3#BucketName", "traits": { - "smithy.api#documentation": "

The bucket name.

\n

\n Directory buckets - When you use this operation with a directory bucket, you must use path-style requests in the format https://s3express-control.region_code.amazonaws.com/bucket-name\n . Virtual-hosted-style requests aren't supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must also follow the format \n bucket_base_name--az_id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming restrictions, see Directory bucket naming rules in the Amazon S3 User Guide\n

", + "smithy.api#documentation": "

The bucket name.

\n

\n Directory buckets - When you use this operation with a directory bucket, you must use path-style requests in the format https://s3express-control.region-code.amazonaws.com/bucket-name\n . Virtual-hosted-style requests aren't supported. Directory bucket names must be unique in the chosen Zone (Availability Zone or Local Zone). Bucket names must also follow the format \n bucket-base-name--zone-id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming restrictions, see Directory bucket naming rules in the Amazon S3 User Guide\n

", "smithy.api#httpLabel": {}, "smithy.api#required": {}, "smithy.rules#contextParam": { @@ -20611,7 +21548,7 @@ "Bucket": { "target": "com.amazonaws.s3#BucketName", "traits": { - "smithy.api#documentation": "

Specifies the bucket being deleted.

\n

\n Directory buckets - When you use this operation with a directory bucket, you must use path-style requests in the format https://s3express-control.region_code.amazonaws.com/bucket-name\n . Virtual-hosted-style requests aren't supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must also follow the format \n bucket_base_name--az_id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming restrictions, see Directory bucket naming rules in the Amazon S3 User Guide\n

", + "smithy.api#documentation": "

Specifies the bucket being deleted.

\n

\n Directory buckets - When you use this operation with a directory bucket, you must use path-style requests in the format https://s3express-control.region-code.amazonaws.com/bucket-name\n . Virtual-hosted-style requests aren't supported. Directory bucket names must be unique in the chosen Zone (Availability Zone or Local Zone). Bucket names must also follow the format \n bucket-base-name--zone-id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming restrictions, see Directory bucket naming rules in the Amazon S3 User Guide\n

", "smithy.api#httpLabel": {}, "smithy.api#required": {}, "smithy.rules#contextParam": { @@ -20835,7 +21772,7 @@ "target": "com.amazonaws.s3#DeleteObjectOutput" }, "traits": { - "smithy.api#documentation": "

Removes an object from a bucket. The behavior depends on the bucket's versioning state.\n For more information, see Best\n practices to consider before deleting an object.

\n

To remove a specific version, you must use the versionId query parameter.\n Using this query parameter permanently deletes the version. If the object deleted is a\n delete marker, Amazon S3 sets the response header x-amz-delete-marker to true. If\n the object you want to delete is in a bucket where the bucket versioning configuration is\n MFA delete enabled, you must include the x-amz-mfa request header in the\n DELETE versionId request. Requests that include x-amz-mfa must\n use HTTPS. For more information about MFA delete and to see example requests, see Using MFA\n delete and Sample\n request in the Amazon S3 User Guide.

\n \n
    \n
  • \n

    S3 Versioning isn't enabled and supported for directory buckets. For this API operation, only the null value of the version ID is supported by directory buckets. You can only specify null to the\n versionId query parameter in the request.

    \n
  • \n
  • \n

    For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://bucket_name.s3express-az_id.region.amazonaws.com/key-name\n . Path-style requests are not supported. For more information, see Regional and Zonal endpoints in the\n Amazon S3 User Guide.

    \n
  • \n
  • \n

    MFA delete is not supported by directory buckets.

    \n
  • \n
\n
\n
\n
Permissions
\n
\n
    \n
  • \n

    \n General purpose bucket permissions - The\n following permissions are required in your policies when your\n DeleteObjects request includes specific headers.

    \n
      \n
    • \n

      \n \n s3:DeleteObject\n \n - To delete an object from a bucket, you must always have the\n s3:DeleteObject permission.

      \n \n

      You can also use PutBucketLifecycle to delete\n objects in Amazon S3.

      \n
      \n
    • \n
    • \n

      \n \n s3:DeleteObjectVersion\n - To delete a specific version of an object from a\n versioning-enabled bucket, you must have the\n s3:DeleteObjectVersion permission.

      \n
    • \n
    • \n

      If you want to block users or accounts from removing or deleting\n objects from your bucket, you must deny them the\n s3:DeleteObject, s3:DeleteObjectVersion,\n and s3:PutLifeCycleConfiguration permissions.

      \n
    • \n
    \n
  • \n
  • \n

    \n Directory buckets permissions -\n To grant access to this API operation on a directory bucket, we recommend\n that you use the CreateSession API operation for\n session-based authorization.

    \n
  • \n
\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is \n Bucket_name.s3express-az_id.region.amazonaws.com.

\n
\n
\n

The following action is related to DeleteObject:

\n ", + "smithy.api#documentation": "

Removes an object from a bucket. The behavior depends on the bucket's versioning state:

\n
    \n
  • \n

    If bucket versioning is not enabled, the operation permanently deletes the object.

    \n
  • \n
  • \n

    If bucket versioning is enabled, the operation inserts a delete marker, which becomes the current version of the object. To permanently delete an object in a versioned bucket, you must include the object’s versionId in the request. For more information about versioning-enabled buckets, see Deleting object versions from a versioning-enabled bucket.

    \n
  • \n
  • \n

    If bucket versioning is suspended, the operation removes the object that has a null versionId, if there is one, and inserts a delete marker that becomes the current version of the object. If there isn't an object with a null versionId, and all versions of the object have a versionId, Amazon S3 does not remove the object and only inserts a delete marker. To permanently delete an object that has a versionId, you must include the object’s versionId in the request. For more information about versioning-suspended buckets, see Deleting objects from versioning-suspended buckets.

    \n
  • \n
\n \n
    \n
  • \n

    \n Directory buckets - S3 Versioning isn't enabled and supported for directory buckets. For this API operation, only the null value of the version ID is supported by directory buckets. You can only specify null \n to the versionId query parameter in the request.

    \n
  • \n
  • \n

    \n Directory buckets - For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://bucket-name.s3express-zone-id.region-code.amazonaws.com/key-name\n . Path-style requests are not supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Available Local Zone for directory buckets in the\n Amazon S3 User Guide.

    \n
  • \n
\n
\n

To remove a specific version, you must use the versionId query parameter. Using this\n query parameter permanently deletes the version. If the object deleted is a delete marker, Amazon S3\n sets the response header x-amz-delete-marker to true.

\n

If the object you want to delete is in a bucket where the bucket versioning\n configuration is MFA Delete enabled, you must include the x-amz-mfa request\n header in the DELETE versionId request. Requests that include\n x-amz-mfa must use HTTPS. For more information about MFA Delete, see Using MFA Delete in the Amazon S3\n User Guide. To see sample\n requests that use versioning, see Sample\n Request.

\n \n

\n Directory buckets - MFA delete is not supported by directory buckets.

\n
\n

You can delete objects by explicitly calling DELETE Object or calling \n (PutBucketLifecycle) to enable Amazon S3 to remove them for you. If you want to block\n users or accounts from removing or deleting objects from your bucket, you must deny them\n the s3:DeleteObject, s3:DeleteObjectVersion, and\n s3:PutLifeCycleConfiguration actions.

\n \n

\n Directory buckets - S3 Lifecycle is not supported by directory buckets.

\n
\n
\n
Permissions
\n
\n
    \n
  • \n

    \n General purpose bucket permissions - The following permissions are required in your policies when your \n DeleteObjects request includes specific headers.

    \n
      \n
    • \n

      \n \n s3:DeleteObject\n - To delete an object from a bucket, you must always have the s3:DeleteObject permission.

      \n
    • \n
    • \n

      \n \n s3:DeleteObjectVersion\n - To delete a specific version of an object from a versioning-enabled bucket, you must have the s3:DeleteObjectVersion permission.

      \n
    • \n
    \n
  • \n
  • \n

    \n Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the \n CreateSession\n API operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. \nAmazon Web Services CLI or SDKs create session and refresh the session token automatically to avoid service interruptions when a session expires. For more information about authorization, see \n CreateSession\n .

    \n
  • \n
\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is \n Bucket-name.s3express-zone-id.region-code.amazonaws.com.

\n
\n
\n

The following action is related to DeleteObject:

\n ", "smithy.api#examples": [ { "title": "To delete an object (from a non-versioned bucket)", @@ -20896,7 +21833,7 @@ "Bucket": { "target": "com.amazonaws.s3#BucketName", "traits": { - "smithy.api#documentation": "

The bucket name of the bucket containing the object.

\n

\n Directory buckets -\n When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format \n Bucket_name.s3express-az_id.region.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format \n bucket_base_name--az-id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming\n restrictions, see Directory bucket naming\n rules in the Amazon S3 User Guide.

\n

\n Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

\n \n

Access points and Object Lambda access points are not supported by directory buckets.

\n
\n

\n S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form \n AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

", + "smithy.api#documentation": "

The bucket name of the bucket containing the object.

\n

\n Directory buckets -\n When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format \n Bucket-name.s3express-zone-id.region-code.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Zone (Availability Zone or Local Zone). Bucket names must follow the format \n bucket-base-name--zone-id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming\n restrictions, see Directory bucket naming\n rules in the Amazon S3 User Guide.

\n

\n Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

\n \n

Access points and Object Lambda access points are not supported by directory buckets.

\n
\n

\n S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form \n AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

", "smithy.api#httpLabel": {}, "smithy.api#required": {}, "smithy.rules#contextParam": { @@ -21086,7 +22023,7 @@ "requestAlgorithmMember": "ChecksumAlgorithm", "requestChecksumRequired": true }, - "smithy.api#documentation": "

This operation enables you to delete multiple objects from a bucket using a single HTTP\n request. If you know the object keys that you want to delete, then this operation provides\n a suitable alternative to sending individual delete requests, reducing per-request\n overhead.

\n

The request can contain a list of up to 1000 keys that you want to delete. In the XML,\n you provide the object key names, and optionally, version IDs if you want to delete a\n specific version of the object from a versioning-enabled bucket. For each key, Amazon S3\n performs a delete operation and returns the result of that delete, success or failure, in\n the response. Note that if the object specified in the request is not found, Amazon S3 returns\n the result as deleted.

\n \n
    \n
  • \n

    \n Directory buckets -\n S3 Versioning isn't enabled and supported for directory buckets.

    \n
  • \n
  • \n

    \n Directory buckets -\n For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://bucket_name.s3express-az_id.region.amazonaws.com/key-name\n . Path-style requests are not supported. For more information, see Regional and Zonal endpoints in the\n Amazon S3 User Guide.

    \n
  • \n
\n
\n

The operation supports two modes for the response: verbose and quiet. By default, the\n operation uses verbose mode in which the response includes the result of deletion of each\n key in your request. In quiet mode the response includes only keys where the delete\n operation encountered an error. For a successful deletion in a quiet mode, the operation\n does not return any information about the delete in the response body.

\n

When performing this action on an MFA Delete enabled bucket, that attempts to delete any\n versioned objects, you must include an MFA token. If you do not provide one, the entire\n request will fail, even if there are non-versioned objects you are trying to delete. If you\n provide an invalid token, whether there are versioned keys in the request or not, the\n entire Multi-Object Delete request will fail. For information about MFA Delete, see MFA\n Delete in the Amazon S3 User Guide.

\n \n

\n Directory buckets -\n MFA delete is not supported by directory buckets.

\n
\n
\n
Permissions
\n
\n
    \n
  • \n

    \n General purpose bucket permissions - The\n following permissions are required in your policies when your\n DeleteObjects request includes specific headers.

    \n
      \n
    • \n

      \n \n s3:DeleteObject\n \n - To delete an object from a bucket, you must always specify\n the s3:DeleteObject permission.

      \n
    • \n
    • \n

      \n \n s3:DeleteObjectVersion\n - To delete a specific version of an object from a\n versioning-enabled bucket, you must specify the\n s3:DeleteObjectVersion permission.

      \n
    • \n
    \n
  • \n
  • \n

    \n Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the \n CreateSession\n API operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. \nAmazon Web Services CLI or SDKs create session and refresh the session token automatically to avoid service interruptions when a session expires. For more information about authorization, see \n CreateSession\n .

    \n
  • \n
\n
\n
Content-MD5 request header
\n
\n
    \n
  • \n

    \n General purpose bucket - The Content-MD5\n request header is required for all Multi-Object Delete requests. Amazon S3 uses\n the header value to ensure that your request body has not been altered in\n transit.

    \n
  • \n
  • \n

    \n Directory bucket - The\n Content-MD5 request header or a additional checksum request header\n (including x-amz-checksum-crc32,\n x-amz-checksum-crc32c, x-amz-checksum-sha1, or\n x-amz-checksum-sha256) is required for all Multi-Object\n Delete requests.

    \n
  • \n
\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is \n Bucket_name.s3express-az_id.region.amazonaws.com.

\n
\n
\n

The following operations are related to DeleteObjects:

\n ", + "smithy.api#documentation": "

This operation enables you to delete multiple objects from a bucket using a single HTTP\n request. If you know the object keys that you want to delete, then this operation provides\n a suitable alternative to sending individual delete requests, reducing per-request\n overhead.

\n

The request can contain a list of up to 1000 keys that you want to delete. In the XML,\n you provide the object key names, and optionally, version IDs if you want to delete a\n specific version of the object from a versioning-enabled bucket. For each key, Amazon S3\n performs a delete operation and returns the result of that delete, success or failure, in\n the response. Note that if the object specified in the request is not found, Amazon S3 returns\n the result as deleted.

\n \n
    \n
  • \n

    \n Directory buckets -\n S3 Versioning isn't enabled and supported for directory buckets.

    \n
  • \n
  • \n

    \n Directory buckets -\n For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://bucket-name.s3express-zone-id.region-code.amazonaws.com/key-name\n . Path-style requests are not supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Available Local Zone for directory buckets in the\n Amazon S3 User Guide.

    \n
  • \n
\n
\n

The operation supports two modes for the response: verbose and quiet. By default, the\n operation uses verbose mode in which the response includes the result of deletion of each\n key in your request. In quiet mode the response includes only keys where the delete\n operation encountered an error. For a successful deletion in a quiet mode, the operation\n does not return any information about the delete in the response body.

\n

When performing this action on an MFA Delete enabled bucket, that attempts to delete any\n versioned objects, you must include an MFA token. If you do not provide one, the entire\n request will fail, even if there are non-versioned objects you are trying to delete. If you\n provide an invalid token, whether there are versioned keys in the request or not, the\n entire Multi-Object Delete request will fail. For information about MFA Delete, see MFA\n Delete in the Amazon S3 User Guide.

\n \n

\n Directory buckets -\n MFA delete is not supported by directory buckets.

\n
\n
\n
Permissions
\n
\n
    \n
  • \n

    \n General purpose bucket permissions - The\n following permissions are required in your policies when your\n DeleteObjects request includes specific headers.

    \n
      \n
    • \n

      \n \n s3:DeleteObject\n \n - To delete an object from a bucket, you must always specify\n the s3:DeleteObject permission.

      \n
    • \n
    • \n

      \n \n s3:DeleteObjectVersion\n - To delete a specific version of an object from a\n versioning-enabled bucket, you must specify the\n s3:DeleteObjectVersion permission.

      \n
    • \n
    \n
  • \n
  • \n

    \n Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the \n CreateSession\n API operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. \nAmazon Web Services CLI or SDKs create session and refresh the session token automatically to avoid service interruptions when a session expires. For more information about authorization, see \n CreateSession\n .

    \n
  • \n
\n
\n
Content-MD5 request header
\n
\n
    \n
  • \n

    \n General purpose bucket - The Content-MD5\n request header is required for all Multi-Object Delete requests. Amazon S3 uses\n the header value to ensure that your request body has not been altered in\n transit.

    \n
  • \n
  • \n

    \n Directory bucket - The\n Content-MD5 request header or a additional checksum request header\n (including x-amz-checksum-crc32,\n x-amz-checksum-crc32c, x-amz-checksum-sha1, or\n x-amz-checksum-sha256) is required for all Multi-Object\n Delete requests.

    \n
  • \n
\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is \n Bucket-name.s3express-zone-id.region-code.amazonaws.com.

\n
\n
\n

The following operations are related to DeleteObjects:

\n ", "smithy.api#examples": [ { "title": "To delete multiple object versions from a versioned bucket", @@ -21196,7 +22133,7 @@ "Bucket": { "target": "com.amazonaws.s3#BucketName", "traits": { - "smithy.api#documentation": "

The bucket name containing the objects to delete.

\n

\n Directory buckets -\n When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format \n Bucket_name.s3express-az_id.region.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format \n bucket_base_name--az-id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming\n restrictions, see Directory bucket naming\n rules in the Amazon S3 User Guide.

\n

\n Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

\n \n

Access points and Object Lambda access points are not supported by directory buckets.

\n
\n

\n S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form \n AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

", + "smithy.api#documentation": "

The bucket name containing the objects to delete.

\n

\n Directory buckets -\n When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format \n Bucket-name.s3express-zone-id.region-code.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Zone (Availability Zone or Local Zone). Bucket names must follow the format \n bucket-base-name--zone-id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming\n restrictions, see Directory bucket naming\n rules in the Amazon S3 User Guide.

\n

\n Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

\n \n

Access points and Object Lambda access points are not supported by directory buckets.

\n
\n

\n S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form \n AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

", "smithy.api#httpLabel": {}, "smithy.api#required": {}, "smithy.rules#contextParam": { @@ -22206,7 +23143,7 @@ "target": "com.amazonaws.s3#GetBucketEncryptionOutput" }, "traits": { - "smithy.api#documentation": "

Returns the default encryption configuration for an Amazon S3 bucket. By default, all buckets\n have a default encryption configuration that uses server-side encryption with Amazon S3 managed\n keys (SSE-S3).

\n \n \n \n
\n
Permissions
\n
\n
    \n
  • \n

    \n General purpose bucket permissions - The\n s3:GetEncryptionConfiguration permission is required in a\n policy. The bucket owner has this permission by default. The bucket owner\n can grant this permission to others. For more information about permissions,\n see Permissions Related to Bucket Operations and Managing Access\n Permissions to Your Amazon S3 Resources.

    \n
  • \n
  • \n

    \n Directory bucket permissions -\n To grant access to this API operation, you must have the\n s3express:GetEncryptionConfiguration permission in\n an IAM identity-based policy instead of a bucket policy. Cross-account access to this API operation isn't supported. This operation can only be performed by the Amazon Web Services account that owns the resource.\n For more information about directory bucket policies and permissions, see Amazon Web Services Identity and Access Management (IAM) for S3 Express One Zone in the Amazon S3 User Guide.

    \n
  • \n
\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is s3express-control.region.amazonaws.com.

\n
\n
\n

The following operations are related to GetBucketEncryption:

\n ", + "smithy.api#documentation": "

Returns the default encryption configuration for an Amazon S3 bucket. By default, all buckets\n have a default encryption configuration that uses server-side encryption with Amazon S3 managed\n keys (SSE-S3).

\n \n \n \n
\n
Permissions
\n
\n
    \n
  • \n

    \n General purpose bucket permissions - The\n s3:GetEncryptionConfiguration permission is required in a\n policy. The bucket owner has this permission by default. The bucket owner\n can grant this permission to others. For more information about permissions,\n see Permissions Related to Bucket Operations and Managing Access\n Permissions to Your Amazon S3 Resources.

    \n
  • \n
  • \n

    \n Directory bucket permissions -\n To grant access to this API operation, you must have the\n s3express:GetEncryptionConfiguration permission in\n an IAM identity-based policy instead of a bucket policy. Cross-account access to this API operation isn't supported. This operation can only be performed by the Amazon Web Services account that owns the resource.\n For more information about directory bucket policies and permissions, see Amazon Web Services Identity and Access Management (IAM) for S3 Express One Zone in the Amazon S3 User Guide.

    \n
  • \n
\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is s3express-control.region-code.amazonaws.com.

\n
\n
\n

The following operations are related to GetBucketEncryption:

\n ", "smithy.api#http": { "method": "GET", "uri": "/{Bucket}?encryption", @@ -22239,7 +23176,7 @@ "Bucket": { "target": "com.amazonaws.s3#BucketName", "traits": { - "smithy.api#documentation": "

The name of the bucket from which the server-side encryption configuration is\n retrieved.

\n

\n Directory buckets - When you use this operation with a directory bucket, you must use path-style requests in the format https://s3express-control.region_code.amazonaws.com/bucket-name\n . Virtual-hosted-style requests aren't supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must also follow the format \n bucket_base_name--az_id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming restrictions, see Directory bucket naming rules in the Amazon S3 User Guide\n

", + "smithy.api#documentation": "

The name of the bucket from which the server-side encryption configuration is\n retrieved.

\n

\n Directory buckets - When you use this operation with a directory bucket, you must use path-style requests in the format https://s3express-control.region-code.amazonaws.com/bucket-name\n . Virtual-hosted-style requests aren't supported. Directory bucket names must be unique in the chosen Zone (Availability Zone or Local Zone). Bucket names must also follow the format \n bucket-base-name--zone-id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming restrictions, see Directory bucket naming rules in the Amazon S3 User Guide\n

", "smithy.api#httpLabel": {}, "smithy.api#required": {}, "smithy.rules#contextParam": { @@ -22403,7 +23340,7 @@ "target": "com.amazonaws.s3#GetBucketLifecycleConfigurationOutput" }, "traits": { - "smithy.api#documentation": "

Returns the lifecycle configuration information set on the bucket. For information about\n lifecycle configuration, see Object Lifecycle\n Management.

\n

Bucket lifecycle configuration now supports specifying a lifecycle rule using an object\n key name prefix, one or more object tags, object size, or any combination of these.\n Accordingly, this section describes the latest API, which is compatible with the new\n functionality. The previous version of the API supported filtering based only on an object\n key name prefix, which is supported for general purpose buckets for backward compatibility.\n For the related API description, see GetBucketLifecycle.

\n \n

Lifecyle configurations for directory buckets only support expiring objects and\n cancelling multipart uploads. Expiring of versioned objects, transitions and tag filters\n are not supported.

\n
\n
\n
Permissions
\n
\n
    \n
  • \n

    \n General purpose bucket permissions - By\n default, all Amazon S3 resources are private, including buckets, objects, and\n related subresources (for example, lifecycle configuration and website\n configuration). Only the resource owner (that is, the Amazon Web Services account that\n created it) can access the resource. The resource owner can optionally grant\n access permissions to others by writing an access policy. For this\n operation, a user must have the s3:GetLifecycleConfiguration\n permission.

    \n

    For more information about permissions, see Managing Access\n Permissions to Your Amazon S3 Resources.

    \n
  • \n
\n
    \n
  • \n

    \n Directory bucket permissions -\n You must have the s3express:GetLifecycleConfiguration\n permission in an IAM identity-based policy to use this operation.\n Cross-account access to this API operation isn't supported. The resource\n owner can optionally grant access permissions to others by creating a role\n or user for them as long as they are within the same account as the owner\n and resource.

    \n

    For more information about directory bucket policies and permissions, see\n Authorizing Regional endpoint APIs with IAM in the\n Amazon S3 User Guide.

    \n \n

    \n Directory buckets - For directory buckets, you must make requests for this API operation to the Regional endpoint. These endpoints support path-style requests in the format https://s3express-control.region_code.amazonaws.com/bucket-name\n . Virtual-hosted-style requests aren't supported. \nFor more information, see Regional and Zonal endpoints in the\n Amazon S3 User Guide.

    \n
    \n
  • \n
\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host\n header syntax is\n s3express-control.region.amazonaws.com.

\n
\n
\n

\n GetBucketLifecycleConfiguration has the following special error:

\n
    \n
  • \n

    Error code: NoSuchLifecycleConfiguration\n

    \n
      \n
    • \n

      Description: The lifecycle configuration does not exist.

      \n
    • \n
    • \n

      HTTP Status Code: 404 Not Found

      \n
    • \n
    • \n

      SOAP Fault Code Prefix: Client

      \n
    • \n
    \n
  • \n
\n

The following operations are related to\n GetBucketLifecycleConfiguration:

\n ", + "smithy.api#documentation": "

Returns the lifecycle configuration information set on the bucket. For information about\n lifecycle configuration, see Object Lifecycle\n Management.

\n

Bucket lifecycle configuration now supports specifying a lifecycle rule using an object\n key name prefix, one or more object tags, object size, or any combination of these.\n Accordingly, this section describes the latest API, which is compatible with the new\n functionality. The previous version of the API supported filtering based only on an object\n key name prefix, which is supported for general purpose buckets for backward compatibility.\n For the related API description, see GetBucketLifecycle.

\n \n

Lifecyle configurations for directory buckets only support expiring objects and\n cancelling multipart uploads. Expiring of versioned objects, transitions and tag filters\n are not supported.

\n
\n
\n
Permissions
\n
\n
    \n
  • \n

    \n General purpose bucket permissions - By\n default, all Amazon S3 resources are private, including buckets, objects, and\n related subresources (for example, lifecycle configuration and website\n configuration). Only the resource owner (that is, the Amazon Web Services account that\n created it) can access the resource. The resource owner can optionally grant\n access permissions to others by writing an access policy. For this\n operation, a user must have the s3:GetLifecycleConfiguration\n permission.

    \n

    For more information about permissions, see Managing Access\n Permissions to Your Amazon S3 Resources.

    \n
  • \n
\n
    \n
  • \n

    \n Directory bucket permissions -\n You must have the s3express:GetLifecycleConfiguration\n permission in an IAM identity-based policy to use this operation.\n Cross-account access to this API operation isn't supported. The resource\n owner can optionally grant access permissions to others by creating a role\n or user for them as long as they are within the same account as the owner\n and resource.

    \n

    For more information about directory bucket policies and permissions, see\n Authorizing Regional endpoint APIs with IAM in the\n Amazon S3 User Guide.

    \n \n

    \n Directory buckets - For directory buckets, you must make requests for this API operation to the Regional endpoint. These endpoints support path-style requests in the format https://s3express-control.region-code.amazonaws.com/bucket-name\n . Virtual-hosted-style requests aren't supported. \nFor more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Available Local Zone for directory buckets in the\n Amazon S3 User Guide.

    \n
    \n
  • \n
\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host\n header syntax is\n s3express-control.region.amazonaws.com.

\n
\n
\n

\n GetBucketLifecycleConfiguration has the following special error:

\n
    \n
  • \n

    Error code: NoSuchLifecycleConfiguration\n

    \n
      \n
    • \n

      Description: The lifecycle configuration does not exist.

      \n
    • \n
    • \n

      HTTP Status Code: 404 Not Found

      \n
    • \n
    • \n

      SOAP Fault Code Prefix: Client

      \n
    • \n
    \n
  • \n
\n

The following operations are related to\n GetBucketLifecycleConfiguration:

\n ", "smithy.api#examples": [ { "title": "To get lifecycle configuration on a bucket", @@ -22817,7 +23754,7 @@ "target": "com.amazonaws.s3#GetBucketPolicyOutput" }, "traits": { - "smithy.api#documentation": "

Returns the policy of a specified bucket.

\n \n

\n Directory buckets - For directory buckets, you must make requests for this API operation to the Regional endpoint. These endpoints support path-style requests in the format https://s3express-control.region_code.amazonaws.com/bucket-name\n . Virtual-hosted-style requests aren't supported. \nFor more information, see Regional and Zonal endpoints in the\n Amazon S3 User Guide.

\n
\n
\n
Permissions
\n
\n

If you are using an identity other than the root user of the Amazon Web Services account that\n owns the bucket, the calling identity must both have the\n GetBucketPolicy permissions on the specified bucket and belong to\n the bucket owner's account in order to use this operation.

\n

If you don't have GetBucketPolicy permissions, Amazon S3 returns a\n 403 Access Denied error. If you have the correct permissions, but\n you're not using an identity that belongs to the bucket owner's account, Amazon S3\n returns a 405 Method Not Allowed error.

\n \n

To ensure that bucket owners don't inadvertently lock themselves out of\n their own buckets, the root principal in a bucket owner's Amazon Web Services account can\n perform the GetBucketPolicy, PutBucketPolicy, and\n DeleteBucketPolicy API actions, even if their bucket policy\n explicitly denies the root principal's access. Bucket owner root principals can\n only be blocked from performing these API actions by VPC endpoint policies and\n Amazon Web Services Organizations policies.

\n
\n
    \n
  • \n

    \n General purpose bucket permissions - The\n s3:GetBucketPolicy permission is required in a policy. For\n more information about general purpose buckets bucket policies, see Using Bucket Policies and User Policies in the\n Amazon S3 User Guide.

    \n
  • \n
  • \n

    \n Directory bucket permissions -\n To grant access to this API operation, you must have the\n s3express:GetBucketPolicy permission in\n an IAM identity-based policy instead of a bucket policy. Cross-account access to this API operation isn't supported. This operation can only be performed by the Amazon Web Services account that owns the resource.\n For more information about directory bucket policies and permissions, see Amazon Web Services Identity and Access Management (IAM) for S3 Express One Zone in the Amazon S3 User Guide.

    \n
  • \n
\n
\n
Example bucket policies
\n
\n

\n General purpose buckets example bucket policies\n - See Bucket policy\n examples in the Amazon S3 User Guide.

\n

\n Directory bucket example bucket policies\n - See Example bucket policies for S3 Express One Zone in the\n Amazon S3 User Guide.

\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is s3express-control.region.amazonaws.com.

\n
\n
\n

The following action is related to GetBucketPolicy:

\n ", + "smithy.api#documentation": "

Returns the policy of a specified bucket.

\n \n

\n Directory buckets - For directory buckets, you must make requests for this API operation to the Regional endpoint. These endpoints support path-style requests in the format https://s3express-control.region-code.amazonaws.com/bucket-name\n . Virtual-hosted-style requests aren't supported. \nFor more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Available Local Zone for directory buckets in the\n Amazon S3 User Guide.

\n
\n
\n
Permissions
\n
\n

If you are using an identity other than the root user of the Amazon Web Services account that\n owns the bucket, the calling identity must both have the\n GetBucketPolicy permissions on the specified bucket and belong to\n the bucket owner's account in order to use this operation.

\n

If you don't have GetBucketPolicy permissions, Amazon S3 returns a\n 403 Access Denied error. If you have the correct permissions, but\n you're not using an identity that belongs to the bucket owner's account, Amazon S3\n returns a 405 Method Not Allowed error.

\n \n

To ensure that bucket owners don't inadvertently lock themselves out of\n their own buckets, the root principal in a bucket owner's Amazon Web Services account can\n perform the GetBucketPolicy, PutBucketPolicy, and\n DeleteBucketPolicy API actions, even if their bucket policy\n explicitly denies the root principal's access. Bucket owner root principals can\n only be blocked from performing these API actions by VPC endpoint policies and\n Amazon Web Services Organizations policies.

\n
\n
    \n
  • \n

    \n General purpose bucket permissions - The\n s3:GetBucketPolicy permission is required in a policy. For\n more information about general purpose buckets bucket policies, see Using Bucket Policies and User Policies in the\n Amazon S3 User Guide.

    \n
  • \n
  • \n

    \n Directory bucket permissions -\n To grant access to this API operation, you must have the\n s3express:GetBucketPolicy permission in\n an IAM identity-based policy instead of a bucket policy. Cross-account access to this API operation isn't supported. This operation can only be performed by the Amazon Web Services account that owns the resource.\n For more information about directory bucket policies and permissions, see Amazon Web Services Identity and Access Management (IAM) for S3 Express One Zone in the Amazon S3 User Guide.

    \n
  • \n
\n
\n
Example bucket policies
\n
\n

\n General purpose buckets example bucket policies\n - See Bucket policy\n examples in the Amazon S3 User Guide.

\n

\n Directory bucket example bucket policies\n - See Example bucket policies for S3 Express One Zone in the\n Amazon S3 User Guide.

\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is s3express-control.region-code.amazonaws.com.

\n
\n
\n

The following action is related to GetBucketPolicy:

\n ", "smithy.api#examples": [ { "title": "To get bucket policy", @@ -22863,7 +23800,7 @@ "Bucket": { "target": "com.amazonaws.s3#BucketName", "traits": { - "smithy.api#documentation": "

The bucket name to get the bucket policy for.

\n

\n Directory buckets - When you use this operation with a directory bucket, you must use path-style requests in the format https://s3express-control.region_code.amazonaws.com/bucket-name\n . Virtual-hosted-style requests aren't supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must also follow the format \n bucket_base_name--az_id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming restrictions, see Directory bucket naming rules in the Amazon S3 User Guide\n

\n

\n Access points - When you use this API operation with an access point, provide the alias of the access point in place of the bucket name.

\n

\n Object Lambda access points - When you use this API operation with an Object Lambda access point, provide the alias of the Object Lambda access point in place of the bucket name. \nIf the Object Lambda access point alias in a request is not valid, the error code InvalidAccessPointAliasError is returned. \nFor more information about InvalidAccessPointAliasError, see List of\n Error Codes.

\n \n

Access points and Object Lambda access points are not supported by directory buckets.

\n
", + "smithy.api#documentation": "

The bucket name to get the bucket policy for.

\n

\n Directory buckets - When you use this operation with a directory bucket, you must use path-style requests in the format https://s3express-control.region-code.amazonaws.com/bucket-name\n . Virtual-hosted-style requests aren't supported. Directory bucket names must be unique in the chosen Zone (Availability Zone or Local Zone). Bucket names must also follow the format \n bucket-base-name--zone-id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming restrictions, see Directory bucket naming rules in the Amazon S3 User Guide\n

\n

\n Access points - When you use this API operation with an access point, provide the alias of the access point in place of the bucket name.

\n

\n Object Lambda access points - When you use this API operation with an Object Lambda access point, provide the alias of the Object Lambda access point in place of the bucket name. \nIf the Object Lambda access point alias in a request is not valid, the error code InvalidAccessPointAliasError is returned. \nFor more information about InvalidAccessPointAliasError, see List of\n Error Codes.

\n \n

Access points and Object Lambda access points are not supported by directory buckets.

\n
", "smithy.api#httpLabel": {}, "smithy.api#required": {}, "smithy.rules#contextParam": { @@ -23399,7 +24336,7 @@ "SHA1" ] }, - "smithy.api#documentation": "

Retrieves an object from Amazon S3.

\n

In the GetObject request, specify the full key name for the object.

\n

\n General purpose buckets - Both the virtual-hosted-style\n requests and the path-style requests are supported. For a virtual hosted-style request\n example, if you have the object photos/2006/February/sample.jpg, specify the\n object key name as /photos/2006/February/sample.jpg. For a path-style request\n example, if you have the object photos/2006/February/sample.jpg in the bucket\n named examplebucket, specify the object key name as\n /examplebucket/photos/2006/February/sample.jpg. For more information about\n request types, see HTTP Host\n Header Bucket Specification in the Amazon S3 User Guide.

\n

\n Directory buckets -\n Only virtual-hosted-style requests are supported. For a virtual hosted-style request example, if you have the object photos/2006/February/sample.jpg in the bucket named examplebucket--use1-az5--x-s3, specify the object key name as /photos/2006/February/sample.jpg. Also, when you make requests to this API operation, your requests are sent to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://bucket_name.s3express-az_id.region.amazonaws.com/key-name\n . Path-style requests are not supported. For more information, see Regional and Zonal endpoints in the\n Amazon S3 User Guide.

\n
\n
Permissions
\n
\n
    \n
  • \n

    \n General purpose bucket permissions - You\n must have the required permissions in a policy. To use\n GetObject, you must have the READ access to the\n object (or version). If you grant READ access to the anonymous\n user, the GetObject operation returns the object without using\n an authorization header. For more information, see Specifying permissions in a policy in the\n Amazon S3 User Guide.

    \n

    If you include a versionId in your request header, you must\n have the s3:GetObjectVersion permission to access a specific\n version of an object. The s3:GetObject permission is not\n required in this scenario.

    \n

    If you request the current version of an object without a specific\n versionId in the request header, only the\n s3:GetObject permission is required. The\n s3:GetObjectVersion permission is not required in this\n scenario.

    \n

    If the object that you request doesn’t exist, the error that Amazon S3 returns\n depends on whether you also have the s3:ListBucket\n permission.

    \n
      \n
    • \n

      If you have the s3:ListBucket permission on the\n bucket, Amazon S3 returns an HTTP status code 404 Not Found\n error.

      \n
    • \n
    • \n

      If you don’t have the s3:ListBucket permission, Amazon S3\n returns an HTTP status code 403 Access Denied\n error.

      \n
    • \n
    \n
  • \n
  • \n

    \n Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the \n CreateSession\n API operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. \nAmazon Web Services CLI or SDKs create session and refresh the session token automatically to avoid service interruptions when a session expires. For more information about authorization, see \n CreateSession\n .

    \n

    If\n the\n object is encrypted using SSE-KMS, you must also have the\n kms:GenerateDataKey and kms:Decrypt permissions\n in IAM identity-based policies and KMS key policies for the KMS\n key.

    \n
  • \n
\n
\n
Storage classes
\n
\n

If the object you are retrieving is stored in the S3 Glacier Flexible Retrieval\n storage class, the S3 Glacier Deep Archive storage class, the\n S3 Intelligent-Tiering Archive Access tier, or the S3 Intelligent-Tiering Deep Archive Access tier,\n before you can retrieve the object you must first restore a copy using RestoreObject. Otherwise, this operation returns an\n InvalidObjectState error. For information about restoring archived\n objects, see Restoring Archived\n Objects in the Amazon S3 User Guide.

\n

\n Directory buckets -\n For directory buckets, only the S3 Express One Zone storage class is supported to store newly created objects. \nUnsupported storage class values won't write a destination object and will respond with the HTTP status code 400 Bad Request.

\n
\n
Encryption
\n
\n

Encryption request headers, like x-amz-server-side-encryption,\n should not be sent for the GetObject requests, if your object uses\n server-side encryption with Amazon S3 managed encryption keys (SSE-S3), server-side\n encryption with Key Management Service (KMS) keys (SSE-KMS), or dual-layer server-side\n encryption with Amazon Web Services KMS keys (DSSE-KMS). If you include the header in your\n GetObject requests for the object that uses these types of keys,\n you’ll get an HTTP 400 Bad Request error.

\n

\n Directory buckets -\n For directory buckets, there are only two supported options for server-side encryption: SSE-S3 and SSE-KMS. SSE-C isn't supported. For more\n information, see Protecting data with server-side encryption in the Amazon S3 User Guide.

\n
\n
Overriding response header values through the request
\n
\n

There are times when you want to override certain response header values of a\n GetObject response. For example, you might override the\n Content-Disposition response header value through your\n GetObject request.

\n

You can override values for a set of response headers. These modified response\n header values are included only in a successful response, that is, when the HTTP\n status code 200 OK is returned. The headers you can override using\n the following query parameters in the request are a subset of the headers that\n Amazon S3 accepts when you create an object.

\n

The response headers that you can override for the GetObject\n response are Cache-Control, Content-Disposition,\n Content-Encoding, Content-Language,\n Content-Type, and Expires.

\n

To override values for a set of response headers in the GetObject\n response, you can use the following query parameters in the request.

\n
    \n
  • \n

    \n response-cache-control\n

    \n
  • \n
  • \n

    \n response-content-disposition\n

    \n
  • \n
  • \n

    \n response-content-encoding\n

    \n
  • \n
  • \n

    \n response-content-language\n

    \n
  • \n
  • \n

    \n response-content-type\n

    \n
  • \n
  • \n

    \n response-expires\n

    \n
  • \n
\n \n

When you use these parameters, you must sign the request by using either an\n Authorization header or a presigned URL. These parameters cannot be used with\n an unsigned (anonymous) request.

\n
\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is \n Bucket_name.s3express-az_id.region.amazonaws.com.

\n
\n
\n

The following operations are related to GetObject:

\n ", + "smithy.api#documentation": "

Retrieves an object from Amazon S3.

\n

In the GetObject request, specify the full key name for the object.

\n

\n General purpose buckets - Both the virtual-hosted-style\n requests and the path-style requests are supported. For a virtual hosted-style request\n example, if you have the object photos/2006/February/sample.jpg, specify the\n object key name as /photos/2006/February/sample.jpg. For a path-style request\n example, if you have the object photos/2006/February/sample.jpg in the bucket\n named examplebucket, specify the object key name as\n /examplebucket/photos/2006/February/sample.jpg. For more information about\n request types, see HTTP Host\n Header Bucket Specification in the Amazon S3 User Guide.

\n

\n Directory buckets -\n Only virtual-hosted-style requests are supported. For a virtual hosted-style request example, if you have the object photos/2006/February/sample.jpg in the bucket named examplebucket--use1-az5--x-s3, specify the object key name as /photos/2006/February/sample.jpg. Also, when you make requests to this API operation, your requests are sent to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://bucket-name.s3express-zone-id.region-code.amazonaws.com/key-name\n . Path-style requests are not supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Available Local Zone for directory buckets in the\n Amazon S3 User Guide.

\n
\n
Permissions
\n
\n
    \n
  • \n

    \n General purpose bucket permissions - You\n must have the required permissions in a policy. To use\n GetObject, you must have the READ access to the\n object (or version). If you grant READ access to the anonymous\n user, the GetObject operation returns the object without using\n an authorization header. For more information, see Specifying permissions in a policy in the\n Amazon S3 User Guide.

    \n

    If you include a versionId in your request header, you must\n have the s3:GetObjectVersion permission to access a specific\n version of an object. The s3:GetObject permission is not\n required in this scenario.

    \n

    If you request the current version of an object without a specific\n versionId in the request header, only the\n s3:GetObject permission is required. The\n s3:GetObjectVersion permission is not required in this\n scenario.

    \n

    If the object that you request doesn’t exist, the error that Amazon S3 returns\n depends on whether you also have the s3:ListBucket\n permission.

    \n
      \n
    • \n

      If you have the s3:ListBucket permission on the\n bucket, Amazon S3 returns an HTTP status code 404 Not Found\n error.

      \n
    • \n
    • \n

      If you don’t have the s3:ListBucket permission, Amazon S3\n returns an HTTP status code 403 Access Denied\n error.

      \n
    • \n
    \n
  • \n
  • \n

    \n Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the \n CreateSession\n API operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. \nAmazon Web Services CLI or SDKs create session and refresh the session token automatically to avoid service interruptions when a session expires. For more information about authorization, see \n CreateSession\n .

    \n

    If\n the\n object is encrypted using SSE-KMS, you must also have the\n kms:GenerateDataKey and kms:Decrypt permissions\n in IAM identity-based policies and KMS key policies for the KMS\n key.

    \n
  • \n
\n
\n
Storage classes
\n
\n

If the object you are retrieving is stored in the S3 Glacier Flexible Retrieval\n storage class, the S3 Glacier Deep Archive storage class, the\n S3 Intelligent-Tiering Archive Access tier, or the S3 Intelligent-Tiering Deep Archive Access tier,\n before you can retrieve the object you must first restore a copy using RestoreObject. Otherwise, this operation returns an\n InvalidObjectState error. For information about restoring archived\n objects, see Restoring Archived\n Objects in the Amazon S3 User Guide.

\n

\n Directory buckets -\n For directory buckets, only the S3 Express One Zone storage class is supported to store newly created objects. \nUnsupported storage class values won't write a destination object and will respond with the HTTP status code 400 Bad Request.

\n
\n
Encryption
\n
\n

Encryption request headers, like x-amz-server-side-encryption,\n should not be sent for the GetObject requests, if your object uses\n server-side encryption with Amazon S3 managed encryption keys (SSE-S3), server-side\n encryption with Key Management Service (KMS) keys (SSE-KMS), or dual-layer server-side\n encryption with Amazon Web Services KMS keys (DSSE-KMS). If you include the header in your\n GetObject requests for the object that uses these types of keys,\n you’ll get an HTTP 400 Bad Request error.

\n

\n Directory buckets -\n For directory buckets, there are only two supported options for server-side encryption: SSE-S3 and SSE-KMS. SSE-C isn't supported. For more\n information, see Protecting data with server-side encryption in the Amazon S3 User Guide.

\n
\n
Overriding response header values through the request
\n
\n

There are times when you want to override certain response header values of a\n GetObject response. For example, you might override the\n Content-Disposition response header value through your\n GetObject request.

\n

You can override values for a set of response headers. These modified response\n header values are included only in a successful response, that is, when the HTTP\n status code 200 OK is returned. The headers you can override using\n the following query parameters in the request are a subset of the headers that\n Amazon S3 accepts when you create an object.

\n

The response headers that you can override for the GetObject\n response are Cache-Control, Content-Disposition,\n Content-Encoding, Content-Language,\n Content-Type, and Expires.

\n

To override values for a set of response headers in the GetObject\n response, you can use the following query parameters in the request.

\n
    \n
  • \n

    \n response-cache-control\n

    \n
  • \n
  • \n

    \n response-content-disposition\n

    \n
  • \n
  • \n

    \n response-content-encoding\n

    \n
  • \n
  • \n

    \n response-content-language\n

    \n
  • \n
  • \n

    \n response-content-type\n

    \n
  • \n
  • \n

    \n response-expires\n

    \n
  • \n
\n \n

When you use these parameters, you must sign the request by using either an\n Authorization header or a presigned URL. These parameters cannot be used with\n an unsigned (anonymous) request.

\n
\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is \n Bucket-name.s3express-zone-id.region-code.amazonaws.com.

\n
\n
\n

The following operations are related to GetObject:

\n ", "smithy.api#examples": [ { "title": "To retrieve a byte range of an object ", @@ -23610,7 +24547,7 @@ } ], "traits": { - "smithy.api#documentation": "

Retrieves all the metadata from an object without returning the object itself. This\n operation is useful if you're interested only in an object's metadata.

\n

\n GetObjectAttributes combines the functionality of HeadObject\n and ListParts. All of the data returned with each of those individual calls\n can be returned with a single call to GetObjectAttributes.

\n \n

\n Directory buckets -\n For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://bucket_name.s3express-az_id.region.amazonaws.com/key-name\n . Path-style requests are not supported. For more information, see Regional and Zonal endpoints in the\n Amazon S3 User Guide.

\n
\n
\n
Permissions
\n
\n
    \n
  • \n

    \n General purpose bucket permissions - To\n use GetObjectAttributes, you must have READ access to the\n object. The permissions that you need to use this operation depend on\n whether the bucket is versioned. If the bucket is versioned, you need both\n the s3:GetObjectVersion and\n s3:GetObjectVersionAttributes permissions for this\n operation. If the bucket is not versioned, you need the\n s3:GetObject and s3:GetObjectAttributes\n permissions. For more information, see Specifying\n Permissions in a Policy in the\n Amazon S3 User Guide. If the object that you request does\n not exist, the error Amazon S3 returns depends on whether you also have the\n s3:ListBucket permission.

    \n
      \n
    • \n

      If you have the s3:ListBucket permission on the\n bucket, Amazon S3 returns an HTTP status code 404 Not Found\n (\"no such key\") error.

      \n
    • \n
    • \n

      If you don't have the s3:ListBucket permission, Amazon S3\n returns an HTTP status code 403 Forbidden (\"access\n denied\") error.

      \n
    • \n
    \n
  • \n
  • \n

    \n Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the \n CreateSession\n API operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. \nAmazon Web Services CLI or SDKs create session and refresh the session token automatically to avoid service interruptions when a session expires. For more information about authorization, see \n CreateSession\n .

    \n

    If\n the\n object is encrypted with SSE-KMS, you must also have the\n kms:GenerateDataKey and kms:Decrypt permissions\n in IAM identity-based policies and KMS key policies for the KMS\n key.

    \n
  • \n
\n
\n
Encryption
\n
\n \n

Encryption request headers, like x-amz-server-side-encryption,\n should not be sent for HEAD requests if your object uses\n server-side encryption with Key Management Service (KMS) keys (SSE-KMS), dual-layer\n server-side encryption with Amazon Web Services KMS keys (DSSE-KMS), or server-side\n encryption with Amazon S3 managed encryption keys (SSE-S3). The\n x-amz-server-side-encryption header is used when you\n PUT an object to S3 and want to specify the encryption method.\n If you include this header in a GET request for an object that\n uses these types of keys, you’ll get an HTTP 400 Bad Request\n error. It's because the encryption method can't be changed when you retrieve\n the object.

\n
\n

If you encrypt an object by using server-side encryption with customer-provided\n encryption keys (SSE-C) when you store the object in Amazon S3, then when you retrieve\n the metadata from the object, you must use the following headers to provide the\n encryption key for the server to be able to retrieve the object's metadata. The\n headers are:

\n
    \n
  • \n

    \n x-amz-server-side-encryption-customer-algorithm\n

    \n
  • \n
  • \n

    \n x-amz-server-side-encryption-customer-key\n

    \n
  • \n
  • \n

    \n x-amz-server-side-encryption-customer-key-MD5\n

    \n
  • \n
\n

For more information about SSE-C, see Server-Side\n Encryption (Using Customer-Provided Encryption Keys) in the\n Amazon S3 User Guide.

\n \n

\n Directory bucket permissions -\n For directory buckets, there are only two supported options for server-side encryption: server-side encryption with Amazon S3 managed keys (SSE-S3) (AES256) and server-side encryption with KMS keys (SSE-KMS) (aws:kms). We recommend that the bucket's default encryption uses the desired encryption configuration and you don't override the bucket default encryption in your \n CreateSession requests or PUT object requests. Then, new objects \n are automatically encrypted with the desired encryption settings. For more\n information, see Protecting data with server-side encryption in the Amazon S3 User Guide. For more information about the encryption overriding behaviors in directory buckets, see Specifying server-side encryption with KMS for new object uploads.

\n
\n
\n
Versioning
\n
\n

\n Directory buckets -\n S3 Versioning isn't enabled and supported for directory buckets. For this API operation, only the null value of the version ID is supported by directory buckets. You can only specify null to the\n versionId query parameter in the request.

\n
\n
Conditional request headers
\n
\n

Consider the following when using request headers:

\n
    \n
  • \n

    If both of the If-Match and If-Unmodified-Since\n headers are present in the request as follows, then Amazon S3 returns the HTTP\n status code 200 OK and the data requested:

    \n
      \n
    • \n

      \n If-Match condition evaluates to\n true.

      \n
    • \n
    • \n

      \n If-Unmodified-Since condition evaluates to\n false.

      \n
    • \n
    \n

    For more information about conditional requests, see RFC 7232.

    \n
  • \n
  • \n

    If both of the If-None-Match and\n If-Modified-Since headers are present in the request as\n follows, then Amazon S3 returns the HTTP status code 304 Not\n Modified:

    \n
      \n
    • \n

      \n If-None-Match condition evaluates to\n false.

      \n
    • \n
    • \n

      \n If-Modified-Since condition evaluates to\n true.

      \n
    • \n
    \n

    For more information about conditional requests, see RFC 7232.

    \n
  • \n
\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is \n Bucket_name.s3express-az_id.region.amazonaws.com.

\n
\n
\n

The following actions are related to GetObjectAttributes:

\n ", + "smithy.api#documentation": "

Retrieves all the metadata from an object without returning the object itself. This\n operation is useful if you're interested only in an object's metadata.

\n

\n GetObjectAttributes combines the functionality of HeadObject\n and ListParts. All of the data returned with each of those individual calls\n can be returned with a single call to GetObjectAttributes.

\n \n

\n Directory buckets -\n For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://bucket-name.s3express-zone-id.region-code.amazonaws.com/key-name\n . Path-style requests are not supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Available Local Zone for directory buckets in the\n Amazon S3 User Guide.

\n
\n
\n
Permissions
\n
\n
    \n
  • \n

    \n General purpose bucket permissions - To\n use GetObjectAttributes, you must have READ access to the\n object. The permissions that you need to use this operation depend on\n whether the bucket is versioned. If the bucket is versioned, you need both\n the s3:GetObjectVersion and\n s3:GetObjectVersionAttributes permissions for this\n operation. If the bucket is not versioned, you need the\n s3:GetObject and s3:GetObjectAttributes\n permissions. For more information, see Specifying\n Permissions in a Policy in the\n Amazon S3 User Guide. If the object that you request does\n not exist, the error Amazon S3 returns depends on whether you also have the\n s3:ListBucket permission.

    \n
      \n
    • \n

      If you have the s3:ListBucket permission on the\n bucket, Amazon S3 returns an HTTP status code 404 Not Found\n (\"no such key\") error.

      \n
    • \n
    • \n

      If you don't have the s3:ListBucket permission, Amazon S3\n returns an HTTP status code 403 Forbidden (\"access\n denied\") error.

      \n
    • \n
    \n
  • \n
  • \n

    \n Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the \n CreateSession\n API operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. \nAmazon Web Services CLI or SDKs create session and refresh the session token automatically to avoid service interruptions when a session expires. For more information about authorization, see \n CreateSession\n .

    \n

    If\n the\n object is encrypted with SSE-KMS, you must also have the\n kms:GenerateDataKey and kms:Decrypt permissions\n in IAM identity-based policies and KMS key policies for the KMS\n key.

    \n
  • \n
\n
\n
Encryption
\n
\n \n

Encryption request headers, like x-amz-server-side-encryption,\n should not be sent for HEAD requests if your object uses\n server-side encryption with Key Management Service (KMS) keys (SSE-KMS), dual-layer\n server-side encryption with Amazon Web Services KMS keys (DSSE-KMS), or server-side\n encryption with Amazon S3 managed encryption keys (SSE-S3). The\n x-amz-server-side-encryption header is used when you\n PUT an object to S3 and want to specify the encryption method.\n If you include this header in a GET request for an object that\n uses these types of keys, you’ll get an HTTP 400 Bad Request\n error. It's because the encryption method can't be changed when you retrieve\n the object.

\n
\n

If you encrypt an object by using server-side encryption with customer-provided\n encryption keys (SSE-C) when you store the object in Amazon S3, then when you retrieve\n the metadata from the object, you must use the following headers to provide the\n encryption key for the server to be able to retrieve the object's metadata. The\n headers are:

\n
    \n
  • \n

    \n x-amz-server-side-encryption-customer-algorithm\n

    \n
  • \n
  • \n

    \n x-amz-server-side-encryption-customer-key\n

    \n
  • \n
  • \n

    \n x-amz-server-side-encryption-customer-key-MD5\n

    \n
  • \n
\n

For more information about SSE-C, see Server-Side\n Encryption (Using Customer-Provided Encryption Keys) in the\n Amazon S3 User Guide.

\n \n

\n Directory bucket permissions -\n For directory buckets, there are only two supported options for server-side encryption: server-side encryption with Amazon S3 managed keys (SSE-S3) (AES256) and server-side encryption with KMS keys (SSE-KMS) (aws:kms). We recommend that the bucket's default encryption uses the desired encryption configuration and you don't override the bucket default encryption in your \n CreateSession requests or PUT object requests. Then, new objects \n are automatically encrypted with the desired encryption settings. For more\n information, see Protecting data with server-side encryption in the Amazon S3 User Guide. For more information about the encryption overriding behaviors in directory buckets, see Specifying server-side encryption with KMS for new object uploads.

\n
\n
\n
Versioning
\n
\n

\n Directory buckets -\n S3 Versioning isn't enabled and supported for directory buckets. For this API operation, only the null value of the version ID is supported by directory buckets. You can only specify null to the\n versionId query parameter in the request.

\n
\n
Conditional request headers
\n
\n

Consider the following when using request headers:

\n
    \n
  • \n

    If both of the If-Match and If-Unmodified-Since\n headers are present in the request as follows, then Amazon S3 returns the HTTP\n status code 200 OK and the data requested:

    \n
      \n
    • \n

      \n If-Match condition evaluates to\n true.

      \n
    • \n
    • \n

      \n If-Unmodified-Since condition evaluates to\n false.

      \n
    • \n
    \n

    For more information about conditional requests, see RFC 7232.

    \n
  • \n
  • \n

    If both of the If-None-Match and\n If-Modified-Since headers are present in the request as\n follows, then Amazon S3 returns the HTTP status code 304 Not\n Modified:

    \n
      \n
    • \n

      \n If-None-Match condition evaluates to\n false.

      \n
    • \n
    • \n

      \n If-Modified-Since condition evaluates to\n true.

      \n
    • \n
    \n

    For more information about conditional requests, see RFC 7232.

    \n
  • \n
\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is \n Bucket-name.s3express-zone-id.region-code.amazonaws.com.

\n
\n
\n

The following actions are related to GetObjectAttributes:

\n ", "smithy.api#http": { "method": "GET", "uri": "/{Bucket}/{Key+}?attributes", @@ -23737,7 +24674,7 @@ "Bucket": { "target": "com.amazonaws.s3#BucketName", "traits": { - "smithy.api#documentation": "

The name of the bucket that contains the object.

\n

\n Directory buckets -\n When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format \n Bucket_name.s3express-az_id.region.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format \n bucket_base_name--az-id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming\n restrictions, see Directory bucket naming\n rules in the Amazon S3 User Guide.

\n

\n Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

\n \n

Access points and Object Lambda access points are not supported by directory buckets.

\n
\n

\n S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form \n AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

", + "smithy.api#documentation": "

The name of the bucket that contains the object.

\n

\n Directory buckets -\n When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format \n Bucket-name.s3express-zone-id.region-code.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Zone (Availability Zone or Local Zone). Bucket names must follow the format \n bucket-base-name--zone-id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming\n restrictions, see Directory bucket naming\n rules in the Amazon S3 User Guide.

\n

\n Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

\n \n

Access points and Object Lambda access points are not supported by directory buckets.

\n
\n

\n S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form \n AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

", "smithy.api#httpLabel": {}, "smithy.api#required": {}, "smithy.rules#contextParam": { @@ -23987,7 +24924,7 @@ "Expiration": { "target": "com.amazonaws.s3#Expiration", "traits": { - "smithy.api#documentation": "

If the object expiration is configured (see \n PutBucketLifecycleConfiguration\n ), the response includes this\n header. It includes the expiry-date and rule-id key-value pairs\n providing object expiration information. The value of the rule-id is\n URL-encoded.

\n \n

This functionality is not supported for directory buckets.

\n
", + "smithy.api#documentation": "

If the object expiration is configured (see \n PutBucketLifecycleConfiguration\n ), the response includes this\n header. It includes the expiry-date and rule-id key-value pairs\n providing object expiration information. The value of the rule-id is\n URL-encoded.

\n \n

Object expiration information is not returned in directory buckets and this header returns the value \"NotImplemented\" in all responses for directory buckets.

\n
", "smithy.api#httpHeader": "x-amz-expiration" } }, @@ -24225,7 +25162,7 @@ "Bucket": { "target": "com.amazonaws.s3#BucketName", "traits": { - "smithy.api#documentation": "

The bucket name containing the object.

\n

\n Directory buckets -\n When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format \n Bucket_name.s3express-az_id.region.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format \n bucket_base_name--az-id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming\n restrictions, see Directory bucket naming\n rules in the Amazon S3 User Guide.

\n

\n Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

\n

\n Object Lambda access points - When you use this action with an Object Lambda access point, you must direct requests to the Object Lambda access point hostname. The Object Lambda access point hostname takes the form AccessPointName-AccountId.s3-object-lambda.Region.amazonaws.com.

\n \n

Access points and Object Lambda access points are not supported by directory buckets.

\n
\n

\n S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form \n AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

", + "smithy.api#documentation": "

The bucket name containing the object.

\n

\n Directory buckets -\n When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format \n Bucket-name.s3express-zone-id.region-code.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Zone (Availability Zone or Local Zone). Bucket names must follow the format \n bucket-base-name--zone-id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming\n restrictions, see Directory bucket naming\n rules in the Amazon S3 User Guide.

\n

\n Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

\n

\n Object Lambda access points - When you use this action with an Object Lambda access point, you must direct requests to the Object Lambda access point hostname. The Object Lambda access point hostname takes the form AccessPointName-AccountId.s3-object-lambda.Region.amazonaws.com.

\n \n

Access points and Object Lambda access points are not supported by directory buckets.

\n
\n

\n S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form \n AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

", "smithy.api#httpLabel": {}, "smithy.api#required": {}, "smithy.rules#contextParam": { @@ -24863,7 +25800,7 @@ } ], "traits": { - "smithy.api#documentation": "

You can use this operation to determine if a bucket exists and if you have permission to\n access it. The action returns a 200 OK if the bucket exists and you have\n permission to access it.

\n \n

If the bucket does not exist or you do not have permission to access it, the\n HEAD request returns a generic 400 Bad Request, 403\n Forbidden or 404 Not Found code. A message body is not included,\n so you cannot determine the exception beyond these HTTP response codes.

\n
\n
\n
Authentication and authorization
\n
\n

\n General purpose buckets - Request to public\n buckets that grant the s3:ListBucket permission publicly do not need to be signed.\n All other HeadBucket requests must be authenticated and signed by\n using IAM credentials (access key ID and secret access key for the IAM\n identities). All headers with the x-amz- prefix, including\n x-amz-copy-source, must be signed. For more information, see\n REST Authentication.

\n

\n Directory buckets - You must use IAM\n credentials to authenticate and authorize your access to the\n HeadBucket API operation, instead of using the temporary security\n credentials through the CreateSession API operation.

\n

Amazon Web Services CLI or SDKs handles authentication and authorization on your\n behalf.

\n
\n
Permissions
\n
\n

\n \n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is \n Bucket_name.s3express-az_id.region.amazonaws.com.

\n \n

You must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://bucket_name.s3express-az_id.region.amazonaws.com. Path-style requests are not supported. For more information, see Regional and Zonal endpoints in the\n Amazon S3 User Guide.

\n
\n
\n
", + "smithy.api#documentation": "

You can use this operation to determine if a bucket exists and if you have permission to\n access it. The action returns a 200 OK if the bucket exists and you have\n permission to access it.

\n \n

If the bucket does not exist or you do not have permission to access it, the\n HEAD request returns a generic 400 Bad Request, 403\n Forbidden or 404 Not Found code. A message body is not included,\n so you cannot determine the exception beyond these HTTP response codes.

\n
\n
\n
Authentication and authorization
\n
\n

\n General purpose buckets - Request to public\n buckets that grant the s3:ListBucket permission publicly do not need to be signed.\n All other HeadBucket requests must be authenticated and signed by\n using IAM credentials (access key ID and secret access key for the IAM\n identities). All headers with the x-amz- prefix, including\n x-amz-copy-source, must be signed. For more information, see\n REST Authentication.

\n

\n Directory buckets - You must use IAM\n credentials to authenticate and authorize your access to the\n HeadBucket API operation, instead of using the temporary security\n credentials through the CreateSession API operation.

\n

Amazon Web Services CLI or SDKs handles authentication and authorization on your\n behalf.

\n
\n
Permissions
\n
\n

\n \n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is \n Bucket-name.s3express-zone-id.region-code.amazonaws.com.

\n \n

You must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://bucket-name.s3express-zone-id.region-code.amazonaws.com. Path-style requests are not supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Available Local Zone for directory buckets in the\n Amazon S3 User Guide.

\n
\n
\n
", "smithy.api#examples": [ { "title": "To determine if bucket exists", @@ -24923,7 +25860,7 @@ "BucketLocationName": { "target": "com.amazonaws.s3#BucketLocationName", "traits": { - "smithy.api#documentation": "

The name of the location where the bucket will be created.

\n

For directory buckets, the AZ ID of the Availability Zone where the bucket is created. An example\n AZ ID value is usw2-az1.

\n \n

This functionality is only supported by directory buckets.

\n
", + "smithy.api#documentation": "

The name of the location where the bucket will be created.

\n

For directory buckets, the Zone ID of the Availability Zone or the Local Zone where the bucket is created. An example Zone ID value for an Availability Zone is usw2-az1.

\n \n

This functionality is only supported by directory buckets.

\n
", "smithy.api#httpHeader": "x-amz-bucket-location-name" } }, @@ -24952,7 +25889,7 @@ "Bucket": { "target": "com.amazonaws.s3#BucketName", "traits": { - "smithy.api#documentation": "

The bucket name.

\n

\n Directory buckets -\n When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format \n Bucket_name.s3express-az_id.region.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format \n bucket_base_name--az-id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming\n restrictions, see Directory bucket naming\n rules in the Amazon S3 User Guide.

\n

\n Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

\n

\n Object Lambda access points - When you use this API operation with an Object Lambda access point, provide the alias of the Object Lambda access point in place of the bucket name. \nIf the Object Lambda access point alias in a request is not valid, the error code InvalidAccessPointAliasError is returned. \nFor more information about InvalidAccessPointAliasError, see List of\n Error Codes.

\n \n

Access points and Object Lambda access points are not supported by directory buckets.

\n
\n

\n S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form \n AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

", + "smithy.api#documentation": "

The bucket name.

\n

\n Directory buckets -\n When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format \n Bucket-name.s3express-zone-id.region-code.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Zone (Availability Zone or Local Zone). Bucket names must follow the format \n bucket-base-name--zone-id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming\n restrictions, see Directory bucket naming\n rules in the Amazon S3 User Guide.

\n

\n Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

\n

\n Object Lambda access points - When you use this API operation with an Object Lambda access point, provide the alias of the Object Lambda access point in place of the bucket name. \nIf the Object Lambda access point alias in a request is not valid, the error code InvalidAccessPointAliasError is returned. \nFor more information about InvalidAccessPointAliasError, see List of\n Error Codes.

\n \n

Access points and Object Lambda access points are not supported by directory buckets.

\n
\n

\n S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form \n AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

", "smithy.api#httpLabel": {}, "smithy.api#required": {}, "smithy.rules#contextParam": { @@ -24986,7 +25923,7 @@ } ], "traits": { - "smithy.api#documentation": "

The HEAD operation retrieves metadata from an object without returning the\n object itself. This operation is useful if you're interested only in an object's\n metadata.

\n \n

A HEAD request has the same options as a GET operation on\n an object. The response is identical to the GET response except that there\n is no response body. Because of this, if the HEAD request generates an\n error, it returns a generic code, such as 400 Bad Request, 403\n Forbidden, 404 Not Found, 405 Method Not Allowed,\n 412 Precondition Failed, or 304 Not Modified. It's not\n possible to retrieve the exact exception of these error codes.

\n
\n

Request headers are limited to 8 KB in size. For more information, see Common\n Request Headers.

\n
\n
Permissions
\n
\n

\n
    \n
  • \n

    \n General purpose bucket permissions - To\n use HEAD, you must have the s3:GetObject\n permission. You need the relevant read object (or version) permission for\n this operation. For more information, see Actions, resources, and\n condition keys for Amazon S3 in the Amazon S3 User\n Guide. For more information about the permissions to S3 API\n operations by S3 resource types, see Required permissions for Amazon S3 API operations in the\n Amazon S3 User Guide.

    \n

    If the object you request doesn't exist, the error that Amazon S3 returns\n depends on whether you also have the s3:ListBucket\n permission.

    \n
      \n
    • \n

      If you have the s3:ListBucket permission on the\n bucket, Amazon S3 returns an HTTP status code 404 Not Found\n error.

      \n
    • \n
    • \n

      If you don’t have the s3:ListBucket permission, Amazon S3\n returns an HTTP status code 403 Forbidden error.

      \n
    • \n
    \n
  • \n
  • \n

    \n Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the \n CreateSession\n API operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. \nAmazon Web Services CLI or SDKs create session and refresh the session token automatically to avoid service interruptions when a session expires. For more information about authorization, see \n CreateSession\n .

    \n

    If you enable x-amz-checksum-mode in the request and the\n object is encrypted with Amazon Web Services Key Management Service (Amazon Web Services KMS), you must\n also have the kms:GenerateDataKey and kms:Decrypt\n permissions in IAM identity-based policies and KMS key policies for the\n KMS key to retrieve the checksum of the object.

    \n
  • \n
\n
\n
Encryption
\n
\n \n

Encryption request headers, like x-amz-server-side-encryption,\n should not be sent for HEAD requests if your object uses\n server-side encryption with Key Management Service (KMS) keys (SSE-KMS), dual-layer\n server-side encryption with Amazon Web Services KMS keys (DSSE-KMS), or server-side\n encryption with Amazon S3 managed encryption keys (SSE-S3). The\n x-amz-server-side-encryption header is used when you\n PUT an object to S3 and want to specify the encryption method.\n If you include this header in a HEAD request for an object that\n uses these types of keys, you’ll get an HTTP 400 Bad Request\n error. It's because the encryption method can't be changed when you retrieve\n the object.

\n
\n

If you encrypt an object by using server-side encryption with customer-provided\n encryption keys (SSE-C) when you store the object in Amazon S3, then when you retrieve\n the metadata from the object, you must use the following headers to provide the\n encryption key for the server to be able to retrieve the object's metadata. The\n headers are:

\n
    \n
  • \n

    \n x-amz-server-side-encryption-customer-algorithm\n

    \n
  • \n
  • \n

    \n x-amz-server-side-encryption-customer-key\n

    \n
  • \n
  • \n

    \n x-amz-server-side-encryption-customer-key-MD5\n

    \n
  • \n
\n

For more information about SSE-C, see Server-Side\n Encryption (Using Customer-Provided Encryption Keys) in the\n Amazon S3 User Guide.

\n \n

\n Directory bucket -\n For directory buckets, there are only two supported options for server-side encryption: SSE-S3 and SSE-KMS. SSE-C isn't supported. For more\n information, see Protecting data with server-side encryption in the Amazon S3 User Guide.

\n
\n
\n
Versioning
\n
\n
    \n
  • \n

    If the current version of the object is a delete marker, Amazon S3 behaves as\n if the object was deleted and includes x-amz-delete-marker:\n true in the response.

    \n
  • \n
  • \n

    If the specified version is a delete marker, the response returns a\n 405 Method Not Allowed error and the Last-Modified:\n timestamp response header.

    \n
  • \n
\n \n
    \n
  • \n

    \n Directory buckets -\n Delete marker is not supported for directory buckets.

    \n
  • \n
  • \n

    \n Directory buckets -\n S3 Versioning isn't enabled and supported for directory buckets. For this API operation, only the null value of the version ID is supported by directory buckets. You can only specify null\n to the versionId query parameter in the request.

    \n
  • \n
\n
\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is \n Bucket_name.s3express-az_id.region.amazonaws.com.

\n \n

For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://bucket_name.s3express-az_id.region.amazonaws.com/key-name\n . Path-style requests are not supported. For more information, see Regional and Zonal endpoints in the\n Amazon S3 User Guide.

\n
\n
\n
\n

The following actions are related to HeadObject:

\n ", + "smithy.api#documentation": "

The HEAD operation retrieves metadata from an object without returning the\n object itself. This operation is useful if you're interested only in an object's\n metadata.

\n \n

A HEAD request has the same options as a GET operation on\n an object. The response is identical to the GET response except that there\n is no response body. Because of this, if the HEAD request generates an\n error, it returns a generic code, such as 400 Bad Request, 403\n Forbidden, 404 Not Found, 405 Method Not Allowed,\n 412 Precondition Failed, or 304 Not Modified. It's not\n possible to retrieve the exact exception of these error codes.

\n
\n

Request headers are limited to 8 KB in size. For more information, see Common\n Request Headers.

\n
\n
Permissions
\n
\n

\n
    \n
  • \n

    \n General purpose bucket permissions - To\n use HEAD, you must have the s3:GetObject\n permission. You need the relevant read object (or version) permission for\n this operation. For more information, see Actions, resources, and\n condition keys for Amazon S3 in the Amazon S3 User\n Guide. For more information about the permissions to S3 API\n operations by S3 resource types, see Required permissions for Amazon S3 API operations in the\n Amazon S3 User Guide.

    \n

    If the object you request doesn't exist, the error that Amazon S3 returns\n depends on whether you also have the s3:ListBucket\n permission.

    \n
      \n
    • \n

      If you have the s3:ListBucket permission on the\n bucket, Amazon S3 returns an HTTP status code 404 Not Found\n error.

      \n
    • \n
    • \n

      If you don’t have the s3:ListBucket permission, Amazon S3\n returns an HTTP status code 403 Forbidden error.

      \n
    • \n
    \n
  • \n
  • \n

    \n Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the \n CreateSession\n API operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. \nAmazon Web Services CLI or SDKs create session and refresh the session token automatically to avoid service interruptions when a session expires. For more information about authorization, see \n CreateSession\n .

    \n

    If you enable x-amz-checksum-mode in the request and the\n object is encrypted with Amazon Web Services Key Management Service (Amazon Web Services KMS), you must\n also have the kms:GenerateDataKey and kms:Decrypt\n permissions in IAM identity-based policies and KMS key policies for the\n KMS key to retrieve the checksum of the object.

    \n
  • \n
\n
\n
Encryption
\n
\n \n

Encryption request headers, like x-amz-server-side-encryption,\n should not be sent for HEAD requests if your object uses\n server-side encryption with Key Management Service (KMS) keys (SSE-KMS), dual-layer\n server-side encryption with Amazon Web Services KMS keys (DSSE-KMS), or server-side\n encryption with Amazon S3 managed encryption keys (SSE-S3). The\n x-amz-server-side-encryption header is used when you\n PUT an object to S3 and want to specify the encryption method.\n If you include this header in a HEAD request for an object that\n uses these types of keys, you’ll get an HTTP 400 Bad Request\n error. It's because the encryption method can't be changed when you retrieve\n the object.

\n
\n

If you encrypt an object by using server-side encryption with customer-provided\n encryption keys (SSE-C) when you store the object in Amazon S3, then when you retrieve\n the metadata from the object, you must use the following headers to provide the\n encryption key for the server to be able to retrieve the object's metadata. The\n headers are:

\n
    \n
  • \n

    \n x-amz-server-side-encryption-customer-algorithm\n

    \n
  • \n
  • \n

    \n x-amz-server-side-encryption-customer-key\n

    \n
  • \n
  • \n

    \n x-amz-server-side-encryption-customer-key-MD5\n

    \n
  • \n
\n

For more information about SSE-C, see Server-Side\n Encryption (Using Customer-Provided Encryption Keys) in the\n Amazon S3 User Guide.

\n \n

\n Directory bucket -\n For directory buckets, there are only two supported options for server-side encryption: SSE-S3 and SSE-KMS. SSE-C isn't supported. For more\n information, see Protecting data with server-side encryption in the Amazon S3 User Guide.

\n
\n
\n
Versioning
\n
\n
    \n
  • \n

    If the current version of the object is a delete marker, Amazon S3 behaves as\n if the object was deleted and includes x-amz-delete-marker:\n true in the response.

    \n
  • \n
  • \n

    If the specified version is a delete marker, the response returns a\n 405 Method Not Allowed error and the Last-Modified:\n timestamp response header.

    \n
  • \n
\n \n
    \n
  • \n

    \n Directory buckets -\n Delete marker is not supported for directory buckets.

    \n
  • \n
  • \n

    \n Directory buckets -\n S3 Versioning isn't enabled and supported for directory buckets. For this API operation, only the null value of the version ID is supported by directory buckets. You can only specify null\n to the versionId query parameter in the request.

    \n
  • \n
\n
\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is \n Bucket-name.s3express-zone-id.region-code.amazonaws.com.

\n \n

For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://bucket-name.s3express-zone-id.region-code.amazonaws.com/key-name\n . Path-style requests are not supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Available Local Zone for directory buckets in the\n Amazon S3 User Guide.

\n
\n
\n
\n

The following actions are related to HeadObject:

\n ", "smithy.api#examples": [ { "title": "To retrieve metadata of an object without returning the object itself", @@ -25063,7 +26000,7 @@ "Expiration": { "target": "com.amazonaws.s3#Expiration", "traits": { - "smithy.api#documentation": "

If the object expiration is configured (see \n PutBucketLifecycleConfiguration\n ), the response includes this\n header. It includes the expiry-date and rule-id key-value pairs\n providing object expiration information. The value of the rule-id is\n URL-encoded.

\n \n

This functionality is not supported for directory buckets.

\n
", + "smithy.api#documentation": "

If the object expiration is configured (see \n PutBucketLifecycleConfiguration\n ), the response includes this\n header. It includes the expiry-date and rule-id key-value pairs\n providing object expiration information. The value of the rule-id is\n URL-encoded.

\n \n

Object expiration information is not returned in directory buckets and this header returns the value \"NotImplemented\" in all responses for directory buckets.

\n
", "smithy.api#httpHeader": "x-amz-expiration" } }, @@ -25294,7 +26231,7 @@ "Bucket": { "target": "com.amazonaws.s3#BucketName", "traits": { - "smithy.api#documentation": "

The name of the bucket that contains the object.

\n

\n Directory buckets -\n When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format \n Bucket_name.s3express-az_id.region.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format \n bucket_base_name--az-id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming\n restrictions, see Directory bucket naming\n rules in the Amazon S3 User Guide.

\n

\n Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

\n \n

Access points and Object Lambda access points are not supported by directory buckets.

\n
\n

\n S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form \n AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

", + "smithy.api#documentation": "

The name of the bucket that contains the object.

\n

\n Directory buckets -\n When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format \n Bucket-name.s3express-zone-id.region-code.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Zone (Availability Zone or Local Zone). Bucket names must follow the format \n bucket-base-name--zone-id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming\n restrictions, see Directory bucket naming\n rules in the Amazon S3 User Guide.

\n

\n Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

\n \n

Access points and Object Lambda access points are not supported by directory buckets.

\n
\n

\n S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form \n AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

", "smithy.api#httpLabel": {}, "smithy.api#required": {}, "smithy.rules#contextParam": { @@ -26811,7 +27748,7 @@ "target": "com.amazonaws.s3#ListDirectoryBucketsOutput" }, "traits": { - "smithy.api#documentation": "

Returns a list of all Amazon S3 directory buckets owned by the authenticated sender of the\n request. For more information about directory buckets, see Directory buckets in the Amazon S3 User Guide.

\n \n

\n Directory buckets - For directory buckets, you must make requests for this API operation to the Regional endpoint. These endpoints support path-style requests in the format https://s3express-control.region_code.amazonaws.com/bucket-name\n . Virtual-hosted-style requests aren't supported. \nFor more information, see Regional and Zonal endpoints in the\n Amazon S3 User Guide.

\n
\n
\n
Permissions
\n
\n

You must have the s3express:ListAllMyDirectoryBuckets permission\n in an IAM identity-based policy instead of a bucket policy. Cross-account access to this API operation isn't supported. This operation can only be performed by the Amazon Web Services account that owns the resource.\n For more information about directory bucket policies and permissions, see Amazon Web Services Identity and Access Management (IAM) for S3 Express One Zone in the Amazon S3 User Guide.

\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host\n header syntax is\n s3express-control.region.amazonaws.com.

\n
\n
\n \n

The BucketRegion response element is not part of the\n ListDirectoryBuckets Response Syntax.

\n
", + "smithy.api#documentation": "

Returns a list of all Amazon S3 directory buckets owned by the authenticated sender of the\n request. For more information about directory buckets, see Directory buckets in the Amazon S3 User Guide.

\n \n

\n Directory buckets - For directory buckets, you must make requests for this API operation to the Regional endpoint. These endpoints support path-style requests in the format https://s3express-control.region-code.amazonaws.com/bucket-name\n . Virtual-hosted-style requests aren't supported. \nFor more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Available Local Zone for directory buckets in the\n Amazon S3 User Guide.

\n
\n
\n
Permissions
\n
\n

You must have the s3express:ListAllMyDirectoryBuckets permission\n in an IAM identity-based policy instead of a bucket policy. Cross-account access to this API operation isn't supported. This operation can only be performed by the Amazon Web Services account that owns the resource.\n For more information about directory bucket policies and permissions, see Amazon Web Services Identity and Access Management (IAM) for S3 Express One Zone in the Amazon S3 User Guide.

\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host\n header syntax is\n s3express-control.region.amazonaws.com.

\n
\n
\n \n

The BucketRegion response element is not part of the\n ListDirectoryBuckets Response Syntax.

\n
", "smithy.api#http": { "method": "GET", "uri": "/?x-id=ListDirectoryBuckets", @@ -26882,7 +27819,7 @@ "target": "com.amazonaws.s3#ListMultipartUploadsOutput" }, "traits": { - "smithy.api#documentation": "

This operation lists in-progress multipart uploads in a bucket. An in-progress multipart\n upload is a multipart upload that has been initiated by the\n CreateMultipartUpload request, but has not yet been completed or\n aborted.

\n \n

\n Directory buckets - If multipart uploads in\n a directory bucket are in progress, you can't delete the bucket until all the\n in-progress multipart uploads are aborted or completed. To delete these in-progress\n multipart uploads, use the ListMultipartUploads operation to list the\n in-progress multipart uploads in the bucket and use the\n AbortMultipartUpload operation to abort all the in-progress multipart\n uploads.

\n
\n

The ListMultipartUploads operation returns a maximum of 1,000 multipart\n uploads in the response. The limit of 1,000 multipart uploads is also the default value.\n You can further limit the number of uploads in a response by specifying the\n max-uploads request parameter. If there are more than 1,000 multipart\n uploads that satisfy your ListMultipartUploads request, the response returns\n an IsTruncated element with the value of true, a\n NextKeyMarker element, and a NextUploadIdMarker element. To\n list the remaining multipart uploads, you need to make subsequent\n ListMultipartUploads requests. In these requests, include two query\n parameters: key-marker and upload-id-marker. Set the value of\n key-marker to the NextKeyMarker value from the previous\n response. Similarly, set the value of upload-id-marker to the\n NextUploadIdMarker value from the previous response.

\n \n

\n Directory buckets - The\n upload-id-marker element and the NextUploadIdMarker element\n aren't supported by directory buckets. To list the additional multipart uploads, you\n only need to set the value of key-marker to the NextKeyMarker\n value from the previous response.

\n
\n

For more information about multipart uploads, see Uploading Objects Using Multipart\n Upload in the Amazon S3 User Guide.

\n \n

\n Directory buckets -\n For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://bucket_name.s3express-az_id.region.amazonaws.com/key-name\n . Path-style requests are not supported. For more information, see Regional and Zonal endpoints in the\n Amazon S3 User Guide.

\n
\n
\n
Permissions
\n
\n
    \n
  • \n

    \n General purpose bucket permissions - For\n information about permissions required to use the multipart upload API, see\n Multipart Upload and\n Permissions in the Amazon S3 User Guide.

    \n
  • \n
  • \n

    \n Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the \n CreateSession\n API operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. \nAmazon Web Services CLI or SDKs create session and refresh the session token automatically to avoid service interruptions when a session expires. For more information about authorization, see \n CreateSession\n .

    \n
  • \n
\n
\n
Sorting of multipart uploads in response
\n
\n
    \n
  • \n

    \n General purpose bucket - In the\n ListMultipartUploads response, the multipart uploads are\n sorted based on two criteria:

    \n
      \n
    • \n

      Key-based sorting - Multipart uploads are initially sorted\n in ascending order based on their object keys.

      \n
    • \n
    • \n

      Time-based sorting - For uploads that share the same object\n key, they are further sorted in ascending order based on the upload\n initiation time. Among uploads with the same key, the one that was\n initiated first will appear before the ones that were initiated\n later.

      \n
    • \n
    \n
  • \n
  • \n

    \n Directory bucket - In the\n ListMultipartUploads response, the multipart uploads aren't\n sorted lexicographically based on the object keys.\n \n

    \n
  • \n
\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is \n Bucket_name.s3express-az_id.region.amazonaws.com.

\n
\n
\n

The following operations are related to ListMultipartUploads:

\n ", + "smithy.api#documentation": "

This operation lists in-progress multipart uploads in a bucket. An in-progress multipart\n upload is a multipart upload that has been initiated by the\n CreateMultipartUpload request, but has not yet been completed or\n aborted.

\n \n

\n Directory buckets - If multipart uploads in\n a directory bucket are in progress, you can't delete the bucket until all the\n in-progress multipart uploads are aborted or completed. To delete these in-progress\n multipart uploads, use the ListMultipartUploads operation to list the\n in-progress multipart uploads in the bucket and use the\n AbortMultipartUpload operation to abort all the in-progress multipart\n uploads.

\n
\n

The ListMultipartUploads operation returns a maximum of 1,000 multipart\n uploads in the response. The limit of 1,000 multipart uploads is also the default value.\n You can further limit the number of uploads in a response by specifying the\n max-uploads request parameter. If there are more than 1,000 multipart\n uploads that satisfy your ListMultipartUploads request, the response returns\n an IsTruncated element with the value of true, a\n NextKeyMarker element, and a NextUploadIdMarker element. To\n list the remaining multipart uploads, you need to make subsequent\n ListMultipartUploads requests. In these requests, include two query\n parameters: key-marker and upload-id-marker. Set the value of\n key-marker to the NextKeyMarker value from the previous\n response. Similarly, set the value of upload-id-marker to the\n NextUploadIdMarker value from the previous response.

\n \n

\n Directory buckets - The\n upload-id-marker element and the NextUploadIdMarker element\n aren't supported by directory buckets. To list the additional multipart uploads, you\n only need to set the value of key-marker to the NextKeyMarker\n value from the previous response.

\n
\n

For more information about multipart uploads, see Uploading Objects Using Multipart\n Upload in the Amazon S3 User Guide.

\n \n

\n Directory buckets -\n For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://bucket-name.s3express-zone-id.region-code.amazonaws.com/key-name\n . Path-style requests are not supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Available Local Zone for directory buckets in the\n Amazon S3 User Guide.

\n
\n
\n
Permissions
\n
\n
    \n
  • \n

    \n General purpose bucket permissions - For\n information about permissions required to use the multipart upload API, see\n Multipart Upload and\n Permissions in the Amazon S3 User Guide.

    \n
  • \n
  • \n

    \n Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the \n CreateSession\n API operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. \nAmazon Web Services CLI or SDKs create session and refresh the session token automatically to avoid service interruptions when a session expires. For more information about authorization, see \n CreateSession\n .

    \n
  • \n
\n
\n
Sorting of multipart uploads in response
\n
\n
    \n
  • \n

    \n General purpose bucket - In the\n ListMultipartUploads response, the multipart uploads are\n sorted based on two criteria:

    \n
      \n
    • \n

      Key-based sorting - Multipart uploads are initially sorted\n in ascending order based on their object keys.

      \n
    • \n
    • \n

      Time-based sorting - For uploads that share the same object\n key, they are further sorted in ascending order based on the upload\n initiation time. Among uploads with the same key, the one that was\n initiated first will appear before the ones that were initiated\n later.

      \n
    • \n
    \n
  • \n
  • \n

    \n Directory bucket - In the\n ListMultipartUploads response, the multipart uploads aren't\n sorted lexicographically based on the object keys.\n \n

    \n
  • \n
\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is \n Bucket-name.s3express-zone-id.region-code.amazonaws.com.

\n
\n
\n

The following operations are related to ListMultipartUploads:

\n ", "smithy.api#examples": [ { "title": "List next set of multipart uploads when previous result is truncated", @@ -27076,7 +28013,7 @@ "Bucket": { "target": "com.amazonaws.s3#BucketName", "traits": { - "smithy.api#documentation": "

The name of the bucket to which the multipart upload was initiated.

\n

\n Directory buckets -\n When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format \n Bucket_name.s3express-az_id.region.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format \n bucket_base_name--az-id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming\n restrictions, see Directory bucket naming\n rules in the Amazon S3 User Guide.

\n

\n Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

\n \n

Access points and Object Lambda access points are not supported by directory buckets.

\n
\n

\n S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form \n AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

", + "smithy.api#documentation": "

The name of the bucket to which the multipart upload was initiated.

\n

\n Directory buckets -\n When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format \n Bucket-name.s3express-zone-id.region-code.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Zone (Availability Zone or Local Zone). Bucket names must follow the format \n bucket-base-name--zone-id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming\n restrictions, see Directory bucket naming\n rules in the Amazon S3 User Guide.

\n

\n Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

\n \n

Access points and Object Lambda access points are not supported by directory buckets.

\n
\n

\n S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form \n AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

", "smithy.api#httpLabel": {}, "smithy.api#required": {}, "smithy.rules#contextParam": { @@ -27526,7 +28463,7 @@ "Bucket": { "target": "com.amazonaws.s3#BucketName", "traits": { - "smithy.api#documentation": "

The name of the bucket containing the objects.

\n

\n Directory buckets -\n When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format \n Bucket_name.s3express-az_id.region.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format \n bucket_base_name--az-id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming\n restrictions, see Directory bucket naming\n rules in the Amazon S3 User Guide.

\n

\n Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

\n \n

Access points and Object Lambda access points are not supported by directory buckets.

\n
\n

\n S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form \n AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

", + "smithy.api#documentation": "

The name of the bucket containing the objects.

\n

\n Directory buckets -\n When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format \n Bucket-name.s3express-zone-id.region-code.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Zone (Availability Zone or Local Zone). Bucket names must follow the format \n bucket-base-name--zone-id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming\n restrictions, see Directory bucket naming\n rules in the Amazon S3 User Guide.

\n

\n Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

\n \n

Access points and Object Lambda access points are not supported by directory buckets.

\n
\n

\n S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form \n AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

", "smithy.api#httpLabel": {}, "smithy.api#required": {}, "smithy.rules#contextParam": { @@ -27611,7 +28548,7 @@ } ], "traits": { - "smithy.api#documentation": "

Returns some or all (up to 1,000) of the objects in a bucket with each request. You can\n use the request parameters as selection criteria to return a subset of the objects in a\n bucket. A 200 OK response can contain valid or invalid XML. Make sure to\n design your application to parse the contents of the response and handle it appropriately.\n For more information about listing objects, see Listing object keys\n programmatically in the Amazon S3 User Guide. To get a list of\n your buckets, see ListBuckets.

\n \n
    \n
  • \n

    \n General purpose bucket - For general purpose buckets,\n ListObjectsV2 doesn't return prefixes that are related only to\n in-progress multipart uploads.

    \n
  • \n
  • \n

    \n Directory buckets - For\n directory buckets, ListObjectsV2 response includes the prefixes that\n are related only to in-progress multipart uploads.

    \n
  • \n
  • \n

    \n Directory buckets -\n For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://bucket_name.s3express-az_id.region.amazonaws.com/key-name\n . Path-style requests are not supported. For more information, see Regional and Zonal endpoints in the\n Amazon S3 User Guide.

    \n
  • \n
\n
\n
\n
Permissions
\n
\n
    \n
  • \n

    \n General purpose bucket permissions - To\n use this operation, you must have READ access to the bucket. You must have\n permission to perform the s3:ListBucket action. The bucket\n owner has this permission by default and can grant this permission to\n others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access\n Permissions to Your Amazon S3 Resources in the\n Amazon S3 User Guide.

    \n
  • \n
  • \n

    \n Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the \n CreateSession\n API operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. \nAmazon Web Services CLI or SDKs create session and refresh the session token automatically to avoid service interruptions when a session expires. For more information about authorization, see \n CreateSession\n .

    \n
  • \n
\n
\n
Sorting order of returned objects
\n
\n
    \n
  • \n

    \n General purpose bucket - For\n general purpose buckets, ListObjectsV2 returns objects in\n lexicographical order based on their key names.

    \n
  • \n
  • \n

    \n Directory bucket - For\n directory buckets, ListObjectsV2 does not return objects in\n lexicographical order.

    \n
  • \n
\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is \n Bucket_name.s3express-az_id.region.amazonaws.com.

\n
\n
\n \n

This section describes the latest revision of this action. We recommend that you use\n this revised API operation for application development. For backward compatibility, Amazon S3\n continues to support the prior version of this API operation, ListObjects.

\n
\n

The following operations are related to ListObjectsV2:

\n ", + "smithy.api#documentation": "

Returns some or all (up to 1,000) of the objects in a bucket with each request. You can\n use the request parameters as selection criteria to return a subset of the objects in a\n bucket. A 200 OK response can contain valid or invalid XML. Make sure to\n design your application to parse the contents of the response and handle it appropriately.\n For more information about listing objects, see Listing object keys\n programmatically in the Amazon S3 User Guide. To get a list of\n your buckets, see ListBuckets.

\n \n
    \n
  • \n

    \n General purpose bucket - For general purpose buckets,\n ListObjectsV2 doesn't return prefixes that are related only to\n in-progress multipart uploads.

    \n
  • \n
  • \n

    \n Directory buckets - For\n directory buckets, ListObjectsV2 response includes the prefixes that\n are related only to in-progress multipart uploads.

    \n
  • \n
  • \n

    \n Directory buckets -\n For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://bucket-name.s3express-zone-id.region-code.amazonaws.com/key-name\n . Path-style requests are not supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Available Local Zone for directory buckets in the\n Amazon S3 User Guide.

    \n
  • \n
\n
\n
\n
Permissions
\n
\n
    \n
  • \n

    \n General purpose bucket permissions - To\n use this operation, you must have READ access to the bucket. You must have\n permission to perform the s3:ListBucket action. The bucket\n owner has this permission by default and can grant this permission to\n others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access\n Permissions to Your Amazon S3 Resources in the\n Amazon S3 User Guide.

    \n
  • \n
  • \n

    \n Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the \n CreateSession\n API operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. \nAmazon Web Services CLI or SDKs create session and refresh the session token automatically to avoid service interruptions when a session expires. For more information about authorization, see \n CreateSession\n .

    \n
  • \n
\n
\n
Sorting order of returned objects
\n
\n
    \n
  • \n

    \n General purpose bucket - For\n general purpose buckets, ListObjectsV2 returns objects in\n lexicographical order based on their key names.

    \n
  • \n
  • \n

    \n Directory bucket - For\n directory buckets, ListObjectsV2 does not return objects in\n lexicographical order.

    \n
  • \n
\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is \n Bucket-name.s3express-zone-id.region-code.amazonaws.com.

\n
\n
\n \n

This section describes the latest revision of this action. We recommend that you use\n this revised API operation for application development. For backward compatibility, Amazon S3\n continues to support the prior version of this API operation, ListObjects.

\n
\n

The following operations are related to ListObjectsV2:

\n ", "smithy.api#examples": [ { "title": "To get object list", @@ -27753,7 +28690,7 @@ "Bucket": { "target": "com.amazonaws.s3#BucketName", "traits": { - "smithy.api#documentation": "

\n Directory buckets -\n When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format \n Bucket_name.s3express-az_id.region.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format \n bucket_base_name--az-id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming\n restrictions, see Directory bucket naming\n rules in the Amazon S3 User Guide.

\n

\n Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

\n \n

Access points and Object Lambda access points are not supported by directory buckets.

\n
\n

\n S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form \n AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

", + "smithy.api#documentation": "

\n Directory buckets -\n When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format \n Bucket-name.s3express-zone-id.region-code.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Zone (Availability Zone or Local Zone). Bucket names must follow the format \n bucket-base-name--zone-id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming\n restrictions, see Directory bucket naming\n rules in the Amazon S3 User Guide.

\n

\n Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

\n \n

Access points and Object Lambda access points are not supported by directory buckets.

\n
\n

\n S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form \n AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

", "smithy.api#httpLabel": {}, "smithy.api#required": {}, "smithy.rules#contextParam": { @@ -27848,7 +28785,7 @@ "target": "com.amazonaws.s3#ListPartsOutput" }, "traits": { - "smithy.api#documentation": "

Lists the parts that have been uploaded for a specific multipart upload.

\n

To use this operation, you must provide the upload ID in the request. You\n obtain this uploadID by sending the initiate multipart upload request through CreateMultipartUpload.

\n

The ListParts request returns a maximum of 1,000 uploaded parts. The limit\n of 1,000 parts is also the default value. You can restrict the number of parts in a\n response by specifying the max-parts request parameter. If your multipart\n upload consists of more than 1,000 parts, the response returns an IsTruncated\n field with the value of true, and a NextPartNumberMarker element.\n To list remaining uploaded parts, in subsequent ListParts requests, include\n the part-number-marker query string parameter and set its value to the\n NextPartNumberMarker field value from the previous response.

\n

For more information on multipart uploads, see Uploading Objects Using Multipart\n Upload in the Amazon S3 User Guide.

\n \n

\n Directory buckets -\n For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://bucket_name.s3express-az_id.region.amazonaws.com/key-name\n . Path-style requests are not supported. For more information, see Regional and Zonal endpoints in the\n Amazon S3 User Guide.

\n
\n
\n
Permissions
\n
\n
    \n
  • \n

    \n General purpose bucket permissions - For\n information about permissions required to use the multipart upload API, see\n Multipart Upload and\n Permissions in the Amazon S3 User Guide.

    \n

    If the upload was created using server-side encryption with Key Management Service\n (KMS) keys (SSE-KMS) or dual-layer server-side encryption with\n Amazon Web Services KMS keys (DSSE-KMS), you must have permission to the\n kms:Decrypt action for the ListParts request to\n succeed.

    \n
  • \n
  • \n

    \n Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the \n CreateSession\n API operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. \nAmazon Web Services CLI or SDKs create session and refresh the session token automatically to avoid service interruptions when a session expires. For more information about authorization, see \n CreateSession\n .

    \n
  • \n
\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is \n Bucket_name.s3express-az_id.region.amazonaws.com.

\n
\n
\n

The following operations are related to ListParts:

\n ", + "smithy.api#documentation": "

Lists the parts that have been uploaded for a specific multipart upload.

\n

To use this operation, you must provide the upload ID in the request. You\n obtain this uploadID by sending the initiate multipart upload request through CreateMultipartUpload.

\n

The ListParts request returns a maximum of 1,000 uploaded parts. The limit\n of 1,000 parts is also the default value. You can restrict the number of parts in a\n response by specifying the max-parts request parameter. If your multipart\n upload consists of more than 1,000 parts, the response returns an IsTruncated\n field with the value of true, and a NextPartNumberMarker element.\n To list remaining uploaded parts, in subsequent ListParts requests, include\n the part-number-marker query string parameter and set its value to the\n NextPartNumberMarker field value from the previous response.

\n

For more information on multipart uploads, see Uploading Objects Using Multipart\n Upload in the Amazon S3 User Guide.

\n \n

\n Directory buckets -\n For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://bucket-name.s3express-zone-id.region-code.amazonaws.com/key-name\n . Path-style requests are not supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Available Local Zone for directory buckets in the\n Amazon S3 User Guide.

\n
\n
\n
Permissions
\n
\n
    \n
  • \n

    \n General purpose bucket permissions - For\n information about permissions required to use the multipart upload API, see\n Multipart Upload and\n Permissions in the Amazon S3 User Guide.

    \n

    If the upload was created using server-side encryption with Key Management Service\n (KMS) keys (SSE-KMS) or dual-layer server-side encryption with\n Amazon Web Services KMS keys (DSSE-KMS), you must have permission to the\n kms:Decrypt action for the ListParts request to\n succeed.

    \n
  • \n
  • \n

    \n Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the \n CreateSession\n API operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. \nAmazon Web Services CLI or SDKs create session and refresh the session token automatically to avoid service interruptions when a session expires. For more information about authorization, see \n CreateSession\n .

    \n
  • \n
\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is \n Bucket-name.s3express-zone-id.region-code.amazonaws.com.

\n
\n
\n

The following operations are related to ListParts:

\n ", "smithy.api#examples": [ { "title": "To list parts of a multipart upload.", @@ -28007,7 +28944,7 @@ "Bucket": { "target": "com.amazonaws.s3#BucketName", "traits": { - "smithy.api#documentation": "

The name of the bucket to which the parts are being uploaded.

\n

\n Directory buckets -\n When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format \n Bucket_name.s3express-az_id.region.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format \n bucket_base_name--az-id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming\n restrictions, see Directory bucket naming\n rules in the Amazon S3 User Guide.

\n

\n Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

\n \n

Access points and Object Lambda access points are not supported by directory buckets.

\n
\n

\n S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form \n AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

", + "smithy.api#documentation": "

The name of the bucket to which the parts are being uploaded.

\n

\n Directory buckets -\n When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format \n Bucket-name.s3express-zone-id.region-code.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Zone (Availability Zone or Local Zone). Bucket names must follow the format \n bucket-base-name--zone-id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming\n restrictions, see Directory bucket naming\n rules in the Amazon S3 User Guide.

\n

\n Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

\n \n

Access points and Object Lambda access points are not supported by directory buckets.

\n
\n

\n S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form \n AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

", "smithy.api#httpLabel": {}, "smithy.api#required": {}, "smithy.rules#contextParam": { @@ -28102,12 +29039,12 @@ "Name": { "target": "com.amazonaws.s3#LocationNameAsString", "traits": { - "smithy.api#documentation": "

The name of the location where the bucket will be created.

\n

For directory buckets, the name of the location is the AZ ID of the Availability Zone where the\n bucket will be created. An example AZ ID value is usw2-az1.

" + "smithy.api#documentation": "

The name of the location where the bucket will be created.

\n

For directory buckets, the name of the location is the Zone ID of the Availability Zone (AZ) or Local Zone (LZ) where the bucket will be created. An example AZ ID value is usw2-az1.

" } } }, "traits": { - "smithy.api#documentation": "

Specifies the location where the bucket will be created.

\n

For directory buckets, the location type is Availability Zone. For more information about\n directory buckets, see Directory buckets in the Amazon S3 User Guide.

\n \n

This functionality is only supported by directory buckets.

\n
" + "smithy.api#documentation": "

Specifies the location where the bucket will be created.

\n

For directory buckets, the location type is Availability Zone or Local Zone. For more information about directory buckets, see \n Directory buckets in the Amazon S3 User Guide.

\n \n

This functionality is only supported by directory buckets.

\n
" } }, "com.amazonaws.s3#LocationNameAsString": { @@ -28124,6 +29061,12 @@ "traits": { "smithy.api#enumValue": "AvailabilityZone" } + }, + "LocalZone": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "LocalZone" + } } } }, @@ -30040,7 +30983,7 @@ "requestAlgorithmMember": "ChecksumAlgorithm", "requestChecksumRequired": true }, - "smithy.api#documentation": "

This operation configures default encryption and Amazon S3 Bucket Keys for an existing\n bucket.

\n \n

\n Directory buckets - For directory buckets, you must make requests for this API operation to the Regional endpoint. These endpoints support path-style requests in the format https://s3express-control.region_code.amazonaws.com/bucket-name\n . Virtual-hosted-style requests aren't supported. \nFor more information, see Regional and Zonal endpoints in the\n Amazon S3 User Guide.

\n
\n

By default, all buckets have a default encryption configuration that uses server-side\n encryption with Amazon S3 managed keys (SSE-S3).

\n \n
    \n
  • \n

    \n General purpose buckets\n

    \n
      \n
    • \n

      You can optionally configure default encryption for a bucket by using\n server-side encryption with Key Management Service (KMS) keys (SSE-KMS) or dual-layer\n server-side encryption with Amazon Web Services KMS keys (DSSE-KMS). If you specify\n default encryption by using SSE-KMS, you can also configure Amazon S3\n Bucket Keys. For information about the bucket default encryption\n feature, see Amazon S3 Bucket Default\n Encryption in the Amazon S3 User Guide.

      \n
    • \n
    • \n

      If you use PutBucketEncryption to set your default bucket\n encryption to SSE-KMS, you should verify that your KMS key ID\n is correct. Amazon S3 doesn't validate the KMS key ID provided in\n PutBucketEncryption requests.

      \n
    • \n
    \n
  • \n
  • \n

    \n Directory buckets - You can\n optionally configure default encryption for a bucket by using server-side\n encryption with Key Management Service (KMS) keys (SSE-KMS).

    \n
      \n
    • \n

      We recommend that the bucket's default encryption uses the desired\n encryption configuration and you don't override the bucket default\n encryption in your CreateSession requests or PUT\n object requests. Then, new objects are automatically encrypted with the\n desired encryption settings.\n For more information about the encryption overriding behaviors in directory buckets, see Specifying server-side encryption with KMS for new object uploads.

      \n
    • \n
    • \n

      Your SSE-KMS configuration can only support 1 customer managed key per directory bucket for the lifetime of the bucket. \nThe Amazon Web Services managed key (aws/s3) isn't supported. \n

      \n
    • \n
    • \n

      S3 Bucket Keys are always enabled for GET and PUT operations in a directory bucket and can’t be disabled. S3 Bucket Keys aren't supported, when you copy SSE-KMS encrypted objects from general purpose buckets \nto directory buckets, from directory buckets to general purpose buckets, or between directory buckets, through CopyObject, UploadPartCopy, the Copy operation in Batch Operations, or \n the import jobs. In this case, Amazon S3 makes a call to KMS every time a copy request is made for a KMS-encrypted object.

      \n
    • \n
    • \n

      When you specify an KMS customer managed key for encryption in your directory bucket, only use the key ID or key ARN. The key alias format of the KMS key isn't supported.

      \n
    • \n
    • \n

      For directory buckets, if you use PutBucketEncryption to set your default bucket encryption to SSE-KMS, Amazon S3 validates the\n KMS key ID provided in PutBucketEncryption requests.

      \n
    • \n
    \n
  • \n
\n
\n \n

If you're specifying a customer managed KMS key, we recommend using a fully\n qualified KMS key ARN. If you use a KMS key alias instead, then KMS resolves the\n key within the requester’s account. This behavior can result in data that's encrypted\n with a KMS key that belongs to the requester, and not the bucket owner.

\n

Also, this action requires Amazon Web Services Signature Version 4. For more information, see\n Authenticating\n Requests (Amazon Web Services Signature Version 4).

\n
\n
\n
Permissions
\n
\n
    \n
  • \n

    \n General purpose bucket permissions - The\n s3:PutEncryptionConfiguration permission is required in a\n policy. The bucket owner has this permission by default. The bucket owner\n can grant this permission to others. For more information about permissions,\n see Permissions Related to Bucket Operations and Managing Access\n Permissions to Your Amazon S3 Resources in the\n Amazon S3 User Guide.

    \n
  • \n
  • \n

    \n Directory bucket permissions -\n To grant access to this API operation, you must have the\n s3express:PutEncryptionConfiguration permission in\n an IAM identity-based policy instead of a bucket policy. Cross-account access to this API operation isn't supported. This operation can only be performed by the Amazon Web Services account that owns the resource.\n For more information about directory bucket policies and permissions, see Amazon Web Services Identity and Access Management (IAM) for S3 Express One Zone in the Amazon S3 User Guide.

    \n

    To set a directory bucket default encryption with SSE-KMS, you must also\n have the kms:GenerateDataKey and the kms:Decrypt\n permissions in IAM identity-based policies and KMS key policies for the\n target KMS key.

    \n
  • \n
\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is s3express-control.region.amazonaws.com.

\n
\n
\n

The following operations are related to PutBucketEncryption:

\n ", + "smithy.api#documentation": "

This operation configures default encryption and Amazon S3 Bucket Keys for an existing\n bucket.

\n \n

\n Directory buckets - For directory buckets, you must make requests for this API operation to the Regional endpoint. These endpoints support path-style requests in the format https://s3express-control.region-code.amazonaws.com/bucket-name\n . Virtual-hosted-style requests aren't supported. \nFor more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Available Local Zone for directory buckets in the\n Amazon S3 User Guide.

\n
\n

By default, all buckets have a default encryption configuration that uses server-side\n encryption with Amazon S3 managed keys (SSE-S3).

\n \n
    \n
  • \n

    \n General purpose buckets\n

    \n
      \n
    • \n

      You can optionally configure default encryption for a bucket by using\n server-side encryption with Key Management Service (KMS) keys (SSE-KMS) or dual-layer\n server-side encryption with Amazon Web Services KMS keys (DSSE-KMS). If you specify\n default encryption by using SSE-KMS, you can also configure Amazon S3\n Bucket Keys. For information about the bucket default encryption\n feature, see Amazon S3 Bucket Default\n Encryption in the Amazon S3 User Guide.

      \n
    • \n
    • \n

      If you use PutBucketEncryption to set your default bucket\n encryption to SSE-KMS, you should verify that your KMS key ID\n is correct. Amazon S3 doesn't validate the KMS key ID provided in\n PutBucketEncryption requests.

      \n
    • \n
    \n
  • \n
  • \n

    \n Directory buckets - You can\n optionally configure default encryption for a bucket by using server-side\n encryption with Key Management Service (KMS) keys (SSE-KMS).

    \n
      \n
    • \n

      We recommend that the bucket's default encryption uses the desired\n encryption configuration and you don't override the bucket default\n encryption in your CreateSession requests or PUT\n object requests. Then, new objects are automatically encrypted with the\n desired encryption settings.\n For more information about the encryption overriding behaviors in directory buckets, see Specifying server-side encryption with KMS for new object uploads.

      \n
    • \n
    • \n

      Your SSE-KMS configuration can only support 1 customer managed key per directory bucket for the lifetime of the bucket. \nThe Amazon Web Services managed key (aws/s3) isn't supported. \n

      \n
    • \n
    • \n

      S3 Bucket Keys are always enabled for GET and PUT operations in a directory bucket and can’t be disabled. S3 Bucket Keys aren't supported, when you copy SSE-KMS encrypted objects from general purpose buckets \nto directory buckets, from directory buckets to general purpose buckets, or between directory buckets, through CopyObject, UploadPartCopy, the Copy operation in Batch Operations, or \n the import jobs. In this case, Amazon S3 makes a call to KMS every time a copy request is made for a KMS-encrypted object.

      \n
    • \n
    • \n

      When you specify an KMS customer managed key for encryption in your directory bucket, only use the key ID or key ARN. The key alias format of the KMS key isn't supported.

      \n
    • \n
    • \n

      For directory buckets, if you use PutBucketEncryption to set your default bucket encryption to SSE-KMS, Amazon S3 validates the\n KMS key ID provided in PutBucketEncryption requests.

      \n
    • \n
    \n
  • \n
\n
\n \n

If you're specifying a customer managed KMS key, we recommend using a fully\n qualified KMS key ARN. If you use a KMS key alias instead, then KMS resolves the\n key within the requester’s account. This behavior can result in data that's encrypted\n with a KMS key that belongs to the requester, and not the bucket owner.

\n

Also, this action requires Amazon Web Services Signature Version 4. For more information, see\n Authenticating\n Requests (Amazon Web Services Signature Version 4).

\n
\n
\n
Permissions
\n
\n
    \n
  • \n

    \n General purpose bucket permissions - The\n s3:PutEncryptionConfiguration permission is required in a\n policy. The bucket owner has this permission by default. The bucket owner\n can grant this permission to others. For more information about permissions,\n see Permissions Related to Bucket Operations and Managing Access\n Permissions to Your Amazon S3 Resources in the\n Amazon S3 User Guide.

    \n
  • \n
  • \n

    \n Directory bucket permissions -\n To grant access to this API operation, you must have the\n s3express:PutEncryptionConfiguration permission in\n an IAM identity-based policy instead of a bucket policy. Cross-account access to this API operation isn't supported. This operation can only be performed by the Amazon Web Services account that owns the resource.\n For more information about directory bucket policies and permissions, see Amazon Web Services Identity and Access Management (IAM) for S3 Express One Zone in the Amazon S3 User Guide.

    \n

    To set a directory bucket default encryption with SSE-KMS, you must also\n have the kms:GenerateDataKey and the kms:Decrypt\n permissions in IAM identity-based policies and KMS key policies for the\n target KMS key.

    \n
  • \n
\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is s3express-control.region-code.amazonaws.com.

\n
\n
\n

The following operations are related to PutBucketEncryption:

\n ", "smithy.api#http": { "method": "PUT", "uri": "/{Bucket}?encryption", @@ -30059,7 +31002,7 @@ "Bucket": { "target": "com.amazonaws.s3#BucketName", "traits": { - "smithy.api#documentation": "

Specifies default encryption for a bucket using server-side encryption with different\n key options.

\n

\n Directory buckets - When you use this operation with a directory bucket, you must use path-style requests in the format https://s3express-control.region_code.amazonaws.com/bucket-name\n . Virtual-hosted-style requests aren't supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must also follow the format \n bucket_base_name--az_id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming restrictions, see Directory bucket naming rules in the Amazon S3 User Guide\n

", + "smithy.api#documentation": "

Specifies default encryption for a bucket using server-side encryption with different\n key options.

\n

\n Directory buckets - When you use this operation with a directory bucket, you must use path-style requests in the format https://s3express-control.region-code.amazonaws.com/bucket-name\n . Virtual-hosted-style requests aren't supported. Directory bucket names must be unique in the chosen Zone (Availability Zone or Local Zone). Bucket names must also follow the format \n bucket-base-name--zone-id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming restrictions, see Directory bucket naming rules in the Amazon S3 User Guide\n

", "smithy.api#httpLabel": {}, "smithy.api#required": {}, "smithy.rules#contextParam": { @@ -30237,7 +31180,7 @@ "requestAlgorithmMember": "ChecksumAlgorithm", "requestChecksumRequired": true }, - "smithy.api#documentation": "

Creates a new lifecycle configuration for the bucket or replaces an existing lifecycle\n configuration. Keep in mind that this will overwrite an existing lifecycle configuration,\n so if you want to retain any configuration details, they must be included in the new\n lifecycle configuration. For information about lifecycle configuration, see Managing\n your storage lifecycle.

\n
\n
Rules
\n
Permissions
\n
HTTP Host header syntax
\n
\n

You specify the lifecycle configuration in your request body. The lifecycle\n configuration is specified as XML consisting of one or more rules. An Amazon S3\n Lifecycle configuration can have up to 1,000 rules. This limit is not\n adjustable.

\n

Bucket lifecycle configuration supports specifying a lifecycle rule using an\n object key name prefix, one or more object tags, object size, or any combination\n of these. Accordingly, this section describes the latest API. The previous version\n of the API supported filtering based only on an object key name prefix, which is\n supported for backward compatibility for general purpose buckets. For the related\n API description, see PutBucketLifecycle.

\n \n

Lifecyle configurations for directory buckets only support expiring objects and\n cancelling multipart uploads. Expiring of versioned objects,transitions and tag\n filters are not supported.

\n
\n

A lifecycle rule consists of the following:

\n
    \n
  • \n

    A filter identifying a subset of objects to which the rule applies. The\n filter can be based on a key name prefix, object tags, object size, or any\n combination of these.

    \n
  • \n
  • \n

    A status indicating whether the rule is in effect.

    \n
  • \n
  • \n

    One or more lifecycle transition and expiration actions that you want\n Amazon S3 to perform on the objects identified by the filter. If the state of\n your bucket is versioning-enabled or versioning-suspended, you can have many\n versions of the same object (one current version and zero or more noncurrent\n versions). Amazon S3 provides predefined actions that you can specify for current\n and noncurrent object versions.

    \n
  • \n
\n

For more information, see Object Lifecycle\n Management and Lifecycle Configuration\n Elements.

\n
\n
\n
    \n
  • \n

    \n General purpose bucket permissions - By\n default, all Amazon S3 resources are private, including buckets, objects, and\n related subresources (for example, lifecycle configuration and website\n configuration). Only the resource owner (that is, the Amazon Web Services account that\n created it) can access the resource. The resource owner can optionally grant\n access permissions to others by writing an access policy. For this\n operation, a user must have the s3:PutLifecycleConfiguration\n permission.

    \n

    You can also explicitly deny permissions. An explicit deny also\n supersedes any other permissions. If you want to block users or accounts\n from removing or deleting objects from your bucket, you must deny them\n permissions for the following actions:

    \n \n
  • \n
\n
    \n
  • \n

    \n Directory bucket permissions -\n You must have the s3express:PutLifecycleConfiguration\n permission in an IAM identity-based policy to use this operation.\n Cross-account access to this API operation isn't supported. The resource\n owner can optionally grant access permissions to others by creating a role\n or user for them as long as they are within the same account as the owner\n and resource.

    \n

    For more information about directory bucket policies and permissions, see\n Authorizing Regional endpoint APIs with IAM in the\n Amazon S3 User Guide.

    \n \n

    \n Directory buckets - For directory buckets, you must make requests for this API operation to the Regional endpoint. These endpoints support path-style requests in the format https://s3express-control.region_code.amazonaws.com/bucket-name\n . Virtual-hosted-style requests aren't supported. \nFor more information, see Regional and Zonal endpoints in the\n Amazon S3 User Guide.

    \n
    \n
  • \n
\n
\n
\n

\n Directory buckets - The HTTP Host\n header syntax is\n s3express-control.region.amazonaws.com.

\n

The following operations are related to\n PutBucketLifecycleConfiguration:

\n \n
\n
", + "smithy.api#documentation": "

Creates a new lifecycle configuration for the bucket or replaces an existing lifecycle\n configuration. Keep in mind that this will overwrite an existing lifecycle configuration,\n so if you want to retain any configuration details, they must be included in the new\n lifecycle configuration. For information about lifecycle configuration, see Managing\n your storage lifecycle.

\n \n

Bucket lifecycle configuration now supports specifying a lifecycle rule using an object key name prefix, one or more object tags, object size, or any combination of these. Accordingly, this section describes the latest API. The previous version of the API supported filtering based only on an object key name prefix, which is supported for backward compatibility.\n For the related API description, see PutBucketLifecycle.

\n
\n
\n
Rules
\n
Permissions
\n
HTTP Host header syntax
\n
\n

You specify the lifecycle configuration in your request body. The lifecycle\n configuration is specified as XML consisting of one or more rules. An Amazon S3\n Lifecycle configuration can have up to 1,000 rules. This limit is not\n adjustable.

\n

Bucket lifecycle configuration supports specifying a lifecycle rule using an\n object key name prefix, one or more object tags, object size, or any combination\n of these. Accordingly, this section describes the latest API. The previous version\n of the API supported filtering based only on an object key name prefix, which is\n supported for backward compatibility for general purpose buckets. For the related\n API description, see PutBucketLifecycle.

\n \n

Lifecyle configurations for directory buckets only support expiring objects and\n cancelling multipart uploads. Expiring of versioned objects,transitions and tag\n filters are not supported.

\n
\n

A lifecycle rule consists of the following:

\n
    \n
  • \n

    A filter identifying a subset of objects to which the rule applies. The\n filter can be based on a key name prefix, object tags, object size, or any\n combination of these.

    \n
  • \n
  • \n

    A status indicating whether the rule is in effect.

    \n
  • \n
  • \n

    One or more lifecycle transition and expiration actions that you want\n Amazon S3 to perform on the objects identified by the filter. If the state of\n your bucket is versioning-enabled or versioning-suspended, you can have many\n versions of the same object (one current version and zero or more noncurrent\n versions). Amazon S3 provides predefined actions that you can specify for current\n and noncurrent object versions.

    \n
  • \n
\n

For more information, see Object Lifecycle\n Management and Lifecycle Configuration\n Elements.

\n
\n
\n
    \n
  • \n

    \n General purpose bucket permissions - By\n default, all Amazon S3 resources are private, including buckets, objects, and\n related subresources (for example, lifecycle configuration and website\n configuration). Only the resource owner (that is, the Amazon Web Services account that\n created it) can access the resource. The resource owner can optionally grant\n access permissions to others by writing an access policy. For this\n operation, a user must have the s3:PutLifecycleConfiguration\n permission.

    \n

    You can also explicitly deny permissions. An explicit deny also\n supersedes any other permissions. If you want to block users or accounts\n from removing or deleting objects from your bucket, you must deny them\n permissions for the following actions:

    \n \n
  • \n
\n
    \n
  • \n

    \n Directory bucket permissions -\n You must have the s3express:PutLifecycleConfiguration\n permission in an IAM identity-based policy to use this operation.\n Cross-account access to this API operation isn't supported. The resource\n owner can optionally grant access permissions to others by creating a role\n or user for them as long as they are within the same account as the owner\n and resource.

    \n

    For more information about directory bucket policies and permissions, see\n Authorizing Regional endpoint APIs with IAM in the\n Amazon S3 User Guide.

    \n \n

    \n Directory buckets - For directory buckets, you must make requests for this API operation to the Regional endpoint. These endpoints support path-style requests in the format https://s3express-control.region-code.amazonaws.com/bucket-name\n . Virtual-hosted-style requests aren't supported. \nFor more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Available Local Zone for directory buckets in the\n Amazon S3 User Guide.

    \n
    \n
  • \n
\n
\n
\n

\n Directory buckets - The HTTP Host\n header syntax is\n s3express-control.region.amazonaws.com.

\n

The following operations are related to\n PutBucketLifecycleConfiguration:

\n \n
\n
", "smithy.api#examples": [ { "title": "Put bucket lifecycle", @@ -30668,7 +31611,7 @@ "requestAlgorithmMember": "ChecksumAlgorithm", "requestChecksumRequired": true }, - "smithy.api#documentation": "

Applies an Amazon S3 bucket policy to an Amazon S3 bucket.

\n \n

\n Directory buckets - For directory buckets, you must make requests for this API operation to the Regional endpoint. These endpoints support path-style requests in the format https://s3express-control.region_code.amazonaws.com/bucket-name\n . Virtual-hosted-style requests aren't supported. \nFor more information, see Regional and Zonal endpoints in the\n Amazon S3 User Guide.

\n
\n
\n
Permissions
\n
\n

If you are using an identity other than the root user of the Amazon Web Services account that\n owns the bucket, the calling identity must both have the\n PutBucketPolicy permissions on the specified bucket and belong to\n the bucket owner's account in order to use this operation.

\n

If you don't have PutBucketPolicy permissions, Amazon S3 returns a\n 403 Access Denied error. If you have the correct permissions, but\n you're not using an identity that belongs to the bucket owner's account, Amazon S3\n returns a 405 Method Not Allowed error.

\n \n

To ensure that bucket owners don't inadvertently lock themselves out of\n their own buckets, the root principal in a bucket owner's Amazon Web Services account can\n perform the GetBucketPolicy, PutBucketPolicy, and\n DeleteBucketPolicy API actions, even if their bucket policy\n explicitly denies the root principal's access. Bucket owner root principals can\n only be blocked from performing these API actions by VPC endpoint policies and\n Amazon Web Services Organizations policies.

\n
\n
    \n
  • \n

    \n General purpose bucket permissions - The\n s3:PutBucketPolicy permission is required in a policy. For\n more information about general purpose buckets bucket policies, see Using Bucket Policies and User Policies in the\n Amazon S3 User Guide.

    \n
  • \n
  • \n

    \n Directory bucket permissions -\n To grant access to this API operation, you must have the\n s3express:PutBucketPolicy permission in\n an IAM identity-based policy instead of a bucket policy. Cross-account access to this API operation isn't supported. This operation can only be performed by the Amazon Web Services account that owns the resource.\n For more information about directory bucket policies and permissions, see Amazon Web Services Identity and Access Management (IAM) for S3 Express One Zone in the Amazon S3 User Guide.

    \n
  • \n
\n
\n
Example bucket policies
\n
\n

\n General purpose buckets example bucket policies\n - See Bucket policy\n examples in the Amazon S3 User Guide.

\n

\n Directory bucket example bucket policies\n - See Example bucket policies for S3 Express One Zone in the\n Amazon S3 User Guide.

\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is s3express-control.region.amazonaws.com.

\n
\n
\n

The following operations are related to PutBucketPolicy:

\n ", + "smithy.api#documentation": "

Applies an Amazon S3 bucket policy to an Amazon S3 bucket.

\n \n

\n Directory buckets - For directory buckets, you must make requests for this API operation to the Regional endpoint. These endpoints support path-style requests in the format https://s3express-control.region-code.amazonaws.com/bucket-name\n . Virtual-hosted-style requests aren't supported. \nFor more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Available Local Zone for directory buckets in the\n Amazon S3 User Guide.

\n
\n
\n
Permissions
\n
\n

If you are using an identity other than the root user of the Amazon Web Services account that\n owns the bucket, the calling identity must both have the\n PutBucketPolicy permissions on the specified bucket and belong to\n the bucket owner's account in order to use this operation.

\n

If you don't have PutBucketPolicy permissions, Amazon S3 returns a\n 403 Access Denied error. If you have the correct permissions, but\n you're not using an identity that belongs to the bucket owner's account, Amazon S3\n returns a 405 Method Not Allowed error.

\n \n

To ensure that bucket owners don't inadvertently lock themselves out of\n their own buckets, the root principal in a bucket owner's Amazon Web Services account can\n perform the GetBucketPolicy, PutBucketPolicy, and\n DeleteBucketPolicy API actions, even if their bucket policy\n explicitly denies the root principal's access. Bucket owner root principals can\n only be blocked from performing these API actions by VPC endpoint policies and\n Amazon Web Services Organizations policies.

\n
\n
    \n
  • \n

    \n General purpose bucket permissions - The\n s3:PutBucketPolicy permission is required in a policy. For\n more information about general purpose buckets bucket policies, see Using Bucket Policies and User Policies in the\n Amazon S3 User Guide.

    \n
  • \n
  • \n

    \n Directory bucket permissions -\n To grant access to this API operation, you must have the\n s3express:PutBucketPolicy permission in\n an IAM identity-based policy instead of a bucket policy. Cross-account access to this API operation isn't supported. This operation can only be performed by the Amazon Web Services account that owns the resource.\n For more information about directory bucket policies and permissions, see Amazon Web Services Identity and Access Management (IAM) for S3 Express One Zone in the Amazon S3 User Guide.

    \n
  • \n
\n
\n
Example bucket policies
\n
\n

\n General purpose buckets example bucket policies\n - See Bucket policy\n examples in the Amazon S3 User Guide.

\n

\n Directory bucket example bucket policies\n - See Example bucket policies for S3 Express One Zone in the\n Amazon S3 User Guide.

\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is s3express-control.region-code.amazonaws.com.

\n
\n
\n

The following operations are related to PutBucketPolicy:

\n ", "smithy.api#examples": [ { "title": "Set bucket policy", @@ -30697,7 +31640,7 @@ "Bucket": { "target": "com.amazonaws.s3#BucketName", "traits": { - "smithy.api#documentation": "

The name of the bucket.

\n

\n Directory buckets - When you use this operation with a directory bucket, you must use path-style requests in the format https://s3express-control.region_code.amazonaws.com/bucket-name\n . Virtual-hosted-style requests aren't supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must also follow the format \n bucket_base_name--az_id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming restrictions, see Directory bucket naming rules in the Amazon S3 User Guide\n

", + "smithy.api#documentation": "

The name of the bucket.

\n

\n Directory buckets - When you use this operation with a directory bucket, you must use path-style requests in the format https://s3express-control.region-code.amazonaws.com/bucket-name\n . Virtual-hosted-style requests aren't supported. Directory bucket names must be unique in the chosen Zone (Availability Zone or Local Zone). Bucket names must also follow the format \n bucket-base-name--zone-id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming restrictions, see Directory bucket naming rules in the Amazon S3 User Guide\n

", "smithy.api#httpLabel": {}, "smithy.api#required": {}, "smithy.rules#contextParam": { @@ -31246,7 +32189,7 @@ "aws.protocols#httpChecksum": { "requestAlgorithmMember": "ChecksumAlgorithm" }, - "smithy.api#documentation": "

Adds an object to a bucket.

\n \n
    \n
  • \n

    Amazon S3 never adds partial objects; if you receive a success response, Amazon S3 added\n the entire object to the bucket. You cannot use PutObject to only\n update a single piece of metadata for an existing object. You must put the entire\n object with updated metadata if you want to update some values.

    \n
  • \n
  • \n

    If your bucket uses the bucket owner enforced setting for Object Ownership,\n ACLs are disabled and no longer affect permissions. All objects written to the\n bucket by any account will be owned by the bucket owner.

    \n
  • \n
  • \n

    \n Directory buckets -\n For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://bucket_name.s3express-az_id.region.amazonaws.com/key-name\n . Path-style requests are not supported. For more information, see Regional and Zonal endpoints in the\n Amazon S3 User Guide.

    \n
  • \n
\n
\n

Amazon S3 is a distributed system. If it receives multiple write requests for the same object\n simultaneously, it overwrites all but the last object written. However, Amazon S3 provides\n features that can modify this behavior:

\n
    \n
  • \n

    \n S3 Object Lock - To prevent objects from\n being deleted or overwritten, you can use Amazon S3 Object\n Lock in the Amazon S3 User Guide.

    \n \n

    This functionality is not supported for directory buckets.

    \n
    \n
  • \n
  • \n

    \n S3 Versioning - When you enable versioning\n for a bucket, if Amazon S3 receives multiple write requests for the same object\n simultaneously, it stores all versions of the objects. For each write request that is\n made to the same object, Amazon S3 automatically generates a unique version ID of that\n object being stored in Amazon S3. You can retrieve, replace, or delete any version of the\n object. For more information about versioning, see Adding\n Objects to Versioning-Enabled Buckets in the Amazon S3 User\n Guide. For information about returning the versioning state of a\n bucket, see GetBucketVersioning.

    \n \n

    This functionality is not supported for directory buckets.

    \n
    \n
  • \n
\n
\n
Permissions
\n
\n
    \n
  • \n

    \n General purpose bucket permissions - The\n following permissions are required in your policies when your\n PutObject request includes specific headers.

    \n
      \n
    • \n

      \n \n s3:PutObject\n -\n To successfully complete the PutObject request, you must\n always have the s3:PutObject permission on a bucket to\n add an object to it.

      \n
    • \n
    • \n

      \n \n s3:PutObjectAcl\n - To successfully change the objects ACL of your\n PutObject request, you must have the\n s3:PutObjectAcl.

      \n
    • \n
    • \n

      \n \n s3:PutObjectTagging\n - To successfully set the tag-set with your\n PutObject request, you must have the\n s3:PutObjectTagging.

      \n
    • \n
    \n
  • \n
  • \n

    \n Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the \n CreateSession\n API operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. \nAmazon Web Services CLI or SDKs create session and refresh the session token automatically to avoid service interruptions when a session expires. For more information about authorization, see \n CreateSession\n .

    \n

    If the object is encrypted with SSE-KMS, you must also have the\n kms:GenerateDataKey and kms:Decrypt permissions\n in IAM identity-based policies and KMS key policies for the KMS\n key.

    \n
  • \n
\n
\n
Data integrity with Content-MD5
\n
\n
    \n
  • \n

    \n General purpose bucket - To ensure that\n data is not corrupted traversing the network, use the\n Content-MD5 header. When you use this header, Amazon S3 checks\n the object against the provided MD5 value and, if they do not match, Amazon S3\n returns an error. Alternatively, when the object's ETag is its MD5 digest,\n you can calculate the MD5 while putting the object to Amazon S3 and compare the\n returned ETag to the calculated MD5 value.

    \n
  • \n
  • \n

    \n Directory bucket -\n This functionality is not supported for directory buckets.

    \n
  • \n
\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is \n Bucket_name.s3express-az_id.region.amazonaws.com.

\n
\n
\n

For more information about related Amazon S3 APIs, see the following:

\n ", + "smithy.api#documentation": "

Adds an object to a bucket.

\n \n
    \n
  • \n

    Amazon S3 never adds partial objects; if you receive a success response, Amazon S3 added\n the entire object to the bucket. You cannot use PutObject to only\n update a single piece of metadata for an existing object. You must put the entire\n object with updated metadata if you want to update some values.

    \n
  • \n
  • \n

    If your bucket uses the bucket owner enforced setting for Object Ownership,\n ACLs are disabled and no longer affect permissions. All objects written to the\n bucket by any account will be owned by the bucket owner.

    \n
  • \n
  • \n

    \n Directory buckets -\n For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://bucket-name.s3express-zone-id.region-code.amazonaws.com/key-name\n . Path-style requests are not supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Available Local Zone for directory buckets in the\n Amazon S3 User Guide.

    \n
  • \n
\n
\n

Amazon S3 is a distributed system. If it receives multiple write requests for the same object\n simultaneously, it overwrites all but the last object written. However, Amazon S3 provides\n features that can modify this behavior:

\n
    \n
  • \n

    \n S3 Object Lock - To prevent objects from\n being deleted or overwritten, you can use Amazon S3 Object\n Lock in the Amazon S3 User Guide.

    \n \n

    This functionality is not supported for directory buckets.

    \n
    \n
  • \n
  • \n

    \n S3 Versioning - When you enable versioning\n for a bucket, if Amazon S3 receives multiple write requests for the same object\n simultaneously, it stores all versions of the objects. For each write request that is\n made to the same object, Amazon S3 automatically generates a unique version ID of that\n object being stored in Amazon S3. You can retrieve, replace, or delete any version of the\n object. For more information about versioning, see Adding\n Objects to Versioning-Enabled Buckets in the Amazon S3 User\n Guide. For information about returning the versioning state of a\n bucket, see GetBucketVersioning.

    \n \n

    This functionality is not supported for directory buckets.

    \n
    \n
  • \n
\n
\n
Permissions
\n
\n
    \n
  • \n

    \n General purpose bucket permissions - The\n following permissions are required in your policies when your\n PutObject request includes specific headers.

    \n
      \n
    • \n

      \n \n s3:PutObject\n -\n To successfully complete the PutObject request, you must\n always have the s3:PutObject permission on a bucket to\n add an object to it.

      \n
    • \n
    • \n

      \n \n s3:PutObjectAcl\n - To successfully change the objects ACL of your\n PutObject request, you must have the\n s3:PutObjectAcl.

      \n
    • \n
    • \n

      \n \n s3:PutObjectTagging\n - To successfully set the tag-set with your\n PutObject request, you must have the\n s3:PutObjectTagging.

      \n
    • \n
    \n
  • \n
  • \n

    \n Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the \n CreateSession\n API operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. \nAmazon Web Services CLI or SDKs create session and refresh the session token automatically to avoid service interruptions when a session expires. For more information about authorization, see \n CreateSession\n .

    \n

    If the object is encrypted with SSE-KMS, you must also have the\n kms:GenerateDataKey and kms:Decrypt permissions\n in IAM identity-based policies and KMS key policies for the KMS\n key.

    \n
  • \n
\n
\n
Data integrity with Content-MD5
\n
\n
    \n
  • \n

    \n General purpose bucket - To ensure that\n data is not corrupted traversing the network, use the\n Content-MD5 header. When you use this header, Amazon S3 checks\n the object against the provided MD5 value and, if they do not match, Amazon S3\n returns an error. Alternatively, when the object's ETag is its MD5 digest,\n you can calculate the MD5 while putting the object to Amazon S3 and compare the\n returned ETag to the calculated MD5 value.

    \n
  • \n
  • \n

    \n Directory bucket -\n This functionality is not supported for directory buckets.

    \n
  • \n
\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is \n Bucket-name.s3express-zone-id.region-code.amazonaws.com.

\n
\n
\n

For more information about related Amazon S3 APIs, see the following:

\n ", "smithy.api#examples": [ { "title": "To create an object.", @@ -31733,7 +32676,7 @@ "Expiration": { "target": "com.amazonaws.s3#Expiration", "traits": { - "smithy.api#documentation": "

If the expiration is configured for the object (see PutBucketLifecycleConfiguration) in the Amazon S3 User Guide,\n the response includes this header. It includes the expiry-date and\n rule-id key-value pairs that provide information about object expiration.\n The value of the rule-id is URL-encoded.

\n \n

This functionality is not supported for directory buckets.

\n
", + "smithy.api#documentation": "

If the expiration is configured for the object (see PutBucketLifecycleConfiguration) in the Amazon S3 User Guide,\n the response includes this header. It includes the expiry-date and\n rule-id key-value pairs that provide information about object expiration.\n The value of the rule-id is URL-encoded.

\n \n

Object expiration information is not returned in directory buckets and this header returns the value \"NotImplemented\" in all responses for directory buckets.

\n
", "smithy.api#httpHeader": "x-amz-expiration" } }, @@ -31860,7 +32803,7 @@ "Bucket": { "target": "com.amazonaws.s3#BucketName", "traits": { - "smithy.api#documentation": "

The bucket name to which the PUT action was initiated.

\n

\n Directory buckets -\n When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format \n Bucket_name.s3express-az_id.region.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format \n bucket_base_name--az-id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming\n restrictions, see Directory bucket naming\n rules in the Amazon S3 User Guide.

\n

\n Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

\n \n

Access points and Object Lambda access points are not supported by directory buckets.

\n
\n

\n S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form \n AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

", + "smithy.api#documentation": "

The bucket name to which the PUT action was initiated.

\n

\n Directory buckets -\n When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format \n Bucket-name.s3express-zone-id.region-code.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Zone (Availability Zone or Local Zone). Bucket names must follow the format \n bucket-base-name--zone-id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming\n restrictions, see Directory bucket naming\n rules in the Amazon S3 User Guide.

\n

\n Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

\n \n

Access points and Object Lambda access points are not supported by directory buckets.

\n
\n

\n S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form \n AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

", "smithy.api#httpLabel": {}, "smithy.api#required": {}, "smithy.rules#contextParam": { @@ -33125,7 +34068,7 @@ "Type": { "target": "com.amazonaws.s3#RestoreRequestType", "traits": { - "smithy.api#documentation": "

Type of restore request.

" + "smithy.api#documentation": "\n

Amazon S3 Select is no longer available to new customers. Existing customers of Amazon S3 Select can continue to use the feature as usual. Learn more\n

\n
\n

Type of restore request.

" } }, "Tier": { @@ -33143,7 +34086,7 @@ "SelectParameters": { "target": "com.amazonaws.s3#SelectParameters", "traits": { - "smithy.api#documentation": "

Describes the parameters for Select job types.

" + "smithy.api#documentation": "\n

Amazon S3 Select is no longer available to new customers. Existing customers of Amazon S3 Select can continue to use the feature as usual. Learn more\n

\n
\n

Describes the parameters for Select job types.

" } }, "OutputLocation": { @@ -33522,7 +34465,7 @@ } }, "traits": { - "smithy.api#documentation": "

Request to filter the contents of an Amazon S3 object based on a simple Structured Query\n Language (SQL) statement. In the request, along with the SQL expression, you must specify a\n data serialization format (JSON or CSV) of the object. Amazon S3 uses this to parse object data\n into records. It returns only records that match the specified SQL expression. You must\n also specify the data serialization format for the response. For more information, see\n S3Select API Documentation.

", + "smithy.api#documentation": "\n

Learn Amazon S3 Select is no longer available to new customers. Existing customers of Amazon S3 Select can continue to use the feature as usual. Learn more\n

\n
\n

Request to filter the contents of an Amazon S3 object based on a simple Structured Query\n Language (SQL) statement. In the request, along with the SQL expression, you must specify a\n data serialization format (JSON or CSV) of the object. Amazon S3 uses this to parse object data\n into records. It returns only records that match the specified SQL expression. You must\n also specify the data serialization format for the response. For more information, see\n S3Select API Documentation.

", "smithy.api#input": {} } }, @@ -33546,7 +34489,7 @@ "Expression": { "target": "com.amazonaws.s3#Expression", "traits": { - "smithy.api#documentation": "

The expression that is used to query the object.

", + "smithy.api#documentation": "\n

Amazon S3 Select is no longer available to new customers. Existing customers of Amazon S3 Select can continue to use the feature as usual. Learn more\n

\n
\n

The expression that is used to query the object.

", "smithy.api#required": {} } }, @@ -33559,7 +34502,7 @@ } }, "traits": { - "smithy.api#documentation": "

Describes the parameters for Select job types.

" + "smithy.api#documentation": "\n

Amazon S3 Select is no longer available to new customers. Existing customers of Amazon S3 Select can continue to use the feature as usual. Learn more\n

\n
\n

Describes the parameters for Select job types.

\n

Learn How to optimize querying your data in Amazon S3 using\n Amazon Athena, S3 Object Lambda, or client-side filtering.

" } }, "com.amazonaws.s3#ServerSideEncryption": { @@ -34322,7 +35265,7 @@ "aws.protocols#httpChecksum": { "requestAlgorithmMember": "ChecksumAlgorithm" }, - "smithy.api#documentation": "

Uploads a part in a multipart upload.

\n \n

In this operation, you provide new data as a part of an object in your request.\n However, you have an option to specify your existing Amazon S3 object as a data source for\n the part you are uploading. To upload a part from an existing object, you use the UploadPartCopy operation.

\n
\n

You must initiate a multipart upload (see CreateMultipartUpload)\n before you can upload any part. In response to your initiate request, Amazon S3 returns an\n upload ID, a unique identifier that you must include in your upload part request.

\n

Part numbers can be any number from 1 to 10,000, inclusive. A part number uniquely\n identifies a part and also defines its position within the object being created. If you\n upload a new part using the same part number that was used with a previous part, the\n previously uploaded part is overwritten.

\n

For information about maximum and minimum part sizes and other multipart upload\n specifications, see Multipart upload limits in the Amazon S3 User Guide.

\n \n

After you initiate multipart upload and upload one or more parts, you must either\n complete or abort multipart upload in order to stop getting charged for storage of the\n uploaded parts. Only after you either complete or abort multipart upload, Amazon S3 frees up\n the parts storage and stops charging you for the parts storage.

\n
\n

For more information on multipart uploads, go to Multipart Upload Overview in the\n Amazon S3 User Guide .

\n \n

\n Directory buckets -\n For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://bucket_name.s3express-az_id.region.amazonaws.com/key-name\n . Path-style requests are not supported. For more information, see Regional and Zonal endpoints in the\n Amazon S3 User Guide.

\n
\n
\n
Permissions
\n
\n
    \n
  • \n

    \n General purpose bucket permissions - To\n perform a multipart upload with encryption using an Key Management Service key, the\n requester must have permission to the kms:Decrypt and\n kms:GenerateDataKey actions on the key. The requester must\n also have permissions for the kms:GenerateDataKey action for\n the CreateMultipartUpload API. Then, the requester needs\n permissions for the kms:Decrypt action on the\n UploadPart and UploadPartCopy APIs.

    \n

    These permissions are required because Amazon S3 must decrypt and read data\n from the encrypted file parts before it completes the multipart upload. For\n more information about KMS permissions, see Protecting data\n using server-side encryption with KMS in the\n Amazon S3 User Guide. For information about the\n permissions required to use the multipart upload API, see Multipart upload and permissions and Multipart upload API and permissions in the\n Amazon S3 User Guide.

    \n
  • \n
  • \n

    \n Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the \n CreateSession\n API operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. \nAmazon Web Services CLI or SDKs create session and refresh the session token automatically to avoid service interruptions when a session expires. For more information about authorization, see \n CreateSession\n .

    \n

    If the object is encrypted with SSE-KMS, you must also have the\n kms:GenerateDataKey and kms:Decrypt permissions\n in IAM identity-based policies and KMS key policies for the KMS\n key.

    \n
  • \n
\n
\n
Data integrity
\n
\n

\n General purpose bucket - To ensure that data\n is not corrupted traversing the network, specify the Content-MD5\n header in the upload part request. Amazon S3 checks the part data against the provided\n MD5 value. If they do not match, Amazon S3 returns an error. If the upload request is\n signed with Signature Version 4, then Amazon Web Services S3 uses the\n x-amz-content-sha256 header as a checksum instead of\n Content-MD5. For more information see Authenticating Requests: Using the Authorization Header (Amazon Web Services Signature\n Version 4).

\n \n

\n Directory buckets - MD5 is not supported by directory buckets. You can use checksum algorithms to check object integrity.

\n
\n
\n
Encryption
\n
\n
    \n
  • \n

    \n General purpose bucket - Server-side\n encryption is for data encryption at rest. Amazon S3 encrypts your data as it\n writes it to disks in its data centers and decrypts it when you access it.\n You have mutually exclusive options to protect data using server-side\n encryption in Amazon S3, depending on how you choose to manage the encryption\n keys. Specifically, the encryption key options are Amazon S3 managed keys\n (SSE-S3), Amazon Web Services KMS keys (SSE-KMS), and Customer-Provided Keys (SSE-C).\n Amazon S3 encrypts data with server-side encryption using Amazon S3 managed keys\n (SSE-S3) by default. You can optionally tell Amazon S3 to encrypt data at rest\n using server-side encryption with other key options. The option you use\n depends on whether you want to use KMS keys (SSE-KMS) or provide your own\n encryption key (SSE-C).

    \n

    Server-side encryption is supported by the S3 Multipart Upload\n operations. Unless you are using a customer-provided encryption key (SSE-C),\n you don't need to specify the encryption parameters in each UploadPart\n request. Instead, you only need to specify the server-side encryption\n parameters in the initial Initiate Multipart request. For more information,\n see CreateMultipartUpload.

    \n

    If you request server-side encryption using a customer-provided\n encryption key (SSE-C) in your initiate multipart upload request, you must\n provide identical encryption information in each part upload using the\n following request headers.

    \n
      \n
    • \n

      x-amz-server-side-encryption-customer-algorithm

      \n
    • \n
    • \n

      x-amz-server-side-encryption-customer-key

      \n
    • \n
    • \n

      x-amz-server-side-encryption-customer-key-MD5

      \n
    • \n
    \n

    For more information, see Using\n Server-Side Encryption in the\n Amazon S3 User Guide.

    \n
  • \n
  • \n

    \n Directory buckets -\n For directory buckets, there are only two supported options for server-side encryption: server-side encryption with Amazon S3 managed keys (SSE-S3) (AES256) and server-side encryption with KMS keys (SSE-KMS) (aws:kms).

    \n
  • \n
\n
\n
Special errors
\n
\n
    \n
  • \n

    Error Code: NoSuchUpload\n

    \n
      \n
    • \n

      Description: The specified multipart upload does not exist. The\n upload ID might be invalid, or the multipart upload might have been\n aborted or completed.

      \n
    • \n
    • \n

      HTTP Status Code: 404 Not Found

      \n
    • \n
    • \n

      SOAP Fault Code Prefix: Client

      \n
    • \n
    \n
  • \n
\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is \n Bucket_name.s3express-az_id.region.amazonaws.com.

\n
\n
\n

The following operations are related to UploadPart:

\n ", + "smithy.api#documentation": "

Uploads a part in a multipart upload.

\n \n

In this operation, you provide new data as a part of an object in your request.\n However, you have an option to specify your existing Amazon S3 object as a data source for\n the part you are uploading. To upload a part from an existing object, you use the UploadPartCopy operation.

\n
\n

You must initiate a multipart upload (see CreateMultipartUpload)\n before you can upload any part. In response to your initiate request, Amazon S3 returns an\n upload ID, a unique identifier that you must include in your upload part request.

\n

Part numbers can be any number from 1 to 10,000, inclusive. A part number uniquely\n identifies a part and also defines its position within the object being created. If you\n upload a new part using the same part number that was used with a previous part, the\n previously uploaded part is overwritten.

\n

For information about maximum and minimum part sizes and other multipart upload\n specifications, see Multipart upload limits in the Amazon S3 User Guide.

\n \n

After you initiate multipart upload and upload one or more parts, you must either\n complete or abort multipart upload in order to stop getting charged for storage of the\n uploaded parts. Only after you either complete or abort multipart upload, Amazon S3 frees up\n the parts storage and stops charging you for the parts storage.

\n
\n

For more information on multipart uploads, go to Multipart Upload Overview in the\n Amazon S3 User Guide .

\n \n

\n Directory buckets -\n For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://bucket-name.s3express-zone-id.region-code.amazonaws.com/key-name\n . Path-style requests are not supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Available Local Zone for directory buckets in the\n Amazon S3 User Guide.

\n
\n
\n
Permissions
\n
\n
    \n
  • \n

    \n General purpose bucket permissions - To\n perform a multipart upload with encryption using an Key Management Service key, the\n requester must have permission to the kms:Decrypt and\n kms:GenerateDataKey actions on the key. The requester must\n also have permissions for the kms:GenerateDataKey action for\n the CreateMultipartUpload API. Then, the requester needs\n permissions for the kms:Decrypt action on the\n UploadPart and UploadPartCopy APIs.

    \n

    These permissions are required because Amazon S3 must decrypt and read data\n from the encrypted file parts before it completes the multipart upload. For\n more information about KMS permissions, see Protecting data\n using server-side encryption with KMS in the\n Amazon S3 User Guide. For information about the\n permissions required to use the multipart upload API, see Multipart upload and permissions and Multipart upload API and permissions in the\n Amazon S3 User Guide.

    \n
  • \n
  • \n

    \n Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the \n CreateSession\n API operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. \nAmazon Web Services CLI or SDKs create session and refresh the session token automatically to avoid service interruptions when a session expires. For more information about authorization, see \n CreateSession\n .

    \n

    If the object is encrypted with SSE-KMS, you must also have the\n kms:GenerateDataKey and kms:Decrypt permissions\n in IAM identity-based policies and KMS key policies for the KMS\n key.

    \n
  • \n
\n
\n
Data integrity
\n
\n

\n General purpose bucket - To ensure that data\n is not corrupted traversing the network, specify the Content-MD5\n header in the upload part request. Amazon S3 checks the part data against the provided\n MD5 value. If they do not match, Amazon S3 returns an error. If the upload request is\n signed with Signature Version 4, then Amazon Web Services S3 uses the\n x-amz-content-sha256 header as a checksum instead of\n Content-MD5. For more information see Authenticating Requests: Using the Authorization Header (Amazon Web Services Signature\n Version 4).

\n \n

\n Directory buckets - MD5 is not supported by directory buckets. You can use checksum algorithms to check object integrity.

\n
\n
\n
Encryption
\n
\n
    \n
  • \n

    \n General purpose bucket - Server-side\n encryption is for data encryption at rest. Amazon S3 encrypts your data as it\n writes it to disks in its data centers and decrypts it when you access it.\n You have mutually exclusive options to protect data using server-side\n encryption in Amazon S3, depending on how you choose to manage the encryption\n keys. Specifically, the encryption key options are Amazon S3 managed keys\n (SSE-S3), Amazon Web Services KMS keys (SSE-KMS), and Customer-Provided Keys (SSE-C).\n Amazon S3 encrypts data with server-side encryption using Amazon S3 managed keys\n (SSE-S3) by default. You can optionally tell Amazon S3 to encrypt data at rest\n using server-side encryption with other key options. The option you use\n depends on whether you want to use KMS keys (SSE-KMS) or provide your own\n encryption key (SSE-C).

    \n

    Server-side encryption is supported by the S3 Multipart Upload\n operations. Unless you are using a customer-provided encryption key (SSE-C),\n you don't need to specify the encryption parameters in each UploadPart\n request. Instead, you only need to specify the server-side encryption\n parameters in the initial Initiate Multipart request. For more information,\n see CreateMultipartUpload.

    \n

    If you request server-side encryption using a customer-provided\n encryption key (SSE-C) in your initiate multipart upload request, you must\n provide identical encryption information in each part upload using the\n following request headers.

    \n
      \n
    • \n

      x-amz-server-side-encryption-customer-algorithm

      \n
    • \n
    • \n

      x-amz-server-side-encryption-customer-key

      \n
    • \n
    • \n

      x-amz-server-side-encryption-customer-key-MD5

      \n
    • \n
    \n

    For more information, see Using\n Server-Side Encryption in the\n Amazon S3 User Guide.

    \n
  • \n
  • \n

    \n Directory buckets -\n For directory buckets, there are only two supported options for server-side encryption: server-side encryption with Amazon S3 managed keys (SSE-S3) (AES256) and server-side encryption with KMS keys (SSE-KMS) (aws:kms).

    \n
  • \n
\n
\n
Special errors
\n
\n
    \n
  • \n

    Error Code: NoSuchUpload\n

    \n
      \n
    • \n

      Description: The specified multipart upload does not exist. The\n upload ID might be invalid, or the multipart upload might have been\n aborted or completed.

      \n
    • \n
    • \n

      HTTP Status Code: 404 Not Found

      \n
    • \n
    • \n

      SOAP Fault Code Prefix: Client

      \n
    • \n
    \n
  • \n
\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is \n Bucket-name.s3express-zone-id.region-code.amazonaws.com.

\n
\n
\n

The following operations are related to UploadPart:

\n ", "smithy.api#examples": [ { "title": "To upload a part", @@ -34355,7 +35298,7 @@ "target": "com.amazonaws.s3#UploadPartCopyOutput" }, "traits": { - "smithy.api#documentation": "

Uploads a part by copying data from an existing object as data source. To specify the\n data source, you add the request header x-amz-copy-source in your request. To\n specify a byte range, you add the request header x-amz-copy-source-range in\n your request.

\n

For information about maximum and minimum part sizes and other multipart upload\n specifications, see Multipart upload limits in the Amazon S3 User Guide.

\n \n

Instead of copying data from an existing object as part data, you might use the\n UploadPart action to upload new data as a part of an object in your\n request.

\n
\n

You must initiate a multipart upload before you can upload any part. In response to your\n initiate request, Amazon S3 returns the upload ID, a unique identifier that you must include in\n your upload part request.

\n

For conceptual information about multipart uploads, see Uploading Objects Using Multipart\n Upload in the Amazon S3 User Guide. For information about\n copying objects using a single atomic action vs. a multipart upload, see Operations on\n Objects in the Amazon S3 User Guide.

\n \n

\n Directory buckets -\n For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://bucket_name.s3express-az_id.region.amazonaws.com/key-name\n . Path-style requests are not supported. For more information, see Regional and Zonal endpoints in the\n Amazon S3 User Guide.

\n
\n
\n
Authentication and authorization
\n
\n

All UploadPartCopy requests must be authenticated and signed by\n using IAM credentials (access key ID and secret access key for the IAM\n identities). All headers with the x-amz- prefix, including\n x-amz-copy-source, must be signed. For more information, see\n REST Authentication.

\n

\n Directory buckets - You must use IAM\n credentials to authenticate and authorize your access to the\n UploadPartCopy API operation, instead of using the temporary\n security credentials through the CreateSession API operation.

\n

Amazon Web Services CLI or SDKs handles authentication and authorization on your\n behalf.

\n
\n
Permissions
\n
\n

You must have READ access to the source object and\n WRITE access to the destination bucket.

\n
    \n
  • \n

    \n General purpose bucket permissions - You\n must have the permissions in a policy based on the bucket types of your\n source bucket and destination bucket in an UploadPartCopy\n operation.

    \n
      \n
    • \n

      If the source object is in a general purpose bucket, you must have the\n \n s3:GetObject\n \n permission to read the source object that is being copied.

      \n
    • \n
    • \n

      If the destination bucket is a general purpose bucket, you must have the\n \n s3:PutObject\n \n permission to write the object copy to the destination bucket.

      \n
    • \n
    • \n

      To perform a multipart upload with encryption using an Key Management Service\n key, the requester must have permission to the\n kms:Decrypt and kms:GenerateDataKey\n actions on the key. The requester must also have permissions for the\n kms:GenerateDataKey action for the\n CreateMultipartUpload API. Then, the requester needs\n permissions for the kms:Decrypt action on the\n UploadPart and UploadPartCopy APIs. These\n permissions are required because Amazon S3 must decrypt and read data from\n the encrypted file parts before it completes the multipart upload. For\n more information about KMS permissions, see Protecting\n data using server-side encryption with KMS in the\n Amazon S3 User Guide. For information about the\n permissions required to use the multipart upload API, see Multipart upload\n and permissions and Multipart upload API and permissions in the\n Amazon S3 User Guide.

      \n
    • \n
    \n
  • \n
  • \n

    \n Directory bucket permissions -\n You must have permissions in a bucket policy or an IAM identity-based policy based on the\n source and destination bucket types in an UploadPartCopy\n operation.

    \n
      \n
    • \n

      If the source object that you want to copy is in a\n directory bucket, you must have the \n s3express:CreateSession\n permission in\n the Action element of a policy to read the object. By\n default, the session is in the ReadWrite mode. If you\n want to restrict the access, you can explicitly set the\n s3express:SessionMode condition key to\n ReadOnly on the copy source bucket.

      \n
    • \n
    • \n

      If the copy destination is a directory bucket, you must have the\n \n s3express:CreateSession\n permission in the\n Action element of a policy to write the object to the\n destination. The s3express:SessionMode condition key\n cannot be set to ReadOnly on the copy destination.\n

      \n
    • \n
    \n

    If the object is encrypted with SSE-KMS, you must also have the\n kms:GenerateDataKey and kms:Decrypt permissions\n in IAM identity-based policies and KMS key policies for the KMS\n key.

    \n

    For example policies, see Example bucket policies for S3 Express One Zone and Amazon Web Services Identity and Access Management (IAM) identity-based policies for\n S3 Express One Zone in the Amazon S3 User Guide.

    \n
  • \n
\n
\n
Encryption
\n
\n
    \n
  • \n

    \n General purpose buckets -\n For information about using\n server-side encryption with customer-provided encryption keys with the\n UploadPartCopy operation, see CopyObject and\n UploadPart.

    \n
  • \n
  • \n

    \n Directory buckets -\n For directory buckets, there are only two supported options for server-side encryption: server-side encryption with Amazon S3 managed keys (SSE-S3) (AES256) and server-side encryption with KMS keys (SSE-KMS) (aws:kms). For more\n information, see Protecting data with server-side encryption in the Amazon S3 User Guide.

    \n \n

    For directory buckets, when you perform a\n CreateMultipartUpload operation and an\n UploadPartCopy operation, the request headers you provide\n in the CreateMultipartUpload request must match the default\n encryption configuration of the destination bucket.

    \n
    \n

    S3 Bucket Keys aren't supported, when you copy SSE-KMS encrypted objects from general purpose buckets \nto directory buckets, from directory buckets to general purpose buckets, or between directory buckets, through UploadPartCopy. In this case, Amazon S3 makes a call to KMS every time a copy request is made for a KMS-encrypted object.

    \n
  • \n
\n
\n
Special errors
\n
\n
    \n
  • \n

    Error Code: NoSuchUpload\n

    \n
      \n
    • \n

      Description: The specified multipart upload does not exist. The\n upload ID might be invalid, or the multipart upload might have been\n aborted or completed.

      \n
    • \n
    • \n

      HTTP Status Code: 404 Not Found

      \n
    • \n
    \n
  • \n
  • \n

    Error Code: InvalidRequest\n

    \n
      \n
    • \n

      Description: The specified copy source is not supported as a\n byte-range copy source.

      \n
    • \n
    • \n

      HTTP Status Code: 400 Bad Request

      \n
    • \n
    \n
  • \n
\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is \n Bucket_name.s3express-az_id.region.amazonaws.com.

\n
\n
\n

The following operations are related to UploadPartCopy:

\n ", + "smithy.api#documentation": "

Uploads a part by copying data from an existing object as data source. To specify the\n data source, you add the request header x-amz-copy-source in your request. To\n specify a byte range, you add the request header x-amz-copy-source-range in\n your request.

\n

For information about maximum and minimum part sizes and other multipart upload\n specifications, see Multipart upload limits in the Amazon S3 User Guide.

\n \n

Instead of copying data from an existing object as part data, you might use the\n UploadPart action to upload new data as a part of an object in your\n request.

\n
\n

You must initiate a multipart upload before you can upload any part. In response to your\n initiate request, Amazon S3 returns the upload ID, a unique identifier that you must include in\n your upload part request.

\n

For conceptual information about multipart uploads, see Uploading Objects Using Multipart\n Upload in the Amazon S3 User Guide. For information about\n copying objects using a single atomic action vs. a multipart upload, see Operations on\n Objects in the Amazon S3 User Guide.

\n \n

\n Directory buckets -\n For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://bucket-name.s3express-zone-id.region-code.amazonaws.com/key-name\n . Path-style requests are not supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Available Local Zone for directory buckets in the\n Amazon S3 User Guide.

\n
\n
\n
Authentication and authorization
\n
\n

All UploadPartCopy requests must be authenticated and signed by\n using IAM credentials (access key ID and secret access key for the IAM\n identities). All headers with the x-amz- prefix, including\n x-amz-copy-source, must be signed. For more information, see\n REST Authentication.

\n

\n Directory buckets - You must use IAM\n credentials to authenticate and authorize your access to the\n UploadPartCopy API operation, instead of using the temporary\n security credentials through the CreateSession API operation.

\n

Amazon Web Services CLI or SDKs handles authentication and authorization on your\n behalf.

\n
\n
Permissions
\n
\n

You must have READ access to the source object and\n WRITE access to the destination bucket.

\n
    \n
  • \n

    \n General purpose bucket permissions - You\n must have the permissions in a policy based on the bucket types of your\n source bucket and destination bucket in an UploadPartCopy\n operation.

    \n
      \n
    • \n

      If the source object is in a general purpose bucket, you must have the\n \n s3:GetObject\n \n permission to read the source object that is being copied.

      \n
    • \n
    • \n

      If the destination bucket is a general purpose bucket, you must have the\n \n s3:PutObject\n \n permission to write the object copy to the destination bucket.

      \n
    • \n
    • \n

      To perform a multipart upload with encryption using an Key Management Service\n key, the requester must have permission to the\n kms:Decrypt and kms:GenerateDataKey\n actions on the key. The requester must also have permissions for the\n kms:GenerateDataKey action for the\n CreateMultipartUpload API. Then, the requester needs\n permissions for the kms:Decrypt action on the\n UploadPart and UploadPartCopy APIs. These\n permissions are required because Amazon S3 must decrypt and read data from\n the encrypted file parts before it completes the multipart upload. For\n more information about KMS permissions, see Protecting\n data using server-side encryption with KMS in the\n Amazon S3 User Guide. For information about the\n permissions required to use the multipart upload API, see Multipart upload\n and permissions and Multipart upload API and permissions in the\n Amazon S3 User Guide.

      \n
    • \n
    \n
  • \n
  • \n

    \n Directory bucket permissions -\n You must have permissions in a bucket policy or an IAM identity-based policy based on the\n source and destination bucket types in an UploadPartCopy\n operation.

    \n
      \n
    • \n

      If the source object that you want to copy is in a\n directory bucket, you must have the \n s3express:CreateSession\n permission in\n the Action element of a policy to read the object. By\n default, the session is in the ReadWrite mode. If you\n want to restrict the access, you can explicitly set the\n s3express:SessionMode condition key to\n ReadOnly on the copy source bucket.

      \n
    • \n
    • \n

      If the copy destination is a directory bucket, you must have the\n \n s3express:CreateSession\n permission in the\n Action element of a policy to write the object to the\n destination. The s3express:SessionMode condition key\n cannot be set to ReadOnly on the copy destination.\n

      \n
    • \n
    \n

    If the object is encrypted with SSE-KMS, you must also have the\n kms:GenerateDataKey and kms:Decrypt permissions\n in IAM identity-based policies and KMS key policies for the KMS\n key.

    \n

    For example policies, see Example bucket policies for S3 Express One Zone and Amazon Web Services Identity and Access Management (IAM) identity-based policies for\n S3 Express One Zone in the Amazon S3 User Guide.

    \n
  • \n
\n
\n
Encryption
\n
\n
    \n
  • \n

    \n General purpose buckets -\n For information about using\n server-side encryption with customer-provided encryption keys with the\n UploadPartCopy operation, see CopyObject and\n UploadPart.

    \n
  • \n
  • \n

    \n Directory buckets -\n For directory buckets, there are only two supported options for server-side encryption: server-side encryption with Amazon S3 managed keys (SSE-S3) (AES256) and server-side encryption with KMS keys (SSE-KMS) (aws:kms). For more\n information, see Protecting data with server-side encryption in the Amazon S3 User Guide.

    \n \n

    For directory buckets, when you perform a\n CreateMultipartUpload operation and an\n UploadPartCopy operation, the request headers you provide\n in the CreateMultipartUpload request must match the default\n encryption configuration of the destination bucket.

    \n
    \n

    S3 Bucket Keys aren't supported, when you copy SSE-KMS encrypted objects from general purpose buckets \nto directory buckets, from directory buckets to general purpose buckets, or between directory buckets, through UploadPartCopy. In this case, Amazon S3 makes a call to KMS every time a copy request is made for a KMS-encrypted object.

    \n
  • \n
\n
\n
Special errors
\n
\n
    \n
  • \n

    Error Code: NoSuchUpload\n

    \n
      \n
    • \n

      Description: The specified multipart upload does not exist. The\n upload ID might be invalid, or the multipart upload might have been\n aborted or completed.

      \n
    • \n
    • \n

      HTTP Status Code: 404 Not Found

      \n
    • \n
    \n
  • \n
  • \n

    Error Code: InvalidRequest\n

    \n
      \n
    • \n

      Description: The specified copy source is not supported as a\n byte-range copy source.

      \n
    • \n
    • \n

      HTTP Status Code: 400 Bad Request

      \n
    • \n
    \n
  • \n
\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is \n Bucket-name.s3express-zone-id.region-code.amazonaws.com.

\n
\n
\n

The following operations are related to UploadPartCopy:

\n ", "smithy.api#examples": [ { "title": "To upload a part by copying byte range from an existing object as data source", @@ -34474,7 +35417,7 @@ "Bucket": { "target": "com.amazonaws.s3#BucketName", "traits": { - "smithy.api#documentation": "

The bucket name.

\n

\n Directory buckets -\n When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format \n Bucket_name.s3express-az_id.region.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format \n bucket_base_name--az-id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming\n restrictions, see Directory bucket naming\n rules in the Amazon S3 User Guide.

\n

\n Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

\n \n

Access points and Object Lambda access points are not supported by directory buckets.

\n
\n

\n S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form \n AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

", + "smithy.api#documentation": "

The bucket name.

\n

\n Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format \n Bucket-name.s3express-zone-id.region-code.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Zone (Availability Zone or Local Zone). Bucket names must follow the format \n bucket-base-name--zone-id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming\n restrictions, see Directory bucket naming\n rules in the Amazon S3 User Guide.

\n \n

Copying objects across different Amazon Web Services Regions isn't supported when the source or destination bucket is in Amazon Web Services Local Zones. The source and destination buckets must have the same parent Amazon Web Services Region. Otherwise, \n you get an HTTP 400 Bad Request error with the error code InvalidRequest.

\n
\n

\n Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

\n \n

Access points and Object Lambda access points are not supported by directory buckets.

\n
\n

\n S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form \n AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

", "smithy.api#httpLabel": {}, "smithy.api#required": {}, "smithy.rules#contextParam": { @@ -34714,7 +35657,7 @@ "Bucket": { "target": "com.amazonaws.s3#BucketName", "traits": { - "smithy.api#documentation": "

The name of the bucket to which the multipart upload was initiated.

\n

\n Directory buckets -\n When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format \n Bucket_name.s3express-az_id.region.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format \n bucket_base_name--az-id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming\n restrictions, see Directory bucket naming\n rules in the Amazon S3 User Guide.

\n

\n Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

\n \n

Access points and Object Lambda access points are not supported by directory buckets.

\n
\n

\n S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form \n AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

", + "smithy.api#documentation": "

The name of the bucket to which the multipart upload was initiated.

\n

\n Directory buckets -\n When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format \n Bucket-name.s3express-zone-id.region-code.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Zone (Availability Zone or Local Zone). Bucket names must follow the format \n bucket-base-name--zone-id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming\n restrictions, see Directory bucket naming\n rules in the Amazon S3 User Guide.

\n

\n Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

\n \n

Access points and Object Lambda access points are not supported by directory buckets.

\n
\n

\n S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form \n AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

", "smithy.api#httpLabel": {}, "smithy.api#required": {}, "smithy.rules#contextParam": { diff --git a/codegen/sdk/aws-models/security-ir.json b/codegen/sdk/aws-models/security-ir.json new file mode 100644 index 00000000000..b52431e0286 --- /dev/null +++ b/codegen/sdk/aws-models/security-ir.json @@ -0,0 +1,5130 @@ +{ + "smithy": "2.0", + "shapes": { + "com.amazonaws.securityir#AWSAccountId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 12, + "max": 12 + }, + "smithy.api#pattern": "^[0-9]{12}$" + } + }, + "com.amazonaws.securityir#AWSAccountIds": { + "type": "list", + "member": { + "target": "com.amazonaws.securityir#AWSAccountId" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 100 + } + } + }, + "com.amazonaws.securityir#AccessDeniedException": { + "type": "structure", + "members": { + "message": { + "target": "smithy.api#String", + "traits": { + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

", + "smithy.api#error": "client", + "smithy.api#httpError": 403 + } + }, + "com.amazonaws.securityir#Arn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 12, + "max": 1010 + }, + "smithy.api#pattern": "^arn:aws:security-ir:\\w+?-\\w+?-\\d+:[0-9]{12}:(membership/m-[a-z0-9]{10,32}|case/[0-9]{10})$" + } + }, + "com.amazonaws.securityir#AttachmentId": { + "type": "string", + "traits": { + "smithy.api#pattern": "^[0-9a-fA-F]{8}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{12}$" + } + }, + "com.amazonaws.securityir#AwsRegion": { + "type": "enum", + "members": { + "AF_SOUTH_1": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "af-south-1" + } + }, + "AP_EAST_1": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ap-east-1" + } + }, + "AP_NORTHEAST_1": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ap-northeast-1" + } + }, + "AP_NORTHEAST_2": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ap-northeast-2" + } + }, + "AP_NORTHEAST_3": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ap-northeast-3" + } + }, + "AP_SOUTH_1": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ap-south-1" + } + }, + "AP_SOUTH_2": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ap-south-2" + } + }, + "AP_SOUTHEAST_1": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ap-southeast-1" + } + }, + "AP_SOUTHEAST_2": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ap-southeast-2" + } + }, + "AP_SOUTHEAST_3": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ap-southeast-3" + } + }, + "AP_SOUTHEAST_4": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ap-southeast-4" + } + }, + "AP_SOUTHEAST_5": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ap-southeast-5" + } + }, + "CA_CENTRAL_1": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ca-central-1" + } + }, + "CA_WEST_1": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ca-west-1" + } + }, + "CN_NORTH_1": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "cn-north-1" + } + }, + "CN_NORTHWEST_1": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "cn-northwest-1" + } + }, + "EU_CENTRAL_1": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "eu-central-1" + } + }, + "EU_CENTRAL_2": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "eu-central-2" + } + }, + "EU_NORTH_1": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "eu-north-1" + } + }, + "EU_SOUTH_1": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "eu-south-1" + } + }, + "EU_SOUTH_2": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "eu-south-2" + } + }, + "EU_WEST_1": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "eu-west-1" + } + }, + "EU_WEST_2": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "eu-west-2" + } + }, + "EU_WEST_3": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "eu-west-3" + } + }, + "IL_CENTRAL_1": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "il-central-1" + } + }, + "ME_CENTRAL_1": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "me-central-1" + } + }, + "ME_SOUTH_1": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "me-south-1" + } + }, + "SA_EAST_1": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "sa-east-1" + } + }, + "US_EAST_1": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "us-east-1" + } + }, + "US_EAST_2": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "us-east-2" + } + }, + "US_WEST_1": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "us-west-1" + } + }, + "US_WEST_2": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "us-west-2" + } + } + } + }, + "com.amazonaws.securityir#AwsService": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 3, + "max": 50 + }, + "smithy.api#pattern": "^[a-zA-Z0-9 -.():]+$" + } + }, + "com.amazonaws.securityir#BatchGetMemberAccountDetails": { + "type": "operation", + "input": { + "target": "com.amazonaws.securityir#BatchGetMemberAccountDetailsRequest" + }, + "output": { + "target": "com.amazonaws.securityir#BatchGetMemberAccountDetailsResponse" + }, + "traits": { + "aws.iam#iamAction": { + "name": "BatchGetMemberAccountDetails", + "documentation": "Grants permission to get member account details in batch" + }, + "smithy.api#documentation": "

Grants permission to view an existing membership.

", + "smithy.api#examples": [ + { + "title": "Invoke BatchGetMemberAccountDetails", + "input": { + "membershipId": "m-abcd1234efgh", + "accountIds": [ + "123412341234" + ] + }, + "output": { + "items": [ + { + "accountId": "123412341234", + "relationshipStatus": "Associated", + "relationshipType": "Organization" + } + ] + } + } + ], + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_BatchGetMemberAccountDetails.html" + }, + "smithy.api#http": { + "code": 200, + "method": "POST", + "uri": "/v1/membership/{membershipId}/batch-member-details" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.securityir#BatchGetMemberAccountDetailsRequest": { + "type": "structure", + "members": { + "membershipId": { + "target": "com.amazonaws.securityir#MembershipId", + "traits": { + "smithy.api#documentation": "

Required element used in combination with BatchGetMemberAccountDetails to identify the membership ID to\n query.\n

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_BatchGetMemberAccountDetails.html#securityir-BatchGetMemberAccountDetails-request-uri-membershipId" + }, + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "accountIds": { + "target": "com.amazonaws.securityir#AWSAccountIds", + "traits": { + "smithy.api#documentation": "

Optional element to query the membership relationship status to a provided list of account IDs.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_BatchGetMemberAccountDetails.html#securityir-BatchGetMemberAccountDetails-request-accountIds" + }, + "smithy.api#notProperty": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_BatchGetMemberAccountDetails.html#API_BatchGetMemberAccountDetails_RequestSyntax" + }, + "smithy.api#input": {} + } + }, + "com.amazonaws.securityir#BatchGetMemberAccountDetailsResponse": { + "type": "structure", + "members": { + "items": { + "target": "com.amazonaws.securityir#GetMembershipAccountDetailItems", + "traits": { + "smithy.api#documentation": "

The response element providing responses for requests to GetMembershipAccountDetails.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_BatchGetMemberAccountDetails.html#securityir-BatchGetMemberAccountDetails-response-items" + }, + "smithy.api#notProperty": {} + } + }, + "errors": { + "target": "com.amazonaws.securityir#GetMembershipAccountDetailErrors", + "traits": { + "smithy.api#documentation": "

The response element providing errors messages for requests to GetMembershipAccountDetails.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_BatchGetMemberAccountDetails.html#securityir-BatchGetMemberAccountDetails-response-errors" + }, + "smithy.api#notProperty": {} + } + } + }, + "traits": { + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_BatchGetMemberAccountDetails.html#API_BatchGetMemberAccountDetails_ResponseSyntax" + }, + "smithy.api#output": {} + } + }, + "com.amazonaws.securityir#CancelMembership": { + "type": "operation", + "input": { + "target": "com.amazonaws.securityir#CancelMembershipRequest" + }, + "output": { + "target": "com.amazonaws.securityir#CancelMembershipResponse" + }, + "traits": { + "aws.iam#iamAction": { + "name": "CancelMembership", + "documentation": "Grants permission to cancel a membership" + }, + "smithy.api#documentation": "

Grants permissions to cancel an existing membership.

", + "smithy.api#examples": [ + { + "title": "Invoke CancelMembership", + "input": { + "membershipId": "m-abcd1234efgh" + }, + "output": { + "membershipId": "m-abcd1234efgh" + } + } + ], + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_CancelMembership.html" + }, + "smithy.api#http": { + "code": 200, + "method": "PUT", + "uri": "/v1/membership/{membershipId}" + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.securityir#CancelMembershipRequest": { + "type": "structure", + "members": { + "membershipId": { + "target": "com.amazonaws.securityir#MembershipId", + "traits": { + "smithy.api#documentation": "

Required element used in combination with CancelMembershipRequest to identify the membership ID to\n cancel.\n

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_CancelMembership.html#securityir-CancelMembership-request-uri-membershipId" + }, + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_CancelMembership.html#API_CancelMembership_RequestSyntax" + }, + "smithy.api#input": {} + } + }, + "com.amazonaws.securityir#CancelMembershipResponse": { + "type": "structure", + "members": { + "membershipId": { + "target": "com.amazonaws.securityir#MembershipId", + "traits": { + "smithy.api#documentation": "

The response element providing responses for requests to CancelMembershipRequest.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_CancelMembership.html#securityir-CancelMembership-response-membershipId" + }, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_CancelMembership.html#API_CancelMembership_ResponseSyntax" + }, + "smithy.api#output": {} + } + }, + "com.amazonaws.securityir#Case": { + "type": "resource", + "identifiers": { + "caseId": { + "target": "com.amazonaws.securityir#CaseId" + } + }, + "create": { + "target": "com.amazonaws.securityir#CreateCase" + }, + "read": { + "target": "com.amazonaws.securityir#GetCase" + }, + "update": { + "target": "com.amazonaws.securityir#UpdateCase" + }, + "list": { + "target": "com.amazonaws.securityir#ListCases" + }, + "operations": [ + { + "target": "com.amazonaws.securityir#CloseCase" + }, + { + "target": "com.amazonaws.securityir#CreateCaseComment" + }, + { + "target": "com.amazonaws.securityir#GetCaseAttachmentDownloadUrl" + }, + { + "target": "com.amazonaws.securityir#GetCaseAttachmentUploadUrl" + }, + { + "target": "com.amazonaws.securityir#ListCaseEdits" + }, + { + "target": "com.amazonaws.securityir#ListComments" + }, + { + "target": "com.amazonaws.securityir#UpdateCaseComment" + }, + { + "target": "com.amazonaws.securityir#UpdateCaseStatus" + }, + { + "target": "com.amazonaws.securityir#UpdateResolverType" + } + ], + "traits": { + "aws.api#arn": { + "template": "case/{caseId}" + }, + "aws.iam#conditionKeys": [ + "aws:ResourceTag/${TagKey}" + ], + "aws.iam#iamResource": { + "name": "case", + "relativeDocumentation": "case.html" + }, + "smithy.api#documentation": "Represents a case used to track the incident response lifecycle" + } + }, + "com.amazonaws.securityir#CaseArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 12, + "max": 80 + }, + "smithy.api#pattern": "^arn:aws:security-ir:\\w+?-\\w+?-\\d+:[0-9]{12}:case/[0-9]{10}$" + } + }, + "com.amazonaws.securityir#CaseAttachmentAttributes": { + "type": "structure", + "members": { + "attachmentId": { + "target": "com.amazonaws.securityir#AttachmentId", + "traits": { + "smithy.api#documentation": "

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_CaseAttachmentAttributes.html#securityir-Type-CaseAttachmentAttributes-attachmentId" + }, + "smithy.api#required": {} + } + }, + "fileName": { + "target": "com.amazonaws.securityir#FileName", + "traits": { + "smithy.api#documentation": "

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_CaseAttachmentAttributes.html#securityir-Type-CaseAttachmentAttributes-fileName" + }, + "smithy.api#required": {} + } + }, + "attachmentStatus": { + "target": "com.amazonaws.securityir#CaseAttachmentStatus", + "traits": { + "smithy.api#documentation": "

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_CaseAttachmentAttributes.html#securityir-Type-CaseAttachmentAttributes-attachmentStatus" + }, + "smithy.api#required": {} + } + }, + "creator": { + "target": "com.amazonaws.securityir#PrincipalId", + "traits": { + "smithy.api#documentation": "

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_CaseAttachmentAttributes.html#securityir-Type-CaseAttachmentAttributes-creator" + }, + "smithy.api#required": {} + } + }, + "createdDate": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_CaseAttachmentAttributes.html#securityir-Type-CaseAttachmentAttributes-createdDate" + }, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_CaseAttachmentAttributes.html" + } + } + }, + "com.amazonaws.securityir#CaseAttachmentStatus": { + "type": "enum", + "members": { + "VERIFIED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Verified" + } + }, + "FAILED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Failed" + } + }, + "PENDING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Pending" + } + } + } + }, + "com.amazonaws.securityir#CaseAttachmentsList": { + "type": "list", + "member": { + "target": "com.amazonaws.securityir#CaseAttachmentAttributes" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 50 + } + } + }, + "com.amazonaws.securityir#CaseDescription": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 8000 + }, + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.securityir#CaseEditAction": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 100 + } + } + }, + "com.amazonaws.securityir#CaseEditItem": { + "type": "structure", + "members": { + "eventTimestamp": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_CaseEditItem.html#securityir-Type-CaseEditItem-eventTimestamp" + } + } + }, + "principal": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_CaseEditItem.html#securityir-Type-CaseEditItem-principal" + } + } + }, + "action": { + "target": "com.amazonaws.securityir#CaseEditAction", + "traits": { + "smithy.api#documentation": "

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_CaseEditItem.html#securityir-Type-CaseEditItem-action" + } + } + }, + "message": { + "target": "com.amazonaws.securityir#CaseEditMessage", + "traits": { + "smithy.api#documentation": "

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_CaseEditItem.html#securityir-Type-CaseEditItem-message" + } + } + } + }, + "traits": { + "smithy.api#documentation": "

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_CaseEditItem.html" + } + } + }, + "com.amazonaws.securityir#CaseEditItems": { + "type": "list", + "member": { + "target": "com.amazonaws.securityir#CaseEditItem" + } + }, + "com.amazonaws.securityir#CaseEditMessage": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 10, + "max": 4096 + } + } + }, + "com.amazonaws.securityir#CaseId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 10, + "max": 32 + }, + "smithy.api#pattern": "^\\d{10,32}" + } + }, + "com.amazonaws.securityir#CaseStatus": { + "type": "enum", + "members": { + "SUBMITTED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Submitted" + } + }, + "ACKNOWLEDGED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Acknowledged" + } + }, + "DETECTION_AND_ANALYSIS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Detection and Analysis" + } + }, + "CONTAINMENT_ERADICATION_AND_RECOVERY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Containment, Eradication and Recovery" + } + }, + "POST_INCIDENT_ACTIVITIES": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Post-incident Activities" + } + }, + "READY_TO_CLOSE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Ready to Close" + } + }, + "CLOSED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Closed" + } + } + } + }, + "com.amazonaws.securityir#CaseTitle": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 300 + }, + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.securityir#CloseCase": { + "type": "operation", + "input": { + "target": "com.amazonaws.securityir#CloseCaseRequest" + }, + "output": { + "target": "com.amazonaws.securityir#CloseCaseResponse" + }, + "traits": { + "aws.iam#iamAction": { + "name": "CloseCase", + "documentation": "Grants permission to close a case" + }, + "smithy.api#documentation": "

Grants permission to close an existing case.

", + "smithy.api#examples": [ + { + "title": "Invoke CloseCase", + "input": { + "caseId": "8403556009" + }, + "output": { + "caseStatus": "Closed", + "closedDate": "2024-02-27T17:01:33.000Z" + } + } + ], + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_CloseCase.html" + }, + "smithy.api#http": { + "code": 200, + "method": "POST", + "uri": "/v1/cases/{caseId}/close-case" + } + } + }, + "com.amazonaws.securityir#CloseCaseRequest": { + "type": "structure", + "members": { + "caseId": { + "target": "com.amazonaws.securityir#CaseId", + "traits": { + "smithy.api#documentation": "

Required element used in combination with CloseCase to identify the case ID to close.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_CloseCase.html#securityir-CloseCase-request-uri-caseId" + }, + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.securityir#CloseCaseResponse": { + "type": "structure", + "members": { + "caseStatus": { + "target": "com.amazonaws.securityir#CaseStatus", + "traits": { + "smithy.api#documentation": "

A response element providing responses for requests to CloseCase. This element responds with the case\n status following the action.\n

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_CloseCase.html#securityir-CloseCase-response-caseStatus" + } + } + }, + "closedDate": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

A response element providing responses for requests to CloseCase. This element responds with the case\n closure date following the action.\n

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_CloseCase.html#securityir-CloseCase-response-closedDate" + } + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.securityir#ClosureCode": { + "type": "enum", + "members": { + "INVESTIGATION_COMPLETED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Investigation Completed" + } + }, + "NOT_RESOLVED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Not Resolved" + } + }, + "FALSE_POSITIVE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "False Positive" + } + }, + "DUPLICATE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Duplicate" + } + } + } + }, + "com.amazonaws.securityir#CommentBody": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 12000 + }, + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.securityir#CommentId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 6, + "max": 6 + }, + "smithy.api#pattern": "^\\d{6}$" + } + }, + "com.amazonaws.securityir#ConflictException": { + "type": "structure", + "members": { + "message": { + "target": "smithy.api#String", + "traits": { + "smithy.api#required": {} + } + }, + "resourceId": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "Element providing the ID of the resource affected.", + "smithy.api#required": {} + } + }, + "resourceType": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "Element providing the type of the resource affected.", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

", + "smithy.api#error": "client", + "smithy.api#httpError": 409 + } + }, + "com.amazonaws.securityir#ContentLength": { + "type": "long", + "traits": { + "smithy.api#range": { + "min": 1, + "max": 104857600 + } + } + }, + "com.amazonaws.securityir#CreateCase": { + "type": "operation", + "input": { + "target": "com.amazonaws.securityir#CreateCaseRequest" + }, + "output": { + "target": "com.amazonaws.securityir#CreateCaseResponse" + }, + "traits": { + "aws.iam#conditionKeys": [ + "aws:TagKeys", + "aws:RequestTag/${TagKey}" + ], + "aws.iam#iamAction": { + "name": "CreateCase", + "documentation": "Grants permission to create a case" + }, + "smithy.api#documentation": "

Grants permission to create a new case.

", + "smithy.api#examples": [ + { + "title": "Invoke CreateCase", + "input": { + "resolverType": "Self", + "title": "My sample case", + "description": "Case description", + "reportedIncidentStartDate": "2023-03-27T15:32:01.789Z", + "engagementType": "Investigation", + "watchers": [ + { + "email": "alice@example.com", + "name": "Alice", + "jobTitle": "CEO" + }, + { + "email": "bob@example.com", + "name": "Bob", + "jobTitle": "CFO" + } + ], + "impactedAccounts": [ + "000000000000", + "111111111111" + ], + "impactedServices": [ + "Amazon EC2", + "Amazon EKS" + ], + "impactedAwsRegions": [ + { + "region": "ap-southeast-1" + } + ], + "threatActorIpAddresses": [ + { + "ipAddress": "192.168.192.168", + "userAgent": "Browser" + } + ] + } + } + ], + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_CreateCase.html" + }, + "smithy.api#http": { + "code": 201, + "method": "POST", + "uri": "/v1/create-case" + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.securityir#CreateCaseComment": { + "type": "operation", + "input": { + "target": "com.amazonaws.securityir#CreateCaseCommentRequest" + }, + "output": { + "target": "com.amazonaws.securityir#CreateCaseCommentResponse" + }, + "traits": { + "aws.iam#iamAction": { + "name": "CreateCaseComment", + "documentation": "Grants permission to create a case comment" + }, + "smithy.api#documentation": "

Grants permission to add a comment to an existing case.

", + "smithy.api#examples": [ + { + "title": "Invoke CreateCaseComment", + "input": { + "caseId": "8403556009", + "body": "Case comment body." + }, + "output": { + "commentId": "000000" + } + } + ], + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_CreateCaseComment.html" + }, + "smithy.api#http": { + "code": 201, + "method": "POST", + "uri": "/v1/cases/{caseId}/create-comment" + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.securityir#CreateCaseCommentRequest": { + "type": "structure", + "members": { + "caseId": { + "target": "com.amazonaws.securityir#CaseId", + "traits": { + "smithy.api#documentation": "

Required element used in combination with CreateCaseComment to specify a case ID.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_CreateCaseComment.html#securityir-CreateCaseComment-request-uri-caseId" + }, + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "clientToken": { + "target": "smithy.api#String", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

An optional element used in combination with CreateCaseComment.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_CreateCaseComment.html#securityir-CreateCaseComment-request-clientToken" + }, + "smithy.api#idempotencyToken": {}, + "smithy.api#length": { + "min": 1, + "max": 255 + } + } + }, + "body": { + "target": "com.amazonaws.securityir#CommentBody", + "traits": { + "smithy.api#documentation": "

Required element used in combination with CreateCaseComment to add content for the new comment.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_CreateCaseComment.html#securityir-CreateCaseComment-request-body" + }, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.securityir#CreateCaseCommentResponse": { + "type": "structure", + "members": { + "commentId": { + "target": "com.amazonaws.securityir#CommentId", + "traits": { + "smithy.api#documentation": "

Response element indicating the new comment ID.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_CreateCaseComment.html#securityir-CreateCaseComment-response-commentId" + }, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.securityir#CreateCaseRequest": { + "type": "structure", + "members": { + "clientToken": { + "target": "smithy.api#String", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

Required element used in combination with CreateCase.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_CreateCase.html#securityir-CreateCase-request-clientToken" + }, + "smithy.api#idempotencyToken": {}, + "smithy.api#length": { + "min": 1, + "max": 255 + } + } + }, + "resolverType": { + "target": "com.amazonaws.securityir#ResolverType", + "traits": { + "smithy.api#documentation": "

Required element used in combination with CreateCase to identify the resolver type. Available resolvers\n include self-supported | aws-supported.\n

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_CreateCase.html#securityir-CreateCase-request-resolverType" + }, + "smithy.api#required": {} + } + }, + "title": { + "target": "com.amazonaws.securityir#CaseTitle", + "traits": { + "smithy.api#documentation": "

Required element used in combination with CreateCase to provide a title for the new case.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_CreateCase.html#securityir-CreateCase-request-title" + }, + "smithy.api#required": {} + } + }, + "description": { + "target": "com.amazonaws.securityir#CaseDescription", + "traits": { + "smithy.api#documentation": "

Required element used in combination with CreateCase to provide a description for the new case.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_CreateCase.html#securityir-CreateCase-request-description" + }, + "smithy.api#required": {} + } + }, + "engagementType": { + "target": "com.amazonaws.securityir#EngagementType", + "traits": { + "smithy.api#documentation": "

Required element used in combination with CreateCase to provide an engagement type for the new cases.\n Available engagement types include Security Incident | Investigation\n

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_CreateCase.html#securityir-CreateCase-request-engagementType" + }, + "smithy.api#required": {} + } + }, + "reportedIncidentStartDate": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

Required element used in combination with CreateCase to provide an initial start date for the unauthorized\n activity.\n

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_CreateCase.html#securityir-CreateCase-request-reportedIncidentStartDate" + }, + "smithy.api#required": {} + } + }, + "impactedAccounts": { + "target": "com.amazonaws.securityir#ImpactedAccounts", + "traits": { + "smithy.api#documentation": "

Required element used in combination with CreateCase to provide a list of impacted accounts.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_CreateCase.html#securityir-CreateCase-request-impactedAccounts" + }, + "smithy.api#required": {} + } + }, + "watchers": { + "target": "com.amazonaws.securityir#Watchers", + "traits": { + "smithy.api#documentation": "

Required element used in combination with CreateCase to provide a list of entities to receive\n notifications for case updates.\n

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_CreateCase.html#securityir-CreateCase-request-watchers" + }, + "smithy.api#required": {} + } + }, + "threatActorIpAddresses": { + "target": "com.amazonaws.securityir#ThreatActorIpList", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": [], + "smithy.api#documentation": "

An optional element used in combination with CreateCase to provide a list of suspicious internet protocol\n addresses associated with unauthorized activity.\n

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_CreateCase.html#securityir-CreateCase-request-threatActorIpAddresses" + } + } + }, + "impactedServices": { + "target": "com.amazonaws.securityir#ImpactedServicesList", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": [], + "smithy.api#documentation": "

An optional element used in combination with CreateCase to provide a list of services impacted.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_CreateCase.html#securityir-CreateCase-request-impactedServices" + } + } + }, + "impactedAwsRegions": { + "target": "com.amazonaws.securityir#ImpactedAwsRegionList", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": [], + "smithy.api#documentation": "

An optional element used in combination with CreateCase to provide a list of impacted regions.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_CreateCase.html#securityir-CreateCase-request-impactedAwsRegions" + } + } + }, + "tags": { + "target": "com.amazonaws.securityir#TagMap", + "traits": { + "smithy.api#documentation": "

An optional element used in combination with CreateCase to add customer specified tags to a case.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_CreateCase.html#securityir-CreateCase-request-tags" + } + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.securityir#CreateCaseResponse": { + "type": "structure", + "members": { + "caseId": { + "target": "com.amazonaws.securityir#CaseId", + "traits": { + "smithy.api#documentation": "

A response element providing responses for requests to CreateCase. This element responds with the case\n ID.\n

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_CreateCase.html#securityir-CreateCase-response-caseId" + }, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_CreateCase.html#API_CreateCase_ResponseSyntax" + }, + "smithy.api#output": {} + } + }, + "com.amazonaws.securityir#CreateMembership": { + "type": "operation", + "input": { + "target": "com.amazonaws.securityir#CreateMembershipRequest" + }, + "output": { + "target": "com.amazonaws.securityir#CreateMembershipResponse" + }, + "traits": { + "aws.iam#conditionKeys": [ + "aws:TagKeys", + "aws:RequestTag/${TagKey}" + ], + "aws.iam#iamAction": { + "name": "CreateMembership", + "documentation": "Grants permission to create a membership", + "requiredActions": [ + "iam:CreateServiceLinkedRole", + "organizations:ListDelegatedAdministrators", + "organizations:DescribeOrganization" + ] + }, + "smithy.api#documentation": "

Grants permissions to create a new membership.

", + "smithy.api#examples": [ + { + "title": "Invoke CreateMembership", + "input": { + "membershipName": "Example Membership Name.", + "incidentResponseTeam": [ + { + "name": "Bob Jones", + "jobTitle": "Security Responder", + "email": "bob.jones@gmail.com" + }, + { + "email": "alice@example.com", + "name": "Alice", + "jobTitle": "CEO" + } + ], + "optInFeatures": [ + { + "featureName": "Triage", + "isEnabled": true + } + ] + }, + "output": { + "membershipId": "m-abcd1234efgh" + } + } + ], + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_CreateMembership.html" + }, + "smithy.api#http": { + "code": 201, + "method": "POST", + "uri": "/v1/membership" + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.securityir#CreateMembershipRequest": { + "type": "structure", + "members": { + "clientToken": { + "target": "smithy.api#String", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

An optional element used in combination with CreateMembership.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_CreateMembership.html#securityir-CreateMembership-request-clientToken" + }, + "smithy.api#idempotencyToken": {}, + "smithy.api#length": { + "min": 1, + "max": 255 + } + } + }, + "membershipName": { + "target": "com.amazonaws.securityir#MembershipName", + "traits": { + "smithy.api#documentation": "

Required element use in combination with CreateMembership to create a name for the membership.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_CreateMembership.html#securityir-CreateMembership-request-membershipName" + }, + "smithy.api#required": {} + } + }, + "incidentResponseTeam": { + "target": "com.amazonaws.securityir#IncidentResponseTeam", + "traits": { + "smithy.api#documentation": "

Required element use in combination with CreateMembership to add customer incident response team members\n and trusted partners to the membership.\n

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_CreateMembership.html#securityir-CreateMembership-request-incidentResponseTeam" + }, + "smithy.api#required": {} + } + }, + "optInFeatures": { + "target": "com.amazonaws.securityir#OptInFeatures", + "traits": { + "smithy.api#documentation": "

Optional element to enable the monitoring and investigation opt-in features for the service.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_CreateMembership.html#securityir-CreateMembership-request-optInFeatures" + } + } + }, + "tags": { + "target": "com.amazonaws.securityir#TagMap", + "traits": { + "smithy.api#documentation": "

Optional element for customer configured tags.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_CreateMembership.html#securityir-CreateMembership-request-tags" + } + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.securityir#CreateMembershipResponse": { + "type": "structure", + "members": { + "membershipId": { + "target": "com.amazonaws.securityir#MembershipId", + "traits": { + "smithy.api#documentation": "

Response element for CreateMembership providing the newly created membership ID.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_CreateMembership.html#securityir-CreateMembership-response-membershipId" + }, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.securityir#CustomerType": { + "type": "enum", + "members": { + "STANDALONE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Standalone" + } + }, + "ORGANIZATION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Organization" + } + } + } + }, + "com.amazonaws.securityir#EmailAddress": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 6, + "max": 254 + }, + "smithy.api#pattern": "^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$", + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.securityir#EngagementType": { + "type": "enum", + "members": { + "SECURITY_INCIDENT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Security Incident" + } + }, + "INVESTIGATION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Investigation" + } + } + } + }, + "com.amazonaws.securityir#FileName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 255 + }, + "smithy.api#pattern": "^[a-zA-Z0-9._-]+$", + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.securityir#GetCase": { + "type": "operation", + "input": { + "target": "com.amazonaws.securityir#GetCaseRequest" + }, + "output": { + "target": "com.amazonaws.securityir#GetCaseResponse" + }, + "traits": { + "aws.iam#iamAction": { + "name": "GetCase", + "documentation": "Grants permission to get a case" + }, + "smithy.api#documentation": "

Grant permission to view a designated case.

", + "smithy.api#examples": [ + { + "title": "Invoke GetCase", + "input": { + "caseId": "8403556009" + }, + "output": { + "title": "My sample case", + "caseArn": "arn:aws:security-ir:us-west-1:123456789012:case/1234567890", + "description": "Case description", + "caseStatus": "Submitted", + "engagementType": "Investigation", + "reportedIncidentStartDate": "2023-03-27T15:32:01.789Z", + "actualIncidentStartDate": "2023-03-27T15:32:01.789Z", + "impactedAwsRegions": [ + { + "region": "ap-southeast-1" + } + ], + "threatActorIpAddresses": [ + { + "ipAddress": "192.168.192.168", + "userAgent": "Browser" + } + ], + "pendingAction": "Customer", + "impactedAccounts": [ + "000000000000", + "111111111111" + ], + "watchers": [ + { + "email": "alice@example.com", + "name": "Alice", + "jobTitle": "CEO" + }, + { + "email": "bob@example.com", + "name": "Bob", + "jobTitle": "CFO" + } + ], + "createdDate": "2023-01-27T15:32:01.789Z", + "lastUpdatedDate": "2023-02-27T15:32:01.789Z", + "resolverType": "Self", + "impactedServices": [ + "Amazon EC2", + "Amazon EKS" + ] + } + } + ], + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_GetCase.html" + }, + "smithy.api#http": { + "code": 200, + "method": "GET", + "uri": "/v1/cases/{caseId}/get-case" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.securityir#GetCaseAttachmentDownloadUrl": { + "type": "operation", + "input": { + "target": "com.amazonaws.securityir#GetCaseAttachmentDownloadUrlRequest" + }, + "output": { + "target": "com.amazonaws.securityir#GetCaseAttachmentDownloadUrlResponse" + }, + "traits": { + "aws.iam#iamAction": { + "name": "GetCaseAttachmentDownloadUrl", + "documentation": "Grants permission to get a case attachment download URL" + }, + "smithy.api#documentation": "

Grants permission to obtain an Amazon S3 presigned URL to download an attachment.

", + "smithy.api#examples": [ + { + "title": "Invoke GetCaseAttachmentDownloadUrl", + "input": { + "caseId": "8403556009", + "attachmentId": "3C5A6B89-1DEF-4C2D-A5B6-123456789ABC" + }, + "output": { + "attachmentPresignedUrl": "https://presignedurl.com" + } + } + ], + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_GetCaseAttachmentDownloadUrl.html" + }, + "smithy.api#http": { + "code": 201, + "method": "GET", + "uri": "/v1/cases/{caseId}/get-presigned-url/{attachmentId}" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.securityir#GetCaseAttachmentDownloadUrlRequest": { + "type": "structure", + "members": { + "caseId": { + "target": "com.amazonaws.securityir#CaseId", + "traits": { + "smithy.api#documentation": "

Required element for GetCaseAttachmentDownloadUrl to identify the case ID for downloading an attachment\n from.\n

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_GetCaseAttachmentDownloadUrl.html#securityir-GetCaseAttachmentDownloadUrl-request-uri-caseId" + }, + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "attachmentId": { + "target": "com.amazonaws.securityir#AttachmentId", + "traits": { + "smithy.api#documentation": "

Required element for GetCaseAttachmentDownloadUrl to identify the attachment ID for downloading an\n attachment.\n

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_GetCaseAttachmentDownloadUrl.html#securityir-GetCaseAttachmentDownloadUrl-request-uri-attachmentId" + }, + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.securityir#GetCaseAttachmentDownloadUrlResponse": { + "type": "structure", + "members": { + "attachmentPresignedUrl": { + "target": "com.amazonaws.securityir#Url", + "traits": { + "smithy.api#documentation": "

Response element providing the Amazon S3 presigned URL to download an attachment.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_GetCaseAttachmentDownloadUrl.html#securityir-GetCaseAttachmentDownloadUrl-response-attachmentPresignedUrl" + }, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.securityir#GetCaseAttachmentUploadUrl": { + "type": "operation", + "input": { + "target": "com.amazonaws.securityir#GetCaseAttachmentUploadUrlRequest" + }, + "output": { + "target": "com.amazonaws.securityir#GetCaseAttachmentUploadUrlResponse" + }, + "traits": { + "aws.iam#iamAction": { + "name": "GetCaseAttachmentUploadUrl", + "documentation": "Grants permission to get a case attachment upload URL" + }, + "smithy.api#documentation": "

Grants permission to upload an attachment to a case.

", + "smithy.api#examples": [ + { + "title": "Invoke GetCaseAttachmentUploadUrl", + "input": { + "caseId": "8403556009", + "fileName": "TestFileName", + "contentLength": 1500 + }, + "output": { + "attachmentPresignedUrl": "https://presignedurl.com" + } + } + ], + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_GetCaseAttachmentUploadUrl.html" + }, + "smithy.api#http": { + "code": 201, + "method": "POST", + "uri": "/v1/cases/{caseId}/get-presigned-url" + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.securityir#GetCaseAttachmentUploadUrlRequest": { + "type": "structure", + "members": { + "caseId": { + "target": "com.amazonaws.securityir#CaseId", + "traits": { + "smithy.api#documentation": "

Required element for GetCaseAttachmentUploadUrl to identify the case ID for uploading an attachment to.\n

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_GetCaseAttachmentUploadUrl.html#securityir-GetCaseAttachmentUploadUrl-request-uri-caseId" + }, + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "fileName": { + "target": "com.amazonaws.securityir#FileName", + "traits": { + "smithy.api#documentation": "

Required element for GetCaseAttachmentUploadUrl to identify the file name of the attachment to upload.\n

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_GetCaseAttachmentUploadUrl.html#securityir-GetCaseAttachmentUploadUrl-request-contentLength" + }, + "smithy.api#required": {} + } + }, + "contentLength": { + "target": "com.amazonaws.securityir#ContentLength", + "traits": { + "smithy.api#documentation": "

Required element for GetCaseAttachmentUploadUrl to identify the size od the file attachment.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_GetCaseAttachmentUploadUrl.html#securityir-GetCaseAttachmentUploadUrl-request-fileName" + }, + "smithy.api#required": {} + } + }, + "clientToken": { + "target": "smithy.api#String", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

Optional element for customer provided token.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_GetCaseAttachmentUploadUrl.html#securityir-GetCaseAttachmentUploadUrl-request-clientToken" + }, + "smithy.api#idempotencyToken": {}, + "smithy.api#length": { + "min": 1, + "max": 255 + } + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.securityir#GetCaseAttachmentUploadUrlResponse": { + "type": "structure", + "members": { + "attachmentPresignedUrl": { + "target": "com.amazonaws.securityir#Url", + "traits": { + "smithy.api#documentation": "

Response element providing the Amazon S3 presigned UTL to upload the attachment.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_GetCaseAttachmentUploadUrl.html#securityir-GetCaseAttachmentUploadUrl-response-attachmentPresignedUrl" + }, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.securityir#GetCaseRequest": { + "type": "structure", + "members": { + "caseId": { + "target": "com.amazonaws.securityir#CaseId", + "traits": { + "smithy.api#documentation": "

Required element for GetCase to identify the requested case ID.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_GetCase.html#securityir-GetCase-request-uri-caseId" + }, + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.securityir#GetCaseResponse": { + "type": "structure", + "members": { + "title": { + "target": "com.amazonaws.securityir#CaseTitle", + "traits": { + "smithy.api#documentation": "

Response element for GetCase that provides the case title.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_GetCase.html#securityir-GetCase-response-title" + } + } + }, + "caseArn": { + "target": "com.amazonaws.securityir#CaseArn", + "traits": { + "smithy.api#documentation": "

Response element for GetCase that provides the case ARN

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_GetCase.html#securityir-GetCase-response-caseArn" + } + } + }, + "description": { + "target": "com.amazonaws.securityir#CaseDescription", + "traits": { + "smithy.api#documentation": "

Response element for GetCase that provides contents of the case description.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_GetCase.html#securityir-GetCase-response-description" + } + } + }, + "caseStatus": { + "target": "com.amazonaws.securityir#CaseStatus", + "traits": { + "smithy.api#documentation": "

Response element for GetCase that provides the case status. Options for statuses include\n Submitted | Detection and Analysis | Eradication, Containment and Recovery | Post-Incident Activities\n | Closed\n \n

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_GetCase.html#securityir-GetCase-response-caseStatus" + } + } + }, + "engagementType": { + "target": "com.amazonaws.securityir#EngagementType", + "traits": { + "smithy.api#documentation": "

Response element for GetCase that provides the engagement type. Options for engagement type include\n Active Security Event | Investigations\n

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_GetCase.html#securityir-GetCase-response-engagementType" + } + } + }, + "reportedIncidentStartDate": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

Response element for GetCase that provides the customer provided incident start date.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_GetCase.html#securityir-GetCase-response-reportedIncidentStartDate" + } + } + }, + "actualIncidentStartDate": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

Response element for GetCase that provides the actual incident start date as identified by data analysis\n during the investigation.\n

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_GetCase.html#securityir-GetCase-response-actualIncidentStartDate" + } + } + }, + "impactedAwsRegions": { + "target": "com.amazonaws.securityir#ImpactedAwsRegionList", + "traits": { + "smithy.api#documentation": "

Response element for GetCase that provides the impacted regions.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_GetCase.html#securityir-GetCase-response-impactedAwsRegions" + } + } + }, + "threatActorIpAddresses": { + "target": "com.amazonaws.securityir#ThreatActorIpList", + "traits": { + "smithy.api#documentation": "

Response element for GetCase that provides a list of suspicious IP addresses associated with unauthorized\n activity.\n

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_GetCase.html#securityir-GetCase-response-threatActorIpAddresses" + } + } + }, + "pendingAction": { + "target": "com.amazonaws.securityir#PendingAction", + "traits": { + "smithy.api#documentation": "

Response element for GetCase that provides identifies the case is waiting on customer input.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_GetCase.html#securityir-GetCase-response-pendingAction" + } + } + }, + "impactedAccounts": { + "target": "com.amazonaws.securityir#ImpactedAccounts", + "traits": { + "smithy.api#documentation": "

Response element for GetCase that provides a list of impacted accounts.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_GetCase.html#securityir-GetCase-response-impactedAccounts" + } + } + }, + "watchers": { + "target": "com.amazonaws.securityir#Watchers", + "traits": { + "smithy.api#documentation": "

Response element for GetCase that provides a list of Watchers added to the case.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_GetCase.html#securityir-GetCase-response-watchers" + } + } + }, + "createdDate": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

Response element for GetCase that provides the date the case was created.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_GetCase.html#securityir-GetCase-response-createdDate" + } + } + }, + "lastUpdatedDate": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

Response element for GetCase that provides the date a case was last modified.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_GetCase.html#securityir-GetCase-response-lastUpdatedDate" + } + } + }, + "closureCode": { + "target": "com.amazonaws.securityir#ClosureCode", + "traits": { + "smithy.api#documentation": "

Response element for GetCase that provides the summary code for why a case was closed.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_GetCase.html#securityir-GetCase-response-closureCode" + } + } + }, + "resolverType": { + "target": "com.amazonaws.securityir#ResolverType", + "traits": { + "smithy.api#documentation": "

Response element for GetCase that provides the current resolver types. Options include \n self-supported | AWS-supported.\n

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_GetCase.html#securityir-GetCase-response-resolverType" + } + } + }, + "impactedServices": { + "target": "com.amazonaws.securityir#ImpactedServicesList", + "traits": { + "smithy.api#documentation": "

Response element for GetCase that provides a list of impacted services.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_GetCase.html#securityir-GetCase-response-impactedServices" + } + } + }, + "caseAttachments": { + "target": "com.amazonaws.securityir#CaseAttachmentsList", + "traits": { + "smithy.api#documentation": "

Response element for GetCase that provides a list of current case attachments.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_GetCase.html#securityir-GetCase-response-caseAttachments" + } + } + }, + "closedDate": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

Response element for GetCase that provides the date a specified case was closed.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_GetCase.html#securityir-GetCase-response-closedDate" + } + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.securityir#GetMembership": { + "type": "operation", + "input": { + "target": "com.amazonaws.securityir#GetMembershipRequest" + }, + "output": { + "target": "com.amazonaws.securityir#GetMembershipResponse" + }, + "traits": { + "aws.iam#iamAction": { + "name": "GetMembership", + "documentation": "Grants permission to get a membership" + }, + "smithy.api#documentation": "

Grants permission to get details of a designated service membership.

", + "smithy.api#examples": [ + { + "title": "Invoke GetMembership", + "input": { + "membershipId": "m-abcd1234efgh" + }, + "output": { + "membershipId": "m-abcd1234efgh", + "accountId": "123412341234", + "region": "af-south-1", + "membershipName": "Example Membership", + "membershipArn": "arn:aws:security-ir:us-west-1:123456789012:membership/m-abcd1234efgh", + "membershipStatus": "Active", + "membershipActivationTimestamp": "2023-03-27T15:32:01.789Z", + "membershipDeactivationTimestamp": "2023-04-27T15:32:01.789Z", + "customerType": "Standalone", + "numberOfAccountsCovered": 50, + "incidentResponseTeam": [ + { + "name": "Bob Jones", + "jobTitle": "Security Responder", + "email": "bob.jones@gmail.com" + }, + { + "email": "alice@example.com", + "name": "Alice", + "jobTitle": "CEO" + } + ], + "optInFeatures": [ + { + "featureName": "Triage", + "isEnabled": true + } + ] + } + } + ], + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_GetMembership.html" + }, + "smithy.api#http": { + "code": 200, + "method": "GET", + "uri": "/v1/membership/{membershipId}" + }, + "smithy.api#readonly": {}, + "smithy.test#smokeTests": [ + { + "id": "GetMembershipFailure", + "params": { + "membershipId": "m-aaaaaaaaaaaaaaaaaaaa" + }, + "expect": { + "failure": { + "errorId": "com.amazonaws.securityir#AccessDeniedException" + } + }, + "vendorParamsShape": "aws.test#AwsVendorParams", + "vendorParams": { + "region": "us-east-1" + } + } + ] + } + }, + "com.amazonaws.securityir#GetMembershipAccountDetailError": { + "type": "structure", + "members": { + "accountId": { + "target": "com.amazonaws.securityir#AWSAccountId", + "traits": { + "smithy.api#documentation": "

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_GetMembershipAccountDetailError.html#securityir-Type-GetMembershipAccountDetailError-accountId" + }, + "smithy.api#required": {} + } + }, + "error": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_GetMembershipAccountDetailItem.html#securityir-Type-GetMembershipAccountDetailItem-relationshipStatus" + }, + "smithy.api#required": {} + } + }, + "message": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_GetMembershipAccountDetailItem.html#securityir-Type-GetMembershipAccountDetailItem-relationshipType" + }, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_GetMembershipAccountDetailError.html" + } + } + }, + "com.amazonaws.securityir#GetMembershipAccountDetailErrors": { + "type": "list", + "member": { + "target": "com.amazonaws.securityir#GetMembershipAccountDetailError" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 100 + } + } + }, + "com.amazonaws.securityir#GetMembershipAccountDetailItem": { + "type": "structure", + "members": { + "accountId": { + "target": "com.amazonaws.securityir#AWSAccountId", + "traits": { + "smithy.api#documentation": "

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_GetMembershipAccountDetailItem.html#securityir-Type-GetMembershipAccountDetailItem-accountId" + } + } + }, + "relationshipStatus": { + "target": "com.amazonaws.securityir#MembershipAccountRelationshipStatus", + "traits": { + "smithy.api#documentation": "

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_GetMembershipAccountDetailItem.html#securityir-Type-GetMembershipAccountDetailItem-relationshipStatus" + } + } + }, + "relationshipType": { + "target": "com.amazonaws.securityir#MembershipAccountRelationshipType", + "traits": { + "smithy.api#documentation": "

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_GetMembershipAccountDetailItem.html#securityir-Type-GetMembershipAccountDetailItem-relationshipType" + } + } + } + }, + "traits": { + "smithy.api#documentation": "

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_GetMembershipAccountDetailItem.html" + } + } + }, + "com.amazonaws.securityir#GetMembershipAccountDetailItems": { + "type": "list", + "member": { + "target": "com.amazonaws.securityir#GetMembershipAccountDetailItem" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 100 + } + } + }, + "com.amazonaws.securityir#GetMembershipRequest": { + "type": "structure", + "members": { + "membershipId": { + "target": "com.amazonaws.securityir#MembershipId", + "traits": { + "smithy.api#documentation": "

Required element for GetMembership to identify the membership ID to query.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_GetMembership.html#securityir-GetMembership-request-uri-membershipId" + }, + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.securityir#GetMembershipResponse": { + "type": "structure", + "members": { + "membershipId": { + "target": "com.amazonaws.securityir#MembershipId", + "traits": { + "smithy.api#documentation": "

Response element for GetMembership that provides the queried membership ID.

", + "smithy.api#required": {} + } + }, + "accountId": { + "target": "com.amazonaws.securityir#AWSAccountId", + "traits": { + "smithy.api#documentation": "

Response element for GetMembership that provides the configured account for managing the membership.\n

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_GetMembership.html#securityir-GetMembership-response-accountId" + } + } + }, + "region": { + "target": "com.amazonaws.securityir#AwsRegion", + "traits": { + "smithy.api#documentation": "

Response element for GetMembership that provides the configured region for managing the membership.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_GetMembership.html#securityir-GetMembership-response-region" + } + } + }, + "membershipName": { + "target": "com.amazonaws.securityir#MembershipName", + "traits": { + "smithy.api#documentation": "

Response element for GetMembership that provides the configured membership name.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_GetMembership.html#securityir-GetMembership-response-membershipName" + } + } + }, + "membershipArn": { + "target": "com.amazonaws.securityir#MembershipArn", + "traits": { + "smithy.api#documentation": "

Response element for GetMembership that provides the membership ARN.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_GetMembership.html#securityir-GetMembership-response-membershipArn" + } + } + }, + "membershipStatus": { + "target": "com.amazonaws.securityir#MembershipStatus", + "traits": { + "smithy.api#documentation": "

Response element for GetMembership that provides the current membership status.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_GetMembership.html#securityir-GetMembership-response-membershipStatus" + } + } + }, + "membershipActivationTimestamp": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

Response element for GetMembership that provides the configured membership activation timestamp.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_GetMembership.html#securityir-GetMembership-response-membershipActivationTimestamp" + } + } + }, + "membershipDeactivationTimestamp": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

Response element for GetMembership that provides the configured membership name deactivation timestamp.\n

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_GetMembership.html#securityir-GetMembership-response-membershipDeactivationTimestamp" + } + } + }, + "customerType": { + "target": "com.amazonaws.securityir#CustomerType", + "traits": { + "smithy.api#documentation": "

Response element for GetMembership that provides the configured membership type. Options include \n Standalone | Organizations.\n

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_GetMembership.html#securityir-GetMembership-response-customerType" + } + } + }, + "numberOfAccountsCovered": { + "target": "smithy.api#Long", + "traits": { + "smithy.api#documentation": "

Response element for GetMembership that provides the number of accounts in the membership.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_GetMembership.html#securityir-GetMembership-response-numberOfAccountsCovered" + } + } + }, + "incidentResponseTeam": { + "target": "com.amazonaws.securityir#IncidentResponseTeam", + "traits": { + "smithy.api#documentation": "

Response element for GetMembership that provides the configured membership incident response team\n members.\n

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_GetMembership.html#securityir-GetMembership-response-incidentResponseTeam" + } + } + }, + "optInFeatures": { + "target": "com.amazonaws.securityir#OptInFeatures", + "traits": { + "smithy.api#documentation": "

Response element for GetMembership that provides the if opt-in features have been enabled.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_GetMembership.html#securityir-GetMembership-response-optInFeatures" + } + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.securityir#IPAddress": { + "type": "string", + "traits": { + "smithy.api#pattern": "^(?:(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))|(?:(?:[A-F0-9]{1,4}:){7}[A-F0-9]{1,4})|(?:(?:[A-F0-9]{1,4}:){6}(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))$", + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.securityir#ImpactedAccounts": { + "type": "list", + "member": { + "target": "com.amazonaws.securityir#AWSAccountId" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 200 + }, + "smithy.api#uniqueItems": {} + } + }, + "com.amazonaws.securityir#ImpactedAwsRegion": { + "type": "structure", + "members": { + "region": { + "target": "com.amazonaws.securityir#AwsRegion", + "traits": { + "smithy.api#documentation": "

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

" + } + }, + "com.amazonaws.securityir#ImpactedAwsRegionList": { + "type": "list", + "member": { + "target": "com.amazonaws.securityir#ImpactedAwsRegion" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 50 + }, + "smithy.api#uniqueItems": {} + } + }, + "com.amazonaws.securityir#ImpactedServicesList": { + "type": "list", + "member": { + "target": "com.amazonaws.securityir#AwsService" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 600 + }, + "smithy.api#uniqueItems": {} + } + }, + "com.amazonaws.securityir#IncidentResponder": { + "type": "structure", + "members": { + "name": { + "target": "com.amazonaws.securityir#IncidentResponderName", + "traits": { + "smithy.api#documentation": "

", + "smithy.api#required": {} + } + }, + "jobTitle": { + "target": "com.amazonaws.securityir#JobTitle", + "traits": { + "smithy.api#documentation": "

", + "smithy.api#required": {} + } + }, + "email": { + "target": "com.amazonaws.securityir#EmailAddress", + "traits": { + "smithy.api#documentation": "

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

" + } + }, + "com.amazonaws.securityir#IncidentResponderName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 3, + "max": 50 + }, + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.securityir#IncidentResponseTeam": { + "type": "list", + "member": { + "target": "com.amazonaws.securityir#IncidentResponder" + }, + "traits": { + "smithy.api#length": { + "min": 2, + "max": 10 + }, + "smithy.api#uniqueItems": {} + } + }, + "com.amazonaws.securityir#InternalServerException": { + "type": "structure", + "members": { + "message": { + "target": "smithy.api#String", + "traits": { + "smithy.api#required": {} + } + }, + "retryAfterSeconds": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "Element providing advice to clients on when the call can be safely retried.", + "smithy.api#httpHeader": "Retry-After" + } + } + }, + "traits": { + "smithy.api#documentation": "

", + "smithy.api#error": "server", + "smithy.api#httpError": 500, + "smithy.api#retryable": {} + } + }, + "com.amazonaws.securityir#InvalidTokenException": { + "type": "structure", + "members": { + "message": { + "target": "smithy.api#String", + "traits": { + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

", + "smithy.api#error": "client", + "smithy.api#httpError": 423, + "smithy.api#retryable": {} + } + }, + "com.amazonaws.securityir#JobTitle": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 50 + }, + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.securityir#ListCaseEdits": { + "type": "operation", + "input": { + "target": "com.amazonaws.securityir#ListCaseEditsRequest" + }, + "output": { + "target": "com.amazonaws.securityir#ListCaseEditsResponse" + }, + "traits": { + "aws.iam#iamAction": { + "name": "ListCaseEdits", + "documentation": "Grants permission to list case edits" + }, + "smithy.api#documentation": "

Grants permissions to view the aidt log for edits made to a designated case.

", + "smithy.api#examples": [ + { + "title": "Invoke ListCaseEdits", + "input": { + "caseId": "8403556009" + }, + "output": { + "items": [ + { + "eventTimestamp": "2023-03-27T15:32:01.789Z", + "principal": "00000000000", + "action": "Add comment", + "message": "Added comment to ask question to responder." + } + ], + "total": 1 + } + } + ], + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_ListCaseEdits.html" + }, + "smithy.api#http": { + "code": 200, + "method": "POST", + "uri": "/v1/cases/{caseId}/list-case-edits" + }, + "smithy.api#paginated": { + "items": "items", + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.securityir#ListCaseEditsRequest": { + "type": "structure", + "members": { + "nextToken": { + "target": "smithy.api#String", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

Optional element for a customer provided token.

", + "smithy.api#externalDocumentation": { + "API Response": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_ListCaseEdits.html#securityir-ListCaseEdits-request-nextToken" + }, + "smithy.api#length": { + "max": 2000 + } + } + }, + "maxResults": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": 25, + "smithy.api#documentation": "

Optional element to identify how many results to obtain. There is a maximum value of 25.

", + "smithy.api#externalDocumentation": { + "API Response": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_ListCaseEdits.html#securityir-ListCaseEdits-request-maxResults" + }, + "smithy.api#range": { + "min": 1, + "max": 25 + } + } + }, + "caseId": { + "target": "com.amazonaws.securityir#CaseId", + "traits": { + "smithy.api#documentation": "

Required element used with ListCaseEdits to identify the case to query.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_ListCaseEdits.html#securityir-ListCaseEdits-request-uri-caseId" + }, + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.securityir#ListCaseEditsResponse": { + "type": "structure", + "members": { + "nextToken": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

Optional element.

", + "smithy.api#externalDocumentation": { + "API Response": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_ListCaseEdits.html#securityir-ListCaseEdits-response-nextToken" + } + } + }, + "items": { + "target": "com.amazonaws.securityir#CaseEditItems", + "traits": { + "smithy.api#documentation": "

Response element for ListCaseEdits that includes the action, eventtimestamp, message, and principal for\n the response.\n

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_ListCaseEdits.html#securityir-ListCaseEdits-response-items" + } + } + }, + "total": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

Response element for ListCaseEdits that identifies the total number of edits.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_ListCaseEdits.html#securityir-ListCaseEdits-response-total" + } + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.securityir#ListCases": { + "type": "operation", + "input": { + "target": "com.amazonaws.securityir#ListCasesRequest" + }, + "output": { + "target": "com.amazonaws.securityir#ListCasesResponse" + }, + "traits": { + "aws.iam#iamAction": { + "name": "ListCases", + "documentation": "Grants permission to list cases" + }, + "smithy.api#documentation": "

Grants permission to list all cases the requester has access to.

", + "smithy.api#examples": [ + { + "title": "Invoke ListCases", + "input": { + "maxResults": 10 + }, + "output": { + "items": [ + { + "caseId": "8403556009", + "lastUpdatedDate": "2023-03-27T15:32:01.789Z", + "title": "Example case title", + "caseArn": "arn:aws:security-ir:us-west-1:123456789012:case/1234567890", + "engagementType": "Security Incident", + "caseStatus": "Acknowledged", + "createdDate": "2023-01-27T15:32:01.789Z", + "resolverType": "Self", + "pendingAction": "None" + } + ], + "total": 1 + } + } + ], + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_ListCases.html" + }, + "smithy.api#http": { + "code": 200, + "method": "POST", + "uri": "/v1/list-cases" + }, + "smithy.api#paginated": { + "items": "items", + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.securityir#ListCasesItem": { + "type": "structure", + "members": { + "caseId": { + "target": "com.amazonaws.securityir#CaseId", + "traits": { + "smithy.api#documentation": "

", + "smithy.api#required": {} + } + }, + "lastUpdatedDate": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

", + "smithy.api#externalDocumentation": { + "API Response": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_ListCasesItem.html#securityir-Type-ListCasesItem-lastUpdatedDate" + } + } + }, + "title": { + "target": "com.amazonaws.securityir#CaseTitle", + "traits": { + "smithy.api#documentation": "

", + "smithy.api#externalDocumentation": { + "API Response": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_ListCasesItem.html#securityir-Type-ListCasesItem-title" + } + } + }, + "caseArn": { + "target": "com.amazonaws.securityir#CaseArn", + "traits": { + "smithy.api#documentation": "

", + "smithy.api#externalDocumentation": { + "API Response": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_ListCasesItem.html#securityir-Type-ListCasesItem-caseArn" + } + } + }, + "engagementType": { + "target": "com.amazonaws.securityir#EngagementType", + "traits": { + "smithy.api#documentation": "

", + "smithy.api#externalDocumentation": { + "API Response": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_ListCasesItem.html#securityir-Type-ListCasesItem-engagementType" + } + } + }, + "caseStatus": { + "target": "com.amazonaws.securityir#CaseStatus", + "traits": { + "smithy.api#documentation": "

", + "smithy.api#externalDocumentation": { + "API Response": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_ListCasesItem.html#securityir-Type-ListCasesItem-caseStatus" + } + } + }, + "createdDate": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

", + "smithy.api#externalDocumentation": { + "API Response": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_ListCasesItem.html#securityir-Type-ListCasesItem-createdDate" + } + } + }, + "closedDate": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

", + "smithy.api#externalDocumentation": { + "API Response": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_ListCasesItem.html#securityir-Type-ListCasesItem-closedDate" + } + } + }, + "resolverType": { + "target": "com.amazonaws.securityir#ResolverType", + "traits": { + "smithy.api#documentation": "

", + "smithy.api#externalDocumentation": { + "API Response": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_ListCasesItem.html#securityir-Type-ListCasesItem-resolverType" + } + } + }, + "pendingAction": { + "target": "com.amazonaws.securityir#PendingAction", + "traits": { + "smithy.api#documentation": "

", + "smithy.api#externalDocumentation": { + "API Response": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_ListCasesItem.html#securityir-Type-ListCasesItem-pendingAction" + } + } + } + }, + "traits": { + "smithy.api#documentation": "

" + } + }, + "com.amazonaws.securityir#ListCasesItems": { + "type": "list", + "member": { + "target": "com.amazonaws.securityir#ListCasesItem" + } + }, + "com.amazonaws.securityir#ListCasesRequest": { + "type": "structure", + "members": { + "nextToken": { + "target": "smithy.api#String", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

Optional element.

", + "smithy.api#externalDocumentation": { + "API Response": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_ListCases.html#securityir-ListCases-request-nextToken" + }, + "smithy.api#length": { + "max": 2000 + } + } + }, + "maxResults": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": 25, + "smithy.api#documentation": "

Optional element for ListCases to limit the number of responses.

", + "smithy.api#externalDocumentation": { + "API Response": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_ListCases.html#securityir-ListCases-request-maxResults" + }, + "smithy.api#range": { + "min": 1, + "max": 25 + } + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.securityir#ListCasesResponse": { + "type": "structure", + "members": { + "nextToken": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

Optional element.

", + "smithy.api#externalDocumentation": { + "API Response": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_ListCaseEdits.html#securityir-ListCaseEdits-response-nextToken" + } + } + }, + "items": { + "target": "com.amazonaws.securityir#ListCasesItems", + "traits": { + "smithy.api#documentation": "

Response element for ListCases that includes caseARN, caseID, caseStatus, closedDate,\n createdDate, engagementType, lastUpdatedDate, pendingAction, resolverType, and title for each response.\n

", + "smithy.api#externalDocumentation": { + "API Response": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_ListCases.html#securityir-ListCases-response-items" + } + } + }, + "total": { + "target": "smithy.api#Long", + "traits": { + "smithy.api#documentation": "

Response element for ListCases providing the total number of responses.

", + "smithy.api#externalDocumentation": { + "API Response": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_ListCases.html#securityir-ListCases-response-total" + } + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.securityir#ListComments": { + "type": "operation", + "input": { + "target": "com.amazonaws.securityir#ListCommentsRequest" + }, + "output": { + "target": "com.amazonaws.securityir#ListCommentsResponse" + }, + "traits": { + "aws.iam#iamAction": { + "name": "ListComments", + "documentation": "Grants permission to list case comments" + }, + "smithy.api#documentation": "

Grants permissions to list and view comments for a designated case.

", + "smithy.api#examples": [ + { + "title": "Invoke ListComments", + "input": { + "caseId": "8403556009" + }, + "output": { + "items": [ + { + "commentId": "000000", + "body": "Case comment body." + } + ], + "total": 1 + } + } + ], + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_ListComments.html" + }, + "smithy.api#http": { + "code": 200, + "method": "POST", + "uri": "/v1/cases/{caseId}/list-comments" + }, + "smithy.api#paginated": { + "items": "items", + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.securityir#ListCommentsItem": { + "type": "structure", + "members": { + "commentId": { + "target": "com.amazonaws.securityir#CommentId", + "traits": { + "smithy.api#documentation": "

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_ListCommentsItem.html#securityir-Type-ListCommentsItem-commentId" + }, + "smithy.api#required": {} + } + }, + "createdDate": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

" + } + }, + "lastUpdatedDate": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

" + } + }, + "creator": { + "target": "com.amazonaws.securityir#PrincipalId", + "traits": { + "smithy.api#documentation": "

" + } + }, + "lastUpdatedBy": { + "target": "com.amazonaws.securityir#PrincipalId", + "traits": { + "smithy.api#documentation": "

" + } + }, + "body": { + "target": "com.amazonaws.securityir#CommentBody", + "traits": { + "smithy.api#documentation": "

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_ListCommentsItem.html#securityir-Type-ListCommentsItem-body" + } + } + } + }, + "traits": { + "smithy.api#documentation": "

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_ListCommentsItem.html#securityir-Type-ListCommentsItem-commentId" + } + } + }, + "com.amazonaws.securityir#ListCommentsItems": { + "type": "list", + "member": { + "target": "com.amazonaws.securityir#ListCommentsItem" + } + }, + "com.amazonaws.securityir#ListCommentsRequest": { + "type": "structure", + "members": { + "nextToken": { + "target": "smithy.api#String", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

Optional element.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_ListComments.html#securityir-ListComments-request-nextToken" + }, + "smithy.api#length": { + "max": 2000 + } + } + }, + "maxResults": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": 25, + "smithy.api#documentation": "

Optional element for ListComments to limit the number of responses.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_ListComments.html#securityir-ListComments-request-maxResults" + }, + "smithy.api#range": { + "min": 1, + "max": 25 + } + } + }, + "caseId": { + "target": "com.amazonaws.securityir#CaseId", + "traits": { + "smithy.api#documentation": "

Required element for ListComments to designate the case to query.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_ListComments.html#securityir-ListComments-request-uri-caseId" + }, + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.securityir#ListCommentsResponse": { + "type": "structure", + "members": { + "nextToken": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

Optional request elements.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_ListComments.html#securityir-ListComments-response-nextToken" + } + } + }, + "items": { + "target": "com.amazonaws.securityir#ListCommentsItems", + "traits": { + "smithy.api#documentation": "

Response element for ListComments providing the body, commentID, createDate, creator, lastUpdatedBy and\n lastUpdatedDate for each response.\n

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_ListComments.html#securityir-ListComments-response-items" + } + } + }, + "total": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

Response element for ListComments identifying the number of responses.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_ListComments.html#securityir-ListComments-response-total" + } + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.securityir#ListMembershipItem": { + "type": "structure", + "members": { + "membershipId": { + "target": "com.amazonaws.securityir#MembershipId", + "traits": { + "smithy.api#documentation": "

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_ListMembershipItem.html#securityir-Type-ListMembershipItem-membershipId" + }, + "smithy.api#required": {} + } + }, + "accountId": { + "target": "com.amazonaws.securityir#AWSAccountId", + "traits": { + "smithy.api#documentation": "

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_ListMemberships.html#securityir-ListMemberships-response-accountId" + } + } + }, + "region": { + "target": "com.amazonaws.securityir#AwsRegion", + "traits": { + "smithy.api#documentation": "

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_ListMemberships.html#securityir-ListMemberships-response-region" + } + } + }, + "membershipArn": { + "target": "com.amazonaws.securityir#MembershipArn", + "traits": { + "smithy.api#documentation": "

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_ListMemberships.html#securityir-ListMemberships-response-membershipArn" + } + } + }, + "membershipStatus": { + "target": "com.amazonaws.securityir#MembershipStatus", + "traits": { + "smithy.api#documentation": "

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_ListMemberships.html#securityir-ListMemberships-response-membershipStatus" + } + } + } + }, + "traits": { + "smithy.api#documentation": "

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_ListMemberships.html#securityir-ListMemberships-response-items" + } + } + }, + "com.amazonaws.securityir#ListMembershipItems": { + "type": "list", + "member": { + "target": "com.amazonaws.securityir#ListMembershipItem" + } + }, + "com.amazonaws.securityir#ListMemberships": { + "type": "operation", + "input": { + "target": "com.amazonaws.securityir#ListMembershipsRequest" + }, + "output": { + "target": "com.amazonaws.securityir#ListMembershipsResponse" + }, + "traits": { + "aws.iam#iamAction": { + "name": "ListMemberships", + "documentation": "Grants permission to list memberships" + }, + "smithy.api#documentation": "

Grants permission to query the memberships a principal has access to.

", + "smithy.api#examples": [ + { + "title": "Invoke ListMemberships", + "input": { + "maxResults": 10 + }, + "output": { + "items": [ + { + "membershipId": "m-abcd1234efgh", + "accountId": "123123123123", + "region": "af-south-1", + "membershipArn": "arn:aws:security-ir:us-west-1:123456789012:membership/m-abcd1234efgh", + "membershipStatus": "Cancelled" + } + ] + } + } + ], + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_ListMemberships.html" + }, + "smithy.api#http": { + "code": 200, + "method": "POST", + "uri": "/v1/memberships" + }, + "smithy.api#paginated": { + "items": "items", + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.securityir#ListMembershipsRequest": { + "type": "structure", + "members": { + "nextToken": { + "target": "smithy.api#String", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

Optional element.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_ListMemberships.html#securityir-ListMemberships-request-nextToken" + }, + "smithy.api#length": { + "max": 2000 + } + } + }, + "maxResults": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": 25, + "smithy.api#documentation": "

Request element for ListMemberships to limit the number of responses.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_ListMemberships.html#securityir-ListMemberships-request-maxResults" + }, + "smithy.api#range": { + "min": 1, + "max": 25 + } + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.securityir#ListMembershipsResponse": { + "type": "structure", + "members": { + "nextToken": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

Optional element.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_ListMemberships.html#securityir-ListMemberships-response-nextToken" + } + } + }, + "items": { + "target": "com.amazonaws.securityir#ListMembershipItems", + "traits": { + "smithy.api#documentation": "

Request element for ListMemberships including the accountID, membershipARN, membershipID,\n membershipStatus, and region for each response.\n

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_ListMemberships.html#securityir-ListMemberships-response-items" + } + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.securityir#ListTagsForResource": { + "type": "operation", + "input": { + "target": "com.amazonaws.securityir#ListTagsForResourceInput" + }, + "output": { + "target": "com.amazonaws.securityir#ListTagsForResourceOutput" + }, + "errors": [ + { + "target": "com.amazonaws.securityir#AccessDeniedException" + }, + { + "target": "com.amazonaws.securityir#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.securityir#ValidationException" + } + ], + "traits": { + "aws.iam#conditionKeys": [ + "aws:ResourceTag/${TagKey}", + "aws:TagKeys" + ], + "aws.iam#iamAction": { + "name": "ListTagsForResource", + "documentation": "Grants permission to list the tags attached to the specified resource" + }, + "smithy.api#documentation": "

Grants permission to view currently configured tags on a resource.

", + "smithy.api#examples": [ + { + "title": "Invoke ListTagsForResource", + "input": { + "resourceArn": "arn:aws:security-ir:us-west-1:123456789012:membership/m-abcd1234efgh" + }, + "output": { + "tags": { + "key": "example-tag-key", + "value": "example-tag-value" + } + } + } + ], + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_ListTagsForResource.html" + }, + "smithy.api#http": { + "method": "GET", + "uri": "/v1/tags/{resourceArn}", + "code": 200 + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.securityir#ListTagsForResourceInput": { + "type": "structure", + "members": { + "resourceArn": { + "target": "com.amazonaws.securityir#Arn", + "traits": { + "smithy.api#documentation": "

Required element for ListTagsForResource to provide the ARN to identify a specific resource.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_ListTagsForResource.html#securityir-ListTagsForResource-request-uri-resourceArn" + }, + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {}, + "smithy.api#references": [ + { + "resource": "com.amazonaws.securityir#Membership", + "ids": { + "membershipId": "resourceArn" + } + }, + { + "resource": "com.amazonaws.securityir#Case", + "ids": { + "caseId": "resourceArn" + } + } + ] + } + }, + "com.amazonaws.securityir#ListTagsForResourceOutput": { + "type": "structure", + "members": { + "tags": { + "target": "com.amazonaws.securityir#TagMap", + "traits": { + "aws.api#data": "tagging", + "smithy.api#documentation": "

Response element for ListTagsForResource providing content for each configured tag.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_ListTagsForResource.html#securityir-ListTagsForResource-response-tags" + }, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.securityir#Membership": { + "type": "resource", + "identifiers": { + "membershipId": { + "target": "com.amazonaws.securityir#MembershipId" + } + }, + "create": { + "target": "com.amazonaws.securityir#CreateMembership" + }, + "read": { + "target": "com.amazonaws.securityir#GetMembership" + }, + "update": { + "target": "com.amazonaws.securityir#UpdateMembership" + }, + "list": { + "target": "com.amazonaws.securityir#ListMemberships" + }, + "operations": [ + { + "target": "com.amazonaws.securityir#BatchGetMemberAccountDetails" + }, + { + "target": "com.amazonaws.securityir#CancelMembership" + } + ], + "traits": { + "aws.api#arn": { + "template": "membership/{membershipId}" + }, + "aws.iam#conditionKeys": [ + "aws:ResourceTag/${TagKey}" + ], + "aws.iam#iamResource": { + "name": "membership", + "relativeDocumentation": "select-a-membership-account.html" + }, + "smithy.api#documentation": "Represents a membership to manage service level preferences" + } + }, + "com.amazonaws.securityir#MembershipAccountRelationshipStatus": { + "type": "enum", + "members": { + "ASSOCIATED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Associated" + } + }, + "DISASSOCIATED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Disassociated" + } + } + } + }, + "com.amazonaws.securityir#MembershipAccountRelationshipType": { + "type": "enum", + "members": { + "ORGANIZATION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Organization" + } + } + } + }, + "com.amazonaws.securityir#MembershipArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 12, + "max": 80 + }, + "smithy.api#pattern": "^arn:aws:security-ir:\\w+?-\\w+?-\\d+:[0-9]{12}:membership/m-[a-z0-9]{10,32}$" + } + }, + "com.amazonaws.securityir#MembershipId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 12, + "max": 34 + }, + "smithy.api#pattern": "^m-[a-z0-9]{10,32}$" + } + }, + "com.amazonaws.securityir#MembershipName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 3, + "max": 50 + }, + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.securityir#MembershipStatus": { + "type": "enum", + "members": { + "ACTIVE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Active" + } + }, + "CANCELLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Cancelled" + } + }, + "TERMINATED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Terminated" + } + } + } + }, + "com.amazonaws.securityir#OptInFeature": { + "type": "structure", + "members": { + "featureName": { + "target": "com.amazonaws.securityir#OptInFeatureName", + "traits": { + "smithy.api#documentation": "

", + "smithy.api#required": {} + } + }, + "isEnabled": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

" + } + }, + "com.amazonaws.securityir#OptInFeatureName": { + "type": "enum", + "members": { + "TRIAGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Triage" + } + } + } + }, + "com.amazonaws.securityir#OptInFeatures": { + "type": "list", + "member": { + "target": "com.amazonaws.securityir#OptInFeature" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 2 + }, + "smithy.api#uniqueItems": {} + } + }, + "com.amazonaws.securityir#PendingAction": { + "type": "enum", + "members": { + "CUSTOMER": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Customer" + } + }, + "NONE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "None" + } + } + } + }, + "com.amazonaws.securityir#PersonName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 50 + }, + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.securityir#PrincipalId": { + "type": "string", + "traits": { + "smithy.api#pattern": "(^internal:midway:([a-z]{3,8}|svc-mw-[0-9]{12}[a-zA-Z0-9-]{5,20})$)|(^external:aws:\\d{12}$)" + } + }, + "com.amazonaws.securityir#ResolverType": { + "type": "enum", + "members": { + "AWS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AWS" + } + }, + "SELF": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Self" + } + } + } + }, + "com.amazonaws.securityir#ResourceNotFoundException": { + "type": "structure", + "members": { + "message": { + "target": "smithy.api#String", + "traits": { + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

", + "smithy.api#error": "client", + "smithy.api#httpError": 404 + } + }, + "com.amazonaws.securityir#SecurityIncidentResponse": { + "type": "service", + "version": "2018-05-10", + "operations": [ + { + "target": "com.amazonaws.securityir#ListTagsForResource" + }, + { + "target": "com.amazonaws.securityir#TagResource" + }, + { + "target": "com.amazonaws.securityir#UntagResource" + } + ], + "resources": [ + { + "target": "com.amazonaws.securityir#Case" + }, + { + "target": "com.amazonaws.securityir#Membership" + } + ], + "errors": [ + { + "target": "com.amazonaws.securityir#AccessDeniedException" + }, + { + "target": "com.amazonaws.securityir#ConflictException" + }, + { + "target": "com.amazonaws.securityir#InternalServerException" + }, + { + "target": "com.amazonaws.securityir#InvalidTokenException" + }, + { + "target": "com.amazonaws.securityir#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.securityir#SecurityIncidentResponseNotActiveException" + }, + { + "target": "com.amazonaws.securityir#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.securityir#ThrottlingException" + }, + { + "target": "com.amazonaws.securityir#ValidationException" + } + ], + "traits": { + "aws.api#service": { + "sdkId": "Security IR", + "arnNamespace": "security-ir", + "cloudTrailEventSource": "security-ir.amazonaws.com" + }, + "aws.auth#sigv4": { + "name": "security-ir" + }, + "aws.endpoints#dualStackOnlyEndpoints": {}, + "aws.endpoints#standardRegionalEndpoints": {}, + "aws.iam#defineConditionKeys": { + "aws:RequestTag/${TagKey}": { + "type": "String", + "documentation": "Filters access by the tags that are passed in the request", + "externalDocumentation": "${DocHomeURL}IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-requesttag" + }, + "aws:ResourceTag/${TagKey}": { + "type": "String", + "documentation": "Filters access by the tags associated with the resource", + "externalDocumentation": "${DocHomeURL}IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-resourcetag" + }, + "aws:TagKeys": { + "type": "ArrayOfString", + "documentation": "Filters access by the tag keys that are passed in the request", + "externalDocumentation": "${DocHomeURL}IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-tagkeys" + } + }, + "aws.iam#disableConditionKeyInference": {}, + "aws.iam#supportedPrincipalTypes": [ + "Root", + "IAMUser", + "IAMRole", + "FederatedUser" + ], + "aws.protocols#restJson1": {}, + "smithy.api#cors": {}, + "smithy.api#documentation": "

This guide provides documents the action and response elements for customer use of the service.

", + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults", + "items": "items" + }, + "smithy.api#title": "Security Incident Response", + "smithy.rules#endpointRuleSet": { + "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://security-ir-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "https://security-ir.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" + } + ], + "type": "tree" + } + ] + }, + "smithy.rules#endpointTests": { + "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://security-ir-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://security-ir.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://security-ir-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://security-ir.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://security-ir-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://security-ir.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://security-ir-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://security-ir.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://security-ir-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://security-ir.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://security-ir-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://security-ir.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://security-ir-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://security-ir.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" + } + } + }, + "com.amazonaws.securityir#SecurityIncidentResponseNotActiveException": { + "type": "structure", + "members": { + "message": { + "target": "smithy.api#String", + "traits": { + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

", + "smithy.api#error": "client", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/CommonErrors.html" + }, + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.securityir#SelfManagedCaseStatus": { + "type": "enum", + "members": { + "SUBMITTED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Submitted" + } + }, + "DETECTION_AND_ANALYSIS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Detection and Analysis" + } + }, + "CONTAINMENT_ERADICATION_AND_RECOVERY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Containment, Eradication and Recovery" + } + }, + "POST_INCIDENT_ACTIVITIES": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Post-incident Activities" + } + } + } + }, + "com.amazonaws.securityir#ServiceQuotaExceededException": { + "type": "structure", + "members": { + "message": { + "target": "smithy.api#String", + "traits": { + "smithy.api#required": {} + } + }, + "resourceId": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "Element that provides the ID of the resource affected.", + "smithy.api#required": {} + } + }, + "resourceType": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "Element that provides the type of the resource affected.", + "smithy.api#required": {} + } + }, + "serviceCode": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "Element that provides the originating service who made the call.", + "smithy.api#required": {} + } + }, + "quotaCode": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "Element that provides the quota that was exceeded.", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

", + "smithy.api#error": "client", + "smithy.api#httpError": 402 + } + }, + "com.amazonaws.securityir#TagKey": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 128 + } + } + }, + "com.amazonaws.securityir#TagKeys": { + "type": "list", + "member": { + "target": "com.amazonaws.securityir#TagKey" + } + }, + "com.amazonaws.securityir#TagMap": { + "type": "map", + "key": { + "target": "com.amazonaws.securityir#TagKey" + }, + "value": { + "target": "com.amazonaws.securityir#TagValue" + }, + "traits": { + "smithy.api#length": { + "max": 200 + } + } + }, + "com.amazonaws.securityir#TagResource": { + "type": "operation", + "input": { + "target": "com.amazonaws.securityir#TagResourceInput" + }, + "output": { + "target": "com.amazonaws.securityir#TagResourceOutput" + }, + "errors": [ + { + "target": "com.amazonaws.securityir#AccessDeniedException" + }, + { + "target": "com.amazonaws.securityir#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.securityir#ValidationException" + } + ], + "traits": { + "aws.iam#conditionKeys": [ + "aws:ResourceTag/${TagKey}", + "aws:RequestTag/${TagKey}", + "aws:TagKeys" + ], + "aws.iam#iamAction": { + "name": "TagResource", + "documentation": "Grants permission to add tags to the specified resource" + }, + "smithy.api#documentation": "

Grants permission to add a tag(s) to a designated resource.

", + "smithy.api#examples": [ + { + "title": "Invoke TagResource", + "input": { + "resourceArn": "arn:aws:security-ir:us-west-1:123456789012:membership/m-abcd1234efgh", + "tags": { + "key": "example-tag-key", + "value": "example-tag-value" + } + }, + "output": {} + } + ], + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_TagResource.html" + }, + "smithy.api#http": { + "method": "POST", + "uri": "/v1/tags/{resourceArn}", + "code": 204 + } + } + }, + "com.amazonaws.securityir#TagResourceInput": { + "type": "structure", + "members": { + "resourceArn": { + "target": "com.amazonaws.securityir#Arn", + "traits": { + "smithy.api#documentation": "

Required element for TagResource to identify the ARN for the resource to add a tag to.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_TagResource.html#securityir-TagResource-request-uri-resourceArn" + }, + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "tags": { + "target": "com.amazonaws.securityir#TagMap", + "traits": { + "aws.api#data": "tagging", + "smithy.api#documentation": "

Required element for ListTagsForResource to provide the content for a tag.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_TagResource.html#securityir-TagResource-request-tags" + }, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {}, + "smithy.api#references": [ + { + "resource": "com.amazonaws.securityir#Membership", + "ids": { + "membershipId": "resourceArn" + } + }, + { + "resource": "com.amazonaws.securityir#Case", + "ids": { + "caseId": "resourceArn" + } + } + ] + } + }, + "com.amazonaws.securityir#TagResourceOutput": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_TagResource.html#API_TagResource_ResponseSyntax" + }, + "smithy.api#output": {} + } + }, + "com.amazonaws.securityir#TagValue": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 256 + } + } + }, + "com.amazonaws.securityir#ThreatActorIp": { + "type": "structure", + "members": { + "ipAddress": { + "target": "com.amazonaws.securityir#IPAddress", + "traits": { + "smithy.api#documentation": "

", + "smithy.api#required": {} + } + }, + "userAgent": { + "target": "com.amazonaws.securityir#UserAgent", + "traits": { + "smithy.api#documentation": "

" + } + } + }, + "traits": { + "smithy.api#documentation": "

" + } + }, + "com.amazonaws.securityir#ThreatActorIpList": { + "type": "list", + "member": { + "target": "com.amazonaws.securityir#ThreatActorIp" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 200 + } + } + }, + "com.amazonaws.securityir#ThrottlingException": { + "type": "structure", + "members": { + "message": { + "target": "smithy.api#String", + "traits": { + "smithy.api#required": {} + } + }, + "serviceCode": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "Element providing the service code of the originating service." + } + }, + "quotaCode": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "Element providing the quota of the originating service." + } + }, + "retryAfterSeconds": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "Element providing advice to clients on when the call can be safely retried.", + "smithy.api#httpHeader": "Retry-After" + } + } + }, + "traits": { + "smithy.api#documentation": "

", + "smithy.api#error": "client", + "smithy.api#httpError": 429, + "smithy.api#retryable": { + "throttling": true + } + } + }, + "com.amazonaws.securityir#UntagResource": { + "type": "operation", + "input": { + "target": "com.amazonaws.securityir#UntagResourceInput" + }, + "output": { + "target": "com.amazonaws.securityir#UntagResourceOutput" + }, + "errors": [ + { + "target": "com.amazonaws.securityir#AccessDeniedException" + }, + { + "target": "com.amazonaws.securityir#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.securityir#ValidationException" + } + ], + "traits": { + "aws.iam#conditionKeys": [ + "aws:ResourceTag/${TagKey}", + "aws:TagKeys" + ], + "aws.iam#iamAction": { + "name": "UntagResource", + "documentation": "Grants permission to remove tags from the specified resource" + }, + "smithy.api#documentation": "

Grants permission to remove a tag(s) from a designate resource.

", + "smithy.api#examples": [ + { + "title": "Invoke UntagResource", + "input": { + "resourceArn": "arn:aws:security-ir:us-west-1:123456789012:membership/m-abcd1234efgh", + "tagKeys": [ + "example-tag-key" + ] + } + } + ], + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_UntagResource.html" + }, + "smithy.api#http": { + "method": "DELETE", + "uri": "/v1/tags/{resourceArn}", + "code": 200 + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.securityir#UntagResourceInput": { + "type": "structure", + "members": { + "resourceArn": { + "target": "com.amazonaws.securityir#Arn", + "traits": { + "smithy.api#documentation": "

Required element for UnTagResource to identify the ARN for the resource to remove a tag from.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_UntagResource.html#securityir-UntagResource-request-uri-resourceArn" + }, + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "tagKeys": { + "target": "com.amazonaws.securityir#TagKeys", + "traits": { + "aws.api#data": "tagging", + "smithy.api#documentation": "

Required element for UnTagResource to identify tag to remove.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_UntagResource.html#securityir-UntagResource-request-uri-resourceArn" + }, + "smithy.api#httpQuery": "tagKeys", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {}, + "smithy.api#references": [ + { + "resource": "com.amazonaws.securityir#Membership", + "ids": { + "membershipId": "resourceArn" + } + }, + { + "resource": "com.amazonaws.securityir#Case", + "ids": { + "caseId": "resourceArn" + } + } + ] + } + }, + "com.amazonaws.securityir#UntagResourceOutput": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_UntagResource.html#API_UntagResource_ResponseSyntax" + }, + "smithy.api#output": {} + } + }, + "com.amazonaws.securityir#UpdateCase": { + "type": "operation", + "input": { + "target": "com.amazonaws.securityir#UpdateCaseRequest" + }, + "output": { + "target": "com.amazonaws.securityir#UpdateCaseResponse" + }, + "traits": { + "aws.iam#iamAction": { + "name": "UpdateCase", + "documentation": "Grants permission to update a case" + }, + "smithy.api#documentation": "

Grants permission to update an existing case.

", + "smithy.api#examples": [ + { + "title": "Invoke UpdateCase", + "input": { + "caseId": "8403556009", + "title": "My sample case", + "description": "Case description", + "reportedIncidentStartDate": "2023-03-27T15:32:01.789Z", + "actualIncidentStartDate": "2023-03-25T15:32:01.789Z", + "engagementType": "Investigation", + "watchersToAdd": [ + { + "email": "Sam@example.com", + "name": "Same", + "jobTitle": "CEO" + } + ], + "watchersToDelete": [ + { + "email": "bob@example.com", + "name": "Bob", + "jobTitle": "CFO" + } + ], + "threatActorIpAddressesToAdd": [ + { + "ipAddress": "190.160.190.160", + "userAgent": "Browser" + } + ], + "threatActorIpAddressesToDelete": [ + { + "ipAddress": "192.168.192.168", + "userAgent": "Browser" + } + ], + "impactedServicesToAdd": [ + "Amazon EC2" + ], + "impactedServicesToDelete": [ + "Amazon EKS" + ], + "impactedAwsRegionsToAdd": [ + { + "region": "ap-southeast-1" + } + ], + "impactedAwsRegionsToDelete": [ + { + "region": "us-east-1" + } + ], + "impactedAccountsToAdd": [ + "000000000000" + ], + "impactedAccountsToDelete": [ + "111111111111" + ] + }, + "output": {} + } + ], + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_UpdateCase.html" + }, + "smithy.api#http": { + "code": 200, + "method": "POST", + "uri": "/v1/cases/{caseId}/update-case" + } + } + }, + "com.amazonaws.securityir#UpdateCaseComment": { + "type": "operation", + "input": { + "target": "com.amazonaws.securityir#UpdateCaseCommentRequest" + }, + "output": { + "target": "com.amazonaws.securityir#UpdateCaseCommentResponse" + }, + "traits": { + "aws.iam#iamAction": { + "name": "UpdateCaseComment", + "documentation": "Grants permission to update a case comment" + }, + "smithy.api#documentation": "

Grants permission to update an existing case comment.

", + "smithy.api#examples": [ + { + "title": "Invoke UpdateCaseComment", + "input": { + "caseId": "8403556009", + "commentId": "000000", + "body": "Updated case comment." + }, + "output": { + "body": "Updated case comment.", + "commentId": "000000" + } + } + ], + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_UpdateCaseComment.html" + }, + "smithy.api#http": { + "code": 200, + "method": "PUT", + "uri": "/v1/cases/{caseId}/update-case-comment/{commentId}" + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.securityir#UpdateCaseCommentRequest": { + "type": "structure", + "members": { + "caseId": { + "target": "com.amazonaws.securityir#CaseId", + "traits": { + "smithy.api#documentation": "

Required element for UpdateCaseComment to identify the case ID containing the comment to be updated.\n

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_UpdateCaseComment.html#securityir-UpdateCaseComment-request-uri-caseId" + }, + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "commentId": { + "target": "com.amazonaws.securityir#CommentId", + "traits": { + "smithy.api#documentation": "

Required element for UpdateCaseComment to identify the case ID to be updated.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_UpdateCaseComment.html#securityir-UpdateCaseComment-request-uri-commentId" + }, + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "body": { + "target": "com.amazonaws.securityir#CommentBody", + "traits": { + "smithy.api#documentation": "

Required element for UpdateCaseComment to identify the content for the comment to be updated.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_UpdateCaseComment.html#securityir-UpdateCaseComment-request-body" + }, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.securityir#UpdateCaseCommentResponse": { + "type": "structure", + "members": { + "commentId": { + "target": "com.amazonaws.securityir#CommentId", + "traits": { + "smithy.api#documentation": "

Response element for UpdateCaseComment providing the updated comment ID.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_UpdateCaseComment.html#securityir-UpdateCaseComment-response-commentId" + }, + "smithy.api#required": {} + } + }, + "body": { + "target": "com.amazonaws.securityir#CommentBody", + "traits": { + "smithy.api#documentation": "

Response element for UpdateCaseComment providing the updated comment content.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_UpdateCaseComment.html#securityir-UpdateCaseComment-response-body" + } + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.securityir#UpdateCaseRequest": { + "type": "structure", + "members": { + "caseId": { + "target": "com.amazonaws.securityir#CaseId", + "traits": { + "smithy.api#documentation": "

Required element for UpdateCase to identify the case ID for updates.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_UpdateCase.html#securityir-UpdateCase-request-uri-caseId" + }, + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "title": { + "target": "com.amazonaws.securityir#CaseTitle", + "traits": { + "smithy.api#documentation": "

Optional element for UpdateCase to provide content for the title field.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_UpdateCase.html#securityir-UpdateCase-request-title" + } + } + }, + "description": { + "target": "com.amazonaws.securityir#CaseDescription", + "traits": { + "smithy.api#documentation": "

Optional element for UpdateCase to provide content for the description field.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_UpdateCase.html#securityir-UpdateCase-request-description" + } + } + }, + "reportedIncidentStartDate": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

Optional element for UpdateCase to provide content for the customer reported incident start date field.\n

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_UpdateCase.html#securityir-UpdateCase-request-reportedIncidentStartDate" + } + } + }, + "actualIncidentStartDate": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

Optional element for UpdateCase to provide content for the incident start date field.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_UpdateCase.html#securityir-UpdateCase-request-actualIncidentStartDate" + } + } + }, + "engagementType": { + "target": "com.amazonaws.securityir#EngagementType", + "traits": { + "smithy.api#documentation": "

Optional element for UpdateCase to provide content for the engagement type field. Available\n engagement types include Security Incident | Investigation.\n

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_UpdateCase.html#securityir-UpdateCase-request-engagementType" + } + } + }, + "watchersToAdd": { + "target": "com.amazonaws.securityir#Watchers", + "traits": { + "smithy.api#documentation": "

Optional element for UpdateCase to provide content to add additional watchers to a case.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_UpdateCase.html#securityir-UpdateCase-request-watchersToAdd" + } + } + }, + "watchersToDelete": { + "target": "com.amazonaws.securityir#Watchers", + "traits": { + "smithy.api#documentation": "

Optional element for UpdateCase to provide content to remove existing watchers from a case.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_UpdateCase.html#securityir-UpdateCase-request-watchersToDelete" + } + } + }, + "threatActorIpAddressesToAdd": { + "target": "com.amazonaws.securityir#ThreatActorIpList", + "traits": { + "smithy.api#documentation": "

Optional element for UpdateCase to provide content to add additional suspicious IP addresses related to a\n case.\n

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_UpdateCase.html#securityir-UpdateCase-request-threatActorIpAddressesToAdd" + } + } + }, + "threatActorIpAddressesToDelete": { + "target": "com.amazonaws.securityir#ThreatActorIpList", + "traits": { + "smithy.api#documentation": "

Optional element for UpdateCase to provide content to remove suspicious IP addresses from a case.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_UpdateCase.html#securityir-UpdateCase-request-threatActorIpAddressesToDelete" + } + } + }, + "impactedServicesToAdd": { + "target": "com.amazonaws.securityir#ImpactedServicesList", + "traits": { + "smithy.api#documentation": "

Optional element for UpdateCase to provide content to add services impacted.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_UpdateCase.html#securityir-UpdateCase-request-impactedServicesToAdd" + } + } + }, + "impactedServicesToDelete": { + "target": "com.amazonaws.securityir#ImpactedServicesList", + "traits": { + "smithy.api#documentation": "

Optional element for UpdateCase to provide content to remove services impacted.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_UpdateCase.html#securityir-UpdateCase-request-impactedServicesToDelete" + } + } + }, + "impactedAwsRegionsToAdd": { + "target": "com.amazonaws.securityir#ImpactedAwsRegionList", + "traits": { + "smithy.api#documentation": "

Optional element for UpdateCase to provide content to add regions impacted.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_UpdateCase.html#securityir-UpdateCase-request-impactedAwsRegionsToAdd" + } + } + }, + "impactedAwsRegionsToDelete": { + "target": "com.amazonaws.securityir#ImpactedAwsRegionList", + "traits": { + "smithy.api#documentation": "

Optional element for UpdateCase to provide content to remove regions impacted.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_UpdateCase.html#securityir-UpdateCase-request-impactedAwsRegionsToDelete" + } + } + }, + "impactedAccountsToAdd": { + "target": "com.amazonaws.securityir#ImpactedAccounts", + "traits": { + "smithy.api#documentation": "

Optional element for UpdateCase to provide content to add accounts impacted.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_UpdateCase.html#securityir-UpdateCase-request-impactedAccountsToAdd" + } + } + }, + "impactedAccountsToDelete": { + "target": "com.amazonaws.securityir#ImpactedAccounts", + "traits": { + "smithy.api#documentation": "

Optional element for UpdateCase to provide content to add accounts impacted.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_UpdateCase.html#securityir-UpdateCase-request-impactedAccountsToDelete" + } + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.securityir#UpdateCaseResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.securityir#UpdateCaseStatus": { + "type": "operation", + "input": { + "target": "com.amazonaws.securityir#UpdateCaseStatusRequest" + }, + "output": { + "target": "com.amazonaws.securityir#UpdateCaseStatusResponse" + }, + "traits": { + "aws.iam#iamAction": { + "name": "UpdateCaseStatus", + "documentation": "Grants permission to update a case status" + }, + "smithy.api#documentation": "

Grants permission to update the status for a designated cases. Options include Submitted |\n Detection and Analysis | Eradication, Containment and Recovery | Post-Incident Activities | Closed.\n

", + "smithy.api#examples": [ + { + "title": "Invoke UpdateCaseStatus", + "input": { + "caseId": "8403556009", + "caseStatus": "Post-incident Activities" + }, + "output": { + "caseStatus": "Post-incident Activities" + } + } + ], + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_UpdateCaseStatus.html" + }, + "smithy.api#http": { + "code": 201, + "method": "POST", + "uri": "/v1/cases/{caseId}/update-case-status" + } + } + }, + "com.amazonaws.securityir#UpdateCaseStatusRequest": { + "type": "structure", + "members": { + "caseId": { + "target": "com.amazonaws.securityir#CaseId", + "traits": { + "smithy.api#documentation": "

Required element for UpdateCaseStatus to identify the case to update.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_UpdateCaseStatus.html#securityir-UpdateCaseStatus-request-uri-caseId" + }, + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "caseStatus": { + "target": "com.amazonaws.securityir#SelfManagedCaseStatus", + "traits": { + "smithy.api#documentation": "

Required element for UpdateCaseStatus to identify the status for a case. Options include Submitted |\n Detection and Analysis | Containment, Eradication and Recovery | Post-incident Activities.\n

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_UpdateCaseStatus.html#securityir-UpdateCaseStatus-request-caseStatus" + }, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.securityir#UpdateCaseStatusResponse": { + "type": "structure", + "members": { + "caseStatus": { + "target": "com.amazonaws.securityir#SelfManagedCaseStatus", + "traits": { + "smithy.api#documentation": "

Response element for UpdateCaseStatus showing the newly configured status.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_UpdateCaseStatus.html#securityir-UpdateCaseStatus-response-caseStatus" + } + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.securityir#UpdateMembership": { + "type": "operation", + "input": { + "target": "com.amazonaws.securityir#UpdateMembershipRequest" + }, + "output": { + "target": "com.amazonaws.securityir#UpdateMembershipResponse" + }, + "traits": { + "aws.iam#iamAction": { + "name": "UpdateMembership", + "requiredActions": [ + "iam:CreateServiceLinkedRole" + ], + "documentation": "Grants permission to update memberships" + }, + "smithy.api#documentation": "

Grants access to UpdateMembership to change membership configuration.

", + "smithy.api#examples": [ + { + "title": "Invoke UpdateMembership", + "input": { + "membershipId": "m-abcd1234efgh", + "membershipName": "New membership name", + "incidentResponseTeam": [ + { + "name": "Bob Jones", + "jobTitle": "Security Responder", + "email": "bob.jones@gmail.com" + }, + { + "email": "alice@example.com", + "name": "Alice", + "jobTitle": "CEO" + } + ], + "optInFeatures": [ + { + "featureName": "Triage", + "isEnabled": true + } + ] + }, + "output": {} + } + ], + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_UpdateMembership.html" + }, + "smithy.api#http": { + "code": 200, + "method": "PUT", + "uri": "/v1/membership/{membershipId}/update-membership" + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.securityir#UpdateMembershipRequest": { + "type": "structure", + "members": { + "membershipId": { + "target": "com.amazonaws.securityir#MembershipId", + "traits": { + "smithy.api#documentation": "

Required element for UpdateMembership to identify the membership to update.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_UpdateMembership.html#securityir-UpdateMembership-request-uri-membershipId" + }, + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "membershipName": { + "target": "com.amazonaws.securityir#MembershipName", + "traits": { + "smithy.api#documentation": "

Optional element for UpdateMembership to update the membership name.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_UpdateMembership.html#securityir-UpdateMembership-request-membershipName" + } + } + }, + "incidentResponseTeam": { + "target": "com.amazonaws.securityir#IncidentResponseTeam", + "traits": { + "smithy.api#documentation": "

Optional element for UpdateMembership to update the membership name.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_UpdateMembership.html#securityir-UpdateMembership-request-incidentResponseTeam" + } + } + }, + "optInFeatures": { + "target": "com.amazonaws.securityir#OptInFeatures", + "traits": { + "smithy.api#documentation": "

Optional element for UpdateMembership to enable or disable opt-in features for the service.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_UpdateMembership.html#securityir-UpdateMembership-request-optInFeatures" + } + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.securityir#UpdateMembershipResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.securityir#UpdateResolverType": { + "type": "operation", + "input": { + "target": "com.amazonaws.securityir#UpdateResolverTypeRequest" + }, + "output": { + "target": "com.amazonaws.securityir#UpdateResolverTypeResponse" + }, + "traits": { + "aws.iam#iamAction": { + "name": "UpdateResolverType", + "documentation": "Grants permission to update case resolver type" + }, + "smithy.api#documentation": "

Grants permission to update the resolver type for a case.

\n \n

This is a one-way action and cannot be reversed.

\n
\n

Options include self-supported > AWS-supported.

", + "smithy.api#examples": [ + { + "title": "Invoke UpdateResolverType", + "input": { + "caseId": "8403556009", + "resolverType": "AWS" + }, + "output": { + "caseStatus": "Detection and Analysis", + "resolverType": "AWS", + "caseId": "8403556009" + } + } + ], + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_UpdateResolverType.html" + }, + "smithy.api#http": { + "code": 200, + "method": "POST", + "uri": "/v1/cases/{caseId}/update-resolver-type" + } + } + }, + "com.amazonaws.securityir#UpdateResolverTypeRequest": { + "type": "structure", + "members": { + "caseId": { + "target": "com.amazonaws.securityir#CaseId", + "traits": { + "smithy.api#documentation": "

Required element for UpdateResolverType to identify the case to update.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_UpdateResolverType.html#securityir-UpdateResolverType-request-uri-caseId" + }, + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "resolverType": { + "target": "com.amazonaws.securityir#ResolverType", + "traits": { + "smithy.api#documentation": "

Required element for UpdateResolverType to identify the new resolver.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_UpdateResolverType.html#securityir-UpdateResolverType-request-resolverType" + }, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.securityir#UpdateResolverTypeResponse": { + "type": "structure", + "members": { + "caseId": { + "target": "com.amazonaws.securityir#CaseId", + "traits": { + "smithy.api#documentation": "

Response element for UpdateResolver identifying the case ID being updated.

", + "smithy.api#externalDocumentation": { + "API Response": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_UpdateResolverType.html#securityir-UpdateResolverType-response-caseId" + }, + "smithy.api#required": {} + } + }, + "caseStatus": { + "target": "com.amazonaws.securityir#CaseStatus", + "traits": { + "smithy.api#documentation": "

Response element for UpdateResolver identifying the current status of the case.

", + "smithy.api#externalDocumentation": { + "API Response": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_UpdateResolverType.html#securityir-UpdateResolverType-response-caseStatus" + } + } + }, + "resolverType": { + "target": "com.amazonaws.securityir#ResolverType", + "traits": { + "smithy.api#documentation": "

Response element for UpdateResolver identifying the current resolver of the case.

", + "smithy.api#externalDocumentation": { + "API Response": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_UpdateResolverType.html#securityir-UpdateResolverType-response-resolverType" + } + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.securityir#Url": { + "type": "string", + "traits": { + "smithy.api#pattern": "^https?://(?:www.)?[a-zA-Z0-9@:._+~#=-]{2,256}\\.[a-z]{2,6}\\b(?:[-a-zA-Z0-9@:%_+.~#?&/=]{0,2048})$", + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.securityir#UserAgent": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 500 + } + } + }, + "com.amazonaws.securityir#ValidationException": { + "type": "structure", + "members": { + "message": { + "target": "smithy.api#String", + "traits": { + "smithy.api#required": {} + } + }, + "reason": { + "target": "com.amazonaws.securityir#ValidationExceptionReason", + "traits": { + "smithy.api#documentation": "Element that provides the reason the request failed validation.", + "smithy.api#required": {} + } + }, + "fieldList": { + "target": "com.amazonaws.securityir#ValidationExceptionFieldList", + "traits": { + "smithy.api#documentation": "Element that provides the list of field(s) that caused the error, if applicable." + } + } + }, + "traits": { + "smithy.api#documentation": "

", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.securityir#ValidationExceptionField": { + "type": "structure", + "members": { + "name": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

", + "smithy.api#required": {} + } + }, + "message": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

" + } + }, + "com.amazonaws.securityir#ValidationExceptionFieldList": { + "type": "list", + "member": { + "target": "com.amazonaws.securityir#ValidationExceptionField" + } + }, + "com.amazonaws.securityir#ValidationExceptionReason": { + "type": "enum", + "members": { + "UNKNOWN_OPERATION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "UNKNOWN_OPERATION" + } + }, + "CANNOT_PARSE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CANNOT_PARSE" + } + }, + "FIELD_VALIDATION_FAILED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FIELD_VALIDATION_FAILED" + } + }, + "OTHER": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "OTHER" + } + } + } + }, + "com.amazonaws.securityir#Watcher": { + "type": "structure", + "members": { + "email": { + "target": "com.amazonaws.securityir#EmailAddress", + "traits": { + "smithy.api#documentation": "

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_Watcher.html#securityir-Type-Watcher-email" + }, + "smithy.api#required": {} + } + }, + "name": { + "target": "com.amazonaws.securityir#PersonName", + "traits": { + "smithy.api#documentation": "

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_Watcher.html#securityir-Type-Watcher-name" + } + } + }, + "jobTitle": { + "target": "com.amazonaws.securityir#JobTitle", + "traits": { + "smithy.api#documentation": "

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_Watcher.html#securityir-Type-Watcher-jobTitle" + } + } + } + }, + "traits": { + "smithy.api#documentation": "

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/security-ir/latest/APIReference/API_Watcher.html" + } + } + }, + "com.amazonaws.securityir#Watchers": { + "type": "list", + "member": { + "target": "com.amazonaws.securityir#Watcher" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 30 + }, + "smithy.api#uniqueItems": {} + } + } + } +} \ No newline at end of file diff --git a/codegen/sdk/aws-models/securityhub.json b/codegen/sdk/aws-models/securityhub.json index ea5821d1a02..86c6b6c2b4e 100644 --- a/codegen/sdk/aws-models/securityhub.json +++ b/codegen/sdk/aws-models/securityhub.json @@ -411,6 +411,131 @@ "target": "com.amazonaws.securityhub#ActionTarget" } }, + "com.amazonaws.securityhub#Actor": { + "type": "structure", + "members": { + "Id": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

\n The ID of the threat actor.\n

" + } + }, + "User": { + "target": "com.amazonaws.securityhub#ActorUser", + "traits": { + "smithy.api#documentation": "

\n Contains information about the user credentials used by the threat actor.

" + } + }, + "Session": { + "target": "com.amazonaws.securityhub#ActorSession", + "traits": { + "smithy.api#documentation": "

\n Contains information about the user session where the activity initiated.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

\n Information about the threat actor identified in an Amazon GuardDuty Extended Threat Detection attack sequence. GuardDuty generates an attack \n sequence finding when multiple events align to a potentially suspicious activity. To receive GuardDuty attack sequence findings in Security Hub, you \n\t\t\t\tmust have GuardDuty and GuardDuty S3 Protection enabled. For more information, see GuardDuty Extended Threat Detection in the Amazon GuardDuty User Guide.

" + } + }, + "com.amazonaws.securityhub#ActorSession": { + "type": "structure", + "members": { + "Uid": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

\n Unique identifier of the session.\n

" + } + }, + "MfaStatus": { + "target": "com.amazonaws.securityhub#ActorSessionMfaStatus", + "traits": { + "smithy.api#documentation": "

\n Indicates whether multi-factor authentication (MFA) was used for authentication during the session.

\n

In CloudTrail, you can find this value as userIdentity.sessionContext.attributes.mfaAuthenticated.

" + } + }, + "CreatedTime": { + "target": "com.amazonaws.securityhub#Long", + "traits": { + "smithy.api#documentation": "

The timestamp for when the session was created. \n

\n

In CloudTrail, you can find this value as userIdentity.sessionContext.attributes.creationDate.

" + } + }, + "Issuer": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

\n The issuer of the session. \n

\n

In CloudTrail, you can find this value as userIdentity.sessionContext.sessionIssuer.arn.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

\n Contains information about the authenticated session used by the threat actor identified in an Amazon GuardDuty Extended Threat Detection attack sequence. GuardDuty generates an attack \n sequence finding when multiple events align to a potentially suspicious activity. To receive GuardDuty attack sequence findings in Security Hub, you \n\t\t\t\tmust have GuardDuty and GuardDuty S3 Protection enabled. For more information, see GuardDuty Extended Threat Detection in the Amazon GuardDuty User Guide.

" + } + }, + "com.amazonaws.securityhub#ActorSessionMfaStatus": { + "type": "enum", + "members": { + "ENABLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ENABLED" + } + }, + "DISABLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DISABLED" + } + } + } + }, + "com.amazonaws.securityhub#ActorUser": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

\n The name of the threat actor.\n

" + } + }, + "Uid": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

\n The unique identifier of the threat actor.\n

" + } + }, + "Type": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

\n The type of user.\n

" + } + }, + "CredentialUid": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

\n Unique identifier of the threat actor’s user credentials.\n

" + } + }, + "Account": { + "target": "com.amazonaws.securityhub#UserAccount", + "traits": { + "smithy.api#documentation": "

\n The account of the threat actor.\n

" + } + } + }, + "traits": { + "smithy.api#documentation": "

\n Contains information about the credentials used by the threat actor identified in an Amazon GuardDuty Extended Threat Detection attack sequence. GuardDuty generates an attack \n sequence finding when multiple events align to a potentially suspicious activity. To receive GuardDuty attack sequence findings in Security Hub, you \n\t\t\t\tmust have GuardDuty and GuardDuty S3 Protection enabled. For more information, see GuardDuty Extended Threat Detection in the Amazon GuardDuty User Guide.

" + } + }, + "com.amazonaws.securityhub#ActorsList": { + "type": "list", + "member": { + "target": "com.amazonaws.securityhub#Actor" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 10 + } + } + }, "com.amazonaws.securityhub#Adjustment": { "type": "structure", "members": { @@ -18488,6 +18613,12 @@ "traits": { "smithy.api#documentation": "

The name of the Amazon Web Services account from which a finding was generated.\n

\n

Length Constraints: Minimum length of 1. Maximum length of 50.\n

" } + }, + "Detection": { + "target": "com.amazonaws.securityhub#Detection", + "traits": { + "smithy.api#documentation": "

\n Provides details about an Amazon GuardDuty Extended Threat Detection attack sequence. GuardDuty generates an attack \n sequence finding when multiple events align to a potentially suspicious activity. To receive GuardDuty attack sequence findings in Security Hub, you \n\t\t\t\tmust have GuardDuty and GuardDuty S3 Protection enabled. For more information, see GuardDuty Extended Threat Detection in the Amazon GuardDuty User Guide.\n

" + } } }, "traits": { @@ -22458,6 +22589,23 @@ "target": "com.amazonaws.securityhub#ConfigurationPolicySummary" } }, + "com.amazonaws.securityhub#ConnectionDirection": { + "type": "enum", + "members": { + "INBOUND": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INBOUND" + } + }, + "OUTBOUND": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "OUTBOUND" + } + } + } + }, "com.amazonaws.securityhub#ContainerDetails": { "type": "structure", "members": { @@ -24667,6 +24815,20 @@ "smithy.api#output": {} } }, + "com.amazonaws.securityhub#Detection": { + "type": "structure", + "members": { + "Sequence": { + "target": "com.amazonaws.securityhub#Sequence", + "traits": { + "smithy.api#documentation": "

\n Provides details about an attack sequence.\n

" + } + } + }, + "traits": { + "smithy.api#documentation": "

\n A top-level object field that provides details about an Amazon GuardDuty Extended Threat Detection attack sequence. GuardDuty generates an attack \n sequence finding when multiple events align to a potentially suspicious activity. To receive GuardDuty attack sequence findings in Security Hub, you \n\t\t\t\tmust have GuardDuty and GuardDuty S3 Protection enabled. For more information, see GuardDuty Extended Threat Detection in the Amazon GuardDuty User Guide.

" + } + }, "com.amazonaws.securityhub#DisableImportFindingsForProduct": { "type": "operation", "input": { @@ -27147,6 +27309,50 @@ "target": "com.amazonaws.securityhub#ImportFindingsError" } }, + "com.amazonaws.securityhub#Indicator": { + "type": "structure", + "members": { + "Key": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

\n The name of the indicator that’s present in the attack sequence finding.\n

" + } + }, + "Values": { + "target": "com.amazonaws.securityhub#NonEmptyStringList", + "traits": { + "smithy.api#documentation": "

Values associated with each indicator key. For example, if the indicator key is\n SUSPICIOUS_NETWORK, then the value will be the name of the network. If\n the indicator key is ATTACK_TACTIC, then the value will be one of the MITRE tactics.

" + } + }, + "Title": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

\n The title describing the indicator.\n

" + } + }, + "Type": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

\n The type of indicator.\n

" + } + } + }, + "traits": { + "smithy.api#documentation": "

\n Contains information about the indicators observed in an Amazon GuardDuty Extended Threat Detection attack sequence. \n Indicators include a set of signals, which can be API activities or findings that GuardDuty uses to detect an attack sequence finding. GuardDuty \n generates an attack sequence finding when multiple signals align to a potentially suspicious activity. To receive GuardDuty attack sequence findings in Security Hub, you \n must have GuardDuty and GuardDuty S3 Protection enabled. For more information, see GuardDuty Extended Threat Detection in the Amazon GuardDuty User Guide.\n

" + } + }, + "com.amazonaws.securityhub#IndicatorsList": { + "type": "list", + "member": { + "target": "com.amazonaws.securityhub#Indicator" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 100 + } + } + }, "com.amazonaws.securityhub#Insight": { "type": "structure", "members": { @@ -29094,6 +29300,40 @@ "smithy.api#documentation": "

The details of network-related information about a finding.

" } }, + "com.amazonaws.securityhub#NetworkAutonomousSystem": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

\n The name associated with the AS.\n

" + } + }, + "Number": { + "target": "com.amazonaws.securityhub#Integer", + "traits": { + "smithy.api#documentation": "

\n The unique number that identifies the AS. \n

" + } + } + }, + "traits": { + "smithy.api#documentation": "

\n Contains information about the Autonomous System (AS) of the network \n endpoints involved in an Amazon GuardDuty Extended Threat Detection attack sequence. GuardDuty generates an attack \n sequence finding when multiple events align to a potentially suspicious activity. To receive GuardDuty attack sequence findings in Security Hub, you \n\t\t\t\tmust have GuardDuty and GuardDuty S3 Protection enabled. For more information, see GuardDuty Extended Threat Detection in the Amazon GuardDuty User Guide.\n

" + } + }, + "com.amazonaws.securityhub#NetworkConnection": { + "type": "structure", + "members": { + "Direction": { + "target": "com.amazonaws.securityhub#ConnectionDirection", + "traits": { + "smithy.api#documentation": "

\n The direction in which the network traffic is flowing.\n

" + } + } + }, + "traits": { + "smithy.api#documentation": "

\n Contains information about the network connection involved in an Amazon GuardDuty Extended Threat Detection attack sequence. GuardDuty generates an attack \n sequence finding when multiple events align to a potentially suspicious activity. To receive GuardDuty attack sequence findings in Security Hub, you \n\t\t\t\tmust have GuardDuty and GuardDuty S3 Protection enabled. For more information, see GuardDuty Extended Threat Detection in the Amazon GuardDuty User Guide.\n

" + } + }, "com.amazonaws.securityhub#NetworkConnectionAction": { "type": "structure", "members": { @@ -29155,6 +29395,100 @@ } } }, + "com.amazonaws.securityhub#NetworkEndpoint": { + "type": "structure", + "members": { + "Id": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

\n The identifier of the network endpoint involved in the attack sequence. \n

" + } + }, + "Ip": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

\n The IP address used in the network endpoint.\n

" + } + }, + "Domain": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

\n The domain information for the network endpoint.\n

" + } + }, + "Port": { + "target": "com.amazonaws.securityhub#Integer", + "traits": { + "smithy.api#documentation": "

\n The port number associated with the network endpoint.\n

" + } + }, + "Location": { + "target": "com.amazonaws.securityhub#NetworkGeoLocation", + "traits": { + "smithy.api#documentation": "

\n Information about the location of the network endpoint.\n

" + } + }, + "AutonomousSystem": { + "target": "com.amazonaws.securityhub#NetworkAutonomousSystem", + "traits": { + "smithy.api#documentation": "

\n The Autonomous System Number (ASN) of the network endpoint.\n

" + } + }, + "Connection": { + "target": "com.amazonaws.securityhub#NetworkConnection", + "traits": { + "smithy.api#documentation": "

\n Information about the network connection.\n

" + } + } + }, + "traits": { + "smithy.api#documentation": "

\n Contains information about network endpoints involved in an Amazon GuardDuty Extended Threat Detection attack sequence. GuardDuty generates an attack \n sequence finding when multiple events align to a potentially suspicious activity. To receive GuardDuty attack sequence findings in Security Hub, you \n\t\t\t\tmust have GuardDuty and GuardDuty S3 Protection enabled. For more information, see GuardDuty Extended Threat Detection in the Amazon GuardDuty User Guide.\n

\n

This field can provide information about the network endpoints associated with the resource in the attack sequence finding, \nor about a specific network endpoint used for the attack.

" + } + }, + "com.amazonaws.securityhub#NetworkEndpointsList": { + "type": "list", + "member": { + "target": "com.amazonaws.securityhub#NetworkEndpoint" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 10 + } + } + }, + "com.amazonaws.securityhub#NetworkGeoLocation": { + "type": "structure", + "members": { + "City": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

\n The name of the city.\n

" + } + }, + "Country": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

\n The name of the country.\n

" + } + }, + "Lat": { + "target": "com.amazonaws.securityhub#Double", + "traits": { + "smithy.api#documentation": "

\n The latitude information of the endpoint location.\n

" + } + }, + "Lon": { + "target": "com.amazonaws.securityhub#Double", + "traits": { + "smithy.api#documentation": "

\n The longitude information of the endpoint location.\n

" + } + } + }, + "traits": { + "smithy.api#documentation": "

\n Contains information about the location of a network endpoint involved in an Amazon GuardDuty Extended Threat Detection attack sequence. \nGuardDuty generates an attack \n sequence finding when multiple events align to a potentially suspicious activity. To receive GuardDuty attack sequence findings in Security Hub, you \n\t\t\t\tmust have GuardDuty and GuardDuty S3 Protection enabled. For more information, see GuardDuty Extended Threat Detection in the Amazon GuardDuty User Guide.\n

" + } + }, "com.amazonaws.securityhub#NetworkHeader": { "type": "structure", "members": { @@ -33111,6 +33445,44 @@ "target": "com.amazonaws.securityhub#SensitiveDataResult" } }, + "com.amazonaws.securityhub#Sequence": { + "type": "structure", + "members": { + "Uid": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

\n Unique identifier of the attack sequence.\n

" + } + }, + "Actors": { + "target": "com.amazonaws.securityhub#ActorsList", + "traits": { + "smithy.api#documentation": "

\n Provides information about the actors involved in the attack sequence.\n

" + } + }, + "Endpoints": { + "target": "com.amazonaws.securityhub#NetworkEndpointsList", + "traits": { + "smithy.api#documentation": "

\n Contains information about the network endpoints that were used in the attack sequence.\n

" + } + }, + "Signals": { + "target": "com.amazonaws.securityhub#SignalsList", + "traits": { + "smithy.api#documentation": "

\n Contains information about the signals involved in the attack sequence.\n

" + } + }, + "SequenceIndicators": { + "target": "com.amazonaws.securityhub#IndicatorsList", + "traits": { + "smithy.api#documentation": "

\n Contains information about the indicators observed in the attack sequence. The values for \n SignalIndicators are a subset of the values for SequenceIndicators, but the values for \n these fields don't always match 1:1.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

\n Contains information about an Amazon GuardDuty Extended Threat Detection attack sequence finding. GuardDuty generates an attack \n sequence finding when multiple events align to a potentially suspicious activity. To receive GuardDuty attack sequence findings in Security Hub, you \n\t\t\t\tmust have GuardDuty and GuardDuty S3 Protection enabled. For more information, see GuardDuty Extended Threat Detection in the Amazon GuardDuty User Guide.\n

" + } + }, "com.amazonaws.securityhub#Severity": { "type": "structure", "members": { @@ -33233,6 +33605,116 @@ "smithy.api#documentation": "

Updates to the severity information for a finding.

" } }, + "com.amazonaws.securityhub#Signal": { + "type": "structure", + "members": { + "Type": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

\n The type of the signal used to identify an attack sequence.\n

\n

Signals can be GuardDuty findings or activities observed in data sources that GuardDuty monitors. \n For\n more information, see \n GuardDuty foundational data sources in the\n Amazon GuardDuty User Guide.

\n

A signal type can be one of the following values. Here are the related descriptions:

\n
    \n
  • \n

    \n FINDING - Individually generated GuardDuty finding.

    \n
  • \n
  • \n

    \n CLOUD_TRAIL - Activity observed from CloudTrail logs

    \n
  • \n
  • \n

    \n S3_DATA_EVENTS - Activity observed from CloudTrail data events for Amazon Simple Storage Service (S3). \n Activities associated\n with this type will show up only when\n you have enabled GuardDuty S3 Protection feature in your account. For more information about \n S3 Protection and the\n steps to enable it, see S3 Protection in the\n Amazon GuardDuty User Guide.

    \n
  • \n
" + } + }, + "Id": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

\n The identifier of the signal.\n

" + } + }, + "Title": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

\n The description of the GuardDuty finding.\n

" + } + }, + "ProductArn": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

\n The Amazon Resource Name (ARN) of the product that generated the signal.\n

" + } + }, + "ResourceIds": { + "target": "com.amazonaws.securityhub#NonEmptyStringList", + "traits": { + "smithy.api#documentation": "

\n The ARN or ID of the Amazon Web Services resource associated with the signal.\n

" + } + }, + "SignalIndicators": { + "target": "com.amazonaws.securityhub#IndicatorsList", + "traits": { + "smithy.api#documentation": "

\n Contains information about the indicators associated with the signals in this attack sequence finding. The values for \n SignalIndicators are a subset of the values for SequenceIndicators, but the values for \n these fields don't always match 1:1.\n

" + } + }, + "Name": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

\n The name of the GuardDuty signal. For example, when signal type is FINDING, \n the signal name is the name of the finding.\n

" + } + }, + "CreatedAt": { + "target": "com.amazonaws.securityhub#Long", + "traits": { + "smithy.api#documentation": "

\n The timestamp when the first finding or activity related to this signal was observed.\n

" + } + }, + "UpdatedAt": { + "target": "com.amazonaws.securityhub#Long", + "traits": { + "smithy.api#documentation": "

\n The timestamp when this signal was last observed.\n

" + } + }, + "FirstSeenAt": { + "target": "com.amazonaws.securityhub#Long", + "traits": { + "smithy.api#documentation": "

\n The timestamp when the first finding or activity related to this signal was observed.\n

" + } + }, + "LastSeenAt": { + "target": "com.amazonaws.securityhub#Long", + "traits": { + "smithy.api#documentation": "

\n The timestamp when the last finding or activity related to this signal was observed.\n

" + } + }, + "Severity": { + "target": "com.amazonaws.securityhub#Double", + "traits": { + "smithy.api#documentation": "

The severity associated with the signal. For more information about severity, see \n Findings severity levels\n in the Amazon GuardDuty User Guide.

" + } + }, + "Count": { + "target": "com.amazonaws.securityhub#Integer", + "traits": { + "smithy.api#documentation": "

\n The number of times this signal was observed.\n

" + } + }, + "ActorIds": { + "target": "com.amazonaws.securityhub#NonEmptyStringList", + "traits": { + "smithy.api#documentation": "

\n The IDs of the threat actors involved in the signal.\n

" + } + }, + "EndpointIds": { + "target": "com.amazonaws.securityhub#NonEmptyStringList", + "traits": { + "smithy.api#documentation": "

Information about the endpoint IDs associated with this signal.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

\n Contains information about the signals involved in an Amazon GuardDuty Extended Threat Detection attack sequence. An attack sequence is a \ntype of threat detected by GuardDuty. GuardDuty generates an attack sequence finding when multiple events, or \nsignals, align to a potentially suspicious activity. When GuardDuty and Security Hub are integrated, GuardDuty \nsends attack sequence findings to Security Hub.

\n

A signal can be an API activity or a finding that GuardDuty uses to detect an attack sequence finding.

" + } + }, + "com.amazonaws.securityhub#SignalsList": { + "type": "list", + "member": { + "target": "com.amazonaws.securityhub#Signal" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 100 + } + } + }, "com.amazonaws.securityhub#SizeBytes": { "type": "long" }, @@ -34158,7 +34640,7 @@ "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

A code that represents a reason for the control status. For the list of status reason\n codes and their meanings, see Standards-related information in the ASFF in the\n Security Hub User Guide.

", + "smithy.api#documentation": "

A code that represents a reason for the control status. For the list of status reason\n codes and their meanings, see Compliance details for control findings in the\n Security Hub User Guide.

", "smithy.api#required": {} } }, @@ -35974,6 +36456,26 @@ } } }, + "com.amazonaws.securityhub#UserAccount": { + "type": "structure", + "members": { + "Uid": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

\n The unique identifier of the user account involved in the attack sequence.\n

" + } + }, + "Name": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

\n The name of the user account involved in the attack sequence.\n

" + } + } + }, + "traits": { + "smithy.api#documentation": "

\n Provides Amazon Web Services account information of the user involved in an Amazon GuardDuty Extended Threat Detection attack sequence. GuardDuty generates an attack \n sequence finding when multiple events align to a potentially suspicious activity. To receive GuardDuty attack sequence findings in Security Hub, you \n\t\t\t\tmust have GuardDuty and GuardDuty S3 Protection enabled. For more information, see GuardDuty Extended Threat Detection in the Amazon GuardDuty User Guide. \n

" + } + }, "com.amazonaws.securityhub#VerificationState": { "type": "enum", "members": { diff --git a/codegen/sdk/aws-models/socialmessaging.json b/codegen/sdk/aws-models/socialmessaging.json index ea5d80e8f27..b1ec4bc5980 100644 --- a/codegen/sdk/aws-models/socialmessaging.json +++ b/codegen/sdk/aws-models/socialmessaging.json @@ -664,6 +664,12 @@ "traits": { "smithy.api#documentation": "

The details for unregistered WhatsApp phone numbers.

" } + }, + "wabaId": { + "target": "com.amazonaws.socialmessaging#LinkedWhatsAppBusinessAccountId", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the WhatsApp Business Account ID.

" + } } }, "traits": { @@ -1099,6 +1105,11 @@ } ], "traits": { + "aws.iam#iamAction": { + "requiredActions": [ + "iam:PassRole" + ] + }, "smithy.api#documentation": "

Add an event destination to log event data from WhatsApp for a WhatsApp Business Account (WABA). A WABA can only have one event destination at a time. All resources associated with the WABA use the same event destination.

", "smithy.api#http": { "method": "PUT", @@ -1168,6 +1179,12 @@ "smithy.api#httpError": 404 } }, + "com.amazonaws.socialmessaging#RoleArn": { + "type": "string", + "traits": { + "smithy.api#pattern": "^arn:aws:iam::\\d{12}:role\\/[a-zA-Z0-9+=,.@\\-_]+$" + } + }, "com.amazonaws.socialmessaging#S3File": { "type": "structure", "members": { @@ -2387,6 +2404,12 @@ "smithy.api#documentation": "

The ARN of the event destination.

", "smithy.api#required": {} } + }, + "roleArn": { + "target": "com.amazonaws.socialmessaging#RoleArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of an Identity and Access Management role\n that is able to import phone numbers and write events.

" + } } }, "traits": { diff --git a/codegen/sdk/aws-models/transfer.json b/codegen/sdk/aws-models/transfer.json index d14a5802192..fec686b645b 100644 --- a/codegen/sdk/aws-models/transfer.json +++ b/codegen/sdk/aws-models/transfer.json @@ -1074,7 +1074,7 @@ "IdentityProviderDetails": { "target": "com.amazonaws.transfer#IdentityProviderDetails", "traits": { - "smithy.api#documentation": "

Required when IdentityProviderType is set to\n AWS_DIRECTORY_SERVICE, Amazon Web Services_LAMBDA or API_GATEWAY. Accepts an array containing\n all of the information required to use a directory in AWS_DIRECTORY_SERVICE or\n invoke a customer-supplied authentication API, including the API Gateway URL. Not required\n when IdentityProviderType is set to SERVICE_MANAGED.

" + "smithy.api#documentation": "

Required when IdentityProviderType is set to\n AWS_DIRECTORY_SERVICE, Amazon Web Services_LAMBDA or\n API_GATEWAY. Accepts an array containing all of the information required to use\n a directory in AWS_DIRECTORY_SERVICE or invoke a customer-supplied authentication\n API, including the API Gateway URL. Cannot be specified when IdentityProviderType\n is set to SERVICE_MANAGED.

" } }, "IdentityProviderType": { @@ -1296,6 +1296,94 @@ "smithy.api#output": {} } }, + "com.amazonaws.transfer#CreateWebApp": { + "type": "operation", + "input": { + "target": "com.amazonaws.transfer#CreateWebAppRequest" + }, + "output": { + "target": "com.amazonaws.transfer#CreateWebAppResponse" + }, + "errors": [ + { + "target": "com.amazonaws.transfer#AccessDeniedException" + }, + { + "target": "com.amazonaws.transfer#InternalServiceError" + }, + { + "target": "com.amazonaws.transfer#InvalidRequestException" + }, + { + "target": "com.amazonaws.transfer#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.transfer#ThrottlingException" + } + ], + "traits": { + "aws.iam#iamAction": { + "requiredActions": [ + "iam:PassRole", + "transfer:CreateWebApp", + "transfer:TagResource" + ] + }, + "smithy.api#documentation": "

Creates a web app based on specified parameters, and returns the ID for the new web app.

", + "smithy.api#http": { + "method": "POST", + "uri": "/createWebApp" + } + } + }, + "com.amazonaws.transfer#CreateWebAppRequest": { + "type": "structure", + "members": { + "IdentityProviderDetails": { + "target": "com.amazonaws.transfer#WebAppIdentityProviderDetails", + "traits": { + "smithy.api#documentation": "

You can provide a structure that contains the details for the identity provider to use with your web app.

", + "smithy.api#required": {} + } + }, + "AccessEndpoint": { + "target": "com.amazonaws.transfer#WebAppAccessEndpoint", + "traits": { + "smithy.api#documentation": "

The AccessEndpoint is the URL that you provide to your users for them to interact with the Transfer Family web app. You can specify a custom URL or use the default value.

" + } + }, + "WebAppUnits": { + "target": "com.amazonaws.transfer#WebAppUnits", + "traits": { + "smithy.api#documentation": "

A union that contains the value for number of concurrent connections or the user sessions on your web app.

" + } + }, + "Tags": { + "target": "com.amazonaws.transfer#Tags", + "traits": { + "smithy.api#documentation": "

Key-value pairs that can be used to group and search for web apps.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.transfer#CreateWebAppResponse": { + "type": "structure", + "members": { + "WebAppId": { + "target": "com.amazonaws.transfer#WebAppId", + "traits": { + "smithy.api#documentation": "

Returns a unique identifier for the web app.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.transfer#CreateWorkflow": { "type": "operation", "input": { @@ -1958,6 +2046,122 @@ "smithy.api#input": {} } }, + "com.amazonaws.transfer#DeleteWebApp": { + "type": "operation", + "input": { + "target": "com.amazonaws.transfer#DeleteWebAppRequest" + }, + "output": { + "target": "smithy.api#Unit" + }, + "errors": [ + { + "target": "com.amazonaws.transfer#AccessDeniedException" + }, + { + "target": "com.amazonaws.transfer#InternalServiceError" + }, + { + "target": "com.amazonaws.transfer#InvalidRequestException" + }, + { + "target": "com.amazonaws.transfer#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.transfer#ThrottlingException" + } + ], + "traits": { + "aws.iam#iamAction": { + "requiredActions": [ + "transfer:DeleteWebApp" + ] + }, + "smithy.api#documentation": "

Deletes the specified web app.

", + "smithy.api#http": { + "method": "POST", + "uri": "/deleteWebApp" + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.transfer#DeleteWebAppCustomization": { + "type": "operation", + "input": { + "target": "com.amazonaws.transfer#DeleteWebAppCustomizationRequest" + }, + "output": { + "target": "smithy.api#Unit" + }, + "errors": [ + { + "target": "com.amazonaws.transfer#AccessDeniedException" + }, + { + "target": "com.amazonaws.transfer#ConflictException" + }, + { + "target": "com.amazonaws.transfer#InternalServiceError" + }, + { + "target": "com.amazonaws.transfer#InvalidRequestException" + }, + { + "target": "com.amazonaws.transfer#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.transfer#ThrottlingException" + } + ], + "traits": { + "aws.iam#iamAction": { + "requiredActions": [ + "transfer:DeleteWebAppCustomization" + ] + }, + "smithy.api#documentation": "

Deletes the WebAppCustomization object that corresponds to the web app ID specified.

", + "smithy.api#http": { + "method": "POST", + "uri": "/deleteWebAppCustomization" + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.transfer#DeleteWebAppCustomizationRequest": { + "type": "structure", + "members": { + "WebAppId": { + "target": "com.amazonaws.transfer#WebAppId", + "traits": { + "smithy.api#documentation": "

Provide the unique identifier for the web app that contains the customizations that you are deleting.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {}, + "smithy.api#references": [ + { + "resource": "com.amazonaws.transfer#WebAppResource" + } + ] + } + }, + "com.amazonaws.transfer#DeleteWebAppRequest": { + "type": "structure", + "members": { + "WebAppId": { + "target": "com.amazonaws.transfer#WebAppId", + "traits": { + "smithy.api#documentation": "

Provide the unique identifier for the web app that you are deleting.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, "com.amazonaws.transfer#DeleteWorkflow": { "type": "operation", "input": { @@ -2700,15 +2904,18 @@ "smithy.api#output": {} } }, - "com.amazonaws.transfer#DescribeWorkflow": { + "com.amazonaws.transfer#DescribeWebApp": { "type": "operation", "input": { - "target": "com.amazonaws.transfer#DescribeWorkflowRequest" + "target": "com.amazonaws.transfer#DescribeWebAppRequest" }, "output": { - "target": "com.amazonaws.transfer#DescribeWorkflowResponse" + "target": "com.amazonaws.transfer#DescribeWebAppResponse" }, "errors": [ + { + "target": "com.amazonaws.transfer#AccessDeniedException" + }, { "target": "com.amazonaws.transfer#InternalServiceError" }, @@ -2719,37 +2926,90 @@ "target": "com.amazonaws.transfer#ResourceNotFoundException" }, { - "target": "com.amazonaws.transfer#ServiceUnavailableException" + "target": "com.amazonaws.transfer#ThrottlingException" } ], "traits": { - "smithy.api#documentation": "

Describes the specified workflow.

", + "aws.iam#iamAction": { + "requiredActions": [ + "transfer:DescribeWebApp" + ] + }, + "smithy.api#documentation": "

Describes the web app that's identified by WebAppId.

", + "smithy.api#http": { + "method": "POST", + "uri": "/describeWebApp" + }, "smithy.api#readonly": {} } }, - "com.amazonaws.transfer#DescribeWorkflowRequest": { + "com.amazonaws.transfer#DescribeWebAppCustomization": { + "type": "operation", + "input": { + "target": "com.amazonaws.transfer#DescribeWebAppCustomizationRequest" + }, + "output": { + "target": "com.amazonaws.transfer#DescribeWebAppCustomizationResponse" + }, + "errors": [ + { + "target": "com.amazonaws.transfer#AccessDeniedException" + }, + { + "target": "com.amazonaws.transfer#InternalServiceError" + }, + { + "target": "com.amazonaws.transfer#InvalidRequestException" + }, + { + "target": "com.amazonaws.transfer#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.transfer#ThrottlingException" + } + ], + "traits": { + "aws.iam#iamAction": { + "requiredActions": [ + "transfer:DescribeWebAppCustomization" + ] + }, + "smithy.api#documentation": "

Describes the web app customization object that's identified by WebAppId.

", + "smithy.api#http": { + "method": "POST", + "uri": "/describeWebAppCustomization" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.transfer#DescribeWebAppCustomizationRequest": { "type": "structure", "members": { - "WorkflowId": { - "target": "com.amazonaws.transfer#WorkflowId", + "WebAppId": { + "target": "com.amazonaws.transfer#WebAppId", "traits": { - "smithy.api#documentation": "

A unique identifier for the workflow.

", + "smithy.api#documentation": "

Provide the unique identifier for the web app.

", "smithy.api#required": {} } } }, "traits": { - "smithy.api#input": {} + "smithy.api#input": {}, + "smithy.api#references": [ + { + "resource": "com.amazonaws.transfer#WebAppResource" + } + ] } }, - "com.amazonaws.transfer#DescribeWorkflowResponse": { + "com.amazonaws.transfer#DescribeWebAppCustomizationResponse": { "type": "structure", "members": { - "Workflow": { - "target": "com.amazonaws.transfer#DescribedWorkflow", + "WebAppCustomization": { + "target": "com.amazonaws.transfer#DescribedWebAppCustomization", "traits": { "aws.cloudformation#cfnExcludeProperty": {}, - "smithy.api#documentation": "

The structure that contains the details of the workflow.

", + "smithy.api#documentation": "

Returns a structure that contains the details of the web app customizations.

", "smithy.api#required": {} } } @@ -2758,19 +3018,108 @@ "smithy.api#output": {} } }, - "com.amazonaws.transfer#DescribedAccess": { + "com.amazonaws.transfer#DescribeWebAppRequest": { "type": "structure", "members": { - "HomeDirectory": { - "target": "com.amazonaws.transfer#HomeDirectory", + "WebAppId": { + "target": "com.amazonaws.transfer#WebAppId", "traits": { - "smithy.api#documentation": "

The landing directory (folder) for a user when they log in to the server using the client.

\n

A HomeDirectory example is /bucket_name/home/mydirectory.

\n \n

The HomeDirectory parameter is only used if HomeDirectoryType is set to PATH.

\n
" + "smithy.api#documentation": "

Provide the unique identifier for the web app.

", + "smithy.api#required": {} } - }, - "HomeDirectoryMappings": { - "target": "com.amazonaws.transfer#HomeDirectoryMappings", + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.transfer#DescribeWebAppResponse": { + "type": "structure", + "members": { + "WebApp": { + "target": "com.amazonaws.transfer#DescribedWebApp", "traits": { - "smithy.api#documentation": "

Logical directory mappings that specify what Amazon S3 or Amazon EFS paths and keys should\n be visible to your user and how you want to make them visible. You must specify the\n Entry and Target pair, where Entry shows how the path\n is made visible and Target is the actual Amazon S3 or Amazon EFS path. If you\n only specify a target, it is displayed as is. You also must ensure that your Identity and Access Management (IAM) \n role provides access to paths in Target. This value\n can be set only when HomeDirectoryType is set to\n LOGICAL.

\n

In most cases, you can use this value instead of the session policy to lock down the\n associated access to the designated home directory (\"chroot\"). To do this, you\n can set Entry to '/' and set Target to the\n HomeDirectory parameter value.

" + "aws.cloudformation#cfnExcludeProperty": {}, + "smithy.api#documentation": "

Returns a structure that contains the details of the web app.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.transfer#DescribeWorkflow": { + "type": "operation", + "input": { + "target": "com.amazonaws.transfer#DescribeWorkflowRequest" + }, + "output": { + "target": "com.amazonaws.transfer#DescribeWorkflowResponse" + }, + "errors": [ + { + "target": "com.amazonaws.transfer#InternalServiceError" + }, + { + "target": "com.amazonaws.transfer#InvalidRequestException" + }, + { + "target": "com.amazonaws.transfer#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.transfer#ServiceUnavailableException" + } + ], + "traits": { + "smithy.api#documentation": "

Describes the specified workflow.

", + "smithy.api#readonly": {} + } + }, + "com.amazonaws.transfer#DescribeWorkflowRequest": { + "type": "structure", + "members": { + "WorkflowId": { + "target": "com.amazonaws.transfer#WorkflowId", + "traits": { + "smithy.api#documentation": "

A unique identifier for the workflow.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.transfer#DescribeWorkflowResponse": { + "type": "structure", + "members": { + "Workflow": { + "target": "com.amazonaws.transfer#DescribedWorkflow", + "traits": { + "aws.cloudformation#cfnExcludeProperty": {}, + "smithy.api#documentation": "

The structure that contains the details of the workflow.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.transfer#DescribedAccess": { + "type": "structure", + "members": { + "HomeDirectory": { + "target": "com.amazonaws.transfer#HomeDirectory", + "traits": { + "smithy.api#documentation": "

The landing directory (folder) for a user when they log in to the server using the client.

\n

A HomeDirectory example is /bucket_name/home/mydirectory.

\n \n

The HomeDirectory parameter is only used if HomeDirectoryType is set to PATH.

\n
" + } + }, + "HomeDirectoryMappings": { + "target": "com.amazonaws.transfer#HomeDirectoryMappings", + "traits": { + "smithy.api#documentation": "

Logical directory mappings that specify what Amazon S3 or Amazon EFS paths and keys should\n be visible to your user and how you want to make them visible. You must specify the\n Entry and Target pair, where Entry shows how the path\n is made visible and Target is the actual Amazon S3 or Amazon EFS path. If you\n only specify a target, it is displayed as is. You also must ensure that your Identity and Access Management (IAM) \n role provides access to paths in Target. This value\n can be set only when HomeDirectoryType is set to\n LOGICAL.

\n

In most cases, you can use this value instead of the session policy to lock down the\n associated access to the designated home directory (\"chroot\"). To do this, you\n can set Entry to '/' and set Target to the\n HomeDirectory parameter value.

" } }, "HomeDirectoryType": { @@ -3142,6 +3491,32 @@ "smithy.api#documentation": "

The details for a server host key.

" } }, + "com.amazonaws.transfer#DescribedIdentityCenterConfig": { + "type": "structure", + "members": { + "ApplicationArn": { + "target": "com.amazonaws.transfer#IdentityCenterApplicationArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) for the IAM Identity Center application: this value is set automatically when you create your web app.

" + } + }, + "InstanceArn": { + "target": "com.amazonaws.transfer#IdentityCenterInstanceArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) for the IAM Identity Center used for the web app.

" + } + }, + "Role": { + "target": "com.amazonaws.transfer#Role", + "traits": { + "smithy.api#documentation": "

The IAM role in IAM Identity Center used for the web app.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

A structure that contains the details of the IAM Identity Center used for your web app. Returned during a call to DescribeWebApp.

" + } + }, "com.amazonaws.transfer#DescribedProfile": { "type": "structure", "members": { @@ -3491,6 +3866,117 @@ "smithy.api#documentation": "

Describes the properties of a user that was specified.

" } }, + "com.amazonaws.transfer#DescribedWebApp": { + "type": "structure", + "members": { + "Arn": { + "target": "com.amazonaws.transfer#Arn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the web app.

", + "smithy.api#required": {} + } + }, + "WebAppId": { + "target": "com.amazonaws.transfer#WebAppId", + "traits": { + "smithy.api#documentation": "

The unique identifier for the web app.

", + "smithy.api#required": {} + } + }, + "DescribedIdentityProviderDetails": { + "target": "com.amazonaws.transfer#DescribedWebAppIdentityProviderDetails", + "traits": { + "smithy.api#documentation": "

A structure that contains the details for the identity provider used by the web app.

" + } + }, + "AccessEndpoint": { + "target": "com.amazonaws.transfer#WebAppAccessEndpoint", + "traits": { + "smithy.api#documentation": "

The AccessEndpoint is the URL that you provide to your users for them to interact with the Transfer Family web app. You can specify a custom URL or use the default value.

" + } + }, + "WebAppEndpoint": { + "target": "com.amazonaws.transfer#WebAppEndpoint", + "traits": { + "smithy.api#documentation": "

The WebAppEndpoint is the unique URL for your Transfer Family web app. This is the value that you use when you configure Origins on CloudFront.

" + } + }, + "WebAppUnits": { + "target": "com.amazonaws.transfer#WebAppUnits", + "traits": { + "smithy.api#documentation": "

A union that contains the value for number of concurrent connections or the user sessions on your web app.

" + } + }, + "Tags": { + "target": "com.amazonaws.transfer#Tags", + "traits": { + "smithy.api#documentation": "

Key-value pairs that can be used to group and search for web apps. Tags are metadata attached to web apps for any purpose.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

A structure that describes the parameters for the web app, as identified by the WebAppId.

" + } + }, + "com.amazonaws.transfer#DescribedWebAppCustomization": { + "type": "structure", + "members": { + "Arn": { + "target": "com.amazonaws.transfer#Arn", + "traits": { + "smithy.api#documentation": "

Returns the Amazon Resource Name (ARN) for the web app.

", + "smithy.api#required": {} + } + }, + "WebAppId": { + "target": "com.amazonaws.transfer#WebAppId", + "traits": { + "smithy.api#documentation": "

Returns the unique identifier for your web app.

", + "smithy.api#required": {} + } + }, + "Title": { + "target": "com.amazonaws.transfer#WebAppTitle", + "traits": { + "smithy.api#documentation": "

Returns the page title that you defined for your web app.

" + } + }, + "LogoFile": { + "target": "com.amazonaws.transfer#WebAppLogoFile", + "traits": { + "smithy.api#documentation": "

Returns a logo file data string (in base64 encoding).

" + } + }, + "FaviconFile": { + "target": "com.amazonaws.transfer#WebAppFaviconFile", + "traits": { + "smithy.api#documentation": "

Returns a icon file data string (in base64 encoding).

" + } + } + }, + "traits": { + "smithy.api#documentation": "

A structure that contains the customization fields for the web app. You can provide a title, logo, and icon to customize the appearance of your web app.

", + "smithy.api#references": [ + { + "resource": "com.amazonaws.transfer#WebAppResource" + } + ] + } + }, + "com.amazonaws.transfer#DescribedWebAppIdentityProviderDetails": { + "type": "union", + "members": { + "IdentityCenterConfig": { + "target": "com.amazonaws.transfer#DescribedIdentityCenterConfig", + "traits": { + "smithy.api#documentation": "

Returns a structure for your identity provider details. This structure contains the instance ARN and role being used for the web app.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Returns a structure that contains the identity provider details for your web app.

" + } + }, "com.amazonaws.transfer#DescribedWorkflow": { "type": "structure", "members": { @@ -4087,6 +4573,46 @@ "com.amazonaws.transfer#HostKeyType": { "type": "string" }, + "com.amazonaws.transfer#IdentityCenterApplicationArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 10, + "max": 1224 + }, + "smithy.api#pattern": "^arn:[\\w-]+:sso::\\d{12}:application/(sso)?ins-[a-zA-Z0-9-.]{16}/apl-[a-zA-Z0-9]{16}$" + } + }, + "com.amazonaws.transfer#IdentityCenterConfig": { + "type": "structure", + "members": { + "InstanceArn": { + "target": "com.amazonaws.transfer#IdentityCenterInstanceArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) for the IAM Identity Center used for the web app.

" + } + }, + "Role": { + "target": "com.amazonaws.transfer#Role", + "traits": { + "smithy.api#documentation": "

The IAM role in IAM Identity Center used for the web app.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

A structure that describes the values to use for the IAM Identity Center settings when you create or update a web app.

" + } + }, + "com.amazonaws.transfer#IdentityCenterInstanceArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 10, + "max": 1224 + }, + "smithy.api#pattern": "^arn:[\\w-]+:sso:::instance/(sso)?ins-[a-zA-Z0-9-.]{16}$" + } + }, "com.amazonaws.transfer#IdentityProviderDetails": { "type": "structure", "members": { @@ -4550,7 +5076,7 @@ "MaxResults": { "target": "com.amazonaws.transfer#MaxResults", "traits": { - "smithy.api#documentation": "

Specifies the maximum number of access SIDs to return.

" + "smithy.api#documentation": "

The maximum number of items to return.

" } }, "NextToken": { @@ -4641,7 +5167,7 @@ "MaxResults": { "target": "com.amazonaws.transfer#MaxResults", "traits": { - "smithy.api#documentation": "

The maximum number of agreements to return.

" + "smithy.api#documentation": "

The maximum number of items to return.

" } }, "NextToken": { @@ -4725,7 +5251,7 @@ "MaxResults": { "target": "com.amazonaws.transfer#MaxResults", "traits": { - "smithy.api#documentation": "

The maximum number of certificates to return.

" + "smithy.api#documentation": "

The maximum number of items to return.

" } }, "NextToken": { @@ -4802,7 +5328,7 @@ "MaxResults": { "target": "com.amazonaws.transfer#MaxResults", "traits": { - "smithy.api#documentation": "

The maximum number of connectors to return.

" + "smithy.api#documentation": "

The maximum number of items to return.

" } }, "NextToken": { @@ -4879,7 +5405,7 @@ "MaxResults": { "target": "com.amazonaws.transfer#MaxResults", "traits": { - "smithy.api#documentation": "

Specifies the maximum number of executions to return.

" + "smithy.api#documentation": "

The maximum number of items to return.

" } }, "NextToken": { @@ -5055,7 +5581,7 @@ "MaxResults": { "target": "com.amazonaws.transfer#MaxResults", "traits": { - "smithy.api#documentation": "

The maximum number of host keys to return.

" + "smithy.api#documentation": "

The maximum number of items to return.

" } }, "NextToken": { @@ -5146,7 +5672,7 @@ "MaxResults": { "target": "com.amazonaws.transfer#MaxResults", "traits": { - "smithy.api#documentation": "

The maximum number of profiles to return.

" + "smithy.api#documentation": "

The maximum number of items to return.

" } }, "NextToken": { @@ -5522,6 +6048,89 @@ "smithy.api#output": {} } }, + "com.amazonaws.transfer#ListWebApps": { + "type": "operation", + "input": { + "target": "com.amazonaws.transfer#ListWebAppsRequest" + }, + "output": { + "target": "com.amazonaws.transfer#ListWebAppsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.transfer#InternalServiceError" + }, + { + "target": "com.amazonaws.transfer#InvalidNextTokenException" + }, + { + "target": "com.amazonaws.transfer#InvalidRequestException" + }, + { + "target": "com.amazonaws.transfer#ThrottlingException" + } + ], + "traits": { + "aws.iam#iamAction": { + "requiredActions": [ + "transfer:ListWebApps" + ] + }, + "smithy.api#documentation": "

Lists all web apps associated with your Amazon Web Services account for your current region.

", + "smithy.api#http": { + "method": "POST", + "uri": "/listWebApps" + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "WebApps", + "pageSize": "MaxResults" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.transfer#ListWebAppsRequest": { + "type": "structure", + "members": { + "MaxResults": { + "target": "com.amazonaws.transfer#MaxResults", + "traits": { + "smithy.api#documentation": "

The maximum number of items to return.

" + } + }, + "NextToken": { + "target": "com.amazonaws.transfer#NextToken", + "traits": { + "smithy.api#documentation": "

Returns the NextToken parameter in the output.\n You can then pass the NextToken parameter in a subsequent command to\n continue listing additional web apps.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.transfer#ListWebAppsResponse": { + "type": "structure", + "members": { + "NextToken": { + "target": "com.amazonaws.transfer#NextToken", + "traits": { + "smithy.api#documentation": "

Provide this value for the NextToken parameter in a subsequent command to\n continue listing additional web apps.

" + } + }, + "WebApps": { + "target": "com.amazonaws.transfer#ListedWebApps", + "traits": { + "smithy.api#documentation": "

Returns, for each listed web app, a structure that contains details for the web app.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.transfer#ListWorkflows": { "type": "operation", "input": { @@ -5561,7 +6170,7 @@ "MaxResults": { "target": "com.amazonaws.transfer#MaxResults", "traits": { - "smithy.api#documentation": "

Specifies the maximum number of workflows to return.

" + "smithy.api#documentation": "

The maximum number of items to return.

" } }, "NextToken": { @@ -6025,25 +6634,65 @@ "target": "com.amazonaws.transfer#ListedUser" } }, - "com.amazonaws.transfer#ListedWorkflow": { + "com.amazonaws.transfer#ListedWebApp": { "type": "structure", "members": { - "WorkflowId": { - "target": "com.amazonaws.transfer#WorkflowId", + "Arn": { + "target": "com.amazonaws.transfer#Arn", "traits": { - "smithy.api#documentation": "

A unique identifier for the workflow.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) for the web app.

", + "smithy.api#required": {} } }, - "Description": { - "target": "com.amazonaws.transfer#WorkflowDescription", + "WebAppId": { + "target": "com.amazonaws.transfer#WebAppId", "traits": { - "smithy.api#documentation": "

Specifies the text description for the workflow.

" + "smithy.api#documentation": "

The unique identifier for the web app.

", + "smithy.api#required": {} } }, - "Arn": { - "target": "com.amazonaws.transfer#Arn", + "AccessEndpoint": { + "target": "com.amazonaws.transfer#WebAppAccessEndpoint", "traits": { - "smithy.api#documentation": "

Specifies the unique Amazon Resource Name (ARN) for the workflow.

" + "smithy.api#documentation": "

The AccessEndpoint is the URL that you provide to your users for them to interact with the Transfer Family web app. You can specify a custom URL or use the default value.

" + } + }, + "WebAppEndpoint": { + "target": "com.amazonaws.transfer#WebAppEndpoint", + "traits": { + "smithy.api#documentation": "

The WebAppEndpoint is the unique URL for your Transfer Family web app. This is the value that you use when you configure Origins on CloudFront.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

a structure that contains details for the web app.

" + } + }, + "com.amazonaws.transfer#ListedWebApps": { + "type": "list", + "member": { + "target": "com.amazonaws.transfer#ListedWebApp" + } + }, + "com.amazonaws.transfer#ListedWorkflow": { + "type": "structure", + "members": { + "WorkflowId": { + "target": "com.amazonaws.transfer#WorkflowId", + "traits": { + "smithy.api#documentation": "

A unique identifier for the workflow.

" + } + }, + "Description": { + "target": "com.amazonaws.transfer#WorkflowDescription", + "traits": { + "smithy.api#documentation": "

Specifies the text description for the workflow.

" + } + }, + "Arn": { + "target": "com.amazonaws.transfer#Arn", + "traits": { + "smithy.api#documentation": "

Specifies the unique Amazon Resource Name (ARN) for the workflow.

" } } }, @@ -8056,6 +8705,12 @@ { "target": "com.amazonaws.transfer#UserResource" }, + { + "target": "com.amazonaws.transfer#WebAppCustomizationResource" + }, + { + "target": "com.amazonaws.transfer#WebAppResource" + }, { "target": "com.amazonaws.transfer#WorkflowResource" } @@ -9994,6 +10649,226 @@ "smithy.api#output": {} } }, + "com.amazonaws.transfer#UpdateWebApp": { + "type": "operation", + "input": { + "target": "com.amazonaws.transfer#UpdateWebAppRequest" + }, + "output": { + "target": "com.amazonaws.transfer#UpdateWebAppResponse" + }, + "errors": [ + { + "target": "com.amazonaws.transfer#AccessDeniedException" + }, + { + "target": "com.amazonaws.transfer#ConflictException" + }, + { + "target": "com.amazonaws.transfer#InternalServiceError" + }, + { + "target": "com.amazonaws.transfer#InvalidRequestException" + }, + { + "target": "com.amazonaws.transfer#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.transfer#ThrottlingException" + } + ], + "traits": { + "aws.iam#iamAction": { + "requiredActions": [ + "iam:PassRole", + "transfer:TagResource", + "transfer:UnTagResource", + "transfer:UpdateWebApp" + ] + }, + "smithy.api#documentation": "

Assigns new properties to a web app. You can modify the access point, identity provider details, and the web app units.

", + "smithy.api#http": { + "method": "POST", + "uri": "/updateWebApp" + } + } + }, + "com.amazonaws.transfer#UpdateWebAppCustomization": { + "type": "operation", + "input": { + "target": "com.amazonaws.transfer#UpdateWebAppCustomizationRequest" + }, + "output": { + "target": "com.amazonaws.transfer#UpdateWebAppCustomizationResponse" + }, + "errors": [ + { + "target": "com.amazonaws.transfer#AccessDeniedException" + }, + { + "target": "com.amazonaws.transfer#ConflictException" + }, + { + "target": "com.amazonaws.transfer#InternalServiceError" + }, + { + "target": "com.amazonaws.transfer#InvalidRequestException" + }, + { + "target": "com.amazonaws.transfer#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.transfer#ThrottlingException" + } + ], + "traits": { + "aws.iam#iamAction": { + "requiredActions": [ + "transfer:UpdateWebAppCustomization" + ] + }, + "smithy.api#documentation": "

Assigns new customization properties to a web app. You can modify the icon file, logo file, and title.

", + "smithy.api#http": { + "method": "POST", + "uri": "/updateWebAppCustomization" + } + } + }, + "com.amazonaws.transfer#UpdateWebAppCustomizationRequest": { + "type": "structure", + "members": { + "WebAppId": { + "target": "com.amazonaws.transfer#WebAppId", + "traits": { + "smithy.api#documentation": "

Provide the identifier of the web app that you are updating.

", + "smithy.api#required": {} + } + }, + "Title": { + "target": "com.amazonaws.transfer#WebAppTitle", + "traits": { + "smithy.api#documentation": "

Provide an updated title.

" + } + }, + "LogoFile": { + "target": "com.amazonaws.transfer#WebAppLogoFile", + "traits": { + "smithy.api#documentation": "

Specify logo file data string (in base64 encoding).

" + } + }, + "FaviconFile": { + "target": "com.amazonaws.transfer#WebAppFaviconFile", + "traits": { + "smithy.api#documentation": "

Specify icon file data string (in base64 encoding).

" + } + } + }, + "traits": { + "smithy.api#input": {}, + "smithy.api#references": [ + { + "resource": "com.amazonaws.transfer#WebAppResource" + } + ] + } + }, + "com.amazonaws.transfer#UpdateWebAppCustomizationResponse": { + "type": "structure", + "members": { + "WebAppId": { + "target": "com.amazonaws.transfer#WebAppId", + "traits": { + "smithy.api#documentation": "

Returns the unique identifier for the web app being updated.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {}, + "smithy.api#references": [ + { + "resource": "com.amazonaws.transfer#WebAppResource" + } + ] + } + }, + "com.amazonaws.transfer#UpdateWebAppIdentityCenterConfig": { + "type": "structure", + "members": { + "Role": { + "target": "com.amazonaws.transfer#Role", + "traits": { + "smithy.api#documentation": "

The IAM role used to access IAM Identity Center.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

A structure that describes the values to use for the IAM Identity Center settings when you update a web app.

" + } + }, + "com.amazonaws.transfer#UpdateWebAppIdentityProviderDetails": { + "type": "union", + "members": { + "IdentityCenterConfig": { + "target": "com.amazonaws.transfer#UpdateWebAppIdentityCenterConfig", + "traits": { + "smithy.api#documentation": "

A structure that describes the values to use for the IAM Identity Center settings when you update a web app.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

A union that contains the UpdateWebAppIdentityCenterConfig object.

" + } + }, + "com.amazonaws.transfer#UpdateWebAppRequest": { + "type": "structure", + "members": { + "WebAppId": { + "target": "com.amazonaws.transfer#WebAppId", + "traits": { + "smithy.api#documentation": "

Provide the identifier of the web app that you are updating.

", + "smithy.api#required": {} + } + }, + "IdentityProviderDetails": { + "target": "com.amazonaws.transfer#UpdateWebAppIdentityProviderDetails", + "traits": { + "aws.cloudformation#cfnExcludeProperty": {}, + "smithy.api#documentation": "

Provide updated identity provider values in a WebAppIdentityProviderDetails object.

" + } + }, + "AccessEndpoint": { + "target": "com.amazonaws.transfer#WebAppAccessEndpoint", + "traits": { + "smithy.api#documentation": "

The AccessEndpoint is the URL that you provide to your users for them to interact with the Transfer Family web app. You can specify a custom URL or use the default value.

" + } + }, + "WebAppUnits": { + "target": "com.amazonaws.transfer#WebAppUnits", + "traits": { + "smithy.api#documentation": "

A union that contains the value for number of concurrent connections or the user sessions on your web app.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.transfer#UpdateWebAppResponse": { + "type": "structure", + "members": { + "WebAppId": { + "target": "com.amazonaws.transfer#WebAppId", + "traits": { + "smithy.api#documentation": "

Returns the unique identifier for the web app being updated.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.transfer#Url": { "type": "string", "traits": { @@ -10109,6 +10984,161 @@ "com.amazonaws.transfer#VpcId": { "type": "string" }, + "com.amazonaws.transfer#WebAppAccessEndpoint": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1024 + } + } + }, + "com.amazonaws.transfer#WebAppCustomizationResource": { + "type": "resource", + "identifiers": { + "WebAppId": { + "target": "com.amazonaws.transfer#WebAppId" + } + }, + "read": { + "target": "com.amazonaws.transfer#DescribeWebAppCustomization" + }, + "update": { + "target": "com.amazonaws.transfer#UpdateWebAppCustomization" + }, + "delete": { + "target": "com.amazonaws.transfer#DeleteWebAppCustomization" + }, + "traits": { + "aws.cloudformation#cfnResource": { + "name": "WebAppCustomization", + "additionalSchemas": [ + "com.amazonaws.transfer#DescribedWebAppCustomization" + ] + } + } + }, + "com.amazonaws.transfer#WebAppEndpoint": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1024 + } + } + }, + "com.amazonaws.transfer#WebAppFaviconFile": { + "type": "blob", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 20960 + }, + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.transfer#WebAppId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 24, + "max": 24 + }, + "smithy.api#pattern": "^webapp-[0-9a-f]{17}$" + } + }, + "com.amazonaws.transfer#WebAppIdentityProviderDetails": { + "type": "union", + "members": { + "IdentityCenterConfig": { + "target": "com.amazonaws.transfer#IdentityCenterConfig", + "traits": { + "smithy.api#documentation": "

A structure that describes the values to use for the IAM Identity Center settings when you create a web app.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

A union that contains the IdentityCenterConfig object.

" + } + }, + "com.amazonaws.transfer#WebAppLogoFile": { + "type": "blob", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 51200 + }, + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.transfer#WebAppResource": { + "type": "resource", + "identifiers": { + "WebAppId": { + "target": "com.amazonaws.transfer#WebAppId" + } + }, + "create": { + "target": "com.amazonaws.transfer#CreateWebApp" + }, + "read": { + "target": "com.amazonaws.transfer#DescribeWebApp" + }, + "update": { + "target": "com.amazonaws.transfer#UpdateWebApp" + }, + "delete": { + "target": "com.amazonaws.transfer#DeleteWebApp" + }, + "list": { + "target": "com.amazonaws.transfer#ListWebApps" + }, + "traits": { + "aws.api#arn": { + "template": "webapp/{WebAppId}" + }, + "aws.api#taggable": { + "property": "Tags" + }, + "aws.cloudformation#cfnResource": { + "name": "WebApp", + "additionalSchemas": [ + "com.amazonaws.transfer#DescribedWebApp" + ] + } + } + }, + "com.amazonaws.transfer#WebAppTitle": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 100 + } + } + }, + "com.amazonaws.transfer#WebAppUnitCount": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 1 + } + } + }, + "com.amazonaws.transfer#WebAppUnits": { + "type": "union", + "members": { + "Provisioned": { + "target": "com.amazonaws.transfer#WebAppUnitCount", + "traits": { + "smithy.api#documentation": "

An integer that represents the number of units for your desired number of concurrent connections, or the number of user sessions on your web app at the same time.

\n

Each increment allows an additional 250 concurrent sessions: a value of 1 sets the number of concurrent sessions to 250; 2 sets a value of 500, and so on.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains an integer value that represents the value for number of concurrent connections or the user sessions on your web app.

" + } + }, "com.amazonaws.transfer#WorkflowDescription": { "type": "string", "traits": { diff --git a/codegen/sdk/aws-models/vpc-lattice.json b/codegen/sdk/aws-models/vpc-lattice.json index 771bd32f11e..c5bd898cb70 100644 --- a/codegen/sdk/aws-models/vpc-lattice.json +++ b/codegen/sdk/aws-models/vpc-lattice.json @@ -124,17 +124,23 @@ "smithy.api#required": {} } }, + "serviceNetworkLogType": { + "target": "com.amazonaws.vpclattice#ServiceNetworkLogType", + "traits": { + "smithy.api#documentation": "

Log type of the service network.

" + } + }, "createdAt": { "target": "com.amazonaws.vpclattice#Timestamp", "traits": { - "smithy.api#documentation": "

The date and time that the access log subscription was created, specified in ISO-8601\n format.

", + "smithy.api#documentation": "

The date and time that the access log subscription was created, in ISO-8601 format.

", "smithy.api#required": {} } }, "lastUpdatedAt": { "target": "com.amazonaws.vpclattice#Timestamp", "traits": { - "smithy.api#documentation": "

The date and time that the access log subscription was last updated, specified in ISO-8601\n format.

", + "smithy.api#documentation": "

The date and time that the access log subscription was last updated, in ISO-8601 format.

", "smithy.api#required": {} } } @@ -162,6 +168,20 @@ "smithy.api#pattern": "^arn:[a-z0-9][-.a-z0-9]{0,62}:vpc-lattice:([a-z0-9][-.a-z0-9]{0,62})?:\\d{12}?:[^/].{0,1023}$" } }, + "com.amazonaws.vpclattice#ArnResource": { + "type": "structure", + "members": { + "arn": { + "target": "com.amazonaws.vpclattice#WildcardArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the resource.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the resource.

" + } + }, "com.amazonaws.vpclattice#AuthPolicyState": { "type": "string", "traits": { @@ -244,7 +264,7 @@ "serviceIdentifier": { "target": "com.amazonaws.vpclattice#ServiceIdentifier", "traits": { - "smithy.api#documentation": "

The ID or Amazon Resource Name (ARN) of the service.

", + "smithy.api#documentation": "

The ID or ARN of the service.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -252,7 +272,7 @@ "listenerIdentifier": { "target": "com.amazonaws.vpclattice#ListenerIdentifier", "traits": { - "smithy.api#documentation": "

The ID or Amazon Resource Name (ARN) of the listener.

", + "smithy.api#documentation": "

The ID or ARN of the listener.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -386,7 +406,7 @@ "resourceIdentifier": { "target": "com.amazonaws.vpclattice#ResourceIdentifier", "traits": { - "smithy.api#documentation": "

The ID or Amazon Resource Name (ARN) of the service network or service.

", + "smithy.api#documentation": "

The ID or ARN of the service network or service.

", "smithy.api#required": {} } }, @@ -397,6 +417,12 @@ "smithy.api#required": {} } }, + "serviceNetworkLogType": { + "target": "com.amazonaws.vpclattice#ServiceNetworkLogType", + "traits": { + "smithy.api#documentation": "

The type of log that monitors your Amazon VPC Lattice service networks.

" + } + }, "tags": { "target": "com.amazonaws.vpclattice#TagMap", "traits": { @@ -436,6 +462,12 @@ "smithy.api#required": {} } }, + "serviceNetworkLogType": { + "target": "com.amazonaws.vpclattice#ServiceNetworkLogType", + "traits": { + "smithy.api#documentation": "

The type of log that monitors your Amazon VPC Lattice service networks.

" + } + }, "destinationArn": { "target": "com.amazonaws.vpclattice#AccessLogDestinationArn", "traits": { @@ -492,7 +524,7 @@ "serviceIdentifier": { "target": "com.amazonaws.vpclattice#ServiceIdentifier", "traits": { - "smithy.api#documentation": "

The ID or Amazon Resource Name (ARN) of the service.

", + "smithy.api#documentation": "

The ID or ARN of the service.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -514,13 +546,13 @@ "port": { "target": "com.amazonaws.vpclattice#Port", "traits": { - "smithy.api#documentation": "

The listener port. You can specify a value from 1 to 65535. For\n HTTP, the default is 80. For HTTPS, the default is 443.

" + "smithy.api#documentation": "

The listener port. You can specify a value from 1 to 65535. For HTTP, the default is 80. For\n HTTPS, the default is 443.

" } }, "defaultAction": { "target": "com.amazonaws.vpclattice#RuleAction", "traits": { - "smithy.api#documentation": "

The action for the default rule. Each listener has a default rule. The default rule is used \n if no other rules match.

", + "smithy.api#documentation": "

The action for the default rule. Each listener has a default rule. The default rule is used\n if no other rules match.

", "smithy.api#required": {} } }, @@ -592,13 +624,13 @@ } } }, - "com.amazonaws.vpclattice#CreateRule": { + "com.amazonaws.vpclattice#CreateResourceConfiguration": { "type": "operation", "input": { - "target": "com.amazonaws.vpclattice#CreateRuleRequest" + "target": "com.amazonaws.vpclattice#CreateResourceConfigurationRequest" }, "output": { - "target": "com.amazonaws.vpclattice#CreateRuleResponse" + "target": "com.amazonaws.vpclattice#CreateResourceConfigurationResponse" }, "errors": [ { @@ -624,60 +656,66 @@ } ], "traits": { - "smithy.api#documentation": "

Creates a listener rule. Each listener has a default rule for checking connection requests,\n but you can define additional rules. Each rule consists of a priority, one or more actions, and\n one or more conditions. For more information, see Listener rules in the\n Amazon VPC Lattice User Guide.

", + "smithy.api#documentation": "

Creates a resource configuration. A resource configuration defines a specific resource. You\n can associate a resource configuration with a service network or a VPC endpoint.

", "smithy.api#http": { "code": 201, "method": "POST", - "uri": "/services/{serviceIdentifier}/listeners/{listenerIdentifier}/rules" + "uri": "/resourceconfigurations" }, "smithy.api#idempotent": {} } }, - "com.amazonaws.vpclattice#CreateRuleRequest": { + "com.amazonaws.vpclattice#CreateResourceConfigurationRequest": { "type": "structure", "members": { - "serviceIdentifier": { - "target": "com.amazonaws.vpclattice#ServiceIdentifier", + "name": { + "target": "com.amazonaws.vpclattice#ResourceConfigurationName", "traits": { - "smithy.api#documentation": "

The ID or Amazon Resource Name (ARN) of the service.

", - "smithy.api#httpLabel": {}, + "smithy.api#documentation": "

The name of the resource configuration. The name must be unique within the account. The\n valid characters are a-z, 0-9, and hyphens (-). You can't use a hyphen as the first or last\n character, or immediately after another hyphen.

", "smithy.api#required": {} } }, - "listenerIdentifier": { - "target": "com.amazonaws.vpclattice#ListenerIdentifier", + "type": { + "target": "com.amazonaws.vpclattice#ResourceConfigurationType", "traits": { - "smithy.api#documentation": "

The ID or Amazon Resource Name (ARN) of the listener.

", - "smithy.api#httpLabel": {}, + "smithy.api#documentation": "

The type of resource configuration.

\n
    \n
  • \n

    \n SINGLE - A single resource.

    \n
  • \n
  • \n

    \n GROUP - A group of resources. You must create a group resource\n configuration before you create a child resource configuration.

    \n
  • \n
  • \n

    \n CHILD - A single resource that is part of a group resource configuration.

    \n
  • \n
  • \n

    \n ARN - An Amazon Web Services resource.

    \n
  • \n
", "smithy.api#required": {} } }, - "name": { - "target": "com.amazonaws.vpclattice#RuleName", + "portRanges": { + "target": "com.amazonaws.vpclattice#PortRangeList", "traits": { - "smithy.api#documentation": "

The name of the rule. The name must be unique within the listener. The valid characters are a-z, 0-9, and hyphens (-). You can't use a \n hyphen as the first or last character, or immediately after another hyphen.

", - "smithy.api#required": {} + "smithy.api#documentation": "

(SINGLE, GROUP, CHILD) The TCP port ranges that a consumer can use to access a resource configuration \n (for example: 1-65535). You can separate port ranges using commas (for example: 1,2,22-30).

" } }, - "match": { - "target": "com.amazonaws.vpclattice#RuleMatch", + "protocol": { + "target": "com.amazonaws.vpclattice#ProtocolType", "traits": { - "smithy.api#documentation": "

The rule match.

", - "smithy.api#required": {} + "smithy.api#documentation": "

(SINGLE, GROUP) The protocol accepted by the resource configuration.

" } }, - "priority": { - "target": "com.amazonaws.vpclattice#RulePriority", + "resourceGatewayIdentifier": { + "target": "com.amazonaws.vpclattice#ResourceGatewayIdentifier", "traits": { - "smithy.api#documentation": "

The priority assigned to the rule. Each rule for a specific listener must have a unique\n priority. The lower the priority number the higher the priority.

", - "smithy.api#required": {} + "smithy.api#documentation": "

(SINGLE, GROUP, ARN) The ID or ARN of the resource gateway used to connect to the resource configuration.\n For a child resource configuration, this value is inherited from the parent resource configuration.

" } }, - "action": { - "target": "com.amazonaws.vpclattice#RuleAction", + "resourceConfigurationGroupIdentifier": { + "target": "com.amazonaws.vpclattice#ResourceConfigurationIdentifier", "traits": { - "smithy.api#documentation": "

The action for the default rule.

", - "smithy.api#required": {} + "smithy.api#documentation": "

(CHILD) The ID or ARN of the parent resource configuration (type is GROUP). \n This is used to associate a child resource configuration with a group resource configuration.

" + } + }, + "resourceConfigurationDefinition": { + "target": "com.amazonaws.vpclattice#ResourceConfigurationDefinition", + "traits": { + "smithy.api#documentation": "

(SINGLE, CHILD, ARN) The resource configuration.

" + } + }, + "allowAssociationToShareableServiceNetwork": { + "target": "com.amazonaws.vpclattice#Boolean", + "traits": { + "smithy.api#documentation": "

(SINGLE, GROUP, ARN) Specifies whether the resource configuration can be associated with \n a sharable service network. The default is false.

" } }, "clientToken": { @@ -690,100 +728,107 @@ "tags": { "target": "com.amazonaws.vpclattice#TagMap", "traits": { - "smithy.api#documentation": "

The tags for the rule.

" + "smithy.api#documentation": "

The tags for the resource configuration.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.vpclattice#CreateRuleResponse": { + "com.amazonaws.vpclattice#CreateResourceConfigurationResponse": { "type": "structure", "members": { - "arn": { - "target": "com.amazonaws.vpclattice#RuleArn", + "id": { + "target": "com.amazonaws.vpclattice#ResourceConfigurationId", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the rule.

" + "smithy.api#documentation": "

The ID of the resource configuration.

" } }, - "id": { - "target": "com.amazonaws.vpclattice#RuleId", + "name": { + "target": "com.amazonaws.vpclattice#ResourceConfigurationName", "traits": { - "smithy.api#documentation": "

The ID of the rule.

" + "smithy.api#documentation": "

The name of the resource configuration.

" } }, - "name": { - "target": "com.amazonaws.vpclattice#RuleName", + "arn": { + "target": "com.amazonaws.vpclattice#ResourceConfigurationArn", "traits": { - "smithy.api#documentation": "

The name of the rule.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the resource configuration.

" } }, - "match": { - "target": "com.amazonaws.vpclattice#RuleMatch", + "resourceGatewayId": { + "target": "com.amazonaws.vpclattice#ResourceGatewayId", "traits": { - "smithy.api#documentation": "

The rule match. The RuleMatch must be an HttpMatch. This means\n that the rule should be an exact match on HTTP constraints which are made up of the HTTP method,\n path, and header.

" + "smithy.api#documentation": "

The ID of the resource gateway associated with the resource configuration.

" } }, - "priority": { - "target": "com.amazonaws.vpclattice#RulePriority", + "resourceConfigurationGroupId": { + "target": "com.amazonaws.vpclattice#ResourceConfigurationId", "traits": { - "smithy.api#documentation": "

The priority assigned to the rule. The lower the priority number the higher the\n priority.

" + "smithy.api#documentation": "

The ID of the parent resource configuration (type is GROUP).

" } }, - "action": { - "target": "com.amazonaws.vpclattice#RuleAction", + "type": { + "target": "com.amazonaws.vpclattice#ResourceConfigurationType", "traits": { - "smithy.api#documentation": "

The rule action.

" + "smithy.api#documentation": "

The type of resource configuration.

" } - } - } - }, - "com.amazonaws.vpclattice#CreateService": { - "type": "operation", - "input": { - "target": "com.amazonaws.vpclattice#CreateServiceRequest" - }, - "output": { - "target": "com.amazonaws.vpclattice#CreateServiceResponse" - }, - "errors": [ - { - "target": "com.amazonaws.vpclattice#AccessDeniedException" }, - { - "target": "com.amazonaws.vpclattice#ConflictException" + "portRanges": { + "target": "com.amazonaws.vpclattice#PortRangeList", + "traits": { + "smithy.api#documentation": "

The port range.

" + } }, - { - "target": "com.amazonaws.vpclattice#InternalServerException" + "protocol": { + "target": "com.amazonaws.vpclattice#ProtocolType", + "traits": { + "smithy.api#documentation": "

The protocol.

" + } }, - { - "target": "com.amazonaws.vpclattice#ResourceNotFoundException" + "status": { + "target": "com.amazonaws.vpclattice#ResourceConfigurationStatus", + "traits": { + "smithy.api#documentation": "

The current status of the resource configuration.

" + } }, - { - "target": "com.amazonaws.vpclattice#ServiceQuotaExceededException" + "resourceConfigurationDefinition": { + "target": "com.amazonaws.vpclattice#ResourceConfigurationDefinition", + "traits": { + "smithy.api#documentation": "

The resource configuration.

" + } }, - { - "target": "com.amazonaws.vpclattice#ThrottlingException" + "allowAssociationToShareableServiceNetwork": { + "target": "com.amazonaws.vpclattice#Boolean", + "traits": { + "smithy.api#documentation": "

Specifies whether the resource configuration can be associated with a sharable service\n network.

" + } }, - { - "target": "com.amazonaws.vpclattice#ValidationException" + "createdAt": { + "target": "com.amazonaws.vpclattice#Timestamp", + "traits": { + "smithy.api#documentation": "

The date and time that the resource configuration was created, in ISO-8601 format.

" + } + }, + "failureReason": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The reason that the request failed.

" + } } - ], + }, "traits": { - "smithy.api#documentation": "

Creates a service. A service is any software application that can run on instances\n containers, or serverless functions within an account or virtual private cloud (VPC).

\n

For more information, see Services in the\n Amazon VPC Lattice User Guide.

", - "smithy.api#http": { - "code": 201, - "method": "POST", - "uri": "/services" - }, - "smithy.api#idempotent": {} + "smithy.api#output": {} } }, - "com.amazonaws.vpclattice#CreateServiceNetwork": { + "com.amazonaws.vpclattice#CreateResourceGateway": { "type": "operation", "input": { - "target": "com.amazonaws.vpclattice#CreateServiceNetworkRequest" + "target": "com.amazonaws.vpclattice#CreateResourceGatewayRequest" }, "output": { - "target": "com.amazonaws.vpclattice#CreateServiceNetworkResponse" + "target": "com.amazonaws.vpclattice#CreateResourceGatewayResponse" }, "errors": [ { @@ -809,16 +854,16 @@ } ], "traits": { - "smithy.api#documentation": "

Creates a service network. A service network is a logical boundary for a collection of\n services. You can associate services and VPCs with a service network.

\n

For more information, see Service networks in the\n Amazon VPC Lattice User Guide.

", + "smithy.api#documentation": "

Creates a resource gateway.

", "smithy.api#http": { "code": 201, "method": "POST", - "uri": "/servicenetworks" + "uri": "/resourcegateways" }, "smithy.api#idempotent": {} } }, - "com.amazonaws.vpclattice#CreateServiceNetworkRequest": { + "com.amazonaws.vpclattice#CreateResourceGatewayRequest": { "type": "structure", "members": { "clientToken": { @@ -829,62 +874,116 @@ } }, "name": { - "target": "com.amazonaws.vpclattice#ServiceNetworkName", + "target": "com.amazonaws.vpclattice#ResourceGatewayName", "traits": { - "smithy.api#documentation": "

The name of the service network. The name must be unique to the account. The valid characters are a-z, 0-9, and hyphens (-). You can't use a \n hyphen as the first or last character, or immediately after another hyphen.

", + "smithy.api#documentation": "

The name of the resource gateway.

", "smithy.api#required": {} } }, - "authType": { - "target": "com.amazonaws.vpclattice#AuthType", + "vpcIdentifier": { + "target": "com.amazonaws.vpclattice#VpcId", "traits": { - "smithy.api#documentation": "

The type of IAM policy.

\n
    \n
  • \n

    \n NONE: The resource does not use an IAM policy. This is the default.

    \n
  • \n
  • \n

    \n AWS_IAM: The resource uses an IAM policy. When this type is used, auth is enabled and an auth policy is required.

    \n
  • \n
" + "smithy.api#documentation": "

The ID of the VPC for the resource gateway.

", + "smithy.api#required": {} + } + }, + "subnetIds": { + "target": "com.amazonaws.vpclattice#SubnetList", + "traits": { + "smithy.api#documentation": "

The IDs of the VPC subnets in which to create the resource gateway.

", + "smithy.api#required": {} + } + }, + "securityGroupIds": { + "target": "com.amazonaws.vpclattice#SecurityGroupList", + "traits": { + "smithy.api#documentation": "

The IDs of the security groups to apply to the resource gateway. The security groups must be\n in the same VPC.

", + "smithy.api#length": { + "min": 0, + "max": 5 + } + } + }, + "ipAddressType": { + "target": "com.amazonaws.vpclattice#ResourceGatewayIpAddressType", + "traits": { + "smithy.api#documentation": "

The type of IP address used by the resource gateway.

" } }, "tags": { "target": "com.amazonaws.vpclattice#TagMap", "traits": { - "smithy.api#documentation": "

The tags for the service network.

" + "smithy.api#documentation": "

The tags for the resource gateway.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.vpclattice#CreateServiceNetworkResponse": { + "com.amazonaws.vpclattice#CreateResourceGatewayResponse": { "type": "structure", "members": { - "id": { - "target": "com.amazonaws.vpclattice#ServiceNetworkId", + "name": { + "target": "com.amazonaws.vpclattice#ResourceGatewayName", "traits": { - "smithy.api#documentation": "

The ID of the service network.

" + "smithy.api#documentation": "

The name of the resource gateway.

" } }, - "name": { - "target": "com.amazonaws.vpclattice#ServiceNetworkName", + "id": { + "target": "com.amazonaws.vpclattice#ResourceGatewayId", "traits": { - "smithy.api#documentation": "

The name of the service network.

" + "smithy.api#documentation": "

The ID of the resource gateway.

" } }, "arn": { - "target": "com.amazonaws.vpclattice#ServiceNetworkArn", + "target": "com.amazonaws.vpclattice#ResourceGatewayArn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the service network.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the resource gateway.

" } }, - "authType": { - "target": "com.amazonaws.vpclattice#AuthType", + "status": { + "target": "com.amazonaws.vpclattice#ResourceGatewayStatus", "traits": { - "smithy.api#documentation": "

The type of IAM policy.

" + "smithy.api#documentation": "

The status of the resource gateway.

" + } + }, + "vpcIdentifier": { + "target": "com.amazonaws.vpclattice#VpcId", + "traits": { + "smithy.api#documentation": "

The ID of the VPC.

" + } + }, + "subnetIds": { + "target": "com.amazonaws.vpclattice#SubnetList", + "traits": { + "smithy.api#documentation": "

The IDs of the resource gateway subnets.

" + } + }, + "securityGroupIds": { + "target": "com.amazonaws.vpclattice#SecurityGroupList", + "traits": { + "smithy.api#documentation": "

The IDs of the security groups for the resource gateway.

" + } + }, + "ipAddressType": { + "target": "com.amazonaws.vpclattice#ResourceGatewayIpAddressType", + "traits": { + "smithy.api#documentation": "

The type of IP address for the resource gateway.

" } } + }, + "traits": { + "smithy.api#output": {} } }, - "com.amazonaws.vpclattice#CreateServiceNetworkServiceAssociation": { + "com.amazonaws.vpclattice#CreateRule": { "type": "operation", "input": { - "target": "com.amazonaws.vpclattice#CreateServiceNetworkServiceAssociationRequest" + "target": "com.amazonaws.vpclattice#CreateRuleRequest" }, "output": { - "target": "com.amazonaws.vpclattice#CreateServiceNetworkServiceAssociationResponse" + "target": "com.amazonaws.vpclattice#CreateRuleResponse" }, "errors": [ { @@ -910,95 +1009,125 @@ } ], "traits": { - "smithy.api#documentation": "

Associates a service with a service network. For more information, see Manage service associations in the Amazon VPC Lattice User Guide.

\n

You can't use this operation if the service and service network are already associated or if\n there is a disassociation or deletion in progress. If the association fails, you can retry the\n operation by deleting the association and recreating it.

\n

You cannot associate a service and service network that are shared with a caller. The caller\n must own either the service or the service network.

\n

As a result of this operation, the association is created in the service network account and\n the association owner account.

", + "smithy.api#documentation": "

Creates a listener rule. Each listener has a default rule for checking connection requests,\n but you can define additional rules. Each rule consists of a priority, one or more actions, and\n one or more conditions. For more information, see Listener rules in the\n Amazon VPC Lattice User Guide.

", "smithy.api#http": { - "code": 200, - "uri": "/servicenetworkserviceassociations", - "method": "POST" + "code": 201, + "method": "POST", + "uri": "/services/{serviceIdentifier}/listeners/{listenerIdentifier}/rules" }, "smithy.api#idempotent": {} } }, - "com.amazonaws.vpclattice#CreateServiceNetworkServiceAssociationRequest": { + "com.amazonaws.vpclattice#CreateRuleRequest": { "type": "structure", "members": { - "clientToken": { - "target": "com.amazonaws.vpclattice#ClientToken", - "traits": { - "smithy.api#documentation": "

A unique, case-sensitive identifier that you provide to ensure\n the idempotency of the request. If you retry a request that completed successfully using\n the same client token and parameters, the retry succeeds without performing any actions.\n If the parameters aren't identical, the retry fails.

", - "smithy.api#idempotencyToken": {} - } - }, "serviceIdentifier": { "target": "com.amazonaws.vpclattice#ServiceIdentifier", "traits": { - "smithy.api#documentation": "

The ID or Amazon Resource Name (ARN) of the service.

", + "smithy.api#documentation": "

The ID or ARN of the service.

", + "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, - "serviceNetworkIdentifier": { - "target": "com.amazonaws.vpclattice#ServiceNetworkIdentifier", + "listenerIdentifier": { + "target": "com.amazonaws.vpclattice#ListenerIdentifier", "traits": { - "smithy.api#documentation": "

The ID or Amazon Resource Name (ARN) of the service network. You must use the ARN if the\n resources specified in the operation are in different accounts.

", + "smithy.api#documentation": "

The ID or ARN of the listener.

", + "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, - "tags": { - "target": "com.amazonaws.vpclattice#TagMap", - "traits": { - "smithy.api#documentation": "

The tags for the association.

" - } - } - } - }, - "com.amazonaws.vpclattice#CreateServiceNetworkServiceAssociationResponse": { - "type": "structure", - "members": { - "id": { - "target": "com.amazonaws.vpclattice#ServiceNetworkServiceAssociationIdentifier", + "name": { + "target": "com.amazonaws.vpclattice#RuleName", "traits": { - "smithy.api#documentation": "

The ID of the association.

" + "smithy.api#documentation": "

The name of the rule. The name must be unique within the listener. The valid characters are a-z, 0-9, and hyphens (-). You can't use a \n hyphen as the first or last character, or immediately after another hyphen.

", + "smithy.api#required": {} } }, - "status": { - "target": "com.amazonaws.vpclattice#ServiceNetworkServiceAssociationStatus", + "match": { + "target": "com.amazonaws.vpclattice#RuleMatch", "traits": { - "smithy.api#documentation": "

The association status.

" + "smithy.api#documentation": "

The rule match.

", + "smithy.api#required": {} + } + }, + "priority": { + "target": "com.amazonaws.vpclattice#RulePriority", + "traits": { + "smithy.api#documentation": "

The priority assigned to the rule. Each rule for a specific listener must have a unique\n priority. The lower the priority number the higher the priority.

", + "smithy.api#required": {} + } + }, + "action": { + "target": "com.amazonaws.vpclattice#RuleAction", + "traits": { + "smithy.api#documentation": "

The action for the default rule.

", + "smithy.api#required": {} + } + }, + "clientToken": { + "target": "com.amazonaws.vpclattice#ClientToken", + "traits": { + "smithy.api#documentation": "

A unique, case-sensitive identifier that you provide to ensure\n the idempotency of the request. If you retry a request that completed successfully using\n the same client token and parameters, the retry succeeds without performing any actions.\n If the parameters aren't identical, the retry fails.

", + "smithy.api#idempotencyToken": {} } }, + "tags": { + "target": "com.amazonaws.vpclattice#TagMap", + "traits": { + "smithy.api#documentation": "

The tags for the rule.

" + } + } + } + }, + "com.amazonaws.vpclattice#CreateRuleResponse": { + "type": "structure", + "members": { "arn": { - "target": "com.amazonaws.vpclattice#ServiceNetworkServiceAssociationArn", + "target": "com.amazonaws.vpclattice#RuleArn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the association.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the rule.

" } }, - "createdBy": { - "target": "com.amazonaws.vpclattice#AccountId", + "id": { + "target": "com.amazonaws.vpclattice#RuleId", "traits": { - "smithy.api#documentation": "

The account that created the association.

" + "smithy.api#documentation": "

The ID of the rule.

" } }, - "customDomainName": { - "target": "com.amazonaws.vpclattice#ServiceCustomDomainName", + "name": { + "target": "com.amazonaws.vpclattice#RuleName", "traits": { - "smithy.api#documentation": "

The custom domain name of the service.

" + "smithy.api#documentation": "

The name of the rule.

" } }, - "dnsEntry": { - "target": "com.amazonaws.vpclattice#DnsEntry", + "match": { + "target": "com.amazonaws.vpclattice#RuleMatch", "traits": { - "smithy.api#documentation": "

The DNS name of the service.

" + "smithy.api#documentation": "

The rule match. The RuleMatch must be an HttpMatch. This means\n that the rule should be an exact match on HTTP constraints which are made up of the HTTP method,\n path, and header.

" + } + }, + "priority": { + "target": "com.amazonaws.vpclattice#RulePriority", + "traits": { + "smithy.api#documentation": "

The priority assigned to the rule. The lower the priority number the higher the\n priority.

" + } + }, + "action": { + "target": "com.amazonaws.vpclattice#RuleAction", + "traits": { + "smithy.api#documentation": "

The rule action.

" } } } }, - "com.amazonaws.vpclattice#CreateServiceNetworkVpcAssociation": { + "com.amazonaws.vpclattice#CreateService": { "type": "operation", "input": { - "target": "com.amazonaws.vpclattice#CreateServiceNetworkVpcAssociationRequest" + "target": "com.amazonaws.vpclattice#CreateServiceRequest" }, "output": { - "target": "com.amazonaws.vpclattice#CreateServiceNetworkVpcAssociationResponse" + "target": "com.amazonaws.vpclattice#CreateServiceResponse" }, "errors": [ { @@ -1024,16 +1153,57 @@ } ], "traits": { - "smithy.api#documentation": "

Associates a VPC with a service network. When you associate a VPC with the service network,\n it enables all the resources within that VPC to be clients and communicate with other services in\n the service network. For more information, see Manage VPC associations in the Amazon VPC Lattice User Guide.

\n

You can't use this operation if there is a disassociation in progress. If the association\n fails, retry by deleting the association and recreating it.

\n

As a result of this operation, the association gets created in the service network account\n and the VPC owner account.

\n

If you add a security group to the service network and VPC association, the association must\n continue to always have at least one security group. You can add or edit security groups at any\n time. However, to remove all security groups, you must first delete the association and recreate\n it without security groups.

", + "smithy.api#documentation": "

Creates a service. A service is any software application that can run on instances\n containers, or serverless functions within an account or virtual private cloud (VPC).

\n

For more information, see Services in the\n Amazon VPC Lattice User Guide.

", "smithy.api#http": { - "code": 200, - "uri": "/servicenetworkvpcassociations", - "method": "POST" + "code": 201, + "method": "POST", + "uri": "/services" }, "smithy.api#idempotent": {} } }, - "com.amazonaws.vpclattice#CreateServiceNetworkVpcAssociationRequest": { + "com.amazonaws.vpclattice#CreateServiceNetwork": { + "type": "operation", + "input": { + "target": "com.amazonaws.vpclattice#CreateServiceNetworkRequest" + }, + "output": { + "target": "com.amazonaws.vpclattice#CreateServiceNetworkResponse" + }, + "errors": [ + { + "target": "com.amazonaws.vpclattice#AccessDeniedException" + }, + { + "target": "com.amazonaws.vpclattice#ConflictException" + }, + { + "target": "com.amazonaws.vpclattice#InternalServerException" + }, + { + "target": "com.amazonaws.vpclattice#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.vpclattice#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.vpclattice#ThrottlingException" + }, + { + "target": "com.amazonaws.vpclattice#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Creates a service network. A service network is a logical boundary for a collection of\n services. You can associate services and VPCs with a service network.

\n

For more information, see Service networks in the\n Amazon VPC Lattice User Guide.

", + "smithy.api#http": { + "code": 201, + "method": "POST", + "uri": "/servicenetworks" + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.vpclattice#CreateServiceNetworkRequest": { "type": "structure", "members": { "clientToken": { @@ -1043,74 +1213,75 @@ "smithy.api#idempotencyToken": {} } }, - "serviceNetworkIdentifier": { - "target": "com.amazonaws.vpclattice#ServiceNetworkIdentifier", + "name": { + "target": "com.amazonaws.vpclattice#ServiceNetworkName", "traits": { - "smithy.api#documentation": "

The ID or Amazon Resource Name (ARN) of the service network. You must use the ARN when the\n resources specified in the operation are in different accounts.

", + "smithy.api#documentation": "

The name of the service network. The name must be unique to the account. The valid characters are a-z, 0-9, and hyphens (-). You can't use a \n hyphen as the first or last character, or immediately after another hyphen.

", "smithy.api#required": {} } }, - "vpcIdentifier": { - "target": "com.amazonaws.vpclattice#VpcId", + "authType": { + "target": "com.amazonaws.vpclattice#AuthType", "traits": { - "smithy.api#documentation": "

The ID of the VPC.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The type of IAM policy.

\n
    \n
  • \n

    \n NONE: The resource does not use an IAM policy. This is the default.

    \n
  • \n
  • \n

    \n AWS_IAM: The resource uses an IAM policy. When this type is used, auth is enabled and an auth policy is required.

    \n
  • \n
" } }, - "securityGroupIds": { - "target": "com.amazonaws.vpclattice#SecurityGroupList", + "tags": { + "target": "com.amazonaws.vpclattice#TagMap", "traits": { - "smithy.api#documentation": "

The IDs of the security groups. Security groups aren't added by default. You can add a\n security group to apply network level controls to control which resources in a VPC are allowed to\n access the service network and its services. For more information, see Control traffic to\n resources using security groups in the Amazon VPC User\n Guide.

", - "smithy.api#length": { - "min": 0, - "max": 5 - } + "smithy.api#documentation": "

The tags for the service network.

" } }, - "tags": { - "target": "com.amazonaws.vpclattice#TagMap", + "sharingConfig": { + "target": "com.amazonaws.vpclattice#SharingConfig", "traits": { - "smithy.api#documentation": "

The tags for the association.

" + "smithy.api#documentation": "

Specify if the service network should be enabled for sharing.

" } } } }, - "com.amazonaws.vpclattice#CreateServiceNetworkVpcAssociationResponse": { - "type": "structure", - "members": { - "id": { - "target": "com.amazonaws.vpclattice#ServiceNetworkVpcAssociationId", - "traits": { - "smithy.api#documentation": "

The ID of the association.

" - } + "com.amazonaws.vpclattice#CreateServiceNetworkResourceAssociation": { + "type": "operation", + "input": { + "target": "com.amazonaws.vpclattice#CreateServiceNetworkResourceAssociationRequest" + }, + "output": { + "target": "com.amazonaws.vpclattice#CreateServiceNetworkResourceAssociationResponse" + }, + "errors": [ + { + "target": "com.amazonaws.vpclattice#AccessDeniedException" }, - "status": { - "target": "com.amazonaws.vpclattice#ServiceNetworkVpcAssociationStatus", - "traits": { - "smithy.api#documentation": "

The association status.

" - } + { + "target": "com.amazonaws.vpclattice#ConflictException" }, - "arn": { - "target": "com.amazonaws.vpclattice#ServiceNetworkVpcAssociationArn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the association.

" - } + { + "target": "com.amazonaws.vpclattice#InternalServerException" }, - "createdBy": { - "target": "com.amazonaws.vpclattice#AccountId", - "traits": { - "smithy.api#documentation": "

The account that created the association.

" - } + { + "target": "com.amazonaws.vpclattice#ResourceNotFoundException" }, - "securityGroupIds": { - "target": "com.amazonaws.vpclattice#SecurityGroupList", - "traits": { - "smithy.api#documentation": "

The IDs of the security groups.

" - } + { + "target": "com.amazonaws.vpclattice#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.vpclattice#ThrottlingException" + }, + { + "target": "com.amazonaws.vpclattice#ValidationException" } + ], + "traits": { + "smithy.api#documentation": "

Associates the specified service network with the specified resource configuration.\n This allows the resource configuration to receive connections through the service network,\n including through a service network VPC endpoint.

", + "smithy.api#http": { + "code": 201, + "uri": "/servicenetworkresourceassociations", + "method": "POST" + }, + "smithy.api#idempotent": {} } }, - "com.amazonaws.vpclattice#CreateServiceRequest": { + "com.amazonaws.vpclattice#CreateServiceNetworkResourceAssociationRequest": { "type": "structure", "members": { "clientToken": { @@ -1120,99 +1291,105 @@ "smithy.api#idempotencyToken": {} } }, - "name": { - "target": "com.amazonaws.vpclattice#ServiceName", + "resourceConfigurationIdentifier": { + "target": "com.amazonaws.vpclattice#ResourceConfigurationIdentifier", "traits": { - "smithy.api#documentation": "

The name of the service. The name must be unique within the account. The valid characters are a-z, 0-9, and hyphens (-). You can't use a \n hyphen as the first or last character, or immediately after another hyphen.

", + "smithy.api#documentation": "

The ID of the resource configuration to associate with the service network.

", "smithy.api#required": {} } }, - "tags": { - "target": "com.amazonaws.vpclattice#TagMap", - "traits": { - "smithy.api#documentation": "

The tags for the service.

" - } - }, - "customDomainName": { - "target": "com.amazonaws.vpclattice#ServiceCustomDomainName", - "traits": { - "smithy.api#documentation": "

The custom domain name of the service.

" - } - }, - "certificateArn": { - "target": "com.amazonaws.vpclattice#CertificateArn", + "serviceNetworkIdentifier": { + "target": "com.amazonaws.vpclattice#ServiceNetworkIdentifierWithoutRegex", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the certificate.

" + "smithy.api#documentation": "

The ID of the service network to associate with the resource configuration.

", + "smithy.api#required": {} } }, - "authType": { - "target": "com.amazonaws.vpclattice#AuthType", + "tags": { + "target": "com.amazonaws.vpclattice#TagMap", "traits": { - "smithy.api#documentation": "

The type of IAM policy.

\n
    \n
  • \n

    \n NONE: The resource does not use an IAM policy. This is the default.

    \n
  • \n
  • \n

    \n AWS_IAM: The resource uses an IAM policy. When this type is used, auth is enabled and an auth policy is required.

    \n
  • \n
" + "smithy.api#documentation": "

The tags for the association.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.vpclattice#CreateServiceResponse": { + "com.amazonaws.vpclattice#CreateServiceNetworkResourceAssociationResponse": { "type": "structure", "members": { "id": { - "target": "com.amazonaws.vpclattice#ServiceId", + "target": "com.amazonaws.vpclattice#ServiceNetworkResourceAssociationId", "traits": { - "smithy.api#documentation": "

The ID of the service.

" + "smithy.api#documentation": "

The ID of the association.

" } }, "arn": { - "target": "com.amazonaws.vpclattice#ServiceArn", + "target": "com.amazonaws.vpclattice#ServiceNetworkResourceAssociationArn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the service.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the association.

" } }, - "name": { - "target": "com.amazonaws.vpclattice#ServiceName", + "status": { + "target": "com.amazonaws.vpclattice#ServiceNetworkResourceAssociationStatus", "traits": { - "smithy.api#documentation": "

The name of the service.

" + "smithy.api#documentation": "

The status of the association.

" } }, - "customDomainName": { - "target": "com.amazonaws.vpclattice#ServiceCustomDomainName", + "createdBy": { + "target": "com.amazonaws.vpclattice#AccountId", "traits": { - "smithy.api#documentation": "

The custom domain name of the service.

" + "smithy.api#documentation": "

The ID of the account that created the association.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.vpclattice#CreateServiceNetworkResponse": { + "type": "structure", + "members": { + "id": { + "target": "com.amazonaws.vpclattice#ServiceNetworkId", + "traits": { + "smithy.api#documentation": "

The ID of the service network.

" } }, - "certificateArn": { - "target": "com.amazonaws.vpclattice#CertificateArn", + "name": { + "target": "com.amazonaws.vpclattice#ServiceNetworkName", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the certificate.

" + "smithy.api#documentation": "

The name of the service network.

" } }, - "status": { - "target": "com.amazonaws.vpclattice#ServiceStatus", + "arn": { + "target": "com.amazonaws.vpclattice#ServiceNetworkArn", "traits": { - "smithy.api#documentation": "

The status. If the status is CREATE_FAILED, you must delete and\n recreate the service.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the service network.

" } }, - "authType": { - "target": "com.amazonaws.vpclattice#AuthType", + "sharingConfig": { + "target": "com.amazonaws.vpclattice#SharingConfig", "traits": { - "smithy.api#documentation": "

The type of IAM policy.

" + "smithy.api#documentation": "

Specifies if the service network is enabled for sharing.

" } }, - "dnsEntry": { - "target": "com.amazonaws.vpclattice#DnsEntry", + "authType": { + "target": "com.amazonaws.vpclattice#AuthType", "traits": { - "smithy.api#documentation": "

The public DNS name of the service.

" + "smithy.api#documentation": "

The type of IAM policy.

" } } } }, - "com.amazonaws.vpclattice#CreateTargetGroup": { + "com.amazonaws.vpclattice#CreateServiceNetworkServiceAssociation": { "type": "operation", "input": { - "target": "com.amazonaws.vpclattice#CreateTargetGroupRequest" + "target": "com.amazonaws.vpclattice#CreateServiceNetworkServiceAssociationRequest" }, "output": { - "target": "com.amazonaws.vpclattice#CreateTargetGroupResponse" + "target": "com.amazonaws.vpclattice#CreateServiceNetworkServiceAssociationResponse" }, "errors": [ { @@ -1238,112 +1415,112 @@ } ], "traits": { - "smithy.api#documentation": "

Creates a target group. A target group is a collection of targets, or compute resources,\n that run your application or service. A target group can only be used by a single service.

\n

For more information, see Target groups in the\n Amazon VPC Lattice User Guide.

", + "smithy.api#documentation": "

Associates the specified service with the specified service network. For more information, see \n Manage service associations in the Amazon VPC Lattice User Guide.

\n

You can't use this operation if the service and service network are already associated or if\n there is a disassociation or deletion in progress. If the association fails, you can retry the\n operation by deleting the association and recreating it.

\n

You cannot associate a service and service network that are shared with a caller. The caller\n must own either the service or the service network.

\n

As a result of this operation, the association is created in the service network account and\n the association owner account.

", "smithy.api#http": { - "code": 201, - "uri": "/targetgroups", + "code": 200, + "uri": "/servicenetworkserviceassociations", "method": "POST" }, "smithy.api#idempotent": {} } }, - "com.amazonaws.vpclattice#CreateTargetGroupRequest": { + "com.amazonaws.vpclattice#CreateServiceNetworkServiceAssociationRequest": { "type": "structure", "members": { - "name": { - "target": "com.amazonaws.vpclattice#TargetGroupName", + "clientToken": { + "target": "com.amazonaws.vpclattice#ClientToken", "traits": { - "smithy.api#documentation": "

The name of the target group. The name must be unique within the account. The valid characters are a-z, 0-9, and hyphens (-). You can't use a \n hyphen as the first or last character, or immediately after another hyphen.

", - "smithy.api#required": {} + "smithy.api#documentation": "

A unique, case-sensitive identifier that you provide to ensure\n the idempotency of the request. If you retry a request that completed successfully using\n the same client token and parameters, the retry succeeds without performing any actions.\n If the parameters aren't identical, the retry fails.

", + "smithy.api#idempotencyToken": {} } }, - "type": { - "target": "com.amazonaws.vpclattice#TargetGroupType", + "serviceIdentifier": { + "target": "com.amazonaws.vpclattice#ServiceIdentifier", "traits": { - "smithy.api#documentation": "

The type of target group.

", + "smithy.api#documentation": "

The ID or ARN of the service.

", "smithy.api#required": {} } }, - "config": { - "target": "com.amazonaws.vpclattice#TargetGroupConfig", - "traits": { - "smithy.api#documentation": "

The target group configuration.

" - } - }, - "clientToken": { - "target": "com.amazonaws.vpclattice#ClientToken", + "serviceNetworkIdentifier": { + "target": "com.amazonaws.vpclattice#ServiceNetworkIdentifier", "traits": { - "smithy.api#documentation": "

A unique, case-sensitive identifier that you provide to ensure\n the idempotency of the request. If you retry a request that completed successfully using\n the same client token and parameters, the retry succeeds without performing any actions.\n If the parameters aren't identical, the retry fails.

", - "smithy.api#idempotencyToken": {} + "smithy.api#documentation": "

The ID or ARN of the service network. You must use an ARN if the resources are in different accounts.

", + "smithy.api#required": {} } }, "tags": { "target": "com.amazonaws.vpclattice#TagMap", "traits": { - "smithy.api#documentation": "

The tags for the target group.

" + "smithy.api#documentation": "

The tags for the association.

" } } } }, - "com.amazonaws.vpclattice#CreateTargetGroupResponse": { + "com.amazonaws.vpclattice#CreateServiceNetworkServiceAssociationResponse": { "type": "structure", "members": { "id": { - "target": "com.amazonaws.vpclattice#TargetGroupId", + "target": "com.amazonaws.vpclattice#ServiceNetworkServiceAssociationIdentifier", "traits": { - "smithy.api#documentation": "

The ID of the target group.

" + "smithy.api#documentation": "

The ID of the association.

" } }, - "arn": { - "target": "com.amazonaws.vpclattice#TargetGroupArn", + "status": { + "target": "com.amazonaws.vpclattice#ServiceNetworkServiceAssociationStatus", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the target group.

" + "smithy.api#documentation": "

The association status.

" } }, - "name": { - "target": "com.amazonaws.vpclattice#TargetGroupName", + "arn": { + "target": "com.amazonaws.vpclattice#ServiceNetworkServiceAssociationArn", "traits": { - "smithy.api#documentation": "

The name of the target group.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the association.

" } }, - "type": { - "target": "com.amazonaws.vpclattice#TargetGroupType", + "createdBy": { + "target": "com.amazonaws.vpclattice#AccountId", "traits": { - "smithy.api#documentation": "

The type of target group.

" + "smithy.api#documentation": "

The account that created the association.

" } }, - "config": { - "target": "com.amazonaws.vpclattice#TargetGroupConfig", + "customDomainName": { + "target": "com.amazonaws.vpclattice#ServiceCustomDomainName", "traits": { - "smithy.api#documentation": "

The target group configuration.

" + "smithy.api#documentation": "

The custom domain name of the service.

" } }, - "status": { - "target": "com.amazonaws.vpclattice#TargetGroupStatus", + "dnsEntry": { + "target": "com.amazonaws.vpclattice#DnsEntry", "traits": { - "smithy.api#documentation": "

The status. You can retry the operation if the status is CREATE_FAILED. \n However, if you retry it while the status is CREATE_IN_PROGRESS, there is \n no change in the status.

" + "smithy.api#documentation": "

The DNS name of the service.

" } } } }, - "com.amazonaws.vpclattice#DeleteAccessLogSubscription": { + "com.amazonaws.vpclattice#CreateServiceNetworkVpcAssociation": { "type": "operation", "input": { - "target": "com.amazonaws.vpclattice#DeleteAccessLogSubscriptionRequest" + "target": "com.amazonaws.vpclattice#CreateServiceNetworkVpcAssociationRequest" }, "output": { - "target": "com.amazonaws.vpclattice#DeleteAccessLogSubscriptionResponse" + "target": "com.amazonaws.vpclattice#CreateServiceNetworkVpcAssociationResponse" }, "errors": [ { "target": "com.amazonaws.vpclattice#AccessDeniedException" }, + { + "target": "com.amazonaws.vpclattice#ConflictException" + }, { "target": "com.amazonaws.vpclattice#InternalServerException" }, { "target": "com.amazonaws.vpclattice#ResourceNotFoundException" }, + { + "target": "com.amazonaws.vpclattice#ServiceQuotaExceededException" + }, { "target": "com.amazonaws.vpclattice#ThrottlingException" }, @@ -1352,95 +1529,199 @@ } ], "traits": { - "smithy.api#documentation": "

Deletes the specified access log subscription.

", + "smithy.api#documentation": "

Associates a VPC with a service network. When you associate a VPC with the service network,\n it enables all the resources within that VPC to be clients and communicate with other services in\n the service network. For more information, see Manage VPC associations in the Amazon VPC Lattice User Guide.

\n

You can't use this operation if there is a disassociation in progress. If the association\n fails, retry by deleting the association and recreating it.

\n

As a result of this operation, the association gets created in the service network account\n and the VPC owner account.

\n

If you add a security group to the service network and VPC association, the association must\n continue to always have at least one security group. You can add or edit security groups at any\n time. However, to remove all security groups, you must first delete the association and recreate\n it without security groups.

", "smithy.api#http": { - "code": 204, - "method": "DELETE", - "uri": "/accesslogsubscriptions/{accessLogSubscriptionIdentifier}" + "code": 200, + "uri": "/servicenetworkvpcassociations", + "method": "POST" }, "smithy.api#idempotent": {} } }, - "com.amazonaws.vpclattice#DeleteAccessLogSubscriptionRequest": { + "com.amazonaws.vpclattice#CreateServiceNetworkVpcAssociationRequest": { "type": "structure", "members": { - "accessLogSubscriptionIdentifier": { - "target": "com.amazonaws.vpclattice#AccessLogSubscriptionIdentifier", + "clientToken": { + "target": "com.amazonaws.vpclattice#ClientToken", "traits": { - "smithy.api#documentation": "

The ID or Amazon Resource Name (ARN) of the access log subscription.

", - "smithy.api#httpLabel": {}, + "smithy.api#documentation": "

A unique, case-sensitive identifier that you provide to ensure\n the idempotency of the request. If you retry a request that completed successfully using\n the same client token and parameters, the retry succeeds without performing any actions.\n If the parameters aren't identical, the retry fails.

", + "smithy.api#idempotencyToken": {} + } + }, + "serviceNetworkIdentifier": { + "target": "com.amazonaws.vpclattice#ServiceNetworkIdentifier", + "traits": { + "smithy.api#documentation": "

The ID or ARN of the service network. You must use an ARN if the resources are in different accounts.

", + "smithy.api#required": {} + } + }, + "vpcIdentifier": { + "target": "com.amazonaws.vpclattice#VpcId", + "traits": { + "smithy.api#documentation": "

The ID of the VPC.

", "smithy.api#required": {} } + }, + "securityGroupIds": { + "target": "com.amazonaws.vpclattice#SecurityGroupList", + "traits": { + "smithy.api#documentation": "

The IDs of the security groups. Security groups aren't added by default. You can add a\n security group to apply network level controls to control which resources in a VPC are allowed to\n access the service network and its services. For more information, see Control traffic to\n resources using security groups in the Amazon VPC User\n Guide.

", + "smithy.api#length": { + "min": 0, + "max": 5 + } + } + }, + "tags": { + "target": "com.amazonaws.vpclattice#TagMap", + "traits": { + "smithy.api#documentation": "

The tags for the association.

" + } } } }, - "com.amazonaws.vpclattice#DeleteAccessLogSubscriptionResponse": { + "com.amazonaws.vpclattice#CreateServiceNetworkVpcAssociationResponse": { "type": "structure", - "members": {} - }, - "com.amazonaws.vpclattice#DeleteAuthPolicy": { - "type": "operation", - "input": { - "target": "com.amazonaws.vpclattice#DeleteAuthPolicyRequest" - }, - "output": { - "target": "com.amazonaws.vpclattice#DeleteAuthPolicyResponse" - }, - "errors": [ - { - "target": "com.amazonaws.vpclattice#AccessDeniedException" + "members": { + "id": { + "target": "com.amazonaws.vpclattice#ServiceNetworkVpcAssociationId", + "traits": { + "smithy.api#documentation": "

The ID of the association.

" + } }, - { - "target": "com.amazonaws.vpclattice#InternalServerException" + "status": { + "target": "com.amazonaws.vpclattice#ServiceNetworkVpcAssociationStatus", + "traits": { + "smithy.api#documentation": "

The association status.

" + } }, - { - "target": "com.amazonaws.vpclattice#ResourceNotFoundException" + "arn": { + "target": "com.amazonaws.vpclattice#ServiceNetworkVpcAssociationArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the association.

" + } }, - { - "target": "com.amazonaws.vpclattice#ThrottlingException" + "createdBy": { + "target": "com.amazonaws.vpclattice#AccountId", + "traits": { + "smithy.api#documentation": "

The account that created the association.

" + } }, - { - "target": "com.amazonaws.vpclattice#ValidationException" + "securityGroupIds": { + "target": "com.amazonaws.vpclattice#SecurityGroupList", + "traits": { + "smithy.api#documentation": "

The IDs of the security groups.

" + } } - ], - "traits": { - "smithy.api#documentation": "

Deletes the specified auth policy. If an auth is set to AWS_IAM and the auth\n policy is deleted, all requests are denied. If you are trying to remove the auth\n policy completely, you must set the auth type to NONE. If auth is enabled on the\n resource, but no auth policy is set, all requests are denied.

", - "smithy.api#http": { - "code": 204, - "method": "DELETE", - "uri": "/authpolicy/{resourceIdentifier}" - }, - "smithy.api#idempotent": {} } }, - "com.amazonaws.vpclattice#DeleteAuthPolicyRequest": { + "com.amazonaws.vpclattice#CreateServiceRequest": { "type": "structure", "members": { - "resourceIdentifier": { - "target": "com.amazonaws.vpclattice#ResourceIdentifier", + "clientToken": { + "target": "com.amazonaws.vpclattice#ClientToken", "traits": { - "smithy.api#documentation": "

The ID or Amazon Resource Name (ARN) of the resource.

", - "smithy.api#httpLabel": {}, + "smithy.api#documentation": "

A unique, case-sensitive identifier that you provide to ensure\n the idempotency of the request. If you retry a request that completed successfully using\n the same client token and parameters, the retry succeeds without performing any actions.\n If the parameters aren't identical, the retry fails.

", + "smithy.api#idempotencyToken": {} + } + }, + "name": { + "target": "com.amazonaws.vpclattice#ServiceName", + "traits": { + "smithy.api#documentation": "

The name of the service. The name must be unique within the account. The valid characters are a-z, 0-9, and hyphens (-). You can't use a \n hyphen as the first or last character, or immediately after another hyphen.

", "smithy.api#required": {} } - } - } - }, - "com.amazonaws.vpclattice#DeleteAuthPolicyResponse": { - "type": "structure", - "members": {} - }, - "com.amazonaws.vpclattice#DeleteListener": { - "type": "operation", - "input": { - "target": "com.amazonaws.vpclattice#DeleteListenerRequest" - }, - "output": { - "target": "com.amazonaws.vpclattice#DeleteListenerResponse" - }, - "errors": [ - { - "target": "com.amazonaws.vpclattice#AccessDeniedException" + }, + "tags": { + "target": "com.amazonaws.vpclattice#TagMap", + "traits": { + "smithy.api#documentation": "

The tags for the service.

" + } + }, + "customDomainName": { + "target": "com.amazonaws.vpclattice#ServiceCustomDomainName", + "traits": { + "smithy.api#documentation": "

The custom domain name of the service.

" + } + }, + "certificateArn": { + "target": "com.amazonaws.vpclattice#CertificateArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the certificate.

" + } + }, + "authType": { + "target": "com.amazonaws.vpclattice#AuthType", + "traits": { + "smithy.api#documentation": "

The type of IAM policy.

\n
    \n
  • \n

    \n NONE: The resource does not use an IAM policy. This is the default.

    \n
  • \n
  • \n

    \n AWS_IAM: The resource uses an IAM policy. When this type is used, auth is enabled and an auth policy is required.

    \n
  • \n
" + } + } + } + }, + "com.amazonaws.vpclattice#CreateServiceResponse": { + "type": "structure", + "members": { + "id": { + "target": "com.amazonaws.vpclattice#ServiceId", + "traits": { + "smithy.api#documentation": "

The ID of the service.

" + } + }, + "arn": { + "target": "com.amazonaws.vpclattice#ServiceArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the service.

" + } + }, + "name": { + "target": "com.amazonaws.vpclattice#ServiceName", + "traits": { + "smithy.api#documentation": "

The name of the service.

" + } + }, + "customDomainName": { + "target": "com.amazonaws.vpclattice#ServiceCustomDomainName", + "traits": { + "smithy.api#documentation": "

The custom domain name of the service.

" + } + }, + "certificateArn": { + "target": "com.amazonaws.vpclattice#CertificateArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the certificate.

" + } + }, + "status": { + "target": "com.amazonaws.vpclattice#ServiceStatus", + "traits": { + "smithy.api#documentation": "

The status. If the status is CREATE_FAILED, you must delete and recreate the\n service.

" + } + }, + "authType": { + "target": "com.amazonaws.vpclattice#AuthType", + "traits": { + "smithy.api#documentation": "

The type of IAM policy.

" + } + }, + "dnsEntry": { + "target": "com.amazonaws.vpclattice#DnsEntry", + "traits": { + "smithy.api#documentation": "

The public DNS name of the service.

" + } + } + } + }, + "com.amazonaws.vpclattice#CreateTargetGroup": { + "type": "operation", + "input": { + "target": "com.amazonaws.vpclattice#CreateTargetGroupRequest" + }, + "output": { + "target": "com.amazonaws.vpclattice#CreateTargetGroupResponse" + }, + "errors": [ + { + "target": "com.amazonaws.vpclattice#AccessDeniedException" }, { "target": "com.amazonaws.vpclattice#ConflictException" @@ -1451,6 +1732,9 @@ { "target": "com.amazonaws.vpclattice#ResourceNotFoundException" }, + { + "target": "com.amazonaws.vpclattice#ServiceQuotaExceededException" + }, { "target": "com.amazonaws.vpclattice#ThrottlingException" }, @@ -1459,47 +1743,101 @@ } ], "traits": { - "smithy.api#documentation": "

Deletes the specified listener.

", + "smithy.api#documentation": "

Creates a target group. A target group is a collection of targets, or compute resources,\n that run your application or service. A target group can only be used by a single service.

\n

For more information, see Target groups in the\n Amazon VPC Lattice User Guide.

", "smithy.api#http": { - "code": 204, - "method": "DELETE", - "uri": "/services/{serviceIdentifier}/listeners/{listenerIdentifier}" + "code": 201, + "uri": "/targetgroups", + "method": "POST" }, "smithy.api#idempotent": {} } }, - "com.amazonaws.vpclattice#DeleteListenerRequest": { + "com.amazonaws.vpclattice#CreateTargetGroupRequest": { "type": "structure", "members": { - "serviceIdentifier": { - "target": "com.amazonaws.vpclattice#ServiceIdentifier", + "name": { + "target": "com.amazonaws.vpclattice#TargetGroupName", "traits": { - "smithy.api#documentation": "

The ID or Amazon Resource Name (ARN) of the service.

", - "smithy.api#httpLabel": {}, + "smithy.api#documentation": "

The name of the target group. The name must be unique within the account. The valid characters are a-z, 0-9, and hyphens (-). You can't use a \n hyphen as the first or last character, or immediately after another hyphen.

", "smithy.api#required": {} } }, - "listenerIdentifier": { - "target": "com.amazonaws.vpclattice#ListenerIdentifier", + "type": { + "target": "com.amazonaws.vpclattice#TargetGroupType", "traits": { - "smithy.api#documentation": "

The ID or Amazon Resource Name (ARN) of the listener.

", - "smithy.api#httpLabel": {}, + "smithy.api#documentation": "

The type of target group.

", "smithy.api#required": {} } + }, + "config": { + "target": "com.amazonaws.vpclattice#TargetGroupConfig", + "traits": { + "smithy.api#documentation": "

The target group configuration.

" + } + }, + "clientToken": { + "target": "com.amazonaws.vpclattice#ClientToken", + "traits": { + "smithy.api#documentation": "

A unique, case-sensitive identifier that you provide to ensure\n the idempotency of the request. If you retry a request that completed successfully using\n the same client token and parameters, the retry succeeds without performing any actions.\n If the parameters aren't identical, the retry fails.

", + "smithy.api#idempotencyToken": {} + } + }, + "tags": { + "target": "com.amazonaws.vpclattice#TagMap", + "traits": { + "smithy.api#documentation": "

The tags for the target group.

" + } } } }, - "com.amazonaws.vpclattice#DeleteListenerResponse": { + "com.amazonaws.vpclattice#CreateTargetGroupResponse": { "type": "structure", - "members": {} + "members": { + "id": { + "target": "com.amazonaws.vpclattice#TargetGroupId", + "traits": { + "smithy.api#documentation": "

The ID of the target group.

" + } + }, + "arn": { + "target": "com.amazonaws.vpclattice#TargetGroupArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the target group.

" + } + }, + "name": { + "target": "com.amazonaws.vpclattice#TargetGroupName", + "traits": { + "smithy.api#documentation": "

The name of the target group.

" + } + }, + "type": { + "target": "com.amazonaws.vpclattice#TargetGroupType", + "traits": { + "smithy.api#documentation": "

The type of target group.

" + } + }, + "config": { + "target": "com.amazonaws.vpclattice#TargetGroupConfig", + "traits": { + "smithy.api#documentation": "

The target group configuration.

" + } + }, + "status": { + "target": "com.amazonaws.vpclattice#TargetGroupStatus", + "traits": { + "smithy.api#documentation": "

The status. You can retry the operation if the status is CREATE_FAILED.\n However, if you retry it while the status is CREATE_IN_PROGRESS, there is no change\n in the status.

" + } + } + } }, - "com.amazonaws.vpclattice#DeleteResourcePolicy": { + "com.amazonaws.vpclattice#DeleteAccessLogSubscription": { "type": "operation", "input": { - "target": "com.amazonaws.vpclattice#DeleteResourcePolicyRequest" + "target": "com.amazonaws.vpclattice#DeleteAccessLogSubscriptionRequest" }, "output": { - "target": "com.amazonaws.vpclattice#DeleteResourcePolicyResponse" + "target": "com.amazonaws.vpclattice#DeleteAccessLogSubscriptionResponse" }, "errors": [ { @@ -1519,47 +1857,44 @@ } ], "traits": { - "smithy.api#documentation": "

Deletes the specified resource policy.

", + "smithy.api#documentation": "

Deletes the specified access log subscription.

", "smithy.api#http": { "code": 204, "method": "DELETE", - "uri": "/resourcepolicy/{resourceArn}" + "uri": "/accesslogsubscriptions/{accessLogSubscriptionIdentifier}" }, "smithy.api#idempotent": {} } }, - "com.amazonaws.vpclattice#DeleteResourcePolicyRequest": { + "com.amazonaws.vpclattice#DeleteAccessLogSubscriptionRequest": { "type": "structure", "members": { - "resourceArn": { - "target": "com.amazonaws.vpclattice#ResourceArn", + "accessLogSubscriptionIdentifier": { + "target": "com.amazonaws.vpclattice#AccessLogSubscriptionIdentifier", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the resource.

", + "smithy.api#documentation": "

The ID or ARN of the access log subscription.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } } } }, - "com.amazonaws.vpclattice#DeleteResourcePolicyResponse": { + "com.amazonaws.vpclattice#DeleteAccessLogSubscriptionResponse": { "type": "structure", "members": {} }, - "com.amazonaws.vpclattice#DeleteRule": { + "com.amazonaws.vpclattice#DeleteAuthPolicy": { "type": "operation", "input": { - "target": "com.amazonaws.vpclattice#DeleteRuleRequest" + "target": "com.amazonaws.vpclattice#DeleteAuthPolicyRequest" }, "output": { - "target": "com.amazonaws.vpclattice#DeleteRuleResponse" + "target": "com.amazonaws.vpclattice#DeleteAuthPolicyResponse" }, "errors": [ { "target": "com.amazonaws.vpclattice#AccessDeniedException" }, - { - "target": "com.amazonaws.vpclattice#ConflictException" - }, { "target": "com.amazonaws.vpclattice#InternalServerException" }, @@ -1574,55 +1909,39 @@ } ], "traits": { - "smithy.api#documentation": "

Deletes a listener rule. Each listener has a default rule for checking connection requests,\n but you can define additional rules. Each rule consists of a priority, one or more actions, and\n one or more conditions. You can delete additional listener rules, but you cannot delete the\n default rule.

\n

For more information, see Listener rules in the\n Amazon VPC Lattice User Guide.

", + "smithy.api#documentation": "

Deletes the specified auth policy. If an auth is set to AWS_IAM and the auth\n policy is deleted, all requests are denied. If you are trying to remove the auth policy\n completely, you must set the auth type to NONE. If auth is enabled on the resource,\n but no auth policy is set, all requests are denied.

", "smithy.api#http": { "code": 204, "method": "DELETE", - "uri": "/services/{serviceIdentifier}/listeners/{listenerIdentifier}/rules/{ruleIdentifier}" + "uri": "/authpolicy/{resourceIdentifier}" }, "smithy.api#idempotent": {} } }, - "com.amazonaws.vpclattice#DeleteRuleRequest": { + "com.amazonaws.vpclattice#DeleteAuthPolicyRequest": { "type": "structure", "members": { - "serviceIdentifier": { - "target": "com.amazonaws.vpclattice#ServiceIdentifier", - "traits": { - "smithy.api#documentation": "

The ID or Amazon Resource Name (ARN) of the service.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - }, - "listenerIdentifier": { - "target": "com.amazonaws.vpclattice#ListenerIdentifier", - "traits": { - "smithy.api#documentation": "

The ID or Amazon Resource Name (ARN) of the listener.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - }, - "ruleIdentifier": { - "target": "com.amazonaws.vpclattice#RuleIdentifier", + "resourceIdentifier": { + "target": "com.amazonaws.vpclattice#ResourceIdentifier", "traits": { - "smithy.api#documentation": "

The ID or Amazon Resource Name (ARN) of the rule.

", + "smithy.api#documentation": "

The ID or ARN of the resource.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } } } }, - "com.amazonaws.vpclattice#DeleteRuleResponse": { + "com.amazonaws.vpclattice#DeleteAuthPolicyResponse": { "type": "structure", "members": {} }, - "com.amazonaws.vpclattice#DeleteService": { + "com.amazonaws.vpclattice#DeleteListener": { "type": "operation", "input": { - "target": "com.amazonaws.vpclattice#DeleteServiceRequest" + "target": "com.amazonaws.vpclattice#DeleteListenerRequest" }, "output": { - "target": "com.amazonaws.vpclattice#DeleteServiceResponse" + "target": "com.amazonaws.vpclattice#DeleteListenerResponse" }, "errors": [ { @@ -1645,30 +1964,55 @@ } ], "traits": { - "smithy.api#documentation": "

Deletes a service. A service can't be deleted if it's associated with a service network. If\n you delete a service, all resources related to the service, such as the resource policy, auth\n policy, listeners, listener rules, and access log subscriptions, are also deleted. For more\n information, see Delete a service in the\n Amazon VPC Lattice User Guide.

", + "smithy.api#documentation": "

Deletes the specified listener.

", "smithy.api#http": { - "code": 200, - "uri": "/services/{serviceIdentifier}", - "method": "DELETE" + "code": 204, + "method": "DELETE", + "uri": "/services/{serviceIdentifier}/listeners/{listenerIdentifier}" }, "smithy.api#idempotent": {} } }, - "com.amazonaws.vpclattice#DeleteServiceNetwork": { - "type": "operation", - "input": { - "target": "com.amazonaws.vpclattice#DeleteServiceNetworkRequest" - }, - "output": { - "target": "com.amazonaws.vpclattice#DeleteServiceNetworkResponse" - }, - "errors": [ - { - "target": "com.amazonaws.vpclattice#AccessDeniedException" - }, - { - "target": "com.amazonaws.vpclattice#ConflictException" - }, + "com.amazonaws.vpclattice#DeleteListenerRequest": { + "type": "structure", + "members": { + "serviceIdentifier": { + "target": "com.amazonaws.vpclattice#ServiceIdentifier", + "traits": { + "smithy.api#documentation": "

The ID or ARN of the service.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "listenerIdentifier": { + "target": "com.amazonaws.vpclattice#ListenerIdentifier", + "traits": { + "smithy.api#documentation": "

The ID or ARN of the listener.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.vpclattice#DeleteListenerResponse": { + "type": "structure", + "members": {} + }, + "com.amazonaws.vpclattice#DeleteResourceConfiguration": { + "type": "operation", + "input": { + "target": "com.amazonaws.vpclattice#DeleteResourceConfigurationRequest" + }, + "output": { + "target": "com.amazonaws.vpclattice#DeleteResourceConfigurationResponse" + }, + "errors": [ + { + "target": "com.amazonaws.vpclattice#AccessDeniedException" + }, + { + "target": "com.amazonaws.vpclattice#ConflictException" + }, { "target": "com.amazonaws.vpclattice#InternalServerException" }, @@ -1683,47 +2027,50 @@ } ], "traits": { - "smithy.api#documentation": "

Deletes a service network. You can only delete the service network if there is no service or\n VPC associated with it. If you delete a service network, all resources related to the service\n network, such as the resource policy, auth policy, and access log subscriptions, are also\n deleted. For more information, see Delete a service\n network in the Amazon VPC Lattice User Guide.

", + "smithy.api#documentation": "

Deletes the specified resource configuration.

", "smithy.api#http": { "code": 204, - "uri": "/servicenetworks/{serviceNetworkIdentifier}", - "method": "DELETE" + "method": "DELETE", + "uri": "/resourceconfigurations/{resourceConfigurationIdentifier}" }, "smithy.api#idempotent": {} } }, - "com.amazonaws.vpclattice#DeleteServiceNetworkRequest": { + "com.amazonaws.vpclattice#DeleteResourceConfigurationRequest": { "type": "structure", "members": { - "serviceNetworkIdentifier": { - "target": "com.amazonaws.vpclattice#ServiceNetworkIdentifier", + "resourceConfigurationIdentifier": { + "target": "com.amazonaws.vpclattice#ResourceConfigurationIdentifier", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) or ID of the service network.

", + "smithy.api#documentation": "

The ID or ARN of the resource configuration.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.vpclattice#DeleteServiceNetworkResponse": { + "com.amazonaws.vpclattice#DeleteResourceConfigurationResponse": { "type": "structure", - "members": {} + "members": {}, + "traits": { + "smithy.api#output": {} + } }, - "com.amazonaws.vpclattice#DeleteServiceNetworkServiceAssociation": { + "com.amazonaws.vpclattice#DeleteResourceEndpointAssociation": { "type": "operation", "input": { - "target": "com.amazonaws.vpclattice#DeleteServiceNetworkServiceAssociationRequest" + "target": "com.amazonaws.vpclattice#DeleteResourceEndpointAssociationRequest" }, "output": { - "target": "com.amazonaws.vpclattice#DeleteServiceNetworkServiceAssociationResponse" + "target": "com.amazonaws.vpclattice#DeleteResourceEndpointAssociationResponse" }, "errors": [ { "target": "com.amazonaws.vpclattice#AccessDeniedException" }, - { - "target": "com.amazonaws.vpclattice#ConflictException" - }, { "target": "com.amazonaws.vpclattice#InternalServerException" }, @@ -1738,58 +2085,76 @@ } ], "traits": { - "smithy.api#documentation": "

Deletes the association between a specified service and the specific service network. This\n operation fails if an association is still in progress.

", + "smithy.api#documentation": "

Disassociates the resource configuration from the resource VPC endpoint.

", "smithy.api#http": { "code": 200, - "uri": "/servicenetworkserviceassociations/{serviceNetworkServiceAssociationIdentifier}", + "uri": "/resourceendpointassociations/{resourceEndpointAssociationIdentifier}", "method": "DELETE" }, "smithy.api#idempotent": {} } }, - "com.amazonaws.vpclattice#DeleteServiceNetworkServiceAssociationRequest": { + "com.amazonaws.vpclattice#DeleteResourceEndpointAssociationRequest": { "type": "structure", "members": { - "serviceNetworkServiceAssociationIdentifier": { - "target": "com.amazonaws.vpclattice#ServiceNetworkServiceAssociationIdentifier", + "resourceEndpointAssociationIdentifier": { + "target": "com.amazonaws.vpclattice#ResourceEndpointAssociationIdentifier", "traits": { - "smithy.api#documentation": "

The ID or Amazon Resource Name (ARN) of the association.

", + "smithy.api#documentation": "

The ID or ARN of the association.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.vpclattice#DeleteServiceNetworkServiceAssociationResponse": { + "com.amazonaws.vpclattice#DeleteResourceEndpointAssociationResponse": { "type": "structure", "members": { "id": { - "target": "com.amazonaws.vpclattice#ServiceNetworkServiceAssociationIdentifier", + "target": "com.amazonaws.vpclattice#ResourceEndpointAssociationId", "traits": { "smithy.api#documentation": "

The ID of the association.

" } }, - "status": { - "target": "com.amazonaws.vpclattice#ServiceNetworkServiceAssociationStatus", + "arn": { + "target": "com.amazonaws.vpclattice#ResourceEndpointAssociationArn", "traits": { - "smithy.api#documentation": "

The status. You can retry the operation if the status is DELETE_FAILED. \n However, if you retry it when the status is DELETE_IN_PROGRESS, there is no \n change in the status.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the association.

" } }, - "arn": { - "target": "com.amazonaws.vpclattice#ServiceNetworkServiceAssociationArn", + "resourceConfigurationId": { + "target": "com.amazonaws.vpclattice#ResourceConfigurationId", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the association.

" + "smithy.api#documentation": "

The ID of the resource configuration.

" + } + }, + "resourceConfigurationArn": { + "target": "com.amazonaws.vpclattice#ResourceConfigurationArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the resource configuration associated with the VPC\n endpoint of type resource.

" + } + }, + "vpcEndpointId": { + "target": "com.amazonaws.vpclattice#VpcEndpointId", + "traits": { + "smithy.api#documentation": "

The ID of the resource VPC endpoint that is associated with the resource configuration.

" } } + }, + "traits": { + "smithy.api#output": {} } }, - "com.amazonaws.vpclattice#DeleteServiceNetworkVpcAssociation": { + "com.amazonaws.vpclattice#DeleteResourceGateway": { "type": "operation", "input": { - "target": "com.amazonaws.vpclattice#DeleteServiceNetworkVpcAssociationRequest" + "target": "com.amazonaws.vpclattice#DeleteResourceGatewayRequest" }, "output": { - "target": "com.amazonaws.vpclattice#DeleteServiceNetworkVpcAssociationResponse" + "target": "com.amazonaws.vpclattice#DeleteResourceGatewayResponse" }, "errors": [ { @@ -1812,104 +2177,74 @@ } ], "traits": { - "smithy.api#documentation": "

Disassociates the VPC from the service network. You can't disassociate the VPC if there is a\n create or update association in progress.

", + "smithy.api#documentation": "

Deletes the specified resource gateway.

", "smithy.api#http": { "code": 200, - "uri": "/servicenetworkvpcassociations/{serviceNetworkVpcAssociationIdentifier}", + "uri": "/resourcegateways/{resourceGatewayIdentifier}", "method": "DELETE" }, "smithy.api#idempotent": {} } }, - "com.amazonaws.vpclattice#DeleteServiceNetworkVpcAssociationRequest": { - "type": "structure", - "members": { - "serviceNetworkVpcAssociationIdentifier": { - "target": "com.amazonaws.vpclattice#ServiceNetworkVpcAssociationIdentifier", - "traits": { - "smithy.api#documentation": "

The ID or Amazon Resource Name (ARN) of the association.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - } - } - }, - "com.amazonaws.vpclattice#DeleteServiceNetworkVpcAssociationResponse": { - "type": "structure", - "members": { - "id": { - "target": "com.amazonaws.vpclattice#ServiceNetworkVpcAssociationId", - "traits": { - "smithy.api#documentation": "

The ID of the association.

" - } - }, - "status": { - "target": "com.amazonaws.vpclattice#ServiceNetworkVpcAssociationStatus", - "traits": { - "smithy.api#documentation": "

The status. You can retry the operation if the status is DELETE_FAILED.\n However, if you retry it while the status is DELETE_IN_PROGRESS, there is no change\n in the status.

" - } - }, - "arn": { - "target": "com.amazonaws.vpclattice#ServiceNetworkVpcAssociationArn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the association.

" - } - } - } - }, - "com.amazonaws.vpclattice#DeleteServiceRequest": { + "com.amazonaws.vpclattice#DeleteResourceGatewayRequest": { "type": "structure", "members": { - "serviceIdentifier": { - "target": "com.amazonaws.vpclattice#ServiceIdentifier", + "resourceGatewayIdentifier": { + "target": "com.amazonaws.vpclattice#ResourceGatewayIdentifier", "traits": { - "smithy.api#documentation": "

The ID or Amazon Resource Name (ARN) of the service.

", + "smithy.api#documentation": "

The ID or ARN of the resource gateway.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.vpclattice#DeleteServiceResponse": { + "com.amazonaws.vpclattice#DeleteResourceGatewayResponse": { "type": "structure", "members": { "id": { - "target": "com.amazonaws.vpclattice#ServiceId", + "target": "com.amazonaws.vpclattice#ResourceGatewayId", "traits": { - "smithy.api#documentation": "

The ID of the service.

" + "smithy.api#documentation": "

The ID of the resource gateway.

" } }, "arn": { - "target": "com.amazonaws.vpclattice#ServiceArn", + "target": "com.amazonaws.vpclattice#ResourceGatewayArn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the service.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the resource gateway.

" } }, "name": { - "target": "com.amazonaws.vpclattice#ServiceName", + "target": "com.amazonaws.vpclattice#ResourceGatewayName", "traits": { - "smithy.api#documentation": "

The name of the service.

" + "smithy.api#documentation": "

The name of the resource gateway.

" } }, "status": { - "target": "com.amazonaws.vpclattice#ServiceStatus", + "target": "com.amazonaws.vpclattice#ResourceGatewayStatus", "traits": { - "smithy.api#documentation": "

The status. You can retry the operation if the status is DELETE_FAILED.\n However, if you retry it while the status is DELETE_IN_PROGRESS, the status doesn't\n change.

" + "smithy.api#documentation": "

The status of the resource gateway.

" } } + }, + "traits": { + "smithy.api#output": {} } }, - "com.amazonaws.vpclattice#DeleteTargetGroup": { + "com.amazonaws.vpclattice#DeleteResourcePolicy": { "type": "operation", "input": { - "target": "com.amazonaws.vpclattice#DeleteTargetGroupRequest" + "target": "com.amazonaws.vpclattice#DeleteResourcePolicyRequest" }, "output": { - "target": "com.amazonaws.vpclattice#DeleteTargetGroupResponse" + "target": "com.amazonaws.vpclattice#DeleteResourcePolicyResponse" }, "errors": [ { - "target": "com.amazonaws.vpclattice#ConflictException" + "target": "com.amazonaws.vpclattice#AccessDeniedException" }, { "target": "com.amazonaws.vpclattice#InternalServerException" @@ -1925,58 +2260,39 @@ } ], "traits": { - "smithy.api#documentation": "

Deletes a target group. You can't delete a target group if it is used in a listener rule or\n if the target group creation is in progress.

", + "smithy.api#documentation": "

Deletes the specified resource policy.

", "smithy.api#http": { - "code": 200, - "uri": "/targetgroups/{targetGroupIdentifier}", - "method": "DELETE" + "code": 204, + "method": "DELETE", + "uri": "/resourcepolicy/{resourceArn}" }, "smithy.api#idempotent": {} } }, - "com.amazonaws.vpclattice#DeleteTargetGroupRequest": { + "com.amazonaws.vpclattice#DeleteResourcePolicyRequest": { "type": "structure", "members": { - "targetGroupIdentifier": { - "target": "com.amazonaws.vpclattice#TargetGroupIdentifier", + "resourceArn": { + "target": "com.amazonaws.vpclattice#ResourceArn", "traits": { - "smithy.api#documentation": "

The ID or Amazon Resource Name (ARN) of the target group.

", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the resource.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } } } }, - "com.amazonaws.vpclattice#DeleteTargetGroupResponse": { + "com.amazonaws.vpclattice#DeleteResourcePolicyResponse": { "type": "structure", - "members": { - "id": { - "target": "com.amazonaws.vpclattice#TargetGroupId", - "traits": { - "smithy.api#documentation": "

The ID of the target group.

" - } - }, - "arn": { - "target": "com.amazonaws.vpclattice#TargetGroupArn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the target group.

" - } - }, - "status": { - "target": "com.amazonaws.vpclattice#TargetGroupStatus", - "traits": { - "smithy.api#documentation": "

The status. You can retry the operation if the status is DELETE_FAILED.\n However, if you retry it while the status is DELETE_IN_PROGRESS, the status doesn't\n change.

" - } - } - } + "members": {} }, - "com.amazonaws.vpclattice#DeregisterTargets": { + "com.amazonaws.vpclattice#DeleteRule": { "type": "operation", "input": { - "target": "com.amazonaws.vpclattice#DeregisterTargetsRequest" + "target": "com.amazonaws.vpclattice#DeleteRuleRequest" }, "output": { - "target": "com.amazonaws.vpclattice#DeregisterTargetsResponse" + "target": "com.amazonaws.vpclattice#DeleteRuleResponse" }, "errors": [ { @@ -1999,124 +2315,152 @@ } ], "traits": { - "smithy.api#documentation": "

Deregisters the specified targets from the specified target group.

", + "smithy.api#documentation": "

Deletes a listener rule. Each listener has a default rule for checking connection requests,\n but you can define additional rules. Each rule consists of a priority, one or more actions, and\n one or more conditions. You can delete additional listener rules, but you cannot delete the\n default rule.

\n

For more information, see Listener rules in the\n Amazon VPC Lattice User Guide.

", "smithy.api#http": { - "code": 200, - "uri": "/targetgroups/{targetGroupIdentifier}/deregistertargets", - "method": "POST" + "code": 204, + "method": "DELETE", + "uri": "/services/{serviceIdentifier}/listeners/{listenerIdentifier}/rules/{ruleIdentifier}" }, "smithy.api#idempotent": {} } }, - "com.amazonaws.vpclattice#DeregisterTargetsRequest": { + "com.amazonaws.vpclattice#DeleteRuleRequest": { "type": "structure", "members": { - "targetGroupIdentifier": { - "target": "com.amazonaws.vpclattice#TargetGroupIdentifier", + "serviceIdentifier": { + "target": "com.amazonaws.vpclattice#ServiceIdentifier", "traits": { - "smithy.api#documentation": "

The ID or Amazon Resource Name (ARN) of the target group.

", + "smithy.api#documentation": "

The ID or ARN of the service.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, - "targets": { - "target": "com.amazonaws.vpclattice#TargetList", + "listenerIdentifier": { + "target": "com.amazonaws.vpclattice#ListenerIdentifier", "traits": { - "smithy.api#documentation": "

The targets to deregister.

", - "smithy.api#length": { - "min": 1, - "max": 100 - }, + "smithy.api#documentation": "

The ID or ARN of the listener.

", + "smithy.api#httpLabel": {}, "smithy.api#required": {} } - } - } - }, - "com.amazonaws.vpclattice#DeregisterTargetsResponse": { - "type": "structure", - "members": { - "successful": { - "target": "com.amazonaws.vpclattice#TargetList", - "traits": { - "smithy.api#documentation": "

The targets that were successfully deregistered.

" - } }, - "unsuccessful": { - "target": "com.amazonaws.vpclattice#TargetFailureList", + "ruleIdentifier": { + "target": "com.amazonaws.vpclattice#RuleIdentifier", "traits": { - "smithy.api#documentation": "

The targets that the operation couldn't deregister.

" + "smithy.api#documentation": "

The ID or ARN of the rule.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} } } } }, - "com.amazonaws.vpclattice#DnsEntry": { + "com.amazonaws.vpclattice#DeleteRuleResponse": { "type": "structure", - "members": { - "domainName": { - "target": "smithy.api#String", - "traits": { - "smithy.api#documentation": "

The domain name of the service.

" - } - }, - "hostedZoneId": { - "target": "smithy.api#String", - "traits": { - "smithy.api#documentation": "

The ID of the hosted zone.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Describes the DNS information of a service.

" - } - }, - "com.amazonaws.vpclattice#FailureCode": { - "type": "string" - }, - "com.amazonaws.vpclattice#FailureMessage": { - "type": "string" + "members": {} }, - "com.amazonaws.vpclattice#FixedResponseAction": { - "type": "structure", - "members": { - "statusCode": { - "target": "com.amazonaws.vpclattice#HttpStatusCode", - "traits": { - "smithy.api#documentation": "

The HTTP response code.

", - "smithy.api#required": {} - } + "com.amazonaws.vpclattice#DeleteService": { + "type": "operation", + "input": { + "target": "com.amazonaws.vpclattice#DeleteServiceRequest" + }, + "output": { + "target": "com.amazonaws.vpclattice#DeleteServiceResponse" + }, + "errors": [ + { + "target": "com.amazonaws.vpclattice#AccessDeniedException" + }, + { + "target": "com.amazonaws.vpclattice#ConflictException" + }, + { + "target": "com.amazonaws.vpclattice#InternalServerException" + }, + { + "target": "com.amazonaws.vpclattice#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.vpclattice#ThrottlingException" + }, + { + "target": "com.amazonaws.vpclattice#ValidationException" } + ], + "traits": { + "smithy.api#documentation": "

Deletes a service. A service can't be deleted if it's associated with a service network. If\n you delete a service, all resources related to the service, such as the resource policy, auth\n policy, listeners, listener rules, and access log subscriptions, are also deleted. For more\n information, see Delete a service in the\n Amazon VPC Lattice User Guide.

", + "smithy.api#http": { + "code": 200, + "uri": "/services/{serviceIdentifier}", + "method": "DELETE" + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.vpclattice#DeleteServiceNetwork": { + "type": "operation", + "input": { + "target": "com.amazonaws.vpclattice#DeleteServiceNetworkRequest" + }, + "output": { + "target": "com.amazonaws.vpclattice#DeleteServiceNetworkResponse" }, + "errors": [ + { + "target": "com.amazonaws.vpclattice#AccessDeniedException" + }, + { + "target": "com.amazonaws.vpclattice#ConflictException" + }, + { + "target": "com.amazonaws.vpclattice#InternalServerException" + }, + { + "target": "com.amazonaws.vpclattice#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.vpclattice#ThrottlingException" + }, + { + "target": "com.amazonaws.vpclattice#ValidationException" + } + ], "traits": { - "smithy.api#documentation": "

Describes an action that returns a custom HTTP response.

" + "smithy.api#documentation": "

Deletes a service network. You can only delete the service network if there is no service or\n VPC associated with it. If you delete a service network, all resources related to the service\n network, such as the resource policy, auth policy, and access log subscriptions, are also\n deleted. For more information, see Delete a service\n network in the Amazon VPC Lattice User Guide.

", + "smithy.api#http": { + "code": 204, + "uri": "/servicenetworks/{serviceNetworkIdentifier}", + "method": "DELETE" + }, + "smithy.api#idempotent": {} } }, - "com.amazonaws.vpclattice#ForwardAction": { + "com.amazonaws.vpclattice#DeleteServiceNetworkRequest": { "type": "structure", "members": { - "targetGroups": { - "target": "com.amazonaws.vpclattice#WeightedTargetGroupList", + "serviceNetworkIdentifier": { + "target": "com.amazonaws.vpclattice#ServiceNetworkIdentifier", "traits": { - "smithy.api#documentation": "

The target groups. Traffic matching the rule is forwarded to the specified target groups.\n With forward actions, you can assign a weight that controls the prioritization and selection of\n each target group. This means that requests are distributed to individual target groups based on\n their weights. For example, if two target groups have the same weight, each target group receives\n half of the traffic.

\n

The default value is 1. This means that if only one target group is provided, there is no\n need to set the weight; 100% of the traffic goes to that target group.

", + "smithy.api#documentation": "

The ID or ARN of the service network.

", + "smithy.api#httpLabel": {}, "smithy.api#required": {} } } - }, - "traits": { - "smithy.api#documentation": "

Describes a forward action. You can use forward actions to route requests to one or more\n target groups.\n

" } }, - "com.amazonaws.vpclattice#GetAccessLogSubscription": { + "com.amazonaws.vpclattice#DeleteServiceNetworkResourceAssociation": { "type": "operation", "input": { - "target": "com.amazonaws.vpclattice#GetAccessLogSubscriptionRequest" + "target": "com.amazonaws.vpclattice#DeleteServiceNetworkResourceAssociationRequest" }, "output": { - "target": "com.amazonaws.vpclattice#GetAccessLogSubscriptionResponse" + "target": "com.amazonaws.vpclattice#DeleteServiceNetworkResourceAssociationResponse" }, "errors": [ { "target": "com.amazonaws.vpclattice#AccessDeniedException" }, + { + "target": "com.amazonaws.vpclattice#ConflictException" + }, { "target": "com.amazonaws.vpclattice#InternalServerException" }, @@ -2131,94 +2475,76 @@ } ], "traits": { - "smithy.api#documentation": "

Retrieves information about the specified access log subscription.

", + "smithy.api#documentation": "

Deletes the association between a service network and a resource configuration.

", "smithy.api#http": { "code": 200, - "method": "GET", - "uri": "/accesslogsubscriptions/{accessLogSubscriptionIdentifier}" + "uri": "/servicenetworkresourceassociations/{serviceNetworkResourceAssociationIdentifier}", + "method": "DELETE" }, - "smithy.api#readonly": {} + "smithy.api#idempotent": {} } }, - "com.amazonaws.vpclattice#GetAccessLogSubscriptionRequest": { + "com.amazonaws.vpclattice#DeleteServiceNetworkResourceAssociationRequest": { "type": "structure", "members": { - "accessLogSubscriptionIdentifier": { - "target": "com.amazonaws.vpclattice#AccessLogSubscriptionIdentifier", + "serviceNetworkResourceAssociationIdentifier": { + "target": "com.amazonaws.vpclattice#ServiceNetworkResourceAssociationIdentifier", "traits": { - "smithy.api#documentation": "

The ID or Amazon Resource Name (ARN) of the access log subscription.

", + "smithy.api#documentation": "

The ID of the association.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.vpclattice#GetAccessLogSubscriptionResponse": { + "com.amazonaws.vpclattice#DeleteServiceNetworkResourceAssociationResponse": { "type": "structure", "members": { "id": { - "target": "com.amazonaws.vpclattice#AccessLogSubscriptionId", + "target": "com.amazonaws.vpclattice#ServiceNetworkResourceAssociationId", "traits": { - "smithy.api#documentation": "

The ID of the access log subscription.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The ID of the association.

" } }, "arn": { - "target": "com.amazonaws.vpclattice#AccessLogSubscriptionArn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the access log subscription.

", - "smithy.api#required": {} - } - }, - "resourceId": { - "target": "com.amazonaws.vpclattice#ResourceId", - "traits": { - "smithy.api#documentation": "

The ID of the service network or service.

", - "smithy.api#required": {} - } - }, - "resourceArn": { - "target": "com.amazonaws.vpclattice#ResourceArn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the service network or service.

", - "smithy.api#required": {} - } - }, - "destinationArn": { - "target": "com.amazonaws.vpclattice#AccessLogDestinationArn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the access log destination.

", - "smithy.api#required": {} - } - }, - "createdAt": { - "target": "com.amazonaws.vpclattice#Timestamp", + "target": "com.amazonaws.vpclattice#ServiceNetworkResourceAssociationArn", "traits": { - "smithy.api#documentation": "

The date and time that the access log subscription was created, specified in ISO-8601\n format.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the association.

" } }, - "lastUpdatedAt": { - "target": "com.amazonaws.vpclattice#Timestamp", + "status": { + "target": "com.amazonaws.vpclattice#ServiceNetworkResourceAssociationStatus", "traits": { - "smithy.api#documentation": "

The date and time that the access log subscription was last updated, specified in ISO-8601\n format.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The status of the association.

" } } + }, + "traits": { + "smithy.api#output": {} } }, - "com.amazonaws.vpclattice#GetAuthPolicy": { + "com.amazonaws.vpclattice#DeleteServiceNetworkResponse": { + "type": "structure", + "members": {} + }, + "com.amazonaws.vpclattice#DeleteServiceNetworkServiceAssociation": { "type": "operation", "input": { - "target": "com.amazonaws.vpclattice#GetAuthPolicyRequest" + "target": "com.amazonaws.vpclattice#DeleteServiceNetworkServiceAssociationRequest" }, "output": { - "target": "com.amazonaws.vpclattice#GetAuthPolicyResponse" + "target": "com.amazonaws.vpclattice#DeleteServiceNetworkServiceAssociationResponse" }, "errors": [ { "target": "com.amazonaws.vpclattice#AccessDeniedException" }, + { + "target": "com.amazonaws.vpclattice#ConflictException" + }, { "target": "com.amazonaws.vpclattice#InternalServerException" }, @@ -2233,69 +2559,66 @@ } ], "traits": { - "smithy.api#documentation": "

Retrieves information about the auth policy for the specified service or service\n network.

", + "smithy.api#documentation": "

Deletes the association between a service and a service network. This\n operation fails if an association is still in progress.

", "smithy.api#http": { "code": 200, - "method": "GET", - "uri": "/authpolicy/{resourceIdentifier}" + "uri": "/servicenetworkserviceassociations/{serviceNetworkServiceAssociationIdentifier}", + "method": "DELETE" }, - "smithy.api#readonly": {} + "smithy.api#idempotent": {} } }, - "com.amazonaws.vpclattice#GetAuthPolicyRequest": { + "com.amazonaws.vpclattice#DeleteServiceNetworkServiceAssociationRequest": { "type": "structure", "members": { - "resourceIdentifier": { - "target": "com.amazonaws.vpclattice#ResourceIdentifier", + "serviceNetworkServiceAssociationIdentifier": { + "target": "com.amazonaws.vpclattice#ServiceNetworkServiceAssociationIdentifier", "traits": { - "smithy.api#documentation": "

The ID or Amazon Resource Name (ARN) of the service network or service.

", + "smithy.api#documentation": "

The ID or ARN of the association.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } } } }, - "com.amazonaws.vpclattice#GetAuthPolicyResponse": { + "com.amazonaws.vpclattice#DeleteServiceNetworkServiceAssociationResponse": { "type": "structure", "members": { - "policy": { - "target": "com.amazonaws.vpclattice#AuthPolicyString", - "traits": { - "smithy.api#documentation": "

The auth policy.

" - } - }, - "state": { - "target": "com.amazonaws.vpclattice#AuthPolicyState", + "id": { + "target": "com.amazonaws.vpclattice#ServiceNetworkServiceAssociationIdentifier", "traits": { - "smithy.api#documentation": "

The state of the auth policy. The auth policy is only active when the auth type is set to\n AWS_IAM. If you provide a policy, then authentication and authorization decisions\n are made based on this policy and the client's IAM policy. If the auth type is NONE,\n then any auth policy that you provide remains inactive. For more information, see Create a service network in the Amazon VPC Lattice User Guide.

" + "smithy.api#documentation": "

The ID of the association.

" } }, - "createdAt": { - "target": "com.amazonaws.vpclattice#Timestamp", + "status": { + "target": "com.amazonaws.vpclattice#ServiceNetworkServiceAssociationStatus", "traits": { - "smithy.api#documentation": "

The date and time that the auth policy was created, specified in ISO-8601 format.

" + "smithy.api#documentation": "

The status. You can retry the operation if the status is DELETE_FAILED.\n However, if you retry it when the status is DELETE_IN_PROGRESS, there is no change\n in the status.

" } }, - "lastUpdatedAt": { - "target": "com.amazonaws.vpclattice#Timestamp", + "arn": { + "target": "com.amazonaws.vpclattice#ServiceNetworkServiceAssociationArn", "traits": { - "smithy.api#documentation": "

The date and time that the auth policy was last updated, specified in ISO-8601\n format.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the association.

" } } } }, - "com.amazonaws.vpclattice#GetListener": { + "com.amazonaws.vpclattice#DeleteServiceNetworkVpcAssociation": { "type": "operation", "input": { - "target": "com.amazonaws.vpclattice#GetListenerRequest" + "target": "com.amazonaws.vpclattice#DeleteServiceNetworkVpcAssociationRequest" }, "output": { - "target": "com.amazonaws.vpclattice#GetListenerResponse" + "target": "com.amazonaws.vpclattice#DeleteServiceNetworkVpcAssociationResponse" }, "errors": [ { "target": "com.amazonaws.vpclattice#AccessDeniedException" }, + { + "target": "com.amazonaws.vpclattice#ConflictException" + }, { "target": "com.amazonaws.vpclattice#InternalServerException" }, @@ -2310,112 +2633,104 @@ } ], "traits": { - "smithy.api#documentation": "

Retrieves information about the specified listener for the specified service.

", + "smithy.api#documentation": "

Disassociates the VPC from the service network. You can't disassociate the VPC if there is a\n create or update association in progress.

", "smithy.api#http": { "code": 200, - "method": "GET", - "uri": "/services/{serviceIdentifier}/listeners/{listenerIdentifier}" + "uri": "/servicenetworkvpcassociations/{serviceNetworkVpcAssociationIdentifier}", + "method": "DELETE" }, - "smithy.api#readonly": {} + "smithy.api#idempotent": {} } }, - "com.amazonaws.vpclattice#GetListenerRequest": { + "com.amazonaws.vpclattice#DeleteServiceNetworkVpcAssociationRequest": { "type": "structure", "members": { - "serviceIdentifier": { - "target": "com.amazonaws.vpclattice#ServiceIdentifier", - "traits": { - "smithy.api#documentation": "

The ID or Amazon Resource Name (ARN) of the service.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - }, - "listenerIdentifier": { - "target": "com.amazonaws.vpclattice#ListenerIdentifier", + "serviceNetworkVpcAssociationIdentifier": { + "target": "com.amazonaws.vpclattice#ServiceNetworkVpcAssociationIdentifier", "traits": { - "smithy.api#documentation": "

The ID or Amazon Resource Name (ARN) of the listener.

", + "smithy.api#documentation": "

The ID or ARN of the association.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } } } }, - "com.amazonaws.vpclattice#GetListenerResponse": { + "com.amazonaws.vpclattice#DeleteServiceNetworkVpcAssociationResponse": { "type": "structure", "members": { - "arn": { - "target": "com.amazonaws.vpclattice#ListenerArn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the listener.

" - } - }, "id": { - "target": "com.amazonaws.vpclattice#ListenerId", + "target": "com.amazonaws.vpclattice#ServiceNetworkVpcAssociationId", "traits": { - "smithy.api#documentation": "

The ID of the listener.

" + "smithy.api#documentation": "

The ID of the association.

" } }, - "name": { - "target": "com.amazonaws.vpclattice#ListenerName", + "status": { + "target": "com.amazonaws.vpclattice#ServiceNetworkVpcAssociationStatus", "traits": { - "smithy.api#documentation": "

The name of the listener.

" + "smithy.api#documentation": "

The status. You can retry the operation if the status is DELETE_FAILED.\n However, if you retry it while the status is DELETE_IN_PROGRESS, there is no change\n in the status.

" } }, - "protocol": { - "target": "com.amazonaws.vpclattice#ListenerProtocol", + "arn": { + "target": "com.amazonaws.vpclattice#ServiceNetworkVpcAssociationArn", "traits": { - "smithy.api#documentation": "

The listener protocol.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the association.

" } - }, - "port": { - "target": "com.amazonaws.vpclattice#Port", - "traits": { - "smithy.api#documentation": "

The listener port.

" - } - }, - "serviceArn": { - "target": "com.amazonaws.vpclattice#ServiceArn", + } + } + }, + "com.amazonaws.vpclattice#DeleteServiceRequest": { + "type": "structure", + "members": { + "serviceIdentifier": { + "target": "com.amazonaws.vpclattice#ServiceIdentifier", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the service.

" + "smithy.api#documentation": "

The ID or ARN of the service.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} } - }, - "serviceId": { + } + } + }, + "com.amazonaws.vpclattice#DeleteServiceResponse": { + "type": "structure", + "members": { + "id": { "target": "com.amazonaws.vpclattice#ServiceId", "traits": { "smithy.api#documentation": "

The ID of the service.

" } }, - "defaultAction": { - "target": "com.amazonaws.vpclattice#RuleAction", + "arn": { + "target": "com.amazonaws.vpclattice#ServiceArn", "traits": { - "smithy.api#documentation": "

The actions for the default listener rule.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the service.

" } }, - "createdAt": { - "target": "com.amazonaws.vpclattice#Timestamp", + "name": { + "target": "com.amazonaws.vpclattice#ServiceName", "traits": { - "smithy.api#documentation": "

The date and time that the listener was created, specified in ISO-8601 format.

" + "smithy.api#documentation": "

The name of the service.

" } }, - "lastUpdatedAt": { - "target": "com.amazonaws.vpclattice#Timestamp", + "status": { + "target": "com.amazonaws.vpclattice#ServiceStatus", "traits": { - "smithy.api#documentation": "

The date and time that the listener was last updated, specified in ISO-8601 format.

" + "smithy.api#documentation": "

The status. You can retry the operation if the status is DELETE_FAILED.\n However, if you retry it while the status is DELETE_IN_PROGRESS, the status doesn't\n change.

" } } } }, - "com.amazonaws.vpclattice#GetResourcePolicy": { + "com.amazonaws.vpclattice#DeleteTargetGroup": { "type": "operation", "input": { - "target": "com.amazonaws.vpclattice#GetResourcePolicyRequest" + "target": "com.amazonaws.vpclattice#DeleteTargetGroupRequest" }, "output": { - "target": "com.amazonaws.vpclattice#GetResourcePolicyResponse" + "target": "com.amazonaws.vpclattice#DeleteTargetGroupResponse" }, "errors": [ { - "target": "com.amazonaws.vpclattice#AccessDeniedException" + "target": "com.amazonaws.vpclattice#ConflictException" }, { "target": "com.amazonaws.vpclattice#InternalServerException" @@ -2431,51 +2746,66 @@ } ], "traits": { - "smithy.api#documentation": "

Retrieves information about the resource policy. The resource policy is an IAM policy\n created on behalf of the resource owner when they share a resource.

", + "smithy.api#documentation": "

Deletes a target group. You can't delete a target group if it is used in a listener rule or\n if the target group creation is in progress.

", "smithy.api#http": { "code": 200, - "method": "GET", - "uri": "/resourcepolicy/{resourceArn}" + "uri": "/targetgroups/{targetGroupIdentifier}", + "method": "DELETE" }, - "smithy.api#readonly": {} + "smithy.api#idempotent": {} } }, - "com.amazonaws.vpclattice#GetResourcePolicyRequest": { + "com.amazonaws.vpclattice#DeleteTargetGroupRequest": { "type": "structure", "members": { - "resourceArn": { - "target": "com.amazonaws.vpclattice#ResourceArn", + "targetGroupIdentifier": { + "target": "com.amazonaws.vpclattice#TargetGroupIdentifier", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the service network or service.

", + "smithy.api#documentation": "

The ID or ARN of the target group.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } } } }, - "com.amazonaws.vpclattice#GetResourcePolicyResponse": { + "com.amazonaws.vpclattice#DeleteTargetGroupResponse": { "type": "structure", "members": { - "policy": { - "target": "com.amazonaws.vpclattice#PolicyString", + "id": { + "target": "com.amazonaws.vpclattice#TargetGroupId", "traits": { - "smithy.api#documentation": "

An IAM policy.

" + "smithy.api#documentation": "

The ID of the target group.

" + } + }, + "arn": { + "target": "com.amazonaws.vpclattice#TargetGroupArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the target group.

" + } + }, + "status": { + "target": "com.amazonaws.vpclattice#TargetGroupStatus", + "traits": { + "smithy.api#documentation": "

The status. You can retry the operation if the status is DELETE_FAILED.\n However, if you retry it while the status is DELETE_IN_PROGRESS, the status doesn't\n change.

" } } } }, - "com.amazonaws.vpclattice#GetRule": { + "com.amazonaws.vpclattice#DeregisterTargets": { "type": "operation", "input": { - "target": "com.amazonaws.vpclattice#GetRuleRequest" + "target": "com.amazonaws.vpclattice#DeregisterTargetsRequest" }, "output": { - "target": "com.amazonaws.vpclattice#GetRuleResponse" + "target": "com.amazonaws.vpclattice#DeregisterTargetsResponse" }, "errors": [ { "target": "com.amazonaws.vpclattice#AccessDeniedException" }, + { + "target": "com.amazonaws.vpclattice#ConflictException" + }, { "target": "com.amazonaws.vpclattice#InternalServerException" }, @@ -2490,110 +2820,148 @@ } ], "traits": { - "smithy.api#documentation": "

Retrieves information about listener rules. You can also retrieve information about the\n default listener rule. For more information, see Listener rules in the\n Amazon VPC Lattice User Guide.

", + "smithy.api#documentation": "

Deregisters the specified targets from the specified target group.

", "smithy.api#http": { "code": 200, - "method": "GET", - "uri": "/services/{serviceIdentifier}/listeners/{listenerIdentifier}/rules/{ruleIdentifier}" + "uri": "/targetgroups/{targetGroupIdentifier}/deregistertargets", + "method": "POST" }, - "smithy.api#readonly": {} + "smithy.api#idempotent": {} } }, - "com.amazonaws.vpclattice#GetRuleRequest": { + "com.amazonaws.vpclattice#DeregisterTargetsRequest": { "type": "structure", "members": { - "serviceIdentifier": { - "target": "com.amazonaws.vpclattice#ServiceIdentifier", - "traits": { - "smithy.api#documentation": "

The ID or Amazon Resource Name (ARN) of the service.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - }, - "listenerIdentifier": { - "target": "com.amazonaws.vpclattice#ListenerIdentifier", + "targetGroupIdentifier": { + "target": "com.amazonaws.vpclattice#TargetGroupIdentifier", "traits": { - "smithy.api#documentation": "

The ID or Amazon Resource Name (ARN) of the listener.

", + "smithy.api#documentation": "

The ID or ARN of the target group.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, - "ruleIdentifier": { - "target": "com.amazonaws.vpclattice#RuleIdentifier", + "targets": { + "target": "com.amazonaws.vpclattice#TargetList", "traits": { - "smithy.api#documentation": "

The ID or Amazon Resource Name (ARN) of the listener rule.

", - "smithy.api#httpLabel": {}, + "smithy.api#documentation": "

The targets to deregister.

", + "smithy.api#length": { + "min": 1, + "max": 100 + }, "smithy.api#required": {} } } } }, - "com.amazonaws.vpclattice#GetRuleResponse": { + "com.amazonaws.vpclattice#DeregisterTargetsResponse": { "type": "structure", "members": { - "arn": { - "target": "com.amazonaws.vpclattice#RuleArn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the listener.

" - } - }, - "id": { - "target": "com.amazonaws.vpclattice#RuleId", + "successful": { + "target": "com.amazonaws.vpclattice#TargetList", "traits": { - "smithy.api#documentation": "

The ID of the listener.

" + "smithy.api#documentation": "

The targets that were successfully deregistered.

" } }, - "name": { - "target": "com.amazonaws.vpclattice#RuleName", + "unsuccessful": { + "target": "com.amazonaws.vpclattice#TargetFailureList", "traits": { - "smithy.api#documentation": "

The name of the listener.

" + "smithy.api#documentation": "

The targets that the operation couldn't deregister.

" } - }, - "isDefault": { - "target": "com.amazonaws.vpclattice#Boolean", + } + } + }, + "com.amazonaws.vpclattice#DnsEntry": { + "type": "structure", + "members": { + "domainName": { + "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

Indicates whether this is the default rule.

" + "smithy.api#documentation": "

The domain name of the service.

" } }, - "match": { - "target": "com.amazonaws.vpclattice#RuleMatch", + "hostedZoneId": { + "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

The rule match.

" + "smithy.api#documentation": "

The ID of the hosted zone.

" } - }, - "priority": { - "target": "com.amazonaws.vpclattice#RulePriority", + } + }, + "traits": { + "smithy.api#documentation": "

Describes the DNS information of a service.

" + } + }, + "com.amazonaws.vpclattice#DnsResource": { + "type": "structure", + "members": { + "domainName": { + "target": "com.amazonaws.vpclattice#DomainName", "traits": { - "smithy.api#documentation": "

The priority level for the specified rule.

" + "smithy.api#documentation": "

The domain name of the resource.

" } }, - "action": { - "target": "com.amazonaws.vpclattice#RuleAction", + "ipAddressType": { + "target": "com.amazonaws.vpclattice#ResourceConfigurationIpAddressType", "traits": { - "smithy.api#documentation": "

The action for the default rule.

" + "smithy.api#documentation": "

The type of IP address.

" } - }, - "createdAt": { - "target": "com.amazonaws.vpclattice#Timestamp", + } + }, + "traits": { + "smithy.api#documentation": "

The DNS name of the resource.

" + } + }, + "com.amazonaws.vpclattice#DomainName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 3, + "max": 255 + } + } + }, + "com.amazonaws.vpclattice#FailureCode": { + "type": "string" + }, + "com.amazonaws.vpclattice#FailureMessage": { + "type": "string" + }, + "com.amazonaws.vpclattice#FixedResponseAction": { + "type": "structure", + "members": { + "statusCode": { + "target": "com.amazonaws.vpclattice#HttpStatusCode", "traits": { - "smithy.api#documentation": "

The date and time that the listener rule was created, specified in ISO-8601 format.

" + "smithy.api#documentation": "

The HTTP response code.

", + "smithy.api#required": {} } - }, - "lastUpdatedAt": { - "target": "com.amazonaws.vpclattice#Timestamp", + } + }, + "traits": { + "smithy.api#documentation": "

Describes an action that returns a custom HTTP response.

" + } + }, + "com.amazonaws.vpclattice#ForwardAction": { + "type": "structure", + "members": { + "targetGroups": { + "target": "com.amazonaws.vpclattice#WeightedTargetGroupList", "traits": { - "smithy.api#documentation": "

The date and time that the listener rule was last updated, specified in ISO-8601\n format.

" + "smithy.api#documentation": "

The target groups. Traffic matching the rule is forwarded to the specified target groups.\n With forward actions, you can assign a weight that controls the prioritization and selection of\n each target group. This means that requests are distributed to individual target groups based on\n their weights. For example, if two target groups have the same weight, each target group receives\n half of the traffic.

\n

The default value is 1. This means that if only one target group is provided, there is no\n need to set the weight; 100% of the traffic goes to that target group.

", + "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#documentation": "

Describes a forward action. You can use forward actions to route requests to one or more\n target groups.\n

" } }, - "com.amazonaws.vpclattice#GetService": { + "com.amazonaws.vpclattice#GetAccessLogSubscription": { "type": "operation", "input": { - "target": "com.amazonaws.vpclattice#GetServiceRequest" + "target": "com.amazonaws.vpclattice#GetAccessLogSubscriptionRequest" }, "output": { - "target": "com.amazonaws.vpclattice#GetServiceResponse" + "target": "com.amazonaws.vpclattice#GetAccessLogSubscriptionResponse" }, "errors": [ { @@ -2613,123 +2981,95 @@ } ], "traits": { - "smithy.api#documentation": "

Retrieves information about the specified service.

", + "smithy.api#documentation": "

Retrieves information about the specified access log subscription.

", "smithy.api#http": { "code": 200, "method": "GET", - "uri": "/services/{serviceIdentifier}" + "uri": "/accesslogsubscriptions/{accessLogSubscriptionIdentifier}" }, "smithy.api#readonly": {} } }, - "com.amazonaws.vpclattice#GetServiceNetwork": { - "type": "operation", - "input": { - "target": "com.amazonaws.vpclattice#GetServiceNetworkRequest" - }, - "output": { - "target": "com.amazonaws.vpclattice#GetServiceNetworkResponse" - }, - "errors": [ - { - "target": "com.amazonaws.vpclattice#AccessDeniedException" - }, - { - "target": "com.amazonaws.vpclattice#InternalServerException" - }, - { - "target": "com.amazonaws.vpclattice#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.vpclattice#ThrottlingException" - }, - { - "target": "com.amazonaws.vpclattice#ValidationException" - } - ], - "traits": { - "smithy.api#documentation": "

Retrieves information about the specified service network.

", - "smithy.api#http": { - "code": 200, - "method": "GET", - "uri": "/servicenetworks/{serviceNetworkIdentifier}" - }, - "smithy.api#readonly": {} - } - }, - "com.amazonaws.vpclattice#GetServiceNetworkRequest": { + "com.amazonaws.vpclattice#GetAccessLogSubscriptionRequest": { "type": "structure", "members": { - "serviceNetworkIdentifier": { - "target": "com.amazonaws.vpclattice#ServiceNetworkIdentifier", + "accessLogSubscriptionIdentifier": { + "target": "com.amazonaws.vpclattice#AccessLogSubscriptionIdentifier", "traits": { - "smithy.api#documentation": "

The ID or Amazon Resource Name (ARN) of the service network.

", + "smithy.api#documentation": "

The ID or ARN of the access log subscription.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } } } }, - "com.amazonaws.vpclattice#GetServiceNetworkResponse": { + "com.amazonaws.vpclattice#GetAccessLogSubscriptionResponse": { "type": "structure", "members": { "id": { - "target": "com.amazonaws.vpclattice#ServiceNetworkId", + "target": "com.amazonaws.vpclattice#AccessLogSubscriptionId", "traits": { - "smithy.api#documentation": "

The ID of the service network.

" + "smithy.api#documentation": "

The ID of the access log subscription.

", + "smithy.api#required": {} } }, - "name": { - "target": "com.amazonaws.vpclattice#ServiceNetworkName", + "arn": { + "target": "com.amazonaws.vpclattice#AccessLogSubscriptionArn", "traits": { - "smithy.api#documentation": "

The name of the service network.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the access log subscription.

", + "smithy.api#required": {} } }, - "createdAt": { - "target": "com.amazonaws.vpclattice#Timestamp", + "resourceId": { + "target": "com.amazonaws.vpclattice#ResourceId", "traits": { - "smithy.api#documentation": "

The date and time that the service network was created, specified in ISO-8601 format.

" + "smithy.api#documentation": "

The ID of the service network or service.

", + "smithy.api#required": {} } }, - "lastUpdatedAt": { - "target": "com.amazonaws.vpclattice#Timestamp", + "resourceArn": { + "target": "com.amazonaws.vpclattice#ResourceArn", "traits": { - "smithy.api#documentation": "

The date and time of the last update, specified in ISO-8601 format.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the service network or service.

", + "smithy.api#required": {} } }, - "arn": { - "target": "com.amazonaws.vpclattice#ServiceNetworkArn", + "destinationArn": { + "target": "com.amazonaws.vpclattice#AccessLogDestinationArn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the service network.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the access log destination.

", + "smithy.api#required": {} } }, - "authType": { - "target": "com.amazonaws.vpclattice#AuthType", + "serviceNetworkLogType": { + "target": "com.amazonaws.vpclattice#ServiceNetworkLogType", "traits": { - "smithy.api#documentation": "

The type of IAM policy.

" + "smithy.api#documentation": "

The log type for the service network.

" } }, - "numberOfAssociatedVPCs": { - "target": "smithy.api#Long", + "createdAt": { + "target": "com.amazonaws.vpclattice#Timestamp", "traits": { - "smithy.api#documentation": "

The number of VPCs associated with the service network.

" + "smithy.api#documentation": "

The date and time that the access log subscription was created, in ISO-8601 format.

", + "smithy.api#required": {} } }, - "numberOfAssociatedServices": { - "target": "smithy.api#Long", + "lastUpdatedAt": { + "target": "com.amazonaws.vpclattice#Timestamp", "traits": { - "smithy.api#documentation": "

The number of services associated with the service network.

" + "smithy.api#documentation": "

The date and time that the access log subscription was last updated, in ISO-8601 format.

", + "smithy.api#required": {} } } } }, - "com.amazonaws.vpclattice#GetServiceNetworkServiceAssociation": { + "com.amazonaws.vpclattice#GetAuthPolicy": { "type": "operation", "input": { - "target": "com.amazonaws.vpclattice#GetServiceNetworkServiceAssociationRequest" + "target": "com.amazonaws.vpclattice#GetAuthPolicyRequest" }, "output": { - "target": "com.amazonaws.vpclattice#GetServiceNetworkServiceAssociationResponse" + "target": "com.amazonaws.vpclattice#GetAuthPolicyResponse" }, "errors": [ { @@ -2749,130 +3089,185 @@ } ], "traits": { - "smithy.api#documentation": "

Retrieves information about the specified association between a service network and a\n service.

", + "smithy.api#documentation": "

Retrieves information about the auth policy for the specified service or service\n network.

", "smithy.api#http": { "code": 200, - "uri": "/servicenetworkserviceassociations/{serviceNetworkServiceAssociationIdentifier}", - "method": "GET" + "method": "GET", + "uri": "/authpolicy/{resourceIdentifier}" }, "smithy.api#readonly": {} } }, - "com.amazonaws.vpclattice#GetServiceNetworkServiceAssociationRequest": { + "com.amazonaws.vpclattice#GetAuthPolicyRequest": { "type": "structure", "members": { - "serviceNetworkServiceAssociationIdentifier": { - "target": "com.amazonaws.vpclattice#ServiceNetworkServiceAssociationIdentifier", + "resourceIdentifier": { + "target": "com.amazonaws.vpclattice#ResourceIdentifier", "traits": { - "smithy.api#documentation": "

The ID or Amazon Resource Name (ARN) of the association.

", + "smithy.api#documentation": "

The ID or ARN of the service network or service.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } } } }, - "com.amazonaws.vpclattice#GetServiceNetworkServiceAssociationResponse": { + "com.amazonaws.vpclattice#GetAuthPolicyResponse": { "type": "structure", "members": { - "id": { - "target": "com.amazonaws.vpclattice#ServiceNetworkServiceAssociationIdentifier", + "policy": { + "target": "com.amazonaws.vpclattice#AuthPolicyString", "traits": { - "smithy.api#documentation": "

The ID of the service network and service association.

" + "smithy.api#documentation": "

The auth policy.

" } }, - "status": { - "target": "com.amazonaws.vpclattice#ServiceNetworkServiceAssociationStatus", + "state": { + "target": "com.amazonaws.vpclattice#AuthPolicyState", "traits": { - "smithy.api#documentation": "

The status of the association.

" + "smithy.api#documentation": "

The state of the auth policy. The auth policy is only active when the auth type is set to\n AWS_IAM. If you provide a policy, then authentication and authorization decisions\n are made based on this policy and the client's IAM policy. If the auth type is NONE,\n then any auth policy that you provide remains inactive. For more information, see Create a service network in the Amazon VPC Lattice User Guide.

" } }, - "arn": { - "target": "com.amazonaws.vpclattice#ServiceNetworkServiceAssociationArn", + "createdAt": { + "target": "com.amazonaws.vpclattice#Timestamp", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the association.

" + "smithy.api#documentation": "

The date and time that the auth policy was created, in ISO-8601 format.

" } }, - "createdBy": { - "target": "com.amazonaws.vpclattice#AccountId", + "lastUpdatedAt": { + "target": "com.amazonaws.vpclattice#Timestamp", "traits": { - "smithy.api#documentation": "

The account that created the association.

" + "smithy.api#documentation": "

The date and time that the auth policy was last updated, in ISO-8601 format.

" } + } + } + }, + "com.amazonaws.vpclattice#GetListener": { + "type": "operation", + "input": { + "target": "com.amazonaws.vpclattice#GetListenerRequest" + }, + "output": { + "target": "com.amazonaws.vpclattice#GetListenerResponse" + }, + "errors": [ + { + "target": "com.amazonaws.vpclattice#AccessDeniedException" }, - "createdAt": { - "target": "com.amazonaws.vpclattice#Timestamp", + { + "target": "com.amazonaws.vpclattice#InternalServerException" + }, + { + "target": "com.amazonaws.vpclattice#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.vpclattice#ThrottlingException" + }, + { + "target": "com.amazonaws.vpclattice#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Retrieves information about the specified listener for the specified service.

", + "smithy.api#http": { + "code": 200, + "method": "GET", + "uri": "/services/{serviceIdentifier}/listeners/{listenerIdentifier}" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.vpclattice#GetListenerRequest": { + "type": "structure", + "members": { + "serviceIdentifier": { + "target": "com.amazonaws.vpclattice#ServiceIdentifier", "traits": { - "smithy.api#documentation": "

The date and time that the association was created, specified in ISO-8601 format.

" + "smithy.api#documentation": "

The ID or ARN of the service.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} } }, - "serviceId": { - "target": "com.amazonaws.vpclattice#ServiceId", + "listenerIdentifier": { + "target": "com.amazonaws.vpclattice#ListenerIdentifier", "traits": { - "smithy.api#documentation": "

The ID of the service.

" + "smithy.api#documentation": "

The ID or ARN of the listener.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.vpclattice#GetListenerResponse": { + "type": "structure", + "members": { + "arn": { + "target": "com.amazonaws.vpclattice#ListenerArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the listener.

" } }, - "serviceName": { - "target": "com.amazonaws.vpclattice#ServiceName", + "id": { + "target": "com.amazonaws.vpclattice#ListenerId", "traits": { - "smithy.api#documentation": "

The name of the service.

" + "smithy.api#documentation": "

The ID of the listener.

" } }, - "serviceArn": { - "target": "com.amazonaws.vpclattice#ServiceArn", + "name": { + "target": "com.amazonaws.vpclattice#ListenerName", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the service.

" + "smithy.api#documentation": "

The name of the listener.

" } }, - "serviceNetworkId": { - "target": "com.amazonaws.vpclattice#ServiceNetworkId", + "protocol": { + "target": "com.amazonaws.vpclattice#ListenerProtocol", "traits": { - "smithy.api#documentation": "

The ID of the service network.

" + "smithy.api#documentation": "

The listener protocol.

" } }, - "serviceNetworkName": { - "target": "com.amazonaws.vpclattice#ServiceNetworkName", + "port": { + "target": "com.amazonaws.vpclattice#Port", "traits": { - "smithy.api#documentation": "

The name of the service network.

" + "smithy.api#documentation": "

The listener port.

" } }, - "serviceNetworkArn": { - "target": "com.amazonaws.vpclattice#ServiceNetworkArn", + "serviceArn": { + "target": "com.amazonaws.vpclattice#ServiceArn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the service network.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the service.

" } }, - "dnsEntry": { - "target": "com.amazonaws.vpclattice#DnsEntry", + "serviceId": { + "target": "com.amazonaws.vpclattice#ServiceId", "traits": { - "smithy.api#documentation": "

The DNS name of the service.

" + "smithy.api#documentation": "

The ID of the service.

" } }, - "customDomainName": { - "target": "com.amazonaws.vpclattice#ServiceCustomDomainName", + "defaultAction": { + "target": "com.amazonaws.vpclattice#RuleAction", "traits": { - "smithy.api#documentation": "

The custom domain name of the service.

" + "smithy.api#documentation": "

The actions for the default listener rule.

" } }, - "failureMessage": { - "target": "smithy.api#String", + "createdAt": { + "target": "com.amazonaws.vpclattice#Timestamp", "traits": { - "smithy.api#documentation": "

The failure message.

" + "smithy.api#documentation": "

The date and time that the listener was created, in ISO-8601 format.

" } }, - "failureCode": { - "target": "smithy.api#String", + "lastUpdatedAt": { + "target": "com.amazonaws.vpclattice#Timestamp", "traits": { - "smithy.api#documentation": "

The failure code.

" + "smithy.api#documentation": "

The date and time that the listener was last updated, in ISO-8601 format.

" } } } }, - "com.amazonaws.vpclattice#GetServiceNetworkVpcAssociation": { + "com.amazonaws.vpclattice#GetResourceConfiguration": { "type": "operation", "input": { - "target": "com.amazonaws.vpclattice#GetServiceNetworkVpcAssociationRequest" + "target": "com.amazonaws.vpclattice#GetResourceConfigurationRequest" }, "output": { - "target": "com.amazonaws.vpclattice#GetServiceNetworkVpcAssociationResponse" + "target": "com.amazonaws.vpclattice#GetResourceConfigurationResponse" }, "errors": [ { @@ -2892,208 +3287,320 @@ } ], "traits": { - "smithy.api#documentation": "

Retrieves information about the association between a service network and a VPC.

", + "smithy.api#documentation": "

Retrieves information about the specified resource configuration.

", "smithy.api#http": { "code": 200, - "uri": "/servicenetworkvpcassociations/{serviceNetworkVpcAssociationIdentifier}", - "method": "GET" + "method": "GET", + "uri": "/resourceconfigurations/{resourceConfigurationIdentifier}" }, "smithy.api#readonly": {} } }, - "com.amazonaws.vpclattice#GetServiceNetworkVpcAssociationRequest": { + "com.amazonaws.vpclattice#GetResourceConfigurationRequest": { "type": "structure", "members": { - "serviceNetworkVpcAssociationIdentifier": { - "target": "com.amazonaws.vpclattice#ServiceNetworkVpcAssociationIdentifier", + "resourceConfigurationIdentifier": { + "target": "com.amazonaws.vpclattice#ResourceConfigurationIdentifier", "traits": { - "smithy.api#documentation": "

The ID or Amazon Resource Name (ARN) of the association.

", + "smithy.api#documentation": "

The ID of the resource configuration.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.vpclattice#GetServiceNetworkVpcAssociationResponse": { + "com.amazonaws.vpclattice#GetResourceConfigurationResponse": { "type": "structure", "members": { "id": { - "target": "com.amazonaws.vpclattice#ServiceNetworkVpcAssociationId", + "target": "com.amazonaws.vpclattice#ResourceConfigurationId", "traits": { - "smithy.api#documentation": "

The ID of the specified association between the service network and the VPC.

" + "smithy.api#documentation": "

The ID of the resource configuration.

" } }, - "status": { - "target": "com.amazonaws.vpclattice#ServiceNetworkVpcAssociationStatus", + "name": { + "target": "com.amazonaws.vpclattice#ResourceConfigurationName", "traits": { - "smithy.api#documentation": "

The status of the association.

" + "smithy.api#documentation": "

The name of the resource configuration.

" } }, "arn": { - "target": "com.amazonaws.vpclattice#ServiceNetworkVpcAssociationArn", + "target": "com.amazonaws.vpclattice#ResourceConfigurationArn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the association.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the resource configuration.

" } }, - "createdBy": { - "target": "com.amazonaws.vpclattice#AccountId", + "resourceGatewayId": { + "target": "com.amazonaws.vpclattice#ResourceGatewayId", "traits": { - "smithy.api#documentation": "

The account that created the association.

" + "smithy.api#documentation": "

The ID of the resource gateway used to connect to the resource configuration in a given VPC. You can specify the resource gateway identifier only for resource configurations with type SINGLE, GROUP, or ARN.

" } }, - "createdAt": { - "target": "com.amazonaws.vpclattice#Timestamp", + "resourceConfigurationGroupId": { + "target": "com.amazonaws.vpclattice#ResourceConfigurationId", "traits": { - "smithy.api#documentation": "

The date and time that the association was created, specified in ISO-8601 format.

" + "smithy.api#documentation": "

The ID of the group resource configuration.

" } }, - "serviceNetworkId": { - "target": "com.amazonaws.vpclattice#ServiceNetworkId", + "type": { + "target": "com.amazonaws.vpclattice#ResourceConfigurationType", "traits": { - "smithy.api#documentation": "

The ID of the service network.

" + "smithy.api#documentation": "

The type of resource configuration.

\n
    \n
  • \n

    \n SINGLE - A single resource.

    \n
  • \n
  • \n

    \n GROUP - A group of resources.

    \n
  • \n
  • \n

    \n CHILD - A single resource that is part of a group resource configuration.

    \n
  • \n
  • \n

    \n ARN - An Amazon Web Services resource.

    \n
  • \n
" } }, - "serviceNetworkName": { - "target": "com.amazonaws.vpclattice#ServiceNetworkName", + "allowAssociationToShareableServiceNetwork": { + "target": "com.amazonaws.vpclattice#Boolean", "traits": { - "smithy.api#documentation": "

The name of the service network.

" + "smithy.api#documentation": "

Specifies whether the resource configuration is associated with a sharable service\n network.

" } }, - "serviceNetworkArn": { - "target": "com.amazonaws.vpclattice#ServiceNetworkArn", + "portRanges": { + "target": "com.amazonaws.vpclattice#PortRangeList", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the service network.

" + "smithy.api#documentation": "

The TCP port ranges that a consumer can use to access a resource configuration. You can separate port ranges with a comma. Example: 1-65535 or 1,2,22-30

" } }, - "vpcId": { - "target": "com.amazonaws.vpclattice#VpcId", + "protocol": { + "target": "com.amazonaws.vpclattice#ProtocolType", "traits": { - "smithy.api#documentation": "

The ID of the VPC.

" + "smithy.api#documentation": "

The TCP protocol accepted by the specified resource configuration.

" } }, - "securityGroupIds": { - "target": "com.amazonaws.vpclattice#SecurityGroupList", + "customDomainName": { + "target": "com.amazonaws.vpclattice#DomainName", "traits": { - "smithy.api#documentation": "

The IDs of the security groups.

" + "smithy.api#documentation": "

The custom domain name of the resource configuration.

" } }, - "failureMessage": { - "target": "smithy.api#String", + "status": { + "target": "com.amazonaws.vpclattice#ResourceConfigurationStatus", "traits": { - "smithy.api#documentation": "

The failure message.

" + "smithy.api#documentation": "

The status of the resource configuration.

" } }, - "failureCode": { + "resourceConfigurationDefinition": { + "target": "com.amazonaws.vpclattice#ResourceConfigurationDefinition", + "traits": { + "smithy.api#documentation": "

The resource configuration.

" + } + }, + "createdAt": { + "target": "com.amazonaws.vpclattice#Timestamp", + "traits": { + "smithy.api#documentation": "

The date and time that the resource configuration was created, in ISO-8601 format.

" + } + }, + "amazonManaged": { + "target": "com.amazonaws.vpclattice#Boolean", + "traits": { + "smithy.api#documentation": "

Indicates whether the resource configuration was created and is managed by Amazon.

" + } + }, + "failureReason": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

The failure code.

" + "smithy.api#documentation": "

The reason the create-resource-configuration request failed.

" } }, "lastUpdatedAt": { "target": "com.amazonaws.vpclattice#Timestamp", "traits": { - "smithy.api#documentation": "

The date and time that the association was last updated, specified in ISO-8601\n format.

" + "smithy.api#documentation": "

The most recent date and time that the resource configuration was updated, in ISO-8601 format.

" } } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.vpclattice#GetResourceGateway": { + "type": "operation", + "input": { + "target": "com.amazonaws.vpclattice#GetResourceGatewayRequest" + }, + "output": { + "target": "com.amazonaws.vpclattice#GetResourceGatewayResponse" + }, + "errors": [ + { + "target": "com.amazonaws.vpclattice#AccessDeniedException" + }, + { + "target": "com.amazonaws.vpclattice#InternalServerException" + }, + { + "target": "com.amazonaws.vpclattice#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.vpclattice#ThrottlingException" + }, + { + "target": "com.amazonaws.vpclattice#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Retrieves information about the specified resource gateway.

", + "smithy.api#http": { + "code": 200, + "method": "GET", + "uri": "/resourcegateways/{resourceGatewayIdentifier}" + }, + "smithy.api#readonly": {} } }, - "com.amazonaws.vpclattice#GetServiceRequest": { + "com.amazonaws.vpclattice#GetResourceGatewayRequest": { "type": "structure", "members": { - "serviceIdentifier": { - "target": "com.amazonaws.vpclattice#ServiceIdentifier", + "resourceGatewayIdentifier": { + "target": "com.amazonaws.vpclattice#ResourceGatewayIdentifier", "traits": { - "smithy.api#documentation": "

The ID or Amazon Resource Name (ARN) of the service.

", + "smithy.api#documentation": "

The ID of the resource gateway.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.vpclattice#GetServiceResponse": { + "com.amazonaws.vpclattice#GetResourceGatewayResponse": { "type": "structure", "members": { - "id": { - "target": "com.amazonaws.vpclattice#ServiceId", + "name": { + "target": "com.amazonaws.vpclattice#ResourceGatewayName", "traits": { - "smithy.api#documentation": "

The ID of the service.

" + "smithy.api#documentation": "

The name of the resource gateway.

" } }, - "name": { - "target": "com.amazonaws.vpclattice#ServiceName", + "id": { + "target": "com.amazonaws.vpclattice#ResourceGatewayId", "traits": { - "smithy.api#documentation": "

The name of the service.

" + "smithy.api#documentation": "

The ID of the resource gateway.

" } }, "arn": { - "target": "com.amazonaws.vpclattice#ServiceArn", + "target": "com.amazonaws.vpclattice#ResourceGatewayArn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the service.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the resource gateway.

" } }, - "createdAt": { - "target": "com.amazonaws.vpclattice#Timestamp", + "status": { + "target": "com.amazonaws.vpclattice#ResourceGatewayStatus", "traits": { - "smithy.api#documentation": "

The date and time that the service was created, specified in ISO-8601 format.

" + "smithy.api#documentation": "

The status for the resource gateway.

" } }, - "lastUpdatedAt": { - "target": "com.amazonaws.vpclattice#Timestamp", + "vpcId": { + "target": "com.amazonaws.vpclattice#VpcId", "traits": { - "smithy.api#documentation": "

The date and time that the service was last updated, specified in ISO-8601 format.

" + "smithy.api#documentation": "

The ID of the VPC for the resource gateway.

" } }, - "dnsEntry": { - "target": "com.amazonaws.vpclattice#DnsEntry", + "subnetIds": { + "target": "com.amazonaws.vpclattice#SubnetList", "traits": { - "smithy.api#documentation": "

The DNS name of the service.

" + "smithy.api#documentation": "

The IDs of the VPC subnets for resource gateway.

" } }, - "customDomainName": { - "target": "com.amazonaws.vpclattice#ServiceCustomDomainName", + "securityGroupIds": { + "target": "com.amazonaws.vpclattice#SecurityGroupList", "traits": { - "smithy.api#documentation": "

The custom domain name of the service.

" + "smithy.api#documentation": "

The security group IDs associated with the resource gateway.

" } }, - "certificateArn": { - "target": "com.amazonaws.vpclattice#CertificateArn", + "ipAddressType": { + "target": "com.amazonaws.vpclattice#ResourceGatewayIpAddressType", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the certificate.

" + "smithy.api#documentation": "

The type of IP address for the resource gateway.

" } }, - "status": { - "target": "com.amazonaws.vpclattice#ServiceStatus", + "createdAt": { + "target": "com.amazonaws.vpclattice#Timestamp", "traits": { - "smithy.api#documentation": "

The status of the service.

" + "smithy.api#documentation": "

The date and time that the resource gateway was created, in ISO-8601 format.

" } }, - "authType": { - "target": "com.amazonaws.vpclattice#AuthType", + "lastUpdatedAt": { + "target": "com.amazonaws.vpclattice#Timestamp", "traits": { - "smithy.api#documentation": "

The type of IAM policy.

" + "smithy.api#documentation": "

The date and time that the resource gateway was last updated, in ISO-8601 format.

" } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.vpclattice#GetResourcePolicy": { + "type": "operation", + "input": { + "target": "com.amazonaws.vpclattice#GetResourcePolicyRequest" + }, + "output": { + "target": "com.amazonaws.vpclattice#GetResourcePolicyResponse" + }, + "errors": [ + { + "target": "com.amazonaws.vpclattice#AccessDeniedException" }, - "failureCode": { - "target": "com.amazonaws.vpclattice#FailureCode", + { + "target": "com.amazonaws.vpclattice#InternalServerException" + }, + { + "target": "com.amazonaws.vpclattice#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.vpclattice#ThrottlingException" + }, + { + "target": "com.amazonaws.vpclattice#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Retrieves information about the specified resource policy. The resource policy is an IAM policy\n created on behalf of the resource owner when they share a resource.

", + "smithy.api#http": { + "code": 200, + "method": "GET", + "uri": "/resourcepolicy/{resourceArn}" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.vpclattice#GetResourcePolicyRequest": { + "type": "structure", + "members": { + "resourceArn": { + "target": "com.amazonaws.vpclattice#ResourceArn", "traits": { - "smithy.api#documentation": "

The failure code.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the service network or service.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} } - }, - "failureMessage": { - "target": "com.amazonaws.vpclattice#FailureMessage", + } + } + }, + "com.amazonaws.vpclattice#GetResourcePolicyResponse": { + "type": "structure", + "members": { + "policy": { + "target": "com.amazonaws.vpclattice#PolicyString", "traits": { - "smithy.api#documentation": "

The failure message.

" + "smithy.api#documentation": "

An IAM policy.

" } } } }, - "com.amazonaws.vpclattice#GetTargetGroup": { + "com.amazonaws.vpclattice#GetRule": { "type": "operation", "input": { - "target": "com.amazonaws.vpclattice#GetTargetGroupRequest" + "target": "com.amazonaws.vpclattice#GetRuleRequest" }, "output": { - "target": "com.amazonaws.vpclattice#GetTargetGroupResponse" + "target": "com.amazonaws.vpclattice#GetRuleResponse" }, "errors": [ { @@ -3113,450 +3620,413 @@ } ], "traits": { - "smithy.api#documentation": "

Retrieves information about the specified target group.

", + "smithy.api#documentation": "

Retrieves information about the specified listener rules. You can also retrieve information about the\n default listener rule. For more information, see Listener rules in the\n Amazon VPC Lattice User Guide.

", "smithy.api#http": { "code": 200, - "uri": "/targetgroups/{targetGroupIdentifier}", - "method": "GET" + "method": "GET", + "uri": "/services/{serviceIdentifier}/listeners/{listenerIdentifier}/rules/{ruleIdentifier}" }, "smithy.api#readonly": {} } }, - "com.amazonaws.vpclattice#GetTargetGroupRequest": { + "com.amazonaws.vpclattice#GetRuleRequest": { "type": "structure", "members": { - "targetGroupIdentifier": { - "target": "com.amazonaws.vpclattice#TargetGroupIdentifier", + "serviceIdentifier": { + "target": "com.amazonaws.vpclattice#ServiceIdentifier", + "traits": { + "smithy.api#documentation": "

The ID or ARN of the service.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "listenerIdentifier": { + "target": "com.amazonaws.vpclattice#ListenerIdentifier", + "traits": { + "smithy.api#documentation": "

The ID or ARN of the listener.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "ruleIdentifier": { + "target": "com.amazonaws.vpclattice#RuleIdentifier", "traits": { - "smithy.api#documentation": "

The ID or Amazon Resource Name (ARN) of the target group.

", + "smithy.api#documentation": "

The ID or ARN of the listener rule.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } } } }, - "com.amazonaws.vpclattice#GetTargetGroupResponse": { + "com.amazonaws.vpclattice#GetRuleResponse": { "type": "structure", "members": { - "id": { - "target": "com.amazonaws.vpclattice#TargetGroupId", + "arn": { + "target": "com.amazonaws.vpclattice#RuleArn", "traits": { - "smithy.api#documentation": "

The ID of the target group.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the listener.

" } }, - "arn": { - "target": "com.amazonaws.vpclattice#TargetGroupArn", + "id": { + "target": "com.amazonaws.vpclattice#RuleId", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the target group.

" + "smithy.api#documentation": "

The ID of the listener.

" } }, "name": { - "target": "com.amazonaws.vpclattice#TargetGroupName", + "target": "com.amazonaws.vpclattice#RuleName", "traits": { - "smithy.api#documentation": "

The name of the target group.

" + "smithy.api#documentation": "

The name of the listener.

" } }, - "type": { - "target": "com.amazonaws.vpclattice#TargetGroupType", + "isDefault": { + "target": "com.amazonaws.vpclattice#Boolean", "traits": { - "smithy.api#documentation": "

The target group type.

" + "smithy.api#documentation": "

Indicates whether this is the default rule.

" } }, - "config": { - "target": "com.amazonaws.vpclattice#TargetGroupConfig", + "match": { + "target": "com.amazonaws.vpclattice#RuleMatch", "traits": { - "smithy.api#documentation": "

The target group configuration.

" + "smithy.api#documentation": "

The rule match.

" } }, - "createdAt": { - "target": "com.amazonaws.vpclattice#Timestamp", + "priority": { + "target": "com.amazonaws.vpclattice#RulePriority", "traits": { - "smithy.api#documentation": "

The date and time that the target group was created, specified in ISO-8601 format.

" + "smithy.api#documentation": "

The priority level for the specified rule.

" } }, - "lastUpdatedAt": { - "target": "com.amazonaws.vpclattice#Timestamp", + "action": { + "target": "com.amazonaws.vpclattice#RuleAction", "traits": { - "smithy.api#documentation": "

The date and time that the target group was last updated, specified in ISO-8601\n format.

" + "smithy.api#documentation": "

The action for the default rule.

" } }, - "status": { - "target": "com.amazonaws.vpclattice#TargetGroupStatus", + "createdAt": { + "target": "com.amazonaws.vpclattice#Timestamp", "traits": { - "smithy.api#documentation": "

The status.

" + "smithy.api#documentation": "

The date and time that the listener rule was created, in ISO-8601 format.

" } }, - "serviceArns": { - "target": "com.amazonaws.vpclattice#ServiceArnList", + "lastUpdatedAt": { + "target": "com.amazonaws.vpclattice#Timestamp", "traits": { - "smithy.api#documentation": "

The Amazon Resource Names (ARNs) of the service.

" - } - }, - "failureMessage": { - "target": "smithy.api#String", - "traits": { - "smithy.api#documentation": "

The failure message.

" - } - }, - "failureCode": { - "target": "smithy.api#String", - "traits": { - "smithy.api#documentation": "

The failure code.

" + "smithy.api#documentation": "

The date and time that the listener rule was last updated, in ISO-8601 format.

" } } } }, - "com.amazonaws.vpclattice#HeaderMatch": { - "type": "structure", - "members": { - "name": { - "target": "com.amazonaws.vpclattice#HeaderMatchName", - "traits": { - "smithy.api#documentation": "

The name of the header.

", - "smithy.api#required": {} - } + "com.amazonaws.vpclattice#GetService": { + "type": "operation", + "input": { + "target": "com.amazonaws.vpclattice#GetServiceRequest" + }, + "output": { + "target": "com.amazonaws.vpclattice#GetServiceResponse" + }, + "errors": [ + { + "target": "com.amazonaws.vpclattice#AccessDeniedException" }, - "match": { - "target": "com.amazonaws.vpclattice#HeaderMatchType", - "traits": { - "smithy.api#documentation": "

The header match type.

", - "smithy.api#required": {} - } + { + "target": "com.amazonaws.vpclattice#InternalServerException" }, - "caseSensitive": { - "target": "com.amazonaws.vpclattice#Boolean", - "traits": { - "smithy.api#documentation": "

Indicates whether the match is case sensitive.

" - } + { + "target": "com.amazonaws.vpclattice#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.vpclattice#ThrottlingException" + }, + { + "target": "com.amazonaws.vpclattice#ValidationException" } - }, + ], "traits": { - "smithy.api#documentation": "

Describes the constraints for a header match. Matches incoming requests with rule based on\n request header value before applying rule action.

" + "smithy.api#documentation": "

Retrieves information about the specified service.

", + "smithy.api#http": { + "code": 200, + "method": "GET", + "uri": "/services/{serviceIdentifier}" + }, + "smithy.api#readonly": {} } }, - "com.amazonaws.vpclattice#HeaderMatchContains": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 200 + "com.amazonaws.vpclattice#GetServiceNetwork": { + "type": "operation", + "input": { + "target": "com.amazonaws.vpclattice#GetServiceNetworkRequest" + }, + "output": { + "target": "com.amazonaws.vpclattice#GetServiceNetworkResponse" + }, + "errors": [ + { + "target": "com.amazonaws.vpclattice#AccessDeniedException" + }, + { + "target": "com.amazonaws.vpclattice#InternalServerException" + }, + { + "target": "com.amazonaws.vpclattice#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.vpclattice#ThrottlingException" + }, + { + "target": "com.amazonaws.vpclattice#ValidationException" } + ], + "traits": { + "smithy.api#documentation": "

Retrieves information about the specified service network.

", + "smithy.api#http": { + "code": 200, + "method": "GET", + "uri": "/servicenetworks/{serviceNetworkIdentifier}" + }, + "smithy.api#readonly": {} } }, - "com.amazonaws.vpclattice#HeaderMatchExact": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 200 + "com.amazonaws.vpclattice#GetServiceNetworkRequest": { + "type": "structure", + "members": { + "serviceNetworkIdentifier": { + "target": "com.amazonaws.vpclattice#ServiceNetworkIdentifier", + "traits": { + "smithy.api#documentation": "

The ID or ARN of the service network.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } } } }, - "com.amazonaws.vpclattice#HeaderMatchList": { - "type": "list", - "member": { - "target": "com.amazonaws.vpclattice#HeaderMatch" + "com.amazonaws.vpclattice#GetServiceNetworkResourceAssociation": { + "type": "operation", + "input": { + "target": "com.amazonaws.vpclattice#GetServiceNetworkResourceAssociationRequest" }, - "traits": { - "smithy.api#length": { - "min": 1, - "max": 5 + "output": { + "target": "com.amazonaws.vpclattice#GetServiceNetworkResourceAssociationResponse" + }, + "errors": [ + { + "target": "com.amazonaws.vpclattice#AccessDeniedException" + }, + { + "target": "com.amazonaws.vpclattice#InternalServerException" + }, + { + "target": "com.amazonaws.vpclattice#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.vpclattice#ThrottlingException" + }, + { + "target": "com.amazonaws.vpclattice#ValidationException" } - } - }, - "com.amazonaws.vpclattice#HeaderMatchName": { - "type": "string", + ], "traits": { - "smithy.api#length": { - "min": 1, - "max": 100 - } + "smithy.api#documentation": "

Retrieves information about the specified association between a service network and a resource configuration.

", + "smithy.api#http": { + "code": 200, + "uri": "/servicenetworkresourceassociations/{serviceNetworkResourceAssociationIdentifier}", + "method": "GET" + }, + "smithy.api#readonly": {} } }, - "com.amazonaws.vpclattice#HeaderMatchPrefix": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 200 + "com.amazonaws.vpclattice#GetServiceNetworkResourceAssociationRequest": { + "type": "structure", + "members": { + "serviceNetworkResourceAssociationIdentifier": { + "target": "com.amazonaws.vpclattice#ServiceNetworkResourceAssociationIdentifier", + "traits": { + "smithy.api#documentation": "

The ID of the association.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.vpclattice#HeaderMatchType": { - "type": "union", + "com.amazonaws.vpclattice#GetServiceNetworkResourceAssociationResponse": { + "type": "structure", "members": { - "exact": { - "target": "com.amazonaws.vpclattice#HeaderMatchExact", + "id": { + "target": "com.amazonaws.vpclattice#ServiceNetworkResourceAssociationId", "traits": { - "smithy.api#documentation": "

An exact type match.

" + "smithy.api#documentation": "

The ID of the association.

" } }, - "prefix": { - "target": "com.amazonaws.vpclattice#HeaderMatchPrefix", + "arn": { + "target": "com.amazonaws.vpclattice#ServiceNetworkResourceAssociationArn", "traits": { - "smithy.api#documentation": "

A prefix type match. Matches the value with the prefix.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the association.

" } }, - "contains": { - "target": "com.amazonaws.vpclattice#HeaderMatchContains", + "status": { + "target": "com.amazonaws.vpclattice#ServiceNetworkResourceAssociationStatus", "traits": { - "smithy.api#documentation": "

A contains type match.

" + "smithy.api#documentation": "

The status of the association.

" } - } - }, - "traits": { - "smithy.api#documentation": "

Describes a header match type.

" - } - }, - "com.amazonaws.vpclattice#HealthCheckConfig": { - "type": "structure", - "members": { - "enabled": { - "target": "com.amazonaws.vpclattice#Boolean", + }, + "createdBy": { + "target": "com.amazonaws.vpclattice#AccountId", "traits": { - "smithy.api#documentation": "

Indicates whether health checking is enabled.

" + "smithy.api#documentation": "

The account that created the association.

" } }, - "protocol": { - "target": "com.amazonaws.vpclattice#TargetGroupProtocol", + "createdAt": { + "target": "com.amazonaws.vpclattice#Timestamp", "traits": { - "smithy.api#documentation": "

The protocol used when performing health checks on targets. The possible protocols are\n HTTP and HTTPS. The default is HTTP.

" + "smithy.api#documentation": "

The date and time that the association was created, in ISO-8601 format.

" } }, - "protocolVersion": { - "target": "com.amazonaws.vpclattice#HealthCheckProtocolVersion", + "resourceConfigurationId": { + "target": "com.amazonaws.vpclattice#ResourceConfigurationId", "traits": { - "smithy.api#documentation": "

The protocol version used when performing health checks on targets. The possible protocol\n versions are HTTP1 and HTTP2.

" + "smithy.api#documentation": "

The ID of the resource configuration that is associated with the service network.

" } }, - "port": { - "target": "com.amazonaws.vpclattice#HealthCheckPort", + "resourceConfigurationArn": { + "target": "com.amazonaws.vpclattice#ResourceConfigurationArn", "traits": { - "smithy.api#documentation": "

The port used when performing health checks on targets. The default setting is the port that\n a target receives traffic on.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the association.

" } }, - "path": { - "target": "com.amazonaws.vpclattice#HealthCheckPath", + "resourceConfigurationName": { + "target": "com.amazonaws.vpclattice#ResourceConfigurationName", "traits": { - "smithy.api#documentation": "

The destination for health checks on the targets. If the protocol version is\n HTTP/1.1 or HTTP/2, specify a valid URI (for example,\n /path?query). The default path is /. Health checks are not supported\n if the protocol version is gRPC, however, you can choose HTTP/1.1 or\n HTTP/2 and specify a valid URI.

" + "smithy.api#documentation": "

The name of the resource configuration that is associated with the service network.

" } }, - "healthCheckIntervalSeconds": { - "target": "com.amazonaws.vpclattice#HealthCheckIntervalSeconds", + "serviceNetworkId": { + "target": "com.amazonaws.vpclattice#ServiceNetworkIdentifierWithoutRegex", "traits": { - "smithy.api#documentation": "

The approximate amount of time, in seconds, between health checks of an individual target.\n The range is 5–300 seconds. The default is 30 seconds.

" + "smithy.api#documentation": "

The ID of the service network that is associated with the resource configuration.

" } }, - "healthCheckTimeoutSeconds": { - "target": "com.amazonaws.vpclattice#HealthCheckTimeoutSeconds", + "serviceNetworkArn": { + "target": "com.amazonaws.vpclattice#ServiceNetworkIdentifierWithoutRegex", "traits": { - "smithy.api#documentation": "

The amount of time, in seconds, to wait before reporting a target as unhealthy. The range is\n 1–120 seconds. The default is 5 seconds.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the service network that is associated with the resource configuration.

" } }, - "healthyThresholdCount": { - "target": "com.amazonaws.vpclattice#HealthyThresholdCount", + "serviceNetworkName": { + "target": "com.amazonaws.vpclattice#ServiceNetworkNameWithoutRegex", "traits": { - "smithy.api#documentation": "

The number of consecutive successful health checks required before considering an unhealthy\n target healthy. The range is 2–10. The default is 5.

" + "smithy.api#documentation": "

The name of the service network that is associated with the resource configuration.

" } }, - "unhealthyThresholdCount": { - "target": "com.amazonaws.vpclattice#UnhealthyThresholdCount", + "failureReason": { + "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

The number of consecutive failed health checks required before considering a target\n unhealthy. The range is 2–10. The default is 2.

" + "smithy.api#documentation": "

The reason the association request failed.

" } }, - "matcher": { - "target": "com.amazonaws.vpclattice#Matcher", + "failureCode": { + "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

The codes to use when checking for a successful response from a target.

" + "smithy.api#documentation": "

The failure code.

" + } + }, + "lastUpdatedAt": { + "target": "com.amazonaws.vpclattice#Timestamp", + "traits": { + "smithy.api#documentation": "

The most recent date and time that the association was updated, in ISO-8601 format.

" + } + }, + "privateDnsEntry": { + "target": "com.amazonaws.vpclattice#DnsEntry", + "traits": { + "smithy.api#documentation": "

The private DNS entry for the service.

" + } + }, + "dnsEntry": { + "target": "com.amazonaws.vpclattice#DnsEntry", + "traits": { + "smithy.api#documentation": "

The DNS entry for the service.

" + } + }, + "isManagedAssociation": { + "target": "com.amazonaws.vpclattice#Boolean", + "traits": { + "smithy.api#documentation": "

Indicates whether the association is managed by Amazon.

" } } }, "traits": { - "smithy.api#documentation": "

Describes the health check configuration of a target group. Health check configurations aren't used\n for target groups of type LAMBDA or ALB.

" + "smithy.api#output": {} } }, - "com.amazonaws.vpclattice#HealthCheckIntervalSeconds": { - "type": "integer", - "traits": { - "smithy.api#range": { - "min": 0, - "max": 300 - } - } - }, - "com.amazonaws.vpclattice#HealthCheckPath": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 0, - "max": 2048 + "com.amazonaws.vpclattice#GetServiceNetworkResponse": { + "type": "structure", + "members": { + "id": { + "target": "com.amazonaws.vpclattice#ServiceNetworkId", + "traits": { + "smithy.api#documentation": "

The ID of the service network.

" + } }, - "smithy.api#pattern": "(^/[a-zA-Z0-9@:%_+.~#?&/=-]*$|(^$))" - } - }, - "com.amazonaws.vpclattice#HealthCheckPort": { - "type": "integer", - "traits": { - "smithy.api#range": { - "min": 0, - "max": 65535 - } - } - }, - "com.amazonaws.vpclattice#HealthCheckProtocolVersion": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "name": "HTTP1", - "value": "HTTP1", - "documentation": "Indicates use of HTTP/1.1 to send requests to target" - }, - { - "name": "HTTP2", - "value": "HTTP2", - "documentation": "Indicates use of HTTP/2 to send requests to target" + "name": { + "target": "com.amazonaws.vpclattice#ServiceNetworkName", + "traits": { + "smithy.api#documentation": "

The name of the service network.

" } - ] - } - }, - "com.amazonaws.vpclattice#HealthCheckTimeoutSeconds": { - "type": "integer", - "traits": { - "smithy.api#range": { - "min": 0, - "max": 120 - } - } - }, - "com.amazonaws.vpclattice#HealthyThresholdCount": { - "type": "integer", - "traits": { - "smithy.api#range": { - "min": 0, - "max": 10 - } - } - }, - "com.amazonaws.vpclattice#HttpCodeMatcher": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 0, - "max": 2000 }, - "smithy.api#pattern": "(^[0-9-,]+$|(^$))" - } - }, - "com.amazonaws.vpclattice#HttpMatch": { - "type": "structure", - "members": { - "method": { - "target": "com.amazonaws.vpclattice#HttpMethod", + "createdAt": { + "target": "com.amazonaws.vpclattice#Timestamp", "traits": { - "smithy.api#documentation": "

The HTTP method type.

" + "smithy.api#documentation": "

The date and time that the service network was created, in ISO-8601 format.

" } }, - "pathMatch": { - "target": "com.amazonaws.vpclattice#PathMatch", + "lastUpdatedAt": { + "target": "com.amazonaws.vpclattice#Timestamp", "traits": { - "smithy.api#documentation": "

The path match.

" + "smithy.api#documentation": "

The date and time of the last update, in ISO-8601 format.

" } }, - "headerMatches": { - "target": "com.amazonaws.vpclattice#HeaderMatchList", + "arn": { + "target": "com.amazonaws.vpclattice#ServiceNetworkArn", "traits": { - "smithy.api#documentation": "

The header matches. Matches incoming requests with rule based on request header value before\n applying rule action.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the service network.

" } - } - }, - "traits": { - "smithy.api#documentation": "

Describes criteria that can be applied to incoming requests.

" - } - }, - "com.amazonaws.vpclattice#HttpMethod": { - "type": "string", - "traits": { - "smithy.api#length": { - "max": 16 - } - } - }, - "com.amazonaws.vpclattice#HttpStatusCode": { - "type": "integer", - "traits": { - "smithy.api#range": { - "min": 100, - "max": 599 - } - } - }, - "com.amazonaws.vpclattice#InternalServerException": { - "type": "structure", - "members": { - "message": { - "target": "smithy.api#String", + }, + "authType": { + "target": "com.amazonaws.vpclattice#AuthType", "traits": { - "smithy.api#required": {} + "smithy.api#documentation": "

The type of IAM policy.

" } }, - "retryAfterSeconds": { - "target": "smithy.api#Integer", + "sharingConfig": { + "target": "com.amazonaws.vpclattice#SharingConfig", "traits": { - "smithy.api#documentation": "

The number of seconds to wait before retrying.

", - "smithy.api#httpHeader": "Retry-After" + "smithy.api#documentation": "

Specifies if the service network is enabled for sharing.

" } - } - }, - "traits": { - "smithy.api#documentation": "

An unexpected error occurred while processing the request.

", - "smithy.api#error": "server", - "smithy.api#httpError": 500, - "smithy.api#retryable": {} - } - }, - "com.amazonaws.vpclattice#IpAddressType": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "name": "IPV4", - "value": "IPV4", - "documentation": "Indicates IPv4 address type" - }, - { - "name": "IPV6", - "value": "IPV6", - "documentation": "Indicates IPv6 address type" + }, + "numberOfAssociatedVPCs": { + "target": "smithy.api#Long", + "traits": { + "smithy.api#documentation": "

The number of VPCs associated with the service network.

" } - ] - } - }, - "com.amazonaws.vpclattice#LambdaEventStructureVersion": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "name": "V1", - "value": "V1", - "documentation": "This is the default lambda event structure version" - }, - { - "name": "V2", - "value": "V2", - "documentation": "Indicates use of lambda event structure version 2" + }, + "numberOfAssociatedServices": { + "target": "smithy.api#Long", + "traits": { + "smithy.api#documentation": "

The number of services associated with the service network.

" } - ] + } } }, - "com.amazonaws.vpclattice#ListAccessLogSubscriptions": { + "com.amazonaws.vpclattice#GetServiceNetworkServiceAssociation": { "type": "operation", "input": { - "target": "com.amazonaws.vpclattice#ListAccessLogSubscriptionsRequest" + "target": "com.amazonaws.vpclattice#GetServiceNetworkServiceAssociationRequest" }, "output": { - "target": "com.amazonaws.vpclattice#ListAccessLogSubscriptionsResponse" + "target": "com.amazonaws.vpclattice#GetServiceNetworkServiceAssociationResponse" }, "errors": [ { @@ -3565,6 +4035,9 @@ { "target": "com.amazonaws.vpclattice#InternalServerException" }, + { + "target": "com.amazonaws.vpclattice#ResourceNotFoundException" + }, { "target": "com.amazonaws.vpclattice#ThrottlingException" }, @@ -3573,159 +4046,130 @@ } ], "traits": { - "smithy.api#documentation": "

Lists all access log subscriptions for the specified service network or service.

", + "smithy.api#documentation": "

Retrieves information about the specified association between a service network and a service.

", "smithy.api#http": { "code": 200, - "uri": "/accesslogsubscriptions", + "uri": "/servicenetworkserviceassociations/{serviceNetworkServiceAssociationIdentifier}", "method": "GET" }, - "smithy.api#paginated": { - "inputToken": "nextToken", - "outputToken": "nextToken", - "pageSize": "maxResults", - "items": "items" - }, "smithy.api#readonly": {} } }, - "com.amazonaws.vpclattice#ListAccessLogSubscriptionsRequest": { + "com.amazonaws.vpclattice#GetServiceNetworkServiceAssociationRequest": { "type": "structure", "members": { - "resourceIdentifier": { - "target": "com.amazonaws.vpclattice#ResourceIdentifier", + "serviceNetworkServiceAssociationIdentifier": { + "target": "com.amazonaws.vpclattice#ServiceNetworkServiceAssociationIdentifier", "traits": { - "smithy.api#documentation": "

The ID or Amazon Resource Name (ARN) of the service network or service.

", - "smithy.api#httpQuery": "resourceIdentifier", + "smithy.api#documentation": "

The ID or ARN of the association.

", + "smithy.api#httpLabel": {}, "smithy.api#required": {} } - }, - "maxResults": { - "target": "com.amazonaws.vpclattice#MaxResults", - "traits": { - "smithy.api#documentation": "

The maximum number of results to return.

", - "smithy.api#httpQuery": "maxResults" - } - }, - "nextToken": { - "target": "com.amazonaws.vpclattice#NextToken", - "traits": { - "smithy.api#documentation": "

A pagination token for the next page of results.

", - "smithy.api#httpQuery": "nextToken" - } } } }, - "com.amazonaws.vpclattice#ListAccessLogSubscriptionsResponse": { + "com.amazonaws.vpclattice#GetServiceNetworkServiceAssociationResponse": { "type": "structure", "members": { - "items": { - "target": "com.amazonaws.vpclattice#AccessLogSubscriptionList", + "id": { + "target": "com.amazonaws.vpclattice#ServiceNetworkServiceAssociationIdentifier", "traits": { - "smithy.api#documentation": "

Information about the access log subscriptions.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The ID of the service network and service association.

" } }, - "nextToken": { - "target": "com.amazonaws.vpclattice#NextToken", + "status": { + "target": "com.amazonaws.vpclattice#ServiceNetworkServiceAssociationStatus", "traits": { - "smithy.api#documentation": "

A pagination token for the next page of results.

" + "smithy.api#documentation": "

The status of the association.

" } - } - } - }, - "com.amazonaws.vpclattice#ListListeners": { - "type": "operation", - "input": { - "target": "com.amazonaws.vpclattice#ListListenersRequest" - }, - "output": { - "target": "com.amazonaws.vpclattice#ListListenersResponse" - }, - "errors": [ - { - "target": "com.amazonaws.vpclattice#AccessDeniedException" }, - { - "target": "com.amazonaws.vpclattice#InternalServerException" + "arn": { + "target": "com.amazonaws.vpclattice#ServiceNetworkServiceAssociationArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the association.

" + } }, - { - "target": "com.amazonaws.vpclattice#ResourceNotFoundException" + "createdBy": { + "target": "com.amazonaws.vpclattice#AccountId", + "traits": { + "smithy.api#documentation": "

The account that created the association.

" + } }, - { - "target": "com.amazonaws.vpclattice#ThrottlingException" + "createdAt": { + "target": "com.amazonaws.vpclattice#Timestamp", + "traits": { + "smithy.api#documentation": "

The date and time that the association was created, in ISO-8601 format.

" + } }, - { - "target": "com.amazonaws.vpclattice#ValidationException" - } - ], - "traits": { - "smithy.api#documentation": "

Lists the listeners for the specified service.

", - "smithy.api#http": { - "code": 200, - "method": "GET", - "uri": "/services/{serviceIdentifier}/listeners" + "serviceId": { + "target": "com.amazonaws.vpclattice#ServiceId", + "traits": { + "smithy.api#documentation": "

The ID of the service.

" + } }, - "smithy.api#paginated": { - "inputToken": "nextToken", - "outputToken": "nextToken", - "pageSize": "maxResults", - "items": "items" + "serviceName": { + "target": "com.amazonaws.vpclattice#ServiceName", + "traits": { + "smithy.api#documentation": "

The name of the service.

" + } }, - "smithy.api#readonly": {} - } - }, - "com.amazonaws.vpclattice#ListListenersRequest": { - "type": "structure", - "members": { - "serviceIdentifier": { - "target": "com.amazonaws.vpclattice#ServiceIdentifier", + "serviceArn": { + "target": "com.amazonaws.vpclattice#ServiceArn", "traits": { - "smithy.api#documentation": "

The ID or Amazon Resource Name (ARN) of the service.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the service.

" } }, - "maxResults": { - "target": "com.amazonaws.vpclattice#MaxResults", + "serviceNetworkId": { + "target": "com.amazonaws.vpclattice#ServiceNetworkId", "traits": { - "smithy.api#documentation": "

The maximum number of results to return.

", - "smithy.api#httpQuery": "maxResults" + "smithy.api#documentation": "

The ID of the service network.

" } }, - "nextToken": { - "target": "com.amazonaws.vpclattice#NextToken", + "serviceNetworkName": { + "target": "com.amazonaws.vpclattice#ServiceNetworkName", "traits": { - "smithy.api#documentation": "

A pagination token for the next page of results.

", - "smithy.api#httpQuery": "nextToken" + "smithy.api#documentation": "

The name of the service network.

" } - } - } - }, - "com.amazonaws.vpclattice#ListListenersResponse": { - "type": "structure", - "members": { - "items": { - "target": "com.amazonaws.vpclattice#ListenerSummaryList", + }, + "serviceNetworkArn": { + "target": "com.amazonaws.vpclattice#ServiceNetworkArn", "traits": { - "smithy.api#documentation": "

Information about the listeners.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the service network.

" } }, - "nextToken": { - "target": "com.amazonaws.vpclattice#NextToken", + "dnsEntry": { + "target": "com.amazonaws.vpclattice#DnsEntry", "traits": { - "smithy.api#documentation": "

If there are additional results, a pagination token for the next page of results.

" + "smithy.api#documentation": "

The DNS name of the service.

" + } + }, + "customDomainName": { + "target": "com.amazonaws.vpclattice#ServiceCustomDomainName", + "traits": { + "smithy.api#documentation": "

The custom domain name of the service.

" + } + }, + "failureMessage": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The failure message.

" + } + }, + "failureCode": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The failure code.

" } } } }, - "com.amazonaws.vpclattice#ListRules": { + "com.amazonaws.vpclattice#GetServiceNetworkVpcAssociation": { "type": "operation", "input": { - "target": "com.amazonaws.vpclattice#ListRulesRequest" + "target": "com.amazonaws.vpclattice#GetServiceNetworkVpcAssociationRequest" }, "output": { - "target": "com.amazonaws.vpclattice#ListRulesResponse" + "target": "com.amazonaws.vpclattice#GetServiceNetworkVpcAssociationResponse" }, "errors": [ { @@ -3745,334 +4189,208 @@ } ], "traits": { - "smithy.api#documentation": "

Lists the rules for the listener.

", + "smithy.api#documentation": "

Retrieves information about the specified association between a service network and a VPC.

", "smithy.api#http": { "code": 200, - "method": "GET", - "uri": "/services/{serviceIdentifier}/listeners/{listenerIdentifier}/rules" - }, - "smithy.api#paginated": { - "inputToken": "nextToken", - "outputToken": "nextToken", - "pageSize": "maxResults", - "items": "items" + "uri": "/servicenetworkvpcassociations/{serviceNetworkVpcAssociationIdentifier}", + "method": "GET" }, "smithy.api#readonly": {} } }, - "com.amazonaws.vpclattice#ListRulesRequest": { + "com.amazonaws.vpclattice#GetServiceNetworkVpcAssociationRequest": { "type": "structure", "members": { - "serviceIdentifier": { - "target": "com.amazonaws.vpclattice#ServiceIdentifier", - "traits": { - "smithy.api#documentation": "

The ID or Amazon Resource Name (ARN) of the service.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - }, - "listenerIdentifier": { - "target": "com.amazonaws.vpclattice#ListenerIdentifier", + "serviceNetworkVpcAssociationIdentifier": { + "target": "com.amazonaws.vpclattice#ServiceNetworkVpcAssociationIdentifier", "traits": { - "smithy.api#documentation": "

The ID or Amazon Resource Name (ARN) of the listener.

", + "smithy.api#documentation": "

The ID or ARN of the association.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } - }, - "maxResults": { - "target": "com.amazonaws.vpclattice#MaxResults", - "traits": { - "smithy.api#documentation": "

The maximum number of results to return.

", - "smithy.api#httpQuery": "maxResults" - } - }, - "nextToken": { - "target": "com.amazonaws.vpclattice#NextToken", - "traits": { - "smithy.api#documentation": "

A pagination token for the next page of results.

", - "smithy.api#httpQuery": "nextToken" - } } } }, - "com.amazonaws.vpclattice#ListRulesResponse": { + "com.amazonaws.vpclattice#GetServiceNetworkVpcAssociationResponse": { "type": "structure", "members": { - "items": { - "target": "com.amazonaws.vpclattice#RuleSummaryList", + "id": { + "target": "com.amazonaws.vpclattice#ServiceNetworkVpcAssociationId", "traits": { - "smithy.api#documentation": "

Information about the rules.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The ID of the association.

" } }, - "nextToken": { - "target": "com.amazonaws.vpclattice#NextToken", + "status": { + "target": "com.amazonaws.vpclattice#ServiceNetworkVpcAssociationStatus", "traits": { - "smithy.api#documentation": "

If there are additional results, a pagination token for the next page of results.

" + "smithy.api#documentation": "

The status of the association.

" } - } - } - }, - "com.amazonaws.vpclattice#ListServiceNetworkServiceAssociations": { - "type": "operation", - "input": { - "target": "com.amazonaws.vpclattice#ListServiceNetworkServiceAssociationsRequest" - }, - "output": { - "target": "com.amazonaws.vpclattice#ListServiceNetworkServiceAssociationsResponse" - }, - "errors": [ - { - "target": "com.amazonaws.vpclattice#AccessDeniedException" - }, - { - "target": "com.amazonaws.vpclattice#InternalServerException" - }, - { - "target": "com.amazonaws.vpclattice#ThrottlingException" - }, - { - "target": "com.amazonaws.vpclattice#ValidationException" - } - ], - "traits": { - "smithy.api#documentation": "

Lists the associations between the service network and the service. You can filter the list\n either by service or service network. You must provide either the service network identifier or\n the service identifier.

\n

Every association in Amazon VPC Lattice is given a unique Amazon Resource Name (ARN), such as when a\n service network is associated with a VPC or when a service is associated with a service network.\n If the association is for a resource that is shared with another account, the association\n includes the local account ID as the prefix in the ARN for each account the resource is shared\n with.

", - "smithy.api#http": { - "code": 200, - "uri": "/servicenetworkserviceassociations", - "method": "GET" - }, - "smithy.api#paginated": { - "inputToken": "nextToken", - "outputToken": "nextToken", - "pageSize": "maxResults", - "items": "items" }, - "smithy.api#readonly": {} - } - }, - "com.amazonaws.vpclattice#ListServiceNetworkServiceAssociationsRequest": { - "type": "structure", - "members": { - "serviceNetworkIdentifier": { - "target": "com.amazonaws.vpclattice#ServiceNetworkIdentifier", + "arn": { + "target": "com.amazonaws.vpclattice#ServiceNetworkVpcAssociationArn", "traits": { - "smithy.api#documentation": "

The ID or Amazon Resource Name (ARN) of the service network.

", - "smithy.api#httpQuery": "serviceNetworkIdentifier" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the association.

" } }, - "serviceIdentifier": { - "target": "com.amazonaws.vpclattice#ServiceIdentifier", + "createdBy": { + "target": "com.amazonaws.vpclattice#AccountId", "traits": { - "smithy.api#documentation": "

The ID or Amazon Resource Name (ARN) of the service.

", - "smithy.api#httpQuery": "serviceIdentifier" + "smithy.api#documentation": "

The account that created the association.

" } }, - "maxResults": { - "target": "com.amazonaws.vpclattice#MaxResults", + "createdAt": { + "target": "com.amazonaws.vpclattice#Timestamp", "traits": { - "smithy.api#documentation": "

The maximum number of results to return.

", - "smithy.api#httpQuery": "maxResults" + "smithy.api#documentation": "

The date and time that the association was created, in ISO-8601 format.

" } }, - "nextToken": { - "target": "com.amazonaws.vpclattice#NextToken", + "serviceNetworkId": { + "target": "com.amazonaws.vpclattice#ServiceNetworkId", "traits": { - "smithy.api#documentation": "

A pagination token for the next page of results.

", - "smithy.api#httpQuery": "nextToken" + "smithy.api#documentation": "

The ID of the service network.

" } - } - } - }, - "com.amazonaws.vpclattice#ListServiceNetworkServiceAssociationsResponse": { - "type": "structure", - "members": { - "items": { - "target": "com.amazonaws.vpclattice#ServiceNetworkServiceAssociationList", + }, + "serviceNetworkName": { + "target": "com.amazonaws.vpclattice#ServiceNetworkName", "traits": { - "smithy.api#documentation": "

Information about the associations.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The name of the service network.

" } }, - "nextToken": { - "target": "com.amazonaws.vpclattice#NextToken", + "serviceNetworkArn": { + "target": "com.amazonaws.vpclattice#ServiceNetworkArn", "traits": { - "smithy.api#documentation": "

If there are additional results, a pagination token for the next page of results.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the service network.

" } - } - } - }, - "com.amazonaws.vpclattice#ListServiceNetworkVpcAssociations": { - "type": "operation", - "input": { - "target": "com.amazonaws.vpclattice#ListServiceNetworkVpcAssociationsRequest" - }, - "output": { - "target": "com.amazonaws.vpclattice#ListServiceNetworkVpcAssociationsResponse" - }, - "errors": [ - { - "target": "com.amazonaws.vpclattice#AccessDeniedException" - }, - { - "target": "com.amazonaws.vpclattice#InternalServerException" - }, - { - "target": "com.amazonaws.vpclattice#ThrottlingException" - }, - { - "target": "com.amazonaws.vpclattice#ValidationException" - } - ], - "traits": { - "smithy.api#documentation": "

Lists the service network and VPC associations. You can filter the list either by VPC or\n service network. You must provide either the service network identifier or the VPC\n identifier.

", - "smithy.api#http": { - "code": 200, - "uri": "/servicenetworkvpcassociations", - "method": "GET" }, - "smithy.api#paginated": { - "inputToken": "nextToken", - "outputToken": "nextToken", - "pageSize": "maxResults", - "items": "items" + "vpcId": { + "target": "com.amazonaws.vpclattice#VpcId", + "traits": { + "smithy.api#documentation": "

The ID of the VPC.

" + } }, - "smithy.api#readonly": {} - } - }, - "com.amazonaws.vpclattice#ListServiceNetworkVpcAssociationsRequest": { - "type": "structure", - "members": { - "serviceNetworkIdentifier": { - "target": "com.amazonaws.vpclattice#ServiceNetworkIdentifier", + "securityGroupIds": { + "target": "com.amazonaws.vpclattice#SecurityGroupList", "traits": { - "smithy.api#documentation": "

The ID or Amazon Resource Name (ARN) of the service network.

", - "smithy.api#httpQuery": "serviceNetworkIdentifier" + "smithy.api#documentation": "

The IDs of the security groups.

" } }, - "vpcIdentifier": { - "target": "com.amazonaws.vpclattice#VpcId", + "failureMessage": { + "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

The ID or Amazon Resource Name (ARN) of the VPC.

", - "smithy.api#httpQuery": "vpcIdentifier" + "smithy.api#documentation": "

The failure message.

" } }, - "maxResults": { - "target": "com.amazonaws.vpclattice#MaxResults", + "failureCode": { + "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

The maximum number of results to return.

", - "smithy.api#httpQuery": "maxResults" + "smithy.api#documentation": "

The failure code.

" } }, - "nextToken": { - "target": "com.amazonaws.vpclattice#NextToken", + "lastUpdatedAt": { + "target": "com.amazonaws.vpclattice#Timestamp", "traits": { - "smithy.api#documentation": "

A pagination token for the next page of results.

", - "smithy.api#httpQuery": "nextToken" + "smithy.api#documentation": "

The date and time that the association was last updated, in ISO-8601 format.

" } } } }, - "com.amazonaws.vpclattice#ListServiceNetworkVpcAssociationsResponse": { + "com.amazonaws.vpclattice#GetServiceRequest": { "type": "structure", "members": { - "items": { - "target": "com.amazonaws.vpclattice#ServiceNetworkVpcAssociationList", + "serviceIdentifier": { + "target": "com.amazonaws.vpclattice#ServiceIdentifier", "traits": { - "smithy.api#documentation": "

Information about the associations.

", + "smithy.api#documentation": "

The ID or ARN of the service.

", + "smithy.api#httpLabel": {}, "smithy.api#required": {} } - }, - "nextToken": { - "target": "com.amazonaws.vpclattice#NextToken", - "traits": { - "smithy.api#documentation": "

If there are additional results, a pagination token for the next page of results.

" - } } } }, - "com.amazonaws.vpclattice#ListServiceNetworks": { - "type": "operation", - "input": { - "target": "com.amazonaws.vpclattice#ListServiceNetworksRequest" - }, - "output": { - "target": "com.amazonaws.vpclattice#ListServiceNetworksResponse" - }, - "errors": [ - { - "target": "com.amazonaws.vpclattice#AccessDeniedException" + "com.amazonaws.vpclattice#GetServiceResponse": { + "type": "structure", + "members": { + "id": { + "target": "com.amazonaws.vpclattice#ServiceId", + "traits": { + "smithy.api#documentation": "

The ID of the service.

" + } }, - { - "target": "com.amazonaws.vpclattice#InternalServerException" + "name": { + "target": "com.amazonaws.vpclattice#ServiceName", + "traits": { + "smithy.api#documentation": "

The name of the service.

" + } }, - { - "target": "com.amazonaws.vpclattice#ThrottlingException" + "arn": { + "target": "com.amazonaws.vpclattice#ServiceArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the service.

" + } }, - { - "target": "com.amazonaws.vpclattice#ValidationException" - } - ], - "traits": { - "smithy.api#documentation": "

Lists the service networks owned by the caller account or shared with the caller account.\n Also includes the account ID in the ARN to show which account owns the service network.

", - "smithy.api#http": { - "code": 200, - "uri": "/servicenetworks", - "method": "GET" + "createdAt": { + "target": "com.amazonaws.vpclattice#Timestamp", + "traits": { + "smithy.api#documentation": "

The date and time that the service was created, in ISO-8601 format.

" + } }, - "smithy.api#paginated": { - "inputToken": "nextToken", - "outputToken": "nextToken", - "pageSize": "maxResults", - "items": "items" + "lastUpdatedAt": { + "target": "com.amazonaws.vpclattice#Timestamp", + "traits": { + "smithy.api#documentation": "

The date and time that the service was last updated, in ISO-8601 format.

" + } }, - "smithy.api#readonly": {} - } - }, - "com.amazonaws.vpclattice#ListServiceNetworksRequest": { - "type": "structure", - "members": { - "maxResults": { - "target": "com.amazonaws.vpclattice#MaxResults", + "dnsEntry": { + "target": "com.amazonaws.vpclattice#DnsEntry", "traits": { - "smithy.api#documentation": "

The maximum number of results to return.

", - "smithy.api#httpQuery": "maxResults" + "smithy.api#documentation": "

The DNS name of the service.

" } }, - "nextToken": { - "target": "com.amazonaws.vpclattice#NextToken", + "customDomainName": { + "target": "com.amazonaws.vpclattice#ServiceCustomDomainName", "traits": { - "smithy.api#documentation": "

A pagination token for the next page of results.

", - "smithy.api#httpQuery": "nextToken" + "smithy.api#documentation": "

The custom domain name of the service.

" } - } - } - }, - "com.amazonaws.vpclattice#ListServiceNetworksResponse": { - "type": "structure", - "members": { - "items": { - "target": "com.amazonaws.vpclattice#ServiceNetworkList", + }, + "certificateArn": { + "target": "com.amazonaws.vpclattice#CertificateArn", "traits": { - "smithy.api#documentation": "

Information about the service networks.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the certificate.

" } }, - "nextToken": { - "target": "com.amazonaws.vpclattice#NextToken", + "status": { + "target": "com.amazonaws.vpclattice#ServiceStatus", "traits": { - "smithy.api#documentation": "

If there are additional results, a pagination token for the next page of results.

" + "smithy.api#documentation": "

The status of the service.

" + } + }, + "authType": { + "target": "com.amazonaws.vpclattice#AuthType", + "traits": { + "smithy.api#documentation": "

The type of IAM policy.

" + } + }, + "failureCode": { + "target": "com.amazonaws.vpclattice#FailureCode", + "traits": { + "smithy.api#documentation": "

The failure code.

" + } + }, + "failureMessage": { + "target": "com.amazonaws.vpclattice#FailureMessage", + "traits": { + "smithy.api#documentation": "

The failure message.

" } } } }, - "com.amazonaws.vpclattice#ListServices": { + "com.amazonaws.vpclattice#GetTargetGroup": { "type": "operation", "input": { - "target": "com.amazonaws.vpclattice#ListServicesRequest" + "target": "com.amazonaws.vpclattice#GetTargetGroupRequest" }, "output": { - "target": "com.amazonaws.vpclattice#ListServicesResponse" + "target": "com.amazonaws.vpclattice#GetTargetGroupResponse" }, "errors": [ { @@ -4081,6 +4399,9 @@ { "target": "com.amazonaws.vpclattice#InternalServerException" }, + { + "target": "com.amazonaws.vpclattice#ResourceNotFoundException" + }, { "target": "com.amazonaws.vpclattice#ThrottlingException" }, @@ -4089,522 +4410,2007 @@ } ], "traits": { - "smithy.api#documentation": "

Lists the services owned by the caller account or shared with the caller account.

", + "smithy.api#documentation": "

Retrieves information about the specified target group.

", "smithy.api#http": { "code": 200, - "uri": "/services", + "uri": "/targetgroups/{targetGroupIdentifier}", "method": "GET" }, - "smithy.api#paginated": { - "inputToken": "nextToken", - "outputToken": "nextToken", - "pageSize": "maxResults", - "items": "items" - }, "smithy.api#readonly": {} } }, - "com.amazonaws.vpclattice#ListServicesRequest": { + "com.amazonaws.vpclattice#GetTargetGroupRequest": { "type": "structure", "members": { - "maxResults": { - "target": "com.amazonaws.vpclattice#MaxResults", - "traits": { - "smithy.api#documentation": "

The maximum number of results to return.

", - "smithy.api#httpQuery": "maxResults" - } - }, - "nextToken": { - "target": "com.amazonaws.vpclattice#NextToken", + "targetGroupIdentifier": { + "target": "com.amazonaws.vpclattice#TargetGroupIdentifier", "traits": { - "smithy.api#documentation": "

A pagination token for the next page of results.

", - "smithy.api#httpQuery": "nextToken" + "smithy.api#documentation": "

The ID or ARN of the target group.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} } } } }, - "com.amazonaws.vpclattice#ListServicesResponse": { + "com.amazonaws.vpclattice#GetTargetGroupResponse": { "type": "structure", "members": { - "items": { - "target": "com.amazonaws.vpclattice#ServiceList", + "id": { + "target": "com.amazonaws.vpclattice#TargetGroupId", "traits": { - "smithy.api#documentation": "

Information about the services.

" + "smithy.api#documentation": "

The ID of the target group.

" } }, - "nextToken": { - "target": "com.amazonaws.vpclattice#NextToken", + "arn": { + "target": "com.amazonaws.vpclattice#TargetGroupArn", "traits": { - "smithy.api#documentation": "

If there are additional results, a pagination token for the next page of results.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the target group.

" } - } - } - }, - "com.amazonaws.vpclattice#ListTagsForResource": { - "type": "operation", - "input": { - "target": "com.amazonaws.vpclattice#ListTagsForResourceRequest" - }, - "output": { - "target": "com.amazonaws.vpclattice#ListTagsForResourceResponse" - }, - "errors": [ - { - "target": "com.amazonaws.vpclattice#AccessDeniedException" - }, - { - "target": "com.amazonaws.vpclattice#InternalServerException" - }, - { - "target": "com.amazonaws.vpclattice#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.vpclattice#ValidationException" - } - ], - "traits": { - "smithy.api#documentation": "

Lists the tags for the specified resource.

", - "smithy.api#http": { - "method": "GET", - "uri": "/tags/{resourceArn}" }, - "smithy.api#readonly": {} - } - }, - "com.amazonaws.vpclattice#ListTagsForResourceRequest": { - "type": "structure", - "members": { - "resourceArn": { - "target": "com.amazonaws.vpclattice#Arn", + "name": { + "target": "com.amazonaws.vpclattice#TargetGroupName", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the resource.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} + "smithy.api#documentation": "

The name of the target group.

" } - } - } - }, - "com.amazonaws.vpclattice#ListTagsForResourceResponse": { - "type": "structure", - "members": { - "tags": { - "target": "com.amazonaws.vpclattice#TagMap", + }, + "type": { + "target": "com.amazonaws.vpclattice#TargetGroupType", "traits": { - "smithy.api#documentation": "

Information about the tags.

" + "smithy.api#documentation": "

The target group type.

" } - } - } - }, - "com.amazonaws.vpclattice#ListTargetGroups": { - "type": "operation", - "input": { - "target": "com.amazonaws.vpclattice#ListTargetGroupsRequest" - }, - "output": { - "target": "com.amazonaws.vpclattice#ListTargetGroupsResponse" - }, - "errors": [ - { - "target": "com.amazonaws.vpclattice#AccessDeniedException" - }, - { - "target": "com.amazonaws.vpclattice#InternalServerException" }, - { - "target": "com.amazonaws.vpclattice#ThrottlingException" + "config": { + "target": "com.amazonaws.vpclattice#TargetGroupConfig", + "traits": { + "smithy.api#documentation": "

The target group configuration.

" + } }, - { - "target": "com.amazonaws.vpclattice#ValidationException" - } - ], - "traits": { - "smithy.api#documentation": "

Lists your target groups. You can narrow your search by using the filters below in your\n request.

", - "smithy.api#http": { - "code": 200, - "uri": "/targetgroups", - "method": "GET" + "createdAt": { + "target": "com.amazonaws.vpclattice#Timestamp", + "traits": { + "smithy.api#documentation": "

The date and time that the target group was created, in ISO-8601 format.

" + } }, - "smithy.api#paginated": { - "inputToken": "nextToken", - "outputToken": "nextToken", - "pageSize": "maxResults", - "items": "items" + "lastUpdatedAt": { + "target": "com.amazonaws.vpclattice#Timestamp", + "traits": { + "smithy.api#documentation": "

The date and time that the target group was last updated, in ISO-8601 format.

" + } }, - "smithy.api#readonly": {} - } - }, - "com.amazonaws.vpclattice#ListTargetGroupsRequest": { - "type": "structure", - "members": { - "maxResults": { - "target": "com.amazonaws.vpclattice#MaxResults", + "status": { + "target": "com.amazonaws.vpclattice#TargetGroupStatus", "traits": { - "smithy.api#documentation": "

The maximum number of results to return.

", - "smithy.api#httpQuery": "maxResults" + "smithy.api#documentation": "

The status.

" } }, - "nextToken": { - "target": "com.amazonaws.vpclattice#NextToken", + "serviceArns": { + "target": "com.amazonaws.vpclattice#ServiceArnList", "traits": { - "smithy.api#documentation": "

A pagination token for the next page of results.

", - "smithy.api#httpQuery": "nextToken" + "smithy.api#documentation": "

The Amazon Resource Names (ARNs) of the service.

" } }, - "vpcIdentifier": { - "target": "com.amazonaws.vpclattice#VpcId", + "failureMessage": { + "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

The ID or Amazon Resource Name (ARN) of the VPC.

", - "smithy.api#httpQuery": "vpcIdentifier" + "smithy.api#documentation": "

The failure message.

" } }, - "targetGroupType": { - "target": "com.amazonaws.vpclattice#TargetGroupType", + "failureCode": { + "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

The target group type.

", - "smithy.api#httpQuery": "targetGroupType" + "smithy.api#documentation": "

The failure code.

" } } } }, - "com.amazonaws.vpclattice#ListTargetGroupsResponse": { + "com.amazonaws.vpclattice#HeaderMatch": { "type": "structure", "members": { - "items": { - "target": "com.amazonaws.vpclattice#TargetGroupList", + "name": { + "target": "com.amazonaws.vpclattice#HeaderMatchName", "traits": { - "smithy.api#documentation": "

Information about the target groups.

" + "smithy.api#documentation": "

The name of the header.

", + "smithy.api#required": {} } }, - "nextToken": { - "target": "com.amazonaws.vpclattice#NextToken", + "match": { + "target": "com.amazonaws.vpclattice#HeaderMatchType", "traits": { - "smithy.api#documentation": "

If there are additional results, a pagination token for the next page of results.

" + "smithy.api#documentation": "

The header match type.

", + "smithy.api#required": {} + } + }, + "caseSensitive": { + "target": "com.amazonaws.vpclattice#Boolean", + "traits": { + "smithy.api#documentation": "

Indicates whether the match is case sensitive.

" } } + }, + "traits": { + "smithy.api#documentation": "

Describes the constraints for a header match. Matches incoming requests with rule based on\n request header value before applying rule action.

" } }, - "com.amazonaws.vpclattice#ListTargets": { - "type": "operation", - "input": { - "target": "com.amazonaws.vpclattice#ListTargetsRequest" - }, - "output": { - "target": "com.amazonaws.vpclattice#ListTargetsResponse" + "com.amazonaws.vpclattice#HeaderMatchContains": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 200 + } + } + }, + "com.amazonaws.vpclattice#HeaderMatchExact": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 200 + } + } + }, + "com.amazonaws.vpclattice#HeaderMatchList": { + "type": "list", + "member": { + "target": "com.amazonaws.vpclattice#HeaderMatch" }, - "errors": [ - { - "target": "com.amazonaws.vpclattice#AccessDeniedException" - }, - { - "target": "com.amazonaws.vpclattice#InternalServerException" - }, - { - "target": "com.amazonaws.vpclattice#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.vpclattice#ThrottlingException" - }, - { - "target": "com.amazonaws.vpclattice#ValidationException" + "traits": { + "smithy.api#length": { + "min": 1, + "max": 5 } - ], + } + }, + "com.amazonaws.vpclattice#HeaderMatchName": { + "type": "string", "traits": { - "smithy.api#documentation": "

Lists the targets for the target group. By default, all targets are included. You can use\n this API to check the health status of targets. You can also filter the results by target.

", - "smithy.api#http": { - "code": 200, - "uri": "/targetgroups/{targetGroupIdentifier}/listtargets", - "method": "POST" - }, - "smithy.api#paginated": { - "inputToken": "nextToken", - "outputToken": "nextToken", - "pageSize": "maxResults", - "items": "items" - }, - "smithy.api#readonly": {} + "smithy.api#length": { + "min": 1, + "max": 100 + } } }, - "com.amazonaws.vpclattice#ListTargetsRequest": { - "type": "structure", + "com.amazonaws.vpclattice#HeaderMatchPrefix": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 200 + } + } + }, + "com.amazonaws.vpclattice#HeaderMatchType": { + "type": "union", "members": { - "targetGroupIdentifier": { - "target": "com.amazonaws.vpclattice#TargetGroupIdentifier", + "exact": { + "target": "com.amazonaws.vpclattice#HeaderMatchExact", "traits": { - "smithy.api#documentation": "

The ID or Amazon Resource Name (ARN) of the target group.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} + "smithy.api#documentation": "

An exact type match.

" } }, - "maxResults": { - "target": "com.amazonaws.vpclattice#MaxResults", + "prefix": { + "target": "com.amazonaws.vpclattice#HeaderMatchPrefix", "traits": { - "smithy.api#documentation": "

The maximum number of results to return.

", - "smithy.api#httpQuery": "maxResults" + "smithy.api#documentation": "

A prefix type match. Matches the value with the prefix.

" } }, - "nextToken": { - "target": "com.amazonaws.vpclattice#NextToken", + "contains": { + "target": "com.amazonaws.vpclattice#HeaderMatchContains", "traits": { - "smithy.api#documentation": "

A pagination token for the next page of results.

", - "smithy.api#httpQuery": "nextToken" - } - }, - "targets": { - "target": "com.amazonaws.vpclattice#TargetList", - "traits": { - "smithy.api#documentation": "

The targets.

", - "smithy.api#length": { - "min": 0, - "max": 20 - } + "smithy.api#documentation": "

A contains type match.

" } } + }, + "traits": { + "smithy.api#documentation": "

Describes a header match type.

" } }, - "com.amazonaws.vpclattice#ListTargetsResponse": { + "com.amazonaws.vpclattice#HealthCheckConfig": { "type": "structure", "members": { - "items": { - "target": "com.amazonaws.vpclattice#TargetSummaryList", + "enabled": { + "target": "com.amazonaws.vpclattice#Boolean", "traits": { - "smithy.api#documentation": "

Information about the targets.

", - "smithy.api#required": {} + "smithy.api#documentation": "

Indicates whether health checking is enabled.

" } }, - "nextToken": { - "target": "com.amazonaws.vpclattice#NextToken", + "protocol": { + "target": "com.amazonaws.vpclattice#TargetGroupProtocol", "traits": { - "smithy.api#documentation": "

If there are additional results, a pagination token for the next page of results.

" + "smithy.api#documentation": "

The protocol used when performing health checks on targets. The possible protocols are\n HTTP and HTTPS. The default is HTTP.

" } - } - } - }, - "com.amazonaws.vpclattice#Listener": { - "type": "resource", - "identifiers": { - "serviceIdentifier": { - "target": "com.amazonaws.vpclattice#ServiceIdentifier" }, - "listenerIdentifier": { - "target": "com.amazonaws.vpclattice#ListenerIdentifier" + "protocolVersion": { + "target": "com.amazonaws.vpclattice#HealthCheckProtocolVersion", + "traits": { + "smithy.api#documentation": "

The protocol version used when performing health checks on targets. The possible protocol\n versions are HTTP1 and HTTP2.

" + } + }, + "port": { + "target": "com.amazonaws.vpclattice#HealthCheckPort", + "traits": { + "smithy.api#documentation": "

The port used when performing health checks on targets. The default setting is the port that\n a target receives traffic on.

" + } + }, + "path": { + "target": "com.amazonaws.vpclattice#HealthCheckPath", + "traits": { + "smithy.api#documentation": "

The destination for health checks on the targets. If the protocol version is\n HTTP/1.1 or HTTP/2, specify a valid URI (for example,\n /path?query). The default path is /. Health checks are not supported\n if the protocol version is gRPC, however, you can choose HTTP/1.1 or\n HTTP/2 and specify a valid URI.

" + } + }, + "healthCheckIntervalSeconds": { + "target": "com.amazonaws.vpclattice#HealthCheckIntervalSeconds", + "traits": { + "smithy.api#documentation": "

The approximate amount of time, in seconds, between health checks of an individual target.\n The range is 5–300 seconds. The default is 30 seconds.

" + } + }, + "healthCheckTimeoutSeconds": { + "target": "com.amazonaws.vpclattice#HealthCheckTimeoutSeconds", + "traits": { + "smithy.api#documentation": "

The amount of time, in seconds, to wait before reporting a target as unhealthy. The range is\n 1–120 seconds. The default is 5 seconds.

" + } + }, + "healthyThresholdCount": { + "target": "com.amazonaws.vpclattice#HealthyThresholdCount", + "traits": { + "smithy.api#documentation": "

The number of consecutive successful health checks required before considering an unhealthy\n target healthy. The range is 2–10. The default is 5.

" + } + }, + "unhealthyThresholdCount": { + "target": "com.amazonaws.vpclattice#UnhealthyThresholdCount", + "traits": { + "smithy.api#documentation": "

The number of consecutive failed health checks required before considering a target\n unhealthy. The range is 2–10. The default is 2.

" + } + }, + "matcher": { + "target": "com.amazonaws.vpclattice#Matcher", + "traits": { + "smithy.api#documentation": "

The codes to use when checking for a successful response from a target.

" + } } }, - "create": { - "target": "com.amazonaws.vpclattice#CreateListener" - }, - "read": { - "target": "com.amazonaws.vpclattice#GetListener" - }, - "update": { - "target": "com.amazonaws.vpclattice#UpdateListener" - }, - "delete": { - "target": "com.amazonaws.vpclattice#DeleteListener" - }, - "list": { - "target": "com.amazonaws.vpclattice#ListListeners" - } - }, - "com.amazonaws.vpclattice#ListenerArn": { - "type": "string", "traits": { - "smithy.api#length": { - "min": 20, - "max": 2048 - }, - "smithy.api#pattern": "^arn:[a-z0-9\\-]+:vpc-lattice:[a-zA-Z0-9\\-]+:\\d{12}:service/svc-[0-9a-z]{17}/listener/listener-[0-9a-z]{17}$" + "smithy.api#documentation": "

Describes the health check configuration of a target group. Health check configurations\n aren't used for target groups of type LAMBDA or ALB.

" } }, - "com.amazonaws.vpclattice#ListenerId": { - "type": "string", + "com.amazonaws.vpclattice#HealthCheckIntervalSeconds": { + "type": "integer", "traits": { - "smithy.api#length": { - "min": 26, - "max": 26 - }, - "smithy.api#pattern": "^listener-[0-9a-z]{17}$" + "smithy.api#range": { + "min": 0, + "max": 300 + } } }, - "com.amazonaws.vpclattice#ListenerIdentifier": { + "com.amazonaws.vpclattice#HealthCheckPath": { "type": "string", "traits": { "smithy.api#length": { - "min": 20, + "min": 0, "max": 2048 }, - "smithy.api#pattern": "^((listener-[0-9a-z]{17})|(^arn:[a-z0-9\\-]+:vpc-lattice:[a-zA-Z0-9\\-]+:\\d{12}:service/svc-[0-9a-z]{17}/listener/listener-[0-9a-z]{17}$))$" + "smithy.api#pattern": "(^/[a-zA-Z0-9@:%_+.~#?&/=-]*$|(^$))" } }, - "com.amazonaws.vpclattice#ListenerName": { - "type": "string", + "com.amazonaws.vpclattice#HealthCheckPort": { + "type": "integer", "traits": { - "smithy.api#length": { - "min": 3, - "max": 63 - }, - "smithy.api#pattern": "^(?!listener-)(?![-])(?!.*[-]$)(?!.*[-]{2})[a-z0-9-]+$" + "smithy.api#range": { + "min": 0, + "max": 65535 + } } }, - "com.amazonaws.vpclattice#ListenerProtocol": { + "com.amazonaws.vpclattice#HealthCheckProtocolVersion": { "type": "string", "traits": { "smithy.api#enum": [ { - "name": "HTTP", - "value": "HTTP", - "documentation": "Indicates HTTP protocol" - }, - { - "name": "HTTPS", - "value": "HTTPS", - "documentation": "Indicates HTTPS protocol" + "name": "HTTP1", + "value": "HTTP1", + "documentation": "Indicates use of HTTP/1.1 to send requests to target" }, { - "name": "TLS_PASSTHROUGH", - "value": "TLS_PASSTHROUGH", - "documentation": "Indicates TLS_PASSTHROUGH protocol" + "name": "HTTP2", + "value": "HTTP2", + "documentation": "Indicates use of HTTP/2 to send requests to target" } ] } }, - "com.amazonaws.vpclattice#ListenerSummary": { + "com.amazonaws.vpclattice#HealthCheckTimeoutSeconds": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 0, + "max": 120 + } + } + }, + "com.amazonaws.vpclattice#HealthyThresholdCount": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 0, + "max": 10 + } + } + }, + "com.amazonaws.vpclattice#HttpCodeMatcher": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 2000 + }, + "smithy.api#pattern": "(^[0-9-,]+$|(^$))" + } + }, + "com.amazonaws.vpclattice#HttpMatch": { "type": "structure", "members": { - "arn": { - "target": "com.amazonaws.vpclattice#ListenerArn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the listener.

" - } - }, - "id": { - "target": "com.amazonaws.vpclattice#ListenerId", - "traits": { - "smithy.api#documentation": "

The ID of the listener.

" - } - }, - "name": { - "target": "com.amazonaws.vpclattice#ListenerName", - "traits": { - "smithy.api#documentation": "

The name of the listener.

" - } - }, - "protocol": { - "target": "com.amazonaws.vpclattice#ListenerProtocol", - "traits": { - "smithy.api#documentation": "

The listener protocol.

" - } - }, - "port": { - "target": "com.amazonaws.vpclattice#Port", + "method": { + "target": "com.amazonaws.vpclattice#HttpMethod", "traits": { - "smithy.api#documentation": "

The listener port.

" + "smithy.api#documentation": "

The HTTP method type.

" } }, - "createdAt": { - "target": "com.amazonaws.vpclattice#Timestamp", + "pathMatch": { + "target": "com.amazonaws.vpclattice#PathMatch", "traits": { - "smithy.api#documentation": "

The date and time that the listener was created, specified in ISO-8601 format.

" + "smithy.api#documentation": "

The path match.

" } }, - "lastUpdatedAt": { - "target": "com.amazonaws.vpclattice#Timestamp", + "headerMatches": { + "target": "com.amazonaws.vpclattice#HeaderMatchList", "traits": { - "smithy.api#documentation": "

The date and time that the listener was last updated, specified in ISO-8601 format.

" + "smithy.api#documentation": "

The header matches. Matches incoming requests with rule based on request header value before\n applying rule action.

" } } }, "traits": { - "smithy.api#documentation": "

Summary information about a listener.

" - } - }, - "com.amazonaws.vpclattice#ListenerSummaryList": { - "type": "list", - "member": { - "target": "com.amazonaws.vpclattice#ListenerSummary" + "smithy.api#documentation": "

Describes criteria that can be applied to incoming requests.

" } }, - "com.amazonaws.vpclattice#Matcher": { - "type": "union", - "members": { - "httpCode": { - "target": "com.amazonaws.vpclattice#HttpCodeMatcher", - "traits": { - "smithy.api#documentation": "

The HTTP code to use when checking for a successful response from a target.

" - } - } - }, + "com.amazonaws.vpclattice#HttpMethod": { + "type": "string", "traits": { - "smithy.api#documentation": "

Describes the codes to use when checking for a successful response from a target for health\n checks.

" + "smithy.api#length": { + "max": 16 + } } }, - "com.amazonaws.vpclattice#MaxResults": { + "com.amazonaws.vpclattice#HttpStatusCode": { "type": "integer", "traits": { "smithy.api#range": { - "min": 1, - "max": 100 + "min": 100, + "max": 599 } } }, - "com.amazonaws.vpclattice#MercuryControlPlane": { - "type": "service", - "version": "2022-11-30", - "operations": [ - { - "target": "com.amazonaws.vpclattice#BatchUpdateRule" + "com.amazonaws.vpclattice#InternalServerException": { + "type": "structure", + "members": { + "message": { + "target": "smithy.api#String", + "traits": { + "smithy.api#required": {} + } }, + "retryAfterSeconds": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

The number of seconds to wait before retrying.

", + "smithy.api#httpHeader": "Retry-After" + } + } + }, + "traits": { + "smithy.api#documentation": "

An unexpected error occurred while processing the request.

", + "smithy.api#error": "server", + "smithy.api#httpError": 500, + "smithy.api#retryable": {} + } + }, + "com.amazonaws.vpclattice#IpAddress": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 4, + "max": 39 + } + } + }, + "com.amazonaws.vpclattice#IpAddressType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "name": "IPV4", + "value": "IPV4", + "documentation": "Indicates IPv4 address type" + }, + { + "name": "IPV6", + "value": "IPV6", + "documentation": "Indicates IPv6 address type" + } + ] + } + }, + "com.amazonaws.vpclattice#IpResource": { + "type": "structure", + "members": { + "ipAddress": { + "target": "com.amazonaws.vpclattice#IpAddress", + "traits": { + "smithy.api#documentation": "

The IP address of the IP resource.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes an IP resource.

" + } + }, + "com.amazonaws.vpclattice#LambdaEventStructureVersion": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "name": "V1", + "value": "V1", + "documentation": "This is the default lambda event structure version" + }, + { + "name": "V2", + "value": "V2", + "documentation": "Indicates use of lambda event structure version 2" + } + ] + } + }, + "com.amazonaws.vpclattice#ListAccessLogSubscriptions": { + "type": "operation", + "input": { + "target": "com.amazonaws.vpclattice#ListAccessLogSubscriptionsRequest" + }, + "output": { + "target": "com.amazonaws.vpclattice#ListAccessLogSubscriptionsResponse" + }, + "errors": [ { - "target": "com.amazonaws.vpclattice#DeleteAuthPolicy" + "target": "com.amazonaws.vpclattice#AccessDeniedException" }, { - "target": "com.amazonaws.vpclattice#DeleteResourcePolicy" + "target": "com.amazonaws.vpclattice#InternalServerException" }, { - "target": "com.amazonaws.vpclattice#GetAuthPolicy" + "target": "com.amazonaws.vpclattice#ThrottlingException" }, { - "target": "com.amazonaws.vpclattice#GetResourcePolicy" + "target": "com.amazonaws.vpclattice#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Lists the access log subscriptions for the specified service network or service.

", + "smithy.api#http": { + "code": 200, + "uri": "/accesslogsubscriptions", + "method": "GET" + }, + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults", + "items": "items" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.vpclattice#ListAccessLogSubscriptionsRequest": { + "type": "structure", + "members": { + "resourceIdentifier": { + "target": "com.amazonaws.vpclattice#ResourceIdentifier", + "traits": { + "smithy.api#documentation": "

The ID or ARN of the service network or service.

", + "smithy.api#httpQuery": "resourceIdentifier", + "smithy.api#required": {} + } + }, + "maxResults": { + "target": "com.amazonaws.vpclattice#MaxResults", + "traits": { + "smithy.api#documentation": "

The maximum number of results to return.

", + "smithy.api#httpQuery": "maxResults" + } + }, + "nextToken": { + "target": "com.amazonaws.vpclattice#NextToken", + "traits": { + "smithy.api#documentation": "

A pagination token for the next page of results.

", + "smithy.api#httpQuery": "nextToken" + } + } + } + }, + "com.amazonaws.vpclattice#ListAccessLogSubscriptionsResponse": { + "type": "structure", + "members": { + "items": { + "target": "com.amazonaws.vpclattice#AccessLogSubscriptionList", + "traits": { + "smithy.api#documentation": "

Information about the access log subscriptions.

", + "smithy.api#required": {} + } }, + "nextToken": { + "target": "com.amazonaws.vpclattice#NextToken", + "traits": { + "smithy.api#documentation": "

A pagination token for the next page of results.

" + } + } + } + }, + "com.amazonaws.vpclattice#ListListeners": { + "type": "operation", + "input": { + "target": "com.amazonaws.vpclattice#ListListenersRequest" + }, + "output": { + "target": "com.amazonaws.vpclattice#ListListenersResponse" + }, + "errors": [ { - "target": "com.amazonaws.vpclattice#ListTagsForResource" + "target": "com.amazonaws.vpclattice#AccessDeniedException" }, { - "target": "com.amazonaws.vpclattice#PutAuthPolicy" + "target": "com.amazonaws.vpclattice#InternalServerException" }, { - "target": "com.amazonaws.vpclattice#PutResourcePolicy" + "target": "com.amazonaws.vpclattice#ResourceNotFoundException" }, { - "target": "com.amazonaws.vpclattice#TagResource" + "target": "com.amazonaws.vpclattice#ThrottlingException" }, { - "target": "com.amazonaws.vpclattice#UntagResource" + "target": "com.amazonaws.vpclattice#ValidationException" } ], - "resources": [ - { - "target": "com.amazonaws.vpclattice#AccessLogSubscription" + "traits": { + "smithy.api#documentation": "

Lists the listeners for the specified service.

", + "smithy.api#http": { + "code": 200, + "method": "GET", + "uri": "/services/{serviceIdentifier}/listeners" }, - { - "target": "com.amazonaws.vpclattice#Listener" + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults", + "items": "items" }, - { - "target": "com.amazonaws.vpclattice#Rule" + "smithy.api#readonly": {} + } + }, + "com.amazonaws.vpclattice#ListListenersRequest": { + "type": "structure", + "members": { + "serviceIdentifier": { + "target": "com.amazonaws.vpclattice#ServiceIdentifier", + "traits": { + "smithy.api#documentation": "

The ID or ARN of the service.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } }, - { - "target": "com.amazonaws.vpclattice#Service" + "maxResults": { + "target": "com.amazonaws.vpclattice#MaxResults", + "traits": { + "smithy.api#documentation": "

The maximum number of results to return.

", + "smithy.api#httpQuery": "maxResults" + } + }, + "nextToken": { + "target": "com.amazonaws.vpclattice#NextToken", + "traits": { + "smithy.api#documentation": "

A pagination token for the next page of results.

", + "smithy.api#httpQuery": "nextToken" + } + } + } + }, + "com.amazonaws.vpclattice#ListListenersResponse": { + "type": "structure", + "members": { + "items": { + "target": "com.amazonaws.vpclattice#ListenerSummaryList", + "traits": { + "smithy.api#documentation": "

Information about the listeners.

", + "smithy.api#required": {} + } }, + "nextToken": { + "target": "com.amazonaws.vpclattice#NextToken", + "traits": { + "smithy.api#documentation": "

If there are additional results, a pagination token for the next page of results.

" + } + } + } + }, + "com.amazonaws.vpclattice#ListResourceConfigurations": { + "type": "operation", + "input": { + "target": "com.amazonaws.vpclattice#ListResourceConfigurationsRequest" + }, + "output": { + "target": "com.amazonaws.vpclattice#ListResourceConfigurationsResponse" + }, + "errors": [ { - "target": "com.amazonaws.vpclattice#ServiceNetwork" + "target": "com.amazonaws.vpclattice#AccessDeniedException" }, { - "target": "com.amazonaws.vpclattice#ServiceNetworkServiceAssociation" + "target": "com.amazonaws.vpclattice#InternalServerException" }, { - "target": "com.amazonaws.vpclattice#ServiceNetworkVpcAssociation" + "target": "com.amazonaws.vpclattice#ThrottlingException" }, { - "target": "com.amazonaws.vpclattice#TargetGroup" + "target": "com.amazonaws.vpclattice#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Lists the resource configurations owned by or shared with this account.

", + "smithy.api#http": { + "code": 200, + "method": "GET", + "uri": "/resourceconfigurations" + }, + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults", + "items": "items" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.vpclattice#ListResourceConfigurationsRequest": { + "type": "structure", + "members": { + "resourceGatewayIdentifier": { + "target": "com.amazonaws.vpclattice#ResourceGatewayIdentifier", + "traits": { + "smithy.api#documentation": "

The ID of the resource gateway for the resource configuration.

", + "smithy.api#httpQuery": "resourceGatewayIdentifier" + } + }, + "resourceConfigurationGroupIdentifier": { + "target": "com.amazonaws.vpclattice#ResourceConfigurationIdentifier", + "traits": { + "smithy.api#documentation": "

The ID of the group resource configuration.

", + "smithy.api#httpQuery": "resourceConfigurationGroupIdentifier" + } + }, + "maxResults": { + "target": "com.amazonaws.vpclattice#MaxResults", + "traits": { + "smithy.api#documentation": "

The maximum page size.

", + "smithy.api#httpQuery": "maxResults" + } + }, + "nextToken": { + "target": "com.amazonaws.vpclattice#NextToken", + "traits": { + "smithy.api#documentation": "

A pagination token for the next page of results.

", + "smithy.api#httpQuery": "nextToken" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.vpclattice#ListResourceConfigurationsResponse": { + "type": "structure", + "members": { + "items": { + "target": "com.amazonaws.vpclattice#ResourceConfigurationSummaryList", + "traits": { + "smithy.api#documentation": "

Information about the resource configurations.

" + } + }, + "nextToken": { + "target": "com.amazonaws.vpclattice#NextToken", + "traits": { + "smithy.api#documentation": "

If there are additional results, a pagination token for the next page of results.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.vpclattice#ListResourceEndpointAssociations": { + "type": "operation", + "input": { + "target": "com.amazonaws.vpclattice#ListResourceEndpointAssociationsRequest" + }, + "output": { + "target": "com.amazonaws.vpclattice#ListResourceEndpointAssociationsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.vpclattice#AccessDeniedException" + }, + { + "target": "com.amazonaws.vpclattice#InternalServerException" + }, + { + "target": "com.amazonaws.vpclattice#ThrottlingException" + }, + { + "target": "com.amazonaws.vpclattice#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Lists the associations for the specified VPC endpoint.

", + "smithy.api#http": { + "code": 200, + "uri": "/resourceendpointassociations", + "method": "GET" + }, + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults", + "items": "items" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.vpclattice#ListResourceEndpointAssociationsRequest": { + "type": "structure", + "members": { + "resourceConfigurationIdentifier": { + "target": "com.amazonaws.vpclattice#ResourceConfigurationIdentifier", + "traits": { + "smithy.api#documentation": "

The ID for the resource configuration associated with the VPC endpoint.

", + "smithy.api#httpQuery": "resourceConfigurationIdentifier", + "smithy.api#required": {} + } + }, + "resourceEndpointAssociationIdentifier": { + "target": "com.amazonaws.vpclattice#ResourceEndpointAssociationIdentifier", + "traits": { + "smithy.api#documentation": "

The ID of the association.

", + "smithy.api#httpQuery": "resourceEndpointAssociationIdentifier" + } + }, + "vpcEndpointId": { + "target": "com.amazonaws.vpclattice#VpcEndpointId", + "traits": { + "smithy.api#documentation": "

The ID of the VPC endpoint in the association.

", + "smithy.api#httpQuery": "vpcEndpointId" + } + }, + "vpcEndpointOwner": { + "target": "com.amazonaws.vpclattice#VpcEndpointOwner", + "traits": { + "smithy.api#documentation": "

The owner of the VPC endpoint in the association.

", + "smithy.api#httpQuery": "vpcEndpointOwner" + } + }, + "maxResults": { + "target": "com.amazonaws.vpclattice#MaxResults", + "traits": { + "smithy.api#documentation": "

The maximum page size.

", + "smithy.api#httpQuery": "maxResults" + } + }, + "nextToken": { + "target": "com.amazonaws.vpclattice#NextToken", + "traits": { + "smithy.api#documentation": "

A pagination token for the next page of results.

", + "smithy.api#httpQuery": "nextToken" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.vpclattice#ListResourceEndpointAssociationsResponse": { + "type": "structure", + "members": { + "items": { + "target": "com.amazonaws.vpclattice#ResourceEndpointAssociationList", + "traits": { + "smithy.api#documentation": "

Information about the VPC endpoint associations.

", + "smithy.api#required": {} + } + }, + "nextToken": { + "target": "com.amazonaws.vpclattice#NextToken", + "traits": { + "smithy.api#documentation": "

If there are additional results, a pagination token for the next page of results.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.vpclattice#ListResourceGateways": { + "type": "operation", + "input": { + "target": "com.amazonaws.vpclattice#ListResourceGatewaysRequest" + }, + "output": { + "target": "com.amazonaws.vpclattice#ListResourceGatewaysResponse" + }, + "errors": [ + { + "target": "com.amazonaws.vpclattice#AccessDeniedException" + }, + { + "target": "com.amazonaws.vpclattice#InternalServerException" + }, + { + "target": "com.amazonaws.vpclattice#ThrottlingException" + }, + { + "target": "com.amazonaws.vpclattice#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Lists the resource gateways that you own or that were shared with you.

", + "smithy.api#http": { + "code": 200, + "uri": "/resourcegateways", + "method": "GET" + }, + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults", + "items": "items" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.vpclattice#ListResourceGatewaysRequest": { + "type": "structure", + "members": { + "maxResults": { + "target": "com.amazonaws.vpclattice#MaxResults", + "traits": { + "smithy.api#documentation": "

The maximum page size.

", + "smithy.api#httpQuery": "maxResults" + } + }, + "nextToken": { + "target": "com.amazonaws.vpclattice#NextToken", + "traits": { + "smithy.api#documentation": "

If there are additional results, a pagination token for the next page of results.

", + "smithy.api#httpQuery": "nextToken" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.vpclattice#ListResourceGatewaysResponse": { + "type": "structure", + "members": { + "items": { + "target": "com.amazonaws.vpclattice#ResourceGatewayList", + "traits": { + "smithy.api#documentation": "

Information about the resource gateways.

" + } + }, + "nextToken": { + "target": "com.amazonaws.vpclattice#NextToken", + "traits": { + "smithy.api#documentation": "

If there are additional results, a pagination token for the next page of results.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.vpclattice#ListRules": { + "type": "operation", + "input": { + "target": "com.amazonaws.vpclattice#ListRulesRequest" + }, + "output": { + "target": "com.amazonaws.vpclattice#ListRulesResponse" + }, + "errors": [ + { + "target": "com.amazonaws.vpclattice#AccessDeniedException" + }, + { + "target": "com.amazonaws.vpclattice#InternalServerException" + }, + { + "target": "com.amazonaws.vpclattice#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.vpclattice#ThrottlingException" + }, + { + "target": "com.amazonaws.vpclattice#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Lists the rules for the specified listener.

", + "smithy.api#http": { + "code": 200, + "method": "GET", + "uri": "/services/{serviceIdentifier}/listeners/{listenerIdentifier}/rules" + }, + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults", + "items": "items" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.vpclattice#ListRulesRequest": { + "type": "structure", + "members": { + "serviceIdentifier": { + "target": "com.amazonaws.vpclattice#ServiceIdentifier", + "traits": { + "smithy.api#documentation": "

The ID or ARN of the service.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "listenerIdentifier": { + "target": "com.amazonaws.vpclattice#ListenerIdentifier", + "traits": { + "smithy.api#documentation": "

The ID or ARN of the listener.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "maxResults": { + "target": "com.amazonaws.vpclattice#MaxResults", + "traits": { + "smithy.api#documentation": "

The maximum number of results to return.

", + "smithy.api#httpQuery": "maxResults" + } + }, + "nextToken": { + "target": "com.amazonaws.vpclattice#NextToken", + "traits": { + "smithy.api#documentation": "

A pagination token for the next page of results.

", + "smithy.api#httpQuery": "nextToken" + } + } + } + }, + "com.amazonaws.vpclattice#ListRulesResponse": { + "type": "structure", + "members": { + "items": { + "target": "com.amazonaws.vpclattice#RuleSummaryList", + "traits": { + "smithy.api#documentation": "

Information about the rules.

", + "smithy.api#required": {} + } + }, + "nextToken": { + "target": "com.amazonaws.vpclattice#NextToken", + "traits": { + "smithy.api#documentation": "

If there are additional results, a pagination token for the next page of results.

" + } + } + } + }, + "com.amazonaws.vpclattice#ListServiceNetworkResourceAssociations": { + "type": "operation", + "input": { + "target": "com.amazonaws.vpclattice#ListServiceNetworkResourceAssociationsRequest" + }, + "output": { + "target": "com.amazonaws.vpclattice#ListServiceNetworkResourceAssociationsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.vpclattice#AccessDeniedException" + }, + { + "target": "com.amazonaws.vpclattice#InternalServerException" + }, + { + "target": "com.amazonaws.vpclattice#ThrottlingException" + }, + { + "target": "com.amazonaws.vpclattice#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Lists the associations between a service network and a resource configuration.

", + "smithy.api#http": { + "code": 200, + "uri": "/servicenetworkresourceassociations", + "method": "GET" + }, + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults", + "items": "items" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.vpclattice#ListServiceNetworkResourceAssociationsRequest": { + "type": "structure", + "members": { + "serviceNetworkIdentifier": { + "target": "com.amazonaws.vpclattice#ServiceNetworkIdentifier", + "traits": { + "smithy.api#documentation": "

The ID of the service network.

", + "smithy.api#httpQuery": "serviceNetworkIdentifier" + } + }, + "resourceConfigurationIdentifier": { + "target": "com.amazonaws.vpclattice#ResourceConfigurationIdentifier", + "traits": { + "smithy.api#documentation": "

The ID of the resource configurationk.

", + "smithy.api#httpQuery": "resourceConfigurationIdentifier" + } + }, + "maxResults": { + "target": "com.amazonaws.vpclattice#MaxResults", + "traits": { + "smithy.api#documentation": "

The maximum page size.

", + "smithy.api#httpQuery": "maxResults" + } + }, + "nextToken": { + "target": "com.amazonaws.vpclattice#NextToken", + "traits": { + "smithy.api#documentation": "

If there are additional results, a pagination token for the next page of results.

", + "smithy.api#httpQuery": "nextToken" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.vpclattice#ListServiceNetworkResourceAssociationsResponse": { + "type": "structure", + "members": { + "items": { + "target": "com.amazonaws.vpclattice#ServiceNetworkResourceAssociationList", + "traits": { + "smithy.api#documentation": "

Information about the associations.

", + "smithy.api#required": {} + } + }, + "nextToken": { + "target": "com.amazonaws.vpclattice#NextToken", + "traits": { + "smithy.api#documentation": "

If there are additional results, a pagination token for the next page of results.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.vpclattice#ListServiceNetworkServiceAssociations": { + "type": "operation", + "input": { + "target": "com.amazonaws.vpclattice#ListServiceNetworkServiceAssociationsRequest" + }, + "output": { + "target": "com.amazonaws.vpclattice#ListServiceNetworkServiceAssociationsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.vpclattice#AccessDeniedException" + }, + { + "target": "com.amazonaws.vpclattice#InternalServerException" + }, + { + "target": "com.amazonaws.vpclattice#ThrottlingException" + }, + { + "target": "com.amazonaws.vpclattice#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Lists the associations between a service network and a service. You can filter the list\n either by service or service network. You must provide either the service network identifier or\n the service identifier.

\n

Every association in Amazon VPC Lattice has a unique Amazon Resource Name (ARN), such as when a\n service network is associated with a VPC or when a service is associated with a service network.\n If the association is for a resource is shared with another account, the association\n includes the local account ID as the prefix in the ARN.

", + "smithy.api#http": { + "code": 200, + "uri": "/servicenetworkserviceassociations", + "method": "GET" + }, + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults", + "items": "items" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.vpclattice#ListServiceNetworkServiceAssociationsRequest": { + "type": "structure", + "members": { + "serviceNetworkIdentifier": { + "target": "com.amazonaws.vpclattice#ServiceNetworkIdentifier", + "traits": { + "smithy.api#documentation": "

The ID or ARN of the service network.

", + "smithy.api#httpQuery": "serviceNetworkIdentifier" + } + }, + "serviceIdentifier": { + "target": "com.amazonaws.vpclattice#ServiceIdentifier", + "traits": { + "smithy.api#documentation": "

The ID or ARN of the service.

", + "smithy.api#httpQuery": "serviceIdentifier" + } + }, + "maxResults": { + "target": "com.amazonaws.vpclattice#MaxResults", + "traits": { + "smithy.api#documentation": "

The maximum number of results to return.

", + "smithy.api#httpQuery": "maxResults" + } + }, + "nextToken": { + "target": "com.amazonaws.vpclattice#NextToken", + "traits": { + "smithy.api#documentation": "

A pagination token for the next page of results.

", + "smithy.api#httpQuery": "nextToken" + } + } + } + }, + "com.amazonaws.vpclattice#ListServiceNetworkServiceAssociationsResponse": { + "type": "structure", + "members": { + "items": { + "target": "com.amazonaws.vpclattice#ServiceNetworkServiceAssociationList", + "traits": { + "smithy.api#documentation": "

Information about the associations.

", + "smithy.api#required": {} + } + }, + "nextToken": { + "target": "com.amazonaws.vpclattice#NextToken", + "traits": { + "smithy.api#documentation": "

If there are additional results, a pagination token for the next page of results.

" + } + } + } + }, + "com.amazonaws.vpclattice#ListServiceNetworkVpcAssociations": { + "type": "operation", + "input": { + "target": "com.amazonaws.vpclattice#ListServiceNetworkVpcAssociationsRequest" + }, + "output": { + "target": "com.amazonaws.vpclattice#ListServiceNetworkVpcAssociationsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.vpclattice#AccessDeniedException" + }, + { + "target": "com.amazonaws.vpclattice#InternalServerException" + }, + { + "target": "com.amazonaws.vpclattice#ThrottlingException" + }, + { + "target": "com.amazonaws.vpclattice#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Lists the associations between a service network and a VPC. You can filter the list either by VPC or\n service network. You must provide either the ID of the service network identifier or the ID of the VPC.

", + "smithy.api#http": { + "code": 200, + "uri": "/servicenetworkvpcassociations", + "method": "GET" + }, + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults", + "items": "items" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.vpclattice#ListServiceNetworkVpcAssociationsRequest": { + "type": "structure", + "members": { + "serviceNetworkIdentifier": { + "target": "com.amazonaws.vpclattice#ServiceNetworkIdentifier", + "traits": { + "smithy.api#documentation": "

The ID or ARN of the service network.

", + "smithy.api#httpQuery": "serviceNetworkIdentifier" + } + }, + "vpcIdentifier": { + "target": "com.amazonaws.vpclattice#VpcId", + "traits": { + "smithy.api#documentation": "

The ID or ARN of the VPC.

", + "smithy.api#httpQuery": "vpcIdentifier" + } + }, + "maxResults": { + "target": "com.amazonaws.vpclattice#MaxResults", + "traits": { + "smithy.api#documentation": "

The maximum number of results to return.

", + "smithy.api#httpQuery": "maxResults" + } + }, + "nextToken": { + "target": "com.amazonaws.vpclattice#NextToken", + "traits": { + "smithy.api#documentation": "

A pagination token for the next page of results.

", + "smithy.api#httpQuery": "nextToken" + } + } + } + }, + "com.amazonaws.vpclattice#ListServiceNetworkVpcAssociationsResponse": { + "type": "structure", + "members": { + "items": { + "target": "com.amazonaws.vpclattice#ServiceNetworkVpcAssociationList", + "traits": { + "smithy.api#documentation": "

Information about the associations.

", + "smithy.api#required": {} + } + }, + "nextToken": { + "target": "com.amazonaws.vpclattice#NextToken", + "traits": { + "smithy.api#documentation": "

If there are additional results, a pagination token for the next page of results.

" + } + } + } + }, + "com.amazonaws.vpclattice#ListServiceNetworkVpcEndpointAssociations": { + "type": "operation", + "input": { + "target": "com.amazonaws.vpclattice#ListServiceNetworkVpcEndpointAssociationsRequest" + }, + "output": { + "target": "com.amazonaws.vpclattice#ListServiceNetworkVpcEndpointAssociationsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.vpclattice#AccessDeniedException" + }, + { + "target": "com.amazonaws.vpclattice#InternalServerException" + }, + { + "target": "com.amazonaws.vpclattice#ThrottlingException" + }, + { + "target": "com.amazonaws.vpclattice#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Lists the associations between a service network and a VPC endpoint.

", + "smithy.api#http": { + "code": 200, + "uri": "/servicenetworkvpcendpointassociations", + "method": "GET" + }, + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults", + "items": "items" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.vpclattice#ListServiceNetworkVpcEndpointAssociationsRequest": { + "type": "structure", + "members": { + "serviceNetworkIdentifier": { + "target": "com.amazonaws.vpclattice#ServiceNetworkIdentifier", + "traits": { + "smithy.api#documentation": "

The ID of the service network associated with the VPC endpoint.

", + "smithy.api#httpQuery": "serviceNetworkIdentifier", + "smithy.api#required": {} + } + }, + "maxResults": { + "target": "com.amazonaws.vpclattice#MaxResults", + "traits": { + "smithy.api#documentation": "

The maximum page size.

", + "smithy.api#httpQuery": "maxResults" + } + }, + "nextToken": { + "target": "com.amazonaws.vpclattice#NextToken", + "traits": { + "smithy.api#documentation": "

If there are additional results, a pagination token for the next page of results.

", + "smithy.api#httpQuery": "nextToken" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.vpclattice#ListServiceNetworkVpcEndpointAssociationsResponse": { + "type": "structure", + "members": { + "items": { + "target": "com.amazonaws.vpclattice#ServiceNetworkVpcEndpointAssociationList", + "traits": { + "smithy.api#documentation": "

Information about the association between the VPC endpoint and service network.

", + "smithy.api#required": {} + } + }, + "nextToken": { + "target": "com.amazonaws.vpclattice#NextToken", + "traits": { + "smithy.api#documentation": "

If there are additional results, a pagination token for the next page of results.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.vpclattice#ListServiceNetworks": { + "type": "operation", + "input": { + "target": "com.amazonaws.vpclattice#ListServiceNetworksRequest" + }, + "output": { + "target": "com.amazonaws.vpclattice#ListServiceNetworksResponse" + }, + "errors": [ + { + "target": "com.amazonaws.vpclattice#AccessDeniedException" + }, + { + "target": "com.amazonaws.vpclattice#InternalServerException" + }, + { + "target": "com.amazonaws.vpclattice#ThrottlingException" + }, + { + "target": "com.amazonaws.vpclattice#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Lists the service networks owned by or shared with this account. The account ID in the ARN\n shows which account owns the service network.

", + "smithy.api#http": { + "code": 200, + "uri": "/servicenetworks", + "method": "GET" + }, + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults", + "items": "items" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.vpclattice#ListServiceNetworksRequest": { + "type": "structure", + "members": { + "maxResults": { + "target": "com.amazonaws.vpclattice#MaxResults", + "traits": { + "smithy.api#documentation": "

The maximum number of results to return.

", + "smithy.api#httpQuery": "maxResults" + } + }, + "nextToken": { + "target": "com.amazonaws.vpclattice#NextToken", + "traits": { + "smithy.api#documentation": "

A pagination token for the next page of results.

", + "smithy.api#httpQuery": "nextToken" + } + } + } + }, + "com.amazonaws.vpclattice#ListServiceNetworksResponse": { + "type": "structure", + "members": { + "items": { + "target": "com.amazonaws.vpclattice#ServiceNetworkList", + "traits": { + "smithy.api#documentation": "

Information about the service networks.

", + "smithy.api#required": {} + } + }, + "nextToken": { + "target": "com.amazonaws.vpclattice#NextToken", + "traits": { + "smithy.api#documentation": "

If there are additional results, a pagination token for the next page of results.

" + } + } + } + }, + "com.amazonaws.vpclattice#ListServices": { + "type": "operation", + "input": { + "target": "com.amazonaws.vpclattice#ListServicesRequest" + }, + "output": { + "target": "com.amazonaws.vpclattice#ListServicesResponse" + }, + "errors": [ + { + "target": "com.amazonaws.vpclattice#AccessDeniedException" + }, + { + "target": "com.amazonaws.vpclattice#InternalServerException" + }, + { + "target": "com.amazonaws.vpclattice#ThrottlingException" + }, + { + "target": "com.amazonaws.vpclattice#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Lists the services owned by the caller account or shared with the caller account.

", + "smithy.api#http": { + "code": 200, + "uri": "/services", + "method": "GET" + }, + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults", + "items": "items" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.vpclattice#ListServicesRequest": { + "type": "structure", + "members": { + "maxResults": { + "target": "com.amazonaws.vpclattice#MaxResults", + "traits": { + "smithy.api#documentation": "

The maximum number of results to return.

", + "smithy.api#httpQuery": "maxResults" + } + }, + "nextToken": { + "target": "com.amazonaws.vpclattice#NextToken", + "traits": { + "smithy.api#documentation": "

A pagination token for the next page of results.

", + "smithy.api#httpQuery": "nextToken" + } + } + } + }, + "com.amazonaws.vpclattice#ListServicesResponse": { + "type": "structure", + "members": { + "items": { + "target": "com.amazonaws.vpclattice#ServiceList", + "traits": { + "smithy.api#documentation": "

Information about the services.

" + } + }, + "nextToken": { + "target": "com.amazonaws.vpclattice#NextToken", + "traits": { + "smithy.api#documentation": "

If there are additional results, a pagination token for the next page of results.

" + } + } + } + }, + "com.amazonaws.vpclattice#ListTagsForResource": { + "type": "operation", + "input": { + "target": "com.amazonaws.vpclattice#ListTagsForResourceRequest" + }, + "output": { + "target": "com.amazonaws.vpclattice#ListTagsForResourceResponse" + }, + "errors": [ + { + "target": "com.amazonaws.vpclattice#AccessDeniedException" + }, + { + "target": "com.amazonaws.vpclattice#InternalServerException" + }, + { + "target": "com.amazonaws.vpclattice#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.vpclattice#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Lists the tags for the specified resource.

", + "smithy.api#http": { + "method": "GET", + "uri": "/tags/{resourceArn}" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.vpclattice#ListTagsForResourceRequest": { + "type": "structure", + "members": { + "resourceArn": { + "target": "com.amazonaws.vpclattice#Arn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the resource.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.vpclattice#ListTagsForResourceResponse": { + "type": "structure", + "members": { + "tags": { + "target": "com.amazonaws.vpclattice#TagMap", + "traits": { + "smithy.api#documentation": "

Information about the tags.

" + } + } + } + }, + "com.amazonaws.vpclattice#ListTargetGroups": { + "type": "operation", + "input": { + "target": "com.amazonaws.vpclattice#ListTargetGroupsRequest" + }, + "output": { + "target": "com.amazonaws.vpclattice#ListTargetGroupsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.vpclattice#AccessDeniedException" + }, + { + "target": "com.amazonaws.vpclattice#InternalServerException" + }, + { + "target": "com.amazonaws.vpclattice#ThrottlingException" + }, + { + "target": "com.amazonaws.vpclattice#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Lists your target groups. You can narrow your search by using the filters below in your\n request.

", + "smithy.api#http": { + "code": 200, + "uri": "/targetgroups", + "method": "GET" + }, + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults", + "items": "items" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.vpclattice#ListTargetGroupsRequest": { + "type": "structure", + "members": { + "maxResults": { + "target": "com.amazonaws.vpclattice#MaxResults", + "traits": { + "smithy.api#documentation": "

The maximum number of results to return.

", + "smithy.api#httpQuery": "maxResults" + } + }, + "nextToken": { + "target": "com.amazonaws.vpclattice#NextToken", + "traits": { + "smithy.api#documentation": "

A pagination token for the next page of results.

", + "smithy.api#httpQuery": "nextToken" + } + }, + "vpcIdentifier": { + "target": "com.amazonaws.vpclattice#VpcId", + "traits": { + "smithy.api#documentation": "

The ID or ARN of the VPC.

", + "smithy.api#httpQuery": "vpcIdentifier" + } + }, + "targetGroupType": { + "target": "com.amazonaws.vpclattice#TargetGroupType", + "traits": { + "smithy.api#documentation": "

The target group type.

", + "smithy.api#httpQuery": "targetGroupType" + } + } + } + }, + "com.amazonaws.vpclattice#ListTargetGroupsResponse": { + "type": "structure", + "members": { + "items": { + "target": "com.amazonaws.vpclattice#TargetGroupList", + "traits": { + "smithy.api#documentation": "

Information about the target groups.

" + } + }, + "nextToken": { + "target": "com.amazonaws.vpclattice#NextToken", + "traits": { + "smithy.api#documentation": "

If there are additional results, a pagination token for the next page of results.

" + } + } + } + }, + "com.amazonaws.vpclattice#ListTargets": { + "type": "operation", + "input": { + "target": "com.amazonaws.vpclattice#ListTargetsRequest" + }, + "output": { + "target": "com.amazonaws.vpclattice#ListTargetsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.vpclattice#AccessDeniedException" + }, + { + "target": "com.amazonaws.vpclattice#InternalServerException" + }, + { + "target": "com.amazonaws.vpclattice#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.vpclattice#ThrottlingException" + }, + { + "target": "com.amazonaws.vpclattice#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Lists the targets for the target group. By default, all targets are included. You can use\n this API to check the health status of targets. You can also filter the results by target.

", + "smithy.api#http": { + "code": 200, + "uri": "/targetgroups/{targetGroupIdentifier}/listtargets", + "method": "POST" + }, + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults", + "items": "items" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.vpclattice#ListTargetsRequest": { + "type": "structure", + "members": { + "targetGroupIdentifier": { + "target": "com.amazonaws.vpclattice#TargetGroupIdentifier", + "traits": { + "smithy.api#documentation": "

The ID or ARN of the target group.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "maxResults": { + "target": "com.amazonaws.vpclattice#MaxResults", + "traits": { + "smithy.api#documentation": "

The maximum number of results to return.

", + "smithy.api#httpQuery": "maxResults" + } + }, + "nextToken": { + "target": "com.amazonaws.vpclattice#NextToken", + "traits": { + "smithy.api#documentation": "

A pagination token for the next page of results.

", + "smithy.api#httpQuery": "nextToken" + } + }, + "targets": { + "target": "com.amazonaws.vpclattice#TargetList", + "traits": { + "smithy.api#documentation": "

The targets.

", + "smithy.api#length": { + "min": 0, + "max": 20 + } + } + } + } + }, + "com.amazonaws.vpclattice#ListTargetsResponse": { + "type": "structure", + "members": { + "items": { + "target": "com.amazonaws.vpclattice#TargetSummaryList", + "traits": { + "smithy.api#documentation": "

Information about the targets.

", + "smithy.api#required": {} + } + }, + "nextToken": { + "target": "com.amazonaws.vpclattice#NextToken", + "traits": { + "smithy.api#documentation": "

If there are additional results, a pagination token for the next page of results.

" + } + } + } + }, + "com.amazonaws.vpclattice#Listener": { + "type": "resource", + "identifiers": { + "serviceIdentifier": { + "target": "com.amazonaws.vpclattice#ServiceIdentifier" + }, + "listenerIdentifier": { + "target": "com.amazonaws.vpclattice#ListenerIdentifier" + } + }, + "create": { + "target": "com.amazonaws.vpclattice#CreateListener" + }, + "read": { + "target": "com.amazonaws.vpclattice#GetListener" + }, + "update": { + "target": "com.amazonaws.vpclattice#UpdateListener" + }, + "delete": { + "target": "com.amazonaws.vpclattice#DeleteListener" + }, + "list": { + "target": "com.amazonaws.vpclattice#ListListeners" + } + }, + "com.amazonaws.vpclattice#ListenerArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 20, + "max": 2048 + }, + "smithy.api#pattern": "^arn:[a-z0-9\\-]+:vpc-lattice:[a-zA-Z0-9\\-]+:\\d{12}:service/svc-[0-9a-z]{17}/listener/listener-[0-9a-z]{17}$" + } + }, + "com.amazonaws.vpclattice#ListenerId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 26, + "max": 26 + }, + "smithy.api#pattern": "^listener-[0-9a-z]{17}$" + } + }, + "com.amazonaws.vpclattice#ListenerIdentifier": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 20, + "max": 2048 + }, + "smithy.api#pattern": "^((listener-[0-9a-z]{17})|(^arn:[a-z0-9\\-]+:vpc-lattice:[a-zA-Z0-9\\-]+:\\d{12}:service/svc-[0-9a-z]{17}/listener/listener-[0-9a-z]{17}$))$" + } + }, + "com.amazonaws.vpclattice#ListenerName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 3, + "max": 63 + }, + "smithy.api#pattern": "^(?!listener-)(?![-])(?!.*[-]$)(?!.*[-]{2})[a-z0-9-]+$" + } + }, + "com.amazonaws.vpclattice#ListenerProtocol": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "name": "HTTP", + "value": "HTTP", + "documentation": "Indicates HTTP protocol" + }, + { + "name": "HTTPS", + "value": "HTTPS", + "documentation": "Indicates HTTPS protocol" + }, + { + "name": "TLS_PASSTHROUGH", + "value": "TLS_PASSTHROUGH", + "documentation": "Indicates TLS_PASSTHROUGH protocol" + } + ] + } + }, + "com.amazonaws.vpclattice#ListenerSummary": { + "type": "structure", + "members": { + "arn": { + "target": "com.amazonaws.vpclattice#ListenerArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the listener.

" + } + }, + "id": { + "target": "com.amazonaws.vpclattice#ListenerId", + "traits": { + "smithy.api#documentation": "

The ID of the listener.

" + } + }, + "name": { + "target": "com.amazonaws.vpclattice#ListenerName", + "traits": { + "smithy.api#documentation": "

The name of the listener.

" + } + }, + "protocol": { + "target": "com.amazonaws.vpclattice#ListenerProtocol", + "traits": { + "smithy.api#documentation": "

The listener protocol.

" + } + }, + "port": { + "target": "com.amazonaws.vpclattice#Port", + "traits": { + "smithy.api#documentation": "

The listener port.

" + } + }, + "createdAt": { + "target": "com.amazonaws.vpclattice#Timestamp", + "traits": { + "smithy.api#documentation": "

The date and time that the listener was created, in ISO-8601 format.

" + } + }, + "lastUpdatedAt": { + "target": "com.amazonaws.vpclattice#Timestamp", + "traits": { + "smithy.api#documentation": "

The date and time that the listener was last updated, in ISO-8601 format.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Summary information about a listener.

" + } + }, + "com.amazonaws.vpclattice#ListenerSummaryList": { + "type": "list", + "member": { + "target": "com.amazonaws.vpclattice#ListenerSummary" + } + }, + "com.amazonaws.vpclattice#Matcher": { + "type": "union", + "members": { + "httpCode": { + "target": "com.amazonaws.vpclattice#HttpCodeMatcher", + "traits": { + "smithy.api#documentation": "

The HTTP code to use when checking for a successful response from a target.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes the codes to use when checking for a successful response from a target for health\n checks.

" + } + }, + "com.amazonaws.vpclattice#MaxResults": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 1, + "max": 100 + } + } + }, + "com.amazonaws.vpclattice#MercuryControlPlane": { + "type": "service", + "version": "2022-11-30", + "operations": [ + { + "target": "com.amazonaws.vpclattice#BatchUpdateRule" + }, + { + "target": "com.amazonaws.vpclattice#DeleteAuthPolicy" + }, + { + "target": "com.amazonaws.vpclattice#DeleteResourcePolicy" + }, + { + "target": "com.amazonaws.vpclattice#GetAuthPolicy" + }, + { + "target": "com.amazonaws.vpclattice#GetResourcePolicy" + }, + { + "target": "com.amazonaws.vpclattice#ListServiceNetworkVpcEndpointAssociations" + }, + { + "target": "com.amazonaws.vpclattice#ListTagsForResource" + }, + { + "target": "com.amazonaws.vpclattice#PutAuthPolicy" + }, + { + "target": "com.amazonaws.vpclattice#PutResourcePolicy" + }, + { + "target": "com.amazonaws.vpclattice#TagResource" + }, + { + "target": "com.amazonaws.vpclattice#UntagResource" + } + ], + "resources": [ + { + "target": "com.amazonaws.vpclattice#AccessLogSubscription" + }, + { + "target": "com.amazonaws.vpclattice#Listener" + }, + { + "target": "com.amazonaws.vpclattice#ResourceConfiguration" + }, + { + "target": "com.amazonaws.vpclattice#ResourceEndpointAssociation" + }, + { + "target": "com.amazonaws.vpclattice#ResourceGateway" + }, + { + "target": "com.amazonaws.vpclattice#Rule" + }, + { + "target": "com.amazonaws.vpclattice#Service" + }, + { + "target": "com.amazonaws.vpclattice#ServiceLoadBalancerAssociation" + }, + { + "target": "com.amazonaws.vpclattice#ServiceNetwork" + }, + { + "target": "com.amazonaws.vpclattice#ServiceNetworkResourceAssociation" + }, + { + "target": "com.amazonaws.vpclattice#ServiceNetworkServiceAssociation" + }, + { + "target": "com.amazonaws.vpclattice#ServiceNetworkVpcAssociation" + }, + { + "target": "com.amazonaws.vpclattice#TargetGroup" } ], "traits": { @@ -5301,314 +7107,909 @@ } } }, - "com.amazonaws.vpclattice#NextToken": { + "com.amazonaws.vpclattice#NextToken": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 2048 + } + } + }, + "com.amazonaws.vpclattice#PathMatch": { + "type": "structure", + "members": { + "match": { + "target": "com.amazonaws.vpclattice#PathMatchType", + "traits": { + "smithy.api#documentation": "

The type of path match.

", + "smithy.api#required": {} + } + }, + "caseSensitive": { + "target": "com.amazonaws.vpclattice#Boolean", + "traits": { + "smithy.api#documentation": "

Indicates whether the match is case sensitive.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes the conditions that can be applied when matching a path for incoming\n requests.

" + } + }, + "com.amazonaws.vpclattice#PathMatchExact": { "type": "string", "traits": { "smithy.api#length": { "min": 1, - "max": 2048 + "max": 200 + }, + "smithy.api#pattern": "^/[a-zA-Z0-9@:%_+.~#?&/=-]*$" + } + }, + "com.amazonaws.vpclattice#PathMatchPrefix": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 200 + }, + "smithy.api#pattern": "^/[a-zA-Z0-9@:%_+.~#?&/=-]*$" + } + }, + "com.amazonaws.vpclattice#PathMatchType": { + "type": "union", + "members": { + "exact": { + "target": "com.amazonaws.vpclattice#PathMatchExact", + "traits": { + "smithy.api#documentation": "

An exact match of the path.

" + } + }, + "prefix": { + "target": "com.amazonaws.vpclattice#PathMatchPrefix", + "traits": { + "smithy.api#documentation": "

A prefix match of the path.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes a path match type. Each rule can include only one of the following types of\n paths.

" + } + }, + "com.amazonaws.vpclattice#PolicyString": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 10000 + }, + "smithy.api#pattern": "^.*\\S.*$" + } + }, + "com.amazonaws.vpclattice#Port": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 1, + "max": 65535 + } + } + }, + "com.amazonaws.vpclattice#PortRange": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 11 + }, + "smithy.api#pattern": "^((\\d{1,5}\\-\\d{1,5})|(\\d+))$" + } + }, + "com.amazonaws.vpclattice#PortRangeList": { + "type": "list", + "member": { + "target": "com.amazonaws.vpclattice#PortRange" + } + }, + "com.amazonaws.vpclattice#ProtocolType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "name": "TCP", + "value": "TCP", + "documentation": "Resource Configuration protocol type TCP" + } + ] + } + }, + "com.amazonaws.vpclattice#PutAuthPolicy": { + "type": "operation", + "input": { + "target": "com.amazonaws.vpclattice#PutAuthPolicyRequest" + }, + "output": { + "target": "com.amazonaws.vpclattice#PutAuthPolicyResponse" + }, + "errors": [ + { + "target": "com.amazonaws.vpclattice#AccessDeniedException" + }, + { + "target": "com.amazonaws.vpclattice#InternalServerException" + }, + { + "target": "com.amazonaws.vpclattice#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.vpclattice#ThrottlingException" + }, + { + "target": "com.amazonaws.vpclattice#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Creates or updates the auth policy. The policy string in JSON must not contain newlines or\n blank lines.

\n

For more information, see Auth policies in the Amazon VPC\n Lattice User Guide.

", + "smithy.api#http": { + "code": 200, + "method": "PUT", + "uri": "/authpolicy/{resourceIdentifier}" + } + } + }, + "com.amazonaws.vpclattice#PutAuthPolicyRequest": { + "type": "structure", + "members": { + "resourceIdentifier": { + "target": "com.amazonaws.vpclattice#ResourceIdentifier", + "traits": { + "smithy.api#documentation": "

The ID or ARN of the service network or service for which the policy\n is created.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "policy": { + "target": "com.amazonaws.vpclattice#AuthPolicyString", + "traits": { + "smithy.api#documentation": "

The auth policy. The policy string in JSON must not contain newlines or blank lines.

", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.vpclattice#PutAuthPolicyResponse": { + "type": "structure", + "members": { + "policy": { + "target": "com.amazonaws.vpclattice#AuthPolicyString", + "traits": { + "smithy.api#documentation": "

The auth policy. The policy string in JSON must not contain newlines or blank lines.

" + } + }, + "state": { + "target": "com.amazonaws.vpclattice#AuthPolicyState", + "traits": { + "smithy.api#documentation": "

The state of the auth policy. The auth policy is only active when the auth type is set to\n AWS_IAM. If you provide a policy, then authentication and authorization decisions\n are made based on this policy and the client's IAM policy. If the Auth type is NONE,\n then, any auth policy that you provide remains inactive. For more information, see Create a service network in the Amazon VPC Lattice User Guide.

" + } + } + } + }, + "com.amazonaws.vpclattice#PutResourcePolicy": { + "type": "operation", + "input": { + "target": "com.amazonaws.vpclattice#PutResourcePolicyRequest" + }, + "output": { + "target": "com.amazonaws.vpclattice#PutResourcePolicyResponse" + }, + "errors": [ + { + "target": "com.amazonaws.vpclattice#AccessDeniedException" + }, + { + "target": "com.amazonaws.vpclattice#InternalServerException" + }, + { + "target": "com.amazonaws.vpclattice#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.vpclattice#ThrottlingException" + }, + { + "target": "com.amazonaws.vpclattice#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Attaches a resource-based permission policy to a service or service network. The policy must\n contain the same actions and condition statements as the Amazon Web Services Resource Access\n Manager permission for sharing services and service networks.

", + "smithy.api#http": { + "code": 200, + "method": "PUT", + "uri": "/resourcepolicy/{resourceArn}" + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.vpclattice#PutResourcePolicyRequest": { + "type": "structure", + "members": { + "resourceArn": { + "target": "com.amazonaws.vpclattice#ResourceArn", + "traits": { + "smithy.api#documentation": "

The ID or ARN of the service network or service for which the policy\n is created.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "policy": { + "target": "com.amazonaws.vpclattice#PolicyString", + "traits": { + "smithy.api#documentation": "

An IAM policy. The policy string in JSON must not contain newlines or blank\n lines.

", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.vpclattice#PutResourcePolicyResponse": { + "type": "structure", + "members": {} + }, + "com.amazonaws.vpclattice#RegisterTargets": { + "type": "operation", + "input": { + "target": "com.amazonaws.vpclattice#RegisterTargetsRequest" + }, + "output": { + "target": "com.amazonaws.vpclattice#RegisterTargetsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.vpclattice#AccessDeniedException" + }, + { + "target": "com.amazonaws.vpclattice#ConflictException" + }, + { + "target": "com.amazonaws.vpclattice#InternalServerException" + }, + { + "target": "com.amazonaws.vpclattice#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.vpclattice#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.vpclattice#ThrottlingException" + }, + { + "target": "com.amazonaws.vpclattice#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Registers the targets with the target group. If it's a Lambda target, you can only have one\n target in a target group.

", + "smithy.api#http": { + "code": 200, + "uri": "/targetgroups/{targetGroupIdentifier}/registertargets", + "method": "POST" + } + } + }, + "com.amazonaws.vpclattice#RegisterTargetsRequest": { + "type": "structure", + "members": { + "targetGroupIdentifier": { + "target": "com.amazonaws.vpclattice#TargetGroupIdentifier", + "traits": { + "smithy.api#documentation": "

The ID or ARN of the target group.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "targets": { + "target": "com.amazonaws.vpclattice#TargetList", + "traits": { + "smithy.api#documentation": "

The targets.

", + "smithy.api#length": { + "min": 1, + "max": 100 + }, + "smithy.api#required": {} + } } } }, - "com.amazonaws.vpclattice#PathMatch": { + "com.amazonaws.vpclattice#RegisterTargetsResponse": { "type": "structure", "members": { - "match": { - "target": "com.amazonaws.vpclattice#PathMatchType", + "successful": { + "target": "com.amazonaws.vpclattice#TargetList", "traits": { - "smithy.api#documentation": "

The type of path match.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The targets that were successfully registered.

" } }, - "caseSensitive": { - "target": "com.amazonaws.vpclattice#Boolean", + "unsuccessful": { + "target": "com.amazonaws.vpclattice#TargetFailureList", "traits": { - "smithy.api#documentation": "

Indicates whether the match is case sensitive.

" + "smithy.api#documentation": "

The targets that were not registered.

" } } - }, - "traits": { - "smithy.api#documentation": "

Describes the conditions that can be applied when matching a path for incoming\n requests.

" } }, - "com.amazonaws.vpclattice#PathMatchExact": { + "com.amazonaws.vpclattice#ResourceArn": { "type": "string", "traits": { "smithy.api#length": { - "min": 1, + "min": 20, "max": 200 }, - "smithy.api#pattern": "^/[a-zA-Z0-9@:%_+.~#?&/=-]*$" + "smithy.api#pattern": "^arn(:[a-z0-9]+([.-][a-z0-9]+)*){2}(:([a-z0-9]+([.-][a-z0-9]+)*)?){2}:((servicenetwork/sn)|(service/svc)|(resourceconfiguration/rcfg))-[0-9a-z]{17}$" } }, - "com.amazonaws.vpclattice#PathMatchPrefix": { + "com.amazonaws.vpclattice#ResourceConfiguration": { + "type": "resource", + "identifiers": { + "resourceConfigurationIdentifier": { + "target": "com.amazonaws.vpclattice#ResourceConfigurationIdentifier" + } + }, + "create": { + "target": "com.amazonaws.vpclattice#CreateResourceConfiguration" + }, + "read": { + "target": "com.amazonaws.vpclattice#GetResourceConfiguration" + }, + "update": { + "target": "com.amazonaws.vpclattice#UpdateResourceConfiguration" + }, + "delete": { + "target": "com.amazonaws.vpclattice#DeleteResourceConfiguration" + }, + "list": { + "target": "com.amazonaws.vpclattice#ListResourceConfigurations" + } + }, + "com.amazonaws.vpclattice#ResourceConfigurationArn": { "type": "string", "traits": { "smithy.api#length": { - "min": 1, - "max": 200 + "min": 20, + "max": 2048 }, - "smithy.api#pattern": "^/[a-zA-Z0-9@:%_+.~#?&/=-]*$" + "smithy.api#pattern": "^arn:[a-z0-9f\\-]+:vpc-lattice:[a-zA-Z0-9\\-]+:\\d{12}:resourceconfiguration/rcfg-[0-9a-z]{17}$" } }, - "com.amazonaws.vpclattice#PathMatchType": { + "com.amazonaws.vpclattice#ResourceConfigurationDefinition": { "type": "union", "members": { - "exact": { - "target": "com.amazonaws.vpclattice#PathMatchExact", + "dnsResource": { + "target": "com.amazonaws.vpclattice#DnsResource", "traits": { - "smithy.api#documentation": "

An exact match of the path.

" + "smithy.api#documentation": "

The DNS name of the resource.

" } }, - "prefix": { - "target": "com.amazonaws.vpclattice#PathMatchPrefix", + "ipResource": { + "target": "com.amazonaws.vpclattice#IpResource", "traits": { - "smithy.api#documentation": "

A prefix match of the path.

" + "smithy.api#documentation": "

The IP resource.

" + } + }, + "arnResource": { + "target": "com.amazonaws.vpclattice#ArnResource", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the resource.

" } } }, "traits": { - "smithy.api#documentation": "

Describes a path match type. Each rule can include only one of the following types of\n paths.

" + "smithy.api#documentation": "

Describes a resource configuration.

" } }, - "com.amazonaws.vpclattice#PolicyString": { + "com.amazonaws.vpclattice#ResourceConfigurationId": { "type": "string", "traits": { "smithy.api#length": { - "min": 1, - "max": 10000 + "min": 22, + "max": 22 }, - "smithy.api#pattern": "^.*\\S.*$" + "smithy.api#pattern": "^rcfg-[0-9a-z]{17}$" } }, - "com.amazonaws.vpclattice#Port": { - "type": "integer", + "com.amazonaws.vpclattice#ResourceConfigurationIdentifier": { + "type": "string", "traits": { - "smithy.api#range": { - "min": 1, - "max": 65535 - } + "smithy.api#length": { + "min": 20, + "max": 2048 + }, + "smithy.api#pattern": "^((rcfg-[0-9a-z]{17})|(arn:[a-z0-9\\-]+:vpc-lattice:[a-zA-Z0-9\\-]+:\\d{12}:resourceconfiguration/rcfg-[0-9a-z]{17}))$" } }, - "com.amazonaws.vpclattice#PutAuthPolicy": { - "type": "operation", - "input": { - "target": "com.amazonaws.vpclattice#PutAuthPolicyRequest" - }, - "output": { - "target": "com.amazonaws.vpclattice#PutAuthPolicyResponse" - }, - "errors": [ - { - "target": "com.amazonaws.vpclattice#AccessDeniedException" + "com.amazonaws.vpclattice#ResourceConfigurationIpAddressType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "name": "IPV4", + "value": "IPV4", + "documentation": "Ipv4 ip address type for dns type resource configs" + }, + { + "name": "IPV6", + "value": "IPV6", + "documentation": "IPv6 ip address type for dns type resource configs" + }, + { + "name": "DUALSTACK", + "value": "DUALSTACK", + "documentation": "Dualstack ip address type for dns type resource configs" + } + ] + } + }, + "com.amazonaws.vpclattice#ResourceConfigurationName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 3, + "max": 40 }, - { - "target": "com.amazonaws.vpclattice#InternalServerException" + "smithy.api#pattern": "^(?!rcfg-)(?![-])(?!.*[-]$)(?!.*[-]{2})[a-z0-9-]+$" + } + }, + "com.amazonaws.vpclattice#ResourceConfigurationStatus": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "name": "ACTIVE", + "value": "ACTIVE", + "documentation": "Resource Configuration is active." + }, + { + "name": "CREATE_IN_PROGRESS", + "value": "CREATE_IN_PROGRESS", + "documentation": "Resource Configuration creation in progress." + }, + { + "name": "UPDATE_IN_PROGRESS", + "value": "UPDATE_IN_PROGRESS", + "documentation": "Resource Configuration update in progress." + }, + { + "name": "DELETE_IN_PROGRESS", + "value": "DELETE_IN_PROGRESS", + "documentation": "Resource Configuration deletion in progress" + }, + { + "name": "CREATE_FAILED", + "value": "CREATE_FAILED", + "documentation": "Resource Configuration creation failed" + }, + { + "name": "UPDATE_FAILED", + "value": "UPDATE_FAILED", + "documentation": "Resource Configuration update failed" + }, + { + "name": "DELETE_FAILED", + "value": "DELETE_FAILED", + "documentation": "Resource Configuration deletion failed." + } + ] + } + }, + "com.amazonaws.vpclattice#ResourceConfigurationSummary": { + "type": "structure", + "members": { + "id": { + "target": "com.amazonaws.vpclattice#ResourceConfigurationId", + "traits": { + "smithy.api#documentation": "

The ID of the resource configuration.

" + } }, - { - "target": "com.amazonaws.vpclattice#ResourceNotFoundException" + "name": { + "target": "com.amazonaws.vpclattice#ResourceConfigurationName", + "traits": { + "smithy.api#documentation": "

The name of the resource configuration.

" + } }, - { - "target": "com.amazonaws.vpclattice#ThrottlingException" + "arn": { + "target": "com.amazonaws.vpclattice#ResourceConfigurationArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the resource configuration.

" + } }, - { - "target": "com.amazonaws.vpclattice#ValidationException" + "resourceGatewayId": { + "target": "com.amazonaws.vpclattice#ResourceGatewayId", + "traits": { + "smithy.api#documentation": "

The ID of the resource gateway.

" + } + }, + "resourceConfigurationGroupId": { + "target": "com.amazonaws.vpclattice#ResourceConfigurationId", + "traits": { + "smithy.api#documentation": "

The ID of the group resource configuration.

" + } + }, + "type": { + "target": "com.amazonaws.vpclattice#ResourceConfigurationType", + "traits": { + "smithy.api#documentation": "

The type of resource configuration.

\n
    \n
  • \n

    \n SINGLE - A single resource.

    \n
  • \n
  • \n

    \n GROUP - A group of resources.

    \n
  • \n
  • \n

    \n CHILD - A single resource that is part of a group resource configuration.

    \n
  • \n
  • \n

    \n ARN - An Amazon Web Services resource.

    \n
  • \n
" + } + }, + "status": { + "target": "com.amazonaws.vpclattice#ResourceConfigurationStatus", + "traits": { + "smithy.api#documentation": "

The status of the resource configuration.

" + } + }, + "amazonManaged": { + "target": "com.amazonaws.vpclattice#Boolean", + "traits": { + "smithy.api#documentation": "

Indicates whether the resource configuration was created and is managed by Amazon.

" + } + }, + "createdAt": { + "target": "com.amazonaws.vpclattice#Timestamp", + "traits": { + "smithy.api#documentation": "

The date and time that the resource configuration was created, in ISO-8601 format.

" + } + }, + "lastUpdatedAt": { + "target": "com.amazonaws.vpclattice#Timestamp", + "traits": { + "smithy.api#documentation": "

The most recent date and time that the resource configuration was updated, in ISO-8601 format.

" + } } - ], + }, "traits": { - "smithy.api#documentation": "

Creates or updates the auth policy. The policy string in JSON must not contain newlines or\n blank lines.

\n

For more information, see Auth policies \n in the Amazon VPC Lattice User Guide.

", - "smithy.api#http": { - "code": 200, - "method": "PUT", - "uri": "/authpolicy/{resourceIdentifier}" + "smithy.api#documentation": "

Summary information about a resource configuration.

" + } + }, + "com.amazonaws.vpclattice#ResourceConfigurationSummaryList": { + "type": "list", + "member": { + "target": "com.amazonaws.vpclattice#ResourceConfigurationSummary" + } + }, + "com.amazonaws.vpclattice#ResourceConfigurationType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "name": "GROUP", + "value": "GROUP", + "documentation": "Resource Configuration of type GROUP" + }, + { + "name": "CHILD", + "value": "CHILD", + "documentation": "Resource Configuration of type CHILD" + }, + { + "name": "SINGLE", + "value": "SINGLE", + "documentation": "Resource Configuration of type SINGLE" + }, + { + "name": "ARN", + "value": "ARN", + "documentation": "Resource Configuration of type ARN" + } + ] + } + }, + "com.amazonaws.vpclattice#ResourceEndpointAssociation": { + "type": "resource", + "identifiers": { + "resourceEndpointAssociationIdentifier": { + "target": "com.amazonaws.vpclattice#ResourceEndpointAssociationIdentifier" } + }, + "delete": { + "target": "com.amazonaws.vpclattice#DeleteResourceEndpointAssociation" + }, + "list": { + "target": "com.amazonaws.vpclattice#ListResourceEndpointAssociations" + } + }, + "com.amazonaws.vpclattice#ResourceEndpointAssociationArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 21, + "max": 2048 + }, + "smithy.api#pattern": "^arn:[a-z0-9\\-]+:vpc-lattice:[a-zA-Z0-9\\-]+:\\d{12}:resourceendpointassociation/rea-[0-9a-f]{17}$" + } + }, + "com.amazonaws.vpclattice#ResourceEndpointAssociationId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 21, + "max": 21 + }, + "smithy.api#pattern": "^rea-[0-9a-f]{17}$" + } + }, + "com.amazonaws.vpclattice#ResourceEndpointAssociationIdentifier": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 21, + "max": 2048 + }, + "smithy.api#pattern": "^((rea-[0-9a-f]{17})|(arn:[a-z0-9\\-]+:vpc-lattice:[a-zA-Z0-9\\-]+:\\d{12}:resourceendpointassociation/rea-[0-9a-f]{17}))$" } }, - "com.amazonaws.vpclattice#PutAuthPolicyRequest": { + "com.amazonaws.vpclattice#ResourceEndpointAssociationList": { + "type": "list", + "member": { + "target": "com.amazonaws.vpclattice#ResourceEndpointAssociationSummary" + } + }, + "com.amazonaws.vpclattice#ResourceEndpointAssociationSummary": { "type": "structure", "members": { - "resourceIdentifier": { - "target": "com.amazonaws.vpclattice#ResourceIdentifier", + "id": { + "target": "com.amazonaws.vpclattice#ResourceEndpointAssociationId", "traits": { - "smithy.api#documentation": "

The ID or Amazon Resource Name (ARN) of the service network or service for which the policy\n is created.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} + "smithy.api#documentation": "

The ID of the VPC endpoint association.

" } }, - "policy": { - "target": "com.amazonaws.vpclattice#AuthPolicyString", + "arn": { + "target": "com.amazonaws.vpclattice#ResourceEndpointAssociationArn", "traits": { - "smithy.api#documentation": "

The auth policy. The policy string in JSON must not contain newlines or blank lines.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the VPC endpoint association.

" } - } - } - }, - "com.amazonaws.vpclattice#PutAuthPolicyResponse": { - "type": "structure", - "members": { - "policy": { - "target": "com.amazonaws.vpclattice#AuthPolicyString", + }, + "resourceConfigurationId": { + "target": "com.amazonaws.vpclattice#ResourceConfigurationId", "traits": { - "smithy.api#documentation": "

The auth policy. The policy string in JSON must not contain newlines or blank lines.

" + "smithy.api#documentation": "

The ID of the resource configuration.

" } }, - "state": { - "target": "com.amazonaws.vpclattice#AuthPolicyState", + "resourceConfigurationArn": { + "target": "com.amazonaws.vpclattice#ResourceConfigurationArn", "traits": { - "smithy.api#documentation": "

The state of the auth policy. The auth policy is only active when the auth type is set to\n AWS_IAM. If you provide a policy, then authentication and authorization decisions\n are made based on this policy and the client's IAM policy. If the Auth type is NONE,\n then, any auth policy that you provide remains inactive. For more information, see Create a service network in the Amazon VPC Lattice User Guide.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the resource configuration.

" } - } - } - }, - "com.amazonaws.vpclattice#PutResourcePolicy": { - "type": "operation", - "input": { - "target": "com.amazonaws.vpclattice#PutResourcePolicyRequest" - }, - "output": { - "target": "com.amazonaws.vpclattice#PutResourcePolicyResponse" - }, - "errors": [ - { - "target": "com.amazonaws.vpclattice#AccessDeniedException" - }, - { - "target": "com.amazonaws.vpclattice#InternalServerException" }, - { - "target": "com.amazonaws.vpclattice#ResourceNotFoundException" + "resourceConfigurationName": { + "target": "com.amazonaws.vpclattice#ResourceConfigurationName", + "traits": { + "smithy.api#documentation": "

The name of the resource configuration.

" + } }, - { - "target": "com.amazonaws.vpclattice#ThrottlingException" + "vpcEndpointId": { + "target": "com.amazonaws.vpclattice#VpcEndpointId", + "traits": { + "smithy.api#documentation": "

The ID of the VPC endpoint.

" + } }, - { - "target": "com.amazonaws.vpclattice#ValidationException" - } - ], - "traits": { - "smithy.api#documentation": "

Attaches a resource-based permission policy to a service or service network. The policy must\n contain the same actions and condition statements as the Amazon Web Services Resource Access\n Manager permission for sharing services and service networks.

", - "smithy.api#http": { - "code": 200, - "method": "PUT", - "uri": "/resourcepolicy/{resourceArn}" + "vpcEndpointOwner": { + "target": "com.amazonaws.vpclattice#VpcEndpointOwner", + "traits": { + "smithy.api#documentation": "

The owner of the VPC endpoint.

" + } }, - "smithy.api#idempotent": {} - } - }, - "com.amazonaws.vpclattice#PutResourcePolicyRequest": { - "type": "structure", - "members": { - "resourceArn": { - "target": "com.amazonaws.vpclattice#ResourceArn", + "createdBy": { + "target": "com.amazonaws.vpclattice#AccountId", "traits": { - "smithy.api#documentation": "

The ID or Amazon Resource Name (ARN) of the service network or service for which the policy\n is created.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} + "smithy.api#documentation": "

The account that created the association.

" } }, - "policy": { - "target": "com.amazonaws.vpclattice#PolicyString", + "createdAt": { + "target": "com.amazonaws.vpclattice#Timestamp", "traits": { - "smithy.api#documentation": "

An IAM policy. The policy string in JSON must not contain newlines or blank\n lines.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The date and time that the VPC endpoint association was created, in ISO-8601 format.

" } } + }, + "traits": { + "smithy.api#documentation": "

Summary information about a VPC endpoint association.

" } }, - "com.amazonaws.vpclattice#PutResourcePolicyResponse": { - "type": "structure", - "members": {} - }, - "com.amazonaws.vpclattice#RegisterTargets": { - "type": "operation", - "input": { - "target": "com.amazonaws.vpclattice#RegisterTargetsRequest" + "com.amazonaws.vpclattice#ResourceGateway": { + "type": "resource", + "identifiers": { + "resourceGatewayIdentifier": { + "target": "com.amazonaws.vpclattice#ResourceGatewayIdentifier" + } }, - "output": { - "target": "com.amazonaws.vpclattice#RegisterTargetsResponse" + "create": { + "target": "com.amazonaws.vpclattice#CreateResourceGateway" }, - "errors": [ - { - "target": "com.amazonaws.vpclattice#AccessDeniedException" - }, - { - "target": "com.amazonaws.vpclattice#ConflictException" - }, - { - "target": "com.amazonaws.vpclattice#InternalServerException" + "read": { + "target": "com.amazonaws.vpclattice#GetResourceGateway" + }, + "update": { + "target": "com.amazonaws.vpclattice#UpdateResourceGateway" + }, + "delete": { + "target": "com.amazonaws.vpclattice#DeleteResourceGateway" + }, + "list": { + "target": "com.amazonaws.vpclattice#ListResourceGateways" + } + }, + "com.amazonaws.vpclattice#ResourceGatewayArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 20, + "max": 2048 }, - { - "target": "com.amazonaws.vpclattice#ResourceNotFoundException" + "smithy.api#pattern": "^arn:[a-z0-9\\-]+:vpc-lattice:[a-zA-Z0-9\\-]+:\\d{12}:resourcegateway/rgw-[0-9a-z]{17}$" + } + }, + "com.amazonaws.vpclattice#ResourceGatewayId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 21, + "max": 21 }, - { - "target": "com.amazonaws.vpclattice#ServiceQuotaExceededException" + "smithy.api#pattern": "^rgw-[0-9a-z]{17}$" + } + }, + "com.amazonaws.vpclattice#ResourceGatewayIdentifier": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 17, + "max": 2048 }, - { - "target": "com.amazonaws.vpclattice#ThrottlingException" + "smithy.api#pattern": "^((rgw-[0-9a-z]{17})|(arn:[a-z0-9\\-]+:vpc-lattice:[a-zA-Z0-9\\-]+:\\d{12}:resourcegateway/rgw-[0-9a-z]{17}))$" + } + }, + "com.amazonaws.vpclattice#ResourceGatewayIpAddressType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "name": "IPV4", + "value": "IPV4", + "documentation": "Ipv4 ip address type for resource gateway" + }, + { + "name": "IPV6", + "value": "IPV6", + "documentation": "IPv6 ip address type for resource gateway" + }, + { + "name": "DUALSTACK", + "value": "DUALSTACK", + "documentation": "Dualstack ip address type for resource gateway" + } + ] + } + }, + "com.amazonaws.vpclattice#ResourceGatewayList": { + "type": "list", + "member": { + "target": "com.amazonaws.vpclattice#ResourceGatewaySummary" + } + }, + "com.amazonaws.vpclattice#ResourceGatewayName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 3, + "max": 40 }, - { - "target": "com.amazonaws.vpclattice#ValidationException" - } - ], + "smithy.api#pattern": "^(?!rgw-)(?![-])(?!.*[-]$)(?!.*[-]{2})[a-z0-9-]+$" + } + }, + "com.amazonaws.vpclattice#ResourceGatewayStatus": { + "type": "string", "traits": { - "smithy.api#documentation": "

Registers the targets with the target group. If it's a Lambda target, you can only have one\n target in a target group.

", - "smithy.api#http": { - "code": 200, - "uri": "/targetgroups/{targetGroupIdentifier}/registertargets", - "method": "POST" - } + "smithy.api#enum": [ + { + "name": "ACTIVE", + "value": "ACTIVE", + "documentation": "Resource Gateway is active." + }, + { + "name": "CREATE_IN_PROGRESS", + "value": "CREATE_IN_PROGRESS", + "documentation": "Resource Gateway creation in progress." + }, + { + "name": "UPDATE_IN_PROGRESS", + "value": "UPDATE_IN_PROGRESS", + "documentation": "Resource Gateway update in progress." + }, + { + "name": "DELETE_IN_PROGRESS", + "value": "DELETE_IN_PROGRESS", + "documentation": "Resource Gateway deletion in progress" + }, + { + "name": "CREATE_FAILED", + "value": "CREATE_FAILED", + "documentation": "Resource Gateway creation failed" + }, + { + "name": "UPDATE_FAILED", + "value": "UPDATE_FAILED", + "documentation": "Reosurce Gateway update failed" + }, + { + "name": "DELETE_FAILED", + "value": "DELETE_FAILED", + "documentation": "Resource Gateway deletion failed." + } + ] } }, - "com.amazonaws.vpclattice#RegisterTargetsRequest": { + "com.amazonaws.vpclattice#ResourceGatewaySummary": { "type": "structure", "members": { - "targetGroupIdentifier": { - "target": "com.amazonaws.vpclattice#TargetGroupIdentifier", + "name": { + "target": "com.amazonaws.vpclattice#ResourceGatewayName", "traits": { - "smithy.api#documentation": "

The ID or Amazon Resource Name (ARN) of the target group.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} + "smithy.api#documentation": "

The name of the resource gateway.

" } }, - "targets": { - "target": "com.amazonaws.vpclattice#TargetList", + "id": { + "target": "com.amazonaws.vpclattice#ResourceGatewayId", "traits": { - "smithy.api#documentation": "

The targets.

", - "smithy.api#length": { - "min": 1, - "max": 100 - }, - "smithy.api#required": {} + "smithy.api#documentation": "

The ID of the resource gateway.

" } - } - } - }, - "com.amazonaws.vpclattice#RegisterTargetsResponse": { - "type": "structure", - "members": { - "successful": { - "target": "com.amazonaws.vpclattice#TargetList", + }, + "arn": { + "target": "com.amazonaws.vpclattice#ResourceGatewayArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the resource gateway.

" + } + }, + "status": { + "target": "com.amazonaws.vpclattice#ResourceGatewayStatus", + "traits": { + "smithy.api#documentation": "

The name of the resource gateway.

" + } + }, + "vpcIdentifier": { + "target": "com.amazonaws.vpclattice#VpcId", + "traits": { + "smithy.api#documentation": "

The ID of the VPC for the resource gateway.

" + } + }, + "subnetIds": { + "target": "com.amazonaws.vpclattice#SubnetList", + "traits": { + "smithy.api#documentation": "

The IDs of the VPC subnets for the resource gateway.

" + } + }, + "securityGroupIds": { + "target": "com.amazonaws.vpclattice#SecurityGroupList", + "traits": { + "smithy.api#documentation": "

The IDs of the security groups applied to the resource gateway.

" + } + }, + "ipAddressType": { + "target": "com.amazonaws.vpclattice#ResourceGatewayIpAddressType", "traits": { - "smithy.api#documentation": "

The targets that were successfully registered.

" + "smithy.api#documentation": "

The type of IP address used by the resource gateway.

" } }, - "unsuccessful": { - "target": "com.amazonaws.vpclattice#TargetFailureList", + "createdAt": { + "target": "com.amazonaws.vpclattice#Timestamp", "traits": { - "smithy.api#documentation": "

The targets that were not registered.

" + "smithy.api#documentation": "

The date and time that the VPC endpoint association was created, in ISO-8601 format.

" + } + }, + "lastUpdatedAt": { + "target": "com.amazonaws.vpclattice#Timestamp", + "traits": { + "smithy.api#documentation": "

The most recent date and time that the resource gateway was updated, in ISO-8601 format.

" } } - } - }, - "com.amazonaws.vpclattice#ResourceArn": { - "type": "string", + }, "traits": { - "smithy.api#length": { - "min": 20, - "max": 200 - }, - "smithy.api#pattern": "^arn(:[a-z0-9]+([.-][a-z0-9]+)*){2}(:([a-z0-9]+([.-][a-z0-9]+)*)?){2}:((servicenetwork/sn)|(service/svc))-[0-9a-z]{17}$" + "smithy.api#documentation": "

Summary information about a resource gateway.

" } }, "com.amazonaws.vpclattice#ResourceId": { @@ -5628,7 +8029,7 @@ "min": 17, "max": 200 }, - "smithy.api#pattern": "^((((sn)|(svc))-[0-9a-z]{17})|(arn(:[a-z0-9]+([.-][a-z0-9]+)*){2}(:([a-z0-9]+([.-][a-z0-9]+)*)?){2}:((servicenetwork/sn)|(service/svc))-[0-9a-z]{17}))$" + "smithy.api#pattern": "^((((sn)|(svc)|(rcfg))-[0-9a-z]{17})|(arn(:[a-z0-9]+([.-][a-z0-9]+)*){2}(:([a-z0-9]+([.-][a-z0-9]+)*)?){2}:((servicenetwork/sn)|(resourceconfiguration/rcfg)|(service/svc))-[0-9a-z]{17}))$" } }, "com.amazonaws.vpclattice#ResourceNotFoundException": { @@ -5809,18 +8210,18 @@ "createdAt": { "target": "com.amazonaws.vpclattice#Timestamp", "traits": { - "smithy.api#documentation": "

The date and time that the listener rule was created, specified in ISO-8601 format.

" + "smithy.api#documentation": "

The date and time that the listener rule was created, in ISO-8601 format.

" } }, "lastUpdatedAt": { "target": "com.amazonaws.vpclattice#Timestamp", "traits": { - "smithy.api#documentation": "

The date and time that the listener rule was last updated, specified in ISO-8601\n format.

" + "smithy.api#documentation": "

The date and time that the listener rule was last updated, in ISO-8601 format.

" } } }, "traits": { - "smithy.api#documentation": "

Summary information about the listener rule.

" + "smithy.api#documentation": "

Summary information about a listener rule.

" } }, "com.amazonaws.vpclattice#RuleSummaryList": { @@ -5835,7 +8236,7 @@ "ruleIdentifier": { "target": "com.amazonaws.vpclattice#RuleIdentifier", "traits": { - "smithy.api#documentation": "

The ID or Amazon Resource Name (ARN) of the rule.

", + "smithy.api#documentation": "

The ID or ARN of the rule.

", "smithy.api#required": {} } }, @@ -5868,7 +8269,7 @@ "ruleIdentifier": { "target": "com.amazonaws.vpclattice#RuleIdentifier", "traits": { - "smithy.api#documentation": "

The ID or Amazon Resource Name (ARN) of the rule.

" + "smithy.api#documentation": "

The ID or ARN of the rule.

" } }, "failureCode": { @@ -6052,6 +8453,24 @@ "target": "com.amazonaws.vpclattice#ServiceSummary" } }, + "com.amazonaws.vpclattice#ServiceLoadBalancerAssociation": { + "type": "resource", + "identifiers": { + "serviceLoadBalancerAssociationIdentifier": { + "target": "com.amazonaws.vpclattice#ServiceLoadBalancerAssociationIdentifier" + } + } + }, + "com.amazonaws.vpclattice#ServiceLoadBalancerAssociationIdentifier": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 17, + "max": 200 + }, + "smithy.api#pattern": "^((slba-[0-9a-z]{17})|(arn:[a-z0-9\\-]+:vpc-lattice:[a-zA-Z0-9\\-]+:\\d{12}:serviceloadbalancerassociation/slba-[0-9a-z]{17}))$" + } + }, "com.amazonaws.vpclattice#ServiceName": { "type": "string", "traits": { @@ -6095,12 +8514,71 @@ "smithy.api#pattern": "^arn:[a-z0-9\\-]+:vpc-lattice:[a-zA-Z0-9\\-]+:\\d{12}:servicenetwork/sn-[0-9a-z]{17}$" } }, + "com.amazonaws.vpclattice#ServiceNetworkArnWithoutRegex": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 10, + "max": 2048 + } + } + }, + "com.amazonaws.vpclattice#ServiceNetworkEndpointAssociation": { + "type": "structure", + "members": { + "vpcEndpointId": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The ID of the VPC endpoint associated with the service network.

" + } + }, + "vpcId": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The ID of the VPC for the association.

" + } + }, + "vpcEndpointOwnerId": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The owner of the VPC endpoint associated with the service network.

" + } + }, + "id": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The ID of the association.

" + } + }, + "state": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The state of the association.

" + } + }, + "serviceNetworkArn": { + "target": "com.amazonaws.vpclattice#ServiceNetworkArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the service network.

" + } + }, + "createdAt": { + "target": "com.amazonaws.vpclattice#Timestamp", + "traits": { + "smithy.api#documentation": "

The date and time that the association was created, in ISO-8601 format.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes the association between a service network and a VPC endpoint.

" + } + }, "com.amazonaws.vpclattice#ServiceNetworkId": { "type": "string", "traits": { "smithy.api#length": { - "min": 32, - "max": 32 + "min": 20, + "max": 20 }, "smithy.api#pattern": "^sn-[0-9a-z]{17}$" } @@ -6115,12 +8593,38 @@ "smithy.api#pattern": "^((sn-[0-9a-z]{17})|(arn:[a-z0-9\\-]+:vpc-lattice:[a-zA-Z0-9\\-]+:\\d{12}:servicenetwork/sn-[0-9a-z]{17}))$" } }, + "com.amazonaws.vpclattice#ServiceNetworkIdentifierWithoutRegex": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 3, + "max": 2048 + } + } + }, "com.amazonaws.vpclattice#ServiceNetworkList": { "type": "list", "member": { "target": "com.amazonaws.vpclattice#ServiceNetworkSummary" } }, + "com.amazonaws.vpclattice#ServiceNetworkLogType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "name": "SERVICE", + "value": "SERVICE", + "documentation": "Indicates logs for Lattice services." + }, + { + "name": "RESOURCE", + "value": "RESOURCE", + "documentation": "Indicates logs for Lattice resource configurations." + } + ] + } + }, "com.amazonaws.vpclattice#ServiceNetworkName": { "type": "string", "traits": { @@ -6131,6 +8635,206 @@ "smithy.api#pattern": "^(?![-])(?!.*[-]$)(?!.*[-]{2})[a-z0-9-]+$" } }, + "com.amazonaws.vpclattice#ServiceNetworkNameWithoutRegex": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 3, + "max": 100 + } + } + }, + "com.amazonaws.vpclattice#ServiceNetworkResourceAssociation": { + "type": "resource", + "identifiers": { + "serviceNetworkResourceAssociationIdentifier": { + "target": "com.amazonaws.vpclattice#ServiceNetworkResourceAssociationIdentifier" + } + }, + "create": { + "target": "com.amazonaws.vpclattice#CreateServiceNetworkResourceAssociation" + }, + "read": { + "target": "com.amazonaws.vpclattice#GetServiceNetworkResourceAssociation" + }, + "delete": { + "target": "com.amazonaws.vpclattice#DeleteServiceNetworkResourceAssociation" + }, + "list": { + "target": "com.amazonaws.vpclattice#ListServiceNetworkResourceAssociations" + } + }, + "com.amazonaws.vpclattice#ServiceNetworkResourceAssociationArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 22, + "max": 2048 + }, + "smithy.api#pattern": "^arn:[a-z0-9\\-]+:vpc-lattice:[a-zA-Z0-9\\-]+:\\d{12}:servicenetworkresourceassociation/snra-[0-9a-f]{17}$" + } + }, + "com.amazonaws.vpclattice#ServiceNetworkResourceAssociationId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 22, + "max": 22 + }, + "smithy.api#pattern": "^snra-[0-9a-f]{17}$" + } + }, + "com.amazonaws.vpclattice#ServiceNetworkResourceAssociationIdentifier": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 22, + "max": 2048 + }, + "smithy.api#pattern": "^((snra-[0-9a-z]{17})|(arn:[a-z0-9\\-]+:vpc-lattice:[a-zA-Z0-9\\-]+:\\d{12}:servicenetworkresourceassociation/snra-[0-9a-f]{17}))$" + } + }, + "com.amazonaws.vpclattice#ServiceNetworkResourceAssociationList": { + "type": "list", + "member": { + "target": "com.amazonaws.vpclattice#ServiceNetworkResourceAssociationSummary" + } + }, + "com.amazonaws.vpclattice#ServiceNetworkResourceAssociationStatus": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "name": "CREATE_IN_PROGRESS", + "value": "CREATE_IN_PROGRESS", + "documentation": "ServiceNetwork and Service association creation in progress" + }, + { + "name": "ACTIVE", + "value": "ACTIVE", + "documentation": "ServiceNetwork and Service association is active" + }, + { + "name": "PARTIAL", + "value": "PARTIAL", + "documentation": "ServiceNetwork and Service association is partial" + }, + { + "name": "DELETE_IN_PROGRESS", + "value": "DELETE_IN_PROGRESS", + "documentation": "ServiceNetwork and Service association deletion in progress" + }, + { + "name": "CREATE_FAILED", + "value": "CREATE_FAILED", + "documentation": "ServiceNetwork and Service association creation failed." + }, + { + "name": "DELETE_FAILED", + "value": "DELETE_FAILED", + "documentation": "ServiceNetwork and Service association deletion failed" + } + ] + } + }, + "com.amazonaws.vpclattice#ServiceNetworkResourceAssociationSummary": { + "type": "structure", + "members": { + "id": { + "target": "com.amazonaws.vpclattice#ServiceNetworkResourceAssociationId", + "traits": { + "smithy.api#documentation": "

The ID of the association between the service network and resource configuration.

" + } + }, + "arn": { + "target": "com.amazonaws.vpclattice#ServiceNetworkResourceAssociationArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the association.

" + } + }, + "status": { + "target": "com.amazonaws.vpclattice#ServiceNetworkResourceAssociationStatus", + "traits": { + "smithy.api#documentation": "

The status of the service network associated with the resource configuration.

" + } + }, + "createdBy": { + "target": "com.amazonaws.vpclattice#AccountId", + "traits": { + "smithy.api#documentation": "

The account that created the association.

" + } + }, + "createdAt": { + "target": "com.amazonaws.vpclattice#Timestamp", + "traits": { + "smithy.api#documentation": "

The date and time that the association was created, in ISO-8601 format.

" + } + }, + "resourceConfigurationId": { + "target": "com.amazonaws.vpclattice#ResourceConfigurationId", + "traits": { + "smithy.api#documentation": "

The ID of the resource configuration associated with the service network.

" + } + }, + "resourceConfigurationArn": { + "target": "com.amazonaws.vpclattice#ResourceConfigurationArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the association.

" + } + }, + "resourceConfigurationName": { + "target": "com.amazonaws.vpclattice#ResourceConfigurationName", + "traits": { + "smithy.api#documentation": "

The name of the resource configuration associated with the service network.

" + } + }, + "serviceNetworkId": { + "target": "com.amazonaws.vpclattice#ServiceNetworkIdentifierWithoutRegex", + "traits": { + "smithy.api#documentation": "

The ID of the service network associated with the resource configuration.

" + } + }, + "serviceNetworkArn": { + "target": "com.amazonaws.vpclattice#ServiceNetworkArnWithoutRegex", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the service network associated with the resource configuration.

" + } + }, + "serviceNetworkName": { + "target": "com.amazonaws.vpclattice#ServiceNetworkNameWithoutRegex", + "traits": { + "smithy.api#documentation": "

The name of the service network associated with the resource configuration.

" + } + }, + "dnsEntry": { + "target": "com.amazonaws.vpclattice#DnsEntry", + "traits": { + "smithy.api#documentation": "

The DNS entry for the service.

" + } + }, + "privateDnsEntry": { + "target": "com.amazonaws.vpclattice#DnsEntry", + "traits": { + "smithy.api#documentation": "

The private DNS entry for the service.

" + } + }, + "isManagedAssociation": { + "target": "com.amazonaws.vpclattice#Boolean", + "traits": { + "smithy.api#documentation": "

Specifies whether the association is managed by Amazon.

" + } + }, + "failureCode": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The failure code.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Summary information about an association between a service network and a resource configuration.

" + } + }, "com.amazonaws.vpclattice#ServiceNetworkServiceAssociation": { "type": "resource", "identifiers": { @@ -6239,7 +8943,7 @@ "createdAt": { "target": "com.amazonaws.vpclattice#Timestamp", "traits": { - "smithy.api#documentation": "

The date and time that the association was created, specified in ISO-8601 format.

" + "smithy.api#documentation": "

The date and time that the association was created, in ISO-8601 format.

" } }, "serviceId": { @@ -6292,7 +8996,7 @@ } }, "traits": { - "smithy.api#documentation": "

Summary information about the association between a service network and a service.

" + "smithy.api#documentation": "

Summary information about an association between a service network and a service.

" } }, "com.amazonaws.vpclattice#ServiceNetworkSummary": { @@ -6319,13 +9023,13 @@ "createdAt": { "target": "com.amazonaws.vpclattice#Timestamp", "traits": { - "smithy.api#documentation": "

The date and time that the service network was created, specified in ISO-8601 format.

" + "smithy.api#documentation": "

The date and time that the service network was created, in ISO-8601 format.

" } }, "lastUpdatedAt": { "target": "com.amazonaws.vpclattice#Timestamp", "traits": { - "smithy.api#documentation": "

The date and time that the service network was last updated, specified in ISO-8601\n format.

" + "smithy.api#documentation": "

The date and time that the service network was last updated, in ISO-8601 format.

" } }, "numberOfAssociatedVPCs": { @@ -6339,6 +9043,12 @@ "traits": { "smithy.api#documentation": "

The number of services associated with the service network.

" } + }, + "numberOfAssociatedResourceConfigurations": { + "target": "smithy.api#Long", + "traits": { + "smithy.api#documentation": "

The number of resource configurations associated with a service network.

" + } } }, "traits": { @@ -6476,7 +9186,7 @@ "createdAt": { "target": "com.amazonaws.vpclattice#Timestamp", "traits": { - "smithy.api#documentation": "

The date and time that the association was created, specified in ISO-8601 format.

" + "smithy.api#documentation": "

The date and time that the association was created, in ISO-8601 format.

" } }, "serviceNetworkId": { @@ -6506,7 +9216,7 @@ "lastUpdatedAt": { "target": "com.amazonaws.vpclattice#Timestamp", "traits": { - "smithy.api#documentation": "

The date and time that the association was last updated, specified in ISO-8601\n format.

" + "smithy.api#documentation": "

The date and time that the association was last updated, in ISO-8601 format.

" } } }, @@ -6514,6 +9224,12 @@ "smithy.api#documentation": "

Summary information about an association between a service network and a VPC.

" } }, + "com.amazonaws.vpclattice#ServiceNetworkVpcEndpointAssociationList": { + "type": "list", + "member": { + "target": "com.amazonaws.vpclattice#ServiceNetworkEndpointAssociation" + } + }, "com.amazonaws.vpclattice#ServiceQuotaExceededException": { "type": "structure", "members": { @@ -6613,13 +9329,13 @@ "createdAt": { "target": "com.amazonaws.vpclattice#Timestamp", "traits": { - "smithy.api#documentation": "

The date and time that the service was created, specified in ISO-8601 format.

" + "smithy.api#documentation": "

The date and time that the service was created, in ISO-8601 format.

" } }, "lastUpdatedAt": { "target": "com.amazonaws.vpclattice#Timestamp", "traits": { - "smithy.api#documentation": "

The date and time that the service was last updated. The format is ISO-8601.

" + "smithy.api#documentation": "

The date and time that the service was last updated, in ISO-8601 format.

" } }, "dnsEntry": { @@ -6645,6 +9361,35 @@ "smithy.api#documentation": "

Summary information about a service.

" } }, + "com.amazonaws.vpclattice#SharingConfig": { + "type": "structure", + "members": { + "enabled": { + "target": "com.amazonaws.vpclattice#Boolean", + "traits": { + "smithy.api#documentation": "

Specifies if the service network is enabled for sharing.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Specifies if the service network should be enabled for sharing.

" + } + }, + "com.amazonaws.vpclattice#SubnetId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 5, + "max": 200 + } + } + }, + "com.amazonaws.vpclattice#SubnetList": { + "type": "list", + "member": { + "target": "com.amazonaws.vpclattice#SubnetId" + } + }, "com.amazonaws.vpclattice#TagKey": { "type": "string", "traits": { @@ -6758,7 +9503,7 @@ "id": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

The ID of the target. If the target group type is INSTANCE, this is\n an instance ID. If the target group type is IP, this is an IP address. If the target\n group type is LAMBDA, this is the ARN of a Lambda function. If the target group type \n is ALB, this is the ARN of an Application Load Balancer.

", + "smithy.api#documentation": "

The ID of the target. If the target group type is INSTANCE, this is an instance\n ID. If the target group type is IP, this is an IP address. If the target group type\n is LAMBDA, this is the ARN of a Lambda function. If the target group type is\n ALB, this is the ARN of an Application Load Balancer.

", "smithy.api#length": { "min": 1, "max": 200 @@ -6769,7 +9514,7 @@ "port": { "target": "com.amazonaws.vpclattice#Port", "traits": { - "smithy.api#documentation": "

The port on which the target is listening. For HTTP, the default is 80. For\n HTTPS, the default is 443.

" + "smithy.api#documentation": "

The port on which the target is listening. For HTTP, the default is 80. For HTTPS, the\n default is 443.

" } } }, @@ -6783,7 +9528,7 @@ "id": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

The ID of the target. If the target group type is INSTANCE, this is\n an instance ID. If the target group type is IP, this is an IP address. If the target\n group type is LAMBDA, this is the ARN of a Lambda function. If the target group type is\n ALB, this is the ARN of an Application Load Balancer.

" + "smithy.api#documentation": "

The ID of the target. If the target group type is INSTANCE, this is an instance\n ID. If the target group type is IP, this is an IP address. If the target group type\n is LAMBDA, this is the ARN of a Lambda function. If the target group type is\n ALB, this is the ARN of an Application Load Balancer.

" } }, "port": { @@ -6865,25 +9610,25 @@ "port": { "target": "com.amazonaws.vpclattice#Port", "traits": { - "smithy.api#documentation": "

The port on which the targets are listening. For HTTP, the default is 80. For\n HTTPS, the default is 443. Not supported if the target group type is LAMBDA.

" + "smithy.api#documentation": "

The port on which the targets are listening. For HTTP, the default is 80. For HTTPS, the\n default is 443. Not supported if the target group type is LAMBDA.

" } }, "protocol": { "target": "com.amazonaws.vpclattice#TargetGroupProtocol", "traits": { - "smithy.api#documentation": "

The protocol to use for routing traffic to the targets. The default is the protocol of the target\n group. Not supported if the target group type is LAMBDA.

" + "smithy.api#documentation": "

The protocol to use for routing traffic to the targets. The default is the protocol of the\n target group. Not supported if the target group type is LAMBDA.

" } }, "protocolVersion": { "target": "com.amazonaws.vpclattice#TargetGroupProtocolVersion", "traits": { - "smithy.api#documentation": "

The protocol version. The default is HTTP1.\n Not supported if the target group type is LAMBDA.

" + "smithy.api#documentation": "

The protocol version. The default is HTTP1. Not supported if the target group\n type is LAMBDA.

" } }, "ipAddressType": { "target": "com.amazonaws.vpclattice#IpAddressType", "traits": { - "smithy.api#documentation": "

The type of IP address used for the target group. Supported only if the target group\n type is IP. The default is IPV4.

" + "smithy.api#documentation": "

The type of IP address used for the target group. Supported only if the target group type is\n IP. The default is IPV4.

" } }, "vpcIdentifier": { @@ -6895,18 +9640,18 @@ "healthCheck": { "target": "com.amazonaws.vpclattice#HealthCheckConfig", "traits": { - "smithy.api#documentation": "

The health check configuration. Not supported if the target group type is\n LAMBDA or ALB.

" + "smithy.api#documentation": "

The health check configuration. Not supported if the target group type is\n LAMBDA or ALB.

" } }, "lambdaEventStructureVersion": { "target": "com.amazonaws.vpclattice#LambdaEventStructureVersion", "traits": { - "smithy.api#documentation": "

The version of the event structure that your Lambda function receives. \n Supported only if the target group type is LAMBDA. The default is V1.

" + "smithy.api#documentation": "

The version of the event structure that your Lambda function receives. Supported only if the\n target group type is LAMBDA. The default is V1.

" } } }, "traits": { - "smithy.api#documentation": "

Describes the configuration of a target group.

\n

For more information, see Target groups in the\n Amazon VPC Lattice User Guide.

" + "smithy.api#documentation": "

Describes the configuration of a target group.

\n

For more information, see Target groups in the\n Amazon VPC Lattice User Guide.

" } }, "com.amazonaws.vpclattice#TargetGroupId": { @@ -7051,7 +9796,7 @@ "createdAt": { "target": "com.amazonaws.vpclattice#Timestamp", "traits": { - "smithy.api#documentation": "

The date and time that the target group was created, specified in ISO-8601 format.

" + "smithy.api#documentation": "

The date and time that the target group was created, in ISO-8601 format.

" } }, "port": { @@ -7069,7 +9814,7 @@ "ipAddressType": { "target": "com.amazonaws.vpclattice#IpAddressType", "traits": { - "smithy.api#documentation": "

The type of IP address used for the target group. The possible values are IPV4\n and IPV6. This is an optional parameter. If not specified, the default is\n IPV4.

" + "smithy.api#documentation": "

The type of IP address used for the target group. The possible values are IPV4\n and IPV6. This is an optional parameter. If not specified, the default is\n IPV4.

" } }, "vpcIdentifier": { @@ -7081,7 +9826,7 @@ "lastUpdatedAt": { "target": "com.amazonaws.vpclattice#Timestamp", "traits": { - "smithy.api#documentation": "

The date and time that the target group was last updated, specified in ISO-8601\n format.

" + "smithy.api#documentation": "

The date and time that the target group was last updated, in ISO-8601 format.

" } }, "status": { @@ -7099,12 +9844,12 @@ "lambdaEventStructureVersion": { "target": "com.amazonaws.vpclattice#LambdaEventStructureVersion", "traits": { - "smithy.api#documentation": "

The version of the event structure that your Lambda function receives.\n Supported only if the target group type is LAMBDA.

" + "smithy.api#documentation": "

The version of the event structure that your Lambda function receives. Supported only if the\n target group type is LAMBDA.

" } } }, "traits": { - "smithy.api#documentation": "

Summary information about a target group.

\n

For more information, see Target groups in the\n Amazon VPC Lattice User Guide.

" + "smithy.api#documentation": "

Summary information about a target group.

\n

For more information, see Target groups in the\n Amazon VPC Lattice User Guide.

" } }, "com.amazonaws.vpclattice#TargetGroupType": { @@ -7192,7 +9937,7 @@ "id": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

The ID of the target. If the target group type is INSTANCE, this is\n an instance ID. If the target group type is IP, this is an IP address. If the target\n group type is LAMBDA, this is the ARN of a Lambda function. If the target type is\n ALB, this is the ARN of an Application Load Balancer.

" + "smithy.api#documentation": "

The ID of the target. If the target group type is INSTANCE, this is an instance\n ID. If the target group type is IP, this is an IP address. If the target group type\n is LAMBDA, this is the ARN of a Lambda function. If the target type is\n ALB, this is the ARN of an Application Load Balancer.

" } }, "port": { @@ -7204,7 +9949,7 @@ "status": { "target": "com.amazonaws.vpclattice#TargetStatus", "traits": { - "smithy.api#documentation": "

The status of the target.

\n
    \n
  • \n

    \n DRAINING: The target is being deregistered. No new connections are sent\n to this target while current connections are being drained. The default draining time is 5\n minutes.

    \n
  • \n
  • \n

    \n UNAVAILABLE: Health checks are unavailable for the target group.

    \n
  • \n
  • \n

    \n HEALTHY: The target is healthy.

    \n
  • \n
  • \n

    \n UNHEALTHY: The target is unhealthy.

    \n
  • \n
  • \n

    \n INITIAL: Initial health checks on the target are being performed.

    \n
  • \n
  • \n

    \n UNUSED: Target group is not used in a service.

    \n
  • \n
" + "smithy.api#documentation": "

The status of the target.

\n
    \n
  • \n

    \n DRAINING: The target is being deregistered. No new connections are sent to\n this target while current connections are being drained. The default draining time is 5\n minutes.

    \n
  • \n
  • \n

    \n UNAVAILABLE: Health checks are unavailable for the target group.

    \n
  • \n
  • \n

    \n HEALTHY: The target is healthy.

    \n
  • \n
  • \n

    \n UNHEALTHY: The target is unhealthy.

    \n
  • \n
  • \n

    \n INITIAL: Initial health checks on the target are being performed.

    \n
  • \n
  • \n

    \n UNUSED: Target group is not used in a service.

    \n
  • \n
" } }, "reasonCode": { @@ -7377,7 +10122,7 @@ "accessLogSubscriptionIdentifier": { "target": "com.amazonaws.vpclattice#AccessLogSubscriptionIdentifier", "traits": { - "smithy.api#documentation": "

The ID or Amazon Resource Name (ARN) of the access log subscription.

", + "smithy.api#documentation": "

The ID or ARN of the access log subscription.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -7452,6 +10197,9 @@ { "target": "com.amazonaws.vpclattice#ResourceNotFoundException" }, + { + "target": "com.amazonaws.vpclattice#ServiceQuotaExceededException" + }, { "target": "com.amazonaws.vpclattice#ThrottlingException" }, @@ -7475,7 +10223,7 @@ "serviceIdentifier": { "target": "com.amazonaws.vpclattice#ServiceIdentifier", "traits": { - "smithy.api#documentation": "

The ID or Amazon Resource Name (ARN) of the service.

", + "smithy.api#documentation": "

The ID or ARN of the service.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -7483,7 +10231,7 @@ "listenerIdentifier": { "target": "com.amazonaws.vpclattice#ListenerIdentifier", "traits": { - "smithy.api#documentation": "

The ID or Amazon Resource Name (ARN) of the listener.

", + "smithy.api#documentation": "

The ID or ARN of the listener.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -7550,6 +10298,267 @@ } } }, + "com.amazonaws.vpclattice#UpdateResourceConfiguration": { + "type": "operation", + "input": { + "target": "com.amazonaws.vpclattice#UpdateResourceConfigurationRequest" + }, + "output": { + "target": "com.amazonaws.vpclattice#UpdateResourceConfigurationResponse" + }, + "errors": [ + { + "target": "com.amazonaws.vpclattice#AccessDeniedException" + }, + { + "target": "com.amazonaws.vpclattice#InternalServerException" + }, + { + "target": "com.amazonaws.vpclattice#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.vpclattice#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.vpclattice#ThrottlingException" + }, + { + "target": "com.amazonaws.vpclattice#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Updates the specified resource configuration.

", + "smithy.api#http": { + "code": 200, + "method": "PATCH", + "uri": "/resourceconfigurations/{resourceConfigurationIdentifier}" + } + } + }, + "com.amazonaws.vpclattice#UpdateResourceConfigurationRequest": { + "type": "structure", + "members": { + "resourceConfigurationIdentifier": { + "target": "com.amazonaws.vpclattice#ResourceConfigurationIdentifier", + "traits": { + "smithy.api#documentation": "

The ID of the resource configuration.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "resourceConfigurationDefinition": { + "target": "com.amazonaws.vpclattice#ResourceConfigurationDefinition", + "traits": { + "smithy.api#documentation": "

The resource configuration.

" + } + }, + "allowAssociationToShareableServiceNetwork": { + "target": "com.amazonaws.vpclattice#Boolean", + "traits": { + "smithy.api#documentation": "

Indicates whether to add the resource configuration to service networks that are shared with other accounts.

" + } + }, + "portRanges": { + "target": "com.amazonaws.vpclattice#PortRangeList", + "traits": { + "smithy.api#documentation": "

The TCP port ranges that a consumer can use to access a resource configuration. You can separate port ranges with a comma. Example: 1-65535 or 1,2,22-30

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.vpclattice#UpdateResourceConfigurationResponse": { + "type": "structure", + "members": { + "id": { + "target": "com.amazonaws.vpclattice#ResourceConfigurationId", + "traits": { + "smithy.api#documentation": "

The ID of the resource configuration.

" + } + }, + "name": { + "target": "com.amazonaws.vpclattice#ResourceConfigurationName", + "traits": { + "smithy.api#documentation": "

The name of the resource configuration.

" + } + }, + "arn": { + "target": "com.amazonaws.vpclattice#ResourceConfigurationArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the resource configuration.

" + } + }, + "resourceGatewayId": { + "target": "com.amazonaws.vpclattice#ResourceGatewayId", + "traits": { + "smithy.api#documentation": "

The ID of the resource gateway associated with the resource configuration.

" + } + }, + "resourceConfigurationGroupId": { + "target": "com.amazonaws.vpclattice#ResourceConfigurationId", + "traits": { + "smithy.api#documentation": "

The ID of the group resource configuration.

" + } + }, + "type": { + "target": "com.amazonaws.vpclattice#ResourceConfigurationType", + "traits": { + "smithy.api#documentation": "

The type of resource configuration.

\n
    \n
  • \n

    \n SINGLE - A single resource.

    \n
  • \n
  • \n

    \n GROUP - A group of resources.

    \n
  • \n
  • \n

    \n CHILD - A single resource that is part of a group resource configuration.

    \n
  • \n
  • \n

    \n ARN - An Amazon Web Services resource.

    \n
  • \n
" + } + }, + "portRanges": { + "target": "com.amazonaws.vpclattice#PortRangeList", + "traits": { + "smithy.api#documentation": "

The TCP port ranges that a consumer can use to access a resource configuration. You can separate port ranges with a comma. Example: 1-65535 or 1,2,22-30

" + } + }, + "allowAssociationToShareableServiceNetwork": { + "target": "com.amazonaws.vpclattice#Boolean", + "traits": { + "smithy.api#documentation": "

Indicates whether to add the resource configuration to service networks that are shared with other accounts.

" + } + }, + "protocol": { + "target": "com.amazonaws.vpclattice#ProtocolType", + "traits": { + "smithy.api#documentation": "

The TCP protocol accepted by the specified resource configuration.

" + } + }, + "status": { + "target": "com.amazonaws.vpclattice#ResourceConfigurationStatus", + "traits": { + "smithy.api#documentation": "

The status of the resource configuration.

" + } + }, + "resourceConfigurationDefinition": { + "target": "com.amazonaws.vpclattice#ResourceConfigurationDefinition", + "traits": { + "smithy.api#documentation": "

The resource configuration.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.vpclattice#UpdateResourceGateway": { + "type": "operation", + "input": { + "target": "com.amazonaws.vpclattice#UpdateResourceGatewayRequest" + }, + "output": { + "target": "com.amazonaws.vpclattice#UpdateResourceGatewayResponse" + }, + "errors": [ + { + "target": "com.amazonaws.vpclattice#AccessDeniedException" + }, + { + "target": "com.amazonaws.vpclattice#InternalServerException" + }, + { + "target": "com.amazonaws.vpclattice#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.vpclattice#ThrottlingException" + }, + { + "target": "com.amazonaws.vpclattice#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Updates the specified resource gateway.

", + "smithy.api#http": { + "code": 200, + "uri": "/resourcegateways/{resourceGatewayIdentifier}", + "method": "PATCH" + } + } + }, + "com.amazonaws.vpclattice#UpdateResourceGatewayRequest": { + "type": "structure", + "members": { + "resourceGatewayIdentifier": { + "target": "com.amazonaws.vpclattice#ResourceGatewayIdentifier", + "traits": { + "smithy.api#documentation": "

The ID or ARN of the resource gateway.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "securityGroupIds": { + "target": "com.amazonaws.vpclattice#SecurityGroupList", + "traits": { + "smithy.api#documentation": "

The IDs of the security groups associated with the resource gateway.

", + "smithy.api#length": { + "min": 0, + "max": 5 + } + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.vpclattice#UpdateResourceGatewayResponse": { + "type": "structure", + "members": { + "name": { + "target": "com.amazonaws.vpclattice#ResourceGatewayName", + "traits": { + "smithy.api#documentation": "

The name of the resource gateway.

" + } + }, + "id": { + "target": "com.amazonaws.vpclattice#ResourceGatewayId", + "traits": { + "smithy.api#documentation": "

The ID of the resource gateway.

" + } + }, + "arn": { + "target": "com.amazonaws.vpclattice#ResourceGatewayArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the resource gateway.

" + } + }, + "status": { + "target": "com.amazonaws.vpclattice#ResourceGatewayStatus", + "traits": { + "smithy.api#documentation": "

The status of the resource gateway.

" + } + }, + "vpcId": { + "target": "com.amazonaws.vpclattice#VpcId", + "traits": { + "smithy.api#documentation": "

The ID of the VPC for the resource gateway.

" + } + }, + "subnetIds": { + "target": "com.amazonaws.vpclattice#SubnetList", + "traits": { + "smithy.api#documentation": "

The IDs of the VPC subnets for the resource gateway.

" + } + }, + "securityGroupIds": { + "target": "com.amazonaws.vpclattice#SecurityGroupList", + "traits": { + "smithy.api#documentation": "

The IDs of the security groups associated with the resource gateway.

" + } + }, + "ipAddressType": { + "target": "com.amazonaws.vpclattice#IpAddressType", + "traits": { + "smithy.api#documentation": "

The type of IP address used by the resource gateway.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.vpclattice#UpdateRule": { "type": "operation", "input": { @@ -7571,6 +10580,9 @@ { "target": "com.amazonaws.vpclattice#ResourceNotFoundException" }, + { + "target": "com.amazonaws.vpclattice#ServiceQuotaExceededException" + }, { "target": "com.amazonaws.vpclattice#ThrottlingException" }, @@ -7579,7 +10591,7 @@ } ], "traits": { - "smithy.api#documentation": "

Updates a rule for the listener. You can't modify a default listener rule. To modify a\n default listener rule, use UpdateListener.

", + "smithy.api#documentation": "

Updates a specified rule for the listener. You can't modify a default listener rule. To modify a\n default listener rule, use UpdateListener.

", "smithy.api#http": { "code": 200, "method": "PATCH", @@ -7594,7 +10606,7 @@ "serviceIdentifier": { "target": "com.amazonaws.vpclattice#ServiceIdentifier", "traits": { - "smithy.api#documentation": "

The ID or Amazon Resource Name (ARN) of the service.

", + "smithy.api#documentation": "

The ID or ARN of the service.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -7602,7 +10614,7 @@ "listenerIdentifier": { "target": "com.amazonaws.vpclattice#ListenerIdentifier", "traits": { - "smithy.api#documentation": "

The ID or Amazon Resource Name (ARN) of the listener.

", + "smithy.api#documentation": "

The ID or ARN of the listener.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -7610,7 +10622,7 @@ "ruleIdentifier": { "target": "com.amazonaws.vpclattice#RuleIdentifier", "traits": { - "smithy.api#documentation": "

The ID or Amazon Resource Name (ARN) of the rule.

", + "smithy.api#documentation": "

The ID or ARN of the rule.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -7703,6 +10715,9 @@ { "target": "com.amazonaws.vpclattice#ResourceNotFoundException" }, + { + "target": "com.amazonaws.vpclattice#ServiceQuotaExceededException" + }, { "target": "com.amazonaws.vpclattice#ThrottlingException" }, @@ -7763,7 +10778,7 @@ "serviceNetworkIdentifier": { "target": "com.amazonaws.vpclattice#ServiceNetworkIdentifier", "traits": { - "smithy.api#documentation": "

The ID or Amazon Resource Name (ARN) of the service network.

", + "smithy.api#documentation": "

The ID or ARN of the service network.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -7835,7 +10850,7 @@ } ], "traits": { - "smithy.api#documentation": "

Updates the service network and VPC association. If you add a security group to the service\n network and VPC association, the association must continue to always have at least one security\n group. You can add or edit security groups at any time. However, to remove all security groups,\n you must first delete the association and recreate it without security groups.

", + "smithy.api#documentation": "

Updates the service network and VPC association. If you add a security group to the service\n network and VPC association, the association must continue to have at least one security\n group. You can add or edit security groups at any time. However, to remove all security groups,\n you must first delete the association and then recreate it without security groups.

", "smithy.api#http": { "code": 200, "uri": "/servicenetworkvpcassociations/{serviceNetworkVpcAssociationIdentifier}", @@ -7850,7 +10865,7 @@ "serviceNetworkVpcAssociationIdentifier": { "target": "com.amazonaws.vpclattice#ServiceNetworkVpcAssociationIdentifier", "traits": { - "smithy.api#documentation": "

The ID or Amazon Resource Name (ARN) of the association.

", + "smithy.api#documentation": "

The ID or ARN of the association.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -7909,7 +10924,7 @@ "serviceIdentifier": { "target": "com.amazonaws.vpclattice#ServiceIdentifier", "traits": { - "smithy.api#documentation": "

The ID or Amazon Resource Name (ARN) of the service.

", + "smithy.api#documentation": "

The ID or ARN of the service.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -7990,6 +11005,9 @@ { "target": "com.amazonaws.vpclattice#ResourceNotFoundException" }, + { + "target": "com.amazonaws.vpclattice#ServiceQuotaExceededException" + }, { "target": "com.amazonaws.vpclattice#ThrottlingException" }, @@ -8013,7 +11031,7 @@ "targetGroupIdentifier": { "target": "com.amazonaws.vpclattice#TargetGroupIdentifier", "traits": { - "smithy.api#documentation": "

The ID or Amazon Resource Name (ARN) of the target group.

", + "smithy.api#documentation": "

The ID or ARN of the target group.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -8148,6 +11166,26 @@ ] } }, + "com.amazonaws.vpclattice#VpcEndpointId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 22, + "max": 22 + }, + "smithy.api#pattern": "^vpce-[0-9a-f]{17}$" + } + }, + "com.amazonaws.vpclattice#VpcEndpointOwner": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 12, + "max": 12 + }, + "smithy.api#pattern": "^\\d{12}$" + } + }, "com.amazonaws.vpclattice#VpcId": { "type": "string", "traits": { @@ -8164,7 +11202,7 @@ "targetGroupIdentifier": { "target": "com.amazonaws.vpclattice#TargetGroupIdentifier", "traits": { - "smithy.api#documentation": "

The ID or Amazon Resource Name (ARN) of the target group.

", + "smithy.api#documentation": "

The ID or ARN of the target group.

", "smithy.api#required": {} } }, @@ -8190,6 +11228,16 @@ "max": 10 } } + }, + "com.amazonaws.vpclattice#WildcardArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 20, + "max": 2048 + }, + "smithy.api#pattern": "^arn:[a-z0-9][-.a-z0-9]{0,62}:[a-z0-9][-.a-z0-9]{0,62}:([a-z0-9][-.a-z0-9]{0,62})?:\\d{12}?:[^/].{0,1023}$" + } } } } \ No newline at end of file diff --git a/codegen/sdk/packages.json b/codegen/sdk/packages.json index 382feb44733..ddd871d1576 100644 --- a/codegen/sdk/packages.json +++ b/codegen/sdk/packages.json @@ -954,6 +954,12 @@ "artifactName": "internetmonitor", "brazilName": "AwsSdkKotlinInternetmonitor" }, + { + "sdkId": "Invoicing", + "namespace": "aws.sdk.kotlin.services.invoicing", + "artifactName": "invoicing", + "brazilName": "AwsSdkKotlinInvoicing" + }, { "sdkId": "IoT", "namespace": "aws.sdk.kotlin.services.iot", @@ -1416,6 +1422,12 @@ "artifactName": "networkfirewall", "brazilName": "AwsSdkKotlinNetworkFirewall" }, + { + "sdkId": "NetworkFlowMonitor", + "namespace": "aws.sdk.kotlin.services.networkflowmonitor", + "artifactName": "networkflowmonitor", + "brazilName": "AwsSdkKotlinNetworkflowmonitor" + }, { "sdkId": "NetworkManager", "namespace": "aws.sdk.kotlin.services.networkmanager", @@ -1452,6 +1464,12 @@ "artifactName": "osis", "brazilName": "AwsSdkKotlinOsis" }, + { + "sdkId": "ObservabilityAdmin", + "namespace": "aws.sdk.kotlin.services.observabilityadmin", + "artifactName": "observabilityadmin", + "brazilName": "AwsSdkKotlinObservabilityadmin" + }, { "sdkId": "Omics", "namespace": "aws.sdk.kotlin.services.omics", @@ -1932,6 +1950,12 @@ "artifactName": "secretsmanager", "brazilName": "AwsSdkKotlinSecretsManager" }, + { + "sdkId": "Security IR", + "namespace": "aws.sdk.kotlin.services.securityir", + "artifactName": "securityir", + "brazilName": "AwsSdkKotlinSecurityIr" + }, { "sdkId": "SecurityHub", "namespace": "aws.sdk.kotlin.services.securityhub", diff --git a/gradle.properties b/gradle.properties index 268b9e5b846..01e5a479d36 100644 --- a/gradle.properties +++ b/gradle.properties @@ -6,7 +6,7 @@ kotlin.native.ignoreDisabledTargets=true org.gradle.jvmargs=-Xmx6g -XX:MaxMetaspaceSize=2G # sdk -sdkVersion=1.3.84-SNAPSHOT +sdkVersion=1.3.87-SNAPSHOT # dokka config (values specified at build-time as needed) smithyKotlinDocBaseUrl=https://sdk.amazonaws.com/kotlin/api/smithy-kotlin/api/$smithyKotlinRuntimeVersion/