/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Contains information about an AWS CloudHSM cluster.See Also:
* AWS
* API Reference
The cluster's backup policy.
*/ inline const BackupPolicy& GetBackupPolicy() const{ return m_backupPolicy; } /** *The cluster's backup policy.
*/ inline bool BackupPolicyHasBeenSet() const { return m_backupPolicyHasBeenSet; } /** *The cluster's backup policy.
*/ inline void SetBackupPolicy(const BackupPolicy& value) { m_backupPolicyHasBeenSet = true; m_backupPolicy = value; } /** *The cluster's backup policy.
*/ inline void SetBackupPolicy(BackupPolicy&& value) { m_backupPolicyHasBeenSet = true; m_backupPolicy = std::move(value); } /** *The cluster's backup policy.
*/ inline Cluster& WithBackupPolicy(const BackupPolicy& value) { SetBackupPolicy(value); return *this;} /** *The cluster's backup policy.
*/ inline Cluster& WithBackupPolicy(BackupPolicy&& value) { SetBackupPolicy(std::move(value)); return *this;} /** *A policy that defines how the service retains backups.
*/ inline const BackupRetentionPolicy& GetBackupRetentionPolicy() const{ return m_backupRetentionPolicy; } /** *A policy that defines how the service retains backups.
*/ inline bool BackupRetentionPolicyHasBeenSet() const { return m_backupRetentionPolicyHasBeenSet; } /** *A policy that defines how the service retains backups.
*/ inline void SetBackupRetentionPolicy(const BackupRetentionPolicy& value) { m_backupRetentionPolicyHasBeenSet = true; m_backupRetentionPolicy = value; } /** *A policy that defines how the service retains backups.
*/ inline void SetBackupRetentionPolicy(BackupRetentionPolicy&& value) { m_backupRetentionPolicyHasBeenSet = true; m_backupRetentionPolicy = std::move(value); } /** *A policy that defines how the service retains backups.
*/ inline Cluster& WithBackupRetentionPolicy(const BackupRetentionPolicy& value) { SetBackupRetentionPolicy(value); return *this;} /** *A policy that defines how the service retains backups.
*/ inline Cluster& WithBackupRetentionPolicy(BackupRetentionPolicy&& value) { SetBackupRetentionPolicy(std::move(value)); return *this;} /** *The cluster's identifier (ID).
*/ inline const Aws::String& GetClusterId() const{ return m_clusterId; } /** *The cluster's identifier (ID).
*/ inline bool ClusterIdHasBeenSet() const { return m_clusterIdHasBeenSet; } /** *The cluster's identifier (ID).
*/ inline void SetClusterId(const Aws::String& value) { m_clusterIdHasBeenSet = true; m_clusterId = value; } /** *The cluster's identifier (ID).
*/ inline void SetClusterId(Aws::String&& value) { m_clusterIdHasBeenSet = true; m_clusterId = std::move(value); } /** *The cluster's identifier (ID).
*/ inline void SetClusterId(const char* value) { m_clusterIdHasBeenSet = true; m_clusterId.assign(value); } /** *The cluster's identifier (ID).
*/ inline Cluster& WithClusterId(const Aws::String& value) { SetClusterId(value); return *this;} /** *The cluster's identifier (ID).
*/ inline Cluster& WithClusterId(Aws::String&& value) { SetClusterId(std::move(value)); return *this;} /** *The cluster's identifier (ID).
*/ inline Cluster& WithClusterId(const char* value) { SetClusterId(value); return *this;} /** *The date and time when the cluster was created.
*/ inline const Aws::Utils::DateTime& GetCreateTimestamp() const{ return m_createTimestamp; } /** *The date and time when the cluster was created.
*/ inline bool CreateTimestampHasBeenSet() const { return m_createTimestampHasBeenSet; } /** *The date and time when the cluster was created.
*/ inline void SetCreateTimestamp(const Aws::Utils::DateTime& value) { m_createTimestampHasBeenSet = true; m_createTimestamp = value; } /** *The date and time when the cluster was created.
*/ inline void SetCreateTimestamp(Aws::Utils::DateTime&& value) { m_createTimestampHasBeenSet = true; m_createTimestamp = std::move(value); } /** *The date and time when the cluster was created.
*/ inline Cluster& WithCreateTimestamp(const Aws::Utils::DateTime& value) { SetCreateTimestamp(value); return *this;} /** *The date and time when the cluster was created.
*/ inline Cluster& WithCreateTimestamp(Aws::Utils::DateTime&& value) { SetCreateTimestamp(std::move(value)); return *this;} /** *Contains information about the HSMs in the cluster.
*/ inline const Aws::VectorContains information about the HSMs in the cluster.
*/ inline bool HsmsHasBeenSet() const { return m_hsmsHasBeenSet; } /** *Contains information about the HSMs in the cluster.
*/ inline void SetHsms(const Aws::VectorContains information about the HSMs in the cluster.
*/ inline void SetHsms(Aws::VectorContains information about the HSMs in the cluster.
*/ inline Cluster& WithHsms(const Aws::VectorContains information about the HSMs in the cluster.
*/ inline Cluster& WithHsms(Aws::VectorContains information about the HSMs in the cluster.
*/ inline Cluster& AddHsms(const Hsm& value) { m_hsmsHasBeenSet = true; m_hsms.push_back(value); return *this; } /** *Contains information about the HSMs in the cluster.
*/ inline Cluster& AddHsms(Hsm&& value) { m_hsmsHasBeenSet = true; m_hsms.push_back(std::move(value)); return *this; } /** *The type of HSM that the cluster contains.
*/ inline const Aws::String& GetHsmType() const{ return m_hsmType; } /** *The type of HSM that the cluster contains.
*/ inline bool HsmTypeHasBeenSet() const { return m_hsmTypeHasBeenSet; } /** *The type of HSM that the cluster contains.
*/ inline void SetHsmType(const Aws::String& value) { m_hsmTypeHasBeenSet = true; m_hsmType = value; } /** *The type of HSM that the cluster contains.
*/ inline void SetHsmType(Aws::String&& value) { m_hsmTypeHasBeenSet = true; m_hsmType = std::move(value); } /** *The type of HSM that the cluster contains.
*/ inline void SetHsmType(const char* value) { m_hsmTypeHasBeenSet = true; m_hsmType.assign(value); } /** *The type of HSM that the cluster contains.
*/ inline Cluster& WithHsmType(const Aws::String& value) { SetHsmType(value); return *this;} /** *The type of HSM that the cluster contains.
*/ inline Cluster& WithHsmType(Aws::String&& value) { SetHsmType(std::move(value)); return *this;} /** *The type of HSM that the cluster contains.
*/ inline Cluster& WithHsmType(const char* value) { SetHsmType(value); return *this;} /** *The default password for the cluster's Pre-Crypto Officer (PRECO) user.
*/ inline const Aws::String& GetPreCoPassword() const{ return m_preCoPassword; } /** *The default password for the cluster's Pre-Crypto Officer (PRECO) user.
*/ inline bool PreCoPasswordHasBeenSet() const { return m_preCoPasswordHasBeenSet; } /** *The default password for the cluster's Pre-Crypto Officer (PRECO) user.
*/ inline void SetPreCoPassword(const Aws::String& value) { m_preCoPasswordHasBeenSet = true; m_preCoPassword = value; } /** *The default password for the cluster's Pre-Crypto Officer (PRECO) user.
*/ inline void SetPreCoPassword(Aws::String&& value) { m_preCoPasswordHasBeenSet = true; m_preCoPassword = std::move(value); } /** *The default password for the cluster's Pre-Crypto Officer (PRECO) user.
*/ inline void SetPreCoPassword(const char* value) { m_preCoPasswordHasBeenSet = true; m_preCoPassword.assign(value); } /** *The default password for the cluster's Pre-Crypto Officer (PRECO) user.
*/ inline Cluster& WithPreCoPassword(const Aws::String& value) { SetPreCoPassword(value); return *this;} /** *The default password for the cluster's Pre-Crypto Officer (PRECO) user.
*/ inline Cluster& WithPreCoPassword(Aws::String&& value) { SetPreCoPassword(std::move(value)); return *this;} /** *The default password for the cluster's Pre-Crypto Officer (PRECO) user.
*/ inline Cluster& WithPreCoPassword(const char* value) { SetPreCoPassword(value); return *this;} /** *The identifier (ID) of the cluster's security group.
*/ inline const Aws::String& GetSecurityGroup() const{ return m_securityGroup; } /** *The identifier (ID) of the cluster's security group.
*/ inline bool SecurityGroupHasBeenSet() const { return m_securityGroupHasBeenSet; } /** *The identifier (ID) of the cluster's security group.
*/ inline void SetSecurityGroup(const Aws::String& value) { m_securityGroupHasBeenSet = true; m_securityGroup = value; } /** *The identifier (ID) of the cluster's security group.
*/ inline void SetSecurityGroup(Aws::String&& value) { m_securityGroupHasBeenSet = true; m_securityGroup = std::move(value); } /** *The identifier (ID) of the cluster's security group.
*/ inline void SetSecurityGroup(const char* value) { m_securityGroupHasBeenSet = true; m_securityGroup.assign(value); } /** *The identifier (ID) of the cluster's security group.
*/ inline Cluster& WithSecurityGroup(const Aws::String& value) { SetSecurityGroup(value); return *this;} /** *The identifier (ID) of the cluster's security group.
*/ inline Cluster& WithSecurityGroup(Aws::String&& value) { SetSecurityGroup(std::move(value)); return *this;} /** *The identifier (ID) of the cluster's security group.
*/ inline Cluster& WithSecurityGroup(const char* value) { SetSecurityGroup(value); return *this;} /** *The identifier (ID) of the backup used to create the cluster. This value * exists only when the cluster was created from a backup.
*/ inline const Aws::String& GetSourceBackupId() const{ return m_sourceBackupId; } /** *The identifier (ID) of the backup used to create the cluster. This value * exists only when the cluster was created from a backup.
*/ inline bool SourceBackupIdHasBeenSet() const { return m_sourceBackupIdHasBeenSet; } /** *The identifier (ID) of the backup used to create the cluster. This value * exists only when the cluster was created from a backup.
*/ inline void SetSourceBackupId(const Aws::String& value) { m_sourceBackupIdHasBeenSet = true; m_sourceBackupId = value; } /** *The identifier (ID) of the backup used to create the cluster. This value * exists only when the cluster was created from a backup.
*/ inline void SetSourceBackupId(Aws::String&& value) { m_sourceBackupIdHasBeenSet = true; m_sourceBackupId = std::move(value); } /** *The identifier (ID) of the backup used to create the cluster. This value * exists only when the cluster was created from a backup.
*/ inline void SetSourceBackupId(const char* value) { m_sourceBackupIdHasBeenSet = true; m_sourceBackupId.assign(value); } /** *The identifier (ID) of the backup used to create the cluster. This value * exists only when the cluster was created from a backup.
*/ inline Cluster& WithSourceBackupId(const Aws::String& value) { SetSourceBackupId(value); return *this;} /** *The identifier (ID) of the backup used to create the cluster. This value * exists only when the cluster was created from a backup.
*/ inline Cluster& WithSourceBackupId(Aws::String&& value) { SetSourceBackupId(std::move(value)); return *this;} /** *The identifier (ID) of the backup used to create the cluster. This value * exists only when the cluster was created from a backup.
*/ inline Cluster& WithSourceBackupId(const char* value) { SetSourceBackupId(value); return *this;} /** *The cluster's state.
*/ inline const ClusterState& GetState() const{ return m_state; } /** *The cluster's state.
*/ inline bool StateHasBeenSet() const { return m_stateHasBeenSet; } /** *The cluster's state.
*/ inline void SetState(const ClusterState& value) { m_stateHasBeenSet = true; m_state = value; } /** *The cluster's state.
*/ inline void SetState(ClusterState&& value) { m_stateHasBeenSet = true; m_state = std::move(value); } /** *The cluster's state.
*/ inline Cluster& WithState(const ClusterState& value) { SetState(value); return *this;} /** *The cluster's state.
*/ inline Cluster& WithState(ClusterState&& value) { SetState(std::move(value)); return *this;} /** *A description of the cluster's state.
*/ inline const Aws::String& GetStateMessage() const{ return m_stateMessage; } /** *A description of the cluster's state.
*/ inline bool StateMessageHasBeenSet() const { return m_stateMessageHasBeenSet; } /** *A description of the cluster's state.
*/ inline void SetStateMessage(const Aws::String& value) { m_stateMessageHasBeenSet = true; m_stateMessage = value; } /** *A description of the cluster's state.
*/ inline void SetStateMessage(Aws::String&& value) { m_stateMessageHasBeenSet = true; m_stateMessage = std::move(value); } /** *A description of the cluster's state.
*/ inline void SetStateMessage(const char* value) { m_stateMessageHasBeenSet = true; m_stateMessage.assign(value); } /** *A description of the cluster's state.
*/ inline Cluster& WithStateMessage(const Aws::String& value) { SetStateMessage(value); return *this;} /** *A description of the cluster's state.
*/ inline Cluster& WithStateMessage(Aws::String&& value) { SetStateMessage(std::move(value)); return *this;} /** *A description of the cluster's state.
*/ inline Cluster& WithStateMessage(const char* value) { SetStateMessage(value); return *this;} /** *A map from availability zone to the cluster’s subnet in that availability * zone.
*/ inline const Aws::MapA map from availability zone to the cluster’s subnet in that availability * zone.
*/ inline bool SubnetMappingHasBeenSet() const { return m_subnetMappingHasBeenSet; } /** *A map from availability zone to the cluster’s subnet in that availability * zone.
*/ inline void SetSubnetMapping(const Aws::MapA map from availability zone to the cluster’s subnet in that availability * zone.
*/ inline void SetSubnetMapping(Aws::MapA map from availability zone to the cluster’s subnet in that availability * zone.
*/ inline Cluster& WithSubnetMapping(const Aws::MapA map from availability zone to the cluster’s subnet in that availability * zone.
*/ inline Cluster& WithSubnetMapping(Aws::MapA map from availability zone to the cluster’s subnet in that availability * zone.
*/ inline Cluster& AddSubnetMapping(const Aws::String& key, const Aws::String& value) { m_subnetMappingHasBeenSet = true; m_subnetMapping.emplace(key, value); return *this; } /** *A map from availability zone to the cluster’s subnet in that availability * zone.
*/ inline Cluster& AddSubnetMapping(Aws::String&& key, const Aws::String& value) { m_subnetMappingHasBeenSet = true; m_subnetMapping.emplace(std::move(key), value); return *this; } /** *A map from availability zone to the cluster’s subnet in that availability * zone.
*/ inline Cluster& AddSubnetMapping(const Aws::String& key, Aws::String&& value) { m_subnetMappingHasBeenSet = true; m_subnetMapping.emplace(key, std::move(value)); return *this; } /** *A map from availability zone to the cluster’s subnet in that availability * zone.
*/ inline Cluster& AddSubnetMapping(Aws::String&& key, Aws::String&& value) { m_subnetMappingHasBeenSet = true; m_subnetMapping.emplace(std::move(key), std::move(value)); return *this; } /** *A map from availability zone to the cluster’s subnet in that availability * zone.
*/ inline Cluster& AddSubnetMapping(const char* key, Aws::String&& value) { m_subnetMappingHasBeenSet = true; m_subnetMapping.emplace(key, std::move(value)); return *this; } /** *A map from availability zone to the cluster’s subnet in that availability * zone.
*/ inline Cluster& AddSubnetMapping(Aws::String&& key, const char* value) { m_subnetMappingHasBeenSet = true; m_subnetMapping.emplace(std::move(key), value); return *this; } /** *A map from availability zone to the cluster’s subnet in that availability * zone.
*/ inline Cluster& AddSubnetMapping(const char* key, const char* value) { m_subnetMappingHasBeenSet = true; m_subnetMapping.emplace(key, value); return *this; } /** *The identifier (ID) of the virtual private cloud (VPC) that contains the * cluster.
*/ inline const Aws::String& GetVpcId() const{ return m_vpcId; } /** *The identifier (ID) of the virtual private cloud (VPC) that contains the * cluster.
*/ inline bool VpcIdHasBeenSet() const { return m_vpcIdHasBeenSet; } /** *The identifier (ID) of the virtual private cloud (VPC) that contains the * cluster.
*/ inline void SetVpcId(const Aws::String& value) { m_vpcIdHasBeenSet = true; m_vpcId = value; } /** *The identifier (ID) of the virtual private cloud (VPC) that contains the * cluster.
*/ inline void SetVpcId(Aws::String&& value) { m_vpcIdHasBeenSet = true; m_vpcId = std::move(value); } /** *The identifier (ID) of the virtual private cloud (VPC) that contains the * cluster.
*/ inline void SetVpcId(const char* value) { m_vpcIdHasBeenSet = true; m_vpcId.assign(value); } /** *The identifier (ID) of the virtual private cloud (VPC) that contains the * cluster.
*/ inline Cluster& WithVpcId(const Aws::String& value) { SetVpcId(value); return *this;} /** *The identifier (ID) of the virtual private cloud (VPC) that contains the * cluster.
*/ inline Cluster& WithVpcId(Aws::String&& value) { SetVpcId(std::move(value)); return *this;} /** *The identifier (ID) of the virtual private cloud (VPC) that contains the * cluster.
*/ inline Cluster& WithVpcId(const char* value) { SetVpcId(value); return *this;} /** *Contains one or more certificates or a certificate signing request (CSR).
*/ inline const Certificates& GetCertificates() const{ return m_certificates; } /** *Contains one or more certificates or a certificate signing request (CSR).
*/ inline bool CertificatesHasBeenSet() const { return m_certificatesHasBeenSet; } /** *Contains one or more certificates or a certificate signing request (CSR).
*/ inline void SetCertificates(const Certificates& value) { m_certificatesHasBeenSet = true; m_certificates = value; } /** *Contains one or more certificates or a certificate signing request (CSR).
*/ inline void SetCertificates(Certificates&& value) { m_certificatesHasBeenSet = true; m_certificates = std::move(value); } /** *Contains one or more certificates or a certificate signing request (CSR).
*/ inline Cluster& WithCertificates(const Certificates& value) { SetCertificates(value); return *this;} /** *Contains one or more certificates or a certificate signing request (CSR).
*/ inline Cluster& WithCertificates(Certificates&& value) { SetCertificates(std::move(value)); return *this;} /** *The list of tags for the cluster.
*/ inline const Aws::VectorThe list of tags for the cluster.
*/ inline bool TagListHasBeenSet() const { return m_tagListHasBeenSet; } /** *The list of tags for the cluster.
*/ inline void SetTagList(const Aws::VectorThe list of tags for the cluster.
*/ inline void SetTagList(Aws::VectorThe list of tags for the cluster.
*/ inline Cluster& WithTagList(const Aws::VectorThe list of tags for the cluster.
*/ inline Cluster& WithTagList(Aws::VectorThe list of tags for the cluster.
*/ inline Cluster& AddTagList(const Tag& value) { m_tagListHasBeenSet = true; m_tagList.push_back(value); return *this; } /** *The list of tags for the cluster.
*/ inline Cluster& AddTagList(Tag&& value) { m_tagListHasBeenSet = true; m_tagList.push_back(std::move(value)); return *this; } private: BackupPolicy m_backupPolicy; bool m_backupPolicyHasBeenSet = false; BackupRetentionPolicy m_backupRetentionPolicy; bool m_backupRetentionPolicyHasBeenSet = false; Aws::String m_clusterId; bool m_clusterIdHasBeenSet = false; Aws::Utils::DateTime m_createTimestamp; bool m_createTimestampHasBeenSet = false; Aws::Vector