/* * 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.kms.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.AmazonWebServiceRequest; /** * * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class UpdateCustomKeyStoreRequest extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable { /** *
* Identifies the custom key store that you want to update. Enter the ID of the custom key store. To find the ID of * a custom key store, use the DescribeCustomKeyStores operation. *
*/ private String customKeyStoreId; /** ** Changes the friendly name of the custom key store to the value that you specify. The custom key store name must * be unique in the Amazon Web Services account. *
** Do not include confidential or sensitive information in this field. This field may be displayed in plaintext in * CloudTrail logs and other output. *
** To change this value, an CloudHSM key store must be disconnected. An external key store can be connected or * disconnected. *
*/ private String newCustomKeyStoreName; /** *
* Enter the current password of the kmsuser
crypto user (CU) in the CloudHSM cluster that is
* associated with the custom key store. This parameter is valid only for custom key stores with a
* CustomKeyStoreType
of AWS_CLOUDHSM
.
*
* This parameter tells KMS the current password of the kmsuser
crypto user (CU). It does not set or
* change the password of any users in the CloudHSM cluster.
*
* To change this value, the CloudHSM key store must be disconnected. *
*/ private String keyStorePassword; /** *
* Associates the custom key store with a related CloudHSM cluster. This parameter is valid only for custom key
* stores with a CustomKeyStoreType
of AWS_CLOUDHSM
.
*
* Enter the cluster ID of the cluster that you used to create the custom key store or a cluster that shares a * backup history and has the same cluster certificate as the original cluster. You cannot use this parameter to * associate a custom key store with an unrelated cluster. In addition, the replacement cluster must fulfill the * requirements for a cluster associated with a custom key store. To view the cluster certificate of a cluster, * use the DescribeClusters * operation. *
** To change this value, the CloudHSM key store must be disconnected. *
*/ private String cloudHsmClusterId; /** *
* Changes the URI endpoint that KMS uses to connect to your external key store proxy (XKS proxy). This parameter is
* valid only for custom key stores with a CustomKeyStoreType
of EXTERNAL_KEY_STORE
.
*
* For external key stores with an XksProxyConnectivity
value of PUBLIC_ENDPOINT
, the
* protocol must be HTTPS.
*
* For external key stores with an XksProxyConnectivity
value of VPC_ENDPOINT_SERVICE
,
* specify https://
followed by the private DNS name associated with the VPC endpoint service. Each
* external key store must use a different private DNS name.
*
* The combined XksProxyUriEndpoint
and XksProxyUriPath
values must be unique in the
* Amazon Web Services account and Region.
*
* To change this value, the external key store must be disconnected. *
*/ private String xksProxyUriEndpoint; /** *
* Changes the base path to the proxy APIs for this external key store. To find this value, see the documentation
* for your external key manager and external key store proxy (XKS proxy). This parameter is valid only for custom
* key stores with a CustomKeyStoreType
of EXTERNAL_KEY_STORE
.
*
* The value must start with /
and must end with /kms/xks/v1
, where v1
* represents the version of the KMS external key store proxy API. You can include an optional prefix between the
* required elements such as /example/kms/xks/v1
.
*
* The combined XksProxyUriEndpoint
and XksProxyUriPath
values must be unique in the
* Amazon Web Services account and Region.
*
* You can change this value when the external key store is connected or disconnected. *
*/ private String xksProxyUriPath; /** *
* Changes the name that KMS uses to identify the Amazon VPC endpoint service for your external key store proxy (XKS
* proxy). This parameter is valid when the CustomKeyStoreType
is EXTERNAL_KEY_STORE
and
* the XksProxyConnectivity
is VPC_ENDPOINT_SERVICE
.
*
* To change this value, the external key store must be disconnected. *
*/ private String xksProxyVpcEndpointServiceName; /** *
* Changes the credentials that KMS uses to sign requests to the external key store proxy (XKS proxy). This
* parameter is valid only for custom key stores with a CustomKeyStoreType
of
* EXTERNAL_KEY_STORE
.
*
* You must specify both the AccessKeyId
and SecretAccessKey
value in the authentication
* credential, even if you are only updating one value.
*
* This parameter doesn't establish or change your authentication credentials on the proxy. It just tells KMS the * credential that you established with your external key store proxy. For example, if you rotate the credential on * your external key store proxy, you can use this parameter to update the credential in KMS. *
** You can change this value when the external key store is connected or disconnected. *
*/ private XksProxyAuthenticationCredentialType xksProxyAuthenticationCredential; /** *
* Changes the connectivity setting for the external key store. To indicate that the external key store proxy uses a
* Amazon VPC endpoint service to communicate with KMS, specify VPC_ENDPOINT_SERVICE
. Otherwise,
* specify PUBLIC_ENDPOINT
.
*
* If you change the XksProxyConnectivity
to VPC_ENDPOINT_SERVICE
, you must also change
* the XksProxyUriEndpoint
and add an XksProxyVpcEndpointServiceName
value.
*
* If you change the XksProxyConnectivity
to PUBLIC_ENDPOINT
, you must also change the
* XksProxyUriEndpoint
and specify a null or empty string for the
* XksProxyVpcEndpointServiceName
value.
*
* To change this value, the external key store must be disconnected. *
*/ private String xksProxyConnectivity; /** ** Identifies the custom key store that you want to update. Enter the ID of the custom key store. To find the ID of * a custom key store, use the DescribeCustomKeyStores operation. *
* * @param customKeyStoreId * Identifies the custom key store that you want to update. Enter the ID of the custom key store. To find the * ID of a custom key store, use the DescribeCustomKeyStores operation. */ public void setCustomKeyStoreId(String customKeyStoreId) { this.customKeyStoreId = customKeyStoreId; } /** ** Identifies the custom key store that you want to update. Enter the ID of the custom key store. To find the ID of * a custom key store, use the DescribeCustomKeyStores operation. *
* * @return Identifies the custom key store that you want to update. Enter the ID of the custom key store. To find * the ID of a custom key store, use the DescribeCustomKeyStores operation. */ public String getCustomKeyStoreId() { return this.customKeyStoreId; } /** ** Identifies the custom key store that you want to update. Enter the ID of the custom key store. To find the ID of * a custom key store, use the DescribeCustomKeyStores operation. *
* * @param customKeyStoreId * Identifies the custom key store that you want to update. Enter the ID of the custom key store. To find the * ID of a custom key store, use the DescribeCustomKeyStores operation. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateCustomKeyStoreRequest withCustomKeyStoreId(String customKeyStoreId) { setCustomKeyStoreId(customKeyStoreId); return this; } /** ** Changes the friendly name of the custom key store to the value that you specify. The custom key store name must * be unique in the Amazon Web Services account. *
** Do not include confidential or sensitive information in this field. This field may be displayed in plaintext in * CloudTrail logs and other output. *
** To change this value, an CloudHSM key store must be disconnected. An external key store can be connected or * disconnected. *
* * @param newCustomKeyStoreName * Changes the friendly name of the custom key store to the value that you specify. The custom key store name * must be unique in the Amazon Web Services account.* Do not include confidential or sensitive information in this field. This field may be displayed in * plaintext in CloudTrail logs and other output. *
** To change this value, an CloudHSM key store must be disconnected. An external key store can be connected * or disconnected. */ public void setNewCustomKeyStoreName(String newCustomKeyStoreName) { this.newCustomKeyStoreName = newCustomKeyStoreName; } /** *
* Changes the friendly name of the custom key store to the value that you specify. The custom key store name must * be unique in the Amazon Web Services account. *
** Do not include confidential or sensitive information in this field. This field may be displayed in plaintext in * CloudTrail logs and other output. *
** To change this value, an CloudHSM key store must be disconnected. An external key store can be connected or * disconnected. *
* * @return Changes the friendly name of the custom key store to the value that you specify. The custom key store * name must be unique in the Amazon Web Services account.* Do not include confidential or sensitive information in this field. This field may be displayed in * plaintext in CloudTrail logs and other output. *
** To change this value, an CloudHSM key store must be disconnected. An external key store can be connected * or disconnected. */ public String getNewCustomKeyStoreName() { return this.newCustomKeyStoreName; } /** *
* Changes the friendly name of the custom key store to the value that you specify. The custom key store name must * be unique in the Amazon Web Services account. *
** Do not include confidential or sensitive information in this field. This field may be displayed in plaintext in * CloudTrail logs and other output. *
** To change this value, an CloudHSM key store must be disconnected. An external key store can be connected or * disconnected. *
* * @param newCustomKeyStoreName * Changes the friendly name of the custom key store to the value that you specify. The custom key store name * must be unique in the Amazon Web Services account.* Do not include confidential or sensitive information in this field. This field may be displayed in * plaintext in CloudTrail logs and other output. *
** To change this value, an CloudHSM key store must be disconnected. An external key store can be connected * or disconnected. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateCustomKeyStoreRequest withNewCustomKeyStoreName(String newCustomKeyStoreName) { setNewCustomKeyStoreName(newCustomKeyStoreName); return this; } /** *
* Enter the current password of the kmsuser
crypto user (CU) in the CloudHSM cluster that is
* associated with the custom key store. This parameter is valid only for custom key stores with a
* CustomKeyStoreType
of AWS_CLOUDHSM
.
*
* This parameter tells KMS the current password of the kmsuser
crypto user (CU). It does not set or
* change the password of any users in the CloudHSM cluster.
*
* To change this value, the CloudHSM key store must be disconnected. *
* * @param keyStorePassword * Enter the current password of thekmsuser
crypto user (CU) in the CloudHSM cluster that is
* associated with the custom key store. This parameter is valid only for custom key stores with a
* CustomKeyStoreType
of AWS_CLOUDHSM
.
*
* This parameter tells KMS the current password of the kmsuser
crypto user (CU). It does not
* set or change the password of any users in the CloudHSM cluster.
*
* To change this value, the CloudHSM key store must be disconnected. */ public void setKeyStorePassword(String keyStorePassword) { this.keyStorePassword = keyStorePassword; } /** *
* Enter the current password of the kmsuser
crypto user (CU) in the CloudHSM cluster that is
* associated with the custom key store. This parameter is valid only for custom key stores with a
* CustomKeyStoreType
of AWS_CLOUDHSM
.
*
* This parameter tells KMS the current password of the kmsuser
crypto user (CU). It does not set or
* change the password of any users in the CloudHSM cluster.
*
* To change this value, the CloudHSM key store must be disconnected. *
* * @return Enter the current password of thekmsuser
crypto user (CU) in the CloudHSM cluster that is
* associated with the custom key store. This parameter is valid only for custom key stores with a
* CustomKeyStoreType
of AWS_CLOUDHSM
.
*
* This parameter tells KMS the current password of the kmsuser
crypto user (CU). It does not
* set or change the password of any users in the CloudHSM cluster.
*
* To change this value, the CloudHSM key store must be disconnected. */ public String getKeyStorePassword() { return this.keyStorePassword; } /** *
* Enter the current password of the kmsuser
crypto user (CU) in the CloudHSM cluster that is
* associated with the custom key store. This parameter is valid only for custom key stores with a
* CustomKeyStoreType
of AWS_CLOUDHSM
.
*
* This parameter tells KMS the current password of the kmsuser
crypto user (CU). It does not set or
* change the password of any users in the CloudHSM cluster.
*
* To change this value, the CloudHSM key store must be disconnected. *
* * @param keyStorePassword * Enter the current password of thekmsuser
crypto user (CU) in the CloudHSM cluster that is
* associated with the custom key store. This parameter is valid only for custom key stores with a
* CustomKeyStoreType
of AWS_CLOUDHSM
.
*
* This parameter tells KMS the current password of the kmsuser
crypto user (CU). It does not
* set or change the password of any users in the CloudHSM cluster.
*
* To change this value, the CloudHSM key store must be disconnected. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateCustomKeyStoreRequest withKeyStorePassword(String keyStorePassword) { setKeyStorePassword(keyStorePassword); return this; } /** *
* Associates the custom key store with a related CloudHSM cluster. This parameter is valid only for custom key
* stores with a CustomKeyStoreType
of AWS_CLOUDHSM
.
*
* Enter the cluster ID of the cluster that you used to create the custom key store or a cluster that shares a * backup history and has the same cluster certificate as the original cluster. You cannot use this parameter to * associate a custom key store with an unrelated cluster. In addition, the replacement cluster must fulfill the * requirements for a cluster associated with a custom key store. To view the cluster certificate of a cluster, * use the DescribeClusters * operation. *
** To change this value, the CloudHSM key store must be disconnected. *
* * @param cloudHsmClusterId * Associates the custom key store with a related CloudHSM cluster. This parameter is valid only for custom * key stores with aCustomKeyStoreType
of AWS_CLOUDHSM
.
* * Enter the cluster ID of the cluster that you used to create the custom key store or a cluster that shares * a backup history and has the same cluster certificate as the original cluster. You cannot use this * parameter to associate a custom key store with an unrelated cluster. In addition, the replacement cluster * must * fulfill the requirements for a cluster associated with a custom key store. To view the cluster * certificate of a cluster, use the DescribeClusters operation. *
** To change this value, the CloudHSM key store must be disconnected. */ public void setCloudHsmClusterId(String cloudHsmClusterId) { this.cloudHsmClusterId = cloudHsmClusterId; } /** *
* Associates the custom key store with a related CloudHSM cluster. This parameter is valid only for custom key
* stores with a CustomKeyStoreType
of AWS_CLOUDHSM
.
*
* Enter the cluster ID of the cluster that you used to create the custom key store or a cluster that shares a * backup history and has the same cluster certificate as the original cluster. You cannot use this parameter to * associate a custom key store with an unrelated cluster. In addition, the replacement cluster must fulfill the * requirements for a cluster associated with a custom key store. To view the cluster certificate of a cluster, * use the DescribeClusters * operation. *
** To change this value, the CloudHSM key store must be disconnected. *
* * @return Associates the custom key store with a related CloudHSM cluster. This parameter is valid only for custom * key stores with aCustomKeyStoreType
of AWS_CLOUDHSM
.
* * Enter the cluster ID of the cluster that you used to create the custom key store or a cluster that shares * a backup history and has the same cluster certificate as the original cluster. You cannot use this * parameter to associate a custom key store with an unrelated cluster. In addition, the replacement cluster * must fulfill * the requirements for a cluster associated with a custom key store. To view the cluster certificate of * a cluster, use the DescribeClusters operation. *
** To change this value, the CloudHSM key store must be disconnected. */ public String getCloudHsmClusterId() { return this.cloudHsmClusterId; } /** *
* Associates the custom key store with a related CloudHSM cluster. This parameter is valid only for custom key
* stores with a CustomKeyStoreType
of AWS_CLOUDHSM
.
*
* Enter the cluster ID of the cluster that you used to create the custom key store or a cluster that shares a * backup history and has the same cluster certificate as the original cluster. You cannot use this parameter to * associate a custom key store with an unrelated cluster. In addition, the replacement cluster must fulfill the * requirements for a cluster associated with a custom key store. To view the cluster certificate of a cluster, * use the DescribeClusters * operation. *
** To change this value, the CloudHSM key store must be disconnected. *
* * @param cloudHsmClusterId * Associates the custom key store with a related CloudHSM cluster. This parameter is valid only for custom * key stores with aCustomKeyStoreType
of AWS_CLOUDHSM
.
* * Enter the cluster ID of the cluster that you used to create the custom key store or a cluster that shares * a backup history and has the same cluster certificate as the original cluster. You cannot use this * parameter to associate a custom key store with an unrelated cluster. In addition, the replacement cluster * must * fulfill the requirements for a cluster associated with a custom key store. To view the cluster * certificate of a cluster, use the DescribeClusters operation. *
** To change this value, the CloudHSM key store must be disconnected. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateCustomKeyStoreRequest withCloudHsmClusterId(String cloudHsmClusterId) { setCloudHsmClusterId(cloudHsmClusterId); return this; } /** *
* Changes the URI endpoint that KMS uses to connect to your external key store proxy (XKS proxy). This parameter is
* valid only for custom key stores with a CustomKeyStoreType
of EXTERNAL_KEY_STORE
.
*
* For external key stores with an XksProxyConnectivity
value of PUBLIC_ENDPOINT
, the
* protocol must be HTTPS.
*
* For external key stores with an XksProxyConnectivity
value of VPC_ENDPOINT_SERVICE
,
* specify https://
followed by the private DNS name associated with the VPC endpoint service. Each
* external key store must use a different private DNS name.
*
* The combined XksProxyUriEndpoint
and XksProxyUriPath
values must be unique in the
* Amazon Web Services account and Region.
*
* To change this value, the external key store must be disconnected. *
* * @param xksProxyUriEndpoint * Changes the URI endpoint that KMS uses to connect to your external key store proxy (XKS proxy). This * parameter is valid only for custom key stores with aCustomKeyStoreType
of
* EXTERNAL_KEY_STORE
.
*
* For external key stores with an XksProxyConnectivity
value of PUBLIC_ENDPOINT
,
* the protocol must be HTTPS.
*
* For external key stores with an XksProxyConnectivity
value of
* VPC_ENDPOINT_SERVICE
, specify https://
followed by the private DNS name
* associated with the VPC endpoint service. Each external key store must use a different private DNS name.
*
* The combined XksProxyUriEndpoint
and XksProxyUriPath
values must be unique in
* the Amazon Web Services account and Region.
*
* To change this value, the external key store must be disconnected. */ public void setXksProxyUriEndpoint(String xksProxyUriEndpoint) { this.xksProxyUriEndpoint = xksProxyUriEndpoint; } /** *
* Changes the URI endpoint that KMS uses to connect to your external key store proxy (XKS proxy). This parameter is
* valid only for custom key stores with a CustomKeyStoreType
of EXTERNAL_KEY_STORE
.
*
* For external key stores with an XksProxyConnectivity
value of PUBLIC_ENDPOINT
, the
* protocol must be HTTPS.
*
* For external key stores with an XksProxyConnectivity
value of VPC_ENDPOINT_SERVICE
,
* specify https://
followed by the private DNS name associated with the VPC endpoint service. Each
* external key store must use a different private DNS name.
*
* The combined XksProxyUriEndpoint
and XksProxyUriPath
values must be unique in the
* Amazon Web Services account and Region.
*
* To change this value, the external key store must be disconnected. *
* * @return Changes the URI endpoint that KMS uses to connect to your external key store proxy (XKS proxy). This * parameter is valid only for custom key stores with aCustomKeyStoreType
of
* EXTERNAL_KEY_STORE
.
*
* For external key stores with an XksProxyConnectivity
value of PUBLIC_ENDPOINT
,
* the protocol must be HTTPS.
*
* For external key stores with an XksProxyConnectivity
value of
* VPC_ENDPOINT_SERVICE
, specify https://
followed by the private DNS name
* associated with the VPC endpoint service. Each external key store must use a different private DNS name.
*
* The combined XksProxyUriEndpoint
and XksProxyUriPath
values must be unique in
* the Amazon Web Services account and Region.
*
* To change this value, the external key store must be disconnected. */ public String getXksProxyUriEndpoint() { return this.xksProxyUriEndpoint; } /** *
* Changes the URI endpoint that KMS uses to connect to your external key store proxy (XKS proxy). This parameter is
* valid only for custom key stores with a CustomKeyStoreType
of EXTERNAL_KEY_STORE
.
*
* For external key stores with an XksProxyConnectivity
value of PUBLIC_ENDPOINT
, the
* protocol must be HTTPS.
*
* For external key stores with an XksProxyConnectivity
value of VPC_ENDPOINT_SERVICE
,
* specify https://
followed by the private DNS name associated with the VPC endpoint service. Each
* external key store must use a different private DNS name.
*
* The combined XksProxyUriEndpoint
and XksProxyUriPath
values must be unique in the
* Amazon Web Services account and Region.
*
* To change this value, the external key store must be disconnected. *
* * @param xksProxyUriEndpoint * Changes the URI endpoint that KMS uses to connect to your external key store proxy (XKS proxy). This * parameter is valid only for custom key stores with aCustomKeyStoreType
of
* EXTERNAL_KEY_STORE
.
*
* For external key stores with an XksProxyConnectivity
value of PUBLIC_ENDPOINT
,
* the protocol must be HTTPS.
*
* For external key stores with an XksProxyConnectivity
value of
* VPC_ENDPOINT_SERVICE
, specify https://
followed by the private DNS name
* associated with the VPC endpoint service. Each external key store must use a different private DNS name.
*
* The combined XksProxyUriEndpoint
and XksProxyUriPath
values must be unique in
* the Amazon Web Services account and Region.
*
* To change this value, the external key store must be disconnected. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateCustomKeyStoreRequest withXksProxyUriEndpoint(String xksProxyUriEndpoint) { setXksProxyUriEndpoint(xksProxyUriEndpoint); return this; } /** *
* Changes the base path to the proxy APIs for this external key store. To find this value, see the documentation
* for your external key manager and external key store proxy (XKS proxy). This parameter is valid only for custom
* key stores with a CustomKeyStoreType
of EXTERNAL_KEY_STORE
.
*
* The value must start with /
and must end with /kms/xks/v1
, where v1
* represents the version of the KMS external key store proxy API. You can include an optional prefix between the
* required elements such as /example/kms/xks/v1
.
*
* The combined XksProxyUriEndpoint
and XksProxyUriPath
values must be unique in the
* Amazon Web Services account and Region.
*
* You can change this value when the external key store is connected or disconnected. *
* * @param xksProxyUriPath * Changes the base path to the proxy APIs for this external key store. To find this value, see the * documentation for your external key manager and external key store proxy (XKS proxy). This parameter is * valid only for custom key stores with aCustomKeyStoreType
of EXTERNAL_KEY_STORE
* .
*
* The value must start with /
and must end with /kms/xks/v1
, where v1
* represents the version of the KMS external key store proxy API. You can include an optional prefix between
* the required elements such as /example/kms/xks/v1
.
*
* The combined XksProxyUriEndpoint
and XksProxyUriPath
values must be unique in
* the Amazon Web Services account and Region.
*
* You can change this value when the external key store is connected or disconnected. */ public void setXksProxyUriPath(String xksProxyUriPath) { this.xksProxyUriPath = xksProxyUriPath; } /** *
* Changes the base path to the proxy APIs for this external key store. To find this value, see the documentation
* for your external key manager and external key store proxy (XKS proxy). This parameter is valid only for custom
* key stores with a CustomKeyStoreType
of EXTERNAL_KEY_STORE
.
*
* The value must start with /
and must end with /kms/xks/v1
, where v1
* represents the version of the KMS external key store proxy API. You can include an optional prefix between the
* required elements such as /example/kms/xks/v1
.
*
* The combined XksProxyUriEndpoint
and XksProxyUriPath
values must be unique in the
* Amazon Web Services account and Region.
*
* You can change this value when the external key store is connected or disconnected. *
* * @return Changes the base path to the proxy APIs for this external key store. To find this value, see the * documentation for your external key manager and external key store proxy (XKS proxy). This parameter is * valid only for custom key stores with aCustomKeyStoreType
of
* EXTERNAL_KEY_STORE
.
*
* The value must start with /
and must end with /kms/xks/v1
, where
* v1
represents the version of the KMS external key store proxy API. You can include an
* optional prefix between the required elements such as /example/kms/xks/v1
.
*
* The combined XksProxyUriEndpoint
and XksProxyUriPath
values must be unique in
* the Amazon Web Services account and Region.
*
* You can change this value when the external key store is connected or disconnected. */ public String getXksProxyUriPath() { return this.xksProxyUriPath; } /** *
* Changes the base path to the proxy APIs for this external key store. To find this value, see the documentation
* for your external key manager and external key store proxy (XKS proxy). This parameter is valid only for custom
* key stores with a CustomKeyStoreType
of EXTERNAL_KEY_STORE
.
*
* The value must start with /
and must end with /kms/xks/v1
, where v1
* represents the version of the KMS external key store proxy API. You can include an optional prefix between the
* required elements such as /example/kms/xks/v1
.
*
* The combined XksProxyUriEndpoint
and XksProxyUriPath
values must be unique in the
* Amazon Web Services account and Region.
*
* You can change this value when the external key store is connected or disconnected. *
* * @param xksProxyUriPath * Changes the base path to the proxy APIs for this external key store. To find this value, see the * documentation for your external key manager and external key store proxy (XKS proxy). This parameter is * valid only for custom key stores with aCustomKeyStoreType
of EXTERNAL_KEY_STORE
* .
*
* The value must start with /
and must end with /kms/xks/v1
, where v1
* represents the version of the KMS external key store proxy API. You can include an optional prefix between
* the required elements such as /example/kms/xks/v1
.
*
* The combined XksProxyUriEndpoint
and XksProxyUriPath
values must be unique in
* the Amazon Web Services account and Region.
*
* You can change this value when the external key store is connected or disconnected. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateCustomKeyStoreRequest withXksProxyUriPath(String xksProxyUriPath) { setXksProxyUriPath(xksProxyUriPath); return this; } /** *
* Changes the name that KMS uses to identify the Amazon VPC endpoint service for your external key store proxy (XKS
* proxy). This parameter is valid when the CustomKeyStoreType
is EXTERNAL_KEY_STORE
and
* the XksProxyConnectivity
is VPC_ENDPOINT_SERVICE
.
*
* To change this value, the external key store must be disconnected. *
* * @param xksProxyVpcEndpointServiceName * Changes the name that KMS uses to identify the Amazon VPC endpoint service for your external key store * proxy (XKS proxy). This parameter is valid when theCustomKeyStoreType
is
* EXTERNAL_KEY_STORE
and the XksProxyConnectivity
is
* VPC_ENDPOINT_SERVICE
.
* * To change this value, the external key store must be disconnected. */ public void setXksProxyVpcEndpointServiceName(String xksProxyVpcEndpointServiceName) { this.xksProxyVpcEndpointServiceName = xksProxyVpcEndpointServiceName; } /** *
* Changes the name that KMS uses to identify the Amazon VPC endpoint service for your external key store proxy (XKS
* proxy). This parameter is valid when the CustomKeyStoreType
is EXTERNAL_KEY_STORE
and
* the XksProxyConnectivity
is VPC_ENDPOINT_SERVICE
.
*
* To change this value, the external key store must be disconnected. *
* * @return Changes the name that KMS uses to identify the Amazon VPC endpoint service for your external key store * proxy (XKS proxy). This parameter is valid when theCustomKeyStoreType
is
* EXTERNAL_KEY_STORE
and the XksProxyConnectivity
is
* VPC_ENDPOINT_SERVICE
.
* * To change this value, the external key store must be disconnected. */ public String getXksProxyVpcEndpointServiceName() { return this.xksProxyVpcEndpointServiceName; } /** *
* Changes the name that KMS uses to identify the Amazon VPC endpoint service for your external key store proxy (XKS
* proxy). This parameter is valid when the CustomKeyStoreType
is EXTERNAL_KEY_STORE
and
* the XksProxyConnectivity
is VPC_ENDPOINT_SERVICE
.
*
* To change this value, the external key store must be disconnected. *
* * @param xksProxyVpcEndpointServiceName * Changes the name that KMS uses to identify the Amazon VPC endpoint service for your external key store * proxy (XKS proxy). This parameter is valid when theCustomKeyStoreType
is
* EXTERNAL_KEY_STORE
and the XksProxyConnectivity
is
* VPC_ENDPOINT_SERVICE
.
* * To change this value, the external key store must be disconnected. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateCustomKeyStoreRequest withXksProxyVpcEndpointServiceName(String xksProxyVpcEndpointServiceName) { setXksProxyVpcEndpointServiceName(xksProxyVpcEndpointServiceName); return this; } /** *
* Changes the credentials that KMS uses to sign requests to the external key store proxy (XKS proxy). This
* parameter is valid only for custom key stores with a CustomKeyStoreType
of
* EXTERNAL_KEY_STORE
.
*
* You must specify both the AccessKeyId
and SecretAccessKey
value in the authentication
* credential, even if you are only updating one value.
*
* This parameter doesn't establish or change your authentication credentials on the proxy. It just tells KMS the * credential that you established with your external key store proxy. For example, if you rotate the credential on * your external key store proxy, you can use this parameter to update the credential in KMS. *
** You can change this value when the external key store is connected or disconnected. *
* * @param xksProxyAuthenticationCredential * Changes the credentials that KMS uses to sign requests to the external key store proxy (XKS proxy). This * parameter is valid only for custom key stores with aCustomKeyStoreType
of
* EXTERNAL_KEY_STORE
.
*
* You must specify both the AccessKeyId
and SecretAccessKey
value in the
* authentication credential, even if you are only updating one value.
*
* This parameter doesn't establish or change your authentication credentials on the proxy. It just tells KMS * the credential that you established with your external key store proxy. For example, if you rotate the * credential on your external key store proxy, you can use this parameter to update the credential in KMS. *
** You can change this value when the external key store is connected or disconnected. */ public void setXksProxyAuthenticationCredential(XksProxyAuthenticationCredentialType xksProxyAuthenticationCredential) { this.xksProxyAuthenticationCredential = xksProxyAuthenticationCredential; } /** *
* Changes the credentials that KMS uses to sign requests to the external key store proxy (XKS proxy). This
* parameter is valid only for custom key stores with a CustomKeyStoreType
of
* EXTERNAL_KEY_STORE
.
*
* You must specify both the AccessKeyId
and SecretAccessKey
value in the authentication
* credential, even if you are only updating one value.
*
* This parameter doesn't establish or change your authentication credentials on the proxy. It just tells KMS the * credential that you established with your external key store proxy. For example, if you rotate the credential on * your external key store proxy, you can use this parameter to update the credential in KMS. *
** You can change this value when the external key store is connected or disconnected. *
* * @return Changes the credentials that KMS uses to sign requests to the external key store proxy (XKS proxy). This * parameter is valid only for custom key stores with aCustomKeyStoreType
of
* EXTERNAL_KEY_STORE
.
*
* You must specify both the AccessKeyId
and SecretAccessKey
value in the
* authentication credential, even if you are only updating one value.
*
* This parameter doesn't establish or change your authentication credentials on the proxy. It just tells * KMS the credential that you established with your external key store proxy. For example, if you rotate * the credential on your external key store proxy, you can use this parameter to update the credential in * KMS. *
** You can change this value when the external key store is connected or disconnected. */ public XksProxyAuthenticationCredentialType getXksProxyAuthenticationCredential() { return this.xksProxyAuthenticationCredential; } /** *
* Changes the credentials that KMS uses to sign requests to the external key store proxy (XKS proxy). This
* parameter is valid only for custom key stores with a CustomKeyStoreType
of
* EXTERNAL_KEY_STORE
.
*
* You must specify both the AccessKeyId
and SecretAccessKey
value in the authentication
* credential, even if you are only updating one value.
*
* This parameter doesn't establish or change your authentication credentials on the proxy. It just tells KMS the * credential that you established with your external key store proxy. For example, if you rotate the credential on * your external key store proxy, you can use this parameter to update the credential in KMS. *
** You can change this value when the external key store is connected or disconnected. *
* * @param xksProxyAuthenticationCredential * Changes the credentials that KMS uses to sign requests to the external key store proxy (XKS proxy). This * parameter is valid only for custom key stores with aCustomKeyStoreType
of
* EXTERNAL_KEY_STORE
.
*
* You must specify both the AccessKeyId
and SecretAccessKey
value in the
* authentication credential, even if you are only updating one value.
*
* This parameter doesn't establish or change your authentication credentials on the proxy. It just tells KMS * the credential that you established with your external key store proxy. For example, if you rotate the * credential on your external key store proxy, you can use this parameter to update the credential in KMS. *
** You can change this value when the external key store is connected or disconnected. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateCustomKeyStoreRequest withXksProxyAuthenticationCredential(XksProxyAuthenticationCredentialType xksProxyAuthenticationCredential) { setXksProxyAuthenticationCredential(xksProxyAuthenticationCredential); return this; } /** *
* Changes the connectivity setting for the external key store. To indicate that the external key store proxy uses a
* Amazon VPC endpoint service to communicate with KMS, specify VPC_ENDPOINT_SERVICE
. Otherwise,
* specify PUBLIC_ENDPOINT
.
*
* If you change the XksProxyConnectivity
to VPC_ENDPOINT_SERVICE
, you must also change
* the XksProxyUriEndpoint
and add an XksProxyVpcEndpointServiceName
value.
*
* If you change the XksProxyConnectivity
to PUBLIC_ENDPOINT
, you must also change the
* XksProxyUriEndpoint
and specify a null or empty string for the
* XksProxyVpcEndpointServiceName
value.
*
* To change this value, the external key store must be disconnected. *
* * @param xksProxyConnectivity * Changes the connectivity setting for the external key store. To indicate that the external key store proxy * uses a Amazon VPC endpoint service to communicate with KMS, specifyVPC_ENDPOINT_SERVICE
.
* Otherwise, specify PUBLIC_ENDPOINT
.
*
* If you change the XksProxyConnectivity
to VPC_ENDPOINT_SERVICE
, you must also
* change the XksProxyUriEndpoint
and add an XksProxyVpcEndpointServiceName
value.
*
* If you change the XksProxyConnectivity
to PUBLIC_ENDPOINT
, you must also change
* the XksProxyUriEndpoint
and specify a null or empty string for the
* XksProxyVpcEndpointServiceName
value.
*
* To change this value, the external key store must be disconnected. * @see XksProxyConnectivityType */ public void setXksProxyConnectivity(String xksProxyConnectivity) { this.xksProxyConnectivity = xksProxyConnectivity; } /** *
* Changes the connectivity setting for the external key store. To indicate that the external key store proxy uses a
* Amazon VPC endpoint service to communicate with KMS, specify VPC_ENDPOINT_SERVICE
. Otherwise,
* specify PUBLIC_ENDPOINT
.
*
* If you change the XksProxyConnectivity
to VPC_ENDPOINT_SERVICE
, you must also change
* the XksProxyUriEndpoint
and add an XksProxyVpcEndpointServiceName
value.
*
* If you change the XksProxyConnectivity
to PUBLIC_ENDPOINT
, you must also change the
* XksProxyUriEndpoint
and specify a null or empty string for the
* XksProxyVpcEndpointServiceName
value.
*
* To change this value, the external key store must be disconnected. *
* * @return Changes the connectivity setting for the external key store. To indicate that the external key store * proxy uses a Amazon VPC endpoint service to communicate with KMS, specify *VPC_ENDPOINT_SERVICE
. Otherwise, specify PUBLIC_ENDPOINT
.
*
* If you change the XksProxyConnectivity
to VPC_ENDPOINT_SERVICE
, you must also
* change the XksProxyUriEndpoint
and add an XksProxyVpcEndpointServiceName
value.
*
* If you change the XksProxyConnectivity
to PUBLIC_ENDPOINT
, you must also change
* the XksProxyUriEndpoint
and specify a null or empty string for the
* XksProxyVpcEndpointServiceName
value.
*
* To change this value, the external key store must be disconnected. * @see XksProxyConnectivityType */ public String getXksProxyConnectivity() { return this.xksProxyConnectivity; } /** *
* Changes the connectivity setting for the external key store. To indicate that the external key store proxy uses a
* Amazon VPC endpoint service to communicate with KMS, specify VPC_ENDPOINT_SERVICE
. Otherwise,
* specify PUBLIC_ENDPOINT
.
*
* If you change the XksProxyConnectivity
to VPC_ENDPOINT_SERVICE
, you must also change
* the XksProxyUriEndpoint
and add an XksProxyVpcEndpointServiceName
value.
*
* If you change the XksProxyConnectivity
to PUBLIC_ENDPOINT
, you must also change the
* XksProxyUriEndpoint
and specify a null or empty string for the
* XksProxyVpcEndpointServiceName
value.
*
* To change this value, the external key store must be disconnected. *
* * @param xksProxyConnectivity * Changes the connectivity setting for the external key store. To indicate that the external key store proxy * uses a Amazon VPC endpoint service to communicate with KMS, specifyVPC_ENDPOINT_SERVICE
.
* Otherwise, specify PUBLIC_ENDPOINT
.
*
* If you change the XksProxyConnectivity
to VPC_ENDPOINT_SERVICE
, you must also
* change the XksProxyUriEndpoint
and add an XksProxyVpcEndpointServiceName
value.
*
* If you change the XksProxyConnectivity
to PUBLIC_ENDPOINT
, you must also change
* the XksProxyUriEndpoint
and specify a null or empty string for the
* XksProxyVpcEndpointServiceName
value.
*
* To change this value, the external key store must be disconnected. * @return Returns a reference to this object so that method calls can be chained together. * @see XksProxyConnectivityType */ public UpdateCustomKeyStoreRequest withXksProxyConnectivity(String xksProxyConnectivity) { setXksProxyConnectivity(xksProxyConnectivity); return this; } /** *
* Changes the connectivity setting for the external key store. To indicate that the external key store proxy uses a
* Amazon VPC endpoint service to communicate with KMS, specify VPC_ENDPOINT_SERVICE
. Otherwise,
* specify PUBLIC_ENDPOINT
.
*
* If you change the XksProxyConnectivity
to VPC_ENDPOINT_SERVICE
, you must also change
* the XksProxyUriEndpoint
and add an XksProxyVpcEndpointServiceName
value.
*
* If you change the XksProxyConnectivity
to PUBLIC_ENDPOINT
, you must also change the
* XksProxyUriEndpoint
and specify a null or empty string for the
* XksProxyVpcEndpointServiceName
value.
*
* To change this value, the external key store must be disconnected. *
* * @param xksProxyConnectivity * Changes the connectivity setting for the external key store. To indicate that the external key store proxy * uses a Amazon VPC endpoint service to communicate with KMS, specifyVPC_ENDPOINT_SERVICE
.
* Otherwise, specify PUBLIC_ENDPOINT
.
*
* If you change the XksProxyConnectivity
to VPC_ENDPOINT_SERVICE
, you must also
* change the XksProxyUriEndpoint
and add an XksProxyVpcEndpointServiceName
value.
*
* If you change the XksProxyConnectivity
to PUBLIC_ENDPOINT
, you must also change
* the XksProxyUriEndpoint
and specify a null or empty string for the
* XksProxyVpcEndpointServiceName
value.
*
* To change this value, the external key store must be disconnected. * @return Returns a reference to this object so that method calls can be chained together. * @see XksProxyConnectivityType */ public UpdateCustomKeyStoreRequest withXksProxyConnectivity(XksProxyConnectivityType xksProxyConnectivity) { this.xksProxyConnectivity = xksProxyConnectivity.toString(); return this; } /** * Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be * redacted from this string using a placeholder value. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getCustomKeyStoreId() != null) sb.append("CustomKeyStoreId: ").append(getCustomKeyStoreId()).append(","); if (getNewCustomKeyStoreName() != null) sb.append("NewCustomKeyStoreName: ").append(getNewCustomKeyStoreName()).append(","); if (getKeyStorePassword() != null) sb.append("KeyStorePassword: ").append("***Sensitive Data Redacted***").append(","); if (getCloudHsmClusterId() != null) sb.append("CloudHsmClusterId: ").append(getCloudHsmClusterId()).append(","); if (getXksProxyUriEndpoint() != null) sb.append("XksProxyUriEndpoint: ").append(getXksProxyUriEndpoint()).append(","); if (getXksProxyUriPath() != null) sb.append("XksProxyUriPath: ").append(getXksProxyUriPath()).append(","); if (getXksProxyVpcEndpointServiceName() != null) sb.append("XksProxyVpcEndpointServiceName: ").append(getXksProxyVpcEndpointServiceName()).append(","); if (getXksProxyAuthenticationCredential() != null) sb.append("XksProxyAuthenticationCredential: ").append(getXksProxyAuthenticationCredential()).append(","); if (getXksProxyConnectivity() != null) sb.append("XksProxyConnectivity: ").append(getXksProxyConnectivity()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof UpdateCustomKeyStoreRequest == false) return false; UpdateCustomKeyStoreRequest other = (UpdateCustomKeyStoreRequest) obj; if (other.getCustomKeyStoreId() == null ^ this.getCustomKeyStoreId() == null) return false; if (other.getCustomKeyStoreId() != null && other.getCustomKeyStoreId().equals(this.getCustomKeyStoreId()) == false) return false; if (other.getNewCustomKeyStoreName() == null ^ this.getNewCustomKeyStoreName() == null) return false; if (other.getNewCustomKeyStoreName() != null && other.getNewCustomKeyStoreName().equals(this.getNewCustomKeyStoreName()) == false) return false; if (other.getKeyStorePassword() == null ^ this.getKeyStorePassword() == null) return false; if (other.getKeyStorePassword() != null && other.getKeyStorePassword().equals(this.getKeyStorePassword()) == false) return false; if (other.getCloudHsmClusterId() == null ^ this.getCloudHsmClusterId() == null) return false; if (other.getCloudHsmClusterId() != null && other.getCloudHsmClusterId().equals(this.getCloudHsmClusterId()) == false) return false; if (other.getXksProxyUriEndpoint() == null ^ this.getXksProxyUriEndpoint() == null) return false; if (other.getXksProxyUriEndpoint() != null && other.getXksProxyUriEndpoint().equals(this.getXksProxyUriEndpoint()) == false) return false; if (other.getXksProxyUriPath() == null ^ this.getXksProxyUriPath() == null) return false; if (other.getXksProxyUriPath() != null && other.getXksProxyUriPath().equals(this.getXksProxyUriPath()) == false) return false; if (other.getXksProxyVpcEndpointServiceName() == null ^ this.getXksProxyVpcEndpointServiceName() == null) return false; if (other.getXksProxyVpcEndpointServiceName() != null && other.getXksProxyVpcEndpointServiceName().equals(this.getXksProxyVpcEndpointServiceName()) == false) return false; if (other.getXksProxyAuthenticationCredential() == null ^ this.getXksProxyAuthenticationCredential() == null) return false; if (other.getXksProxyAuthenticationCredential() != null && other.getXksProxyAuthenticationCredential().equals(this.getXksProxyAuthenticationCredential()) == false) return false; if (other.getXksProxyConnectivity() == null ^ this.getXksProxyConnectivity() == null) return false; if (other.getXksProxyConnectivity() != null && other.getXksProxyConnectivity().equals(this.getXksProxyConnectivity()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getCustomKeyStoreId() == null) ? 0 : getCustomKeyStoreId().hashCode()); hashCode = prime * hashCode + ((getNewCustomKeyStoreName() == null) ? 0 : getNewCustomKeyStoreName().hashCode()); hashCode = prime * hashCode + ((getKeyStorePassword() == null) ? 0 : getKeyStorePassword().hashCode()); hashCode = prime * hashCode + ((getCloudHsmClusterId() == null) ? 0 : getCloudHsmClusterId().hashCode()); hashCode = prime * hashCode + ((getXksProxyUriEndpoint() == null) ? 0 : getXksProxyUriEndpoint().hashCode()); hashCode = prime * hashCode + ((getXksProxyUriPath() == null) ? 0 : getXksProxyUriPath().hashCode()); hashCode = prime * hashCode + ((getXksProxyVpcEndpointServiceName() == null) ? 0 : getXksProxyVpcEndpointServiceName().hashCode()); hashCode = prime * hashCode + ((getXksProxyAuthenticationCredential() == null) ? 0 : getXksProxyAuthenticationCredential().hashCode()); hashCode = prime * hashCode + ((getXksProxyConnectivity() == null) ? 0 : getXksProxyConnectivity().hashCode()); return hashCode; } @Override public UpdateCustomKeyStoreRequest clone() { return (UpdateCustomKeyStoreRequest) super.clone(); } }