Documentation
¶
Index ¶
- type Cluster
- func (r *Cluster) AdditionalZones() *pulumi.ArrayOutput
- func (r *Cluster) AddonsConfig() *pulumi.Output
- func (r *Cluster) ClusterIpv4Cidr() *pulumi.StringOutput
- func (r *Cluster) Description() *pulumi.StringOutput
- func (r *Cluster) EnableBinaryAuthorization() *pulumi.BoolOutput
- func (r *Cluster) EnableKubernetesAlpha() *pulumi.BoolOutput
- func (r *Cluster) EnableLegacyAbac() *pulumi.BoolOutput
- func (r *Cluster) EnableTpu() *pulumi.BoolOutput
- func (r *Cluster) Endpoint() *pulumi.StringOutput
- func (r *Cluster) ID() *pulumi.IDOutput
- func (r *Cluster) InitialNodeCount() *pulumi.IntOutput
- func (r *Cluster) InstanceGroupUrls() *pulumi.ArrayOutput
- func (r *Cluster) IpAllocationPolicy() *pulumi.Output
- func (r *Cluster) LoggingService() *pulumi.StringOutput
- func (r *Cluster) MaintenancePolicy() *pulumi.Output
- func (r *Cluster) MasterAuth() *pulumi.Output
- func (r *Cluster) MasterAuthorizedNetworksConfig() *pulumi.Output
- func (r *Cluster) MasterIpv4CidrBlock() *pulumi.StringOutput
- func (r *Cluster) MasterVersion() *pulumi.StringOutput
- func (r *Cluster) MinMasterVersion() *pulumi.StringOutput
- func (r *Cluster) MonitoringService() *pulumi.StringOutput
- func (r *Cluster) Name() *pulumi.StringOutput
- func (r *Cluster) Network() *pulumi.StringOutput
- func (r *Cluster) NetworkPolicy() *pulumi.Output
- func (r *Cluster) NodeConfig() *pulumi.Output
- func (r *Cluster) NodePools() *pulumi.ArrayOutput
- func (r *Cluster) NodeVersion() *pulumi.StringOutput
- func (r *Cluster) PodSecurityPolicyConfig() *pulumi.Output
- func (r *Cluster) PrivateCluster() *pulumi.BoolOutput
- func (r *Cluster) Project() *pulumi.StringOutput
- func (r *Cluster) Region() *pulumi.StringOutput
- func (r *Cluster) RemoveDefaultNodePool() *pulumi.BoolOutput
- func (r *Cluster) ResourceLabels() *pulumi.MapOutput
- func (r *Cluster) Subnetwork() *pulumi.StringOutput
- func (r *Cluster) URN() *pulumi.URNOutput
- func (r *Cluster) Zone() *pulumi.StringOutput
- type ClusterArgs
- type ClusterState
- type GetClusterArgs
- type GetClusterResult
- type GetEngineVersionsArgs
- type GetEngineVersionsResult
- type GetRegistryImageArgs
- type GetRegistryImageResult
- type GetRegistryRepositoryArgs
- type GetRegistryRepositoryResult
- type NodePool
- func (r *NodePool) Autoscaling() *pulumi.Output
- func (r *NodePool) Cluster() *pulumi.StringOutput
- func (r *NodePool) ID() *pulumi.IDOutput
- func (r *NodePool) InitialNodeCount() *pulumi.IntOutput
- func (r *NodePool) InstanceGroupUrls() *pulumi.ArrayOutput
- func (r *NodePool) Management() *pulumi.Output
- func (r *NodePool) MaxPodsPerNode() *pulumi.IntOutput
- func (r *NodePool) Name() *pulumi.StringOutput
- func (r *NodePool) NamePrefix() *pulumi.StringOutput
- func (r *NodePool) NodeConfig() *pulumi.Output
- func (r *NodePool) NodeCount() *pulumi.IntOutput
- func (r *NodePool) Project() *pulumi.StringOutput
- func (r *NodePool) Region() *pulumi.StringOutput
- func (r *NodePool) URN() *pulumi.URNOutput
- func (r *NodePool) Version() *pulumi.StringOutput
- func (r *NodePool) Zone() *pulumi.StringOutput
- type NodePoolArgs
- type NodePoolState
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Cluster ¶
type Cluster struct {
// contains filtered or unexported fields
}
Creates a Google Kubernetes Engine (GKE) cluster. For more information see [the official documentation](https://cloud.google.com/container-engine/docs/clusters) and [API](https://cloud.google.com/container-engine/reference/rest/v1/projects.zones.clusters).
~> **Note:** All arguments including the username and password will be stored in the raw state as plain-text. [Read more about sensitive data in state](https://www.terraform.io/docs/state/sensitive-data.html).
func GetCluster ¶
func GetCluster(ctx *pulumi.Context, name string, id pulumi.ID, state *ClusterState, opts ...pulumi.ResourceOpt) (*Cluster, error)
GetCluster gets an existing Cluster resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).
func NewCluster ¶
func NewCluster(ctx *pulumi.Context, name string, args *ClusterArgs, opts ...pulumi.ResourceOpt) (*Cluster, error)
NewCluster registers a new resource with the given unique name, arguments, and options.
func (*Cluster) AdditionalZones ¶
func (r *Cluster) AdditionalZones() *pulumi.ArrayOutput
The list of additional Google Compute Engine locations in which the cluster's nodes should be located. If additional zones are configured, the number of nodes specified in `initial_node_count` is created in all specified zones.
func (*Cluster) AddonsConfig ¶
The configuration for addons supported by GKE. Structure is documented below.
func (*Cluster) ClusterIpv4Cidr ¶
func (r *Cluster) ClusterIpv4Cidr() *pulumi.StringOutput
The IP address range of the kubernetes pods in this cluster. Default is an automatically assigned CIDR.
func (*Cluster) Description ¶
func (r *Cluster) Description() *pulumi.StringOutput
Description of the cluster.
func (*Cluster) EnableBinaryAuthorization ¶ added in v0.16.0
func (r *Cluster) EnableBinaryAuthorization() *pulumi.BoolOutput
Enable Binary Authorization for this cluster. If enabled, all container images will be validated by Google Binary Authorization. This property is in beta, and should be used with the terraform-provider-google-beta provider. See [Provider Versions](https://terraform.io/docs/providers/google/provider_versions.html) for more details on beta fields.
func (*Cluster) EnableKubernetesAlpha ¶
func (r *Cluster) EnableKubernetesAlpha() *pulumi.BoolOutput
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.
func (*Cluster) EnableLegacyAbac ¶
func (r *Cluster) EnableLegacyAbac() *pulumi.BoolOutput
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`
func (*Cluster) EnableTpu ¶ added in v0.16.1
func (r *Cluster) EnableTpu() *pulumi.BoolOutput
Whether to enable Cloud TPU resources in this cluster. See the [official documentation](https://cloud.google.com/tpu/docs/kubernetes-engine-setup). This property is in beta, and should be used with the terraform-provider-google-beta provider. See [Provider Versions](https://terraform.io/docs/providers/google/provider_versions.html) for more details on beta fields.
func (*Cluster) Endpoint ¶
func (r *Cluster) Endpoint() *pulumi.StringOutput
The IP address of this cluster's Kubernetes master.
func (*Cluster) InitialNodeCount ¶
The number of nodes to create in this cluster (not including the Kubernetes master). Must be set if `node_pool` is not set.
func (*Cluster) InstanceGroupUrls ¶
func (r *Cluster) InstanceGroupUrls() *pulumi.ArrayOutput
List of instance group URLs which have been assigned to the cluster.
func (*Cluster) IpAllocationPolicy ¶
Configuration for cluster IP allocation. As of now, only pre-allocated subnetworks (custom type with secondary ranges) are supported. This will activate IP aliases. See the [official documentation](https://cloud.google.com/kubernetes-engine/docs/how-to/ip-aliases) Structure is documented below.
func (*Cluster) LoggingService ¶
func (r *Cluster) LoggingService() *pulumi.StringOutput
The logging service that the cluster should write logs to. Available options include `logging.googleapis.com`, `logging.googleapis.com/kubernetes` (beta), and `none`. Defaults to `logging.googleapis.com`
func (*Cluster) MaintenancePolicy ¶
The maintenance policy to use for the cluster. Structure is documented below.
func (*Cluster) MasterAuth ¶
The authentication information for accessing the Kubernetes master. Structure is documented below.
func (*Cluster) 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).
func (*Cluster) MasterIpv4CidrBlock ¶
func (r *Cluster) MasterIpv4CidrBlock() *pulumi.StringOutput
Specifies a private [RFC1918](https://tools.ietf.org/html/rfc1918) block for the master's VPC. The master range must not overlap with any subnet in your cluster's VPC. The master and your cluster use VPC peering. Must be specified in CIDR notation and must be `/28` subnet. This property is in beta, and should be used with the terraform-provider-google-beta provider. See [Provider Versions](https://terraform.io/docs/providers/google/provider_versions.html) for more details on beta fields. This field is deprecated, use `private_cluster_config.master_ipv4_cidr_block` instead.
func (*Cluster) MasterVersion ¶
func (r *Cluster) MasterVersion() *pulumi.StringOutput
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.
func (*Cluster) MinMasterVersion ¶
func (r *Cluster) MinMasterVersion() *pulumi.StringOutput
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).
func (*Cluster) MonitoringService ¶
func (r *Cluster) MonitoringService() *pulumi.StringOutput
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`, `monitoring.googleapis.com/kubernetes` (beta) and `none`. Defaults to `monitoring.googleapis.com`
func (*Cluster) Name ¶
func (r *Cluster) Name() *pulumi.StringOutput
The name of the cluster, unique within the project and zone.
func (*Cluster) Network ¶
func (r *Cluster) Network() *pulumi.StringOutput
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.
func (*Cluster) NetworkPolicy ¶
Configuration options for the [NetworkPolicy](https://kubernetes.io/docs/concepts/services-networking/networkpolicies/) feature. Structure is documented below.
func (*Cluster) NodeConfig ¶
Parameters used in creating the cluster's nodes. Structure is documented below.
func (*Cluster) NodePools ¶
func (r *Cluster) NodePools() *pulumi.ArrayOutput
List of node pools associated with this cluster. See google_container_node_pool for schema.
func (*Cluster) NodeVersion ¶
func (r *Cluster) NodeVersion() *pulumi.StringOutput
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.
func (*Cluster) PodSecurityPolicyConfig ¶
Configuration for the [PodSecurityPolicy](https://cloud.google.com/kubernetes-engine/docs/how-to/pod-security-policies) feature. Structure is documented below. This property is in beta, and should be used with the terraform-provider-google-beta provider. See [Provider Versions](https://terraform.io/docs/providers/google/provider_versions.html) for more details on beta fields.
func (*Cluster) PrivateCluster ¶
func (r *Cluster) PrivateCluster() *pulumi.BoolOutput
If true, a [private cluster](https://cloud.google.com/kubernetes-engine/docs/how-to/private-clusters) will be created, meaning nodes do not get public IP addresses. It is mandatory to specify `master_ipv4_cidr_block` and `ip_allocation_policy` with this option. This property is in beta, and should be used with the terraform-provider-google-beta provider. See [Provider Versions](https://terraform.io/docs/providers/google/provider_versions.html) for more details on beta fields. This field is deprecated, use `private_cluster_config.enable_private_nodes` instead.
func (*Cluster) Project ¶
func (r *Cluster) Project() *pulumi.StringOutput
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
func (*Cluster) Region ¶
func (r *Cluster) Region() *pulumi.StringOutput
func (*Cluster) RemoveDefaultNodePool ¶
func (r *Cluster) RemoveDefaultNodePool() *pulumi.BoolOutput
If true, deletes the default node pool upon cluster creation.
func (*Cluster) ResourceLabels ¶ added in v0.15.0
The GCE resource labels (a map of key/value pairs) to be applied to the cluster.
func (*Cluster) Subnetwork ¶
func (r *Cluster) Subnetwork() *pulumi.StringOutput
The name or self_link of the Google Compute Engine subnetwork in which the cluster's instances are launched.
func (*Cluster) Zone ¶
func (r *Cluster) Zone() *pulumi.StringOutput
The zone that the master and the number of nodes specified in `initial_node_count` should be created in. Only one of `zone` and `region` may be set. If neither zone nor region are set, the provider zone is used.
type ClusterArgs ¶
type ClusterArgs struct { // The list of additional Google Compute Engine // locations in which the cluster's nodes should be located. If additional zones are // configured, the number of nodes specified in `initial_node_count` is created in // all specified zones. AdditionalZones interface{} // The configuration for addons supported by GKE. // Structure is documented below. AddonsConfig interface{} // The IP address range of the kubernetes pods in // this cluster. Default is an automatically assigned CIDR. ClusterIpv4Cidr interface{} // Description of the cluster. Description interface{} // Enable Binary Authorization for this cluster. // If enabled, all container images will be validated by Google Binary Authorization. // This property is in beta, and should be used with the terraform-provider-google-beta provider. // See [Provider Versions](https://terraform.io/docs/providers/google/provider_versions.html) for more details on beta fields. EnableBinaryAuthorization interface{} // 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. EnableKubernetesAlpha interface{} // 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` EnableLegacyAbac interface{} // Whether to enable Cloud TPU resources in this cluster. // See the [official documentation](https://cloud.google.com/tpu/docs/kubernetes-engine-setup). // This property is in beta, and should be used with the terraform-provider-google-beta provider. // See [Provider Versions](https://terraform.io/docs/providers/google/provider_versions.html) for more details on beta fields. EnableTpu interface{} // The number of nodes to create in this // cluster (not including the Kubernetes master). Must be set if `node_pool` is not set. InitialNodeCount interface{} // Configuration for cluster IP allocation. As of now, only pre-allocated subnetworks (custom type with secondary ranges) are supported. // This will activate IP aliases. See the [official documentation](https://cloud.google.com/kubernetes-engine/docs/how-to/ip-aliases) // Structure is documented below. IpAllocationPolicy interface{} // The logging service that the cluster should // write logs to. Available options include `logging.googleapis.com`, // `logging.googleapis.com/kubernetes` (beta), and `none`. Defaults to `logging.googleapis.com` LoggingService interface{} // The maintenance policy to use for the cluster. Structure is // documented below. MaintenancePolicy interface{} // The authentication information for accessing the // Kubernetes master. Structure is documented below. MasterAuth interface{} // 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). MasterAuthorizedNetworksConfig interface{} // Specifies a private // [RFC1918](https://tools.ietf.org/html/rfc1918) block for the master's VPC. The master range must not overlap with any subnet in your cluster's VPC. // The master and your cluster use VPC peering. Must be specified in CIDR notation and must be `/28` subnet. // This property is in beta, and should be used with the terraform-provider-google-beta provider. // See [Provider Versions](https://terraform.io/docs/providers/google/provider_versions.html) for more details on beta fields. // This field is deprecated, use `private_cluster_config.master_ipv4_cidr_block` instead. MasterIpv4CidrBlock interface{} // 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). MinMasterVersion interface{} // 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`, `monitoring.googleapis.com/kubernetes` (beta) and `none`. // Defaults to `monitoring.googleapis.com` MonitoringService interface{} // The name of the cluster, unique within the project and // zone. Name interface{} // 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. Network interface{} // Configuration options for the // [NetworkPolicy](https://kubernetes.io/docs/concepts/services-networking/networkpolicies/) // feature. Structure is documented below. NetworkPolicy interface{} // Parameters used in creating the cluster's nodes. // Structure is documented below. NodeConfig interface{} // List of node pools associated with this cluster. // See google_container_node_pool for schema. NodePools interface{} // 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. NodeVersion interface{} // Configuration for the // [PodSecurityPolicy](https://cloud.google.com/kubernetes-engine/docs/how-to/pod-security-policies) feature. // Structure is documented below. // This property is in beta, and should be used with the terraform-provider-google-beta provider. // See [Provider Versions](https://terraform.io/docs/providers/google/provider_versions.html) for more details on beta fields. PodSecurityPolicyConfig interface{} // If true, a // [private cluster](https://cloud.google.com/kubernetes-engine/docs/how-to/private-clusters) will be created, meaning // nodes do not get public IP addresses. It is mandatory to specify `master_ipv4_cidr_block` and // `ip_allocation_policy` with this option. // This property is in beta, and should be used with the terraform-provider-google-beta provider. // See [Provider Versions](https://terraform.io/docs/providers/google/provider_versions.html) for more details on beta fields. // This field is deprecated, use `private_cluster_config.enable_private_nodes` instead. PrivateCluster interface{} // The ID of the project in which the resource belongs. If it // is not provided, the provider project is used. Project interface{} Region interface{} // If true, deletes the default node pool upon cluster creation. RemoveDefaultNodePool interface{} // The GCE resource labels (a map of key/value pairs) to be applied to the cluster. ResourceLabels interface{} // The name or self_link of the Google Compute Engine subnetwork in // which the cluster's instances are launched. Subnetwork interface{} // The zone that the master and the number of nodes specified // in `initial_node_count` should be created in. Only one of `zone` and `region` // may be set. If neither zone nor region are set, the provider zone is used. Zone interface{} }
The set of arguments for constructing a Cluster resource.
type ClusterState ¶
type ClusterState struct { // The list of additional Google Compute Engine // locations in which the cluster's nodes should be located. If additional zones are // configured, the number of nodes specified in `initial_node_count` is created in // all specified zones. AdditionalZones interface{} // The configuration for addons supported by GKE. // Structure is documented below. AddonsConfig interface{} // The IP address range of the kubernetes pods in // this cluster. Default is an automatically assigned CIDR. ClusterIpv4Cidr interface{} // Description of the cluster. Description interface{} // Enable Binary Authorization for this cluster. // If enabled, all container images will be validated by Google Binary Authorization. // This property is in beta, and should be used with the terraform-provider-google-beta provider. // See [Provider Versions](https://terraform.io/docs/providers/google/provider_versions.html) for more details on beta fields. EnableBinaryAuthorization interface{} // 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. EnableKubernetesAlpha interface{} // 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` EnableLegacyAbac interface{} // Whether to enable Cloud TPU resources in this cluster. // See the [official documentation](https://cloud.google.com/tpu/docs/kubernetes-engine-setup). // This property is in beta, and should be used with the terraform-provider-google-beta provider. // See [Provider Versions](https://terraform.io/docs/providers/google/provider_versions.html) for more details on beta fields. EnableTpu interface{} // The IP address of this cluster's Kubernetes master. Endpoint interface{} // The number of nodes to create in this // cluster (not including the Kubernetes master). Must be set if `node_pool` is not set. InitialNodeCount interface{} // List of instance group URLs which have been assigned // to the cluster. InstanceGroupUrls interface{} // Configuration for cluster IP allocation. As of now, only pre-allocated subnetworks (custom type with secondary ranges) are supported. // This will activate IP aliases. See the [official documentation](https://cloud.google.com/kubernetes-engine/docs/how-to/ip-aliases) // Structure is documented below. IpAllocationPolicy interface{} // The logging service that the cluster should // write logs to. Available options include `logging.googleapis.com`, // `logging.googleapis.com/kubernetes` (beta), and `none`. Defaults to `logging.googleapis.com` LoggingService interface{} // The maintenance policy to use for the cluster. Structure is // documented below. MaintenancePolicy interface{} // The authentication information for accessing the // Kubernetes master. Structure is documented below. MasterAuth interface{} // 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). MasterAuthorizedNetworksConfig interface{} // Specifies a private // [RFC1918](https://tools.ietf.org/html/rfc1918) block for the master's VPC. The master range must not overlap with any subnet in your cluster's VPC. // The master and your cluster use VPC peering. Must be specified in CIDR notation and must be `/28` subnet. // This property is in beta, and should be used with the terraform-provider-google-beta provider. // See [Provider Versions](https://terraform.io/docs/providers/google/provider_versions.html) for more details on beta fields. // This field is deprecated, use `private_cluster_config.master_ipv4_cidr_block` instead. MasterIpv4CidrBlock interface{} // 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. MasterVersion interface{} // 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). MinMasterVersion interface{} // 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`, `monitoring.googleapis.com/kubernetes` (beta) and `none`. // Defaults to `monitoring.googleapis.com` MonitoringService interface{} // The name of the cluster, unique within the project and // zone. Name interface{} // 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. Network interface{} // Configuration options for the // [NetworkPolicy](https://kubernetes.io/docs/concepts/services-networking/networkpolicies/) // feature. Structure is documented below. NetworkPolicy interface{} // Parameters used in creating the cluster's nodes. // Structure is documented below. NodeConfig interface{} // List of node pools associated with this cluster. // See google_container_node_pool for schema. NodePools interface{} // 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. NodeVersion interface{} // Configuration for the // [PodSecurityPolicy](https://cloud.google.com/kubernetes-engine/docs/how-to/pod-security-policies) feature. // Structure is documented below. // This property is in beta, and should be used with the terraform-provider-google-beta provider. // See [Provider Versions](https://terraform.io/docs/providers/google/provider_versions.html) for more details on beta fields. PodSecurityPolicyConfig interface{} // If true, a // [private cluster](https://cloud.google.com/kubernetes-engine/docs/how-to/private-clusters) will be created, meaning // nodes do not get public IP addresses. It is mandatory to specify `master_ipv4_cidr_block` and // `ip_allocation_policy` with this option. // This property is in beta, and should be used with the terraform-provider-google-beta provider. // See [Provider Versions](https://terraform.io/docs/providers/google/provider_versions.html) for more details on beta fields. // This field is deprecated, use `private_cluster_config.enable_private_nodes` instead. PrivateCluster interface{} // The ID of the project in which the resource belongs. If it // is not provided, the provider project is used. Project interface{} Region interface{} // If true, deletes the default node pool upon cluster creation. RemoveDefaultNodePool interface{} // The GCE resource labels (a map of key/value pairs) to be applied to the cluster. ResourceLabels interface{} // The name or self_link of the Google Compute Engine subnetwork in // which the cluster's instances are launched. Subnetwork interface{} // The zone that the master and the number of nodes specified // in `initial_node_count` should be created in. Only one of `zone` and `region` // may be set. If neither zone nor region are set, the provider zone is used. Zone interface{} }
Input properties used for looking up and filtering Cluster resources.
type GetClusterArgs ¶
type GetClusterArgs struct { // The name of the cluster. Name interface{} // The project in which the resource belongs. If it // is not provided, the provider project is used. Project interface{} Region interface{} Zone interface{} }
A collection of arguments for invoking getCluster.
type GetClusterResult ¶
type GetClusterResult struct { AdditionalZones interface{} AddonsConfigs interface{} ClusterIpv4Cidr interface{} Description interface{} EnableBinaryAuthorization interface{} EnableKubernetesAlpha interface{} EnableLegacyAbac interface{} EnableTpu interface{} Endpoint interface{} InitialNodeCount interface{} InstanceGroupUrls interface{} IpAllocationPolicies interface{} LoggingService interface{} MaintenancePolicies interface{} MasterAuths interface{} MasterAuthorizedNetworksConfigs interface{} MasterIpv4CidrBlock interface{} MasterVersion interface{} MinMasterVersion interface{} MonitoringService interface{} Network interface{} NetworkPolicies interface{} NodeConfigs interface{} NodePools interface{} NodeVersion interface{} PodSecurityPolicyConfigs interface{} PrivateCluster interface{} RemoveDefaultNodePool interface{} ResourceLabels interface{} Subnetwork interface{} // id is the provider-assigned unique ID for this managed resource. Id interface{} }
A collection of values returned by getCluster.
func LookupCluster ¶
func LookupCluster(ctx *pulumi.Context, args *GetClusterArgs) (*GetClusterResult, error)
Get info about a cluster within GKE from its name and zone.
type GetEngineVersionsArgs ¶
type GetEngineVersionsArgs struct { // ID of the project to list available cluster versions for. Should match the project the cluster will be deployed to. // Defaults to the project that the provider is authenticated with. Project interface{} // Region to list available cluster versions for. Should match the region the cluster will be deployed in. // For regional clusters, this value must be specified and cannot be inferred from provider-level region. One of zone, // region, or provider-level zone is required. This property is in beta, and should be used with the terraform-provider-google-beta provider. // See [Provider Versions](https://terraform.io/docs/providers/google/provider_versions.html) for more details on beta fields. Region interface{} // Zone to list available cluster versions for. Should match the zone the cluster will be deployed in. // If not specified, the provider-level zone is used. One of zone or provider-level zone is required. Zone interface{} }
A collection of arguments for invoking getEngineVersions.
type GetEngineVersionsResult ¶
type GetEngineVersionsResult struct { // Version of Kubernetes the service deploys by default. DefaultClusterVersion interface{} // The latest version available in the given zone for use with master instances. LatestMasterVersion interface{} // The latest version available in the given zone for use with node instances. LatestNodeVersion interface{} // A list of versions available in the given zone for use with master instances. ValidMasterVersions interface{} // A list of versions available in the given zone for use with node instances. ValidNodeVersions interface{} // id is the provider-assigned unique ID for this managed resource. Id interface{} }
A collection of values returned by getEngineVersions.
func LookupEngineVersions ¶
func LookupEngineVersions(ctx *pulumi.Context, args *GetEngineVersionsArgs) (*GetEngineVersionsResult, error)
Provides access to available Google Container Engine versions in a zone or region for a given project.
```hcl
data "google_container_engine_versions" "central1b" { zone = "us-central1-b" }
resource "google_container_cluster" "foo" { name = "terraform-test-cluster" zone = "us-central1-b" node_version = "${data.google_container_engine_versions.central1b.latest_node_version}" initial_node_count = 1 master_auth { username = "mr.yoda" password = "adoy.rm" } }
```
type GetRegistryImageArgs ¶
type GetRegistryImageArgs struct { Digest interface{} Name interface{} Project interface{} Region interface{} Tag interface{} }
A collection of arguments for invoking getRegistryImage.
type GetRegistryImageResult ¶
type GetRegistryImageResult struct { ImageUrl interface{} Project interface{} // id is the provider-assigned unique ID for this managed resource. Id interface{} }
A collection of values returned by getRegistryImage.
func LookupRegistryImage ¶
func LookupRegistryImage(ctx *pulumi.Context, args *GetRegistryImageArgs) (*GetRegistryImageResult, error)
This data source fetches the project name, and provides the appropriate URLs to use for container registry for this project.
The URLs are computed entirely offline - as long as the project exists, they will be valid, but this data source does not contact Google Container Registry (GCR) at any point.
type GetRegistryRepositoryArgs ¶
type GetRegistryRepositoryArgs struct { Project interface{} Region interface{} }
A collection of arguments for invoking getRegistryRepository.
type GetRegistryRepositoryResult ¶
type GetRegistryRepositoryResult struct { Project interface{} RepositoryUrl interface{} // id is the provider-assigned unique ID for this managed resource. Id interface{} }
A collection of values returned by getRegistryRepository.
func LookupRegistryRepository ¶
func LookupRegistryRepository(ctx *pulumi.Context, args *GetRegistryRepositoryArgs) (*GetRegistryRepositoryResult, error)
This data source fetches the project name, and provides the appropriate URLs to use for container registry for this project.
The URLs are computed entirely offline - as long as the project exists, they will be valid, but this data source does not contact Google Container Registry (GCR) at any point.
type NodePool ¶
type NodePool struct {
// contains filtered or unexported fields
}
Manages a Node Pool resource within GKE. For more information see [the official documentation](https://cloud.google.com/container-engine/docs/node-pools) and [API](https://cloud.google.com/container-engine/reference/rest/v1/projects.zones.clusters.nodePools).
func GetNodePool ¶
func GetNodePool(ctx *pulumi.Context, name string, id pulumi.ID, state *NodePoolState, opts ...pulumi.ResourceOpt) (*NodePool, error)
GetNodePool gets an existing NodePool resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).
func NewNodePool ¶
func NewNodePool(ctx *pulumi.Context, name string, args *NodePoolArgs, opts ...pulumi.ResourceOpt) (*NodePool, error)
NewNodePool registers a new resource with the given unique name, arguments, and options.
func (*NodePool) Autoscaling ¶
Configuration required by cluster autoscaler to adjust the size of the node pool to the current cluster usage. Structure is documented below.
func (*NodePool) Cluster ¶
func (r *NodePool) Cluster() *pulumi.StringOutput
The cluster to create the node pool for. Cluster must be present in `zone` provided for zonal clusters.
func (*NodePool) InitialNodeCount ¶
The initial node count for the pool. Changing this will force recreation of the resource.
func (*NodePool) InstanceGroupUrls ¶
func (r *NodePool) InstanceGroupUrls() *pulumi.ArrayOutput
func (*NodePool) Management ¶
Node management configuration, wherein auto-repair and auto-upgrade is configured. Structure is documented below.
func (*NodePool) MaxPodsPerNode ¶ added in v0.16.0
The maximum number of pods per node in this node pool. Note that this does not work on node pools which are "route-based" - that is, node pools belonging to clusters that do not have IP Aliasing enabled. This property is in beta, and should be used with the terraform-provider-google-beta provider. See [Provider Versions](https://terraform.io/docs/providers/google/provider_versions.html) for more details on beta fields.
func (*NodePool) Name ¶
func (r *NodePool) Name() *pulumi.StringOutput
The name of the node pool. If left blank, Terraform will auto-generate a unique name.
func (*NodePool) NamePrefix ¶
func (r *NodePool) NamePrefix() *pulumi.StringOutput
Creates a unique name for the node pool beginning with the specified prefix. Conflicts with `name`.
func (*NodePool) NodeConfig ¶
The node configuration of the pool. See google_container_cluster for schema.
func (*NodePool) NodeCount ¶
The number of nodes per instance group. This field can be used to update the number of nodes per instance group but should not be used alongside `autoscaling`.
func (*NodePool) Project ¶
func (r *NodePool) Project() *pulumi.StringOutput
The ID of the project in which to create the node pool. If blank, the provider-configured project will be used.
func (*NodePool) Region ¶
func (r *NodePool) Region() *pulumi.StringOutput
The region in which the cluster resides (for regional clusters). This property is in beta, and should be used with the terraform-provider-google-beta provider. See [Provider Versions](https://terraform.io/docs/providers/google/provider_versions.html) for more details on beta fields.
func (*NodePool) Version ¶
func (r *NodePool) Version() *pulumi.StringOutput
The Kubernetes version for the nodes in this pool. Note that if this field and `auto_upgrade` are both specified, they will fight each other for what the node version should be, so setting both is highly discouraged.
func (*NodePool) Zone ¶
func (r *NodePool) Zone() *pulumi.StringOutput
The zone in which the cluster resides.
type NodePoolArgs ¶
type NodePoolArgs struct { // Configuration required by cluster autoscaler to adjust // the size of the node pool to the current cluster usage. Structure is documented below. Autoscaling interface{} // The cluster to create the node pool for. Cluster must be present in `zone` provided for zonal clusters. Cluster interface{} // The initial node count for the pool. Changing this will force // recreation of the resource. InitialNodeCount interface{} // Node management configuration, wherein auto-repair and // auto-upgrade is configured. Structure is documented below. Management interface{} // The maximum number of pods per node in this node pool. // Note that this does not work on node pools which are "route-based" - that is, node // pools belonging to clusters that do not have IP Aliasing enabled. // This property is in beta, and should be used with the terraform-provider-google-beta provider. // See [Provider Versions](https://terraform.io/docs/providers/google/provider_versions.html) for more details on beta fields. MaxPodsPerNode interface{} // The name of the node pool. If left blank, Terraform will // auto-generate a unique name. Name interface{} // Creates a unique name for the node pool beginning // with the specified prefix. Conflicts with `name`. NamePrefix interface{} // The node configuration of the pool. See // google_container_cluster for schema. NodeConfig interface{} // The number of nodes per instance group. This field can be used to // update the number of nodes per instance group but should not be used alongside `autoscaling`. NodeCount interface{} // The ID of the project in which to create the node pool. If blank, // the provider-configured project will be used. Project interface{} // The region in which the cluster resides (for regional clusters). // This property is in beta, and should be used with the terraform-provider-google-beta provider. // See [Provider Versions](https://terraform.io/docs/providers/google/provider_versions.html) for more details on beta fields. Region interface{} // The Kubernetes version for the nodes in this pool. Note that if this field // and `auto_upgrade` are both specified, they will fight each other for what the node version should // be, so setting both is highly discouraged. Version interface{} // The zone in which the cluster resides. Zone interface{} }
The set of arguments for constructing a NodePool resource.
type NodePoolState ¶
type NodePoolState struct { // Configuration required by cluster autoscaler to adjust // the size of the node pool to the current cluster usage. Structure is documented below. Autoscaling interface{} // The cluster to create the node pool for. Cluster must be present in `zone` provided for zonal clusters. Cluster interface{} // The initial node count for the pool. Changing this will force // recreation of the resource. InitialNodeCount interface{} InstanceGroupUrls interface{} // Node management configuration, wherein auto-repair and // auto-upgrade is configured. Structure is documented below. Management interface{} // The maximum number of pods per node in this node pool. // Note that this does not work on node pools which are "route-based" - that is, node // pools belonging to clusters that do not have IP Aliasing enabled. // This property is in beta, and should be used with the terraform-provider-google-beta provider. // See [Provider Versions](https://terraform.io/docs/providers/google/provider_versions.html) for more details on beta fields. MaxPodsPerNode interface{} // The name of the node pool. If left blank, Terraform will // auto-generate a unique name. Name interface{} // Creates a unique name for the node pool beginning // with the specified prefix. Conflicts with `name`. NamePrefix interface{} // The node configuration of the pool. See // google_container_cluster for schema. NodeConfig interface{} // The number of nodes per instance group. This field can be used to // update the number of nodes per instance group but should not be used alongside `autoscaling`. NodeCount interface{} // The ID of the project in which to create the node pool. If blank, // the provider-configured project will be used. Project interface{} // The region in which the cluster resides (for regional clusters). // This property is in beta, and should be used with the terraform-provider-google-beta provider. // See [Provider Versions](https://terraform.io/docs/providers/google/provider_versions.html) for more details on beta fields. Region interface{} // The Kubernetes version for the nodes in this pool. Note that if this field // and `auto_upgrade` are both specified, they will fight each other for what the node version should // be, so setting both is highly discouraged. Version interface{} // The zone in which the cluster resides. Zone interface{} }
Input properties used for looking up and filtering NodePool resources.