diff --git a/Package.swift b/Package.swift index 28bfc86ddb5..bf9289bcb3a 100644 --- a/Package.swift +++ b/Package.swift @@ -15,7 +15,7 @@ import PackageDescription // MARK: - Dynamic Content -let clientRuntimeVersion: Version = "0.80.0" +let clientRuntimeVersion: Version = "0.81.0" let crtVersion: Version = "0.36.0" let excludeRuntimeUnitTests = false diff --git a/Package.version b/Package.version index ace256ef5d6..2fa39017939 100644 --- a/Package.version +++ b/Package.version @@ -1 +1 @@ -1.0.21 \ No newline at end of file +1.0.22 \ No newline at end of file diff --git a/Package.version.next b/Package.version.next index 2fa39017939..1c2de38aad8 100644 --- a/Package.version.next +++ b/Package.version.next @@ -1 +1 @@ -1.0.22 \ No newline at end of file +1.0.23 \ No newline at end of file diff --git a/Sources/Services/AWSBedrockAgent/Sources/AWSBedrockAgent/BedrockAgentClient.swift b/Sources/Services/AWSBedrockAgent/Sources/AWSBedrockAgent/BedrockAgentClient.swift index a632efc4e46..54dce7ecce8 100644 --- a/Sources/Services/AWSBedrockAgent/Sources/AWSBedrockAgent/BedrockAgentClient.swift +++ b/Sources/Services/AWSBedrockAgent/Sources/AWSBedrockAgent/BedrockAgentClient.swift @@ -2479,7 +2479,7 @@ extension BedrockAgentClient { /// Performs the `GetIngestionJob` operation on the `AmazonBedrockAgentBuildTimeLambda` service. /// - /// Gets information about a data ingestion job. Data sources are ingested into your knowledge base so that Large Lanaguage Models (LLMs) can use your data. + /// Gets information about a data ingestion job. Data sources are ingested into your knowledge base so that Large Language Models (LLMs) can use your data. /// /// - Parameter GetIngestionJobInput : [no documentation found] /// diff --git a/Sources/Services/AWSBedrockAgent/Sources/AWSBedrockAgent/Models.swift b/Sources/Services/AWSBedrockAgent/Sources/AWSBedrockAgent/Models.swift index 4407dfb414e..28a417c14d7 100644 --- a/Sources/Services/AWSBedrockAgent/Sources/AWSBedrockAgent/Models.swift +++ b/Sources/Services/AWSBedrockAgent/Sources/AWSBedrockAgent/Models.swift @@ -4094,8 +4094,6 @@ extension BedrockAgentClientTypes { public var stopSequences: [Swift.String]? /// Controls the randomness of the response. Choose a lower value for more predictable outputs and a higher value for more surprising outputs. public var temperature: Swift.Float? - /// The number of most-likely candidates that the model considers for the next token during generation. - public var topk: Swift.Int? /// The percentage of most-likely candidates that the model considers for the next token. public var topp: Swift.Float? @@ -4103,14 +4101,12 @@ extension BedrockAgentClientTypes { maxTokens: Swift.Int? = nil, stopSequences: [Swift.String]? = nil, temperature: Swift.Float? = nil, - topk: Swift.Int? = nil, topp: Swift.Float? = nil ) { self.maxTokens = maxTokens self.stopSequences = stopSequences self.temperature = temperature - self.topk = topk self.topp = topp } } @@ -7346,6 +7342,7 @@ extension BedrockAgentClientTypes { /// This member is required. public var name: Swift.String? /// Contains configurations for the prompt template. + /// This member is required. public var templateConfiguration: BedrockAgentClientTypes.PromptTemplateConfiguration? /// The type of prompt template to use. /// This member is required. @@ -12844,7 +12841,6 @@ extension BedrockAgentClientTypes.PromptModelInferenceConfiguration { try writer["maxTokens"].write(value.maxTokens) try writer["stopSequences"].writeList(value.stopSequences, memberWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), memberNodeInfo: "member", isFlattened: false) try writer["temperature"].write(value.temperature) - try writer["topK"].write(value.topk) try writer["topP"].write(value.topp) } @@ -12853,7 +12849,6 @@ extension BedrockAgentClientTypes.PromptModelInferenceConfiguration { var value = BedrockAgentClientTypes.PromptModelInferenceConfiguration() value.temperature = try reader["temperature"].readIfPresent() value.topp = try reader["topP"].readIfPresent() - value.topk = try reader["topK"].readIfPresent() value.maxTokens = try reader["maxTokens"].readIfPresent() value.stopSequences = try reader["stopSequences"].readListIfPresent(memberReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), memberNodeInfo: "member", isFlattened: false) return value diff --git a/Sources/Services/AWSConnect/Sources/AWSConnect/Models.swift b/Sources/Services/AWSConnect/Sources/AWSConnect/Models.swift index b6319c54a80..2314fa2a31c 100644 --- a/Sources/Services/AWSConnect/Sources/AWSConnect/Models.swift +++ b/Sources/Services/AWSConnect/Sources/AWSConnect/Models.swift @@ -37177,9 +37177,9 @@ extension ConnectClientTypes.EvaluationAnswerData { case "StringValue": return .stringvalue(try reader["StringValue"].read()) case "NumericValue": - return .numericvalue(try reader["NumericValue"].read() ?? 0) + return .numericvalue(try reader["NumericValue"].read()) case "NotApplicable": - return .notapplicable(try reader["NotApplicable"].read() ?? false) + return .notapplicable(try reader["NotApplicable"].read()) default: return .sdkUnknown(name ?? "") } diff --git a/Sources/Services/AWSDataExchange/Sources/AWSDataExchange/DataExchangeClient.swift b/Sources/Services/AWSDataExchange/Sources/AWSDataExchange/DataExchangeClient.swift index 38249cdb95b..0bcdabba260 100644 --- a/Sources/Services/AWSDataExchange/Sources/AWSDataExchange/DataExchangeClient.swift +++ b/Sources/Services/AWSDataExchange/Sources/AWSDataExchange/DataExchangeClient.swift @@ -198,6 +198,77 @@ extension DataExchangeClient { } extension DataExchangeClient { + /// Performs the `AcceptDataGrant` operation on the `DataExchange` service. + /// + /// This operation accepts a data grant. + /// + /// - Parameter AcceptDataGrantInput : [no documentation found] + /// + /// - Returns: `AcceptDataGrantOutput` : [no documentation found] + /// + /// - Throws: One of the exceptions listed below __Possible Exceptions__. + /// + /// __Possible Exceptions:__ + /// - `AccessDeniedException` : Access to the resource is denied. + /// - `ConflictException` : The request couldn't be completed because it conflicted with the current state of the resource. + /// - `InternalServerException` : An exception occurred with the service. + /// - `ResourceNotFoundException` : The resource couldn't be found. + /// - `ThrottlingException` : The limit on the number of requests per second was exceeded. + /// - `ValidationException` : The request was invalid. + public func acceptDataGrant(input: AcceptDataGrantInput) async throws -> AcceptDataGrantOutput { + let context = Smithy.ContextBuilder() + .withMethod(value: .post) + .withServiceName(value: serviceName) + .withOperation(value: "acceptDataGrant") + .withIdempotencyTokenGenerator(value: config.idempotencyTokenGenerator) + .withLogger(value: config.logger) + .withPartitionID(value: config.partitionID) + .withAuthSchemes(value: config.authSchemes ?? []) + .withAuthSchemeResolver(value: config.authSchemeResolver) + .withUnsignedPayloadTrait(value: false) + .withSocketTimeout(value: config.httpClientConfiguration.socketTimeout) + .withIdentityResolver(value: config.bearerTokenIdentityResolver, schemeID: "smithy.api#httpBearerAuth") + .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4") + .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") + .withRegion(value: config.region) + .withSigningName(value: "dataexchange") + .withSigningRegion(value: config.signingRegion) + .build() + let builder = ClientRuntime.OrchestratorBuilder() + config.interceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + config.httpInterceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + builder.interceptors.add(ClientRuntime.URLPathMiddleware(AcceptDataGrantInput.urlPathProvider(_:))) + builder.interceptors.add(ClientRuntime.URLHostMiddleware()) + builder.deserialize(ClientRuntime.DeserializeMiddleware(AcceptDataGrantOutput.httpOutput(from:), AcceptDataGrantOutputError.httpError(from:))) + builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) + builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) + builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) + builder.applySigner(ClientRuntime.SignerMiddleware()) + let endpointParams = EndpointParams(endpoint: config.endpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) + builder.applyEndpoint(AWSClientRuntime.EndpointResolverMiddleware(endpointResolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) }, endpointParams: endpointParams)) + builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: "1.0", config: config)) + builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) + var metricsAttributes = Smithy.Attributes() + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "DataExchange") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "AcceptDataGrant") + let op = builder.attributes(context) + .telemetry(ClientRuntime.OrchestratorTelemetry( + telemetryProvider: config.telemetryProvider, + metricsAttributes: metricsAttributes, + meterScope: serviceName, + tracerScope: serviceName + )) + .executeRequest(client) + .build() + return try await op.execute(input: input) + } + /// Performs the `CancelJob` operation on the `DataExchange` service. /// /// This operation cancels a job. Jobs can be cancelled only when they are in the WAITING state. @@ -268,6 +339,80 @@ extension DataExchangeClient { return try await op.execute(input: input) } + /// Performs the `CreateDataGrant` operation on the `DataExchange` service. + /// + /// This operation creates a data grant. + /// + /// - Parameter CreateDataGrantInput : [no documentation found] + /// + /// - Returns: `CreateDataGrantOutput` : [no documentation found] + /// + /// - Throws: One of the exceptions listed below __Possible Exceptions__. + /// + /// __Possible Exceptions:__ + /// - `AccessDeniedException` : Access to the resource is denied. + /// - `InternalServerException` : An exception occurred with the service. + /// - `ResourceNotFoundException` : The resource couldn't be found. + /// - `ServiceLimitExceededException` : The request has exceeded the quotas imposed by the service. + /// - `ThrottlingException` : The limit on the number of requests per second was exceeded. + /// - `ValidationException` : The request was invalid. + public func createDataGrant(input: CreateDataGrantInput) async throws -> CreateDataGrantOutput { + let context = Smithy.ContextBuilder() + .withMethod(value: .post) + .withServiceName(value: serviceName) + .withOperation(value: "createDataGrant") + .withIdempotencyTokenGenerator(value: config.idempotencyTokenGenerator) + .withLogger(value: config.logger) + .withPartitionID(value: config.partitionID) + .withAuthSchemes(value: config.authSchemes ?? []) + .withAuthSchemeResolver(value: config.authSchemeResolver) + .withUnsignedPayloadTrait(value: false) + .withSocketTimeout(value: config.httpClientConfiguration.socketTimeout) + .withIdentityResolver(value: config.bearerTokenIdentityResolver, schemeID: "smithy.api#httpBearerAuth") + .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4") + .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") + .withRegion(value: config.region) + .withSigningName(value: "dataexchange") + .withSigningRegion(value: config.signingRegion) + .build() + let builder = ClientRuntime.OrchestratorBuilder() + config.interceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + config.httpInterceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + builder.interceptors.add(ClientRuntime.URLPathMiddleware(CreateDataGrantInput.urlPathProvider(_:))) + builder.interceptors.add(ClientRuntime.URLHostMiddleware()) + builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) + builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: CreateDataGrantInput.write(value:to:))) + builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) + builder.deserialize(ClientRuntime.DeserializeMiddleware(CreateDataGrantOutput.httpOutput(from:), CreateDataGrantOutputError.httpError(from:))) + builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) + builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) + builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) + builder.applySigner(ClientRuntime.SignerMiddleware()) + let endpointParams = EndpointParams(endpoint: config.endpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) + builder.applyEndpoint(AWSClientRuntime.EndpointResolverMiddleware(endpointResolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) }, endpointParams: endpointParams)) + builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: "1.0", config: config)) + builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) + var metricsAttributes = Smithy.Attributes() + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "DataExchange") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "CreateDataGrant") + let op = builder.attributes(context) + .telemetry(ClientRuntime.OrchestratorTelemetry( + telemetryProvider: config.telemetryProvider, + metricsAttributes: metricsAttributes, + meterScope: serviceName, + tracerScope: serviceName + )) + .executeRequest(client) + .build() + return try await op.execute(input: input) + } + /// Performs the `CreateDataSet` operation on the `DataExchange` service. /// /// This operation creates a data set. @@ -632,6 +777,76 @@ extension DataExchangeClient { return try await op.execute(input: input) } + /// Performs the `DeleteDataGrant` operation on the `DataExchange` service. + /// + /// This operation deletes a data grant. + /// + /// - Parameter DeleteDataGrantInput : [no documentation found] + /// + /// - Returns: `DeleteDataGrantOutput` : [no documentation found] + /// + /// - Throws: One of the exceptions listed below __Possible Exceptions__. + /// + /// __Possible Exceptions:__ + /// - `AccessDeniedException` : Access to the resource is denied. + /// - `InternalServerException` : An exception occurred with the service. + /// - `ResourceNotFoundException` : The resource couldn't be found. + /// - `ThrottlingException` : The limit on the number of requests per second was exceeded. + /// - `ValidationException` : The request was invalid. + public func deleteDataGrant(input: DeleteDataGrantInput) async throws -> DeleteDataGrantOutput { + let context = Smithy.ContextBuilder() + .withMethod(value: .delete) + .withServiceName(value: serviceName) + .withOperation(value: "deleteDataGrant") + .withIdempotencyTokenGenerator(value: config.idempotencyTokenGenerator) + .withLogger(value: config.logger) + .withPartitionID(value: config.partitionID) + .withAuthSchemes(value: config.authSchemes ?? []) + .withAuthSchemeResolver(value: config.authSchemeResolver) + .withUnsignedPayloadTrait(value: false) + .withSocketTimeout(value: config.httpClientConfiguration.socketTimeout) + .withIdentityResolver(value: config.bearerTokenIdentityResolver, schemeID: "smithy.api#httpBearerAuth") + .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4") + .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") + .withRegion(value: config.region) + .withSigningName(value: "dataexchange") + .withSigningRegion(value: config.signingRegion) + .build() + let builder = ClientRuntime.OrchestratorBuilder() + config.interceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + config.httpInterceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + builder.interceptors.add(ClientRuntime.URLPathMiddleware(DeleteDataGrantInput.urlPathProvider(_:))) + builder.interceptors.add(ClientRuntime.URLHostMiddleware()) + builder.deserialize(ClientRuntime.DeserializeMiddleware(DeleteDataGrantOutput.httpOutput(from:), DeleteDataGrantOutputError.httpError(from:))) + builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) + builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) + builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) + builder.applySigner(ClientRuntime.SignerMiddleware()) + let endpointParams = EndpointParams(endpoint: config.endpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) + builder.applyEndpoint(AWSClientRuntime.EndpointResolverMiddleware(endpointResolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) }, endpointParams: endpointParams)) + builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: "1.0", config: config)) + builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) + var metricsAttributes = Smithy.Attributes() + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "DataExchange") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "DeleteDataGrant") + let op = builder.attributes(context) + .telemetry(ClientRuntime.OrchestratorTelemetry( + telemetryProvider: config.telemetryProvider, + metricsAttributes: metricsAttributes, + meterScope: serviceName, + tracerScope: serviceName + )) + .executeRequest(client) + .build() + return try await op.execute(input: input) + } + /// Performs the `DeleteDataSet` operation on the `DataExchange` service. /// /// This operation deletes a data set. @@ -912,6 +1127,76 @@ extension DataExchangeClient { return try await op.execute(input: input) } + /// Performs the `GetDataGrant` operation on the `DataExchange` service. + /// + /// This operation returns information about a data grant. + /// + /// - Parameter GetDataGrantInput : [no documentation found] + /// + /// - Returns: `GetDataGrantOutput` : [no documentation found] + /// + /// - Throws: One of the exceptions listed below __Possible Exceptions__. + /// + /// __Possible Exceptions:__ + /// - `AccessDeniedException` : Access to the resource is denied. + /// - `InternalServerException` : An exception occurred with the service. + /// - `ResourceNotFoundException` : The resource couldn't be found. + /// - `ThrottlingException` : The limit on the number of requests per second was exceeded. + /// - `ValidationException` : The request was invalid. + public func getDataGrant(input: GetDataGrantInput) async throws -> GetDataGrantOutput { + let context = Smithy.ContextBuilder() + .withMethod(value: .get) + .withServiceName(value: serviceName) + .withOperation(value: "getDataGrant") + .withIdempotencyTokenGenerator(value: config.idempotencyTokenGenerator) + .withLogger(value: config.logger) + .withPartitionID(value: config.partitionID) + .withAuthSchemes(value: config.authSchemes ?? []) + .withAuthSchemeResolver(value: config.authSchemeResolver) + .withUnsignedPayloadTrait(value: false) + .withSocketTimeout(value: config.httpClientConfiguration.socketTimeout) + .withIdentityResolver(value: config.bearerTokenIdentityResolver, schemeID: "smithy.api#httpBearerAuth") + .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4") + .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") + .withRegion(value: config.region) + .withSigningName(value: "dataexchange") + .withSigningRegion(value: config.signingRegion) + .build() + let builder = ClientRuntime.OrchestratorBuilder() + config.interceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + config.httpInterceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + builder.interceptors.add(ClientRuntime.URLPathMiddleware(GetDataGrantInput.urlPathProvider(_:))) + builder.interceptors.add(ClientRuntime.URLHostMiddleware()) + builder.deserialize(ClientRuntime.DeserializeMiddleware(GetDataGrantOutput.httpOutput(from:), GetDataGrantOutputError.httpError(from:))) + builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) + builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) + builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) + builder.applySigner(ClientRuntime.SignerMiddleware()) + let endpointParams = EndpointParams(endpoint: config.endpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) + builder.applyEndpoint(AWSClientRuntime.EndpointResolverMiddleware(endpointResolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) }, endpointParams: endpointParams)) + builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: "1.0", config: config)) + builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) + var metricsAttributes = Smithy.Attributes() + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "DataExchange") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "GetDataGrant") + let op = builder.attributes(context) + .telemetry(ClientRuntime.OrchestratorTelemetry( + telemetryProvider: config.telemetryProvider, + metricsAttributes: metricsAttributes, + meterScope: serviceName, + tracerScope: serviceName + )) + .executeRequest(client) + .build() + return try await op.execute(input: input) + } + /// Performs the `GetDataSet` operation on the `DataExchange` service. /// /// This operation returns information about a data set. @@ -1119,6 +1404,76 @@ extension DataExchangeClient { return try await op.execute(input: input) } + /// Performs the `GetReceivedDataGrant` operation on the `DataExchange` service. + /// + /// This operation returns information about a received data grant. + /// + /// - Parameter GetReceivedDataGrantInput : [no documentation found] + /// + /// - Returns: `GetReceivedDataGrantOutput` : [no documentation found] + /// + /// - Throws: One of the exceptions listed below __Possible Exceptions__. + /// + /// __Possible Exceptions:__ + /// - `AccessDeniedException` : Access to the resource is denied. + /// - `InternalServerException` : An exception occurred with the service. + /// - `ResourceNotFoundException` : The resource couldn't be found. + /// - `ThrottlingException` : The limit on the number of requests per second was exceeded. + /// - `ValidationException` : The request was invalid. + public func getReceivedDataGrant(input: GetReceivedDataGrantInput) async throws -> GetReceivedDataGrantOutput { + let context = Smithy.ContextBuilder() + .withMethod(value: .get) + .withServiceName(value: serviceName) + .withOperation(value: "getReceivedDataGrant") + .withIdempotencyTokenGenerator(value: config.idempotencyTokenGenerator) + .withLogger(value: config.logger) + .withPartitionID(value: config.partitionID) + .withAuthSchemes(value: config.authSchemes ?? []) + .withAuthSchemeResolver(value: config.authSchemeResolver) + .withUnsignedPayloadTrait(value: false) + .withSocketTimeout(value: config.httpClientConfiguration.socketTimeout) + .withIdentityResolver(value: config.bearerTokenIdentityResolver, schemeID: "smithy.api#httpBearerAuth") + .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4") + .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") + .withRegion(value: config.region) + .withSigningName(value: "dataexchange") + .withSigningRegion(value: config.signingRegion) + .build() + let builder = ClientRuntime.OrchestratorBuilder() + config.interceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + config.httpInterceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + builder.interceptors.add(ClientRuntime.URLPathMiddleware(GetReceivedDataGrantInput.urlPathProvider(_:))) + builder.interceptors.add(ClientRuntime.URLHostMiddleware()) + builder.deserialize(ClientRuntime.DeserializeMiddleware(GetReceivedDataGrantOutput.httpOutput(from:), GetReceivedDataGrantOutputError.httpError(from:))) + builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) + builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) + builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) + builder.applySigner(ClientRuntime.SignerMiddleware()) + let endpointParams = EndpointParams(endpoint: config.endpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) + builder.applyEndpoint(AWSClientRuntime.EndpointResolverMiddleware(endpointResolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) }, endpointParams: endpointParams)) + builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: "1.0", config: config)) + builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) + var metricsAttributes = Smithy.Attributes() + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "DataExchange") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "GetReceivedDataGrant") + let op = builder.attributes(context) + .telemetry(ClientRuntime.OrchestratorTelemetry( + telemetryProvider: config.telemetryProvider, + metricsAttributes: metricsAttributes, + meterScope: serviceName, + tracerScope: serviceName + )) + .executeRequest(client) + .build() + return try await op.execute(input: input) + } + /// Performs the `GetRevision` operation on the `DataExchange` service. /// /// This operation returns information about a revision. @@ -1188,6 +1543,77 @@ extension DataExchangeClient { return try await op.execute(input: input) } + /// Performs the `ListDataGrants` operation on the `DataExchange` service. + /// + /// This operation returns information about all data grants. + /// + /// - Parameter ListDataGrantsInput : [no documentation found] + /// + /// - Returns: `ListDataGrantsOutput` : [no documentation found] + /// + /// - Throws: One of the exceptions listed below __Possible Exceptions__. + /// + /// __Possible Exceptions:__ + /// - `AccessDeniedException` : Access to the resource is denied. + /// - `InternalServerException` : An exception occurred with the service. + /// - `ResourceNotFoundException` : The resource couldn't be found. + /// - `ThrottlingException` : The limit on the number of requests per second was exceeded. + /// - `ValidationException` : The request was invalid. + public func listDataGrants(input: ListDataGrantsInput) async throws -> ListDataGrantsOutput { + let context = Smithy.ContextBuilder() + .withMethod(value: .get) + .withServiceName(value: serviceName) + .withOperation(value: "listDataGrants") + .withIdempotencyTokenGenerator(value: config.idempotencyTokenGenerator) + .withLogger(value: config.logger) + .withPartitionID(value: config.partitionID) + .withAuthSchemes(value: config.authSchemes ?? []) + .withAuthSchemeResolver(value: config.authSchemeResolver) + .withUnsignedPayloadTrait(value: false) + .withSocketTimeout(value: config.httpClientConfiguration.socketTimeout) + .withIdentityResolver(value: config.bearerTokenIdentityResolver, schemeID: "smithy.api#httpBearerAuth") + .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4") + .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") + .withRegion(value: config.region) + .withSigningName(value: "dataexchange") + .withSigningRegion(value: config.signingRegion) + .build() + let builder = ClientRuntime.OrchestratorBuilder() + config.interceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + config.httpInterceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + builder.interceptors.add(ClientRuntime.URLPathMiddleware(ListDataGrantsInput.urlPathProvider(_:))) + builder.interceptors.add(ClientRuntime.URLHostMiddleware()) + builder.serialize(ClientRuntime.QueryItemMiddleware(ListDataGrantsInput.queryItemProvider(_:))) + builder.deserialize(ClientRuntime.DeserializeMiddleware(ListDataGrantsOutput.httpOutput(from:), ListDataGrantsOutputError.httpError(from:))) + builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) + builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) + builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) + builder.applySigner(ClientRuntime.SignerMiddleware()) + let endpointParams = EndpointParams(endpoint: config.endpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) + builder.applyEndpoint(AWSClientRuntime.EndpointResolverMiddleware(endpointResolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) }, endpointParams: endpointParams)) + builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: "1.0", config: config)) + builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) + var metricsAttributes = Smithy.Attributes() + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "DataExchange") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "ListDataGrants") + let op = builder.attributes(context) + .telemetry(ClientRuntime.OrchestratorTelemetry( + telemetryProvider: config.telemetryProvider, + metricsAttributes: metricsAttributes, + meterScope: serviceName, + tracerScope: serviceName + )) + .executeRequest(client) + .build() + return try await op.execute(input: input) + } + /// Performs the `ListDataSetRevisions` operation on the `DataExchange` service. /// /// This operation lists a data set's revisions sorted by CreatedAt in descending order. @@ -1260,7 +1686,7 @@ extension DataExchangeClient { /// Performs the `ListDataSets` operation on the `DataExchange` service. /// - /// This operation lists your data sets. When listing by origin OWNED, results are sorted by CreatedAt in descending order. When listing by origin ENTITLED, there is no order and the maxResults parameter is ignored. + /// This operation lists your data sets. When listing by origin OWNED, results are sorted by CreatedAt in descending order. When listing by origin ENTITLED, there is no order. /// /// - Parameter ListDataSetsInput : [no documentation found] /// @@ -1468,6 +1894,77 @@ extension DataExchangeClient { return try await op.execute(input: input) } + /// Performs the `ListReceivedDataGrants` operation on the `DataExchange` service. + /// + /// This operation returns information about all received data grants. + /// + /// - Parameter ListReceivedDataGrantsInput : [no documentation found] + /// + /// - Returns: `ListReceivedDataGrantsOutput` : [no documentation found] + /// + /// - Throws: One of the exceptions listed below __Possible Exceptions__. + /// + /// __Possible Exceptions:__ + /// - `AccessDeniedException` : Access to the resource is denied. + /// - `InternalServerException` : An exception occurred with the service. + /// - `ResourceNotFoundException` : The resource couldn't be found. + /// - `ThrottlingException` : The limit on the number of requests per second was exceeded. + /// - `ValidationException` : The request was invalid. + public func listReceivedDataGrants(input: ListReceivedDataGrantsInput) async throws -> ListReceivedDataGrantsOutput { + let context = Smithy.ContextBuilder() + .withMethod(value: .get) + .withServiceName(value: serviceName) + .withOperation(value: "listReceivedDataGrants") + .withIdempotencyTokenGenerator(value: config.idempotencyTokenGenerator) + .withLogger(value: config.logger) + .withPartitionID(value: config.partitionID) + .withAuthSchemes(value: config.authSchemes ?? []) + .withAuthSchemeResolver(value: config.authSchemeResolver) + .withUnsignedPayloadTrait(value: false) + .withSocketTimeout(value: config.httpClientConfiguration.socketTimeout) + .withIdentityResolver(value: config.bearerTokenIdentityResolver, schemeID: "smithy.api#httpBearerAuth") + .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4") + .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") + .withRegion(value: config.region) + .withSigningName(value: "dataexchange") + .withSigningRegion(value: config.signingRegion) + .build() + let builder = ClientRuntime.OrchestratorBuilder() + config.interceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + config.httpInterceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + builder.interceptors.add(ClientRuntime.URLPathMiddleware(ListReceivedDataGrantsInput.urlPathProvider(_:))) + builder.interceptors.add(ClientRuntime.URLHostMiddleware()) + builder.serialize(ClientRuntime.QueryItemMiddleware(ListReceivedDataGrantsInput.queryItemProvider(_:))) + builder.deserialize(ClientRuntime.DeserializeMiddleware(ListReceivedDataGrantsOutput.httpOutput(from:), ListReceivedDataGrantsOutputError.httpError(from:))) + builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) + builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) + builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) + builder.applySigner(ClientRuntime.SignerMiddleware()) + let endpointParams = EndpointParams(endpoint: config.endpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) + builder.applyEndpoint(AWSClientRuntime.EndpointResolverMiddleware(endpointResolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) }, endpointParams: endpointParams)) + builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: "1.0", config: config)) + builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) + var metricsAttributes = Smithy.Attributes() + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "DataExchange") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "ListReceivedDataGrants") + let op = builder.attributes(context) + .telemetry(ClientRuntime.OrchestratorTelemetry( + telemetryProvider: config.telemetryProvider, + metricsAttributes: metricsAttributes, + meterScope: serviceName, + tracerScope: serviceName + )) + .executeRequest(client) + .build() + return try await op.execute(input: input) + } + /// Performs the `ListRevisionAssets` operation on the `DataExchange` service. /// /// This operation lists a revision's assets sorted alphabetically in descending order. diff --git a/Sources/Services/AWSDataExchange/Sources/AWSDataExchange/Models.swift b/Sources/Services/AWSDataExchange/Sources/AWSDataExchange/Models.swift index eef9c69cee1..9e6a4f53be4 100644 --- a/Sources/Services/AWSDataExchange/Sources/AWSDataExchange/Models.swift +++ b/Sources/Services/AWSDataExchange/Sources/AWSDataExchange/Models.swift @@ -43,6 +43,11 @@ public struct DeleteAssetOutput: Swift.Sendable { public init() { } } +public struct DeleteDataGrantOutput: Swift.Sendable { + + public init() { } +} + public struct DeleteDataSetOutput: Swift.Sendable { public init() { } @@ -68,6 +73,35 @@ public struct UntagResourceOutput: Swift.Sendable { public init() { } } +extension DataExchangeClientTypes { + + public enum AcceptanceStateFilterValue: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { + case accepted + case pendingReceiverAcceptance + case sdkUnknown(Swift.String) + + public static var allCases: [AcceptanceStateFilterValue] { + return [ + .accepted, + .pendingReceiverAcceptance + ] + } + + public init?(rawValue: Swift.String) { + let value = Self.allCases.first(where: { $0.rawValue == rawValue }) + self = value ?? Self.sdkUnknown(rawValue) + } + + public var rawValue: Swift.String { + switch self { + case .accepted: return "ACCEPTED" + case .pendingReceiverAcceptance: return "PENDING_RECEIVER_ACCEPTANCE" + case let .sdkUnknown(s): return s + } + } + } +} + /// Access to the resource is denied. public struct AccessDeniedException: ClientRuntime.ModeledError, AWSClientRuntime.AWSServiceError, ClientRuntime.HTTPError, Swift.Error { @@ -96,15 +130,23 @@ public struct AccessDeniedException: ClientRuntime.ModeledError, AWSClientRuntim extension DataExchangeClientTypes { - public enum ServerSideEncryptionTypes: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { - case aes256 - case awsKms + public enum ResourceType: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { + case asset + case dataGrant + case dataSet + case eventAction + case job + case revision case sdkUnknown(Swift.String) - public static var allCases: [ServerSideEncryptionTypes] { + public static var allCases: [ResourceType] { return [ - .aes256, - .awsKms + .asset, + .dataGrant, + .dataSet, + .eventAction, + .job, + .revision ] } @@ -115,102 +157,149 @@ extension DataExchangeClientTypes { public var rawValue: Swift.String { switch self { - case .aes256: return "AES256" - case .awsKms: return "aws:kms" + case .asset: return "ASSET" + case .dataGrant: return "DATA_GRANT" + case .dataSet: return "DATA_SET" + case .eventAction: return "EVENT_ACTION" + case .job: return "JOB" + case .revision: return "REVISION" case let .sdkUnknown(s): return s } } } } -extension DataExchangeClientTypes { +/// The request couldn't be completed because it conflicted with the current state of the resource. +public struct ConflictException: ClientRuntime.ModeledError, AWSClientRuntime.AWSServiceError, ClientRuntime.HTTPError, Swift.Error { - /// Encryption configuration of the export job. Includes the encryption type in addition to the AWS KMS key. The KMS key is only necessary if you chose the KMS encryption type. - public struct ExportServerSideEncryption: Swift.Sendable { - /// The Amazon Resource Name (ARN) of the AWS KMS key you want to use to encrypt the Amazon S3 objects. This parameter is required if you choose aws:kms as an encryption type. - public var kmsKeyArn: Swift.String? - /// The type of server side encryption used for encrypting the objects in Amazon S3. + public struct Properties { + /// The request couldn't be completed because it conflicted with the current state of the resource. /// This member is required. - public var type: DataExchangeClientTypes.ServerSideEncryptionTypes? + public internal(set) var message: Swift.String? = nil + /// The unique identifier for the resource with the conflict. + public internal(set) var resourceId: Swift.String? = nil + /// The type of the resource with the conflict. + public internal(set) var resourceType: DataExchangeClientTypes.ResourceType? = nil + } - public init( - kmsKeyArn: Swift.String? = nil, - type: DataExchangeClientTypes.ServerSideEncryptionTypes? = nil - ) - { - self.kmsKeyArn = kmsKeyArn - self.type = type - } + public internal(set) var properties = Properties() + public static var typeName: Swift.String { "ConflictException" } + public static var fault: ClientRuntime.ErrorFault { .client } + public static var isRetryable: Swift.Bool { false } + public static var isThrottling: Swift.Bool { false } + public internal(set) var httpResponse = SmithyHTTPAPI.HTTPResponse() + public internal(set) var message: Swift.String? + public internal(set) var requestID: Swift.String? + + public init( + message: Swift.String? = nil, + resourceId: Swift.String? = nil, + resourceType: DataExchangeClientTypes.ResourceType? = nil + ) + { + self.properties.message = message + self.properties.resourceId = resourceId + self.properties.resourceType = resourceType } } -extension DataExchangeClientTypes { +/// An exception occurred with the service. +public struct InternalServerException: ClientRuntime.ModeledError, AWSClientRuntime.AWSServiceError, ClientRuntime.HTTPError, Swift.Error { - /// A revision destination is the Amazon S3 bucket folder destination to where the export will be sent. - public struct AutoExportRevisionDestinationEntry: Swift.Sendable { - /// The Amazon S3 bucket that is the destination for the event action. + public struct Properties { + /// The message identifying the service exception that occurred. /// This member is required. - public var bucket: Swift.String? - /// A string representing the pattern for generated names of the individual assets in the revision. For more information about key patterns, see [Key patterns when exporting revisions](https://docs.aws.amazon.com/data-exchange/latest/userguide/jobs.html#revision-export-keypatterns). - public var keyPattern: Swift.String? + public internal(set) var message: Swift.String? = nil + } - public init( - bucket: Swift.String? = nil, - keyPattern: Swift.String? = nil - ) - { - self.bucket = bucket - self.keyPattern = keyPattern - } + public internal(set) var properties = Properties() + public static var typeName: Swift.String { "InternalServerException" } + public static var fault: ClientRuntime.ErrorFault { .server } + public static var isRetryable: Swift.Bool { false } + public static var isThrottling: Swift.Bool { false } + public internal(set) var httpResponse = SmithyHTTPAPI.HTTPResponse() + public internal(set) var message: Swift.String? + public internal(set) var requestID: Swift.String? + + public init( + message: Swift.String? = nil + ) + { + self.properties.message = message } } -extension DataExchangeClientTypes { +/// The resource couldn't be found. +public struct ResourceNotFoundException: ClientRuntime.ModeledError, AWSClientRuntime.AWSServiceError, ClientRuntime.HTTPError, Swift.Error { - /// Details of the operation to be performed by the job. - public struct AutoExportRevisionToS3RequestDetails: Swift.Sendable { - /// Encryption configuration for the auto export job. - public var encryption: DataExchangeClientTypes.ExportServerSideEncryption? - /// A revision destination is the Amazon S3 bucket folder destination to where the export will be sent. + public struct Properties { + /// The resource couldn't be found. /// This member is required. - public var revisionDestination: DataExchangeClientTypes.AutoExportRevisionDestinationEntry? + public internal(set) var message: Swift.String? = nil + /// The unique identifier for the resource that couldn't be found. + public internal(set) var resourceId: Swift.String? = nil + /// The type of resource that couldn't be found. + public internal(set) var resourceType: DataExchangeClientTypes.ResourceType? = nil + } - public init( - encryption: DataExchangeClientTypes.ExportServerSideEncryption? = nil, - revisionDestination: DataExchangeClientTypes.AutoExportRevisionDestinationEntry? = nil - ) - { - self.encryption = encryption - self.revisionDestination = revisionDestination - } + public internal(set) var properties = Properties() + public static var typeName: Swift.String { "ResourceNotFoundException" } + public static var fault: ClientRuntime.ErrorFault { .client } + public static var isRetryable: Swift.Bool { false } + public static var isThrottling: Swift.Bool { false } + public internal(set) var httpResponse = SmithyHTTPAPI.HTTPResponse() + public internal(set) var message: Swift.String? + public internal(set) var requestID: Swift.String? + + public init( + message: Swift.String? = nil, + resourceId: Swift.String? = nil, + resourceType: DataExchangeClientTypes.ResourceType? = nil + ) + { + self.properties.message = message + self.properties.resourceId = resourceId + self.properties.resourceType = resourceType } } -extension DataExchangeClientTypes { +/// The limit on the number of requests per second was exceeded. +public struct ThrottlingException: ClientRuntime.ModeledError, AWSClientRuntime.AWSServiceError, ClientRuntime.HTTPError, Swift.Error { - /// What occurs after a certain event. - public struct Action: Swift.Sendable { - /// Details for the export revision to Amazon S3 action. - public var exportRevisionToS3: DataExchangeClientTypes.AutoExportRevisionToS3RequestDetails? + public struct Properties { + /// The limit on the number of requests per second was exceeded. + /// This member is required. + public internal(set) var message: Swift.String? = nil + } - public init( - exportRevisionToS3: DataExchangeClientTypes.AutoExportRevisionToS3RequestDetails? = nil - ) - { - self.exportRevisionToS3 = exportRevisionToS3 - } + public internal(set) var properties = Properties() + public static var typeName: Swift.String { "ThrottlingException" } + public static var fault: ClientRuntime.ErrorFault { .client } + public static var isRetryable: Swift.Bool { false } + public static var isThrottling: Swift.Bool { false } + public internal(set) var httpResponse = SmithyHTTPAPI.HTTPResponse() + public internal(set) var message: Swift.String? + public internal(set) var requestID: Swift.String? + + public init( + message: Swift.String? = nil + ) + { + self.properties.message = message } } extension DataExchangeClientTypes { - public enum ProtocolType: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { - case rest + public enum ExceptionCause: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { + case insufficients3bucketpolicy + case s3accessdenied case sdkUnknown(Swift.String) - public static var allCases: [ProtocolType] { + public static var allCases: [ExceptionCause] { return [ - .rest + .insufficients3bucketpolicy, + .s3accessdenied ] } @@ -221,174 +310,301 @@ extension DataExchangeClientTypes { public var rawValue: Swift.String { switch self { - case .rest: return "REST" + case .insufficients3bucketpolicy: return "InsufficientS3BucketPolicy" + case .s3accessdenied: return "S3AccessDenied" case let .sdkUnknown(s): return s } } } } -extension DataExchangeClientTypes { +/// The request was invalid. +public struct ValidationException: ClientRuntime.ModeledError, AWSClientRuntime.AWSServiceError, ClientRuntime.HTTPError, Swift.Error { - /// The API Gateway API that is the asset. - public struct ApiGatewayApiAsset: Swift.Sendable { - /// The API description of the API asset. - public var apiDescription: Swift.String? - /// The API endpoint of the API asset. - public var apiEndpoint: Swift.String? - /// The unique identifier of the API asset. - public var apiId: Swift.String? - /// The API key of the API asset. - public var apiKey: Swift.String? - /// The API name of the API asset. - public var apiName: Swift.String? - /// The download URL of the API specification of the API asset. - public var apiSpecificationDownloadUrl: Swift.String? - /// The date and time that the upload URL expires, in ISO 8601 format. - public var apiSpecificationDownloadUrlExpiresAt: Foundation.Date? - /// The protocol type of the API asset. - public var protocolType: DataExchangeClientTypes.ProtocolType? - /// The stage of the API asset. - public var stage: Swift.String? + public struct Properties { + /// The unique identifier for the resource that couldn't be found. + public internal(set) var exceptionCause: DataExchangeClientTypes.ExceptionCause? = nil + /// The message that informs you about what was invalid about the request. + /// This member is required. + public internal(set) var message: Swift.String? = nil + } - public init( - apiDescription: Swift.String? = nil, - apiEndpoint: Swift.String? = nil, - apiId: Swift.String? = nil, - apiKey: Swift.String? = nil, - apiName: Swift.String? = nil, - apiSpecificationDownloadUrl: Swift.String? = nil, - apiSpecificationDownloadUrlExpiresAt: Foundation.Date? = nil, - protocolType: DataExchangeClientTypes.ProtocolType? = nil, - stage: Swift.String? = nil - ) - { - self.apiDescription = apiDescription - self.apiEndpoint = apiEndpoint - self.apiId = apiId - self.apiKey = apiKey - self.apiName = apiName - self.apiSpecificationDownloadUrl = apiSpecificationDownloadUrl - self.apiSpecificationDownloadUrlExpiresAt = apiSpecificationDownloadUrlExpiresAt - self.protocolType = protocolType - self.stage = stage + public internal(set) var properties = Properties() + public static var typeName: Swift.String { "ValidationException" } + public static var fault: ClientRuntime.ErrorFault { .client } + public static var isRetryable: Swift.Bool { false } + public static var isThrottling: Swift.Bool { false } + public internal(set) var httpResponse = SmithyHTTPAPI.HTTPResponse() + public internal(set) var message: Swift.String? + public internal(set) var requestID: Swift.String? + + public init( + exceptionCause: DataExchangeClientTypes.ExceptionCause? = nil, + message: Swift.String? = nil + ) + { + self.properties.exceptionCause = exceptionCause + self.properties.message = message + } +} + +public struct AcceptDataGrantInput: Swift.Sendable { + /// The Amazon Resource Name (ARN) of the data grant to accept. + /// This member is required. + public var dataGrantArn: Swift.String? + + public init( + dataGrantArn: Swift.String? = nil + ) + { + self.dataGrantArn = dataGrantArn + } +} + +extension DataExchangeClientTypes { + + public enum DataGrantAcceptanceState: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { + case accepted + case pendingReceiverAcceptance + case sdkUnknown(Swift.String) + + public static var allCases: [DataGrantAcceptanceState] { + return [ + .accepted, + .pendingReceiverAcceptance + ] + } + + public init?(rawValue: Swift.String) { + let value = Self.allCases.first(where: { $0.rawValue == rawValue }) + self = value ?? Self.sdkUnknown(rawValue) + } + + public var rawValue: Swift.String { + switch self { + case .accepted: return "ACCEPTED" + case .pendingReceiverAcceptance: return "PENDING_RECEIVER_ACCEPTANCE" + case let .sdkUnknown(s): return s + } } } } extension DataExchangeClientTypes { - /// The destination for the asset. - public struct AssetDestinationEntry: Swift.Sendable { - /// The unique identifier for the asset. - /// This member is required. - public var assetId: Swift.String? - /// The Amazon S3 bucket that is the destination for the asset. - /// This member is required. - public var bucket: Swift.String? - /// The name of the object in Amazon S3 for the asset. - public var key: Swift.String? + public enum GrantDistributionScope: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { + case awsOrganization + case `none` + case sdkUnknown(Swift.String) - public init( - assetId: Swift.String? = nil, - bucket: Swift.String? = nil, - key: Swift.String? = nil - ) - { - self.assetId = assetId - self.bucket = bucket - self.key = key + public static var allCases: [GrantDistributionScope] { + return [ + .awsOrganization, + .none + ] + } + + public init?(rawValue: Swift.String) { + let value = Self.allCases.first(where: { $0.rawValue == rawValue }) + self = value ?? Self.sdkUnknown(rawValue) + } + + public var rawValue: Swift.String { + switch self { + case .awsOrganization: return "AWS_ORGANIZATION" + case .none: return "NONE" + case let .sdkUnknown(s): return s + } } } } +public struct AcceptDataGrantOutput: Swift.Sendable { + /// The acceptance state of the data grant. + /// This member is required. + public var acceptanceState: DataExchangeClientTypes.DataGrantAcceptanceState? + /// The timestamp of when the data grant was accepted. + public var acceptedAt: Foundation.Date? + /// The Amazon Resource Name (ARN) of the accepted data grant. + /// This member is required. + public var arn: Swift.String? + /// The timestamp of when the data grant was created. + /// This member is required. + public var createdAt: Foundation.Date? + /// The ID of the data set associated to the data grant. + /// This member is required. + public var dataSetId: Swift.String? + /// The description of the accepted data grant. + public var description: Swift.String? + /// The timestamp of when access to the associated data set ends. + public var endsAt: Foundation.Date? + /// The distribution scope for the data grant. + /// This member is required. + public var grantDistributionScope: DataExchangeClientTypes.GrantDistributionScope? + /// The ID of the data grant. + /// This member is required. + public var id: Swift.String? + /// The name of the accepted data grant. + /// This member is required. + public var name: Swift.String? + /// The Amazon Web Services account ID of the data grant receiver. + /// This member is required. + public var receiverPrincipal: Swift.String? + /// The Amazon Web Services account ID of the data grant sender. + public var senderPrincipal: Swift.String? + /// The timestamp of when the data grant was last updated. + /// This member is required. + public var updatedAt: Foundation.Date? + + public init( + acceptanceState: DataExchangeClientTypes.DataGrantAcceptanceState? = nil, + acceptedAt: Foundation.Date? = nil, + arn: Swift.String? = nil, + createdAt: Foundation.Date? = nil, + dataSetId: Swift.String? = nil, + description: Swift.String? = nil, + endsAt: Foundation.Date? = nil, + grantDistributionScope: DataExchangeClientTypes.GrantDistributionScope? = nil, + id: Swift.String? = nil, + name: Swift.String? = nil, + receiverPrincipal: Swift.String? = nil, + senderPrincipal: Swift.String? = nil, + updatedAt: Foundation.Date? = nil + ) + { + self.acceptanceState = acceptanceState + self.acceptedAt = acceptedAt + self.arn = arn + self.createdAt = createdAt + self.dataSetId = dataSetId + self.description = description + self.endsAt = endsAt + self.grantDistributionScope = grantDistributionScope + self.id = id + self.name = name + self.receiverPrincipal = receiverPrincipal + self.senderPrincipal = senderPrincipal + self.updatedAt = updatedAt + } +} + extension DataExchangeClientTypes { - /// A structure that allows an LF-admin to grant permissions on certain conditions. - public struct LFTag: Swift.Sendable { - /// The key name for the LF-tag. - /// This member is required. - public var tagKey: Swift.String? - /// A list of LF-tag values. + public enum ServerSideEncryptionTypes: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { + case aes256 + case awsKms + case sdkUnknown(Swift.String) + + public static var allCases: [ServerSideEncryptionTypes] { + return [ + .aes256, + .awsKms + ] + } + + public init?(rawValue: Swift.String) { + let value = Self.allCases.first(where: { $0.rawValue == rawValue }) + self = value ?? Self.sdkUnknown(rawValue) + } + + public var rawValue: Swift.String { + switch self { + case .aes256: return "AES256" + case .awsKms: return "aws:kms" + case let .sdkUnknown(s): return s + } + } + } +} + +extension DataExchangeClientTypes { + + /// Encryption configuration of the export job. Includes the encryption type in addition to the AWS KMS key. The KMS key is only necessary if you chose the KMS encryption type. + public struct ExportServerSideEncryption: Swift.Sendable { + /// The Amazon Resource Name (ARN) of the AWS KMS key you want to use to encrypt the Amazon S3 objects. This parameter is required if you choose aws:kms as an encryption type. + public var kmsKeyArn: Swift.String? + /// The type of server side encryption used for encrypting the objects in Amazon S3. /// This member is required. - public var tagValues: [Swift.String]? + public var type: DataExchangeClientTypes.ServerSideEncryptionTypes? public init( - tagKey: Swift.String? = nil, - tagValues: [Swift.String]? = nil + kmsKeyArn: Swift.String? = nil, + type: DataExchangeClientTypes.ServerSideEncryptionTypes? = nil ) { - self.tagKey = tagKey - self.tagValues = tagValues + self.kmsKeyArn = kmsKeyArn + self.type = type } } } extension DataExchangeClientTypes { - /// The LF-tag policy for database resources. - public struct DatabaseLFTagPolicy: Swift.Sendable { - /// A list of LF-tag conditions that apply to database resources. + /// A revision destination is the Amazon S3 bucket folder destination to where the export will be sent. + public struct AutoExportRevisionDestinationEntry: Swift.Sendable { + /// The Amazon S3 bucket that is the destination for the event action. /// This member is required. - public var expression: [DataExchangeClientTypes.LFTag]? + public var bucket: Swift.String? + /// A string representing the pattern for generated names of the individual assets in the revision. For more information about key patterns, see [Key patterns when exporting revisions](https://docs.aws.amazon.com/data-exchange/latest/userguide/jobs.html#revision-export-keypatterns). + public var keyPattern: Swift.String? public init( - expression: [DataExchangeClientTypes.LFTag]? = nil + bucket: Swift.String? = nil, + keyPattern: Swift.String? = nil ) { - self.expression = expression + self.bucket = bucket + self.keyPattern = keyPattern } } } extension DataExchangeClientTypes { - /// The LF-tag policy for a table resource. - public struct TableLFTagPolicy: Swift.Sendable { - /// A list of LF-tag conditions that apply to table resources. + /// Details of the operation to be performed by the job. + public struct AutoExportRevisionToS3RequestDetails: Swift.Sendable { + /// Encryption configuration for the auto export job. + public var encryption: DataExchangeClientTypes.ExportServerSideEncryption? + /// A revision destination is the Amazon S3 bucket folder destination to where the export will be sent. /// This member is required. - public var expression: [DataExchangeClientTypes.LFTag]? + public var revisionDestination: DataExchangeClientTypes.AutoExportRevisionDestinationEntry? public init( - expression: [DataExchangeClientTypes.LFTag]? = nil + encryption: DataExchangeClientTypes.ExportServerSideEncryption? = nil, + revisionDestination: DataExchangeClientTypes.AutoExportRevisionDestinationEntry? = nil ) { - self.expression = expression + self.encryption = encryption + self.revisionDestination = revisionDestination } } } extension DataExchangeClientTypes { - /// Details about the AWS Lake Formation resource (Table or Database) included in the AWS Lake Formation data permission. - public struct LFResourceDetails: Swift.Sendable { - /// Details about the database resource included in the AWS Lake Formation data permission. - public var database: DataExchangeClientTypes.DatabaseLFTagPolicy? - /// Details about the table resource included in the AWS Lake Formation data permission. - public var table: DataExchangeClientTypes.TableLFTagPolicy? + /// What occurs after a certain event. + public struct Action: Swift.Sendable { + /// Details for the export revision to Amazon S3 action. + public var exportRevisionToS3: DataExchangeClientTypes.AutoExportRevisionToS3RequestDetails? public init( - database: DataExchangeClientTypes.DatabaseLFTagPolicy? = nil, - table: DataExchangeClientTypes.TableLFTagPolicy? = nil + exportRevisionToS3: DataExchangeClientTypes.AutoExportRevisionToS3RequestDetails? = nil ) { - self.database = database - self.table = table + self.exportRevisionToS3 = exportRevisionToS3 } } } extension DataExchangeClientTypes { - public enum LFResourceType: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { - case database - case table + public enum ProtocolType: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { + case rest case sdkUnknown(Swift.String) - public static var allCases: [LFResourceType] { + public static var allCases: [ProtocolType] { return [ - .database, - .table + .rest ] } @@ -399,8 +615,7 @@ extension DataExchangeClientTypes { public var rawValue: Swift.String { switch self { - case .database: return "DATABASE" - case .table: return "TABLE" + case .rest: return "REST" case let .sdkUnknown(s): return s } } @@ -409,26 +624,205 @@ extension DataExchangeClientTypes { extension DataExchangeClientTypes { - /// Details about the LF-tag policy. - public struct LFTagPolicyDetails: Swift.Sendable { - /// The identifier for the AWS Glue Data Catalog. - /// This member is required. - public var catalogId: Swift.String? - /// Details for the Lake Formation Resources included in the LF-tag policy. - /// This member is required. - public var resourceDetails: DataExchangeClientTypes.LFResourceDetails? - /// The resource type for which the LF-tag policy applies. - /// This member is required. - public var resourceType: DataExchangeClientTypes.LFResourceType? - - public init( - catalogId: Swift.String? = nil, - resourceDetails: DataExchangeClientTypes.LFResourceDetails? = nil, - resourceType: DataExchangeClientTypes.LFResourceType? = nil - ) - { - self.catalogId = catalogId - self.resourceDetails = resourceDetails + /// The API Gateway API that is the asset. + public struct ApiGatewayApiAsset: Swift.Sendable { + /// The API description of the API asset. + public var apiDescription: Swift.String? + /// The API endpoint of the API asset. + public var apiEndpoint: Swift.String? + /// The unique identifier of the API asset. + public var apiId: Swift.String? + /// The API key of the API asset. + public var apiKey: Swift.String? + /// The API name of the API asset. + public var apiName: Swift.String? + /// The download URL of the API specification of the API asset. + public var apiSpecificationDownloadUrl: Swift.String? + /// The date and time that the upload URL expires, in ISO 8601 format. + public var apiSpecificationDownloadUrlExpiresAt: Foundation.Date? + /// The protocol type of the API asset. + public var protocolType: DataExchangeClientTypes.ProtocolType? + /// The stage of the API asset. + public var stage: Swift.String? + + public init( + apiDescription: Swift.String? = nil, + apiEndpoint: Swift.String? = nil, + apiId: Swift.String? = nil, + apiKey: Swift.String? = nil, + apiName: Swift.String? = nil, + apiSpecificationDownloadUrl: Swift.String? = nil, + apiSpecificationDownloadUrlExpiresAt: Foundation.Date? = nil, + protocolType: DataExchangeClientTypes.ProtocolType? = nil, + stage: Swift.String? = nil + ) + { + self.apiDescription = apiDescription + self.apiEndpoint = apiEndpoint + self.apiId = apiId + self.apiKey = apiKey + self.apiName = apiName + self.apiSpecificationDownloadUrl = apiSpecificationDownloadUrl + self.apiSpecificationDownloadUrlExpiresAt = apiSpecificationDownloadUrlExpiresAt + self.protocolType = protocolType + self.stage = stage + } + } +} + +extension DataExchangeClientTypes { + + /// The destination for the asset. + public struct AssetDestinationEntry: Swift.Sendable { + /// The unique identifier for the asset. + /// This member is required. + public var assetId: Swift.String? + /// The Amazon S3 bucket that is the destination for the asset. + /// This member is required. + public var bucket: Swift.String? + /// The name of the object in Amazon S3 for the asset. + public var key: Swift.String? + + public init( + assetId: Swift.String? = nil, + bucket: Swift.String? = nil, + key: Swift.String? = nil + ) + { + self.assetId = assetId + self.bucket = bucket + self.key = key + } + } +} + +extension DataExchangeClientTypes { + + /// A structure that allows an LF-admin to grant permissions on certain conditions. + public struct LFTag: Swift.Sendable { + /// The key name for the LF-tag. + /// This member is required. + public var tagKey: Swift.String? + /// A list of LF-tag values. + /// This member is required. + public var tagValues: [Swift.String]? + + public init( + tagKey: Swift.String? = nil, + tagValues: [Swift.String]? = nil + ) + { + self.tagKey = tagKey + self.tagValues = tagValues + } + } +} + +extension DataExchangeClientTypes { + + /// The LF-tag policy for database resources. + public struct DatabaseLFTagPolicy: Swift.Sendable { + /// A list of LF-tag conditions that apply to database resources. + /// This member is required. + public var expression: [DataExchangeClientTypes.LFTag]? + + public init( + expression: [DataExchangeClientTypes.LFTag]? = nil + ) + { + self.expression = expression + } + } +} + +extension DataExchangeClientTypes { + + /// The LF-tag policy for a table resource. + public struct TableLFTagPolicy: Swift.Sendable { + /// A list of LF-tag conditions that apply to table resources. + /// This member is required. + public var expression: [DataExchangeClientTypes.LFTag]? + + public init( + expression: [DataExchangeClientTypes.LFTag]? = nil + ) + { + self.expression = expression + } + } +} + +extension DataExchangeClientTypes { + + /// Details about the AWS Lake Formation resource (Table or Database) included in the AWS Lake Formation data permission. + public struct LFResourceDetails: Swift.Sendable { + /// Details about the database resource included in the AWS Lake Formation data permission. + public var database: DataExchangeClientTypes.DatabaseLFTagPolicy? + /// Details about the table resource included in the AWS Lake Formation data permission. + public var table: DataExchangeClientTypes.TableLFTagPolicy? + + public init( + database: DataExchangeClientTypes.DatabaseLFTagPolicy? = nil, + table: DataExchangeClientTypes.TableLFTagPolicy? = nil + ) + { + self.database = database + self.table = table + } + } +} + +extension DataExchangeClientTypes { + + public enum LFResourceType: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { + case database + case table + case sdkUnknown(Swift.String) + + public static var allCases: [LFResourceType] { + return [ + .database, + .table + ] + } + + public init?(rawValue: Swift.String) { + let value = Self.allCases.first(where: { $0.rawValue == rawValue }) + self = value ?? Self.sdkUnknown(rawValue) + } + + public var rawValue: Swift.String { + switch self { + case .database: return "DATABASE" + case .table: return "TABLE" + case let .sdkUnknown(s): return s + } + } + } +} + +extension DataExchangeClientTypes { + + /// Details about the LF-tag policy. + public struct LFTagPolicyDetails: Swift.Sendable { + /// The identifier for the AWS Glue Data Catalog. + /// This member is required. + public var catalogId: Swift.String? + /// Details for the Lake Formation Resources included in the LF-tag policy. + /// This member is required. + public var resourceDetails: DataExchangeClientTypes.LFResourceDetails? + /// The resource type for which the LF-tag policy applies. + /// This member is required. + public var resourceType: DataExchangeClientTypes.LFResourceType? + + public init( + catalogId: Swift.String? = nil, + resourceDetails: DataExchangeClientTypes.LFResourceDetails? = nil, + resourceType: DataExchangeClientTypes.LFResourceType? = nil + ) + { + self.catalogId = catalogId + self.resourceDetails = resourceDetails self.resourceType = resourceType } } @@ -638,314 +1032,41 @@ extension DataExchangeClientTypes { public var s3DataAccessAsset: DataExchangeClientTypes.S3DataAccessAsset? /// The Amazon S3 object that is the asset. public var s3SnapshotAsset: DataExchangeClientTypes.S3SnapshotAsset? - - public init( - apiGatewayApiAsset: DataExchangeClientTypes.ApiGatewayApiAsset? = nil, - lakeFormationDataPermissionAsset: DataExchangeClientTypes.LakeFormationDataPermissionAsset? = nil, - redshiftDataShareAsset: DataExchangeClientTypes.RedshiftDataShareAsset? = nil, - s3DataAccessAsset: DataExchangeClientTypes.S3DataAccessAsset? = nil, - s3SnapshotAsset: DataExchangeClientTypes.S3SnapshotAsset? = nil - ) - { - self.apiGatewayApiAsset = apiGatewayApiAsset - self.lakeFormationDataPermissionAsset = lakeFormationDataPermissionAsset - self.redshiftDataShareAsset = redshiftDataShareAsset - self.s3DataAccessAsset = s3DataAccessAsset - self.s3SnapshotAsset = s3SnapshotAsset - } - } -} - -extension DataExchangeClientTypes { - - public enum AssetType: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { - case apiGatewayApi - case lakeFormationDataPermission - case redshiftDataShare - case s3DataAccess - case s3Snapshot - case sdkUnknown(Swift.String) - - public static var allCases: [AssetType] { - return [ - .apiGatewayApi, - .lakeFormationDataPermission, - .redshiftDataShare, - .s3DataAccess, - .s3Snapshot - ] - } - - public init?(rawValue: Swift.String) { - let value = Self.allCases.first(where: { $0.rawValue == rawValue }) - self = value ?? Self.sdkUnknown(rawValue) - } - - public var rawValue: Swift.String { - switch self { - case .apiGatewayApi: return "API_GATEWAY_API" - case .lakeFormationDataPermission: return "LAKE_FORMATION_DATA_PERMISSION" - case .redshiftDataShare: return "REDSHIFT_DATA_SHARE" - case .s3DataAccess: return "S3_DATA_ACCESS" - case .s3Snapshot: return "S3_SNAPSHOT" - case let .sdkUnknown(s): return s - } - } - } -} - -extension DataExchangeClientTypes { - - /// An asset in AWS Data Exchange is a piece of data (Amazon S3 object) or a means of fulfilling data (Amazon Redshift datashare or Amazon API Gateway API, AWS Lake Formation data permission, or Amazon S3 data access). The asset can be a structured data file, an image file, or some other data file that can be stored as an Amazon S3 object, an Amazon API Gateway API, or an Amazon Redshift datashare, an AWS Lake Formation data permission, or an Amazon S3 data access. When you create an import job for your files, API Gateway APIs, Amazon Redshift datashares, AWS Lake Formation data permission, or Amazon S3 data access, you create an asset in AWS Data Exchange. - public struct AssetEntry: Swift.Sendable { - /// The ARN for the asset. - /// This member is required. - public var arn: Swift.String? - /// Details about the asset. - /// This member is required. - public var assetDetails: DataExchangeClientTypes.AssetDetails? - /// The type of asset that is added to a data set. - /// This member is required. - public var assetType: DataExchangeClientTypes.AssetType? - /// The date and time that the asset was created, in ISO 8601 format. - /// This member is required. - public var createdAt: Foundation.Date? - /// The unique identifier for the data set associated with this asset. - /// This member is required. - public var dataSetId: Swift.String? - /// The unique identifier for the asset. - /// This member is required. - public var id: Swift.String? - /// The name of the asset. When importing from Amazon S3, the Amazon S3 object key is used as the asset name. When exporting to Amazon S3, the asset name is used as default target Amazon S3 object key. When importing from Amazon API Gateway API, the API name is used as the asset name. When importing from Amazon Redshift, the datashare name is used as the asset name. When importing from AWS Lake Formation, the static values of "Database(s) included in LF-tag policy" or "Table(s) included in LF-tag policy" are used as the asset name. - /// This member is required. - public var name: Swift.String? - /// The unique identifier for the revision associated with this asset. - /// This member is required. - public var revisionId: Swift.String? - /// The asset ID of the owned asset corresponding to the entitled asset being viewed. This parameter is returned when an asset owner is viewing the entitled copy of its owned asset. - public var sourceId: Swift.String? - /// The date and time that the asset was last updated, in ISO 8601 format. - /// This member is required. - public var updatedAt: Foundation.Date? - - public init( - arn: Swift.String? = nil, - assetDetails: DataExchangeClientTypes.AssetDetails? = nil, - assetType: DataExchangeClientTypes.AssetType? = nil, - createdAt: Foundation.Date? = nil, - dataSetId: Swift.String? = nil, - id: Swift.String? = nil, - name: Swift.String? = nil, - revisionId: Swift.String? = nil, - sourceId: Swift.String? = nil, - updatedAt: Foundation.Date? = nil - ) - { - self.arn = arn - self.assetDetails = assetDetails - self.assetType = assetType - self.createdAt = createdAt - self.dataSetId = dataSetId - self.id = id - self.name = name - self.revisionId = revisionId - self.sourceId = sourceId - self.updatedAt = updatedAt - } - } -} - -extension DataExchangeClientTypes { - - /// The source of the assets. - public struct AssetSourceEntry: Swift.Sendable { - /// The Amazon S3 bucket that's part of the source of the asset. - /// This member is required. - public var bucket: Swift.String? - /// The name of the object in Amazon S3 for the asset. - /// This member is required. - public var key: Swift.String? - - public init( - bucket: Swift.String? = nil, - key: Swift.String? = nil - ) - { - self.bucket = bucket - self.key = key - } - } -} - -extension DataExchangeClientTypes { - - public enum ResourceType: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { - case asset - case dataSet - case eventAction - case job - case revision - case sdkUnknown(Swift.String) - - public static var allCases: [ResourceType] { - return [ - .asset, - .dataSet, - .eventAction, - .job, - .revision - ] - } - - public init?(rawValue: Swift.String) { - let value = Self.allCases.first(where: { $0.rawValue == rawValue }) - self = value ?? Self.sdkUnknown(rawValue) - } - - public var rawValue: Swift.String { - switch self { - case .asset: return "ASSET" - case .dataSet: return "DATA_SET" - case .eventAction: return "EVENT_ACTION" - case .job: return "JOB" - case .revision: return "REVISION" - case let .sdkUnknown(s): return s - } - } - } -} - -/// The request couldn't be completed because it conflicted with the current state of the resource. -public struct ConflictException: ClientRuntime.ModeledError, AWSClientRuntime.AWSServiceError, ClientRuntime.HTTPError, Swift.Error { - - public struct Properties { - /// The request couldn't be completed because it conflicted with the current state of the resource. - /// This member is required. - public internal(set) var message: Swift.String? = nil - /// The unique identifier for the resource with the conflict. - public internal(set) var resourceId: Swift.String? = nil - /// The type of the resource with the conflict. - public internal(set) var resourceType: DataExchangeClientTypes.ResourceType? = nil - } - - public internal(set) var properties = Properties() - public static var typeName: Swift.String { "ConflictException" } - public static var fault: ClientRuntime.ErrorFault { .client } - public static var isRetryable: Swift.Bool { false } - public static var isThrottling: Swift.Bool { false } - public internal(set) var httpResponse = SmithyHTTPAPI.HTTPResponse() - public internal(set) var message: Swift.String? - public internal(set) var requestID: Swift.String? - - public init( - message: Swift.String? = nil, - resourceId: Swift.String? = nil, - resourceType: DataExchangeClientTypes.ResourceType? = nil - ) - { - self.properties.message = message - self.properties.resourceId = resourceId - self.properties.resourceType = resourceType - } -} - -/// An exception occurred with the service. -public struct InternalServerException: ClientRuntime.ModeledError, AWSClientRuntime.AWSServiceError, ClientRuntime.HTTPError, Swift.Error { - - public struct Properties { - /// The message identifying the service exception that occurred. - /// This member is required. - public internal(set) var message: Swift.String? = nil - } - - public internal(set) var properties = Properties() - public static var typeName: Swift.String { "InternalServerException" } - public static var fault: ClientRuntime.ErrorFault { .server } - public static var isRetryable: Swift.Bool { false } - public static var isThrottling: Swift.Bool { false } - public internal(set) var httpResponse = SmithyHTTPAPI.HTTPResponse() - public internal(set) var message: Swift.String? - public internal(set) var requestID: Swift.String? - - public init( - message: Swift.String? = nil - ) - { - self.properties.message = message - } -} - -/// The resource couldn't be found. -public struct ResourceNotFoundException: ClientRuntime.ModeledError, AWSClientRuntime.AWSServiceError, ClientRuntime.HTTPError, Swift.Error { - - public struct Properties { - /// The resource couldn't be found. - /// This member is required. - public internal(set) var message: Swift.String? = nil - /// The unique identifier for the resource that couldn't be found. - public internal(set) var resourceId: Swift.String? = nil - /// The type of resource that couldn't be found. - public internal(set) var resourceType: DataExchangeClientTypes.ResourceType? = nil - } - - public internal(set) var properties = Properties() - public static var typeName: Swift.String { "ResourceNotFoundException" } - public static var fault: ClientRuntime.ErrorFault { .client } - public static var isRetryable: Swift.Bool { false } - public static var isThrottling: Swift.Bool { false } - public internal(set) var httpResponse = SmithyHTTPAPI.HTTPResponse() - public internal(set) var message: Swift.String? - public internal(set) var requestID: Swift.String? - - public init( - message: Swift.String? = nil, - resourceId: Swift.String? = nil, - resourceType: DataExchangeClientTypes.ResourceType? = nil - ) - { - self.properties.message = message - self.properties.resourceId = resourceId - self.properties.resourceType = resourceType - } -} - -/// The limit on the number of requests per second was exceeded. -public struct ThrottlingException: ClientRuntime.ModeledError, AWSClientRuntime.AWSServiceError, ClientRuntime.HTTPError, Swift.Error { - - public struct Properties { - /// The limit on the number of requests per second was exceeded. - /// This member is required. - public internal(set) var message: Swift.String? = nil - } - - public internal(set) var properties = Properties() - public static var typeName: Swift.String { "ThrottlingException" } - public static var fault: ClientRuntime.ErrorFault { .client } - public static var isRetryable: Swift.Bool { false } - public static var isThrottling: Swift.Bool { false } - public internal(set) var httpResponse = SmithyHTTPAPI.HTTPResponse() - public internal(set) var message: Swift.String? - public internal(set) var requestID: Swift.String? - - public init( - message: Swift.String? = nil - ) - { - self.properties.message = message + + public init( + apiGatewayApiAsset: DataExchangeClientTypes.ApiGatewayApiAsset? = nil, + lakeFormationDataPermissionAsset: DataExchangeClientTypes.LakeFormationDataPermissionAsset? = nil, + redshiftDataShareAsset: DataExchangeClientTypes.RedshiftDataShareAsset? = nil, + s3DataAccessAsset: DataExchangeClientTypes.S3DataAccessAsset? = nil, + s3SnapshotAsset: DataExchangeClientTypes.S3SnapshotAsset? = nil + ) + { + self.apiGatewayApiAsset = apiGatewayApiAsset + self.lakeFormationDataPermissionAsset = lakeFormationDataPermissionAsset + self.redshiftDataShareAsset = redshiftDataShareAsset + self.s3DataAccessAsset = s3DataAccessAsset + self.s3SnapshotAsset = s3SnapshotAsset + } } } extension DataExchangeClientTypes { - public enum ExceptionCause: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { - case insufficients3bucketpolicy - case s3accessdenied + public enum AssetType: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { + case apiGatewayApi + case lakeFormationDataPermission + case redshiftDataShare + case s3DataAccess + case s3Snapshot case sdkUnknown(Swift.String) - public static var allCases: [ExceptionCause] { + public static var allCases: [AssetType] { return [ - .insufficients3bucketpolicy, - .s3accessdenied + .apiGatewayApi, + .lakeFormationDataPermission, + .redshiftDataShare, + .s3DataAccess, + .s3Snapshot ] } @@ -956,41 +1077,97 @@ extension DataExchangeClientTypes { public var rawValue: Swift.String { switch self { - case .insufficients3bucketpolicy: return "InsufficientS3BucketPolicy" - case .s3accessdenied: return "S3AccessDenied" + case .apiGatewayApi: return "API_GATEWAY_API" + case .lakeFormationDataPermission: return "LAKE_FORMATION_DATA_PERMISSION" + case .redshiftDataShare: return "REDSHIFT_DATA_SHARE" + case .s3DataAccess: return "S3_DATA_ACCESS" + case .s3Snapshot: return "S3_SNAPSHOT" case let .sdkUnknown(s): return s } } } } -/// The request was invalid. -public struct ValidationException: ClientRuntime.ModeledError, AWSClientRuntime.AWSServiceError, ClientRuntime.HTTPError, Swift.Error { +extension DataExchangeClientTypes { - public struct Properties { - /// The unique identifier for the resource that couldn't be found. - public internal(set) var exceptionCause: DataExchangeClientTypes.ExceptionCause? = nil - /// The message that informs you about what was invalid about the request. + /// An asset in AWS Data Exchange is a piece of data (Amazon S3 object) or a means of fulfilling data (Amazon Redshift datashare or Amazon API Gateway API, AWS Lake Formation data permission, or Amazon S3 data access). The asset can be a structured data file, an image file, or some other data file that can be stored as an Amazon S3 object, an Amazon API Gateway API, or an Amazon Redshift datashare, an AWS Lake Formation data permission, or an Amazon S3 data access. When you create an import job for your files, API Gateway APIs, Amazon Redshift datashares, AWS Lake Formation data permission, or Amazon S3 data access, you create an asset in AWS Data Exchange. + public struct AssetEntry: Swift.Sendable { + /// The ARN for the asset. /// This member is required. - public internal(set) var message: Swift.String? = nil + public var arn: Swift.String? + /// Details about the asset. + /// This member is required. + public var assetDetails: DataExchangeClientTypes.AssetDetails? + /// The type of asset that is added to a data set. + /// This member is required. + public var assetType: DataExchangeClientTypes.AssetType? + /// The date and time that the asset was created, in ISO 8601 format. + /// This member is required. + public var createdAt: Foundation.Date? + /// The unique identifier for the data set associated with this asset. + /// This member is required. + public var dataSetId: Swift.String? + /// The unique identifier for the asset. + /// This member is required. + public var id: Swift.String? + /// The name of the asset. When importing from Amazon S3, the Amazon S3 object key is used as the asset name. When exporting to Amazon S3, the asset name is used as default target Amazon S3 object key. When importing from Amazon API Gateway API, the API name is used as the asset name. When importing from Amazon Redshift, the datashare name is used as the asset name. When importing from AWS Lake Formation, the static values of "Database(s) included in LF-tag policy" or "Table(s) included in LF-tag policy" are used as the asset name. + /// This member is required. + public var name: Swift.String? + /// The unique identifier for the revision associated with this asset. + /// This member is required. + public var revisionId: Swift.String? + /// The asset ID of the owned asset corresponding to the entitled asset being viewed. This parameter is returned when an asset owner is viewing the entitled copy of its owned asset. + public var sourceId: Swift.String? + /// The date and time that the asset was last updated, in ISO 8601 format. + /// This member is required. + public var updatedAt: Foundation.Date? + + public init( + arn: Swift.String? = nil, + assetDetails: DataExchangeClientTypes.AssetDetails? = nil, + assetType: DataExchangeClientTypes.AssetType? = nil, + createdAt: Foundation.Date? = nil, + dataSetId: Swift.String? = nil, + id: Swift.String? = nil, + name: Swift.String? = nil, + revisionId: Swift.String? = nil, + sourceId: Swift.String? = nil, + updatedAt: Foundation.Date? = nil + ) + { + self.arn = arn + self.assetDetails = assetDetails + self.assetType = assetType + self.createdAt = createdAt + self.dataSetId = dataSetId + self.id = id + self.name = name + self.revisionId = revisionId + self.sourceId = sourceId + self.updatedAt = updatedAt + } } +} - public internal(set) var properties = Properties() - public static var typeName: Swift.String { "ValidationException" } - public static var fault: ClientRuntime.ErrorFault { .client } - public static var isRetryable: Swift.Bool { false } - public static var isThrottling: Swift.Bool { false } - public internal(set) var httpResponse = SmithyHTTPAPI.HTTPResponse() - public internal(set) var message: Swift.String? - public internal(set) var requestID: Swift.String? +extension DataExchangeClientTypes { - public init( - exceptionCause: DataExchangeClientTypes.ExceptionCause? = nil, - message: Swift.String? = nil - ) - { - self.properties.exceptionCause = exceptionCause - self.properties.message = message + /// The source of the assets. + public struct AssetSourceEntry: Swift.Sendable { + /// The Amazon S3 bucket that's part of the source of the asset. + /// This member is required. + public var bucket: Swift.String? + /// The name of the object in Amazon S3 for the asset. + /// This member is required. + public var key: Swift.String? + + public init( + bucket: Swift.String? = nil, + key: Swift.String? = nil + ) + { + self.bucket = bucket + self.key = key + } } } @@ -1055,6 +1232,7 @@ extension DataExchangeClientTypes { public enum LimitName: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { case awsLakeFormationDataPermissionAssetsPerRevision + case activeAndPendingDataGrants case amazonApiGatewayApiAssetsPerRevision case amazonRedshiftDatashareAssetsPerImportJobFromRedshift case amazonRedshiftDatashareAssetsPerRevision @@ -1076,6 +1254,7 @@ extension DataExchangeClientTypes { case dataSetsPerAccount case dataSetsPerProduct case eventActionsPerAccount + case pendingDataGrantsPerConsumer case productsPerAccount case revisionsPerAwsLakeFormationDataPermissionDataSet case revisionsPerAmazonApiGatewayApiDataSet @@ -1087,6 +1266,7 @@ extension DataExchangeClientTypes { public static var allCases: [LimitName] { return [ .awsLakeFormationDataPermissionAssetsPerRevision, + .activeAndPendingDataGrants, .amazonApiGatewayApiAssetsPerRevision, .amazonRedshiftDatashareAssetsPerImportJobFromRedshift, .amazonRedshiftDatashareAssetsPerRevision, @@ -1108,6 +1288,7 @@ extension DataExchangeClientTypes { .dataSetsPerAccount, .dataSetsPerProduct, .eventActionsPerAccount, + .pendingDataGrantsPerConsumer, .productsPerAccount, .revisionsPerAwsLakeFormationDataPermissionDataSet, .revisionsPerAmazonApiGatewayApiDataSet, @@ -1125,6 +1306,7 @@ extension DataExchangeClientTypes { public var rawValue: Swift.String { switch self { case .awsLakeFormationDataPermissionAssetsPerRevision: return "AWS Lake Formation data permission assets per revision" + case .activeAndPendingDataGrants: return "Active and pending data grants" case .amazonApiGatewayApiAssetsPerRevision: return "Amazon API Gateway API assets per revision" case .amazonRedshiftDatashareAssetsPerImportJobFromRedshift: return "Amazon Redshift datashare assets per import job from Redshift" case .amazonRedshiftDatashareAssetsPerRevision: return "Amazon Redshift datashare assets per revision" @@ -1146,6 +1328,7 @@ extension DataExchangeClientTypes { case .dataSetsPerAccount: return "Data sets per account" case .dataSetsPerProduct: return "Data sets per product" case .eventActionsPerAccount: return "Event actions per account" + case .pendingDataGrantsPerConsumer: return "Pending data grants per consumer" case .productsPerAccount: return "Products per account" case .revisionsPerAwsLakeFormationDataPermissionDataSet: return "Revisions per AWS Lake Formation data permission data set" case .revisionsPerAmazonApiGatewayApiDataSet: return "Revisions per Amazon API Gateway API data set" @@ -1192,6 +1375,125 @@ public struct ServiceLimitExceededException: ClientRuntime.ModeledError, AWSClie } } +public struct CreateDataGrantInput: Swift.Sendable { + /// The description of the data grant. + public var description: Swift.String? + /// The timestamp of when access to the associated data set ends. + public var endsAt: Foundation.Date? + /// The distribution scope of the data grant. + /// This member is required. + public var grantDistributionScope: DataExchangeClientTypes.GrantDistributionScope? + /// The name of the data grant. + /// This member is required. + public var name: Swift.String? + /// The Amazon Web Services account ID of the data grant receiver. + /// This member is required. + public var receiverPrincipal: Swift.String? + /// The ID of the data set used to create the data grant. + /// This member is required. + public var sourceDataSetId: Swift.String? + /// The tags to add to the data grant. A tag is a key-value pair. + public var tags: [Swift.String: Swift.String]? + + public init( + description: Swift.String? = nil, + endsAt: Foundation.Date? = nil, + grantDistributionScope: DataExchangeClientTypes.GrantDistributionScope? = nil, + name: Swift.String? = nil, + receiverPrincipal: Swift.String? = nil, + sourceDataSetId: Swift.String? = nil, + tags: [Swift.String: Swift.String]? = nil + ) + { + self.description = description + self.endsAt = endsAt + self.grantDistributionScope = grantDistributionScope + self.name = name + self.receiverPrincipal = receiverPrincipal + self.sourceDataSetId = sourceDataSetId + self.tags = tags + } +} + +public struct CreateDataGrantOutput: Swift.Sendable { + /// The acceptance state of the data grant. + /// This member is required. + public var acceptanceState: DataExchangeClientTypes.DataGrantAcceptanceState? + /// The timestamp of when the data grant was accepted. + public var acceptedAt: Foundation.Date? + /// The Amazon Resource Name (ARN) of the data grant. + /// This member is required. + public var arn: Swift.String? + /// The timestamp of when the data grant was created. + /// This member is required. + public var createdAt: Foundation.Date? + /// The ID of the data set associated to the data grant. + /// This member is required. + public var dataSetId: Swift.String? + /// The description of the data grant. + public var description: Swift.String? + /// The timestamp of when access to the associated data set ends. + public var endsAt: Foundation.Date? + /// The distribution scope for the data grant. + /// This member is required. + public var grantDistributionScope: DataExchangeClientTypes.GrantDistributionScope? + /// The ID of the data grant. + /// This member is required. + public var id: Swift.String? + /// The name of the data grant. + /// This member is required. + public var name: Swift.String? + /// The Amazon Web Services account ID of the data grant receiver. + /// This member is required. + public var receiverPrincipal: Swift.String? + /// The Amazon Web Services account ID of the data grant sender. + /// This member is required. + public var senderPrincipal: Swift.String? + /// The ID of the data set used to create the data grant. + /// This member is required. + public var sourceDataSetId: Swift.String? + /// The tags associated to the data grant. A tag is a key-value pair. + public var tags: [Swift.String: Swift.String]? + /// The timestamp of when the data grant was last updated. + /// This member is required. + public var updatedAt: Foundation.Date? + + public init( + acceptanceState: DataExchangeClientTypes.DataGrantAcceptanceState? = nil, + acceptedAt: Foundation.Date? = nil, + arn: Swift.String? = nil, + createdAt: Foundation.Date? = nil, + dataSetId: Swift.String? = nil, + description: Swift.String? = nil, + endsAt: Foundation.Date? = nil, + grantDistributionScope: DataExchangeClientTypes.GrantDistributionScope? = nil, + id: Swift.String? = nil, + name: Swift.String? = nil, + receiverPrincipal: Swift.String? = nil, + senderPrincipal: Swift.String? = nil, + sourceDataSetId: Swift.String? = nil, + tags: [Swift.String: Swift.String]? = nil, + updatedAt: Foundation.Date? = nil + ) + { + self.acceptanceState = acceptanceState + self.acceptedAt = acceptedAt + self.arn = arn + self.createdAt = createdAt + self.dataSetId = dataSetId + self.description = description + self.endsAt = endsAt + self.grantDistributionScope = grantDistributionScope + self.id = id + self.name = name + self.receiverPrincipal = receiverPrincipal + self.senderPrincipal = senderPrincipal + self.sourceDataSetId = sourceDataSetId + self.tags = tags + self.updatedAt = updatedAt + } +} + public struct CreateDataSetInput: Swift.Sendable { /// The type of asset that is added to a data set. /// This member is required. @@ -1252,13 +1554,17 @@ extension DataExchangeClientTypes { /// Details about the origin of the data set. public struct OriginDetails: Swift.Sendable { + /// The ID of the data grant. + public var dataGrantId: Swift.String? /// The product ID of the origin of the data set. public var productId: Swift.String? public init( + dataGrantId: Swift.String? = nil, productId: Swift.String? = nil ) { + self.dataGrantId = dataGrantId self.productId = productId } } @@ -2677,6 +2983,19 @@ public struct DeleteAssetInput: Swift.Sendable { } } +public struct DeleteDataGrantInput: Swift.Sendable { + /// The ID of the data grant to delete. + /// This member is required. + public var dataGrantId: Swift.String? + + public init( + dataGrantId: Swift.String? = nil + ) + { + self.dataGrantId = dataGrantId + } +} + public struct DeleteDataSetInput: Swift.Sendable { /// The unique identifier for a data set. /// This member is required. @@ -2768,26 +3087,118 @@ public struct GetAssetOutput: Swift.Sendable { public init( arn: Swift.String? = nil, - assetDetails: DataExchangeClientTypes.AssetDetails? = nil, - assetType: DataExchangeClientTypes.AssetType? = nil, + assetDetails: DataExchangeClientTypes.AssetDetails? = nil, + assetType: DataExchangeClientTypes.AssetType? = nil, + createdAt: Foundation.Date? = nil, + dataSetId: Swift.String? = nil, + id: Swift.String? = nil, + name: Swift.String? = nil, + revisionId: Swift.String? = nil, + sourceId: Swift.String? = nil, + updatedAt: Foundation.Date? = nil + ) + { + self.arn = arn + self.assetDetails = assetDetails + self.assetType = assetType + self.createdAt = createdAt + self.dataSetId = dataSetId + self.id = id + self.name = name + self.revisionId = revisionId + self.sourceId = sourceId + self.updatedAt = updatedAt + } +} + +public struct GetDataGrantInput: Swift.Sendable { + /// The ID of the data grant. + /// This member is required. + public var dataGrantId: Swift.String? + + public init( + dataGrantId: Swift.String? = nil + ) + { + self.dataGrantId = dataGrantId + } +} + +public struct GetDataGrantOutput: Swift.Sendable { + /// The acceptance state of the data grant. + /// This member is required. + public var acceptanceState: DataExchangeClientTypes.DataGrantAcceptanceState? + /// The timestamp of when the data grant was accepted. + public var acceptedAt: Foundation.Date? + /// The Amazon Resource Name (ARN) of the data grant. + /// This member is required. + public var arn: Swift.String? + /// The timestamp of when the data grant was created. + /// This member is required. + public var createdAt: Foundation.Date? + /// The ID of the data set associated to the data grant. + /// This member is required. + public var dataSetId: Swift.String? + /// The description of the data grant. + public var description: Swift.String? + /// The timestamp of when access to the associated data set ends. + public var endsAt: Foundation.Date? + /// The distribution scope for the data grant. + /// This member is required. + public var grantDistributionScope: DataExchangeClientTypes.GrantDistributionScope? + /// The ID of the data grant. + /// This member is required. + public var id: Swift.String? + /// The name of the data grant. + /// This member is required. + public var name: Swift.String? + /// The Amazon Web Services account ID of the data grant receiver. + /// This member is required. + public var receiverPrincipal: Swift.String? + /// The Amazon Web Services account ID of the data grant sender. + /// This member is required. + public var senderPrincipal: Swift.String? + /// The ID of the data set used to create the data grant. + /// This member is required. + public var sourceDataSetId: Swift.String? + /// The tags associated to the data grant. A tag is a key-value pair. + public var tags: [Swift.String: Swift.String]? + /// The timestamp of when the data grant was last updated. + /// This member is required. + public var updatedAt: Foundation.Date? + + public init( + acceptanceState: DataExchangeClientTypes.DataGrantAcceptanceState? = nil, + acceptedAt: Foundation.Date? = nil, + arn: Swift.String? = nil, createdAt: Foundation.Date? = nil, dataSetId: Swift.String? = nil, + description: Swift.String? = nil, + endsAt: Foundation.Date? = nil, + grantDistributionScope: DataExchangeClientTypes.GrantDistributionScope? = nil, id: Swift.String? = nil, name: Swift.String? = nil, - revisionId: Swift.String? = nil, - sourceId: Swift.String? = nil, + receiverPrincipal: Swift.String? = nil, + senderPrincipal: Swift.String? = nil, + sourceDataSetId: Swift.String? = nil, + tags: [Swift.String: Swift.String]? = nil, updatedAt: Foundation.Date? = nil ) { + self.acceptanceState = acceptanceState + self.acceptedAt = acceptedAt self.arn = arn - self.assetDetails = assetDetails - self.assetType = assetType self.createdAt = createdAt self.dataSetId = dataSetId + self.description = description + self.endsAt = endsAt + self.grantDistributionScope = grantDistributionScope self.id = id self.name = name - self.revisionId = revisionId - self.sourceId = sourceId + self.receiverPrincipal = receiverPrincipal + self.senderPrincipal = senderPrincipal + self.sourceDataSetId = sourceDataSetId + self.tags = tags self.updatedAt = updatedAt } } @@ -2955,6 +3366,88 @@ public struct GetJobOutput: Swift.Sendable { } } +public struct GetReceivedDataGrantInput: Swift.Sendable { + /// The Amazon Resource Name (ARN) of the data grant. + /// This member is required. + public var dataGrantArn: Swift.String? + + public init( + dataGrantArn: Swift.String? = nil + ) + { + self.dataGrantArn = dataGrantArn + } +} + +public struct GetReceivedDataGrantOutput: Swift.Sendable { + /// The acceptance state of the data grant. + /// This member is required. + public var acceptanceState: DataExchangeClientTypes.DataGrantAcceptanceState? + /// The timestamp of when the data grant was accepted. + public var acceptedAt: Foundation.Date? + /// The Amazon Resource Name (ARN) of the data grant. + /// This member is required. + public var arn: Swift.String? + /// The timestamp of when the data grant was created. + /// This member is required. + public var createdAt: Foundation.Date? + /// The ID of the data set associated to the data grant. + /// This member is required. + public var dataSetId: Swift.String? + /// The description of the data grant. + public var description: Swift.String? + /// The timestamp of when access to the associated data set ends. + public var endsAt: Foundation.Date? + /// The distribution scope for the data grant. + /// This member is required. + public var grantDistributionScope: DataExchangeClientTypes.GrantDistributionScope? + /// The ID of the data grant. + /// This member is required. + public var id: Swift.String? + /// The name of the data grant. + /// This member is required. + public var name: Swift.String? + /// The Amazon Web Services account ID of the data grant receiver. + /// This member is required. + public var receiverPrincipal: Swift.String? + /// The Amazon Web Services account ID of the data grant sender. + public var senderPrincipal: Swift.String? + /// The timestamp of when the data grant was last updated. + /// This member is required. + public var updatedAt: Foundation.Date? + + public init( + acceptanceState: DataExchangeClientTypes.DataGrantAcceptanceState? = nil, + acceptedAt: Foundation.Date? = nil, + arn: Swift.String? = nil, + createdAt: Foundation.Date? = nil, + dataSetId: Swift.String? = nil, + description: Swift.String? = nil, + endsAt: Foundation.Date? = nil, + grantDistributionScope: DataExchangeClientTypes.GrantDistributionScope? = nil, + id: Swift.String? = nil, + name: Swift.String? = nil, + receiverPrincipal: Swift.String? = nil, + senderPrincipal: Swift.String? = nil, + updatedAt: Foundation.Date? = nil + ) + { + self.acceptanceState = acceptanceState + self.acceptedAt = acceptedAt + self.arn = arn + self.createdAt = createdAt + self.dataSetId = dataSetId + self.description = description + self.endsAt = endsAt + self.grantDistributionScope = grantDistributionScope + self.id = id + self.name = name + self.receiverPrincipal = receiverPrincipal + self.senderPrincipal = senderPrincipal + self.updatedAt = updatedAt + } +} + public struct GetRevisionInput: Swift.Sendable { /// The unique identifier for a data set. /// This member is required. @@ -3029,6 +3522,108 @@ public struct GetRevisionOutput: Swift.Sendable { } } +public struct ListDataGrantsInput: Swift.Sendable { + /// The maximum number of results to be included in the next page. + public var maxResults: Swift.Int? + /// The pagination token used to retrieve the next page of results for this operation. + public var nextToken: Swift.String? + + public init( + maxResults: Swift.Int? = 0, + nextToken: Swift.String? = nil + ) + { + self.maxResults = maxResults + self.nextToken = nextToken + } +} + +extension DataExchangeClientTypes { + + /// Information about a data grant. + public struct DataGrantSummaryEntry: Swift.Sendable { + /// The acceptance state of the data grant. + /// This member is required. + public var acceptanceState: DataExchangeClientTypes.DataGrantAcceptanceState? + /// The timestamp of when the data grant was accepted. + public var acceptedAt: Foundation.Date? + /// The Amazon Resource Name (ARN) of the data grant. + /// This member is required. + public var arn: Swift.String? + /// The timestamp of when the data grant was created. + /// This member is required. + public var createdAt: Foundation.Date? + /// The ID of the data set associated to the data grant. + /// This member is required. + public var dataSetId: Swift.String? + /// The timestamp of when access to the associated data set ends. + public var endsAt: Foundation.Date? + /// The ID of the data grant. + /// This member is required. + public var id: Swift.String? + /// The name of the data grant. + /// This member is required. + public var name: Swift.String? + /// The Amazon Web Services account ID of the data grant receiver. + /// This member is required. + public var receiverPrincipal: Swift.String? + /// The Amazon Web Services account ID of the data grant sender. + /// This member is required. + public var senderPrincipal: Swift.String? + /// The ID of the data set used to create the data grant. + /// This member is required. + public var sourceDataSetId: Swift.String? + /// The timestamp of when the data grant was last updated. + /// This member is required. + public var updatedAt: Foundation.Date? + + public init( + acceptanceState: DataExchangeClientTypes.DataGrantAcceptanceState? = nil, + acceptedAt: Foundation.Date? = nil, + arn: Swift.String? = nil, + createdAt: Foundation.Date? = nil, + dataSetId: Swift.String? = nil, + endsAt: Foundation.Date? = nil, + id: Swift.String? = nil, + name: Swift.String? = nil, + receiverPrincipal: Swift.String? = nil, + senderPrincipal: Swift.String? = nil, + sourceDataSetId: Swift.String? = nil, + updatedAt: Foundation.Date? = nil + ) + { + self.acceptanceState = acceptanceState + self.acceptedAt = acceptedAt + self.arn = arn + self.createdAt = createdAt + self.dataSetId = dataSetId + self.endsAt = endsAt + self.id = id + self.name = name + self.receiverPrincipal = receiverPrincipal + self.senderPrincipal = senderPrincipal + self.sourceDataSetId = sourceDataSetId + self.updatedAt = updatedAt + } + } +} + +public struct ListDataGrantsOutput: Swift.Sendable { + /// An object that contains a list of data grant information. + public var dataGrantSummaries: [DataExchangeClientTypes.DataGrantSummaryEntry]? + /// The pagination token used to retrieve the next page of results for this operation. + public var nextToken: Swift.String? + + public init( + dataGrantSummaries: [DataExchangeClientTypes.DataGrantSummaryEntry]? = nil, + nextToken: Swift.String? = nil + ) + { + self.dataGrantSummaries = dataGrantSummaries + self.nextToken = nextToken + } +} + public struct ListDataSetRevisionsInput: Swift.Sendable { /// The unique identifier for a data set. /// This member is required. @@ -3392,6 +3987,107 @@ public struct ListJobsOutput: Swift.Sendable { } } +public struct ListReceivedDataGrantsInput: Swift.Sendable { + /// The acceptance state of the data grants to list. + public var acceptanceState: [DataExchangeClientTypes.AcceptanceStateFilterValue]? + /// The maximum number of results to be included in the next page. + public var maxResults: Swift.Int? + /// The pagination token used to retrieve the next page of results for this operation. + public var nextToken: Swift.String? + + public init( + acceptanceState: [DataExchangeClientTypes.AcceptanceStateFilterValue]? = nil, + maxResults: Swift.Int? = 0, + nextToken: Swift.String? = nil + ) + { + self.acceptanceState = acceptanceState + self.maxResults = maxResults + self.nextToken = nextToken + } +} + +extension DataExchangeClientTypes { + + /// Information about a received data grant. + public struct ReceivedDataGrantSummariesEntry: Swift.Sendable { + /// The acceptance state of the data grant. + /// This member is required. + public var acceptanceState: DataExchangeClientTypes.DataGrantAcceptanceState? + /// The timestamp of when the data grant was accepted. + public var acceptedAt: Foundation.Date? + /// The Amazon Resource Name (ARN) of the data grant. + /// This member is required. + public var arn: Swift.String? + /// The timestamp of when the data grant was created. + /// This member is required. + public var createdAt: Foundation.Date? + /// The ID of the data set associated to the data grant. + /// This member is required. + public var dataSetId: Swift.String? + /// The timestamp of when access to the associated data set ends. + public var endsAt: Foundation.Date? + /// The ID of the data grant. + /// This member is required. + public var id: Swift.String? + /// The name of the data grant. + /// This member is required. + public var name: Swift.String? + /// The Amazon Web Services account ID of the data grant receiver. + /// This member is required. + public var receiverPrincipal: Swift.String? + /// The Amazon Web Services account ID of the data grant sender. + /// This member is required. + public var senderPrincipal: Swift.String? + /// The timestamp of when the data grant was last updated. + /// This member is required. + public var updatedAt: Foundation.Date? + + public init( + acceptanceState: DataExchangeClientTypes.DataGrantAcceptanceState? = nil, + acceptedAt: Foundation.Date? = nil, + arn: Swift.String? = nil, + createdAt: Foundation.Date? = nil, + dataSetId: Swift.String? = nil, + endsAt: Foundation.Date? = nil, + id: Swift.String? = nil, + name: Swift.String? = nil, + receiverPrincipal: Swift.String? = nil, + senderPrincipal: Swift.String? = nil, + updatedAt: Foundation.Date? = nil + ) + { + self.acceptanceState = acceptanceState + self.acceptedAt = acceptedAt + self.arn = arn + self.createdAt = createdAt + self.dataSetId = dataSetId + self.endsAt = endsAt + self.id = id + self.name = name + self.receiverPrincipal = receiverPrincipal + self.senderPrincipal = senderPrincipal + self.updatedAt = updatedAt + } + } +} + +public struct ListReceivedDataGrantsOutput: Swift.Sendable { + /// An object that contains a list of received data grant information. + public var dataGrantSummaries: [DataExchangeClientTypes.ReceivedDataGrantSummariesEntry]? + /// The pagination token used to retrieve the next page of results for this operation. + public var nextToken: Swift.String? + + public init( + dataGrantSummaries: [DataExchangeClientTypes.ReceivedDataGrantSummariesEntry]? = nil, + nextToken: Swift.String? = nil + ) + { + self.dataGrantSummaries = dataGrantSummaries + self.nextToken = nextToken + } +} + public struct ListRevisionAssetsInput: Swift.Sendable { /// The unique identifier for a data set. /// This member is required. @@ -4231,6 +4927,16 @@ public struct UpdateRevisionOutput: Swift.Sendable { } } +extension AcceptDataGrantInput { + + static func urlPathProvider(_ value: AcceptDataGrantInput) -> Swift.String? { + guard let dataGrantArn = value.dataGrantArn else { + return nil + } + return "/v1/data-grants/\(dataGrantArn.urlPercentEncoding())/accept" + } +} + extension CancelJobInput { static func urlPathProvider(_ value: CancelJobInput) -> Swift.String? { @@ -4241,6 +4947,13 @@ extension CancelJobInput { } } +extension CreateDataGrantInput { + + static func urlPathProvider(_ value: CreateDataGrantInput) -> Swift.String? { + return "/v1/data-grants" + } +} + extension CreateDataSetInput { static func urlPathProvider(_ value: CreateDataSetInput) -> Swift.String? { @@ -4288,6 +5001,16 @@ extension DeleteAssetInput { } } +extension DeleteDataGrantInput { + + static func urlPathProvider(_ value: DeleteDataGrantInput) -> Swift.String? { + guard let dataGrantId = value.dataGrantId else { + return nil + } + return "/v1/data-grants/\(dataGrantId.urlPercentEncoding())" + } +} + extension DeleteDataSetInput { static func urlPathProvider(_ value: DeleteDataSetInput) -> Swift.String? { @@ -4337,6 +5060,16 @@ extension GetAssetInput { } } +extension GetDataGrantInput { + + static func urlPathProvider(_ value: GetDataGrantInput) -> Swift.String? { + guard let dataGrantId = value.dataGrantId else { + return nil + } + return "/v1/data-grants/\(dataGrantId.urlPercentEncoding())" + } +} + extension GetDataSetInput { static func urlPathProvider(_ value: GetDataSetInput) -> Swift.String? { @@ -4367,6 +5100,16 @@ extension GetJobInput { } } +extension GetReceivedDataGrantInput { + + static func urlPathProvider(_ value: GetReceivedDataGrantInput) -> Swift.String? { + guard let dataGrantArn = value.dataGrantArn else { + return nil + } + return "/v1/received-data-grants/\(dataGrantArn.urlPercentEncoding())" + } +} + extension GetRevisionInput { static func urlPathProvider(_ value: GetRevisionInput) -> Swift.String? { @@ -4380,6 +5123,29 @@ extension GetRevisionInput { } } +extension ListDataGrantsInput { + + static func urlPathProvider(_ value: ListDataGrantsInput) -> Swift.String? { + return "/v1/data-grants" + } +} + +extension ListDataGrantsInput { + + static func queryItemProvider(_ value: ListDataGrantsInput) throws -> [Smithy.URIQueryItem] { + var items = [Smithy.URIQueryItem]() + if let nextToken = value.nextToken { + let nextTokenQueryItem = Smithy.URIQueryItem(name: "nextToken".urlPercentEncoding(), value: Swift.String(nextToken).urlPercentEncoding()) + items.append(nextTokenQueryItem) + } + if let maxResults = value.maxResults { + let maxResultsQueryItem = Smithy.URIQueryItem(name: "maxResults".urlPercentEncoding(), value: Swift.String(maxResults).urlPercentEncoding()) + items.append(maxResultsQueryItem) + } + return items + } +} + extension ListDataSetRevisionsInput { static func urlPathProvider(_ value: ListDataSetRevisionsInput) -> Swift.String? { @@ -4491,6 +5257,35 @@ extension ListJobsInput { } } +extension ListReceivedDataGrantsInput { + + static func urlPathProvider(_ value: ListReceivedDataGrantsInput) -> Swift.String? { + return "/v1/received-data-grants" + } +} + +extension ListReceivedDataGrantsInput { + + static func queryItemProvider(_ value: ListReceivedDataGrantsInput) throws -> [Smithy.URIQueryItem] { + var items = [Smithy.URIQueryItem]() + if let acceptanceState = value.acceptanceState { + acceptanceState.forEach { queryItemValue in + let queryItem = Smithy.URIQueryItem(name: "acceptanceState".urlPercentEncoding(), value: Swift.String(queryItemValue.rawValue).urlPercentEncoding()) + items.append(queryItem) + } + } + if let nextToken = value.nextToken { + let nextTokenQueryItem = Smithy.URIQueryItem(name: "nextToken".urlPercentEncoding(), value: Swift.String(nextToken).urlPercentEncoding()) + items.append(nextTokenQueryItem) + } + if let maxResults = value.maxResults { + let maxResultsQueryItem = Smithy.URIQueryItem(name: "maxResults".urlPercentEncoding(), value: Swift.String(maxResults).urlPercentEncoding()) + items.append(maxResultsQueryItem) + } + return items + } +} + extension ListRevisionAssetsInput { static func urlPathProvider(_ value: ListRevisionAssetsInput) -> Swift.String? { @@ -4700,6 +5495,20 @@ extension UpdateRevisionInput { } } +extension CreateDataGrantInput { + + static func write(value: CreateDataGrantInput?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["Description"].write(value.description) + try writer["EndsAt"].writeTimestamp(value.endsAt, format: SmithyTimestamps.TimestampFormat.dateTime) + try writer["GrantDistributionScope"].write(value.grantDistributionScope) + try writer["Name"].write(value.name) + try writer["ReceiverPrincipal"].write(value.receiverPrincipal) + try writer["SourceDataSetId"].write(value.sourceDataSetId) + try writer["Tags"].writeMap(value.tags, valueWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) + } +} + extension CreateDataSetInput { static func write(value: CreateDataSetInput?, to writer: SmithyJSON.Writer) throws { @@ -4808,6 +5617,30 @@ extension UpdateRevisionInput { } } +extension AcceptDataGrantOutput { + + static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> AcceptDataGrantOutput { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let reader = responseReader + var value = AcceptDataGrantOutput() + value.acceptanceState = try reader["AcceptanceState"].readIfPresent() ?? .sdkUnknown("") + value.acceptedAt = try reader["AcceptedAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.dateTime) + value.arn = try reader["Arn"].readIfPresent() ?? "" + value.createdAt = try reader["CreatedAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.dateTime) ?? SmithyTimestamps.TimestampFormatter(format: .dateTime).date(from: "1970-01-01T00:00:00Z") + value.dataSetId = try reader["DataSetId"].readIfPresent() ?? "" + value.description = try reader["Description"].readIfPresent() + value.endsAt = try reader["EndsAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.dateTime) + value.grantDistributionScope = try reader["GrantDistributionScope"].readIfPresent() ?? .sdkUnknown("") + value.id = try reader["Id"].readIfPresent() ?? "" + value.name = try reader["Name"].readIfPresent() ?? "" + value.receiverPrincipal = try reader["ReceiverPrincipal"].readIfPresent() ?? "" + value.senderPrincipal = try reader["SenderPrincipal"].readIfPresent() + value.updatedAt = try reader["UpdatedAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.dateTime) ?? SmithyTimestamps.TimestampFormatter(format: .dateTime).date(from: "1970-01-01T00:00:00Z") + return value + } +} + extension CancelJobOutput { static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> CancelJobOutput { @@ -4815,6 +5648,32 @@ extension CancelJobOutput { } } +extension CreateDataGrantOutput { + + static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> CreateDataGrantOutput { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let reader = responseReader + var value = CreateDataGrantOutput() + value.acceptanceState = try reader["AcceptanceState"].readIfPresent() ?? .sdkUnknown("") + value.acceptedAt = try reader["AcceptedAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.dateTime) + value.arn = try reader["Arn"].readIfPresent() ?? "" + value.createdAt = try reader["CreatedAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.dateTime) ?? SmithyTimestamps.TimestampFormatter(format: .dateTime).date(from: "1970-01-01T00:00:00Z") + value.dataSetId = try reader["DataSetId"].readIfPresent() ?? "" + value.description = try reader["Description"].readIfPresent() + value.endsAt = try reader["EndsAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.dateTime) + value.grantDistributionScope = try reader["GrantDistributionScope"].readIfPresent() ?? .sdkUnknown("") + value.id = try reader["Id"].readIfPresent() ?? "" + value.name = try reader["Name"].readIfPresent() ?? "" + value.receiverPrincipal = try reader["ReceiverPrincipal"].readIfPresent() ?? "" + value.senderPrincipal = try reader["SenderPrincipal"].readIfPresent() ?? "" + value.sourceDataSetId = try reader["SourceDataSetId"].readIfPresent() ?? "" + value.tags = try reader["Tags"].readMapIfPresent(valueReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) + value.updatedAt = try reader["UpdatedAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.dateTime) ?? SmithyTimestamps.TimestampFormatter(format: .dateTime).date(from: "1970-01-01T00:00:00Z") + return value + } +} + extension CreateDataSetOutput { static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> CreateDataSetOutput { @@ -4903,6 +5762,13 @@ extension DeleteAssetOutput { } } +extension DeleteDataGrantOutput { + + static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> DeleteDataGrantOutput { + return DeleteDataGrantOutput() + } +} + extension DeleteDataSetOutput { static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> DeleteDataSetOutput { @@ -4945,6 +5811,32 @@ extension GetAssetOutput { } } +extension GetDataGrantOutput { + + static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> GetDataGrantOutput { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let reader = responseReader + var value = GetDataGrantOutput() + value.acceptanceState = try reader["AcceptanceState"].readIfPresent() ?? .sdkUnknown("") + value.acceptedAt = try reader["AcceptedAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.dateTime) + value.arn = try reader["Arn"].readIfPresent() ?? "" + value.createdAt = try reader["CreatedAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.dateTime) ?? SmithyTimestamps.TimestampFormatter(format: .dateTime).date(from: "1970-01-01T00:00:00Z") + value.dataSetId = try reader["DataSetId"].readIfPresent() ?? "" + value.description = try reader["Description"].readIfPresent() + value.endsAt = try reader["EndsAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.dateTime) + value.grantDistributionScope = try reader["GrantDistributionScope"].readIfPresent() ?? .sdkUnknown("") + value.id = try reader["Id"].readIfPresent() ?? "" + value.name = try reader["Name"].readIfPresent() ?? "" + value.receiverPrincipal = try reader["ReceiverPrincipal"].readIfPresent() ?? "" + value.senderPrincipal = try reader["SenderPrincipal"].readIfPresent() ?? "" + value.sourceDataSetId = try reader["SourceDataSetId"].readIfPresent() ?? "" + value.tags = try reader["Tags"].readMapIfPresent(valueReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) + value.updatedAt = try reader["UpdatedAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.dateTime) ?? SmithyTimestamps.TimestampFormatter(format: .dateTime).date(from: "1970-01-01T00:00:00Z") + return value + } +} + extension GetDataSetOutput { static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> GetDataSetOutput { @@ -5003,6 +5895,30 @@ extension GetJobOutput { } } +extension GetReceivedDataGrantOutput { + + static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> GetReceivedDataGrantOutput { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let reader = responseReader + var value = GetReceivedDataGrantOutput() + value.acceptanceState = try reader["AcceptanceState"].readIfPresent() ?? .sdkUnknown("") + value.acceptedAt = try reader["AcceptedAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.dateTime) + value.arn = try reader["Arn"].readIfPresent() ?? "" + value.createdAt = try reader["CreatedAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.dateTime) ?? SmithyTimestamps.TimestampFormatter(format: .dateTime).date(from: "1970-01-01T00:00:00Z") + value.dataSetId = try reader["DataSetId"].readIfPresent() ?? "" + value.description = try reader["Description"].readIfPresent() + value.endsAt = try reader["EndsAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.dateTime) + value.grantDistributionScope = try reader["GrantDistributionScope"].readIfPresent() ?? .sdkUnknown("") + value.id = try reader["Id"].readIfPresent() ?? "" + value.name = try reader["Name"].readIfPresent() ?? "" + value.receiverPrincipal = try reader["ReceiverPrincipal"].readIfPresent() ?? "" + value.senderPrincipal = try reader["SenderPrincipal"].readIfPresent() + value.updatedAt = try reader["UpdatedAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.dateTime) ?? SmithyTimestamps.TimestampFormatter(format: .dateTime).date(from: "1970-01-01T00:00:00Z") + return value + } +} + extension GetRevisionOutput { static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> GetRevisionOutput { @@ -5026,6 +5942,19 @@ extension GetRevisionOutput { } } +extension ListDataGrantsOutput { + + static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> ListDataGrantsOutput { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let reader = responseReader + var value = ListDataGrantsOutput() + value.dataGrantSummaries = try reader["DataGrantSummaries"].readListIfPresent(memberReadingClosure: DataExchangeClientTypes.DataGrantSummaryEntry.read(from:), memberNodeInfo: "member", isFlattened: false) + value.nextToken = try reader["NextToken"].readIfPresent() + return value + } +} + extension ListDataSetRevisionsOutput { static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> ListDataSetRevisionsOutput { @@ -5078,6 +6007,19 @@ extension ListJobsOutput { } } +extension ListReceivedDataGrantsOutput { + + static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> ListReceivedDataGrantsOutput { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let reader = responseReader + var value = ListReceivedDataGrantsOutput() + value.dataGrantSummaries = try reader["DataGrantSummaries"].readListIfPresent(memberReadingClosure: DataExchangeClientTypes.ReceivedDataGrantSummariesEntry.read(from:), memberNodeInfo: "member", isFlattened: false) + value.nextToken = try reader["NextToken"].readIfPresent() + return value + } +} + extension ListRevisionAssetsOutput { static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> ListRevisionAssetsOutput { @@ -5256,6 +6198,25 @@ extension UpdateRevisionOutput { } } +enum AcceptDataGrantOutputError { + + static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) + if let error = baseError.customError() { return error } + switch baseError.code { + case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) + case "ConflictException": return try ConflictException.makeError(baseError: baseError) + case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) + case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) + case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) + case "ValidationException": return try ValidationException.makeError(baseError: baseError) + default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) + } + } +} + enum CancelJobOutputError { static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { @@ -5274,6 +6235,25 @@ enum CancelJobOutputError { } } +enum CreateDataGrantOutputError { + + static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) + if let error = baseError.customError() { return error } + switch baseError.code { + case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) + case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) + case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) + case "ServiceLimitExceededException": return try ServiceLimitExceededException.makeError(baseError: baseError) + case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) + case "ValidationException": return try ValidationException.makeError(baseError: baseError) + default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) + } + } +} + enum CreateDataSetOutputError { static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { @@ -5366,6 +6346,24 @@ enum DeleteAssetOutputError { } } +enum DeleteDataGrantOutputError { + + static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) + if let error = baseError.customError() { return error } + switch baseError.code { + case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) + case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) + case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) + case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) + case "ValidationException": return try ValidationException.makeError(baseError: baseError) + default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) + } + } +} + enum DeleteDataSetOutputError { static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { @@ -5438,6 +6436,24 @@ enum GetAssetOutputError { } } +enum GetDataGrantOutputError { + + static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) + if let error = baseError.customError() { return error } + switch baseError.code { + case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) + case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) + case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) + case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) + case "ValidationException": return try ValidationException.makeError(baseError: baseError) + default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) + } + } +} + enum GetDataSetOutputError { static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { @@ -5489,6 +6505,24 @@ enum GetJobOutputError { } } +enum GetReceivedDataGrantOutputError { + + static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) + if let error = baseError.customError() { return error } + switch baseError.code { + case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) + case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) + case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) + case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) + case "ValidationException": return try ValidationException.makeError(baseError: baseError) + default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) + } + } +} + enum GetRevisionOutputError { static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { @@ -5506,6 +6540,24 @@ enum GetRevisionOutputError { } } +enum ListDataGrantsOutputError { + + static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) + if let error = baseError.customError() { return error } + switch baseError.code { + case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) + case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) + case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) + case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) + case "ValidationException": return try ValidationException.makeError(baseError: baseError) + default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) + } + } +} + enum ListDataSetRevisionsOutputError { static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { @@ -5574,6 +6626,24 @@ enum ListJobsOutputError { } } +enum ListReceivedDataGrantsOutputError { + + static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) + if let error = baseError.customError() { return error } + switch baseError.code { + case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) + case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) + case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) + case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) + case "ValidationException": return try ValidationException.makeError(baseError: baseError) + default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) + } + } +} + enum ListRevisionAssetsOutputError { static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { @@ -5794,6 +6864,19 @@ extension ResourceNotFoundException { } } +extension AccessDeniedException { + + static func makeError(baseError: AWSClientRuntime.RestJSONError) throws -> AccessDeniedException { + let reader = baseError.errorBodyReader + var value = AccessDeniedException() + value.properties.message = try reader["Message"].readIfPresent() ?? "" + value.httpResponse = baseError.httpResponse + value.requestID = baseError.requestID + value.message = baseError.message + return value + } +} + extension ThrottlingException { static func makeError(baseError: AWSClientRuntime.RestJSONError) throws -> ThrottlingException { @@ -5849,19 +6932,6 @@ extension ConflictException { } } -extension AccessDeniedException { - - static func makeError(baseError: AWSClientRuntime.RestJSONError) throws -> AccessDeniedException { - let reader = baseError.errorBodyReader - var value = AccessDeniedException() - value.properties.message = try reader["Message"].readIfPresent() ?? "" - value.httpResponse = baseError.httpResponse - value.requestID = baseError.requestID - value.message = baseError.message - return value - } -} - extension ServiceLimitExceededException { static func makeError(baseError: AWSClientRuntime.RestJSONError) throws -> ServiceLimitExceededException { @@ -5883,6 +6953,7 @@ extension DataExchangeClientTypes.OriginDetails { guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } var value = DataExchangeClientTypes.OriginDetails() value.productId = try reader["ProductId"].readIfPresent() + value.dataGrantId = try reader["DataGrantId"].readIfPresent() return value } } @@ -6454,6 +7525,27 @@ extension DataExchangeClientTypes.S3SnapshotAsset { } } +extension DataExchangeClientTypes.DataGrantSummaryEntry { + + static func read(from reader: SmithyJSON.Reader) throws -> DataExchangeClientTypes.DataGrantSummaryEntry { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = DataExchangeClientTypes.DataGrantSummaryEntry() + value.name = try reader["Name"].readIfPresent() ?? "" + value.senderPrincipal = try reader["SenderPrincipal"].readIfPresent() ?? "" + value.receiverPrincipal = try reader["ReceiverPrincipal"].readIfPresent() ?? "" + value.acceptanceState = try reader["AcceptanceState"].readIfPresent() ?? .sdkUnknown("") + value.acceptedAt = try reader["AcceptedAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.dateTime) + value.endsAt = try reader["EndsAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.dateTime) + value.dataSetId = try reader["DataSetId"].readIfPresent() ?? "" + value.sourceDataSetId = try reader["SourceDataSetId"].readIfPresent() ?? "" + value.id = try reader["Id"].readIfPresent() ?? "" + value.arn = try reader["Arn"].readIfPresent() ?? "" + value.createdAt = try reader["CreatedAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.dateTime) ?? SmithyTimestamps.TimestampFormatter(format: .dateTime).date(from: "1970-01-01T00:00:00Z") + value.updatedAt = try reader["UpdatedAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.dateTime) ?? SmithyTimestamps.TimestampFormatter(format: .dateTime).date(from: "1970-01-01T00:00:00Z") + return value + } +} + extension DataExchangeClientTypes.RevisionEntry { static func read(from reader: SmithyJSON.Reader) throws -> DataExchangeClientTypes.RevisionEntry { @@ -6525,6 +7617,26 @@ extension DataExchangeClientTypes.JobEntry { } } +extension DataExchangeClientTypes.ReceivedDataGrantSummariesEntry { + + static func read(from reader: SmithyJSON.Reader) throws -> DataExchangeClientTypes.ReceivedDataGrantSummariesEntry { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = DataExchangeClientTypes.ReceivedDataGrantSummariesEntry() + value.name = try reader["Name"].readIfPresent() ?? "" + value.senderPrincipal = try reader["SenderPrincipal"].readIfPresent() ?? "" + value.receiverPrincipal = try reader["ReceiverPrincipal"].readIfPresent() ?? "" + value.acceptanceState = try reader["AcceptanceState"].readIfPresent() ?? .sdkUnknown("") + value.acceptedAt = try reader["AcceptedAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.dateTime) + value.endsAt = try reader["EndsAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.dateTime) + value.dataSetId = try reader["DataSetId"].readIfPresent() ?? "" + value.id = try reader["Id"].readIfPresent() ?? "" + value.arn = try reader["Arn"].readIfPresent() ?? "" + value.createdAt = try reader["CreatedAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.dateTime) ?? SmithyTimestamps.TimestampFormatter(format: .dateTime).date(from: "1970-01-01T00:00:00Z") + value.updatedAt = try reader["UpdatedAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.dateTime) ?? SmithyTimestamps.TimestampFormatter(format: .dateTime).date(from: "1970-01-01T00:00:00Z") + return value + } +} + extension DataExchangeClientTypes.AssetEntry { static func read(from reader: SmithyJSON.Reader) throws -> DataExchangeClientTypes.AssetEntry { diff --git a/Sources/Services/AWSDataExchange/Sources/AWSDataExchange/Paginators.swift b/Sources/Services/AWSDataExchange/Sources/AWSDataExchange/Paginators.swift index c40422a371f..6567c125bd0 100644 --- a/Sources/Services/AWSDataExchange/Sources/AWSDataExchange/Paginators.swift +++ b/Sources/Services/AWSDataExchange/Sources/AWSDataExchange/Paginators.swift @@ -10,6 +10,36 @@ import protocol ClientRuntime.PaginateToken import struct ClientRuntime.PaginatorSequence +extension DataExchangeClient { + /// Paginate over `[ListDataGrantsOutput]` results. + /// + /// When this operation is called, an `AsyncSequence` is created. AsyncSequences are lazy so no service + /// calls are made until the sequence is iterated over. This also means there is no guarantee that the request is valid + /// until then. If there are errors in your request, you will see the failures only after you start iterating. + /// - Parameters: + /// - input: A `[ListDataGrantsInput]` to start pagination + /// - Returns: An `AsyncSequence` that can iterate over `ListDataGrantsOutput` + public func listDataGrantsPaginated(input: ListDataGrantsInput) -> ClientRuntime.PaginatorSequence { + return ClientRuntime.PaginatorSequence(input: input, inputKey: \.nextToken, outputKey: \.nextToken, paginationFunction: self.listDataGrants(input:)) + } +} + +extension ListDataGrantsInput: ClientRuntime.PaginateToken { + public func usingPaginationToken(_ token: Swift.String) -> ListDataGrantsInput { + return ListDataGrantsInput( + maxResults: self.maxResults, + nextToken: token + )} +} + +extension PaginatorSequence where OperationStackInput == ListDataGrantsInput, OperationStackOutput == ListDataGrantsOutput { + /// This paginator transforms the `AsyncSequence` returned by `listDataGrantsPaginated` + /// to access the nested member `[DataExchangeClientTypes.DataGrantSummaryEntry]` + /// - Returns: `[DataExchangeClientTypes.DataGrantSummaryEntry]` + public func dataGrantSummaries() async throws -> [DataExchangeClientTypes.DataGrantSummaryEntry] { + return try await self.asyncCompactMap { item in item.dataGrantSummaries } + } +} extension DataExchangeClient { /// Paginate over `[ListDataSetRevisionsOutput]` results. /// @@ -135,6 +165,37 @@ extension PaginatorSequence where OperationStackInput == ListJobsInput, Operatio return try await self.asyncCompactMap { item in item.jobs } } } +extension DataExchangeClient { + /// Paginate over `[ListReceivedDataGrantsOutput]` results. + /// + /// When this operation is called, an `AsyncSequence` is created. AsyncSequences are lazy so no service + /// calls are made until the sequence is iterated over. This also means there is no guarantee that the request is valid + /// until then. If there are errors in your request, you will see the failures only after you start iterating. + /// - Parameters: + /// - input: A `[ListReceivedDataGrantsInput]` to start pagination + /// - Returns: An `AsyncSequence` that can iterate over `ListReceivedDataGrantsOutput` + public func listReceivedDataGrantsPaginated(input: ListReceivedDataGrantsInput) -> ClientRuntime.PaginatorSequence { + return ClientRuntime.PaginatorSequence(input: input, inputKey: \.nextToken, outputKey: \.nextToken, paginationFunction: self.listReceivedDataGrants(input:)) + } +} + +extension ListReceivedDataGrantsInput: ClientRuntime.PaginateToken { + public func usingPaginationToken(_ token: Swift.String) -> ListReceivedDataGrantsInput { + return ListReceivedDataGrantsInput( + acceptanceState: self.acceptanceState, + maxResults: self.maxResults, + nextToken: token + )} +} + +extension PaginatorSequence where OperationStackInput == ListReceivedDataGrantsInput, OperationStackOutput == ListReceivedDataGrantsOutput { + /// This paginator transforms the `AsyncSequence` returned by `listReceivedDataGrantsPaginated` + /// to access the nested member `[DataExchangeClientTypes.ReceivedDataGrantSummariesEntry]` + /// - Returns: `[DataExchangeClientTypes.ReceivedDataGrantSummariesEntry]` + public func dataGrantSummaries() async throws -> [DataExchangeClientTypes.ReceivedDataGrantSummariesEntry] { + return try await self.asyncCompactMap { item in item.dataGrantSummaries } + } +} extension DataExchangeClient { /// Paginate over `[ListRevisionAssetsOutput]` results. /// diff --git a/Sources/Services/AWSECS/Sources/AWSECS/Models.swift b/Sources/Services/AWSECS/Sources/AWSECS/Models.swift index f5561dcf158..47cf0b9c643 100644 --- a/Sources/Services/AWSECS/Sources/AWSECS/Models.swift +++ b/Sources/Services/AWSECS/Sources/AWSECS/Models.swift @@ -8259,7 +8259,7 @@ public struct RunTaskInput: Swift.Sendable { public var platformVersion: Swift.String? /// Specifies whether to propagate the tags from the task definition to the task. If no value is specified, the tags aren't propagated. Tags can only be propagated to the task during task creation. To add tags to a task after task creation, use the[TagResource](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_TagResource.html) API action. An error will be received if you specify the SERVICE option when running a task. public var propagateTags: ECSClientTypes.PropagateTags? - /// The reference ID to use for the task. The reference ID can have a maximum length of 1024 characters. + /// This parameter is only used by Amazon ECS. It is not intended for use by customers. public var referenceId: Swift.String? /// An optional tag specified when a task is started. For example, if you automatically trigger a task to run a batch process job, you could apply a unique identifier for that job to your task with the startedBy parameter. You can then identify which tasks belong to that job by filtering the results of a [ListTasks](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ListTasks.html) call with the startedBy value. Up to 128 letters (uppercase and lowercase), numbers, hyphens (-), forward slash (/), and underscores (_) are allowed. If a task is started by an Amazon ECS service, then the startedBy parameter contains the deployment ID of the service that starts it. public var startedBy: Swift.String? @@ -8363,7 +8363,7 @@ public struct StartTaskInput: Swift.Sendable { public var overrides: ECSClientTypes.TaskOverride? /// Specifies whether to propagate the tags from the task definition or the service to the task. If no value is specified, the tags aren't propagated. public var propagateTags: ECSClientTypes.PropagateTags? - /// The reference ID to use for the task. + /// This parameter is only used by Amazon ECS. It is not intended for use by customers. public var referenceId: Swift.String? /// An optional tag specified when a task is started. For example, if you automatically trigger a task to run a batch process job, you could apply a unique identifier for that job to your task with the startedBy parameter. You can then identify which tasks belong to that job by filtering the results of a [ListTasks](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ListTasks.html) call with the startedBy value. Up to 36 letters (uppercase and lowercase), numbers, hyphens (-), forward slash (/), and underscores (_) are allowed. If a task is started by an Amazon ECS service, the startedBy parameter contains the deployment ID of the service that starts it. public var startedBy: Swift.String? diff --git a/Sources/Services/AWSPinpointSMSVoiceV2/Sources/AWSPinpointSMSVoiceV2/Models.swift b/Sources/Services/AWSPinpointSMSVoiceV2/Sources/AWSPinpointSMSVoiceV2/Models.swift index 2a87878994b..c12b1670565 100644 --- a/Sources/Services/AWSPinpointSMSVoiceV2/Sources/AWSPinpointSMSVoiceV2/Models.swift +++ b/Sources/Services/AWSPinpointSMSVoiceV2/Sources/AWSPinpointSMSVoiceV2/Models.swift @@ -705,6 +705,7 @@ extension PinpointSMSVoiceV2ClientTypes { case unknownRegistrationSection case unknownRegistrationType case unknownRegistrationVersion + case unspecifiedParameterNotSupported case verificationCodeMismatch case voiceCapabilityNotAvailable case sdkUnknown(Swift.String) @@ -748,6 +749,7 @@ extension PinpointSMSVoiceV2ClientTypes { .unknownRegistrationSection, .unknownRegistrationType, .unknownRegistrationVersion, + .unspecifiedParameterNotSupported, .verificationCodeMismatch, .voiceCapabilityNotAvailable ] @@ -797,6 +799,7 @@ extension PinpointSMSVoiceV2ClientTypes { case .unknownRegistrationSection: return "UNKNOWN_REGISTRATION_SECTION" case .unknownRegistrationType: return "UNKNOWN_REGISTRATION_TYPE" case .unknownRegistrationVersion: return "UNKNOWN_REGISTRATION_VERSION" + case .unspecifiedParameterNotSupported: return "UNSPECIFIED_PARAMETER_NOT_SUPPORTED" case .verificationCodeMismatch: return "VERIFICATION_CODE_MISMATCH" case .voiceCapabilityNotAvailable: return "VOICE_CAPABILITY_NOT_AVAILABLE" case let .sdkUnknown(s): return s @@ -1771,6 +1774,7 @@ extension PinpointSMSVoiceV2ClientTypes { case created case deleted case provisioning + case requiresAuthentication case requiresUpdates case reviewing case submitted @@ -1783,6 +1787,7 @@ extension PinpointSMSVoiceV2ClientTypes { .created, .deleted, .provisioning, + .requiresAuthentication, .requiresUpdates, .reviewing, .submitted @@ -1801,6 +1806,7 @@ extension PinpointSMSVoiceV2ClientTypes { case .created: return "CREATED" case .deleted: return "DELETED" case .provisioning: return "PROVISIONING" + case .requiresAuthentication: return "REQUIRES_AUTHENTICATION" case .requiresUpdates: return "REQUIRES_UPDATES" case .reviewing: return "REVIEWING" case .submitted: return "SUBMITTED" @@ -1937,9 +1943,9 @@ public struct CreateRegistrationAssociationOutput: Swift.Sendable { } public struct CreateRegistrationAttachmentInput: Swift.Sendable { - /// The registration file to upload. The maximum file size is 1MiB and valid file extensions are PDF, JPEG and PNG. + /// The registration file to upload. The maximum file size is 500KB and valid file extensions are PDF, JPEG and PNG. public var attachmentBody: Foundation.Data? - /// A URL to the required registration file. For example, you can provide the S3 object URL. + /// Registration files have to be stored in an Amazon S3 bucket. The URI to use when sending is in the format s3://BucketName/FileName. public var attachmentUrl: Swift.String? /// Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you don't specify a client token, a randomly generated token is used for the request to ensure idempotency. public var clientToken: Swift.String? @@ -2021,6 +2027,7 @@ extension PinpointSMSVoiceV2ClientTypes { case denied case discarded case draft + case requiresAuthentication case reviewing case revoked case submitted @@ -2033,6 +2040,7 @@ extension PinpointSMSVoiceV2ClientTypes { .denied, .discarded, .draft, + .requiresAuthentication, .reviewing, .revoked, .submitted @@ -2051,6 +2059,7 @@ extension PinpointSMSVoiceV2ClientTypes { case .denied: return "DENIED" case .discarded: return "DISCARDED" case .draft: return "DRAFT" + case .requiresAuthentication: return "REQUIRES_AUTHENTICATION" case .reviewing: return "REVIEWING" case .revoked: return "REVOKED" case .submitted: return "SUBMITTED" @@ -3296,7 +3305,7 @@ public struct DescribeOptedOutNumbersInput: Swift.Sendable { /// The OptOutListName or OptOutListArn of the OptOutList. You can use [DescribeOptOutLists] to find the values for OptOutListName and OptOutListArn. If you are using a shared AWS End User Messaging SMS and Voice resource then you must use the full Amazon Resource Name(ARN). /// This member is required. public var optOutListName: Swift.String? - /// An array of phone numbers to search for in the OptOutList. + /// An array of phone numbers to search for in the OptOutList. If you specify an opted out number that isn't valid, an exception is returned. public var optedOutNumbers: [Swift.String]? public init( diff --git a/Sources/Services/AWSPinpointSMSVoiceV2/Sources/AWSPinpointSMSVoiceV2/PinpointSMSVoiceV2Client.swift b/Sources/Services/AWSPinpointSMSVoiceV2/Sources/AWSPinpointSMSVoiceV2/PinpointSMSVoiceV2Client.swift index fec1661524a..d60eb942b40 100644 --- a/Sources/Services/AWSPinpointSMSVoiceV2/Sources/AWSPinpointSMSVoiceV2/PinpointSMSVoiceV2Client.swift +++ b/Sources/Services/AWSPinpointSMSVoiceV2/Sources/AWSPinpointSMSVoiceV2/PinpointSMSVoiceV2Client.swift @@ -882,7 +882,7 @@ extension PinpointSMSVoiceV2Client { /// Performs the `CreateRegistrationAttachment` operation on the `PinpointSMSVoiceV2` service. /// - /// Create a new registration attachment to use for uploading a file or a URL to a file. The maximum file size is 1MiB and valid file extensions are PDF, JPEG and PNG. For example, many sender ID registrations require a signed “letter of authorization” (LOA) to be submitted. + /// Create a new registration attachment to use for uploading a file or a URL to a file. The maximum file size is 500KB and valid file extensions are PDF, JPEG and PNG. For example, many sender ID registrations require a signed “letter of authorization” (LOA) to be submitted. Use either AttachmentUrl or AttachmentBody to upload your attachment. If both are specified then an exception is returned. /// /// - Parameter CreateRegistrationAttachmentInput : [no documentation found] /// @@ -2816,7 +2816,7 @@ extension PinpointSMSVoiceV2Client { /// Performs the `DescribeOptedOutNumbers` operation on the `PinpointSMSVoiceV2` service. /// - /// Describes the specified opted out destination numbers or all opted out destination numbers in an opt-out list. If you specify opted out numbers, the output includes information for only the specified opted out numbers. If you specify filters, the output includes information for only those opted out numbers that meet the filter criteria. If you don't specify opted out numbers or filters, the output includes information for all opted out destination numbers in your opt-out list. If you specify an opted out number that isn't valid, an error is returned. + /// Describes the specified opted out destination numbers or all opted out destination numbers in an opt-out list. If you specify opted out numbers, the output includes information for only the specified opted out numbers. If you specify filters, the output includes information for only those opted out numbers that meet the filter criteria. If you don't specify opted out numbers or filters, the output includes information for all opted out destination numbers in your opt-out list. If you specify an opted out number that isn't valid, an exception is returned. /// /// - Parameter DescribeOptedOutNumbersInput : [no documentation found] /// diff --git a/Sources/Services/AWSPipes/Sources/AWSPipes/Models.swift b/Sources/Services/AWSPipes/Sources/AWSPipes/Models.swift index 2ba17189499..8152937a909 100644 --- a/Sources/Services/AWSPipes/Sources/AWSPipes/Models.swift +++ b/Sources/Services/AWSPipes/Sources/AWSPipes/Models.swift @@ -936,15 +936,15 @@ extension PipesClientTypes { public var deadLetterConfig: PipesClientTypes.DeadLetterConfig? /// The maximum length of a time to wait for events. public var maximumBatchingWindowInSeconds: Swift.Int? - /// (Streams only) Discard records older than the specified age. The default value is -1, which sets the maximum age to infinite. When the value is set to infinite, EventBridge never discards old records. + /// Discard records older than the specified age. The default value is -1, which sets the maximum age to infinite. When the value is set to infinite, EventBridge never discards old records. public var maximumRecordAgeInSeconds: Swift.Int? - /// (Streams only) Discard records after the specified number of retries. The default value is -1, which sets the maximum number of retries to infinite. When MaximumRetryAttempts is infinite, EventBridge retries failed records until the record expires in the event source. + /// Discard records after the specified number of retries. The default value is -1, which sets the maximum number of retries to infinite. When MaximumRetryAttempts is infinite, EventBridge retries failed records until the record expires in the event source. public var maximumRetryAttempts: Swift.Int? - /// (Streams only) Define how to handle item process failures. AUTOMATIC_BISECT halves each batch and retry each half until all the records are processed or there is one failed message left in the batch. + /// Define how to handle item process failures. AUTOMATIC_BISECT halves each batch and retry each half until all the records are processed or there is one failed message left in the batch. public var onPartialBatchItemFailure: PipesClientTypes.OnPartialBatchItemFailureStreams? - /// (Streams only) The number of batches to process concurrently from each shard. The default value is 1. + /// The number of batches to process concurrently from each shard. The default value is 1. public var parallelizationFactor: Swift.Int? - /// (Streams only) The position in a stream from which to start reading. + /// The position in a stream from which to start reading. /// This member is required. public var startingPosition: PipesClientTypes.DynamoDBStreamStartPosition? @@ -1050,15 +1050,15 @@ extension PipesClientTypes { public var deadLetterConfig: PipesClientTypes.DeadLetterConfig? /// The maximum length of a time to wait for events. public var maximumBatchingWindowInSeconds: Swift.Int? - /// (Streams only) Discard records older than the specified age. The default value is -1, which sets the maximum age to infinite. When the value is set to infinite, EventBridge never discards old records. + /// Discard records older than the specified age. The default value is -1, which sets the maximum age to infinite. When the value is set to infinite, EventBridge never discards old records. public var maximumRecordAgeInSeconds: Swift.Int? - /// (Streams only) Discard records after the specified number of retries. The default value is -1, which sets the maximum number of retries to infinite. When MaximumRetryAttempts is infinite, EventBridge retries failed records until the record expires in the event source. + /// Discard records after the specified number of retries. The default value is -1, which sets the maximum number of retries to infinite. When MaximumRetryAttempts is infinite, EventBridge retries failed records until the record expires in the event source. public var maximumRetryAttempts: Swift.Int? - /// (Streams only) Define how to handle item process failures. AUTOMATIC_BISECT halves each batch and retry each half until all the records are processed or there is one failed message left in the batch. + /// Define how to handle item process failures. AUTOMATIC_BISECT halves each batch and retry each half until all the records are processed or there is one failed message left in the batch. public var onPartialBatchItemFailure: PipesClientTypes.OnPartialBatchItemFailureStreams? - /// (Streams only) The number of batches to process concurrently from each shard. The default value is 1. + /// The number of batches to process concurrently from each shard. The default value is 1. public var parallelizationFactor: Swift.Int? - /// (Streams only) The position in a stream from which to start reading. + /// The position in a stream from which to start reading. /// This member is required. public var startingPosition: PipesClientTypes.KinesisStreamStartPosition? /// With StartingPosition set to AT_TIMESTAMP, the time from which to start reading, in Unix time seconds. @@ -1142,7 +1142,7 @@ extension PipesClientTypes { public var credentials: PipesClientTypes.MSKAccessCredentials? /// The maximum length of a time to wait for events. public var maximumBatchingWindowInSeconds: Swift.Int? - /// (Streams only) The position in a stream from which to start reading. + /// The position in a stream from which to start reading. public var startingPosition: PipesClientTypes.MSKStartPosition? /// The name of the topic that the pipe will read from. /// This member is required. @@ -1297,7 +1297,7 @@ extension PipesClientTypes { public var maximumBatchingWindowInSeconds: Swift.Int? /// The ARN of the Secrets Manager secret used for certification. public var serverRootCaCertificate: Swift.String? - /// (Streams only) The position in a stream from which to start reading. + /// The position in a stream from which to start reading. public var startingPosition: PipesClientTypes.SelfManagedKafkaStartPosition? /// The name of the topic that the pipe will read from. /// This member is required. @@ -2522,7 +2522,7 @@ extension PipesClientTypes { /// Dynamic path to the source data field that represents the time value for your data. /// This member is required. public var timeValue: Swift.String? - /// How to format the timestamps. For example, YYYY-MM-DDThh:mm:ss.sssTZD. Required if TimeFieldType is specified as TIMESTAMP_FORMAT. + /// How to format the timestamps. For example, yyyy-MM-dd'T'HH:mm:ss'Z'. Required if TimeFieldType is specified as TIMESTAMP_FORMAT. public var timestampFormat: Swift.String? /// 64 bit version value or source data field that represents the version value for your data. Write requests with a higher version number will update the existing measure values of the record and version. In cases where the measure value is the same, the version will still be updated. Default value is 1. Timestream for LiveAnalytics does not support updating partial measure values in a record. Write requests for duplicate data with a higher version number will update the existing measure value and version. In cases where the measure value is the same, Version will still be updated. Default value is 1. Version must be 1 or greater, or you will receive a ValidationException error. /// This member is required. @@ -3309,13 +3309,13 @@ extension PipesClientTypes { public var deadLetterConfig: PipesClientTypes.DeadLetterConfig? /// The maximum length of a time to wait for events. public var maximumBatchingWindowInSeconds: Swift.Int? - /// (Streams only) Discard records older than the specified age. The default value is -1, which sets the maximum age to infinite. When the value is set to infinite, EventBridge never discards old records. + /// Discard records older than the specified age. The default value is -1, which sets the maximum age to infinite. When the value is set to infinite, EventBridge never discards old records. public var maximumRecordAgeInSeconds: Swift.Int? - /// (Streams only) Discard records after the specified number of retries. The default value is -1, which sets the maximum number of retries to infinite. When MaximumRetryAttempts is infinite, EventBridge retries failed records until the record expires in the event source. + /// Discard records after the specified number of retries. The default value is -1, which sets the maximum number of retries to infinite. When MaximumRetryAttempts is infinite, EventBridge retries failed records until the record expires in the event source. public var maximumRetryAttempts: Swift.Int? - /// (Streams only) Define how to handle item process failures. AUTOMATIC_BISECT halves each batch and retry each half until all the records are processed or there is one failed message left in the batch. + /// Define how to handle item process failures. AUTOMATIC_BISECT halves each batch and retry each half until all the records are processed or there is one failed message left in the batch. public var onPartialBatchItemFailure: PipesClientTypes.OnPartialBatchItemFailureStreams? - /// (Streams only) The number of batches to process concurrently from each shard. The default value is 1. + /// The number of batches to process concurrently from each shard. The default value is 1. public var parallelizationFactor: Swift.Int? public init( @@ -3349,13 +3349,13 @@ extension PipesClientTypes { public var deadLetterConfig: PipesClientTypes.DeadLetterConfig? /// The maximum length of a time to wait for events. public var maximumBatchingWindowInSeconds: Swift.Int? - /// (Streams only) Discard records older than the specified age. The default value is -1, which sets the maximum age to infinite. When the value is set to infinite, EventBridge never discards old records. + /// Discard records older than the specified age. The default value is -1, which sets the maximum age to infinite. When the value is set to infinite, EventBridge never discards old records. public var maximumRecordAgeInSeconds: Swift.Int? - /// (Streams only) Discard records after the specified number of retries. The default value is -1, which sets the maximum number of retries to infinite. When MaximumRetryAttempts is infinite, EventBridge retries failed records until the record expires in the event source. + /// Discard records after the specified number of retries. The default value is -1, which sets the maximum number of retries to infinite. When MaximumRetryAttempts is infinite, EventBridge retries failed records until the record expires in the event source. public var maximumRetryAttempts: Swift.Int? - /// (Streams only) Define how to handle item process failures. AUTOMATIC_BISECT halves each batch and retry each half until all the records are processed or there is one failed message left in the batch. + /// Define how to handle item process failures. AUTOMATIC_BISECT halves each batch and retry each half until all the records are processed or there is one failed message left in the batch. public var onPartialBatchItemFailure: PipesClientTypes.OnPartialBatchItemFailureStreams? - /// (Streams only) The number of batches to process concurrently from each shard. The default value is 1. + /// The number of batches to process concurrently from each shard. The default value is 1. public var parallelizationFactor: Swift.Int? public init( diff --git a/Sources/Services/AWSQuickSight/Sources/AWSQuickSight/Models.swift b/Sources/Services/AWSQuickSight/Sources/AWSQuickSight/Models.swift index e49319ab5bd..7c096be8146 100644 --- a/Sources/Services/AWSQuickSight/Sources/AWSQuickSight/Models.swift +++ b/Sources/Services/AWSQuickSight/Sources/AWSQuickSight/Models.swift @@ -37501,14 +37501,18 @@ public struct RestoreAnalysisInput: Swift.Sendable { /// The ID of the Amazon Web Services account that contains the analysis. /// This member is required. public var awsAccountId: Swift.String? + /// A boolean value that determines if the analysis will be restored to folders that it previously resided in. A True value restores analysis back to all folders that it previously resided in. A False value restores the analysis but does not restore the analysis back to all previously resided folders. Restoring a restricted analysis requires this parameter to be set to True. + public var restoreToFolders: Swift.Bool? public init( analysisId: Swift.String? = nil, - awsAccountId: Swift.String? = nil + awsAccountId: Swift.String? = nil, + restoreToFolders: Swift.Bool? = false ) { self.analysisId = analysisId self.awsAccountId = awsAccountId + self.restoreToFolders = restoreToFolders } } @@ -37519,6 +37523,8 @@ public struct RestoreAnalysisOutput: Swift.Sendable { public var arn: Swift.String? /// The Amazon Web Services request ID for this operation. public var requestId: Swift.String? + /// A list of folder arns thatthe analysis failed to be restored to. + public var restorationFailedFolderArns: [Swift.String]? /// The HTTP status of the request. public var status: Swift.Int @@ -37526,12 +37532,14 @@ public struct RestoreAnalysisOutput: Swift.Sendable { analysisId: Swift.String? = nil, arn: Swift.String? = nil, requestId: Swift.String? = nil, + restorationFailedFolderArns: [Swift.String]? = nil, status: Swift.Int = 0 ) { self.analysisId = analysisId self.arn = arn self.requestId = requestId + self.restorationFailedFolderArns = restorationFailedFolderArns self.status = status } } @@ -38094,6 +38102,45 @@ public struct StartDashboardSnapshotJobOutput: Swift.Sendable { } } +public struct StartDashboardSnapshotJobScheduleInput: Swift.Sendable { + /// The ID of the Amazon Web Services account that the dashboard snapshot job is executed in. + /// This member is required. + public var awsAccountId: Swift.String? + /// The ID of the dashboard that you want to start a snapshot job schedule for. + /// This member is required. + public var dashboardId: Swift.String? + /// The ID of the schedule that you want to start a snapshot job schedule for. The schedule ID can be found in the Amazon QuickSight console in the Schedules pane of the dashboard that the schedule is configured for. + /// This member is required. + public var scheduleId: Swift.String? + + public init( + awsAccountId: Swift.String? = nil, + dashboardId: Swift.String? = nil, + scheduleId: Swift.String? = nil + ) + { + self.awsAccountId = awsAccountId + self.dashboardId = dashboardId + self.scheduleId = scheduleId + } +} + +public struct StartDashboardSnapshotJobScheduleOutput: Swift.Sendable { + /// The Amazon Web Services request ID for this operation. + public var requestId: Swift.String? + /// The HTTP status of the request + public var status: Swift.Int + + public init( + requestId: Swift.String? = nil, + status: Swift.Int = 0 + ) + { + self.requestId = requestId + self.status = status + } +} + public struct TagResourceInput: Swift.Sendable { /// The Amazon Resource Name (ARN) of the resource that you want to tag. /// This member is required. @@ -42840,6 +42887,18 @@ extension RestoreAnalysisInput { } } +extension RestoreAnalysisInput { + + static func queryItemProvider(_ value: RestoreAnalysisInput) throws -> [Smithy.URIQueryItem] { + var items = [Smithy.URIQueryItem]() + if let restoreToFolders = value.restoreToFolders { + let restoreToFoldersQueryItem = Smithy.URIQueryItem(name: "restore-to-folders".urlPercentEncoding(), value: Swift.String(restoreToFolders).urlPercentEncoding()) + items.append(restoreToFoldersQueryItem) + } + return items + } +} + extension SearchAnalysesInput { static func urlPathProvider(_ value: SearchAnalysesInput) -> Swift.String? { @@ -42952,6 +43011,22 @@ extension StartDashboardSnapshotJobInput { } } +extension StartDashboardSnapshotJobScheduleInput { + + static func urlPathProvider(_ value: StartDashboardSnapshotJobScheduleInput) -> Swift.String? { + guard let awsAccountId = value.awsAccountId else { + return nil + } + guard let dashboardId = value.dashboardId else { + return nil + } + guard let scheduleId = value.scheduleId else { + return nil + } + return "/accounts/\(awsAccountId.urlPercentEncoding())/dashboards/\(dashboardId.urlPercentEncoding())/schedules/\(scheduleId.urlPercentEncoding())" + } +} + extension TagResourceInput { static func urlPathProvider(_ value: TagResourceInput) -> Swift.String? { @@ -46257,6 +46332,7 @@ extension RestoreAnalysisOutput { value.analysisId = try reader["AnalysisId"].readIfPresent() value.arn = try reader["Arn"].readIfPresent() value.requestId = try reader["RequestId"].readIfPresent() + value.restorationFailedFolderArns = try reader["RestorationFailedFolderArns"].readListIfPresent(memberReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), memberNodeInfo: "member", isFlattened: false) value.status = httpResponse.statusCode.rawValue return value } @@ -46397,6 +46473,19 @@ extension StartDashboardSnapshotJobOutput { } } +extension StartDashboardSnapshotJobScheduleOutput { + + static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> StartDashboardSnapshotJobScheduleOutput { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let reader = responseReader + var value = StartDashboardSnapshotJobScheduleOutput() + value.requestId = try reader["RequestId"].readIfPresent() + value.status = httpResponse.statusCode.rawValue + return value + } +} + extension TagResourceOutput { static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> TagResourceOutput { @@ -49583,6 +49672,8 @@ enum RestoreAnalysisOutputError { case "ConflictException": return try ConflictException.makeError(baseError: baseError) case "InternalFailureException": return try InternalFailureException.makeError(baseError: baseError) case "InvalidParameterValueException": return try InvalidParameterValueException.makeError(baseError: baseError) + case "LimitExceededException": return try LimitExceededException.makeError(baseError: baseError) + case "PreconditionNotMetException": return try PreconditionNotMetException.makeError(baseError: baseError) case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) case "UnsupportedUserEditionException": return try UnsupportedUserEditionException.makeError(baseError: baseError) @@ -49771,6 +49862,26 @@ enum StartDashboardSnapshotJobOutputError { } } +enum StartDashboardSnapshotJobScheduleOutputError { + + static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) + if let error = baseError.customError() { return error } + switch baseError.code { + case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) + case "InternalFailureException": return try InternalFailureException.makeError(baseError: baseError) + case "InvalidParameterValueException": return try InvalidParameterValueException.makeError(baseError: baseError) + case "LimitExceededException": return try LimitExceededException.makeError(baseError: baseError) + case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) + case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) + case "UnsupportedUserEditionException": return try UnsupportedUserEditionException.makeError(baseError: baseError) + default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) + } + } +} + enum TagResourceOutputError { static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { diff --git a/Sources/Services/AWSQuickSight/Sources/AWSQuickSight/QuickSightClient.swift b/Sources/Services/AWSQuickSight/Sources/AWSQuickSight/QuickSightClient.swift index 3c7960fca66..3068afc9ff9 100644 --- a/Sources/Services/AWSQuickSight/Sources/AWSQuickSight/QuickSightClient.swift +++ b/Sources/Services/AWSQuickSight/Sources/AWSQuickSight/QuickSightClient.swift @@ -9911,6 +9911,8 @@ extension QuickSightClient { /// - `ConflictException` : Updating or deleting a resource can cause an inconsistent state. /// - `InternalFailureException` : An internal failure occurred. /// - `InvalidParameterValueException` : One or more parameters has a value that isn't valid. + /// - `LimitExceededException` : A limit is exceeded. + /// - `PreconditionNotMetException` : One or more preconditions aren't met. /// - `ResourceNotFoundException` : One or more resources can't be found. /// - `ThrottlingException` : Access is throttled. /// - `UnsupportedUserEditionException` : This error indicates that you are calling an operation on an Amazon QuickSight subscription where the edition doesn't include support for that operation. Amazon Amazon QuickSight currently has Standard Edition and Enterprise Edition. Not every operation and capability is available in every edition. @@ -9942,6 +9944,7 @@ extension QuickSightClient { } builder.interceptors.add(ClientRuntime.URLPathMiddleware(RestoreAnalysisInput.urlPathProvider(_:))) builder.interceptors.add(ClientRuntime.URLHostMiddleware()) + builder.serialize(ClientRuntime.QueryItemMiddleware(RestoreAnalysisInput.queryItemProvider(_:))) builder.deserialize(ClientRuntime.DeserializeMiddleware(RestoreAnalysisOutput.httpOutput(from:), RestoreAnalysisOutputError.httpError(from:))) builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) @@ -10674,6 +10677,78 @@ extension QuickSightClient { return try await op.execute(input: input) } + /// Performs the `StartDashboardSnapshotJobSchedule` operation on the `QuickSight_20180401` service. + /// + /// Starts an asynchronous job that runs an existing dashboard schedule and sends the dashboard snapshot through email. Only one job can run simultaneously in a given schedule. Repeated requests are skipped with a 202 HTTP status code. For more information, see [Scheduling and sending Amazon QuickSight reports by email](https://docs.aws.amazon.com/quicksight/latest/user/sending-reports.html) and [Configuring email report settings for a Amazon QuickSight dashboard](https://docs.aws.amazon.com/quicksight/latest/user/email-reports-from-dashboard.html) in the Amazon QuickSight User Guide. + /// + /// - Parameter StartDashboardSnapshotJobScheduleInput : [no documentation found] + /// + /// - Returns: `StartDashboardSnapshotJobScheduleOutput` : [no documentation found] + /// + /// - Throws: One of the exceptions listed below __Possible Exceptions__. + /// + /// __Possible Exceptions:__ + /// - `AccessDeniedException` : You don't have access to this item. The provided credentials couldn't be validated. You might not be authorized to carry out the request. Make sure that your account is authorized to use the Amazon QuickSight service, that your policies have the correct permissions, and that you are using the correct credentials. + /// - `InternalFailureException` : An internal failure occurred. + /// - `InvalidParameterValueException` : One or more parameters has a value that isn't valid. + /// - `LimitExceededException` : A limit is exceeded. + /// - `ResourceNotFoundException` : One or more resources can't be found. + /// - `ThrottlingException` : Access is throttled. + /// - `UnsupportedUserEditionException` : This error indicates that you are calling an operation on an Amazon QuickSight subscription where the edition doesn't include support for that operation. Amazon Amazon QuickSight currently has Standard Edition and Enterprise Edition. Not every operation and capability is available in every edition. + public func startDashboardSnapshotJobSchedule(input: StartDashboardSnapshotJobScheduleInput) async throws -> StartDashboardSnapshotJobScheduleOutput { + let context = Smithy.ContextBuilder() + .withMethod(value: .post) + .withServiceName(value: serviceName) + .withOperation(value: "startDashboardSnapshotJobSchedule") + .withIdempotencyTokenGenerator(value: config.idempotencyTokenGenerator) + .withLogger(value: config.logger) + .withPartitionID(value: config.partitionID) + .withAuthSchemes(value: config.authSchemes ?? []) + .withAuthSchemeResolver(value: config.authSchemeResolver) + .withUnsignedPayloadTrait(value: false) + .withSocketTimeout(value: config.httpClientConfiguration.socketTimeout) + .withIdentityResolver(value: config.bearerTokenIdentityResolver, schemeID: "smithy.api#httpBearerAuth") + .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4") + .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") + .withRegion(value: config.region) + .withSigningName(value: "quicksight") + .withSigningRegion(value: config.signingRegion) + .build() + let builder = ClientRuntime.OrchestratorBuilder() + config.interceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + config.httpInterceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + builder.interceptors.add(ClientRuntime.URLPathMiddleware(StartDashboardSnapshotJobScheduleInput.urlPathProvider(_:))) + builder.interceptors.add(ClientRuntime.URLHostMiddleware()) + builder.deserialize(ClientRuntime.DeserializeMiddleware(StartDashboardSnapshotJobScheduleOutput.httpOutput(from:), StartDashboardSnapshotJobScheduleOutputError.httpError(from:))) + builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) + builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) + builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) + builder.applySigner(ClientRuntime.SignerMiddleware()) + let endpointParams = EndpointParams(endpoint: config.endpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) + builder.applyEndpoint(AWSClientRuntime.EndpointResolverMiddleware(endpointResolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) }, endpointParams: endpointParams)) + builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: "1.0", config: config)) + builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) + var metricsAttributes = Smithy.Attributes() + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "QuickSight") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "StartDashboardSnapshotJobSchedule") + let op = builder.attributes(context) + .telemetry(ClientRuntime.OrchestratorTelemetry( + telemetryProvider: config.telemetryProvider, + metricsAttributes: metricsAttributes, + meterScope: serviceName, + tracerScope: serviceName + )) + .executeRequest(client) + .build() + return try await op.execute(input: input) + } + /// Performs the `TagResource` operation on the `QuickSight_20180401` service. /// /// Assigns one or more tags (key-value pairs) to the specified Amazon QuickSight resource. Tags can help you organize and categorize your resources. You can also use them to scope user permissions, by granting a user permission to access or change only resources with certain tag values. You can use the TagResource operation with a resource that already has tags. If you specify a new tag key for the resource, this tag is appended to the list of tags associated with the resource. If you specify a tag key that is already associated with the resource, the new tag value that you specify replaces the previous value for that tag. You can associate as many as 50 tags with a resource. Amazon QuickSight supports tagging on data set, data source, dashboard, template, topic, and user. Tagging for Amazon QuickSight works in a similar way to tagging for other Amazon Web Services services, except for the following: diff --git a/Sources/Services/AWSRDS/Sources/AWSRDS/Models.swift b/Sources/Services/AWSRDS/Sources/AWSRDS/Models.swift index b4a898d9300..366d4645beb 100644 --- a/Sources/Services/AWSRDS/Sources/AWSRDS/Models.swift +++ b/Sources/Services/AWSRDS/Sources/AWSRDS/Models.swift @@ -3980,7 +3980,7 @@ public struct CreateDBClusterInput: Swift.Sendable { /// /// For more information, see [Using RDS Data API](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/data-api.html) in the Amazon Aurora User Guide. Valid for Cluster Type: Aurora DB clusters only public var enableHttpEndpoint: Swift.Bool? - /// Specifies whether to enable mapping of Amazon Web Services Identity and Access Management (IAM) accounts to database accounts. By default, mapping isn't enabled. For more information, see [ IAM Database Authentication](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.IAMDBAuth.html) in the Amazon Aurora User Guide. Valid for Cluster Type: Aurora DB clusters only + /// Specifies whether to enable mapping of Amazon Web Services Identity and Access Management (IAM) accounts to database accounts. By default, mapping isn't enabled. For more information, see [ IAM Database Authentication](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.IAMDBAuth.html) in the Amazon Aurora User Guide or [IAM database authentication for MariaDB, MySQL, and PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.html) in the Amazon RDS User Guide. Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters public var enableIAMDatabaseAuthentication: Swift.Bool? /// Specifies whether to enable Aurora Limitless Database. You must enable Aurora Limitless Database to create a DB shard group. Valid for: Aurora DB clusters only public var enableLimitlessDatabase: Swift.Bool? @@ -10796,7 +10796,7 @@ public struct InvalidDBShardGroupStateFault: ClientRuntime.ModeledError, AWSClie } public struct DeleteDBShardGroupInput: Swift.Sendable { - /// Teh name of the DB shard group to delete. + /// The name of the DB shard group to delete. /// This member is required. public var dbShardGroupIdentifier: Swift.String? @@ -13762,7 +13762,7 @@ public struct DescribeDBSecurityGroupsOutput: Swift.Sendable { } public struct DescribeDBShardGroupsInput: Swift.Sendable { - /// The user-supplied DB shard group identifier or the Amazon Resource Name (ARN) of the DB shard group. If this parameter is specified, information for only the specific DB shard group is returned. This parameter isn't case-sensitive. Constraints: + /// The user-supplied DB shard group identifier. If this parameter is specified, information for only the specific DB shard group is returned. This parameter isn't case-sensitive. Constraints: /// /// * If supplied, must match an existing DB shard group identifier. public var dbShardGroupIdentifier: Swift.String? @@ -16975,13 +16975,13 @@ public struct ModifyDBClusterInput: Swift.Sendable { public var enableGlobalWriteForwarding: Swift.Bool? /// Specifies whether to enable the HTTP endpoint for an Aurora Serverless v1 DB cluster. By default, the HTTP endpoint isn't enabled. When enabled, the HTTP endpoint provides a connectionless web service API (RDS Data API) for running SQL queries on the Aurora Serverless v1 DB cluster. You can also query your database from inside the RDS console with the RDS query editor. For more information, see [Using RDS Data API](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/data-api.html) in the Amazon Aurora User Guide. This parameter applies only to Aurora Serverless v1 DB clusters. To enable or disable the HTTP endpoint for an Aurora PostgreSQL Serverless v2 or provisioned DB cluster, use the EnableHttpEndpoint and DisableHttpEndpoint operations. Valid for Cluster Type: Aurora DB clusters only public var enableHttpEndpoint: Swift.Bool? - /// Specifies whether to enable mapping of Amazon Web Services Identity and Access Management (IAM) accounts to database accounts. By default, mapping isn't enabled. For more information, see [ IAM Database Authentication](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.IAMDBAuth.html) in the Amazon Aurora User Guide. Valid for Cluster Type: Aurora DB clusters only + /// Specifies whether to enable mapping of Amazon Web Services Identity and Access Management (IAM) accounts to database accounts. By default, mapping isn't enabled. For more information, see [ IAM Database Authentication](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.IAMDBAuth.html) in the Amazon Aurora User Guide or [IAM database authentication for MariaDB, MySQL, and PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.html) in the Amazon RDS User Guide. Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters public var enableIAMDatabaseAuthentication: Swift.Bool? /// Specifies whether to enable Aurora Limitless Database. You must enable Aurora Limitless Database to create a DB shard group. Valid for: Aurora DB clusters only public var enableLimitlessDatabase: Swift.Bool? /// Specifies whether read replicas can forward write operations to the writer DB instance in the DB cluster. By default, write operations aren't allowed on reader DB instances. Valid for: Aurora DB clusters only public var enableLocalWriteForwarding: Swift.Bool? - /// Specifies whether to turn on Performance Insights for the DB cluster. For more information, see [ Using Amazon Performance Insights](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html) in the Amazon RDS User Guide. Valid for Cluster Type: Multi-AZ DB clusters only + /// Specifies whether to turn on Performance Insights for the DB cluster. For more information, see [ Using Amazon Performance Insights](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html) in the Amazon RDS User Guide. Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters public var enablePerformanceInsights: Swift.Bool? /// The DB engine mode of the DB cluster, either provisioned or serverless. The DB engine mode can be modified only from serverless to provisioned. For more information, see [ CreateDBCluster](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBCluster.html). Valid for Cluster Type: Aurora DB clusters only public var engineMode: Swift.String? @@ -19655,7 +19655,7 @@ public struct RestoreDBClusterFromSnapshotInput: Swift.Sendable { public var domainIAMRoleName: Swift.String? /// The list of logs that the restored DB cluster is to export to Amazon CloudWatch Logs. The values in the list depend on the DB engine being used. RDS for MySQL Possible values are error, general, and slowquery. RDS for PostgreSQL Possible values are postgresql and upgrade. Aurora MySQL Possible values are audit, error, general, and slowquery. Aurora PostgreSQL Possible value is postgresql. For more information about exporting CloudWatch Logs for Amazon RDS, see [Publishing Database Logs to Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch) in the Amazon RDS User Guide. For more information about exporting CloudWatch Logs for Amazon Aurora, see [Publishing Database Logs to Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch) in the Amazon Aurora User Guide. Valid for: Aurora DB clusters and Multi-AZ DB clusters public var enableCloudwatchLogsExports: [Swift.String]? - /// Specifies whether to enable mapping of Amazon Web Services Identity and Access Management (IAM) accounts to database accounts. By default, mapping isn't enabled. For more information, see [ IAM Database Authentication](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.IAMDBAuth.html) in the Amazon Aurora User Guide. Valid for: Aurora DB clusters only + /// Specifies whether to enable mapping of Amazon Web Services Identity and Access Management (IAM) accounts to database accounts. By default, mapping isn't enabled. For more information, see [ IAM Database Authentication](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.IAMDBAuth.html) in the Amazon Aurora User Guide or [ IAM database authentication for MariaDB, MySQL, and PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.html) in the Amazon RDS User Guide. Valid for: Aurora DB clusters and Multi-AZ DB clusters public var enableIAMDatabaseAuthentication: Swift.Bool? /// The database engine to use for the new DB cluster. Default: The same as source Constraint: Must be compatible with the engine of the source Valid for: Aurora DB clusters and Multi-AZ DB clusters /// This member is required. @@ -19860,7 +19860,7 @@ public struct RestoreDBClusterToPointInTimeInput: Swift.Sendable { public var domainIAMRoleName: Swift.String? /// The list of logs that the restored DB cluster is to export to CloudWatch Logs. The values in the list depend on the DB engine being used. RDS for MySQL Possible values are error, general, and slowquery. RDS for PostgreSQL Possible values are postgresql and upgrade. Aurora MySQL Possible values are audit, error, general, and slowquery. Aurora PostgreSQL Possible value is postgresql. For more information about exporting CloudWatch Logs for Amazon RDS, see [Publishing Database Logs to Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch) in the Amazon RDS User Guide. For more information about exporting CloudWatch Logs for Amazon Aurora, see [Publishing Database Logs to Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch) in the Amazon Aurora User Guide. Valid for: Aurora DB clusters and Multi-AZ DB clusters public var enableCloudwatchLogsExports: [Swift.String]? - /// Specifies whether to enable mapping of Amazon Web Services Identity and Access Management (IAM) accounts to database accounts. By default, mapping isn't enabled. For more information, see [ IAM Database Authentication](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.IAMDBAuth.html) in the Amazon Aurora User Guide. Valid for: Aurora DB clusters only + /// Specifies whether to enable mapping of Amazon Web Services Identity and Access Management (IAM) accounts to database accounts. By default, mapping isn't enabled. For more information, see [ IAM Database Authentication](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.IAMDBAuth.html) in the Amazon Aurora User Guide or [ IAM database authentication for MariaDB, MySQL, and PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.html) in the Amazon RDS User Guide. Valid for: Aurora DB clusters and Multi-AZ DB clusters public var enableIAMDatabaseAuthentication: Swift.Bool? /// The life cycle type for this DB cluster. By default, this value is set to open-source-rds-extended-support, which enrolls your DB cluster into Amazon RDS Extended Support. At the end of standard support, you can avoid charges for Extended Support by setting the value to open-source-rds-extended-support-disabled. In this case, RDS automatically upgrades your restored DB cluster to a higher engine version, if the major engine version is past its end of standard support date. You can use this setting to enroll your DB cluster into Amazon RDS Extended Support. With RDS Extended Support, you can run the selected major engine version on your DB cluster past the end of standard support for that engine version. For more information, see the following sections: /// @@ -21635,9 +21635,9 @@ public struct StopDBInstanceAutomatedBackupsReplicationOutput: Swift.Sendable { } public struct SwitchoverBlueGreenDeploymentInput: Swift.Sendable { - /// The unique identifier of the blue/green deployment. Constraints: + /// The resource ID of the blue/green deployment. Constraints: /// - /// * Must match an existing blue/green deployment identifier. + /// * Must match an existing blue/green deployment resource ID. /// This member is required. public var blueGreenDeploymentIdentifier: Swift.String? /// The amount of time, in seconds, for the switchover to complete. Default: 300 If the switchover takes longer than the specified duration, then any changes are rolled back, and no changes are made to the environments. diff --git a/packageDependencies.plist b/packageDependencies.plist index b7243940e6f..73169f30858 100644 --- a/packageDependencies.plist +++ b/packageDependencies.plist @@ -9,6 +9,6 @@ clientRuntimeBranch main clientRuntimeVersion - 0.80.0 + 0.81.0