REST Resource: projects.locations.rollouts

리소스: 출시

단일 출시 실행 및 결과를 나타냅니다.

JSON 표현
{
  "name": string,
  "release": string,
  "startTime": string,
  "endTime": string,
  "state": enum (RolloutState),
  "stateMessage": string,
  "stateTransitionTime": string,
  "rootRollout": string,
  "parentRollout": string,
  "rolloutOrchestrationStrategy": string,
  "unitFilter": string,
  "rolloutKind": string,
  "stats": {
    object (RolloutStats)
  },
  "control": {
    object (RolloutControl)
  },
  "effectiveUnitFilter": string,
  "labels": {
    string: string,
    ...
  },
  "annotations": {
    string: string,
    ...
  },
  "uid": string,
  "etag": string,
  "createTime": string,
  "updateTime": string,
  "deleteTime": string
}
필드
name

string

식별자. 표준 명명 규칙을 따르는 리소스 이름 (리소스의 전체 URI)입니다.

"projects/{project}/locations/{location}/rollout/{rolloutId}"

release

string

선택사항입니다. 변경할 수 없습니다. 타겟 단위에 출시되는 출시 버전의 이름입니다. 다른 유형의 출시가 지정되지 않은 경우 필수입니다.

startTime

string (Timestamp format)

선택사항입니다. 출력 전용입니다. 출시가 실행되기 시작한 시간입니다. 출시가 아직 시작되지 않은 경우 비어 있습니다.

생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" 또는 "2014-10-02T15:01:23+05:30"입니다.

endTime

string (Timestamp format)

선택사항입니다. 출력 전용입니다. 롤아웃 실행이 완료된 시간입니다 (성공, 실패, 취소 여부와 관계없음). 출시가 아직 완료되지 않은 경우 비어 있습니다. 설정되면 롤아웃이 최종 상태가 되고 모든 결과가 최종 결과가 됩니다.

생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" 또는 "2014-10-02T15:01:23+05:30"입니다.

state

enum (RolloutState)

출력 전용입니다. 출시의 현재 상태입니다.

stateMessage

string

출력 전용입니다. 마지막 상태 전환에 대한 세부정보를 나타내는 인간이 읽을 수 있는 메시지입니다.

stateTransitionTime

string (Timestamp format)

선택사항입니다. 출력 전용입니다. 롤아웃이 현재 상태로 전환된 시간입니다.

생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" 또는 "2014-10-02T15:01:23+05:30"입니다.

rootRollout

string

선택사항입니다. 출력 전용입니다. 이 출시가 파생된 루트 출시입니다. 표준 명명 규칙을 따르는 리소스 이름 (리소스의 전체 URI)입니다.

"projects/{project}/locations/{location}/rollouts/{rolloutId}"

parentRollout

string

선택사항입니다. 출력 전용입니다. 이 출시가 파생된 직접 상위 출시입니다. 표준 명명 규칙을 따르는 리소스 이름 (리소스의 전체 URI)입니다.

"projects/{project}/locations/{location}/rollouts/{rolloutId}"

rolloutOrchestrationStrategy

string

선택사항입니다. 이 출시를 실행하는 데 사용된 전략입니다. 이 전략은 RolloutKind에 지정된 전략을 재정의합니다. 생성 시 지정하지 않으면 RolloutKind의 전략이 사용됩니다.

'Google.Cloud.Simple.AllAtOnce' 및 'Google.Cloud.Simple.OneLocationAtATime'의 두 가지 지원되는 값 전략이 있습니다.

이러한 간단한 전략 중 하나를 사용하여 출시하면 타겟 UnitKind의 Saas Locations에 정의된 모든 위치에 출시됩니다.

unitFilter

string

선택사항입니다. 단위에 대한 CEL(https://github.com/google/cel-spec) 형식의 필터 문자열입니다. 필터가 적용되어 적격 단위 인구를 결정합니다. 이 필터는 출시 범위를 줄일 수만 있고 늘릴 수는 없습니다. 제공되지 않으면 RolloutKind의 unitFilter가 사용됩니다.

rolloutKind

string

선택사항입니다. 변경할 수 없습니다. 이 출시가 파생되고 준수하는 RolloutKind의 이름입니다.

stats

object (RolloutStats)

선택사항입니다. 출력 전용입니다. 출시 진행 상황에 대한 세부정보입니다.

control

object (RolloutControl)

선택사항입니다. 이 출시의 실행에 대한 변경이 요청되었습니다. 기본 RolloutControl.action은 ROLLOUT_ACTION_RUN입니다. 즉, 모든 자연스러운 출시 상태 (예: RUNNING -> SUCCEEDED 또는 RUNNING -> FAILED)를 진행하는 동안 출시가 완료될 때까지 실행됩니다. 요청은 출시가 최종 상태가 아닌 경우에만 할 수 있습니다.

effectiveUnitFilter

string

선택사항입니다. 출력 전용입니다. 출시 시작 시간에 유효한 단위 필터의 스냅샷만 출력합니다. Rollout.unit_filter와 RolloutKind.unit_filter의 접속사로 구성된 CEL(https://github.com/google/cel-spec) 표현식을 포함합니다. 이 필드는 출시에서 단위 인구를 결정하기 위해 적용한 필터를 캡처합니다. 롤아웃이 시작된 후 연결된 RolloutKind의 unitFilter가 수정되면 여기에서 업데이트되지 않습니다.

labels

map (key: string, value: string)

선택사항입니다. 분류에 사용할 수 있는 리소스의 라벨입니다. Kubernetes 리소스 라벨과 유사합니다.

"key": value 쌍 목록을 포함하는 객체입니다. 예: { "name": "wrench", "mass": "1.3kg", "count": "3" }

annotations

map (key: string, value: string)

선택사항입니다. 주석은 리소스와 함께 저장되는 구조화되지 않은 키-값 맵으로, 임의의 메타데이터를 저장하고 검색하기 위해 외부 도구에서 설정할 수 있습니다. 쿼리할 수 없으며 객체를 수정할 때 보존해야 합니다.

자세한 내용은 https://kubernetes.io/docs/user-guide/annotations를 참고하세요.

"key": value 쌍 목록을 포함하는 객체입니다. 예: { "name": "wrench", "mass": "1.3kg", "count": "3" }

uid

string

출력 전용입니다. 리소스의 고유 식별자입니다. UID는 서비스의 범위 내에서 이 리소스의 특정 시점과 공간에서 고유합니다. 일반적으로 리소스가 생성될 때 서버에서 생성되며 변경할 수 없습니다. UID는 리소스 이름을 재사용하는 리소스를 고유하게 식별하는 데 사용되며 UUID4여야 합니다.

etag

string

출력 전용입니다. 리소스의 버전 또는 세대를 고유하게 식별하는 불투명 값입니다. 클라이언트 및 서버의 리소스 작성 순서가 일치함을 확인하는 데 사용될 수 있습니다.

createTime

string (Timestamp format)

출력 전용입니다. 리소스가 생성된 타임스탬프입니다.

생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" 또는 "2014-10-02T15:01:23+05:30"입니다.

updateTime

string (Timestamp format)

출력 전용입니다. 리소스가 최종 업데이트된 타임스탬프입니다. 사용자가 리소스를 변경하면 이 값이 새로고침되어야 합니다. 서비스가 리소스를 변경하면 이 값이 새로고침되어야 합니다.

생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" 또는 "2014-10-02T15:01:23+05:30"입니다.

deleteTime

string (Timestamp format)

출력 전용입니다. 리소스가 삭제 대상으로 표시된 타임스탬프입니다 (삭제는 비동기 작업임).

생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" 또는 "2014-10-02T15:01:23+05:30"입니다.

RolloutState

출시의 현재 상태입니다.

열거형
ROLLOUT_STATE_UNSPECIFIED 지정되지 않은 상태입니다.
ROLLOUT_STATE_RUNNING 출시가 진행 중입니다.
ROLLOUT_STATE_PAUSED 출시가 일시중지되었습니다.
ROLLOUT_STATE_SUCCEEDED 출시가 완료되었습니다.
ROLLOUT_STATE_FAILED 출시에 실패했습니다.
ROLLOUT_STATE_CANCELLED 출시가 취소되었습니다.
ROLLOUT_STATE_WAITING 출시가 시작되기 전에 특정 조건을 충족해야 합니다.
ROLLOUT_STATE_CANCELLING 출시가 취소되고 있습니다.
ROLLOUT_STATE_RESUMING 출시가 재개됩니다.
ROLLOUT_STATE_PAUSING 출시가 일시중지됩니다.

RolloutStats

RolloutStats에는 출시 진행 상황에 관한 정보가 포함됩니다.

JSON 표현
{
  "operationsByState": [
    {
      object (Aggregate)
    }
  ]
}
필드
operationsByState[]

object (Aggregate)

선택사항입니다. 출력 전용입니다. 순서가 지정되지 않은 목록 출시로 트리거된 작업의 진행 상황을 보여줍니다. 상태별 작업 수를 제공합니다. 이를 사용하여 업데이트되었거나 업데이트될 예정인 단위 수를 확인할 수 있습니다.

그룹당 항목은 최대 하나입니다. 작업 그룹에 가능한 값은 다음과 같습니다. - 'SCHEDULED' - 'PENDING' - 'RUNNING' - 'SUCCEEDED' - 'FAILED' - 'CANCELLED'

집계

특정 그룹별로 유사한 레코드 집합의 집계를 나타냅니다. 예를 들어 단위 수의 컬렉션을 집계하고 주별로 그룹화할 수 있습니다.

JSON 표현
{
  "group": string,
  "count": integer
}
필드
group

string

필수 항목입니다. 집계할 그룹입니다.

count

integer

필수 항목입니다. 그룹의 레코드 수입니다.

RolloutControl

RolloutControl은 일시중지하거나 취소하여 Rollout 실행의 변경을 요청하는 방법을 제공합니다.

JSON 표현
{
  "action": enum (RolloutAction),

  // Union field action_params can be only one of the following:
  "runParams": {
    object (RunRolloutActionParams)
  }
  // End of list of possible types for union field action_params.
}
필드
action

enum (RolloutAction)

필수 항목입니다. 출시에서 수행할 작업입니다. 기본 동작은 출시가 자연스럽게 종료 상태에 도달할 때까지 실행하는 것입니다.

통합 필드 action_params. 작업 설정입니다. 설정은 작업과 일치해야 합니다. 예를 들어 action=RUN은 run_params만 설정하거나 모든 매개변수를 생략할 수 있습니다. 작업에 적용되지 않는 설정을 설정하면 오류가 발생합니다. action_params은 다음 중 하나여야 합니다.
runParams

object (RunRolloutActionParams)

선택사항입니다. RUN 작업의 매개변수입니다. RolloutAction이 RUN으로 설정되지 않은 경우 이를 지정하면 오류가 발생합니다. 기본적으로 출시가 재개되면 실패한 작업이 다시 시도됩니다.

RunRolloutActionParams

일시중지된 상태에서 재개될 때 출시의 동작을 제어하는 실행 작업의 매개변수입니다.

JSON 표현
{
  "retryFailedOperations": boolean
}
필드
retryFailedOperations

boolean

필수 항목입니다. true인 경우 출시가 재개될 때 실패한 작업을 재시도합니다. 이는 출시의 현재 상태가 PAUSED이고 요청된 작업이 RUN인 경우에만 적용됩니다.

RolloutAction

RolloutAction은 Rollout에서 실행할 작업을 나타냅니다.

열거형
ROLLOUT_ACTION_UNSPECIFIED 지정되지 않은 작업으로, 기본적으로 실행으로 처리됩니다.
ROLLOUT_ACTION_RUN 자연스럽게 종료 상태에 도달할 때까지 출시를 실행합니다. 실행이 요청된 출시가 모든 자연스러운 출시 상태 (예: RUNNING -> SUCCEEDED 또는 RUNNING -> FAILED)를 거칩니다. 출시 중에 재시도 가능한 오류가 발생하면 기본적으로 출시가 일시중지되며 이 RUN 작업을 다시 요청하여 재개할 수 있습니다.
ROLLOUT_ACTION_PAUSE 롤아웃이 재개될 때까지 (즉, 실행이 요청될 때까지) 롤아웃을 일시중지합니다.
ROLLOUT_ACTION_CANCEL 출시를 영구적으로 취소합니다.

메서드

create

새 출시를 만듭니다.

delete

단일 출시를 삭제합니다.

get

단일 출시를 가져옵니다.

list

롤아웃 컬렉션을 가져옵니다.

patch

단일 출시를 업데이트합니다.