@@ -848,6 +848,11 @@ def update!(**args)
848848 class AzureResourceGroup
849849 include Google ::Apis ::Core ::Hashable
850850
851+ # The ID of the Azure resource group.
852+ # Corresponds to the JSON property `id`
853+ # @return [String]
854+ attr_accessor :id
855+
851856 # The name of the Azure resource group. This is not a UUID.
852857 # Corresponds to the JSON property `name`
853858 # @return [String]
@@ -859,6 +864,7 @@ def initialize(**args)
859864
860865 # Update properties of this object
861866 def update! ( **args )
867+ @id = args [ :id ] if args . key? ( :id )
862868 @name = args [ :name ] if args . key? ( :name )
863869 end
864870 end
@@ -1195,6 +1201,40 @@ def update!(**args)
11951201 end
11961202 end
11971203
1204+ # YAML-based rule that uses CEL, which supports the declaration of variables and
1205+ # a filtering predicate. A vulnerable resource is emitted if the evaluation is
1206+ # false. Given: 1) the resource types as: - resource_types: "compute.googleapis.
1207+ # com/Instance" - resource_types: "compute.googleapis.com/Firewall" 2) the CEL
1208+ # policy spec as: name: bad_instance resource_filters: - name: instance
1209+ # resource_type: compute.googleapis.com/Instance filter: > instance.status == '
1210+ # RUNNING' && 'public' in instance.tags.items - name: firewall resource_type:
1211+ # compute.googleapis.com/Firewall filter: > firewall.direction == 'INGRESS' && !
1212+ # firewall.disabled && firewall.allowed.exists(rule, rule.IPProtocol.upperAscii()
1213+ # in ['TCP', 'ALL'] && rule.ports.exists(port, network.portsInRange(port, '11-
1214+ # 256'))) rule: match: - predicate: > instance.networkInterfaces.exists(net,
1215+ # firewall.network == net.network) output: > `'message': 'Compute instance with
1216+ # publicly accessible ports', 'instance': instance.name` Users are able to join
1217+ # resource types together using the exact format as Kubernetes Validating
1218+ # Admission policies.
1219+ class CelPolicySpec
1220+ include Google ::Apis ::Core ::Hashable
1221+
1222+ # The CEL policy to evaluate to produce findings. A finding is generated when
1223+ # the policy validation evaluates to false.
1224+ # Corresponds to the JSON property `spec`
1225+ # @return [String]
1226+ attr_accessor :spec
1227+
1228+ def initialize ( **args )
1229+ update! ( **args )
1230+ end
1231+
1232+ # Update properties of this object
1233+ def update! ( **args )
1234+ @spec = args [ :spec ] if args . key? ( :spec )
1235+ end
1236+ end
1237+
11981238 # Fields related to Google Cloud Armor findings.
11991239 class CloudArmor
12001240 include Google ::Apis ::Core ::Hashable
@@ -3095,6 +3135,25 @@ def update!(**args)
30953135 class GoogleCloudSecuritycenterV1CustomConfig
30963136 include Google ::Apis ::Core ::Hashable
30973137
3138+ # YAML-based rule that uses CEL, which supports the declaration of variables and
3139+ # a filtering predicate. A vulnerable resource is emitted if the evaluation is
3140+ # false. Given: 1) the resource types as: - resource_types: "compute.googleapis.
3141+ # com/Instance" - resource_types: "compute.googleapis.com/Firewall" 2) the CEL
3142+ # policy spec as: name: bad_instance resource_filters: - name: instance
3143+ # resource_type: compute.googleapis.com/Instance filter: > instance.status == '
3144+ # RUNNING' && 'public' in instance.tags.items - name: firewall resource_type:
3145+ # compute.googleapis.com/Firewall filter: > firewall.direction == 'INGRESS' && !
3146+ # firewall.disabled && firewall.allowed.exists(rule, rule.IPProtocol.upperAscii()
3147+ # in ['TCP', 'ALL'] && rule.ports.exists(port, network.portsInRange(port, '11-
3148+ # 256'))) rule: match: - predicate: > instance.networkInterfaces.exists(net,
3149+ # firewall.network == net.network) output: > `'message': 'Compute instance with
3150+ # publicly accessible ports', 'instance': instance.name` Users are able to join
3151+ # resource types together using the exact format as Kubernetes Validating
3152+ # Admission policies.
3153+ # Corresponds to the JSON property `celPolicy`
3154+ # @return [Google::Apis::SecuritycenterV1::CelPolicySpec]
3155+ attr_accessor :cel_policy
3156+
30983157 # A set of optional name-value pairs that define custom source properties to
30993158 # return with each finding that is generated by the custom module. The custom
31003159 # source properties that are defined here are included in the finding JSON under
@@ -3153,6 +3212,7 @@ def initialize(**args)
31533212
31543213 # Update properties of this object
31553214 def update! ( **args )
3215+ @cel_policy = args [ :cel_policy ] if args . key? ( :cel_policy )
31563216 @custom_output = args [ :custom_output ] if args . key? ( :custom_output )
31573217 @description = args [ :description ] if args . key? ( :description )
31583218 @predicate = args [ :predicate ] if args . key? ( :predicate )
@@ -4671,6 +4731,11 @@ def update!(**args)
46714731 class GoogleCloudSecuritycenterV2AzureResourceGroup
46724732 include Google ::Apis ::Core ::Hashable
46734733
4734+ # The ID of the Azure resource group.
4735+ # Corresponds to the JSON property `id`
4736+ # @return [String]
4737+ attr_accessor :id
4738+
46744739 # The name of the Azure resource group. This is not a UUID.
46754740 # Corresponds to the JSON property `name`
46764741 # @return [String]
@@ -4682,6 +4747,7 @@ def initialize(**args)
46824747
46834748 # Update properties of this object
46844749 def update! ( **args )
4750+ @id = args [ :id ] if args . key? ( :id )
46854751 @name = args [ :name ] if args . key? ( :name )
46864752 end
46874753 end
0 commit comments