// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`UpdateApiKeyCredentialProvider`](crate::operation::update_api_key_credential_provider::builders::UpdateApiKeyCredentialProviderFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`name(impl Into<String>)`](crate::operation::update_api_key_credential_provider::builders::UpdateApiKeyCredentialProviderFluentBuilder::name) / [`set_name(Option<String>)`](crate::operation::update_api_key_credential_provider::builders::UpdateApiKeyCredentialProviderFluentBuilder::set_name):<br>required: **true**<br><p>The name of the API key credential provider to update.</p><br>
/// - [`api_key(impl Into<String>)`](crate::operation::update_api_key_credential_provider::builders::UpdateApiKeyCredentialProviderFluentBuilder::api_key) / [`set_api_key(Option<String>)`](crate::operation::update_api_key_credential_provider::builders::UpdateApiKeyCredentialProviderFluentBuilder::set_api_key):<br>required: **false**<br><p>The new API key to use for authentication. This value replaces the existing API key and is encrypted and stored securely.</p><br>
/// - [`api_key_secret_config(SecretReference)`](crate::operation::update_api_key_credential_provider::builders::UpdateApiKeyCredentialProviderFluentBuilder::api_key_secret_config) / [`set_api_key_secret_config(Option<SecretReference>)`](crate::operation::update_api_key_credential_provider::builders::UpdateApiKeyCredentialProviderFluentBuilder::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::update_api_key_credential_provider::builders::UpdateApiKeyCredentialProviderFluentBuilder::api_key_secret_source) / [`set_api_key_secret_source(Option<SecretSourceType>)`](crate::operation::update_api_key_credential_provider::builders::UpdateApiKeyCredentialProviderFluentBuilder::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>
/// - On success, responds with [`UpdateApiKeyCredentialProviderOutput`](crate::operation::update_api_key_credential_provider::UpdateApiKeyCredentialProviderOutput) with field(s):
/// - [`api_key_secret_arn(Option<Secret>)`](crate::operation::update_api_key_credential_provider::UpdateApiKeyCredentialProviderOutput::api_key_secret_arn): <p>The Amazon Resource Name (ARN) of the API key secret in AWS Secrets Manager.</p>
/// - [`api_key_secret_json_key(Option<String>)`](crate::operation::update_api_key_credential_provider::UpdateApiKeyCredentialProviderOutput::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::update_api_key_credential_provider::UpdateApiKeyCredentialProviderOutput::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::update_api_key_credential_provider::UpdateApiKeyCredentialProviderOutput::name): <p>The name of the API key credential provider.</p>
/// - [`credential_provider_arn(String)`](crate::operation::update_api_key_credential_provider::UpdateApiKeyCredentialProviderOutput::credential_provider_arn): <p>The Amazon Resource Name (ARN) of the API key credential provider.</p>
/// - [`created_time(DateTime)`](crate::operation::update_api_key_credential_provider::UpdateApiKeyCredentialProviderOutput::created_time): <p>The timestamp when the API key credential provider was created.</p>
/// - [`last_updated_time(DateTime)`](crate::operation::update_api_key_credential_provider::UpdateApiKeyCredentialProviderOutput::last_updated_time): <p>The timestamp when the API key credential provider was last updated.</p>
/// - On failure, responds with [`SdkError<UpdateApiKeyCredentialProviderError>`](crate::operation::update_api_key_credential_provider::UpdateApiKeyCredentialProviderError)
pub fn update_api_key_credential_provider(
&self,
) -> crate::operation::update_api_key_credential_provider::builders::UpdateApiKeyCredentialProviderFluentBuilder {
crate::operation::update_api_key_credential_provider::builders::UpdateApiKeyCredentialProviderFluentBuilder::new(self.handle.clone())
}
}