updateInstanceAccessControlAttributeConfiguration method

Future<void> updateInstanceAccessControlAttributeConfiguration({
  1. required InstanceAccessControlAttributeConfiguration instanceAccessControlAttributeConfiguration,
  2. required String instanceArn,
})

Updates the AWS SSO identity store attributes to use with the AWS SSO 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 AWS SSO identity store. If a SAML assertion passes any of these attributes, AWS SSO will replace the attribute value with the value from the AWS SSO identity store. For more information about ABAC, see Attribute-Based Access Control in the AWS SSO User Guide.

May throw InternalServerException. May throw AccessDeniedException. May throw ThrottlingException. May throw ValidationException. May throw ResourceNotFoundException. May throw ConflictException.

Parameter instanceAccessControlAttributeConfiguration : Updates the attributes for your ABAC configuration.

Parameter instanceArn : The ARN of the SSO instance under which the operation will be executed.

Implementation

Future<void> updateInstanceAccessControlAttributeConfiguration({
  required InstanceAccessControlAttributeConfiguration
      instanceAccessControlAttributeConfiguration,
  required String instanceArn,
}) async {
  ArgumentError.checkNotNull(instanceAccessControlAttributeConfiguration,
      'instanceAccessControlAttributeConfiguration');
  ArgumentError.checkNotNull(instanceArn, 'instanceArn');
  _s.validateStringLength(
    'instanceArn',
    instanceArn,
    10,
    1224,
    isRequired: true,
  );
  final headers = <String, String>{
    'Content-Type': 'application/x-amz-json-1.1',
    'X-Amz-Target':
        'SWBExternalService.UpdateInstanceAccessControlAttributeConfiguration'
  };
  await _protocol.send(
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    // TODO queryParams
    headers: headers,
    payload: {
      'InstanceAccessControlAttributeConfiguration':
          instanceAccessControlAttributeConfiguration,
      'InstanceArn': instanceArn,
    },
  );
}