×

Specification

Property Type Description

apiVersion

string

APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources

kind

string

Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

metadata

ObjectMeta

Standard object’s metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

spec

object

GCPManagedClusterSpec defines the desired state of GCPManagedCluster.

status

object

GCPManagedClusterStatus defines the observed state of GCPManagedCluster.

.spec

Description

GCPManagedClusterSpec defines the desired state of GCPManagedCluster.

Type

object

Required
  • project

  • region

Property Type Description

additionalLabels

object (string)

AdditionalLabels is an optional set of tags to add to GCP resources managed by the GCP provider, in addition to the ones added by default.

controlPlaneEndpoint

object

ControlPlaneEndpoint represents the endpoint used to communicate with the control plane.

credentialsRef

object

CredentialsRef is a reference to a Secret that contains the credentials to use for provisioning this cluster. If not supplied then the credentials of the controller will be used.

loadBalancer

object

LoadBalancerSpec contains configuration for one or more LoadBalancers.

network

object

NetworkSpec encapsulates all things related to the GCP network.

project

string

Project is the name of the project to deploy the cluster to.

region

string

The GCP Region the cluster lives in.

resourceManagerTags

array

ResourceManagerTags is an optional set of tags to apply to GCP resources managed by the GCP provider. GCP supports a maximum of 50 tags per resource.

resourceManagerTags[]

object

ResourceManagerTag is a tag to apply to GCP resources managed by the GCP provider.

.spec.controlPlaneEndpoint

Description

ControlPlaneEndpoint represents the endpoint used to communicate with the control plane.

Type

object

Required
  • host

  • port

Property Type Description

host

string

The hostname on which the API server is serving.

port

integer

The port on which the API server is serving.

.spec.credentialsRef

Description

CredentialsRef is a reference to a Secret that contains the credentials to use for provisioning this cluster. If not supplied then the credentials of the controller will be used.

Type

object

Required
  • name

  • namespace

Property Type Description

name

string

Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

namespace

string

Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/

.spec.loadBalancer

Description

LoadBalancerSpec contains configuration for one or more LoadBalancers.

Type

object

Property Type Description

apiServerInstanceGroupTagOverride

string

APIServerInstanceGroupTagOverride overrides the default setting for the tag used when creating the API Server Instance Group.

internalLoadBalancer

object

InternalLoadBalancer is the configuration for an Internal Passthrough Network Load Balancer.

loadBalancerType

string

LoadBalancerType defines the type of Load Balancer that should be created. If not set, a Global External Proxy Load Balancer will be created by default.

.spec.loadBalancer.internalLoadBalancer

Description

InternalLoadBalancer is the configuration for an Internal Passthrough Network Load Balancer.

Type

object

Property Type Description

name

string

Name is the name of the Load Balancer. If not set a default name will be used. For an Internal Load Balancer service the default name is "api-internal".

subnet

string

Subnet is the name of the subnet to use for a regional Load Balancer. A subnet is required for the Load Balancer, if not defined the first configured subnet will be used.

.spec.network

Description

NetworkSpec encapsulates all things related to the GCP network.

Type

object

Property Type Description

autoCreateSubnetworks

boolean

AutoCreateSubnetworks: When set to true, the VPC network is created in "auto" mode. When set to false, the VPC network is created in "custom" mode.

An auto mode VPC network starts with one subnet per region. Each subnet has a predetermined range as described in Auto mode VPC network IP ranges.

Defaults to true.

hostProject

string

HostProject is the name of the project hosting the shared VPC network resources.

loadBalancerBackendPort

integer

Allow for configuration of load balancer backend (useful for changing apiserver port)

name

string

Name is the name of the network to be used.

subnets

array

Subnets configuration.

subnets[]

object

SubnetSpec configures an GCP Subnet.

.spec.network.subnets

Description

Subnets configuration.

Type

array

.spec.network.subnets[]

Description

SubnetSpec configures an GCP Subnet.

Type

object

Property Type Description

cidrBlock

string

CidrBlock is the range of internal addresses that are owned by this subnetwork. Provide this property when you create the subnetwork. For example, 10.0.0.0/8 or 192.168.0.0/16. Ranges must be unique and non-overlapping within a network. Only IPv4 is supported. This field can be set only at resource creation time.

description

string

Description is an optional description associated with the resource.

enableFlowLogs

boolean

EnableFlowLogs: Whether to enable flow logging for this subnetwork. If this field is not explicitly set, it will not appear in get listings. If not set the default behavior is to disable flow logging.

name

string

Name defines a unique identifier to reference this resource.

privateGoogleAccess

boolean

PrivateGoogleAccess defines whether VMs in this subnet can access Google services without assigning external IP addresses

purpose

string

Purpose: The purpose of the resource. If unspecified, the purpose defaults to PRIVATE_RFC_1918. The enableFlowLogs field isn’t supported with the purpose field set to INTERNAL_HTTPS_LOAD_BALANCER.

Possible values: "INTERNAL_HTTPS_LOAD_BALANCER" - Subnet reserved for Internal HTTP(S) Load Balancing. "PRIVATE" - Regular user created or automatically created subnet. "PRIVATE_RFC_1918" - Regular user created or automatically created subnet. "PRIVATE_SERVICE_CONNECT" - Subnetworks created for Private Service Connect in the producer network. "REGIONAL_MANAGED_PROXY" - Subnetwork used for Regional Internal/External HTTP(S) Load Balancing.

region

string

Region is the name of the region where the Subnetwork resides.

secondaryCidrBlocks

object (string)

SecondaryCidrBlocks defines secondary CIDR ranges, from which secondary IP ranges of a VM may be allocated

.spec.resourceManagerTags

Description

ResourceManagerTags is an optional set of tags to apply to GCP resources managed by the GCP provider. GCP supports a maximum of 50 tags per resource.

Type

array

.spec.resourceManagerTags[]

Description

ResourceManagerTag is a tag to apply to GCP resources managed by the GCP provider.

Type

object

Required
  • key

  • parentID

  • value

Property Type Description

key

string

Key is the key part of the tag. A tag key can have a maximum of 63 characters and cannot be empty. Tag key must begin and end with an alphanumeric character, and must contain only uppercase, lowercase alphanumeric characters, and the following special characters ._-.

parentID

string

ParentID is the ID of the hierarchical resource where the tags are defined e.g. at the Organization or the Project level. To find the Organization or Project ID ref https://cloud.google.com/resource-manager/docs/creating-managing-organization#retrieving_your_organization_id https://cloud.google.com/resource-manager/docs/creating-managing-projects#identifying_projects An OrganizationID must consist of decimal numbers, and cannot have leading zeroes. A ProjectID must be 6 to 30 characters in length, can only contain lowercase letters, numbers, and hyphens, and must start with a letter, and cannot end with a hyphen.

value

string

Value is the value part of the tag. A tag value can have a maximum of 63 characters and cannot be empty. Tag value must begin and end with an alphanumeric character, and must contain only uppercase, lowercase alphanumeric characters, and the following special characters _-.@%=+:,*#&(){}[] and spaces.

.status

Description

GCPManagedClusterStatus defines the observed state of GCPManagedCluster.

Type

object

Required
  • ready

Property Type Description

conditions

array

Conditions specifies the conditions for the managed control plane

conditions[]

object

Condition defines an observation of a Cluster API resource operational state.

failureDomains

object

FailureDomains is a slice of FailureDomains.

failureDomains{}

object

FailureDomainSpec is the Schema for Cluster API failure domains. It allows controllers to understand how many failure domains a cluster can optionally span across.

network

object

Network encapsulates GCP networking resources.

ready

boolean

.status.conditions

Description

Conditions specifies the conditions for the managed control plane

Type

array

.status.conditions[]

Description

Condition defines an observation of a Cluster API resource operational state.

Type

object

Required
  • lastTransitionTime

  • status

  • type

Property Type Description

lastTransitionTime

string

Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.

message

string

A human readable message indicating details about the transition. This field may be empty.

reason

string

The reason for the condition’s last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty.

severity

string

Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False.

status

string

Status of the condition, one of True, False, Unknown.

type

string

Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important.

.status.failureDomains

Description

FailureDomains is a slice of FailureDomains.

Type

object

.status.failureDomains{}

Description

FailureDomainSpec is the Schema for Cluster API failure domains. It allows controllers to understand how many failure domains a cluster can optionally span across.

Type

object

Property Type Description

attributes

object (string)

Attributes is a free form map of attributes an infrastructure provider might use or require.

controlPlane

boolean

ControlPlane determines if this failure domain is suitable for use by control plane machines.

.status.network

Description

Network encapsulates GCP networking resources.

Type

object

Property Type Description

apiInternalBackendService

string

APIInternalBackendService is the full reference to the backend service created for the internal Load Balancer.

apiInternalForwardingRule

string

APIInternalForwardingRule is the full reference to the forwarding rule created for the internal Load Balancer.

apiInternalHealthCheck

string

APIInternalHealthCheck is the full reference to the health check created for the internal Load Balancer.

apiInternalIpAddress

string

APIInternalAddress is the IPV4 regional address assigned to the internal Load Balancer.

apiServerBackendService

string

APIServerBackendService is the full reference to the backend service created for the API Server.

apiServerForwardingRule

string

APIServerForwardingRule is the full reference to the forwarding rule created for the API Server.

apiServerHealthCheck

string

APIServerHealthCheck is the full reference to the health check created for the API Server.

apiServerInstanceGroups

object (string)

APIServerInstanceGroups is a map from zone to the full reference to the instance groups created for the control plane nodes created in the same zone.

apiServerIpAddress

string

APIServerAddress is the IPV4 global address assigned to the load balancer created for the API Server.

apiServerTargetProxy

string

APIServerTargetProxy is the full reference to the target proxy created for the API Server.

firewallRules

object (string)

FirewallRules is a map from the name of the rule to its full reference.

router

string

Router is the full reference to the router created within the network it’ll contain the cloud nat gateway

selfLink

string

SelfLink is the link to the Network used for this cluster.

API endpoints

The following API endpoints are available:

  • /apis/infrastructure.cluster.x-k8s.io/v1beta1/gcpmanagedclusters

    • GET: list objects of kind GCPManagedCluster

  • /apis/infrastructure.cluster.x-k8s.io/v1beta1/namespaces/{namespace}/gcpmanagedclusters

    • DELETE: delete collection of GCPManagedCluster

    • GET: list objects of kind GCPManagedCluster

    • POST: create a GCPManagedCluster

  • /apis/infrastructure.cluster.x-k8s.io/v1beta1/namespaces/{namespace}/gcpmanagedclusters/{name}

    • DELETE: delete a GCPManagedCluster

    • GET: read the specified GCPManagedCluster

    • PATCH: partially update the specified GCPManagedCluster

    • PUT: replace the specified GCPManagedCluster

  • /apis/infrastructure.cluster.x-k8s.io/v1beta1/namespaces/{namespace}/gcpmanagedclusters/{name}/status

    • GET: read status of the specified GCPManagedCluster

    • PATCH: partially update status of the specified GCPManagedCluster

    • PUT: replace status of the specified GCPManagedCluster

/apis/infrastructure.cluster.x-k8s.io/v1beta1/gcpmanagedclusters

HTTP method

GET

Description

list objects of kind GCPManagedCluster

Table 1. HTTP responses
HTTP code Reponse body

200 - OK

GCPManagedClusterList schema

401 - Unauthorized

Empty

/apis/infrastructure.cluster.x-k8s.io/v1beta1/namespaces/{namespace}/gcpmanagedclusters

HTTP method

DELETE

Description

delete collection of GCPManagedCluster

Table 2. HTTP responses
HTTP code Reponse body

200 - OK

Status schema

401 - Unauthorized

Empty

HTTP method

GET

Description

list objects of kind GCPManagedCluster

Table 3. HTTP responses
HTTP code Reponse body

200 - OK

GCPManagedClusterList schema

401 - Unauthorized

Empty

HTTP method

POST

Description

create a GCPManagedCluster

Table 4. Query parameters
Parameter Type Description

dryRun

string

When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed

fieldValidation

string

fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.

Table 5. Body parameters
Parameter Type Description

body

GCPManagedCluster schema

Table 6. HTTP responses
HTTP code Reponse body

200 - OK

GCPManagedCluster schema

201 - Created

GCPManagedCluster schema

202 - Accepted

GCPManagedCluster schema

401 - Unauthorized

Empty

/apis/infrastructure.cluster.x-k8s.io/v1beta1/namespaces/{namespace}/gcpmanagedclusters/{name}

Table 7. Global path parameters
Parameter Type Description

name

string

name of the GCPManagedCluster

HTTP method

DELETE

Description

delete a GCPManagedCluster

Table 8. Query parameters
Parameter Type Description

dryRun

string

When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed

Table 9. HTTP responses
HTTP code Reponse body

200 - OK

Status schema

202 - Accepted

Status schema

401 - Unauthorized

Empty

HTTP method

GET

Description

read the specified GCPManagedCluster

Table 10. HTTP responses
HTTP code Reponse body

200 - OK

GCPManagedCluster schema

401 - Unauthorized

Empty

HTTP method

PATCH

Description

partially update the specified GCPManagedCluster

Table 11. Query parameters
Parameter Type Description

dryRun

string

When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed

fieldValidation

string

fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.

Table 12. HTTP responses
HTTP code Reponse body

200 - OK

GCPManagedCluster schema

401 - Unauthorized

Empty

HTTP method

PUT

Description

replace the specified GCPManagedCluster

Table 13. Query parameters
Parameter Type Description

dryRun

string

When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed

fieldValidation

string

fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.

Table 14. Body parameters
Parameter Type Description

body

GCPManagedCluster schema

Table 15. HTTP responses
HTTP code Reponse body

200 - OK

GCPManagedCluster schema

201 - Created

GCPManagedCluster schema

401 - Unauthorized

Empty

/apis/infrastructure.cluster.x-k8s.io/v1beta1/namespaces/{namespace}/gcpmanagedclusters/{name}/status

Table 16. Global path parameters
Parameter Type Description

name

string

name of the GCPManagedCluster

HTTP method

GET

Description

read status of the specified GCPManagedCluster

Table 17. HTTP responses
HTTP code Reponse body

200 - OK

GCPManagedCluster schema

401 - Unauthorized

Empty

HTTP method

PATCH

Description

partially update status of the specified GCPManagedCluster

Table 18. Query parameters
Parameter Type Description

dryRun

string

When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed

fieldValidation

string

fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.

Table 19. HTTP responses
HTTP code Reponse body

200 - OK

GCPManagedCluster schema

401 - Unauthorized

Empty

HTTP method

PUT

Description

replace status of the specified GCPManagedCluster

Table 20. Query parameters
Parameter Type Description

dryRun

string

When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed

fieldValidation

string

fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.

Table 21. Body parameters
Parameter Type Description

body

GCPManagedCluster schema

Table 22. HTTP responses
HTTP code Reponse body

200 - OK

GCPManagedCluster schema

201 - Created

GCPManagedCluster schema

401 - Unauthorized

Empty