Module: DatadogAPIClient::V2::SecurityMonitoringContentPackStateDetails
- Extended by:
- BaseOneOfModel, BaseOneOfModelNoDiscriminator
- Defined in:
- lib/datadog_api_client/v2/models/security_monitoring_content_pack_state_details.rb
Overview
Type-specific details for a content pack state. The set of fields present depends
on the content pack's type. When Cloud SIEM is inactive for the requesting organization, onboarding is returned instead of the content pack's usual type, such as logs or vulnerability.`
Instance Attribute Summary
Attributes included from BaseOneOfModel
Class Method Summary collapse
-
.build(data) ⇒ Object
Builds the object.
-
.openapi_one_of ⇒ Object
List of class defined in oneOf (OpenAPI v3).
Class Method Details
.build(data) ⇒ Object
Builds the object
42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
# File 'lib/datadog_api_client/v2/models/security_monitoring_content_pack_state_details.rb', line 42 def build(data) # Go through the list of oneOf items and attempt to identify the appropriate one. # Note: # - We do not attempt to check whether exactly one item matches. # - No advanced validation of types in some cases (e.g. "x: { type: string }" will happily match { x: 123 }) # due to the way the deserialization is made in the base_object template (it just casts without verifying). # - TODO: scalar values are de facto behaving as if they were nullable. # - TODO: logging when debugging is set. openapi_one_of.each do |klass| begin next if klass == :AnyType # "nullable: true" typed_data = find_and_cast_into_type(klass, data) next if typed_data.respond_to?(:_unparsed) && typed_data._unparsed return typed_data if typed_data rescue # rescue all errors so we keep iterating even if the current item lookup raises end end if openapi_one_of.include?(:AnyType) data else self._unparsed = true DatadogAPIClient::UnparsedObject.new(data) end end |
.openapi_one_of ⇒ Object
List of class defined in oneOf (OpenAPI v3)
28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/datadog_api_client/v2/models/security_monitoring_content_pack_state_details.rb', line 28 def openapi_one_of [ :'SecurityMonitoringContentPackLogsDetails', :'SecurityMonitoringContentPackThreatIntelDetails', :'SecurityMonitoringContentPackEntityDetails', :'SecurityMonitoringContentPackAuditDetails', :'SecurityMonitoringContentPackAppSecDetails', :'SecurityMonitoringContentPackVulnerabilityDetails', :'SecurityMonitoringContentPackOnboardingDetails' ] end |