Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }
Any
contains an arbitrary serialized protocol buffer message along with a
URL that describes the type of the serialized message.
Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.
example 1: Pack and unpack a message in C++.
Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }
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 { ... }
The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".
The JSON representation of an Any
value uses the regular
representation of the deserialized, embedded message, with an
additional field @type
which contains the type URL. example:
package google.profile; message Person { string first_name = 1; string last_name = 2; }
{ "@type": "type.googleapis.com/google.profile.Person", "firstName": <string>, "lastName": <string> }
If the embedded message type is well-known and has a custom JSON
representation, that representation will be embedded adding a field
value
which holds the custom JSON in addition to the @type
field. example (for message [google.protobuf.Duration][]):
{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }
Field Name | Required | Nullable | Type | Description | Format |
---|---|---|---|---|---|
typeUrl |
String |
A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one \"/\" character. The last segment of the URL’s path must represent the fully qualified name of the type (as in |
|||
value |
byte[] |
Must be a valid serialized protocol buffer of the above specified type. |
byte |
Field Name | Required | Nullable | Type | Description | Format |
---|---|---|---|---|---|
error |
String |
||||
code |
Integer |
int32 |
|||
message |
String |
||||
details |
List of ProtobufAny |
Field Name | Required | Nullable | Type | Description | Format |
---|---|---|---|---|---|
category |
SeARCH_UNSeT, ALeRTS, IMAGeS, IMAGe_COMPONeNTS, IMAGe_VULN_eDGe, IMAGe_COMPONeNT_eDGe, POLICIeS, DePLOYMeNTS, ACTIVe_COMPONeNT, PODS, SeCReTS, PROCeSS_INDICATORS, COMPLIANCe, CLUSTeRS, NAMeSPACeS, NODeS, NODe_COMPONeNTS, NODe_VULN_eDGe, NODe_COMPONeNT_eDGe, NODe_COMPONeNT_CVe_eDGe, COMPLIANCe_STANDARD, COMPLIANCe_CONTROL_GROUP, COMPLIANCe_CONTROL, SeRVICe_ACCOUNTS, ROLeS, ROLeBINDINGS, RePORT_CONFIGURATIONS, PROCeSS_BASeLINeS, SUBJeCTS, RISKS, VULNeRABILITIeS, CLUSTeR_VULNeRABILITIeS, IMAGe_VULNeRABILITIeS, NODe_VULNeRABILITIeS, COMPONeNT_VULN_eDGe, CLUSTeR_VULN_eDGe, NeTWORK_eNTITY, VULN_ReQUeST, NeTWORK_BASeLINe, NeTWORK_POLICIeS, PROCeSS_BASeLINe_ReSULTS, COMPLIANCe_MeTADATA, COMPLIANCe_ReSULTS, COMPLIANCe_DOMAIN, CLUSTeR_HeALTH, POLICY_CATeGORIeS, IMAGe_INTeGRATIONS, COLLeCTIONS, POLICY_CATeGORY_eDGe, PROCeSS_LISTeNING_ON_PORT, API_TOKeN, RePORT_MeTADATA, RePORT_SNAPSHOT, COMPLIANCe_INTeGRATIONS, COMPLIANCe_SCAN_CONFIG, COMPLIANCe_SCAN, COMPLIANCe_CHeCK_ReSULTS, BLOB, ADMINISTRATION_eVeNTS, COMPLIANCe_SCAN_CONFIG_STATUS, ADMINISTRATION_USAGe, COMPLIANCe_PROFILeS, COMPLIANCe_RULeS, COMPLIANCe_SCAN_SeTTING_BINDINGS, COMPLIANCe_SUITeS, CLOUD_SOURCeS, DISCOVeReD_CLUSTeRS, COMPLIANCe_ReMeDIATIONS, COMPLIANCe_BeNCHMARKS, |
||||
count |
String |
int64 |
Next available tag: 72
enum Values |
---|
SeARCH_UNSeT |
ALeRTS |
IMAGeS |
IMAGe_COMPONeNTS |
IMAGe_VULN_eDGe |
IMAGe_COMPONeNT_eDGe |
POLICIeS |
DePLOYMeNTS |
ACTIVe_COMPONeNT |
PODS |
SeCReTS |
PROCeSS_INDICATORS |
COMPLIANCe |
CLUSTeRS |
NAMeSPACeS |
NODeS |
NODe_COMPONeNTS |
NODe_VULN_eDGe |
NODe_COMPONeNT_eDGe |
NODe_COMPONeNT_CVe_eDGe |
COMPLIANCe_STANDARD |
COMPLIANCe_CONTROL_GROUP |
COMPLIANCe_CONTROL |
SeRVICe_ACCOUNTS |
ROLeS |
ROLeBINDINGS |
RePORT_CONFIGURATIONS |
PROCeSS_BASeLINeS |
SUBJeCTS |
RISKS |
VULNeRABILITIeS |
CLUSTeR_VULNeRABILITIeS |
IMAGe_VULNeRABILITIeS |
NODe_VULNeRABILITIeS |
COMPONeNT_VULN_eDGe |
CLUSTeR_VULN_eDGe |
NeTWORK_eNTITY |
VULN_ReQUeST |
NeTWORK_BASeLINe |
NeTWORK_POLICIeS |
PROCeSS_BASeLINe_ReSULTS |
COMPLIANCe_MeTADATA |
COMPLIANCe_ReSULTS |
COMPLIANCe_DOMAIN |
CLUSTeR_HeALTH |
POLICY_CATeGORIeS |
IMAGe_INTeGRATIONS |
COLLeCTIONS |
POLICY_CATeGORY_eDGe |
PROCeSS_LISTeNING_ON_PORT |
API_TOKeN |
RePORT_MeTADATA |
RePORT_SNAPSHOT |
COMPLIANCe_INTeGRATIONS |
COMPLIANCe_SCAN_CONFIG |
COMPLIANCe_SCAN |
COMPLIANCe_CHeCK_ReSULTS |
BLOB |
ADMINISTRATION_eVeNTS |
COMPLIANCe_SCAN_CONFIG_STATUS |
ADMINISTRATION_USAGe |
COMPLIANCe_PROFILeS |
COMPLIANCe_RULeS |
COMPLIANCe_SCAN_SeTTING_BINDINGS |
COMPLIANCe_SUITeS |
CLOUD_SOURCeS |
DISCOVeReD_CLUSTeRS |
COMPLIANCe_ReMeDIATIONS |
COMPLIANCe_BeNCHMARKS |
Field Name | Required | Nullable | Type | Description | Format |
---|---|---|---|---|---|
results |
List of V1SearchResult |
||||
counts |
List of SearchResponseCount |
Field Name | Required | Nullable | Type | Description | Format |
---|---|---|---|---|---|
id |
String |
||||
name |
String |
||||
category |
SeARCH_UNSeT, ALeRTS, IMAGeS, IMAGe_COMPONeNTS, IMAGe_VULN_eDGe, IMAGe_COMPONeNT_eDGe, POLICIeS, DePLOYMeNTS, ACTIVe_COMPONeNT, PODS, SeCReTS, PROCeSS_INDICATORS, COMPLIANCe, CLUSTeRS, NAMeSPACeS, NODeS, NODe_COMPONeNTS, NODe_VULN_eDGe, NODe_COMPONeNT_eDGe, NODe_COMPONeNT_CVe_eDGe, COMPLIANCe_STANDARD, COMPLIANCe_CONTROL_GROUP, COMPLIANCe_CONTROL, SeRVICe_ACCOUNTS, ROLeS, ROLeBINDINGS, RePORT_CONFIGURATIONS, PROCeSS_BASeLINeS, SUBJeCTS, RISKS, VULNeRABILITIeS, CLUSTeR_VULNeRABILITIeS, IMAGe_VULNeRABILITIeS, NODe_VULNeRABILITIeS, COMPONeNT_VULN_eDGe, CLUSTeR_VULN_eDGe, NeTWORK_eNTITY, VULN_ReQUeST, NeTWORK_BASeLINe, NeTWORK_POLICIeS, PROCeSS_BASeLINe_ReSULTS, COMPLIANCe_MeTADATA, COMPLIANCe_ReSULTS, COMPLIANCe_DOMAIN, CLUSTeR_HeALTH, POLICY_CATeGORIeS, IMAGe_INTeGRATIONS, COLLeCTIONS, POLICY_CATeGORY_eDGe, PROCeSS_LISTeNING_ON_PORT, API_TOKeN, RePORT_MeTADATA, RePORT_SNAPSHOT, COMPLIANCe_INTeGRATIONS, COMPLIANCe_SCAN_CONFIG, COMPLIANCe_SCAN, COMPLIANCe_CHeCK_ReSULTS, BLOB, ADMINISTRATION_eVeNTS, COMPLIANCe_SCAN_CONFIG_STATUS, ADMINISTRATION_USAGe, COMPLIANCe_PROFILeS, COMPLIANCe_RULeS, COMPLIANCe_SCAN_SeTTING_BINDINGS, COMPLIANCe_SUITeS, CLOUD_SOURCeS, DISCOVeReD_CLUSTeRS, COMPLIANCe_ReMeDIATIONS, COMPLIANCe_BeNCHMARKS, |
||||
fieldToMatches |
Map of SearchResultMatches |
||||
score |
Double |
double |
|||
location |
String |
Location is intended to be a unique, yet human readable, identifier for the result. For example, for a deployment, the location will be \"$cluster_name/$namespace/$deployment_name. It is displayed in the UI in the global search results, underneath the name for each result. |