도구: create_unit
Unit 리소스를 만듭니다. 필수 매개변수: 'parent' (예: projects/my-project/locations/us-central1), 'unit_id', 'unit' 선택적 매개변수: 'validate_only', 'request_id'
다음 샘플은 curl를 사용하여 create_unit MCP 도구를 호출하는 방법을 보여줍니다.
| curl 요청 |
|---|
curl --location 'https://saasservicemgmt.googleapis.com/mcp' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/call", "params": { "name": "create_unit", "arguments": { // provide these details according to the tool's MCP specification } }, "jsonrpc": "2.0", "id": 1 }' |
입력 스키마
CreateUnit 메서드의 요청 구조입니다.
CreateUnitRequest
| JSON 표현 |
|---|
{
"parent": string,
"unitId": string,
"unit": {
object ( |
| 필드 | |
|---|---|
parent |
필수 항목입니다. 단위의 상위 요소입니다. |
unitId |
필수 항목입니다. 새 단위의 ID 값입니다. |
unit |
필수 항목입니다. 단위의 원하는 상태입니다. |
validateOnly |
'validate_only'가 true로 설정된 경우 서비스는 이 요청이 성공하는지 확인하려고 하지만 실제로 변경하지는 않습니다. |
requestId |
요청을 식별하는 선택적 요청 ID입니다. 요청을 다시 시도해야 하는 경우 서버가 이미 완료되었을 때 요청을 무시하도록 고유한 요청 ID를 지정합니다. 서버는 첫 번째 요청 후 최소 60분 동안 이를 보장합니다. 예를 들어 최초 요청을 수행하고 요청이 타임아웃되는 경우를 생각해 보세요. 동일한 요청 ID로 다시 요청을 수행하면 서버는 동일한 요청 ID를 가진 원래 작업이 수신되었는지 확인할 수 있으며 그럴 경우 두 번째 요청을 무시합니다. 이렇게 해서 클라이언트가 실수로 중복된 약정을 생성하지 않도록 방지합니다. 요청 ID는 유효한 UUID여야 하며, 0 UUID는 지원되지 않습니다(00000000-0000-0000-0000-000000000000). |
단위
| JSON 표현 |
|---|
{ "name": string, "unitKind": string, "release": string, "tenant": string, "ongoingOperations": [ string ], "pendingOperations": [ string ], "scheduledOperations": [ string ], "dependents": [ { object ( |
| 필드 | |
|---|---|
name |
식별자. 표준 명명 규칙을 따르는 리소스 이름 (리소스의 전체 URI)입니다. "projects/{project}/locations/{location}/units/{unit}" |
unitKind |
선택사항입니다. 이 단위가 속한 UnitKind에 대한 참조입니다. 설정 후 변경 불가 |
release |
선택사항입니다. 출력 전용입니다. 이 단위의 현재 출시 객체입니다. |
tenant |
선택사항입니다. 이 단위가 속한 SaaS 테넌트 리소스에 대한 참조입니다. 예를 들어 이는 단위의 향후 업데이트를 예약하는 데 사용할 유지보수 정책을 알려줍니다. (선택사항이며 생성 후에는 변경할 수 없음) |
ongoingOperations[] |
선택사항입니다. 출력 전용입니다. 이 단위에서 작동하는 동시 UnitOperation 목록입니다. |
pendingOperations[] |
선택사항입니다. 출력 전용입니다. 이 단위의 대기 중 (실행 대기) UnitOperation 목록입니다. |
scheduledOperations[] |
선택사항입니다. 출력 전용입니다. 이 단위의 예약된 UnitOperation 목록입니다. |
dependents[] |
선택사항입니다. 출력 전용입니다. 이 단위를 사용하는 단위 목록입니다. 이 목록이 비어 있는 경우에만 단위를 프로비저닝 해제할 수 있습니다. 최대 1,000개 |
dependencies[] |
선택사항입니다. 출력 전용입니다. 이 단위의 종속 항목 집합입니다. 최대 10개 |
inputVariables[] |
선택사항입니다. 출력 전용입니다. 단위에서 배포한 현재 입력 변수를 나타냅니다. |
outputVariables[] |
선택사항입니다. 출력 전용입니다. 작동 템플릿 실행의 출력 변수에 해당하는 키/값 쌍 집합입니다. 변수는 작동 구성 (예: Helm 차트 또는 Terraform)에 선언되며 값은 실행이 완료되면 작동 엔진에 의해 가져오고 반환됩니다. |
maintenance |
선택사항입니다. 기기에서 향후 유지보수를 실행하기 위해 요청된 지시어를 캡처합니다. 여기에는 일정 기간 동안 유지보수를 건너뛰고 현재 릴리스에 고정되도록 요청하는 기능과 향후 예정된 유지보수를 연기하는 제어가 포함됩니다. |
state |
선택사항입니다. 출력 전용입니다. 리소스의 현재 수명 주기 상태입니다 (예: 생성 중인지 또는 사용할 준비가 되었는지). |
conditions[] |
선택사항입니다. 출력 전용입니다. 이 리소스가 가질 수 있는 다양한 조건을 나타내는 조건 집합입니다. |
managementMode |
선택사항입니다. 변경할 수 없습니다. 단위 수명 주기가 사용자 또는 시스템에 의해 제어되는지 여부를 나타냅니다. 생성 후 변경 불가 |
systemManagedState |
선택사항입니다. 출력 전용입니다. 단위의 시스템 관리 상태를 나타냅니다. |
systemCleanupAt |
선택사항입니다. 출력 전용입니다. 설정된 경우 시스템이 단위를 삭제하기 시작할 시간을 나타냅니다. 생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 |
flagRevisions[] |
선택사항입니다. 출력 전용입니다. 이 단위에서 사용되는 플래그 버전입니다. |
application |
선택사항입니다. 이 단위가 속한 AppHub 애플리케이션에 대한 참조입니다. 이 단위에 배포된 모든 리소스는 지정된 애플리케이션과 연결됩니다. |
flagConfigName |
출력 전용입니다. 이 필드는 이 단위에서 사용할 플래그 구성의 고유 식별자를 저장합니다. |
labels |
선택사항입니다. 분류에 사용할 수 있는 리소스의 라벨입니다. Kubernetes 리소스 라벨과 유사합니다.
|
annotations |
선택사항입니다. 주석은 리소스와 함께 저장되는 구조화되지 않은 키-값 맵으로, 임의의 메타데이터를 저장하고 검색하기 위해 외부 도구에서 설정할 수 있습니다. 이러한 속성은 쿼리할 수 없으며 객체를 수정할 때 보존해야 합니다. 자세한 내용은 https://kubernetes.io/docs/user-guide/annotations를 참고하세요.
|
uid |
출력 전용입니다. 리소스의 고유 식별자입니다. UID는 서비스의 범위 내에서 이 리소스의 특정 시점과 공간에서 고유합니다. 일반적으로 리소스가 생성될 때 서버에서 생성되며 변경할 수 없습니다. UID는 리소스 이름을 재사용하는 리소스를 고유하게 식별하는 데 사용되며 UUID4여야 합니다. |
etag |
출력 전용입니다. 리소스의 버전 또는 세대를 고유하게 식별하는 불투명 값입니다. 클라이언트 및 서버의 리소스 작성 순서가 일치함을 확인하는 데 사용될 수 있습니다. |
createTime |
출력 전용입니다. 리소스가 생성된 타임스탬프입니다. 생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 |
updateTime |
출력 전용입니다. 리소스가 최종 업데이트된 타임스탬프입니다. 사용자가 리소스를 변경하면 이 값이 새로고침되어야 합니다. 서비스가 리소스를 변경하면 이 값이 새로고침되어야 합니다. 생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 |
satisfiesPzs |
출력 전용입니다. 리소스 위치가 영역 분리 제약 조건을 충족하는지 여부를 나타냅니다. 기본적으로 false입니다. |
satisfiesPzi |
출력 전용입니다. 나중에 사용하기 위해 예약되어 있습니다. |
UnitDependency
| JSON 표현 |
|---|
{ "alias": string, "unit": string } |
| 필드 | |
|---|---|
alias |
출력 전용입니다. 종속 항목 이름의 별칭입니다. |
unit |
출력 전용입니다. Unit 객체에 대한 참조입니다. |
UnitVariable
| JSON 표현 |
|---|
{
"variable": string,
"type": enum ( |
| 필드 | |
|---|---|
variable |
필수 항목. 변경할 수 없습니다. 작동 구성의 변수 이름입니다. |
type |
선택사항입니다. 변경할 수 없습니다. 지원되는 변수 유형의 이름입니다. 지원되는 유형은 string, int, bool입니다. |
value |
선택사항입니다. 변수의 문자열 인코딩 값입니다. |
MaintenanceSettings
| JSON 표현 |
|---|
{ "pinnedUntilTime": string } |
| 필드 | |
|---|---|
pinnedUntilTime |
선택사항입니다. 선택된 경우 지정된 시간까지 단위의 출시 버전이 고정됩니다. 즉, 출시 버전 필드의 변경이 거부됩니다. 출시도 업그레이드를 요청하지 않아 이 설정이 준수됩니다. 생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 |
타임스탬프
| JSON 표현 |
|---|
{ "seconds": string, "nanos": integer } |
| 필드 | |
|---|---|
seconds |
Unix epoch 1970-01-01T00:00:00Z 이후 UTC 시간의 초 단위로 표현합니다. -62135596800~253402300799 (0001-01-01T00:00:00Z~9999-12-31T23:59:59Z) 사이여야 합니다. |
nanos |
나노초 단위의 음수가 아닌 초수입니다. 이 필드는 기간의 나노초 부분이며 초의 대안이 아닙니다. 음수의 초수 값에는 시간에 반영되는 음수가 아닌 나노초 값이 있어야 합니다. 0~999,999,999(포함) 사이여야 합니다. |
UnitCondition
| JSON 표현 |
|---|
{ "status": enum ( |
| 필드 | |
|---|---|
status |
필수 항목입니다. 조건의 상태입니다. |
type |
필수 항목입니다. 조건의 유형입니다. |
lastTransitionTime |
필수 항목입니다. 조건이 특정 상태에서 다른 상태로 전환된 마지막 시간입니다. 생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 |
message |
필수 항목입니다. 마지막 전환에 대한 세부정보를 나타내는 인간이 읽을 수 있는 메시지입니다. |
reason |
필수 항목입니다. 조건의 마지막 전환에 대한 간단한 이유입니다. |
LabelsEntry
| JSON 표현 |
|---|
{ "key": string, "value": string } |
| 필드 | |
|---|---|
key |
|
value |
|
AnnotationsEntry
| JSON 표현 |
|---|
{ "key": string, "value": string } |
| 필드 | |
|---|---|
key |
|
value |
|
출력 스키마
내부에서 작동 엔진 (예: Terraform, Helm 또는 서비스 프로듀서가 제공하는 맞춤 구현 기반)을 사용하는 CRUD API를 통해 수명 주기가 있는 배포 단위입니다. SaaS 테넌트의 구성요소입니다.
단위
| JSON 표현 |
|---|
{ "name": string, "unitKind": string, "release": string, "tenant": string, "ongoingOperations": [ string ], "pendingOperations": [ string ], "scheduledOperations": [ string ], "dependents": [ { object ( |
| 필드 | |
|---|---|
name |
식별자. 표준 명명 규칙을 따르는 리소스 이름 (리소스의 전체 URI)입니다. "projects/{project}/locations/{location}/units/{unit}" |
unitKind |
선택사항입니다. 이 단위가 속한 UnitKind에 대한 참조입니다. 설정 후 변경 불가 |
release |
선택사항입니다. 출력 전용입니다. 이 단위의 현재 출시 객체입니다. |
tenant |
선택사항입니다. 이 단위가 속한 SaaS 테넌트 리소스에 대한 참조입니다. 예를 들어 이는 단위의 향후 업데이트를 예약하는 데 사용할 유지보수 정책을 알려줍니다. (선택사항이며 생성 후에는 변경할 수 없음) |
ongoingOperations[] |
선택사항입니다. 출력 전용입니다. 이 단위에서 작동하는 동시 UnitOperation 목록입니다. |
pendingOperations[] |
선택사항입니다. 출력 전용입니다. 이 단위의 대기 중 (실행 대기) UnitOperation 목록입니다. |
scheduledOperations[] |
선택사항입니다. 출력 전용입니다. 이 단위의 예약된 UnitOperation 목록입니다. |
dependents[] |
선택사항입니다. 출력 전용입니다. 이 단위를 사용하는 단위 목록입니다. 이 목록이 비어 있는 경우에만 단위를 프로비저닝 해제할 수 있습니다. 최대 1,000개 |
dependencies[] |
선택사항입니다. 출력 전용입니다. 이 단위의 종속 항목 집합입니다. 최대 10개 |
inputVariables[] |
선택사항입니다. 출력 전용입니다. 단위에서 배포한 현재 입력 변수를 나타냅니다. |
outputVariables[] |
선택사항입니다. 출력 전용입니다. 작동 템플릿 실행의 출력 변수에 해당하는 키/값 쌍 집합입니다. 변수는 작동 구성 (예: Helm 차트 또는 Terraform)에 선언되며 값은 실행이 완료되면 작동 엔진에 의해 가져오고 반환됩니다. |
maintenance |
선택사항입니다. 기기에서 향후 유지보수를 실행하기 위해 요청된 지시어를 캡처합니다. 여기에는 일정 기간 동안 유지보수를 건너뛰고 현재 릴리스에 고정되도록 요청하는 기능과 향후 예정된 유지보수를 연기하는 제어가 포함됩니다. |
state |
선택사항입니다. 출력 전용입니다. 리소스의 현재 수명 주기 상태입니다 (예: 생성 중인지 또는 사용할 준비가 되었는지). |
conditions[] |
선택사항입니다. 출력 전용입니다. 이 리소스가 가질 수 있는 다양한 조건을 나타내는 조건 집합입니다. |
managementMode |
선택사항입니다. 변경할 수 없습니다. 단위 수명 주기가 사용자 또는 시스템에 의해 제어되는지 여부를 나타냅니다. 생성 후 변경 불가 |
systemManagedState |
선택사항입니다. 출력 전용입니다. 단위의 시스템 관리 상태를 나타냅니다. |
systemCleanupAt |
선택사항입니다. 출력 전용입니다. 설정된 경우 시스템이 단위를 삭제하기 시작할 시간을 나타냅니다. 생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 |
flagRevisions[] |
선택사항입니다. 출력 전용입니다. 이 단위에서 사용되는 플래그 버전입니다. |
application |
선택사항입니다. 이 단위가 속한 AppHub 애플리케이션에 대한 참조입니다. 이 단위에 배포된 모든 리소스는 지정된 애플리케이션과 연결됩니다. |
flagConfigName |
출력 전용입니다. 이 필드는 이 단위에서 사용할 플래그 구성의 고유 식별자를 저장합니다. |
labels |
선택사항입니다. 분류에 사용할 수 있는 리소스의 라벨입니다. Kubernetes 리소스 라벨과 유사합니다.
|
annotations |
선택사항입니다. 주석은 리소스와 함께 저장되는 구조화되지 않은 키-값 맵으로, 임의의 메타데이터를 저장하고 검색하기 위해 외부 도구에서 설정할 수 있습니다. 이러한 속성은 쿼리할 수 없으며 객체를 수정할 때 보존해야 합니다. 자세한 내용은 https://kubernetes.io/docs/user-guide/annotations를 참고하세요.
|
uid |
출력 전용입니다. 리소스의 고유 식별자입니다. UID는 서비스의 범위 내에서 이 리소스의 특정 시점과 공간에서 고유합니다. 일반적으로 리소스가 생성될 때 서버에서 생성되며 변경할 수 없습니다. UID는 리소스 이름을 재사용하는 리소스를 고유하게 식별하는 데 사용되며 UUID4여야 합니다. |
etag |
출력 전용입니다. 리소스의 버전 또는 세대를 고유하게 식별하는 불투명 값입니다. 클라이언트 및 서버의 리소스 작성 순서가 일치함을 확인하는 데 사용될 수 있습니다. |
createTime |
출력 전용입니다. 리소스가 생성된 타임스탬프입니다. 생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 |
updateTime |
출력 전용입니다. 리소스가 최종 업데이트된 타임스탬프입니다. 사용자가 리소스를 변경하면 이 값이 새로고침되어야 합니다. 서비스가 리소스를 변경하면 이 값이 새로고침되어야 합니다. 생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 |
satisfiesPzs |
출력 전용입니다. 리소스 위치가 영역 분리 제약 조건을 충족하는지 여부를 나타냅니다. 기본적으로 false입니다. |
satisfiesPzi |
출력 전용입니다. 나중에 사용하기 위해 예약되어 있습니다. |
UnitDependency
| JSON 표현 |
|---|
{ "alias": string, "unit": string } |
| 필드 | |
|---|---|
alias |
출력 전용입니다. 종속 항목 이름의 별칭입니다. |
unit |
출력 전용입니다. Unit 객체에 대한 참조입니다. |
UnitVariable
| JSON 표현 |
|---|
{
"variable": string,
"type": enum ( |
| 필드 | |
|---|---|
variable |
필수 항목. 변경할 수 없습니다. 작동 구성의 변수 이름입니다. |
type |
선택사항입니다. 변경할 수 없습니다. 지원되는 변수 유형의 이름입니다. 지원되는 유형은 string, int, bool입니다. |
value |
선택사항입니다. 변수의 문자열 인코딩 값입니다. |
MaintenanceSettings
| JSON 표현 |
|---|
{ "pinnedUntilTime": string } |
| 필드 | |
|---|---|
pinnedUntilTime |
선택사항입니다. 선택된 경우 지정된 시간까지 단위의 출시 버전이 고정됩니다. 즉, 출시 버전 필드의 변경이 거부됩니다. 출시도 업그레이드를 요청하지 않아 이 설정이 준수됩니다. 생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 |
타임스탬프
| JSON 표현 |
|---|
{ "seconds": string, "nanos": integer } |
| 필드 | |
|---|---|
seconds |
Unix epoch 1970-01-01T00:00:00Z 이후 UTC 시간의 초 단위로 표현합니다. -62135596800~253402300799 (0001-01-01T00:00:00Z~9999-12-31T23:59:59Z) 사이여야 합니다. |
nanos |
나노초 단위의 음수가 아닌 초수입니다. 이 필드는 기간의 나노초 부분이며 초의 대안이 아닙니다. 음수의 초수 값에는 시간에 반영되는 음수가 아닌 나노초 값이 있어야 합니다. 0~999,999,999(포함) 사이여야 합니다. |
UnitCondition
| JSON 표현 |
|---|
{ "status": enum ( |
| 필드 | |
|---|---|
status |
필수 항목입니다. 조건의 상태입니다. |
type |
필수 항목입니다. 조건의 유형입니다. |
lastTransitionTime |
필수 항목입니다. 조건이 특정 상태에서 다른 상태로 전환된 마지막 시간입니다. 생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 |
message |
필수 항목입니다. 마지막 전환에 대한 세부정보를 나타내는 인간이 읽을 수 있는 메시지입니다. |
reason |
필수 항목입니다. 조건의 마지막 전환에 대한 간단한 이유입니다. |
LabelsEntry
| JSON 표현 |
|---|
{ "key": string, "value": string } |
| 필드 | |
|---|---|
key |
|
value |
|
AnnotationsEntry
| JSON 표현 |
|---|
{ "key": string, "value": string } |
| 필드 | |
|---|---|
key |
|
value |
|
도구 주석
파괴적 힌트: ❌ | 동일한 힌트: ❌ | 읽기 전용 힌트: ❌ | 오픈 월드 힌트: ❌