REST Resource: projects.locations.fleetPackages

リソース: FleetPackage

Config Delivery API の FleetPackage リソース。

FleetPackage は、Kubernetes 構成が Kubernetes クラスタのフリートにデプロイされるパッケージを定義します。

JSON 表現
{
  "name": string,
  "createTime": string,
  "updateTime": string,
  "labels": {
    string: string,
    ...
  },
  "resourceBundleSelector": {
    object (ResourceBundleSelector)
  },
  "target": {
    object (Target)
  },
  "rolloutStrategy": {
    object (RolloutStrategy)
  },
  "variantSelector": {
    object (VariantSelector)
  },
  "info": {
    object (FleetPackageInfo)
  },
  "deletionPropagationPolicy": enum (DeletionPropagationPolicy),
  "state": enum (State)
}
フィールド
name

string

ID。FleetPackage の名前。形式は projects/{project}/locations/{location}/fleetPackages/{fleetPackage} です。fleetPackage コンポーネントは [a-z][a-z0-9\-]{0,62} と一致する必要があります。

createTime

string (Timestamp format)

出力専用。FleetPackage が作成された時刻。

RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

updateTime

string (Timestamp format)

出力専用。FleetPackage が最後に更新された時刻。

RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

labels

map (key: string, value: string)

省略可。ラベルは、ユーザーと Config Delivery の両方が設定して使用できる属性です。ラベルは次の制約を満たしている必要があります。

  • キーと値には、小文字、数字、アンダースコア、ダッシュのみを使用できます。
  • すべての文字は UTF-8 でエンコードする必要があります。国際文字も使用できます。
  • キーは、小文字または国際文字で始める必要があります。
  • 各リソースは最大 64 個のラベルに制限されます。

さらに、キーと値の両方が 128 バイト以下に制限されます。

"key": value ペアのリストを含むオブジェクト。例: { "name": "wrench", "mass": "1.3kg", "count": "3" }

resourceBundleSelector

object (ResourceBundleSelector)

必須。デプロイする Kubernetes 構成のソースを指定する情報。

target

object (Target)

省略可。Kubernetes 構成のデプロイ先となるターゲット クラスタを選択する構成。

rolloutStrategy

object (RolloutStrategy)

省略可。Kubernetes 構成をクラスタにデプロイするために使用する戦略。

variantSelector

object (VariantSelector)

必須。ResourceBundle バリアントをターゲット クラスタにマッピングする方法を指定する情報。

info

object (FleetPackageInfo)

出力専用。すべてのターゲット クラスタにおける FleetPackage のロールアウト ステータスを含む情報。

deletionPropagationPolicy

enum (DeletionPropagationPolicy)

省略可。FleetPackage が削除されたときにターゲット クラスタで Kubernetes リソースを処理する方法に関する情報。

state

enum (State)

省略可。フリート パッケージの目的の状態。

ResourceBundleSelector

デプロイする Kubernetes 構成のソースを指定する情報。

JSON 表現
{

  // Union field source can be only one of the following:
  "resourceBundle": {
    object (ResourceBundleTag)
  },
  "cloudBuildRepository": {
    object (CloudBuildRepository)
  }
  // End of list of possible types for union field source.
}
フィールド
共用体フィールド source。ソースは、Kubernetes 構成を含む直接プッシュされた ResourceBundle または CloudBuildRepository にできます。source は次のいずれかになります。
resourceBundle

object (ResourceBundleTag)

ResourceBundle を指定する情報。

cloudBuildRepository

object (CloudBuildRepository)

CloudBuildRepository を指定する情報。

ResourceBundleTag

ResourceBundleTag には、ResourceBundle のリリースを参照するための情報が含まれています。

JSON 表現
{
  "name": string,
  "tag": string
}
フィールド
name

string

必須。ResourceBundle の名前。形式は projects/{p}/locations/{l}/resourceBundles/{r} です。

tag

string

必須。ResourceBundle 内のリリースのバージョンの Git タグ。タグは、セマンティック バージョニング形式 vX.Y.Z に従う必要があります。

CloudBuildRepository

CloudBuildRepository には、CloudBuildRepository から Kubernetes 構成を取得する情報が含まれています。

JSON 表現
{
  "name": string,
  "path": string,
  "tag": string,
  "serviceAccount": string,

  // Union field variants can be only one of the following:
  "variantsPattern": string
  // End of list of possible types for union field variants.
}
フィールド
name

string

必須。クラウドビルド リポジトリの名前。形式は projects/{p}/locations/{l}/connections/{c}/repositories/{r} です。

path

string

省略可。Kubernetes 構成を含むリポジトリ内のディレクトリまたはファイルへのパス。指定されていない場合、パスはリポジトリの最上位のルート ディレクトリと見なされます。

tag

string

必須。基盤となる Git リポジトリの Git タグ。git タグは、セマンティック バージョン形式 vX.Y.Z にする必要があります。

serviceAccount

string

必須。CloudBuild トリガーで Kubernetes 構成の取得と保存に使用する Google サービス アカウント。

共用体フィールド variants。リポジトリでバリアントを見つける方法の構成を指定します。variants は次のいずれかになります。
variantsPattern

string

省略可。リポジトリ内のバリアントの検索に使用される glob パターン。例: variants/*.yamlus-*

ターゲット

ターゲットは、Kubernetes クラスタのセットをターゲットにするさまざまな方法を定義します。

JSON 表現
{

  // Union field target can be only one of the following:
  "fleet": {
    object (Fleet)
  }
  // End of list of possible types for union field target.
}
フィールド
共用体フィールド target。フリート パッケージのターゲット。target は次のいずれかになります。
fleet

object (Fleet)

FleetPackage のロールアウトをターゲットにする GKE フリート情報。

フリート

FleetPackage をデプロイするフリート。

JSON 表現
{
  "project": string,
  "selector": {
    object (LabelSelector)
  }
}
フィールド
project

string

必須。GKE フリートのホスト プロジェクト。形式は projects/{project} です。

selector

object (LabelSelector)

省略可。セレクタを使用すると、ラベルを使用してフリート メンバーのサブセットをターゲットにできます。

LabelSelector

ラベルセレクタは、一連のリソースに対するラベルクエリです。空のラベル セレクタは、すべてのオブジェクトに一致します。

JSON 表現
{
  "matchLabels": {
    string: string,
    ...
  }
}
フィールド
matchLabels

map (key: string, value: string)

省略可。{key,value} ペアのマップ。一致条件を満たすには、各 {key,value} ペアが既存のラベルキーと値に完全に一致する必要があります。

"key": value ペアのリストを含むオブジェクト。例: { "name": "wrench", "mass": "1.3kg", "count": "3" }

VariantSelector

VariantSelector には、ResourceBundle でバリアントを選択してターゲット クラスタにデプロイするための情報が含まれています。

JSON 表現
{

  // Union field strategy can be only one of the following:
  "variantNameTemplate": string
  // End of list of possible types for union field strategy.
}
フィールド
共用体フィールド strategy。バリアントを選択するための戦略。strategy は次のいずれかになります。
variantNameTemplate

string

必須。variantNameTemplate は、ターゲット クラスタのバリアント名を生成するために、クラスタのメンバーシップに関するメタデータ(ロケーション、名前、ラベルなど)を含む変数を参照できるテンプレートです。変数の構文は、UNIX のシェル変数と同様です。

使用可能な変数は ${membership.name}${membership.location}${membership.project}${membership.labels['label_name']} です。

すべてのクラスタに特定のバリアント(たとえば「default」)をデプロイする場合は、variantNameTemplate に単に「default」(変数なしの文字列)を指定できます。

FleetPackageInfo

FleetPackageInfo は、すべてのターゲット クラスタの FleetPackage のステータスを表します。

JSON 表現
{
  "activeRollout": string,
  "lastCompletedRollout": string,
  "state": enum (State),
  "errors": [
    {
      object (FleetPackageError)
    }
  ]
}
フィールド
activeRollout

string

省略可。アクティブなロールアウト(ある場合)。形式は projects/{project}/locations/{location}/fleetPackages/{fleetPackage}/rollouts/{rollout} です。

lastCompletedRollout

string

省略可。最後に完了したロールアウト(存在する場合)。形式は projects/{project}/locations/{location}/fleetPackages/{fleetPackage}/rollouts/{rollout} です。

state

enum (State)

省略可。出力専用。FleetPackage の現在の状態。

errors[]

object (FleetPackageError)

省略可。出力専用。構成のデプロイ中に発生したエラー(ある場合)。

状態

FleetPackage 状態の有効な値。

列挙型
STATE_UNSPECIFIED 未指定の状態
ACTIVE FleetPackage がアクティブです。
SUSPENDED FleetPackage は停止されています。
FAILED FleetPackage の調整に失敗しました。
DELETING FleetPackage を削除しています。

FleetPackageError

構成のロールアウト中に発生したエラーを表す情報。

JSON 表現
{
  "errorMessage": string
}
フィールド
errorMessage

string

省略可。エラーの説明。

状態

State は、フリート パッケージの望ましい状態を示します。未指定の値は ACTIVE と同等です。状態が SUSPENDED に設定されている場合、アクティブなロールアウト(存在する場合)は継続されますが、新しいロールアウトはスケジュールされません。

列挙型
STATE_UNSPECIFIED 未指定の状態
ACTIVE FleetPackage はアクティブになることを想定しています。
SUSPENDED FleetPackage は一時停止される予定です。

メソッド

create

指定されたプロジェクトとロケーションに新しい FleetPackage を作成します。

delete

単一の FleetPackage を削除します。

get

1 つの FleetPackage の詳細を取得します。

list

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

patch

単一の FleetPackage のパラメータを更新します。