google-api-client 0.10.1 → 0.10.2

Sign up to get free protection for your applications and to get access to all the features.
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