google-apis-policysimulator_v1alpha 0.10.0 → 0.11.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: abaa3181a46ded0ff1701832240f7a69eea3c2b98c7dd0aaba3b5a93c00a5184
4
- data.tar.gz: c3aaa7441f5d470d403ace56711529e174ffaddcceca78f249550a5e43b4093e
3
+ metadata.gz: 97f73a48f328dddce3f4f2060a7b4a2d054859c61a230b8890be0dda9e04b931
4
+ data.tar.gz: 0dc8222b07aabf3ddb3413a5a95523d5b66434edf1233a940de4b06ed4331721
5
5
  SHA512:
6
- metadata.gz: f9ab643437b9af7e9b31664e8611eee22890eab85261b779b75295d9740c83a7f14545ea5a1ed78edb66c22a82ba2c019e93a0d1430db2317454299de8701283
7
- data.tar.gz: fa9ebcc59294ba4c896045e00979ba4a2575eb4ae41b3543479b696539f05d449009c43af93339b20390c6c2397ed4353331ce0008f9d8fff570118ae6979f91
6
+ metadata.gz: b8d0e10a3bb9c74dd0a831641298c3f303f712606295727ee31d11c38b03b9174ef1d798ca5ef2809ccd0e2db014f93ddb4ee1bda7847a2816f77fe3d75cbac9
7
+ data.tar.gz: d03c99d98fcf168b9a866254fbe95d2e831218c6e16da8ba5b8f72a4478b8ce30672bf5182463fd2095a61f1de9335cd070859461a2aa1848dedb228f10ef00b
data/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # Release history for google-apis-policysimulator_v1alpha
2
2
 
3
+ ### v0.11.0 (2023-09-10)
4
+
5
+ * Regenerated from discovery document revision 20230904
6
+
3
7
  ### v0.10.0 (2023-08-13)
4
8
 
5
9
  * Regenerated from discovery document revision 20230806
@@ -505,6 +505,320 @@ module Google
505
505
  end
506
506
  end
507
507
 
508
+ # A summary and comparison of the principal's access under the current (baseline)
509
+ # policies and the proposed (simulated) policies for a single access tuple.
510
+ class GoogleCloudPolicysimulatorV1alphaAccessStateDiff
511
+ include Google::Apis::Core::Hashable
512
+
513
+ # How the principal's access, specified in the AccessState field, changed
514
+ # between the current (baseline) policies and proposed (simulated) policies.
515
+ # Corresponds to the JSON property `accessChange`
516
+ # @return [String]
517
+ attr_accessor :access_change
518
+
519
+ # Details about how a set of policies, listed in ExplainedPolicy, resulted in a
520
+ # certain AccessState when replaying an access tuple.
521
+ # Corresponds to the JSON property `baseline`
522
+ # @return [Google::Apis::PolicysimulatorV1alpha::GoogleCloudPolicysimulatorV1alphaExplainedAccess]
523
+ attr_accessor :baseline
524
+
525
+ # Details about how a set of policies, listed in ExplainedPolicy, resulted in a
526
+ # certain AccessState when replaying an access tuple.
527
+ # Corresponds to the JSON property `simulated`
528
+ # @return [Google::Apis::PolicysimulatorV1alpha::GoogleCloudPolicysimulatorV1alphaExplainedAccess]
529
+ attr_accessor :simulated
530
+
531
+ def initialize(**args)
532
+ update!(**args)
533
+ end
534
+
535
+ # Update properties of this object
536
+ def update!(**args)
537
+ @access_change = args[:access_change] if args.key?(:access_change)
538
+ @baseline = args[:baseline] if args.key?(:baseline)
539
+ @simulated = args[:simulated] if args.key?(:simulated)
540
+ end
541
+ end
542
+
543
+ # Information about the principal, resource, and permission to check.
544
+ class GoogleCloudPolicysimulatorV1alphaAccessTuple
545
+ include Google::Apis::Core::Hashable
546
+
547
+ # Required. The full resource name that identifies the resource. For example, `//
548
+ # compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/my-
549
+ # instance`. For examples of full resource names for Google Cloud services, see
550
+ # https://cloud.google.com/iam/help/troubleshooter/full-resource-names.
551
+ # Corresponds to the JSON property `fullResourceName`
552
+ # @return [String]
553
+ attr_accessor :full_resource_name
554
+
555
+ # Required. The IAM permission to check for the specified principal and resource.
556
+ # For a complete list of IAM permissions, see https://cloud.google.com/iam/help/
557
+ # permissions/reference. For a complete list of predefined IAM roles and the
558
+ # permissions in each role, see https://cloud.google.com/iam/help/roles/
559
+ # reference.
560
+ # Corresponds to the JSON property `permission`
561
+ # @return [String]
562
+ attr_accessor :permission
563
+
564
+ # Required. The principal whose access you want to check, in the form of the
565
+ # email address that represents that principal. For example, `alice@example.com`
566
+ # or `my-service-account@my-project.iam.gserviceaccount.com`. The principal must
567
+ # be a Google Account or a service account. Other types of principals are not
568
+ # supported.
569
+ # Corresponds to the JSON property `principal`
570
+ # @return [String]
571
+ attr_accessor :principal
572
+
573
+ def initialize(**args)
574
+ update!(**args)
575
+ end
576
+
577
+ # Update properties of this object
578
+ def update!(**args)
579
+ @full_resource_name = args[:full_resource_name] if args.key?(:full_resource_name)
580
+ @permission = args[:permission] if args.key?(:permission)
581
+ @principal = args[:principal] if args.key?(:principal)
582
+ end
583
+ end
584
+
585
+ # Details about how a binding in a policy affects a principal's ability to use a
586
+ # permission.
587
+ class GoogleCloudPolicysimulatorV1alphaBindingExplanation
588
+ include Google::Apis::Core::Hashable
589
+
590
+ # Required. Indicates whether _this binding_ provides the specified permission
591
+ # to the specified principal for the specified resource. This field does _not_
592
+ # indicate whether the principal actually has the permission for the resource.
593
+ # There might be another binding that overrides this binding. To determine
594
+ # whether the principal actually has the permission, use the `access` field in
595
+ # the TroubleshootIamPolicyResponse.
596
+ # Corresponds to the JSON property `access`
597
+ # @return [String]
598
+ attr_accessor :access
599
+
600
+ # Represents a textual expression in the Common Expression Language (CEL) syntax.
601
+ # CEL is a C-like expression language. The syntax and semantics of CEL are
602
+ # documented at https://github.com/google/cel-spec. Example (Comparison): title:
603
+ # "Summary size limit" description: "Determines if a summary is less than 100
604
+ # chars" expression: "document.summary.size() < 100" Example (Equality): title: "
605
+ # Requestor is owner" description: "Determines if requestor is the document
606
+ # owner" expression: "document.owner == request.auth.claims.email" Example (
607
+ # Logic): title: "Public documents" description: "Determine whether the document
608
+ # should be publicly visible" expression: "document.type != 'private' &&
609
+ # document.type != 'internal'" Example (Data Manipulation): title: "Notification
610
+ # string" description: "Create a notification string with a timestamp."
611
+ # expression: "'New message received at ' + string(document.create_time)" The
612
+ # exact variables and functions that may be referenced within an expression are
613
+ # determined by the service that evaluates it. See the service documentation for
614
+ # additional information.
615
+ # Corresponds to the JSON property `condition`
616
+ # @return [Google::Apis::PolicysimulatorV1alpha::GoogleTypeExpr]
617
+ attr_accessor :condition
618
+
619
+ # Indicates whether each principal in the binding includes the principal
620
+ # specified in the request, either directly or indirectly. Each key identifies a
621
+ # principal in the binding, and each value indicates whether the principal in
622
+ # the binding includes the principal in the request. For example, suppose that a
623
+ # binding includes the following principals: * `user:alice@example.com` * `group:
624
+ # product-eng@example.com` The principal in the replayed access tuple is `user:
625
+ # bob@example.com`. This user is a principal of the group `group:product-eng@
626
+ # example.com`. For the first principal in the binding, the key is `user:alice@
627
+ # example.com`, and the `membership` field in the value is set to `
628
+ # MEMBERSHIP_NOT_INCLUDED`. For the second principal in the binding, the key is `
629
+ # group:product-eng@example.com`, and the `membership` field in the value is set
630
+ # to `MEMBERSHIP_INCLUDED`.
631
+ # Corresponds to the JSON property `memberships`
632
+ # @return [Hash<String,Google::Apis::PolicysimulatorV1alpha::GoogleCloudPolicysimulatorV1alphaBindingExplanationAnnotatedMembership>]
633
+ attr_accessor :memberships
634
+
635
+ # The relevance of this binding to the overall determination for the entire
636
+ # policy.
637
+ # Corresponds to the JSON property `relevance`
638
+ # @return [String]
639
+ attr_accessor :relevance
640
+
641
+ # The role that this binding grants. For example, `roles/compute.serviceAgent`.
642
+ # For a complete list of predefined IAM roles, as well as the permissions in
643
+ # each role, see https://cloud.google.com/iam/help/roles/reference.
644
+ # Corresponds to the JSON property `role`
645
+ # @return [String]
646
+ attr_accessor :role
647
+
648
+ # Indicates whether the role granted by this binding contains the specified
649
+ # permission.
650
+ # Corresponds to the JSON property `rolePermission`
651
+ # @return [String]
652
+ attr_accessor :role_permission
653
+
654
+ # The relevance of the permission's existence, or nonexistence, in the role to
655
+ # the overall determination for the entire policy.
656
+ # Corresponds to the JSON property `rolePermissionRelevance`
657
+ # @return [String]
658
+ attr_accessor :role_permission_relevance
659
+
660
+ def initialize(**args)
661
+ update!(**args)
662
+ end
663
+
664
+ # Update properties of this object
665
+ def update!(**args)
666
+ @access = args[:access] if args.key?(:access)
667
+ @condition = args[:condition] if args.key?(:condition)
668
+ @memberships = args[:memberships] if args.key?(:memberships)
669
+ @relevance = args[:relevance] if args.key?(:relevance)
670
+ @role = args[:role] if args.key?(:role)
671
+ @role_permission = args[:role_permission] if args.key?(:role_permission)
672
+ @role_permission_relevance = args[:role_permission_relevance] if args.key?(:role_permission_relevance)
673
+ end
674
+ end
675
+
676
+ # Details about whether the binding includes the principal.
677
+ class GoogleCloudPolicysimulatorV1alphaBindingExplanationAnnotatedMembership
678
+ include Google::Apis::Core::Hashable
679
+
680
+ # Indicates whether the binding includes the principal.
681
+ # Corresponds to the JSON property `membership`
682
+ # @return [String]
683
+ attr_accessor :membership
684
+
685
+ # The relevance of the principal's status to the overall determination for the
686
+ # binding.
687
+ # Corresponds to the JSON property `relevance`
688
+ # @return [String]
689
+ attr_accessor :relevance
690
+
691
+ def initialize(**args)
692
+ update!(**args)
693
+ end
694
+
695
+ # Update properties of this object
696
+ def update!(**args)
697
+ @membership = args[:membership] if args.key?(:membership)
698
+ @relevance = args[:relevance] if args.key?(:relevance)
699
+ end
700
+ end
701
+
702
+ # Details about how a set of policies, listed in ExplainedPolicy, resulted in a
703
+ # certain AccessState when replaying an access tuple.
704
+ class GoogleCloudPolicysimulatorV1alphaExplainedAccess
705
+ include Google::Apis::Core::Hashable
706
+
707
+ # Whether the principal in the access tuple has permission to access the
708
+ # resource in the access tuple under the given policies.
709
+ # Corresponds to the JSON property `accessState`
710
+ # @return [String]
711
+ attr_accessor :access_state
712
+
713
+ # If the AccessState is `UNKNOWN`, this field contains a list of errors
714
+ # explaining why the result is `UNKNOWN`. If the `AccessState` is `GRANTED` or `
715
+ # NOT_GRANTED`, this field is omitted.
716
+ # Corresponds to the JSON property `errors`
717
+ # @return [Array<Google::Apis::PolicysimulatorV1alpha::GoogleRpcStatus>]
718
+ attr_accessor :errors
719
+
720
+ # If the AccessState is `UNKNOWN`, this field contains the policies that led to
721
+ # that result. If the `AccessState` is `GRANTED` or `NOT_GRANTED`, this field is
722
+ # omitted.
723
+ # Corresponds to the JSON property `policies`
724
+ # @return [Array<Google::Apis::PolicysimulatorV1alpha::GoogleCloudPolicysimulatorV1alphaExplainedPolicy>]
725
+ attr_accessor :policies
726
+
727
+ def initialize(**args)
728
+ update!(**args)
729
+ end
730
+
731
+ # Update properties of this object
732
+ def update!(**args)
733
+ @access_state = args[:access_state] if args.key?(:access_state)
734
+ @errors = args[:errors] if args.key?(:errors)
735
+ @policies = args[:policies] if args.key?(:policies)
736
+ end
737
+ end
738
+
739
+ # Details about how a specific IAM Policy contributed to the access check.
740
+ class GoogleCloudPolicysimulatorV1alphaExplainedPolicy
741
+ include Google::Apis::Core::Hashable
742
+
743
+ # Indicates whether _this policy_ provides the specified permission to the
744
+ # specified principal for the specified resource. This field does _not_ indicate
745
+ # whether the principal actually has the permission for the resource. There
746
+ # might be another policy that overrides this policy. To determine whether the
747
+ # principal actually has the permission, use the `access` field in the
748
+ # TroubleshootIamPolicyResponse.
749
+ # Corresponds to the JSON property `access`
750
+ # @return [String]
751
+ attr_accessor :access
752
+
753
+ # Details about how each binding in the policy affects the principal's ability,
754
+ # or inability, to use the permission for the resource. If the user who created
755
+ # the Replay does not have access to the policy, this field is omitted.
756
+ # Corresponds to the JSON property `bindingExplanations`
757
+ # @return [Array<Google::Apis::PolicysimulatorV1alpha::GoogleCloudPolicysimulatorV1alphaBindingExplanation>]
758
+ attr_accessor :binding_explanations
759
+
760
+ # The full resource name that identifies the resource. For example, `//compute.
761
+ # googleapis.com/projects/my-project/zones/us-central1-a/instances/my-instance`.
762
+ # If the user who created the Replay does not have access to the policy, this
763
+ # field is omitted. For examples of full resource names for Google Cloud
764
+ # services, see https://cloud.google.com/iam/help/troubleshooter/full-resource-
765
+ # names.
766
+ # Corresponds to the JSON property `fullResourceName`
767
+ # @return [String]
768
+ attr_accessor :full_resource_name
769
+
770
+ # An Identity and Access Management (IAM) policy, which specifies access
771
+ # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
772
+ # A `binding` binds one or more `members`, or principals, to a single `role`.
773
+ # Principals can be user accounts, service accounts, Google groups, and domains (
774
+ # such as G Suite). A `role` is a named list of permissions; each `role` can be
775
+ # an IAM predefined role or a user-created custom role. For some types of Google
776
+ # Cloud resources, a `binding` can also specify a `condition`, which is a
777
+ # logical expression that allows access to a resource only if the expression
778
+ # evaluates to `true`. A condition can add constraints based on attributes of
779
+ # the request, the resource, or both. To learn which resources support
780
+ # conditions in their IAM policies, see the [IAM documentation](https://cloud.
781
+ # google.com/iam/help/conditions/resource-policies). **JSON example:** ``` ` "
782
+ # bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [
783
+ # "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
784
+ # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
785
+ # roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
786
+ # ], "condition": ` "title": "expirable access", "description": "Does not grant
787
+ # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
788
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` ``` **YAML
789
+ # example:** ``` bindings: - members: - user:mike@example.com - group:admins@
790
+ # example.com - domain:google.com - serviceAccount:my-project-id@appspot.
791
+ # gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: -
792
+ # user:eve@example.com role: roles/resourcemanager.organizationViewer condition:
793
+ # title: expirable access description: Does not grant access after Sep 2020
794
+ # expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag:
795
+ # BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the
796
+ # [IAM documentation](https://cloud.google.com/iam/docs/).
797
+ # Corresponds to the JSON property `policy`
798
+ # @return [Google::Apis::PolicysimulatorV1alpha::GoogleIamV1Policy]
799
+ attr_accessor :policy
800
+
801
+ # The relevance of this policy to the overall determination in the
802
+ # TroubleshootIamPolicyResponse. If the user who created the Replay does not
803
+ # have access to the policy, this field is omitted.
804
+ # Corresponds to the JSON property `relevance`
805
+ # @return [String]
806
+ attr_accessor :relevance
807
+
808
+ def initialize(**args)
809
+ update!(**args)
810
+ end
811
+
812
+ # Update properties of this object
813
+ def update!(**args)
814
+ @access = args[:access] if args.key?(:access)
815
+ @binding_explanations = args[:binding_explanations] if args.key?(:binding_explanations)
816
+ @full_resource_name = args[:full_resource_name] if args.key?(:full_resource_name)
817
+ @policy = args[:policy] if args.key?(:policy)
818
+ @relevance = args[:relevance] if args.key?(:relevance)
819
+ end
820
+ end
821
+
508
822
  # GenerateOrgPolicyViolationsPreviewOperationMetadata is metadata about an
509
823
  # OrgPolicyViolationsPreview generations operation.
510
824
  class GoogleCloudPolicysimulatorV1alphaGenerateOrgPolicyViolationsPreviewOperationMetadata
@@ -611,6 +925,58 @@ module Google
611
925
  end
612
926
  end
613
927
 
928
+ # Response message for Simulator.ListReplayResults.
929
+ class GoogleCloudPolicysimulatorV1alphaListReplayResultsResponse
930
+ include Google::Apis::Core::Hashable
931
+
932
+ # A token that you can use to retrieve the next page of ReplayResult objects. If
933
+ # this field is omitted, there are no subsequent pages.
934
+ # Corresponds to the JSON property `nextPageToken`
935
+ # @return [String]
936
+ attr_accessor :next_page_token
937
+
938
+ # The results of running a Replay.
939
+ # Corresponds to the JSON property `replayResults`
940
+ # @return [Array<Google::Apis::PolicysimulatorV1alpha::GoogleCloudPolicysimulatorV1alphaReplayResult>]
941
+ attr_accessor :replay_results
942
+
943
+ def initialize(**args)
944
+ update!(**args)
945
+ end
946
+
947
+ # Update properties of this object
948
+ def update!(**args)
949
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
950
+ @replay_results = args[:replay_results] if args.key?(:replay_results)
951
+ end
952
+ end
953
+
954
+ # Response message for Simulator.ListReplays.
955
+ class GoogleCloudPolicysimulatorV1alphaListReplaysResponse
956
+ include Google::Apis::Core::Hashable
957
+
958
+ # A token that you can use to retrieve the next page of results. If this field
959
+ # is omitted, there are no subsequent pages.
960
+ # Corresponds to the JSON property `nextPageToken`
961
+ # @return [String]
962
+ attr_accessor :next_page_token
963
+
964
+ # The list of Replay objects.
965
+ # Corresponds to the JSON property `replays`
966
+ # @return [Array<Google::Apis::PolicysimulatorV1alpha::GoogleCloudPolicysimulatorV1alphaReplay>]
967
+ attr_accessor :replays
968
+
969
+ def initialize(**args)
970
+ update!(**args)
971
+ end
972
+
973
+ # Update properties of this object
974
+ def update!(**args)
975
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
976
+ @replays = args[:replays] if args.key?(:replays)
977
+ end
978
+ end
979
+
614
980
  # The proposed changes to OrgPolicy.
615
981
  class GoogleCloudPolicysimulatorV1alphaOrgPolicyOverlay
616
982
  include Google::Apis::Core::Hashable
@@ -847,6 +1213,237 @@ module Google
847
1213
  end
848
1214
  end
849
1215
 
1216
+ # A resource describing a `Replay`, or simulation.
1217
+ class GoogleCloudPolicysimulatorV1alphaReplay
1218
+ include Google::Apis::Core::Hashable
1219
+
1220
+ # The configuration used for a Replay.
1221
+ # Corresponds to the JSON property `config`
1222
+ # @return [Google::Apis::PolicysimulatorV1alpha::GoogleCloudPolicysimulatorV1alphaReplayConfig]
1223
+ attr_accessor :config
1224
+
1225
+ # Output only. The resource name of the `Replay`, which has the following format:
1226
+ # ``projects|folders|organizations`/`resource-id`/locations/global/replays/`
1227
+ # replay-id``, where ``resource-id`` is the ID of the project, folder, or
1228
+ # organization that owns the Replay. Example: `projects/my-example-project/
1229
+ # locations/global/replays/506a5f7f-38ce-4d7d-8e03-479ce1833c36`
1230
+ # Corresponds to the JSON property `name`
1231
+ # @return [String]
1232
+ attr_accessor :name
1233
+
1234
+ # Summary statistics about the replayed log entries.
1235
+ # Corresponds to the JSON property `resultsSummary`
1236
+ # @return [Google::Apis::PolicysimulatorV1alpha::GoogleCloudPolicysimulatorV1alphaReplayResultsSummary]
1237
+ attr_accessor :results_summary
1238
+
1239
+ # Output only. The current state of the `Replay`.
1240
+ # Corresponds to the JSON property `state`
1241
+ # @return [String]
1242
+ attr_accessor :state
1243
+
1244
+ def initialize(**args)
1245
+ update!(**args)
1246
+ end
1247
+
1248
+ # Update properties of this object
1249
+ def update!(**args)
1250
+ @config = args[:config] if args.key?(:config)
1251
+ @name = args[:name] if args.key?(:name)
1252
+ @results_summary = args[:results_summary] if args.key?(:results_summary)
1253
+ @state = args[:state] if args.key?(:state)
1254
+ end
1255
+ end
1256
+
1257
+ # The configuration used for a Replay.
1258
+ class GoogleCloudPolicysimulatorV1alphaReplayConfig
1259
+ include Google::Apis::Core::Hashable
1260
+
1261
+ # The logs to use as input for the Replay.
1262
+ # Corresponds to the JSON property `logSource`
1263
+ # @return [String]
1264
+ attr_accessor :log_source
1265
+
1266
+ # A mapping of the resources that you want to simulate policies for and the
1267
+ # policies that you want to simulate. Keys are the full resource names for the
1268
+ # resources. For example, `//cloudresourcemanager.googleapis.com/projects/my-
1269
+ # project`. For examples of full resource names for Google Cloud services, see
1270
+ # https://cloud.google.com/iam/help/troubleshooter/full-resource-names. Values
1271
+ # are Policy objects representing the policies that you want to simulate.
1272
+ # Replays automatically take into account any IAM policies inherited through the
1273
+ # resource hierarchy, and any policies set on descendant resources. You do not
1274
+ # need to include these policies in the policy overlay.
1275
+ # Corresponds to the JSON property `policyOverlay`
1276
+ # @return [Hash<String,Google::Apis::PolicysimulatorV1alpha::GoogleIamV1Policy>]
1277
+ attr_accessor :policy_overlay
1278
+
1279
+ def initialize(**args)
1280
+ update!(**args)
1281
+ end
1282
+
1283
+ # Update properties of this object
1284
+ def update!(**args)
1285
+ @log_source = args[:log_source] if args.key?(:log_source)
1286
+ @policy_overlay = args[:policy_overlay] if args.key?(:policy_overlay)
1287
+ end
1288
+ end
1289
+
1290
+ # The difference between the results of evaluating an access tuple under the
1291
+ # current (baseline) policies and under the proposed (simulated) policies. This
1292
+ # difference explains how a principal's access could change if the proposed
1293
+ # policies were applied.
1294
+ class GoogleCloudPolicysimulatorV1alphaReplayDiff
1295
+ include Google::Apis::Core::Hashable
1296
+
1297
+ # A summary and comparison of the principal's access under the current (baseline)
1298
+ # policies and the proposed (simulated) policies for a single access tuple.
1299
+ # Corresponds to the JSON property `accessDiff`
1300
+ # @return [Google::Apis::PolicysimulatorV1alpha::GoogleCloudPolicysimulatorV1alphaAccessStateDiff]
1301
+ attr_accessor :access_diff
1302
+
1303
+ def initialize(**args)
1304
+ update!(**args)
1305
+ end
1306
+
1307
+ # Update properties of this object
1308
+ def update!(**args)
1309
+ @access_diff = args[:access_diff] if args.key?(:access_diff)
1310
+ end
1311
+ end
1312
+
1313
+ # The result of replaying a single access tuple against a simulated state.
1314
+ class GoogleCloudPolicysimulatorV1alphaReplayResult
1315
+ include Google::Apis::Core::Hashable
1316
+
1317
+ # Information about the principal, resource, and permission to check.
1318
+ # Corresponds to the JSON property `accessTuple`
1319
+ # @return [Google::Apis::PolicysimulatorV1alpha::GoogleCloudPolicysimulatorV1alphaAccessTuple]
1320
+ attr_accessor :access_tuple
1321
+
1322
+ # The difference between the results of evaluating an access tuple under the
1323
+ # current (baseline) policies and under the proposed (simulated) policies. This
1324
+ # difference explains how a principal's access could change if the proposed
1325
+ # policies were applied.
1326
+ # Corresponds to the JSON property `diff`
1327
+ # @return [Google::Apis::PolicysimulatorV1alpha::GoogleCloudPolicysimulatorV1alphaReplayDiff]
1328
+ attr_accessor :diff
1329
+
1330
+ # The `Status` type defines a logical error model that is suitable for different
1331
+ # programming environments, including REST APIs and RPC APIs. It is used by [
1332
+ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
1333
+ # data: error code, error message, and error details. You can find out more
1334
+ # about this error model and how to work with it in the [API Design Guide](https:
1335
+ # //cloud.google.com/apis/design/errors).
1336
+ # Corresponds to the JSON property `error`
1337
+ # @return [Google::Apis::PolicysimulatorV1alpha::GoogleRpcStatus]
1338
+ attr_accessor :error
1339
+
1340
+ # Represents a whole or partial calendar date, such as a birthday. The time of
1341
+ # day and time zone are either specified elsewhere or are insignificant. The
1342
+ # date is relative to the Gregorian Calendar. This can represent one of the
1343
+ # following: * A full date, with non-zero year, month, and day values. * A month
1344
+ # and day, with a zero year (for example, an anniversary). * A year on its own,
1345
+ # with a zero month and a zero day. * A year and month, with a zero day (for
1346
+ # example, a credit card expiration date). Related types: * google.type.
1347
+ # TimeOfDay * google.type.DateTime * google.protobuf.Timestamp
1348
+ # Corresponds to the JSON property `lastSeenDate`
1349
+ # @return [Google::Apis::PolicysimulatorV1alpha::GoogleTypeDate]
1350
+ attr_accessor :last_seen_date
1351
+
1352
+ # The resource name of the `ReplayResult`, in the following format: ``projects|
1353
+ # folders|organizations`/`resource-id`/locations/global/replays/`replay-id`/
1354
+ # results/`replay-result-id``, where ``resource-id`` is the ID of the project,
1355
+ # folder, or organization that owns the Replay. Example: `projects/my-example-
1356
+ # project/locations/global/replays/506a5f7f-38ce-4d7d-8e03-479ce1833c36/results/
1357
+ # 1234`
1358
+ # Corresponds to the JSON property `name`
1359
+ # @return [String]
1360
+ attr_accessor :name
1361
+
1362
+ # The Replay that the access tuple was included in.
1363
+ # Corresponds to the JSON property `parent`
1364
+ # @return [String]
1365
+ attr_accessor :parent
1366
+
1367
+ def initialize(**args)
1368
+ update!(**args)
1369
+ end
1370
+
1371
+ # Update properties of this object
1372
+ def update!(**args)
1373
+ @access_tuple = args[:access_tuple] if args.key?(:access_tuple)
1374
+ @diff = args[:diff] if args.key?(:diff)
1375
+ @error = args[:error] if args.key?(:error)
1376
+ @last_seen_date = args[:last_seen_date] if args.key?(:last_seen_date)
1377
+ @name = args[:name] if args.key?(:name)
1378
+ @parent = args[:parent] if args.key?(:parent)
1379
+ end
1380
+ end
1381
+
1382
+ # Summary statistics about the replayed log entries.
1383
+ class GoogleCloudPolicysimulatorV1alphaReplayResultsSummary
1384
+ include Google::Apis::Core::Hashable
1385
+
1386
+ # The number of replayed log entries with a difference between baseline and
1387
+ # simulated policies.
1388
+ # Corresponds to the JSON property `differenceCount`
1389
+ # @return [Fixnum]
1390
+ attr_accessor :difference_count
1391
+
1392
+ # The number of log entries that could not be replayed.
1393
+ # Corresponds to the JSON property `errorCount`
1394
+ # @return [Fixnum]
1395
+ attr_accessor :error_count
1396
+
1397
+ # The total number of log entries replayed.
1398
+ # Corresponds to the JSON property `logCount`
1399
+ # @return [Fixnum]
1400
+ attr_accessor :log_count
1401
+
1402
+ # Represents a whole or partial calendar date, such as a birthday. The time of
1403
+ # day and time zone are either specified elsewhere or are insignificant. The
1404
+ # date is relative to the Gregorian Calendar. This can represent one of the
1405
+ # following: * A full date, with non-zero year, month, and day values. * A month
1406
+ # and day, with a zero year (for example, an anniversary). * A year on its own,
1407
+ # with a zero month and a zero day. * A year and month, with a zero day (for
1408
+ # example, a credit card expiration date). Related types: * google.type.
1409
+ # TimeOfDay * google.type.DateTime * google.protobuf.Timestamp
1410
+ # Corresponds to the JSON property `newestDate`
1411
+ # @return [Google::Apis::PolicysimulatorV1alpha::GoogleTypeDate]
1412
+ attr_accessor :newest_date
1413
+
1414
+ # Represents a whole or partial calendar date, such as a birthday. The time of
1415
+ # day and time zone are either specified elsewhere or are insignificant. The
1416
+ # date is relative to the Gregorian Calendar. This can represent one of the
1417
+ # following: * A full date, with non-zero year, month, and day values. * A month
1418
+ # and day, with a zero year (for example, an anniversary). * A year on its own,
1419
+ # with a zero month and a zero day. * A year and month, with a zero day (for
1420
+ # example, a credit card expiration date). Related types: * google.type.
1421
+ # TimeOfDay * google.type.DateTime * google.protobuf.Timestamp
1422
+ # Corresponds to the JSON property `oldestDate`
1423
+ # @return [Google::Apis::PolicysimulatorV1alpha::GoogleTypeDate]
1424
+ attr_accessor :oldest_date
1425
+
1426
+ # The number of replayed log entries with no difference between baseline and
1427
+ # simulated policies.
1428
+ # Corresponds to the JSON property `unchangedCount`
1429
+ # @return [Fixnum]
1430
+ attr_accessor :unchanged_count
1431
+
1432
+ def initialize(**args)
1433
+ update!(**args)
1434
+ end
1435
+
1436
+ # Update properties of this object
1437
+ def update!(**args)
1438
+ @difference_count = args[:difference_count] if args.key?(:difference_count)
1439
+ @error_count = args[:error_count] if args.key?(:error_count)
1440
+ @log_count = args[:log_count] if args.key?(:log_count)
1441
+ @newest_date = args[:newest_date] if args.key?(:newest_date)
1442
+ @oldest_date = args[:oldest_date] if args.key?(:oldest_date)
1443
+ @unchanged_count = args[:unchanged_count] if args.key?(:unchanged_count)
1444
+ end
1445
+ end
1446
+
850
1447
  # ResourceContext provides the context we know about a resource. It is similar
851
1448
  # in concept to google.cloud.asset.v1.Resource, but focuses on the information
852
1449
  # specifically used by Simulator.
@@ -16,13 +16,13 @@ module Google
16
16
  module Apis
17
17
  module PolicysimulatorV1alpha
18
18
  # Version of the google-apis-policysimulator_v1alpha gem
19
- GEM_VERSION = "0.10.0"
19
+ GEM_VERSION = "0.11.0"
20
20
 
21
21
  # Version of the code generator used to generate this client
22
22
  GENERATOR_VERSION = "0.12.0"
23
23
 
24
24
  # Revision of the discovery document this client was generated from
25
- REVISION = "20230806"
25
+ REVISION = "20230904"
26
26
  end
27
27
  end
28
28
  end