Skip to content

modify_redshift_idc_application

modify_redshift_idc_application(
    *,
    config_overrides: Optional[RedshiftClientConfig] = None,
    redshift_idc_application_arn: Optional[String] = None,
    identity_namespace: Optional[IdentityNamespaceString] = None,
    iam_role_arn: Optional[String] = None,
    idc_display_name: Optional[IdcDisplayNameString] = None,
    authorized_token_issuer_list: Optional[AuthorizedTokenIssuerList] = None,
    service_integrations: Optional[ServiceIntegrationList] = None,
) -> ModifyRedshiftIdcApplicationResult

Changes an existing Amazon Redshift IAM Identity Center application.

Parameters:

  • redshift_idc_application_arn (Optional[String], default: None ) –

    The ARN for the Redshift application that integrates with IAM Identity Center.

  • identity_namespace (Optional[IdentityNamespaceString], default: None ) –

    The namespace for the Amazon Redshift IAM Identity Center application to change. It determines which managed application verifies the connection token.

  • iam_role_arn (Optional[String], default: None ) –

    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.

  • idc_display_name (Optional[IdcDisplayNameString], default: None ) –

    The display name for the Amazon Redshift IAM Identity Center application to change. It appears on the console.

  • authorized_token_issuer_list (Optional[AuthorizedTokenIssuerList], default: None ) –

    The authorized token issuer list for the Amazon Redshift IAM Identity Center application to change.

  • service_integrations (Optional[ServiceIntegrationList], default: None ) –

    A collection of service integrations associated with the application.

Raises:

Source code in docs_src/capo_redshift/_services/redshift.py
def modify_redshift_idc_application(
    self,
    *,
    config_overrides: Optional[RedshiftClientConfig] = None,
    redshift_idc_application_arn: Optional[
        "capo_redshift.types.string.String"
    ] = None,
    identity_namespace: Optional[
        "capo_redshift.types.identity_namespace_string.IdentityNamespaceString"
    ] = None,
    iam_role_arn: Optional["capo_redshift.types.string.String"] = None,
    idc_display_name: Optional[
        "capo_redshift.types.idc_display_name_string.IdcDisplayNameString"
    ] = None,
    authorized_token_issuer_list: Optional[
        "capo_redshift.types.authorized_token_issuer_list.AuthorizedTokenIssuerList"
    ] = None,
    service_integrations: Optional[
        "capo_redshift.types.service_integration_list.ServiceIntegrationList"
    ] = None,
) -> "capo_redshift.types.modify_redshift_idc_application_result.ModifyRedshiftIdcApplicationResult":
    """<p>Changes an existing Amazon Redshift IAM Identity Center application.</p>

    Args:
        redshift_idc_application_arn: <p>The ARN for the Redshift application that integrates with IAM Identity Center.</p>
        identity_namespace: <p>The namespace for the Amazon Redshift IAM Identity Center application to change. It determines which managed application verifies the connection token.</p>
        iam_role_arn: <p>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.</p>
        idc_display_name: <p>The display name for the Amazon Redshift IAM Identity Center application to change. It appears on the console.</p>
        authorized_token_issuer_list: <p>The authorized token issuer list for the Amazon Redshift IAM Identity Center application to change.</p>
        service_integrations: <p>A collection of service integrations associated with the application.</p>

    Raises:
        capo_redshift.errors.dependent_service_access_denied_fault.DependentServiceAccessDeniedFault: <p>A dependent service denied access for the integration.</p>
        capo_redshift.errors.dependent_service_unavailable_fault.DependentServiceUnavailableFault: <p>Your request cannot be completed because a dependent internal service is temporarily unavailable. Wait 30 to 60 seconds and try again.</p>
        capo_redshift.errors.redshift_idc_application_not_exists_fault.RedshiftIdcApplicationNotExistsFault: <p>The application you attempted to find doesn't exist.</p>
        capo_redshift.errors.unsupported_operation_fault.UnsupportedOperationFault: <p>The requested operation isn't supported.</p>
        capo_redshift.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    def _handler(
        req: "OperationRequest[capo_redshift.types.modify_redshift_idc_application_message.ModifyRedshiftIdcApplicationMessage]",
    ) -> OperationResponse[
        "capo_redshift.types.modify_redshift_idc_application_result.ModifyRedshiftIdcApplicationResult"
    ]:
        import capo_redshift._operations.redshift_service_version20121201.modify_redshift_idc_application

        output, http_response = (
            capo_redshift._operations.redshift_service_version20121201.modify_redshift_idc_application.modify_redshift_idc_application(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("ModifyRedshiftIdcApplication")
    )
    input_: capo_redshift.types.modify_redshift_idc_application_message.ModifyRedshiftIdcApplicationMessage = {}
    if redshift_idc_application_arn is not None:
        input_["redshift_idc_application_arn"] = redshift_idc_application_arn
    if identity_namespace is not None:
        input_["identity_namespace"] = identity_namespace
    if iam_role_arn is not None:
        input_["iam_role_arn"] = iam_role_arn
    if idc_display_name is not None:
        input_["idc_display_name"] = idc_display_name
    if authorized_token_issuer_list is not None:
        input_["authorized_token_issuer_list"] = authorized_token_issuer_list
    if service_integrations is not None:
        input_["service_integrations"] = service_integrations

    response = execute_pipeline(
        OperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    response.response.close()
    return response.output