google-api-client 0.37.0 → 0.37.1

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.
Files changed (133) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +76 -0
  3. data/generated/google/apis/accesscontextmanager_v1.rb +1 -1
  4. data/generated/google/apis/accesscontextmanager_v1/classes.rb +236 -22
  5. data/generated/google/apis/accesscontextmanager_v1/representations.rb +104 -0
  6. data/generated/google/apis/accesscontextmanager_v1/service.rb +135 -0
  7. data/generated/google/apis/accesscontextmanager_v1beta.rb +1 -1
  8. data/generated/google/apis/accesscontextmanager_v1beta/classes.rb +24 -22
  9. data/generated/google/apis/adexchangebuyer2_v2beta1.rb +1 -1
  10. data/generated/google/apis/alertcenter_v1beta1.rb +1 -1
  11. data/generated/google/apis/alertcenter_v1beta1/classes.rb +64 -0
  12. data/generated/google/apis/alertcenter_v1beta1/representations.rb +31 -0
  13. data/generated/google/apis/billingbudgets_v1beta1.rb +1 -1
  14. data/generated/google/apis/chat_v1.rb +1 -1
  15. data/generated/google/apis/chat_v1/classes.rb +10 -1
  16. data/generated/google/apis/chat_v1/representations.rb +1 -0
  17. data/generated/google/apis/classroom_v1.rb +1 -1
  18. data/generated/google/apis/cloudasset_v1.rb +1 -1
  19. data/generated/google/apis/cloudasset_v1/classes.rb +98 -34
  20. data/generated/google/apis/cloudasset_v1/representations.rb +19 -0
  21. data/generated/google/apis/cloudasset_v1beta1.rb +1 -1
  22. data/generated/google/apis/cloudbuild_v1.rb +1 -1
  23. data/generated/google/apis/cloudbuild_v1alpha1.rb +1 -1
  24. data/generated/google/apis/cloudbuild_v1alpha2.rb +1 -1
  25. data/generated/google/apis/cloudidentity_v1.rb +1 -1
  26. data/generated/google/apis/cloudidentity_v1/classes.rb +152 -151
  27. data/generated/google/apis/cloudidentity_v1/representations.rb +72 -72
  28. data/generated/google/apis/cloudidentity_v1beta1.rb +1 -1
  29. data/generated/google/apis/cloudidentity_v1beta1/classes.rb +0 -560
  30. data/generated/google/apis/cloudidentity_v1beta1/representations.rb +0 -226
  31. data/generated/google/apis/cloudtasks_v2.rb +1 -1
  32. data/generated/google/apis/cloudtasks_v2beta3.rb +1 -1
  33. data/generated/google/apis/cloudtrace_v2beta1.rb +44 -0
  34. data/generated/google/apis/cloudtrace_v2beta1/classes.rb +144 -0
  35. data/generated/google/apis/cloudtrace_v2beta1/representations.rb +82 -0
  36. data/generated/google/apis/cloudtrace_v2beta1/service.rb +258 -0
  37. data/generated/google/apis/compute_alpha.rb +1 -1
  38. data/generated/google/apis/compute_alpha/classes.rb +190 -46
  39. data/generated/google/apis/compute_alpha/representations.rb +35 -14
  40. data/generated/google/apis/compute_alpha/service.rb +40 -56
  41. data/generated/google/apis/compute_beta.rb +1 -1
  42. data/generated/google/apis/compute_beta/classes.rb +98 -24
  43. data/generated/google/apis/compute_beta/representations.rb +2 -0
  44. data/generated/google/apis/compute_beta/service.rb +1 -2
  45. data/generated/google/apis/compute_v1.rb +1 -1
  46. data/generated/google/apis/compute_v1/classes.rb +123 -19
  47. data/generated/google/apis/compute_v1/representations.rb +19 -0
  48. data/generated/google/apis/container_v1.rb +1 -1
  49. data/generated/google/apis/container_v1/classes.rb +2 -2
  50. data/generated/google/apis/container_v1beta1.rb +1 -1
  51. data/generated/google/apis/container_v1beta1/classes.rb +2 -2
  52. data/generated/google/apis/datacatalog_v1beta1.rb +1 -1
  53. data/generated/google/apis/datacatalog_v1beta1/classes.rb +4 -3
  54. data/generated/google/apis/datacatalog_v1beta1/service.rb +190 -17
  55. data/generated/google/apis/dataflow_v1b3.rb +1 -1
  56. data/generated/google/apis/dataflow_v1b3/classes.rb +40 -0
  57. data/generated/google/apis/dataflow_v1b3/representations.rb +16 -0
  58. data/generated/google/apis/dataproc_v1.rb +1 -1
  59. data/generated/google/apis/dataproc_v1/classes.rb +67 -0
  60. data/generated/google/apis/dataproc_v1/representations.rb +23 -0
  61. data/generated/google/apis/dataproc_v1beta2.rb +1 -1
  62. data/generated/google/apis/dlp_v2.rb +1 -1
  63. data/generated/google/apis/dlp_v2/classes.rb +2 -1
  64. data/generated/google/apis/docs_v1.rb +1 -1
  65. data/generated/google/apis/domainsrdap_v1.rb +1 -1
  66. data/generated/google/apis/driveactivity_v2.rb +1 -1
  67. data/generated/google/apis/file_v1.rb +1 -1
  68. data/generated/google/apis/file_v1/classes.rb +6 -19
  69. data/generated/google/apis/file_v1/service.rb +1 -1
  70. data/generated/google/apis/file_v1beta1.rb +1 -1
  71. data/generated/google/apis/file_v1beta1/classes.rb +4 -17
  72. data/generated/google/apis/firebase_v1beta1.rb +1 -1
  73. data/generated/google/apis/firebasedynamiclinks_v1.rb +1 -1
  74. data/generated/google/apis/fitness_v1.rb +1 -1
  75. data/generated/google/apis/fitness_v1/classes.rb +10 -5
  76. data/generated/google/apis/fitness_v1/service.rb +1 -1
  77. data/generated/google/apis/healthcare_v1beta1.rb +1 -1
  78. data/generated/google/apis/healthcare_v1beta1/classes.rb +3 -3
  79. data/generated/google/apis/homegraph_v1.rb +1 -1
  80. data/generated/google/apis/indexing_v3.rb +1 -1
  81. data/generated/google/apis/jobs_v2.rb +1 -1
  82. data/generated/google/apis/jobs_v3.rb +1 -1
  83. data/generated/google/apis/jobs_v3p1beta1.rb +1 -1
  84. data/generated/google/apis/logging_v2.rb +1 -1
  85. data/generated/google/apis/logging_v2/classes.rb +84 -0
  86. data/generated/google/apis/logging_v2/representations.rb +33 -0
  87. data/generated/google/apis/logging_v2/service.rb +680 -0
  88. data/generated/google/apis/monitoring_v3.rb +1 -1
  89. data/generated/google/apis/monitoring_v3/classes.rb +21 -18
  90. data/generated/google/apis/monitoring_v3/service.rb +27 -18
  91. data/generated/google/apis/oslogin_v1.rb +1 -1
  92. data/generated/google/apis/oslogin_v1alpha.rb +1 -1
  93. data/generated/google/apis/oslogin_v1beta.rb +1 -1
  94. data/generated/google/apis/people_v1.rb +1 -1
  95. data/generated/google/apis/prod_tt_sasportal_v1alpha1.rb +1 -1
  96. data/generated/google/apis/pubsub_v1.rb +1 -1
  97. data/generated/google/apis/pubsub_v1beta1a.rb +1 -1
  98. data/generated/google/apis/pubsub_v1beta2.rb +1 -1
  99. data/generated/google/apis/remotebuildexecution_v1.rb +1 -1
  100. data/generated/google/apis/remotebuildexecution_v1alpha.rb +1 -1
  101. data/generated/google/apis/remotebuildexecution_v2.rb +1 -1
  102. data/generated/google/apis/sasportal_v1alpha1.rb +1 -1
  103. data/generated/google/apis/script_v1.rb +1 -1
  104. data/generated/google/apis/secretmanager_v1.rb +35 -0
  105. data/generated/google/apis/secretmanager_v1/classes.rb +970 -0
  106. data/generated/google/apis/secretmanager_v1/representations.rb +388 -0
  107. data/generated/google/apis/secretmanager_v1/service.rb +675 -0
  108. data/generated/google/apis/serviceconsumermanagement_v1.rb +1 -1
  109. data/generated/google/apis/servicemanagement_v1.rb +1 -1
  110. data/generated/google/apis/servicemanagement_v1/classes.rb +36 -0
  111. data/generated/google/apis/servicemanagement_v1/representations.rb +1 -0
  112. data/generated/google/apis/servicenetworking_v1.rb +1 -1
  113. data/generated/google/apis/servicenetworking_v1/classes.rb +19 -0
  114. data/generated/google/apis/servicenetworking_v1/representations.rb +2 -0
  115. data/generated/google/apis/servicenetworking_v1beta.rb +1 -1
  116. data/generated/google/apis/serviceusage_v1.rb +1 -1
  117. data/generated/google/apis/serviceusage_v1beta1.rb +1 -1
  118. data/generated/google/apis/sheets_v4.rb +1 -1
  119. data/generated/google/apis/slides_v1.rb +1 -1
  120. data/generated/google/apis/spanner_v1.rb +1 -1
  121. data/generated/google/apis/speech_v1p1beta1.rb +1 -1
  122. data/generated/google/apis/storagetransfer_v1.rb +1 -1
  123. data/generated/google/apis/storagetransfer_v1/classes.rb +94 -85
  124. data/generated/google/apis/storagetransfer_v1/service.rb +17 -11
  125. data/generated/google/apis/tagmanager_v1.rb +1 -1
  126. data/generated/google/apis/tagmanager_v2.rb +1 -1
  127. data/generated/google/apis/testing_v1.rb +1 -1
  128. data/generated/google/apis/testing_v1/classes.rb +29 -0
  129. data/generated/google/apis/testing_v1/representations.rb +15 -0
  130. data/generated/google/apis/toolresults_v1.rb +1 -1
  131. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  132. data/lib/google/apis/version.rb +1 -1
  133. metadata +11 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5de48fc0c2772cbf8f2b8f7a7f912982c839b10c3fcd607836a1f65f8f139897
4
- data.tar.gz: a39d92bbb33208a0f9b4e557ce03fea3de7d95d38c0dcc946072d017af06dcf8
3
+ metadata.gz: 5f523307319d3a9e136ad4a32497178cc7dddd6852b9c7ae8313b4994eb6070a
4
+ data.tar.gz: abe4cfba878cd992ed786b75db216a73c079737fefb937e5b379ba5471ecedbd
5
5
  SHA512:
6
- metadata.gz: 48ef1e5237030df64b6649719202e6834b7fb727b5b88cb9bb52b77720ac48449ba4fda25d5ced1bdffa7bde6db74e1f252ada5b92d3d902222a70bca5c5c97b
7
- data.tar.gz: 180a285db164aa0b46ab8dfccc53b96433f3f0c2af424ed30aa1073463d178374e623b65880aea5225108335d083b1b4c237c180cf21f9e1aabcfe23def6d999
6
+ metadata.gz: 05ed4ca3ef6e071cf5c0bb9ab2d3312537544ef037a2f796b798ab19b05882af7e3c3855482851672abce1bf221a021a4d2af2a3a4d3261124cc6ba838efa6a0
7
+ data.tar.gz: 9a8691b1e0c6e6e2f49ba880062d7c5d7db1e09ffcea75734af464a932f74fb3cf9b392de5444c8afbbe97756ca3a3fd4f2cc01d5bc9ae449e029ca89b8dea8e
@@ -1,3 +1,79 @@
1
+ # 0.37.1
2
+ * Backwards compatible changes:
3
+ * Added `cloudtrace_v2beta1`
4
+ * Added `secretmanager_v1`
5
+ * Updated `accesscontextmanager_v1`
6
+ * Updated `accesscontextmanager_v1beta`
7
+ * Updated `adexchangebuyer2_v2beta1`
8
+ * Updated `alertcenter_v1beta1`
9
+ * Updated `billingbudgets_v1beta1`
10
+ * Updated `chat_v1`
11
+ * Updated `classroom_v1`
12
+ * Updated `cloudasset_v1`
13
+ * Updated `cloudasset_v1beta1`
14
+ * Updated `cloudbuild_v1`
15
+ * Updated `cloudbuild_v1alpha1`
16
+ * Updated `cloudbuild_v1alpha2`
17
+ * Updated `cloudidentity_v1`
18
+ * Updated `cloudidentity_v1beta1`
19
+ * Updated `cloudtasks_v2`
20
+ * Updated `cloudtasks_v2beta3`
21
+ * Updated `compute_alpha`
22
+ * Updated `compute_beta`
23
+ * Updated `compute_v1`
24
+ * Updated `container_v1`
25
+ * Updated `container_v1beta1`
26
+ * Updated `datacatalog_v1beta1`
27
+ * Updated `dataflow_v1b3`
28
+ * Updated `dataproc_v1`
29
+ * Updated `dataproc_v1beta2`
30
+ * Updated `dlp_v2`
31
+ * Updated `docs_v1`
32
+ * Updated `domainsrdap_v1`
33
+ * Updated `driveactivity_v2`
34
+ * Updated `file_v1`
35
+ * Updated `file_v1beta1`
36
+ * Updated `firebase_v1beta1`
37
+ * Updated `firebasedynamiclinks_v1`
38
+ * Updated `fitness_v1`
39
+ * Updated `healthcare_v1beta1`
40
+ * Updated `homegraph_v1`
41
+ * Updated `indexing_v3`
42
+ * Updated `jobs_v2`
43
+ * Updated `jobs_v3`
44
+ * Updated `jobs_v3p1beta1`
45
+ * Updated `logging_v2`
46
+ * Updated `monitoring_v3`
47
+ * Updated `oslogin_v1`
48
+ * Updated `oslogin_v1alpha`
49
+ * Updated `oslogin_v1beta`
50
+ * Updated `people_v1`
51
+ * Updated `prod_tt_sasportal_v1alpha1`
52
+ * Updated `pubsub_v1`
53
+ * Updated `pubsub_v1beta1a`
54
+ * Updated `pubsub_v1beta2`
55
+ * Updated `remotebuildexecution_v1`
56
+ * Updated `remotebuildexecution_v1alpha`
57
+ * Updated `remotebuildexecution_v2`
58
+ * Updated `sasportal_v1alpha1`
59
+ * Updated `script_v1`
60
+ * Updated `serviceconsumermanagement_v1`
61
+ * Updated `servicemanagement_v1`
62
+ * Updated `servicenetworking_v1`
63
+ * Updated `servicenetworking_v1beta`
64
+ * Updated `serviceusage_v1`
65
+ * Updated `serviceusage_v1beta1`
66
+ * Updated `sheets_v4`
67
+ * Updated `slides_v1`
68
+ * Updated `spanner_v1`
69
+ * Updated `speech_v1p1beta1`
70
+ * Updated `storagetransfer_v1`
71
+ * Updated `tagmanager_v1`
72
+ * Updated `tagmanager_v2`
73
+ * Updated `testing_v1`
74
+ * Updated `toolresults_v1`
75
+ * Updated `youtube_partner_v1`
76
+
1
77
  # 0.37.0
2
78
  * Breaking changes:
3
79
  * Deleted `analytics_v2_4`
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://cloud.google.com/access-context-manager/docs/reference/rest/
26
26
  module AccesscontextmanagerV1
27
27
  VERSION = 'V1'
28
- REVISION = '20200210'
28
+ REVISION = '20200215'
29
29
 
30
30
  # View and manage your data across Google Cloud Platform services
31
31
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
@@ -22,8 +22,9 @@ module Google
22
22
  module Apis
23
23
  module AccesscontextmanagerV1
24
24
 
25
- # An `AccessLevel` is a label that can be applied to requests to GCP services,
26
- # along with a list of requirements necessary for the label to be applied.
25
+ # An `AccessLevel` is a label that can be applied to requests to Google Cloud
26
+ # services, along with a list of requirements necessary for the label to be
27
+ # applied.
27
28
  class AccessLevel
28
29
  include Google::Apis::Core::Hashable
29
30
 
@@ -83,10 +84,10 @@ module Google
83
84
  end
84
85
 
85
86
  # `AccessPolicy` is a container for `AccessLevels` (which define the necessary
86
- # attributes to use GCP services) and `ServicePerimeters` (which define regions
87
- # of services able to freely pass data within a perimeter). An access policy is
88
- # globally visible within an organization, and the restrictions it specifies
89
- # apply to all projects within an organization.
87
+ # attributes to use Google Cloud services) and `ServicePerimeters` (which
88
+ # define regions of services able to freely pass data within a perimeter). An
89
+ # access policy is globally visible within an organization, and the
90
+ # restrictions it specifies apply to all projects within an organization.
90
91
  class AccessPolicy
91
92
  include Google::Apis::Core::Hashable
92
93
 
@@ -174,6 +175,52 @@ module Google
174
175
  end
175
176
  end
176
177
 
178
+ # A request to commit dry-run specs in all Service Perimeters belonging to
179
+ # an Access Policy.
180
+ class CommitServicePerimetersRequest
181
+ include Google::Apis::Core::Hashable
182
+
183
+ # Optional. The etag for the version of the Access Policy that this
184
+ # commit operation is to be performed on. If, at the time of commit, the
185
+ # etag for the Access Policy stored in Access Context Manager is different
186
+ # from the specified etag, then the commit operation will not be performed
187
+ # and the call will fail. This field is not required. If etag is not
188
+ # provided, the operation will be performed as if a valid etag is provided.
189
+ # Corresponds to the JSON property `etag`
190
+ # @return [String]
191
+ attr_accessor :etag
192
+
193
+ def initialize(**args)
194
+ update!(**args)
195
+ end
196
+
197
+ # Update properties of this object
198
+ def update!(**args)
199
+ @etag = args[:etag] if args.key?(:etag)
200
+ end
201
+ end
202
+
203
+ # A response to CommitServicePerimetersRequest. This will be put inside of
204
+ # Operation.response field.
205
+ class CommitServicePerimetersResponse
206
+ include Google::Apis::Core::Hashable
207
+
208
+ # List of all the Service Perimeter instances in
209
+ # the Access Policy.
210
+ # Corresponds to the JSON property `servicePerimeters`
211
+ # @return [Array<Google::Apis::AccesscontextmanagerV1::ServicePerimeter>]
212
+ attr_accessor :service_perimeters
213
+
214
+ def initialize(**args)
215
+ update!(**args)
216
+ end
217
+
218
+ # Update properties of this object
219
+ def update!(**args)
220
+ @service_perimeters = args[:service_perimeters] if args.key?(:service_perimeters)
221
+ end
222
+ end
223
+
177
224
  # A condition necessary for an `AccessLevel` to be granted. The Condition is an
178
225
  # AND over its fields. So a Condition is true if: 1) the request IP is from one
179
226
  # of the listed subnetworks AND 2) the originating device complies with the
@@ -645,15 +692,122 @@ module Google
645
692
  end
646
693
  end
647
694
 
648
- # `ServicePerimeter` describes a set of GCP resources which can freely import
649
- # and export data amongst themselves, but not export outside of the
695
+ # A request to replace all existing Access Levels in an Access Policy with
696
+ # the Access Levels provided. This is done within one transaction.
697
+ class ReplaceAccessLevelsRequest
698
+ include Google::Apis::Core::Hashable
699
+
700
+ # Required. The desired Access Levels that should
701
+ # replace all existing Access Levels in the
702
+ # Access Policy.
703
+ # Corresponds to the JSON property `accessLevels`
704
+ # @return [Array<Google::Apis::AccesscontextmanagerV1::AccessLevel>]
705
+ attr_accessor :access_levels
706
+
707
+ # Optional. The etag for the version of the Access Policy that this
708
+ # replace operation is to be performed on. If, at the time of replace, the
709
+ # etag for the Access Policy stored in Access Context Manager is different
710
+ # from the specified etag, then the replace operation will not be performed
711
+ # and the call will fail. This field is not required. If etag is not
712
+ # provided, the operation will be performed as if a valid etag is provided.
713
+ # Corresponds to the JSON property `etag`
714
+ # @return [String]
715
+ attr_accessor :etag
716
+
717
+ def initialize(**args)
718
+ update!(**args)
719
+ end
720
+
721
+ # Update properties of this object
722
+ def update!(**args)
723
+ @access_levels = args[:access_levels] if args.key?(:access_levels)
724
+ @etag = args[:etag] if args.key?(:etag)
725
+ end
726
+ end
727
+
728
+ # A response to ReplaceAccessLevelsRequest. This will be put inside of
729
+ # Operation.response field.
730
+ class ReplaceAccessLevelsResponse
731
+ include Google::Apis::Core::Hashable
732
+
733
+ # List of the Access Level instances.
734
+ # Corresponds to the JSON property `accessLevels`
735
+ # @return [Array<Google::Apis::AccesscontextmanagerV1::AccessLevel>]
736
+ attr_accessor :access_levels
737
+
738
+ def initialize(**args)
739
+ update!(**args)
740
+ end
741
+
742
+ # Update properties of this object
743
+ def update!(**args)
744
+ @access_levels = args[:access_levels] if args.key?(:access_levels)
745
+ end
746
+ end
747
+
748
+ # A request to replace all existing Service Perimeters in an Access Policy
749
+ # with the Service Perimeters provided. This is done within one transaction.
750
+ class ReplaceServicePerimetersRequest
751
+ include Google::Apis::Core::Hashable
752
+
753
+ # Optional. The etag for the version of the Access Policy that this
754
+ # replace operation is to be performed on. If, at the time of replace, the
755
+ # etag for the Access Policy stored in Access Context Manager is different
756
+ # from the specified etag, then the replace operation will not be performed
757
+ # and the call will fail. This field is not required. If etag is not
758
+ # provided, the operation will be performed as if a valid etag is provided.
759
+ # Corresponds to the JSON property `etag`
760
+ # @return [String]
761
+ attr_accessor :etag
762
+
763
+ # Required. The desired Service Perimeters that should
764
+ # replace all existing Service Perimeters in the
765
+ # Access Policy.
766
+ # Corresponds to the JSON property `servicePerimeters`
767
+ # @return [Array<Google::Apis::AccesscontextmanagerV1::ServicePerimeter>]
768
+ attr_accessor :service_perimeters
769
+
770
+ def initialize(**args)
771
+ update!(**args)
772
+ end
773
+
774
+ # Update properties of this object
775
+ def update!(**args)
776
+ @etag = args[:etag] if args.key?(:etag)
777
+ @service_perimeters = args[:service_perimeters] if args.key?(:service_perimeters)
778
+ end
779
+ end
780
+
781
+ # A response to ReplaceServicePerimetersRequest. This will be put inside of
782
+ # Operation.response field.
783
+ class ReplaceServicePerimetersResponse
784
+ include Google::Apis::Core::Hashable
785
+
786
+ # List of the Service Perimeter instances.
787
+ # Corresponds to the JSON property `servicePerimeters`
788
+ # @return [Array<Google::Apis::AccesscontextmanagerV1::ServicePerimeter>]
789
+ attr_accessor :service_perimeters
790
+
791
+ def initialize(**args)
792
+ update!(**args)
793
+ end
794
+
795
+ # Update properties of this object
796
+ def update!(**args)
797
+ @service_perimeters = args[:service_perimeters] if args.key?(:service_perimeters)
798
+ end
799
+ end
800
+
801
+ # `ServicePerimeter` describes a set of Google Cloud resources which can freely
802
+ # import and export data amongst themselves, but not export outside of the
650
803
  # `ServicePerimeter`. If a request with a source within this `ServicePerimeter`
651
804
  # has a target outside of the `ServicePerimeter`, the request will be blocked.
652
805
  # Otherwise the request is allowed. There are two types of Service Perimeter -
653
- # Regular and Bridge. Regular Service Perimeters cannot overlap, a single GCP
654
- # project can only belong to a single regular Service Perimeter. Service
655
- # Perimeter Bridges can contain only GCP projects as members, a single GCP
656
- # project may belong to multiple Service Perimeter Bridges.
806
+ # Regular and Bridge. Regular Service Perimeters cannot overlap, a single
807
+ # Google Cloud project can only belong to a single regular Service Perimeter.
808
+ # Service Perimeter Bridges can contain only Google Cloud projects as members,
809
+ # a single Google Cloud project may belong to multiple Service Perimeter
810
+ # Bridges.
657
811
  class ServicePerimeter
658
812
  include Google::Apis::Core::Hashable
659
813
 
@@ -685,8 +839,14 @@ module Google
685
839
  # @return [String]
686
840
  attr_accessor :perimeter_type
687
841
 
688
- # `ServicePerimeterConfig` specifies a set of GCP resources that describe
689
- # specific Service Perimeter configuration.
842
+ # `ServicePerimeterConfig` specifies a set of Google Cloud resources that
843
+ # describe specific Service Perimeter configuration.
844
+ # Corresponds to the JSON property `spec`
845
+ # @return [Google::Apis::AccesscontextmanagerV1::ServicePerimeterConfig]
846
+ attr_accessor :spec
847
+
848
+ # `ServicePerimeterConfig` specifies a set of Google Cloud resources that
849
+ # describe specific Service Perimeter configuration.
690
850
  # Corresponds to the JSON property `status`
691
851
  # @return [Google::Apis::AccesscontextmanagerV1::ServicePerimeterConfig]
692
852
  attr_accessor :status
@@ -701,6 +861,21 @@ module Google
701
861
  # @return [String]
702
862
  attr_accessor :update_time
703
863
 
864
+ # Use explicit dry run spec flag. Ordinarily, a dry-run spec implicitly
865
+ # exists for all Service Perimeters, and that spec is identical to the
866
+ # status for those Service Perimeters. When this flag is set, it inhibits the
867
+ # generation of the implicit spec, thereby allowing the user to explicitly
868
+ # provide a configuration ("spec") to use in a dry-run version of the Service
869
+ # Perimeter. This allows the user to test changes to the enforced config
870
+ # ("status") without actually enforcing them. This testing is done through
871
+ # analyzing the differences between currently enforced and suggested
872
+ # restrictions. use_explicit_dry_run_spec must bet set to True if any of the
873
+ # fields in the spec are set to non-default values.
874
+ # Corresponds to the JSON property `useExplicitDryRunSpec`
875
+ # @return [Boolean]
876
+ attr_accessor :use_explicit_dry_run_spec
877
+ alias_method :use_explicit_dry_run_spec?, :use_explicit_dry_run_spec
878
+
704
879
  def initialize(**args)
705
880
  update!(**args)
706
881
  end
@@ -711,14 +886,16 @@ module Google
711
886
  @description = args[:description] if args.key?(:description)
712
887
  @name = args[:name] if args.key?(:name)
713
888
  @perimeter_type = args[:perimeter_type] if args.key?(:perimeter_type)
889
+ @spec = args[:spec] if args.key?(:spec)
714
890
  @status = args[:status] if args.key?(:status)
715
891
  @title = args[:title] if args.key?(:title)
716
892
  @update_time = args[:update_time] if args.key?(:update_time)
893
+ @use_explicit_dry_run_spec = args[:use_explicit_dry_run_spec] if args.key?(:use_explicit_dry_run_spec)
717
894
  end
718
895
  end
719
896
 
720
- # `ServicePerimeterConfig` specifies a set of GCP resources that describe
721
- # specific Service Perimeter configuration.
897
+ # `ServicePerimeterConfig` specifies a set of Google Cloud resources that
898
+ # describe specific Service Perimeter configuration.
722
899
  class ServicePerimeterConfig
723
900
  include Google::Apis::Core::Hashable
724
901
 
@@ -726,27 +903,34 @@ module Google
726
903
  # `ServicePerimeter` to be accessed from the internet. `AccessLevels` listed
727
904
  # must be in the same policy as this `ServicePerimeter`. Referencing a
728
905
  # nonexistent `AccessLevel` is a syntax error. If no `AccessLevel` names are
729
- # listed, resources within the perimeter can only be accessed via GCP calls
730
- # with request origins within the perimeter. Example:
906
+ # listed, resources within the perimeter can only be accessed via Google
907
+ # Cloud calls with request origins within the perimeter. Example:
731
908
  # `"accessPolicies/MY_POLICY/accessLevels/MY_LEVEL"`.
732
909
  # For Service Perimeter Bridge, must be empty.
733
910
  # Corresponds to the JSON property `accessLevels`
734
911
  # @return [Array<String>]
735
912
  attr_accessor :access_levels
736
913
 
737
- # A list of GCP resources that are inside of the service perimeter.
914
+ # A list of Google Cloud resources that are inside of the service perimeter.
738
915
  # Currently only projects are allowed. Format: `projects/`project_number``
739
916
  # Corresponds to the JSON property `resources`
740
917
  # @return [Array<String>]
741
918
  attr_accessor :resources
742
919
 
743
- # GCP services that are subject to the Service Perimeter restrictions. For
744
- # example, if `storage.googleapis.com` is specified, access to the storage
745
- # buckets inside the perimeter must meet the perimeter's access restrictions.
920
+ # Google Cloud services that are subject to the Service Perimeter
921
+ # restrictions. For example, if `storage.googleapis.com` is specified, access
922
+ # to the storage buckets inside the perimeter must meet the perimeter's
923
+ # access restrictions.
746
924
  # Corresponds to the JSON property `restrictedServices`
747
925
  # @return [Array<String>]
748
926
  attr_accessor :restricted_services
749
927
 
928
+ # Specifies how APIs are allowed to communicate within the Service
929
+ # Perimeter.
930
+ # Corresponds to the JSON property `vpcAccessibleServices`
931
+ # @return [Google::Apis::AccesscontextmanagerV1::VpcAccessibleServices]
932
+ attr_accessor :vpc_accessible_services
933
+
750
934
  def initialize(**args)
751
935
  update!(**args)
752
936
  end
@@ -756,6 +940,7 @@ module Google
756
940
  @access_levels = args[:access_levels] if args.key?(:access_levels)
757
941
  @resources = args[:resources] if args.key?(:resources)
758
942
  @restricted_services = args[:restricted_services] if args.key?(:restricted_services)
943
+ @vpc_accessible_services = args[:vpc_accessible_services] if args.key?(:vpc_accessible_services)
759
944
  end
760
945
  end
761
946
 
@@ -797,6 +982,35 @@ module Google
797
982
  @message = args[:message] if args.key?(:message)
798
983
  end
799
984
  end
985
+
986
+ # Specifies how APIs are allowed to communicate within the Service
987
+ # Perimeter.
988
+ class VpcAccessibleServices
989
+ include Google::Apis::Core::Hashable
990
+
991
+ # The list of APIs usable within the Service Perimeter. Must be empty
992
+ # unless 'enable_restriction' is True.
993
+ # Corresponds to the JSON property `allowedServices`
994
+ # @return [Array<String>]
995
+ attr_accessor :allowed_services
996
+
997
+ # Whether to restrict API calls within the Service Perimeter to the list of
998
+ # APIs specified in 'allowed_services'.
999
+ # Corresponds to the JSON property `enableRestriction`
1000
+ # @return [Boolean]
1001
+ attr_accessor :enable_restriction
1002
+ alias_method :enable_restriction?, :enable_restriction
1003
+
1004
+ def initialize(**args)
1005
+ update!(**args)
1006
+ end
1007
+
1008
+ # Update properties of this object
1009
+ def update!(**args)
1010
+ @allowed_services = args[:allowed_services] if args.key?(:allowed_services)
1011
+ @enable_restriction = args[:enable_restriction] if args.key?(:enable_restriction)
1012
+ end
1013
+ end
800
1014
  end
801
1015
  end
802
1016
  end
@@ -46,6 +46,18 @@ module Google
46
46
  include Google::Apis::Core::JsonObjectSupport
47
47
  end
48
48
 
49
+ class CommitServicePerimetersRequest
50
+ class Representation < Google::Apis::Core::JsonRepresentation; end
51
+
52
+ include Google::Apis::Core::JsonObjectSupport
53
+ end
54
+
55
+ class CommitServicePerimetersResponse
56
+ class Representation < Google::Apis::Core::JsonRepresentation; end
57
+
58
+ include Google::Apis::Core::JsonObjectSupport
59
+ end
60
+
49
61
  class Condition
50
62
  class Representation < Google::Apis::Core::JsonRepresentation; end
51
63
 
@@ -112,6 +124,30 @@ module Google
112
124
  include Google::Apis::Core::JsonObjectSupport
113
125
  end
114
126
 
127
+ class ReplaceAccessLevelsRequest
128
+ class Representation < Google::Apis::Core::JsonRepresentation; end
129
+
130
+ include Google::Apis::Core::JsonObjectSupport
131
+ end
132
+
133
+ class ReplaceAccessLevelsResponse
134
+ class Representation < Google::Apis::Core::JsonRepresentation; end
135
+
136
+ include Google::Apis::Core::JsonObjectSupport
137
+ end
138
+
139
+ class ReplaceServicePerimetersRequest
140
+ class Representation < Google::Apis::Core::JsonRepresentation; end
141
+
142
+ include Google::Apis::Core::JsonObjectSupport
143
+ end
144
+
145
+ class ReplaceServicePerimetersResponse
146
+ class Representation < Google::Apis::Core::JsonRepresentation; end
147
+
148
+ include Google::Apis::Core::JsonObjectSupport
149
+ end
150
+
115
151
  class ServicePerimeter
116
152
  class Representation < Google::Apis::Core::JsonRepresentation; end
117
153
 
@@ -130,6 +166,12 @@ module Google
130
166
  include Google::Apis::Core::JsonObjectSupport
131
167
  end
132
168
 
169
+ class VpcAccessibleServices
170
+ class Representation < Google::Apis::Core::JsonRepresentation; end
171
+
172
+ include Google::Apis::Core::JsonObjectSupport
173
+ end
174
+
133
175
  class AccessLevel
134
176
  # @private
135
177
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -171,6 +213,21 @@ module Google
171
213
  end
172
214
  end
173
215
 
216
+ class CommitServicePerimetersRequest
217
+ # @private
218
+ class Representation < Google::Apis::Core::JsonRepresentation
219
+ property :etag, as: 'etag'
220
+ end
221
+ end
222
+
223
+ class CommitServicePerimetersResponse
224
+ # @private
225
+ class Representation < Google::Apis::Core::JsonRepresentation
226
+ collection :service_perimeters, as: 'servicePerimeters', class: Google::Apis::AccesscontextmanagerV1::ServicePerimeter, decorator: Google::Apis::AccesscontextmanagerV1::ServicePerimeter::Representation
227
+
228
+ end
229
+ end
230
+
174
231
  class Condition
175
232
  # @private
176
233
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -278,6 +335,40 @@ module Google
278
335
  end
279
336
  end
280
337
 
338
+ class ReplaceAccessLevelsRequest
339
+ # @private
340
+ class Representation < Google::Apis::Core::JsonRepresentation
341
+ collection :access_levels, as: 'accessLevels', class: Google::Apis::AccesscontextmanagerV1::AccessLevel, decorator: Google::Apis::AccesscontextmanagerV1::AccessLevel::Representation
342
+
343
+ property :etag, as: 'etag'
344
+ end
345
+ end
346
+
347
+ class ReplaceAccessLevelsResponse
348
+ # @private
349
+ class Representation < Google::Apis::Core::JsonRepresentation
350
+ collection :access_levels, as: 'accessLevels', class: Google::Apis::AccesscontextmanagerV1::AccessLevel, decorator: Google::Apis::AccesscontextmanagerV1::AccessLevel::Representation
351
+
352
+ end
353
+ end
354
+
355
+ class ReplaceServicePerimetersRequest
356
+ # @private
357
+ class Representation < Google::Apis::Core::JsonRepresentation
358
+ property :etag, as: 'etag'
359
+ collection :service_perimeters, as: 'servicePerimeters', class: Google::Apis::AccesscontextmanagerV1::ServicePerimeter, decorator: Google::Apis::AccesscontextmanagerV1::ServicePerimeter::Representation
360
+
361
+ end
362
+ end
363
+
364
+ class ReplaceServicePerimetersResponse
365
+ # @private
366
+ class Representation < Google::Apis::Core::JsonRepresentation
367
+ collection :service_perimeters, as: 'servicePerimeters', class: Google::Apis::AccesscontextmanagerV1::ServicePerimeter, decorator: Google::Apis::AccesscontextmanagerV1::ServicePerimeter::Representation
368
+
369
+ end
370
+ end
371
+
281
372
  class ServicePerimeter
282
373
  # @private
283
374
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -285,10 +376,13 @@ module Google
285
376
  property :description, as: 'description'
286
377
  property :name, as: 'name'
287
378
  property :perimeter_type, as: 'perimeterType'
379
+ property :spec, as: 'spec', class: Google::Apis::AccesscontextmanagerV1::ServicePerimeterConfig, decorator: Google::Apis::AccesscontextmanagerV1::ServicePerimeterConfig::Representation
380
+
288
381
  property :status, as: 'status', class: Google::Apis::AccesscontextmanagerV1::ServicePerimeterConfig, decorator: Google::Apis::AccesscontextmanagerV1::ServicePerimeterConfig::Representation
289
382
 
290
383
  property :title, as: 'title'
291
384
  property :update_time, as: 'updateTime'
385
+ property :use_explicit_dry_run_spec, as: 'useExplicitDryRunSpec'
292
386
  end
293
387
  end
294
388
 
@@ -298,6 +392,8 @@ module Google
298
392
  collection :access_levels, as: 'accessLevels'
299
393
  collection :resources, as: 'resources'
300
394
  collection :restricted_services, as: 'restrictedServices'
395
+ property :vpc_accessible_services, as: 'vpcAccessibleServices', class: Google::Apis::AccesscontextmanagerV1::VpcAccessibleServices, decorator: Google::Apis::AccesscontextmanagerV1::VpcAccessibleServices::Representation
396
+
301
397
  end
302
398
  end
303
399
 
@@ -309,6 +405,14 @@ module Google
309
405
  property :message, as: 'message'
310
406
  end
311
407
  end
408
+
409
+ class VpcAccessibleServices
410
+ # @private
411
+ class Representation < Google::Apis::Core::JsonRepresentation
412
+ collection :allowed_services, as: 'allowedServices'
413
+ property :enable_restriction, as: 'enableRestriction'
414
+ end
415
+ end
312
416
  end
313
417
  end
314
418
  end