Class KmsManagementAsyncClient

  • All Implemented Interfaces:
    KmsManagementAsync, AutoCloseable

    @Generated(value="OracleSDKGenerator",
               comments="API Version: release")
    public class KmsManagementAsyncClient
    extends BaseAsyncClient
    implements KmsManagementAsync
    Async client implementation for KmsManagement service.
    There are two ways to use async client: 1. Use AsyncHandler: using AsyncHandler, if the response to the call is an InputStream, 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 Detail

      • SERVICE

        public static final Service SERVICE
        Service instance for KmsManagement.
      • clientCommonLibraryVersion

        public final String clientCommonLibraryVersion
        Compatible SDK version, provided by the codegen.
      • minimumClientCommonLibraryVersionFromClient

        public final Optional<String> minimumClientCommonLibraryVersionFromClient
        Minimum compatible SDK version, maybe provided by the codegen.
    • Constructor Detail

      • KmsManagementAsyncClient

        @Deprecated
        public KmsManagementAsyncClient​(BasicAuthenticationDetailsProvider authenticationDetailsProvider)
        Deprecated.
        Use the builder instead.
        Create a new client instance.
        Parameters:
        authenticationDetailsProvider - The authentication details (see Builder#build)
      • KmsManagementAsyncClient

        @Deprecated
        public KmsManagementAsyncClient​(BasicAuthenticationDetailsProvider authenticationDetailsProvider,
                                        ClientConfiguration configuration)
        Deprecated.
        Use the builder instead.
        Create a new client instance.
        Parameters:
        authenticationDetailsProvider - The authentication details (see Builder#build)
        configuration - Builder#configuration
      • KmsManagementAsyncClient

        @Deprecated
        public KmsManagementAsyncClient​(BasicAuthenticationDetailsProvider authenticationDetailsProvider,
                                        ClientConfiguration configuration,
                                        ClientConfigurator clientConfigurator)
        Deprecated.
        Use the builder instead.
        Create a new client instance.
        Parameters:
        authenticationDetailsProvider - The authentication details (see Builder#build)
        configuration - Builder#configuration
        clientConfigurator - Builder#clientConfigurator
      • KmsManagementAsyncClient

        @Deprecated
        public KmsManagementAsyncClient​(AbstractAuthenticationDetailsProvider authenticationDetailsProvider,
                                        ClientConfiguration configuration,
                                        ClientConfigurator clientConfigurator,
                                        RequestSignerFactory defaultRequestSignerFactory)
        Deprecated.
        Use the builder instead.
        Create a new client instance.
        Parameters:
        authenticationDetailsProvider - The authentication details (see Builder#build)
        configuration - Builder#configuration
        clientConfigurator - Builder#clientConfigurator
        defaultRequestSignerFactory - Builder#requestSignerFactory
      • KmsManagementAsyncClient

        @Deprecated
        public KmsManagementAsyncClient​(AbstractAuthenticationDetailsProvider authenticationDetailsProvider,
                                        ClientConfiguration configuration,
                                        ClientConfigurator clientConfigurator,
                                        RequestSignerFactory defaultRequestSignerFactory,
                                        List<ClientConfigurator> additionalClientConfigurators)
        Deprecated.
        Use the builder instead.
        Create a new client instance.
        Parameters:
        authenticationDetailsProvider - The authentication details (see Builder#build)
        configuration - Builder#configuration
        clientConfigurator - Builder#clientConfigurator
        defaultRequestSignerFactory - Builder#requestSignerFactory
        additionalClientConfigurators - Builder#additionalClientConfigurators
      • KmsManagementAsyncClient

        @Deprecated
        public KmsManagementAsyncClient​(AbstractAuthenticationDetailsProvider authenticationDetailsProvider,
                                        ClientConfiguration configuration,
                                        ClientConfigurator clientConfigurator,
                                        RequestSignerFactory defaultRequestSignerFactory,
                                        List<ClientConfigurator> additionalClientConfigurators,
                                        String endpoint)
        Deprecated.
        Use the builder instead.
        Create a new client instance.
        Parameters:
        authenticationDetailsProvider - The authentication details (see Builder#build)
        configuration - Builder#configuration
        clientConfigurator - Builder#clientConfigurator
        defaultRequestSignerFactory - Builder#requestSignerFactory
        additionalClientConfigurators - Builder#additionalClientConfigurators
        endpoint - Builder#endpoint
      • KmsManagementAsyncClient

        @Deprecated
        public KmsManagementAsyncClient​(AbstractAuthenticationDetailsProvider authenticationDetailsProvider,
                                        ClientConfiguration configuration,
                                        ClientConfigurator clientConfigurator,
                                        RequestSignerFactory defaultRequestSignerFactory,
                                        Map<SigningStrategy,​RequestSignerFactory> signingStrategyRequestSignerFactories,
                                        List<ClientConfigurator> additionalClientConfigurators,
                                        String endpoint)
        Deprecated.
        Use the builder instead.
        Create a new client instance.
        Parameters:
        authenticationDetailsProvider - The authentication details (see Builder#build)
        configuration - Builder#configuration
        clientConfigurator - Builder#clientConfigurator
        defaultRequestSignerFactory - Builder#requestSignerFactory
        additionalClientConfigurators - Builder#additionalClientConfigurators
        endpoint - Builder#endpoint
        signingStrategyRequestSignerFactories - Builder#signingStrategyRequestSignerFactories
    • Method Detail

      • backupKey

        public Future<BackupKeyResponse> backupKey​(BackupKeyRequest request,
                                                   AsyncHandler<BackupKeyRequest,​BackupKeyResponse> handler)
        Description copied from interface: KmsManagementAsync
        Backs up an encrypted file that contains all key versions and metadata of the specified key so that you can restore the key later.

        The file also contains the metadata of the vault that the key belonged to.

        Specified by:
        backupKey in interface KmsManagementAsync
        Parameters:
        request - The request object containing the details to send
        handler - 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.
      • cancelKeyDeletion

        public Future<CancelKeyDeletionResponse> cancelKeyDeletion​(CancelKeyDeletionRequest request,
                                                                   AsyncHandler<CancelKeyDeletionRequest,​CancelKeyDeletionResponse> handler)
        Description copied from interface: KmsManagementAsync
        Cancels the scheduled deletion of the specified key.

        Canceling a scheduled deletion restores the key’s lifecycle state to what it was before its scheduled deletion.

        As a provisioning operation, this call is subject to a Key Management limit that applies to the total number of requests across all provisioning write operations. Key Management might throttle this call to reject an otherwise valid request when the total rate of provisioning write operations exceeds 10 requests per second for a given tenancy.

        Specified by:
        cancelKeyDeletion in interface KmsManagementAsync
        Parameters:
        request - The request object containing the details to send
        handler - 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.
      • cancelKeyVersionDeletion

        public Future<CancelKeyVersionDeletionResponse> cancelKeyVersionDeletion​(CancelKeyVersionDeletionRequest request,
                                                                                 AsyncHandler<CancelKeyVersionDeletionRequest,​CancelKeyVersionDeletionResponse> handler)
        Description copied from interface: KmsManagementAsync
        Cancels the scheduled deletion of the specified key version.

        Canceling a scheduled deletion restores the key version to its lifecycle state from before its scheduled deletion.

        As a provisioning operation, this call is subject to a Key Management limit that applies to the total number of requests across all provisioning write operations. Key Management might throttle this call to reject an otherwise valid request when the total rate of provisioning write operations exceeds 10 requests per second for a given tenancy.

        Specified by:
        cancelKeyVersionDeletion in interface KmsManagementAsync
        Parameters:
        request - The request object containing the details to send
        handler - 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.
      • changeKeyCompartment

        public Future<ChangeKeyCompartmentResponse> changeKeyCompartment​(ChangeKeyCompartmentRequest request,
                                                                         AsyncHandler<ChangeKeyCompartmentRequest,​ChangeKeyCompartmentResponse> handler)
        Description copied from interface: KmsManagementAsync
        Moves a key into a different compartment within the same tenancy.

        For information about moving resources between compartments, see Moving Resources to a Different Compartment.

        When provided, if-match is checked against the ETag values of the key.

        As a provisioning operation, this call is subject to a Key Management limit that applies to the total number of requests across all provisioning write operations. Key Management might throttle this call to reject an otherwise valid request when the total rate of provisioning write operations exceeds 10 requests per second for a given tenancy.

        Specified by:
        changeKeyCompartment in interface KmsManagementAsync
        Parameters:
        request - The request object containing the details to send
        handler - 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.
      • createKey

        public Future<CreateKeyResponse> createKey​(CreateKeyRequest request,
                                                   AsyncHandler<CreateKeyRequest,​CreateKeyResponse> handler)
        Description copied from interface: KmsManagementAsync
        Creates a new master encryption key.

        As a management operation, this call is subject to a Key Management limit that applies to the total number of requests across all management write operations. Key Management might throttle this call to reject an otherwise valid request when the total rate of management write operations exceeds 10 requests per second for a given tenancy.

        Specified by:
        createKey in interface KmsManagementAsync
        Parameters:
        request - The request object containing the details to send
        handler - 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.
      • createKeyVersion

        public Future<CreateKeyVersionResponse> createKeyVersion​(CreateKeyVersionRequest request,
                                                                 AsyncHandler<CreateKeyVersionRequest,​CreateKeyVersionResponse> handler)
        Description copied from interface: KmsManagementAsync
        Generates a new KeyVersion resource that provides new cryptographic material for a master encryption key.

        The key must be in an ENABLED state to be rotated.

        As a management operation, this call is subject to a Key Management limit that applies to the total number of requests across all management write operations. Key Management might throttle this call to reject an otherwise valid request when the total rate of management write operations exceeds 10 requests per second for a given tenancy.

        Specified by:
        createKeyVersion in interface KmsManagementAsync
        Parameters:
        request - The request object containing the details to send
        handler - 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.
      • disableKey

        public Future<DisableKeyResponse> disableKey​(DisableKeyRequest request,
                                                     AsyncHandler<DisableKeyRequest,​DisableKeyResponse> handler)
        Description copied from interface: KmsManagementAsync
        Disables a master encryption key so it can no longer be used for encryption, decryption, or generating new data encryption keys.

        As a management operation, this call is subject to a Key Management limit that applies to the total number of requests across all management write operations. Key Management might throttle this call to reject an otherwise valid request when the total rate of management write operations exceeds 10 requests per second for a given tenancy.

        Specified by:
        disableKey in interface KmsManagementAsync
        Parameters:
        request - The request object containing the details to send
        handler - 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.
      • enableKey

        public Future<EnableKeyResponse> enableKey​(EnableKeyRequest request,
                                                   AsyncHandler<EnableKeyRequest,​EnableKeyResponse> handler)
        Description copied from interface: KmsManagementAsync
        Enables a master encryption key so it can be used for encryption, decryption, or generating new data encryption keys.

        As a management operation, this call is subject to a Key Management limit that applies to the total number of requests across all management write operations. Key Management might throttle this call to reject an otherwise valid request when the total rate of management write operations exceeds 10 requests per second for a given tenancy.

        Specified by:
        enableKey in interface KmsManagementAsync
        Parameters:
        request - The request object containing the details to send
        handler - 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.
      • getKey

        public Future<GetKeyResponse> getKey​(GetKeyRequest request,
                                             AsyncHandler<GetKeyRequest,​GetKeyResponse> handler)
        Description copied from interface: KmsManagementAsync
        Gets information about the specified master encryption key.

        As a management operation, this call is subject to a Key Management limit that applies to the total number of requests across all management read operations. Key Management might throttle this call to reject an otherwise valid request when the total rate of management read operations exceeds 10 requests per second for a given tenancy.

        Specified by:
        getKey in interface KmsManagementAsync
        Parameters:
        request - The request object containing the details to send
        handler - 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.
      • getKeyVersion

        public Future<GetKeyVersionResponse> getKeyVersion​(GetKeyVersionRequest request,
                                                           AsyncHandler<GetKeyVersionRequest,​GetKeyVersionResponse> handler)
        Description copied from interface: KmsManagementAsync
        Gets information about the specified key version.

        As a management operation, this call is subject to a Key Management limit that applies to the total number of requests across all management read operations. Key Management might throttle this call to reject an otherwise valid request when the total rate of management read operations exceeds 10 requests per second for a given tenancy.

        Specified by:
        getKeyVersion in interface KmsManagementAsync
        Parameters:
        request - The request object containing the details to send
        handler - 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.
      • getReplicationStatus

        public Future<GetReplicationStatusResponse> getReplicationStatus​(GetReplicationStatusRequest request,
                                                                         AsyncHandler<GetReplicationStatusRequest,​GetReplicationStatusResponse> handler)
        Description copied from interface: KmsManagementAsync
        When a vault has a replica, each operation on the vault or its resources, such as keys, is replicated and has an associated replicationId.

        Replication status provides details about whether the operation associated with the given replicationId has been successfully applied across replicas.

        Specified by:
        getReplicationStatus in interface KmsManagementAsync
        Parameters:
        request - The request object containing the details to send
        handler - 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.
      • getWrappingKey

        public Future<GetWrappingKeyResponse> getWrappingKey​(GetWrappingKeyRequest request,
                                                             AsyncHandler<GetWrappingKeyRequest,​GetWrappingKeyResponse> handler)
        Description copied from interface: KmsManagementAsync
        Gets details about the public RSA wrapping key associated with the vault in the endpoint.

        Each vault has an RSA key-pair that wraps and unwraps AES key material for import into Key Management.

        Specified by:
        getWrappingKey in interface KmsManagementAsync
        Parameters:
        request - The request object containing the details to send
        handler - 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.
      • importKey

        public Future<ImportKeyResponse> importKey​(ImportKeyRequest request,
                                                   AsyncHandler<ImportKeyRequest,​ImportKeyResponse> handler)
        Description copied from interface: KmsManagementAsync
        Imports AES and RSA keys to create a new key.

        The key material must be base64-encoded and wrapped by the vault’s public RSA wrapping key before you can import it. Key Management supports both RSA and AES keys. The AES keys are symmetric keys of length 128 bits (16 bytes), 192 bits (24 bytes), or 256 bits (32 bytes), and the RSA keys are asymmetric keys of length 2048 bits (256 bytes), 3072 bits (384 bytes), and 4096 bits (512 bytes). Furthermore, the key length must match what you specify at the time of import. When importing an asymmetric key, only private key must be wrapped in PKCS8 format while the corresponding public key is generated internally by KMS.

        Specified by:
        importKey in interface KmsManagementAsync
        Parameters:
        request - The request object containing the details to send
        handler - 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.
      • importKeyVersion

        public Future<ImportKeyVersionResponse> importKeyVersion​(ImportKeyVersionRequest request,
                                                                 AsyncHandler<ImportKeyVersionRequest,​ImportKeyVersionResponse> handler)
        Description copied from interface: KmsManagementAsync
        Imports AES key material to create a new key version and then rotate the key to begin using the new key version.

        The key material must be base64-encoded and wrapped by the vault’s public RSA wrapping key before you can import it. Key Management supports AES symmetric keys that are exactly 16, 24, or 32 bytes. Furthermore, the key length must match the length of the specified key and what you specify as the length at the time of import. When importing an asymmetric key, only the private key must be wrapped in PKCS8 format while the corresponding public key is generated internally by KMS.

        Specified by:
        importKeyVersion in interface KmsManagementAsync
        Parameters:
        request - The request object containing the details to send
        handler - 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.
      • listKeyVersions

        public Future<ListKeyVersionsResponse> listKeyVersions​(ListKeyVersionsRequest request,
                                                               AsyncHandler<ListKeyVersionsRequest,​ListKeyVersionsResponse> handler)
        Description copied from interface: KmsManagementAsync
        Lists all KeyVersion resources for the specified master encryption key.

        As a management operation, this call is subject to a Key Management limit that applies to the total number of requests across all management read operations. Key Management might throttle this call to reject an otherwise valid request when the total rate of management read operations exceeds 10 requests per second for a given tenancy.

        Specified by:
        listKeyVersions in interface KmsManagementAsync
        Parameters:
        request - The request object containing the details to send
        handler - 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.
      • listKeys

        public Future<ListKeysResponse> listKeys​(ListKeysRequest request,
                                                 AsyncHandler<ListKeysRequest,​ListKeysResponse> handler)
        Description copied from interface: KmsManagementAsync
        Lists the master encryption keys in the specified vault and compartment.

        As a management operation, this call is subject to a Key Management limit that applies to the total number of requests across all management read operations. Key Management might throttle this call to reject an otherwise valid request when the total rate of management read operations exceeds 10 requests per second for a given tenancy.

        Specified by:
        listKeys in interface KmsManagementAsync
        Parameters:
        request - The request object containing the details to send
        handler - 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.
      • restoreKeyFromFile

        public Future<RestoreKeyFromFileResponse> restoreKeyFromFile​(RestoreKeyFromFileRequest request,
                                                                     AsyncHandler<RestoreKeyFromFileRequest,​RestoreKeyFromFileResponse> handler)
        Description copied from interface: KmsManagementAsync
        Restores the specified key to the specified vault, based on information in the backup file provided.

        If the vault doesn’t exist, the operation returns a response with a 404 HTTP status error code. You need to first restore the vault associated with the key.

        Specified by:
        restoreKeyFromFile in interface KmsManagementAsync
        Parameters:
        request - The request object containing the details to send
        handler - 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.
      • restoreKeyFromObjectStore

        public Future<RestoreKeyFromObjectStoreResponse> restoreKeyFromObjectStore​(RestoreKeyFromObjectStoreRequest request,
                                                                                   AsyncHandler<RestoreKeyFromObjectStoreRequest,​RestoreKeyFromObjectStoreResponse> handler)
        Description copied from interface: KmsManagementAsync
        Restores the specified key to the specified vault from an Oracle Cloud Infrastructure Object Storage location.

        If the vault doesn’t exist, the operation returns a response with a 404 HTTP status error code. You need to first restore the vault associated with the key.

        Specified by:
        restoreKeyFromObjectStore in interface KmsManagementAsync
        Parameters:
        request - The request object containing the details to send
        handler - 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.
      • scheduleKeyDeletion

        public Future<ScheduleKeyDeletionResponse> scheduleKeyDeletion​(ScheduleKeyDeletionRequest request,
                                                                       AsyncHandler<ScheduleKeyDeletionRequest,​ScheduleKeyDeletionResponse> handler)
        Description copied from interface: KmsManagementAsync
        Schedules the deletion of the specified key.

        This sets the lifecycle state of the key to PENDING_DELETION and then deletes it after the specified retention period ends.

        As a provisioning operation, this call is subject to a Key Management limit that applies to the total number of requests across all provisioning write operations. Key Management might throttle this call to reject an otherwise valid request when the total rate of provisioning write operations exceeds 10 requests per second for a given tenancy.

        Specified by:
        scheduleKeyDeletion in interface KmsManagementAsync
        Parameters:
        request - The request object containing the details to send
        handler - 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.
      • scheduleKeyVersionDeletion

        public Future<ScheduleKeyVersionDeletionResponse> scheduleKeyVersionDeletion​(ScheduleKeyVersionDeletionRequest request,
                                                                                     AsyncHandler<ScheduleKeyVersionDeletionRequest,​ScheduleKeyVersionDeletionResponse> handler)
        Description copied from interface: KmsManagementAsync
        Schedules the deletion of the specified key version.

        This sets the lifecycle state of the key version to PENDING_DELETION and then deletes it after the specified retention period ends.

        As a provisioning operation, this call is subject to a Key Management limit that applies to the total number of requests across all provisioning write operations. Key Management might throttle this call to reject an otherwise valid request when the total rate of provisioning write operations exceeds 10 requests per second for a given tenancy.

        Specified by:
        scheduleKeyVersionDeletion in interface KmsManagementAsync
        Parameters:
        request - The request object containing the details to send
        handler - 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.
      • updateKey

        public Future<UpdateKeyResponse> updateKey​(UpdateKeyRequest request,
                                                   AsyncHandler<UpdateKeyRequest,​UpdateKeyResponse> handler)
        Description copied from interface: KmsManagementAsync
        Updates the properties of a master encryption key.

        Specifically, you can update the displayName, freeformTags, and definedTags properties. Furthermore, the key must be in an ENABLED or CREATING state to be updated.

        As a management operation, this call is subject to a Key Management limit that applies to the total number of requests across all management write operations. Key Management might throttle this call to reject an otherwise valid request when the total rate of management write operations exceeds 10 requests per second for a given tenancy.

        Specified by:
        updateKey in interface KmsManagementAsync
        Parameters:
        request - The request object containing the details to send
        handler - 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.
      • 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 use
        requiredParametersMap - 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 backing HttpClient.

        This will call ClientConfigurators again, and can be used to e.g. refresh the SSL certificate.

      • setRegion

        protected void setRegion​(Region region)
      • setRegion

        protected void setRegion​(String regionId)
      • getClientCommonLibraryVersion

        public String getClientCommonLibraryVersion()
      • getMinimumClientCommonLibraryVersionFromClient

        public Optional<String> getMinimumClientCommonLibraryVersionFromClient()