/* * Copyright 2010-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 com.amazonaws.AmazonWebServiceRequest; /** *

* Changes the properties of a custom key store. You can use this operation to * change the properties of an CloudHSM key store or an external key store. *

*

* Use the required CustomKeyStoreId parameter to identify the * custom key store. Use the remaining optional parameters to change its * properties. This operation does not return any property values. To verify the * updated property values, use the DescribeCustomKeyStores operation. *

*

* This operation is part of the custom key stores feature in KMS, which combines the convenience and * extensive integration of KMS with the isolation and control of a key store * that you own and manage. *

* *

* When updating the properties of an external key store, verify that the * updated settings connect your key store, via the external key store proxy, to * the same external key manager as the previous settings, or to a backup or * snapshot of the external key manager with the same cryptographic keys. If the * updated connection settings fail, you can fix them and retry, although an * extended delay might disrupt Amazon Web Services services. However, if KMS * permanently loses its access to cryptographic keys, ciphertext encrypted * under those keys is unrecoverable. *

*
*

* For external key stores: *

*

* Some external key managers provide a simpler method for updating an external * key store. For details, see your external key manager documentation. *

*

* When updating an external key store in the KMS console, you can upload a * JSON-based proxy configuration file with the desired values. You cannot * upload the proxy configuration file to the UpdateCustomKeyStore * operation. However, you can use the file to help you determine the correct * values for the UpdateCustomKeyStore parameters. *

*
*

* For an CloudHSM key store, you can use this operation to change the custom * key store friendly name (NewCustomKeyStoreName), to tell KMS * about a change to the kmsuser crypto user password ( * KeyStorePassword), or to associate the custom key store with a * different, but related, CloudHSM cluster (CloudHsmClusterId). To * update any property of an CloudHSM key store, the * ConnectionState of the CloudHSM key store must be * DISCONNECTED. *

*

* For an external key store, you can use this operation to change the custom * key store friendly name (NewCustomKeyStoreName), or to tell KMS * about a change to the external key store proxy authentication credentials ( * XksProxyAuthenticationCredential), connection method ( * XksProxyConnectivity), external proxy endpoint ( * XksProxyUriEndpoint) and path (XksProxyUriPath). * For external key stores with an XksProxyConnectivity of * VPC_ENDPOINT_SERVICE, you can also update the Amazon VPC * endpoint service name (XksProxyVpcEndpointServiceName). To * update most properties of an external key store, the * ConnectionState of the external key store must be * DISCONNECTED. However, you can update the * CustomKeyStoreName, * XksProxyAuthenticationCredential, and * XksProxyUriPath of an external key store when it is in the * CONNECTED or DISCONNECTED state. *

*

* If your update requires a DISCONNECTED state, before using * UpdateCustomKeyStore, use the DisconnectCustomKeyStore * operation to disconnect the custom key store. After the * UpdateCustomKeyStore operation completes, use the * ConnectCustomKeyStore to reconnect the custom key store. To find the * ConnectionState of the custom key store, use the * DescribeCustomKeyStores operation. *

*

*

*

* Before updating the custom key store, verify that the new values allow KMS to * connect the custom key store to its backing key store. For example, before * you change the XksProxyUriPath value, verify that the external * key store proxy is reachable at the new path. *

*

* If the operation succeeds, it returns a JSON object with no properties. *

*

* Cross-account use: No. You cannot perform this operation on a custom * key store in a different Amazon Web Services account. *

*

* Required permissions: kms:UpdateCustomKeyStore (IAM policy) *

*

* Related operations: *

* */ public class UpdateCustomKeyStoreRequest extends AmazonWebServiceRequest implements Serializable { /** *

* 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. *

*

* Constraints:
* Length: 1 - 64
*/ 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. *

*

* Constraints:
* Length: 1 - 256
*/ 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. *

*

* Constraints:
* Length: 7 - 32
*/ 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. *

*

* Constraints:
* Length: 19 - 24
* Pattern: cluster-[2-7a-zA-Z]{11,16}
*/ 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. *

*

* Constraints:
* Length: 10 - 128
* Pattern: ^https://[a-zA-Z0-9.-]+$
*/ 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. *

*

* Constraints:
* Length: 10 - 128
* Pattern: * ^(/[a-zA-Z0-9\/_-]+/kms/xks/v\d{1,2})$|^(/kms/xks/v\d{1,2})$
*/ 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. *

*

* Constraints:
* Length: 20 - 64
* Pattern: * ^com\.amazonaws\.vpce\.([a-z]+-){2,3}\d+\.vpce-svc-[0-9a-z]+$
*/ 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. *

*

* Constraints:
* Allowed Values: PUBLIC_ENDPOINT, VPC_ENDPOINT_SERVICE */ 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. *

*

* Constraints:
* Length: 1 - 64
* * @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 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. *

*

* Constraints:
* Length: 1 - 64
* * @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. *

*

* Returns a reference to this object so that method calls can be chained * together. *

* Constraints:
* Length: 1 - 64
* * @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 A reference to this updated object so that method calls can be * chained together. */ public UpdateCustomKeyStoreRequest withCustomKeyStoreId(String customKeyStoreId) { this.customKeyStoreId = 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. *

*

* Constraints:
* Length: 1 - 256
* * @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 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. *

*

* Constraints:
* Length: 1 - 256
* * @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. *

*

* Returns a reference to this object so that method calls can be chained * together. *

* Constraints:
* Length: 1 - 256
* * @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 A reference to this updated object so that method calls can be * chained together. */ public UpdateCustomKeyStoreRequest withNewCustomKeyStoreName(String newCustomKeyStoreName) { this.newCustomKeyStoreName = 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. *

*

* Constraints:
* Length: 7 - 32
* * @return

* 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. *

*/ public String getKeyStorePassword() { return 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. *

*

* Constraints:
* Length: 7 - 32
* * @param 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. *

*/ 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. *

*

* Returns a reference to this object so that method calls can be chained * together. *

* Constraints:
* Length: 7 - 32
* * @param 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 A reference to this updated object so that method calls can be * chained together. */ public UpdateCustomKeyStoreRequest withKeyStorePassword(String keyStorePassword) { this.keyStorePassword = 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. *

*

* Constraints:
* Length: 19 - 24
* Pattern: cluster-[2-7a-zA-Z]{11,16}
* * @return

* 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. *

*/ public String getCloudHsmClusterId() { return 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. *

*

* Constraints:
* Length: 19 - 24
* Pattern: cluster-[2-7a-zA-Z]{11,16}
* * @param 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. *

*/ 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. *

*

* Returns a reference to this object so that method calls can be chained * together. *

* Constraints:
* Length: 19 - 24
* Pattern: cluster-[2-7a-zA-Z]{11,16}
* * @param 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 A reference to this updated object so that method calls can be * chained together. */ public UpdateCustomKeyStoreRequest withCloudHsmClusterId(String cloudHsmClusterId) { this.cloudHsmClusterId = 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. *

*

* Constraints:
* Length: 10 - 128
* Pattern: ^https://[a-zA-Z0-9.-]+$
* * @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 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. *

*/ public String getXksProxyUriEndpoint() { return 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. *

*

* Constraints:
* Length: 10 - 128
* Pattern: ^https://[a-zA-Z0-9.-]+$
* * @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 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. *

*/ 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. *

*

* Returns a reference to this object so that method calls can be chained * together. *

* Constraints:
* Length: 10 - 128
* Pattern: ^https://[a-zA-Z0-9.-]+$
* * @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 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 A reference to this updated object so that method calls can be * chained together. */ public UpdateCustomKeyStoreRequest withXksProxyUriEndpoint(String xksProxyUriEndpoint) { this.xksProxyUriEndpoint = 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. *

*

* Constraints:
* Length: 10 - 128
* Pattern: * ^(/[a-zA-Z0-9\/_-]+/kms/xks/v\d{1,2})$|^(/kms/xks/v\d{1,2})$
* * @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 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. *

*/ public String getXksProxyUriPath() { return 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. *

*

* Constraints:
* Length: 10 - 128
* Pattern: * ^(/[a-zA-Z0-9\/_-]+/kms/xks/v\d{1,2})$|^(/kms/xks/v\d{1,2})$
* * @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 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. *

*/ 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. *

*

* Returns a reference to this object so that method calls can be chained * together. *

* Constraints:
* Length: 10 - 128
* Pattern: * ^(/[a-zA-Z0-9\/_-]+/kms/xks/v\d{1,2})$|^(/kms/xks/v\d{1,2})$
* * @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 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 A reference to this updated object so that method calls can be * chained together. */ public UpdateCustomKeyStoreRequest withXksProxyUriPath(String xksProxyUriPath) { this.xksProxyUriPath = 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. *

*

* Constraints:
* Length: 20 - 64
* Pattern: * ^com\.amazonaws\.vpce\.([a-z]+-){2,3}\d+\.vpce-svc-[0-9a-z]+$
* * @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 the CustomKeyStoreType * 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 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. *

*

* Constraints:
* Length: 20 - 64
* Pattern: * ^com\.amazonaws\.vpce\.([a-z]+-){2,3}\d+\.vpce-svc-[0-9a-z]+$
* * @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 the * CustomKeyStoreType 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. *

*

* Returns a reference to this object so that method calls can be chained * together. *

* Constraints:
* Length: 20 - 64
* Pattern: * ^com\.amazonaws\.vpce\.([a-z]+-){2,3}\d+\.vpce-svc-[0-9a-z]+$
* * @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 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 A reference to this updated object so that method calls can be * chained together. */ public UpdateCustomKeyStoreRequest withXksProxyVpcEndpointServiceName( String xksProxyVpcEndpointServiceName) { this.xksProxyVpcEndpointServiceName = 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. *

* * @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 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. *

*/ public XksProxyAuthenticationCredentialType getXksProxyAuthenticationCredential() { return 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 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. *

*/ 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. *

*

* Returns a reference to this object so that method calls can be chained * together. * * @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 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 A reference to this updated object so that method calls can be * chained together. */ public UpdateCustomKeyStoreRequest withXksProxyAuthenticationCredential( XksProxyAuthenticationCredentialType xksProxyAuthenticationCredential) { this.xksProxyAuthenticationCredential = 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. *

*

* Constraints:
* Allowed Values: PUBLIC_ENDPOINT, VPC_ENDPOINT_SERVICE * * @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 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. *

*

* Constraints:
* Allowed Values: PUBLIC_ENDPOINT, VPC_ENDPOINT_SERVICE * * @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, 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 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. *

*

* Returns a reference to this object so that method calls can be chained * together. *

* Constraints:
* Allowed Values: PUBLIC_ENDPOINT, VPC_ENDPOINT_SERVICE * * @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, 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 A reference to this updated object so that method calls can be * chained together. * @see XksProxyConnectivityType */ public UpdateCustomKeyStoreRequest withXksProxyConnectivity(String xksProxyConnectivity) { this.xksProxyConnectivity = 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. *

*

* Constraints:
* Allowed Values: PUBLIC_ENDPOINT, VPC_ENDPOINT_SERVICE * * @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, 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 void setXksProxyConnectivity(XksProxyConnectivityType xksProxyConnectivity) { this.xksProxyConnectivity = xksProxyConnectivity.toString(); } /** *

* 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. *

*

* Returns a reference to this object so that method calls can be chained * together. *

* Constraints:
* Allowed Values: PUBLIC_ENDPOINT, VPC_ENDPOINT_SERVICE * * @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, 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 A reference to this updated 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; useful for testing and * debugging. * * @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: " + getCustomKeyStoreId() + ","); if (getNewCustomKeyStoreName() != null) sb.append("NewCustomKeyStoreName: " + getNewCustomKeyStoreName() + ","); if (getKeyStorePassword() != null) sb.append("KeyStorePassword: " + getKeyStorePassword() + ","); if (getCloudHsmClusterId() != null) sb.append("CloudHsmClusterId: " + getCloudHsmClusterId() + ","); if (getXksProxyUriEndpoint() != null) sb.append("XksProxyUriEndpoint: " + getXksProxyUriEndpoint() + ","); if (getXksProxyUriPath() != null) sb.append("XksProxyUriPath: " + getXksProxyUriPath() + ","); if (getXksProxyVpcEndpointServiceName() != null) sb.append("XksProxyVpcEndpointServiceName: " + getXksProxyVpcEndpointServiceName() + ","); if (getXksProxyAuthenticationCredential() != null) sb.append("XksProxyAuthenticationCredential: " + getXksProxyAuthenticationCredential() + ","); if (getXksProxyConnectivity() != null) sb.append("XksProxyConnectivity: " + getXksProxyConnectivity()); sb.append("}"); return sb.toString(); } @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 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; } }