updateInstance method
Update the details for the instance of IAM Identity Center that is owned by the Amazon Web Services account.
In a single UpdateInstance request, you can perform only one
of the following operations:
-
Update the encryption configuration of the instance by specifying
EncryptionConfiguration. -
Enable permission sets for the instance by specifying
PermissionSetsEnabled.
EncryptionConfiguration and
PermissionSetsEnabled returns a
ValidationException. To perform both operations, call
UpdateInstance separately for each. The two calls can be made
in parallel.
May throw AccessDeniedException.
May throw ConflictException.
May throw InternalServerException.
May throw ResourceNotFoundException.
May throw ThrottlingException.
May throw ValidationException.
Parameter instanceArn :
The ARN of the instance of IAM Identity Center under which the operation
will run. For more information about ARNs, see Amazon Resource
Names (ARNs) and Amazon Web Services Service Namespaces in the
Amazon Web Services General Reference.
Parameter encryptionConfiguration :
Specifies the encryption configuration for your IAM Identity Center
instance. You can use this to configure customer managed KMS keys or
Amazon Web Services owned KMS keys for encrypting your instance data.
Parameter name :
Updates the instance name.
Parameter permissionSetsEnabled :
Enables permission sets for this Identity Center instance. The only
accepted value is true . After permission sets are enabled,
they cannot be disabled.
Implementation
Future<void> updateInstance({
required String instanceArn,
EncryptionConfiguration? encryptionConfiguration,
String? name,
bool? permissionSetsEnabled,
}) async {
final headers = <String, String>{
'Content-Type': 'application/x-amz-json-1.1',
'X-Amz-Target': 'SWBExternalService.UpdateInstance'
};
await _protocol.send(
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
// TODO queryParams
headers: headers,
payload: {
'InstanceArn': instanceArn,
if (encryptionConfiguration != null)
'EncryptionConfiguration': encryptionConfiguration,
if (name != null) 'Name': name,
if (permissionSetsEnabled != null)
'PermissionSetsEnabled': permissionSetsEnabled,
},
);
}