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. |