26.4. GetGroups
GET /v1/groups
26.4.1. 설명
26.4.2. 매개 변수
26.4.2.1. 쿼리 매개변수
이름 | 설명 | 필수 항목 | 기본 | 패턴 |
---|---|---|---|---|
authProviderId | - | null | ||
key | - | null | ||
value | - | null | ||
id | - | null |
26.4.3. 반환 유형
26.4.4. 콘텐츠 유형
- application/json
26.4.5. 응답
코드 | 메시지 | datatype |
---|---|---|
200 | 성공적인 응답입니다. | |
0 | 예기치 않은 오류 응답 |
26.4.6. Samples
26.4.7. 공통 오브젝트 참조
26.4.7.1. ProtobufAny
any
는 직렬화된 메시지의 유형을 설명하는 URL과 함께 임의의 직렬화된 프로토콜 버퍼 메시지를 포함합니다.
protobuf 라이브러리는 유틸리티 함수 또는 Any 유형의 추가 생성 메서드 형태로 모든 값의 팩/unpack을 지원합니다.
예 1: 팩 및 C++에서 메시지의 압축을 풉니다.
Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }
Foo foo = ...;
Any any;
any.PackFrom(foo);
...
if (any.UnpackTo(&foo)) {
...
}
예 2: Java에서 메시지 팩 및 압축을 풉니다.
Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); } // or ... if (any.isSameTypeAs(Foo.getDefaultInstance())) { foo = any.unpack(Foo.getDefaultInstance()); }
Foo foo = ...;
Any any = Any.pack(foo);
...
if (any.is(Foo.class)) {
foo = any.unpack(Foo.class);
}
// or ...
if (any.isSameTypeAs(Foo.getDefaultInstance())) {
foo = any.unpack(Foo.getDefaultInstance());
}
Example 3: Pack and unpack a message in Python.
Example 3: Pack and unpack a message in Python.
foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...
foo = Foo(...)
any = Any()
any.Pack(foo)
...
if any.Is(Foo.DESCRIPTOR):
any.Unpack(foo)
...
Example 4: Pack and unpack a message in Go
Example 4: Pack and unpack a message in Go
foo := &pb.Foo{...} any, err := anypb.New(foo) if err != nil { ... } ... foo := &pb.Foo{} if err := any.UnmarshalTo(foo); err != nil { ... }
foo := &pb.Foo{...}
any, err := anypb.New(foo)
if err != nil {
...
}
...
foo := &pb.Foo{}
if err := any.UnmarshalTo(foo); err != nil {
...
}
protobuf 라이브러리에서 제공하는 pack 메서드는 기본적으로 유형 URL로 'type.googleapis.com/full.type.name'을 사용하고 압축 해제 방법은 유형 URL에서 마지막 '/' 후에만 정규화된 유형 이름을 사용합니다(예: "foo.bar.com/x/y.z")는 유형 이름 "y.z"를 생성합니다.
26.4.7.1.1. JSON 표현
Any
값의 JSON 표현에서는 형식 URL을 포함하는 추가 필드 @type
과 함께 deserialized 포함 메시지의 정규식을 사용합니다. 예제:
package google.profile; message Person { string first_name = 1; string last_name = 2; }
package google.profile;
message Person {
string first_name = 1;
string last_name = 2;
}
{ "@type": "type.googleapis.com/google.profile.Person", "firstName": <string>, "lastName": <string> }
{
"@type": "type.googleapis.com/google.profile.Person",
"firstName": <string>,
"lastName": <string>
}
포함된 메시지 유형이 잘 알려져 있고 사용자 지정 JSON 표현이 있는 경우 해당 표현에 @type
필드 외에도 사용자 지정 JSON이 포함된 필드 값을
추가합니다. 예(메시지 [google.protobuf.Duration][]).
{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }
{
"@type": "type.googleapis.com/google.protobuf.Duration",
"value": "1.212s"
}
필드 이름 | 필수 항목 | Cryostat | 유형 | 설명 | 형식 |
---|---|---|---|---|---|
typeUrl | 문자열 |
직렬화된 프로토콜 버퍼 메시지의 유형을 고유하게 식별하는 URL/리소스 이름입니다. 이 문자열에는 하나 이상의 \"/\" 문자가 포함되어야 합니다. URL 경로의 마지막 세그먼트는 | |||
value | byte[] | 지정된 유형의 유효한 직렬화 프로토콜 버퍼여야 합니다. | byte |
26.4.7.2. RuntimeError
필드 이름 | 필수 항목 | Cryostat | 유형 | 설명 | 형식 |
---|---|---|---|---|---|
error | 문자열 | ||||
코드 | 정수 | int32 | |||
message | 문자열 | ||||
세부 정보 |
26.4.7.3. StorageGroup
Group은 GroupProperties : 역할 매핑입니다.
필드 이름 | 필수 항목 | Cryostat | 유형 | 설명 | 형식 |
---|---|---|---|---|---|
props | |||||
roleName | 문자열 | 이 그룹의 사용자에게 적용할 역할의 이름입니다. |
26.4.7.4. StorageGroupProperties
GroupProperties는 그룹의 속성을 정의합니다. 그룹은 속성이 일치하면 사용자에게 적용됩니다. 예를 들어 - GroupProperties에 auth_provider_id만 있는 경우 해당 그룹은 해당 인증 공급자로 로그인한 모든 사용자에게 적용됩니다. - GroupProperties가 claim 키가 있으면 해당 auth provider 및 claim 키가 있는 모든 사용자에게 적용됩니다. 참고: GroupProperties를 변경하려면 v1.DeleteGroupRequest를 변경해야 할 수 있습니다.
필드 이름 | 필수 항목 | Cryostat | 유형 | 설명 | 형식 |
---|---|---|---|---|---|
id | 문자열 | 그룹 속성 및 그룹 각각에 대한 고유 식별자입니다. | |||
traits | |||||
authProviderId | 문자열 | ||||
key | 문자열 | ||||
value | 문자열 |
26.4.7.5. StorageTraits
필드 이름 | 필수 항목 | Cryostat | 유형 | 설명 | 형식 |
---|---|---|---|---|---|
mutabilityMode | ALLOW_MUTATE, ALLOW_MUTATE_FORCED, | ||||
가시성 | 표시, 숨겨진, | ||||
origin | 필수, 기본값, 선언적, 선언적ATIVE_ORPHANED, |
26.4.7.6. TraitsMutabilityMode
실험적. 참고: 시간이 지남에 따라 MutabilityMode 사용을 참조하십시오. 이는 향후 대체될 예정입니다(ROX-14276). MutabilityMode는 오브젝트를 수정할 수 있는지 여부와 방법을 지정합니다. 기본값은 ALLOW_MUTATE이며 수정 제한이 없음을 의미합니다. 이는 MutabilityMode 사양이 없는 것과 동일합니다. ALLOW_MUTATE_FORCED는 강제로 강제로 제거하는 것을 제외한 모든 수정 작업을 금지합니다.
이 필드의 상태를 변경할 때는 주의하십시오. 예를 들어 ALLOW_MUTATE에서 ALLOW_MUTATE_FORCED로 오브젝트를 수정할 수 있지만 ALLOW_MUTATE로 다시 수정하는 등 추가 변경 사항이 금지됩니다.
열거 값 |
---|
ALLOW_MUTATE |
ALLOW_MUTATE_FORCED |
26.4.7.7. TraitsOrigin
origin은 개체의 원본을 지정합니다. 오브젝트에는 4개의 서로 다른 원본이 있을 수 있습니다. - IMPERATIVE: 오브젝트는 API를 통해 생성되었습니다. 이는 기본적으로 가정됩니다. - DEFAULT: 오브젝트는 기본 역할, 액세스 범위 등과 같은 기본 오브젝트입니다. - DECLARATIVE: 오브젝트는 선언적 구성을 통해 생성됩니다. - DECLARATIVE_ORPHANED: 오브젝트는 선언적 구성을 통해 생성된 다음(예: 다른 오브젝트에서 참조하기 때문에) 실패로 삭제(예: 대상자 규칙)에 따라 다른 규칙을 적용합니다. DECLARATIVE 원본이 있는 오브젝트는 선언적 구성을 통해서만 API를 통해 수정할 수 없습니다. 또한 IMPERATIVE 원본과 함께 오브젝트를 참조할 수 없습니다. DEFAULT 원본이 있는 오브젝트는 API 또는 선언적 구성을 통해 수정할 수 없습니다. 다른 모든 오브젝트에서 참조할 수 있습니다. IMPERATIVE 원본이 있는 오브젝트는 선언적 구성이 아닌 API를 통해 수정할 수 있습니다. 다른 모든 개체를 참조할 수 있습니다. DECLARATIVE_ORPHANED 원본이 있는 오브젝트는 API 또는 선언적 구성을 통해 수정할 수 없습니다. DECLARATIVE_ORPHANED 리소스는 선언적 구성으로 다시 정의되면 DECLARATIVE 리소스가 될 수 있습니다. 이 원본이 있는 오브젝트는 더 이상 다른 리소스에서 참조하지 않은 직후 시스템에서 정리됩니다. 다른 모든 오브젝트에서 참조할 수 있습니다.
열거 값 |
---|
필수 |
DEFAULT |
선언적 |
DECLAREATIVE_ORPHANED |
26.4.7.8. TraitsVisibility
EXPERIMENTAL. visibility를 사용하면 특정 API에 개체를 볼 수 있는지 여부를 지정할 수 있습니다.
열거 값 |
---|
표시됨 |
HIDDEN |
26.4.7.9. V1GetGroupsResponse
API for updating Groups and getting users. Next Available Tag: 2
API for updating Groups and getting users. Next Available Tag: 2
필드 이름 | 필수 항목 | Cryostat | 유형 | 설명 | 형식 |
---|---|---|---|---|---|
groups | 스토리지 그룹목록 |