REST Resource: projects.locations.targets

リソース: Target

Cloud Deploy API の Target リソース。

Target は、Skaffold 構成をデプロイできる場所を定義します。

JSON 表現
{
  "name": string,
  "targetId": string,
  "uid": string,
  "description": string,
  "annotations": {
    string: string,
    ...
  },
  "labels": {
    string: string,
    ...
  },
  "requireApproval": boolean,
  "createTime": string,
  "updateTime": string,
  "etag": string,
  "executionConfigs": [
    {
      object (ExecutionConfig)
    }
  ],
  "deployParameters": {
    string: string,
    ...
  },

  // Union field deployment_target can be only one of the following:
  "gke": {
    object (GkeCluster)
  },
  "anthosCluster": {
    object (AnthosCluster)
  },
  "run": {
    object (CloudRunLocation)
  },
  "multiTarget": {
    object (MultiTarget)
  },
  "customTarget": {
    object (CustomTarget)
  }
  // End of list of possible types for union field deployment_target.
}
フィールド
name

string

省略可。Target の名前。形式は projects/{project}/locations/{location}/targets/{target} です。target コンポーネントは [a-z]([a-z0-9-]{0,61}[a-z0-9])? と一致する必要があります。

targetId

string

出力専用。Target のリソース ID。

uid

string

出力専用。Target の固有識別子。

description

string

省略可。Target の説明。最大長は 255 文字です。

annotations

map (key: string, value: string)

省略可。ユーザー アノテーション。これらの属性はユーザーのみが設定、使用できます。Cloud Deploy は設定、使用することはできません。形式やサイズの制限などの詳細については、https://google.aip.dev/128#annotations をご覧ください。

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

labels

map (key: string, value: string)

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

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

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

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

requireApproval

boolean

省略可。Target に承認が必要かどうか。

createTime

string (Timestamp format)

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

RFC3339 UTC「Zulu」形式のタイムスタンプ。精度はナノ秒まで、小数点以下は最大 9 桁。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

updateTime

string (Timestamp format)

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

RFC3339 UTC「Zulu」形式のタイムスタンプ。精度はナノ秒まで、小数点以下は最大 9 桁。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

etag

string

省略可。このチェックサムは、他のフィールドの値に基づいてサーバーによって計算されて、更新リクエストと削除リクエストで送信され、続行する前にクライアントが最新の値を持っていることを確認できます。

executionConfigs[]

object (ExecutionConfig)

この Target に関連するすべての実行の構成。各 ExecutionEnvironmentUsage 値は 1 つの構成でのみ使用できます。同じ値を複数回使用するとエラーになります。1 つ以上の構成を指定する場合、RENDERDEPLOY ExecutionEnvironmentUsage 値を含める必要があります。構成が指定されていない場合は、DefaultPool で指定されたデフォルトが実行で使用されます。

deployParameters

map (key: string, value: string)

省略可。このターゲットに使用するデプロイ パラメータ。

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

共用体フィールド deployment_target。ロールアウト中に Skaffold 構成が適用される宛先。deployment_target は次のいずれかになります。
gke

object (GkeCluster)

省略可。GKE クラスタを指定する情報。

anthosCluster

object (AnthosCluster)

省略可。Anthos クラスタを指定する情報。

run

object (CloudRunLocation)

省略可。Cloud Run のデプロイ ターゲットを指定する情報。

multiTarget

object (MultiTarget)

省略可。マルチターゲットを指定する情報。

customTarget

object (CustomTarget)

省略可。カスタム ターゲットを指定する情報。

GkeCluster

GKE クラスタを指定する情報。

JSON 表現
{
  "cluster": string,
  "internalIp": boolean
}
フィールド
cluster

string

省略可。GKE クラスタを指定する情報。形式は projects/{projectId}/locations/{locationId}/clusters/{cluster_id} です。

internalIp

boolean

省略可。true の場合、cluster には、コントロール プレーン エンドポイントのプライベート IP アドレスを使用してアクセスします。それ以外の場合は、コントロール プレーン エンドポイントのデフォルトの IP アドレスが使用されます。デフォルトの IP アドレスは、プライベート コントロール プレーン エンドポイントを持つクラスタの場合はプライベート IP アドレスです。それ以外の場合はパブリック IP アドレスです。

このオプションは、cluster限定公開 GKE クラスタの場合にのみ指定します。

AnthosCluster

Anthos クラスタを指定する情報。

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

string

省略可。Skaffold 構成を適用する GKE Hub 登録済みのクラスタのメンバーシップ。形式は projects/{project}/locations/{location}/memberships/{membership_name} です。

CloudRunLocation

Cloud Run サービスをデプロイする場所を指定する情報。

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

string

必須。Cloud Run サービスのロケーション。形式は projects/{project}/locations/{location} である必要があります。

MultiTarget

マルチターゲットを指定する情報。

JSON 表現
{
  "targetIds": [
    string
  ]
}
フィールド
targetIds[]

string

必須。この multiTarget の targetIds。

CustomTarget

カスタム ターゲットを指定する情報。

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

string

必須。CustomTargetType の名前。形式は projects/{project}/locations/{location}/customTargetTypes/{customTargetType} である必要があります。

ExecutionConfig

Skaffold を呼び出すときに使用する環境の構成。

JSON 表現
{
  "usages": [
    enum (ExecutionEnvironmentUsage)
  ],
  "workerPool": string,
  "serviceAccount": string,
  "artifactStorage": string,
  "executionTimeout": string,
  "verbose": boolean,

  // Union field execution_environment can be only one of the following:
  "defaultPool": {
    object (DefaultPool)
  },
  "privatePool": {
    object (PrivatePool)
  }
  // End of list of possible types for union field execution_environment.
}
フィールド
usages[]

enum (ExecutionEnvironmentUsage)

必須。この構成を適用する必要がある状況。

workerPool

string

省略可。WorkerPool のリソース名(projects/{project}/locations/{location}/workerPools/{workerPool} 形式)。このオプション フィールドが指定されていない場合は、デフォルトの Cloud Build プールが使用されます。

serviceAccount

string

省略可。実行に使用する Google サービス アカウント。指定しない場合は、プロジェクト実行サービス アカウント(-compute@developer.gserviceaccount.com)が使用されます。

artifactStorage

string

省略可。実行の出力を保存する Cloud Storage のロケーション。バケット(「gs://my-bucket」)またはバケット内のパス(「gs://my-bucket/my-dir」)を指定できます。指定しない場合、同じリージョンにあるデフォルトのバケットが使用されます。

executionTimeout

string (Duration format)

省略可。Cloud Build Execution の実行タイムアウト。値は 10 分~24 時間で、秒単位で指定する必要があります。指定しない場合、デフォルトのタイムアウト(1 時間)が使用されます。

s で終わる小数 9 桁までの秒単位の期間。例: "3.5s"

verbose

boolean

省略可。true の場合、この実行環境で実行中の Cloud Build の実行に対して追加のロギングが有効になります。

共用体フィールド execution_environment。環境の詳細。execution_environment は次のいずれかになります。
defaultPool

object (DefaultPool)

省略可。デフォルトの Cloud Build プールを使用します。

privatePool

object (PrivatePool)

省略可。プライベート Cloud Build プールを使用します。

ExecutionEnvironmentUsage

この構成の考えられる用途。

列挙型
EXECUTION_ENVIRONMENT_USAGE_UNSPECIFIED デフォルト値。この値は使用されません。
RENDER レンダリングに使用します。
DEPLOY デプロイとデプロイフックに使用します。
VERIFY デプロイの検証に使用します。
PREDEPLOY デプロイ前ジョブの実行に使用します。
POSTDEPLOY デプロイ後のジョブ実行に使用します。

DefaultPool

デフォルトの Cloud Build プールを使用した実行。

JSON 表現
{
  "serviceAccount": string,
  "artifactStorage": string
}
フィールド
serviceAccount

string

省略可。実行に使用する Google サービス アカウント。指定しない場合は、プロジェクト実行サービス アカウント(-compute@developer.gserviceaccount.com)が使用されます。

artifactStorage

string

省略可。実行の出力を保存する Cloud Storage の場所。バケット(「gs://my-bucket」)またはバケット内のパス(「gs://my-bucket/my-dir」)を指定できます。指定しない場合、同じリージョンにあるデフォルトのバケットが使用されます。

PrivatePool

プライベート Cloud Build プールを使用した実行。

JSON 表現
{
  "workerPool": string,
  "serviceAccount": string,
  "artifactStorage": string
}
フィールド
workerPool

string

必須。使用する Cloud Build ワーカープールのリソース名。形式は projects/{project}/locations/{location}/workerPools/{pool} です。

serviceAccount

string

省略可。実行に使用する Google サービス アカウント。指定しない場合は、プロジェクト実行サービス アカウント(-compute@developer.gserviceaccount.com)が使用されます。

artifactStorage

string

省略可。実行の出力を保存する Cloud Storage の場所。バケット(「gs://my-bucket」)またはバケット内のパス(「gs://my-bucket/my-dir」)を指定できます。指定しない場合、同じリージョンにあるデフォルトのバケットが使用されます。

メソッド

create

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

delete

1 つの Target を削除します。

get

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

getIamPolicy

リソースのアクセス制御ポリシーを取得します。

list

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

patch

1 つの Target のパラメータを更新します。

setIamPolicy

指定したリソースにアクセス制御ポリシーを設定します。

testIamPermissions

指定されたリソースに対して呼び出し元が持っている権限を返します。