
commonMain.aws.sdk.kotlin.services.ssoadmin.DefaultSsoAdminClient.kt Maven / Gradle / Ivy
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.ssoadmin
import aws.sdk.kotlin.runtime.client.AwsClientOption
import aws.sdk.kotlin.runtime.http.ApiMetadata
import aws.sdk.kotlin.runtime.http.AwsUserAgentMetadata
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.ssoadmin.auth.AuthSchemeProviderAdapter
import aws.sdk.kotlin.services.ssoadmin.auth.IdentityProviderConfigAdapter
import aws.sdk.kotlin.services.ssoadmin.endpoints.internal.EndpointResolverAdapter
import aws.sdk.kotlin.services.ssoadmin.model.*
import aws.sdk.kotlin.services.ssoadmin.transform.*
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.json.AwsJsonProtocol
import aws.smithy.kotlin.runtime.client.SdkClientOption
import aws.smithy.kotlin.runtime.http.SdkHttpClient
import aws.smithy.kotlin.runtime.http.auth.HttpAuthScheme
import aws.smithy.kotlin.runtime.http.auth.SigV4AuthScheme
import aws.smithy.kotlin.runtime.http.operation.OperationAuthConfig
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.sdkRequestId
import aws.smithy.kotlin.runtime.io.SdkManagedGroup
import aws.smithy.kotlin.runtime.io.addIfManaged
import aws.smithy.kotlin.runtime.operation.ExecutionContext
import aws.smithy.kotlin.runtime.tracing.withRootTraceSpan
import aws.smithy.kotlin.runtime.util.putIfAbsent
import kotlin.coroutines.coroutineContext
public const val ServiceId: String = "SSO Admin"
public const val ServiceApiVersion: String = "2020-07-20"
public const val SdkVersion: String = "0.27.1-beta"
internal class DefaultSsoAdminClient(override val config: SsoAdminClient.Config) : SsoAdminClient {
private val managedResources = SdkManagedGroup()
private val client = SdkHttpClient(config.httpClient)
private val identityProviderConfig = IdentityProviderConfigAdapter(config)
private val configuredAuthSchemes = with(config.authSchemes.associateBy(HttpAuthScheme::schemeId).toMutableMap()){
getOrPut(AuthSchemeId.AwsSigV4){
SigV4AuthScheme(DefaultAwsSigner, "sso")
}
toMap()
}
init {
managedResources.addIfManaged(config.httpClient)
managedResources.addIfManaged(config.credentialsProvider)
}
private val awsUserAgentMetadata = AwsUserAgentMetadata.fromEnvironment(ApiMetadata(ServiceId, SdkVersion))
/**
* Attaches the specified customer managed policy to the specified PermissionSet.
*/
override suspend fun attachCustomerManagedPolicyReferenceToPermissionSet(input: AttachCustomerManagedPolicyReferenceToPermissionSetRequest): AttachCustomerManagedPolicyReferenceToPermissionSetResponse {
val op = SdkHttpOperation.build {
serializer = AttachCustomerManagedPolicyReferenceToPermissionSetOperationSerializer()
deserializer = AttachCustomerManagedPolicyReferenceToPermissionSetOperationDeserializer()
context {
expectedHttpStatus = 200
operationName = "AttachCustomerManagedPolicyReferenceToPermissionSet"
}
execution.auth = OperationAuthConfig(AuthSchemeProviderAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
}
op.execution.retryPolicy = config.retryPolicy
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.install(AwsJsonProtocol("SWBExternalService", "1.1"))
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
val rootSpan = config.tracer.createRootSpan("AttachCustomerManagedPolicyReferenceToPermissionSet-${op.context.sdkRequestId}")
return coroutineContext.withRootTraceSpan(rootSpan) {
op.roundTrip(client, input)
}
}
/**
* Attaches an AWS managed policy ARN to a permission set.
*
* If the permission set is already referenced by one or more account assignments, you will need to call ` ProvisionPermissionSet ` after this operation. Calling `ProvisionPermissionSet` applies the corresponding IAM policy updates to all assigned accounts.
*/
override suspend fun attachManagedPolicyToPermissionSet(input: AttachManagedPolicyToPermissionSetRequest): AttachManagedPolicyToPermissionSetResponse {
val op = SdkHttpOperation.build {
serializer = AttachManagedPolicyToPermissionSetOperationSerializer()
deserializer = AttachManagedPolicyToPermissionSetOperationDeserializer()
context {
expectedHttpStatus = 200
operationName = "AttachManagedPolicyToPermissionSet"
}
execution.auth = OperationAuthConfig(AuthSchemeProviderAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
}
op.execution.retryPolicy = config.retryPolicy
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.install(AwsJsonProtocol("SWBExternalService", "1.1"))
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
val rootSpan = config.tracer.createRootSpan("AttachManagedPolicyToPermissionSet-${op.context.sdkRequestId}")
return coroutineContext.withRootTraceSpan(rootSpan) {
op.roundTrip(client, input)
}
}
/**
* Assigns access to a principal for a specified AWS account using a specified permission set.
*
* The term *principal* here refers to a user or group that is defined in IAM Identity Center.
*
* As part of a successful `CreateAccountAssignment` call, the specified permission set will automatically be provisioned to the account in the form of an IAM policy. That policy is attached to the IAM role created in IAM Identity Center. If the permission set is subsequently updated, the corresponding IAM policies attached to roles in your accounts will not be updated automatically. In this case, you must call ` ProvisionPermissionSet ` to make these updates.
*
* After a successful response, call `DescribeAccountAssignmentCreationStatus` to describe the status of an assignment creation request.
*/
override suspend fun createAccountAssignment(input: CreateAccountAssignmentRequest): CreateAccountAssignmentResponse {
val op = SdkHttpOperation.build {
serializer = CreateAccountAssignmentOperationSerializer()
deserializer = CreateAccountAssignmentOperationDeserializer()
context {
expectedHttpStatus = 200
operationName = "CreateAccountAssignment"
}
execution.auth = OperationAuthConfig(AuthSchemeProviderAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
}
op.execution.retryPolicy = config.retryPolicy
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.install(AwsJsonProtocol("SWBExternalService", "1.1"))
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
val rootSpan = config.tracer.createRootSpan("CreateAccountAssignment-${op.context.sdkRequestId}")
return coroutineContext.withRootTraceSpan(rootSpan) {
op.roundTrip(client, input)
}
}
/**
* Enables the attributes-based access control (ABAC) feature for the specified IAM Identity Center instance. You can also specify new attributes to add to your ABAC configuration during the enabling process. For more information about ABAC, see [Attribute-Based Access Control](/singlesignon/latest/userguide/abac.html) in the *IAM Identity Center User Guide*.
*
* After a successful response, call `DescribeInstanceAccessControlAttributeConfiguration` to validate that `InstanceAccessControlAttributeConfiguration` was created.
*/
override suspend fun createInstanceAccessControlAttributeConfiguration(input: CreateInstanceAccessControlAttributeConfigurationRequest): CreateInstanceAccessControlAttributeConfigurationResponse {
val op = SdkHttpOperation.build {
serializer = CreateInstanceAccessControlAttributeConfigurationOperationSerializer()
deserializer = CreateInstanceAccessControlAttributeConfigurationOperationDeserializer()
context {
expectedHttpStatus = 200
operationName = "CreateInstanceAccessControlAttributeConfiguration"
}
execution.auth = OperationAuthConfig(AuthSchemeProviderAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
}
op.execution.retryPolicy = config.retryPolicy
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.install(AwsJsonProtocol("SWBExternalService", "1.1"))
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
val rootSpan = config.tracer.createRootSpan("CreateInstanceAccessControlAttributeConfiguration-${op.context.sdkRequestId}")
return coroutineContext.withRootTraceSpan(rootSpan) {
op.roundTrip(client, input)
}
}
/**
* Creates a permission set within a specified IAM Identity Center instance.
*
* To grant users and groups access to AWS account resources, use ` CreateAccountAssignment `.
*/
override suspend fun createPermissionSet(input: CreatePermissionSetRequest): CreatePermissionSetResponse {
val op = SdkHttpOperation.build {
serializer = CreatePermissionSetOperationSerializer()
deserializer = CreatePermissionSetOperationDeserializer()
context {
expectedHttpStatus = 200
operationName = "CreatePermissionSet"
}
execution.auth = OperationAuthConfig(AuthSchemeProviderAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
}
op.execution.retryPolicy = config.retryPolicy
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.install(AwsJsonProtocol("SWBExternalService", "1.1"))
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
val rootSpan = config.tracer.createRootSpan("CreatePermissionSet-${op.context.sdkRequestId}")
return coroutineContext.withRootTraceSpan(rootSpan) {
op.roundTrip(client, input)
}
}
/**
* Deletes a principal's access from a specified AWS account using a specified permission set.
*
* After a successful response, call `DescribeAccountAssignmentCreationStatus` to describe the status of an assignment deletion request.
*/
override suspend fun deleteAccountAssignment(input: DeleteAccountAssignmentRequest): DeleteAccountAssignmentResponse {
val op = SdkHttpOperation.build {
serializer = DeleteAccountAssignmentOperationSerializer()
deserializer = DeleteAccountAssignmentOperationDeserializer()
context {
expectedHttpStatus = 200
operationName = "DeleteAccountAssignment"
}
execution.auth = OperationAuthConfig(AuthSchemeProviderAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
}
op.execution.retryPolicy = config.retryPolicy
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.install(AwsJsonProtocol("SWBExternalService", "1.1"))
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
val rootSpan = config.tracer.createRootSpan("DeleteAccountAssignment-${op.context.sdkRequestId}")
return coroutineContext.withRootTraceSpan(rootSpan) {
op.roundTrip(client, input)
}
}
/**
* Deletes the inline policy from a specified permission set.
*/
override suspend fun deleteInlinePolicyFromPermissionSet(input: DeleteInlinePolicyFromPermissionSetRequest): DeleteInlinePolicyFromPermissionSetResponse {
val op = SdkHttpOperation.build {
serializer = DeleteInlinePolicyFromPermissionSetOperationSerializer()
deserializer = DeleteInlinePolicyFromPermissionSetOperationDeserializer()
context {
expectedHttpStatus = 200
operationName = "DeleteInlinePolicyFromPermissionSet"
}
execution.auth = OperationAuthConfig(AuthSchemeProviderAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
}
op.execution.retryPolicy = config.retryPolicy
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.install(AwsJsonProtocol("SWBExternalService", "1.1"))
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
val rootSpan = config.tracer.createRootSpan("DeleteInlinePolicyFromPermissionSet-${op.context.sdkRequestId}")
return coroutineContext.withRootTraceSpan(rootSpan) {
op.roundTrip(client, input)
}
}
/**
* Disables the attributes-based access control (ABAC) feature for the specified IAM Identity Center instance and deletes all of the attribute mappings that have been configured. Once deleted, any attributes that are received from an identity source and any custom attributes you have previously configured will not be passed. For more information about ABAC, see [Attribute-Based Access Control](/singlesignon/latest/userguide/abac.html) in the *IAM Identity Center User Guide*.
*/
override suspend fun deleteInstanceAccessControlAttributeConfiguration(input: DeleteInstanceAccessControlAttributeConfigurationRequest): DeleteInstanceAccessControlAttributeConfigurationResponse {
val op = SdkHttpOperation.build {
serializer = DeleteInstanceAccessControlAttributeConfigurationOperationSerializer()
deserializer = DeleteInstanceAccessControlAttributeConfigurationOperationDeserializer()
context {
expectedHttpStatus = 200
operationName = "DeleteInstanceAccessControlAttributeConfiguration"
}
execution.auth = OperationAuthConfig(AuthSchemeProviderAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
}
op.execution.retryPolicy = config.retryPolicy
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.install(AwsJsonProtocol("SWBExternalService", "1.1"))
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
val rootSpan = config.tracer.createRootSpan("DeleteInstanceAccessControlAttributeConfiguration-${op.context.sdkRequestId}")
return coroutineContext.withRootTraceSpan(rootSpan) {
op.roundTrip(client, input)
}
}
/**
* Deletes the specified permission set.
*/
override suspend fun deletePermissionSet(input: DeletePermissionSetRequest): DeletePermissionSetResponse {
val op = SdkHttpOperation.build {
serializer = DeletePermissionSetOperationSerializer()
deserializer = DeletePermissionSetOperationDeserializer()
context {
expectedHttpStatus = 200
operationName = "DeletePermissionSet"
}
execution.auth = OperationAuthConfig(AuthSchemeProviderAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
}
op.execution.retryPolicy = config.retryPolicy
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.install(AwsJsonProtocol("SWBExternalService", "1.1"))
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
val rootSpan = config.tracer.createRootSpan("DeletePermissionSet-${op.context.sdkRequestId}")
return coroutineContext.withRootTraceSpan(rootSpan) {
op.roundTrip(client, input)
}
}
/**
* Deletes the permissions boundary from a specified PermissionSet.
*/
override suspend fun deletePermissionsBoundaryFromPermissionSet(input: DeletePermissionsBoundaryFromPermissionSetRequest): DeletePermissionsBoundaryFromPermissionSetResponse {
val op = SdkHttpOperation.build {
serializer = DeletePermissionsBoundaryFromPermissionSetOperationSerializer()
deserializer = DeletePermissionsBoundaryFromPermissionSetOperationDeserializer()
context {
expectedHttpStatus = 200
operationName = "DeletePermissionsBoundaryFromPermissionSet"
}
execution.auth = OperationAuthConfig(AuthSchemeProviderAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
}
op.execution.retryPolicy = config.retryPolicy
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.install(AwsJsonProtocol("SWBExternalService", "1.1"))
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
val rootSpan = config.tracer.createRootSpan("DeletePermissionsBoundaryFromPermissionSet-${op.context.sdkRequestId}")
return coroutineContext.withRootTraceSpan(rootSpan) {
op.roundTrip(client, input)
}
}
/**
* Describes the status of the assignment creation request.
*/
override suspend fun describeAccountAssignmentCreationStatus(input: DescribeAccountAssignmentCreationStatusRequest): DescribeAccountAssignmentCreationStatusResponse {
val op = SdkHttpOperation.build {
serializer = DescribeAccountAssignmentCreationStatusOperationSerializer()
deserializer = DescribeAccountAssignmentCreationStatusOperationDeserializer()
context {
expectedHttpStatus = 200
operationName = "DescribeAccountAssignmentCreationStatus"
}
execution.auth = OperationAuthConfig(AuthSchemeProviderAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
}
op.execution.retryPolicy = config.retryPolicy
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.install(AwsJsonProtocol("SWBExternalService", "1.1"))
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
val rootSpan = config.tracer.createRootSpan("DescribeAccountAssignmentCreationStatus-${op.context.sdkRequestId}")
return coroutineContext.withRootTraceSpan(rootSpan) {
op.roundTrip(client, input)
}
}
/**
* Describes the status of the assignment deletion request.
*/
override suspend fun describeAccountAssignmentDeletionStatus(input: DescribeAccountAssignmentDeletionStatusRequest): DescribeAccountAssignmentDeletionStatusResponse {
val op = SdkHttpOperation.build {
serializer = DescribeAccountAssignmentDeletionStatusOperationSerializer()
deserializer = DescribeAccountAssignmentDeletionStatusOperationDeserializer()
context {
expectedHttpStatus = 200
operationName = "DescribeAccountAssignmentDeletionStatus"
}
execution.auth = OperationAuthConfig(AuthSchemeProviderAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
}
op.execution.retryPolicy = config.retryPolicy
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.install(AwsJsonProtocol("SWBExternalService", "1.1"))
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
val rootSpan = config.tracer.createRootSpan("DescribeAccountAssignmentDeletionStatus-${op.context.sdkRequestId}")
return coroutineContext.withRootTraceSpan(rootSpan) {
op.roundTrip(client, input)
}
}
/**
* Returns the list of IAM Identity Center identity store attributes that have been configured to work with attributes-based access control (ABAC) for the specified IAM Identity Center instance. This will not return attributes configured and sent by an external identity provider. For more information about ABAC, see [Attribute-Based Access Control](/singlesignon/latest/userguide/abac.html) in the *IAM Identity Center User Guide*.
*/
override suspend fun describeInstanceAccessControlAttributeConfiguration(input: DescribeInstanceAccessControlAttributeConfigurationRequest): DescribeInstanceAccessControlAttributeConfigurationResponse {
val op = SdkHttpOperation.build {
serializer = DescribeInstanceAccessControlAttributeConfigurationOperationSerializer()
deserializer = DescribeInstanceAccessControlAttributeConfigurationOperationDeserializer()
context {
expectedHttpStatus = 200
operationName = "DescribeInstanceAccessControlAttributeConfiguration"
}
execution.auth = OperationAuthConfig(AuthSchemeProviderAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
}
op.execution.retryPolicy = config.retryPolicy
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.install(AwsJsonProtocol("SWBExternalService", "1.1"))
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
val rootSpan = config.tracer.createRootSpan("DescribeInstanceAccessControlAttributeConfiguration-${op.context.sdkRequestId}")
return coroutineContext.withRootTraceSpan(rootSpan) {
op.roundTrip(client, input)
}
}
/**
* Gets the details of the permission set.
*/
override suspend fun describePermissionSet(input: DescribePermissionSetRequest): DescribePermissionSetResponse {
val op = SdkHttpOperation.build {
serializer = DescribePermissionSetOperationSerializer()
deserializer = DescribePermissionSetOperationDeserializer()
context {
expectedHttpStatus = 200
operationName = "DescribePermissionSet"
}
execution.auth = OperationAuthConfig(AuthSchemeProviderAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
}
op.execution.retryPolicy = config.retryPolicy
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.install(AwsJsonProtocol("SWBExternalService", "1.1"))
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
val rootSpan = config.tracer.createRootSpan("DescribePermissionSet-${op.context.sdkRequestId}")
return coroutineContext.withRootTraceSpan(rootSpan) {
op.roundTrip(client, input)
}
}
/**
* Describes the status for the given permission set provisioning request.
*/
override suspend fun describePermissionSetProvisioningStatus(input: DescribePermissionSetProvisioningStatusRequest): DescribePermissionSetProvisioningStatusResponse {
val op = SdkHttpOperation.build {
serializer = DescribePermissionSetProvisioningStatusOperationSerializer()
deserializer = DescribePermissionSetProvisioningStatusOperationDeserializer()
context {
expectedHttpStatus = 200
operationName = "DescribePermissionSetProvisioningStatus"
}
execution.auth = OperationAuthConfig(AuthSchemeProviderAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
}
op.execution.retryPolicy = config.retryPolicy
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.install(AwsJsonProtocol("SWBExternalService", "1.1"))
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
val rootSpan = config.tracer.createRootSpan("DescribePermissionSetProvisioningStatus-${op.context.sdkRequestId}")
return coroutineContext.withRootTraceSpan(rootSpan) {
op.roundTrip(client, input)
}
}
/**
* Detaches the specified customer managed policy from the specified PermissionSet.
*/
override suspend fun detachCustomerManagedPolicyReferenceFromPermissionSet(input: DetachCustomerManagedPolicyReferenceFromPermissionSetRequest): DetachCustomerManagedPolicyReferenceFromPermissionSetResponse {
val op = SdkHttpOperation.build {
serializer = DetachCustomerManagedPolicyReferenceFromPermissionSetOperationSerializer()
deserializer = DetachCustomerManagedPolicyReferenceFromPermissionSetOperationDeserializer()
context {
expectedHttpStatus = 200
operationName = "DetachCustomerManagedPolicyReferenceFromPermissionSet"
}
execution.auth = OperationAuthConfig(AuthSchemeProviderAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
}
op.execution.retryPolicy = config.retryPolicy
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.install(AwsJsonProtocol("SWBExternalService", "1.1"))
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
val rootSpan = config.tracer.createRootSpan("DetachCustomerManagedPolicyReferenceFromPermissionSet-${op.context.sdkRequestId}")
return coroutineContext.withRootTraceSpan(rootSpan) {
op.roundTrip(client, input)
}
}
/**
* Detaches the attached AWS managed policy ARN from the specified permission set.
*/
override suspend fun detachManagedPolicyFromPermissionSet(input: DetachManagedPolicyFromPermissionSetRequest): DetachManagedPolicyFromPermissionSetResponse {
val op = SdkHttpOperation.build {
serializer = DetachManagedPolicyFromPermissionSetOperationSerializer()
deserializer = DetachManagedPolicyFromPermissionSetOperationDeserializer()
context {
expectedHttpStatus = 200
operationName = "DetachManagedPolicyFromPermissionSet"
}
execution.auth = OperationAuthConfig(AuthSchemeProviderAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
}
op.execution.retryPolicy = config.retryPolicy
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.install(AwsJsonProtocol("SWBExternalService", "1.1"))
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
val rootSpan = config.tracer.createRootSpan("DetachManagedPolicyFromPermissionSet-${op.context.sdkRequestId}")
return coroutineContext.withRootTraceSpan(rootSpan) {
op.roundTrip(client, input)
}
}
/**
* Obtains the inline policy assigned to the permission set.
*/
override suspend fun getInlinePolicyForPermissionSet(input: GetInlinePolicyForPermissionSetRequest): GetInlinePolicyForPermissionSetResponse {
val op = SdkHttpOperation.build {
serializer = GetInlinePolicyForPermissionSetOperationSerializer()
deserializer = GetInlinePolicyForPermissionSetOperationDeserializer()
context {
expectedHttpStatus = 200
operationName = "GetInlinePolicyForPermissionSet"
}
execution.auth = OperationAuthConfig(AuthSchemeProviderAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
}
op.execution.retryPolicy = config.retryPolicy
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.install(AwsJsonProtocol("SWBExternalService", "1.1"))
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
val rootSpan = config.tracer.createRootSpan("GetInlinePolicyForPermissionSet-${op.context.sdkRequestId}")
return coroutineContext.withRootTraceSpan(rootSpan) {
op.roundTrip(client, input)
}
}
/**
* Obtains the permissions boundary for a specified PermissionSet.
*/
override suspend fun getPermissionsBoundaryForPermissionSet(input: GetPermissionsBoundaryForPermissionSetRequest): GetPermissionsBoundaryForPermissionSetResponse {
val op = SdkHttpOperation.build {
serializer = GetPermissionsBoundaryForPermissionSetOperationSerializer()
deserializer = GetPermissionsBoundaryForPermissionSetOperationDeserializer()
context {
expectedHttpStatus = 200
operationName = "GetPermissionsBoundaryForPermissionSet"
}
execution.auth = OperationAuthConfig(AuthSchemeProviderAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
}
op.execution.retryPolicy = config.retryPolicy
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.install(AwsJsonProtocol("SWBExternalService", "1.1"))
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
val rootSpan = config.tracer.createRootSpan("GetPermissionsBoundaryForPermissionSet-${op.context.sdkRequestId}")
return coroutineContext.withRootTraceSpan(rootSpan) {
op.roundTrip(client, input)
}
}
/**
* Lists the status of the AWS account assignment creation requests for a specified IAM Identity Center instance.
*/
override suspend fun listAccountAssignmentCreationStatus(input: ListAccountAssignmentCreationStatusRequest): ListAccountAssignmentCreationStatusResponse {
val op = SdkHttpOperation.build {
serializer = ListAccountAssignmentCreationStatusOperationSerializer()
deserializer = ListAccountAssignmentCreationStatusOperationDeserializer()
context {
expectedHttpStatus = 200
operationName = "ListAccountAssignmentCreationStatus"
}
execution.auth = OperationAuthConfig(AuthSchemeProviderAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
}
op.execution.retryPolicy = config.retryPolicy
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.install(AwsJsonProtocol("SWBExternalService", "1.1"))
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
val rootSpan = config.tracer.createRootSpan("ListAccountAssignmentCreationStatus-${op.context.sdkRequestId}")
return coroutineContext.withRootTraceSpan(rootSpan) {
op.roundTrip(client, input)
}
}
/**
* Lists the status of the AWS account assignment deletion requests for a specified IAM Identity Center instance.
*/
override suspend fun listAccountAssignmentDeletionStatus(input: ListAccountAssignmentDeletionStatusRequest): ListAccountAssignmentDeletionStatusResponse {
val op = SdkHttpOperation.build {
serializer = ListAccountAssignmentDeletionStatusOperationSerializer()
deserializer = ListAccountAssignmentDeletionStatusOperationDeserializer()
context {
expectedHttpStatus = 200
operationName = "ListAccountAssignmentDeletionStatus"
}
execution.auth = OperationAuthConfig(AuthSchemeProviderAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
}
op.execution.retryPolicy = config.retryPolicy
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.install(AwsJsonProtocol("SWBExternalService", "1.1"))
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
val rootSpan = config.tracer.createRootSpan("ListAccountAssignmentDeletionStatus-${op.context.sdkRequestId}")
return coroutineContext.withRootTraceSpan(rootSpan) {
op.roundTrip(client, input)
}
}
/**
* Lists the assignee of the specified AWS account with the specified permission set.
*/
override suspend fun listAccountAssignments(input: ListAccountAssignmentsRequest): ListAccountAssignmentsResponse {
val op = SdkHttpOperation.build {
serializer = ListAccountAssignmentsOperationSerializer()
deserializer = ListAccountAssignmentsOperationDeserializer()
context {
expectedHttpStatus = 200
operationName = "ListAccountAssignments"
}
execution.auth = OperationAuthConfig(AuthSchemeProviderAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
}
op.execution.retryPolicy = config.retryPolicy
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.install(AwsJsonProtocol("SWBExternalService", "1.1"))
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
val rootSpan = config.tracer.createRootSpan("ListAccountAssignments-${op.context.sdkRequestId}")
return coroutineContext.withRootTraceSpan(rootSpan) {
op.roundTrip(client, input)
}
}
/**
* Lists all the AWS accounts where the specified permission set is provisioned.
*/
override suspend fun listAccountsForProvisionedPermissionSet(input: ListAccountsForProvisionedPermissionSetRequest): ListAccountsForProvisionedPermissionSetResponse {
val op = SdkHttpOperation.build {
serializer = ListAccountsForProvisionedPermissionSetOperationSerializer()
deserializer = ListAccountsForProvisionedPermissionSetOperationDeserializer()
context {
expectedHttpStatus = 200
operationName = "ListAccountsForProvisionedPermissionSet"
}
execution.auth = OperationAuthConfig(AuthSchemeProviderAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
}
op.execution.retryPolicy = config.retryPolicy
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.install(AwsJsonProtocol("SWBExternalService", "1.1"))
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
val rootSpan = config.tracer.createRootSpan("ListAccountsForProvisionedPermissionSet-${op.context.sdkRequestId}")
return coroutineContext.withRootTraceSpan(rootSpan) {
op.roundTrip(client, input)
}
}
/**
* Lists all customer managed policies attached to a specified PermissionSet.
*/
override suspend fun listCustomerManagedPolicyReferencesInPermissionSet(input: ListCustomerManagedPolicyReferencesInPermissionSetRequest): ListCustomerManagedPolicyReferencesInPermissionSetResponse {
val op = SdkHttpOperation.build {
serializer = ListCustomerManagedPolicyReferencesInPermissionSetOperationSerializer()
deserializer = ListCustomerManagedPolicyReferencesInPermissionSetOperationDeserializer()
context {
expectedHttpStatus = 200
operationName = "ListCustomerManagedPolicyReferencesInPermissionSet"
}
execution.auth = OperationAuthConfig(AuthSchemeProviderAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
}
op.execution.retryPolicy = config.retryPolicy
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.install(AwsJsonProtocol("SWBExternalService", "1.1"))
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
val rootSpan = config.tracer.createRootSpan("ListCustomerManagedPolicyReferencesInPermissionSet-${op.context.sdkRequestId}")
return coroutineContext.withRootTraceSpan(rootSpan) {
op.roundTrip(client, input)
}
}
/**
* Lists the IAM Identity Center instances that the caller has access to.
*/
override suspend fun listInstances(input: ListInstancesRequest): ListInstancesResponse {
val op = SdkHttpOperation.build {
serializer = ListInstancesOperationSerializer()
deserializer = ListInstancesOperationDeserializer()
context {
expectedHttpStatus = 200
operationName = "ListInstances"
}
execution.auth = OperationAuthConfig(AuthSchemeProviderAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
}
op.execution.retryPolicy = config.retryPolicy
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.install(AwsJsonProtocol("SWBExternalService", "1.1"))
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
val rootSpan = config.tracer.createRootSpan("ListInstances-${op.context.sdkRequestId}")
return coroutineContext.withRootTraceSpan(rootSpan) {
op.roundTrip(client, input)
}
}
/**
* Lists the AWS managed policy that is attached to a specified permission set.
*/
override suspend fun listManagedPoliciesInPermissionSet(input: ListManagedPoliciesInPermissionSetRequest): ListManagedPoliciesInPermissionSetResponse {
val op = SdkHttpOperation.build {
serializer = ListManagedPoliciesInPermissionSetOperationSerializer()
deserializer = ListManagedPoliciesInPermissionSetOperationDeserializer()
context {
expectedHttpStatus = 200
operationName = "ListManagedPoliciesInPermissionSet"
}
execution.auth = OperationAuthConfig(AuthSchemeProviderAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
}
op.execution.retryPolicy = config.retryPolicy
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.install(AwsJsonProtocol("SWBExternalService", "1.1"))
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
val rootSpan = config.tracer.createRootSpan("ListManagedPoliciesInPermissionSet-${op.context.sdkRequestId}")
return coroutineContext.withRootTraceSpan(rootSpan) {
op.roundTrip(client, input)
}
}
/**
* Lists the status of the permission set provisioning requests for a specified IAM Identity Center instance.
*/
override suspend fun listPermissionSetProvisioningStatus(input: ListPermissionSetProvisioningStatusRequest): ListPermissionSetProvisioningStatusResponse {
val op = SdkHttpOperation.build {
serializer = ListPermissionSetProvisioningStatusOperationSerializer()
deserializer = ListPermissionSetProvisioningStatusOperationDeserializer()
context {
expectedHttpStatus = 200
operationName = "ListPermissionSetProvisioningStatus"
}
execution.auth = OperationAuthConfig(AuthSchemeProviderAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
}
op.execution.retryPolicy = config.retryPolicy
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.install(AwsJsonProtocol("SWBExternalService", "1.1"))
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
val rootSpan = config.tracer.createRootSpan("ListPermissionSetProvisioningStatus-${op.context.sdkRequestId}")
return coroutineContext.withRootTraceSpan(rootSpan) {
op.roundTrip(client, input)
}
}
/**
* Lists the PermissionSets in an IAM Identity Center instance.
*/
override suspend fun listPermissionSets(input: ListPermissionSetsRequest): ListPermissionSetsResponse {
val op = SdkHttpOperation.build {
serializer = ListPermissionSetsOperationSerializer()
deserializer = ListPermissionSetsOperationDeserializer()
context {
expectedHttpStatus = 200
operationName = "ListPermissionSets"
}
execution.auth = OperationAuthConfig(AuthSchemeProviderAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
}
op.execution.retryPolicy = config.retryPolicy
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.install(AwsJsonProtocol("SWBExternalService", "1.1"))
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
val rootSpan = config.tracer.createRootSpan("ListPermissionSets-${op.context.sdkRequestId}")
return coroutineContext.withRootTraceSpan(rootSpan) {
op.roundTrip(client, input)
}
}
/**
* Lists all the permission sets that are provisioned to a specified AWS account.
*/
override suspend fun listPermissionSetsProvisionedToAccount(input: ListPermissionSetsProvisionedToAccountRequest): ListPermissionSetsProvisionedToAccountResponse {
val op = SdkHttpOperation.build {
serializer = ListPermissionSetsProvisionedToAccountOperationSerializer()
deserializer = ListPermissionSetsProvisionedToAccountOperationDeserializer()
context {
expectedHttpStatus = 200
operationName = "ListPermissionSetsProvisionedToAccount"
}
execution.auth = OperationAuthConfig(AuthSchemeProviderAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
}
op.execution.retryPolicy = config.retryPolicy
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.install(AwsJsonProtocol("SWBExternalService", "1.1"))
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
val rootSpan = config.tracer.createRootSpan("ListPermissionSetsProvisionedToAccount-${op.context.sdkRequestId}")
return coroutineContext.withRootTraceSpan(rootSpan) {
op.roundTrip(client, input)
}
}
/**
* Lists the tags that are attached to a specified resource.
*/
override suspend fun listTagsForResource(input: ListTagsForResourceRequest): ListTagsForResourceResponse {
val op = SdkHttpOperation.build {
serializer = ListTagsForResourceOperationSerializer()
deserializer = ListTagsForResourceOperationDeserializer()
context {
expectedHttpStatus = 200
operationName = "ListTagsForResource"
}
execution.auth = OperationAuthConfig(AuthSchemeProviderAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
}
op.execution.retryPolicy = config.retryPolicy
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.install(AwsJsonProtocol("SWBExternalService", "1.1"))
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
val rootSpan = config.tracer.createRootSpan("ListTagsForResource-${op.context.sdkRequestId}")
return coroutineContext.withRootTraceSpan(rootSpan) {
op.roundTrip(client, input)
}
}
/**
* The process by which a specified permission set is provisioned to the specified target.
*/
override suspend fun provisionPermissionSet(input: ProvisionPermissionSetRequest): ProvisionPermissionSetResponse {
val op = SdkHttpOperation.build {
serializer = ProvisionPermissionSetOperationSerializer()
deserializer = ProvisionPermissionSetOperationDeserializer()
context {
expectedHttpStatus = 200
operationName = "ProvisionPermissionSet"
}
execution.auth = OperationAuthConfig(AuthSchemeProviderAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
}
op.execution.retryPolicy = config.retryPolicy
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.install(AwsJsonProtocol("SWBExternalService", "1.1"))
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
val rootSpan = config.tracer.createRootSpan("ProvisionPermissionSet-${op.context.sdkRequestId}")
return coroutineContext.withRootTraceSpan(rootSpan) {
op.roundTrip(client, input)
}
}
/**
* Attaches an inline policy to a permission set.
*
* If the permission set is already referenced by one or more account assignments, you will need to call ` ProvisionPermissionSet ` after this action to apply the corresponding IAM policy updates to all assigned accounts.
*/
override suspend fun putInlinePolicyToPermissionSet(input: PutInlinePolicyToPermissionSetRequest): PutInlinePolicyToPermissionSetResponse {
val op = SdkHttpOperation.build {
serializer = PutInlinePolicyToPermissionSetOperationSerializer()
deserializer = PutInlinePolicyToPermissionSetOperationDeserializer()
context {
expectedHttpStatus = 200
operationName = "PutInlinePolicyToPermissionSet"
}
execution.auth = OperationAuthConfig(AuthSchemeProviderAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
}
op.execution.retryPolicy = config.retryPolicy
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.install(AwsJsonProtocol("SWBExternalService", "1.1"))
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
val rootSpan = config.tracer.createRootSpan("PutInlinePolicyToPermissionSet-${op.context.sdkRequestId}")
return coroutineContext.withRootTraceSpan(rootSpan) {
op.roundTrip(client, input)
}
}
/**
* Attaches an AWS managed or customer managed policy to the specified PermissionSet as a permissions boundary.
*/
override suspend fun putPermissionsBoundaryToPermissionSet(input: PutPermissionsBoundaryToPermissionSetRequest): PutPermissionsBoundaryToPermissionSetResponse {
val op = SdkHttpOperation.build {
serializer = PutPermissionsBoundaryToPermissionSetOperationSerializer()
deserializer = PutPermissionsBoundaryToPermissionSetOperationDeserializer()
context {
expectedHttpStatus = 200
operationName = "PutPermissionsBoundaryToPermissionSet"
}
execution.auth = OperationAuthConfig(AuthSchemeProviderAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
}
op.execution.retryPolicy = config.retryPolicy
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.install(AwsJsonProtocol("SWBExternalService", "1.1"))
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
val rootSpan = config.tracer.createRootSpan("PutPermissionsBoundaryToPermissionSet-${op.context.sdkRequestId}")
return coroutineContext.withRootTraceSpan(rootSpan) {
op.roundTrip(client, input)
}
}
/**
* Associates a set of tags with a specified resource.
*/
override suspend fun tagResource(input: TagResourceRequest): TagResourceResponse {
val op = SdkHttpOperation.build {
serializer = TagResourceOperationSerializer()
deserializer = TagResourceOperationDeserializer()
context {
expectedHttpStatus = 200
operationName = "TagResource"
}
execution.auth = OperationAuthConfig(AuthSchemeProviderAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
}
op.execution.retryPolicy = config.retryPolicy
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.install(AwsJsonProtocol("SWBExternalService", "1.1"))
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
val rootSpan = config.tracer.createRootSpan("TagResource-${op.context.sdkRequestId}")
return coroutineContext.withRootTraceSpan(rootSpan) {
op.roundTrip(client, input)
}
}
/**
* Disassociates a set of tags from a specified resource.
*/
override suspend fun untagResource(input: UntagResourceRequest): UntagResourceResponse {
val op = SdkHttpOperation.build {
serializer = UntagResourceOperationSerializer()
deserializer = UntagResourceOperationDeserializer()
context {
expectedHttpStatus = 200
operationName = "UntagResource"
}
execution.auth = OperationAuthConfig(AuthSchemeProviderAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
}
op.execution.retryPolicy = config.retryPolicy
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.install(AwsJsonProtocol("SWBExternalService", "1.1"))
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
val rootSpan = config.tracer.createRootSpan("UntagResource-${op.context.sdkRequestId}")
return coroutineContext.withRootTraceSpan(rootSpan) {
op.roundTrip(client, input)
}
}
/**
* Updates the IAM Identity Center identity store attributes that you can use with the IAM Identity Center instance for attributes-based access control (ABAC). When using an external identity provider as an identity source, you can pass attributes through the SAML assertion as an alternative to configuring attributes from the IAM Identity Center identity store. If a SAML assertion passes any of these attributes, IAM Identity Center replaces the attribute value with the value from the IAM Identity Center identity store. For more information about ABAC, see [Attribute-Based Access Control](/singlesignon/latest/userguide/abac.html) in the *IAM Identity Center User Guide*.
*/
override suspend fun updateInstanceAccessControlAttributeConfiguration(input: UpdateInstanceAccessControlAttributeConfigurationRequest): UpdateInstanceAccessControlAttributeConfigurationResponse {
val op = SdkHttpOperation.build {
serializer = UpdateInstanceAccessControlAttributeConfigurationOperationSerializer()
deserializer = UpdateInstanceAccessControlAttributeConfigurationOperationDeserializer()
context {
expectedHttpStatus = 200
operationName = "UpdateInstanceAccessControlAttributeConfiguration"
}
execution.auth = OperationAuthConfig(AuthSchemeProviderAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
}
op.execution.retryPolicy = config.retryPolicy
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.install(AwsJsonProtocol("SWBExternalService", "1.1"))
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
val rootSpan = config.tracer.createRootSpan("UpdateInstanceAccessControlAttributeConfiguration-${op.context.sdkRequestId}")
return coroutineContext.withRootTraceSpan(rootSpan) {
op.roundTrip(client, input)
}
}
/**
* Updates an existing permission set.
*/
override suspend fun updatePermissionSet(input: UpdatePermissionSetRequest): UpdatePermissionSetResponse {
val op = SdkHttpOperation.build {
serializer = UpdatePermissionSetOperationSerializer()
deserializer = UpdatePermissionSetOperationDeserializer()
context {
expectedHttpStatus = 200
operationName = "UpdatePermissionSet"
}
execution.auth = OperationAuthConfig(AuthSchemeProviderAdapter, configuredAuthSchemes, identityProviderConfig)
execution.endpointResolver = EndpointResolverAdapter(config)
execution.retryStrategy = config.retryStrategy
}
op.execution.retryPolicy = config.retryPolicy
mergeServiceDefaults(op.context)
op.install(AwsRetryHeaderMiddleware())
op.install(AwsJsonProtocol("SWBExternalService", "1.1"))
op.install(UserAgent(awsUserAgentMetadata))
op.install(RecursionDetection())
op.interceptors.addAll(config.interceptors)
val rootSpan = config.tracer.createRootSpan("UpdatePermissionSet-${op.context.sdkRequestId}")
return coroutineContext.withRootTraceSpan(rootSpan) {
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 suspend fun mergeServiceDefaults(ctx: ExecutionContext) {
ctx.putIfAbsent(AwsClientOption.Region, config.region)
ctx.putIfAbsent(SdkClientOption.ClientName, config.clientName)
ctx.putIfAbsent(SdkClientOption.LogMode, config.logMode)
ctx.putIfAbsent(AwsSigningAttributes.SigningService, "sso")
ctx.putIfAbsent(AwsSigningAttributes.SigningRegion, config.region)
ctx.putIfAbsent(AwsSigningAttributes.CredentialsProvider, config.credentialsProvider)
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy