×

GET /v1/sac/clusters/{clusterId}/namespaces

GetNamespacesForClusterAndPermissions

描述 (Description)

返回属于请求集群的命名空间 ID 和命名空间名称对列表,用户对这些命名空间至少具有读取访问权限,这些权限是针对具有命名空间范围或更窄范围的请求权限列表授予的(即,忽略输入中的全局和集群权限)。如果输入仅包含全局或集群级别的权限,则输出将为空列表。如果输入中未给出任何权限,则请求者范围允许的所有命名空间(对于任何具有命名空间范围或更窄范围的权限)都将成为响应的一部分。

参数 (Parameters)

路径参数 (Path Parameters)

名称 (Name) 描述 (Description) 必需 (Required) 默认值 (Default) 模式 (Pattern)

clusterId

是 (X)

空 (null)

查询参数 (Query Parameters)

名称 (Name) 描述 (Description) 必需 (Required) 默认值 (Default) 模式 (Pattern)

permissions

字符串 (String)

-

空 (null)

内容类型 (Content Type)

  • application/json

响应 (Responses)

表 1. HTTP 响应代码 (Table 1. HTTP Response Codes)
代码 (Code) 消息 (Message) 数据类型 (Datatype)

200

成功的响应。(A successful response.)

V1GetNamespacesForClusterAndPermissionsResponse

0

意外的错误响应。(An unexpected error response.)

GooglerpcStatus

示例 (Samples)

通用对象引用 (Common object reference)

GooglerpcStatus

字段名称 (Field Name) 必需 (Required) 可空 (Nullable) 类型 (Type) 描述 (Description) 格式 (Format)

code

整数 (Integer)

int32

message

字符串 (String)

details

ProtobufAny 列表 (List of)

ProtobufAny

Any包含任意序列化的协议缓冲区消息以及描述序列化消息类型的URL。

Protobuf库提供支持,以实用函数或Any类型的附加生成方法的形式打包/解包Any值。

示例 1:在C++中打包和解包消息。(Example 1: Pack and unpack a message in C++.)

Foo foo = ...;
Any any;
any.PackFrom(foo);
...
if (any.UnpackTo(&foo)) {
  ...
}

示例 2:在Java中打包和解包消息。(Example 2: Pack and unpack a message in 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());
}
Example 3: Pack and unpack a message in Python.
foo = Foo(...)
any = Any()
any.Pack(foo)
...
if any.Is(Foo.DESCRIPTOR):
  any.Unpack(foo)
  ...
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 {
  ...
}

protobuf 库提供的打包方法默认使用 'type.googleapis.com/full.type.name' 作为类型 URL,解包方法仅使用类型 URL 中最后一个 '/' 后面的完全限定类型名称,例如 "foo.bar.com/x/y.z" 将产生类型名称 "y.z"。

JSON 表示

Any 值的 JSON 表示使用反序列化的嵌入式消息的常规表示,并添加一个包含类型 URL 的附加字段 @type。示例

package google.profile;
message Person {
  string first_name = 1;
  string last_name = 2;
}
{
  "@type": "type.googleapis.com/google.profile.Person",
  "firstName": <string>,
  "lastName": <string>
}

如果嵌入式消息类型是众所周知的并且具有自定义 JSON 表示,则该表示将被嵌入,并添加一个包含自定义 JSON 的字段 value 以及 @type 字段。示例(对于消息 [google.protobuf.Duration][])

{
  "@type": "type.googleapis.com/google.protobuf.Duration",
  "value": "1.212s"
}
字段名称 (Field Name) 必需 (Required) 可空 (Nullable) 类型 (Type) 描述 (Description) 格式 (Format)

@type

字符串 (String)

一个唯一标识序列化协议缓冲区消息类型的 URL/资源名称。此字符串必须包含至少一个“/”字符。URL 路径的最后一部分必须表示类型的完全限定名称(如 path/google.protobuf.Duration)。名称应采用规范形式(例如,不接受前导“.”)。实际上,团队通常会预编译所有他们期望在 Any 上下文中使用的类型到二进制文件中。但是,对于使用方案 httphttps 或无方案的 URL,可以选择设置一个类型服务器,该服务器将类型 URL 映射到消息定义,如下所示:* 如果未提供方案,则假定为 https。* 对 URL 的 HTTP GET 必须产生二进制格式的 [google.protobuf.Type][] 值,或产生错误。* 应用程序允许基于 URL 缓存查找结果,或将其预编译到二进制文件中以避免任何查找。因此,需要在类型更改时保持二进制兼容性。(使用版本化的类型名称来管理重大更改。)注意:此功能目前在官方 protobuf 版本中不可用,并且不用于以 type.googleapis.com 开头的类型 URL。截至 2023 年 5 月,没有广泛使用的类型服务器实现,也没有计划实现一个。除了 httphttps(或空方案)之外的方案可能会与实现特定的语义一起使用。

V1GetNamespacesForClusterAndPermissionsResponse

字段名称 (Field Name) 必需 (Required) 可空 (Nullable) 类型 (Type) 描述 (Description) 格式 (Format)

namespaces

V1ScopeObject 列表

V1ScopeObject

ScopeObject 表示一个 ID、名称对,它可以应用于参与访问范围的任何实体(到目前为止是集群和命名空间)。

字段名称 (Field Name) 必需 (Required) 可空 (Nullable) 类型 (Type) 描述 (Description) 格式 (Format)

id

字符串 (String)

name

字符串 (String)