commonMain.aws.sdk.kotlin.services.redshift.DefaultRedshiftClient.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of redshift-jvm Show documentation
Show all versions of redshift-jvm Show documentation
The AWS SDK for Kotlin client for Redshift
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.redshift
import aws.sdk.kotlin.runtime.http.ApiMetadata
import aws.sdk.kotlin.runtime.http.AwsUserAgentMetadata
import aws.sdk.kotlin.runtime.http.interceptors.AwsSpanInterceptor
import aws.sdk.kotlin.runtime.http.interceptors.BusinessMetricsInterceptor
import aws.sdk.kotlin.runtime.http.middleware.AwsRetryHeaderMiddleware
import aws.sdk.kotlin.runtime.http.middleware.RecursionDetection
import aws.sdk.kotlin.runtime.http.middleware.UserAgent
import aws.sdk.kotlin.services.redshift.auth.RedshiftAuthSchemeProviderAdapter
import aws.sdk.kotlin.services.redshift.auth.RedshiftIdentityProviderConfigAdapter
import aws.sdk.kotlin.services.redshift.endpoints.internal.EndpointResolverAdapter
import aws.sdk.kotlin.services.redshift.model.*
import aws.sdk.kotlin.services.redshift.serde.*
import aws.smithy.kotlin.runtime.auth.AuthSchemeId
import aws.smithy.kotlin.runtime.auth.awssigning.AwsSigningAttributes
import aws.smithy.kotlin.runtime.auth.awssigning.DefaultAwsSigner
import aws.smithy.kotlin.runtime.awsprotocol.AwsAttributes
import aws.smithy.kotlin.runtime.client.SdkClientOption
import aws.smithy.kotlin.runtime.collections.attributesOf
import aws.smithy.kotlin.runtime.collections.putIfAbsent
import aws.smithy.kotlin.runtime.collections.putIfAbsentNotNull
import aws.smithy.kotlin.runtime.http.SdkHttpClient
import aws.smithy.kotlin.runtime.http.auth.AuthScheme
import aws.smithy.kotlin.runtime.http.auth.SigV4AuthScheme
import aws.smithy.kotlin.runtime.http.middleware.MutateHeaders
import aws.smithy.kotlin.runtime.http.operation.OperationAuthConfig
import aws.smithy.kotlin.runtime.http.operation.OperationMetrics
import aws.smithy.kotlin.runtime.http.operation.SdkHttpOperation
import aws.smithy.kotlin.runtime.http.operation.context
import aws.smithy.kotlin.runtime.http.operation.roundTrip
import aws.smithy.kotlin.runtime.http.operation.telemetry
import aws.smithy.kotlin.runtime.io.SdkManagedGroup
import aws.smithy.kotlin.runtime.io.addIfManaged
import aws.smithy.kotlin.runtime.operation.ExecutionContext
internal class DefaultRedshiftClient(override val config: RedshiftClient.Config) : RedshiftClient {
private val managedResources = SdkManagedGroup()
private val client = SdkHttpClient(config.httpClient)
private val identityProviderConfig = RedshiftIdentityProviderConfigAdapter(config)
private val configuredAuthSchemes = with(config.authSchemes.associateBy(AuthScheme::schemeId).toMutableMap()){
getOrPut(AuthSchemeId.AwsSigV4){
SigV4AuthScheme(DefaultAwsSigner, "redshift")
}
toMap()
}
private val authSchemeAdapter = RedshiftAuthSchemeProviderAdapter(config)
private val telemetryScope = "aws.sdk.kotlin.services.redshift"
private val opMetrics = OperationMetrics(telemetryScope, config.telemetryProvider)
init {
managedResources.addIfManaged(config.httpClient)
managedResources.addIfManaged(config.credentialsProvider)
}
private val awsUserAgentMetadata = AwsUserAgentMetadata.fromEnvironment(ApiMetadata(ServiceId, SdkVersion), config.applicationId)
/**
* Exchanges a DC1 Reserved Node for a DC2 Reserved Node with no changes to the configuration (term, payment type, or number of nodes) and no additional costs.
*/
override suspend fun acceptReservedNodeExchange(input: AcceptReservedNodeExchangeRequest): AcceptReservedNodeExchangeResponse {
val op = SdkHttpOperation.build {
serializeWith = AcceptReservedNodeExchangeOperationSerializer()
deserializeWith = AcceptReservedNodeExchangeOperationDeserializer()
operationName = "AcceptReservedNodeExchange"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Adds a partner integration to a cluster. This operation authorizes a partner to push status updates for the specified database. To complete the integration, you also set up the integration on the partner website.
*/
override suspend fun addPartner(input: AddPartnerRequest): AddPartnerResponse {
val op = SdkHttpOperation.build {
serializeWith = AddPartnerOperationSerializer()
deserializeWith = AddPartnerOperationDeserializer()
operationName = "AddPartner"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* From a datashare consumer account, associates a datashare with the account (AssociateEntireAccount) or the specified namespace (ConsumerArn). If you make this association, the consumer can consume the datashare.
*/
override suspend fun associateDataShareConsumer(input: AssociateDataShareConsumerRequest): AssociateDataShareConsumerResponse {
val op = SdkHttpOperation.build {
serializeWith = AssociateDataShareConsumerOperationSerializer()
deserializeWith = AssociateDataShareConsumerOperationDeserializer()
operationName = "AssociateDataShareConsumer"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Adds an inbound (ingress) rule to an Amazon Redshift security group. Depending on whether the application accessing your cluster is running on the Internet or an Amazon EC2 instance, you can authorize inbound access to either a Classless Interdomain Routing (CIDR)/Internet Protocol (IP) range or to an Amazon EC2 security group. You can add as many as 20 ingress rules to an Amazon Redshift security group.
*
* If you authorize access to an Amazon EC2 security group, specify *EC2SecurityGroupName* and *EC2SecurityGroupOwnerId*. The Amazon EC2 security group and Amazon Redshift cluster must be in the same Amazon Web Services Region.
*
* If you authorize access to a CIDR/IP address range, specify *CIDRIP*. For an overview of CIDR blocks, see the Wikipedia article on [Classless Inter-Domain Routing](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing).
*
* You must also associate the security group with a cluster so that clients running on these IP addresses or the EC2 instance are authorized to connect to the cluster. For information about managing security groups, go to [Working with Security Groups](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-security-groups.html) in the *Amazon Redshift Cluster Management Guide*.
*/
override suspend fun authorizeClusterSecurityGroupIngress(input: AuthorizeClusterSecurityGroupIngressRequest): AuthorizeClusterSecurityGroupIngressResponse {
val op = SdkHttpOperation.build {
serializeWith = AuthorizeClusterSecurityGroupIngressOperationSerializer()
deserializeWith = AuthorizeClusterSecurityGroupIngressOperationDeserializer()
operationName = "AuthorizeClusterSecurityGroupIngress"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* From a data producer account, authorizes the sharing of a datashare with one or more consumer accounts or managing entities. To authorize a datashare for a data consumer, the producer account must have the correct access permissions.
*/
override suspend fun authorizeDataShare(input: AuthorizeDataShareRequest): AuthorizeDataShareResponse {
val op = SdkHttpOperation.build {
serializeWith = AuthorizeDataShareOperationSerializer()
deserializeWith = AuthorizeDataShareOperationDeserializer()
operationName = "AuthorizeDataShare"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Grants access to a cluster.
*/
override suspend fun authorizeEndpointAccess(input: AuthorizeEndpointAccessRequest): AuthorizeEndpointAccessResponse {
val op = SdkHttpOperation.build {
serializeWith = AuthorizeEndpointAccessOperationSerializer()
deserializeWith = AuthorizeEndpointAccessOperationDeserializer()
operationName = "AuthorizeEndpointAccess"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Authorizes the specified Amazon Web Services account to restore the specified snapshot.
*
* For more information about working with snapshots, go to [Amazon Redshift Snapshots](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-snapshots.html) in the *Amazon Redshift Cluster Management Guide*.
*/
override suspend fun authorizeSnapshotAccess(input: AuthorizeSnapshotAccessRequest): AuthorizeSnapshotAccessResponse {
val op = SdkHttpOperation.build {
serializeWith = AuthorizeSnapshotAccessOperationSerializer()
deserializeWith = AuthorizeSnapshotAccessOperationDeserializer()
operationName = "AuthorizeSnapshotAccess"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Deletes a set of cluster snapshots.
*/
override suspend fun batchDeleteClusterSnapshots(input: BatchDeleteClusterSnapshotsRequest): BatchDeleteClusterSnapshotsResponse {
val op = SdkHttpOperation.build {
serializeWith = BatchDeleteClusterSnapshotsOperationSerializer()
deserializeWith = BatchDeleteClusterSnapshotsOperationDeserializer()
operationName = "BatchDeleteClusterSnapshots"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Modifies the settings for a set of cluster snapshots.
*/
override suspend fun batchModifyClusterSnapshots(input: BatchModifyClusterSnapshotsRequest): BatchModifyClusterSnapshotsResponse {
val op = SdkHttpOperation.build {
serializeWith = BatchModifyClusterSnapshotsOperationSerializer()
deserializeWith = BatchModifyClusterSnapshotsOperationDeserializer()
operationName = "BatchModifyClusterSnapshots"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Cancels a resize operation for a cluster.
*/
override suspend fun cancelResize(input: CancelResizeRequest): CancelResizeResponse {
val op = SdkHttpOperation.build {
serializeWith = CancelResizeOperationSerializer()
deserializeWith = CancelResizeOperationDeserializer()
operationName = "CancelResize"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Copies the specified automated cluster snapshot to a new manual cluster snapshot. The source must be an automated snapshot and it must be in the available state.
*
* When you delete a cluster, Amazon Redshift deletes any automated snapshots of the cluster. Also, when the retention period of the snapshot expires, Amazon Redshift automatically deletes it. If you want to keep an automated snapshot for a longer period, you can make a manual copy of the snapshot. Manual snapshots are retained until you delete them.
*
* For more information about working with snapshots, go to [Amazon Redshift Snapshots](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-snapshots.html) in the *Amazon Redshift Cluster Management Guide*.
*/
override suspend fun copyClusterSnapshot(input: CopyClusterSnapshotRequest): CopyClusterSnapshotResponse {
val op = SdkHttpOperation.build {
serializeWith = CopyClusterSnapshotOperationSerializer()
deserializeWith = CopyClusterSnapshotOperationDeserializer()
operationName = "CopyClusterSnapshot"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Creates an authentication profile with the specified parameters.
*/
override suspend fun createAuthenticationProfile(input: CreateAuthenticationProfileRequest): CreateAuthenticationProfileResponse {
val op = SdkHttpOperation.build {
serializeWith = CreateAuthenticationProfileOperationSerializer()
deserializeWith = CreateAuthenticationProfileOperationDeserializer()
operationName = "CreateAuthenticationProfile"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Creates a new cluster with the specified parameters.
*
* To create a cluster in Virtual Private Cloud (VPC), you must provide a cluster subnet group name. The cluster subnet group identifies the subnets of your VPC that Amazon Redshift uses when creating the cluster. For more information about managing clusters, go to [Amazon Redshift Clusters](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html) in the *Amazon Redshift Cluster Management Guide*.
*/
override suspend fun createCluster(input: CreateClusterRequest): CreateClusterResponse {
val op = SdkHttpOperation.build {
serializeWith = CreateClusterOperationSerializer()
deserializeWith = CreateClusterOperationDeserializer()
operationName = "CreateCluster"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Creates an Amazon Redshift parameter group.
*
* Creating parameter groups is independent of creating clusters. You can associate a cluster with a parameter group when you create the cluster. You can also associate an existing cluster with a parameter group after the cluster is created by using ModifyCluster.
*
* Parameters in the parameter group define specific behavior that applies to the databases you create on the cluster. For more information about parameters and parameter groups, go to [Amazon Redshift Parameter Groups](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html) in the *Amazon Redshift Cluster Management Guide*.
*/
override suspend fun createClusterParameterGroup(input: CreateClusterParameterGroupRequest): CreateClusterParameterGroupResponse {
val op = SdkHttpOperation.build {
serializeWith = CreateClusterParameterGroupOperationSerializer()
deserializeWith = CreateClusterParameterGroupOperationDeserializer()
operationName = "CreateClusterParameterGroup"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Creates a new Amazon Redshift security group. You use security groups to control access to non-VPC clusters.
*
* For information about managing security groups, go to [Amazon Redshift Cluster Security Groups](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-security-groups.html) in the *Amazon Redshift Cluster Management Guide*.
*/
override suspend fun createClusterSecurityGroup(input: CreateClusterSecurityGroupRequest): CreateClusterSecurityGroupResponse {
val op = SdkHttpOperation.build {
serializeWith = CreateClusterSecurityGroupOperationSerializer()
deserializeWith = CreateClusterSecurityGroupOperationDeserializer()
operationName = "CreateClusterSecurityGroup"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Creates a manual snapshot of the specified cluster. The cluster must be in the `available` state.
*
* For more information about working with snapshots, go to [Amazon Redshift Snapshots](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-snapshots.html) in the *Amazon Redshift Cluster Management Guide*.
*/
override suspend fun createClusterSnapshot(input: CreateClusterSnapshotRequest): CreateClusterSnapshotResponse {
val op = SdkHttpOperation.build {
serializeWith = CreateClusterSnapshotOperationSerializer()
deserializeWith = CreateClusterSnapshotOperationDeserializer()
operationName = "CreateClusterSnapshot"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Creates a new Amazon Redshift subnet group. You must provide a list of one or more subnets in your existing Amazon Virtual Private Cloud (Amazon VPC) when creating Amazon Redshift subnet group.
*
* For information about subnet groups, go to [Amazon Redshift Cluster Subnet Groups](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-cluster-subnet-groups.html) in the *Amazon Redshift Cluster Management Guide*.
*/
override suspend fun createClusterSubnetGroup(input: CreateClusterSubnetGroupRequest): CreateClusterSubnetGroupResponse {
val op = SdkHttpOperation.build {
serializeWith = CreateClusterSubnetGroupOperationSerializer()
deserializeWith = CreateClusterSubnetGroupOperationDeserializer()
operationName = "CreateClusterSubnetGroup"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Used to create a custom domain name for a cluster. Properties include the custom domain name, the cluster the custom domain is associated with, and the certificate Amazon Resource Name (ARN).
*/
override suspend fun createCustomDomainAssociation(input: CreateCustomDomainAssociationRequest): CreateCustomDomainAssociationResponse {
val op = SdkHttpOperation.build {
serializeWith = CreateCustomDomainAssociationOperationSerializer()
deserializeWith = CreateCustomDomainAssociationOperationDeserializer()
operationName = "CreateCustomDomainAssociation"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Creates a Redshift-managed VPC endpoint.
*/
override suspend fun createEndpointAccess(input: CreateEndpointAccessRequest): CreateEndpointAccessResponse {
val op = SdkHttpOperation.build {
serializeWith = CreateEndpointAccessOperationSerializer()
deserializeWith = CreateEndpointAccessOperationDeserializer()
operationName = "CreateEndpointAccess"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Creates an Amazon Redshift event notification subscription. This action requires an ARN (Amazon Resource Name) of an Amazon SNS topic created by either the Amazon Redshift console, the Amazon SNS console, or the Amazon SNS API. To obtain an ARN with Amazon SNS, you must create a topic in Amazon SNS and subscribe to the topic. The ARN is displayed in the SNS console.
*
* You can specify the source type, and lists of Amazon Redshift source IDs, event categories, and event severities. Notifications will be sent for all events you want that match those criteria. For example, you can specify source type = cluster, source ID = my-cluster-1 and mycluster2, event categories = Availability, Backup, and severity = ERROR. The subscription will only send notifications for those ERROR events in the Availability and Backup categories for the specified clusters.
*
* If you specify both the source type and source IDs, such as source type = cluster and source identifier = my-cluster-1, notifications will be sent for all the cluster events for my-cluster-1. If you specify a source type but do not specify a source identifier, you will receive notice of the events for the objects of that type in your Amazon Web Services account. If you do not specify either the SourceType nor the SourceIdentifier, you will be notified of events generated from all Amazon Redshift sources belonging to your Amazon Web Services account. You must specify a source type if you specify a source ID.
*/
override suspend fun createEventSubscription(input: CreateEventSubscriptionRequest): CreateEventSubscriptionResponse {
val op = SdkHttpOperation.build {
serializeWith = CreateEventSubscriptionOperationSerializer()
deserializeWith = CreateEventSubscriptionOperationDeserializer()
operationName = "CreateEventSubscription"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Creates an HSM client certificate that an Amazon Redshift cluster will use to connect to the client's HSM in order to store and retrieve the keys used to encrypt the cluster databases.
*
* The command returns a public key, which you must store in the HSM. In addition to creating the HSM certificate, you must create an Amazon Redshift HSM configuration that provides a cluster the information needed to store and use encryption keys in the HSM. For more information, go to [Hardware Security Modules](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-db-encryption.html#working-with-HSM) in the *Amazon Redshift Cluster Management Guide*.
*/
override suspend fun createHsmClientCertificate(input: CreateHsmClientCertificateRequest): CreateHsmClientCertificateResponse {
val op = SdkHttpOperation.build {
serializeWith = CreateHsmClientCertificateOperationSerializer()
deserializeWith = CreateHsmClientCertificateOperationDeserializer()
operationName = "CreateHsmClientCertificate"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Creates an HSM configuration that contains the information required by an Amazon Redshift cluster to store and use database encryption keys in a Hardware Security Module (HSM). After creating the HSM configuration, you can specify it as a parameter when creating a cluster. The cluster will then store its encryption keys in the HSM.
*
* In addition to creating an HSM configuration, you must also create an HSM client certificate. For more information, go to [Hardware Security Modules](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-HSM.html) in the Amazon Redshift Cluster Management Guide.
*/
override suspend fun createHsmConfiguration(input: CreateHsmConfigurationRequest): CreateHsmConfigurationResponse {
val op = SdkHttpOperation.build {
serializeWith = CreateHsmConfigurationOperationSerializer()
deserializeWith = CreateHsmConfigurationOperationDeserializer()
operationName = "CreateHsmConfiguration"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Creates an Amazon Redshift application for use with IAM Identity Center.
*/
override suspend fun createRedshiftIdcApplication(input: CreateRedshiftIdcApplicationRequest): CreateRedshiftIdcApplicationResponse {
val op = SdkHttpOperation.build {
serializeWith = CreateRedshiftIdcApplicationOperationSerializer()
deserializeWith = CreateRedshiftIdcApplicationOperationDeserializer()
operationName = "CreateRedshiftIdcApplication"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Creates a scheduled action. A scheduled action contains a schedule and an Amazon Redshift API action. For example, you can create a schedule of when to run the `ResizeCluster` API operation.
*/
override suspend fun createScheduledAction(input: CreateScheduledActionRequest): CreateScheduledActionResponse {
val op = SdkHttpOperation.build {
serializeWith = CreateScheduledActionOperationSerializer()
deserializeWith = CreateScheduledActionOperationDeserializer()
operationName = "CreateScheduledAction"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Creates a snapshot copy grant that permits Amazon Redshift to use an encrypted symmetric key from Key Management Service (KMS) to encrypt copied snapshots in a destination region.
*
* For more information about managing snapshot copy grants, go to [Amazon Redshift Database Encryption](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-db-encryption.html) in the *Amazon Redshift Cluster Management Guide*.
*/
override suspend fun createSnapshotCopyGrant(input: CreateSnapshotCopyGrantRequest): CreateSnapshotCopyGrantResponse {
val op = SdkHttpOperation.build {
serializeWith = CreateSnapshotCopyGrantOperationSerializer()
deserializeWith = CreateSnapshotCopyGrantOperationDeserializer()
operationName = "CreateSnapshotCopyGrant"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Create a snapshot schedule that can be associated to a cluster and which overrides the default system backup schedule.
*/
override suspend fun createSnapshotSchedule(input: CreateSnapshotScheduleRequest): CreateSnapshotScheduleResponse {
val op = SdkHttpOperation.build {
serializeWith = CreateSnapshotScheduleOperationSerializer()
deserializeWith = CreateSnapshotScheduleOperationDeserializer()
operationName = "CreateSnapshotSchedule"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Adds tags to a cluster.
*
* A resource can have up to 50 tags. If you try to create more than 50 tags for a resource, you will receive an error and the attempt will fail.
*
* If you specify a key that already exists for the resource, the value for that key will be updated with the new value.
*/
override suspend fun createTags(input: CreateTagsRequest): CreateTagsResponse {
val op = SdkHttpOperation.build {
serializeWith = CreateTagsOperationSerializer()
deserializeWith = CreateTagsOperationDeserializer()
operationName = "CreateTags"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Creates a usage limit for a specified Amazon Redshift feature on a cluster. The usage limit is identified by the returned usage limit identifier.
*/
override suspend fun createUsageLimit(input: CreateUsageLimitRequest): CreateUsageLimitResponse {
val op = SdkHttpOperation.build {
serializeWith = CreateUsageLimitOperationSerializer()
deserializeWith = CreateUsageLimitOperationDeserializer()
operationName = "CreateUsageLimit"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* From a datashare producer account, removes authorization from the specified datashare.
*/
override suspend fun deauthorizeDataShare(input: DeauthorizeDataShareRequest): DeauthorizeDataShareResponse {
val op = SdkHttpOperation.build {
serializeWith = DeauthorizeDataShareOperationSerializer()
deserializeWith = DeauthorizeDataShareOperationDeserializer()
operationName = "DeauthorizeDataShare"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Deletes an authentication profile.
*/
override suspend fun deleteAuthenticationProfile(input: DeleteAuthenticationProfileRequest): DeleteAuthenticationProfileResponse {
val op = SdkHttpOperation.build {
serializeWith = DeleteAuthenticationProfileOperationSerializer()
deserializeWith = DeleteAuthenticationProfileOperationDeserializer()
operationName = "DeleteAuthenticationProfile"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Deletes a previously provisioned cluster without its final snapshot being created. A successful response from the web service indicates that the request was received correctly. Use DescribeClusters to monitor the status of the deletion. The delete operation cannot be canceled or reverted once submitted. For more information about managing clusters, go to [Amazon Redshift Clusters](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html) in the *Amazon Redshift Cluster Management Guide*.
*
* If you want to shut down the cluster and retain it for future use, set *SkipFinalClusterSnapshot* to `false` and specify a name for *FinalClusterSnapshotIdentifier*. You can later restore this snapshot to resume using the cluster. If a final cluster snapshot is requested, the status of the cluster will be "final-snapshot" while the snapshot is being taken, then it's "deleting" once Amazon Redshift begins deleting the cluster.
*
* For more information about managing clusters, go to [Amazon Redshift Clusters](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html) in the *Amazon Redshift Cluster Management Guide*.
*/
override suspend fun deleteCluster(input: DeleteClusterRequest): DeleteClusterResponse {
val op = SdkHttpOperation.build {
serializeWith = DeleteClusterOperationSerializer()
deserializeWith = DeleteClusterOperationDeserializer()
operationName = "DeleteCluster"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Deletes a specified Amazon Redshift parameter group.
*
* You cannot delete a parameter group if it is associated with a cluster.
*/
override suspend fun deleteClusterParameterGroup(input: DeleteClusterParameterGroupRequest): DeleteClusterParameterGroupResponse {
val op = SdkHttpOperation.build {
serializeWith = DeleteClusterParameterGroupOperationSerializer()
deserializeWith = DeleteClusterParameterGroupOperationDeserializer()
operationName = "DeleteClusterParameterGroup"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Deletes an Amazon Redshift security group.
*
* You cannot delete a security group that is associated with any clusters. You cannot delete the default security group.
*
* For information about managing security groups, go to [Amazon Redshift Cluster Security Groups](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-security-groups.html) in the *Amazon Redshift Cluster Management Guide*.
*/
override suspend fun deleteClusterSecurityGroup(input: DeleteClusterSecurityGroupRequest): DeleteClusterSecurityGroupResponse {
val op = SdkHttpOperation.build {
serializeWith = DeleteClusterSecurityGroupOperationSerializer()
deserializeWith = DeleteClusterSecurityGroupOperationDeserializer()
operationName = "DeleteClusterSecurityGroup"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Deletes the specified manual snapshot. The snapshot must be in the `available` state, with no other users authorized to access the snapshot.
*
* Unlike automated snapshots, manual snapshots are retained even after you delete your cluster. Amazon Redshift does not delete your manual snapshots. You must delete manual snapshot explicitly to avoid getting charged. If other accounts are authorized to access the snapshot, you must revoke all of the authorizations before you can delete the snapshot.
*/
override suspend fun deleteClusterSnapshot(input: DeleteClusterSnapshotRequest): DeleteClusterSnapshotResponse {
val op = SdkHttpOperation.build {
serializeWith = DeleteClusterSnapshotOperationSerializer()
deserializeWith = DeleteClusterSnapshotOperationDeserializer()
operationName = "DeleteClusterSnapshot"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Deletes the specified cluster subnet group.
*/
override suspend fun deleteClusterSubnetGroup(input: DeleteClusterSubnetGroupRequest): DeleteClusterSubnetGroupResponse {
val op = SdkHttpOperation.build {
serializeWith = DeleteClusterSubnetGroupOperationSerializer()
deserializeWith = DeleteClusterSubnetGroupOperationDeserializer()
operationName = "DeleteClusterSubnetGroup"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Contains information about deleting a custom domain association for a cluster.
*/
override suspend fun deleteCustomDomainAssociation(input: DeleteCustomDomainAssociationRequest): DeleteCustomDomainAssociationResponse {
val op = SdkHttpOperation.build {
serializeWith = DeleteCustomDomainAssociationOperationSerializer()
deserializeWith = DeleteCustomDomainAssociationOperationDeserializer()
operationName = "DeleteCustomDomainAssociation"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Deletes a Redshift-managed VPC endpoint.
*/
override suspend fun deleteEndpointAccess(input: DeleteEndpointAccessRequest): DeleteEndpointAccessResponse {
val op = SdkHttpOperation.build {
serializeWith = DeleteEndpointAccessOperationSerializer()
deserializeWith = DeleteEndpointAccessOperationDeserializer()
operationName = "DeleteEndpointAccess"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Deletes an Amazon Redshift event notification subscription.
*/
override suspend fun deleteEventSubscription(input: DeleteEventSubscriptionRequest): DeleteEventSubscriptionResponse {
val op = SdkHttpOperation.build {
serializeWith = DeleteEventSubscriptionOperationSerializer()
deserializeWith = DeleteEventSubscriptionOperationDeserializer()
operationName = "DeleteEventSubscription"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Deletes the specified HSM client certificate.
*/
override suspend fun deleteHsmClientCertificate(input: DeleteHsmClientCertificateRequest): DeleteHsmClientCertificateResponse {
val op = SdkHttpOperation.build {
serializeWith = DeleteHsmClientCertificateOperationSerializer()
deserializeWith = DeleteHsmClientCertificateOperationDeserializer()
operationName = "DeleteHsmClientCertificate"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Deletes the specified Amazon Redshift HSM configuration.
*/
override suspend fun deleteHsmConfiguration(input: DeleteHsmConfigurationRequest): DeleteHsmConfigurationResponse {
val op = SdkHttpOperation.build {
serializeWith = DeleteHsmConfigurationOperationSerializer()
deserializeWith = DeleteHsmConfigurationOperationDeserializer()
operationName = "DeleteHsmConfiguration"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Deletes a partner integration from a cluster. Data can still flow to the cluster until the integration is deleted at the partner's website.
*/
override suspend fun deletePartner(input: DeletePartnerRequest): DeletePartnerResponse {
val op = SdkHttpOperation.build {
serializeWith = DeletePartnerOperationSerializer()
deserializeWith = DeletePartnerOperationDeserializer()
operationName = "DeletePartner"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Deletes an Amazon Redshift IAM Identity Center application.
*/
override suspend fun deleteRedshiftIdcApplication(input: DeleteRedshiftIdcApplicationRequest): DeleteRedshiftIdcApplicationResponse {
val op = SdkHttpOperation.build {
serializeWith = DeleteRedshiftIdcApplicationOperationSerializer()
deserializeWith = DeleteRedshiftIdcApplicationOperationDeserializer()
operationName = "DeleteRedshiftIdcApplication"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Deletes the resource policy for a specified resource.
*/
override suspend fun deleteResourcePolicy(input: DeleteResourcePolicyRequest): DeleteResourcePolicyResponse {
val op = SdkHttpOperation.build {
serializeWith = DeleteResourcePolicyOperationSerializer()
deserializeWith = DeleteResourcePolicyOperationDeserializer()
operationName = "DeleteResourcePolicy"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Deletes a scheduled action.
*/
override suspend fun deleteScheduledAction(input: DeleteScheduledActionRequest): DeleteScheduledActionResponse {
val op = SdkHttpOperation.build {
serializeWith = DeleteScheduledActionOperationSerializer()
deserializeWith = DeleteScheduledActionOperationDeserializer()
operationName = "DeleteScheduledAction"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Deletes the specified snapshot copy grant.
*/
override suspend fun deleteSnapshotCopyGrant(input: DeleteSnapshotCopyGrantRequest): DeleteSnapshotCopyGrantResponse {
val op = SdkHttpOperation.build {
serializeWith = DeleteSnapshotCopyGrantOperationSerializer()
deserializeWith = DeleteSnapshotCopyGrantOperationDeserializer()
operationName = "DeleteSnapshotCopyGrant"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Deletes a snapshot schedule.
*/
override suspend fun deleteSnapshotSchedule(input: DeleteSnapshotScheduleRequest): DeleteSnapshotScheduleResponse {
val op = SdkHttpOperation.build {
serializeWith = DeleteSnapshotScheduleOperationSerializer()
deserializeWith = DeleteSnapshotScheduleOperationDeserializer()
operationName = "DeleteSnapshotSchedule"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Deletes tags from a resource. You must provide the ARN of the resource from which you want to delete the tag or tags.
*/
override suspend fun deleteTags(input: DeleteTagsRequest): DeleteTagsResponse {
val op = SdkHttpOperation.build {
serializeWith = DeleteTagsOperationSerializer()
deserializeWith = DeleteTagsOperationDeserializer()
operationName = "DeleteTags"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Deletes a usage limit from a cluster.
*/
override suspend fun deleteUsageLimit(input: DeleteUsageLimitRequest): DeleteUsageLimitResponse {
val op = SdkHttpOperation.build {
serializeWith = DeleteUsageLimitOperationSerializer()
deserializeWith = DeleteUsageLimitOperationDeserializer()
operationName = "DeleteUsageLimit"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Returns a list of attributes attached to an account
*/
override suspend fun describeAccountAttributes(input: DescribeAccountAttributesRequest): DescribeAccountAttributesResponse {
val op = SdkHttpOperation.build {
serializeWith = DescribeAccountAttributesOperationSerializer()
deserializeWith = DescribeAccountAttributesOperationDeserializer()
operationName = "DescribeAccountAttributes"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Describes an authentication profile.
*/
override suspend fun describeAuthenticationProfiles(input: DescribeAuthenticationProfilesRequest): DescribeAuthenticationProfilesResponse {
val op = SdkHttpOperation.build {
serializeWith = DescribeAuthenticationProfilesOperationSerializer()
deserializeWith = DescribeAuthenticationProfilesOperationDeserializer()
operationName = "DescribeAuthenticationProfiles"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Returns an array of `ClusterDbRevision` objects.
*/
override suspend fun describeClusterDbRevisions(input: DescribeClusterDbRevisionsRequest): DescribeClusterDbRevisionsResponse {
val op = SdkHttpOperation.build {
serializeWith = DescribeClusterDbRevisionsOperationSerializer()
deserializeWith = DescribeClusterDbRevisionsOperationDeserializer()
operationName = "DescribeClusterDbRevisions"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Returns a list of Amazon Redshift parameter groups, including parameter groups you created and the default parameter group. For each parameter group, the response includes the parameter group name, description, and parameter group family name. You can optionally specify a name to retrieve the description of a specific parameter group.
*
* For more information about parameters and parameter groups, go to [Amazon Redshift Parameter Groups](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html) in the *Amazon Redshift Cluster Management Guide*.
*
* If you specify both tag keys and tag values in the same request, Amazon Redshift returns all parameter groups that match any combination of the specified keys and values. For example, if you have `owner` and `environment` for tag keys, and `admin` and `test` for tag values, all parameter groups that have any combination of those values are returned.
*
* If both tag keys and values are omitted from the request, parameter groups are returned regardless of whether they have tag keys or values associated with them.
*/
override suspend fun describeClusterParameterGroups(input: DescribeClusterParameterGroupsRequest): DescribeClusterParameterGroupsResponse {
val op = SdkHttpOperation.build {
serializeWith = DescribeClusterParameterGroupsOperationSerializer()
deserializeWith = DescribeClusterParameterGroupsOperationDeserializer()
operationName = "DescribeClusterParameterGroups"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Returns a detailed list of parameters contained within the specified Amazon Redshift parameter group. For each parameter the response includes information such as parameter name, description, data type, value, whether the parameter value is modifiable, and so on.
*
* You can specify *source* filter to retrieve parameters of only specific type. For example, to retrieve parameters that were modified by a user action such as from ModifyClusterParameterGroup, you can specify *source* equal to *user*.
*
* For more information about parameters and parameter groups, go to [Amazon Redshift Parameter Groups](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html) in the *Amazon Redshift Cluster Management Guide*.
*/
override suspend fun describeClusterParameters(input: DescribeClusterParametersRequest): DescribeClusterParametersResponse {
val op = SdkHttpOperation.build {
serializeWith = DescribeClusterParametersOperationSerializer()
deserializeWith = DescribeClusterParametersOperationDeserializer()
operationName = "DescribeClusterParameters"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Returns information about Amazon Redshift security groups. If the name of a security group is specified, the response will contain only information about only that security group.
*
* For information about managing security groups, go to [Amazon Redshift Cluster Security Groups](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-security-groups.html) in the *Amazon Redshift Cluster Management Guide*.
*
* If you specify both tag keys and tag values in the same request, Amazon Redshift returns all security groups that match any combination of the specified keys and values. For example, if you have `owner` and `environment` for tag keys, and `admin` and `test` for tag values, all security groups that have any combination of those values are returned.
*
* If both tag keys and values are omitted from the request, security groups are returned regardless of whether they have tag keys or values associated with them.
*/
override suspend fun describeClusterSecurityGroups(input: DescribeClusterSecurityGroupsRequest): DescribeClusterSecurityGroupsResponse {
val op = SdkHttpOperation.build {
serializeWith = DescribeClusterSecurityGroupsOperationSerializer()
deserializeWith = DescribeClusterSecurityGroupsOperationDeserializer()
operationName = "DescribeClusterSecurityGroups"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Returns one or more snapshot objects, which contain metadata about your cluster snapshots. By default, this operation returns information about all snapshots of all clusters that are owned by your Amazon Web Services account. No information is returned for snapshots owned by inactive Amazon Web Services accounts.
*
* If you specify both tag keys and tag values in the same request, Amazon Redshift returns all snapshots that match any combination of the specified keys and values. For example, if you have `owner` and `environment` for tag keys, and `admin` and `test` for tag values, all snapshots that have any combination of those values are returned. Only snapshots that you own are returned in the response; shared snapshots are not returned with the tag key and tag value request parameters.
*
* If both tag keys and values are omitted from the request, snapshots are returned regardless of whether they have tag keys or values associated with them.
*/
override suspend fun describeClusterSnapshots(input: DescribeClusterSnapshotsRequest): DescribeClusterSnapshotsResponse {
val op = SdkHttpOperation.build {
serializeWith = DescribeClusterSnapshotsOperationSerializer()
deserializeWith = DescribeClusterSnapshotsOperationDeserializer()
operationName = "DescribeClusterSnapshots"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Returns one or more cluster subnet group objects, which contain metadata about your cluster subnet groups. By default, this operation returns information about all cluster subnet groups that are defined in your Amazon Web Services account.
*
* If you specify both tag keys and tag values in the same request, Amazon Redshift returns all subnet groups that match any combination of the specified keys and values. For example, if you have `owner` and `environment` for tag keys, and `admin` and `test` for tag values, all subnet groups that have any combination of those values are returned.
*
* If both tag keys and values are omitted from the request, subnet groups are returned regardless of whether they have tag keys or values associated with them.
*/
override suspend fun describeClusterSubnetGroups(input: DescribeClusterSubnetGroupsRequest): DescribeClusterSubnetGroupsResponse {
val op = SdkHttpOperation.build {
serializeWith = DescribeClusterSubnetGroupsOperationSerializer()
deserializeWith = DescribeClusterSubnetGroupsOperationDeserializer()
operationName = "DescribeClusterSubnetGroups"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Returns a list of all the available maintenance tracks.
*/
override suspend fun describeClusterTracks(input: DescribeClusterTracksRequest): DescribeClusterTracksResponse {
val op = SdkHttpOperation.build {
serializeWith = DescribeClusterTracksOperationSerializer()
deserializeWith = DescribeClusterTracksOperationDeserializer()
operationName = "DescribeClusterTracks"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Returns descriptions of the available Amazon Redshift cluster versions. You can call this operation even before creating any clusters to learn more about the Amazon Redshift versions. For more information about managing clusters, go to [Amazon Redshift Clusters](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html) in the *Amazon Redshift Cluster Management Guide*.
*/
override suspend fun describeClusterVersions(input: DescribeClusterVersionsRequest): DescribeClusterVersionsResponse {
val op = SdkHttpOperation.build {
serializeWith = DescribeClusterVersionsOperationSerializer()
deserializeWith = DescribeClusterVersionsOperationDeserializer()
operationName = "DescribeClusterVersions"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Returns properties of provisioned clusters including general cluster properties, cluster database properties, maintenance and backup properties, and security and access properties. This operation supports pagination. For more information about managing clusters, go to [Amazon Redshift Clusters](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html) in the *Amazon Redshift Cluster Management Guide*.
*
* If you specify both tag keys and tag values in the same request, Amazon Redshift returns all clusters that match any combination of the specified keys and values. For example, if you have `owner` and `environment` for tag keys, and `admin` and `test` for tag values, all clusters that have any combination of those values are returned.
*
* If both tag keys and values are omitted from the request, clusters are returned regardless of whether they have tag keys or values associated with them.
*/
override suspend fun describeClusters(input: DescribeClustersRequest): DescribeClustersResponse {
val op = SdkHttpOperation.build {
serializeWith = DescribeClustersOperationSerializer()
deserializeWith = DescribeClustersOperationDeserializer()
operationName = "DescribeClusters"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Contains information about custom domain associations for a cluster.
*/
override suspend fun describeCustomDomainAssociations(input: DescribeCustomDomainAssociationsRequest): DescribeCustomDomainAssociationsResponse {
val op = SdkHttpOperation.build {
serializeWith = DescribeCustomDomainAssociationsOperationSerializer()
deserializeWith = DescribeCustomDomainAssociationsOperationDeserializer()
operationName = "DescribeCustomDomainAssociations"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Shows the status of any inbound or outbound datashares available in the specified account.
*/
override suspend fun describeDataShares(input: DescribeDataSharesRequest): DescribeDataSharesResponse {
val op = SdkHttpOperation.build {
serializeWith = DescribeDataSharesOperationSerializer()
deserializeWith = DescribeDataSharesOperationDeserializer()
operationName = "DescribeDataShares"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Returns a list of datashares where the account identifier being called is a consumer account identifier.
*/
override suspend fun describeDataSharesForConsumer(input: DescribeDataSharesForConsumerRequest): DescribeDataSharesForConsumerResponse {
val op = SdkHttpOperation.build {
serializeWith = DescribeDataSharesForConsumerOperationSerializer()
deserializeWith = DescribeDataSharesForConsumerOperationDeserializer()
operationName = "DescribeDataSharesForConsumer"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Returns a list of datashares when the account identifier being called is a producer account identifier.
*/
override suspend fun describeDataSharesForProducer(input: DescribeDataSharesForProducerRequest): DescribeDataSharesForProducerResponse {
val op = SdkHttpOperation.build {
serializeWith = DescribeDataSharesForProducerOperationSerializer()
deserializeWith = DescribeDataSharesForProducerOperationDeserializer()
operationName = "DescribeDataSharesForProducer"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Returns a list of parameter settings for the specified parameter group family.
*
* For more information about parameters and parameter groups, go to [Amazon Redshift Parameter Groups](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html) in the *Amazon Redshift Cluster Management Guide*.
*/
override suspend fun describeDefaultClusterParameters(input: DescribeDefaultClusterParametersRequest): DescribeDefaultClusterParametersResponse {
val op = SdkHttpOperation.build {
serializeWith = DescribeDefaultClusterParametersOperationSerializer()
deserializeWith = DescribeDefaultClusterParametersOperationDeserializer()
operationName = "DescribeDefaultClusterParameters"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Describes a Redshift-managed VPC endpoint.
*/
override suspend fun describeEndpointAccess(input: DescribeEndpointAccessRequest): DescribeEndpointAccessResponse {
val op = SdkHttpOperation.build {
serializeWith = DescribeEndpointAccessOperationSerializer()
deserializeWith = DescribeEndpointAccessOperationDeserializer()
operationName = "DescribeEndpointAccess"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Describes an endpoint authorization.
*/
override suspend fun describeEndpointAuthorization(input: DescribeEndpointAuthorizationRequest): DescribeEndpointAuthorizationResponse {
val op = SdkHttpOperation.build {
serializeWith = DescribeEndpointAuthorizationOperationSerializer()
deserializeWith = DescribeEndpointAuthorizationOperationDeserializer()
operationName = "DescribeEndpointAuthorization"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Displays a list of event categories for all event source types, or for a specified source type. For a list of the event categories and source types, go to [Amazon Redshift Event Notifications](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-event-notifications.html).
*/
override suspend fun describeEventCategories(input: DescribeEventCategoriesRequest): DescribeEventCategoriesResponse {
val op = SdkHttpOperation.build {
serializeWith = DescribeEventCategoriesOperationSerializer()
deserializeWith = DescribeEventCategoriesOperationDeserializer()
operationName = "DescribeEventCategories"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Lists descriptions of all the Amazon Redshift event notification subscriptions for a customer account. If you specify a subscription name, lists the description for that subscription.
*
* If you specify both tag keys and tag values in the same request, Amazon Redshift returns all event notification subscriptions that match any combination of the specified keys and values. For example, if you have `owner` and `environment` for tag keys, and `admin` and `test` for tag values, all subscriptions that have any combination of those values are returned.
*
* If both tag keys and values are omitted from the request, subscriptions are returned regardless of whether they have tag keys or values associated with them.
*/
override suspend fun describeEventSubscriptions(input: DescribeEventSubscriptionsRequest): DescribeEventSubscriptionsResponse {
val op = SdkHttpOperation.build {
serializeWith = DescribeEventSubscriptionsOperationSerializer()
deserializeWith = DescribeEventSubscriptionsOperationDeserializer()
operationName = "DescribeEventSubscriptions"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Returns events related to clusters, security groups, snapshots, and parameter groups for the past 14 days. Events specific to a particular cluster, security group, snapshot or parameter group can be obtained by providing the name as a parameter. By default, the past hour of events are returned.
*/
override suspend fun describeEvents(input: DescribeEventsRequest): DescribeEventsResponse {
val op = SdkHttpOperation.build {
serializeWith = DescribeEventsOperationSerializer()
deserializeWith = DescribeEventsOperationDeserializer()
operationName = "DescribeEvents"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Returns information about the specified HSM client certificate. If no certificate ID is specified, returns information about all the HSM certificates owned by your Amazon Web Services account.
*
* If you specify both tag keys and tag values in the same request, Amazon Redshift returns all HSM client certificates that match any combination of the specified keys and values. For example, if you have `owner` and `environment` for tag keys, and `admin` and `test` for tag values, all HSM client certificates that have any combination of those values are returned.
*
* If both tag keys and values are omitted from the request, HSM client certificates are returned regardless of whether they have tag keys or values associated with them.
*/
override suspend fun describeHsmClientCertificates(input: DescribeHsmClientCertificatesRequest): DescribeHsmClientCertificatesResponse {
val op = SdkHttpOperation.build {
serializeWith = DescribeHsmClientCertificatesOperationSerializer()
deserializeWith = DescribeHsmClientCertificatesOperationDeserializer()
operationName = "DescribeHsmClientCertificates"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Returns information about the specified Amazon Redshift HSM configuration. If no configuration ID is specified, returns information about all the HSM configurations owned by your Amazon Web Services account.
*
* If you specify both tag keys and tag values in the same request, Amazon Redshift returns all HSM connections that match any combination of the specified keys and values. For example, if you have `owner` and `environment` for tag keys, and `admin` and `test` for tag values, all HSM connections that have any combination of those values are returned.
*
* If both tag keys and values are omitted from the request, HSM connections are returned regardless of whether they have tag keys or values associated with them.
*/
override suspend fun describeHsmConfigurations(input: DescribeHsmConfigurationsRequest): DescribeHsmConfigurationsResponse {
val op = SdkHttpOperation.build {
serializeWith = DescribeHsmConfigurationsOperationSerializer()
deserializeWith = DescribeHsmConfigurationsOperationDeserializer()
operationName = "DescribeHsmConfigurations"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Returns a list of inbound integrations.
*/
override suspend fun describeInboundIntegrations(input: DescribeInboundIntegrationsRequest): DescribeInboundIntegrationsResponse {
val op = SdkHttpOperation.build {
serializeWith = DescribeInboundIntegrationsOperationSerializer()
deserializeWith = DescribeInboundIntegrationsOperationDeserializer()
operationName = "DescribeInboundIntegrations"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Describes whether information, such as queries and connection attempts, is being logged for the specified Amazon Redshift cluster.
*/
override suspend fun describeLoggingStatus(input: DescribeLoggingStatusRequest): DescribeLoggingStatusResponse {
val op = SdkHttpOperation.build {
serializeWith = DescribeLoggingStatusOperationSerializer()
deserializeWith = DescribeLoggingStatusOperationDeserializer()
operationName = "DescribeLoggingStatus"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Returns properties of possible node configurations such as node type, number of nodes, and disk usage for the specified action type.
*/
override suspend fun describeNodeConfigurationOptions(input: DescribeNodeConfigurationOptionsRequest): DescribeNodeConfigurationOptionsResponse {
val op = SdkHttpOperation.build {
serializeWith = DescribeNodeConfigurationOptionsOperationSerializer()
deserializeWith = DescribeNodeConfigurationOptionsOperationDeserializer()
operationName = "DescribeNodeConfigurationOptions"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Returns a list of orderable cluster options. Before you create a new cluster you can use this operation to find what options are available, such as the EC2 Availability Zones (AZ) in the specific Amazon Web Services Region that you can specify, and the node types you can request. The node types differ by available storage, memory, CPU and price. With the cost involved you might want to obtain a list of cluster options in the specific region and specify values when creating a cluster. For more information about managing clusters, go to [Amazon Redshift Clusters](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html) in the *Amazon Redshift Cluster Management Guide*.
*/
override suspend fun describeOrderableClusterOptions(input: DescribeOrderableClusterOptionsRequest): DescribeOrderableClusterOptionsResponse {
val op = SdkHttpOperation.build {
serializeWith = DescribeOrderableClusterOptionsOperationSerializer()
deserializeWith = DescribeOrderableClusterOptionsOperationDeserializer()
operationName = "DescribeOrderableClusterOptions"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Returns information about the partner integrations defined for a cluster.
*/
override suspend fun describePartners(input: DescribePartnersRequest): DescribePartnersResponse {
val op = SdkHttpOperation.build {
serializeWith = DescribePartnersOperationSerializer()
deserializeWith = DescribePartnersOperationDeserializer()
operationName = "DescribePartners"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Lists the Amazon Redshift IAM Identity Center applications.
*/
override suspend fun describeRedshiftIdcApplications(input: DescribeRedshiftIdcApplicationsRequest): DescribeRedshiftIdcApplicationsResponse {
val op = SdkHttpOperation.build {
serializeWith = DescribeRedshiftIdcApplicationsOperationSerializer()
deserializeWith = DescribeRedshiftIdcApplicationsOperationDeserializer()
operationName = "DescribeRedshiftIdcApplications"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Returns exchange status details and associated metadata for a reserved-node exchange. Statuses include such values as in progress and requested.
*/
override suspend fun describeReservedNodeExchangeStatus(input: DescribeReservedNodeExchangeStatusRequest): DescribeReservedNodeExchangeStatusResponse {
val op = SdkHttpOperation.build {
serializeWith = DescribeReservedNodeExchangeStatusOperationSerializer()
deserializeWith = DescribeReservedNodeExchangeStatusOperationDeserializer()
operationName = "DescribeReservedNodeExchangeStatus"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Returns a list of the available reserved node offerings by Amazon Redshift with their descriptions including the node type, the fixed and recurring costs of reserving the node and duration the node will be reserved for you. These descriptions help you determine which reserve node offering you want to purchase. You then use the unique offering ID in you call to PurchaseReservedNodeOffering to reserve one or more nodes for your Amazon Redshift cluster.
*
* For more information about reserved node offerings, go to [Purchasing Reserved Nodes](https://docs.aws.amazon.com/redshift/latest/mgmt/purchase-reserved-node-instance.html) in the *Amazon Redshift Cluster Management Guide*.
*/
override suspend fun describeReservedNodeOfferings(input: DescribeReservedNodeOfferingsRequest): DescribeReservedNodeOfferingsResponse {
val op = SdkHttpOperation.build {
serializeWith = DescribeReservedNodeOfferingsOperationSerializer()
deserializeWith = DescribeReservedNodeOfferingsOperationDeserializer()
operationName = "DescribeReservedNodeOfferings"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Returns the descriptions of the reserved nodes.
*/
override suspend fun describeReservedNodes(input: DescribeReservedNodesRequest): DescribeReservedNodesResponse {
val op = SdkHttpOperation.build {
serializeWith = DescribeReservedNodesOperationSerializer()
deserializeWith = DescribeReservedNodesOperationDeserializer()
operationName = "DescribeReservedNodes"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Returns information about the last resize operation for the specified cluster. If no resize operation has ever been initiated for the specified cluster, a `HTTP 404` error is returned. If a resize operation was initiated and completed, the status of the resize remains as `SUCCEEDED` until the next resize.
*
* A resize operation can be requested using ModifyCluster and specifying a different number or type of nodes for the cluster.
*/
override suspend fun describeResize(input: DescribeResizeRequest): DescribeResizeResponse {
val op = SdkHttpOperation.build {
serializeWith = DescribeResizeOperationSerializer()
deserializeWith = DescribeResizeOperationDeserializer()
operationName = "DescribeResize"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Describes properties of scheduled actions.
*/
override suspend fun describeScheduledActions(input: DescribeScheduledActionsRequest): DescribeScheduledActionsResponse {
val op = SdkHttpOperation.build {
serializeWith = DescribeScheduledActionsOperationSerializer()
deserializeWith = DescribeScheduledActionsOperationDeserializer()
operationName = "DescribeScheduledActions"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Returns a list of snapshot copy grants owned by the Amazon Web Services account in the destination region.
*
* For more information about managing snapshot copy grants, go to [Amazon Redshift Database Encryption](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-db-encryption.html) in the *Amazon Redshift Cluster Management Guide*.
*/
override suspend fun describeSnapshotCopyGrants(input: DescribeSnapshotCopyGrantsRequest): DescribeSnapshotCopyGrantsResponse {
val op = SdkHttpOperation.build {
serializeWith = DescribeSnapshotCopyGrantsOperationSerializer()
deserializeWith = DescribeSnapshotCopyGrantsOperationDeserializer()
operationName = "DescribeSnapshotCopyGrants"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Returns a list of snapshot schedules.
*/
override suspend fun describeSnapshotSchedules(input: DescribeSnapshotSchedulesRequest): DescribeSnapshotSchedulesResponse {
val op = SdkHttpOperation.build {
serializeWith = DescribeSnapshotSchedulesOperationSerializer()
deserializeWith = DescribeSnapshotSchedulesOperationDeserializer()
operationName = "DescribeSnapshotSchedules"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Returns account level backups storage size and provisional storage.
*/
override suspend fun describeStorage(input: DescribeStorageRequest): DescribeStorageResponse {
val op = SdkHttpOperation.build {
serializeWith = DescribeStorageOperationSerializer()
deserializeWith = DescribeStorageOperationDeserializer()
operationName = "DescribeStorage"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Lists the status of one or more table restore requests made using the RestoreTableFromClusterSnapshot API action. If you don't specify a value for the `TableRestoreRequestId` parameter, then `DescribeTableRestoreStatus` returns the status of all table restore requests ordered by the date and time of the request in ascending order. Otherwise `DescribeTableRestoreStatus` returns the status of the table specified by `TableRestoreRequestId`.
*/
override suspend fun describeTableRestoreStatus(input: DescribeTableRestoreStatusRequest): DescribeTableRestoreStatusResponse {
val op = SdkHttpOperation.build {
serializeWith = DescribeTableRestoreStatusOperationSerializer()
deserializeWith = DescribeTableRestoreStatusOperationDeserializer()
operationName = "DescribeTableRestoreStatus"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Returns a list of tags. You can return tags from a specific resource by specifying an ARN, or you can return all tags for a given type of resource, such as clusters, snapshots, and so on.
*
* The following are limitations for `DescribeTags`:
* + You cannot specify an ARN and a resource-type value together in the same request.
* + You cannot use the `MaxRecords` and `Marker` parameters together with the ARN parameter.
* + The `MaxRecords` parameter can be a range from 10 to 50 results to return in a request.
*
* If you specify both tag keys and tag values in the same request, Amazon Redshift returns all resources that match any combination of the specified keys and values. For example, if you have `owner` and `environment` for tag keys, and `admin` and `test` for tag values, all resources that have any combination of those values are returned.
*
* If both tag keys and values are omitted from the request, resources are returned regardless of whether they have tag keys or values associated with them.
*/
override suspend fun describeTags(input: DescribeTagsRequest): DescribeTagsResponse {
val op = SdkHttpOperation.build {
serializeWith = DescribeTagsOperationSerializer()
deserializeWith = DescribeTagsOperationDeserializer()
operationName = "DescribeTags"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Shows usage limits on a cluster. Results are filtered based on the combination of input usage limit identifier, cluster identifier, and feature type parameters:
* + If usage limit identifier, cluster identifier, and feature type are not provided, then all usage limit objects for the current account in the current region are returned.
* + If usage limit identifier is provided, then the corresponding usage limit object is returned.
* + If cluster identifier is provided, then all usage limit objects for the specified cluster are returned.
* + If cluster identifier and feature type are provided, then all usage limit objects for the combination of cluster and feature are returned.
*/
override suspend fun describeUsageLimits(input: DescribeUsageLimitsRequest): DescribeUsageLimitsResponse {
val op = SdkHttpOperation.build {
serializeWith = DescribeUsageLimitsOperationSerializer()
deserializeWith = DescribeUsageLimitsOperationDeserializer()
operationName = "DescribeUsageLimits"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Stops logging information, such as queries and connection attempts, for the specified Amazon Redshift cluster.
*/
override suspend fun disableLogging(input: DisableLoggingRequest): DisableLoggingResponse {
val op = SdkHttpOperation.build {
serializeWith = DisableLoggingOperationSerializer()
deserializeWith = DisableLoggingOperationDeserializer()
operationName = "DisableLogging"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Disables the automatic copying of snapshots from one region to another region for a specified cluster.
*
* If your cluster and its snapshots are encrypted using an encrypted symmetric key from Key Management Service, use DeleteSnapshotCopyGrant to delete the grant that grants Amazon Redshift permission to the key in the destination region.
*/
override suspend fun disableSnapshotCopy(input: DisableSnapshotCopyRequest): DisableSnapshotCopyResponse {
val op = SdkHttpOperation.build {
serializeWith = DisableSnapshotCopyOperationSerializer()
deserializeWith = DisableSnapshotCopyOperationDeserializer()
operationName = "DisableSnapshotCopy"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* From a datashare consumer account, remove association for the specified datashare.
*/
override suspend fun disassociateDataShareConsumer(input: DisassociateDataShareConsumerRequest): DisassociateDataShareConsumerResponse {
val op = SdkHttpOperation.build {
serializeWith = DisassociateDataShareConsumerOperationSerializer()
deserializeWith = DisassociateDataShareConsumerOperationDeserializer()
operationName = "DisassociateDataShareConsumer"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Starts logging information, such as queries and connection attempts, for the specified Amazon Redshift cluster.
*/
override suspend fun enableLogging(input: EnableLoggingRequest): EnableLoggingResponse {
val op = SdkHttpOperation.build {
serializeWith = EnableLoggingOperationSerializer()
deserializeWith = EnableLoggingOperationDeserializer()
operationName = "EnableLogging"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Enables the automatic copy of snapshots from one region to another region for a specified cluster.
*/
override suspend fun enableSnapshotCopy(input: EnableSnapshotCopyRequest): EnableSnapshotCopyResponse {
val op = SdkHttpOperation.build {
serializeWith = EnableSnapshotCopyOperationSerializer()
deserializeWith = EnableSnapshotCopyOperationDeserializer()
operationName = "EnableSnapshotCopy"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Fails over the primary compute unit of the specified Multi-AZ cluster to another Availability Zone.
*/
override suspend fun failoverPrimaryCompute(input: FailoverPrimaryComputeRequest): FailoverPrimaryComputeResponse {
val op = SdkHttpOperation.build {
serializeWith = FailoverPrimaryComputeOperationSerializer()
deserializeWith = FailoverPrimaryComputeOperationDeserializer()
operationName = "FailoverPrimaryCompute"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Returns a database user name and temporary password with temporary authorization to log on to an Amazon Redshift database. The action returns the database user name prefixed with `IAM:` if `AutoCreate` is `False` or `IAMA:` if `AutoCreate` is `True`. You can optionally specify one or more database user groups that the user will join at log on. By default, the temporary credentials expire in 900 seconds. You can optionally specify a duration between 900 seconds (15 minutes) and 3600 seconds (60 minutes). For more information, see [Using IAM Authentication to Generate Database User Credentials](https://docs.aws.amazon.com/redshift/latest/mgmt/generating-user-credentials.html) in the Amazon Redshift Cluster Management Guide.
*
* The Identity and Access Management (IAM) user or role that runs GetClusterCredentials must have an IAM policy attached that allows access to all necessary actions and resources. For more information about permissions, see [Resource Policies for GetClusterCredentials](https://docs.aws.amazon.com/redshift/latest/mgmt/redshift-iam-access-control-identity-based.html#redshift-policy-resources.getclustercredentials-resources) in the Amazon Redshift Cluster Management Guide.
*
* If the `DbGroups` parameter is specified, the IAM policy must allow the `redshift:JoinGroup` action with access to the listed `dbgroups`.
*
* In addition, if the `AutoCreate` parameter is set to `True`, then the policy must include the `redshift:CreateClusterUser` permission.
*
* If the `DbName` parameter is specified, the IAM policy must allow access to the resource `dbname` for the specified database name.
*/
override suspend fun getClusterCredentials(input: GetClusterCredentialsRequest): GetClusterCredentialsResponse {
val op = SdkHttpOperation.build {
serializeWith = GetClusterCredentialsOperationSerializer()
deserializeWith = GetClusterCredentialsOperationDeserializer()
operationName = "GetClusterCredentials"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Returns a database user name and temporary password with temporary authorization to log in to an Amazon Redshift database. The database user is mapped 1:1 to the source Identity and Access Management (IAM) identity. For more information about IAM identities, see [IAM Identities (users, user groups, and roles)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id.html) in the Amazon Web Services Identity and Access Management User Guide.
*
* The Identity and Access Management (IAM) identity that runs this operation must have an IAM policy attached that allows access to all necessary actions and resources. For more information about permissions, see [Using identity-based policies (IAM policies)](https://docs.aws.amazon.com/redshift/latest/mgmt/redshift-iam-access-control-identity-based.html) in the Amazon Redshift Cluster Management Guide.
*/
override suspend fun getClusterCredentialsWithIam(input: GetClusterCredentialsWithIamRequest): GetClusterCredentialsWithIamResponse {
val op = SdkHttpOperation.build {
serializeWith = GetClusterCredentialsWithIAMOperationSerializer()
deserializeWith = GetClusterCredentialsWithIAMOperationDeserializer()
operationName = "GetClusterCredentialsWithIAM"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Gets the configuration options for the reserved-node exchange. These options include information about the source reserved node and target reserved node offering. Details include the node type, the price, the node count, and the offering type.
*/
override suspend fun getReservedNodeExchangeConfigurationOptions(input: GetReservedNodeExchangeConfigurationOptionsRequest): GetReservedNodeExchangeConfigurationOptionsResponse {
val op = SdkHttpOperation.build {
serializeWith = GetReservedNodeExchangeConfigurationOptionsOperationSerializer()
deserializeWith = GetReservedNodeExchangeConfigurationOptionsOperationDeserializer()
operationName = "GetReservedNodeExchangeConfigurationOptions"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Returns an array of DC2 ReservedNodeOfferings that matches the payment type, term, and usage price of the given DC1 reserved node.
*/
override suspend fun getReservedNodeExchangeOfferings(input: GetReservedNodeExchangeOfferingsRequest): GetReservedNodeExchangeOfferingsResponse {
val op = SdkHttpOperation.build {
serializeWith = GetReservedNodeExchangeOfferingsOperationSerializer()
deserializeWith = GetReservedNodeExchangeOfferingsOperationDeserializer()
operationName = "GetReservedNodeExchangeOfferings"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Get the resource policy for a specified resource.
*/
override suspend fun getResourcePolicy(input: GetResourcePolicyRequest): GetResourcePolicyResponse {
val op = SdkHttpOperation.build {
serializeWith = GetResourcePolicyOperationSerializer()
deserializeWith = GetResourcePolicyOperationDeserializer()
operationName = "GetResourcePolicy"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* List the Amazon Redshift Advisor recommendations for one or multiple Amazon Redshift clusters in an Amazon Web Services account.
*/
override suspend fun listRecommendations(input: ListRecommendationsRequest): ListRecommendationsResponse {
val op = SdkHttpOperation.build {
serializeWith = ListRecommendationsOperationSerializer()
deserializeWith = ListRecommendationsOperationDeserializer()
operationName = "ListRecommendations"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* This operation is retired. Calling this operation does not change AQUA configuration. Amazon Redshift automatically determines whether to use AQUA (Advanced Query Accelerator).
*/
override suspend fun modifyAquaConfiguration(input: ModifyAquaConfigurationRequest): ModifyAquaConfigurationResponse {
val op = SdkHttpOperation.build {
serializeWith = ModifyAquaConfigurationOperationSerializer()
deserializeWith = ModifyAquaConfigurationOperationDeserializer()
operationName = "ModifyAquaConfiguration"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Modifies an authentication profile.
*/
override suspend fun modifyAuthenticationProfile(input: ModifyAuthenticationProfileRequest): ModifyAuthenticationProfileResponse {
val op = SdkHttpOperation.build {
serializeWith = ModifyAuthenticationProfileOperationSerializer()
deserializeWith = ModifyAuthenticationProfileOperationDeserializer()
operationName = "ModifyAuthenticationProfile"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Modifies the settings for a cluster.
*
* You can also change node type and the number of nodes to scale up or down the cluster. When resizing a cluster, you must specify both the number of nodes and the node type even if one of the parameters does not change.
*
* You can add another security or parameter group, or change the admin user password. Resetting a cluster password or modifying the security groups associated with a cluster do not need a reboot. However, modifying a parameter group requires a reboot for parameters to take effect. For more information about managing clusters, go to [Amazon Redshift Clusters](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html) in the *Amazon Redshift Cluster Management Guide*.
*/
override suspend fun modifyCluster(input: ModifyClusterRequest): ModifyClusterResponse {
val op = SdkHttpOperation.build {
serializeWith = ModifyClusterOperationSerializer()
deserializeWith = ModifyClusterOperationDeserializer()
operationName = "ModifyCluster"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Modifies the database revision of a cluster. The database revision is a unique revision of the database running in a cluster.
*/
override suspend fun modifyClusterDbRevision(input: ModifyClusterDbRevisionRequest): ModifyClusterDbRevisionResponse {
val op = SdkHttpOperation.build {
serializeWith = ModifyClusterDbRevisionOperationSerializer()
deserializeWith = ModifyClusterDbRevisionOperationDeserializer()
operationName = "ModifyClusterDbRevision"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Modifies the list of Identity and Access Management (IAM) roles that can be used by the cluster to access other Amazon Web Services services.
*
* The maximum number of IAM roles that you can associate is subject to a quota. For more information, go to [Quotas and limits](https://docs.aws.amazon.com/redshift/latest/mgmt/amazon-redshift-limits.html) in the *Amazon Redshift Cluster Management Guide*.
*/
override suspend fun modifyClusterIamRoles(input: ModifyClusterIamRolesRequest): ModifyClusterIamRolesResponse {
val op = SdkHttpOperation.build {
serializeWith = ModifyClusterIamRolesOperationSerializer()
deserializeWith = ModifyClusterIamRolesOperationDeserializer()
operationName = "ModifyClusterIamRoles"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Modifies the maintenance settings of a cluster.
*/
override suspend fun modifyClusterMaintenance(input: ModifyClusterMaintenanceRequest): ModifyClusterMaintenanceResponse {
val op = SdkHttpOperation.build {
serializeWith = ModifyClusterMaintenanceOperationSerializer()
deserializeWith = ModifyClusterMaintenanceOperationDeserializer()
operationName = "ModifyClusterMaintenance"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Modifies the parameters of a parameter group. For the parameters parameter, it can't contain ASCII characters.
*
* For more information about parameters and parameter groups, go to [Amazon Redshift Parameter Groups](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html) in the *Amazon Redshift Cluster Management Guide*.
*/
override suspend fun modifyClusterParameterGroup(input: ModifyClusterParameterGroupRequest): ModifyClusterParameterGroupResponse {
val op = SdkHttpOperation.build {
serializeWith = ModifyClusterParameterGroupOperationSerializer()
deserializeWith = ModifyClusterParameterGroupOperationDeserializer()
operationName = "ModifyClusterParameterGroup"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Modifies the settings for a snapshot.
*
* This exanmple modifies the manual retention period setting for a cluster snapshot.
*/
override suspend fun modifyClusterSnapshot(input: ModifyClusterSnapshotRequest): ModifyClusterSnapshotResponse {
val op = SdkHttpOperation.build {
serializeWith = ModifyClusterSnapshotOperationSerializer()
deserializeWith = ModifyClusterSnapshotOperationDeserializer()
operationName = "ModifyClusterSnapshot"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Modifies a snapshot schedule for a cluster.
*/
override suspend fun modifyClusterSnapshotSchedule(input: ModifyClusterSnapshotScheduleRequest): ModifyClusterSnapshotScheduleResponse {
val op = SdkHttpOperation.build {
serializeWith = ModifyClusterSnapshotScheduleOperationSerializer()
deserializeWith = ModifyClusterSnapshotScheduleOperationDeserializer()
operationName = "ModifyClusterSnapshotSchedule"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Modifies a cluster subnet group to include the specified list of VPC subnets. The operation replaces the existing list of subnets with the new list of subnets.
*/
override suspend fun modifyClusterSubnetGroup(input: ModifyClusterSubnetGroupRequest): ModifyClusterSubnetGroupResponse {
val op = SdkHttpOperation.build {
serializeWith = ModifyClusterSubnetGroupOperationSerializer()
deserializeWith = ModifyClusterSubnetGroupOperationDeserializer()
operationName = "ModifyClusterSubnetGroup"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Contains information for changing a custom domain association.
*/
override suspend fun modifyCustomDomainAssociation(input: ModifyCustomDomainAssociationRequest): ModifyCustomDomainAssociationResponse {
val op = SdkHttpOperation.build {
serializeWith = ModifyCustomDomainAssociationOperationSerializer()
deserializeWith = ModifyCustomDomainAssociationOperationDeserializer()
operationName = "ModifyCustomDomainAssociation"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Modifies a Redshift-managed VPC endpoint.
*/
override suspend fun modifyEndpointAccess(input: ModifyEndpointAccessRequest): ModifyEndpointAccessResponse {
val op = SdkHttpOperation.build {
serializeWith = ModifyEndpointAccessOperationSerializer()
deserializeWith = ModifyEndpointAccessOperationDeserializer()
operationName = "ModifyEndpointAccess"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Modifies an existing Amazon Redshift event notification subscription.
*/
override suspend fun modifyEventSubscription(input: ModifyEventSubscriptionRequest): ModifyEventSubscriptionResponse {
val op = SdkHttpOperation.build {
serializeWith = ModifyEventSubscriptionOperationSerializer()
deserializeWith = ModifyEventSubscriptionOperationDeserializer()
operationName = "ModifyEventSubscription"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Changes an existing Amazon Redshift IAM Identity Center application.
*/
override suspend fun modifyRedshiftIdcApplication(input: ModifyRedshiftIdcApplicationRequest): ModifyRedshiftIdcApplicationResponse {
val op = SdkHttpOperation.build {
serializeWith = ModifyRedshiftIdcApplicationOperationSerializer()
deserializeWith = ModifyRedshiftIdcApplicationOperationDeserializer()
operationName = "ModifyRedshiftIdcApplication"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Modifies a scheduled action.
*/
override suspend fun modifyScheduledAction(input: ModifyScheduledActionRequest): ModifyScheduledActionResponse {
val op = SdkHttpOperation.build {
serializeWith = ModifyScheduledActionOperationSerializer()
deserializeWith = ModifyScheduledActionOperationDeserializer()
operationName = "ModifyScheduledAction"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Modifies the number of days to retain snapshots in the destination Amazon Web Services Region after they are copied from the source Amazon Web Services Region. By default, this operation only changes the retention period of copied automated snapshots. The retention periods for both new and existing copied automated snapshots are updated with the new retention period. You can set the manual option to change only the retention periods of copied manual snapshots. If you set this option, only newly copied manual snapshots have the new retention period.
*/
override suspend fun modifySnapshotCopyRetentionPeriod(input: ModifySnapshotCopyRetentionPeriodRequest): ModifySnapshotCopyRetentionPeriodResponse {
val op = SdkHttpOperation.build {
serializeWith = ModifySnapshotCopyRetentionPeriodOperationSerializer()
deserializeWith = ModifySnapshotCopyRetentionPeriodOperationDeserializer()
operationName = "ModifySnapshotCopyRetentionPeriod"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Modifies a snapshot schedule. Any schedule associated with a cluster is modified asynchronously.
*/
override suspend fun modifySnapshotSchedule(input: ModifySnapshotScheduleRequest): ModifySnapshotScheduleResponse {
val op = SdkHttpOperation.build {
serializeWith = ModifySnapshotScheduleOperationSerializer()
deserializeWith = ModifySnapshotScheduleOperationDeserializer()
operationName = "ModifySnapshotSchedule"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Modifies a usage limit in a cluster. You can't modify the feature type or period of a usage limit.
*/
override suspend fun modifyUsageLimit(input: ModifyUsageLimitRequest): ModifyUsageLimitResponse {
val op = SdkHttpOperation.build {
serializeWith = ModifyUsageLimitOperationSerializer()
deserializeWith = ModifyUsageLimitOperationDeserializer()
operationName = "ModifyUsageLimit"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Pauses a cluster.
*/
override suspend fun pauseCluster(input: PauseClusterRequest): PauseClusterResponse {
val op = SdkHttpOperation.build {
serializeWith = PauseClusterOperationSerializer()
deserializeWith = PauseClusterOperationDeserializer()
operationName = "PauseCluster"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Allows you to purchase reserved nodes. Amazon Redshift offers a predefined set of reserved node offerings. You can purchase one or more of the offerings. You can call the DescribeReservedNodeOfferings API to obtain the available reserved node offerings. You can call this API by providing a specific reserved node offering and the number of nodes you want to reserve.
*
* For more information about reserved node offerings, go to [Purchasing Reserved Nodes](https://docs.aws.amazon.com/redshift/latest/mgmt/purchase-reserved-node-instance.html) in the *Amazon Redshift Cluster Management Guide*.
*/
override suspend fun purchaseReservedNodeOffering(input: PurchaseReservedNodeOfferingRequest): PurchaseReservedNodeOfferingResponse {
val op = SdkHttpOperation.build {
serializeWith = PurchaseReservedNodeOfferingOperationSerializer()
deserializeWith = PurchaseReservedNodeOfferingOperationDeserializer()
operationName = "PurchaseReservedNodeOffering"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Updates the resource policy for a specified resource.
*/
override suspend fun putResourcePolicy(input: PutResourcePolicyRequest): PutResourcePolicyResponse {
val op = SdkHttpOperation.build {
serializeWith = PutResourcePolicyOperationSerializer()
deserializeWith = PutResourcePolicyOperationDeserializer()
operationName = "PutResourcePolicy"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Reboots a cluster. This action is taken as soon as possible. It results in a momentary outage to the cluster, during which the cluster status is set to `rebooting`. A cluster event is created when the reboot is completed. Any pending cluster modifications (see ModifyCluster) are applied at this reboot. For more information about managing clusters, go to [Amazon Redshift Clusters](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html) in the *Amazon Redshift Cluster Management Guide*.
*/
override suspend fun rebootCluster(input: RebootClusterRequest): RebootClusterResponse {
val op = SdkHttpOperation.build {
serializeWith = RebootClusterOperationSerializer()
deserializeWith = RebootClusterOperationDeserializer()
operationName = "RebootCluster"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* From a datashare consumer account, rejects the specified datashare.
*/
override suspend fun rejectDataShare(input: RejectDataShareRequest): RejectDataShareResponse {
val op = SdkHttpOperation.build {
serializeWith = RejectDataShareOperationSerializer()
deserializeWith = RejectDataShareOperationDeserializer()
operationName = "RejectDataShare"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Sets one or more parameters of the specified parameter group to their default values and sets the source values of the parameters to "engine-default". To reset the entire parameter group specify the *ResetAllParameters* parameter. For parameter changes to take effect you must reboot any associated clusters.
*/
override suspend fun resetClusterParameterGroup(input: ResetClusterParameterGroupRequest): ResetClusterParameterGroupResponse {
val op = SdkHttpOperation.build {
serializeWith = ResetClusterParameterGroupOperationSerializer()
deserializeWith = ResetClusterParameterGroupOperationDeserializer()
operationName = "ResetClusterParameterGroup"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Changes the size of the cluster. You can change the cluster's type, or change the number or type of nodes. The default behavior is to use the elastic resize method. With an elastic resize, your cluster is available for read and write operations more quickly than with the classic resize method.
*
* Elastic resize operations have the following restrictions:
* + You can only resize clusters of the following types:
* + dc2.large
* + dc2.8xlarge
* + ra3.xlplus
* + ra3.4xlarge
* + ra3.16xlarge
* + The type of nodes that you add must match the node type for the cluster.
*/
override suspend fun resizeCluster(input: ResizeClusterRequest): ResizeClusterResponse {
val op = SdkHttpOperation.build {
serializeWith = ResizeClusterOperationSerializer()
deserializeWith = ResizeClusterOperationDeserializer()
operationName = "ResizeCluster"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Creates a new cluster from a snapshot. By default, Amazon Redshift creates the resulting cluster with the same configuration as the original cluster from which the snapshot was created, except that the new cluster is created with the default cluster security and parameter groups. After Amazon Redshift creates the cluster, you can use the ModifyCluster API to associate a different security group and different parameter group with the restored cluster. If you are using a DS node type, you can also choose to change to another DS node type of the same size during restore.
*
* If you restore a cluster into a VPC, you must provide a cluster subnet group where you want the cluster restored.
*
* For more information about working with snapshots, go to [Amazon Redshift Snapshots](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-snapshots.html) in the *Amazon Redshift Cluster Management Guide*.
*/
override suspend fun restoreFromClusterSnapshot(input: RestoreFromClusterSnapshotRequest): RestoreFromClusterSnapshotResponse {
val op = SdkHttpOperation.build {
serializeWith = RestoreFromClusterSnapshotOperationSerializer()
deserializeWith = RestoreFromClusterSnapshotOperationDeserializer()
operationName = "RestoreFromClusterSnapshot"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Creates a new table from a table in an Amazon Redshift cluster snapshot. You must create the new table within the Amazon Redshift cluster that the snapshot was taken from.
*
* You cannot use `RestoreTableFromClusterSnapshot` to restore a table with the same name as an existing table in an Amazon Redshift cluster. That is, you cannot overwrite an existing table in a cluster with a restored table. If you want to replace your original table with a new, restored table, then rename or drop your original table before you call `RestoreTableFromClusterSnapshot`. When you have renamed your original table, then you can pass the original name of the table as the `NewTableName` parameter value in the call to `RestoreTableFromClusterSnapshot`. This way, you can replace the original table with the table created from the snapshot.
*
* You can't use this operation to restore tables with [interleaved sort keys](https://docs.aws.amazon.com/redshift/latest/dg/t_Sorting_data.html#t_Sorting_data-interleaved).
*/
override suspend fun restoreTableFromClusterSnapshot(input: RestoreTableFromClusterSnapshotRequest): RestoreTableFromClusterSnapshotResponse {
val op = SdkHttpOperation.build {
serializeWith = RestoreTableFromClusterSnapshotOperationSerializer()
deserializeWith = RestoreTableFromClusterSnapshotOperationDeserializer()
operationName = "RestoreTableFromClusterSnapshot"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Resumes a paused cluster.
*/
override suspend fun resumeCluster(input: ResumeClusterRequest): ResumeClusterResponse {
val op = SdkHttpOperation.build {
serializeWith = ResumeClusterOperationSerializer()
deserializeWith = ResumeClusterOperationDeserializer()
operationName = "ResumeCluster"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Revokes an ingress rule in an Amazon Redshift security group for a previously authorized IP range or Amazon EC2 security group. To add an ingress rule, see AuthorizeClusterSecurityGroupIngress. For information about managing security groups, go to [Amazon Redshift Cluster Security Groups](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-security-groups.html) in the *Amazon Redshift Cluster Management Guide*.
*/
override suspend fun revokeClusterSecurityGroupIngress(input: RevokeClusterSecurityGroupIngressRequest): RevokeClusterSecurityGroupIngressResponse {
val op = SdkHttpOperation.build {
serializeWith = RevokeClusterSecurityGroupIngressOperationSerializer()
deserializeWith = RevokeClusterSecurityGroupIngressOperationDeserializer()
operationName = "RevokeClusterSecurityGroupIngress"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Revokes access to a cluster.
*/
override suspend fun revokeEndpointAccess(input: RevokeEndpointAccessRequest): RevokeEndpointAccessResponse {
val op = SdkHttpOperation.build {
serializeWith = RevokeEndpointAccessOperationSerializer()
deserializeWith = RevokeEndpointAccessOperationDeserializer()
operationName = "RevokeEndpointAccess"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Removes the ability of the specified Amazon Web Services account to restore the specified snapshot. If the account is currently restoring the snapshot, the restore will run to completion.
*
* For more information about working with snapshots, go to [Amazon Redshift Snapshots](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-snapshots.html) in the *Amazon Redshift Cluster Management Guide*.
*/
override suspend fun revokeSnapshotAccess(input: RevokeSnapshotAccessRequest): RevokeSnapshotAccessResponse {
val op = SdkHttpOperation.build {
serializeWith = RevokeSnapshotAccessOperationSerializer()
deserializeWith = RevokeSnapshotAccessOperationDeserializer()
operationName = "RevokeSnapshotAccess"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Rotates the encryption keys for a cluster.
*/
override suspend fun rotateEncryptionKey(input: RotateEncryptionKeyRequest): RotateEncryptionKeyResponse {
val op = SdkHttpOperation.build {
serializeWith = RotateEncryptionKeyOperationSerializer()
deserializeWith = RotateEncryptionKeyOperationDeserializer()
operationName = "RotateEncryptionKey"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
/**
* Updates the status of a partner integration.
*/
override suspend fun updatePartnerStatus(input: UpdatePartnerStatusRequest): UpdatePartnerStatusResponse {
val op = SdkHttpOperation.build {
serializeWith = UpdatePartnerStatusOperationSerializer()
deserializeWith = UpdatePartnerStatusOperationDeserializer()
operationName = "UpdatePartnerStatus"
serviceName = ServiceId
telemetry {
provider = config.telemetryProvider
scope = telemetryScope
metrics = opMetrics
attributes = attributesOf {
"rpc.system" to "aws-api"
}
}
execution.auth = OperationAuthConfig(authSchemeAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
execution.retryPolicy = config.retryPolicy
}
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.interceptors.add(AwsSpanInterceptor)
op.interceptors.add(BusinessMetricsInterceptor())
op.install(
MutateHeaders().apply {
setIfMissing("Content-Type", "application/x-www-form-urlencoded")
}
)
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
return op.roundTrip(client, input)
}
override fun close() {
managedResources.unshareAll()
}
/**
* merge the defaults configured for the service into the execution context before firing off a request
*/
private fun mergeServiceDefaults(ctx: ExecutionContext) {
ctx.putIfAbsent(SdkClientOption.ClientName, config.clientName)
ctx.putIfAbsent(SdkClientOption.LogMode, config.logMode)
ctx.putIfAbsentNotNull(AwsAttributes.Region, config.region)
ctx.putIfAbsentNotNull(AwsSigningAttributes.SigningRegion, config.region)
ctx.putIfAbsent(AwsSigningAttributes.SigningService, "redshift")
ctx.putIfAbsent(AwsSigningAttributes.CredentialsProvider, config.credentialsProvider)
}
}