// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`RegisterIdentityProvider`](crate::operation::register_identity_provider::builders::RegisterIdentityProviderFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`identity_provider(IdentityProvider)`](crate::operation::register_identity_provider::builders::RegisterIdentityProviderFluentBuilder::identity_provider) / [`set_identity_provider(Option<IdentityProvider>)`](crate::operation::register_identity_provider::builders::RegisterIdentityProviderFluentBuilder::set_identity_provider):<br>required: **true**<br><p>An object that specifies details for the identity provider to register.</p><br>
/// - [`product(impl Into<String>)`](crate::operation::register_identity_provider::builders::RegisterIdentityProviderFluentBuilder::product) / [`set_product(Option<String>)`](crate::operation::register_identity_provider::builders::RegisterIdentityProviderFluentBuilder::set_product):<br>required: **true**<br><p>The name of the user-based subscription product.</p> <p>Valid values: <code>VISUAL_STUDIO_ENTERPRISE</code> | <code>VISUAL_STUDIO_PROFESSIONAL</code> | <code>OFFICE_PROFESSIONAL_PLUS</code> | <code>REMOTE_DESKTOP_SERVICES</code></p><br>
/// - [`settings(Settings)`](crate::operation::register_identity_provider::builders::RegisterIdentityProviderFluentBuilder::settings) / [`set_settings(Option<Settings>)`](crate::operation::register_identity_provider::builders::RegisterIdentityProviderFluentBuilder::set_settings):<br>required: **false**<br><p>The registered identity provider’s product related configuration settings such as the subnets to provision VPC endpoints.</p><br>
/// - [`tags(impl Into<String>, impl Into<String>)`](crate::operation::register_identity_provider::builders::RegisterIdentityProviderFluentBuilder::tags) / [`set_tags(Option<HashMap::<String, String>>)`](crate::operation::register_identity_provider::builders::RegisterIdentityProviderFluentBuilder::set_tags):<br>required: **false**<br><p>The tags that apply to the identity provider's registration.</p><br>
/// - On success, responds with [`RegisterIdentityProviderOutput`](crate::operation::register_identity_provider::RegisterIdentityProviderOutput) with field(s):
/// - [`identity_provider_summary(Option<IdentityProviderSummary>)`](crate::operation::register_identity_provider::RegisterIdentityProviderOutput::identity_provider_summary): <p>Metadata that describes the results of an identity provider operation.</p>
/// - On failure, responds with [`SdkError<RegisterIdentityProviderError>`](crate::operation::register_identity_provider::RegisterIdentityProviderError)
pub fn register_identity_provider(&self) -> crate::operation::register_identity_provider::builders::RegisterIdentityProviderFluentBuilder {
crate::operation::register_identity_provider::builders::RegisterIdentityProviderFluentBuilder::new(self.handle.clone())
}
}