public final class SecretClientBuilder extends Object
secret async client
and secret client
,
by calling buildAsyncClient
and buildClient
respectively.
It constructs an instance of the desired client.
The minimal configuration options required by secretClientBuilder
to build
SecretAsyncClient
are vaultUrl
and credential
.
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 custom policies
and custom
http client
can be optionally configured in the SecretClientBuilder
.
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 custom HttpPipelinePolicy
policies and
vaultUrl
can be specified. It provides finer control over the construction of client
HttpPipeline pipeline = new HttpPipelineBuilder() .policies(new KeyVaultCredentialPolicy(credential), new RetryPolicy()) .build(); SecretAsyncClient secretAsyncClient = new SecretClientBuilder() .pipeline(pipeline) .vaultUrl("https://myvault.azure.net/") .buildAsyncClient();
SecretClient
,
SecretAsyncClient
Constructor and Description |
---|
SecretClientBuilder()
The constructor with defaults.
|
Modifier and Type | Method and Description |
---|---|
SecretClientBuilder |
addPolicy(com.azure.core.http.policy.HttpPipelinePolicy policy)
Adds a policy to the set of existing policies that are executed after
SecretAsyncClient or SecretClient required policies. |
SecretAsyncClient |
buildAsyncClient()
Creates a
SecretAsyncClient based on options set in the builder. |
SecretClient |
buildClient()
Creates a
SecretClient based on options set in the builder. |
SecretClientBuilder |
clientOptions(com.azure.core.util.ClientOptions clientOptions)
Sets the
ClientOptions 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 the
RetryPolicy that is used when each request is sent. |
SecretClientBuilder |
serviceVersion(SecretServiceVersion version)
Sets the
SecretServiceVersion that is used when making API requests. |
SecretClientBuilder |
vaultUrl(String vaultUrl)
Sets the vault URL to send HTTP requests to.
|
public SecretClient buildClient()
SecretClient
based on options set in the builder.
Every time buildClient()
is called, a new instance of SecretClient
is created.
If pipeline
is set, then the pipeline
and
serviceEndpoint
are used to create the
client
. All other builder settings are ignored. If pipeline
is not set,
then key vault credential
, and
SecretClientBuilder.vaultUrl(String)
key vault url are required to build the client
.
SecretClient
with the options set from the builder.IllegalStateException
- If SecretClientBuilder.credential(TokenCredential)
or
SecretClientBuilder.vaultUrl(String)
have not been set.public SecretAsyncClient buildAsyncClient()
SecretAsyncClient
based on options set in the builder.
Every time buildAsyncClient()
is called, a new instance of SecretAsyncClient
is created.
If pipeline
is set, then the pipeline
and
serviceEndpoint
are used to create the
client
. All other builder settings are ignored. If pipeline
is not set,
then key vault credential
, and
SecretClientBuilder.vaultUrl(String)
key vault url are required to build the client
.
SecretAsyncClient
with the options set from the builder.IllegalStateException
- If SecretClientBuilder.credential(TokenCredential)
or
SecretClientBuilder.vaultUrl(String)
have not been set.public SecretClientBuilder vaultUrl(String vaultUrl)
vaultUrl
- The vault url is used as destination on Azure to send requests to. If you have a secret
identifier, create a new KeyVaultSecretIdentifier
to parse it and obtain the vaultUrl
and
other information.SecretClientBuilder
object.IllegalArgumentException
- If vaultUrl
is null or it cannot be parsed into a valid URL.NullPointerException
- If vaultUrl
is null
.public SecretClientBuilder credential(com.azure.core.credential.TokenCredential credential)
credential
- The credential to use for authenticating HTTP requests.SecretClientBuilder
object.NullPointerException
- If credential
is null
.public SecretClientBuilder httpLogOptions(com.azure.core.http.policy.HttpLogOptions logOptions)
If logLevel is not provided, default value of HttpLogDetailLevel.NONE
is set.
logOptions
- The logging configuration to use when sending and receiving HTTP requests/responses.SecretClientBuilder
object.public SecretClientBuilder addPolicy(com.azure.core.http.policy.HttpPipelinePolicy policy)
SecretAsyncClient
or SecretClient
required policies.policy
- The policy
to be added.SecretClientBuilder
object.NullPointerException
- If policy
is null
.public SecretClientBuilder httpClient(com.azure.core.http.HttpClient client)
client
- The HTTP client to use for requests.SecretClientBuilder
object.public SecretClientBuilder pipeline(com.azure.core.http.HttpPipeline pipeline)
pipeline
is set, all other settings are ignored, aside from
vaultUrl
to build SecretAsyncClient
or SecretClient
.pipeline
- The HTTP pipeline to use for sending service requests and receiving responses.SecretClientBuilder
object.public SecretClientBuilder configuration(com.azure.core.util.Configuration configuration)
global
configuration store
, use Configuration.NONE
to bypass using configuration settings during construction.configuration
- The configuration store used toSecretClientBuilder
object.public SecretClientBuilder serviceVersion(SecretServiceVersion version)
SecretServiceVersion
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.
version
- SecretServiceVersion
of the service API used when making requests.SecretClientBuilder
object.public SecretClientBuilder retryPolicy(com.azure.core.http.policy.RetryPolicy retryPolicy)
RetryPolicy
that is used when each request is sent.
The default retry policy will be used in the pipeline, if not provided.retryPolicy
- user's retry policy applied to each request.SecretClientBuilder
object.public SecretClientBuilder clientOptions(com.azure.core.util.ClientOptions clientOptions)
ClientOptions
which enables various options to be set on the client. For example setting an
applicationId
using ClientOptions.setApplicationId(String)
to configure
the UserAgentPolicy
for telemetry/monitoring purposes.
More About Azure Core: Telemetry policy
clientOptions
- the ClientOptions
to be set on the client.SecretClientBuilder
object.Copyright © 2021 Microsoft Corporation. All rights reserved.