REST Resource: projects.locations.targets

资源:目标

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,即“祖鲁时”)格式,精确到纳秒,最多九个小数位。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

updateTime

string (Timestamp format)

仅限输出。Target 的最近更新时间。

时间戳采用 RFC3339 世界协调时间(UTC,即“祖鲁时”)格式,精确到纳秒,最多九个小数位。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

etag

string

可选。该校验和由服务器根据其他字段的值计算,并且可能会在更新和删除请求时发送,以确保客户端在继续操作之前具有最新的值。

executionConfigs[]

object (ExecutionConfig)

与此 Target 相关的所有执行的配置。每个 ExecutionEnvironmentUsage 值只能在一项配置中使用;多次使用相同的值会导致错误。如果指定了一个或多个配置,它们必须包含 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)

可选。指定 multiTarget 的信息。

customTarget

object (CustomTarget)

可选。用于指定自定义目标的信息。

GkeCluster

用于指定 GKE 集群的信息。

JSON 表示法
{
  "cluster": string,
  "internalIp": boolean
}
字段
cluster

string

可选。用于指定 GKE 集群的信息。格式为 projects/{projectId}/locations/{locationId}/clusters/{cluster_id}

internalIp

boolean

可选。如果为 true,则使用控制平面端点的专用 IP 地址访问 cluster。否则,系统将使用控制平面端点的默认 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

指定 multiTarget 的信息。

JSON 表示法
{
  "targetIds": [
    string
  ]
}
字段
targetIds[]

string

必需。此 multiTarget 的 targetId。

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 的执行超时。该值必须介于 10m 到 24h(以秒表示)之间。如果未指定,则使用默认超时时间(1 小时)。

该时长以秒为单位,最多包含九个小数位,以“s”结尾。示例:"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

在指定的项目和位置创建一个新的目标。

delete

删除单个目标。

get

获取单个目标的详细信息。

getIamPolicy

获取资源的访问权限控制政策。

list

列出给定项目和位置中的目标。

patch

更新单个目标的参数。

setIamPolicy

设置对指定资源的访问权限控制政策。

testIamPermissions

返回调用者对指定资源拥有的权限。