Chapter 22. DetectionService


22.1. DetectBuildTime

POST /v1/detect/build

DetectBuildTime checks if any images violate build time policies.

22.1.1. Description

22.1.2. Parameters

22.1.2.1. Body Parameter

Expand
NameDescriptionRequiredDefaultPattern

body

V1BuildDetectionRequest

X

  

22.1.3. Return Type

V1BuildDetectionResponse

22.1.4. Content Type

  • application/json

22.1.5. Responses

Expand
Table 22.1. HTTP Response Codes
CodeMessageDatatype

200

A successful response.

V1BuildDetectionResponse

0

An unexpected error response.

RuntimeError

22.1.6. Samples

22.1.7. Common object reference

22.1.7.1. AlertDeploymentContainer

Expand
Field NameRequiredNullableTypeDescriptionFormat

image

  

StorageContainerImage

  

name

  

String

  

22.1.7.2. AlertEnforcement

Expand
Field NameRequiredNullableTypeDescriptionFormat

action

  

StorageEnforcementAction

 

UNSET_ENFORCEMENT, SCALE_TO_ZERO_ENFORCEMENT, UNSATISFIABLE_NODE_CONSTRAINT_ENFORCEMENT, KILL_POD_ENFORCEMENT, FAIL_BUILD_ENFORCEMENT, FAIL_KUBE_REQUEST_ENFORCEMENT, FAIL_DEPLOYMENT_CREATE_ENFORCEMENT, FAIL_DEPLOYMENT_UPDATE_ENFORCEMENT,

message

  

String

  

22.1.7.3. AlertProcessViolation

Expand
Field NameRequiredNullableTypeDescriptionFormat

message

  

String

  

processes

  

List of StorageProcessIndicator

  

22.1.7.4. AlertResourceResourceType

Expand
Enum Values

UNKNOWN

SECRETS

CONFIGMAPS

CLUSTER_ROLES

CLUSTER_ROLE_BINDINGS

NETWORK_POLICIES

SECURITY_CONTEXT_CONSTRAINTS

EGRESS_FIREWALLS

22.1.7.5. AlertViolation

Expand
Field NameRequiredNullableTypeDescriptionFormat

message

  

String

  

keyValueAttrs

  

ViolationKeyValueAttrs

  

networkFlowInfo

  

ViolationNetworkFlowInfo

  

type

  

AlertViolationType

 

GENERIC, K8S_EVENT, NETWORK_FLOW, NETWORK_POLICY,

time

  

Date

Indicates violation time. This field differs from top-level field 'time' which represents last time the alert occurred in case of multiple occurrences of the policy alert. As of 55.0, this field is set only for kubernetes event violations, but may not be limited to it in future.

date-time

22.1.7.6. AlertViolationType

Expand
Enum Values

GENERIC

K8S_EVENT

NETWORK_FLOW

NETWORK_POLICY

22.1.7.7. KeyValueAttrsKeyValueAttr

Expand
Field NameRequiredNullableTypeDescriptionFormat

key

  

String

  

value

  

String

  

22.1.7.8. NetworkFlowInfoEntity

Expand
Field NameRequiredNullableTypeDescriptionFormat

name

  

String

  

entityType

  

StorageNetworkEntityInfoType

 

UNKNOWN_TYPE, DEPLOYMENT, INTERNET, LISTEN_ENDPOINT, EXTERNAL_SOURCE, INTERNAL_ENTITIES,

deploymentNamespace

  

String

  

deploymentType

  

String

  

port

  

Integer

 

int32

22.1.7.9. PolicyMitreAttackVectors

Expand
Field NameRequiredNullableTypeDescriptionFormat

tactic

  

String

  

techniques

  

List of string

  

22.1.7.10. ProcessSignalLineageInfo

Expand
Field NameRequiredNullableTypeDescriptionFormat

parentUid

  

Long

 

int64

parentExecFilePath

  

String

  

22.1.7.11. ProtobufAny

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

22.1.7.11.1. JSON representation

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"
}
Expand
Field NameRequiredNullableTypeDescriptionFormat

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 path/google.protobuf.Duration). The name should be in a canonical form (e.g., leading \".\" is not accepted). In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme http, https, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows: * If no scheme is provided, https is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.) Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com. As of May 2023, there are no widely used type server implementations and no plans to implement one. Schemes other than http, https (or the empty scheme) might be used with implementation specific semantics.

 

value

  

byte[]

Must be a valid serialized protocol buffer of the above specified type.

byte

22.1.7.12. RuntimeError

Expand
Field NameRequiredNullableTypeDescriptionFormat

error

  

String

  

code

  

Integer

 

int32

message

  

String

  

details

  

List of ProtobufAny

  

22.1.7.13. StorageAlert

Expand
Field NameRequiredNullableTypeDescriptionFormat

id

  

String

  

policy

  

StoragePolicy

  

lifecycleStage

  

StorageLifecycleStage

 

DEPLOY, BUILD, RUNTIME,

clusterId

  

String

  

clusterName

  

String

  

namespace

  

String

  

namespaceId

  

String

  

deployment

  

StorageAlertDeployment

  

image

  

StorageContainerImage

  

resource

  

StorageAlertResource

  

violations

  

List of AlertViolation

For run-time phase alert, a maximum of 40 violations are retained.

 

processViolation

  

AlertProcessViolation

  

enforcement

  

AlertEnforcement

  

time

  

Date

 

date-time

firstOccurred

  

Date

 

date-time

resolvedAt

  

Date

The time at which the alert was resolved. Only set if ViolationState is RESOLVED.

date-time

state

  

StorageViolationState

 

ACTIVE, SNOOZED, RESOLVED, ATTEMPTED,

snoozeTill

  

Date

 

date-time

22.1.7.14. StorageAlertDeployment

Expand
Field NameRequiredNullableTypeDescriptionFormat

id

  

String

  

name

  

String

  

type

  

String

  

namespace

  

String

  

namespaceId

  

String

  

labels

  

Map of string

  

clusterId

  

String

  

clusterName

  

String

  

containers

  

List of AlertDeploymentContainer

  

annotations

  

Map of string

  

inactive

  

Boolean

  

22.1.7.15. StorageAlertResource

Represents an alert on a kubernetes resource other than a deployment (configmaps, secrets, etc.)
Expand
Field NameRequiredNullableTypeDescriptionFormat

resourceType

  

AlertResourceResourceType

 

UNKNOWN, SECRETS, CONFIGMAPS, CLUSTER_ROLES, CLUSTER_ROLE_BINDINGS, NETWORK_POLICIES, SECURITY_CONTEXT_CONSTRAINTS, EGRESS_FIREWALLS,

name

  

String

  

clusterId

  

String

  

clusterName

  

String

  

namespace

  

String

  

namespaceId

  

String

  

22.1.7.16. StorageBooleanOperator

Expand
Enum Values

OR

AND

22.1.7.17. StorageContainerImage

Next tag: 12
Expand
Field NameRequiredNullableTypeDescriptionFormat

id

  

String

  

name

  

StorageImageName

  

notPullable

  

Boolean

  

isClusterLocal

  

Boolean

  

22.1.7.18. StorageEnforcementAction

  • FAIL_KUBE_REQUEST_ENFORCEMENT: FAIL_KUBE_REQUEST_ENFORCEMENT takes effect only if admission control webhook is enabled to listen on exec and port-forward events.
  • FAIL_DEPLOYMENT_CREATE_ENFORCEMENT: FAIL_DEPLOYMENT_CREATE_ENFORCEMENT takes effect only if admission control webhook is configured to enforce on object creates.
  • FAIL_DEPLOYMENT_UPDATE_ENFORCEMENT: FAIL_DEPLOYMENT_UPDATE_ENFORCEMENT takes effect only if admission control webhook is configured to enforce on object updates.
Expand
Enum Values

UNSET_ENFORCEMENT

SCALE_TO_ZERO_ENFORCEMENT

UNSATISFIABLE_NODE_CONSTRAINT_ENFORCEMENT

KILL_POD_ENFORCEMENT

FAIL_BUILD_ENFORCEMENT

FAIL_KUBE_REQUEST_ENFORCEMENT

FAIL_DEPLOYMENT_CREATE_ENFORCEMENT

FAIL_DEPLOYMENT_UPDATE_ENFORCEMENT

22.1.7.19. StorageEventSource

Expand
Enum Values

NOT_APPLICABLE

DEPLOYMENT_EVENT

AUDIT_LOG_EVENT

22.1.7.20. StorageExclusion

Expand
Field NameRequiredNullableTypeDescriptionFormat

name

  

String

  

deployment

  

StorageExclusionDeployment

  

image

  

StorageExclusionImage

  

expiration

  

Date

 

date-time

22.1.7.21. StorageExclusionDeployment

Expand
Field NameRequiredNullableTypeDescriptionFormat

name

  

String

  

scope

  

StorageScope

  

22.1.7.22. StorageExclusionImage

Expand
Field NameRequiredNullableTypeDescriptionFormat

name

  

String

  

22.1.7.23. StorageImageName

Expand
Field NameRequiredNullableTypeDescriptionFormat

registry

  

String

  

remote

  

String

  

tag

  

String

  

fullName

  

String

  

22.1.7.24. StorageL4Protocol

Expand
Enum Values

L4_PROTOCOL_UNKNOWN

L4_PROTOCOL_TCP

L4_PROTOCOL_UDP

L4_PROTOCOL_ICMP

L4_PROTOCOL_RAW

L4_PROTOCOL_SCTP

L4_PROTOCOL_ANY

22.1.7.25. StorageLifecycleStage

Expand
Enum Values

DEPLOY

BUILD

RUNTIME

22.1.7.26. StorageNetworkEntityInfoType

  • INTERNAL_ENTITIES: INTERNAL_ENTITIES is for grouping all internal entities under a single network graph node
Expand
Enum Values

UNKNOWN_TYPE

DEPLOYMENT

INTERNET

LISTEN_ENDPOINT

EXTERNAL_SOURCE

INTERNAL_ENTITIES

22.1.7.27. StoragePolicy

Expand
Field NameRequiredNullableTypeDescriptionFormat

id

  

String

  

name

  

String

  

description

  

String

  

rationale

  

String

  

remediation

  

String

  

disabled

  

Boolean

  

categories

  

List of string

  

lifecycleStages

  

List of StorageLifecycleStage

  

eventSource

  

StorageEventSource

 

NOT_APPLICABLE, DEPLOYMENT_EVENT, AUDIT_LOG_EVENT,

exclusions

  

List of StorageExclusion

  

scope

  

List of StorageScope

  

severity

  

StorageSeverity

 

UNSET_SEVERITY, LOW_SEVERITY, MEDIUM_SEVERITY, HIGH_SEVERITY, CRITICAL_SEVERITY,

enforcementActions

  

List of StorageEnforcementAction

FAIL_DEPLOYMENT_CREATE_ENFORCEMENT takes effect only if admission control webhook is configured to enforce on object creates/updates. FAIL_KUBE_REQUEST_ENFORCEMENT takes effect only if admission control webhook is enabled to listen on exec and port-forward events. FAIL_DEPLOYMENT_UPDATE_ENFORCEMENT takes effect only if admission control webhook is configured to enforce on object updates.

 

notifiers

  

List of string

  

lastUpdated

  

Date

 

date-time

SORTName

  

String

For internal use only.

 

SORTLifecycleStage

  

String

For internal use only.

 

SORTEnforcement

  

Boolean

For internal use only.

 

policyVersion

  

String

  

policySections

  

List of StoragePolicySection

  

mitreAttackVectors

  

List of PolicyMitreAttackVectors

  

criteriaLocked

  

Boolean

Read-only field. If true, the policy’s criteria fields are rendered read-only.

 

mitreVectorsLocked

  

Boolean

Read-only field. If true, the policy’s MITRE ATT&CK fields are rendered read-only.

 

isDefault

  

Boolean

Read-only field. Indicates the policy is a default policy if true and a custom policy if false.

 

22.1.7.28. StoragePolicyGroup

Expand
Field NameRequiredNullableTypeDescriptionFormat

fieldName

  

String

  

booleanOperator

  

StorageBooleanOperator

 

OR, AND,

negate

  

Boolean

  

values

  

List of StoragePolicyValue

  

22.1.7.29. StoragePolicySection

Expand
Field NameRequiredNullableTypeDescriptionFormat

sectionName

  

String

  

policyGroups

  

List of StoragePolicyGroup

  

22.1.7.30. StoragePolicyValue

Expand
Field NameRequiredNullableTypeDescriptionFormat

value

  

String

  

22.1.7.31. StorageProcessIndicator

Next available tag: 13
Expand
Field NameRequiredNullableTypeDescriptionFormat

id

  

String

  

deploymentId

  

String

  

containerName

  

String

  

podId

  

String

  

podUid

  

String

  

signal

  

StorageProcessSignal

  

clusterId

  

String

  

namespace

  

String

  

containerStartTime

  

Date

 

date-time

imageId

  

String

  

22.1.7.32. StorageProcessSignal

Expand
Field NameRequiredNullableTypeDescriptionFormat

id

  

String

A unique UUID for identifying the message We have this here instead of at the top level because we want to have each message to be self contained.

 

containerId

  

String

  

time

  

Date

 

date-time

name

  

String

  

args

  

String

  

execFilePath

  

String

  

pid

  

Long

 

int64

uid

  

Long

 

int64

gid

  

Long

 

int64

lineage

  

List of string

  

scraped

  

Boolean

  

lineageInfo

  

List of ProcessSignalLineageInfo

  

22.1.7.33. StorageScope

Expand
Field NameRequiredNullableTypeDescriptionFormat

cluster

  

String

  

namespace

  

String

  

label

  

StorageScopeLabel

  

22.1.7.34. StorageScopeLabel

Expand
Field NameRequiredNullableTypeDescriptionFormat

key

  

String

  

value

  

String

  

22.1.7.35. StorageSeverity

Expand
Enum Values

UNSET_SEVERITY

LOW_SEVERITY

MEDIUM_SEVERITY

HIGH_SEVERITY

CRITICAL_SEVERITY

22.1.7.36. StorageViolationState

Expand
Enum Values

ACTIVE

SNOOZED

RESOLVED

ATTEMPTED

22.1.7.37. V1BuildDetectionRequest

Expand
Field NameRequiredNullableTypeDescriptionFormat

image

  

StorageContainerImage

  

imageName

  

String

  

noExternalMetadata

  

Boolean

  

sendNotifications

  

Boolean

  

force

  

Boolean

  

policyCategories

  

List of string

  

cluster

  

String

Cluster to delegate scan to, may be the cluster’s name or ID.

 

22.1.7.38. V1BuildDetectionResponse

Expand
Field NameRequiredNullableTypeDescriptionFormat

alerts

  

List of StorageAlert

  

22.1.7.39. ViolationKeyValueAttrs

Expand
Field NameRequiredNullableTypeDescriptionFormat

attrs

  

List of KeyValueAttrsKeyValueAttr

  

22.1.7.40. ViolationNetworkFlowInfo

Expand
Field NameRequiredNullableTypeDescriptionFormat

protocol

  

StorageL4Protocol

 

L4_PROTOCOL_UNKNOWN, L4_PROTOCOL_TCP, L4_PROTOCOL_UDP, L4_PROTOCOL_ICMP, L4_PROTOCOL_RAW, L4_PROTOCOL_SCTP, L4_PROTOCOL_ANY,

source

  

NetworkFlowInfoEntity

  

destination

  

NetworkFlowInfoEntity

  

22.2. DetectDeployTime

POST /v1/detect/deploy

DetectDeployTime checks if any deployments violate deploy time policies.

22.2.1. Description

22.2.2. Parameters

22.2.2.1. Body Parameter

Expand
NameDescriptionRequiredDefaultPattern

body

V1DeployDetectionRequest

X

  

22.2.3. Return Type

V1DeployDetectionResponse

22.2.4. Content Type

  • application/json

22.2.5. Responses

Expand
Table 22.2. HTTP Response Codes
CodeMessageDatatype

200

A successful response.

V1DeployDetectionResponse

0

An unexpected error response.

RuntimeError

22.2.6. Samples

22.2.7. Common object reference

22.2.7.1. AlertDeploymentContainer

Expand
Field NameRequiredNullableTypeDescriptionFormat

image

  

StorageContainerImage

  

name

  

String

  

22.2.7.2. AlertEnforcement

Expand
Field NameRequiredNullableTypeDescriptionFormat

action

  

StorageEnforcementAction

 

UNSET_ENFORCEMENT, SCALE_TO_ZERO_ENFORCEMENT, UNSATISFIABLE_NODE_CONSTRAINT_ENFORCEMENT, KILL_POD_ENFORCEMENT, FAIL_BUILD_ENFORCEMENT, FAIL_KUBE_REQUEST_ENFORCEMENT, FAIL_DEPLOYMENT_CREATE_ENFORCEMENT, FAIL_DEPLOYMENT_UPDATE_ENFORCEMENT,

message

  

String

  

22.2.7.3. AlertProcessViolation

Expand
Field NameRequiredNullableTypeDescriptionFormat

message

  

String

  

processes

  

List of StorageProcessIndicator

  

22.2.7.4. AlertResourceResourceType

Expand
Enum Values

UNKNOWN

SECRETS

CONFIGMAPS

CLUSTER_ROLES

CLUSTER_ROLE_BINDINGS

NETWORK_POLICIES

SECURITY_CONTEXT_CONSTRAINTS

EGRESS_FIREWALLS

22.2.7.5. AlertViolation

Expand
Field NameRequiredNullableTypeDescriptionFormat

message

  

String

  

keyValueAttrs

  

ViolationKeyValueAttrs

  

networkFlowInfo

  

ViolationNetworkFlowInfo

  

type

  

AlertViolationType

 

GENERIC, K8S_EVENT, NETWORK_FLOW, NETWORK_POLICY,

time

  

Date

Indicates violation time. This field differs from top-level field 'time' which represents last time the alert occurred in case of multiple occurrences of the policy alert. As of 55.0, this field is set only for kubernetes event violations, but may not be limited to it in future.

date-time

22.2.7.6. AlertViolationType

Expand
Enum Values

GENERIC

K8S_EVENT

NETWORK_FLOW

NETWORK_POLICY

22.2.7.7. ContainerConfigEnvironmentConfig

Expand
Field NameRequiredNullableTypeDescriptionFormat

key

  

String

  

value

  

String

  

envVarSource

  

EnvironmentConfigEnvVarSource

 

UNSET, RAW, SECRET_KEY, CONFIG_MAP_KEY, FIELD, RESOURCE_FIELD, UNKNOWN,

22.2.7.8. DeployDetectionResponseRun

Expand
Field NameRequiredNullableTypeDescriptionFormat

name

  

String

  

type

  

String

  

alerts

  

List of StorageAlert

  

22.2.7.9. EnvironmentConfigEnvVarSource

For any update to EnvVarSource, please also update 'ui/src/messages/common.js'
Expand
Enum Values

UNSET

RAW

SECRET_KEY

CONFIG_MAP_KEY

FIELD

RESOURCE_FIELD

UNKNOWN

22.2.7.10. KeyValueAttrsKeyValueAttr

Expand
Field NameRequiredNullableTypeDescriptionFormat

key

  

String

  

value

  

String

  

22.2.7.11. NetworkFlowInfoEntity

Expand
Field NameRequiredNullableTypeDescriptionFormat

name

  

String

  

entityType

  

StorageNetworkEntityInfoType

 

UNKNOWN_TYPE, DEPLOYMENT, INTERNET, LISTEN_ENDPOINT, EXTERNAL_SOURCE, INTERNAL_ENTITIES,

deploymentNamespace

  

String

  

deploymentType

  

String

  

port

  

Integer

 

int32

22.2.7.12. PolicyMitreAttackVectors

Expand
Field NameRequiredNullableTypeDescriptionFormat

tactic

  

String

  

techniques

  

List of string

  

22.2.7.13. PortConfigExposureInfo

Expand
Field NameRequiredNullableTypeDescriptionFormat

level

  

PortConfigExposureLevel

 

UNSET, EXTERNAL, NODE, INTERNAL, HOST, ROUTE,

serviceName

  

String

  

serviceId

  

String

  

serviceClusterIp

  

String

  

servicePort

  

Integer

 

int32

nodePort

  

Integer

 

int32

externalIps

  

List of string

  

externalHostnames

  

List of string

  

22.2.7.14. PortConfigExposureLevel

Expand
Enum Values

UNSET

EXTERNAL

NODE

INTERNAL

HOST

ROUTE

22.2.7.15. ProcessSignalLineageInfo

Expand
Field NameRequiredNullableTypeDescriptionFormat

parentUid

  

Long

 

int64

parentExecFilePath

  

String

  

22.2.7.16. ProtobufAny

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

22.2.7.16.1. JSON representation

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"
}
Expand
Field NameRequiredNullableTypeDescriptionFormat

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 path/google.protobuf.Duration). The name should be in a canonical form (e.g., leading \".\" is not accepted). In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme http, https, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows: * If no scheme is provided, https is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.) Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com. As of May 2023, there are no widely used type server implementations and no plans to implement one. Schemes other than http, https (or the empty scheme) might be used with implementation specific semantics.

 

value

  

byte[]

Must be a valid serialized protocol buffer of the above specified type.

byte

22.2.7.17. RuntimeError

Expand
Field NameRequiredNullableTypeDescriptionFormat

error

  

String

  

code

  

Integer

 

int32

message

  

String

  

details

  

List of ProtobufAny

  

22.2.7.18. SeccompProfileProfileType

Expand
Enum Values

UNCONFINED

RUNTIME_DEFAULT

LOCALHOST

22.2.7.19. SecurityContextSELinux

Expand
Field NameRequiredNullableTypeDescriptionFormat

user

  

String

  

role

  

String

  

type

  

String

  

level

  

String

  

22.2.7.20. SecurityContextSeccompProfile

Expand
Field NameRequiredNullableTypeDescriptionFormat

type

  

SeccompProfileProfileType

 

UNCONFINED, RUNTIME_DEFAULT, LOCALHOST,

localhostProfile

  

String

  

22.2.7.21. StorageAlert

Expand
Field NameRequiredNullableTypeDescriptionFormat

id

  

String

  

policy

  

StoragePolicy

  

lifecycleStage

  

StorageLifecycleStage

 

DEPLOY, BUILD, RUNTIME,

clusterId

  

String

  

clusterName

  

String

  

namespace

  

String

  

namespaceId

  

String

  

deployment

  

StorageAlertDeployment

  

image

  

StorageContainerImage

  

resource

  

StorageAlertResource

  

violations

  

List of AlertViolation

For run-time phase alert, a maximum of 40 violations are retained.

 

processViolation

  

AlertProcessViolation

  

enforcement

  

AlertEnforcement

  

time

  

Date

 

date-time

firstOccurred

  

Date

 

date-time

resolvedAt

  

Date

The time at which the alert was resolved. Only set if ViolationState is RESOLVED.

date-time

state

  

StorageViolationState

 

ACTIVE, SNOOZED, RESOLVED, ATTEMPTED,

snoozeTill

  

Date

 

date-time

22.2.7.22. StorageAlertDeployment

Expand
Field NameRequiredNullableTypeDescriptionFormat

id

  

String

  

name

  

String

  

type

  

String

  

namespace

  

String

  

namespaceId

  

String

  

labels

  

Map of string

  

clusterId

  

String

  

clusterName

  

String

  

containers

  

List of AlertDeploymentContainer

  

annotations

  

Map of string

  

inactive

  

Boolean

  

22.2.7.23. StorageAlertResource

Represents an alert on a kubernetes resource other than a deployment (configmaps, secrets, etc.)
Expand
Field NameRequiredNullableTypeDescriptionFormat

resourceType

  

AlertResourceResourceType

 

UNKNOWN, SECRETS, CONFIGMAPS, CLUSTER_ROLES, CLUSTER_ROLE_BINDINGS, NETWORK_POLICIES, SECURITY_CONTEXT_CONSTRAINTS, EGRESS_FIREWALLS,

name

  

String

  

clusterId

  

String

  

clusterName

  

String

  

namespace

  

String

  

namespaceId

  

String

  

22.2.7.24. StorageBooleanOperator

Expand
Enum Values

OR

AND

22.2.7.25. StorageContainer

Expand
Field NameRequiredNullableTypeDescriptionFormat

id

  

String

  

config

  

StorageContainerConfig

  

image

  

StorageContainerImage

  

securityContext

  

StorageSecurityContext

  

volumes

  

List of StorageVolume

  

ports

  

List of StoragePortConfig

  

secrets

  

List of StorageEmbeddedSecret

  

resources

  

StorageResources

  

name

  

String

  

livenessProbe

  

StorageLivenessProbe

  

readinessProbe

  

StorageReadinessProbe

  

22.2.7.26. StorageContainerConfig

Expand
Field NameRequiredNullableTypeDescriptionFormat

env

  

List of ContainerConfigEnvironmentConfig

  

command

  

List of string

  

args

  

List of string

  

directory

  

String

  

user

  

String

  

uid

  

String

 

int64

appArmorProfile

  

String

  

22.2.7.27. StorageContainerImage

Next tag: 12
Expand
Field NameRequiredNullableTypeDescriptionFormat

id

  

String

  

name

  

StorageImageName

  

notPullable

  

Boolean

  

isClusterLocal

  

Boolean

  

22.2.7.28. StorageDeployment

Next available tag: 35
Expand
Field NameRequiredNullableTypeDescriptionFormat

id

  

String

  

name

  

String

  

hash

  

String

 

uint64

type

  

String

  

namespace

  

String

  

namespaceId

  

String

  

orchestratorComponent

  

Boolean

  

replicas

  

String

 

int64

labels

  

Map of string

  

podLabels

  

Map of string

  

labelSelector

  

StorageLabelSelector

  

created

  

Date

 

date-time

clusterId

  

String

  

clusterName

  

String

  

containers

  

List of StorageContainer

  

annotations

  

Map of string

  

priority

  

String

 

int64

inactive

  

Boolean

  

imagePullSecrets

  

List of string

  

serviceAccount

  

String

  

serviceAccountPermissionLevel

  

StoragePermissionLevel

 

UNSET, NONE, DEFAULT, ELEVATED_IN_NAMESPACE, ELEVATED_CLUSTER_WIDE, CLUSTER_ADMIN,

automountServiceAccountToken

  

Boolean

  

hostNetwork

  

Boolean

  

hostPid

  

Boolean

  

hostIpc

  

Boolean

  

runtimeClass

  

String

  

tolerations

  

List of StorageToleration

  

ports

  

List of StoragePortConfig

  

stateTimestamp

  

String

 

int64

riskScore

  

Float

 

float

22.2.7.29. StorageEmbeddedSecret

Expand
Field NameRequiredNullableTypeDescriptionFormat

name

  

String

  

path

  

String

  

22.2.7.30. StorageEnforcementAction

  • FAIL_KUBE_REQUEST_ENFORCEMENT: FAIL_KUBE_REQUEST_ENFORCEMENT takes effect only if admission control webhook is enabled to listen on exec and port-forward events.
  • FAIL_DEPLOYMENT_CREATE_ENFORCEMENT: FAIL_DEPLOYMENT_CREATE_ENFORCEMENT takes effect only if admission control webhook is configured to enforce on object creates.
  • FAIL_DEPLOYMENT_UPDATE_ENFORCEMENT: FAIL_DEPLOYMENT_UPDATE_ENFORCEMENT takes effect only if admission control webhook is configured to enforce on object updates.
Expand
Enum Values

UNSET_ENFORCEMENT

SCALE_TO_ZERO_ENFORCEMENT

UNSATISFIABLE_NODE_CONSTRAINT_ENFORCEMENT

KILL_POD_ENFORCEMENT

FAIL_BUILD_ENFORCEMENT

FAIL_KUBE_REQUEST_ENFORCEMENT

FAIL_DEPLOYMENT_CREATE_ENFORCEMENT

FAIL_DEPLOYMENT_UPDATE_ENFORCEMENT

22.2.7.31. StorageEventSource

Expand
Enum Values

NOT_APPLICABLE

DEPLOYMENT_EVENT

AUDIT_LOG_EVENT

22.2.7.32. StorageExclusion

Expand
Field NameRequiredNullableTypeDescriptionFormat

name

  

String

  

deployment

  

StorageExclusionDeployment

  

image

  

StorageExclusionImage

  

expiration

  

Date

 

date-time

22.2.7.33. StorageExclusionDeployment

Expand
Field NameRequiredNullableTypeDescriptionFormat

name

  

String

  

scope

  

StorageScope

  

22.2.7.34. StorageExclusionImage

Expand
Field NameRequiredNullableTypeDescriptionFormat

name

  

String

  

22.2.7.35. StorageImageName

Expand
Field NameRequiredNullableTypeDescriptionFormat

registry

  

String

  

remote

  

String

  

tag

  

String

  

fullName

  

String

  

22.2.7.36. StorageL4Protocol

Expand
Enum Values

L4_PROTOCOL_UNKNOWN

L4_PROTOCOL_TCP

L4_PROTOCOL_UDP

L4_PROTOCOL_ICMP

L4_PROTOCOL_RAW

L4_PROTOCOL_SCTP

L4_PROTOCOL_ANY

22.2.7.37. StorageLabelSelector

Label selector components are joined with logical AND, see     https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/

Next available tag: 3

Expand
Field NameRequiredNullableTypeDescriptionFormat

matchLabels

  

Map of string

This is actually a oneof, but we can’t make it one due to backwards compatibility constraints.

 

requirements

  

List of StorageLabelSelectorRequirement

  

22.2.7.38. StorageLabelSelectorOperator

Expand
Enum Values

UNKNOWN

IN

NOT_IN

EXISTS

NOT_EXISTS

22.2.7.39. StorageLabelSelectorRequirement

Next available tag: 4
Expand
Field NameRequiredNullableTypeDescriptionFormat

key

  

String

  

op

  

StorageLabelSelectorOperator

 

UNKNOWN, IN, NOT_IN, EXISTS, NOT_EXISTS,

values

  

List of string

  

22.2.7.40. StorageLifecycleStage

Expand
Enum Values

DEPLOY

BUILD

RUNTIME

22.2.7.41. StorageLivenessProbe

Expand
Field NameRequiredNullableTypeDescriptionFormat

defined

  

Boolean

  

22.2.7.42. StorageNetworkEntityInfoType

  • INTERNAL_ENTITIES: INTERNAL_ENTITIES is for grouping all internal entities under a single network graph node
Expand
Enum Values

UNKNOWN_TYPE

DEPLOYMENT

INTERNET

LISTEN_ENDPOINT

EXTERNAL_SOURCE

INTERNAL_ENTITIES

22.2.7.43. StoragePermissionLevel

For any update to PermissionLevel, also update: - pkg/searchbasedpolicies/builders/k8s_rbac.go - ui/src/messages/common.js
Expand
Enum Values

UNSET

NONE

DEFAULT

ELEVATED_IN_NAMESPACE

ELEVATED_CLUSTER_WIDE

CLUSTER_ADMIN

22.2.7.44. StoragePolicy

Expand
Field NameRequiredNullableTypeDescriptionFormat

id

  

String

  

name

  

String

  

description

  

String

  

rationale

  

String

  

remediation

  

String

  

disabled

  

Boolean

  

categories

  

List of string

  

lifecycleStages

  

List of StorageLifecycleStage

  

eventSource

  

StorageEventSource

 

NOT_APPLICABLE, DEPLOYMENT_EVENT, AUDIT_LOG_EVENT,

exclusions

  

List of StorageExclusion

  

scope

  

List of StorageScope

  

severity

  

StorageSeverity

 

UNSET_SEVERITY, LOW_SEVERITY, MEDIUM_SEVERITY, HIGH_SEVERITY, CRITICAL_SEVERITY,

enforcementActions

  

List of StorageEnforcementAction

FAIL_DEPLOYMENT_CREATE_ENFORCEMENT takes effect only if admission control webhook is configured to enforce on object creates/updates. FAIL_KUBE_REQUEST_ENFORCEMENT takes effect only if admission control webhook is enabled to listen on exec and port-forward events. FAIL_DEPLOYMENT_UPDATE_ENFORCEMENT takes effect only if admission control webhook is configured to enforce on object updates.

 

notifiers

  

List of string

  

lastUpdated

  

Date

 

date-time

SORTName

  

String

For internal use only.

 

SORTLifecycleStage

  

String

For internal use only.

 

SORTEnforcement

  

Boolean

For internal use only.

 

policyVersion

  

String

  

policySections

  

List of StoragePolicySection

  

mitreAttackVectors

  

List of PolicyMitreAttackVectors

  

criteriaLocked

  

Boolean

Read-only field. If true, the policy’s criteria fields are rendered read-only.

 

mitreVectorsLocked

  

Boolean

Read-only field. If true, the policy’s MITRE ATT&CK fields are rendered read-only.

 

isDefault

  

Boolean

Read-only field. Indicates the policy is a default policy if true and a custom policy if false.

 

22.2.7.45. StoragePolicyGroup

Expand
Field NameRequiredNullableTypeDescriptionFormat

fieldName

  

String

  

booleanOperator

  

StorageBooleanOperator

 

OR, AND,

negate

  

Boolean

  

values

  

List of StoragePolicyValue

  

22.2.7.46. StoragePolicySection

Expand
Field NameRequiredNullableTypeDescriptionFormat

sectionName

  

String

  

policyGroups

  

List of StoragePolicyGroup

  

22.2.7.47. StoragePolicyValue

Expand
Field NameRequiredNullableTypeDescriptionFormat

value

  

String

  

22.2.7.48. StoragePortConfig

Next Available Tag: 6
Expand
Field NameRequiredNullableTypeDescriptionFormat

name

  

String

  

containerPort

  

Integer

 

int32

protocol

  

String

  

exposure

  

PortConfigExposureLevel

 

UNSET, EXTERNAL, NODE, INTERNAL, HOST, ROUTE,

exposedPort

  

Integer

 

int32

exposureInfos

  

List of PortConfigExposureInfo

  

22.2.7.49. StorageProcessIndicator

Next available tag: 13
Expand
Field NameRequiredNullableTypeDescriptionFormat

id

  

String

  

deploymentId

  

String

  

containerName

  

String

  

podId

  

String

  

podUid

  

String

  

signal

  

StorageProcessSignal

  

clusterId

  

String

  

namespace

  

String

  

containerStartTime

  

Date

 

date-time

imageId

  

String

  

22.2.7.50. StorageProcessSignal

Expand
Field NameRequiredNullableTypeDescriptionFormat

id

  

String

A unique UUID for identifying the message We have this here instead of at the top level because we want to have each message to be self contained.

 

containerId

  

String

  

time

  

Date

 

date-time

name

  

String

  

args

  

String

  

execFilePath

  

String

  

pid

  

Long

 

int64

uid

  

Long

 

int64

gid

  

Long

 

int64

lineage

  

List of string

  

scraped

  

Boolean

  

lineageInfo

  

List of ProcessSignalLineageInfo

  

22.2.7.51. StorageReadinessProbe

Expand
Field NameRequiredNullableTypeDescriptionFormat

defined

  

Boolean

  

22.2.7.52. StorageResources

Expand
Field NameRequiredNullableTypeDescriptionFormat

cpuCoresRequest

  

Float

 

float

cpuCoresLimit

  

Float

 

float

memoryMbRequest

  

Float

 

float

memoryMbLimit

  

Float

 

float

22.2.7.53. StorageScope

Expand
Field NameRequiredNullableTypeDescriptionFormat

cluster

  

String

  

namespace

  

String

  

label

  

StorageScopeLabel

  

22.2.7.54. StorageScopeLabel

Expand
Field NameRequiredNullableTypeDescriptionFormat

key

  

String

  

value

  

String

  

22.2.7.55. StorageSecurityContext

Expand
Field NameRequiredNullableTypeDescriptionFormat

privileged

  

Boolean

  

selinux

  

SecurityContextSELinux

  

dropCapabilities

  

List of string

  

addCapabilities

  

List of string

  

readOnlyRootFilesystem

  

Boolean

  

seccompProfile

  

SecurityContextSeccompProfile

  

allowPrivilegeEscalation

  

Boolean

  

22.2.7.56. StorageSeverity

Expand
Enum Values

UNSET_SEVERITY

LOW_SEVERITY

MEDIUM_SEVERITY

HIGH_SEVERITY

CRITICAL_SEVERITY

22.2.7.57. StorageTaintEffect

Expand
Enum Values

UNKNOWN_TAINT_EFFECT

NO_SCHEDULE_TAINT_EFFECT

PREFER_NO_SCHEDULE_TAINT_EFFECT

NO_EXECUTE_TAINT_EFFECT

22.2.7.58. StorageToleration

Expand
Field NameRequiredNullableTypeDescriptionFormat

key

  

String

  

operator

  

StorageTolerationOperator

 

TOLERATION_OPERATION_UNKNOWN, TOLERATION_OPERATOR_EXISTS, TOLERATION_OPERATOR_EQUAL,

value

  

String

  

taintEffect

  

StorageTaintEffect

 

UNKNOWN_TAINT_EFFECT, NO_SCHEDULE_TAINT_EFFECT, PREFER_NO_SCHEDULE_TAINT_EFFECT, NO_EXECUTE_TAINT_EFFECT,

22.2.7.59. StorageTolerationOperator

Expand
Enum Values

TOLERATION_OPERATION_UNKNOWN

TOLERATION_OPERATOR_EXISTS

TOLERATION_OPERATOR_EQUAL

22.2.7.60. StorageViolationState

Expand
Enum Values

ACTIVE

SNOOZED

RESOLVED

ATTEMPTED

22.2.7.61. StorageVolume

Expand
Field NameRequiredNullableTypeDescriptionFormat

name

  

String

  

source

  

String

  

destination

  

String

  

readOnly

  

Boolean

  

type

  

String

  

mountPropagation

  

VolumeMountPropagation

 

NONE, HOST_TO_CONTAINER, BIDIRECTIONAL,

22.2.7.62. V1DeployDetectionRemark

Expand
Field NameRequiredNullableTypeDescriptionFormat

name

  

String

  

permissionLevel

  

String

  

appliedNetworkPolicies

  

List of string

  

22.2.7.63. V1DeployDetectionRequest

Expand
Field NameRequiredNullableTypeDescriptionFormat

deployment

  

StorageDeployment

  

noExternalMetadata

  

Boolean

  

enforcementOnly

  

Boolean

  

clusterId

  

String

  

22.2.7.64. V1DeployDetectionResponse

Expand
Field NameRequiredNullableTypeDescriptionFormat

runs

  

List of DeployDetectionResponseRun

  

ignoredObjectRefs

  

List of string

The reference will be in the format: namespace/name[<group>/<version>, Kind=<kind>].

 

remarks

  

List of V1DeployDetectionRemark

  

22.2.7.65. ViolationKeyValueAttrs

Expand
Field NameRequiredNullableTypeDescriptionFormat

attrs

  

List of KeyValueAttrsKeyValueAttr

  

22.2.7.66. ViolationNetworkFlowInfo

Expand
Field NameRequiredNullableTypeDescriptionFormat

protocol

  

StorageL4Protocol

 

L4_PROTOCOL_UNKNOWN, L4_PROTOCOL_TCP, L4_PROTOCOL_UDP, L4_PROTOCOL_ICMP, L4_PROTOCOL_RAW, L4_PROTOCOL_SCTP, L4_PROTOCOL_ANY,

source

  

NetworkFlowInfoEntity

  

destination

  

NetworkFlowInfoEntity

  

22.2.7.67. VolumeMountPropagation

Expand
Enum Values

NONE

HOST_TO_CONTAINER

BIDIRECTIONAL

22.3. DetectDeployTimeFromYAML

POST /v1/detect/deploy/yaml

DetectDeployTimeFromYAML checks if the given deployment yaml violates any deploy time policies.

22.3.1. Description

22.3.2. Parameters

22.3.2.1. Body Parameter

Expand
NameDescriptionRequiredDefaultPattern

body

V1DeployYAMLDetectionRequest

X

  

22.3.3. Return Type

V1DeployDetectionResponse

22.3.4. Content Type

  • application/json

22.3.5. Responses

Expand
Table 22.3. HTTP Response Codes
CodeMessageDatatype

200

A successful response.

V1DeployDetectionResponse

0

An unexpected error response.

RuntimeError

22.3.6. Samples

22.3.7. Common object reference

22.3.7.1. AlertDeploymentContainer

Expand
Field NameRequiredNullableTypeDescriptionFormat

image

  

StorageContainerImage

  

name

  

String

  

22.3.7.2. AlertEnforcement

Expand
Field NameRequiredNullableTypeDescriptionFormat

action

  

StorageEnforcementAction

 

UNSET_ENFORCEMENT, SCALE_TO_ZERO_ENFORCEMENT, UNSATISFIABLE_NODE_CONSTRAINT_ENFORCEMENT, KILL_POD_ENFORCEMENT, FAIL_BUILD_ENFORCEMENT, FAIL_KUBE_REQUEST_ENFORCEMENT, FAIL_DEPLOYMENT_CREATE_ENFORCEMENT, FAIL_DEPLOYMENT_UPDATE_ENFORCEMENT,

message

  

String

  

22.3.7.3. AlertProcessViolation

Expand
Field NameRequiredNullableTypeDescriptionFormat

message

  

String

  

processes

  

List of StorageProcessIndicator

  

22.3.7.4. AlertResourceResourceType

Expand
Enum Values

UNKNOWN

SECRETS

CONFIGMAPS

CLUSTER_ROLES

CLUSTER_ROLE_BINDINGS

NETWORK_POLICIES

SECURITY_CONTEXT_CONSTRAINTS

EGRESS_FIREWALLS

22.3.7.5. AlertViolation

Expand
Field NameRequiredNullableTypeDescriptionFormat

message

  

String

  

keyValueAttrs

  

ViolationKeyValueAttrs

  

networkFlowInfo

  

ViolationNetworkFlowInfo

  

type

  

AlertViolationType

 

GENERIC, K8S_EVENT, NETWORK_FLOW, NETWORK_POLICY,

time

  

Date

Indicates violation time. This field differs from top-level field 'time' which represents last time the alert occurred in case of multiple occurrences of the policy alert. As of 55.0, this field is set only for kubernetes event violations, but may not be limited to it in future.

date-time

22.3.7.6. AlertViolationType

Expand
Enum Values

GENERIC

K8S_EVENT

NETWORK_FLOW

NETWORK_POLICY

22.3.7.7. DeployDetectionResponseRun

Expand
Field NameRequiredNullableTypeDescriptionFormat

name

  

String

  

type

  

String

  

alerts

  

List of StorageAlert

  

22.3.7.8. KeyValueAttrsKeyValueAttr

Expand
Field NameRequiredNullableTypeDescriptionFormat

key

  

String

  

value

  

String

  

22.3.7.9. NetworkFlowInfoEntity

Expand
Field NameRequiredNullableTypeDescriptionFormat

name

  

String

  

entityType

  

StorageNetworkEntityInfoType

 

UNKNOWN_TYPE, DEPLOYMENT, INTERNET, LISTEN_ENDPOINT, EXTERNAL_SOURCE, INTERNAL_ENTITIES,

deploymentNamespace

  

String

  

deploymentType

  

String

  

port

  

Integer

 

int32

22.3.7.10. PolicyMitreAttackVectors

Expand
Field NameRequiredNullableTypeDescriptionFormat

tactic

  

String

  

techniques

  

List of string

  

22.3.7.11. ProcessSignalLineageInfo

Expand
Field NameRequiredNullableTypeDescriptionFormat

parentUid

  

Long

 

int64

parentExecFilePath

  

String

  

22.3.7.12. ProtobufAny

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

22.3.7.12.1. JSON representation

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"
}
Expand
Field NameRequiredNullableTypeDescriptionFormat

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 path/google.protobuf.Duration). The name should be in a canonical form (e.g., leading \".\" is not accepted). In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme http, https, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows: * If no scheme is provided, https is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.) Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com. As of May 2023, there are no widely used type server implementations and no plans to implement one. Schemes other than http, https (or the empty scheme) might be used with implementation specific semantics.

 

value

  

byte[]

Must be a valid serialized protocol buffer of the above specified type.

byte

22.3.7.13. RuntimeError

Expand
Field NameRequiredNullableTypeDescriptionFormat

error

  

String

  

code

  

Integer

 

int32

message

  

String

  

details

  

List of ProtobufAny

  

22.3.7.14. StorageAlert

Expand
Field NameRequiredNullableTypeDescriptionFormat

id

  

String

  

policy

  

StoragePolicy

  

lifecycleStage

  

StorageLifecycleStage

 

DEPLOY, BUILD, RUNTIME,

clusterId

  

String

  

clusterName

  

String

  

namespace

  

String

  

namespaceId

  

String

  

deployment

  

StorageAlertDeployment

  

image

  

StorageContainerImage

  

resource

  

StorageAlertResource

  

violations

  

List of AlertViolation

For run-time phase alert, a maximum of 40 violations are retained.

 

processViolation

  

AlertProcessViolation

  

enforcement

  

AlertEnforcement

  

time

  

Date

 

date-time

firstOccurred

  

Date

 

date-time

resolvedAt

  

Date

The time at which the alert was resolved. Only set if ViolationState is RESOLVED.

date-time

state

  

StorageViolationState

 

ACTIVE, SNOOZED, RESOLVED, ATTEMPTED,

snoozeTill

  

Date

 

date-time

22.3.7.15. StorageAlertDeployment

Expand
Field NameRequiredNullableTypeDescriptionFormat

id

  

String

  

name

  

String

  

type

  

String

  

namespace

  

String

  

namespaceId

  

String

  

labels

  

Map of string

  

clusterId

  

String

  

clusterName

  

String

  

containers

  

List of AlertDeploymentContainer

  

annotations

  

Map of string

  

inactive

  

Boolean

  

22.3.7.16. StorageAlertResource

Represents an alert on a kubernetes resource other than a deployment (configmaps, secrets, etc.)
Expand
Field NameRequiredNullableTypeDescriptionFormat

resourceType

  

AlertResourceResourceType

 

UNKNOWN, SECRETS, CONFIGMAPS, CLUSTER_ROLES, CLUSTER_ROLE_BINDINGS, NETWORK_POLICIES, SECURITY_CONTEXT_CONSTRAINTS, EGRESS_FIREWALLS,

name

  

String

  

clusterId

  

String

  

clusterName

  

String

  

namespace

  

String

  

namespaceId

  

String

  

22.3.7.17. StorageBooleanOperator

Expand
Enum Values

OR

AND

22.3.7.18. StorageContainerImage

Next tag: 12
Expand
Field NameRequiredNullableTypeDescriptionFormat

id

  

String

  

name

  

StorageImageName

  

notPullable

  

Boolean

  

isClusterLocal

  

Boolean

  

22.3.7.19. StorageEnforcementAction

  • FAIL_KUBE_REQUEST_ENFORCEMENT: FAIL_KUBE_REQUEST_ENFORCEMENT takes effect only if admission control webhook is enabled to listen on exec and port-forward events.
  • FAIL_DEPLOYMENT_CREATE_ENFORCEMENT: FAIL_DEPLOYMENT_CREATE_ENFORCEMENT takes effect only if admission control webhook is configured to enforce on object creates.
  • FAIL_DEPLOYMENT_UPDATE_ENFORCEMENT: FAIL_DEPLOYMENT_UPDATE_ENFORCEMENT takes effect only if admission control webhook is configured to enforce on object updates.
Expand
Enum Values

UNSET_ENFORCEMENT

SCALE_TO_ZERO_ENFORCEMENT

UNSATISFIABLE_NODE_CONSTRAINT_ENFORCEMENT

KILL_POD_ENFORCEMENT

FAIL_BUILD_ENFORCEMENT

FAIL_KUBE_REQUEST_ENFORCEMENT

FAIL_DEPLOYMENT_CREATE_ENFORCEMENT

FAIL_DEPLOYMENT_UPDATE_ENFORCEMENT

22.3.7.20. StorageEventSource

Expand
Enum Values

NOT_APPLICABLE

DEPLOYMENT_EVENT

AUDIT_LOG_EVENT

22.3.7.21. StorageExclusion

Expand
Field NameRequiredNullableTypeDescriptionFormat

name

  

String

  

deployment

  

StorageExclusionDeployment

  

image

  

StorageExclusionImage

  

expiration

  

Date

 

date-time

22.3.7.22. StorageExclusionDeployment

Expand
Field NameRequiredNullableTypeDescriptionFormat

name

  

String

  

scope

  

StorageScope

  

22.3.7.23. StorageExclusionImage

Expand
Field NameRequiredNullableTypeDescriptionFormat

name

  

String

  

22.3.7.24. StorageImageName

Expand
Field NameRequiredNullableTypeDescriptionFormat

registry

  

String

  

remote

  

String

  

tag

  

String

  

fullName

  

String

  

22.3.7.25. StorageL4Protocol

Expand
Enum Values

L4_PROTOCOL_UNKNOWN

L4_PROTOCOL_TCP

L4_PROTOCOL_UDP

L4_PROTOCOL_ICMP

L4_PROTOCOL_RAW

L4_PROTOCOL_SCTP

L4_PROTOCOL_ANY

22.3.7.26. StorageLifecycleStage

Expand
Enum Values

DEPLOY

BUILD

RUNTIME

22.3.7.27. StorageNetworkEntityInfoType

  • INTERNAL_ENTITIES: INTERNAL_ENTITIES is for grouping all internal entities under a single network graph node
Expand
Enum Values

UNKNOWN_TYPE

DEPLOYMENT

INTERNET

LISTEN_ENDPOINT

EXTERNAL_SOURCE

INTERNAL_ENTITIES

22.3.7.28. StoragePolicy

Expand
Field NameRequiredNullableTypeDescriptionFormat

id

  

String

  

name

  

String

  

description

  

String

  

rationale

  

String

  

remediation

  

String

  

disabled

  

Boolean

  

categories

  

List of string

  

lifecycleStages

  

List of StorageLifecycleStage

  

eventSource

  

StorageEventSource

 

NOT_APPLICABLE, DEPLOYMENT_EVENT, AUDIT_LOG_EVENT,

exclusions

  

List of StorageExclusion

  

scope

  

List of StorageScope

  

severity

  

StorageSeverity

 

UNSET_SEVERITY, LOW_SEVERITY, MEDIUM_SEVERITY, HIGH_SEVERITY, CRITICAL_SEVERITY,

enforcementActions

  

List of StorageEnforcementAction

FAIL_DEPLOYMENT_CREATE_ENFORCEMENT takes effect only if admission control webhook is configured to enforce on object creates/updates. FAIL_KUBE_REQUEST_ENFORCEMENT takes effect only if admission control webhook is enabled to listen on exec and port-forward events. FAIL_DEPLOYMENT_UPDATE_ENFORCEMENT takes effect only if admission control webhook is configured to enforce on object updates.

 

notifiers

  

List of string

  

lastUpdated

  

Date

 

date-time

SORTName

  

String

For internal use only.

 

SORTLifecycleStage

  

String

For internal use only.

 

SORTEnforcement

  

Boolean

For internal use only.

 

policyVersion

  

String

  

policySections

  

List of StoragePolicySection

  

mitreAttackVectors

  

List of PolicyMitreAttackVectors

  

criteriaLocked

  

Boolean

Read-only field. If true, the policy’s criteria fields are rendered read-only.

 

mitreVectorsLocked

  

Boolean

Read-only field. If true, the policy’s MITRE ATT&CK fields are rendered read-only.

 

isDefault

  

Boolean

Read-only field. Indicates the policy is a default policy if true and a custom policy if false.

 

22.3.7.29. StoragePolicyGroup

Expand
Field NameRequiredNullableTypeDescriptionFormat

fieldName

  

String

  

booleanOperator

  

StorageBooleanOperator

 

OR, AND,

negate

  

Boolean

  

values

  

List of StoragePolicyValue

  

22.3.7.30. StoragePolicySection

Expand
Field NameRequiredNullableTypeDescriptionFormat

sectionName

  

String

  

policyGroups

  

List of StoragePolicyGroup

  

22.3.7.31. StoragePolicyValue

Expand
Field NameRequiredNullableTypeDescriptionFormat

value

  

String

  

22.3.7.32. StorageProcessIndicator

Next available tag: 13
Expand
Field NameRequiredNullableTypeDescriptionFormat

id

  

String

  

deploymentId

  

String

  

containerName

  

String

  

podId

  

String

  

podUid

  

String

  

signal

  

StorageProcessSignal

  

clusterId

  

String

  

namespace

  

String

  

containerStartTime

  

Date

 

date-time

imageId

  

String

  

22.3.7.33. StorageProcessSignal

Expand
Field NameRequiredNullableTypeDescriptionFormat

id

  

String

A unique UUID for identifying the message We have this here instead of at the top level because we want to have each message to be self contained.

 

containerId

  

String

  

time

  

Date

 

date-time

name

  

String

  

args

  

String

  

execFilePath

  

String

  

pid

  

Long

 

int64

uid

  

Long

 

int64

gid

  

Long

 

int64

lineage

  

List of string

  

scraped

  

Boolean

  

lineageInfo

  

List of ProcessSignalLineageInfo

  

22.3.7.34. StorageScope

Expand
Field NameRequiredNullableTypeDescriptionFormat

cluster

  

String

  

namespace

  

String

  

label

  

StorageScopeLabel

  

22.3.7.35. StorageScopeLabel

Expand
Field NameRequiredNullableTypeDescriptionFormat

key

  

String

  

value

  

String

  

22.3.7.36. StorageSeverity

Expand
Enum Values

UNSET_SEVERITY

LOW_SEVERITY

MEDIUM_SEVERITY

HIGH_SEVERITY

CRITICAL_SEVERITY

22.3.7.37. StorageViolationState

Expand
Enum Values

ACTIVE

SNOOZED

RESOLVED

ATTEMPTED

22.3.7.38. V1DeployDetectionRemark

Expand
Field NameRequiredNullableTypeDescriptionFormat

name

  

String

  

permissionLevel

  

String

  

appliedNetworkPolicies

  

List of string

  

22.3.7.39. V1DeployDetectionResponse

Expand
Field NameRequiredNullableTypeDescriptionFormat

runs

  

List of DeployDetectionResponseRun

  

ignoredObjectRefs

  

List of string

The reference will be in the format: namespace/name[<group>/<version>, Kind=<kind>].

 

remarks

  

List of V1DeployDetectionRemark

  

22.3.7.40. V1DeployYAMLDetectionRequest

Expand
Field NameRequiredNullableTypeDescriptionFormat

yaml

  

String

  

noExternalMetadata

  

Boolean

  

enforcementOnly

  

Boolean

  

force

  

Boolean

  

policyCategories

  

List of string

  

cluster

  

String

Cluster to delegate scan to, may be the cluster’s name or ID.

 

namespace

  

String

  

22.3.7.41. ViolationKeyValueAttrs

Expand
Field NameRequiredNullableTypeDescriptionFormat

attrs

  

List of KeyValueAttrsKeyValueAttr

  

22.3.7.42. ViolationNetworkFlowInfo

Expand
Field NameRequiredNullableTypeDescriptionFormat

protocol

  

StorageL4Protocol

 

L4_PROTOCOL_UNKNOWN, L4_PROTOCOL_TCP, L4_PROTOCOL_UDP, L4_PROTOCOL_ICMP, L4_PROTOCOL_RAW, L4_PROTOCOL_SCTP, L4_PROTOCOL_ANY,

source

  

NetworkFlowInfoEntity

  

destination

  

NetworkFlowInfoEntity

  
Red Hat logoGithubredditYoutubeTwitter

Learn

Try, buy, & sell

Communities

About Red Hat

We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.

Making open source more inclusive

Red Hat is committed to replacing problematic language in our code, documentation, and web properties. For more details, see the Red Hat Blog.

About Red Hat Documentation

Legal Notice

Theme

© 2026 Red Hat
Back to top