Chapter 11. ClustersService 11.1. GetClusterDefaultValues GET /v1/cluster-defaults 11.1.1. Description 11.1.2. Parameters 11.1.3. Return Type V1ClusterDefaultsResponse 11.1.4. Content Type application/json 11.1.5. Responses Table 11.1. HTTP Response Codes Code Message Datatype 200 A successful response. V1ClusterDefaultsResponse 0 An unexpected error response. GooglerpcStatus 11.1.6. Samples 11.1.7. Common object reference 11.1.7.1. GooglerpcStatus Field Name Required Nullable Type Description Format code Integer int32 message String details List of ProtobufAny 11.1.7.2. 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++. Example 2: Pack and unpack a message in Java. 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". 11.1.7.2.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: 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][]): Field Name Required Nullable Type Description Format @type 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. 11.1.7.3. V1ClusterDefaultsResponse Field Name Required Nullable Type Description Format mainImageRepository String collectorImageRepository String kernelSupportAvailable Boolean 11.2. GetKernelSupportAvailable GET /v1/clusters-env/kernel-support-available GetKernelSupportAvailable is deprecated in favor of GetClusterDefaultValues. 11.2.1. Description 11.2.2. Parameters 11.2.3. Return Type V1KernelSupportAvailableResponse 11.2.4. Content Type application/json 11.2.5. Responses Table 11.2. HTTP Response Codes Code Message Datatype 200 A successful response. V1KernelSupportAvailableResponse 0 An unexpected error response. GooglerpcStatus 11.2.6. Samples 11.2.7. Common object reference 11.2.7.1. GooglerpcStatus Field Name Required Nullable Type Description Format code Integer int32 message String details List of ProtobufAny 11.2.7.2. 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++. Example 2: Pack and unpack a message in Java. 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". 11.2.7.2.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: 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][]): Field Name Required Nullable Type Description Format @type 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. 11.2.7.3. V1KernelSupportAvailableResponse Field Name Required Nullable Type Description Format kernelSupportAvailable Boolean 11.3. GetClusters GET /v1/clusters 11.3.1. Description 11.3.2. Parameters 11.3.2.1. Query Parameters Name Description Required Default Pattern query - null 11.3.3. Return Type V1ClustersList 11.3.4. Content Type application/json 11.3.5. Responses Table 11.3. HTTP Response Codes Code Message Datatype 200 A successful response. V1ClustersList 0 An unexpected error response. GooglerpcStatus 11.3.6. Samples 11.3.7. Common object reference 11.3.7.1. ClusterHealthStatusHealthStatusLabel UNAVAILABLE: Only collector can have unavailable status Enum Values UNINITIALIZED UNAVAILABLE UNHEALTHY DEGRADED HEALTHY 11.3.7.2. ClusterUpgradeStatusUpgradability SENSOR_VERSION_HIGHER: SENSOR_VERSION_HIGHER occurs when we detect that the sensor is running a newer version than this Central. This is unexpected, but can occur depending on the patches a customer does. In this case, we will NOT automatically "upgrade" the sensor, since that would be a downgrade, even if the autoupgrade setting is on. The user will be allowed to manually trigger the upgrade, but they are strongly discouraged from doing so without upgrading Central first, since this is an unsupported configuration. Enum Values UNSET UP_TO_DATE MANUAL_UPGRADE_REQUIRED AUTO_UPGRADE_POSSIBLE SENSOR_VERSION_HIGHER 11.3.7.3. ClusterUpgradeStatusUpgradeProcessStatus Field Name Required Nullable Type Description Format active Boolean id String targetVersion String upgraderImage String initiatedAt Date date-time progress StorageUpgradeProgress type UpgradeProcessStatusUpgradeProcessType UPGRADE, CERT_ROTATION, 11.3.7.4. GooglerpcStatus Field Name Required Nullable Type Description Format code Integer int32 message String details List of ProtobufAny 11.3.7.5. 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++. Example 2: Pack and unpack a message in Java. 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". 11.3.7.5.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: 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][]): Field Name Required Nullable Type Description Format @type 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. 11.3.7.6. StorageAWSProviderMetadata Field Name Required Nullable Type Description Format accountId String 11.3.7.7. StorageAdmissionControlHealthInfo AdmissionControlHealthInfo carries data about admission control deployment but does not include admission control health status derived from this data. Aggregated admission control health status is not included because it is derived in central and not in the component that first reports AdmissionControlHealthInfo (sensor). The following fields are made optional/nullable because there can be errors when trying to obtain them and the default value of 0 might be confusing with the actual value 0. In case an error happens when trying to obtain a certain field, it will be absent (instead of having the default value). Field Name Required Nullable Type Description Format totalDesiredPods Integer int32 totalReadyPods Integer int32 statusErrors List of string Collection of errors that occurred while trying to obtain admission control health info. 11.3.7.8. StorageAdmissionControllerConfig Field Name Required Nullable Type Description Format enabled Boolean timeoutSeconds Integer int32 scanInline Boolean disableBypass Boolean enforceOnUpdates Boolean 11.3.7.9. StorageAuditLogFileState Field Name Required Nullable Type Description Format collectLogsSince Date date-time lastAuditId String 11.3.7.10. StorageAzureProviderMetadata Field Name Required Nullable Type Description Format subscriptionId String 11.3.7.11. StorageCluster Field Name Required Nullable Type Description Format id String name String type StorageClusterType GENERIC_CLUSTER, KUBERNETES_CLUSTER, OPENSHIFT_CLUSTER, OPENSHIFT4_CLUSTER, labels Map of string mainImage String collectorImage String centralApiEndpoint String runtimeSupport Boolean collectionMethod StorageCollectionMethod UNSET_COLLECTION, NO_COLLECTION, KERNEL_MODULE, EBPF, CORE_BPF, admissionController Boolean admissionControllerUpdates Boolean admissionControllerEvents Boolean status StorageClusterStatus dynamicConfig StorageDynamicClusterConfig tolerationsConfig StorageTolerationsConfig priority String int64 healthStatus StorageClusterHealthStatus slimCollector Boolean helmConfig StorageCompleteClusterConfig mostRecentSensorId StorageSensorDeploymentIdentification auditLogState Map of StorageAuditLogFileState For internal use only. initBundleId String managedBy StorageManagerType MANAGER_TYPE_UNKNOWN, MANAGER_TYPE_MANUAL, MANAGER_TYPE_HELM_CHART, MANAGER_TYPE_KUBERNETES_OPERATOR, 11.3.7.12. StorageClusterCertExpiryStatus Field Name Required Nullable Type Description Format sensorCertExpiry Date date-time sensorCertNotBefore Date date-time 11.3.7.13. StorageClusterHealthStatus Field Name Required Nullable Type Description Format id String collectorHealthInfo StorageCollectorHealthInfo admissionControlHealthInfo StorageAdmissionControlHealthInfo scannerHealthInfo StorageScannerHealthInfo sensorHealthStatus ClusterHealthStatusHealthStatusLabel UNINITIALIZED, UNAVAILABLE, UNHEALTHY, DEGRADED, HEALTHY, collectorHealthStatus ClusterHealthStatusHealthStatusLabel UNINITIALIZED, UNAVAILABLE, UNHEALTHY, DEGRADED, HEALTHY, overallHealthStatus ClusterHealthStatusHealthStatusLabel UNINITIALIZED, UNAVAILABLE, UNHEALTHY, DEGRADED, HEALTHY, admissionControlHealthStatus ClusterHealthStatusHealthStatusLabel UNINITIALIZED, UNAVAILABLE, UNHEALTHY, DEGRADED, HEALTHY, scannerHealthStatus ClusterHealthStatusHealthStatusLabel UNINITIALIZED, UNAVAILABLE, UNHEALTHY, DEGRADED, HEALTHY, lastContact Date date-time healthInfoComplete Boolean 11.3.7.14. StorageClusterMetadata ClusterMetadata contains metadata information about the cluster infrastructure. Field Name Required Nullable Type Description Format type StorageClusterMetadataType UNSPECIFIED, AKS, ARO, EKS, GKE, OCP, OSD, ROSA, name String Name represents the name under which the cluster is registered with the cloud provider. In case of self managed OpenShift it is the name chosen by the OpenShift installer. id String Id represents a unique ID under which the cluster is registered with the cloud provider. Not all cluster types have an id. For all OpenShift clusters, this is the Red Hat cluster_id registered with OCM. 11.3.7.15. StorageClusterMetadataType Enum Values UNSPECIFIED AKS ARO EKS GKE OCP OSD ROSA 11.3.7.16. StorageClusterStatus Field Name Required Nullable Type Description Format sensorVersion String DEPRECATEDLastContact Date This field has been deprecated starting release 49.0. Use healthStatus.lastContact instead. date-time providerMetadata StorageProviderMetadata orchestratorMetadata StorageOrchestratorMetadata upgradeStatus StorageClusterUpgradeStatus certExpiryStatus StorageClusterCertExpiryStatus 11.3.7.17. StorageClusterType Enum Values GENERIC_CLUSTER KUBERNETES_CLUSTER OPENSHIFT_CLUSTER OPENSHIFT4_CLUSTER 11.3.7.18. StorageClusterUpgradeStatus Field Name Required Nullable Type Description Format upgradability ClusterUpgradeStatusUpgradability UNSET, UP_TO_DATE, MANUAL_UPGRADE_REQUIRED, AUTO_UPGRADE_POSSIBLE, SENSOR_VERSION_HIGHER, upgradabilityStatusReason String mostRecentProcess ClusterUpgradeStatusUpgradeProcessStatus 11.3.7.19. StorageCollectionMethod Enum Values UNSET_COLLECTION NO_COLLECTION KERNEL_MODULE EBPF CORE_BPF 11.3.7.20. StorageCollectorHealthInfo CollectorHealthInfo carries data about collector deployment but does not include collector health status derived from this data. Aggregated collector health status is not included because it is derived in central and not in the component that first reports CollectorHealthInfo (sensor). Field Name Required Nullable Type Description Format version String totalDesiredPods Integer int32 totalReadyPods Integer int32 totalRegisteredNodes Integer int32 statusErrors List of string Collection of errors that occurred while trying to obtain collector health info. 11.3.7.21. StorageCompleteClusterConfig Encodes a complete cluster configuration minus ID/Name identifiers including static and dynamic settings. Field Name Required Nullable Type Description Format dynamicConfig StorageDynamicClusterConfig staticConfig StorageStaticClusterConfig configFingerprint String clusterLabels Map of string 11.3.7.22. StorageDynamicClusterConfig The difference between Static and Dynamic cluster config is that Dynamic values are sent over the Central to Sensor gRPC connection. This has the benefit of allowing for "hot reloading" of values without restarting Secured cluster components. Field Name Required Nullable Type Description Format admissionControllerConfig StorageAdmissionControllerConfig registryOverride String disableAuditLogs Boolean 11.3.7.23. StorageGoogleProviderMetadata Field Name Required Nullable Type Description Format project String clusterName String Deprecated in favor of providerMetadata.cluster.name. 11.3.7.24. StorageManagerType Enum Values MANAGER_TYPE_UNKNOWN MANAGER_TYPE_MANUAL MANAGER_TYPE_HELM_CHART MANAGER_TYPE_KUBERNETES_OPERATOR 11.3.7.25. StorageOrchestratorMetadata Field Name Required Nullable Type Description Format version String openshiftVersion String buildDate Date date-time apiVersions List of string 11.3.7.26. StorageProviderMetadata Field Name Required Nullable Type Description Format region String zone String google StorageGoogleProviderMetadata aws StorageAWSProviderMetadata azure StorageAzureProviderMetadata verified Boolean cluster StorageClusterMetadata 11.3.7.27. StorageScannerHealthInfo ScannerHealthInfo represents health info of a scanner instance that is deployed on a secured cluster (so called "local scanner"). When the scanner is deployed on a central cluster, the following message is NOT used. ScannerHealthInfo carries data about scanner deployment but does not include scanner health status derived from this data. Aggregated scanner health status is not included because it is derived in central and not in the component that first reports ScannerHealthInfo (sensor). The following fields are made optional/nullable because there can be errors when trying to obtain them and the default value of 0 might be confusing with the actual value 0. In case an error happens when trying to obtain a certain field, it will be absent (instead of having the default value). Field Name Required Nullable Type Description Format totalDesiredAnalyzerPods Integer int32 totalReadyAnalyzerPods Integer int32 totalDesiredDbPods Integer int32 totalReadyDbPods Integer int32 statusErrors List of string Collection of errors that occurred while trying to obtain scanner health info. 11.3.7.28. StorageSensorDeploymentIdentification StackRoxDeploymentIdentification aims at uniquely identifying a StackRox Sensor deployment. It is used to determine whether a sensor connection comes from a sensor pod that has restarted or was recreated (possibly after a network partition), or from a deployment in a different namespace or cluster. Field Name Required Nullable Type Description Format systemNamespaceId String defaultNamespaceId String appNamespace String appNamespaceId String appServiceaccountId String k8sNodeName String 11.3.7.29. StorageStaticClusterConfig The difference between Static and Dynamic cluster config is that Static values are not sent over the Central to Sensor gRPC connection. They are used, for example, to generate manifests that can be used to set up the Secured Cluster's k8s components. They are not dynamically reloaded. Field Name Required Nullable Type Description Format type StorageClusterType GENERIC_CLUSTER, KUBERNETES_CLUSTER, OPENSHIFT_CLUSTER, OPENSHIFT4_CLUSTER, mainImage String centralApiEndpoint String collectionMethod StorageCollectionMethod UNSET_COLLECTION, NO_COLLECTION, KERNEL_MODULE, EBPF, CORE_BPF, collectorImage String admissionController Boolean admissionControllerUpdates Boolean tolerationsConfig StorageTolerationsConfig slimCollector Boolean admissionControllerEvents Boolean 11.3.7.30. StorageTolerationsConfig Field Name Required Nullable Type Description Format disabled Boolean 11.3.7.31. StorageUpgradeProgress Field Name Required Nullable Type Description Format upgradeState UpgradeProgressUpgradeState UPGRADE_INITIALIZING, UPGRADER_LAUNCHING, UPGRADER_LAUNCHED, PRE_FLIGHT_CHECKS_COMPLETE, UPGRADE_OPERATIONS_DONE, UPGRADE_COMPLETE, UPGRADE_INITIALIZATION_ERROR, PRE_FLIGHT_CHECKS_FAILED, UPGRADE_ERROR_ROLLING_BACK, UPGRADE_ERROR_ROLLED_BACK, UPGRADE_ERROR_ROLLBACK_FAILED, UPGRADE_ERROR_UNKNOWN, UPGRADE_TIMED_OUT, upgradeStatusDetail String since Date date-time 11.3.7.32. UpgradeProcessStatusUpgradeProcessType UPGRADE: UPGRADE represents a sensor version upgrade. CERT_ROTATION: CERT_ROTATION represents an upgrade process that only rotates the TLS certs used by the cluster, without changing anything else. Enum Values UPGRADE CERT_ROTATION 11.3.7.33. UpgradeProgressUpgradeState UPGRADER_LAUNCHING: In-progress states. UPGRADE_COMPLETE: The success state. PLEASE NUMBER ALL IN-PROGRESS STATES ABOVE THIS AND ALL ERROR STATES BELOW THIS. UPGRADE_INITIALIZATION_ERROR: Error states. Enum Values UPGRADE_INITIALIZING UPGRADER_LAUNCHING UPGRADER_LAUNCHED PRE_FLIGHT_CHECKS_COMPLETE UPGRADE_OPERATIONS_DONE UPGRADE_COMPLETE UPGRADE_INITIALIZATION_ERROR PRE_FLIGHT_CHECKS_FAILED UPGRADE_ERROR_ROLLING_BACK UPGRADE_ERROR_ROLLED_BACK UPGRADE_ERROR_ROLLBACK_FAILED UPGRADE_ERROR_UNKNOWN UPGRADE_TIMED_OUT 11.3.7.34. V1ClustersList Field Name Required Nullable Type Description Format clusters List of StorageCluster clusterIdToRetentionInfo Map of V1DecommissionedClusterRetentionInfo 11.3.7.35. V1DecommissionedClusterRetentionInfo Field Name Required Nullable Type Description Format isExcluded Boolean daysUntilDeletion Integer int32 11.4. DeleteCluster DELETE /v1/clusters/{id} 11.4.1. Description 11.4.2. Parameters 11.4.2.1. Path Parameters Name Description Required Default Pattern id X null 11.4.3. Return Type Object 11.4.4. Content Type application/json 11.4.5. Responses Table 11.4. HTTP Response Codes Code Message Datatype 200 A successful response. Object 0 An unexpected error response. GooglerpcStatus 11.4.6. Samples 11.4.7. Common object reference 11.4.7.1. GooglerpcStatus Field Name Required Nullable Type Description Format code Integer int32 message String details List of ProtobufAny 11.4.7.2. 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++. Example 2: Pack and unpack a message in Java. 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". 11.4.7.2.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: 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][]): Field Name Required Nullable Type Description Format @type 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. 11.5. GetCluster GET /v1/clusters/{id} 11.5.1. Description 11.5.2. Parameters 11.5.2.1. Path Parameters Name Description Required Default Pattern id X null 11.5.3. Return Type V1ClusterResponse 11.5.4. Content Type application/json 11.5.5. Responses Table 11.5. HTTP Response Codes Code Message Datatype 200 A successful response. V1ClusterResponse 0 An unexpected error response. GooglerpcStatus 11.5.6. Samples 11.5.7. Common object reference 11.5.7.1. ClusterHealthStatusHealthStatusLabel UNAVAILABLE: Only collector can have unavailable status Enum Values UNINITIALIZED UNAVAILABLE UNHEALTHY DEGRADED HEALTHY 11.5.7.2. ClusterUpgradeStatusUpgradability SENSOR_VERSION_HIGHER: SENSOR_VERSION_HIGHER occurs when we detect that the sensor is running a newer version than this Central. This is unexpected, but can occur depending on the patches a customer does. In this case, we will NOT automatically "upgrade" the sensor, since that would be a downgrade, even if the autoupgrade setting is on. The user will be allowed to manually trigger the upgrade, but they are strongly discouraged from doing so without upgrading Central first, since this is an unsupported configuration. Enum Values UNSET UP_TO_DATE MANUAL_UPGRADE_REQUIRED AUTO_UPGRADE_POSSIBLE SENSOR_VERSION_HIGHER 11.5.7.3. ClusterUpgradeStatusUpgradeProcessStatus Field Name Required Nullable Type Description Format active Boolean id String targetVersion String upgraderImage String initiatedAt Date date-time progress StorageUpgradeProgress type UpgradeProcessStatusUpgradeProcessType UPGRADE, CERT_ROTATION, 11.5.7.4. GooglerpcStatus Field Name Required Nullable Type Description Format code Integer int32 message String details List of ProtobufAny 11.5.7.5. 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++. Example 2: Pack and unpack a message in Java. 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". 11.5.7.5.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: 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][]): Field Name Required Nullable Type Description Format @type 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. 11.5.7.6. StorageAWSProviderMetadata Field Name Required Nullable Type Description Format accountId String 11.5.7.7. StorageAdmissionControlHealthInfo AdmissionControlHealthInfo carries data about admission control deployment but does not include admission control health status derived from this data. Aggregated admission control health status is not included because it is derived in central and not in the component that first reports AdmissionControlHealthInfo (sensor). The following fields are made optional/nullable because there can be errors when trying to obtain them and the default value of 0 might be confusing with the actual value 0. In case an error happens when trying to obtain a certain field, it will be absent (instead of having the default value). Field Name Required Nullable Type Description Format totalDesiredPods Integer int32 totalReadyPods Integer int32 statusErrors List of string Collection of errors that occurred while trying to obtain admission control health info. 11.5.7.8. StorageAdmissionControllerConfig Field Name Required Nullable Type Description Format enabled Boolean timeoutSeconds Integer int32 scanInline Boolean disableBypass Boolean enforceOnUpdates Boolean 11.5.7.9. StorageAuditLogFileState Field Name Required Nullable Type Description Format collectLogsSince Date date-time lastAuditId String 11.5.7.10. StorageAzureProviderMetadata Field Name Required Nullable Type Description Format subscriptionId String 11.5.7.11. StorageCluster Field Name Required Nullable Type Description Format id String name String type StorageClusterType GENERIC_CLUSTER, KUBERNETES_CLUSTER, OPENSHIFT_CLUSTER, OPENSHIFT4_CLUSTER, labels Map of string mainImage String collectorImage String centralApiEndpoint String runtimeSupport Boolean collectionMethod StorageCollectionMethod UNSET_COLLECTION, NO_COLLECTION, KERNEL_MODULE, EBPF, CORE_BPF, admissionController Boolean admissionControllerUpdates Boolean admissionControllerEvents Boolean status StorageClusterStatus dynamicConfig StorageDynamicClusterConfig tolerationsConfig StorageTolerationsConfig priority String int64 healthStatus StorageClusterHealthStatus slimCollector Boolean helmConfig StorageCompleteClusterConfig mostRecentSensorId StorageSensorDeploymentIdentification auditLogState Map of StorageAuditLogFileState For internal use only. initBundleId String managedBy StorageManagerType MANAGER_TYPE_UNKNOWN, MANAGER_TYPE_MANUAL, MANAGER_TYPE_HELM_CHART, MANAGER_TYPE_KUBERNETES_OPERATOR, 11.5.7.12. StorageClusterCertExpiryStatus Field Name Required Nullable Type Description Format sensorCertExpiry Date date-time sensorCertNotBefore Date date-time 11.5.7.13. StorageClusterHealthStatus Field Name Required Nullable Type Description Format id String collectorHealthInfo StorageCollectorHealthInfo admissionControlHealthInfo StorageAdmissionControlHealthInfo scannerHealthInfo StorageScannerHealthInfo sensorHealthStatus ClusterHealthStatusHealthStatusLabel UNINITIALIZED, UNAVAILABLE, UNHEALTHY, DEGRADED, HEALTHY, collectorHealthStatus ClusterHealthStatusHealthStatusLabel UNINITIALIZED, UNAVAILABLE, UNHEALTHY, DEGRADED, HEALTHY, overallHealthStatus ClusterHealthStatusHealthStatusLabel UNINITIALIZED, UNAVAILABLE, UNHEALTHY, DEGRADED, HEALTHY, admissionControlHealthStatus ClusterHealthStatusHealthStatusLabel UNINITIALIZED, UNAVAILABLE, UNHEALTHY, DEGRADED, HEALTHY, scannerHealthStatus ClusterHealthStatusHealthStatusLabel UNINITIALIZED, UNAVAILABLE, UNHEALTHY, DEGRADED, HEALTHY, lastContact Date date-time healthInfoComplete Boolean 11.5.7.14. StorageClusterMetadata ClusterMetadata contains metadata information about the cluster infrastructure. Field Name Required Nullable Type Description Format type StorageClusterMetadataType UNSPECIFIED, AKS, ARO, EKS, GKE, OCP, OSD, ROSA, name String Name represents the name under which the cluster is registered with the cloud provider. In case of self managed OpenShift it is the name chosen by the OpenShift installer. id String Id represents a unique ID under which the cluster is registered with the cloud provider. Not all cluster types have an id. For all OpenShift clusters, this is the Red Hat cluster_id registered with OCM. 11.5.7.15. StorageClusterMetadataType Enum Values UNSPECIFIED AKS ARO EKS GKE OCP OSD ROSA 11.5.7.16. StorageClusterStatus Field Name Required Nullable Type Description Format sensorVersion String DEPRECATEDLastContact Date This field has been deprecated starting release 49.0. Use healthStatus.lastContact instead. date-time providerMetadata StorageProviderMetadata orchestratorMetadata StorageOrchestratorMetadata upgradeStatus StorageClusterUpgradeStatus certExpiryStatus StorageClusterCertExpiryStatus 11.5.7.17. StorageClusterType Enum Values GENERIC_CLUSTER KUBERNETES_CLUSTER OPENSHIFT_CLUSTER OPENSHIFT4_CLUSTER 11.5.7.18. StorageClusterUpgradeStatus Field Name Required Nullable Type Description Format upgradability ClusterUpgradeStatusUpgradability UNSET, UP_TO_DATE, MANUAL_UPGRADE_REQUIRED, AUTO_UPGRADE_POSSIBLE, SENSOR_VERSION_HIGHER, upgradabilityStatusReason String mostRecentProcess ClusterUpgradeStatusUpgradeProcessStatus 11.5.7.19. StorageCollectionMethod Enum Values UNSET_COLLECTION NO_COLLECTION KERNEL_MODULE EBPF CORE_BPF 11.5.7.20. StorageCollectorHealthInfo CollectorHealthInfo carries data about collector deployment but does not include collector health status derived from this data. Aggregated collector health status is not included because it is derived in central and not in the component that first reports CollectorHealthInfo (sensor). Field Name Required Nullable Type Description Format version String totalDesiredPods Integer int32 totalReadyPods Integer int32 totalRegisteredNodes Integer int32 statusErrors List of string Collection of errors that occurred while trying to obtain collector health info. 11.5.7.21. StorageCompleteClusterConfig Encodes a complete cluster configuration minus ID/Name identifiers including static and dynamic settings. Field Name Required Nullable Type Description Format dynamicConfig StorageDynamicClusterConfig staticConfig StorageStaticClusterConfig configFingerprint String clusterLabels Map of string 11.5.7.22. StorageDynamicClusterConfig The difference between Static and Dynamic cluster config is that Dynamic values are sent over the Central to Sensor gRPC connection. This has the benefit of allowing for "hot reloading" of values without restarting Secured cluster components. Field Name Required Nullable Type Description Format admissionControllerConfig StorageAdmissionControllerConfig registryOverride String disableAuditLogs Boolean 11.5.7.23. StorageGoogleProviderMetadata Field Name Required Nullable Type Description Format project String clusterName String Deprecated in favor of providerMetadata.cluster.name. 11.5.7.24. StorageManagerType Enum Values MANAGER_TYPE_UNKNOWN MANAGER_TYPE_MANUAL MANAGER_TYPE_HELM_CHART MANAGER_TYPE_KUBERNETES_OPERATOR 11.5.7.25. StorageOrchestratorMetadata Field Name Required Nullable Type Description Format version String openshiftVersion String buildDate Date date-time apiVersions List of string 11.5.7.26. StorageProviderMetadata Field Name Required Nullable Type Description Format region String zone String google StorageGoogleProviderMetadata aws StorageAWSProviderMetadata azure StorageAzureProviderMetadata verified Boolean cluster StorageClusterMetadata 11.5.7.27. StorageScannerHealthInfo ScannerHealthInfo represents health info of a scanner instance that is deployed on a secured cluster (so called "local scanner"). When the scanner is deployed on a central cluster, the following message is NOT used. ScannerHealthInfo carries data about scanner deployment but does not include scanner health status derived from this data. Aggregated scanner health status is not included because it is derived in central and not in the component that first reports ScannerHealthInfo (sensor). The following fields are made optional/nullable because there can be errors when trying to obtain them and the default value of 0 might be confusing with the actual value 0. In case an error happens when trying to obtain a certain field, it will be absent (instead of having the default value). Field Name Required Nullable Type Description Format totalDesiredAnalyzerPods Integer int32 totalReadyAnalyzerPods Integer int32 totalDesiredDbPods Integer int32 totalReadyDbPods Integer int32 statusErrors List of string Collection of errors that occurred while trying to obtain scanner health info. 11.5.7.28. StorageSensorDeploymentIdentification StackRoxDeploymentIdentification aims at uniquely identifying a StackRox Sensor deployment. It is used to determine whether a sensor connection comes from a sensor pod that has restarted or was recreated (possibly after a network partition), or from a deployment in a different namespace or cluster. Field Name Required Nullable Type Description Format systemNamespaceId String defaultNamespaceId String appNamespace String appNamespaceId String appServiceaccountId String k8sNodeName String 11.5.7.29. StorageStaticClusterConfig The difference between Static and Dynamic cluster config is that Static values are not sent over the Central to Sensor gRPC connection. They are used, for example, to generate manifests that can be used to set up the Secured Cluster's k8s components. They are not dynamically reloaded. Field Name Required Nullable Type Description Format type StorageClusterType GENERIC_CLUSTER, KUBERNETES_CLUSTER, OPENSHIFT_CLUSTER, OPENSHIFT4_CLUSTER, mainImage String centralApiEndpoint String collectionMethod StorageCollectionMethod UNSET_COLLECTION, NO_COLLECTION, KERNEL_MODULE, EBPF, CORE_BPF, collectorImage String admissionController Boolean admissionControllerUpdates Boolean tolerationsConfig StorageTolerationsConfig slimCollector Boolean admissionControllerEvents Boolean 11.5.7.30. StorageTolerationsConfig Field Name Required Nullable Type Description Format disabled Boolean 11.5.7.31. StorageUpgradeProgress Field Name Required Nullable Type Description Format upgradeState UpgradeProgressUpgradeState UPGRADE_INITIALIZING, UPGRADER_LAUNCHING, UPGRADER_LAUNCHED, PRE_FLIGHT_CHECKS_COMPLETE, UPGRADE_OPERATIONS_DONE, UPGRADE_COMPLETE, UPGRADE_INITIALIZATION_ERROR, PRE_FLIGHT_CHECKS_FAILED, UPGRADE_ERROR_ROLLING_BACK, UPGRADE_ERROR_ROLLED_BACK, UPGRADE_ERROR_ROLLBACK_FAILED, UPGRADE_ERROR_UNKNOWN, UPGRADE_TIMED_OUT, upgradeStatusDetail String since Date date-time 11.5.7.32. UpgradeProcessStatusUpgradeProcessType UPGRADE: UPGRADE represents a sensor version upgrade. CERT_ROTATION: CERT_ROTATION represents an upgrade process that only rotates the TLS certs used by the cluster, without changing anything else. Enum Values UPGRADE CERT_ROTATION 11.5.7.33. UpgradeProgressUpgradeState UPGRADER_LAUNCHING: In-progress states. UPGRADE_COMPLETE: The success state. PLEASE NUMBER ALL IN-PROGRESS STATES ABOVE THIS AND ALL ERROR STATES BELOW THIS. UPGRADE_INITIALIZATION_ERROR: Error states. Enum Values UPGRADE_INITIALIZING UPGRADER_LAUNCHING UPGRADER_LAUNCHED PRE_FLIGHT_CHECKS_COMPLETE UPGRADE_OPERATIONS_DONE UPGRADE_COMPLETE UPGRADE_INITIALIZATION_ERROR PRE_FLIGHT_CHECKS_FAILED UPGRADE_ERROR_ROLLING_BACK UPGRADE_ERROR_ROLLED_BACK UPGRADE_ERROR_ROLLBACK_FAILED UPGRADE_ERROR_UNKNOWN UPGRADE_TIMED_OUT 11.5.7.34. V1ClusterResponse Field Name Required Nullable Type Description Format cluster StorageCluster clusterRetentionInfo V1DecommissionedClusterRetentionInfo 11.5.7.35. V1DecommissionedClusterRetentionInfo Field Name Required Nullable Type Description Format isExcluded Boolean daysUntilDeletion Integer int32 11.6. PutCluster PUT /v1/clusters/{id} 11.6.1. Description 11.6.2. Parameters 11.6.2.1. Path Parameters Name Description Required Default Pattern id X null 11.6.2.2. Body Parameter Name Description Required Default Pattern body ClustersServicePutClusterBody X 11.6.3. Return Type V1ClusterResponse 11.6.4. Content Type application/json 11.6.5. Responses Table 11.6. HTTP Response Codes Code Message Datatype 200 A successful response. V1ClusterResponse 0 An unexpected error response. GooglerpcStatus 11.6.6. Samples 11.6.7. Common object reference 11.6.7.1. ClusterHealthStatusHealthStatusLabel UNAVAILABLE: Only collector can have unavailable status Enum Values UNINITIALIZED UNAVAILABLE UNHEALTHY DEGRADED HEALTHY 11.6.7.2. ClusterUpgradeStatusUpgradability SENSOR_VERSION_HIGHER: SENSOR_VERSION_HIGHER occurs when we detect that the sensor is running a newer version than this Central. This is unexpected, but can occur depending on the patches a customer does. In this case, we will NOT automatically "upgrade" the sensor, since that would be a downgrade, even if the autoupgrade setting is on. The user will be allowed to manually trigger the upgrade, but they are strongly discouraged from doing so without upgrading Central first, since this is an unsupported configuration. Enum Values UNSET UP_TO_DATE MANUAL_UPGRADE_REQUIRED AUTO_UPGRADE_POSSIBLE SENSOR_VERSION_HIGHER 11.6.7.3. ClusterUpgradeStatusUpgradeProcessStatus Field Name Required Nullable Type Description Format active Boolean id String targetVersion String upgraderImage String initiatedAt Date date-time progress StorageUpgradeProgress type UpgradeProcessStatusUpgradeProcessType UPGRADE, CERT_ROTATION, 11.6.7.4. ClustersServicePutClusterBody Field Name Required Nullable Type Description Format name String type StorageClusterType GENERIC_CLUSTER, KUBERNETES_CLUSTER, OPENSHIFT_CLUSTER, OPENSHIFT4_CLUSTER, labels Map of string mainImage String collectorImage String centralApiEndpoint String runtimeSupport Boolean collectionMethod StorageCollectionMethod UNSET_COLLECTION, NO_COLLECTION, KERNEL_MODULE, EBPF, CORE_BPF, admissionController Boolean admissionControllerUpdates Boolean admissionControllerEvents Boolean status StorageClusterStatus dynamicConfig StorageDynamicClusterConfig tolerationsConfig StorageTolerationsConfig priority String int64 healthStatus StorageClusterHealthStatus slimCollector Boolean helmConfig StorageCompleteClusterConfig mostRecentSensorId StorageSensorDeploymentIdentification auditLogState Map of StorageAuditLogFileState For internal use only. initBundleId String managedBy StorageManagerType MANAGER_TYPE_UNKNOWN, MANAGER_TYPE_MANUAL, MANAGER_TYPE_HELM_CHART, MANAGER_TYPE_KUBERNETES_OPERATOR, 11.6.7.5. GooglerpcStatus Field Name Required Nullable Type Description Format code Integer int32 message String details List of ProtobufAny 11.6.7.6. 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++. Example 2: Pack and unpack a message in Java. 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". 11.6.7.6.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: 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][]): Field Name Required Nullable Type Description Format @type 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. 11.6.7.7. StorageAWSProviderMetadata Field Name Required Nullable Type Description Format accountId String 11.6.7.8. StorageAdmissionControlHealthInfo AdmissionControlHealthInfo carries data about admission control deployment but does not include admission control health status derived from this data. Aggregated admission control health status is not included because it is derived in central and not in the component that first reports AdmissionControlHealthInfo (sensor). The following fields are made optional/nullable because there can be errors when trying to obtain them and the default value of 0 might be confusing with the actual value 0. In case an error happens when trying to obtain a certain field, it will be absent (instead of having the default value). Field Name Required Nullable Type Description Format totalDesiredPods Integer int32 totalReadyPods Integer int32 statusErrors List of string Collection of errors that occurred while trying to obtain admission control health info. 11.6.7.9. StorageAdmissionControllerConfig Field Name Required Nullable Type Description Format enabled Boolean timeoutSeconds Integer int32 scanInline Boolean disableBypass Boolean enforceOnUpdates Boolean 11.6.7.10. StorageAuditLogFileState Field Name Required Nullable Type Description Format collectLogsSince Date date-time lastAuditId String 11.6.7.11. StorageAzureProviderMetadata Field Name Required Nullable Type Description Format subscriptionId String 11.6.7.12. StorageCluster Field Name Required Nullable Type Description Format id String name String type StorageClusterType GENERIC_CLUSTER, KUBERNETES_CLUSTER, OPENSHIFT_CLUSTER, OPENSHIFT4_CLUSTER, labels Map of string mainImage String collectorImage String centralApiEndpoint String runtimeSupport Boolean collectionMethod StorageCollectionMethod UNSET_COLLECTION, NO_COLLECTION, KERNEL_MODULE, EBPF, CORE_BPF, admissionController Boolean admissionControllerUpdates Boolean admissionControllerEvents Boolean status StorageClusterStatus dynamicConfig StorageDynamicClusterConfig tolerationsConfig StorageTolerationsConfig priority String int64 healthStatus StorageClusterHealthStatus slimCollector Boolean helmConfig StorageCompleteClusterConfig mostRecentSensorId StorageSensorDeploymentIdentification auditLogState Map of StorageAuditLogFileState For internal use only. initBundleId String managedBy StorageManagerType MANAGER_TYPE_UNKNOWN, MANAGER_TYPE_MANUAL, MANAGER_TYPE_HELM_CHART, MANAGER_TYPE_KUBERNETES_OPERATOR, 11.6.7.13. StorageClusterCertExpiryStatus Field Name Required Nullable Type Description Format sensorCertExpiry Date date-time sensorCertNotBefore Date date-time 11.6.7.14. StorageClusterHealthStatus Field Name Required Nullable Type Description Format id String collectorHealthInfo StorageCollectorHealthInfo admissionControlHealthInfo StorageAdmissionControlHealthInfo scannerHealthInfo StorageScannerHealthInfo sensorHealthStatus ClusterHealthStatusHealthStatusLabel UNINITIALIZED, UNAVAILABLE, UNHEALTHY, DEGRADED, HEALTHY, collectorHealthStatus ClusterHealthStatusHealthStatusLabel UNINITIALIZED, UNAVAILABLE, UNHEALTHY, DEGRADED, HEALTHY, overallHealthStatus ClusterHealthStatusHealthStatusLabel UNINITIALIZED, UNAVAILABLE, UNHEALTHY, DEGRADED, HEALTHY, admissionControlHealthStatus ClusterHealthStatusHealthStatusLabel UNINITIALIZED, UNAVAILABLE, UNHEALTHY, DEGRADED, HEALTHY, scannerHealthStatus ClusterHealthStatusHealthStatusLabel UNINITIALIZED, UNAVAILABLE, UNHEALTHY, DEGRADED, HEALTHY, lastContact Date date-time healthInfoComplete Boolean 11.6.7.15. StorageClusterMetadata ClusterMetadata contains metadata information about the cluster infrastructure. Field Name Required Nullable Type Description Format type StorageClusterMetadataType UNSPECIFIED, AKS, ARO, EKS, GKE, OCP, OSD, ROSA, name String Name represents the name under which the cluster is registered with the cloud provider. In case of self managed OpenShift it is the name chosen by the OpenShift installer. id String Id represents a unique ID under which the cluster is registered with the cloud provider. Not all cluster types have an id. For all OpenShift clusters, this is the Red Hat cluster_id registered with OCM. 11.6.7.16. StorageClusterMetadataType Enum Values UNSPECIFIED AKS ARO EKS GKE OCP OSD ROSA 11.6.7.17. StorageClusterStatus Field Name Required Nullable Type Description Format sensorVersion String DEPRECATEDLastContact Date This field has been deprecated starting release 49.0. Use healthStatus.lastContact instead. date-time providerMetadata StorageProviderMetadata orchestratorMetadata StorageOrchestratorMetadata upgradeStatus StorageClusterUpgradeStatus certExpiryStatus StorageClusterCertExpiryStatus 11.6.7.18. StorageClusterType Enum Values GENERIC_CLUSTER KUBERNETES_CLUSTER OPENSHIFT_CLUSTER OPENSHIFT4_CLUSTER 11.6.7.19. StorageClusterUpgradeStatus Field Name Required Nullable Type Description Format upgradability ClusterUpgradeStatusUpgradability UNSET, UP_TO_DATE, MANUAL_UPGRADE_REQUIRED, AUTO_UPGRADE_POSSIBLE, SENSOR_VERSION_HIGHER, upgradabilityStatusReason String mostRecentProcess ClusterUpgradeStatusUpgradeProcessStatus 11.6.7.20. StorageCollectionMethod Enum Values UNSET_COLLECTION NO_COLLECTION KERNEL_MODULE EBPF CORE_BPF 11.6.7.21. StorageCollectorHealthInfo CollectorHealthInfo carries data about collector deployment but does not include collector health status derived from this data. Aggregated collector health status is not included because it is derived in central and not in the component that first reports CollectorHealthInfo (sensor). Field Name Required Nullable Type Description Format version String totalDesiredPods Integer int32 totalReadyPods Integer int32 totalRegisteredNodes Integer int32 statusErrors List of string Collection of errors that occurred while trying to obtain collector health info. 11.6.7.22. StorageCompleteClusterConfig Encodes a complete cluster configuration minus ID/Name identifiers including static and dynamic settings. Field Name Required Nullable Type Description Format dynamicConfig StorageDynamicClusterConfig staticConfig StorageStaticClusterConfig configFingerprint String clusterLabels Map of string 11.6.7.23. StorageDynamicClusterConfig The difference between Static and Dynamic cluster config is that Dynamic values are sent over the Central to Sensor gRPC connection. This has the benefit of allowing for "hot reloading" of values without restarting Secured cluster components. Field Name Required Nullable Type Description Format admissionControllerConfig StorageAdmissionControllerConfig registryOverride String disableAuditLogs Boolean 11.6.7.24. StorageGoogleProviderMetadata Field Name Required Nullable Type Description Format project String clusterName String Deprecated in favor of providerMetadata.cluster.name. 11.6.7.25. StorageManagerType Enum Values MANAGER_TYPE_UNKNOWN MANAGER_TYPE_MANUAL MANAGER_TYPE_HELM_CHART MANAGER_TYPE_KUBERNETES_OPERATOR 11.6.7.26. StorageOrchestratorMetadata Field Name Required Nullable Type Description Format version String openshiftVersion String buildDate Date date-time apiVersions List of string 11.6.7.27. StorageProviderMetadata Field Name Required Nullable Type Description Format region String zone String google StorageGoogleProviderMetadata aws StorageAWSProviderMetadata azure StorageAzureProviderMetadata verified Boolean cluster StorageClusterMetadata 11.6.7.28. StorageScannerHealthInfo ScannerHealthInfo represents health info of a scanner instance that is deployed on a secured cluster (so called "local scanner"). When the scanner is deployed on a central cluster, the following message is NOT used. ScannerHealthInfo carries data about scanner deployment but does not include scanner health status derived from this data. Aggregated scanner health status is not included because it is derived in central and not in the component that first reports ScannerHealthInfo (sensor). The following fields are made optional/nullable because there can be errors when trying to obtain them and the default value of 0 might be confusing with the actual value 0. In case an error happens when trying to obtain a certain field, it will be absent (instead of having the default value). Field Name Required Nullable Type Description Format totalDesiredAnalyzerPods Integer int32 totalReadyAnalyzerPods Integer int32 totalDesiredDbPods Integer int32 totalReadyDbPods Integer int32 statusErrors List of string Collection of errors that occurred while trying to obtain scanner health info. 11.6.7.29. StorageSensorDeploymentIdentification StackRoxDeploymentIdentification aims at uniquely identifying a StackRox Sensor deployment. It is used to determine whether a sensor connection comes from a sensor pod that has restarted or was recreated (possibly after a network partition), or from a deployment in a different namespace or cluster. Field Name Required Nullable Type Description Format systemNamespaceId String defaultNamespaceId String appNamespace String appNamespaceId String appServiceaccountId String k8sNodeName String 11.6.7.30. StorageStaticClusterConfig The difference between Static and Dynamic cluster config is that Static values are not sent over the Central to Sensor gRPC connection. They are used, for example, to generate manifests that can be used to set up the Secured Cluster's k8s components. They are not dynamically reloaded. Field Name Required Nullable Type Description Format type StorageClusterType GENERIC_CLUSTER, KUBERNETES_CLUSTER, OPENSHIFT_CLUSTER, OPENSHIFT4_CLUSTER, mainImage String centralApiEndpoint String collectionMethod StorageCollectionMethod UNSET_COLLECTION, NO_COLLECTION, KERNEL_MODULE, EBPF, CORE_BPF, collectorImage String admissionController Boolean admissionControllerUpdates Boolean tolerationsConfig StorageTolerationsConfig slimCollector Boolean admissionControllerEvents Boolean 11.6.7.31. StorageTolerationsConfig Field Name Required Nullable Type Description Format disabled Boolean 11.6.7.32. StorageUpgradeProgress Field Name Required Nullable Type Description Format upgradeState UpgradeProgressUpgradeState UPGRADE_INITIALIZING, UPGRADER_LAUNCHING, UPGRADER_LAUNCHED, PRE_FLIGHT_CHECKS_COMPLETE, UPGRADE_OPERATIONS_DONE, UPGRADE_COMPLETE, UPGRADE_INITIALIZATION_ERROR, PRE_FLIGHT_CHECKS_FAILED, UPGRADE_ERROR_ROLLING_BACK, UPGRADE_ERROR_ROLLED_BACK, UPGRADE_ERROR_ROLLBACK_FAILED, UPGRADE_ERROR_UNKNOWN, UPGRADE_TIMED_OUT, upgradeStatusDetail String since Date date-time 11.6.7.33. UpgradeProcessStatusUpgradeProcessType UPGRADE: UPGRADE represents a sensor version upgrade. CERT_ROTATION: CERT_ROTATION represents an upgrade process that only rotates the TLS certs used by the cluster, without changing anything else. Enum Values UPGRADE CERT_ROTATION 11.6.7.34. UpgradeProgressUpgradeState UPGRADER_LAUNCHING: In-progress states. UPGRADE_COMPLETE: The success state. PLEASE NUMBER ALL IN-PROGRESS STATES ABOVE THIS AND ALL ERROR STATES BELOW THIS. UPGRADE_INITIALIZATION_ERROR: Error states. Enum Values UPGRADE_INITIALIZING UPGRADER_LAUNCHING UPGRADER_LAUNCHED PRE_FLIGHT_CHECKS_COMPLETE UPGRADE_OPERATIONS_DONE UPGRADE_COMPLETE UPGRADE_INITIALIZATION_ERROR PRE_FLIGHT_CHECKS_FAILED UPGRADE_ERROR_ROLLING_BACK UPGRADE_ERROR_ROLLED_BACK UPGRADE_ERROR_ROLLBACK_FAILED UPGRADE_ERROR_UNKNOWN UPGRADE_TIMED_OUT 11.6.7.35. V1ClusterResponse Field Name Required Nullable Type Description Format cluster StorageCluster clusterRetentionInfo V1DecommissionedClusterRetentionInfo 11.6.7.36. V1DecommissionedClusterRetentionInfo Field Name Required Nullable Type Description Format isExcluded Boolean daysUntilDeletion Integer int32 11.7. PostCluster POST /v1/clusters 11.7.1. Description 11.7.2. Parameters 11.7.2.1. Body Parameter Name Description Required Default Pattern body StorageCluster X 11.7.3. Return Type V1ClusterResponse 11.7.4. Content Type application/json 11.7.5. Responses Table 11.7. HTTP Response Codes Code Message Datatype 200 A successful response. V1ClusterResponse 0 An unexpected error response. GooglerpcStatus 11.7.6. Samples 11.7.7. Common object reference 11.7.7.1. ClusterHealthStatusHealthStatusLabel UNAVAILABLE: Only collector can have unavailable status Enum Values UNINITIALIZED UNAVAILABLE UNHEALTHY DEGRADED HEALTHY 11.7.7.2. ClusterUpgradeStatusUpgradability SENSOR_VERSION_HIGHER: SENSOR_VERSION_HIGHER occurs when we detect that the sensor is running a newer version than this Central. This is unexpected, but can occur depending on the patches a customer does. In this case, we will NOT automatically "upgrade" the sensor, since that would be a downgrade, even if the autoupgrade setting is on. The user will be allowed to manually trigger the upgrade, but they are strongly discouraged from doing so without upgrading Central first, since this is an unsupported configuration. Enum Values UNSET UP_TO_DATE MANUAL_UPGRADE_REQUIRED AUTO_UPGRADE_POSSIBLE SENSOR_VERSION_HIGHER 11.7.7.3. ClusterUpgradeStatusUpgradeProcessStatus Field Name Required Nullable Type Description Format active Boolean id String targetVersion String upgraderImage String initiatedAt Date date-time progress StorageUpgradeProgress type UpgradeProcessStatusUpgradeProcessType UPGRADE, CERT_ROTATION, 11.7.7.4. GooglerpcStatus Field Name Required Nullable Type Description Format code Integer int32 message String details List of ProtobufAny 11.7.7.5. 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++. Example 2: Pack and unpack a message in Java. 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". 11.7.7.5.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: 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][]): Field Name Required Nullable Type Description Format @type 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. 11.7.7.6. StorageAWSProviderMetadata Field Name Required Nullable Type Description Format accountId String 11.7.7.7. StorageAdmissionControlHealthInfo AdmissionControlHealthInfo carries data about admission control deployment but does not include admission control health status derived from this data. Aggregated admission control health status is not included because it is derived in central and not in the component that first reports AdmissionControlHealthInfo (sensor). The following fields are made optional/nullable because there can be errors when trying to obtain them and the default value of 0 might be confusing with the actual value 0. In case an error happens when trying to obtain a certain field, it will be absent (instead of having the default value). Field Name Required Nullable Type Description Format totalDesiredPods Integer int32 totalReadyPods Integer int32 statusErrors List of string Collection of errors that occurred while trying to obtain admission control health info. 11.7.7.8. StorageAdmissionControllerConfig Field Name Required Nullable Type Description Format enabled Boolean timeoutSeconds Integer int32 scanInline Boolean disableBypass Boolean enforceOnUpdates Boolean 11.7.7.9. StorageAuditLogFileState Field Name Required Nullable Type Description Format collectLogsSince Date date-time lastAuditId String 11.7.7.10. StorageAzureProviderMetadata Field Name Required Nullable Type Description Format subscriptionId String 11.7.7.11. StorageCluster Field Name Required Nullable Type Description Format id String name String type StorageClusterType GENERIC_CLUSTER, KUBERNETES_CLUSTER, OPENSHIFT_CLUSTER, OPENSHIFT4_CLUSTER, labels Map of string mainImage String collectorImage String centralApiEndpoint String runtimeSupport Boolean collectionMethod StorageCollectionMethod UNSET_COLLECTION, NO_COLLECTION, KERNEL_MODULE, EBPF, CORE_BPF, admissionController Boolean admissionControllerUpdates Boolean admissionControllerEvents Boolean status StorageClusterStatus dynamicConfig StorageDynamicClusterConfig tolerationsConfig StorageTolerationsConfig priority String int64 healthStatus StorageClusterHealthStatus slimCollector Boolean helmConfig StorageCompleteClusterConfig mostRecentSensorId StorageSensorDeploymentIdentification auditLogState Map of StorageAuditLogFileState For internal use only. initBundleId String managedBy StorageManagerType MANAGER_TYPE_UNKNOWN, MANAGER_TYPE_MANUAL, MANAGER_TYPE_HELM_CHART, MANAGER_TYPE_KUBERNETES_OPERATOR, 11.7.7.12. StorageClusterCertExpiryStatus Field Name Required Nullable Type Description Format sensorCertExpiry Date date-time sensorCertNotBefore Date date-time 11.7.7.13. StorageClusterHealthStatus Field Name Required Nullable Type Description Format id String collectorHealthInfo StorageCollectorHealthInfo admissionControlHealthInfo StorageAdmissionControlHealthInfo scannerHealthInfo StorageScannerHealthInfo sensorHealthStatus ClusterHealthStatusHealthStatusLabel UNINITIALIZED, UNAVAILABLE, UNHEALTHY, DEGRADED, HEALTHY, collectorHealthStatus ClusterHealthStatusHealthStatusLabel UNINITIALIZED, UNAVAILABLE, UNHEALTHY, DEGRADED, HEALTHY, overallHealthStatus ClusterHealthStatusHealthStatusLabel UNINITIALIZED, UNAVAILABLE, UNHEALTHY, DEGRADED, HEALTHY, admissionControlHealthStatus ClusterHealthStatusHealthStatusLabel UNINITIALIZED, UNAVAILABLE, UNHEALTHY, DEGRADED, HEALTHY, scannerHealthStatus ClusterHealthStatusHealthStatusLabel UNINITIALIZED, UNAVAILABLE, UNHEALTHY, DEGRADED, HEALTHY, lastContact Date date-time healthInfoComplete Boolean 11.7.7.14. StorageClusterMetadata ClusterMetadata contains metadata information about the cluster infrastructure. Field Name Required Nullable Type Description Format type StorageClusterMetadataType UNSPECIFIED, AKS, ARO, EKS, GKE, OCP, OSD, ROSA, name String Name represents the name under which the cluster is registered with the cloud provider. In case of self managed OpenShift it is the name chosen by the OpenShift installer. id String Id represents a unique ID under which the cluster is registered with the cloud provider. Not all cluster types have an id. For all OpenShift clusters, this is the Red Hat cluster_id registered with OCM. 11.7.7.15. StorageClusterMetadataType Enum Values UNSPECIFIED AKS ARO EKS GKE OCP OSD ROSA 11.7.7.16. StorageClusterStatus Field Name Required Nullable Type Description Format sensorVersion String DEPRECATEDLastContact Date This field has been deprecated starting release 49.0. Use healthStatus.lastContact instead. date-time providerMetadata StorageProviderMetadata orchestratorMetadata StorageOrchestratorMetadata upgradeStatus StorageClusterUpgradeStatus certExpiryStatus StorageClusterCertExpiryStatus 11.7.7.17. StorageClusterType Enum Values GENERIC_CLUSTER KUBERNETES_CLUSTER OPENSHIFT_CLUSTER OPENSHIFT4_CLUSTER 11.7.7.18. StorageClusterUpgradeStatus Field Name Required Nullable Type Description Format upgradability ClusterUpgradeStatusUpgradability UNSET, UP_TO_DATE, MANUAL_UPGRADE_REQUIRED, AUTO_UPGRADE_POSSIBLE, SENSOR_VERSION_HIGHER, upgradabilityStatusReason String mostRecentProcess ClusterUpgradeStatusUpgradeProcessStatus 11.7.7.19. StorageCollectionMethod Enum Values UNSET_COLLECTION NO_COLLECTION KERNEL_MODULE EBPF CORE_BPF 11.7.7.20. StorageCollectorHealthInfo CollectorHealthInfo carries data about collector deployment but does not include collector health status derived from this data. Aggregated collector health status is not included because it is derived in central and not in the component that first reports CollectorHealthInfo (sensor). Field Name Required Nullable Type Description Format version String totalDesiredPods Integer int32 totalReadyPods Integer int32 totalRegisteredNodes Integer int32 statusErrors List of string Collection of errors that occurred while trying to obtain collector health info. 11.7.7.21. StorageCompleteClusterConfig Encodes a complete cluster configuration minus ID/Name identifiers including static and dynamic settings. Field Name Required Nullable Type Description Format dynamicConfig StorageDynamicClusterConfig staticConfig StorageStaticClusterConfig configFingerprint String clusterLabels Map of string 11.7.7.22. StorageDynamicClusterConfig The difference between Static and Dynamic cluster config is that Dynamic values are sent over the Central to Sensor gRPC connection. This has the benefit of allowing for "hot reloading" of values without restarting Secured cluster components. Field Name Required Nullable Type Description Format admissionControllerConfig StorageAdmissionControllerConfig registryOverride String disableAuditLogs Boolean 11.7.7.23. StorageGoogleProviderMetadata Field Name Required Nullable Type Description Format project String clusterName String Deprecated in favor of providerMetadata.cluster.name. 11.7.7.24. StorageManagerType Enum Values MANAGER_TYPE_UNKNOWN MANAGER_TYPE_MANUAL MANAGER_TYPE_HELM_CHART MANAGER_TYPE_KUBERNETES_OPERATOR 11.7.7.25. StorageOrchestratorMetadata Field Name Required Nullable Type Description Format version String openshiftVersion String buildDate Date date-time apiVersions List of string 11.7.7.26. StorageProviderMetadata Field Name Required Nullable Type Description Format region String zone String google StorageGoogleProviderMetadata aws StorageAWSProviderMetadata azure StorageAzureProviderMetadata verified Boolean cluster StorageClusterMetadata 11.7.7.27. StorageScannerHealthInfo ScannerHealthInfo represents health info of a scanner instance that is deployed on a secured cluster (so called "local scanner"). When the scanner is deployed on a central cluster, the following message is NOT used. ScannerHealthInfo carries data about scanner deployment but does not include scanner health status derived from this data. Aggregated scanner health status is not included because it is derived in central and not in the component that first reports ScannerHealthInfo (sensor). The following fields are made optional/nullable because there can be errors when trying to obtain them and the default value of 0 might be confusing with the actual value 0. In case an error happens when trying to obtain a certain field, it will be absent (instead of having the default value). Field Name Required Nullable Type Description Format totalDesiredAnalyzerPods Integer int32 totalReadyAnalyzerPods Integer int32 totalDesiredDbPods Integer int32 totalReadyDbPods Integer int32 statusErrors List of string Collection of errors that occurred while trying to obtain scanner health info. 11.7.7.28. StorageSensorDeploymentIdentification StackRoxDeploymentIdentification aims at uniquely identifying a StackRox Sensor deployment. It is used to determine whether a sensor connection comes from a sensor pod that has restarted or was recreated (possibly after a network partition), or from a deployment in a different namespace or cluster. Field Name Required Nullable Type Description Format systemNamespaceId String defaultNamespaceId String appNamespace String appNamespaceId String appServiceaccountId String k8sNodeName String 11.7.7.29. StorageStaticClusterConfig The difference between Static and Dynamic cluster config is that Static values are not sent over the Central to Sensor gRPC connection. They are used, for example, to generate manifests that can be used to set up the Secured Cluster's k8s components. They are not dynamically reloaded. Field Name Required Nullable Type Description Format type StorageClusterType GENERIC_CLUSTER, KUBERNETES_CLUSTER, OPENSHIFT_CLUSTER, OPENSHIFT4_CLUSTER, mainImage String centralApiEndpoint String collectionMethod StorageCollectionMethod UNSET_COLLECTION, NO_COLLECTION, KERNEL_MODULE, EBPF, CORE_BPF, collectorImage String admissionController Boolean admissionControllerUpdates Boolean tolerationsConfig StorageTolerationsConfig slimCollector Boolean admissionControllerEvents Boolean 11.7.7.30. StorageTolerationsConfig Field Name Required Nullable Type Description Format disabled Boolean 11.7.7.31. StorageUpgradeProgress Field Name Required Nullable Type Description Format upgradeState UpgradeProgressUpgradeState UPGRADE_INITIALIZING, UPGRADER_LAUNCHING, UPGRADER_LAUNCHED, PRE_FLIGHT_CHECKS_COMPLETE, UPGRADE_OPERATIONS_DONE, UPGRADE_COMPLETE, UPGRADE_INITIALIZATION_ERROR, PRE_FLIGHT_CHECKS_FAILED, UPGRADE_ERROR_ROLLING_BACK, UPGRADE_ERROR_ROLLED_BACK, UPGRADE_ERROR_ROLLBACK_FAILED, UPGRADE_ERROR_UNKNOWN, UPGRADE_TIMED_OUT, upgradeStatusDetail String since Date date-time 11.7.7.32. UpgradeProcessStatusUpgradeProcessType UPGRADE: UPGRADE represents a sensor version upgrade. CERT_ROTATION: CERT_ROTATION represents an upgrade process that only rotates the TLS certs used by the cluster, without changing anything else. Enum Values UPGRADE CERT_ROTATION 11.7.7.33. UpgradeProgressUpgradeState UPGRADER_LAUNCHING: In-progress states. UPGRADE_COMPLETE: The success state. PLEASE NUMBER ALL IN-PROGRESS STATES ABOVE THIS AND ALL ERROR STATES BELOW THIS. UPGRADE_INITIALIZATION_ERROR: Error states. Enum Values UPGRADE_INITIALIZING UPGRADER_LAUNCHING UPGRADER_LAUNCHED PRE_FLIGHT_CHECKS_COMPLETE UPGRADE_OPERATIONS_DONE UPGRADE_COMPLETE UPGRADE_INITIALIZATION_ERROR PRE_FLIGHT_CHECKS_FAILED UPGRADE_ERROR_ROLLING_BACK UPGRADE_ERROR_ROLLED_BACK UPGRADE_ERROR_ROLLBACK_FAILED UPGRADE_ERROR_UNKNOWN UPGRADE_TIMED_OUT 11.7.7.34. V1ClusterResponse Field Name Required Nullable Type Description Format cluster StorageCluster clusterRetentionInfo V1DecommissionedClusterRetentionInfo 11.7.7.35. V1DecommissionedClusterRetentionInfo Field Name Required Nullable Type Description Format isExcluded Boolean daysUntilDeletion Integer int32

Commands:
Foo foo = ...; Any any; any.PackFrom(foo); if (any.UnpackTo(&foo)) { }
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 { }
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.protobuf.Duration
value: 1.212s
Foo foo = ...; Any any; any.PackFrom(foo); if (any.UnpackTo(&foo)) { }
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 { }
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.protobuf.Duration
value: 1.212s
Foo foo = ...; Any any; any.PackFrom(foo); if (any.UnpackTo(&foo)) { }
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 { }
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.protobuf.Duration
value: 1.212s
AuditLogFileState tracks the last audit log event timestamp and ID that was collected by Compliance For internal use only
next available tag: 3
Foo foo = ...; Any any; any.PackFrom(foo); if (any.UnpackTo(&foo)) { }
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 { }
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.protobuf.Duration
value: 1.212s
Foo foo = ...; Any any; any.PackFrom(foo); if (any.UnpackTo(&foo)) { }
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 { }
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.protobuf.Duration
value: 1.212s
AuditLogFileState tracks the last audit log event timestamp and ID that was collected by Compliance For internal use only
next available tag: 3
Foo foo = ...; Any any; any.PackFrom(foo); if (any.UnpackTo(&foo)) { }
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 { }
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.protobuf.Duration
value: 1.212s
AuditLogFileState tracks the last audit log event timestamp and ID that was collected by Compliance For internal use only
next available tag: 3
Foo foo = ...; Any any; any.PackFrom(foo); if (any.UnpackTo(&foo)) { }
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 { }
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.protobuf.Duration
value: 1.212s
AuditLogFileState tracks the last audit log event timestamp and ID that was collected by Compliance For internal use only
next available tag: 3