google-api-client 0.10.1 → 0.10.2

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 (176) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +3 -0
  3. data/api_names.yaml +395 -0
  4. data/generated/google/apis/adexchangebuyer2_v2beta1.rb +1 -1
  5. data/generated/google/apis/adexchangebuyer2_v2beta1/classes.rb +254 -254
  6. data/generated/google/apis/adexchangebuyer2_v2beta1/representations.rb +65 -65
  7. data/generated/google/apis/adexchangebuyer2_v2beta1/service.rb +220 -220
  8. data/generated/google/apis/admin_directory_v1.rb +1 -1
  9. data/generated/google/apis/admin_directory_v1/classes.rb +106 -0
  10. data/generated/google/apis/admin_directory_v1/representations.rb +37 -0
  11. data/generated/google/apis/admin_reports_v1.rb +3 -3
  12. data/generated/google/apis/admin_reports_v1/service.rb +6 -6
  13. data/generated/google/apis/adsense_v1_4.rb +1 -1
  14. data/generated/google/apis/adsensehost_v4_1.rb +1 -1
  15. data/generated/google/apis/analytics_v3.rb +1 -1
  16. data/generated/google/apis/analytics_v3/service.rb +39 -0
  17. data/generated/google/apis/analyticsreporting_v4/classes.rb +920 -920
  18. data/generated/google/apis/analyticsreporting_v4/representations.rb +197 -197
  19. data/generated/google/apis/analyticsreporting_v4/service.rb +4 -4
  20. data/generated/google/apis/androidenterprise_v1.rb +1 -1
  21. data/generated/google/apis/androidenterprise_v1/classes.rb +8 -13
  22. data/generated/google/apis/androidenterprise_v1/service.rb +3 -3
  23. data/generated/google/apis/appengine_v1beta5.rb +1 -1
  24. data/generated/google/apis/appengine_v1beta5/classes.rb +115 -5
  25. data/generated/google/apis/appengine_v1beta5/representations.rb +37 -0
  26. data/generated/google/apis/appengine_v1beta5/service.rb +12 -9
  27. data/generated/google/apis/appstate_v1.rb +1 -1
  28. data/generated/google/apis/bigquery_v2.rb +1 -1
  29. data/generated/google/apis/bigquery_v2/classes.rb +32 -37
  30. data/generated/google/apis/bigquery_v2/service.rb +10 -2
  31. data/generated/google/apis/calendar_v3.rb +1 -1
  32. data/generated/google/apis/calendar_v3/classes.rb +205 -0
  33. data/generated/google/apis/calendar_v3/representations.rb +97 -0
  34. data/generated/google/apis/classroom_v1.rb +22 -25
  35. data/generated/google/apis/classroom_v1/classes.rb +998 -907
  36. data/generated/google/apis/classroom_v1/representations.rb +240 -240
  37. data/generated/google/apis/classroom_v1/service.rb +1269 -1061
  38. data/generated/google/apis/cloudbuild_v1.rb +1 -1
  39. data/generated/google/apis/cloudbuild_v1/classes.rb +164 -163
  40. data/generated/google/apis/cloudbuild_v1/representations.rb +31 -31
  41. data/generated/google/apis/cloudbuild_v1/service.rb +114 -114
  42. data/generated/google/apis/clouddebugger_v2.rb +1 -1
  43. data/generated/google/apis/clouddebugger_v2/classes.rb +687 -687
  44. data/generated/google/apis/clouddebugger_v2/representations.rb +147 -147
  45. data/generated/google/apis/clouddebugger_v2/service.rb +132 -132
  46. data/generated/google/apis/cloudkms_v1.rb +1 -1
  47. data/generated/google/apis/cloudkms_v1/classes.rb +231 -248
  48. data/generated/google/apis/cloudkms_v1/representations.rb +74 -74
  49. data/generated/google/apis/cloudkms_v1/service.rb +228 -228
  50. data/generated/google/apis/cloudmonitoring_v2beta2.rb +1 -1
  51. data/generated/google/apis/cloudresourcemanager_v1.rb +1 -1
  52. data/generated/google/apis/cloudresourcemanager_v1/classes.rb +738 -128
  53. data/generated/google/apis/cloudresourcemanager_v1/representations.rb +245 -23
  54. data/generated/google/apis/cloudresourcemanager_v1/service.rb +1293 -249
  55. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +4 -4
  56. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +982 -372
  57. data/generated/google/apis/cloudresourcemanager_v1beta1/representations.rb +293 -71
  58. data/generated/google/apis/cloudresourcemanager_v1beta1/service.rb +626 -277
  59. data/generated/google/apis/cloudtrace_v1.rb +1 -1
  60. data/generated/google/apis/cloudtrace_v1/classes.rb +19 -19
  61. data/generated/google/apis/cloudtrace_v1/representations.rb +2 -2
  62. data/generated/google/apis/cloudtrace_v1/service.rb +30 -30
  63. data/generated/google/apis/compute_beta.rb +1 -1
  64. data/generated/google/apis/compute_beta/classes.rb +116 -0
  65. data/generated/google/apis/compute_beta/representations.rb +48 -0
  66. data/generated/google/apis/compute_beta/service.rb +46 -1
  67. data/generated/google/apis/compute_v1.rb +1 -1
  68. data/generated/google/apis/dataflow_v1b3.rb +1 -1
  69. data/generated/google/apis/dataflow_v1b3/classes.rb +3276 -3320
  70. data/generated/google/apis/dataflow_v1b3/representations.rb +779 -781
  71. data/generated/google/apis/dataflow_v1b3/service.rb +225 -225
  72. data/generated/google/apis/dataproc_v1.rb +1 -1
  73. data/generated/google/apis/dataproc_v1/classes.rb +1221 -1207
  74. data/generated/google/apis/dataproc_v1/representations.rb +255 -253
  75. data/generated/google/apis/dataproc_v1/service.rb +100 -100
  76. data/generated/google/apis/deploymentmanager_v2.rb +1 -1
  77. data/generated/google/apis/deploymentmanager_v2/classes.rb +5 -5
  78. data/generated/google/apis/dns_v1.rb +1 -1
  79. data/generated/google/apis/dns_v2beta1.rb +1 -1
  80. data/generated/google/apis/doubleclicksearch_v2.rb +1 -1
  81. data/generated/google/apis/drive_v2.rb +1 -1
  82. data/generated/google/apis/drive_v2/classes.rb +3 -1
  83. data/generated/google/apis/drive_v3.rb +1 -1
  84. data/generated/google/apis/drive_v3/classes.rb +3 -1
  85. data/generated/google/apis/fusiontables_v2.rb +1 -1
  86. data/generated/google/apis/games_configuration_v1configuration.rb +1 -1
  87. data/generated/google/apis/games_management_v1management.rb +1 -1
  88. data/generated/google/apis/games_v1.rb +1 -1
  89. data/generated/google/apis/genomics_v1.rb +7 -7
  90. data/generated/google/apis/genomics_v1/classes.rb +959 -959
  91. data/generated/google/apis/genomics_v1/representations.rb +238 -238
  92. data/generated/google/apis/genomics_v1/service.rb +996 -996
  93. data/generated/google/apis/iam_v1.rb +1 -1
  94. data/generated/google/apis/iam_v1/classes.rb +440 -440
  95. data/generated/google/apis/iam_v1/representations.rb +94 -94
  96. data/generated/google/apis/iam_v1/service.rb +170 -173
  97. data/generated/google/apis/identitytoolkit_v3.rb +1 -1
  98. data/generated/google/apis/identitytoolkit_v3/classes.rb +55 -0
  99. data/generated/google/apis/identitytoolkit_v3/representations.rb +8 -0
  100. data/generated/google/apis/kgsearch_v1/service.rb +4 -4
  101. data/generated/google/apis/language_v1beta1.rb +1 -1
  102. data/generated/google/apis/language_v1beta1/classes.rb +427 -427
  103. data/generated/google/apis/language_v1beta1/representations.rb +113 -113
  104. data/generated/google/apis/language_v1beta1/service.rb +25 -24
  105. data/generated/google/apis/licensing_v1.rb +2 -2
  106. data/generated/google/apis/licensing_v1/classes.rb +14 -2
  107. data/generated/google/apis/licensing_v1/representations.rb +2 -0
  108. data/generated/google/apis/licensing_v1/service.rb +1 -1
  109. data/generated/google/apis/logging_v2beta1.rb +1 -1
  110. data/generated/google/apis/logging_v2beta1/classes.rb +864 -864
  111. data/generated/google/apis/logging_v2beta1/representations.rb +168 -168
  112. data/generated/google/apis/logging_v2beta1/service.rb +261 -261
  113. data/generated/google/apis/manufacturers_v1.rb +1 -1
  114. data/generated/google/apis/manufacturers_v1/classes.rb +452 -105
  115. data/generated/google/apis/manufacturers_v1/representations.rb +138 -18
  116. data/generated/google/apis/manufacturers_v1/service.rb +11 -11
  117. data/generated/google/apis/mirror_v1.rb +1 -1
  118. data/generated/google/apis/monitoring_v3.rb +7 -7
  119. data/generated/google/apis/monitoring_v3/classes.rb +668 -670
  120. data/generated/google/apis/monitoring_v3/representations.rb +140 -140
  121. data/generated/google/apis/monitoring_v3/service.rb +208 -208
  122. data/generated/google/apis/partners_v2.rb +1 -1
  123. data/generated/google/apis/partners_v2/classes.rb +505 -505
  124. data/generated/google/apis/partners_v2/representations.rb +118 -118
  125. data/generated/google/apis/partners_v2/service.rb +275 -275
  126. data/generated/google/apis/people_v1.rb +1 -1
  127. data/generated/google/apis/people_v1/classes.rb +1037 -1031
  128. data/generated/google/apis/people_v1/representations.rb +247 -246
  129. data/generated/google/apis/people_v1/service.rb +20 -20
  130. data/generated/google/apis/plus_domains_v1.rb +1 -1
  131. data/generated/google/apis/plus_v1.rb +1 -1
  132. data/generated/google/apis/proximitybeacon_v1beta1.rb +1 -1
  133. data/generated/google/apis/proximitybeacon_v1beta1/classes.rb +392 -392
  134. data/generated/google/apis/proximitybeacon_v1beta1/representations.rb +93 -93
  135. data/generated/google/apis/proximitybeacon_v1beta1/service.rb +381 -381
  136. data/generated/google/apis/pubsub_v1.rb +4 -4
  137. data/generated/google/apis/pubsub_v1/classes.rb +131 -132
  138. data/generated/google/apis/pubsub_v1/representations.rb +35 -35
  139. data/generated/google/apis/pubsub_v1/service.rb +399 -408
  140. data/generated/google/apis/reseller_v1.rb +1 -1
  141. data/generated/google/apis/reseller_v1/classes.rb +9 -0
  142. data/generated/google/apis/reseller_v1/representations.rb +1 -0
  143. data/generated/google/apis/script_v1.rb +9 -9
  144. data/generated/google/apis/script_v1/classes.rb +110 -110
  145. data/generated/google/apis/script_v1/representations.rb +26 -26
  146. data/generated/google/apis/sheets_v4.rb +4 -4
  147. data/generated/google/apis/sheets_v4/classes.rb +4329 -4329
  148. data/generated/google/apis/sheets_v4/representations.rb +856 -856
  149. data/generated/google/apis/sheets_v4/service.rb +106 -106
  150. data/generated/google/apis/slides_v1.rb +4 -4
  151. data/generated/google/apis/slides_v1/classes.rb +2923 -2841
  152. data/generated/google/apis/slides_v1/representations.rb +722 -691
  153. data/generated/google/apis/slides_v1/service.rb +58 -15
  154. data/generated/google/apis/speech_v1beta1.rb +1 -1
  155. data/generated/google/apis/speech_v1beta1/classes.rb +191 -191
  156. data/generated/google/apis/speech_v1beta1/representations.rb +57 -57
  157. data/generated/google/apis/speech_v1beta1/service.rb +70 -70
  158. data/generated/google/apis/storage_v1.rb +1 -1
  159. data/generated/google/apis/storage_v1/classes.rb +151 -0
  160. data/generated/google/apis/storage_v1/representations.rb +45 -0
  161. data/generated/google/apis/storage_v1/service.rb +248 -0
  162. data/generated/google/apis/vision_v1.rb +1 -1
  163. data/generated/google/apis/vision_v1/classes.rb +1227 -1221
  164. data/generated/google/apis/vision_v1/representations.rb +217 -215
  165. data/generated/google/apis/webmasters_v3.rb +1 -1
  166. data/generated/google/apis/youtube_analytics_v1.rb +1 -1
  167. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  168. data/generated/google/apis/youtube_partner_v1/classes.rb +78 -0
  169. data/generated/google/apis/youtube_partner_v1/representations.rb +34 -0
  170. data/generated/google/apis/youtube_partner_v1/service.rb +40 -0
  171. data/generated/google/apis/youtubereporting_v1.rb +4 -4
  172. data/generated/google/apis/youtubereporting_v1/classes.rb +65 -65
  173. data/generated/google/apis/youtubereporting_v1/representations.rb +18 -18
  174. data/generated/google/apis/youtubereporting_v1/service.rb +111 -111
  175. data/lib/google/apis/version.rb +1 -1
  176. metadata +2 -2
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://cloud.google.com/monitoring/v2beta2/
26
26
  module CloudmonitoringV2beta2
27
27
  VERSION = 'V2beta2'
28
- REVISION = '20170219'
28
+ REVISION = '20170323'
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'
@@ -26,7 +26,7 @@ module Google
26
26
  # @see https://cloud.google.com/resource-manager
27
27
  module CloudresourcemanagerV1
28
28
  VERSION = 'V1'
29
- REVISION = '20170301'
29
+ REVISION = '20170324'
30
30
 
31
31
  # View your data across Google Cloud Platform services
32
32
  AUTH_CLOUD_PLATFORM_READ_ONLY = 'https://www.googleapis.com/auth/cloud-platform.read-only'
@@ -22,6 +22,123 @@ module Google
22
22
  module Apis
23
23
  module CloudresourcemanagerV1
24
24
 
25
+ # Identifying information for a single ancestor of a project.
26
+ class Ancestor
27
+ include Google::Apis::Core::Hashable
28
+
29
+ # A container to reference an id for any resource type. A `resource` in Google
30
+ # Cloud Platform is a generic term for something you (a developer) may want to
31
+ # interact with through one of our API's. Some examples are an App Engine app,
32
+ # a Compute Engine instance, a Cloud SQL database, and so on.
33
+ # Corresponds to the JSON property `resourceId`
34
+ # @return [Google::Apis::CloudresourcemanagerV1::ResourceId]
35
+ attr_accessor :resource_id
36
+
37
+ def initialize(**args)
38
+ update!(**args)
39
+ end
40
+
41
+ # Update properties of this object
42
+ def update!(**args)
43
+ @resource_id = args[:resource_id] if args.key?(:resource_id)
44
+ end
45
+ end
46
+
47
+ # A `Constraint` that allows or disallows a list of string values, which are
48
+ # configured by an Organization's policy administrator with a `Policy`.
49
+ class ListConstraint
50
+ include Google::Apis::Core::Hashable
51
+
52
+ # Optional. The Google Cloud Console will try to default to a configuration
53
+ # that matches the value specified in this `Constraint`.
54
+ # Corresponds to the JSON property `suggestedValue`
55
+ # @return [String]
56
+ attr_accessor :suggested_value
57
+
58
+ def initialize(**args)
59
+ update!(**args)
60
+ end
61
+
62
+ # Update properties of this object
63
+ def update!(**args)
64
+ @suggested_value = args[:suggested_value] if args.key?(:suggested_value)
65
+ end
66
+ end
67
+
68
+ # The request sent to the SetOrgPolicyRequest method.
69
+ class SetOrgPolicyRequest
70
+ include Google::Apis::Core::Hashable
71
+
72
+ # Defines a Cloud Organization `Policy` which is used to specify `Constraints`
73
+ # for configurations of Cloud Platform resources.
74
+ # Corresponds to the JSON property `policy`
75
+ # @return [Google::Apis::CloudresourcemanagerV1::OrgPolicy]
76
+ attr_accessor :policy
77
+
78
+ def initialize(**args)
79
+ update!(**args)
80
+ end
81
+
82
+ # Update properties of this object
83
+ def update!(**args)
84
+ @policy = args[:policy] if args.key?(:policy)
85
+ end
86
+ end
87
+
88
+ # Request message for `SetIamPolicy` method.
89
+ class SetIamPolicyRequest
90
+ include Google::Apis::Core::Hashable
91
+
92
+ # Defines an Identity and Access Management (IAM) policy. It is used to
93
+ # specify access control policies for Cloud Platform resources.
94
+ # A `Policy` consists of a list of `bindings`. A `Binding` binds a list of
95
+ # `members` to a `role`, where the members can be user accounts, Google groups,
96
+ # Google domains, and service accounts. A `role` is a named list of permissions
97
+ # defined by IAM.
98
+ # **Example**
99
+ # `
100
+ # "bindings": [
101
+ # `
102
+ # "role": "roles/owner",
103
+ # "members": [
104
+ # "user:mike@example.com",
105
+ # "group:admins@example.com",
106
+ # "domain:google.com",
107
+ # "serviceAccount:my-other-app@appspot.gserviceaccount.com",
108
+ # ]
109
+ # `,
110
+ # `
111
+ # "role": "roles/viewer",
112
+ # "members": ["user:sean@example.com"]
113
+ # `
114
+ # ]
115
+ # `
116
+ # For a description of IAM and its features, see the
117
+ # [IAM developer's guide](https://cloud.google.com/iam).
118
+ # Corresponds to the JSON property `policy`
119
+ # @return [Google::Apis::CloudresourcemanagerV1::Policy]
120
+ attr_accessor :policy
121
+
122
+ # OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only
123
+ # the fields in the mask will be modified. If no mask is provided, the
124
+ # following default mask is used:
125
+ # paths: "bindings, etag"
126
+ # This field is only used by Cloud IAM.
127
+ # Corresponds to the JSON property `updateMask`
128
+ # @return [String]
129
+ attr_accessor :update_mask
130
+
131
+ def initialize(**args)
132
+ update!(**args)
133
+ end
134
+
135
+ # Update properties of this object
136
+ def update!(**args)
137
+ @policy = args[:policy] if args.key?(:policy)
138
+ @update_mask = args[:update_mask] if args.key?(:update_mask)
139
+ end
140
+ end
141
+
25
142
  # A generic empty message that you can re-use to avoid defining duplicated
26
143
  # empty messages in your APIs. A typical example is to use it as the request
27
144
  # or the response type of an API method. For instance:
@@ -46,6 +163,12 @@ module Google
46
163
  class Organization
47
164
  include Google::Apis::Core::Hashable
48
165
 
166
+ # Timestamp when the Organization was created. Assigned by the server.
167
+ # @OutputOnly
168
+ # Corresponds to the JSON property `creationTime`
169
+ # @return [String]
170
+ attr_accessor :creation_time
171
+
49
172
  # The entity that owns an Organization. The lifetime of the Organization and
50
173
  # all of its descendants are bound to the `OrganizationOwner`. If the
51
174
  # `OrganizationOwner` is deleted, the Organization and all its descendants will
@@ -75,23 +198,174 @@ module Google
75
198
  # @return [String]
76
199
  attr_accessor :display_name
77
200
 
78
- # Timestamp when the Organization was created. Assigned by the server.
79
- # @OutputOnly
80
- # Corresponds to the JSON property `creationTime`
81
- # @return [String]
82
- attr_accessor :creation_time
83
-
84
201
  def initialize(**args)
85
202
  update!(**args)
86
203
  end
87
204
 
88
205
  # Update properties of this object
89
206
  def update!(**args)
207
+ @creation_time = args[:creation_time] if args.key?(:creation_time)
90
208
  @owner = args[:owner] if args.key?(:owner)
91
209
  @lifecycle_state = args[:lifecycle_state] if args.key?(:lifecycle_state)
92
210
  @name = args[:name] if args.key?(:name)
93
211
  @display_name = args[:display_name] if args.key?(:display_name)
94
- @creation_time = args[:creation_time] if args.key?(:creation_time)
212
+ end
213
+ end
214
+
215
+ # The response returned from the ListAvailableOrgPolicyConstraints method.
216
+ # Returns all `Constraints` that could be set at this level of the hierarchy
217
+ # (contrast with the response from `ListPolicies`, which returns all policies
218
+ # which are set).
219
+ class ListAvailableOrgPolicyConstraintsResponse
220
+ include Google::Apis::Core::Hashable
221
+
222
+ # Page token used to retrieve the next page. This is currently not used.
223
+ # Corresponds to the JSON property `nextPageToken`
224
+ # @return [String]
225
+ attr_accessor :next_page_token
226
+
227
+ # The collection of constraints that are settable on the request resource.
228
+ # Corresponds to the JSON property `constraints`
229
+ # @return [Array<Google::Apis::CloudresourcemanagerV1::Constraint>]
230
+ attr_accessor :constraints
231
+
232
+ def initialize(**args)
233
+ update!(**args)
234
+ end
235
+
236
+ # Update properties of this object
237
+ def update!(**args)
238
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
239
+ @constraints = args[:constraints] if args.key?(:constraints)
240
+ end
241
+ end
242
+
243
+ # Used in `policy_type` to specify how `list_policy` behaves at this
244
+ # resource.
245
+ # A `ListPolicy` can define specific values that are allowed or denied by
246
+ # setting either the `allowed_values` or `denied_values` fields. It can also
247
+ # be used to allow or deny all values, by setting the `all_values` field. If
248
+ # `all_values` is `ALL_VALUES_UNSPECIFIED`, exactly one of `allowed_values`
249
+ # or `denied_values` must be set (attempting to set both or neither will
250
+ # result in a failed request). If `all_values` is set to either `ALLOW` or
251
+ # `DENY`, `allowed_values` and `denied_values` must be unset.
252
+ class ListPolicy
253
+ include Google::Apis::Core::Hashable
254
+
255
+ # List of values allowed at this resource. an only be set if no values are
256
+ # set for `denied_values` and `all_values` is set to
257
+ # `ALL_VALUES_UNSPECIFIED`.
258
+ # Corresponds to the JSON property `allowedValues`
259
+ # @return [Array<String>]
260
+ attr_accessor :allowed_values
261
+
262
+ # Optional. The Google Cloud Console will try to default to a configuration
263
+ # that matches the value specified in this `Policy`. If `suggested_value`
264
+ # is not set, it will inherit the value specified higher in the hierarchy,
265
+ # unless `inherit_from_parent` is `false`.
266
+ # Corresponds to the JSON property `suggestedValue`
267
+ # @return [String]
268
+ attr_accessor :suggested_value
269
+
270
+ # Determines the inheritance behavior for this `Policy`.
271
+ # By default, a `ListPolicy` set at a resource supercedes any `Policy` set
272
+ # anywhere up the resource hierarchy. However, if `inherit_from_parent` is
273
+ # set to `true`, then the values from the effective `Policy` of the parent
274
+ # resource are inherited, meaning the values set in this `Policy` are
275
+ # added to the values inherited up the hierarchy.
276
+ # Setting `Policy` hierarchies that inherit both allowed values and denied
277
+ # values isn't recommended in most circumstances to keep the configuration
278
+ # simple and understandable. However, it is possible to set a `Policy` with
279
+ # `allowed_values` set that inherits a `Policy` with `denied_values` set.
280
+ # In this case, the values that are allowed must be in `allowed_values` and
281
+ # not present in `denied_values`.
282
+ # For example, suppose you have a `Constraint`
283
+ # `constraints/serviceuser.services`, which has a `constraint_type` of
284
+ # `list_constraint`, and with `constraint_default` set to `ALLOW`.
285
+ # Suppose that at the Organization level, a `Policy` is applied that
286
+ # restricts the allowed API activations to ``E1`, `E2``. Then, if a
287
+ # `Policy` is applied to a project below the Organization that has
288
+ # `inherit_from_parent` set to `false` and field all_values set to DENY,
289
+ # then an attempt to activate any API will be denied.
290
+ # The following examples demonstrate different possible layerings:
291
+ # Example 1 (no inherited values):
292
+ # `organizations/foo` has a `Policy` with values:
293
+ # `allowed_values: “E1” allowed_values:”E2”`
294
+ # ``projects/bar`` has `inherit_from_parent` `false` and values:
295
+ # `allowed_values: "E3" allowed_values: "E4"`
296
+ # The accepted values at `organizations/foo` are `E1`, `E2`.
297
+ # The accepted values at `projects/bar` are `E3`, and `E4`.
298
+ # Example 2 (inherited values):
299
+ # `organizations/foo` has a `Policy` with values:
300
+ # `allowed_values: “E1” allowed_values:”E2”`
301
+ # `projects/bar` has a `Policy` with values:
302
+ # `value: “E3” value: ”E4” inherit_from_parent: true`
303
+ # The accepted values at `organizations/foo` are `E1`, `E2`.
304
+ # The accepted values at `projects/bar` are `E1`, `E2`, `E3`, and `E4`.
305
+ # Example 3 (inheriting both allowed and denied values):
306
+ # `organizations/foo` has a `Policy` with values:
307
+ # `allowed_values: "E1" allowed_values: "E2"`
308
+ # `projects/bar` has a `Policy` with:
309
+ # `denied_values: "E1"`
310
+ # The accepted values at `organizations/foo` are `E1`, `E2`.
311
+ # The value accepted at `projects/bar` is `E2`.
312
+ # Example 4 (RestoreDefault):
313
+ # `organizations/foo` has a `Policy` with values:
314
+ # `allowed_values: “E1” allowed_values:”E2”`
315
+ # `projects/bar` has a `Policy` with values:
316
+ # `RestoreDefault: ```
317
+ # The accepted values at `organizations/foo` are `E1`, `E2`.
318
+ # The accepted values at `projects/bar` are either all or none depending on
319
+ # the value of `constraint_default` (if `ALLOW`, all; if
320
+ # `DENY`, none).
321
+ # Example 5 (no policy inherits parent policy):
322
+ # `organizations/foo` has no `Policy` set.
323
+ # `projects/bar` has no `Policy` set.
324
+ # The accepted values at both levels are either all or none depending on
325
+ # the value of `constraint_default` (if `ALLOW`, all; if
326
+ # `DENY`, none).
327
+ # Example 6 (ListConstraint allowing all):
328
+ # `organizations/foo` has a `Policy` with values:
329
+ # `allowed_values: “E1” allowed_values: ”E2”`
330
+ # `projects/bar` has a `Policy` with:
331
+ # `all: ALLOW`
332
+ # The accepted values at `organizations/foo` are `E1`, E2`.
333
+ # Any value is accepted at `projects/bar`.
334
+ # Example 7 (ListConstraint allowing none):
335
+ # `organizations/foo` has a `Policy` with values:
336
+ # `allowed_values: “E1” allowed_values: ”E2”`
337
+ # `projects/bar` has a `Policy` with:
338
+ # `all: DENY`
339
+ # The accepted values at `organizations/foo` are `E1`, E2`.
340
+ # No value is accepted at `projects/bar`.
341
+ # Corresponds to the JSON property `inheritFromParent`
342
+ # @return [Boolean]
343
+ attr_accessor :inherit_from_parent
344
+ alias_method :inherit_from_parent?, :inherit_from_parent
345
+
346
+ # List of values denied at this resource. Can only be set if no values are
347
+ # set for `allowed_values` and `all_values` is set to
348
+ # `ALL_VALUES_UNSPECIFIED`.
349
+ # Corresponds to the JSON property `deniedValues`
350
+ # @return [Array<String>]
351
+ attr_accessor :denied_values
352
+
353
+ # The policy all_values state.
354
+ # Corresponds to the JSON property `allValues`
355
+ # @return [String]
356
+ attr_accessor :all_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
+ @suggested_value = args[:suggested_value] if args.key?(:suggested_value)
366
+ @inherit_from_parent = args[:inherit_from_parent] if args.key?(:inherit_from_parent)
367
+ @denied_values = args[:denied_values] if args.key?(:denied_values)
368
+ @all_values = args[:all_values] if args.key?(:all_values)
95
369
  end
96
370
  end
97
371
 
@@ -163,6 +437,19 @@ module Google
163
437
  class SearchOrganizationsRequest
164
438
  include Google::Apis::Core::Hashable
165
439
 
440
+ # A pagination token returned from a previous call to `SearchOrganizations`
441
+ # that indicates from where listing should continue.
442
+ # This field is optional.
443
+ # Corresponds to the JSON property `pageToken`
444
+ # @return [String]
445
+ attr_accessor :page_token
446
+
447
+ # The maximum number of Organizations to return in the response.
448
+ # This field is optional.
449
+ # Corresponds to the JSON property `pageSize`
450
+ # @return [Fixnum]
451
+ attr_accessor :page_size
452
+
166
453
  # An optional query string used to filter the Organizations to return in
167
454
  # the response. Filter rules are case-insensitive.
168
455
  # Organizations may be filtered by `owner.directoryCustomerId` or by
@@ -177,28 +464,15 @@ module Google
177
464
  # @return [String]
178
465
  attr_accessor :filter
179
466
 
180
- # A pagination token returned from a previous call to `SearchOrganizations`
181
- # that indicates from where listing should continue.
182
- # This field is optional.
183
- # Corresponds to the JSON property `pageToken`
184
- # @return [String]
185
- attr_accessor :page_token
186
-
187
- # The maximum number of Organizations to return in the response.
188
- # This field is optional.
189
- # Corresponds to the JSON property `pageSize`
190
- # @return [Fixnum]
191
- attr_accessor :page_size
192
-
193
467
  def initialize(**args)
194
468
  update!(**args)
195
469
  end
196
470
 
197
471
  # Update properties of this object
198
472
  def update!(**args)
199
- @filter = args[:filter] if args.key?(:filter)
200
473
  @page_token = args[:page_token] if args.key?(:page_token)
201
474
  @page_size = args[:page_size] if args.key?(:page_size)
475
+ @filter = args[:filter] if args.key?(:filter)
202
476
  end
203
477
  end
204
478
 
@@ -350,6 +624,35 @@ module Google
350
624
  end
351
625
  end
352
626
 
627
+ # The request sent to the [ListAvailableOrgPolicyConstraints]
628
+ # google.cloud.OrgPolicy.v1.ListAvailableOrgPolicyConstraints] method.
629
+ class ListAvailableOrgPolicyConstraintsRequest
630
+ include Google::Apis::Core::Hashable
631
+
632
+ # Page token used to retrieve the next page. This is currently unsupported
633
+ # and will be ignored. The server may at any point start using this field.
634
+ # Corresponds to the JSON property `pageToken`
635
+ # @return [String]
636
+ attr_accessor :page_token
637
+
638
+ # Size of the pages to be returned. This is currently unsupported and will
639
+ # be ignored. The server may at any point start using this field to limit
640
+ # page size.
641
+ # Corresponds to the JSON property `pageSize`
642
+ # @return [Fixnum]
643
+ attr_accessor :page_size
644
+
645
+ def initialize(**args)
646
+ update!(**args)
647
+ end
648
+
649
+ # Update properties of this object
650
+ def update!(**args)
651
+ @page_token = args[:page_token] if args.key?(:page_token)
652
+ @page_size = args[:page_size] if args.key?(:page_size)
653
+ end
654
+ end
655
+
353
656
  # A container to reference an id for any resource type. A `resource` in Google
354
657
  # Cloud Platform is a generic term for something you (a developer) may want to
355
658
  # interact with through one of our API's. Some examples are an App Engine app,
@@ -357,17 +660,37 @@ module Google
357
660
  class ResourceId
358
661
  include Google::Apis::Core::Hashable
359
662
 
663
+ # Required field representing the resource type this id is for.
664
+ # At present, the valid types are: "organization"
665
+ # Corresponds to the JSON property `type`
666
+ # @return [String]
667
+ attr_accessor :type
668
+
360
669
  # Required field for the type-specific id. This should correspond to the id
361
670
  # used in the type-specific API's.
362
671
  # Corresponds to the JSON property `id`
363
672
  # @return [String]
364
673
  attr_accessor :id
365
674
 
366
- # Required field representing the resource type this id is for.
367
- # At present, the valid types are: "organization"
368
- # Corresponds to the JSON property `type`
675
+ def initialize(**args)
676
+ update!(**args)
677
+ end
678
+
679
+ # Update properties of this object
680
+ def update!(**args)
681
+ @type = args[:type] if args.key?(:type)
682
+ @id = args[:id] if args.key?(:id)
683
+ end
684
+ end
685
+
686
+ # The request sent to the GetEffectiveOrgPolicy method.
687
+ class GetEffectiveOrgPolicyRequest
688
+ include Google::Apis::Core::Hashable
689
+
690
+ # The name of the `Constraint` to compute the effective `Policy`.
691
+ # Corresponds to the JSON property `constraint`
369
692
  # @return [String]
370
- attr_accessor :type
693
+ attr_accessor :constraint
371
694
 
372
695
  def initialize(**args)
373
696
  update!(**args)
@@ -375,14 +698,41 @@ module Google
375
698
 
376
699
  # Update properties of this object
377
700
  def update!(**args)
378
- @id = args[:id] if args.key?(:id)
379
- @type = args[:type] if args.key?(:type)
701
+ @constraint = args[:constraint] if args.key?(:constraint)
702
+ end
703
+ end
704
+
705
+ # The request sent to the ListOrgPolicies method.
706
+ class ListOrgPoliciesRequest
707
+ include Google::Apis::Core::Hashable
708
+
709
+ # Page token used to retrieve the next page. This is currently unsupported
710
+ # and will be ignored. The server may at any point start using this field.
711
+ # Corresponds to the JSON property `pageToken`
712
+ # @return [String]
713
+ attr_accessor :page_token
714
+
715
+ # Size of the pages to be returned. This is currently unsupported and will
716
+ # be ignored. The server may at any point start using this field to limit
717
+ # page size.
718
+ # Corresponds to the JSON property `pageSize`
719
+ # @return [Fixnum]
720
+ attr_accessor :page_size
721
+
722
+ def initialize(**args)
723
+ update!(**args)
724
+ end
725
+
726
+ # Update properties of this object
727
+ def update!(**args)
728
+ @page_token = args[:page_token] if args.key?(:page_token)
729
+ @page_size = args[:page_size] if args.key?(:page_size)
380
730
  end
381
731
  end
382
732
 
383
733
  # Specifies the audit configuration for a service.
384
- # It consists of which permission types are logged, and what identities, if
385
- # any, are exempted from logging.
734
+ # The configuration determines which permission types are logged, and what
735
+ # identities, if any, are exempted from logging.
386
736
  # An AuditConifg must have one or more AuditLogConfigs.
387
737
  # If there are AuditConfigs for both `allServices` and a specific service,
388
738
  # the union of the two AuditConfigs is used for that service: the log_types
@@ -431,7 +781,7 @@ module Google
431
781
  include Google::Apis::Core::Hashable
432
782
 
433
783
  # Specifies a service that will be enabled for audit logging.
434
- # For example, `resourcemanager`, `storage`, `compute`.
784
+ # For example, `storage.googleapis.com`, `cloudsql.googleapis.com`.
435
785
  # `allServices` is a special value that covers all services.
436
786
  # Corresponds to the JSON property `service`
437
787
  # @return [String]
@@ -593,13 +943,6 @@ module Google
593
943
  class Status
594
944
  include Google::Apis::Core::Hashable
595
945
 
596
- # A developer-facing error message, which should be in English. Any
597
- # user-facing error message should be localized and sent in the
598
- # google.rpc.Status.details field, or localized by the client.
599
- # Corresponds to the JSON property `message`
600
- # @return [String]
601
- attr_accessor :message
602
-
603
946
  # A list of messages that carry the error details. There will be a
604
947
  # common set of message types for APIs to use.
605
948
  # Corresponds to the JSON property `details`
@@ -611,15 +954,22 @@ module Google
611
954
  # @return [Fixnum]
612
955
  attr_accessor :code
613
956
 
957
+ # A developer-facing error message, which should be in English. Any
958
+ # user-facing error message should be localized and sent in the
959
+ # google.rpc.Status.details field, or localized by the client.
960
+ # Corresponds to the JSON property `message`
961
+ # @return [String]
962
+ attr_accessor :message
963
+
614
964
  def initialize(**args)
615
965
  update!(**args)
616
966
  end
617
967
 
618
968
  # Update properties of this object
619
969
  def update!(**args)
620
- @message = args[:message] if args.key?(:message)
621
970
  @details = args[:details] if args.key?(:details)
622
971
  @code = args[:code] if args.key?(:code)
972
+ @message = args[:message] if args.key?(:message)
623
973
  end
624
974
  end
625
975
 
@@ -649,6 +999,81 @@ module Google
649
999
  end
650
1000
  end
651
1001
 
1002
+ # A `Constraint` describes a way in which a resource's configuration can be
1003
+ # restricted. For example, it controls which cloud services can be activated
1004
+ # across an organization, or whether a Compute Engine instance can have
1005
+ # serial port connections established. `Constraints` can be configured by the
1006
+ # organization's policy adminstrator to fit the needs of the organzation by
1007
+ # setting Policies for `Constraints` at different locations in the
1008
+ # organization's resource hierarchy. Policies are inherited down the resource
1009
+ # hierarchy from higher levels, but can also be overridden. For details about
1010
+ # the inheritance rules please read about
1011
+ # Policies.
1012
+ # `Constraints` have a default behavior determined by the `constraint_default`
1013
+ # field, which is the enforcement behavior that is used in the absence of a
1014
+ # `Policy` being defined or inherited for the resource in question.
1015
+ class Constraint
1016
+ include Google::Apis::Core::Hashable
1017
+
1018
+ # Version of the `Constraint`. Default version is 0;
1019
+ # Corresponds to the JSON property `version`
1020
+ # @return [Fixnum]
1021
+ attr_accessor :version
1022
+
1023
+ # A `Constraint` that allows or disallows a list of string values, which are
1024
+ # configured by an Organization's policy administrator with a `Policy`.
1025
+ # Corresponds to the JSON property `listConstraint`
1026
+ # @return [Google::Apis::CloudresourcemanagerV1::ListConstraint]
1027
+ attr_accessor :list_constraint
1028
+
1029
+ # The human readable name.
1030
+ # Mutable.
1031
+ # Corresponds to the JSON property `displayName`
1032
+ # @return [String]
1033
+ attr_accessor :display_name
1034
+
1035
+ # Detailed description of what this `Constraint` controls as well as how and
1036
+ # where it is enforced.
1037
+ # Mutable.
1038
+ # Corresponds to the JSON property `description`
1039
+ # @return [String]
1040
+ attr_accessor :description
1041
+
1042
+ # A `Constraint` that is either enforced or not.
1043
+ # For example a constraint `constraints/compute.disableSerialPortAccess`.
1044
+ # If it is enforced on a VM instance, serial port connections will not be
1045
+ # opened to that instance.
1046
+ # Corresponds to the JSON property `booleanConstraint`
1047
+ # @return [Google::Apis::CloudresourcemanagerV1::BooleanConstraint]
1048
+ attr_accessor :boolean_constraint
1049
+
1050
+ # The evaluation behavior of this constraint in the absense of 'Policy'.
1051
+ # Corresponds to the JSON property `constraintDefault`
1052
+ # @return [String]
1053
+ attr_accessor :constraint_default
1054
+
1055
+ # Immutable value, required to globally be unique. For example,
1056
+ # `constraints/serviceuser.services`
1057
+ # Corresponds to the JSON property `name`
1058
+ # @return [String]
1059
+ attr_accessor :name
1060
+
1061
+ def initialize(**args)
1062
+ update!(**args)
1063
+ end
1064
+
1065
+ # Update properties of this object
1066
+ def update!(**args)
1067
+ @version = args[:version] if args.key?(:version)
1068
+ @list_constraint = args[:list_constraint] if args.key?(:list_constraint)
1069
+ @display_name = args[:display_name] if args.key?(:display_name)
1070
+ @description = args[:description] if args.key?(:description)
1071
+ @boolean_constraint = args[:boolean_constraint] if args.key?(:boolean_constraint)
1072
+ @constraint_default = args[:constraint_default] if args.key?(:constraint_default)
1073
+ @name = args[:name] if args.key?(:name)
1074
+ end
1075
+ end
1076
+
652
1077
  # Associates `members` with a `role`.
653
1078
  class Binding
654
1079
  include Google::Apis::Core::Hashable
@@ -689,6 +1114,74 @@ module Google
689
1114
  end
690
1115
  end
691
1116
 
1117
+ # Ignores policies set above this resource and restores the
1118
+ # `constraint_default` enforcement behavior of the specific `Constraint` at
1119
+ # this resource.
1120
+ # Suppose that `constraint_default` is set to `ALLOW` for the
1121
+ # `Constraint` `constraints/serviceuser.services`. Suppose that organization
1122
+ # foo.com sets a `Policy` at their Organization resource node that restricts
1123
+ # the allowed service activations to deny all service activations. They
1124
+ # could then set a `Policy` with the `policy_type` `restore_default` on
1125
+ # several experimental projects, restoring the `constraint_default`
1126
+ # enforcement of the `Constraint` for only those projects, allowing those
1127
+ # projects to have all services activated.
1128
+ class RestoreDefault
1129
+ include Google::Apis::Core::Hashable
1130
+
1131
+ def initialize(**args)
1132
+ update!(**args)
1133
+ end
1134
+
1135
+ # Update properties of this object
1136
+ def update!(**args)
1137
+ end
1138
+ end
1139
+
1140
+ # The request sent to the GetOrgPolicy method.
1141
+ class GetOrgPolicyRequest
1142
+ include Google::Apis::Core::Hashable
1143
+
1144
+ # Name of the `Constraint` to get the `Policy`.
1145
+ # Corresponds to the JSON property `constraint`
1146
+ # @return [String]
1147
+ attr_accessor :constraint
1148
+
1149
+ def initialize(**args)
1150
+ update!(**args)
1151
+ end
1152
+
1153
+ # Update properties of this object
1154
+ def update!(**args)
1155
+ @constraint = args[:constraint] if args.key?(:constraint)
1156
+ end
1157
+ end
1158
+
1159
+ # The request sent to the ClearOrgPolicy method.
1160
+ class ClearOrgPolicyRequest
1161
+ include Google::Apis::Core::Hashable
1162
+
1163
+ # The current version, for concurrency control. Not sending an `etag`
1164
+ # will cause the `Policy` to be cleared blindly.
1165
+ # Corresponds to the JSON property `etag`
1166
+ # @return [String]
1167
+ attr_accessor :etag
1168
+
1169
+ # Name of the `Constraint` of the `Policy` to clear.
1170
+ # Corresponds to the JSON property `constraint`
1171
+ # @return [String]
1172
+ attr_accessor :constraint
1173
+
1174
+ def initialize(**args)
1175
+ update!(**args)
1176
+ end
1177
+
1178
+ # Update properties of this object
1179
+ def update!(**args)
1180
+ @etag = args[:etag] if args.key?(:etag)
1181
+ @constraint = args[:constraint] if args.key?(:constraint)
1182
+ end
1183
+ end
1184
+
692
1185
  # The request sent to the UndeleteProject
693
1186
  # method.
694
1187
  class UndeleteProjectRequest
@@ -740,6 +1233,22 @@ module Google
740
1233
  end
741
1234
  end
742
1235
 
1236
+ # A `Constraint` that is either enforced or not.
1237
+ # For example a constraint `constraints/compute.disableSerialPortAccess`.
1238
+ # If it is enforced on a VM instance, serial port connections will not be
1239
+ # opened to that instance.
1240
+ class BooleanConstraint
1241
+ include Google::Apis::Core::Hashable
1242
+
1243
+ def initialize(**args)
1244
+ update!(**args)
1245
+ end
1246
+
1247
+ # Update properties of this object
1248
+ def update!(**args)
1249
+ end
1250
+ end
1251
+
743
1252
  # Response message for `TestIamPermissions` method.
744
1253
  class TestIamPermissionsResponse
745
1254
  include Google::Apis::Core::Hashable
@@ -804,12 +1313,6 @@ module Google
804
1313
  class ListProjectsResponse
805
1314
  include Google::Apis::Core::Hashable
806
1315
 
807
- # The list of Projects that matched the list filter. This list can
808
- # be paginated.
809
- # Corresponds to the JSON property `projects`
810
- # @return [Array<Google::Apis::CloudresourcemanagerV1::Project>]
811
- attr_accessor :projects
812
-
813
1316
  # Pagination token.
814
1317
  # If the result set is too large to fit in a single response, this token
815
1318
  # is returned. It encodes the position of the current result cursor.
@@ -822,14 +1325,20 @@ module Google
822
1325
  # @return [String]
823
1326
  attr_accessor :next_page_token
824
1327
 
1328
+ # The list of Projects that matched the list filter. This list can
1329
+ # be paginated.
1330
+ # Corresponds to the JSON property `projects`
1331
+ # @return [Array<Google::Apis::CloudresourcemanagerV1::Project>]
1332
+ attr_accessor :projects
1333
+
825
1334
  def initialize(**args)
826
1335
  update!(**args)
827
1336
  end
828
1337
 
829
1338
  # Update properties of this object
830
1339
  def update!(**args)
831
- @projects = args[:projects] if args.key?(:projects)
832
1340
  @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1341
+ @projects = args[:projects] if args.key?(:projects)
833
1342
  end
834
1343
  end
835
1344
 
@@ -860,12 +1369,6 @@ module Google
860
1369
  # @return [Google::Apis::CloudresourcemanagerV1::ResourceId]
861
1370
  attr_accessor :parent
862
1371
 
863
- # Creation time.
864
- # Read-only.
865
- # Corresponds to the JSON property `createTime`
866
- # @return [String]
867
- attr_accessor :create_time
868
-
869
1372
  # The labels associated with this Project.
870
1373
  # Label keys must be between 1 and 63 characters long and must conform
871
1374
  # to the following regular expression: \[a-z\](\[-a-z0-9\]*\[a-z0-9\])?.
@@ -880,6 +1383,12 @@ module Google
880
1383
  # @return [Hash<String,String>]
881
1384
  attr_accessor :labels
882
1385
 
1386
+ # Creation time.
1387
+ # Read-only.
1388
+ # Corresponds to the JSON property `createTime`
1389
+ # @return [String]
1390
+ attr_accessor :create_time
1391
+
883
1392
  # The user-assigned display name of the Project.
884
1393
  # It must be 4 to 30 characters.
885
1394
  # Allowed characters are: lowercase and uppercase letters, numbers,
@@ -909,8 +1418,8 @@ module Google
909
1418
  @lifecycle_state = args[:lifecycle_state] if args.key?(:lifecycle_state)
910
1419
  @project_number = args[:project_number] if args.key?(:project_number)
911
1420
  @parent = args[:parent] if args.key?(:parent)
912
- @create_time = args[:create_time] if args.key?(:create_time)
913
1421
  @labels = args[:labels] if args.key?(:labels)
1422
+ @create_time = args[:create_time] if args.key?(:create_time)
914
1423
  @name = args[:name] if args.key?(:name)
915
1424
  @project_id = args[:project_id] if args.key?(:project_id)
916
1425
  end
@@ -946,6 +1455,34 @@ module Google
946
1455
  end
947
1456
  end
948
1457
 
1458
+ # The response returned from the ListOrgPolicies method. It will be empty
1459
+ # if no `Policies` are set on the resource.
1460
+ class ListOrgPoliciesResponse
1461
+ include Google::Apis::Core::Hashable
1462
+
1463
+ # Page token used to retrieve the next page. This is currently not used, but
1464
+ # the server may at any point start supplying a valid token.
1465
+ # Corresponds to the JSON property `nextPageToken`
1466
+ # @return [String]
1467
+ attr_accessor :next_page_token
1468
+
1469
+ # The `Policies` that are set on the resource. It will be empty if no
1470
+ # `Policies` are set.
1471
+ # Corresponds to the JSON property `policies`
1472
+ # @return [Array<Google::Apis::CloudresourcemanagerV1::OrgPolicy>]
1473
+ attr_accessor :policies
1474
+
1475
+ def initialize(**args)
1476
+ update!(**args)
1477
+ end
1478
+
1479
+ # Update properties of this object
1480
+ def update!(**args)
1481
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1482
+ @policies = args[:policies] if args.key?(:policies)
1483
+ end
1484
+ end
1485
+
949
1486
  # A classification of the Folder Operation error.
950
1487
  class FolderOperationError
951
1488
  include Google::Apis::Core::Hashable
@@ -965,6 +1502,155 @@ module Google
965
1502
  end
966
1503
  end
967
1504
 
1505
+ # Defines a Cloud Organization `Policy` which is used to specify `Constraints`
1506
+ # for configurations of Cloud Platform resources.
1507
+ class OrgPolicy
1508
+ include Google::Apis::Core::Hashable
1509
+
1510
+ # An opaque tag indicating the current version of the `Policy`, used for
1511
+ # concurrency control.
1512
+ # When the `Policy` is returned from either a `GetPolicy` or a
1513
+ # `ListOrgPolicy` request, this `etag` indicates the version of the current
1514
+ # `Policy` to use when executing a read-modify-write loop.
1515
+ # When the `Policy` is returned from a `GetEffectivePolicy` request, the
1516
+ # `etag` will be unset.
1517
+ # When the `Policy` is used in a `SetOrgPolicy` method, use the `etag` value
1518
+ # that was returned from a `GetOrgPolicy` request as part of a
1519
+ # read-modify-write loop for concurrency control. Not setting the `etag`in a
1520
+ # `SetOrgPolicy` request will result in an unconditional write of the
1521
+ # `Policy`.
1522
+ # Corresponds to the JSON property `etag`
1523
+ # @return [String]
1524
+ attr_accessor :etag
1525
+
1526
+ # Used in `policy_type` to specify how `boolean_policy` will behave at this
1527
+ # resource.
1528
+ # Corresponds to the JSON property `booleanPolicy`
1529
+ # @return [Google::Apis::CloudresourcemanagerV1::BooleanPolicy]
1530
+ attr_accessor :boolean_policy
1531
+
1532
+ # The name of the `Constraint` the `Policy` is configuring, for example,
1533
+ # `constraints/serviceuser.services`.
1534
+ # Immutable after creation.
1535
+ # Corresponds to the JSON property `constraint`
1536
+ # @return [String]
1537
+ attr_accessor :constraint
1538
+
1539
+ # The time stamp the `Policy` was previously updated. This is set by the
1540
+ # server, not specified by the caller, and represents the last time a call to
1541
+ # `SetOrgPolicy` was made for that `Policy`. Any value set by the client will
1542
+ # be ignored.
1543
+ # Corresponds to the JSON property `updateTime`
1544
+ # @return [String]
1545
+ attr_accessor :update_time
1546
+
1547
+ # Version of the `Policy`. Default version is 0;
1548
+ # Corresponds to the JSON property `version`
1549
+ # @return [Fixnum]
1550
+ attr_accessor :version
1551
+
1552
+ # Ignores policies set above this resource and restores the
1553
+ # `constraint_default` enforcement behavior of the specific `Constraint` at
1554
+ # this resource.
1555
+ # Suppose that `constraint_default` is set to `ALLOW` for the
1556
+ # `Constraint` `constraints/serviceuser.services`. Suppose that organization
1557
+ # foo.com sets a `Policy` at their Organization resource node that restricts
1558
+ # the allowed service activations to deny all service activations. They
1559
+ # could then set a `Policy` with the `policy_type` `restore_default` on
1560
+ # several experimental projects, restoring the `constraint_default`
1561
+ # enforcement of the `Constraint` for only those projects, allowing those
1562
+ # projects to have all services activated.
1563
+ # Corresponds to the JSON property `restoreDefault`
1564
+ # @return [Google::Apis::CloudresourcemanagerV1::RestoreDefault]
1565
+ attr_accessor :restore_default
1566
+
1567
+ # Used in `policy_type` to specify how `list_policy` behaves at this
1568
+ # resource.
1569
+ # A `ListPolicy` can define specific values that are allowed or denied by
1570
+ # setting either the `allowed_values` or `denied_values` fields. It can also
1571
+ # be used to allow or deny all values, by setting the `all_values` field. If
1572
+ # `all_values` is `ALL_VALUES_UNSPECIFIED`, exactly one of `allowed_values`
1573
+ # or `denied_values` must be set (attempting to set both or neither will
1574
+ # result in a failed request). If `all_values` is set to either `ALLOW` or
1575
+ # `DENY`, `allowed_values` and `denied_values` must be unset.
1576
+ # Corresponds to the JSON property `listPolicy`
1577
+ # @return [Google::Apis::CloudresourcemanagerV1::ListPolicy]
1578
+ attr_accessor :list_policy
1579
+
1580
+ def initialize(**args)
1581
+ update!(**args)
1582
+ end
1583
+
1584
+ # Update properties of this object
1585
+ def update!(**args)
1586
+ @etag = args[:etag] if args.key?(:etag)
1587
+ @boolean_policy = args[:boolean_policy] if args.key?(:boolean_policy)
1588
+ @constraint = args[:constraint] if args.key?(:constraint)
1589
+ @update_time = args[:update_time] if args.key?(:update_time)
1590
+ @version = args[:version] if args.key?(:version)
1591
+ @restore_default = args[:restore_default] if args.key?(:restore_default)
1592
+ @list_policy = args[:list_policy] if args.key?(:list_policy)
1593
+ end
1594
+ end
1595
+
1596
+ # Used in `policy_type` to specify how `boolean_policy` will behave at this
1597
+ # resource.
1598
+ class BooleanPolicy
1599
+ include Google::Apis::Core::Hashable
1600
+
1601
+ # If `true`, then the `Policy` is enforced. If `false`, then any
1602
+ # configuration is acceptable.
1603
+ # Suppose you have a `Constraint` `constraints/compute.disableSerialPortAccess`
1604
+ # with `constraint_default` set to `ALLOW`. A `Policy` for that
1605
+ # `Constraint` exhibits the following behavior:
1606
+ # - If the `Policy` at this resource has enforced set to `false`, serial
1607
+ # port connection attempts will be allowed.
1608
+ # - If the `Policy` at this resource has enforced set to `true`, serial
1609
+ # port connection attempts will be refused.
1610
+ # - If the `Policy` at this resource is `RestoreDefault`, serial port
1611
+ # connection attempts will be allowed.
1612
+ # - If no `Policy` is set at this resource or anywhere higher in the
1613
+ # resource hierarchy, serial port connection attempts will be allowed.
1614
+ # - If no `Policy` is set at this resource, but one exists higher in the
1615
+ # resource hierarchy, the behavior is as if the`Policy` were set at
1616
+ # this resource.
1617
+ # The following examples demonstrate the different possible layerings:
1618
+ # Example 1 (nearest `Constraint` wins):
1619
+ # `organizations/foo` has a `Policy` with:
1620
+ # `enforced: false`
1621
+ # `projects/bar` has no `Policy` set.
1622
+ # The constraint at `projects/bar` and `organizations/foo` will not be
1623
+ # enforced.
1624
+ # Example 2 (enforcement gets replaced):
1625
+ # `organizations/foo` has a `Policy` with:
1626
+ # `enforced: false`
1627
+ # `projects/bar` has a `Policy` with:
1628
+ # `enforced: true`
1629
+ # The constraint at `organizations/foo` is not enforced.
1630
+ # The constraint at `projects/bar` is enforced.
1631
+ # Example 3 (RestoreDefault):
1632
+ # `organizations/foo` has a `Policy` with:
1633
+ # `enforced: true`
1634
+ # `projects/bar` has a `Policy` with:
1635
+ # `RestoreDefault: ```
1636
+ # The constraint at `organizations/foo` is enforced.
1637
+ # The constraint at `projects/bar` is not enforced, because
1638
+ # `constraint_default` for the `Constraint` is `ALLOW`.
1639
+ # Corresponds to the JSON property `enforced`
1640
+ # @return [Boolean]
1641
+ attr_accessor :enforced
1642
+ alias_method :enforced?, :enforced
1643
+
1644
+ def initialize(**args)
1645
+ update!(**args)
1646
+ end
1647
+
1648
+ # Update properties of this object
1649
+ def update!(**args)
1650
+ @enforced = args[:enforced] if args.key?(:enforced)
1651
+ end
1652
+ end
1653
+
968
1654
  # A Lien represents an encumbrance on the actions that can be performed on a
969
1655
  # resource.
970
1656
  class Lien
@@ -1026,82 +1712,6 @@ module Google
1026
1712
  @restrictions = args[:restrictions] if args.key?(:restrictions)
1027
1713
  end
1028
1714
  end
1029
-
1030
- # Identifying information for a single ancestor of a project.
1031
- class Ancestor
1032
- include Google::Apis::Core::Hashable
1033
-
1034
- # A container to reference an id for any resource type. A `resource` in Google
1035
- # Cloud Platform is a generic term for something you (a developer) may want to
1036
- # interact with through one of our API's. Some examples are an App Engine app,
1037
- # a Compute Engine instance, a Cloud SQL database, and so on.
1038
- # Corresponds to the JSON property `resourceId`
1039
- # @return [Google::Apis::CloudresourcemanagerV1::ResourceId]
1040
- attr_accessor :resource_id
1041
-
1042
- def initialize(**args)
1043
- update!(**args)
1044
- end
1045
-
1046
- # Update properties of this object
1047
- def update!(**args)
1048
- @resource_id = args[:resource_id] if args.key?(:resource_id)
1049
- end
1050
- end
1051
-
1052
- # Request message for `SetIamPolicy` method.
1053
- class SetIamPolicyRequest
1054
- include Google::Apis::Core::Hashable
1055
-
1056
- # OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only
1057
- # the fields in the mask will be modified. If no mask is provided, a default
1058
- # mask is used:
1059
- # paths: "bindings, etag"
1060
- # This field is only used by Cloud IAM.
1061
- # Corresponds to the JSON property `updateMask`
1062
- # @return [String]
1063
- attr_accessor :update_mask
1064
-
1065
- # Defines an Identity and Access Management (IAM) policy. It is used to
1066
- # specify access control policies for Cloud Platform resources.
1067
- # A `Policy` consists of a list of `bindings`. A `Binding` binds a list of
1068
- # `members` to a `role`, where the members can be user accounts, Google groups,
1069
- # Google domains, and service accounts. A `role` is a named list of permissions
1070
- # defined by IAM.
1071
- # **Example**
1072
- # `
1073
- # "bindings": [
1074
- # `
1075
- # "role": "roles/owner",
1076
- # "members": [
1077
- # "user:mike@example.com",
1078
- # "group:admins@example.com",
1079
- # "domain:google.com",
1080
- # "serviceAccount:my-other-app@appspot.gserviceaccount.com",
1081
- # ]
1082
- # `,
1083
- # `
1084
- # "role": "roles/viewer",
1085
- # "members": ["user:sean@example.com"]
1086
- # `
1087
- # ]
1088
- # `
1089
- # For a description of IAM and its features, see the
1090
- # [IAM developer's guide](https://cloud.google.com/iam).
1091
- # Corresponds to the JSON property `policy`
1092
- # @return [Google::Apis::CloudresourcemanagerV1::Policy]
1093
- attr_accessor :policy
1094
-
1095
- def initialize(**args)
1096
- update!(**args)
1097
- end
1098
-
1099
- # Update properties of this object
1100
- def update!(**args)
1101
- @update_mask = args[:update_mask] if args.key?(:update_mask)
1102
- @policy = args[:policy] if args.key?(:policy)
1103
- end
1104
- end
1105
1715
  end
1106
1716
  end
1107
1717
  end