// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`CreateApiKeyCredentialProvider`](crate::operation::create_api_key_credential_provider::builders::CreateApiKeyCredentialProviderFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`name(impl Into<String>)`](crate::operation::create_api_key_credential_provider::builders::CreateApiKeyCredentialProviderFluentBuilder::name) / [`set_name(Option<String>)`](crate::operation::create_api_key_credential_provider::builders::CreateApiKeyCredentialProviderFluentBuilder::set_name):<br>required: **true**<br><p>The name of the API key credential provider. The name must be unique within your account.</p><br>
/// - [`api_key(impl Into<String>)`](crate::operation::create_api_key_credential_provider::builders::CreateApiKeyCredentialProviderFluentBuilder::api_key) / [`set_api_key(Option<String>)`](crate::operation::create_api_key_credential_provider::builders::CreateApiKeyCredentialProviderFluentBuilder::set_api_key):<br>required: **false**<br><p>The API key to use for authentication. This value is encrypted and stored securely.</p><br>
/// - [`api_key_secret_config(SecretReference)`](crate::operation::create_api_key_credential_provider::builders::CreateApiKeyCredentialProviderFluentBuilder::api_key_secret_config) / [`set_api_key_secret_config(Option<SecretReference>)`](crate::operation::create_api_key_credential_provider::builders::CreateApiKeyCredentialProviderFluentBuilder::set_api_key_secret_config):<br>required: **false**<br><p>A reference to the AWS Secrets Manager secret that stores the API key. This includes the secret ID and the JSON key used to extract the API key value from the secret. Required when <code>apiKeySecretSource</code> is set to <code>EXTERNAL</code>.</p><br>
/// - [`api_key_secret_source(SecretSourceType)`](crate::operation::create_api_key_credential_provider::builders::CreateApiKeyCredentialProviderFluentBuilder::api_key_secret_source) / [`set_api_key_secret_source(Option<SecretSourceType>)`](crate::operation::create_api_key_credential_provider::builders::CreateApiKeyCredentialProviderFluentBuilder::set_api_key_secret_source):<br>required: **false**<br><p>The source type of the API key secret. Use <code>MANAGED</code> if the secret is managed by the service, or <code>EXTERNAL</code> if you manage the secret yourself in AWS Secrets Manager.</p><br>
/// - [`tags(impl Into<String>, impl Into<String>)`](crate::operation::create_api_key_credential_provider::builders::CreateApiKeyCredentialProviderFluentBuilder::tags) / [`set_tags(Option<HashMap::<String, String>>)`](crate::operation::create_api_key_credential_provider::builders::CreateApiKeyCredentialProviderFluentBuilder::set_tags):<br>required: **false**<br><p>A map of tag keys and values to assign to the API key credential provider. Tags enable you to categorize your resources in different ways, for example, by purpose, owner, or environment.</p><br>
/// - On success, responds with [`CreateApiKeyCredentialProviderOutput`](crate::operation::create_api_key_credential_provider::CreateApiKeyCredentialProviderOutput) with field(s):
/// - [`api_key_secret_arn(Option<Secret>)`](crate::operation::create_api_key_credential_provider::CreateApiKeyCredentialProviderOutput::api_key_secret_arn): <p>The Amazon Resource Name (ARN) of the secret containing the API key.</p>
/// - [`api_key_secret_json_key(Option<String>)`](crate::operation::create_api_key_credential_provider::CreateApiKeyCredentialProviderOutput::api_key_secret_json_key): <p>The JSON key used to extract the API key value from the AWS Secrets Manager secret.</p>
/// - [`api_key_secret_source(Option<SecretSourceType>)`](crate::operation::create_api_key_credential_provider::CreateApiKeyCredentialProviderOutput::api_key_secret_source): <p>The source type of the API key secret. Either <code>MANAGED</code> if the secret is managed by the service, or <code>EXTERNAL</code> if managed by the user in AWS Secrets Manager.</p>
/// - [`name(String)`](crate::operation::create_api_key_credential_provider::CreateApiKeyCredentialProviderOutput::name): <p>The name of the created API key credential provider.</p>
/// - [`credential_provider_arn(String)`](crate::operation::create_api_key_credential_provider::CreateApiKeyCredentialProviderOutput::credential_provider_arn): <p>The Amazon Resource Name (ARN) of the created API key credential provider.</p>
/// - On failure, responds with [`SdkError<CreateApiKeyCredentialProviderError>`](crate::operation::create_api_key_credential_provider::CreateApiKeyCredentialProviderError)
pub fn create_api_key_credential_provider(
&self,
) -> crate::operation::create_api_key_credential_provider::builders::CreateApiKeyCredentialProviderFluentBuilder {
crate::operation::create_api_key_credential_provider::builders::CreateApiKeyCredentialProviderFluentBuilder::new(self.handle.clone())
}
}