/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.cloudhsm; import javax.annotation.Generated; import com.amazonaws.*; import com.amazonaws.regions.*; import com.amazonaws.services.cloudhsm.model.*; /** * Interface for accessing CloudHSM. *
* Note: Do not directly implement this interface, new methods are added to it regularly. Extend from * {@link com.amazonaws.services.cloudhsm.AbstractAWSCloudHSM} instead. *
*
*
* This is documentation for AWS CloudHSM Classic. For more information, see AWS CloudHSM Classic FAQs, the AWS CloudHSM Classic User Guide, and the AWS CloudHSM Classic API Reference. *
** For information about the current version of AWS CloudHSM, see AWS * CloudHSM, the AWS CloudHSM User Guide, and * the AWS CloudHSM API Reference. *
*/ @Generated("com.amazonaws:aws-java-sdk-code-generator") public interface AWSCloudHSM { /** * The region metadata service name for computing region endpoints. You can use this value to retrieve metadata * (such as supported regions) of the service. * * @see RegionUtils#getRegionsForService(String) */ String ENDPOINT_PREFIX = "cloudhsm"; /** * Overrides the default endpoint for this client ("https://cloudhsm.us-east-1.amazonaws.com/"). Callers can use * this method to control which AWS region they want to work with. ** Callers can pass in just the endpoint (ex: "cloudhsm.us-east-1.amazonaws.com/") or a full URL, including the * protocol (ex: "https://cloudhsm.us-east-1.amazonaws.com/"). If the protocol is not specified here, the default * protocol from this client's {@link ClientConfiguration} will be used, which by default is HTTPS. *
* For more information on using AWS regions with the AWS SDK for Java, and a complete list of all available * endpoints for all AWS services, see: https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/java-dg-region-selection.html#region-selection- * choose-endpoint *
* This method is not threadsafe. An endpoint should be configured when the client is created and before any * service requests are made. Changing it afterwards creates inevitable race conditions for any service requests in * transit or retrying. * * @param endpoint * The endpoint (ex: "cloudhsm.us-east-1.amazonaws.com/") or a full URL, including the protocol (ex: * "https://cloudhsm.us-east-1.amazonaws.com/") of the region specific AWS endpoint this client will * communicate with. * @deprecated use {@link AwsClientBuilder#setEndpointConfiguration(AwsClientBuilder.EndpointConfiguration)} for * example: * {@code builder.setEndpointConfiguration(new EndpointConfiguration(endpoint, signingRegion));} */ @Deprecated void setEndpoint(String endpoint); /** * An alternative to {@link AWSCloudHSM#setEndpoint(String)}, sets the regional endpoint for this client's service * calls. Callers can use this method to control which AWS region they want to work with. *
* By default, all service endpoints in all regions use the https protocol. To use http instead, specify it in the * {@link ClientConfiguration} supplied at construction. *
* This method is not threadsafe. A region should be configured when the client is created and before any service * requests are made. Changing it afterwards creates inevitable race conditions for any service requests in transit * or retrying. * * @param region * The region this client will communicate with. See {@link Region#getRegion(com.amazonaws.regions.Regions)} * for accessing a given region. Must not be null and must be a region where the service is available. * * @see Region#getRegion(com.amazonaws.regions.Regions) * @see Region#createClient(Class, com.amazonaws.auth.AWSCredentialsProvider, ClientConfiguration) * @see Region#isServiceSupported(String) * @deprecated use {@link AwsClientBuilder#setRegion(String)} */ @Deprecated void setRegion(Region region); /** *
* This is documentation for AWS CloudHSM Classic. For more information, see AWS CloudHSM Classic FAQs, the AWS CloudHSM Classic User Guide, and the AWS CloudHSM Classic API Reference. *
** For information about the current version of AWS CloudHSM, see AWS CloudHSM, the AWS CloudHSM User Guide, and the AWS CloudHSM API Reference. *
** Adds or overwrites one or more tags for the specified AWS CloudHSM resource. *
** Each tag consists of a key and a value. Tag keys must be unique to each resource. *
* * @param addTagsToResourceRequest * @return Result of the AddTagsToResource operation returned by the service. * @throws CloudHsmServiceException * Indicates that an exception occurred in the AWS CloudHSM service. * @throws CloudHsmInternalException * Indicates that an internal error occurred. * @throws InvalidRequestException * Indicates that one or more of the request parameters are not valid. * @sample AWSCloudHSM.AddTagsToResource * @see AWS API * Documentation */ AddTagsToResourceResult addTagsToResource(AddTagsToResourceRequest addTagsToResourceRequest); /** ** This is documentation for AWS CloudHSM Classic. For more information, see AWS CloudHSM Classic FAQs, the AWS CloudHSM Classic User Guide, and the AWS CloudHSM Classic API Reference. *
** For information about the current version of AWS CloudHSM, see AWS CloudHSM, the AWS CloudHSM User Guide, and the AWS CloudHSM API Reference. *
** Creates a high-availability partition group. A high-availability partition group is a group of partitions that * spans multiple physical HSMs. *
* * @param createHapgRequest * Contains the inputs for the CreateHapgRequest action. * @return Result of the CreateHapg operation returned by the service. * @throws CloudHsmServiceException * Indicates that an exception occurred in the AWS CloudHSM service. * @throws CloudHsmInternalException * Indicates that an internal error occurred. * @throws InvalidRequestException * Indicates that one or more of the request parameters are not valid. * @sample AWSCloudHSM.CreateHapg * @see AWS API * Documentation */ CreateHapgResult createHapg(CreateHapgRequest createHapgRequest); /** ** This is documentation for AWS CloudHSM Classic. For more information, see AWS CloudHSM Classic FAQs, the AWS CloudHSM Classic User Guide, and the AWS CloudHSM Classic API Reference. *
** For information about the current version of AWS CloudHSM, see AWS CloudHSM, the AWS CloudHSM User Guide, and the AWS CloudHSM API Reference. *
** Creates an uninitialized HSM instance. *
*
* There is an upfront fee charged for each HSM instance that you create with the CreateHsm
operation.
* If you accidentally provision an HSM and want to request a refund, delete the instance using the DeleteHsm
* operation, go to the AWS Support Center, create a new
* case, and select Account and Billing Support.
*
* It can take up to 20 minutes to create and provision an HSM. You can monitor the status of the HSM with the
* DescribeHsm operation. The HSM is ready to be initialized when the status changes to RUNNING
.
*
CreateHsm
operation.
* @return Result of the CreateHsm operation returned by the service.
* @throws CloudHsmServiceException
* Indicates that an exception occurred in the AWS CloudHSM service.
* @throws CloudHsmInternalException
* Indicates that an internal error occurred.
* @throws InvalidRequestException
* Indicates that one or more of the request parameters are not valid.
* @sample AWSCloudHSM.CreateHsm
* @see AWS API
* Documentation
*/
CreateHsmResult createHsm(CreateHsmRequest createHsmRequest);
/**
* * This is documentation for AWS CloudHSM Classic. For more information, see AWS CloudHSM Classic FAQs, the AWS CloudHSM Classic User Guide, and the AWS CloudHSM Classic API Reference. *
** For information about the current version of AWS CloudHSM, see AWS CloudHSM, the AWS CloudHSM User Guide, and the AWS CloudHSM API Reference. *
** Creates an HSM client. *
* * @param createLunaClientRequest * Contains the inputs for the CreateLunaClient action. * @return Result of the CreateLunaClient operation returned by the service. * @throws CloudHsmServiceException * Indicates that an exception occurred in the AWS CloudHSM service. * @throws CloudHsmInternalException * Indicates that an internal error occurred. * @throws InvalidRequestException * Indicates that one or more of the request parameters are not valid. * @sample AWSCloudHSM.CreateLunaClient * @see AWS API * Documentation */ CreateLunaClientResult createLunaClient(CreateLunaClientRequest createLunaClientRequest); /** ** This is documentation for AWS CloudHSM Classic. For more information, see AWS CloudHSM Classic FAQs, the AWS CloudHSM Classic User Guide, and the AWS CloudHSM Classic API Reference. *
** For information about the current version of AWS CloudHSM, see AWS CloudHSM, the AWS CloudHSM User Guide, and the AWS CloudHSM API Reference. *
** Deletes a high-availability partition group. *
* * @param deleteHapgRequest * Contains the inputs for the DeleteHapg action. * @return Result of the DeleteHapg operation returned by the service. * @throws CloudHsmServiceException * Indicates that an exception occurred in the AWS CloudHSM service. * @throws CloudHsmInternalException * Indicates that an internal error occurred. * @throws InvalidRequestException * Indicates that one or more of the request parameters are not valid. * @sample AWSCloudHSM.DeleteHapg * @see AWS API * Documentation */ DeleteHapgResult deleteHapg(DeleteHapgRequest deleteHapgRequest); /** ** This is documentation for AWS CloudHSM Classic. For more information, see AWS CloudHSM Classic FAQs, the AWS CloudHSM Classic User Guide, and the AWS CloudHSM Classic API Reference. *
** For information about the current version of AWS CloudHSM, see AWS CloudHSM, the AWS CloudHSM User Guide, and the AWS CloudHSM API Reference. *
** Deletes an HSM. After completion, this operation cannot be undone and your key material cannot be recovered. *
* * @param deleteHsmRequest * Contains the inputs for the DeleteHsm operation. * @return Result of the DeleteHsm operation returned by the service. * @throws CloudHsmServiceException * Indicates that an exception occurred in the AWS CloudHSM service. * @throws CloudHsmInternalException * Indicates that an internal error occurred. * @throws InvalidRequestException * Indicates that one or more of the request parameters are not valid. * @sample AWSCloudHSM.DeleteHsm * @see AWS API * Documentation */ DeleteHsmResult deleteHsm(DeleteHsmRequest deleteHsmRequest); /** ** This is documentation for AWS CloudHSM Classic. For more information, see AWS CloudHSM Classic FAQs, the AWS CloudHSM Classic User Guide, and the AWS CloudHSM Classic API Reference. *
** For information about the current version of AWS CloudHSM, see AWS CloudHSM, the AWS CloudHSM User Guide, and the AWS CloudHSM API Reference. *
** Deletes a client. *
* * @param deleteLunaClientRequest * @return Result of the DeleteLunaClient operation returned by the service. * @throws CloudHsmServiceException * Indicates that an exception occurred in the AWS CloudHSM service. * @throws CloudHsmInternalException * Indicates that an internal error occurred. * @throws InvalidRequestException * Indicates that one or more of the request parameters are not valid. * @sample AWSCloudHSM.DeleteLunaClient * @see AWS API * Documentation */ DeleteLunaClientResult deleteLunaClient(DeleteLunaClientRequest deleteLunaClientRequest); /** ** This is documentation for AWS CloudHSM Classic. For more information, see AWS CloudHSM Classic FAQs, the AWS CloudHSM Classic User Guide, and the AWS CloudHSM Classic API Reference. *
** For information about the current version of AWS CloudHSM, see AWS CloudHSM, the AWS CloudHSM User Guide, and the AWS CloudHSM API Reference. *
** Retrieves information about a high-availability partition group. *
* * @param describeHapgRequest * Contains the inputs for the DescribeHapg action. * @return Result of the DescribeHapg operation returned by the service. * @throws CloudHsmServiceException * Indicates that an exception occurred in the AWS CloudHSM service. * @throws CloudHsmInternalException * Indicates that an internal error occurred. * @throws InvalidRequestException * Indicates that one or more of the request parameters are not valid. * @sample AWSCloudHSM.DescribeHapg * @see AWS API * Documentation */ DescribeHapgResult describeHapg(DescribeHapgRequest describeHapgRequest); /** ** This is documentation for AWS CloudHSM Classic. For more information, see AWS CloudHSM Classic FAQs, the AWS CloudHSM Classic User Guide, and the AWS CloudHSM Classic API Reference. *
** For information about the current version of AWS CloudHSM, see AWS CloudHSM, the AWS CloudHSM User Guide, and the AWS CloudHSM API Reference. *
** Retrieves information about an HSM. You can identify the HSM by its ARN or its serial number. *
* * @param describeHsmRequest * Contains the inputs for the DescribeHsm operation. * @return Result of the DescribeHsm operation returned by the service. * @throws CloudHsmServiceException * Indicates that an exception occurred in the AWS CloudHSM service. * @throws CloudHsmInternalException * Indicates that an internal error occurred. * @throws InvalidRequestException * Indicates that one or more of the request parameters are not valid. * @sample AWSCloudHSM.DescribeHsm * @see AWS API * Documentation */ DescribeHsmResult describeHsm(DescribeHsmRequest describeHsmRequest); /** * Simplified method form for invoking the DescribeHsm operation. * * @see #describeHsm(DescribeHsmRequest) */ DescribeHsmResult describeHsm(); /** ** This is documentation for AWS CloudHSM Classic. For more information, see AWS CloudHSM Classic FAQs, the AWS CloudHSM Classic User Guide, and the AWS CloudHSM Classic API Reference. *
** For information about the current version of AWS CloudHSM, see AWS CloudHSM, the AWS CloudHSM User Guide, and the AWS CloudHSM API Reference. *
** Retrieves information about an HSM client. *
* * @param describeLunaClientRequest * @return Result of the DescribeLunaClient operation returned by the service. * @throws CloudHsmServiceException * Indicates that an exception occurred in the AWS CloudHSM service. * @throws CloudHsmInternalException * Indicates that an internal error occurred. * @throws InvalidRequestException * Indicates that one or more of the request parameters are not valid. * @sample AWSCloudHSM.DescribeLunaClient * @see AWS * API Documentation */ DescribeLunaClientResult describeLunaClient(DescribeLunaClientRequest describeLunaClientRequest); /** * Simplified method form for invoking the DescribeLunaClient operation. * * @see #describeLunaClient(DescribeLunaClientRequest) */ DescribeLunaClientResult describeLunaClient(); /** ** This is documentation for AWS CloudHSM Classic. For more information, see AWS CloudHSM Classic FAQs, the AWS CloudHSM Classic User Guide, and the AWS CloudHSM Classic API Reference. *
** For information about the current version of AWS CloudHSM, see AWS CloudHSM, the AWS CloudHSM User Guide, and the AWS CloudHSM API Reference. *
** Gets the configuration files necessary to connect to all high availability partition groups the client is * associated with. *
* * @param getConfigRequest * @return Result of the GetConfig operation returned by the service. * @throws CloudHsmServiceException * Indicates that an exception occurred in the AWS CloudHSM service. * @throws CloudHsmInternalException * Indicates that an internal error occurred. * @throws InvalidRequestException * Indicates that one or more of the request parameters are not valid. * @sample AWSCloudHSM.GetConfig * @see AWS API * Documentation */ GetConfigResult getConfig(GetConfigRequest getConfigRequest); /** ** This is documentation for AWS CloudHSM Classic. For more information, see AWS CloudHSM Classic FAQs, the AWS CloudHSM Classic User Guide, and the AWS CloudHSM Classic API Reference. *
** For information about the current version of AWS CloudHSM, see AWS CloudHSM, the AWS CloudHSM User Guide, and the AWS CloudHSM API Reference. *
** Lists the Availability Zones that have available AWS CloudHSM capacity. *
* * @param listAvailableZonesRequest * Contains the inputs for the ListAvailableZones action. * @return Result of the ListAvailableZones operation returned by the service. * @throws CloudHsmServiceException * Indicates that an exception occurred in the AWS CloudHSM service. * @throws CloudHsmInternalException * Indicates that an internal error occurred. * @throws InvalidRequestException * Indicates that one or more of the request parameters are not valid. * @sample AWSCloudHSM.ListAvailableZones * @see AWS * API Documentation */ ListAvailableZonesResult listAvailableZones(ListAvailableZonesRequest listAvailableZonesRequest); /** * Simplified method form for invoking the ListAvailableZones operation. * * @see #listAvailableZones(ListAvailableZonesRequest) */ ListAvailableZonesResult listAvailableZones(); /** ** This is documentation for AWS CloudHSM Classic. For more information, see AWS CloudHSM Classic FAQs, the AWS CloudHSM Classic User Guide, and the AWS CloudHSM Classic API Reference. *
** For information about the current version of AWS CloudHSM, see AWS CloudHSM, the AWS CloudHSM User Guide, and the AWS CloudHSM API Reference. *
** Lists the high-availability partition groups for the account. *
*
* This operation supports pagination with the use of the NextToken
member. If more results are
* available, the NextToken
member of the response contains a token that you pass in the next call to
* ListHapgs
to retrieve the next set of items.
*
* This is documentation for AWS CloudHSM Classic. For more information, see AWS CloudHSM Classic FAQs, the AWS CloudHSM Classic User Guide, and the AWS CloudHSM Classic API Reference. *
** For information about the current version of AWS CloudHSM, see AWS CloudHSM, the AWS CloudHSM User Guide, and the AWS CloudHSM API Reference. *
** Retrieves the identifiers of all of the HSMs provisioned for the current customer. *
*
* This operation supports pagination with the use of the NextToken
member. If more results are
* available, the NextToken
member of the response contains a token that you pass in the next call to
* ListHsms
to retrieve the next set of items.
*
* This is documentation for AWS CloudHSM Classic. For more information, see AWS CloudHSM Classic FAQs, the AWS CloudHSM Classic User Guide, and the AWS CloudHSM Classic API Reference. *
** For information about the current version of AWS CloudHSM, see AWS CloudHSM, the AWS CloudHSM User Guide, and the AWS CloudHSM API Reference. *
** Lists all of the clients. *
*
* This operation supports pagination with the use of the NextToken
member. If more results are
* available, the NextToken
member of the response contains a token that you pass in the next call to
* ListLunaClients
to retrieve the next set of items.
*
* This is documentation for AWS CloudHSM Classic. For more information, see AWS CloudHSM Classic FAQs, the AWS CloudHSM Classic User Guide, and the AWS CloudHSM Classic API Reference. *
** For information about the current version of AWS CloudHSM, see AWS CloudHSM, the AWS CloudHSM User Guide, and the AWS CloudHSM API Reference. *
** Returns a list of all tags for the specified AWS CloudHSM resource. *
* * @param listTagsForResourceRequest * @return Result of the ListTagsForResource operation returned by the service. * @throws CloudHsmServiceException * Indicates that an exception occurred in the AWS CloudHSM service. * @throws CloudHsmInternalException * Indicates that an internal error occurred. * @throws InvalidRequestException * Indicates that one or more of the request parameters are not valid. * @sample AWSCloudHSM.ListTagsForResource * @see AWS * API Documentation */ ListTagsForResourceResult listTagsForResource(ListTagsForResourceRequest listTagsForResourceRequest); /** ** This is documentation for AWS CloudHSM Classic. For more information, see AWS CloudHSM Classic FAQs, the AWS CloudHSM Classic User Guide, and the AWS CloudHSM Classic API Reference. *
** For information about the current version of AWS CloudHSM, see AWS CloudHSM, the AWS CloudHSM User Guide, and the AWS CloudHSM API Reference. *
** Modifies an existing high-availability partition group. *
* * @param modifyHapgRequest * @return Result of the ModifyHapg operation returned by the service. * @throws CloudHsmServiceException * Indicates that an exception occurred in the AWS CloudHSM service. * @throws CloudHsmInternalException * Indicates that an internal error occurred. * @throws InvalidRequestException * Indicates that one or more of the request parameters are not valid. * @sample AWSCloudHSM.ModifyHapg * @see AWS API * Documentation */ ModifyHapgResult modifyHapg(ModifyHapgRequest modifyHapgRequest); /** ** This is documentation for AWS CloudHSM Classic. For more information, see AWS CloudHSM Classic FAQs, the AWS CloudHSM Classic User Guide, and the AWS CloudHSM Classic API Reference. *
** For information about the current version of AWS CloudHSM, see AWS CloudHSM, the AWS CloudHSM User Guide, and the AWS CloudHSM API Reference. *
** Modifies an HSM. *
** This operation can result in the HSM being offline for up to 15 minutes while the AWS CloudHSM service is * reconfigured. If you are modifying a production HSM, you should ensure that your AWS CloudHSM service is * configured for high availability, and consider executing this operation during a maintenance window. *
** This is documentation for AWS CloudHSM Classic. For more information, see AWS CloudHSM Classic FAQs, the AWS CloudHSM Classic User Guide, and the AWS CloudHSM Classic API Reference. *
** For information about the current version of AWS CloudHSM, see AWS CloudHSM, the AWS CloudHSM User Guide, and the AWS CloudHSM API Reference. *
** Modifies the certificate used by the client. *
** This action can potentially start a workflow to install the new certificate on the client's HSMs. *
* * @param modifyLunaClientRequest * @return Result of the ModifyLunaClient operation returned by the service. * @throws CloudHsmServiceException * Indicates that an exception occurred in the AWS CloudHSM service. * @sample AWSCloudHSM.ModifyLunaClient * @see AWS API * Documentation */ ModifyLunaClientResult modifyLunaClient(ModifyLunaClientRequest modifyLunaClientRequest); /** ** This is documentation for AWS CloudHSM Classic. For more information, see AWS CloudHSM Classic FAQs, the AWS CloudHSM Classic User Guide, and the AWS CloudHSM Classic API Reference. *
** For information about the current version of AWS CloudHSM, see AWS CloudHSM, the AWS CloudHSM User Guide, and the AWS CloudHSM API Reference. *
** Removes one or more tags from the specified AWS CloudHSM resource. *
** To remove a tag, specify only the tag key to remove (not the value). To overwrite the value for an existing tag, * use AddTagsToResource. *
* * @param removeTagsFromResourceRequest * @return Result of the RemoveTagsFromResource operation returned by the service. * @throws CloudHsmServiceException * Indicates that an exception occurred in the AWS CloudHSM service. * @throws CloudHsmInternalException * Indicates that an internal error occurred. * @throws InvalidRequestException * Indicates that one or more of the request parameters are not valid. * @sample AWSCloudHSM.RemoveTagsFromResource * @see AWS API Documentation */ RemoveTagsFromResourceResult removeTagsFromResource(RemoveTagsFromResourceRequest removeTagsFromResourceRequest); /** * Shuts down this client object, releasing any resources that might be held open. This is an optional method, and * callers are not expected to call it, but can if they want to explicitly release any open resources. Once a client * has been shutdown, it should not be used to make any more requests. */ void shutdown(); /** * Returns additional metadata for a previously executed successful request, typically used for debugging issues * where a service isn't acting as expected. This data isn't considered part of the result data returned by an * operation, so it's available through this separate, diagnostic interface. ** Response metadata is only cached for a limited period of time, so if you need to access this extra diagnostic * information for an executed request, you should use this method to retrieve it as soon as possible after * executing a request. * * @param request * The originally executed request. * * @return The response metadata for the specified request, or null if none is available. */ ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request); }