modifyRedshiftIdcApplication method
Changes an existing Amazon Redshift IAM Identity Center application.
May throw DependentServiceAccessDeniedFault.
May throw DependentServiceUnavailableFault.
May throw RedshiftIdcApplicationNotExistsFault.
May throw UnsupportedOperationFault.
Parameter redshiftIdcApplicationArn :
The ARN for the Redshift application that integrates with IAM Identity
Center.
Parameter authorizedTokenIssuerList :
The authorized token issuer list for the Amazon Redshift IAM Identity
Center application to change.
Parameter iamRoleArn :
The IAM role ARN associated with the Amazon Redshift IAM Identity Center
application to change. It has the required permissions to be assumed and
invoke the IDC Identity Center API.
Parameter idcDisplayName :
The display name for the Amazon Redshift IAM Identity Center application
to change. It appears on the console.
Parameter identityNamespace :
The namespace for the Amazon Redshift IAM Identity Center application to
change. It determines which managed application verifies the connection
token.
Parameter serviceIntegrations :
A collection of service integrations associated with the application.
Implementation
Future<ModifyRedshiftIdcApplicationResult> modifyRedshiftIdcApplication({
required String redshiftIdcApplicationArn,
List<AuthorizedTokenIssuer>? authorizedTokenIssuerList,
String? iamRoleArn,
String? idcDisplayName,
String? identityNamespace,
List<ServiceIntegrationsUnion>? serviceIntegrations,
}) async {
final $request = <String, String>{
'RedshiftIdcApplicationArn': redshiftIdcApplicationArn,
if (authorizedTokenIssuerList != null)
if (authorizedTokenIssuerList.isEmpty)
'AuthorizedTokenIssuerList': ''
else
for (var i1 = 0; i1 < authorizedTokenIssuerList.length; i1++)
for (var e3 in authorizedTokenIssuerList[i1].toQueryMap().entries)
'AuthorizedTokenIssuerList.member.${i1 + 1}.${e3.key}': e3.value,
if (iamRoleArn != null) 'IamRoleArn': iamRoleArn,
if (idcDisplayName != null) 'IdcDisplayName': idcDisplayName,
if (identityNamespace != null) 'IdentityNamespace': identityNamespace,
if (serviceIntegrations != null)
if (serviceIntegrations.isEmpty)
'ServiceIntegrations': ''
else
for (var i1 = 0; i1 < serviceIntegrations.length; i1++)
for (var e3 in serviceIntegrations[i1].toQueryMap().entries)
'ServiceIntegrations.member.${i1 + 1}.${e3.key}': e3.value,
};
final $result = await _protocol.send(
$request,
action: 'ModifyRedshiftIdcApplication',
version: '2012-12-01',
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
resultWrapper: 'ModifyRedshiftIdcApplicationResult',
);
return ModifyRedshiftIdcApplicationResult.fromXml($result);
}