Class ClusterResourceProperties

java.lang.Object
com.azure.resourcemanager.cosmos.models.ClusterResourceProperties
All Implemented Interfaces:
com.azure.json.JsonSerializable<ClusterResourceProperties>

public final class ClusterResourceProperties extends Object implements com.azure.json.JsonSerializable<ClusterResourceProperties>
Properties of a managed Cassandra cluster.
  • Constructor Details

    • ClusterResourceProperties

      public ClusterResourceProperties()
      Creates an instance of ClusterResourceProperties class.
  • Method Details

    • provisioningState

      public ManagedCassandraProvisioningState provisioningState()
      Get the provisioningState property: The status of the resource at the time the operation was called.
      Returns:
      the provisioningState value.
    • withProvisioningState

      public ClusterResourceProperties withProvisioningState(ManagedCassandraProvisioningState provisioningState)
      Set the provisioningState property: The status of the resource at the time the operation was called.
      Parameters:
      provisioningState - the provisioningState value to set.
      Returns:
      the ClusterResourceProperties object itself.
    • restoreFromBackupId

      public String restoreFromBackupId()
      Get the restoreFromBackupId property: To create an empty cluster, omit this field or set it to null. To restore a backup into a new cluster, set this field to the resource id of the backup.
      Returns:
      the restoreFromBackupId value.
    • withRestoreFromBackupId

      public ClusterResourceProperties withRestoreFromBackupId(String restoreFromBackupId)
      Set the restoreFromBackupId property: To create an empty cluster, omit this field or set it to null. To restore a backup into a new cluster, set this field to the resource id of the backup.
      Parameters:
      restoreFromBackupId - the restoreFromBackupId value to set.
      Returns:
      the ClusterResourceProperties object itself.
    • delegatedManagementSubnetId

      public String delegatedManagementSubnetId()
      Get the delegatedManagementSubnetId property: Resource id of a subnet that this cluster's management service should have its network interface attached to. The subnet must be routable to all subnets that will be delegated to data centers. The resource id must be of the form '/subscriptions/<subscription id>/resourceGroups/<resource group>/providers/Microsoft.Network/virtualNetworks/<virtual network>/subnets/<subnet>'.
      Returns:
      the delegatedManagementSubnetId value.
    • withDelegatedManagementSubnetId

      public ClusterResourceProperties withDelegatedManagementSubnetId(String delegatedManagementSubnetId)
      Set the delegatedManagementSubnetId property: Resource id of a subnet that this cluster's management service should have its network interface attached to. The subnet must be routable to all subnets that will be delegated to data centers. The resource id must be of the form '/subscriptions/<subscription id>/resourceGroups/<resource group>/providers/Microsoft.Network/virtualNetworks/<virtual network>/subnets/<subnet>'.
      Parameters:
      delegatedManagementSubnetId - the delegatedManagementSubnetId value to set.
      Returns:
      the ClusterResourceProperties object itself.
    • cassandraVersion

      public String cassandraVersion()
      Get the cassandraVersion property: Which version of Cassandra should this cluster converge to running (e.g., 3.11). When updated, the cluster may take some time to migrate to the new version.
      Returns:
      the cassandraVersion value.
    • withCassandraVersion

      public ClusterResourceProperties withCassandraVersion(String cassandraVersion)
      Set the cassandraVersion property: Which version of Cassandra should this cluster converge to running (e.g., 3.11). When updated, the cluster may take some time to migrate to the new version.
      Parameters:
      cassandraVersion - the cassandraVersion value to set.
      Returns:
      the ClusterResourceProperties object itself.
    • clusterNameOverride

      public String clusterNameOverride()
      Get the clusterNameOverride property: If you need to set the clusterName property in cassandra.yaml to something besides the resource name of the cluster, set the value to use on this property.
      Returns:
      the clusterNameOverride value.
    • withClusterNameOverride

      public ClusterResourceProperties withClusterNameOverride(String clusterNameOverride)
      Set the clusterNameOverride property: If you need to set the clusterName property in cassandra.yaml to something besides the resource name of the cluster, set the value to use on this property.
      Parameters:
      clusterNameOverride - the clusterNameOverride value to set.
      Returns:
      the ClusterResourceProperties object itself.
    • authenticationMethod

      public AuthenticationMethod authenticationMethod()
      Get the authenticationMethod property: Which authentication method Cassandra should use to authenticate clients. 'None' turns off authentication, so should not be used except in emergencies. 'Cassandra' is the default password based authentication. The default is 'Cassandra'.
      Returns:
      the authenticationMethod value.
    • withAuthenticationMethod

      public ClusterResourceProperties withAuthenticationMethod(AuthenticationMethod authenticationMethod)
      Set the authenticationMethod property: Which authentication method Cassandra should use to authenticate clients. 'None' turns off authentication, so should not be used except in emergencies. 'Cassandra' is the default password based authentication. The default is 'Cassandra'.
      Parameters:
      authenticationMethod - the authenticationMethod value to set.
      Returns:
      the ClusterResourceProperties object itself.
    • initialCassandraAdminPassword

      public String initialCassandraAdminPassword()
      Get the initialCassandraAdminPassword property: Initial password for clients connecting as admin to the cluster. Should be changed after cluster creation. Returns null on GET. This field only applies when the authenticationMethod field is 'Cassandra'.
      Returns:
      the initialCassandraAdminPassword value.
    • withInitialCassandraAdminPassword

      public ClusterResourceProperties withInitialCassandraAdminPassword(String initialCassandraAdminPassword)
      Set the initialCassandraAdminPassword property: Initial password for clients connecting as admin to the cluster. Should be changed after cluster creation. Returns null on GET. This field only applies when the authenticationMethod field is 'Cassandra'.
      Parameters:
      initialCassandraAdminPassword - the initialCassandraAdminPassword value to set.
      Returns:
      the ClusterResourceProperties object itself.
    • prometheusEndpoint

      public SeedNode prometheusEndpoint()
      Get the prometheusEndpoint property: Hostname or IP address where the Prometheus endpoint containing data about the managed Cassandra nodes can be reached.
      Returns:
      the prometheusEndpoint value.
    • withPrometheusEndpoint

      public ClusterResourceProperties withPrometheusEndpoint(SeedNode prometheusEndpoint)
      Set the prometheusEndpoint property: Hostname or IP address where the Prometheus endpoint containing data about the managed Cassandra nodes can be reached.
      Parameters:
      prometheusEndpoint - the prometheusEndpoint value to set.
      Returns:
      the ClusterResourceProperties object itself.
    • repairEnabled

      public Boolean repairEnabled()
      Get the repairEnabled property: Should automatic repairs run on this cluster? If omitted, this is true, and should stay true unless you are running a hybrid cluster where you are already doing your own repairs.
      Returns:
      the repairEnabled value.
    • withRepairEnabled

      public ClusterResourceProperties withRepairEnabled(Boolean repairEnabled)
      Set the repairEnabled property: Should automatic repairs run on this cluster? If omitted, this is true, and should stay true unless you are running a hybrid cluster where you are already doing your own repairs.
      Parameters:
      repairEnabled - the repairEnabled value to set.
      Returns:
      the ClusterResourceProperties object itself.
    • clientCertificates

      public List<Certificate> clientCertificates()
      Get the clientCertificates property: List of TLS certificates used to authorize clients connecting to the cluster. All connections are TLS encrypted whether clientCertificates is set or not, but if clientCertificates is set, the managed Cassandra cluster will reject all connections not bearing a TLS client certificate that can be validated from one or more of the public certificates in this property.
      Returns:
      the clientCertificates value.
    • withClientCertificates

      public ClusterResourceProperties withClientCertificates(List<Certificate> clientCertificates)
      Set the clientCertificates property: List of TLS certificates used to authorize clients connecting to the cluster. All connections are TLS encrypted whether clientCertificates is set or not, but if clientCertificates is set, the managed Cassandra cluster will reject all connections not bearing a TLS client certificate that can be validated from one or more of the public certificates in this property.
      Parameters:
      clientCertificates - the clientCertificates value to set.
      Returns:
      the ClusterResourceProperties object itself.
    • externalGossipCertificates

      public List<Certificate> externalGossipCertificates()
      Get the externalGossipCertificates property: List of TLS certificates used to authorize gossip from unmanaged data centers. The TLS certificates of all nodes in unmanaged data centers must be verifiable using one of the certificates provided in this property.
      Returns:
      the externalGossipCertificates value.
    • withExternalGossipCertificates

      public ClusterResourceProperties withExternalGossipCertificates(List<Certificate> externalGossipCertificates)
      Set the externalGossipCertificates property: List of TLS certificates used to authorize gossip from unmanaged data centers. The TLS certificates of all nodes in unmanaged data centers must be verifiable using one of the certificates provided in this property.
      Parameters:
      externalGossipCertificates - the externalGossipCertificates value to set.
      Returns:
      the ClusterResourceProperties object itself.
    • gossipCertificates

      public List<Certificate> gossipCertificates()
      Get the gossipCertificates property: List of TLS certificates that unmanaged nodes must trust for gossip with managed nodes. All managed nodes will present TLS client certificates that are verifiable using one of the certificates provided in this property.
      Returns:
      the gossipCertificates value.
    • externalSeedNodes

      public List<SeedNode> externalSeedNodes()
      Get the externalSeedNodes property: List of IP addresses of seed nodes in unmanaged data centers. These will be added to the seed node lists of all managed nodes.
      Returns:
      the externalSeedNodes value.
    • withExternalSeedNodes

      public ClusterResourceProperties withExternalSeedNodes(List<SeedNode> externalSeedNodes)
      Set the externalSeedNodes property: List of IP addresses of seed nodes in unmanaged data centers. These will be added to the seed node lists of all managed nodes.
      Parameters:
      externalSeedNodes - the externalSeedNodes value to set.
      Returns:
      the ClusterResourceProperties object itself.
    • seedNodes

      public List<SeedNode> seedNodes()
      Get the seedNodes property: List of IP addresses of seed nodes in the managed data centers. These should be added to the seed node lists of all unmanaged nodes.
      Returns:
      the seedNodes value.
    • hoursBetweenBackups

      public Integer hoursBetweenBackups()
      Get the hoursBetweenBackups property: (Deprecated) Number of hours to wait between taking a backup of the cluster.
      Returns:
      the hoursBetweenBackups value.
    • withHoursBetweenBackups

      public ClusterResourceProperties withHoursBetweenBackups(Integer hoursBetweenBackups)
      Set the hoursBetweenBackups property: (Deprecated) Number of hours to wait between taking a backup of the cluster.
      Parameters:
      hoursBetweenBackups - the hoursBetweenBackups value to set.
      Returns:
      the ClusterResourceProperties object itself.
    • deallocated

      public Boolean deallocated()
      Get the deallocated property: Whether the cluster and associated data centers has been deallocated.
      Returns:
      the deallocated value.
    • withDeallocated

      public ClusterResourceProperties withDeallocated(Boolean deallocated)
      Set the deallocated property: Whether the cluster and associated data centers has been deallocated.
      Parameters:
      deallocated - the deallocated value to set.
      Returns:
      the ClusterResourceProperties object itself.
    • cassandraAuditLoggingEnabled

      public Boolean cassandraAuditLoggingEnabled()
      Get the cassandraAuditLoggingEnabled property: Whether Cassandra audit logging is enabled.
      Returns:
      the cassandraAuditLoggingEnabled value.
    • withCassandraAuditLoggingEnabled

      public ClusterResourceProperties withCassandraAuditLoggingEnabled(Boolean cassandraAuditLoggingEnabled)
      Set the cassandraAuditLoggingEnabled property: Whether Cassandra audit logging is enabled.
      Parameters:
      cassandraAuditLoggingEnabled - the cassandraAuditLoggingEnabled value to set.
      Returns:
      the ClusterResourceProperties object itself.
    • provisionError

      public CassandraError provisionError()
      Get the provisionError property: Error related to resource provisioning.
      Returns:
      the provisionError value.
    • withProvisionError

      public ClusterResourceProperties withProvisionError(CassandraError provisionError)
      Set the provisionError property: Error related to resource provisioning.
      Parameters:
      provisionError - the provisionError value to set.
      Returns:
      the ClusterResourceProperties object itself.
    • azureConnectionMethod

      public AzureConnectionType azureConnectionMethod()
      Get the azureConnectionMethod property: How to connect to the azure services needed for running the cluster.
      Returns:
      the azureConnectionMethod value.
    • withAzureConnectionMethod

      public ClusterResourceProperties withAzureConnectionMethod(AzureConnectionType azureConnectionMethod)
      Set the azureConnectionMethod property: How to connect to the azure services needed for running the cluster.
      Parameters:
      azureConnectionMethod - the azureConnectionMethod value to set.
      Returns:
      the ClusterResourceProperties object itself.
    • privateLinkResourceId

      public String privateLinkResourceId()
      Get the privateLinkResourceId property: If the Connection Method is VPN, this is the Id of the private link resource that the datacenters need to connect to.
      Returns:
      the privateLinkResourceId value.
    • validate

      public void validate()
      Validates the instance.
      Throws:
      IllegalArgumentException - thrown if the instance is not valid.
    • toJson

      public com.azure.json.JsonWriter toJson(com.azure.json.JsonWriter jsonWriter) throws IOException
      Specified by:
      toJson in interface com.azure.json.JsonSerializable<ClusterResourceProperties>
      Throws:
      IOException
    • fromJson

      public static ClusterResourceProperties fromJson(com.azure.json.JsonReader jsonReader) throws IOException
      Reads an instance of ClusterResourceProperties from the JsonReader.
      Parameters:
      jsonReader - The JsonReader being read.
      Returns:
      An instance of ClusterResourceProperties if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
      Throws:
      IOException - If an error occurs while reading the ClusterResourceProperties.