Chapter 41. NotifierService
Chapter 41. NotifierService 41.1. GetNotifiers GET /v1/notifiers GetNotifiers returns all notifier configurations. 41.1.1. Description 41.1.2. Parameters 41.1.3. Return Type V1GetNotifiersResponse 41.1.4. Content Type application/json 41.1.5. Responses Table 41.1. HTTP Response Codes Code Message Datatype 200 A successful response. V1GetNotifiersResponse 0 An unexpected error response. RuntimeError 41.1.6. Samples 41.1.7. Common object reference 41.1.7.1. EmailAuthMethod Enum Values DISABLED PLAIN LOGIN 41.1.7.2. JiraPriorityMapping Field Name Required Nullable Type Description Format severity StorageSeverity UNSET_SEVERITY, LOW_SEVERITY, MEDIUM_SEVERITY, HIGH_SEVERITY, CRITICAL_SEVERITY, priorityName String 41.1.7.3. 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". 41.1.7.3.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 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 41.1.7.4. RuntimeError Field Name Required Nullable Type Description Format error String code Integer int32 message String details List of ProtobufAny 41.1.7.5. StorageAWSSecurityHub Field Name Required Nullable Type Description Format region String credentials StorageAWSSecurityHubCredentials accountId String 41.1.7.6. StorageAWSSecurityHubCredentials Field Name Required Nullable Type Description Format accessKeyId String secretAccessKey String stsEnabled Boolean 41.1.7.7. StorageCSCC Field Name Required Nullable Type Description Format serviceAccount String The service account for the integration. The server will mask the value of this credential in responses and logs. sourceId String wifEnabled Boolean 41.1.7.8. StorageEmail Field Name Required Nullable Type Description Format server String sender String username String password String The password for the integration. The server will mask the value of this credential in responses and logs. disableTLS Boolean DEPRECATEDUseStartTLS Boolean from String startTLSAuthMethod EmailAuthMethod DISABLED, PLAIN, LOGIN, allowUnauthenticatedSmtp Boolean 41.1.7.9. StorageGeneric Field Name Required Nullable Type Description Format endpoint String skipTLSVerify Boolean caCert String username String password String The password for the integration. The server will mask the value of this credential in responses and logs. headers List of StorageKeyValuePair extraFields List of StorageKeyValuePair auditLoggingEnabled Boolean 41.1.7.10. StorageJira Field Name Required Nullable Type Description Format url String username String password String The password for the integration. The server will mask the value of this credential in responses and logs. issueType String priorityMappings List of JiraPriorityMapping defaultFieldsJson String disablePriority Boolean 41.1.7.11. StorageKeyValuePair Field Name Required Nullable Type Description Format key String value String 41.1.7.12. StorageNotifier Field Name Required Nullable Type Description Format id String name String type String uiEndpoint String labelKey String labelDefault String jira StorageJira email StorageEmail cscc StorageCSCC splunk StorageSplunk pagerduty StoragePagerDuty generic StorageGeneric sumologic StorageSumoLogic awsSecurityHub StorageAWSSecurityHub syslog StorageSyslog notifierSecret String traits StorageTraits 41.1.7.13. StoragePagerDuty Field Name Required Nullable Type Description Format apiKey String The API key for the integration. The server will mask the value of this credential in responses and logs. 41.1.7.14. StorageSeverity Enum Values UNSET_SEVERITY LOW_SEVERITY MEDIUM_SEVERITY HIGH_SEVERITY CRITICAL_SEVERITY 41.1.7.15. StorageSplunk Field Name Required Nullable Type Description Format httpToken String The HTTP token for the integration. The server will mask the value of this credential in responses and logs. httpEndpoint String insecure Boolean truncate String int64 auditLoggingEnabled Boolean derivedSourceType Boolean sourceTypes Map of string 41.1.7.16. StorageSumoLogic Field Name Required Nullable Type Description Format httpSourceAddress String skipTLSVerify Boolean 41.1.7.17. StorageSyslog Field Name Required Nullable Type Description Format localFacility SyslogLocalFacility LOCAL0, LOCAL1, LOCAL2, LOCAL3, LOCAL4, LOCAL5, LOCAL6, LOCAL7, tcpConfig SyslogTCPConfig extraFields List of StorageKeyValuePair messageFormat SyslogMessageFormat LEGACY, CEF, 41.1.7.18. StorageTraits Field Name Required Nullable Type Description Format mutabilityMode TraitsMutabilityMode ALLOW_MUTATE, ALLOW_MUTATE_FORCED, visibility TraitsVisibility VISIBLE, HIDDEN, origin TraitsOrigin IMPERATIVE, DEFAULT, DECLARATIVE, DECLARATIVE_ORPHANED, 41.1.7.19. SyslogLocalFacility Enum Values LOCAL0 LOCAL1 LOCAL2 LOCAL3 LOCAL4 LOCAL5 LOCAL6 LOCAL7 41.1.7.20. SyslogMessageFormat Enum Values LEGACY CEF 41.1.7.21. SyslogTCPConfig Field Name Required Nullable Type Description Format hostname String port Integer int32 skipTlsVerify Boolean useTls Boolean 41.1.7.22. TraitsMutabilityMode EXPERIMENTAL. NOTE: Please refer from using MutabilityMode for the time being. It will be replaced in the future (ROX-14276). MutabilityMode specifies whether and how an object can be modified. Default is ALLOW_MUTATE and means there are no modification restrictions; this is equivalent to the absence of MutabilityMode specification. ALLOW_MUTATE_FORCED forbids all modifying operations except object removal with force bit on. Be careful when changing the state of this field. For example, modifying an object from ALLOW_MUTATE to ALLOW_MUTATE_FORCED is allowed but will prohibit any further changes to it, including modifying it back to ALLOW_MUTATE. Enum Values ALLOW_MUTATE ALLOW_MUTATE_FORCED 41.1.7.23. TraitsOrigin Origin specifies the origin of an object. Objects can have four different origins: - IMPERATIVE: the object was created via the API. This is assumed by default. - DEFAULT: the object is a default object, such as default roles, access scopes etc. - DECLARATIVE: the object is created via declarative configuration. - DECLARATIVE_ORPHANED: the object is created via declarative configuration and then unsuccessfully deleted(for example, because it is referenced by another object) Based on the origin, different rules apply to the objects. Objects with the DECLARATIVE origin are not allowed to be modified via API, only via declarative configuration. Additionally, they may not reference objects with the IMPERATIVE origin. Objects with the DEFAULT origin are not allowed to be modified via either API or declarative configuration. They may be referenced by all other objects. Objects with the IMPERATIVE origin are allowed to be modified via API, not via declarative configuration. They may reference all other objects. Objects with the DECLARATIVE_ORPHANED origin are not allowed to be modified via either API or declarative configuration. DECLARATIVE_ORPHANED resource can become DECLARATIVE again if it is redefined in declarative configuration. Objects with this origin will be cleaned up from the system immediately after they are not referenced by other resources anymore. They may be referenced by all other objects. Enum Values IMPERATIVE DEFAULT DECLARATIVE DECLARATIVE_ORPHANED 41.1.7.24. TraitsVisibility EXPERIMENTAL. visibility allows to specify whether the object should be visible for certain APIs. Enum Values VISIBLE HIDDEN 41.1.7.25. V1GetNotifiersResponse Field Name Required Nullable Type Description Format notifiers List of StorageNotifier 41.2. DeleteNotifier DELETE /v1/notifiers/{id} DeleteNotifier removes a notifier configuration given its ID. 41.2.1. Description 41.2.2. Parameters 41.2.2.1. Path Parameters Name Description Required Default Pattern id X null 41.2.2.2. Query Parameters Name Description Required Default Pattern force - null 41.2.3. Return Type Object 41.2.4. Content Type application/json 41.2.5. Responses Table 41.2. HTTP Response Codes Code Message Datatype 200 A successful response. Object 0 An unexpected error response. RuntimeError 41.2.6. Samples 41.2.7. Common object reference 41.2.7.1. 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". 41.2.7.1.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 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 41.2.7.2. RuntimeError Field Name Required Nullable Type Description Format error String code Integer int32 message String details List of ProtobufAny 41.3. GetNotifier GET /v1/notifiers/{id} GetNotifier returns the notifier configuration given its ID. 41.3.1. Description 41.3.2. Parameters 41.3.2.1. Path Parameters Name Description Required Default Pattern id X null 41.3.3. Return Type StorageNotifier 41.3.4. Content Type application/json 41.3.5. Responses Table 41.3. HTTP Response Codes Code Message Datatype 200 A successful response. StorageNotifier 0 An unexpected error response. RuntimeError 41.3.6. Samples 41.3.7. Common object reference 41.3.7.1. EmailAuthMethod Enum Values DISABLED PLAIN LOGIN 41.3.7.2. JiraPriorityMapping Field Name Required Nullable Type Description Format severity StorageSeverity UNSET_SEVERITY, LOW_SEVERITY, MEDIUM_SEVERITY, HIGH_SEVERITY, CRITICAL_SEVERITY, priorityName String 41.3.7.3. 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". 41.3.7.3.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 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 41.3.7.4. RuntimeError Field Name Required Nullable Type Description Format error String code Integer int32 message String details List of ProtobufAny 41.3.7.5. StorageAWSSecurityHub Field Name Required Nullable Type Description Format region String credentials StorageAWSSecurityHubCredentials accountId String 41.3.7.6. StorageAWSSecurityHubCredentials Field Name Required Nullable Type Description Format accessKeyId String secretAccessKey String stsEnabled Boolean 41.3.7.7. StorageCSCC Field Name Required Nullable Type Description Format serviceAccount String The service account for the integration. The server will mask the value of this credential in responses and logs. sourceId String wifEnabled Boolean 41.3.7.8. StorageEmail Field Name Required Nullable Type Description Format server String sender String username String password String The password for the integration. The server will mask the value of this credential in responses and logs. disableTLS Boolean DEPRECATEDUseStartTLS Boolean from String startTLSAuthMethod EmailAuthMethod DISABLED, PLAIN, LOGIN, allowUnauthenticatedSmtp Boolean 41.3.7.9. StorageGeneric Field Name Required Nullable Type Description Format endpoint String skipTLSVerify Boolean caCert String username String password String The password for the integration. The server will mask the value of this credential in responses and logs. headers List of StorageKeyValuePair extraFields List of StorageKeyValuePair auditLoggingEnabled Boolean 41.3.7.10. StorageJira Field Name Required Nullable Type Description Format url String username String password String The password for the integration. The server will mask the value of this credential in responses and logs. issueType String priorityMappings List of JiraPriorityMapping defaultFieldsJson String disablePriority Boolean 41.3.7.11. StorageKeyValuePair Field Name Required Nullable Type Description Format key String value String 41.3.7.12. StorageNotifier Field Name Required Nullable Type Description Format id String name String type String uiEndpoint String labelKey String labelDefault String jira StorageJira email StorageEmail cscc StorageCSCC splunk StorageSplunk pagerduty StoragePagerDuty generic StorageGeneric sumologic StorageSumoLogic awsSecurityHub StorageAWSSecurityHub syslog StorageSyslog notifierSecret String traits StorageTraits 41.3.7.13. StoragePagerDuty Field Name Required Nullable Type Description Format apiKey String The API key for the integration. The server will mask the value of this credential in responses and logs. 41.3.7.14. StorageSeverity Enum Values UNSET_SEVERITY LOW_SEVERITY MEDIUM_SEVERITY HIGH_SEVERITY CRITICAL_SEVERITY 41.3.7.15. StorageSplunk Field Name Required Nullable Type Description Format httpToken String The HTTP token for the integration. The server will mask the value of this credential in responses and logs. httpEndpoint String insecure Boolean truncate String int64 auditLoggingEnabled Boolean derivedSourceType Boolean sourceTypes Map of string 41.3.7.16. StorageSumoLogic Field Name Required Nullable Type Description Format httpSourceAddress String skipTLSVerify Boolean 41.3.7.17. StorageSyslog Field Name Required Nullable Type Description Format localFacility SyslogLocalFacility LOCAL0, LOCAL1, LOCAL2, LOCAL3, LOCAL4, LOCAL5, LOCAL6, LOCAL7, tcpConfig SyslogTCPConfig extraFields List of StorageKeyValuePair messageFormat SyslogMessageFormat LEGACY, CEF, 41.3.7.18. StorageTraits Field Name Required Nullable Type Description Format mutabilityMode TraitsMutabilityMode ALLOW_MUTATE, ALLOW_MUTATE_FORCED, visibility TraitsVisibility VISIBLE, HIDDEN, origin TraitsOrigin IMPERATIVE, DEFAULT, DECLARATIVE, DECLARATIVE_ORPHANED, 41.3.7.19. SyslogLocalFacility Enum Values LOCAL0 LOCAL1 LOCAL2 LOCAL3 LOCAL4 LOCAL5 LOCAL6 LOCAL7 41.3.7.20. SyslogMessageFormat Enum Values LEGACY CEF 41.3.7.21. SyslogTCPConfig Field Name Required Nullable Type Description Format hostname String port Integer int32 skipTlsVerify Boolean useTls Boolean 41.3.7.22. TraitsMutabilityMode EXPERIMENTAL. NOTE: Please refer from using MutabilityMode for the time being. It will be replaced in the future (ROX-14276). MutabilityMode specifies whether and how an object can be modified. Default is ALLOW_MUTATE and means there are no modification restrictions; this is equivalent to the absence of MutabilityMode specification. ALLOW_MUTATE_FORCED forbids all modifying operations except object removal with force bit on. Be careful when changing the state of this field. For example, modifying an object from ALLOW_MUTATE to ALLOW_MUTATE_FORCED is allowed but will prohibit any further changes to it, including modifying it back to ALLOW_MUTATE. Enum Values ALLOW_MUTATE ALLOW_MUTATE_FORCED 41.3.7.23. TraitsOrigin Origin specifies the origin of an object. Objects can have four different origins: - IMPERATIVE: the object was created via the API. This is assumed by default. - DEFAULT: the object is a default object, such as default roles, access scopes etc. - DECLARATIVE: the object is created via declarative configuration. - DECLARATIVE_ORPHANED: the object is created via declarative configuration and then unsuccessfully deleted(for example, because it is referenced by another object) Based on the origin, different rules apply to the objects. Objects with the DECLARATIVE origin are not allowed to be modified via API, only via declarative configuration. Additionally, they may not reference objects with the IMPERATIVE origin. Objects with the DEFAULT origin are not allowed to be modified via either API or declarative configuration. They may be referenced by all other objects. Objects with the IMPERATIVE origin are allowed to be modified via API, not via declarative configuration. They may reference all other objects. Objects with the DECLARATIVE_ORPHANED origin are not allowed to be modified via either API or declarative configuration. DECLARATIVE_ORPHANED resource can become DECLARATIVE again if it is redefined in declarative configuration. Objects with this origin will be cleaned up from the system immediately after they are not referenced by other resources anymore. They may be referenced by all other objects. Enum Values IMPERATIVE DEFAULT DECLARATIVE DECLARATIVE_ORPHANED 41.3.7.24. TraitsVisibility EXPERIMENTAL. visibility allows to specify whether the object should be visible for certain APIs. Enum Values VISIBLE HIDDEN 41.4. PutNotifier PUT /v1/notifiers/{id} PutNotifier modifies a given notifier, without using stored credential reconciliation. 41.4.1. Description 41.4.2. Parameters 41.4.2.1. Path Parameters Name Description Required Default Pattern id X null 41.4.2.2. Body Parameter Name Description Required Default Pattern body StorageNotifier X 41.4.3. Return Type Object 41.4.4. Content Type application/json 41.4.5. Responses Table 41.4. HTTP Response Codes Code Message Datatype 200 A successful response. Object 0 An unexpected error response. RuntimeError 41.4.6. Samples 41.4.7. Common object reference 41.4.7.1. EmailAuthMethod Enum Values DISABLED PLAIN LOGIN 41.4.7.2. JiraPriorityMapping Field Name Required Nullable Type Description Format severity StorageSeverity UNSET_SEVERITY, LOW_SEVERITY, MEDIUM_SEVERITY, HIGH_SEVERITY, CRITICAL_SEVERITY, priorityName String 41.4.7.3. 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". 41.4.7.3.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 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 41.4.7.4. RuntimeError Field Name Required Nullable Type Description Format error String code Integer int32 message String details List of ProtobufAny 41.4.7.5. StorageAWSSecurityHub Field Name Required Nullable Type Description Format region String credentials StorageAWSSecurityHubCredentials accountId String 41.4.7.6. StorageAWSSecurityHubCredentials Field Name Required Nullable Type Description Format accessKeyId String secretAccessKey String stsEnabled Boolean 41.4.7.7. StorageCSCC Field Name Required Nullable Type Description Format serviceAccount String The service account for the integration. The server will mask the value of this credential in responses and logs. sourceId String wifEnabled Boolean 41.4.7.8. StorageEmail Field Name Required Nullable Type Description Format server String sender String username String password String The password for the integration. The server will mask the value of this credential in responses and logs. disableTLS Boolean DEPRECATEDUseStartTLS Boolean from String startTLSAuthMethod EmailAuthMethod DISABLED, PLAIN, LOGIN, allowUnauthenticatedSmtp Boolean 41.4.7.9. StorageGeneric Field Name Required Nullable Type Description Format endpoint String skipTLSVerify Boolean caCert String username String password String The password for the integration. The server will mask the value of this credential in responses and logs. headers List of StorageKeyValuePair extraFields List of StorageKeyValuePair auditLoggingEnabled Boolean 41.4.7.10. StorageJira Field Name Required Nullable Type Description Format url String username String password String The password for the integration. The server will mask the value of this credential in responses and logs. issueType String priorityMappings List of JiraPriorityMapping defaultFieldsJson String disablePriority Boolean 41.4.7.11. StorageKeyValuePair Field Name Required Nullable Type Description Format key String value String 41.4.7.12. StorageNotifier Field Name Required Nullable Type Description Format id String name String type String uiEndpoint String labelKey String labelDefault String jira StorageJira email StorageEmail cscc StorageCSCC splunk StorageSplunk pagerduty StoragePagerDuty generic StorageGeneric sumologic StorageSumoLogic awsSecurityHub StorageAWSSecurityHub syslog StorageSyslog notifierSecret String traits StorageTraits 41.4.7.13. StoragePagerDuty Field Name Required Nullable Type Description Format apiKey String The API key for the integration. The server will mask the value of this credential in responses and logs. 41.4.7.14. StorageSeverity Enum Values UNSET_SEVERITY LOW_SEVERITY MEDIUM_SEVERITY HIGH_SEVERITY CRITICAL_SEVERITY 41.4.7.15. StorageSplunk Field Name Required Nullable Type Description Format httpToken String The HTTP token for the integration. The server will mask the value of this credential in responses and logs. httpEndpoint String insecure Boolean truncate String int64 auditLoggingEnabled Boolean derivedSourceType Boolean sourceTypes Map of string 41.4.7.16. StorageSumoLogic Field Name Required Nullable Type Description Format httpSourceAddress String skipTLSVerify Boolean 41.4.7.17. StorageSyslog Field Name Required Nullable Type Description Format localFacility SyslogLocalFacility LOCAL0, LOCAL1, LOCAL2, LOCAL3, LOCAL4, LOCAL5, LOCAL6, LOCAL7, tcpConfig SyslogTCPConfig extraFields List of StorageKeyValuePair messageFormat SyslogMessageFormat LEGACY, CEF, 41.4.7.18. StorageTraits Field Name Required Nullable Type Description Format mutabilityMode TraitsMutabilityMode ALLOW_MUTATE, ALLOW_MUTATE_FORCED, visibility TraitsVisibility VISIBLE, HIDDEN, origin TraitsOrigin IMPERATIVE, DEFAULT, DECLARATIVE, DECLARATIVE_ORPHANED, 41.4.7.19. SyslogLocalFacility Enum Values LOCAL0 LOCAL1 LOCAL2 LOCAL3 LOCAL4 LOCAL5 LOCAL6 LOCAL7 41.4.7.20. SyslogMessageFormat Enum Values LEGACY CEF 41.4.7.21. SyslogTCPConfig Field Name Required Nullable Type Description Format hostname String port Integer int32 skipTlsVerify Boolean useTls Boolean 41.4.7.22. TraitsMutabilityMode EXPERIMENTAL. NOTE: Please refer from using MutabilityMode for the time being. It will be replaced in the future (ROX-14276). MutabilityMode specifies whether and how an object can be modified. Default is ALLOW_MUTATE and means there are no modification restrictions; this is equivalent to the absence of MutabilityMode specification. ALLOW_MUTATE_FORCED forbids all modifying operations except object removal with force bit on. Be careful when changing the state of this field. For example, modifying an object from ALLOW_MUTATE to ALLOW_MUTATE_FORCED is allowed but will prohibit any further changes to it, including modifying it back to ALLOW_MUTATE. Enum Values ALLOW_MUTATE ALLOW_MUTATE_FORCED 41.4.7.23. TraitsOrigin Origin specifies the origin of an object. Objects can have four different origins: - IMPERATIVE: the object was created via the API. This is assumed by default. - DEFAULT: the object is a default object, such as default roles, access scopes etc. - DECLARATIVE: the object is created via declarative configuration. - DECLARATIVE_ORPHANED: the object is created via declarative configuration and then unsuccessfully deleted(for example, because it is referenced by another object) Based on the origin, different rules apply to the objects. Objects with the DECLARATIVE origin are not allowed to be modified via API, only via declarative configuration. Additionally, they may not reference objects with the IMPERATIVE origin. Objects with the DEFAULT origin are not allowed to be modified via either API or declarative configuration. They may be referenced by all other objects. Objects with the IMPERATIVE origin are allowed to be modified via API, not via declarative configuration. They may reference all other objects. Objects with the DECLARATIVE_ORPHANED origin are not allowed to be modified via either API or declarative configuration. DECLARATIVE_ORPHANED resource can become DECLARATIVE again if it is redefined in declarative configuration. Objects with this origin will be cleaned up from the system immediately after they are not referenced by other resources anymore. They may be referenced by all other objects. Enum Values IMPERATIVE DEFAULT DECLARATIVE DECLARATIVE_ORPHANED 41.4.7.24. TraitsVisibility EXPERIMENTAL. visibility allows to specify whether the object should be visible for certain APIs. Enum Values VISIBLE HIDDEN 41.5. UpdateNotifier PATCH /v1/notifiers/{notifier.id} UpdateNotifier modifies a given notifier, with optional stored credential reconciliation. 41.5.1. Description 41.5.2. Parameters 41.5.2.1. Path Parameters Name Description Required Default Pattern notifier.id X null 41.5.2.2. Body Parameter Name Description Required Default Pattern body V1UpdateNotifierRequest X 41.5.3. Return Type Object 41.5.4. Content Type application/json 41.5.5. Responses Table 41.5. HTTP Response Codes Code Message Datatype 200 A successful response. Object 0 An unexpected error response. RuntimeError 41.5.6. Samples 41.5.7. Common object reference 41.5.7.1. EmailAuthMethod Enum Values DISABLED PLAIN LOGIN 41.5.7.2. JiraPriorityMapping Field Name Required Nullable Type Description Format severity StorageSeverity UNSET_SEVERITY, LOW_SEVERITY, MEDIUM_SEVERITY, HIGH_SEVERITY, CRITICAL_SEVERITY, priorityName String 41.5.7.3. 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". 41.5.7.3.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 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 41.5.7.4. RuntimeError Field Name Required Nullable Type Description Format error String code Integer int32 message String details List of ProtobufAny 41.5.7.5. StorageAWSSecurityHub Field Name Required Nullable Type Description Format region String credentials StorageAWSSecurityHubCredentials accountId String 41.5.7.6. StorageAWSSecurityHubCredentials Field Name Required Nullable Type Description Format accessKeyId String secretAccessKey String stsEnabled Boolean 41.5.7.7. StorageCSCC Field Name Required Nullable Type Description Format serviceAccount String The service account for the integration. The server will mask the value of this credential in responses and logs. sourceId String wifEnabled Boolean 41.5.7.8. StorageEmail Field Name Required Nullable Type Description Format server String sender String username String password String The password for the integration. The server will mask the value of this credential in responses and logs. disableTLS Boolean DEPRECATEDUseStartTLS Boolean from String startTLSAuthMethod EmailAuthMethod DISABLED, PLAIN, LOGIN, allowUnauthenticatedSmtp Boolean 41.5.7.9. StorageGeneric Field Name Required Nullable Type Description Format endpoint String skipTLSVerify Boolean caCert String username String password String The password for the integration. The server will mask the value of this credential in responses and logs. headers List of StorageKeyValuePair extraFields List of StorageKeyValuePair auditLoggingEnabled Boolean 41.5.7.10. StorageJira Field Name Required Nullable Type Description Format url String username String password String The password for the integration. The server will mask the value of this credential in responses and logs. issueType String priorityMappings List of JiraPriorityMapping defaultFieldsJson String disablePriority Boolean 41.5.7.11. StorageKeyValuePair Field Name Required Nullable Type Description Format key String value String 41.5.7.12. StorageNotifier Field Name Required Nullable Type Description Format id String name String type String uiEndpoint String labelKey String labelDefault String jira StorageJira email StorageEmail cscc StorageCSCC splunk StorageSplunk pagerduty StoragePagerDuty generic StorageGeneric sumologic StorageSumoLogic awsSecurityHub StorageAWSSecurityHub syslog StorageSyslog notifierSecret String traits StorageTraits 41.5.7.13. StoragePagerDuty Field Name Required Nullable Type Description Format apiKey String The API key for the integration. The server will mask the value of this credential in responses and logs. 41.5.7.14. StorageSeverity Enum Values UNSET_SEVERITY LOW_SEVERITY MEDIUM_SEVERITY HIGH_SEVERITY CRITICAL_SEVERITY 41.5.7.15. StorageSplunk Field Name Required Nullable Type Description Format httpToken String The HTTP token for the integration. The server will mask the value of this credential in responses and logs. httpEndpoint String insecure Boolean truncate String int64 auditLoggingEnabled Boolean derivedSourceType Boolean sourceTypes Map of string 41.5.7.16. StorageSumoLogic Field Name Required Nullable Type Description Format httpSourceAddress String skipTLSVerify Boolean 41.5.7.17. StorageSyslog Field Name Required Nullable Type Description Format localFacility SyslogLocalFacility LOCAL0, LOCAL1, LOCAL2, LOCAL3, LOCAL4, LOCAL5, LOCAL6, LOCAL7, tcpConfig SyslogTCPConfig extraFields List of StorageKeyValuePair messageFormat SyslogMessageFormat LEGACY, CEF, 41.5.7.18. StorageTraits Field Name Required Nullable Type Description Format mutabilityMode TraitsMutabilityMode ALLOW_MUTATE, ALLOW_MUTATE_FORCED, visibility TraitsVisibility VISIBLE, HIDDEN, origin TraitsOrigin IMPERATIVE, DEFAULT, DECLARATIVE, DECLARATIVE_ORPHANED, 41.5.7.19. SyslogLocalFacility Enum Values LOCAL0 LOCAL1 LOCAL2 LOCAL3 LOCAL4 LOCAL5 LOCAL6 LOCAL7 41.5.7.20. SyslogMessageFormat Enum Values LEGACY CEF 41.5.7.21. SyslogTCPConfig Field Name Required Nullable Type Description Format hostname String port Integer int32 skipTlsVerify Boolean useTls Boolean 41.5.7.22. TraitsMutabilityMode EXPERIMENTAL. NOTE: Please refer from using MutabilityMode for the time being. It will be replaced in the future (ROX-14276). MutabilityMode specifies whether and how an object can be modified. Default is ALLOW_MUTATE and means there are no modification restrictions; this is equivalent to the absence of MutabilityMode specification. ALLOW_MUTATE_FORCED forbids all modifying operations except object removal with force bit on. Be careful when changing the state of this field. For example, modifying an object from ALLOW_MUTATE to ALLOW_MUTATE_FORCED is allowed but will prohibit any further changes to it, including modifying it back to ALLOW_MUTATE. Enum Values ALLOW_MUTATE ALLOW_MUTATE_FORCED 41.5.7.23. TraitsOrigin Origin specifies the origin of an object. Objects can have four different origins: - IMPERATIVE: the object was created via the API. This is assumed by default. - DEFAULT: the object is a default object, such as default roles, access scopes etc. - DECLARATIVE: the object is created via declarative configuration. - DECLARATIVE_ORPHANED: the object is created via declarative configuration and then unsuccessfully deleted(for example, because it is referenced by another object) Based on the origin, different rules apply to the objects. Objects with the DECLARATIVE origin are not allowed to be modified via API, only via declarative configuration. Additionally, they may not reference objects with the IMPERATIVE origin. Objects with the DEFAULT origin are not allowed to be modified via either API or declarative configuration. They may be referenced by all other objects. Objects with the IMPERATIVE origin are allowed to be modified via API, not via declarative configuration. They may reference all other objects. Objects with the DECLARATIVE_ORPHANED origin are not allowed to be modified via either API or declarative configuration. DECLARATIVE_ORPHANED resource can become DECLARATIVE again if it is redefined in declarative configuration. Objects with this origin will be cleaned up from the system immediately after they are not referenced by other resources anymore. They may be referenced by all other objects. Enum Values IMPERATIVE DEFAULT DECLARATIVE DECLARATIVE_ORPHANED 41.5.7.24. TraitsVisibility EXPERIMENTAL. visibility allows to specify whether the object should be visible for certain APIs. Enum Values VISIBLE HIDDEN 41.5.7.25. V1UpdateNotifierRequest Field Name Required Nullable Type Description Format notifier StorageNotifier updatePassword Boolean When false, use the stored credentials of an existing notifier configuration given its ID. 41.6. PostNotifier POST /v1/notifiers PostNotifier creates a notifier configuration. 41.6.1. Description 41.6.2. Parameters 41.6.2.1. Body Parameter Name Description Required Default Pattern body StorageNotifier X 41.6.3. Return Type StorageNotifier 41.6.4. Content Type application/json 41.6.5. Responses Table 41.6. HTTP Response Codes Code Message Datatype 200 A successful response. StorageNotifier 0 An unexpected error response. RuntimeError 41.6.6. Samples 41.6.7. Common object reference 41.6.7.1. EmailAuthMethod Enum Values DISABLED PLAIN LOGIN 41.6.7.2. JiraPriorityMapping Field Name Required Nullable Type Description Format severity StorageSeverity UNSET_SEVERITY, LOW_SEVERITY, MEDIUM_SEVERITY, HIGH_SEVERITY, CRITICAL_SEVERITY, priorityName String 41.6.7.3. 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". 41.6.7.3.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 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 41.6.7.4. RuntimeError Field Name Required Nullable Type Description Format error String code Integer int32 message String details List of ProtobufAny 41.6.7.5. StorageAWSSecurityHub Field Name Required Nullable Type Description Format region String credentials StorageAWSSecurityHubCredentials accountId String 41.6.7.6. StorageAWSSecurityHubCredentials Field Name Required Nullable Type Description Format accessKeyId String secretAccessKey String stsEnabled Boolean 41.6.7.7. StorageCSCC Field Name Required Nullable Type Description Format serviceAccount String The service account for the integration. The server will mask the value of this credential in responses and logs. sourceId String wifEnabled Boolean 41.6.7.8. StorageEmail Field Name Required Nullable Type Description Format server String sender String username String password String The password for the integration. The server will mask the value of this credential in responses and logs. disableTLS Boolean DEPRECATEDUseStartTLS Boolean from String startTLSAuthMethod EmailAuthMethod DISABLED, PLAIN, LOGIN, allowUnauthenticatedSmtp Boolean 41.6.7.9. StorageGeneric Field Name Required Nullable Type Description Format endpoint String skipTLSVerify Boolean caCert String username String password String The password for the integration. The server will mask the value of this credential in responses and logs. headers List of StorageKeyValuePair extraFields List of StorageKeyValuePair auditLoggingEnabled Boolean 41.6.7.10. StorageJira Field Name Required Nullable Type Description Format url String username String password String The password for the integration. The server will mask the value of this credential in responses and logs. issueType String priorityMappings List of JiraPriorityMapping defaultFieldsJson String disablePriority Boolean 41.6.7.11. StorageKeyValuePair Field Name Required Nullable Type Description Format key String value String 41.6.7.12. StorageNotifier Field Name Required Nullable Type Description Format id String name String type String uiEndpoint String labelKey String labelDefault String jira StorageJira email StorageEmail cscc StorageCSCC splunk StorageSplunk pagerduty StoragePagerDuty generic StorageGeneric sumologic StorageSumoLogic awsSecurityHub StorageAWSSecurityHub syslog StorageSyslog notifierSecret String traits StorageTraits 41.6.7.13. StoragePagerDuty Field Name Required Nullable Type Description Format apiKey String The API key for the integration. The server will mask the value of this credential in responses and logs. 41.6.7.14. StorageSeverity Enum Values UNSET_SEVERITY LOW_SEVERITY MEDIUM_SEVERITY HIGH_SEVERITY CRITICAL_SEVERITY 41.6.7.15. StorageSplunk Field Name Required Nullable Type Description Format httpToken String The HTTP token for the integration. The server will mask the value of this credential in responses and logs. httpEndpoint String insecure Boolean truncate String int64 auditLoggingEnabled Boolean derivedSourceType Boolean sourceTypes Map of string 41.6.7.16. StorageSumoLogic Field Name Required Nullable Type Description Format httpSourceAddress String skipTLSVerify Boolean 41.6.7.17. StorageSyslog Field Name Required Nullable Type Description Format localFacility SyslogLocalFacility LOCAL0, LOCAL1, LOCAL2, LOCAL3, LOCAL4, LOCAL5, LOCAL6, LOCAL7, tcpConfig SyslogTCPConfig extraFields List of StorageKeyValuePair messageFormat SyslogMessageFormat LEGACY, CEF, 41.6.7.18. StorageTraits Field Name Required Nullable Type Description Format mutabilityMode TraitsMutabilityMode ALLOW_MUTATE, ALLOW_MUTATE_FORCED, visibility TraitsVisibility VISIBLE, HIDDEN, origin TraitsOrigin IMPERATIVE, DEFAULT, DECLARATIVE, DECLARATIVE_ORPHANED, 41.6.7.19. SyslogLocalFacility Enum Values LOCAL0 LOCAL1 LOCAL2 LOCAL3 LOCAL4 LOCAL5 LOCAL6 LOCAL7 41.6.7.20. SyslogMessageFormat Enum Values LEGACY CEF 41.6.7.21. SyslogTCPConfig Field Name Required Nullable Type Description Format hostname String port Integer int32 skipTlsVerify Boolean useTls Boolean 41.6.7.22. TraitsMutabilityMode EXPERIMENTAL. NOTE: Please refer from using MutabilityMode for the time being. It will be replaced in the future (ROX-14276). MutabilityMode specifies whether and how an object can be modified. Default is ALLOW_MUTATE and means there are no modification restrictions; this is equivalent to the absence of MutabilityMode specification. ALLOW_MUTATE_FORCED forbids all modifying operations except object removal with force bit on. Be careful when changing the state of this field. For example, modifying an object from ALLOW_MUTATE to ALLOW_MUTATE_FORCED is allowed but will prohibit any further changes to it, including modifying it back to ALLOW_MUTATE. Enum Values ALLOW_MUTATE ALLOW_MUTATE_FORCED 41.6.7.23. TraitsOrigin Origin specifies the origin of an object. Objects can have four different origins: - IMPERATIVE: the object was created via the API. This is assumed by default. - DEFAULT: the object is a default object, such as default roles, access scopes etc. - DECLARATIVE: the object is created via declarative configuration. - DECLARATIVE_ORPHANED: the object is created via declarative configuration and then unsuccessfully deleted(for example, because it is referenced by another object) Based on the origin, different rules apply to the objects. Objects with the DECLARATIVE origin are not allowed to be modified via API, only via declarative configuration. Additionally, they may not reference objects with the IMPERATIVE origin. Objects with the DEFAULT origin are not allowed to be modified via either API or declarative configuration. They may be referenced by all other objects. Objects with the IMPERATIVE origin are allowed to be modified via API, not via declarative configuration. They may reference all other objects. Objects with the DECLARATIVE_ORPHANED origin are not allowed to be modified via either API or declarative configuration. DECLARATIVE_ORPHANED resource can become DECLARATIVE again if it is redefined in declarative configuration. Objects with this origin will be cleaned up from the system immediately after they are not referenced by other resources anymore. They may be referenced by all other objects. Enum Values IMPERATIVE DEFAULT DECLARATIVE DECLARATIVE_ORPHANED 41.6.7.24. TraitsVisibility EXPERIMENTAL. visibility allows to specify whether the object should be visible for certain APIs. Enum Values VISIBLE HIDDEN 41.7. TestNotifier POST /v1/notifiers/test TestNotifier checks if a notifier is correctly configured. 41.7.1. Description 41.7.2. Parameters 41.7.2.1. Body Parameter Name Description Required Default Pattern body StorageNotifier X 41.7.3. Return Type Object 41.7.4. Content Type application/json 41.7.5. Responses Table 41.7. HTTP Response Codes Code Message Datatype 200 A successful response. Object 0 An unexpected error response. RuntimeError 41.7.6. Samples 41.7.7. Common object reference 41.7.7.1. EmailAuthMethod Enum Values DISABLED PLAIN LOGIN 41.7.7.2. JiraPriorityMapping Field Name Required Nullable Type Description Format severity StorageSeverity UNSET_SEVERITY, LOW_SEVERITY, MEDIUM_SEVERITY, HIGH_SEVERITY, CRITICAL_SEVERITY, priorityName String 41.7.7.3. 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". 41.7.7.3.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 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 41.7.7.4. RuntimeError Field Name Required Nullable Type Description Format error String code Integer int32 message String details List of ProtobufAny 41.7.7.5. StorageAWSSecurityHub Field Name Required Nullable Type Description Format region String credentials StorageAWSSecurityHubCredentials accountId String 41.7.7.6. StorageAWSSecurityHubCredentials Field Name Required Nullable Type Description Format accessKeyId String secretAccessKey String stsEnabled Boolean 41.7.7.7. StorageCSCC Field Name Required Nullable Type Description Format serviceAccount String The service account for the integration. The server will mask the value of this credential in responses and logs. sourceId String wifEnabled Boolean 41.7.7.8. StorageEmail Field Name Required Nullable Type Description Format server String sender String username String password String The password for the integration. The server will mask the value of this credential in responses and logs. disableTLS Boolean DEPRECATEDUseStartTLS Boolean from String startTLSAuthMethod EmailAuthMethod DISABLED, PLAIN, LOGIN, allowUnauthenticatedSmtp Boolean 41.7.7.9. StorageGeneric Field Name Required Nullable Type Description Format endpoint String skipTLSVerify Boolean caCert String username String password String The password for the integration. The server will mask the value of this credential in responses and logs. headers List of StorageKeyValuePair extraFields List of StorageKeyValuePair auditLoggingEnabled Boolean 41.7.7.10. StorageJira Field Name Required Nullable Type Description Format url String username String password String The password for the integration. The server will mask the value of this credential in responses and logs. issueType String priorityMappings List of JiraPriorityMapping defaultFieldsJson String disablePriority Boolean 41.7.7.11. StorageKeyValuePair Field Name Required Nullable Type Description Format key String value String 41.7.7.12. StorageNotifier Field Name Required Nullable Type Description Format id String name String type String uiEndpoint String labelKey String labelDefault String jira StorageJira email StorageEmail cscc StorageCSCC splunk StorageSplunk pagerduty StoragePagerDuty generic StorageGeneric sumologic StorageSumoLogic awsSecurityHub StorageAWSSecurityHub syslog StorageSyslog notifierSecret String traits StorageTraits 41.7.7.13. StoragePagerDuty Field Name Required Nullable Type Description Format apiKey String The API key for the integration. The server will mask the value of this credential in responses and logs. 41.7.7.14. StorageSeverity Enum Values UNSET_SEVERITY LOW_SEVERITY MEDIUM_SEVERITY HIGH_SEVERITY CRITICAL_SEVERITY 41.7.7.15. StorageSplunk Field Name Required Nullable Type Description Format httpToken String The HTTP token for the integration. The server will mask the value of this credential in responses and logs. httpEndpoint String insecure Boolean truncate String int64 auditLoggingEnabled Boolean derivedSourceType Boolean sourceTypes Map of string 41.7.7.16. StorageSumoLogic Field Name Required Nullable Type Description Format httpSourceAddress String skipTLSVerify Boolean 41.7.7.17. StorageSyslog Field Name Required Nullable Type Description Format localFacility SyslogLocalFacility LOCAL0, LOCAL1, LOCAL2, LOCAL3, LOCAL4, LOCAL5, LOCAL6, LOCAL7, tcpConfig SyslogTCPConfig extraFields List of StorageKeyValuePair messageFormat SyslogMessageFormat LEGACY, CEF, 41.7.7.18. StorageTraits Field Name Required Nullable Type Description Format mutabilityMode TraitsMutabilityMode ALLOW_MUTATE, ALLOW_MUTATE_FORCED, visibility TraitsVisibility VISIBLE, HIDDEN, origin TraitsOrigin IMPERATIVE, DEFAULT, DECLARATIVE, DECLARATIVE_ORPHANED, 41.7.7.19. SyslogLocalFacility Enum Values LOCAL0 LOCAL1 LOCAL2 LOCAL3 LOCAL4 LOCAL5 LOCAL6 LOCAL7 41.7.7.20. SyslogMessageFormat Enum Values LEGACY CEF 41.7.7.21. SyslogTCPConfig Field Name Required Nullable Type Description Format hostname String port Integer int32 skipTlsVerify Boolean useTls Boolean 41.7.7.22. TraitsMutabilityMode EXPERIMENTAL. NOTE: Please refer from using MutabilityMode for the time being. It will be replaced in the future (ROX-14276). MutabilityMode specifies whether and how an object can be modified. Default is ALLOW_MUTATE and means there are no modification restrictions; this is equivalent to the absence of MutabilityMode specification. ALLOW_MUTATE_FORCED forbids all modifying operations except object removal with force bit on. Be careful when changing the state of this field. For example, modifying an object from ALLOW_MUTATE to ALLOW_MUTATE_FORCED is allowed but will prohibit any further changes to it, including modifying it back to ALLOW_MUTATE. Enum Values ALLOW_MUTATE ALLOW_MUTATE_FORCED 41.7.7.23. TraitsOrigin Origin specifies the origin of an object. Objects can have four different origins: - IMPERATIVE: the object was created via the API. This is assumed by default. - DEFAULT: the object is a default object, such as default roles, access scopes etc. - DECLARATIVE: the object is created via declarative configuration. - DECLARATIVE_ORPHANED: the object is created via declarative configuration and then unsuccessfully deleted(for example, because it is referenced by another object) Based on the origin, different rules apply to the objects. Objects with the DECLARATIVE origin are not allowed to be modified via API, only via declarative configuration. Additionally, they may not reference objects with the IMPERATIVE origin. Objects with the DEFAULT origin are not allowed to be modified via either API or declarative configuration. They may be referenced by all other objects. Objects with the IMPERATIVE origin are allowed to be modified via API, not via declarative configuration. They may reference all other objects. Objects with the DECLARATIVE_ORPHANED origin are not allowed to be modified via either API or declarative configuration. DECLARATIVE_ORPHANED resource can become DECLARATIVE again if it is redefined in declarative configuration. Objects with this origin will be cleaned up from the system immediately after they are not referenced by other resources anymore. They may be referenced by all other objects. Enum Values IMPERATIVE DEFAULT DECLARATIVE DECLARATIVE_ORPHANED 41.7.7.24. TraitsVisibility EXPERIMENTAL. visibility allows to specify whether the object should be visible for certain APIs. Enum Values VISIBLE HIDDEN 41.8. TestUpdatedNotifier POST /v1/notifiers/test/updated TestUpdatedNotifier checks if the given notifier is correctly configured, with optional stored credential reconciliation. 41.8.1. Description 41.8.2. Parameters 41.8.2.1. Body Parameter Name Description Required Default Pattern body V1UpdateNotifierRequest X 41.8.3. Return Type Object 41.8.4. Content Type application/json 41.8.5. Responses Table 41.8. HTTP Response Codes Code Message Datatype 200 A successful response. Object 0 An unexpected error response. RuntimeError 41.8.6. Samples 41.8.7. Common object reference 41.8.7.1. EmailAuthMethod Enum Values DISABLED PLAIN LOGIN 41.8.7.2. JiraPriorityMapping Field Name Required Nullable Type Description Format severity StorageSeverity UNSET_SEVERITY, LOW_SEVERITY, MEDIUM_SEVERITY, HIGH_SEVERITY, CRITICAL_SEVERITY, priorityName String 41.8.7.3. 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". 41.8.7.3.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 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 41.8.7.4. RuntimeError Field Name Required Nullable Type Description Format error String code Integer int32 message String details List of ProtobufAny 41.8.7.5. StorageAWSSecurityHub Field Name Required Nullable Type Description Format region String credentials StorageAWSSecurityHubCredentials accountId String 41.8.7.6. StorageAWSSecurityHubCredentials Field Name Required Nullable Type Description Format accessKeyId String secretAccessKey String stsEnabled Boolean 41.8.7.7. StorageCSCC Field Name Required Nullable Type Description Format serviceAccount String The service account for the integration. The server will mask the value of this credential in responses and logs. sourceId String wifEnabled Boolean 41.8.7.8. StorageEmail Field Name Required Nullable Type Description Format server String sender String username String password String The password for the integration. The server will mask the value of this credential in responses and logs. disableTLS Boolean DEPRECATEDUseStartTLS Boolean from String startTLSAuthMethod EmailAuthMethod DISABLED, PLAIN, LOGIN, allowUnauthenticatedSmtp Boolean 41.8.7.9. StorageGeneric Field Name Required Nullable Type Description Format endpoint String skipTLSVerify Boolean caCert String username String password String The password for the integration. The server will mask the value of this credential in responses and logs. headers List of StorageKeyValuePair extraFields List of StorageKeyValuePair auditLoggingEnabled Boolean 41.8.7.10. StorageJira Field Name Required Nullable Type Description Format url String username String password String The password for the integration. The server will mask the value of this credential in responses and logs. issueType String priorityMappings List of JiraPriorityMapping defaultFieldsJson String disablePriority Boolean 41.8.7.11. StorageKeyValuePair Field Name Required Nullable Type Description Format key String value String 41.8.7.12. StorageNotifier Field Name Required Nullable Type Description Format id String name String type String uiEndpoint String labelKey String labelDefault String jira StorageJira email StorageEmail cscc StorageCSCC splunk StorageSplunk pagerduty StoragePagerDuty generic StorageGeneric sumologic StorageSumoLogic awsSecurityHub StorageAWSSecurityHub syslog StorageSyslog notifierSecret String traits StorageTraits 41.8.7.13. StoragePagerDuty Field Name Required Nullable Type Description Format apiKey String The API key for the integration. The server will mask the value of this credential in responses and logs. 41.8.7.14. StorageSeverity Enum Values UNSET_SEVERITY LOW_SEVERITY MEDIUM_SEVERITY HIGH_SEVERITY CRITICAL_SEVERITY 41.8.7.15. StorageSplunk Field Name Required Nullable Type Description Format httpToken String The HTTP token for the integration. The server will mask the value of this credential in responses and logs. httpEndpoint String insecure Boolean truncate String int64 auditLoggingEnabled Boolean derivedSourceType Boolean sourceTypes Map of string 41.8.7.16. StorageSumoLogic Field Name Required Nullable Type Description Format httpSourceAddress String skipTLSVerify Boolean 41.8.7.17. StorageSyslog Field Name Required Nullable Type Description Format localFacility SyslogLocalFacility LOCAL0, LOCAL1, LOCAL2, LOCAL3, LOCAL4, LOCAL5, LOCAL6, LOCAL7, tcpConfig SyslogTCPConfig extraFields List of StorageKeyValuePair messageFormat SyslogMessageFormat LEGACY, CEF, 41.8.7.18. StorageTraits Field Name Required Nullable Type Description Format mutabilityMode TraitsMutabilityMode ALLOW_MUTATE, ALLOW_MUTATE_FORCED, visibility TraitsVisibility VISIBLE, HIDDEN, origin TraitsOrigin IMPERATIVE, DEFAULT, DECLARATIVE, DECLARATIVE_ORPHANED, 41.8.7.19. SyslogLocalFacility Enum Values LOCAL0 LOCAL1 LOCAL2 LOCAL3 LOCAL4 LOCAL5 LOCAL6 LOCAL7 41.8.7.20. SyslogMessageFormat Enum Values LEGACY CEF 41.8.7.21. SyslogTCPConfig Field Name Required Nullable Type Description Format hostname String port Integer int32 skipTlsVerify Boolean useTls Boolean 41.8.7.22. TraitsMutabilityMode EXPERIMENTAL. NOTE: Please refer from using MutabilityMode for the time being. It will be replaced in the future (ROX-14276). MutabilityMode specifies whether and how an object can be modified. Default is ALLOW_MUTATE and means there are no modification restrictions; this is equivalent to the absence of MutabilityMode specification. ALLOW_MUTATE_FORCED forbids all modifying operations except object removal with force bit on. Be careful when changing the state of this field. For example, modifying an object from ALLOW_MUTATE to ALLOW_MUTATE_FORCED is allowed but will prohibit any further changes to it, including modifying it back to ALLOW_MUTATE. Enum Values ALLOW_MUTATE ALLOW_MUTATE_FORCED 41.8.7.23. TraitsOrigin Origin specifies the origin of an object. Objects can have four different origins: - IMPERATIVE: the object was created via the API. This is assumed by default. - DEFAULT: the object is a default object, such as default roles, access scopes etc. - DECLARATIVE: the object is created via declarative configuration. - DECLARATIVE_ORPHANED: the object is created via declarative configuration and then unsuccessfully deleted(for example, because it is referenced by another object) Based on the origin, different rules apply to the objects. Objects with the DECLARATIVE origin are not allowed to be modified via API, only via declarative configuration. Additionally, they may not reference objects with the IMPERATIVE origin. Objects with the DEFAULT origin are not allowed to be modified via either API or declarative configuration. They may be referenced by all other objects. Objects with the IMPERATIVE origin are allowed to be modified via API, not via declarative configuration. They may reference all other objects. Objects with the DECLARATIVE_ORPHANED origin are not allowed to be modified via either API or declarative configuration. DECLARATIVE_ORPHANED resource can become DECLARATIVE again if it is redefined in declarative configuration. Objects with this origin will be cleaned up from the system immediately after they are not referenced by other resources anymore. They may be referenced by all other objects. Enum Values IMPERATIVE DEFAULT DECLARATIVE DECLARATIVE_ORPHANED 41.8.7.24. TraitsVisibility EXPERIMENTAL. visibility allows to specify whether the object should be visible for certain APIs. Enum Values VISIBLE HIDDEN 41.8.7.25. V1UpdateNotifierRequest Field Name Required Nullable Type Description Format notifier StorageNotifier updatePassword Boolean When false, use the stored credentials of an existing notifier configuration given its ID.
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" } Next Tag: 19 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" } Next Tag: 19 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" } Next Tag: 19 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" } Next Tag: 19 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" } Next Tag: 19 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" } Next Tag: 19 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" } Next Tag: 19