Class ClusterState
Inheritance
System.Object
ClusterState
Inherited Members
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.ToString()
Assembly: Pulumi.Gcp.dll
Syntax
public sealed class ClusterState : ResourceArgs
Constructors
View Source
ClusterState()
Declaration
Properties
View Source
AddonsConfig
The configuration for addons supported by GKE.
Structure is documented below.
Declaration
public Input<ClusterAddonsConfigGetArgs> AddonsConfig { get; set; }
Property Value
View Source
AuthenticatorGroupsConfig
Declaration
public Input<ClusterAuthenticatorGroupsConfigGetArgs> AuthenticatorGroupsConfig { get; set; }
Property Value
View Source
ClusterAutoscaling
Per-cluster configuration of Node Auto-Provisioning with Cluster Autoscaler to
automatically adjust the size of the cluster and create/delete node pools based
on the current needs of the cluster's workload. See the
guide to using Node Auto-Provisioning
for more details. Structure is documented below.
Declaration
public Input<ClusterClusterAutoscalingGetArgs> ClusterAutoscaling { get; set; }
Property Value
View Source
ClusterIpv4Cidr
The IP address range of the Kubernetes pods
in this cluster in CIDR notation (e.g. 10.96.0.0/14). Leave blank to have one
automatically chosen or specify a /14 block in 10.0.0.0/8. This field will
only work for routes-based clusters, where ip_allocation_policy is not defined.
Declaration
public Input<string> ClusterIpv4Cidr { get; set; }
Property Value
| Type |
Description |
| Input<System.String> |
|
View Source
DatabaseEncryption
.
Structure is documented below.
Declaration
public Input<ClusterDatabaseEncryptionGetArgs> DatabaseEncryption { get; set; }
Property Value
View Source
DefaultMaxPodsPerNode
The default maximum number of pods
per node in this cluster. This doesn't work on "routes-based" clusters, clusters
that don't have IP Aliasing enabled. See the official documentation
for more information.
Declaration
public Input<int> DefaultMaxPodsPerNode { get; set; }
Property Value
| Type |
Description |
| Input<System.Int32> |
|
View Source
Description
Description of the cluster.
Declaration
public Input<string> Description { get; set; }
Property Value
| Type |
Description |
| Input<System.String> |
|
View Source
EnableBinaryAuthorization
Enable Binary Authorization for this cluster.
If enabled, all container images will be validated by Google Binary Authorization.
Declaration
public Input<bool> EnableBinaryAuthorization { get; set; }
Property Value
| Type |
Description |
| Input<System.Boolean> |
|
View Source
EnableIntranodeVisibility
Whether Intra-node visibility is enabled for this cluster. This makes same node pod to pod traffic visible for VPC network.
Declaration
public Input<bool> EnableIntranodeVisibility { get; set; }
Property Value
| Type |
Description |
| Input<System.Boolean> |
|
View Source
EnableKubernetesAlpha
Whether to enable Kubernetes Alpha features for
this cluster. Note that when this option is enabled, the cluster cannot be upgraded
and will be automatically deleted after 30 days.
Declaration
public Input<bool> EnableKubernetesAlpha { get; set; }
Property Value
| Type |
Description |
| Input<System.Boolean> |
|
View Source
EnableLegacyAbac
Whether the ABAC authorizer is enabled for this cluster.
When enabled, identities in the system, including service accounts, nodes, and controllers,
will have statically granted permissions beyond those provided by the RBAC configuration or IAM.
Defaults to false
Declaration
public Input<bool> EnableLegacyAbac { get; set; }
Property Value
| Type |
Description |
| Input<System.Boolean> |
|
View Source
EnableShieldedNodes
Enable Shielded Nodes features on all nodes in this cluster. Defaults to false.
Declaration
public Input<bool> EnableShieldedNodes { get; set; }
Property Value
| Type |
Description |
| Input<System.Boolean> |
|
View Source
EnableTpu
Declaration
public Input<bool> EnableTpu { get; set; }
Property Value
| Type |
Description |
| Input<System.Boolean> |
|
View Source
Endpoint
The IP address of this cluster's Kubernetes master.
Declaration
public Input<string> Endpoint { get; set; }
Property Value
| Type |
Description |
| Input<System.String> |
|
View Source
InitialNodeCount
The number of nodes to create in this
cluster's default node pool. In regional or multi-zonal clusters, this is the
number of nodes per zone. Must be set if node_pool is not set. If you're using
gcp.container.NodePool objects with no default node pool, you'll need to
set this to a value of at least 1, alongside setting
remove_default_node_pool to true.
Declaration
public Input<int> InitialNodeCount { get; set; }
Property Value
| Type |
Description |
| Input<System.Int32> |
|
View Source
InstanceGroupUrls
List of instance group URLs which have been assigned
to the cluster.
Declaration
public InputList<string> InstanceGroupUrls { get; set; }
Property Value
View Source
IpAllocationPolicy
Configuration of cluster IP allocation for
VPC-native clusters. Adding this block enables IP aliasing,
making the cluster VPC-native instead of routes-based. Structure is documented
below.
Declaration
public Input<ClusterIpAllocationPolicyGetArgs> IpAllocationPolicy { get; set; }
Property Value
View Source
LabelFingerprint
The fingerprint of the set of labels for this cluster.
Declaration
public Input<string> LabelFingerprint { get; set; }
Property Value
| Type |
Description |
| Input<System.String> |
|
View Source
Location
The location (region or zone) in which the cluster
master will be created, as well as the default node location. If you specify a
zone (such as us-central1-a), the cluster will be a zonal cluster with a
single cluster master. If you specify a region (such as us-west1), the
cluster will be a regional cluster with multiple masters spread across zones in
the region, and with default node locations in those zones as well
Declaration
public Input<string> Location { get; set; }
Property Value
| Type |
Description |
| Input<System.String> |
|
View Source
LoggingService
The logging service that the cluster should
write logs to. Available options include logging.googleapis.com(Legacy Stackdriver),
logging.googleapis.com/kubernetes(Stackdriver Kubernetes Engine Logging), and none. Defaults to logging.googleapis.com/kubernetes
Declaration
public Input<string> LoggingService { get; set; }
Property Value
| Type |
Description |
| Input<System.String> |
|
View Source
MaintenancePolicy
The maintenance policy to use for the cluster. Structure is
documented below.
Declaration
public Input<ClusterMaintenancePolicyGetArgs> MaintenancePolicy { get; set; }
Property Value
View Source
MasterAuth
The authentication information for accessing the
Kubernetes master. Some values in this block are only returned by the API if
your service account has permission to get credentials for your GKE cluster. If
you see an unexpected diff removing a username/password or unsetting your client
cert, ensure you have the container.clusters.getCredentials permission.
Structure is documented below.
Declaration
public Input<ClusterMasterAuthGetArgs> MasterAuth { get; set; }
Property Value
View Source
MasterAuthorizedNetworksConfig
The desired configuration options
for master authorized networks. Omit the nested cidr_blocks attribute to disallow
external access (except the cluster node IPs, which GKE automatically whitelists).
Declaration
public Input<ClusterMasterAuthorizedNetworksConfigGetArgs> MasterAuthorizedNetworksConfig { get; set; }
Property Value
View Source
MasterVersion
The current version of the master in the cluster. This may
be different than the min_master_version set in the config if the master
has been updated by GKE.
Declaration
public Input<string> MasterVersion { get; set; }
Property Value
| Type |
Description |
| Input<System.String> |
|
View Source
MinMasterVersion
The minimum version of the master. GKE
will auto-update the master to new versions, so this does not guarantee the
current master version--use the read-only master_version field to obtain that.
If unset, the cluster's version will be set by GKE to the version of the most recent
official release (which is not necessarily the latest version). Most users will find
the gcp.container.getEngineVersions data source useful - it indicates which versions
are available. If you intend to specify versions manually,
the docs
describe the various acceptable formats for this field.
Declaration
public Input<string> MinMasterVersion { get; set; }
Property Value
| Type |
Description |
| Input<System.String> |
|
View Source
MonitoringService
The monitoring service that the cluster
should write metrics to.
Automatically send metrics from pods in the cluster to the Google Cloud Monitoring API.
VM metrics will be collected by Google Compute Engine regardless of this setting
Available options include
monitoring.googleapis.com(Legacy Stackdriver), monitoring.googleapis.com/kubernetes(Stackdriver Kubernetes Engine Monitoring), and none.
Defaults to monitoring.googleapis.com/kubernetes
Declaration
public Input<string> MonitoringService { get; set; }
Property Value
| Type |
Description |
| Input<System.String> |
|
View Source
Name
The name of the cluster, unique within the project and
location.
Declaration
public Input<string> Name { get; set; }
Property Value
| Type |
Description |
| Input<System.String> |
|
View Source
Network
The name or self_link of the Google Compute Engine
network to which the cluster is connected. For Shared VPC, set this to the self link of the
shared network.
Declaration
public Input<string> Network { get; set; }
Property Value
| Type |
Description |
| Input<System.String> |
|
View Source
NetworkPolicy
Configuration options for the
NetworkPolicy
feature. Structure is documented below.
Declaration
public Input<ClusterNetworkPolicyGetArgs> NetworkPolicy { get; set; }
Property Value
View Source
NodeConfig
Parameters used in creating the default node pool.
Generally, this field should not be used at the same time as a
gcp.container.NodePool or a node_pool block; this configuration
manages the default node pool, which isn't recommended to be used.
Structure is documented below.
Declaration
public Input<ClusterNodeConfigGetArgs> NodeConfig { get; set; }
Property Value
View Source
NodeLocations
The list of zones in which the cluster's nodes
are located. Nodes must be in the region of their regional cluster or in the
same region as their cluster's zone for zonal clusters. If this is specified for
a zonal cluster, omit the cluster's zone.
Declaration
public InputList<string> NodeLocations { get; set; }
Property Value
View Source
NodePools
List of node pools associated with this cluster.
See gcp.container.NodePool for schema.
Warning: node pools defined inside a cluster can't be changed (or added/removed) after
cluster creation without deleting and recreating the entire cluster. Unless you absolutely need the ability
to say "these are the only node pools associated with this cluster", use the
gcp.container.NodePool resource instead of this property.
Declaration
public InputList<ClusterNodePoolGetArgs> NodePools { get; set; }
Property Value
View Source
NodeVersion
The Kubernetes version on the nodes. Must either be unset
or set to the same value as min_master_version on create. Defaults to the default
version set by GKE which is not necessarily the latest version. This only affects
nodes in the default node pool. While a fuzzy version can be specified, it's
recommended that you specify explicit versions as the provider will see spurious diffs
when fuzzy versions are used. See the gcp.container.getEngineVersions data source's
version_prefix field to approximate fuzzy versions.
To update nodes in other node pools, use the version attribute on the node pool.
Declaration
public Input<string> NodeVersion { get; set; }
Property Value
| Type |
Description |
| Input<System.String> |
|
View Source
Operation
Declaration
public Input<string> Operation { get; set; }
Property Value
| Type |
Description |
| Input<System.String> |
|
View Source
PodSecurityPolicyConfig
Declaration
public Input<ClusterPodSecurityPolicyConfigGetArgs> PodSecurityPolicyConfig { get; set; }
Property Value
View Source
PrivateClusterConfig
Configuration for private clusters,
clusters with private nodes. Structure is documented below.
Declaration
public Input<ClusterPrivateClusterConfigGetArgs> PrivateClusterConfig { get; set; }
Property Value
View Source
Project
The ID of the project in which the resource belongs. If it
is not provided, the provider project is used.
Declaration
public Input<string> Project { get; set; }
Property Value
| Type |
Description |
| Input<System.String> |
|
View Source
ReleaseChannel
Configuration options for the Release channel
feature, which provide more control over automatic upgrades of your GKE clusters.
When updating this field, GKE imposes specific version requirements. See
Migrating between release channels
for more details; the gcp.container.getEngineVersions datasource can provide
the default version for a channel. Note that removing the release_channel
field from your config will cause this provider to stop managing your cluster's
release channel, but will not unenroll it. Instead, use the "UNSPECIFIED"
channel. Structure is documented below.
Declaration
public Input<ClusterReleaseChannelGetArgs> ReleaseChannel { get; set; }
Property Value
View Source
RemoveDefaultNodePool
If true, deletes the default node
pool upon cluster creation. If you're using gcp.container.NodePool
resources with no default node pool, this should be set to true, alongside
setting initial_node_count to at least 1.
Declaration
public Input<bool> RemoveDefaultNodePool { get; set; }
Property Value
| Type |
Description |
| Input<System.Boolean> |
|
View Source
ResourceLabels
The GCE resource labels (a map of key/value pairs) to be applied to the cluster.
Declaration
public InputMap<string> ResourceLabels { get; set; }
Property Value
| Type |
Description |
| InputMap<System.String> |
|
View Source
ResourceUsageExportConfig
Declaration
public Input<ClusterResourceUsageExportConfigGetArgs> ResourceUsageExportConfig { get; set; }
Property Value
View Source
ServicesIpv4Cidr
The IP address range of the Kubernetes services in this
cluster, in CIDR
notation (e.g. 1.2.3.4/29). Service addresses are typically put in the last
/16 from the container CIDR.
Declaration
public Input<string> ServicesIpv4Cidr { get; set; }
Property Value
| Type |
Description |
| Input<System.String> |
|
View Source
Subnetwork
The name or self_link of the Google Compute Engine
subnetwork in which the cluster's instances are launched.
Declaration
public Input<string> Subnetwork { get; set; }
Property Value
| Type |
Description |
| Input<System.String> |
|
View Source
TpuIpv4CidrBlock
The IP address range of the Cloud TPUs in this cluster, in
CIDR
notation (e.g. 1.2.3.4/29).
Declaration
public Input<string> TpuIpv4CidrBlock { get; set; }
Property Value
| Type |
Description |
| Input<System.String> |
|
View Source
VerticalPodAutoscaling
Vertical Pod Autoscaling automatically adjusts the resources of pods controlled by it.
Structure is documented below.
Declaration
public Input<ClusterVerticalPodAutoscalingGetArgs> VerticalPodAutoscaling { get; set; }
Property Value
View Source
WorkloadIdentityConfig
Workload Identity allows Kubernetes service accounts to act as a user-managed
Google IAM Service Account.
Structure is documented below.
Declaration
public Input<ClusterWorkloadIdentityConfigGetArgs> WorkloadIdentityConfig { get; set; }
Property Value