google-apis-securitycenter_v1 0.52.0 → 0.54.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -287,38 +287,6 @@ module Google
287
287
  end
288
288
  end
289
289
 
290
- # A finding that is associated with this node in the exposure path.
291
- class AssociatedFinding
292
- include Google::Apis::Core::Hashable
293
-
294
- # Canonical name of the associated findings. Example: organizations/123/sources/
295
- # 456/findings/789
296
- # Corresponds to the JSON property `canonicalFindingName`
297
- # @return [String]
298
- attr_accessor :canonical_finding_name
299
-
300
- # The additional taxonomy group within findings from a given source.
301
- # Corresponds to the JSON property `findingCategory`
302
- # @return [String]
303
- attr_accessor :finding_category
304
-
305
- # Full resource name of the finding.
306
- # Corresponds to the JSON property `name`
307
- # @return [String]
308
- attr_accessor :name
309
-
310
- def initialize(**args)
311
- update!(**args)
312
- end
313
-
314
- # Update properties of this object
315
- def update!(**args)
316
- @canonical_finding_name = args[:canonical_finding_name] if args.key?(:canonical_finding_name)
317
- @finding_category = args[:finding_category] if args.key?(:finding_category)
318
- @name = args[:name] if args.key?(:name)
319
- end
320
- end
321
-
322
290
  # Specifies the audit configuration for a service. The configuration determines
323
291
  # which permission types are logged, and what identities, if any, are exempted
324
292
  # from logging. An AuditConfig must have one or more AuditLogConfigs. If there
@@ -912,32 +880,6 @@ module Google
912
880
  end
913
881
  end
914
882
 
915
- # Represents a connection between a source node and a destination node in this
916
- # exposure path.
917
- class Edge
918
- include Google::Apis::Core::Hashable
919
-
920
- # This is the resource name of the destination node.
921
- # Corresponds to the JSON property `destination`
922
- # @return [String]
923
- attr_accessor :destination
924
-
925
- # This is the resource name of the source node.
926
- # Corresponds to the JSON property `source`
927
- # @return [String]
928
- attr_accessor :source
929
-
930
- def initialize(**args)
931
- update!(**args)
932
- end
933
-
934
- # Update properties of this object
935
- def update!(**args)
936
- @destination = args[:destination] if args.key?(:destination)
937
- @source = args[:source] if args.key?(:source)
938
- end
939
- end
940
-
941
883
  # A generic empty message that you can re-use to avoid defining duplicated empty
942
884
  # messages in your APIs. A typical example is to use it as the request or the
943
885
  # response type of an API method. For instance: service Foo ` rpc Bar(google.
@@ -1342,12 +1284,6 @@ module Google
1342
1284
  # @return [String]
1343
1285
  attr_accessor :next_steps
1344
1286
 
1345
- # Contains information about the org policy constraints associated with the
1346
- # finding.
1347
- # Corresponds to the JSON property `orgPolicyConstraints`
1348
- # @return [Array<Google::Apis::SecuritycenterV1::OrgPolicyConstraint>]
1349
- attr_accessor :org_policy_constraints
1350
-
1351
1287
  # The relative resource name of the source the finding belongs to. See: https://
1352
1288
  # cloud.google.com/apis/design/resource_names#relative_resource_name This field
1353
1289
  # is immutable after creation time. For example: "organizations/`organization_id`
@@ -1443,7 +1379,6 @@ module Google
1443
1379
  @mute_update_time = args[:mute_update_time] if args.key?(:mute_update_time)
1444
1380
  @name = args[:name] if args.key?(:name)
1445
1381
  @next_steps = args[:next_steps] if args.key?(:next_steps)
1446
- @org_policy_constraints = args[:org_policy_constraints] if args.key?(:org_policy_constraints)
1447
1382
  @parent = args[:parent] if args.key?(:parent)
1448
1383
  @parent_display_name = args[:parent_display_name] if args.key?(:parent_display_name)
1449
1384
  @processes = args[:processes] if args.key?(:processes)
@@ -1682,42 +1617,90 @@ module Google
1682
1617
  end
1683
1618
  end
1684
1619
 
1685
- # A resource that is exposed as a result of a finding.
1686
- class GoogleCloudSecuritycenterV1ExposedResource
1620
+ # Defines the properties in a custom module configuration for Security Health
1621
+ # Analytics. Use the custom module configuration to create custom detectors that
1622
+ # generate custom findings for resources that you specify.
1623
+ class GoogleCloudSecuritycenterV1CustomConfig
1687
1624
  include Google::Apis::Core::Hashable
1688
1625
 
1689
- # Human readable name of the resource that is exposed.
1690
- # Corresponds to the JSON property `displayName`
1626
+ # A set of optional name-value pairs that define custom source properties to
1627
+ # return with each finding that is generated by the custom module. The custom
1628
+ # source properties that are defined here are included in the finding JSON under
1629
+ # `sourceProperties`.
1630
+ # Corresponds to the JSON property `customOutput`
1631
+ # @return [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV1CustomOutputSpec]
1632
+ attr_accessor :custom_output
1633
+
1634
+ # Text that describes the vulnerability or misconfiguration that the custom
1635
+ # module detects. This explanation is returned with each finding instance to
1636
+ # help investigators understand the detected issue. The text must be enclosed in
1637
+ # quotation marks.
1638
+ # Corresponds to the JSON property `description`
1691
1639
  # @return [String]
1692
- attr_accessor :display_name
1640
+ attr_accessor :description
1693
1641
 
1694
- # The ways in which this resource is exposed. Examples: Read, Write
1695
- # Corresponds to the JSON property `methods`
1696
- # @return [Array<String>]
1697
- attr_accessor :methods_prop
1642
+ # Represents a textual expression in the Common Expression Language (CEL) syntax.
1643
+ # CEL is a C-like expression language. The syntax and semantics of CEL are
1644
+ # documented at https://github.com/google/cel-spec. Example (Comparison): title:
1645
+ # "Summary size limit" description: "Determines if a summary is less than 100
1646
+ # chars" expression: "document.summary.size() < 100" Example (Equality): title: "
1647
+ # Requestor is owner" description: "Determines if requestor is the document
1648
+ # owner" expression: "document.owner == request.auth.claims.email" Example (
1649
+ # Logic): title: "Public documents" description: "Determine whether the document
1650
+ # should be publicly visible" expression: "document.type != 'private' &&
1651
+ # document.type != 'internal'" Example (Data Manipulation): title: "Notification
1652
+ # string" description: "Create a notification string with a timestamp."
1653
+ # expression: "'New message received at ' + string(document.create_time)" The
1654
+ # exact variables and functions that may be referenced within an expression are
1655
+ # determined by the service that evaluates it. See the service documentation for
1656
+ # additional information.
1657
+ # Corresponds to the JSON property `predicate`
1658
+ # @return [Google::Apis::SecuritycenterV1::Expr]
1659
+ attr_accessor :predicate
1698
1660
 
1699
- # Exposed Resource Name e.g.: `organizations/123/attackExposureResults/456/
1700
- # exposedResources/789`
1701
- # Corresponds to the JSON property `name`
1661
+ # An explanation of the recommended steps that security teams can take to
1662
+ # resolve the detected issue. This explanation is returned with each finding
1663
+ # generated by this module in the `nextSteps` property of the finding JSON.
1664
+ # Corresponds to the JSON property `recommendation`
1702
1665
  # @return [String]
1703
- attr_accessor :name
1666
+ attr_accessor :recommendation
1704
1667
 
1705
- # The name of the resource that is exposed. See: https://cloud.google.com/apis/
1706
- # design/resource_names#full_resource_name
1707
- # Corresponds to the JSON property `resource`
1708
- # @return [String]
1709
- attr_accessor :resource
1668
+ # Resource for selecting resource type.
1669
+ # Corresponds to the JSON property `resourceSelector`
1670
+ # @return [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV1ResourceSelector]
1671
+ attr_accessor :resource_selector
1710
1672
 
1711
- # The resource type of the exposed resource. See: https://cloud.google.com/asset-
1712
- # inventory/docs/supported-asset-types
1713
- # Corresponds to the JSON property `resourceType`
1673
+ # The severity to assign to findings generated by the module.
1674
+ # Corresponds to the JSON property `severity`
1714
1675
  # @return [String]
1715
- attr_accessor :resource_type
1676
+ attr_accessor :severity
1716
1677
 
1717
- # How valuable this resource is.
1718
- # Corresponds to the JSON property `resourceValue`
1719
- # @return [String]
1720
- attr_accessor :resource_value
1678
+ def initialize(**args)
1679
+ update!(**args)
1680
+ end
1681
+
1682
+ # Update properties of this object
1683
+ def update!(**args)
1684
+ @custom_output = args[:custom_output] if args.key?(:custom_output)
1685
+ @description = args[:description] if args.key?(:description)
1686
+ @predicate = args[:predicate] if args.key?(:predicate)
1687
+ @recommendation = args[:recommendation] if args.key?(:recommendation)
1688
+ @resource_selector = args[:resource_selector] if args.key?(:resource_selector)
1689
+ @severity = args[:severity] if args.key?(:severity)
1690
+ end
1691
+ end
1692
+
1693
+ # A set of optional name-value pairs that define custom source properties to
1694
+ # return with each finding that is generated by the custom module. The custom
1695
+ # source properties that are defined here are included in the finding JSON under
1696
+ # `sourceProperties`.
1697
+ class GoogleCloudSecuritycenterV1CustomOutputSpec
1698
+ include Google::Apis::Core::Hashable
1699
+
1700
+ # A list of custom output properties to add to the finding.
1701
+ # Corresponds to the JSON property `properties`
1702
+ # @return [Array<Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV1Property>]
1703
+ attr_accessor :properties
1721
1704
 
1722
1705
  def initialize(**args)
1723
1706
  update!(**args)
@@ -1725,50 +1708,62 @@ module Google
1725
1708
 
1726
1709
  # Update properties of this object
1727
1710
  def update!(**args)
1728
- @display_name = args[:display_name] if args.key?(:display_name)
1729
- @methods_prop = args[:methods_prop] if args.key?(:methods_prop)
1730
- @name = args[:name] if args.key?(:name)
1731
- @resource = args[:resource] if args.key?(:resource)
1732
- @resource_type = args[:resource_type] if args.key?(:resource_type)
1733
- @resource_value = args[:resource_value] if args.key?(:resource_value)
1711
+ @properties = args[:properties] if args.key?(:properties)
1734
1712
  end
1735
1713
  end
1736
1714
 
1737
- # A path that an attacker could take to reach an exposed resource.
1738
- class GoogleCloudSecuritycenterV1ExposurePath
1715
+ # An EffectiveSecurityHealthAnalyticsCustomModule is the representation of a
1716
+ # Security Health Analytics custom module at a specified level of the resource
1717
+ # hierarchy: organization, folder, or project. If a custom module is inherited
1718
+ # from a parent organization or folder, the value of the `enablementState`
1719
+ # property in EffectiveSecurityHealthAnalyticsCustomModule is set to the value
1720
+ # that is effective in the parent, instead of `INHERITED`. For example, if the
1721
+ # module is enabled in a parent organization or folder, the effective
1722
+ # enablement_state for the module in all child folders or projects is also `
1723
+ # enabled`. EffectiveSecurityHealthAnalyticsCustomModule is read-only.
1724
+ class GoogleCloudSecuritycenterV1EffectiveSecurityHealthAnalyticsCustomModule
1739
1725
  include Google::Apis::Core::Hashable
1740
1726
 
1741
- # A list of the edges between nodes in this exposure path.
1742
- # Corresponds to the JSON property `edges`
1743
- # @return [Array<Google::Apis::SecuritycenterV1::Edge>]
1744
- attr_accessor :edges
1727
+ # Defines the properties in a custom module configuration for Security Health
1728
+ # Analytics. Use the custom module configuration to create custom detectors that
1729
+ # generate custom findings for resources that you specify.
1730
+ # Corresponds to the JSON property `customConfig`
1731
+ # @return [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV1CustomConfig]
1732
+ attr_accessor :custom_config
1745
1733
 
1746
- # A resource that is exposed as a result of a finding.
1747
- # Corresponds to the JSON property `exposedResource`
1748
- # @return [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV1ExposedResource]
1749
- attr_accessor :exposed_resource
1734
+ # Output only. The display name for the custom module. The name must be between
1735
+ # 1 and 128 characters, start with a lowercase letter, and contain alphanumeric
1736
+ # characters or underscores only.
1737
+ # Corresponds to the JSON property `displayName`
1738
+ # @return [String]
1739
+ attr_accessor :display_name
1750
1740
 
1751
- # Exposure Path Name e.g.: `organizations/123/attackExposureResults/456/
1752
- # exposurePaths/789`
1741
+ # Output only. The effective state of enablement for the module at the given
1742
+ # level of the hierarchy.
1743
+ # Corresponds to the JSON property `enablementState`
1744
+ # @return [String]
1745
+ attr_accessor :enablement_state
1746
+
1747
+ # Output only. The resource name of the custom module. Its format is "
1748
+ # organizations/`organization`/securityHealthAnalyticsSettings/
1749
+ # effectiveCustomModules/`customModule`", or "folders/`folder`/
1750
+ # securityHealthAnalyticsSettings/effectiveCustomModules/`customModule`", or "
1751
+ # projects/`project`/securityHealthAnalyticsSettings/effectiveCustomModules/`
1752
+ # customModule`"
1753
1753
  # Corresponds to the JSON property `name`
1754
1754
  # @return [String]
1755
1755
  attr_accessor :name
1756
1756
 
1757
- # A list of nodes that exist in this exposure path.
1758
- # Corresponds to the JSON property `pathNodes`
1759
- # @return [Array<Google::Apis::SecuritycenterV1::PathNode>]
1760
- attr_accessor :path_nodes
1761
-
1762
1757
  def initialize(**args)
1763
1758
  update!(**args)
1764
1759
  end
1765
1760
 
1766
1761
  # Update properties of this object
1767
1762
  def update!(**args)
1768
- @edges = args[:edges] if args.key?(:edges)
1769
- @exposed_resource = args[:exposed_resource] if args.key?(:exposed_resource)
1763
+ @custom_config = args[:custom_config] if args.key?(:custom_config)
1764
+ @display_name = args[:display_name] if args.key?(:display_name)
1765
+ @enablement_state = args[:enablement_state] if args.key?(:enablement_state)
1770
1766
  @name = args[:name] if args.key?(:name)
1771
- @path_nodes = args[:path_nodes] if args.key?(:path_nodes)
1772
1767
  end
1773
1768
  end
1774
1769
 
@@ -1927,6 +1922,45 @@ module Google
1927
1922
  end
1928
1923
  end
1929
1924
 
1925
+ # An individual name-value pair that defines a custom source property.
1926
+ class GoogleCloudSecuritycenterV1Property
1927
+ include Google::Apis::Core::Hashable
1928
+
1929
+ # Name of the property for the custom output.
1930
+ # Corresponds to the JSON property `name`
1931
+ # @return [String]
1932
+ attr_accessor :name
1933
+
1934
+ # Represents a textual expression in the Common Expression Language (CEL) syntax.
1935
+ # CEL is a C-like expression language. The syntax and semantics of CEL are
1936
+ # documented at https://github.com/google/cel-spec. Example (Comparison): title:
1937
+ # "Summary size limit" description: "Determines if a summary is less than 100
1938
+ # chars" expression: "document.summary.size() < 100" Example (Equality): title: "
1939
+ # Requestor is owner" description: "Determines if requestor is the document
1940
+ # owner" expression: "document.owner == request.auth.claims.email" Example (
1941
+ # Logic): title: "Public documents" description: "Determine whether the document
1942
+ # should be publicly visible" expression: "document.type != 'private' &&
1943
+ # document.type != 'internal'" Example (Data Manipulation): title: "Notification
1944
+ # string" description: "Create a notification string with a timestamp."
1945
+ # expression: "'New message received at ' + string(document.create_time)" The
1946
+ # exact variables and functions that may be referenced within an expression are
1947
+ # determined by the service that evaluates it. See the service documentation for
1948
+ # additional information.
1949
+ # Corresponds to the JSON property `valueExpression`
1950
+ # @return [Google::Apis::SecuritycenterV1::Expr]
1951
+ attr_accessor :value_expression
1952
+
1953
+ def initialize(**args)
1954
+ update!(**args)
1955
+ end
1956
+
1957
+ # Update properties of this object
1958
+ def update!(**args)
1959
+ @name = args[:name] if args.key?(:name)
1960
+ @value_expression = args[:value_expression] if args.key?(:value_expression)
1961
+ end
1962
+ end
1963
+
1930
1964
  # Information related to the Google Cloud resource.
1931
1965
  class GoogleCloudSecuritycenterV1Resource
1932
1966
  include Google::Apis::Core::Hashable
@@ -1991,65 +2025,14 @@ module Google
1991
2025
  end
1992
2026
  end
1993
2027
 
1994
- # A resource value config is a mapping configuration of user's tag values to
1995
- # resource values. Used by the attack path simulation.
1996
- class GoogleCloudSecuritycenterV1ResourceValueConfig
2028
+ # Resource for selecting resource type.
2029
+ class GoogleCloudSecuritycenterV1ResourceSelector
1997
2030
  include Google::Apis::Core::Hashable
1998
2031
 
1999
- # Output only. Timestamp this resource value config was created.
2000
- # Corresponds to the JSON property `createTime`
2001
- # @return [String]
2002
- attr_accessor :create_time
2003
-
2004
- # Description of the resource value config.
2005
- # Corresponds to the JSON property `description`
2006
- # @return [String]
2007
- attr_accessor :description
2008
-
2009
- # Name for the resource value config
2010
- # Corresponds to the JSON property `name`
2011
- # @return [String]
2012
- attr_accessor :name
2013
-
2014
- # List of resource labels to search for, evaluated with AND. E.g. "
2015
- # resource_labels_selector": `"key": "value", "env": "prod"` will match
2016
- # resources with labels "key": "value" AND "env": "prod" https://cloud.google.
2017
- # com/resource-manager/docs/creating-managing-labels
2018
- # Corresponds to the JSON property `resourceLabelsSelector`
2019
- # @return [Hash<String,String>]
2020
- attr_accessor :resource_labels_selector
2021
-
2022
- # Apply resource_value only to resources that match resource_type. resource_type
2023
- # will be checked with "AND" of other resources. E.g. "storage.googleapis.com/
2024
- # Bucket" with resource_value "HIGH" will apply "HIGH" value only to "storage.
2025
- # googleapis.com/Bucket" resources.
2026
- # Corresponds to the JSON property `resourceType`
2027
- # @return [String]
2028
- attr_accessor :resource_type
2029
-
2030
- # Required. Resource value level this expression represents
2031
- # Corresponds to the JSON property `resourceValue`
2032
- # @return [String]
2033
- attr_accessor :resource_value
2034
-
2035
- # Project or folder to scope this config to. For example, "project/456" would
2036
- # apply this config only to resources in "project/456" scope will be checked
2037
- # with "AND" of other resources.
2038
- # Corresponds to the JSON property `scope`
2039
- # @return [String]
2040
- attr_accessor :scope
2041
-
2042
- # Required. Tag values combined with AND to check against. Values in the form "
2043
- # tagValues/123" E.g. [ "tagValues/123", "tagValues/456", "tagValues/789" ]
2044
- # https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing
2045
- # Corresponds to the JSON property `tagValues`
2032
+ # The resource types to run the detector on.
2033
+ # Corresponds to the JSON property `resourceTypes`
2046
2034
  # @return [Array<String>]
2047
- attr_accessor :tag_values
2048
-
2049
- # Output only. Timestamp this resource value config was last updated.
2050
- # Corresponds to the JSON property `updateTime`
2051
- # @return [String]
2052
- attr_accessor :update_time
2035
+ attr_accessor :resource_types
2053
2036
 
2054
2037
  def initialize(**args)
2055
2038
  update!(**args)
@@ -2057,15 +2040,7 @@ module Google
2057
2040
 
2058
2041
  # Update properties of this object
2059
2042
  def update!(**args)
2060
- @create_time = args[:create_time] if args.key?(:create_time)
2061
- @description = args[:description] if args.key?(:description)
2062
- @name = args[:name] if args.key?(:name)
2063
- @resource_labels_selector = args[:resource_labels_selector] if args.key?(:resource_labels_selector)
2064
- @resource_type = args[:resource_type] if args.key?(:resource_type)
2065
- @resource_value = args[:resource_value] if args.key?(:resource_value)
2066
- @scope = args[:scope] if args.key?(:scope)
2067
- @tag_values = args[:tag_values] if args.key?(:tag_values)
2068
- @update_time = args[:update_time] if args.key?(:update_time)
2043
+ @resource_types = args[:resource_types] if args.key?(:resource_types)
2069
2044
  end
2070
2045
  end
2071
2046
 
@@ -2094,6 +2069,80 @@ module Google
2094
2069
  end
2095
2070
  end
2096
2071
 
2072
+ # Represents an instance of a Security Health Analytics custom module, including
2073
+ # its full module name, display name, enablement state, and last updated time.
2074
+ # You can create a custom module at the organization, folder, or project level.
2075
+ # Custom modules that you create at the organization or folder level are
2076
+ # inherited by the child folders and projects.
2077
+ class GoogleCloudSecuritycenterV1SecurityHealthAnalyticsCustomModule
2078
+ include Google::Apis::Core::Hashable
2079
+
2080
+ # Output only. If empty, indicates that the custom module was created in the
2081
+ # organization, folder, or project in which you are viewing the custom module.
2082
+ # Otherwise, `ancestor_module` specifies the organization or folder from which
2083
+ # the custom module is inherited.
2084
+ # Corresponds to the JSON property `ancestorModule`
2085
+ # @return [String]
2086
+ attr_accessor :ancestor_module
2087
+
2088
+ # Defines the properties in a custom module configuration for Security Health
2089
+ # Analytics. Use the custom module configuration to create custom detectors that
2090
+ # generate custom findings for resources that you specify.
2091
+ # Corresponds to the JSON property `customConfig`
2092
+ # @return [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV1CustomConfig]
2093
+ attr_accessor :custom_config
2094
+
2095
+ # The display name of the Security Health Analytics custom module. This display
2096
+ # name becomes the finding category for all findings that are returned by this
2097
+ # custom module. The display name must be between 1 and 128 characters, start
2098
+ # with a lowercase letter, and contain alphanumeric characters or underscores
2099
+ # only.
2100
+ # Corresponds to the JSON property `displayName`
2101
+ # @return [String]
2102
+ attr_accessor :display_name
2103
+
2104
+ # The enablement state of the custom module.
2105
+ # Corresponds to the JSON property `enablementState`
2106
+ # @return [String]
2107
+ attr_accessor :enablement_state
2108
+
2109
+ # Output only. The editor that last updated the custom module.
2110
+ # Corresponds to the JSON property `lastEditor`
2111
+ # @return [String]
2112
+ attr_accessor :last_editor
2113
+
2114
+ # Immutable. The resource name of the custom module. Its format is "
2115
+ # organizations/`organization`/securityHealthAnalyticsSettings/customModules/`
2116
+ # customModule`", or "folders/`folder`/securityHealthAnalyticsSettings/
2117
+ # customModules/`customModule`", or "projects/`project`/
2118
+ # securityHealthAnalyticsSettings/customModules/`customModule`" The id `
2119
+ # customModule` is server-generated and is not user settable. It will be a
2120
+ # numeric id containing 1-20 digits.
2121
+ # Corresponds to the JSON property `name`
2122
+ # @return [String]
2123
+ attr_accessor :name
2124
+
2125
+ # Output only. The time at which the custom module was last updated.
2126
+ # Corresponds to the JSON property `updateTime`
2127
+ # @return [String]
2128
+ attr_accessor :update_time
2129
+
2130
+ def initialize(**args)
2131
+ update!(**args)
2132
+ end
2133
+
2134
+ # Update properties of this object
2135
+ def update!(**args)
2136
+ @ancestor_module = args[:ancestor_module] if args.key?(:ancestor_module)
2137
+ @custom_config = args[:custom_config] if args.key?(:custom_config)
2138
+ @display_name = args[:display_name] if args.key?(:display_name)
2139
+ @enablement_state = args[:enablement_state] if args.key?(:enablement_state)
2140
+ @last_editor = args[:last_editor] if args.key?(:last_editor)
2141
+ @name = args[:name] if args.key?(:name)
2142
+ @update_time = args[:update_time] if args.key?(:update_time)
2143
+ end
2144
+ end
2145
+
2097
2146
  # Response of asset discovery run
2098
2147
  class GoogleCloudSecuritycenterV1beta1RunAssetDiscoveryResponse
2099
2148
  include Google::Apis::Core::Hashable
@@ -3088,6 +3137,59 @@ module Google
3088
3137
  end
3089
3138
  end
3090
3139
 
3140
+ # Response message for listing descendant security health analytics custom
3141
+ # modules.
3142
+ class ListDescendantSecurityHealthAnalyticsCustomModulesResponse
3143
+ include Google::Apis::Core::Hashable
3144
+
3145
+ # If not empty, indicates that there may be more custom modules to be returned.
3146
+ # Corresponds to the JSON property `nextPageToken`
3147
+ # @return [String]
3148
+ attr_accessor :next_page_token
3149
+
3150
+ # Custom modules belonging to the requested parent and its descendants.
3151
+ # Corresponds to the JSON property `securityHealthAnalyticsCustomModules`
3152
+ # @return [Array<Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV1SecurityHealthAnalyticsCustomModule>]
3153
+ attr_accessor :security_health_analytics_custom_modules
3154
+
3155
+ def initialize(**args)
3156
+ update!(**args)
3157
+ end
3158
+
3159
+ # Update properties of this object
3160
+ def update!(**args)
3161
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
3162
+ @security_health_analytics_custom_modules = args[:security_health_analytics_custom_modules] if args.key?(:security_health_analytics_custom_modules)
3163
+ end
3164
+ end
3165
+
3166
+ # Response message for listing effective security health analytics custom
3167
+ # modules.
3168
+ class ListEffectiveSecurityHealthAnalyticsCustomModulesResponse
3169
+ include Google::Apis::Core::Hashable
3170
+
3171
+ # Effective custom modules belonging to the requested parent.
3172
+ # Corresponds to the JSON property `effectiveSecurityHealthAnalyticsCustomModules`
3173
+ # @return [Array<Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV1EffectiveSecurityHealthAnalyticsCustomModule>]
3174
+ attr_accessor :effective_security_health_analytics_custom_modules
3175
+
3176
+ # If not empty, indicates that there may be more effective custom modules to be
3177
+ # returned.
3178
+ # Corresponds to the JSON property `nextPageToken`
3179
+ # @return [String]
3180
+ attr_accessor :next_page_token
3181
+
3182
+ def initialize(**args)
3183
+ update!(**args)
3184
+ end
3185
+
3186
+ # Update properties of this object
3187
+ def update!(**args)
3188
+ @effective_security_health_analytics_custom_modules = args[:effective_security_health_analytics_custom_modules] if args.key?(:effective_security_health_analytics_custom_modules)
3189
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
3190
+ end
3191
+ end
3192
+
3091
3193
  # Response message for listing findings.
3092
3194
  class ListFindingsResponse
3093
3195
  include Google::Apis::Core::Hashable
@@ -3239,6 +3341,31 @@ module Google
3239
3341
  end
3240
3342
  end
3241
3343
 
3344
+ # Response message for listing security health analytics custom modules.
3345
+ class ListSecurityHealthAnalyticsCustomModulesResponse
3346
+ include Google::Apis::Core::Hashable
3347
+
3348
+ # If not empty, indicates that there may be more custom modules to be returned.
3349
+ # Corresponds to the JSON property `nextPageToken`
3350
+ # @return [String]
3351
+ attr_accessor :next_page_token
3352
+
3353
+ # Custom modules belonging to the requested parent.
3354
+ # Corresponds to the JSON property `securityHealthAnalyticsCustomModules`
3355
+ # @return [Array<Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV1SecurityHealthAnalyticsCustomModule>]
3356
+ attr_accessor :security_health_analytics_custom_modules
3357
+
3358
+ def initialize(**args)
3359
+ update!(**args)
3360
+ end
3361
+
3362
+ # Update properties of this object
3363
+ def update!(**args)
3364
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
3365
+ @security_health_analytics_custom_modules = args[:security_health_analytics_custom_modules] if args.key?(:security_health_analytics_custom_modules)
3366
+ end
3367
+ end
3368
+
3242
3369
  # Response message for listing sources.
3243
3370
  class ListSourcesResponse
3244
3371
  include Google::Apis::Core::Hashable
@@ -3498,26 +3625,6 @@ module Google
3498
3625
  end
3499
3626
  end
3500
3627
 
3501
- # Encapsulates data about a constraint associated with an organization policy.
3502
- class OrgPolicyConstraint
3503
- include Google::Apis::Core::Hashable
3504
-
3505
- # The resource name of the constraint. Example: "organizations/`organization_id`/
3506
- # constraints/`constraint_name`"
3507
- # Corresponds to the JSON property `name`
3508
- # @return [String]
3509
- attr_accessor :name
3510
-
3511
- def initialize(**args)
3512
- update!(**args)
3513
- end
3514
-
3515
- # Update properties of this object
3516
- def update!(**args)
3517
- @name = args[:name] if args.key?(:name)
3518
- end
3519
- end
3520
-
3521
3628
  # User specified settings that are attached to the Security Command Center
3522
3629
  # organization.
3523
3630
  class OrganizationSettings
@@ -3555,46 +3662,6 @@ module Google
3555
3662
  end
3556
3663
  end
3557
3664
 
3558
- # Represents one point that an attacker passes through in this exposure path.
3559
- class PathNode
3560
- include Google::Apis::Core::Hashable
3561
-
3562
- # The findings associated with this node in the exposure path.
3563
- # Corresponds to the JSON property `associatedFindings`
3564
- # @return [Array<Google::Apis::SecuritycenterV1::AssociatedFinding>]
3565
- attr_accessor :associated_findings
3566
-
3567
- # Human readable name of this resource.
3568
- # Corresponds to the JSON property `displayName`
3569
- # @return [String]
3570
- attr_accessor :display_name
3571
-
3572
- # The name of the resource at this point in the exposure path. The format of the
3573
- # name is: https://cloud.google.com/apis/design/resource_names#
3574
- # full_resource_name
3575
- # Corresponds to the JSON property `resource`
3576
- # @return [String]
3577
- attr_accessor :resource
3578
-
3579
- # The resource type of this resource. See: https://cloud.google.com/asset-
3580
- # inventory/docs/supported-asset-types
3581
- # Corresponds to the JSON property `resourceType`
3582
- # @return [String]
3583
- attr_accessor :resource_type
3584
-
3585
- def initialize(**args)
3586
- update!(**args)
3587
- end
3588
-
3589
- # Update properties of this object
3590
- def update!(**args)
3591
- @associated_findings = args[:associated_findings] if args.key?(:associated_findings)
3592
- @display_name = args[:display_name] if args.key?(:display_name)
3593
- @resource = args[:resource] if args.key?(:resource)
3594
- @resource_type = args[:resource_type] if args.key?(:resource_type)
3595
- end
3596
- end
3597
-
3598
3665
  # Kubernetes Pod.
3599
3666
  class Pod
3600
3667
  include Google::Apis::Core::Hashable