Class SecretClientBuilder
- java.lang.Object
-
- com.azure.security.keyvault.secrets.SecretClientBuilder
-
public final class SecretClientBuilder extends Object
This class provides a fluent builder API to help aid the configuration and instantiation of thesecret async client
andsecret client
, by callingbuildAsyncClient
andbuildClient
respectively. It constructs an instance of the desired client.The minimal configuration options required by
secretClientBuilder
to buildSecretAsyncClient
arevaultUrl
andcredential
.SecretAsyncClient secretAsyncClient = new SecretClientBuilder() .credential(new DefaultAzureCredentialBuilder().build()) .vaultUrl("https://myvault.vault.azure.net/") .httpLogOptions(new HttpLogOptions().setLogLevel(HttpLogDetailLevel.BODY_AND_HEADERS)) .buildAsyncClient();
Samples to construct the sync client
SecretClient secretClient = new SecretClientBuilder() .credential(new DefaultAzureCredentialBuilder().build()) .vaultUrl("https://myvault.vault.azure.net/") .httpLogOptions(new HttpLogOptions().setLogLevel(HttpLogDetailLevel.BODY_AND_HEADERS)) .buildClient();
The
log detail level
, multiple custompolicies
and customhttp client
can be optionally configured in theSecretClientBuilder
.SecretAsyncClient secretAsyncClient = new SecretClientBuilder() .httpLogOptions(new HttpLogOptions().setLogLevel(HttpLogDetailLevel.BODY_AND_HEADERS)) .vaultUrl("https://myvault.azure.net/") .credential(new DefaultAzureCredentialBuilder().build()) .httpClient(HttpClient.createDefault()) .buildAsyncClient();
Alternatively, custom
http pipeline
with customHttpPipelinePolicy
policies andvaultUrl
can be specified. It provides finer control over the construction ofclient
HttpPipeline pipeline = new HttpPipelineBuilder() .policies(new KeyVaultCredentialPolicy(credential), new RetryPolicy()) .build(); SecretAsyncClient secretAsyncClient = new SecretClientBuilder() .pipeline(pipeline) .vaultUrl("https://myvault.azure.net/") .buildAsyncClient();
- See Also:
SecretClient
,SecretAsyncClient
-
-
Constructor Summary
Constructors Constructor Description SecretClientBuilder()
The constructor with defaults.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description SecretClientBuilder
addPolicy(com.azure.core.http.policy.HttpPipelinePolicy policy)
Adds a policy to the set of existing policies that are executed afterSecretAsyncClient
orSecretClient
required policies.SecretAsyncClient
buildAsyncClient()
Creates aSecretAsyncClient
based on options set in the builder.SecretClient
buildClient()
Creates aSecretClient
based on options set in the builder.SecretClientBuilder
clientOptions(com.azure.core.util.ClientOptions clientOptions)
Sets theClientOptions
which enables various options to be set on the client.SecretClientBuilder
configuration(com.azure.core.util.Configuration configuration)
Sets the configuration store that is used during construction of the service client.SecretClientBuilder
credential(com.azure.core.credential.TokenCredential credential)
Sets the credential to use when authenticating HTTP requests.SecretClientBuilder
httpClient(com.azure.core.http.HttpClient client)
Sets the HTTP client to use for sending and receiving requests to and from the service.SecretClientBuilder
httpLogOptions(com.azure.core.http.policy.HttpLogOptions logOptions)
Sets the logging configuration for HTTP requests and responses.SecretClientBuilder
pipeline(com.azure.core.http.HttpPipeline pipeline)
Sets the HTTP pipeline to use for the service client.SecretClientBuilder
retryPolicy(com.azure.core.http.policy.RetryPolicy retryPolicy)
Sets theRetryPolicy
that is used when each request is sent.SecretClientBuilder
serviceVersion(SecretServiceVersion version)
Sets theSecretServiceVersion
that is used when making API requests.SecretClientBuilder
vaultUrl(String vaultUrl)
Sets the vault URL to send HTTP requests to.
-
-
-
Method Detail
-
buildClient
public SecretClient buildClient()
Creates aSecretClient
based on options set in the builder. Every timebuildClient()
is called, a new instance ofSecretClient
is created.If
pipeline
is set, then thepipeline
andserviceEndpoint
are used to create theclient
. All other builder settings are ignored. Ifpipeline
is not set, thenkey vault credential
, andvaultUrl(String)
key vault url are required to build theclient
.- Returns:
- A
SecretClient
with the options set from the builder. - Throws:
IllegalStateException
- Ifcredential(TokenCredential)
orvaultUrl(String)
have not been set.
-
buildAsyncClient
public SecretAsyncClient buildAsyncClient()
Creates aSecretAsyncClient
based on options set in the builder. Every timebuildAsyncClient()
is called, a new instance ofSecretAsyncClient
is created.If
pipeline
is set, then thepipeline
andserviceEndpoint
are used to create theclient
. All other builder settings are ignored. Ifpipeline
is not set, thenkey vault credential
, andvaultUrl(String)
key vault url are required to build theclient
.- Returns:
- A
SecretAsyncClient
with the options set from the builder. - Throws:
IllegalStateException
- Ifcredential(TokenCredential)
orvaultUrl(String)
have not been set.
-
vaultUrl
public SecretClientBuilder vaultUrl(String vaultUrl)
Sets the vault URL to send HTTP requests to.- Parameters:
vaultUrl
- The vault url is used as destination on Azure to send requests to. If you have a secret identifier, create a newKeyVaultSecretIdentifier
to parse it and obtain thevaultUrl
and other information.- Returns:
- The updated
SecretClientBuilder
object. - Throws:
IllegalArgumentException
- IfvaultUrl
is null or it cannot be parsed into a valid URL.NullPointerException
- IfvaultUrl
isnull
.
-
credential
public SecretClientBuilder credential(com.azure.core.credential.TokenCredential credential)
Sets the credential to use when authenticating HTTP requests.- Parameters:
credential
- The credential to use for authenticating HTTP requests.- Returns:
- The updated
SecretClientBuilder
object. - Throws:
NullPointerException
- Ifcredential
isnull
.
-
httpLogOptions
public SecretClientBuilder httpLogOptions(com.azure.core.http.policy.HttpLogOptions logOptions)
Sets the logging configuration for HTTP requests and responses.If logLevel is not provided, default value of
HttpLogDetailLevel.NONE
is set.- Parameters:
logOptions
- The logging configuration to use when sending and receiving HTTP requests/responses.- Returns:
- The updated
SecretClientBuilder
object.
-
addPolicy
public SecretClientBuilder addPolicy(com.azure.core.http.policy.HttpPipelinePolicy policy)
Adds a policy to the set of existing policies that are executed afterSecretAsyncClient
orSecretClient
required policies.- Parameters:
policy
- Thepolicy
to be added.- Returns:
- The updated
SecretClientBuilder
object. - Throws:
NullPointerException
- Ifpolicy
isnull
.
-
httpClient
public SecretClientBuilder httpClient(com.azure.core.http.HttpClient client)
Sets the HTTP client to use for sending and receiving requests to and from the service.- Parameters:
client
- The HTTP client to use for requests.- Returns:
- The updated
SecretClientBuilder
object.
-
pipeline
public SecretClientBuilder pipeline(com.azure.core.http.HttpPipeline pipeline)
Sets the HTTP pipeline to use for the service client. Ifpipeline
is set, all other settings are ignored, aside fromvaultUrl
to buildSecretAsyncClient
orSecretClient
.- Parameters:
pipeline
- The HTTP pipeline to use for sending service requests and receiving responses.- Returns:
- The updated
SecretClientBuilder
object.
-
configuration
public SecretClientBuilder configuration(com.azure.core.util.Configuration configuration)
Sets the configuration store that is used during construction of the service client. The default configuration store is a clone of theglobal configuration store
, useConfiguration.NONE
to bypass using configuration settings during construction.- Parameters:
configuration
- The configuration store used to- Returns:
- The updated
SecretClientBuilder
object.
-
serviceVersion
public SecretClientBuilder serviceVersion(SecretServiceVersion version)
Sets theSecretServiceVersion
that is used when making API requests.If a service version is not provided, the service version that will be used will be the latest known service version based on the version of the client library being used. If no service version is specified, updating to a newer version the client library will have the result of potentially moving to a newer service version.
- Parameters:
version
-SecretServiceVersion
of the service API used when making requests.- Returns:
- The updated
SecretClientBuilder
object.
-
retryPolicy
public SecretClientBuilder retryPolicy(com.azure.core.http.policy.RetryPolicy retryPolicy)
Sets theRetryPolicy
that is used when each request is sent. The default retry policy will be used in the pipeline, if not provided.- Parameters:
retryPolicy
- user's retry policy applied to each request.- Returns:
- The updated
SecretClientBuilder
object.
-
clientOptions
public SecretClientBuilder clientOptions(com.azure.core.util.ClientOptions clientOptions)
Sets theClientOptions
which enables various options to be set on the client. For example setting anapplicationId
usingClientOptions.setApplicationId(String)
to configure theUserAgentPolicy
for telemetry/monitoring purposes.More About Azure Core: Telemetry policy
- Parameters:
clientOptions
- theClientOptions
to be set on the client.- Returns:
- The updated
SecretClientBuilder
object.
-
-