google-apis-policysimulator_v1 0.41.0 → 0.42.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 29f69af75faa497bda36fa0298987b11d7aa66880ec8a4349682453c8a094f69
4
- data.tar.gz: c1b8ab3ff0147dc447e6d492502053e75ac06f13ee15f7010a284c81e2457a8b
3
+ metadata.gz: d551d617de98c03e8af1a9f66eccea11eee17c0ab00e21cfe7ba66065acdfac5
4
+ data.tar.gz: eef0ef9318b29116c7a781ce8182cf386e1c432f6559a0fb38c6958755cdb92e
5
5
  SHA512:
6
- metadata.gz: 863be229cc4359506b0314cac0fb66dcc5b76e566acd7673ae981d2d06a9cc650a3f9ef8d3799640cb93dc9c7f0cc52cd76901773e57bea5575dcf3caf87fae9
7
- data.tar.gz: 0d5ffce97d5d0c5a4f2ad98207a9306546963b1bd31db19998c748c9c261d16f67bffaffacb340ae4f662e3bc9b484a3f1d581f4e716d086c36414ce3aaa843b
6
+ metadata.gz: 3fc7dece03448e6a1c8921662aa81b57f88e7bc8684832bbc3e98b2ca0a70d1a647350adfb14281b8a4c1898c3cf13510e83f67cfcfd2c87551d43b87c256a0c
7
+ data.tar.gz: d91ab797b73290fb8f1d5a864b0b6112945f4669463c92f5d5517902e4e2a4e382ff59839bea2265137455a58a57a1d3aca0c7c9572d3339fbe7ae4b4919915a
data/CHANGELOG.md CHANGED
@@ -1,5 +1,10 @@
1
1
  # Release history for google-apis-policysimulator_v1
2
2
 
3
+ ### v0.42.0 (2025-06-08)
4
+
5
+ * Regenerated from discovery document revision 20250601
6
+ * Regenerated using generator version 0.18.0
7
+
3
8
  ### v0.41.0 (2025-05-04)
4
9
 
5
10
  * Regenerated using generator version 0.17.0
@@ -22,6 +22,350 @@ module Google
22
22
  module Apis
23
23
  module PolicysimulatorV1
24
24
 
25
+ # Similar to PolicySpec but with an extra 'launch' field for launch reference.
26
+ # The PolicySpec here is specific for dry-run.
27
+ class GoogleCloudOrgpolicyV2AlternatePolicySpec
28
+ include Google::Apis::Core::Hashable
29
+
30
+ # Reference to the launch that will be used while audit logging and to control
31
+ # the launch. Should be set only in the alternate policy.
32
+ # Corresponds to the JSON property `launch`
33
+ # @return [String]
34
+ attr_accessor :launch
35
+
36
+ # Defines a Google Cloud policy specification which is used to specify
37
+ # constraints for configurations of Google Cloud resources.
38
+ # Corresponds to the JSON property `spec`
39
+ # @return [Google::Apis::PolicysimulatorV1::GoogleCloudOrgpolicyV2PolicySpec]
40
+ attr_accessor :spec
41
+
42
+ def initialize(**args)
43
+ update!(**args)
44
+ end
45
+
46
+ # Update properties of this object
47
+ def update!(**args)
48
+ @launch = args[:launch] if args.key?(:launch)
49
+ @spec = args[:spec] if args.key?(:spec)
50
+ end
51
+ end
52
+
53
+ # A custom constraint defined by customers which can *only* be applied to the
54
+ # given resource types and organization. By creating a custom constraint,
55
+ # customers can apply policies of this custom constraint. *Creating a custom
56
+ # constraint itself does NOT apply any policy enforcement*.
57
+ class GoogleCloudOrgpolicyV2CustomConstraint
58
+ include Google::Apis::Core::Hashable
59
+
60
+ # Allow or deny type.
61
+ # Corresponds to the JSON property `actionType`
62
+ # @return [String]
63
+ attr_accessor :action_type
64
+
65
+ # A Common Expression Language (CEL) condition which is used in the evaluation
66
+ # of the constraint. For example: `resource.instanceName.matches("[production|
67
+ # test]_.*_(\d)+")` or, `resource.management.auto_upgrade == true` The max
68
+ # length of the condition is 1000 characters.
69
+ # Corresponds to the JSON property `condition`
70
+ # @return [String]
71
+ attr_accessor :condition
72
+
73
+ # Detailed information about this custom policy constraint. The max length of
74
+ # the description is 2000 characters.
75
+ # Corresponds to the JSON property `description`
76
+ # @return [String]
77
+ attr_accessor :description
78
+
79
+ # One line display name for the UI. The max length of the display_name is 200
80
+ # characters.
81
+ # Corresponds to the JSON property `displayName`
82
+ # @return [String]
83
+ attr_accessor :display_name
84
+
85
+ # All the operations being applied for this constraint.
86
+ # Corresponds to the JSON property `methodTypes`
87
+ # @return [Array<String>]
88
+ attr_accessor :method_types
89
+
90
+ # Immutable. Name of the constraint. This is unique within the organization.
91
+ # Format of the name should be * `organizations/`organization_id`/
92
+ # customConstraints/`custom_constraint_id`` Example: `organizations/123/
93
+ # customConstraints/custom.createOnlyE2TypeVms` The max length is 70 characters
94
+ # and the minimum length is 1. Note that the prefix `organizations/`
95
+ # organization_id`/customConstraints/` is not counted.
96
+ # Corresponds to the JSON property `name`
97
+ # @return [String]
98
+ attr_accessor :name
99
+
100
+ # Immutable. The resource instance type on which this policy applies. Format
101
+ # will be of the form : `/` Example: * `compute.googleapis.com/Instance`.
102
+ # Corresponds to the JSON property `resourceTypes`
103
+ # @return [Array<String>]
104
+ attr_accessor :resource_types
105
+
106
+ # Output only. The last time this custom constraint was updated. This represents
107
+ # the last time that the `CreateCustomConstraint` or `UpdateCustomConstraint`
108
+ # methods were called.
109
+ # Corresponds to the JSON property `updateTime`
110
+ # @return [String]
111
+ attr_accessor :update_time
112
+
113
+ def initialize(**args)
114
+ update!(**args)
115
+ end
116
+
117
+ # Update properties of this object
118
+ def update!(**args)
119
+ @action_type = args[:action_type] if args.key?(:action_type)
120
+ @condition = args[:condition] if args.key?(:condition)
121
+ @description = args[:description] if args.key?(:description)
122
+ @display_name = args[:display_name] if args.key?(:display_name)
123
+ @method_types = args[:method_types] if args.key?(:method_types)
124
+ @name = args[:name] if args.key?(:name)
125
+ @resource_types = args[:resource_types] if args.key?(:resource_types)
126
+ @update_time = args[:update_time] if args.key?(:update_time)
127
+ end
128
+ end
129
+
130
+ # Defines an organization policy which is used to specify constraints for
131
+ # configurations of Google Cloud resources.
132
+ class GoogleCloudOrgpolicyV2Policy
133
+ include Google::Apis::Core::Hashable
134
+
135
+ # Similar to PolicySpec but with an extra 'launch' field for launch reference.
136
+ # The PolicySpec here is specific for dry-run.
137
+ # Corresponds to the JSON property `alternate`
138
+ # @return [Google::Apis::PolicysimulatorV1::GoogleCloudOrgpolicyV2AlternatePolicySpec]
139
+ attr_accessor :alternate
140
+
141
+ # Defines a Google Cloud policy specification which is used to specify
142
+ # constraints for configurations of Google Cloud resources.
143
+ # Corresponds to the JSON property `dryRunSpec`
144
+ # @return [Google::Apis::PolicysimulatorV1::GoogleCloudOrgpolicyV2PolicySpec]
145
+ attr_accessor :dry_run_spec
146
+
147
+ # Optional. An opaque tag indicating the current state of the policy, used for
148
+ # concurrency control. This 'etag' is computed by the server based on the value
149
+ # of other fields, and may be sent on update and delete requests to ensure the
150
+ # client has an up-to-date value before proceeding.
151
+ # Corresponds to the JSON property `etag`
152
+ # @return [String]
153
+ attr_accessor :etag
154
+
155
+ # Immutable. The resource name of the policy. Must be one of the following forms,
156
+ # where `constraint_name` is the name of the constraint which this policy
157
+ # configures: * `projects/`project_number`/policies/`constraint_name`` * `
158
+ # folders/`folder_id`/policies/`constraint_name`` * `organizations/`
159
+ # organization_id`/policies/`constraint_name`` For example, `projects/123/
160
+ # policies/compute.disableSerialPortAccess`. Note: `projects/`project_id`/
161
+ # policies/`constraint_name`` is also an acceptable name for API requests, but
162
+ # responses will return the name using the equivalent project number.
163
+ # Corresponds to the JSON property `name`
164
+ # @return [String]
165
+ attr_accessor :name
166
+
167
+ # Defines a Google Cloud policy specification which is used to specify
168
+ # constraints for configurations of Google Cloud resources.
169
+ # Corresponds to the JSON property `spec`
170
+ # @return [Google::Apis::PolicysimulatorV1::GoogleCloudOrgpolicyV2PolicySpec]
171
+ attr_accessor :spec
172
+
173
+ def initialize(**args)
174
+ update!(**args)
175
+ end
176
+
177
+ # Update properties of this object
178
+ def update!(**args)
179
+ @alternate = args[:alternate] if args.key?(:alternate)
180
+ @dry_run_spec = args[:dry_run_spec] if args.key?(:dry_run_spec)
181
+ @etag = args[:etag] if args.key?(:etag)
182
+ @name = args[:name] if args.key?(:name)
183
+ @spec = args[:spec] if args.key?(:spec)
184
+ end
185
+ end
186
+
187
+ # Defines a Google Cloud policy specification which is used to specify
188
+ # constraints for configurations of Google Cloud resources.
189
+ class GoogleCloudOrgpolicyV2PolicySpec
190
+ include Google::Apis::Core::Hashable
191
+
192
+ # An opaque tag indicating the current version of the policySpec, used for
193
+ # concurrency control. This field is ignored if used in a `CreatePolicy` request.
194
+ # When the policy is returned from either a `GetPolicy` or a `ListPolicies`
195
+ # request, this `etag` indicates the version of the current policySpec to use
196
+ # when executing a read-modify-write loop. When the policy is returned from a `
197
+ # GetEffectivePolicy` request, the `etag` will be unset.
198
+ # Corresponds to the JSON property `etag`
199
+ # @return [String]
200
+ attr_accessor :etag
201
+
202
+ # Determines the inheritance behavior for this policy. If `inherit_from_parent`
203
+ # is true, policy rules set higher up in the hierarchy (up to the closest root)
204
+ # are inherited and present in the effective policy. If it is false, then no
205
+ # rules are inherited, and this policy becomes the new root for evaluation. This
206
+ # field can be set only for policies which configure list constraints.
207
+ # Corresponds to the JSON property `inheritFromParent`
208
+ # @return [Boolean]
209
+ attr_accessor :inherit_from_parent
210
+ alias_method :inherit_from_parent?, :inherit_from_parent
211
+
212
+ # Ignores policies set above this resource and restores the `constraint_default`
213
+ # enforcement behavior of the specific constraint at this resource. This field
214
+ # can be set in policies for either list or boolean constraints. If set, `rules`
215
+ # must be empty and `inherit_from_parent` must be set to false.
216
+ # Corresponds to the JSON property `reset`
217
+ # @return [Boolean]
218
+ attr_accessor :reset
219
+ alias_method :reset?, :reset
220
+
221
+ # In policies for boolean constraints, the following requirements apply: - There
222
+ # must be one and only one policy rule where condition is unset. - Boolean
223
+ # policy rules with conditions must set `enforced` to the opposite of the policy
224
+ # rule without a condition. - During policy evaluation, policy rules with
225
+ # conditions that are true for a target resource take precedence.
226
+ # Corresponds to the JSON property `rules`
227
+ # @return [Array<Google::Apis::PolicysimulatorV1::GoogleCloudOrgpolicyV2PolicySpecPolicyRule>]
228
+ attr_accessor :rules
229
+
230
+ # Output only. The time stamp this was previously updated. This represents the
231
+ # last time a call to `CreatePolicy` or `UpdatePolicy` was made for that policy.
232
+ # Corresponds to the JSON property `updateTime`
233
+ # @return [String]
234
+ attr_accessor :update_time
235
+
236
+ def initialize(**args)
237
+ update!(**args)
238
+ end
239
+
240
+ # Update properties of this object
241
+ def update!(**args)
242
+ @etag = args[:etag] if args.key?(:etag)
243
+ @inherit_from_parent = args[:inherit_from_parent] if args.key?(:inherit_from_parent)
244
+ @reset = args[:reset] if args.key?(:reset)
245
+ @rules = args[:rules] if args.key?(:rules)
246
+ @update_time = args[:update_time] if args.key?(:update_time)
247
+ end
248
+ end
249
+
250
+ # A rule used to express this policy.
251
+ class GoogleCloudOrgpolicyV2PolicySpecPolicyRule
252
+ include Google::Apis::Core::Hashable
253
+
254
+ # Setting this to true means that all values are allowed. This field can be set
255
+ # only in policies for list constraints.
256
+ # Corresponds to the JSON property `allowAll`
257
+ # @return [Boolean]
258
+ attr_accessor :allow_all
259
+ alias_method :allow_all?, :allow_all
260
+
261
+ # Represents a textual expression in the Common Expression Language (CEL) syntax.
262
+ # CEL is a C-like expression language. The syntax and semantics of CEL are
263
+ # documented at https://github.com/google/cel-spec. Example (Comparison): title:
264
+ # "Summary size limit" description: "Determines if a summary is less than 100
265
+ # chars" expression: "document.summary.size() < 100" Example (Equality): title: "
266
+ # Requestor is owner" description: "Determines if requestor is the document
267
+ # owner" expression: "document.owner == request.auth.claims.email" Example (
268
+ # Logic): title: "Public documents" description: "Determine whether the document
269
+ # should be publicly visible" expression: "document.type != 'private' &&
270
+ # document.type != 'internal'" Example (Data Manipulation): title: "Notification
271
+ # string" description: "Create a notification string with a timestamp."
272
+ # expression: "'New message received at ' + string(document.create_time)" The
273
+ # exact variables and functions that may be referenced within an expression are
274
+ # determined by the service that evaluates it. See the service documentation for
275
+ # additional information.
276
+ # Corresponds to the JSON property `condition`
277
+ # @return [Google::Apis::PolicysimulatorV1::GoogleTypeExpr]
278
+ attr_accessor :condition
279
+
280
+ # Setting this to true means that all values are denied. This field can be set
281
+ # only in policies for list constraints.
282
+ # Corresponds to the JSON property `denyAll`
283
+ # @return [Boolean]
284
+ attr_accessor :deny_all
285
+ alias_method :deny_all?, :deny_all
286
+
287
+ # If `true`, then the policy is enforced. If `false`, then any configuration is
288
+ # acceptable. This field can be set only in policies for boolean constraints.
289
+ # Corresponds to the JSON property `enforce`
290
+ # @return [Boolean]
291
+ attr_accessor :enforce
292
+ alias_method :enforce?, :enforce
293
+
294
+ # Optional. Required for managed constraints if parameters are defined. Passes
295
+ # parameter values when policy enforcement is enabled. Ensure that parameter
296
+ # value types match those defined in the constraint definition. For example: ` "
297
+ # allowedLocations" : ["us-east1", "us-west1"], "allowAll" : true `
298
+ # Corresponds to the JSON property `parameters`
299
+ # @return [Hash<String,Object>]
300
+ attr_accessor :parameters
301
+
302
+ # A message that holds specific allowed and denied values. This message can
303
+ # define specific values and subtrees of the Resource Manager resource hierarchy
304
+ # (`Organizations`, `Folders`, `Projects`) that are allowed or denied. This is
305
+ # achieved by using the `under:` and optional `is:` prefixes. The `under:`
306
+ # prefix is used to denote resource subtree values. The `is:` prefix is used to
307
+ # denote specific values, and is required only if the value contains a ":".
308
+ # Values prefixed with "is:" are treated the same as values with no prefix.
309
+ # Ancestry subtrees must be in one of the following formats: - `projects/` (for
310
+ # example, `projects/tokyo-rain-123`) - `folders/` (for example, `folders/1234`)
311
+ # - `organizations/` (for example, `organizations/1234`) The `supports_under`
312
+ # field of the associated `Constraint` defines whether ancestry prefixes can be
313
+ # used.
314
+ # Corresponds to the JSON property `values`
315
+ # @return [Google::Apis::PolicysimulatorV1::GoogleCloudOrgpolicyV2PolicySpecPolicyRuleStringValues]
316
+ attr_accessor :values
317
+
318
+ def initialize(**args)
319
+ update!(**args)
320
+ end
321
+
322
+ # Update properties of this object
323
+ def update!(**args)
324
+ @allow_all = args[:allow_all] if args.key?(:allow_all)
325
+ @condition = args[:condition] if args.key?(:condition)
326
+ @deny_all = args[:deny_all] if args.key?(:deny_all)
327
+ @enforce = args[:enforce] if args.key?(:enforce)
328
+ @parameters = args[:parameters] if args.key?(:parameters)
329
+ @values = args[:values] if args.key?(:values)
330
+ end
331
+ end
332
+
333
+ # A message that holds specific allowed and denied values. This message can
334
+ # define specific values and subtrees of the Resource Manager resource hierarchy
335
+ # (`Organizations`, `Folders`, `Projects`) that are allowed or denied. This is
336
+ # achieved by using the `under:` and optional `is:` prefixes. The `under:`
337
+ # prefix is used to denote resource subtree values. The `is:` prefix is used to
338
+ # denote specific values, and is required only if the value contains a ":".
339
+ # Values prefixed with "is:" are treated the same as values with no prefix.
340
+ # Ancestry subtrees must be in one of the following formats: - `projects/` (for
341
+ # example, `projects/tokyo-rain-123`) - `folders/` (for example, `folders/1234`)
342
+ # - `organizations/` (for example, `organizations/1234`) The `supports_under`
343
+ # field of the associated `Constraint` defines whether ancestry prefixes can be
344
+ # used.
345
+ class GoogleCloudOrgpolicyV2PolicySpecPolicyRuleStringValues
346
+ include Google::Apis::Core::Hashable
347
+
348
+ # List of values allowed at this resource.
349
+ # Corresponds to the JSON property `allowedValues`
350
+ # @return [Array<String>]
351
+ attr_accessor :allowed_values
352
+
353
+ # List of values denied at this resource.
354
+ # Corresponds to the JSON property `deniedValues`
355
+ # @return [Array<String>]
356
+ attr_accessor :denied_values
357
+
358
+ def initialize(**args)
359
+ update!(**args)
360
+ end
361
+
362
+ # Update properties of this object
363
+ def update!(**args)
364
+ @allowed_values = args[:allowed_values] if args.key?(:allowed_values)
365
+ @denied_values = args[:denied_values] if args.key?(:denied_values)
366
+ end
367
+ end
368
+
25
369
  # A summary and comparison of the principal's access under the current (baseline)
26
370
  # policies and the proposed (simulated) policies for a single access tuple.
27
371
  class GoogleCloudPolicysimulatorV1AccessStateDiff
@@ -336,6 +680,60 @@ module Google
336
680
  end
337
681
  end
338
682
 
683
+ # ListOrgPolicyViolationsPreviewsResponse is the response message for
684
+ # OrgPolicyViolationsPreviewService.ListOrgPolicyViolationsPreviews.
685
+ class GoogleCloudPolicysimulatorV1ListOrgPolicyViolationsPreviewsResponse
686
+ include Google::Apis::Core::Hashable
687
+
688
+ # A token that you can use to retrieve the next page of results. If this field
689
+ # is omitted, there are no subsequent pages.
690
+ # Corresponds to the JSON property `nextPageToken`
691
+ # @return [String]
692
+ attr_accessor :next_page_token
693
+
694
+ # The list of OrgPolicyViolationsPreview
695
+ # Corresponds to the JSON property `orgPolicyViolationsPreviews`
696
+ # @return [Array<Google::Apis::PolicysimulatorV1::GoogleCloudPolicysimulatorV1OrgPolicyViolationsPreview>]
697
+ attr_accessor :org_policy_violations_previews
698
+
699
+ def initialize(**args)
700
+ update!(**args)
701
+ end
702
+
703
+ # Update properties of this object
704
+ def update!(**args)
705
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
706
+ @org_policy_violations_previews = args[:org_policy_violations_previews] if args.key?(:org_policy_violations_previews)
707
+ end
708
+ end
709
+
710
+ # ListOrgPolicyViolationsResponse is the response message for
711
+ # OrgPolicyViolationsPreviewService.ListOrgPolicyViolations
712
+ class GoogleCloudPolicysimulatorV1ListOrgPolicyViolationsResponse
713
+ include Google::Apis::Core::Hashable
714
+
715
+ # A token that you can use to retrieve the next page of results. If this field
716
+ # is omitted, there are no subsequent pages.
717
+ # Corresponds to the JSON property `nextPageToken`
718
+ # @return [String]
719
+ attr_accessor :next_page_token
720
+
721
+ # The list of OrgPolicyViolations
722
+ # Corresponds to the JSON property `orgPolicyViolations`
723
+ # @return [Array<Google::Apis::PolicysimulatorV1::GoogleCloudPolicysimulatorV1OrgPolicyViolation>]
724
+ attr_accessor :org_policy_violations
725
+
726
+ def initialize(**args)
727
+ update!(**args)
728
+ end
729
+
730
+ # Update properties of this object
731
+ def update!(**args)
732
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
733
+ @org_policy_violations = args[:org_policy_violations] if args.key?(:org_policy_violations)
734
+ end
735
+ end
736
+
339
737
  # Response message for Simulator.ListReplayResults.
340
738
  class GoogleCloudPolicysimulatorV1ListReplayResultsResponse
341
739
  include Google::Apis::Core::Hashable
@@ -362,6 +760,266 @@ module Google
362
760
  end
363
761
  end
364
762
 
763
+ # The proposed changes to OrgPolicy.
764
+ class GoogleCloudPolicysimulatorV1OrgPolicyOverlay
765
+ include Google::Apis::Core::Hashable
766
+
767
+ # Optional. The OrgPolicy CustomConstraint changes to preview violations for.
768
+ # Any existing CustomConstraints with the same name will be overridden in the
769
+ # simulation. That is, violations will be determined as if all custom
770
+ # constraints in the overlay were instantiated. Only a single custom_constraint
771
+ # is supported in the overlay at a time. For evaluating multiple constraints,
772
+ # multiple `GenerateOrgPolicyViolationsPreview` requests are made, where each
773
+ # request evaluates a single constraint.
774
+ # Corresponds to the JSON property `customConstraints`
775
+ # @return [Array<Google::Apis::PolicysimulatorV1::GoogleCloudPolicysimulatorV1OrgPolicyOverlayCustomConstraintOverlay>]
776
+ attr_accessor :custom_constraints
777
+
778
+ # Optional. The OrgPolicy changes to preview violations for. Any existing
779
+ # OrgPolicies with the same name will be overridden in the simulation. That is,
780
+ # violations will be determined as if all policies in the overlay were created
781
+ # or updated.
782
+ # Corresponds to the JSON property `policies`
783
+ # @return [Array<Google::Apis::PolicysimulatorV1::GoogleCloudPolicysimulatorV1OrgPolicyOverlayPolicyOverlay>]
784
+ attr_accessor :policies
785
+
786
+ def initialize(**args)
787
+ update!(**args)
788
+ end
789
+
790
+ # Update properties of this object
791
+ def update!(**args)
792
+ @custom_constraints = args[:custom_constraints] if args.key?(:custom_constraints)
793
+ @policies = args[:policies] if args.key?(:policies)
794
+ end
795
+ end
796
+
797
+ # A change to an OrgPolicy custom constraint.
798
+ class GoogleCloudPolicysimulatorV1OrgPolicyOverlayCustomConstraintOverlay
799
+ include Google::Apis::Core::Hashable
800
+
801
+ # A custom constraint defined by customers which can *only* be applied to the
802
+ # given resource types and organization. By creating a custom constraint,
803
+ # customers can apply policies of this custom constraint. *Creating a custom
804
+ # constraint itself does NOT apply any policy enforcement*.
805
+ # Corresponds to the JSON property `customConstraint`
806
+ # @return [Google::Apis::PolicysimulatorV1::GoogleCloudOrgpolicyV2CustomConstraint]
807
+ attr_accessor :custom_constraint
808
+
809
+ # Optional. Resource the constraint is attached to. Example: "organization/
810
+ # 987654"
811
+ # Corresponds to the JSON property `customConstraintParent`
812
+ # @return [String]
813
+ attr_accessor :custom_constraint_parent
814
+
815
+ def initialize(**args)
816
+ update!(**args)
817
+ end
818
+
819
+ # Update properties of this object
820
+ def update!(**args)
821
+ @custom_constraint = args[:custom_constraint] if args.key?(:custom_constraint)
822
+ @custom_constraint_parent = args[:custom_constraint_parent] if args.key?(:custom_constraint_parent)
823
+ end
824
+ end
825
+
826
+ # A change to an OrgPolicy.
827
+ class GoogleCloudPolicysimulatorV1OrgPolicyOverlayPolicyOverlay
828
+ include Google::Apis::Core::Hashable
829
+
830
+ # Defines an organization policy which is used to specify constraints for
831
+ # configurations of Google Cloud resources.
832
+ # Corresponds to the JSON property `policy`
833
+ # @return [Google::Apis::PolicysimulatorV1::GoogleCloudOrgpolicyV2Policy]
834
+ attr_accessor :policy
835
+
836
+ # Optional. The parent of the policy we are attaching to. Example: "projects/
837
+ # 123456"
838
+ # Corresponds to the JSON property `policyParent`
839
+ # @return [String]
840
+ attr_accessor :policy_parent
841
+
842
+ def initialize(**args)
843
+ update!(**args)
844
+ end
845
+
846
+ # Update properties of this object
847
+ def update!(**args)
848
+ @policy = args[:policy] if args.key?(:policy)
849
+ @policy_parent = args[:policy_parent] if args.key?(:policy_parent)
850
+ end
851
+ end
852
+
853
+ # OrgPolicyViolation is a resource representing a single resource violating a
854
+ # single OrgPolicy constraint.
855
+ class GoogleCloudPolicysimulatorV1OrgPolicyViolation
856
+ include Google::Apis::Core::Hashable
857
+
858
+ # A custom constraint defined by customers which can *only* be applied to the
859
+ # given resource types and organization. By creating a custom constraint,
860
+ # customers can apply policies of this custom constraint. *Creating a custom
861
+ # constraint itself does NOT apply any policy enforcement*.
862
+ # Corresponds to the JSON property `customConstraint`
863
+ # @return [Google::Apis::PolicysimulatorV1::GoogleCloudOrgpolicyV2CustomConstraint]
864
+ attr_accessor :custom_constraint
865
+
866
+ # The `Status` type defines a logical error model that is suitable for different
867
+ # programming environments, including REST APIs and RPC APIs. It is used by [
868
+ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
869
+ # data: error code, error message, and error details. You can find out more
870
+ # about this error model and how to work with it in the [API Design Guide](https:
871
+ # //cloud.google.com/apis/design/errors).
872
+ # Corresponds to the JSON property `error`
873
+ # @return [Google::Apis::PolicysimulatorV1::GoogleRpcStatus]
874
+ attr_accessor :error
875
+
876
+ # The name of the `OrgPolicyViolation`. Example: organizations/my-example-org/
877
+ # locations/global/orgPolicyViolationsPreviews/506a5f7f/orgPolicyViolations/38ce`
878
+ # Corresponds to the JSON property `name`
879
+ # @return [String]
880
+ attr_accessor :name
881
+
882
+ # ResourceContext provides the context we know about a resource. It is similar
883
+ # in concept to google.cloud.asset.v1.Resource, but focuses on the information
884
+ # specifically used by Simulator.
885
+ # Corresponds to the JSON property `resource`
886
+ # @return [Google::Apis::PolicysimulatorV1::GoogleCloudPolicysimulatorV1ResourceContext]
887
+ attr_accessor :resource
888
+
889
+ def initialize(**args)
890
+ update!(**args)
891
+ end
892
+
893
+ # Update properties of this object
894
+ def update!(**args)
895
+ @custom_constraint = args[:custom_constraint] if args.key?(:custom_constraint)
896
+ @error = args[:error] if args.key?(:error)
897
+ @name = args[:name] if args.key?(:name)
898
+ @resource = args[:resource] if args.key?(:resource)
899
+ end
900
+ end
901
+
902
+ # OrgPolicyViolationsPreview is a resource providing a preview of the violations
903
+ # that will exist if an OrgPolicy change is made. The list of violations are
904
+ # modeled as child resources and retrieved via a ListOrgPolicyViolations API
905
+ # call. There are potentially more OrgPolicyViolations than could fit in an
906
+ # embedded field. Thus, the use of a child resource instead of a field.
907
+ class GoogleCloudPolicysimulatorV1OrgPolicyViolationsPreview
908
+ include Google::Apis::Core::Hashable
909
+
910
+ # Output only. Time when this `OrgPolicyViolationsPreview` was created.
911
+ # Corresponds to the JSON property `createTime`
912
+ # @return [String]
913
+ attr_accessor :create_time
914
+
915
+ # Output only. The names of the constraints against which all `
916
+ # OrgPolicyViolations` were evaluated. If `OrgPolicyOverlay` only contains `
917
+ # PolicyOverlay` then it contains the name of the configured custom constraint,
918
+ # applicable to the specified policies. Otherwise it contains the name of the
919
+ # constraint specified in `CustomConstraintOverlay`. Format: `organizations/`
920
+ # organization_id`/customConstraints/`custom_constraint_id`` Example: `
921
+ # organizations/123/customConstraints/custom.createOnlyE2TypeVms`
922
+ # Corresponds to the JSON property `customConstraints`
923
+ # @return [Array<String>]
924
+ attr_accessor :custom_constraints
925
+
926
+ # Output only. The resource name of the `OrgPolicyViolationsPreview`. It has the
927
+ # following format: `organizations/`organization`/locations/`location`/
928
+ # orgPolicyViolationsPreviews/`orgPolicyViolationsPreview`` Example: `
929
+ # organizations/my-example-org/locations/global/orgPolicyViolationsPreviews/
930
+ # 506a5f7f`
931
+ # Corresponds to the JSON property `name`
932
+ # @return [String]
933
+ attr_accessor :name
934
+
935
+ # The proposed changes to OrgPolicy.
936
+ # Corresponds to the JSON property `overlay`
937
+ # @return [Google::Apis::PolicysimulatorV1::GoogleCloudPolicysimulatorV1OrgPolicyOverlay]
938
+ attr_accessor :overlay
939
+
940
+ # A summary of the state of all resources scanned for compliance with the
941
+ # changed OrgPolicy.
942
+ # Corresponds to the JSON property `resourceCounts`
943
+ # @return [Google::Apis::PolicysimulatorV1::GoogleCloudPolicysimulatorV1OrgPolicyViolationsPreviewResourceCounts]
944
+ attr_accessor :resource_counts
945
+
946
+ # Output only. The state of the `OrgPolicyViolationsPreview`.
947
+ # Corresponds to the JSON property `state`
948
+ # @return [String]
949
+ attr_accessor :state
950
+
951
+ # Output only. The number of OrgPolicyViolations in this `
952
+ # OrgPolicyViolationsPreview`. This count may differ from `resource_summary.
953
+ # noncompliant_count` because each OrgPolicyViolation is specific to a resource *
954
+ # *and** constraint. If there are multiple constraints being evaluated (i.e.
955
+ # multiple policies in the overlay), a single resource may violate multiple
956
+ # constraints.
957
+ # Corresponds to the JSON property `violationsCount`
958
+ # @return [Fixnum]
959
+ attr_accessor :violations_count
960
+
961
+ def initialize(**args)
962
+ update!(**args)
963
+ end
964
+
965
+ # Update properties of this object
966
+ def update!(**args)
967
+ @create_time = args[:create_time] if args.key?(:create_time)
968
+ @custom_constraints = args[:custom_constraints] if args.key?(:custom_constraints)
969
+ @name = args[:name] if args.key?(:name)
970
+ @overlay = args[:overlay] if args.key?(:overlay)
971
+ @resource_counts = args[:resource_counts] if args.key?(:resource_counts)
972
+ @state = args[:state] if args.key?(:state)
973
+ @violations_count = args[:violations_count] if args.key?(:violations_count)
974
+ end
975
+ end
976
+
977
+ # A summary of the state of all resources scanned for compliance with the
978
+ # changed OrgPolicy.
979
+ class GoogleCloudPolicysimulatorV1OrgPolicyViolationsPreviewResourceCounts
980
+ include Google::Apis::Core::Hashable
981
+
982
+ # Output only. Number of scanned resources with zero violations.
983
+ # Corresponds to the JSON property `compliant`
984
+ # @return [Fixnum]
985
+ attr_accessor :compliant
986
+
987
+ # Output only. Number of resources that returned an error when scanned.
988
+ # Corresponds to the JSON property `errors`
989
+ # @return [Fixnum]
990
+ attr_accessor :errors
991
+
992
+ # Output only. Number of scanned resources with at least one violation.
993
+ # Corresponds to the JSON property `noncompliant`
994
+ # @return [Fixnum]
995
+ attr_accessor :noncompliant
996
+
997
+ # Output only. Number of resources checked for compliance. Must equal:
998
+ # unenforced + noncompliant + compliant + error
999
+ # Corresponds to the JSON property `scanned`
1000
+ # @return [Fixnum]
1001
+ attr_accessor :scanned
1002
+
1003
+ # Output only. Number of resources where the constraint was not enforced, i.e.
1004
+ # the Policy set `enforced: false` for that resource.
1005
+ # Corresponds to the JSON property `unenforced`
1006
+ # @return [Fixnum]
1007
+ attr_accessor :unenforced
1008
+
1009
+ def initialize(**args)
1010
+ update!(**args)
1011
+ end
1012
+
1013
+ # Update properties of this object
1014
+ def update!(**args)
1015
+ @compliant = args[:compliant] if args.key?(:compliant)
1016
+ @errors = args[:errors] if args.key?(:errors)
1017
+ @noncompliant = args[:noncompliant] if args.key?(:noncompliant)
1018
+ @scanned = args[:scanned] if args.key?(:scanned)
1019
+ @unenforced = args[:unenforced] if args.key?(:unenforced)
1020
+ end
1021
+ end
1022
+
365
1023
  # A resource describing a `Replay`, or simulation.
366
1024
  class GoogleCloudPolicysimulatorV1Replay
367
1025
  include Google::Apis::Core::Hashable
@@ -612,6 +1270,49 @@ module Google
612
1270
  end
613
1271
  end
614
1272
 
1273
+ # ResourceContext provides the context we know about a resource. It is similar
1274
+ # in concept to google.cloud.asset.v1.Resource, but focuses on the information
1275
+ # specifically used by Simulator.
1276
+ class GoogleCloudPolicysimulatorV1ResourceContext
1277
+ include Google::Apis::Core::Hashable
1278
+
1279
+ # The ancestry path of the resource in Google Cloud [resource hierarchy](https://
1280
+ # cloud.google.com/resource-manager/docs/cloud-platform-resource-hierarchy),
1281
+ # represented as a list of relative resource names. An ancestry path starts with
1282
+ # the closest ancestor in the hierarchy and ends at root. If the resource is a
1283
+ # project, folder, or organization, the ancestry path starts from the resource
1284
+ # itself. Example: `["projects/123456789", "folders/5432", "organizations/1234"]`
1285
+ # Corresponds to the JSON property `ancestors`
1286
+ # @return [Array<String>]
1287
+ attr_accessor :ancestors
1288
+
1289
+ # The asset type of the resource as defined by CAIS. Example: `compute.
1290
+ # googleapis.com/Firewall` See [Supported asset types](https://cloud.google.com/
1291
+ # asset-inventory/docs/supported-asset-types) for more information.
1292
+ # Corresponds to the JSON property `assetType`
1293
+ # @return [String]
1294
+ attr_accessor :asset_type
1295
+
1296
+ # The full name of the resource. Example: `//compute.googleapis.com/projects/
1297
+ # my_project_123/zones/zone1/instances/instance1` See [Resource names](https://
1298
+ # cloud.google.com/apis/design/resource_names#full_resource_name) for more
1299
+ # information.
1300
+ # Corresponds to the JSON property `resource`
1301
+ # @return [String]
1302
+ attr_accessor :resource
1303
+
1304
+ def initialize(**args)
1305
+ update!(**args)
1306
+ end
1307
+
1308
+ # Update properties of this object
1309
+ def update!(**args)
1310
+ @ancestors = args[:ancestors] if args.key?(:ancestors)
1311
+ @asset_type = args[:asset_type] if args.key?(:asset_type)
1312
+ @resource = args[:resource] if args.key?(:resource)
1313
+ end
1314
+ end
1315
+
615
1316
  # Specifies the audit configuration for a service. The configuration determines
616
1317
  # which permission types are logged, and what identities, if any, are exempted
617
1318
  # from logging. An AuditConfig must have one or more AuditLogConfigs. If there
@@ -16,13 +16,13 @@ module Google
16
16
  module Apis
17
17
  module PolicysimulatorV1
18
18
  # Version of the google-apis-policysimulator_v1 gem
19
- GEM_VERSION = "0.41.0"
19
+ GEM_VERSION = "0.42.0"
20
20
 
21
21
  # Version of the code generator used to generate this client
22
- GENERATOR_VERSION = "0.17.0"
22
+ GENERATOR_VERSION = "0.18.0"
23
23
 
24
24
  # Revision of the discovery document this client was generated from
25
- REVISION = "20250323"
25
+ REVISION = "20250601"
26
26
  end
27
27
  end
28
28
  end
@@ -22,6 +22,42 @@ module Google
22
22
  module Apis
23
23
  module PolicysimulatorV1
24
24
 
25
+ class GoogleCloudOrgpolicyV2AlternatePolicySpec
26
+ class Representation < Google::Apis::Core::JsonRepresentation; end
27
+
28
+ include Google::Apis::Core::JsonObjectSupport
29
+ end
30
+
31
+ class GoogleCloudOrgpolicyV2CustomConstraint
32
+ class Representation < Google::Apis::Core::JsonRepresentation; end
33
+
34
+ include Google::Apis::Core::JsonObjectSupport
35
+ end
36
+
37
+ class GoogleCloudOrgpolicyV2Policy
38
+ class Representation < Google::Apis::Core::JsonRepresentation; end
39
+
40
+ include Google::Apis::Core::JsonObjectSupport
41
+ end
42
+
43
+ class GoogleCloudOrgpolicyV2PolicySpec
44
+ class Representation < Google::Apis::Core::JsonRepresentation; end
45
+
46
+ include Google::Apis::Core::JsonObjectSupport
47
+ end
48
+
49
+ class GoogleCloudOrgpolicyV2PolicySpecPolicyRule
50
+ class Representation < Google::Apis::Core::JsonRepresentation; end
51
+
52
+ include Google::Apis::Core::JsonObjectSupport
53
+ end
54
+
55
+ class GoogleCloudOrgpolicyV2PolicySpecPolicyRuleStringValues
56
+ class Representation < Google::Apis::Core::JsonRepresentation; end
57
+
58
+ include Google::Apis::Core::JsonObjectSupport
59
+ end
60
+
25
61
  class GoogleCloudPolicysimulatorV1AccessStateDiff
26
62
  class Representation < Google::Apis::Core::JsonRepresentation; end
27
63
 
@@ -58,12 +94,60 @@ module Google
58
94
  include Google::Apis::Core::JsonObjectSupport
59
95
  end
60
96
 
97
+ class GoogleCloudPolicysimulatorV1ListOrgPolicyViolationsPreviewsResponse
98
+ class Representation < Google::Apis::Core::JsonRepresentation; end
99
+
100
+ include Google::Apis::Core::JsonObjectSupport
101
+ end
102
+
103
+ class GoogleCloudPolicysimulatorV1ListOrgPolicyViolationsResponse
104
+ class Representation < Google::Apis::Core::JsonRepresentation; end
105
+
106
+ include Google::Apis::Core::JsonObjectSupport
107
+ end
108
+
61
109
  class GoogleCloudPolicysimulatorV1ListReplayResultsResponse
62
110
  class Representation < Google::Apis::Core::JsonRepresentation; end
63
111
 
64
112
  include Google::Apis::Core::JsonObjectSupport
65
113
  end
66
114
 
115
+ class GoogleCloudPolicysimulatorV1OrgPolicyOverlay
116
+ class Representation < Google::Apis::Core::JsonRepresentation; end
117
+
118
+ include Google::Apis::Core::JsonObjectSupport
119
+ end
120
+
121
+ class GoogleCloudPolicysimulatorV1OrgPolicyOverlayCustomConstraintOverlay
122
+ class Representation < Google::Apis::Core::JsonRepresentation; end
123
+
124
+ include Google::Apis::Core::JsonObjectSupport
125
+ end
126
+
127
+ class GoogleCloudPolicysimulatorV1OrgPolicyOverlayPolicyOverlay
128
+ class Representation < Google::Apis::Core::JsonRepresentation; end
129
+
130
+ include Google::Apis::Core::JsonObjectSupport
131
+ end
132
+
133
+ class GoogleCloudPolicysimulatorV1OrgPolicyViolation
134
+ class Representation < Google::Apis::Core::JsonRepresentation; end
135
+
136
+ include Google::Apis::Core::JsonObjectSupport
137
+ end
138
+
139
+ class GoogleCloudPolicysimulatorV1OrgPolicyViolationsPreview
140
+ class Representation < Google::Apis::Core::JsonRepresentation; end
141
+
142
+ include Google::Apis::Core::JsonObjectSupport
143
+ end
144
+
145
+ class GoogleCloudPolicysimulatorV1OrgPolicyViolationsPreviewResourceCounts
146
+ class Representation < Google::Apis::Core::JsonRepresentation; end
147
+
148
+ include Google::Apis::Core::JsonObjectSupport
149
+ end
150
+
67
151
  class GoogleCloudPolicysimulatorV1Replay
68
152
  class Representation < Google::Apis::Core::JsonRepresentation; end
69
153
 
@@ -100,6 +184,12 @@ module Google
100
184
  include Google::Apis::Core::JsonObjectSupport
101
185
  end
102
186
 
187
+ class GoogleCloudPolicysimulatorV1ResourceContext
188
+ class Representation < Google::Apis::Core::JsonRepresentation; end
189
+
190
+ include Google::Apis::Core::JsonObjectSupport
191
+ end
192
+
103
193
  class GoogleIamV1AuditConfig
104
194
  class Representation < Google::Apis::Core::JsonRepresentation; end
105
195
 
@@ -154,6 +244,77 @@ module Google
154
244
  include Google::Apis::Core::JsonObjectSupport
155
245
  end
156
246
 
247
+ class GoogleCloudOrgpolicyV2AlternatePolicySpec
248
+ # @private
249
+ class Representation < Google::Apis::Core::JsonRepresentation
250
+ property :launch, as: 'launch'
251
+ property :spec, as: 'spec', class: Google::Apis::PolicysimulatorV1::GoogleCloudOrgpolicyV2PolicySpec, decorator: Google::Apis::PolicysimulatorV1::GoogleCloudOrgpolicyV2PolicySpec::Representation
252
+
253
+ end
254
+ end
255
+
256
+ class GoogleCloudOrgpolicyV2CustomConstraint
257
+ # @private
258
+ class Representation < Google::Apis::Core::JsonRepresentation
259
+ property :action_type, as: 'actionType'
260
+ property :condition, as: 'condition'
261
+ property :description, as: 'description'
262
+ property :display_name, as: 'displayName'
263
+ collection :method_types, as: 'methodTypes'
264
+ property :name, as: 'name'
265
+ collection :resource_types, as: 'resourceTypes'
266
+ property :update_time, as: 'updateTime'
267
+ end
268
+ end
269
+
270
+ class GoogleCloudOrgpolicyV2Policy
271
+ # @private
272
+ class Representation < Google::Apis::Core::JsonRepresentation
273
+ property :alternate, as: 'alternate', class: Google::Apis::PolicysimulatorV1::GoogleCloudOrgpolicyV2AlternatePolicySpec, decorator: Google::Apis::PolicysimulatorV1::GoogleCloudOrgpolicyV2AlternatePolicySpec::Representation
274
+
275
+ property :dry_run_spec, as: 'dryRunSpec', class: Google::Apis::PolicysimulatorV1::GoogleCloudOrgpolicyV2PolicySpec, decorator: Google::Apis::PolicysimulatorV1::GoogleCloudOrgpolicyV2PolicySpec::Representation
276
+
277
+ property :etag, as: 'etag'
278
+ property :name, as: 'name'
279
+ property :spec, as: 'spec', class: Google::Apis::PolicysimulatorV1::GoogleCloudOrgpolicyV2PolicySpec, decorator: Google::Apis::PolicysimulatorV1::GoogleCloudOrgpolicyV2PolicySpec::Representation
280
+
281
+ end
282
+ end
283
+
284
+ class GoogleCloudOrgpolicyV2PolicySpec
285
+ # @private
286
+ class Representation < Google::Apis::Core::JsonRepresentation
287
+ property :etag, as: 'etag'
288
+ property :inherit_from_parent, as: 'inheritFromParent'
289
+ property :reset, as: 'reset'
290
+ collection :rules, as: 'rules', class: Google::Apis::PolicysimulatorV1::GoogleCloudOrgpolicyV2PolicySpecPolicyRule, decorator: Google::Apis::PolicysimulatorV1::GoogleCloudOrgpolicyV2PolicySpecPolicyRule::Representation
291
+
292
+ property :update_time, as: 'updateTime'
293
+ end
294
+ end
295
+
296
+ class GoogleCloudOrgpolicyV2PolicySpecPolicyRule
297
+ # @private
298
+ class Representation < Google::Apis::Core::JsonRepresentation
299
+ property :allow_all, as: 'allowAll'
300
+ property :condition, as: 'condition', class: Google::Apis::PolicysimulatorV1::GoogleTypeExpr, decorator: Google::Apis::PolicysimulatorV1::GoogleTypeExpr::Representation
301
+
302
+ property :deny_all, as: 'denyAll'
303
+ property :enforce, as: 'enforce'
304
+ hash :parameters, as: 'parameters'
305
+ property :values, as: 'values', class: Google::Apis::PolicysimulatorV1::GoogleCloudOrgpolicyV2PolicySpecPolicyRuleStringValues, decorator: Google::Apis::PolicysimulatorV1::GoogleCloudOrgpolicyV2PolicySpecPolicyRuleStringValues::Representation
306
+
307
+ end
308
+ end
309
+
310
+ class GoogleCloudOrgpolicyV2PolicySpecPolicyRuleStringValues
311
+ # @private
312
+ class Representation < Google::Apis::Core::JsonRepresentation
313
+ collection :allowed_values, as: 'allowedValues'
314
+ collection :denied_values, as: 'deniedValues'
315
+ end
316
+ end
317
+
157
318
  class GoogleCloudPolicysimulatorV1AccessStateDiff
158
319
  # @private
159
320
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -221,6 +382,24 @@ module Google
221
382
  end
222
383
  end
223
384
 
385
+ class GoogleCloudPolicysimulatorV1ListOrgPolicyViolationsPreviewsResponse
386
+ # @private
387
+ class Representation < Google::Apis::Core::JsonRepresentation
388
+ property :next_page_token, as: 'nextPageToken'
389
+ collection :org_policy_violations_previews, as: 'orgPolicyViolationsPreviews', class: Google::Apis::PolicysimulatorV1::GoogleCloudPolicysimulatorV1OrgPolicyViolationsPreview, decorator: Google::Apis::PolicysimulatorV1::GoogleCloudPolicysimulatorV1OrgPolicyViolationsPreview::Representation
390
+
391
+ end
392
+ end
393
+
394
+ class GoogleCloudPolicysimulatorV1ListOrgPolicyViolationsResponse
395
+ # @private
396
+ class Representation < Google::Apis::Core::JsonRepresentation
397
+ property :next_page_token, as: 'nextPageToken'
398
+ collection :org_policy_violations, as: 'orgPolicyViolations', class: Google::Apis::PolicysimulatorV1::GoogleCloudPolicysimulatorV1OrgPolicyViolation, decorator: Google::Apis::PolicysimulatorV1::GoogleCloudPolicysimulatorV1OrgPolicyViolation::Representation
399
+
400
+ end
401
+ end
402
+
224
403
  class GoogleCloudPolicysimulatorV1ListReplayResultsResponse
225
404
  # @private
226
405
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -230,6 +409,73 @@ module Google
230
409
  end
231
410
  end
232
411
 
412
+ class GoogleCloudPolicysimulatorV1OrgPolicyOverlay
413
+ # @private
414
+ class Representation < Google::Apis::Core::JsonRepresentation
415
+ collection :custom_constraints, as: 'customConstraints', class: Google::Apis::PolicysimulatorV1::GoogleCloudPolicysimulatorV1OrgPolicyOverlayCustomConstraintOverlay, decorator: Google::Apis::PolicysimulatorV1::GoogleCloudPolicysimulatorV1OrgPolicyOverlayCustomConstraintOverlay::Representation
416
+
417
+ collection :policies, as: 'policies', class: Google::Apis::PolicysimulatorV1::GoogleCloudPolicysimulatorV1OrgPolicyOverlayPolicyOverlay, decorator: Google::Apis::PolicysimulatorV1::GoogleCloudPolicysimulatorV1OrgPolicyOverlayPolicyOverlay::Representation
418
+
419
+ end
420
+ end
421
+
422
+ class GoogleCloudPolicysimulatorV1OrgPolicyOverlayCustomConstraintOverlay
423
+ # @private
424
+ class Representation < Google::Apis::Core::JsonRepresentation
425
+ property :custom_constraint, as: 'customConstraint', class: Google::Apis::PolicysimulatorV1::GoogleCloudOrgpolicyV2CustomConstraint, decorator: Google::Apis::PolicysimulatorV1::GoogleCloudOrgpolicyV2CustomConstraint::Representation
426
+
427
+ property :custom_constraint_parent, as: 'customConstraintParent'
428
+ end
429
+ end
430
+
431
+ class GoogleCloudPolicysimulatorV1OrgPolicyOverlayPolicyOverlay
432
+ # @private
433
+ class Representation < Google::Apis::Core::JsonRepresentation
434
+ property :policy, as: 'policy', class: Google::Apis::PolicysimulatorV1::GoogleCloudOrgpolicyV2Policy, decorator: Google::Apis::PolicysimulatorV1::GoogleCloudOrgpolicyV2Policy::Representation
435
+
436
+ property :policy_parent, as: 'policyParent'
437
+ end
438
+ end
439
+
440
+ class GoogleCloudPolicysimulatorV1OrgPolicyViolation
441
+ # @private
442
+ class Representation < Google::Apis::Core::JsonRepresentation
443
+ property :custom_constraint, as: 'customConstraint', class: Google::Apis::PolicysimulatorV1::GoogleCloudOrgpolicyV2CustomConstraint, decorator: Google::Apis::PolicysimulatorV1::GoogleCloudOrgpolicyV2CustomConstraint::Representation
444
+
445
+ property :error, as: 'error', class: Google::Apis::PolicysimulatorV1::GoogleRpcStatus, decorator: Google::Apis::PolicysimulatorV1::GoogleRpcStatus::Representation
446
+
447
+ property :name, as: 'name'
448
+ property :resource, as: 'resource', class: Google::Apis::PolicysimulatorV1::GoogleCloudPolicysimulatorV1ResourceContext, decorator: Google::Apis::PolicysimulatorV1::GoogleCloudPolicysimulatorV1ResourceContext::Representation
449
+
450
+ end
451
+ end
452
+
453
+ class GoogleCloudPolicysimulatorV1OrgPolicyViolationsPreview
454
+ # @private
455
+ class Representation < Google::Apis::Core::JsonRepresentation
456
+ property :create_time, as: 'createTime'
457
+ collection :custom_constraints, as: 'customConstraints'
458
+ property :name, as: 'name'
459
+ property :overlay, as: 'overlay', class: Google::Apis::PolicysimulatorV1::GoogleCloudPolicysimulatorV1OrgPolicyOverlay, decorator: Google::Apis::PolicysimulatorV1::GoogleCloudPolicysimulatorV1OrgPolicyOverlay::Representation
460
+
461
+ property :resource_counts, as: 'resourceCounts', class: Google::Apis::PolicysimulatorV1::GoogleCloudPolicysimulatorV1OrgPolicyViolationsPreviewResourceCounts, decorator: Google::Apis::PolicysimulatorV1::GoogleCloudPolicysimulatorV1OrgPolicyViolationsPreviewResourceCounts::Representation
462
+
463
+ property :state, as: 'state'
464
+ property :violations_count, as: 'violationsCount'
465
+ end
466
+ end
467
+
468
+ class GoogleCloudPolicysimulatorV1OrgPolicyViolationsPreviewResourceCounts
469
+ # @private
470
+ class Representation < Google::Apis::Core::JsonRepresentation
471
+ property :compliant, as: 'compliant'
472
+ property :errors, as: 'errors'
473
+ property :noncompliant, as: 'noncompliant'
474
+ property :scanned, as: 'scanned'
475
+ property :unenforced, as: 'unenforced'
476
+ end
477
+ end
478
+
233
479
  class GoogleCloudPolicysimulatorV1Replay
234
480
  # @private
235
481
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -296,6 +542,15 @@ module Google
296
542
  end
297
543
  end
298
544
 
545
+ class GoogleCloudPolicysimulatorV1ResourceContext
546
+ # @private
547
+ class Representation < Google::Apis::Core::JsonRepresentation
548
+ collection :ancestors, as: 'ancestors'
549
+ property :asset_type, as: 'assetType'
550
+ property :resource, as: 'resource'
551
+ end
552
+ end
553
+
299
554
  class GoogleIamV1AuditConfig
300
555
  # @private
301
556
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -342,6 +342,121 @@ module Google
342
342
  execute_or_queue_command(command, &block)
343
343
  end
344
344
 
345
+ # CreateOrgPolicyViolationsPreview creates an OrgPolicyViolationsPreview for the
346
+ # proposed changes in the provided OrgPolicyViolationsPreview.OrgPolicyOverlay.
347
+ # The changes to OrgPolicy are specified by this `OrgPolicyOverlay`. The
348
+ # resources to scan are inferred from these specified changes.
349
+ # @param [String] parent
350
+ # Required. The organization under which this OrgPolicyViolationsPreview will be
351
+ # created. Example: `organizations/my-example-org/locations/global`
352
+ # @param [Google::Apis::PolicysimulatorV1::GoogleCloudPolicysimulatorV1OrgPolicyViolationsPreview] google_cloud_policysimulator_v1_org_policy_violations_preview_object
353
+ # @param [String] org_policy_violations_preview_id
354
+ # Optional. An optional user-specified ID for the OrgPolicyViolationsPreview. If
355
+ # not provided, a random ID will be generated.
356
+ # @param [String] fields
357
+ # Selector specifying which fields to include in a partial response.
358
+ # @param [String] quota_user
359
+ # Available to use for quota purposes for server-side applications. Can be any
360
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
361
+ # @param [Google::Apis::RequestOptions] options
362
+ # Request-specific options
363
+ #
364
+ # @yield [result, err] Result & error if block supplied
365
+ # @yieldparam result [Google::Apis::PolicysimulatorV1::GoogleLongrunningOperation] parsed result object
366
+ # @yieldparam err [StandardError] error object if request failed
367
+ #
368
+ # @return [Google::Apis::PolicysimulatorV1::GoogleLongrunningOperation]
369
+ #
370
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
371
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
372
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
373
+ def create_organization_location_org_policy_violations_preview(parent, google_cloud_policysimulator_v1_org_policy_violations_preview_object = nil, org_policy_violations_preview_id: nil, fields: nil, quota_user: nil, options: nil, &block)
374
+ command = make_simple_command(:post, 'v1/{+parent}/orgPolicyViolationsPreviews', options)
375
+ command.request_representation = Google::Apis::PolicysimulatorV1::GoogleCloudPolicysimulatorV1OrgPolicyViolationsPreview::Representation
376
+ command.request_object = google_cloud_policysimulator_v1_org_policy_violations_preview_object
377
+ command.response_representation = Google::Apis::PolicysimulatorV1::GoogleLongrunningOperation::Representation
378
+ command.response_class = Google::Apis::PolicysimulatorV1::GoogleLongrunningOperation
379
+ command.params['parent'] = parent unless parent.nil?
380
+ command.query['orgPolicyViolationsPreviewId'] = org_policy_violations_preview_id unless org_policy_violations_preview_id.nil?
381
+ command.query['fields'] = fields unless fields.nil?
382
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
383
+ execute_or_queue_command(command, &block)
384
+ end
385
+
386
+ # GetOrgPolicyViolationsPreview gets the specified OrgPolicyViolationsPreview.
387
+ # Each OrgPolicyViolationsPreview is available for at least 7 days.
388
+ # @param [String] name
389
+ # Required. The name of the OrgPolicyViolationsPreview to get.
390
+ # @param [String] fields
391
+ # Selector specifying which fields to include in a partial response.
392
+ # @param [String] quota_user
393
+ # Available to use for quota purposes for server-side applications. Can be any
394
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
395
+ # @param [Google::Apis::RequestOptions] options
396
+ # Request-specific options
397
+ #
398
+ # @yield [result, err] Result & error if block supplied
399
+ # @yieldparam result [Google::Apis::PolicysimulatorV1::GoogleCloudPolicysimulatorV1OrgPolicyViolationsPreview] parsed result object
400
+ # @yieldparam err [StandardError] error object if request failed
401
+ #
402
+ # @return [Google::Apis::PolicysimulatorV1::GoogleCloudPolicysimulatorV1OrgPolicyViolationsPreview]
403
+ #
404
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
405
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
406
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
407
+ def get_organization_location_org_policy_violations_preview(name, fields: nil, quota_user: nil, options: nil, &block)
408
+ command = make_simple_command(:get, 'v1/{+name}', options)
409
+ command.response_representation = Google::Apis::PolicysimulatorV1::GoogleCloudPolicysimulatorV1OrgPolicyViolationsPreview::Representation
410
+ command.response_class = Google::Apis::PolicysimulatorV1::GoogleCloudPolicysimulatorV1OrgPolicyViolationsPreview
411
+ command.params['name'] = name unless name.nil?
412
+ command.query['fields'] = fields unless fields.nil?
413
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
414
+ execute_or_queue_command(command, &block)
415
+ end
416
+
417
+ # ListOrgPolicyViolationsPreviews lists each OrgPolicyViolationsPreview in an
418
+ # organization. Each OrgPolicyViolationsPreview is available for at least 7 days.
419
+ # @param [String] parent
420
+ # Required. The parent the violations are scoped to. Format: `organizations/`
421
+ # organization`/locations/`location`` Example: `organizations/my-example-org/
422
+ # locations/global`
423
+ # @param [Fixnum] page_size
424
+ # Optional. The maximum number of items to return. The service may return fewer
425
+ # than this value. If unspecified, at most 5 items will be returned. The maximum
426
+ # value is 10; values above 10 will be coerced to 10.
427
+ # @param [String] page_token
428
+ # Optional. A page token, received from a previous call. Provide this to
429
+ # retrieve the subsequent page. When paginating, all other parameters must match
430
+ # the call that provided the page token.
431
+ # @param [String] fields
432
+ # Selector specifying which fields to include in a partial response.
433
+ # @param [String] quota_user
434
+ # Available to use for quota purposes for server-side applications. Can be any
435
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
436
+ # @param [Google::Apis::RequestOptions] options
437
+ # Request-specific options
438
+ #
439
+ # @yield [result, err] Result & error if block supplied
440
+ # @yieldparam result [Google::Apis::PolicysimulatorV1::GoogleCloudPolicysimulatorV1ListOrgPolicyViolationsPreviewsResponse] parsed result object
441
+ # @yieldparam err [StandardError] error object if request failed
442
+ #
443
+ # @return [Google::Apis::PolicysimulatorV1::GoogleCloudPolicysimulatorV1ListOrgPolicyViolationsPreviewsResponse]
444
+ #
445
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
446
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
447
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
448
+ def list_organization_location_org_policy_violations_previews(parent, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
449
+ command = make_simple_command(:get, 'v1/{+parent}/orgPolicyViolationsPreviews', options)
450
+ command.response_representation = Google::Apis::PolicysimulatorV1::GoogleCloudPolicysimulatorV1ListOrgPolicyViolationsPreviewsResponse::Representation
451
+ command.response_class = Google::Apis::PolicysimulatorV1::GoogleCloudPolicysimulatorV1ListOrgPolicyViolationsPreviewsResponse
452
+ command.params['parent'] = parent unless parent.nil?
453
+ command.query['pageSize'] = page_size unless page_size.nil?
454
+ command.query['pageToken'] = page_token unless page_token.nil?
455
+ command.query['fields'] = fields unless fields.nil?
456
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
457
+ execute_or_queue_command(command, &block)
458
+ end
459
+
345
460
  # Gets the latest state of a long-running operation. Clients can use this method
346
461
  # to poll the operation result at intervals as recommended by the API service.
347
462
  # @param [String] name
@@ -373,6 +488,49 @@ module Google
373
488
  execute_or_queue_command(command, &block)
374
489
  end
375
490
 
491
+ # ListOrgPolicyViolations lists the OrgPolicyViolations that are present in an
492
+ # OrgPolicyViolationsPreview.
493
+ # @param [String] parent
494
+ # Required. The OrgPolicyViolationsPreview to get OrgPolicyViolations from.
495
+ # Format: organizations/`organization`/locations/`location`/
496
+ # orgPolicyViolationsPreviews/`orgPolicyViolationsPreview`
497
+ # @param [Fixnum] page_size
498
+ # Optional. The maximum number of items to return. The service may return fewer
499
+ # than this value. If unspecified, at most 1000 items will be returned. The
500
+ # maximum value is 1000; values above 1000 will be coerced to 1000.
501
+ # @param [String] page_token
502
+ # Optional. A page token, received from a previous call. Provide this to
503
+ # retrieve the subsequent page. When paginating, all other parameters must match
504
+ # the call that provided the page token.
505
+ # @param [String] fields
506
+ # Selector specifying which fields to include in a partial response.
507
+ # @param [String] quota_user
508
+ # Available to use for quota purposes for server-side applications. Can be any
509
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
510
+ # @param [Google::Apis::RequestOptions] options
511
+ # Request-specific options
512
+ #
513
+ # @yield [result, err] Result & error if block supplied
514
+ # @yieldparam result [Google::Apis::PolicysimulatorV1::GoogleCloudPolicysimulatorV1ListOrgPolicyViolationsResponse] parsed result object
515
+ # @yieldparam err [StandardError] error object if request failed
516
+ #
517
+ # @return [Google::Apis::PolicysimulatorV1::GoogleCloudPolicysimulatorV1ListOrgPolicyViolationsResponse]
518
+ #
519
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
520
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
521
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
522
+ def list_organization_location_org_policy_violations_preview_org_policy_violations(parent, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
523
+ command = make_simple_command(:get, 'v1/{+parent}/orgPolicyViolations', options)
524
+ command.response_representation = Google::Apis::PolicysimulatorV1::GoogleCloudPolicysimulatorV1ListOrgPolicyViolationsResponse::Representation
525
+ command.response_class = Google::Apis::PolicysimulatorV1::GoogleCloudPolicysimulatorV1ListOrgPolicyViolationsResponse
526
+ command.params['parent'] = parent unless parent.nil?
527
+ command.query['pageSize'] = page_size unless page_size.nil?
528
+ command.query['pageToken'] = page_token unless page_token.nil?
529
+ command.query['fields'] = fields unless fields.nil?
530
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
531
+ execute_or_queue_command(command, &block)
532
+ end
533
+
376
534
  # Creates and starts a Replay using the given ReplayConfig.
377
535
  # @param [String] parent
378
536
  # Required. The parent resource where this Replay will be created. This resource
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-apis-policysimulator_v1
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.41.0
4
+ version: 0.42.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Google LLC
@@ -57,7 +57,7 @@ licenses:
57
57
  metadata:
58
58
  bug_tracker_uri: https://github.com/googleapis/google-api-ruby-client/issues
59
59
  changelog_uri: https://github.com/googleapis/google-api-ruby-client/tree/main/generated/google-apis-policysimulator_v1/CHANGELOG.md
60
- documentation_uri: https://googleapis.dev/ruby/google-apis-policysimulator_v1/v0.41.0
60
+ documentation_uri: https://googleapis.dev/ruby/google-apis-policysimulator_v1/v0.42.0
61
61
  source_code_uri: https://github.com/googleapis/google-api-ruby-client/tree/main/generated/google-apis-policysimulator_v1
62
62
  rdoc_options: []
63
63
  require_paths:
@@ -73,7 +73,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
73
73
  - !ruby/object:Gem::Version
74
74
  version: '0'
75
75
  requirements: []
76
- rubygems_version: 3.6.8
76
+ rubygems_version: 3.6.9
77
77
  specification_version: 4
78
78
  summary: Simple REST client for Policy Simulator API V1
79
79
  test_files: []