REST Resource: projects.locations.privateClouds.clusters

Resource: Cluster

A cluster in a private cloud.

JSON representation
{
  "name": string,
  "createTime": string,
  "updateTime": string,
  "state": enum (State),
  "management": boolean,
  "autoscalingSettings": {
    object (AutoscalingSettings)
  },
  "uid": string,
  "nodeTypeConfigs": {
    string: {
      object (NodeTypeConfig)
    },
    ...
  },
  "stretchedClusterConfig": {
    object (StretchedClusterConfig)
  }
}
Fields
name

string

Output only. Identifier. The resource name of this cluster. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: projects/my-project/locations/us-central1-a/privateClouds/my-cloud/clusters/my-cluster

createTime

string (Timestamp format)

Output only. Creation time of this resource.

A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

updateTime

string (Timestamp format)

Output only. Last update time of this resource.

A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

state

enum (State)

Output only. State of the resource.

management

boolean

Output only. True if the cluster is a management cluster; false otherwise. There can only be one management cluster in a private cloud and it has to be the first one.

autoscalingSettings

object (AutoscalingSettings)

Optional. Configuration of the autoscaling applied to this cluster.

uid

string

Output only. System-generated unique identifier for the resource.

nodeTypeConfigs

map (key: string, value: object (NodeTypeConfig))

Required. The map of cluster node types in this cluster, where the key is canonical identifier of the node type (corresponds to the NodeType).

An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

stretchedClusterConfig

object (StretchedClusterConfig)

Optional. Configuration of a stretched cluster. Required for clusters that belong to a STRETCHED private cloud.

State

Enum State defines possible states of private cloud clusters.

Enums
STATE_UNSPECIFIED The default value. This value should never be used.
ACTIVE The Cluster is operational and can be used by the user.
CREATING The Cluster is being deployed.
UPDATING Adding or removing of a node to the cluster, any other cluster specific updates.
DELETING The Cluster is being deleted.
REPAIRING The Cluster is undergoing maintenance, for example: a failed node is getting replaced.

AutoscalingSettings

Autoscaling settings define the rules used by VMware Engine to automatically scale-out and scale-in the clusters in a private cloud.

JSON representation
{
  "autoscalingPolicies": {
    string: {
      object (AutoscalingPolicy)
    },
    ...
  },
  "minClusterNodeCount": integer,
  "maxClusterNodeCount": integer,
  "coolDownPeriod": string
}
Fields
autoscalingPolicies

map (key: string, value: object (AutoscalingPolicy))

Required. The map with autoscaling policies applied to the cluster. The key is the identifier of the policy. It must meet the following requirements:

  • Only contains 1-63 alphanumeric characters and hyphens
  • Begins with an alphabetical character
  • Ends with a non-hyphen character
  • Not formatted as a UUID
  • Complies with RFC 1034 (section 3.5)

Currently there map must contain only one element that describes the autoscaling policy for compute nodes.

An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

minClusterNodeCount

integer

Optional. Minimum number of nodes of any type in a cluster. If not specified the default limits apply.

maxClusterNodeCount

integer

Optional. Maximum number of nodes of any type in a cluster. If not specified the default limits apply.

coolDownPeriod

string (Duration format)

Optional. The minimum duration between consecutive autoscale operations. It starts once addition or removal of nodes is fully completed. Defaults to 30 minutes if not specified. Cool down period must be in whole minutes (for example, 30, 31, 50, 180 minutes).

A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s".

AutoscalingPolicy

Autoscaling policy describes the behavior of the autoscaling with respect to the resource utilization. The scale-out operation is initiated if the utilization exceeds ANY of the respective thresholds. The scale-in operation is initiated if the utilization is below ALL of the respective thresholds.

JSON representation
{
  "nodeTypeId": string,
  "scaleOutSize": integer,
  "cpuThresholds": {
    object (Thresholds)
  },
  "grantedMemoryThresholds": {
    object (Thresholds)
  },
  "consumedMemoryThresholds": {
    object (Thresholds)
  },
  "storageThresholds": {
    object (Thresholds)
  }
}
Fields
nodeTypeId

string

Required. The canonical identifier of the node type to add or remove. Corresponds to the NodeType.

scaleOutSize

integer

Required. Number of nodes to add to a cluster during a scale-out operation. Must be divisible by 2 for stretched clusters. During a scale-in operation only one node (or 2 for stretched clusters) are removed in a single iteration.

cpuThresholds

object (Thresholds)

Optional. Utilization thresholds pertaining to CPU utilization.

grantedMemoryThresholds

object (Thresholds)

Optional. Utilization thresholds pertaining to amount of granted memory.

consumedMemoryThresholds

object (Thresholds)

Optional. Utilization thresholds pertaining to amount of consumed memory.

storageThresholds

object (Thresholds)

Optional. Utilization thresholds pertaining to amount of consumed storage.

Thresholds

Thresholds define the utilization of resources triggering scale-out and scale-in operations.

JSON representation
{
  "scaleOut": integer,
  "scaleIn": integer
}
Fields
scaleOut

integer

Required. The utilization triggering the scale-out operation in percent.

scaleIn

integer

Required. The utilization triggering the scale-in operation in percent.

Methods

create

Creates a new cluster in a given private cloud.

delete

Deletes a Cluster resource.

get

Retrieves a Cluster resource by its resource name.

getIamPolicy

Gets the access control policy for a resource.

list

Lists Cluster resources in a given private cloud.

patch

Modifies a Cluster resource.

setIamPolicy

Sets the access control policy on the specified resource.

testIamPermissions

Returns permissions that a caller has on the specified resource.