// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`CreateRedshiftIdcApplication`](crate::operation::create_redshift_idc_application::builders::CreateRedshiftIdcApplicationFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`idc_instance_arn(impl Into<String>)`](crate::operation::create_redshift_idc_application::builders::CreateRedshiftIdcApplicationFluentBuilder::idc_instance_arn) / [`set_idc_instance_arn(Option<String>)`](crate::operation::create_redshift_idc_application::builders::CreateRedshiftIdcApplicationFluentBuilder::set_idc_instance_arn):<br>required: **true**<br><p>The Amazon resource name (ARN) of the IAM Identity Center instance where Amazon Redshift creates a new managed application.</p><br>
/// - [`redshift_idc_application_name(impl Into<String>)`](crate::operation::create_redshift_idc_application::builders::CreateRedshiftIdcApplicationFluentBuilder::redshift_idc_application_name) / [`set_redshift_idc_application_name(Option<String>)`](crate::operation::create_redshift_idc_application::builders::CreateRedshiftIdcApplicationFluentBuilder::set_redshift_idc_application_name):<br>required: **true**<br><p>The name of the Redshift application in IAM Identity Center.</p><br>
/// - [`identity_namespace(impl Into<String>)`](crate::operation::create_redshift_idc_application::builders::CreateRedshiftIdcApplicationFluentBuilder::identity_namespace) / [`set_identity_namespace(Option<String>)`](crate::operation::create_redshift_idc_application::builders::CreateRedshiftIdcApplicationFluentBuilder::set_identity_namespace):<br>required: **false**<br><p>The namespace for the Amazon Redshift IAM Identity Center application instance. It determines which managed application verifies the connection token.</p><br>
/// - [`idc_display_name(impl Into<String>)`](crate::operation::create_redshift_idc_application::builders::CreateRedshiftIdcApplicationFluentBuilder::idc_display_name) / [`set_idc_display_name(Option<String>)`](crate::operation::create_redshift_idc_application::builders::CreateRedshiftIdcApplicationFluentBuilder::set_idc_display_name):<br>required: **true**<br><p>The display name for the Amazon Redshift IAM Identity Center application instance. It appears in the console.</p><br>
/// - [`iam_role_arn(impl Into<String>)`](crate::operation::create_redshift_idc_application::builders::CreateRedshiftIdcApplicationFluentBuilder::iam_role_arn) / [`set_iam_role_arn(Option<String>)`](crate::operation::create_redshift_idc_application::builders::CreateRedshiftIdcApplicationFluentBuilder::set_iam_role_arn):<br>required: **true**<br><p>The IAM role ARN for the Amazon Redshift IAM Identity Center application instance. It has the required permissions to be assumed and invoke the IDC Identity Center API.</p><br>
/// - [`authorized_token_issuer_list(AuthorizedTokenIssuer)`](crate::operation::create_redshift_idc_application::builders::CreateRedshiftIdcApplicationFluentBuilder::authorized_token_issuer_list) / [`set_authorized_token_issuer_list(Option<Vec::<AuthorizedTokenIssuer>>)`](crate::operation::create_redshift_idc_application::builders::CreateRedshiftIdcApplicationFluentBuilder::set_authorized_token_issuer_list):<br>required: **false**<br><p>The token issuer list for the Amazon Redshift IAM Identity Center application instance.</p><br>
/// - [`service_integrations(ServiceIntegrationsUnion)`](crate::operation::create_redshift_idc_application::builders::CreateRedshiftIdcApplicationFluentBuilder::service_integrations) / [`set_service_integrations(Option<Vec::<ServiceIntegrationsUnion>>)`](crate::operation::create_redshift_idc_application::builders::CreateRedshiftIdcApplicationFluentBuilder::set_service_integrations):<br>required: **false**<br><p>A collection of service integrations for the Redshift IAM Identity Center application.</p><br>
/// - On success, responds with [`CreateRedshiftIdcApplicationOutput`](crate::operation::create_redshift_idc_application::CreateRedshiftIdcApplicationOutput) with field(s):
/// - [`redshift_idc_application(Option<RedshiftIdcApplication>)`](crate::operation::create_redshift_idc_application::CreateRedshiftIdcApplicationOutput::redshift_idc_application): <p>Contains properties for the Redshift IDC application.</p>
/// - On failure, responds with [`SdkError<CreateRedshiftIdcApplicationError>`](crate::operation::create_redshift_idc_application::CreateRedshiftIdcApplicationError)
pub fn create_redshift_idc_application(
&self,
) -> crate::operation::create_redshift_idc_application::builders::CreateRedshiftIdcApplicationFluentBuilder {
crate::operation::create_redshift_idc_application::builders::CreateRedshiftIdcApplicationFluentBuilder::new(self.handle.clone())
}
}