modifyRedshiftIdcApplication method

Future<ModifyRedshiftIdcApplicationResult> modifyRedshiftIdcApplication({
  1. required String redshiftIdcApplicationArn,
  2. List<AuthorizedTokenIssuer>? authorizedTokenIssuerList,
  3. String? iamRoleArn,
  4. String? idcDisplayName,
  5. String? identityNamespace,
  6. List<ServiceIntegrationsUnion>? serviceIntegrations,
})

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);
}