// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`CreateOAuthClientApplication`](crate::operation::create_o_auth_client_application::builders::CreateOAuthClientApplicationFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`aws_account_id(impl Into<String>)`](crate::operation::create_o_auth_client_application::builders::CreateOAuthClientApplicationFluentBuilder::aws_account_id) / [`set_aws_account_id(Option<String>)`](crate::operation::create_o_auth_client_application::builders::CreateOAuthClientApplicationFluentBuilder::set_aws_account_id):<br>required: **true**<br><p>The Amazon Web Services account ID.</p><br>
/// - [`o_auth_client_application_id(impl Into<String>)`](crate::operation::create_o_auth_client_application::builders::CreateOAuthClientApplicationFluentBuilder::o_auth_client_application_id) / [`set_o_auth_client_application_id(Option<String>)`](crate::operation::create_o_auth_client_application::builders::CreateOAuthClientApplicationFluentBuilder::set_o_auth_client_application_id):<br>required: **true**<br><p>An ID for the OAuthClientApplication that you want to create. This ID is unique per Amazon Web Services Region for each Amazon Web Services account.</p><br>
/// - [`name(impl Into<String>)`](crate::operation::create_o_auth_client_application::builders::CreateOAuthClientApplicationFluentBuilder::name) / [`set_name(Option<String>)`](crate::operation::create_o_auth_client_application::builders::CreateOAuthClientApplicationFluentBuilder::set_name):<br>required: **true**<br><p>The display name for the OAuthClientApplication.</p><br>
/// - [`o_auth_client_authentication_type(OAuthClientAuthenticationType)`](crate::operation::create_o_auth_client_application::builders::CreateOAuthClientApplicationFluentBuilder::o_auth_client_authentication_type) / [`set_o_auth_client_authentication_type(Option<OAuthClientAuthenticationType>)`](crate::operation::create_o_auth_client_application::builders::CreateOAuthClientApplicationFluentBuilder::set_o_auth_client_authentication_type):<br>required: **true**<br><p>The authentication type to use for the OAuthClientApplication. This determines the OAuth 2.0 grant flow that is used when the data source connects to the identity provider. Valid values are <code>TOKEN</code>.</p><br>
/// - [`client_id(impl Into<String>)`](crate::operation::create_o_auth_client_application::builders::CreateOAuthClientApplicationFluentBuilder::client_id) / [`set_client_id(Option<String>)`](crate::operation::create_o_auth_client_application::builders::CreateOAuthClientApplicationFluentBuilder::set_client_id):<br>required: **true**<br><p>The client ID of the OAuth application that is registered with the identity provider.</p><br>
/// - [`client_secret(impl Into<String>)`](crate::operation::create_o_auth_client_application::builders::CreateOAuthClientApplicationFluentBuilder::client_secret) / [`set_client_secret(Option<String>)`](crate::operation::create_o_auth_client_application::builders::CreateOAuthClientApplicationFluentBuilder::set_client_secret):<br>required: **true**<br><p>The client secret of the OAuth application that is registered with the identity provider.</p><br>
/// - [`o_auth_token_endpoint_url(impl Into<String>)`](crate::operation::create_o_auth_client_application::builders::CreateOAuthClientApplicationFluentBuilder::o_auth_token_endpoint_url) / [`set_o_auth_token_endpoint_url(Option<String>)`](crate::operation::create_o_auth_client_application::builders::CreateOAuthClientApplicationFluentBuilder::set_o_auth_token_endpoint_url):<br>required: **true**<br><p>The token endpoint URL of the identity provider that is used to obtain access tokens.</p><br>
/// - [`o_auth_authorization_endpoint_url(impl Into<String>)`](crate::operation::create_o_auth_client_application::builders::CreateOAuthClientApplicationFluentBuilder::o_auth_authorization_endpoint_url) / [`set_o_auth_authorization_endpoint_url(Option<String>)`](crate::operation::create_o_auth_client_application::builders::CreateOAuthClientApplicationFluentBuilder::set_o_auth_authorization_endpoint_url):<br>required: **false**<br><p>The authorization endpoint URL of the identity provider that is used to obtain authorization codes.</p><br>
/// - [`o_auth_scopes(impl Into<String>)`](crate::operation::create_o_auth_client_application::builders::CreateOAuthClientApplicationFluentBuilder::o_auth_scopes) / [`set_o_auth_scopes(Option<String>)`](crate::operation::create_o_auth_client_application::builders::CreateOAuthClientApplicationFluentBuilder::set_o_auth_scopes):<br>required: **false**<br><p>The OAuth scopes that are requested when the OAuthClientApplication obtains an access token from the identity provider.</p><br>
/// - [`data_source_type(DataSourceType)`](crate::operation::create_o_auth_client_application::builders::CreateOAuthClientApplicationFluentBuilder::data_source_type) / [`set_data_source_type(Option<DataSourceType>)`](crate::operation::create_o_auth_client_application::builders::CreateOAuthClientApplicationFluentBuilder::set_data_source_type):<br>required: **false**<br><p>The type of data source that the OAuthClientApplication is used with. Valid values are <code>SNOWFLAKE</code>.</p><br>
/// - [`identity_provider_vpc_connection_properties(VpcConnectionProperties)`](crate::operation::create_o_auth_client_application::builders::CreateOAuthClientApplicationFluentBuilder::identity_provider_vpc_connection_properties) / [`set_identity_provider_vpc_connection_properties(Option<VpcConnectionProperties>)`](crate::operation::create_o_auth_client_application::builders::CreateOAuthClientApplicationFluentBuilder::set_identity_provider_vpc_connection_properties):<br>required: **false**<br><p>VPC connection properties.</p><br>
/// - [`tags(Tag)`](crate::operation::create_o_auth_client_application::builders::CreateOAuthClientApplicationFluentBuilder::tags) / [`set_tags(Option<Vec::<Tag>>)`](crate::operation::create_o_auth_client_application::builders::CreateOAuthClientApplicationFluentBuilder::set_tags):<br>required: **false**<br><p>Contains a map of the key-value pairs for the resource tag or tags assigned to the OAuthClientApplication.</p><br>
/// - On success, responds with [`CreateOAuthClientApplicationOutput`](crate::operation::create_o_auth_client_application::CreateOAuthClientApplicationOutput) with field(s):
/// - [`arn(Option<String>)`](crate::operation::create_o_auth_client_application::CreateOAuthClientApplicationOutput::arn): <p>The Amazon Resource Name (ARN) of the OAuthClientApplication.</p>
/// - [`o_auth_client_application_id(Option<String>)`](crate::operation::create_o_auth_client_application::CreateOAuthClientApplicationOutput::o_auth_client_application_id): <p>The ID of the OAuthClientApplication. This ID is unique per Amazon Web Services Region for each Amazon Web Services account.</p>
/// - [`creation_status(Option<ResourceStatus>)`](crate::operation::create_o_auth_client_application::CreateOAuthClientApplicationOutput::creation_status): <p>The status of creating the OAuthClientApplication.</p>
/// - [`request_id(Option<String>)`](crate::operation::create_o_auth_client_application::CreateOAuthClientApplicationOutput::request_id): <p>The Amazon Web Services request ID for this operation.</p>
/// - [`status(i32)`](crate::operation::create_o_auth_client_application::CreateOAuthClientApplicationOutput::status): <p>The HTTP status of the request.</p>
/// - On failure, responds with [`SdkError<CreateOAuthClientApplicationError>`](crate::operation::create_o_auth_client_application::CreateOAuthClientApplicationError)
pub fn create_o_auth_client_application(
&self,
) -> crate::operation::create_o_auth_client_application::builders::CreateOAuthClientApplicationFluentBuilder {
crate::operation::create_o_auth_client_application::builders::CreateOAuthClientApplicationFluentBuilder::new(self.handle.clone())
}
}