Package google.cloud.edgecontainer.v1

Index

EdgeContainer

EdgeContainer API provides management of Kubernetes Clusters on Google Edge Cloud deployments.

CreateCluster

rpc CreateCluster(CreateClusterRequest) returns (Operation)

Creates a new Cluster in a given project and location.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

CreateNodePool

rpc CreateNodePool(CreateNodePoolRequest) returns (Operation)

Creates a new NodePool in a given project and location.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

CreateVpnConnection

rpc CreateVpnConnection(CreateVpnConnectionRequest) returns (Operation)

Creates a new VPN connection in a given project and location.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

DeleteCluster

rpc DeleteCluster(DeleteClusterRequest) returns (Operation)

Deletes a single Cluster.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

DeleteNodePool

rpc DeleteNodePool(DeleteNodePoolRequest) returns (Operation)

Deletes a single NodePool.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

DeleteVpnConnection

rpc DeleteVpnConnection(DeleteVpnConnectionRequest) returns (Operation)

Deletes a single VPN connection.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

GenerateAccessToken

rpc GenerateAccessToken(GenerateAccessTokenRequest) returns (GenerateAccessTokenResponse)

Generates an access token for a Cluster.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

GetCluster

rpc GetCluster(GetClusterRequest) returns (Cluster)

Gets details of a single Cluster.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

GetMachine

rpc GetMachine(GetMachineRequest) returns (Machine)

Gets details of a single Machine.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

GetNodePool

rpc GetNodePool(GetNodePoolRequest) returns (NodePool)

Gets details of a single NodePool.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

GetVpnConnection

rpc GetVpnConnection(GetVpnConnectionRequest) returns (VpnConnection)

Gets details of a single VPN connection.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

ListClusters

rpc ListClusters(ListClustersRequest) returns (ListClustersResponse)

Lists Clusters in a given project and location.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

ListMachines

rpc ListMachines(ListMachinesRequest) returns (ListMachinesResponse)

Lists Machines in a given project and location.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

ListNodePools

rpc ListNodePools(ListNodePoolsRequest) returns (ListNodePoolsResponse)

Lists NodePools in a given project and location.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

ListVpnConnections

rpc ListVpnConnections(ListVpnConnectionsRequest) returns (ListVpnConnectionsResponse)

Lists VPN connections in a given project and location.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

UpdateCluster

rpc UpdateCluster(UpdateClusterRequest) returns (Operation)

Updates the parameters of a single Cluster.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

UpdateNodePool

rpc UpdateNodePool(UpdateNodePoolRequest) returns (Operation)

Updates the parameters of a single NodePool.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

Authorization

RBAC policy that will be applied and managed by GEC.

Fields
admin_users

ClusterUser

Required. User that will be granted the cluster-admin role on the cluster, providing full access to the cluster. Currently, this is a singular field, but will be expanded to allow multiple admins in the future.

Cluster

A Google Distributed Cloud Edge Kubernetes cluster.

Fields
name

string

Required. The resource name of the cluster.

create_time

Timestamp

Output only. The time when the cluster was created.

update_time

Timestamp

Output only. The time when the cluster was last updated.

labels

map<string, string>

Labels associated with this resource.

fleet

Fleet

Optional. Fleet configuration.

networking

ClusterNetworking

Required. Cluster-wide networking configuration.

authorization

Authorization

Required. Immutable. RBAC policy that will be applied and managed by GEC.

default_max_pods_per_node

int32

Optional. The default maximum number of pods per node used if a maximum value is not specified explicitly for a node pool in this cluster. If unspecified, the Kubernetes default value will be used.

endpoint

string

Output only. The IP address of the Kubernetes API server.

cluster_ca_certificate

string

Output only. The PEM-encoded public certificate of the cluster's CA.

maintenance_policy

MaintenancePolicy

Optional. Cluster-wide maintenance policy configuration.

control_plane_version

string

Output only. The control plane release version

node_version

string

Output only. The lowest release version among all worker nodes. This field can be empty if the cluster does not have any worker nodes.

ClusterNetworking

Cluster-wide networking configuration.

Fields
cluster_ipv4_cidr_blocks[]

string

Required. All pods in the cluster are assigned an RFC1918 IPv4 address from these blocks. Only a single block is supported. This field cannot be changed after creation.

services_ipv4_cidr_blocks[]

string

Required. All services in the cluster are assigned an RFC1918 IPv4 address from these blocks. Only a single block is supported. This field cannot be changed after creation.

ClusterUser

A user principal for an RBAC policy.

Fields
username

string

Required. An active Google username.

CreateClusterRequest

Creates a cluster.

Fields
parent

string

Required. The parent location where this cluster will be created.

Authorization requires the following IAM permission on the specified resource parent:

  • edgecontainer.clusters.create
cluster_id

string

Required. A client-specified unique identifier for the cluster.

cluster

Cluster

Required. The cluster to create.

request_id

string

A unique identifier for this request. Restricted to 36 ASCII characters. A random UUID is recommended. This request is only idempotent if request_id is provided.

CreateNodePoolRequest

Creates a node pool.

Fields
parent

string

Required. The parent cluster where this node pool will be created.

Authorization requires the following IAM permission on the specified resource parent:

  • edgecontainer.nodePools.create
node_pool_id

string

Required. A client-specified unique identifier for the node pool.

node_pool

NodePool

Required. The node pool to create.

request_id

string

A unique identifier for this request. Restricted to 36 ASCII characters. A random UUID is recommended. This request is only idempotent if request_id is provided.

CreateVpnConnectionRequest

Creates a VPN connection.

Fields
parent

string

Required. The parent location where this vpn connection will be created.

Authorization requires the following IAM permission on the specified resource parent:

  • edgecontainer.vpnConnections.create
vpn_connection_id

string

Required. The VPN connection identifier.

vpn_connection

VpnConnection

Required. The VPN connection to create.

request_id

string

A unique identifier for this request. Restricted to 36 ASCII characters. A random UUID is recommended. This request is only idempotent if request_id is provided.

DeleteClusterRequest

Deletes a cluster.

Fields
name

string

Required. The resource name of the cluster.

Authorization requires the following IAM permission on the specified resource name:

  • edgecontainer.clusters.delete
request_id

string

A unique identifier for this request. Restricted to 36 ASCII characters. A random UUID is recommended. This request is only idempotent if request_id is provided.

DeleteNodePoolRequest

Deletes a node pool.

Fields
name

string

Required. The resource name of the node pool.

Authorization requires the following IAM permission on the specified resource name:

  • edgecontainer.nodePools.delete
request_id

string

A unique identifier for this request. Restricted to 36 ASCII characters. A random UUID is recommended. This request is only idempotent if request_id is provided.

DeleteVpnConnectionRequest

Deletes a vpn connection.

Fields
name

string

Required. The resource name of the vpn connection.

Authorization requires the following IAM permission on the specified resource name:

  • edgecontainer.vpnConnections.delete
request_id

string

A unique identifier for this request. Restricted to 36 ASCII characters. A random UUID is recommended. This request is only idempotent if request_id is provided.

Fleet

Fleet related configuration.

Fleets are a Google Cloud concept for logically organizing clusters, letting you use and manage multi-cluster capabilities and apply consistent policies across your systems.

Fields
project

string

Required. The name of the Fleet host project where this cluster will be registered.

Project names are formatted as projects/<project-number>.

membership

string

Output only. The name of the managed Hub Membership resource associated to this cluster.

Membership names are formatted as projects/<project-number>/locations/global/membership/<cluster-id>.

GenerateAccessTokenRequest

Generates an access token for a cluster.

Fields
cluster

string

Required. The resource name of the cluster.

Authorization requires the following IAM permission on the specified resource cluster:

  • edgecontainer.clusters.get

GenerateAccessTokenResponse

An access token for a cluster.

Fields
access_token

string

Output only. Access token to authenticate to k8s api-server.

expire_time

Timestamp

Output only. Timestamp at which the token will expire.

GetClusterRequest

Gets a cluster.

Fields
name

string

Required. The resource name of the cluster.

Authorization requires the following IAM permission on the specified resource name:

  • edgecontainer.clusters.get

GetMachineRequest

Gets a machine.

Fields
name

string

Required. The resource name of the machine.

Authorization requires the following IAM permission on the specified resource name:

  • edgecontainer.machines.get

GetNodePoolRequest

Gets a node pool.

Fields
name

string

Required. The resource name of the node pool.

Authorization requires the following IAM permission on the specified resource name:

  • edgecontainer.nodePools.get

GetVpnConnectionRequest

Gets a VPN connection.

Fields
name

string

Required. The resource name of the vpn connection.

Authorization requires the following IAM permission on the specified resource name:

  • edgecontainer.vpnConnections.get

KmsKeyState

Represents the accessibility state of a customer-managed KMS key used for CMEK integration.

Enums
KMS_KEY_STATE_UNSPECIFIED Unspecified.
KMS_KEY_STATE_KEY_AVAILABLE The key is available for use, and dependent resources should be accessible.
KMS_KEY_STATE_KEY_UNAVAILABLE The key is unavailable for an unspecified reason. Dependent resources may be inaccessible.

ListClustersRequest

Lists clusters in a location.

Fields
parent

string

Required. The parent location, which owns this collection of clusters.

Authorization requires the following IAM permission on the specified resource parent:

  • edgecontainer.clusters.list
page_size

int32

The maximum number of resources to list.

page_token

string

A page token received from previous list request. A page token received from previous list request.

filter

string

Only resources matching this filter will be listed.

order_by

string

Specifies the order in which resources will be listed.

ListClustersResponse

List of clusters in a location.

Fields
clusters[]

Cluster

Clusters in the location.

next_page_token

string

A token to retrieve next page of results.

unreachable[]

string

Locations that could not be reached.

ListMachinesRequest

Lists machines in a site.

Fields
parent

string

Required. The parent site, which owns this collection of machines.

Authorization requires the following IAM permission on the specified resource parent:

  • edgecontainer.machines.list
page_size

int32

The maximum number of resources to list.

page_token

string

A page token received from previous list request.

filter

string

Only resources matching this filter will be listed.

order_by

string

Specifies the order in which resources will be listed.

ListMachinesResponse

List of machines in a site.

Fields
machines[]

Machine

Machines in the site.

next_page_token

string

A token to retrieve next page of results.

unreachable[]

string

Locations that could not be reached.

ListNodePoolsRequest

Lists node pools in a cluster.

Fields
parent

string

Required. The parent cluster, which owns this collection of node pools.

Authorization requires the following IAM permission on the specified resource parent:

  • edgecontainer.nodePools.list
page_size

int32

The maximum number of resources to list.

page_token

string

A page token received from previous list request.

filter

string

Only resources matching this filter will be listed.

order_by

string

Specifies the order in which resources will be listed.

ListNodePoolsResponse

List of node pools in a cluster.

Fields
node_pools[]

NodePool

Node pools in the cluster.

next_page_token

string

A token to retrieve next page of results.

unreachable[]

string

Locations that could not be reached.

ListVpnConnectionsRequest

Lists VPN connections.

Fields
parent

string

Required. The parent location, which owns this collection of VPN connections.

Authorization requires the following IAM permission on the specified resource parent:

  • edgecontainer.vpnConnections.list
page_size

int32

The maximum number of resources to list.

page_token

string

A page token received from previous list request.

filter

string

Only resources matching this filter will be listed.

order_by

string

Specifies the order in which resources will be listed.

ListVpnConnectionsResponse

List of VPN connections in a location.

Fields
vpn_connections[]

VpnConnection

VpnConnections in the location.

next_page_token

string

A token to retrieve next page of results.

unreachable[]

string

Locations that could not be reached.

LocationMetadata

Metadata for a given google.cloud.location.Location.

Fields
available_zones

map<string, ZoneMetadata>

The set of available Google Distributed Cloud Edge zones in the location. The map is keyed by the lowercase ID of each zone.

Machine

A Google Distributed Cloud Edge machine capable of acting as a Kubernetes node.

Fields
name

string

Required. The resource name of the machine.

create_time

Timestamp

Output only. The time when the node pool was created.

update_time

Timestamp

Output only. The time when the node pool was last updated.

labels

map<string, string>

Labels associated with this resource.

hosted_node

string

Canonical resource name of the node that this machine is responsible for hosting e.g. projects/{project}/locations/{location}/clusters/{cluster_id}/nodePools/{pool_id}/{node}, Or empty if the machine is not assigned to assume the role of a node.

For control plane nodes hosted on edge machines, this will return the following format: "projects/{project}/locations/{location}/clusters/{cluster_id}/controlPlaneNodes/{node}".

zone

string

The Google Distributed Cloud Edge zone of this machine.

version

string

Output only. The software version of the machine.

disabled

bool

Output only. Whether the machine is disabled. If disabled, the machine is unable to enter service.

MaintenancePolicy

Maintenance policy configuration.

Fields
window

MaintenanceWindow

Specifies the maintenance window in which maintenance may be performed.

MaintenanceWindow

Maintenance window configuration

Fields
recurring_window

RecurringTimeWindow

Configuration of a recurring maintenance window.

NodePool

A set of Kubernetes nodes in a cluster with common configuration and specification.

Fields
name

string

Required. The resource name of the node pool.

create_time

Timestamp

Output only. The time when the node pool was created.

update_time

Timestamp

Output only. The time when the node pool was last updated.

labels

map<string, string>

Labels associated with this resource.

node_location

string

Name of the Google Distributed Cloud Edge zone where this node pool will be created. For example: us-central1-edge-customer-a.

node_count

int32

Required. The number of nodes in the pool.

machine_filter

string

Only machines matching this filter will be allowed to join the node pool. The filtering language accepts strings like "name=", and is documented in more detail in AIP-160.

local_disk_encryption

LocalDiskEncryption

Optional. Local disk encryption options. This field is only used when enabling CMEK support.

node_version

string

Output only. The lowest release version among all worker nodes.

LocalDiskEncryption

Configuration for CMEK support for edge machine local disk encryption.

Fields
kms_key

string

Immutable. The Cloud KMS CryptoKey e.g. projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{cryptoKey} to use for protecting node local disks. If not specified, a Google-managed key will be used instead.

kms_key_active_version

string

Output only. The Cloud KMS CryptoKeyVersion currently in use for protecting node local disks. Only applicable if kms_key is set.

kms_key_state

KmsKeyState

Output only. Availability of the Cloud KMS CryptoKey. If not KEY_AVAILABLE, then nodes may go offline as they cannot access their local data. This can be caused by a lack of permissions to use the key, or if the key is disabled or deleted.

kms_status

Status

Output only. Error status returned by Cloud KMS when using this key. This field may be populated only if kms_key_state is not KMS_KEY_STATE_KEY_AVAILABLE. If populated, this field contains the error status reported by Cloud KMS.

OperationMetadata

Long-running operation metadata for Edge Container API methods.

Fields
create_time

Timestamp

The time the operation was created.

end_time

Timestamp

The time the operation finished running.

target

string

Server-defined resource path for the target of the operation.

verb

string

The verb executed by the operation.

status_message

string

Human-readable status of the operation, if any.

requested_cancellation

bool

Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have [Operation.error][] value with a google.rpc.Status.code of 1, corresponding to Code.CANCELLED.

api_version

string

API version used to start the operation.

warnings[]

string

Warnings that do not block the operation, but still hold relevant information for the end user to receive.

Quota

Represents quota for Edge Container resources.

Fields
metric

string

Name of the quota metric.

limit

double

Quota limit for this metric.

usage

double

Current usage of this metric.

RecurringTimeWindow

Represents an arbitrary window of time that recurs.

Fields
window

TimeWindow

The window of the first recurrence.

recurrence

string

An RRULE (https://tools.ietf.org/html/rfc5545#section-3.8.5.3) for how this window recurs. They go on for the span of time between the start and end time.

TimeWindow

Represents an arbitrary window of time.

Fields
start_time

Timestamp

The time that the window first starts.

end_time

Timestamp

The time that the window ends. The end time must take place after the start time.

UpdateClusterRequest

Updates a cluster.

Fields
update_mask

FieldMask

Field mask is used to specify the fields to be overwritten in the Cluster resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.

cluster

Cluster

The updated cluster.

Authorization requires the following IAM permission on the specified resource cluster:

  • edgecontainer.clusters.update
request_id

string

A unique identifier for this request. Restricted to 36 ASCII characters. A random UUID is recommended. This request is only idempotent if request_id is provided.

UpdateNodePoolRequest

Updates a node pool.

Fields
update_mask

FieldMask

Field mask is used to specify the fields to be overwritten in the NodePool resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.

node_pool

NodePool

The updated node pool.

Authorization requires the following IAM permission on the specified resource nodePool:

  • edgecontainer.nodePools.update
request_id

string

A unique identifier for this request. Restricted to 36 ASCII characters. A random UUID is recommended. This request is only idempotent if request_id is provided.

VpnConnection

A VPN connection .

Fields
name

string

Required. The resource name of VPN connection

create_time

Timestamp

Output only. The time when the VPN connection was created.

update_time

Timestamp

Output only. The time when the VPN connection was last updated.

labels

map<string, string>

Labels associated with this resource.

nat_gateway_ip

string

NAT gateway IP, or WAN IP address. If a customer has multiple NAT IPs, the customer needs to configure NAT such that only one external IP maps to the GMEC Anthos cluster. This is empty if NAT is not used.

bgp_routing_mode
(deprecated)

BgpRoutingMode

Dynamic routing mode of the VPC network, regional or global.

cluster

string

The canonical Cluster name to connect to. It is in the form of projects/{project}/locations/{location}/clusters/{cluster}.

vpc

string

The network ID of VPC to connect to.

vpc_project

VpcProject

Optional. Project detail of the VPC network. Required if VPC is in a different project than the cluster project.

enable_high_availability

bool

Whether this VPN connection has HA enabled on cluster side. If enabled, when creating VPN connection we will attempt to use 2 ANG floating IPs.

details

Details

Output only. The created connection details.

BgpRoutingMode

Routing mode.

Enums
BGP_ROUTING_MODE_UNSPECIFIED Unknown.
REGIONAL Regional mode.
GLOBAL Global mode.

Details

The created connection details.

Fields
state

State

The state of this connection.

error

string

The error message. This is only populated when state=ERROR.

cloud_router

CloudRouter

The Cloud Router info.

cloud_vpns[]

CloudVpn

Each connection has multiple Cloud VPN gateways.

CloudRouter

The Cloud Router info.

Fields
name

string

The associated Cloud Router name.

CloudVpn

The Cloud VPN info.

Fields
gateway

string

The created Cloud VPN gateway name.

State

The current connection state.

Enums
STATE_UNSPECIFIED Unknown.
STATE_CONNECTED Connected.
STATE_CONNECTING Still connecting.
STATE_ERROR Error occurred.

VpcProject

Project detail of the VPC network.

Fields
project_id

string

The project of the VPC to connect to. If not specified, it is the same as the cluster project.

service_account
(deprecated)

string

Optional. The service account in the VPC project configured by user. It is used to create/delete Cloud Router and Cloud HA VPNs for VPN connection. If this SA is changed during/after a VPN connection is created, you need to remove the Cloud Router and Cloud VPN resources in |project_id|. It is in the form of service-{project_number}@gcp-sa-edgecontainer.iam.gserviceaccount.com.

ZoneMetadata

A Google Distributed Cloud Edge zone where edge machines are located.

Fields
quota[]

Quota

Quota for resources in this zone.