Package google.cloud.gkehub.v1beta1

索引

GkeHubMembershipService

GKE Hub MembershipService は、Membership リソースで表される、多数の Kubernetes クラスタの Google Cloud への登録を処理します。

現在、GKE Hub はグローバル リージョンと、https://cloud.google.com/compute/docs/regions-zones に記載されているすべてのリージョンで利用できます。機能はグローバル リージョンでのみ利用できますが、メンバーシップはグローバル リージョンとすべてのリージョンで利用できます。

メンバーシップの管理は簡単ではない場合があります。メンバーシップ リソースを操作する場合は、可能な限り Google 提供のクライアント ライブラリまたはツールのいずれかを使用することをおすすめします。

CreateMembership

rpc CreateMembership(CreateMembershipRequest) returns (Operation)

新しい Membership を作成します。

これは現在、Google Cloud 上の GKE クラスタでのみサポートされています。他のクラスタを登録するには、https://cloud.google.com/kubernetes-engine/enterprise/multicluster-management/connect/registering-a-cluster の手順に沿ってください。

認可スコープ

次の OAuth スコープが必要です。

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

詳細については、認証の概要をご覧ください。

DeleteMembership

rpc DeleteMembership(DeleteMembershipRequest) returns (Operation)

Membership を削除します。

これは現在、Google Cloud 上の GKE クラスタでのみサポートされています。他のクラスタの登録を解除するには、https://cloud.google.com/kubernetes-engine/enterprise/multicluster-management/connect/unregistering-a-cluster の手順に沿ってください。

認可スコープ

次の OAuth スコープが必要です。

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

詳細については、認証の概要をご覧ください。

GenerateConnectManifest

rpc GenerateConnectManifest(GenerateConnectManifestRequest) returns (GenerateConnectManifestResponse)

GKE Connect エージェントのデプロイ用のマニフェストを生成します。

このメソッドは、Google 提供のライブラリで内部的に使用されます。ほとんどのクライアントは、このメソッドを直接呼び出す必要はありません。

認可スコープ

次の OAuth スコープが必要です。

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

詳細については、認証の概要をご覧ください。

GenerateExclusivityManifest

rpc GenerateExclusivityManifest(GenerateExclusivityManifestRequest) returns (GenerateExclusivityManifestResponse)

GenerateExclusivityManifest は、必要に応じてクラスタの排他的アーティファクトを更新するマニフェストを生成します。

排他的アーティファクトには、メンバーシップ カスタム リソース定義(CRD)とシングルトン メンバーシップ カスタム リソース(CR)が含まれます。ValidateExclusivity と組み合わせることで、排他的アーティファクトは、Kubernetes クラスタが単一の GKE Hub にのみ登録されることを保証します。

メンバーシップ CRD はバージョン管理されており、GKE Hub API サーバーが新しいバージョンの CRD と対応する CR の提供を開始するときに変換が必要になる場合があります。バージョンに違いがある場合は、変換された CRD と CR がレスポンスとして返されます。

認可スコープ

次の OAuth スコープが必要です。

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

詳細については、認証の概要をご覧ください。

GetMembership

rpc GetMembership(GetMembershipRequest) returns (Membership)

Membership の詳細を取得します。

認可スコープ

次の OAuth スコープが必要です。

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

詳細については、認証の概要をご覧ください。

ListMemberships

rpc ListMemberships(ListMembershipsRequest) returns (ListMembershipsResponse)

指定されたプロジェクトとロケーションの Membership を一覧表示します。

認可スコープ

次の OAuth スコープが必要です。

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

詳細については、認証の概要をご覧ください。

UpdateMembership

rpc UpdateMembership(UpdateMembershipRequest) returns (Operation)

既存の Membership を更新します。

認可スコープ

次の OAuth スコープが必要です。

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

詳細については、認証の概要をご覧ください。

ValidateExclusivity

rpc ValidateExclusivity(ValidateExclusivityRequest) returns (ValidateExclusivityResponse)

ValidateExclusivity は、クラスタの排他性の状態を検証します。検証は、既存のハブ メンバーシップ リソースに依存しません。

認可スコープ

次の OAuth スコープが必要です。

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

詳細については、認証の概要をご覧ください。

ApplianceCluster

ApplianceCluster には、GDC Edge アプライアンス クラスタに固有の情報が含まれています。

フィールド

Authority

Authority は、Google がこのメンバーシップの ID をどのように認識するかを表します。詳細については、Workload Identity のドキュメント(https://cloud.google.com/kubernetes-engine/docs/how-to/workload-identity)をご覧ください。

フィールド
issuer

string

省略可。JSON Web Token(JWT)の発行者 URI。issuerhttps:// で始まり、長さが 2,000 文字未満の有効な URL にする必要があります。

設定されている場合、Google は、この発行元の有効な OIDC トークンが workload_identity_pool 内で認証されるようにします。この URI で OIDC ディスカバリが行われ、発行者からのトークンが検証されます。

issuer をクリアすると、Workload Identity が無効になります。issuer は直接変更できません。新しい発行元を使用する前にクリア(Workload Identity を無効に)して、Workload Identity を再度有効にする必要があります。

workload_identity_pool

string

出力専用。issuer が認識される Workload Identity プールの名前。

Hub ごとに 1 つの Workload Identity プールがあり、ハブに属するすべてのメンバーシップ間で共有されます。{PROJECT_ID} でホストされているハブの場合、ワークロード プールの形式は {PROJECT_ID}.hub.id.goog ですが、この API の新しいバージョンで変更される可能性があります。

identity_provider

string

出力専用。Workload Identity プールの issuer を反映する ID プロバイダ。

oidc_jwks

bytes

省略可。この Membership の OIDC 検証鍵(JWKS 形式)(RFC 7517)。

このフィールドが設定されている場合、OIDC ディスカバリは issuer で実行されず、代わりにこのフィールドを使用して OIDC トークンが検証されます。

ConnectAgent

GKE Connect を使用するためにエンドユーザーに必要な情報。

フィールド
name
(deprecated)

string

設定しないでください。

proxy

bytes

省略可。エージェントから gkeconnect.googleapis.com への接続にプロキシの使用が必要な場合のプロキシの URI。プロキシでサポートされている HTTP / HTTPS プロトコルに応じて、http(s)://{proxy_address} 形式にする必要があります。これにより、Connect エージェントのアウトバウンド トラフィックが HTTP(S) プロキシを経由するようになります。

namespace

string

省略可。GKE Connect エージェント リソースの Namespace。デフォルトは gke-connect です。

Connect Agent は、デフォルトの Namespace で実行されると自動的に承認されます。それ以外の場合は、追加の IAM バインディングで明示的に認可する必要があります。

ConnectAgentResource

ConnectAgentResource は、Connect Agent デプロイの Kubernetes リソース マニフェストを表します。

フィールド
type

TypeMeta

リソースの Kubernetes タイプ。

manifest

string

リソースの YAML マニフェスト。

CreateMembershipRequest

GkeHubMembershipService.CreateMembership メソッドに対するリクエスト メッセージ。

フィールド
parent

string

必須。Membership が作成される親(プロジェクトとロケーション)。projects/*/locations/* の形式で指定します。

認可には、指定されたリソース parent に対する次の IAM の権限が必要です。

  • gkehub.memberships.create
membership_id

string

必須。メンバーシップ用にクライアントが選択した ID。membership_id は、RFC 1123 に準拠した有効な DNS ラベルにする必要があります。

  1. 最大 63 文字
  2. 小文字の英数字または - で構成する必要があります
  3. 先頭と末尾は英数字にする必要があります

これは正規表現 [a-z0-9]([-a-z0-9]*[a-z0-9])? で表され、最大 63 文字です。

resource

Membership

必須。作成するメンバーシップ。

request_id

string

省略可。リクエストを識別するリクエスト ID。一意のリクエスト ID を指定することで、リクエストの再試行が必要なときに、リクエストが完了していれば、サーバーがリクエストを無視できるようになります。サーバーは、最初のリクエストから少なくとも 60 分間はこれを保証します。

たとえば、最初のリクエストを行い、そのリクエストがタイムアウトしたとします。同じリクエスト ID で再度リクエストを行うと、サーバーは元のオペレーションを同じリクエスト ID で受信していたかどうかを確認できます。受信していた場合は、2 回目のリクエストは無視されます。これにより、クライアントが重複するコミットを誤って作成することを防ぐことができます。

リクエスト ID は有効な UUID でなければなりません。ただし、ゼロ UUID はサポートされていません(00000000-0000-0000-0000-000000000000)。

DeleteMembershipRequest

GkeHubMembershipService.DeleteMembership メソッドに対するリクエスト メッセージ。

フィールド
name

string

必須。Membership リソース名(形式: projects/*/locations/*/memberships/*)。

認可には、指定されたリソース name に対する次の IAM の権限が必要です。

  • gkehub.memberships.delete
request_id

string

省略可。リクエストを識別するリクエスト ID。一意のリクエスト ID を指定することで、リクエストの再試行が必要なときに、リクエストが完了していれば、サーバーがリクエストを無視できるようになります。サーバーは、最初のリクエストから少なくとも 60 分間はこれを保証します。

たとえば、最初のリクエストを行い、そのリクエストがタイムアウトしたとします。同じリクエスト ID で再度リクエストを行うと、サーバーは元のオペレーションを同じリクエスト ID で受信していたかどうかを確認できます。受信していた場合は、2 回目のリクエストは無視されます。これにより、クライアントが重複するコミットを誤って作成することを防ぐことができます。

リクエスト ID は有効な UUID でなければなりません。ただし、ゼロ UUID(00000000-0000-0000-0000-000000000000)はサポートされていません。

force

bool

省略可。true に設定すると、この Membership のサブリソースも削除されます。それ以外の場合、リクエストはメンバーシップにサブリソースがない場合のみ機能します。

EdgeCluster

EdgeCluster には、Google エッジクラスタに固有の情報が含まれています。

フィールド

GenerateConnectManifestRequest

GkeHubMembershipService.GenerateConnectManifest メソッドに対するリクエスト メッセージ。

フィールド
name

string

必須。エージェントに関連付ける Membership リソースの名前(projects/*/locations/*/memberships/* 形式)。

認可には、指定されたリソース name に対する次の IAM の権限が必要です。

  • gkehub.memberships.generateConnectManifest
connect_agent

ConnectAgent

省略可。マニフェストを生成する Connect エージェント。

version

string

省略可。使用する Connect エージェントのバージョン。デフォルトでは、最新バージョンになります。

is_upgrade

bool

省略可。true の場合、アップグレード専用のリソースを生成します。インストール専用に生成された一部のリソース(シークレットなど)は除外されます。

registry

string

省略可。Connect エージェント イメージを取得するレジストリ。デフォルトは gcr.io/gkeconnect です。

image_pull_secret_content

bytes

省略可。レジストリのイメージ pull シークレット コンテンツ(公開されていない場合)。

GenerateConnectManifestResponse

GenerateConnectManifestResponse には、Connect エージェントのインストール / アップグレードに関するマニフェスト情報が含まれています。

フィールド
manifest[]

ConnectAgentResource

GKE Connect エージェントのインストールまたはアップグレードのためにクラスタに適用する必要がある Kubernetes リソースの順序付きリスト。

GenerateExclusivityManifestRequest

排他的アーティファクトのマニフェストの生成リクエスト。

フィールド
name

string

必須。Membership リソース名(形式: projects/*/locations/*/memberships/*)。

認可には、指定されたリソース name に対する次の IAM の権限が必要です。

  • gkehub.memberships.generateConnectManifest
crd_manifest

string

省略可。kubectl get customresourcedefinitions membership によって取得されたメンバーシップ CRD の YAML マニフェスト。リソースが存在しない場合は空のままにします。

cr_manifest

string

省略可。kubectl get memberships membership によって取得されたメンバーシップ CR の YAML マニフェスト。リソースが存在しない場合は空のままにします。

GenerateExclusivityManifestResponse

適用するクライアントに対する排他的アーティファクト マニフェストのレスポンス。

フィールド
crd_manifest

string

CRD の新しいバージョンが利用可能な場合に適用するメンバーシップ CRD の YAML マニフェスト。更新を適用する必要がない場合は空です。

cr_manifest

string

新しいバージョンの CR が利用可能な場合に適用するメンバーシップ CR の YAML マニフェスト。更新を適用する必要がない場合は空欄です。

GetMembershipRequest

GkeHubMembershipService.GetMembership メソッドに対するリクエスト メッセージ。

フィールド
name

string

必須。Membership リソース名(形式: projects/*/locations/*/memberships/*)。

認可には、指定されたリソース name に対する次の IAM の権限が必要です。

  • gkehub.memberships.get

GkeCluster

GkeCluster には、GKE クラスタに固有の情報が含まれています。

フィールド
cluster_missing

bool

出力専用。cluster_missing が設定されている場合は、GKE クラスタが GKE コントロール プレーンに存在しないことを示します。

KubernetesMetadata

KubernetesMetadata は、Kubernetes クラスタを表すメンバーシップに関する情報のメタデータを提供します。

フィールド
kubernetes_api_server_version

string

出力専用。'/version' によって報告された Kubernetes API サーバーのバージョン文字列。

node_provider_id

string

出力専用。Kubernetes エンドポイントのノードリストの最初のノードから報告されたノード providerID。ノードなしクラスタをサポートする Kubernetes プラットフォーム(GKE-on-GCP など)では、node_count は 0 になり、node_provider_id は空になります。

node_count

int32

出力専用。Kubernetes ノードリソースによって報告されるノード数。

vcpu_count

int32

出力専用。Kubernetes ノードリソースによって報告される vCPU 数。

memory_mb

int32

出力専用。すべての Kubernetes ノードリソースの合計によって報告される合計メモリ容量(単位: MB)。

update_time

Timestamp

出力専用。これらの詳細が最後に更新された時刻。EndpointDetails は API コンシューマに対して内部的に更新されるため、この update_time はメンバーシップ レベルの update_time とは異なります。

KubernetesResource

KubernetesResource には、クラスタ内の Membership Kubernetes リソースの YAML マニフェストと構成が含まれています。CreateMembership または UpdateMembership の後、これらのリソースをクラスタに再適用する必要があります。

フィールド
membership_cr_manifest

string

入力専用。Membership CR の YAML 表現。Hub が CR を直接読み取ることができる GKE クラスタでは、このフィールドは無視されます。

呼び出し元は、CreateMembership または UpdateMembership の際に、クラスタに現在存在する CR を指定する必要があります。存在しない場合は、このフィールドを空のままにします。CR マニフェストは、クラスタが別のメンバーシップに登録されていないことを検証するために使用されます。

membership_resources[]

ResourceManifest

出力専用。Membership の作成後と更新のたびにクラスタに適用する必要がある追加の Kubernetes リソース。

このフィールドは、CreateMembership または UpdateMembership の長時間実行オペレーションが成功して返された Membership にのみ入力されます。通常の GetMembership リクエストまたは ListMemberships リクエストでは入力されません。最初の登録後にリソース マニフェストを取得するには、呼び出し元が空のフィールド マスクを使用して UpdateMembership を呼び出す必要があります。

connect_resources[]

ResourceManifest

出力専用。GKE Connect エージェントをインストールするための Kubernetes リソース

このフィールドは、CreateMembership または UpdateMembership の長時間実行オペレーションが成功して返されたメンバーシップにのみ入力されます。通常の GetMembership リクエストまたは ListMemberships リクエストでは入力されません。最初の登録後にリソース マニフェストを取得するには、呼び出し元が空のフィールド マスクを使用して UpdateMembership を呼び出す必要があります。

resource_options

ResourceOptions

省略可。Kubernetes リソース生成のオプション。

ListMembershipsRequest

GkeHubMembershipService.ListMemberships メソッドに対するリクエスト メッセージ。

フィールド
parent

string

必須。Membership がリストされる親(プロジェクトとロケーション)。projects/*/locations/* の形式で指定します。projects/*/locations/- は、すべてのリージョンのメンバーシップを一覧表示します。

認可には、指定されたリソース parent に対する次の IAM の権限が必要です。

  • gkehub.memberships.list
page_size

int32

省略可。リソースの「ページ」をリクエストする場合、page_size は返されるリソースの数を指定します。指定しない場合や 0 に設定した場合は、すべてのリソースが返されます。

page_token

string

省略可。前回の ListMemberships 呼び出しによって返されたトークン。リソースの一覧表示を続行するリスト内の位置を指定します。

filter

string

省略可。https://google.aip.dev/160 で説明されている構文に従って、フィルタ式に一致するメンバーシップを一覧表示します。

例:

  • プロジェクト foo-proj とロケーション global での名前は bar です。
  name = "projects/foo-proj/locations/global/membership/bar"
  • foo というラベルを持つメンバーシップ:
  labels.foo:*
  • 値が barfoo というラベルを持つメンバーシップ:
  labels.foo = bar
  • 状態が CREATING のメンバーシップ:
  state = CREATING
order_by

string

省略可。比較して出力の並べ替えに使用する 1 つ以上のフィールド。https://google.aip.dev/132#ordering をご覧ください。

ListMembershipsResponse

GkeHubMembershipService.ListMemberships メソッドに対するレスポンス メッセージ。

フィールド
resources[]

Membership

一致する Membership のリスト。

next_page_token

string

ListMemberships メソッドからリソースの次のページをリクエストするトークン。空の文字列の値は、返すリソースが他にないことを示します。

unreachable[]

string

このリストの取得中に到達できなかったロケーションのリスト。

Membership

Membership には、メンバー クラスタに関する情報が含まれます。

フィールド
name

string

出力専用。この Membership リソースの完全な一意の名前(形式: projects/*/locations/*/memberships/{membership_id})。作成時に設定します。

membership_id は、RFC 1123 に準拠した有効な DNS ラベルにする必要があります。

  1. 最大 63 文字
  2. 小文字の英数字または - で構成する必要があります
  3. 先頭と末尾は英数字にする必要があります

これは正規表現 [a-z0-9]([-a-z0-9]*[a-z0-9])? で表され、最大 63 文字です。

labels

map<string, string>

省略可。このメンバーシップの GCP ラベル。

description

string

省略可。このメンバーシップの説明。63 文字以内で指定してください。正規表現 [a-zA-Z0-9][a-zA-Z0-9_\-\.\ ]* と一致する必要があります

state

MembershipState

出力専用。Membership リソースの状態。

authority

Authority

省略可。この Membership からワークロードを識別する方法。詳細については、Workload Identity のドキュメント(https://cloud.google.com/kubernetes-engine/docs/how-to/workload-identity)をご覧ください。

create_time

Timestamp

出力専用。Membership が作成された日時。

update_time

Timestamp

出力専用。Membership が最後に更新された日時。

delete_time

Timestamp

出力専用。Membership が削除された日時。

external_id

string

省略可。この Membership について外部で生成および管理される ID。この ID は作成後に変更できますが、変更はおすすめしません。GKE クラスタの場合、external_id は Hub API によって管理され、更新は無視されます。

ID は正規表現 [a-zA-Z0-9][a-zA-Z0-9_\-\.]* と一致する必要があります

この Membership が Kubernetes クラスタを表す場合は、この値を kube-system Namespace オブジェクトの UID に設定する必要があります。

last_connection_time

Timestamp

出力専用。Connect を使用しているクラスタの場合、Google Cloud との間で確立された最新の接続のタイムスタンプ。この時間は継続的に更新されるのではなく、数分ごとに更新されます。GKE Connect を使用していないクラスタ、または接続に成功したことがないクラスタでは、このフィールドは設定されません。

unique_id

string

出力専用。このリソースの Google 生成 UUID。これは、すべての Membership リソースで固有のものです。Membership リソースを削除し、同じ名前のリソースを作成すると、異なる unique_id が取得されます。

infrastructure_type

Membership.InfrastructureType

省略可。この Membership が実行されているインフラストラクチャのタイプ。

monitoring_config

MonitoringConfig

省略可。このメンバーシップのモニタリング構成情報。

共用体フィールド type。この Membership type で表されるリソースのタイプは、次のいずれか一つだけにできます。
endpoint

MembershipEndpoint

省略可。このメンバーにアクセスするためのエンドポイント情報。

InfrastructureType

Membership のインフラストラクチャ タイプを指定します。インフラストラクチャのタイプは、料金など、インフラストラクチャ固有の動作を制御するために Hub で使用されます。

各 GKE ディストリビューション(on-GCP、on-Prem、on-X など)は、このフィールドを自動的に設定しますが、Attached Clusters のお客様は登録時にタイプを指定する必要があります。

列挙型
INFRASTRUCTURE_TYPE_UNSPECIFIED タイプが指定されていません。Hub の一部機能では、タイプを指定することが必要になる場合があります。この値を持つ Membership はサポートされません。
ON_PREM お客様が所有または運用するプライベート インフラストラクチャ。これには、GKE-OnPrem や GKE-OnBareMetal などの GKE ディストリビューションが含まれます。
MULTI_CLOUD パブリック クラウド インフラストラクチャ。

MembershipEndpoint

MembershipEndpoint には、Kubernetes API、エンドポイント、その他の Kubernetes メタデータにアクセスするために必要な情報が含まれます。

フィールド
kubernetes_metadata

KubernetesMetadata

出力専用。有用な Kubernetes 固有のメタデータ。

kubernetes_resource

KubernetesResource

省略可。安定状態にある正しく登録されたクラスタに適用するクラスタ内 Kubernetes リソース。これらのリソースは:

  • クラスタが 1 つの Hub メンバーシップにのみ登録されるようにします。
  • Membership Authority フィールドで利用可能なワークロード プール情報を伝播します。
  • デフォルトのハブ機能を適切に初期構成します。
共用体フィールド type。登録済みクラスタのクラスタ情報。type は次のいずれかになります。
gke_cluster

GkeCluster

省略可。GKE-on-GCP クラスタの詳細情報。

on_prem_cluster

OnPremCluster

省略可。GKE On-Prem クラスタ固有の情報。resourceLink がないオンプレミスのユーザー クラスタは、このフィールドを使用できません。代わりに、nil の「type」を使用する必要があります。

multi_cloud_cluster

MultiCloudCluster

省略可。GKE Multi-cloud クラスタ固有の情報。

edge_cluster

EdgeCluster

省略可。Google Edge クラスタ固有の情報。

appliance_cluster

ApplianceCluster

省略可。GDC Edge Appliance クラスタ固有の情報。

MembershipState

メンバーシップ リソースの状態。

フィールド
code

MembershipState.Code

出力専用。Membership リソースの現在の状態。

description
(deprecated)

string

このフィールドは、Hub Service によって設定されることはありません。

update_time
(deprecated)

Timestamp

このフィールドは、ハブサービスによって設定されることはありません。

コード

Code は、Membership リソースの状態を表します。

列挙型
CODE_UNSPECIFIED コードが設定されていません。
CREATING クラスタの登録中です。
READY クラスタが登録されています。
DELETING クラスタの登録解除中です。
UPDATING Membership の更新中です。
SERVICE_UPDATING Hub Service が Membership を更新しています。

MonitoringConfig

MonitoringConfig は、基盤となるクラスタの指標を Cloud Monitoring サービスに報告する方法について、Fleet ベースのアプリケーション、サービス、UI に通知します。空から非空に設定できますが、指標の一貫性を誤って破壊しないように、直接変更することはできません。

フィールド
project_id

string

省略可。Metrics のレポートに使用されるプロジェクト

location

string

省略可。Metrics のレポートに使用されるロケーション

cluster

string

省略可。指標のレポートに使用されるクラスタ名。Anthos on VMWare/Baremetal/MultiCloud クラスタの場合は、{cluster_type}/{cluster_name} の形式になります。たとえば、awsClusters/cluster_1 です。

kubernetes_metrics_prefix

string

省略可。Kubernetes システムの指標(利用可能な場合)は、この接頭辞に書き込まれます。デフォルトでは、GKE の場合は kubernetes.io、Anthos の場合は kubernetes.io/anthos になります。注: Anthos MultiCloud には現在 kubernetes.io という接頭辞が付加されています。これは kubernetes.io/anthos に移行されます。

cluster_hash

string

省略可。GKE クラスタとマルチクラウド クラスタの場合、これはクラスタ リソースの UUID です。VMWare クラスタと Baremetal クラスタの場合、これは kube-system UID です。

MultiCloudCluster

MultiCloudCluster には、GKE Multi-cloud クラスタに固有の情報が含まれています。

フィールド
cluster_missing

bool

出力専用。cluster_missing が設定されている場合、この GKE Multi-Cloud クラスタの API(gkemulticloud.googleapis.com)リソースが存在しないことを示します。

OnPremCluster

OnPremCluster には、GKE On-Prem クラスタに固有の情報が含まれています。

フィールド
cluster_missing

bool

出力専用。cluster_missing が設定されている場合、この GKE On-Prem クラスタの API(gkeonprem.googleapis.com)リソースが存在しないことを示します。

admin_cluster

bool

変更不可。クラスタが管理クラスタであるかどうか。

cluster_type

OnPremCluster.ClusterType

変更不可。オンプレミス クラスタのタイプ。

ClusterType

ClusterType は、オンプレミス クラスタのタイプを記述します。

列挙型
CLUSTERTYPE_UNSPECIFIED ClusterType が設定されていません。
BOOTSTRAP ClusterType はブートストラップ クラスタです。
HYBRID ClusterType はベアメタル ハイブリッド クラスタです。
STANDALONE ClusterType はベアメタル スタンドアロン クラスタです。
USER ClusterType はユーザー クラスタです。

OperationMetadata

長時間実行されているオペレーションのメタデータを表します。

フィールド
create_time

Timestamp

出力専用。オペレーションが作成された時刻。

end_time

Timestamp

出力専用。オペレーションの実行が終了した時刻。

target

string

出力専用。オペレーションのターゲットに対応するサーバー定義のリソースパス。

verb

string

出力専用。オペレーションによって実行される動詞の名前。

status_detail

string

出力専用。人が読める形式のオペレーションのステータス(存在する場合)。

cancel_requested

bool

出力専用。ユーザーがオペレーションのキャンセルをリクエストしたかどうかを示します。正常にキャンセルされたオペレーションは、google.rpc.Status.code が 1 の [Operation.error][] 値を持ちます。これは Code.CANCELLED に相当します。

api_version

string

出力専用。オペレーションを開始するために使用された API のバージョン。

ResourceManifest

ResourceManifest は、クラスタに適用される単一の Kubernetes リソースを表します。

フィールド
manifest

string

リソースの YAML マニフェスト。

cluster_scoped

bool

マニフェストで指定されたリソースが cluster_scoped であるかどうか。設定されていない場合、マニフェストは Namespace スコープであると見なされます。

このフィールドは、クラスタでリソースを適用するときに REST マッピングに使用されます。

ResourceOptions

ResourceOptions は、Kubernetes リソースの生成オプションを表します。

フィールド
connect_version

string

省略可。connect_resources に使用する Connect エージェントのバージョン。最新の GKE Connect バージョンがデフォルトになります。バージョンは現在サポートされているバージョンであることが必要です。古いバージョンは拒否されます。

v1beta1_crd

bool

省略可。CustomResourceDefinition リソースには、apiextensions/v1 ではなく apiextensions/v1beta1 を使用します。このオプションは、Kubernetes apiserver バージョンが 1.16 より前のクラスタに設定する必要があります。

k8s_version

string

省略可。Kubernetes クラスタのメジャー バージョン。これは、CustomResourceDefinition リソースに使用するバージョン(apiextensions/v1beta1 または apiextensions/v1)を決定するためにのみ使用されます。

TypeMeta

TypeMeta は、マニフェスト内の Kubernetes リソースのコンテンツのマーシャリング解除に必要な型情報です。

フィールド
kind

string

リソースの種類(Deployment など)。

api_version

string

リソースの APIVersion(v1 など)。

UpdateMembershipRequest

GkeHubMembershipService.UpdateMembership メソッドに対するリクエスト メッセージ。

フィールド
name

string

必須。メンバーシップ リソース名(形式: projects/[project_id]/locations/global/memberships/[membership_id])。

認可には、指定されたリソース name に対する次の IAM の権限が必要です。

  • gkehub.memberships.update
update_mask

FieldMask

必須。更新するフィールドのマスク。このマスクには、少なくとも 1 つのフィールドパスを指定する必要があります。

resource

Membership

必須。update_mask で指定されたフィールドのみが更新されます。update_mask でフィールドを指定しても、ここで値を指定しないと、そのフィールドは削除されます。マップ フィールドを更新する場合は、キーの値を null または空の文字列に設定して、マップからキーを削除します。キーの値を空の文字列に更新することはできません。update_mask を特殊なパス「*」に指定すると、ユーザーが変更できるすべてのフィールドが resource と一致するように完全に置き換えられます。

request_id

string

省略可。リクエストを識別するリクエスト ID。一意のリクエスト ID を指定することで、リクエストの再試行が必要なときに、リクエストが完了していれば、サーバーがリクエストを無視できるようになります。サーバーは、最初のリクエストから少なくとも 60 分間はこれを保証します。

たとえば、最初のリクエストを行い、そのリクエストがタイムアウトしたとします。同じリクエスト ID で再度リクエストを行うと、サーバーは元のオペレーションを同じリクエスト ID で受信していたかどうかを確認できます。受信していた場合は、2 回目のリクエストは無視されます。これにより、クライアントが重複するコミットを誤って作成することを防ぐことができます。

リクエスト ID は有効な UUID でなければなりません。ただし、ゼロ UUID はサポートされていません(00000000-0000-0000-0000-000000000000)。

ValidateExclusivityRequest

クラスタ内のメンバーシップ CR の既存の状態を検証するリクエスト。

フィールド
parent

string

必須。Membership が作成される親(プロジェクトとロケーション)。projects/*/locations/* の形式で指定します。

認可には、指定されたリソース parent に対する次の IAM の権限が必要です。

  • gkehub.memberships.generateConnectManifest
cr_manifest

string

省略可。クラスタ内のメンバーシップ CR の YAML。メンバーシップ CR が存在しない場合は空です。

intended_membership

string

必須。parent の下にある目的のメンバーシップ名。このメソッドは、同じ名前の CreateMembership 呼び出しを想定して検証を行うだけです。

ValidateExclusivityResponse

排他的アーティファクトの検証結果ステータスのレスポンス。

フィールド
status

Status

検証結果。

  • OK は、GenerateExclusivityManifest によって生成されたマニフェストが正常に適用されたと仮定して、排他性が検証されていることを意味します。
  • ALREADY_EXISTS は、メンバーシップ CRD が別のハブによってすでに所有されていることを意味します。詳細については、status.message をご覧ください。