Class KmsCryptoAsyncClient
- java.lang.Object
-
- com.oracle.bmc.http.internal.BaseAsyncClient
-
- com.oracle.bmc.keymanagement.KmsCryptoAsyncClient
-
- All Implemented Interfaces:
KmsCryptoAsync
,AutoCloseable
@Generated(value="OracleSDKGenerator", comments="API Version: release") public class KmsCryptoAsyncClient extends BaseAsyncClient implements KmsCryptoAsync
Async client implementation for KmsCrypto service.
There are two ways to use async client: 1. Use AsyncHandler: using AsyncHandler, if the response to the call is anInputStream
, like getObject Api in object storage service, developers need to process the stream in AsyncHandler, and not anywhere else, because the stream will be closed right after the AsyncHandler is invoked.
2. Use Java Future: using Java Future, developers need to close the stream after they are done with the Java Future.
Accessing the result should be done in a mutually exclusive manner, either through the Future or the AsyncHandler, but not both. If the Future is used, the caller should pass in null as the AsyncHandler. If the AsyncHandler is used, it is still safe to use the Future to determine whether or not the request was completed via Future.isDone/isCancelled.
Please refer to https://github.com/oracle/oci-java-sdk/blob/master/bmc-examples/src/main/java/ResteasyClientWithObjectStorageExample.java
-
-
Field Summary
Fields Modifier and Type Field Description String
clientCommonLibraryVersion
Compatible SDK version, provided by the codegen.Optional<String>
minimumClientCommonLibraryVersionFromClient
Minimum compatible SDK version, maybe provided by the codegen.static Service
SERVICE
Service instance for KmsCrypto.
-
Constructor Summary
Constructors Constructor Description KmsCryptoAsyncClient(AbstractAuthenticationDetailsProvider authenticationDetailsProvider, ClientConfiguration configuration, ClientConfigurator clientConfigurator, RequestSignerFactory defaultRequestSignerFactory)
Deprecated.Use thebuilder
instead.KmsCryptoAsyncClient(AbstractAuthenticationDetailsProvider authenticationDetailsProvider, ClientConfiguration configuration, ClientConfigurator clientConfigurator, RequestSignerFactory defaultRequestSignerFactory, List<ClientConfigurator> additionalClientConfigurators)
Deprecated.Use thebuilder
instead.KmsCryptoAsyncClient(AbstractAuthenticationDetailsProvider authenticationDetailsProvider, ClientConfiguration configuration, ClientConfigurator clientConfigurator, RequestSignerFactory defaultRequestSignerFactory, List<ClientConfigurator> additionalClientConfigurators, String endpoint)
Deprecated.Use thebuilder
instead.KmsCryptoAsyncClient(AbstractAuthenticationDetailsProvider authenticationDetailsProvider, ClientConfiguration configuration, ClientConfigurator clientConfigurator, RequestSignerFactory defaultRequestSignerFactory, Map<SigningStrategy,RequestSignerFactory> signingStrategyRequestSignerFactories, List<ClientConfigurator> additionalClientConfigurators, String endpoint)
Deprecated.Use thebuilder
instead.KmsCryptoAsyncClient(BasicAuthenticationDetailsProvider authenticationDetailsProvider)
Deprecated.Use thebuilder
instead.KmsCryptoAsyncClient(BasicAuthenticationDetailsProvider authenticationDetailsProvider, ClientConfiguration configuration)
Deprecated.Use thebuilder
instead.KmsCryptoAsyncClient(BasicAuthenticationDetailsProvider authenticationDetailsProvider, ClientConfiguration configuration, ClientConfigurator clientConfigurator)
Deprecated.Use thebuilder
instead.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static KmsCryptoAsyncClientBuilder
builder()
Create a builder for this client.protected <REQ extends BmcRequest<?>,RESP extends BmcResponse,RESP_BUILDER extends BmcResponse.Builder<RESP>>
ClientCall<REQ,RESP,RESP_BUILDER>clientCall(REQ request, Supplier<RESP_BUILDER> responseBuilder)
void
close()
Future<DecryptResponse>
decrypt(DecryptRequest request, AsyncHandler<DecryptRequest,DecryptResponse> handler)
Decrypts data using the given DecryptDataDetails resource.Future<EncryptResponse>
encrypt(EncryptRequest request, AsyncHandler<EncryptRequest,EncryptResponse> handler)
Encrypts data using the given EncryptDataDetails resource.Future<ExportKeyResponse>
exportKey(ExportKeyRequest request, AsyncHandler<ExportKeyRequest,ExportKeyResponse> handler)
Exports a specific version of a master encryption key according to the details of the request.Future<GenerateDataEncryptionKeyResponse>
generateDataEncryptionKey(GenerateDataEncryptionKeyRequest request, AsyncHandler<GenerateDataEncryptionKeyRequest,GenerateDataEncryptionKeyResponse> handler)
Generates a key that you can use to encrypt or decrypt data.String
getClientCommonLibraryVersion()
protected ClientConfigurator
getDefaultConfigurator()
String
getEndpoint()
Optional<String>
getMinimumClientCommonLibraryVersionFromClient()
void
populateServiceParametersInEndpoint(String endpoint, Map<String,Object> requiredParametersMap)
Populate the parameters in the endpoint with its corresponding value and update the base endpoint.void
refreshClient()
Rebuild the backingHttpClient
.void
setEndpoint(String endpoint)
protected void
setRegion(Region region)
protected void
setRegion(String regionId)
Future<SignResponse>
sign(SignRequest request, AsyncHandler<SignRequest,SignResponse> handler)
Creates a digital signature for a message or message digest by using the private key of a public-private key pair, also known as an asymmetric key.void
updateBaseEndpoint(String endpoint)
This method should be used for parameterized endpoint templates only.void
useRealmSpecificEndpointTemplate(boolean useOfRealmSpecificEndpointTemplateEnabled)
This method should be used to enable or disable the use of realm-specific endpoint template.Future<VerifyResponse>
verify(VerifyRequest request, AsyncHandler<VerifyRequest,VerifyResponse> handler)
Verifies a digital signature that was generated by the Sign operation by using the public key of the same asymmetric key that was used to sign the data.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface java.lang.AutoCloseable
close
-
Methods inherited from interface com.oracle.bmc.keymanagement.KmsCryptoAsync
getEndpoint, refreshClient, setEndpoint
-
-
-
-
Constructor Detail
-
KmsCryptoAsyncClient
@Deprecated public KmsCryptoAsyncClient(BasicAuthenticationDetailsProvider authenticationDetailsProvider)
Deprecated.Use thebuilder
instead.Create a new client instance.- Parameters:
authenticationDetailsProvider
- The authentication details (seeBuilder#build
)
-
KmsCryptoAsyncClient
@Deprecated public KmsCryptoAsyncClient(BasicAuthenticationDetailsProvider authenticationDetailsProvider, ClientConfiguration configuration)
Deprecated.Use thebuilder
instead.Create a new client instance.- Parameters:
authenticationDetailsProvider
- The authentication details (seeBuilder#build
)configuration
-Builder#configuration
-
KmsCryptoAsyncClient
@Deprecated public KmsCryptoAsyncClient(BasicAuthenticationDetailsProvider authenticationDetailsProvider, ClientConfiguration configuration, ClientConfigurator clientConfigurator)
Deprecated.Use thebuilder
instead.Create a new client instance.- Parameters:
authenticationDetailsProvider
- The authentication details (seeBuilder#build
)configuration
-Builder#configuration
clientConfigurator
-Builder#clientConfigurator
-
KmsCryptoAsyncClient
@Deprecated public KmsCryptoAsyncClient(AbstractAuthenticationDetailsProvider authenticationDetailsProvider, ClientConfiguration configuration, ClientConfigurator clientConfigurator, RequestSignerFactory defaultRequestSignerFactory)
Deprecated.Use thebuilder
instead.Create a new client instance.- Parameters:
authenticationDetailsProvider
- The authentication details (seeBuilder#build
)configuration
-Builder#configuration
clientConfigurator
-Builder#clientConfigurator
defaultRequestSignerFactory
-Builder#requestSignerFactory
-
KmsCryptoAsyncClient
@Deprecated public KmsCryptoAsyncClient(AbstractAuthenticationDetailsProvider authenticationDetailsProvider, ClientConfiguration configuration, ClientConfigurator clientConfigurator, RequestSignerFactory defaultRequestSignerFactory, List<ClientConfigurator> additionalClientConfigurators)
Deprecated.Use thebuilder
instead.Create a new client instance.- Parameters:
authenticationDetailsProvider
- The authentication details (seeBuilder#build
)configuration
-Builder#configuration
clientConfigurator
-Builder#clientConfigurator
defaultRequestSignerFactory
-Builder#requestSignerFactory
additionalClientConfigurators
-Builder#additionalClientConfigurators
-
KmsCryptoAsyncClient
@Deprecated public KmsCryptoAsyncClient(AbstractAuthenticationDetailsProvider authenticationDetailsProvider, ClientConfiguration configuration, ClientConfigurator clientConfigurator, RequestSignerFactory defaultRequestSignerFactory, List<ClientConfigurator> additionalClientConfigurators, String endpoint)
Deprecated.Use thebuilder
instead.Create a new client instance.- Parameters:
authenticationDetailsProvider
- The authentication details (seeBuilder#build
)configuration
-Builder#configuration
clientConfigurator
-Builder#clientConfigurator
defaultRequestSignerFactory
-Builder#requestSignerFactory
additionalClientConfigurators
-Builder#additionalClientConfigurators
endpoint
-Builder#endpoint
-
KmsCryptoAsyncClient
@Deprecated public KmsCryptoAsyncClient(AbstractAuthenticationDetailsProvider authenticationDetailsProvider, ClientConfiguration configuration, ClientConfigurator clientConfigurator, RequestSignerFactory defaultRequestSignerFactory, Map<SigningStrategy,RequestSignerFactory> signingStrategyRequestSignerFactories, List<ClientConfigurator> additionalClientConfigurators, String endpoint)
Deprecated.Use thebuilder
instead.Create a new client instance.- Parameters:
authenticationDetailsProvider
- The authentication details (seeBuilder#build
)configuration
-Builder#configuration
clientConfigurator
-Builder#clientConfigurator
defaultRequestSignerFactory
-Builder#requestSignerFactory
additionalClientConfigurators
-Builder#additionalClientConfigurators
endpoint
-Builder#endpoint
signingStrategyRequestSignerFactories
-Builder#signingStrategyRequestSignerFactories
-
-
Method Detail
-
builder
public static KmsCryptoAsyncClientBuilder builder()
Create a builder for this client.- Returns:
- builder
-
decrypt
public Future<DecryptResponse> decrypt(DecryptRequest request, AsyncHandler<DecryptRequest,DecryptResponse> handler)
Description copied from interface:KmsCryptoAsync
Decrypts data using the given DecryptDataDetails resource.- Specified by:
decrypt
in interfaceKmsCryptoAsync
- Parameters:
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.- Returns:
- A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
-
encrypt
public Future<EncryptResponse> encrypt(EncryptRequest request, AsyncHandler<EncryptRequest,EncryptResponse> handler)
Description copied from interface:KmsCryptoAsync
Encrypts data using the given EncryptDataDetails resource.Plaintext included in the example request is a base64-encoded value of a UTF-8 string.
- Specified by:
encrypt
in interfaceKmsCryptoAsync
- Parameters:
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.- Returns:
- A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
-
exportKey
public Future<ExportKeyResponse> exportKey(ExportKeyRequest request, AsyncHandler<ExportKeyRequest,ExportKeyResponse> handler)
Description copied from interface:KmsCryptoAsync
Exports a specific version of a master encryption key according to the details of the request.For their protection, keys that you create and store on a hardware security module (HSM) can never leave the HSM. You can only export keys stored on the server. For export, the key version is encrypted by an RSA public key that you provide. This operation is not supported for keys having protection mode
EXTERNAL
.- Specified by:
exportKey
in interfaceKmsCryptoAsync
- Parameters:
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.- Returns:
- A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
-
generateDataEncryptionKey
public Future<GenerateDataEncryptionKeyResponse> generateDataEncryptionKey(GenerateDataEncryptionKeyRequest request, AsyncHandler<GenerateDataEncryptionKeyRequest,GenerateDataEncryptionKeyResponse> handler)
Description copied from interface:KmsCryptoAsync
Generates a key that you can use to encrypt or decrypt data.- Specified by:
generateDataEncryptionKey
in interfaceKmsCryptoAsync
- Parameters:
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.- Returns:
- A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
-
sign
public Future<SignResponse> sign(SignRequest request, AsyncHandler<SignRequest,SignResponse> handler)
Description copied from interface:KmsCryptoAsync
Creates a digital signature for a message or message digest by using the private key of a public-private key pair, also known as an asymmetric key.To verify the generated signature, you can use the Verify operation. Or, if you want to validate the signature outside of the service, you can do so by using the public key of the same asymmetric key. This operation is not supported for keys having protection mode
EXTERNAL
.- Specified by:
sign
in interfaceKmsCryptoAsync
- Parameters:
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.- Returns:
- A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
-
verify
public Future<VerifyResponse> verify(VerifyRequest request, AsyncHandler<VerifyRequest,VerifyResponse> handler)
Description copied from interface:KmsCryptoAsync
Verifies a digital signature that was generated by the Sign operation by using the public key of the same asymmetric key that was used to sign the data.If you want to validate the digital signature outside of the service, you can do so by using the public key of the asymmetric key. This operation is not supported for keys having protection mode
EXTERNAL
.- Specified by:
verify
in interfaceKmsCryptoAsync
- Parameters:
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.- Returns:
- A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
-
getDefaultConfigurator
protected ClientConfigurator getDefaultConfigurator()
-
useRealmSpecificEndpointTemplate
public void useRealmSpecificEndpointTemplate(boolean useOfRealmSpecificEndpointTemplateEnabled)
This method should be used to enable or disable the use of realm-specific endpoint template.The default value is null. To enable the use of endpoint template defined for the realm in use, set the flag to true To disable the use of endpoint template defined for the realm in use, set the flag to false
- Parameters:
useOfRealmSpecificEndpointTemplateEnabled
- This flag can be set to true or false to enable or disable the use of realm-specific endpoint template respectively
-
populateServiceParametersInEndpoint
public final void populateServiceParametersInEndpoint(String endpoint, Map<String,Object> requiredParametersMap)
Populate the parameters in the endpoint with its corresponding value and update the base endpoint.The value will be populated iff the parameter in endpoint is a required request path parameter or a required request query parameter. If not, the parameter in the endpoint will be ignored and left blank.
- Parameters:
endpoint
- The endpoint template in userequiredParametersMap
- Map of parameter name as key and value set in request path or query parameter as value
-
updateBaseEndpoint
public final void updateBaseEndpoint(String endpoint)
This method should be used for parameterized endpoint templates only.This does not include {region} and {secondLevelDomain} parameters.
- Parameters:
endpoint
- The updated endpoint to use
-
setEndpoint
public final void setEndpoint(String endpoint)
-
getEndpoint
public final String getEndpoint()
-
refreshClient
public final void refreshClient()
Rebuild the backingHttpClient
.This will call
ClientConfigurator
s again, and can be used to e.g. refresh the SSL certificate.
-
setRegion
protected void setRegion(Region region)
-
setRegion
protected void setRegion(String regionId)
-
close
public final void close()
- Specified by:
close
in interfaceAutoCloseable
-
getClientCommonLibraryVersion
public String getClientCommonLibraryVersion()
-
getMinimumClientCommonLibraryVersionFromClient
public Optional<String> getMinimumClientCommonLibraryVersionFromClient()
-
clientCall
protected <REQ extends BmcRequest<?>,RESP extends BmcResponse,RESP_BUILDER extends BmcResponse.Builder<RESP>> ClientCall<REQ,RESP,RESP_BUILDER> clientCall(REQ request, Supplier<RESP_BUILDER> responseBuilder)
-
-