google-api-client 0.10.2 → 0.10.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (248) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +25 -0
  3. data/MIGRATING.md +22 -7
  4. data/README.md +4 -8
  5. data/api_names.yaml +1210 -37815
  6. data/generated/google/apis/acceleratedmobilepageurl_v1.rb +32 -0
  7. data/generated/google/apis/acceleratedmobilepageurl_v1/classes.rb +144 -0
  8. data/generated/google/apis/acceleratedmobilepageurl_v1/representations.rb +86 -0
  9. data/generated/google/apis/acceleratedmobilepageurl_v1/service.rb +90 -0
  10. data/generated/google/apis/adexchangebuyer2_v2beta1.rb +1 -1
  11. data/generated/google/apis/adexchangebuyer2_v2beta1/classes.rb +764 -764
  12. data/generated/google/apis/adexchangebuyer2_v2beta1/representations.rb +180 -180
  13. data/generated/google/apis/adexchangebuyer2_v2beta1/service.rb +421 -421
  14. data/generated/google/apis/adexchangebuyer_v1_4/classes.rb +1 -0
  15. data/generated/google/apis/admin_directory_v1/classes.rb +1 -0
  16. data/generated/google/apis/admin_reports_v1.rb +1 -1
  17. data/generated/google/apis/adsense_v1_4.rb +1 -1
  18. data/generated/google/apis/adsensehost_v4_1.rb +1 -1
  19. data/generated/google/apis/analyticsreporting_v4/classes.rb +187 -187
  20. data/generated/google/apis/analyticsreporting_v4/representations.rb +42 -42
  21. data/generated/google/apis/appengine_v1.rb +40 -0
  22. data/generated/google/apis/appengine_v1/classes.rb +2251 -0
  23. data/generated/google/apis/appengine_v1/representations.rb +858 -0
  24. data/generated/google/apis/appengine_v1/service.rb +894 -0
  25. data/generated/google/apis/bigquery_v2.rb +1 -1
  26. data/generated/google/apis/bigquery_v2/classes.rb +11 -6
  27. data/generated/google/apis/books_v1.rb +1 -1
  28. data/generated/google/apis/books_v1/classes.rb +26 -0
  29. data/generated/google/apis/books_v1/representations.rb +15 -0
  30. data/generated/google/apis/books_v1/service.rb +4 -1
  31. data/generated/google/apis/calendar_v3.rb +1 -1
  32. data/generated/google/apis/classroom_v1.rb +1 -1
  33. data/generated/google/apis/cloudbuild_v1.rb +1 -1
  34. data/generated/google/apis/cloudbuild_v1/classes.rb +638 -637
  35. data/generated/google/apis/cloudbuild_v1/representations.rb +110 -110
  36. data/generated/google/apis/cloudbuild_v1/service.rb +139 -139
  37. data/generated/google/apis/clouddebugger_v2.rb +3 -3
  38. data/generated/google/apis/clouddebugger_v2/classes.rb +131 -131
  39. data/generated/google/apis/clouddebugger_v2/representations.rb +25 -25
  40. data/generated/google/apis/clouderrorreporting_v1beta1.rb +36 -0
  41. data/generated/google/apis/clouderrorreporting_v1beta1/classes.rb +590 -0
  42. data/generated/google/apis/clouderrorreporting_v1beta1/representations.rb +252 -0
  43. data/generated/google/apis/clouderrorreporting_v1beta1/service.rb +350 -0
  44. data/generated/google/apis/cloudfunctions_v1.rb +35 -0
  45. data/generated/google/apis/cloudfunctions_v1/classes.rb +98 -0
  46. data/generated/google/apis/cloudfunctions_v1/representations.rb +57 -0
  47. data/generated/google/apis/cloudfunctions_v1/service.rb +89 -0
  48. data/generated/google/apis/cloudkms_v1/classes.rb +277 -270
  49. data/generated/google/apis/cloudkms_v1/representations.rb +73 -73
  50. data/generated/google/apis/cloudkms_v1/service.rb +194 -194
  51. data/generated/google/apis/cloudresourcemanager_v1.rb +1 -1
  52. data/generated/google/apis/cloudresourcemanager_v1/classes.rb +1147 -1144
  53. data/generated/google/apis/cloudresourcemanager_v1/representations.rb +188 -188
  54. data/generated/google/apis/cloudresourcemanager_v1/service.rb +513 -936
  55. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +1 -1
  56. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +307 -916
  57. data/generated/google/apis/cloudresourcemanager_v1beta1/representations.rb +63 -285
  58. data/generated/google/apis/cloudresourcemanager_v1beta1/service.rb +333 -681
  59. data/generated/google/apis/cloudtrace_v1/classes.rb +38 -38
  60. data/generated/google/apis/cloudtrace_v1/representations.rb +13 -13
  61. data/generated/google/apis/cloudtrace_v1/service.rb +16 -16
  62. data/generated/google/apis/compute_beta.rb +1 -1
  63. data/generated/google/apis/compute_beta/classes.rb +32 -7
  64. data/generated/google/apis/compute_beta/representations.rb +2 -0
  65. data/generated/google/apis/compute_beta/service.rb +11 -11
  66. data/generated/google/apis/compute_v1.rb +1 -1
  67. data/generated/google/apis/compute_v1/classes.rb +95 -2
  68. data/generated/google/apis/compute_v1/representations.rb +33 -0
  69. data/generated/google/apis/dataflow_v1b3/classes.rb +3333 -3333
  70. data/generated/google/apis/dataflow_v1b3/representations.rb +759 -759
  71. data/generated/google/apis/dataflow_v1b3/service.rb +154 -154
  72. data/generated/google/apis/dataproc_v1.rb +1 -1
  73. data/generated/google/apis/dataproc_v1/classes.rb +1097 -1097
  74. data/generated/google/apis/dataproc_v1/representations.rb +200 -200
  75. data/generated/google/apis/dataproc_v1/service.rb +356 -356
  76. data/generated/google/apis/datastore_v1.rb +4 -4
  77. data/generated/google/apis/datastore_v1/classes.rb +701 -690
  78. data/generated/google/apis/datastore_v1/representations.rb +160 -160
  79. data/generated/google/apis/datastore_v1/service.rb +52 -52
  80. data/generated/google/apis/deploymentmanager_v2/classes.rb +4 -0
  81. data/generated/google/apis/doubleclicksearch_v2.rb +1 -1
  82. data/generated/google/apis/drive_v2.rb +1 -1
  83. data/generated/google/apis/drive_v2/classes.rb +158 -35
  84. data/generated/google/apis/drive_v2/representations.rb +39 -0
  85. data/generated/google/apis/drive_v2/service.rb +4 -4
  86. data/generated/google/apis/drive_v3.rb +1 -1
  87. data/generated/google/apis/drive_v3/classes.rb +162 -33
  88. data/generated/google/apis/drive_v3/representations.rb +39 -0
  89. data/generated/google/apis/drive_v3/service.rb +4 -4
  90. data/generated/google/apis/firebasedynamiclinks_v1.rb +35 -0
  91. data/generated/google/apis/firebasedynamiclinks_v1/classes.rb +466 -0
  92. data/generated/google/apis/firebasedynamiclinks_v1/representations.rb +222 -0
  93. data/generated/google/apis/firebasedynamiclinks_v1/service.rb +95 -0
  94. data/generated/google/apis/firebaserules_v1.rb +41 -0
  95. data/generated/google/apis/firebaserules_v1/classes.rb +425 -0
  96. data/generated/google/apis/firebaserules_v1/representations.rb +222 -0
  97. data/generated/google/apis/firebaserules_v1/service.rb +495 -0
  98. data/generated/google/apis/games_v1/classes.rb +4 -0
  99. data/generated/google/apis/genomics_v1.rb +7 -7
  100. data/generated/google/apis/genomics_v1/classes.rb +2336 -2335
  101. data/generated/google/apis/genomics_v1/representations.rb +387 -387
  102. data/generated/google/apis/genomics_v1/service.rb +1187 -1187
  103. data/generated/google/apis/gmail_v1/classes.rb +3 -0
  104. data/generated/google/apis/iam_v1.rb +1 -1
  105. data/generated/google/apis/iam_v1/classes.rb +123 -117
  106. data/generated/google/apis/iam_v1/representations.rb +33 -33
  107. data/generated/google/apis/iam_v1/service.rb +109 -109
  108. data/generated/google/apis/identitytoolkit_v3/classes.rb +5 -0
  109. data/generated/google/apis/kgsearch_v1/classes.rb +6 -6
  110. data/generated/google/apis/kgsearch_v1/representations.rb +1 -1
  111. data/generated/google/apis/kgsearch_v1/service.rb +4 -4
  112. data/generated/google/apis/language_v1.rb +36 -0
  113. data/generated/google/apis/language_v1/classes.rb +757 -0
  114. data/generated/google/apis/language_v1/representations.rb +338 -0
  115. data/generated/google/apis/language_v1/service.rb +185 -0
  116. data/generated/google/apis/language_v1beta1/classes.rb +407 -407
  117. data/generated/google/apis/language_v1beta1/representations.rb +103 -103
  118. data/generated/google/apis/language_v1beta1/service.rb +45 -45
  119. data/generated/google/apis/logging_v2.rb +46 -0
  120. data/generated/google/apis/logging_v2/classes.rb +1271 -0
  121. data/generated/google/apis/logging_v2/representations.rb +421 -0
  122. data/generated/google/apis/logging_v2/service.rb +1569 -0
  123. data/generated/google/apis/logging_v2beta1.rb +1 -1
  124. data/generated/google/apis/logging_v2beta1/classes.rb +886 -886
  125. data/generated/google/apis/logging_v2beta1/representations.rb +132 -132
  126. data/generated/google/apis/logging_v2beta1/service.rb +235 -235
  127. data/generated/google/apis/manufacturers_v1/classes.rb +147 -147
  128. data/generated/google/apis/manufacturers_v1/representations.rb +29 -29
  129. data/generated/google/apis/ml_v1.rb +34 -0
  130. data/generated/google/apis/ml_v1/classes.rb +1617 -0
  131. data/generated/google/apis/ml_v1/representations.rb +498 -0
  132. data/generated/google/apis/ml_v1/service.rb +769 -0
  133. data/generated/google/apis/monitoring_v3.rb +4 -4
  134. data/generated/google/apis/monitoring_v3/classes.rb +630 -630
  135. data/generated/google/apis/monitoring_v3/representations.rb +134 -134
  136. data/generated/google/apis/monitoring_v3/service.rb +240 -240
  137. data/generated/google/apis/pagespeedonline_v2/classes.rb +1 -0
  138. data/generated/google/apis/partners_v2.rb +1 -1
  139. data/generated/google/apis/partners_v2/classes.rb +639 -639
  140. data/generated/google/apis/partners_v2/representations.rb +168 -168
  141. data/generated/google/apis/partners_v2/service.rb +381 -381
  142. data/generated/google/apis/people_v1.rb +10 -10
  143. data/generated/google/apis/people_v1/classes.rb +524 -524
  144. data/generated/google/apis/people_v1/representations.rb +143 -143
  145. data/generated/google/apis/people_v1/service.rb +30 -30
  146. data/generated/google/apis/plus_domains_v1.rb +1 -1
  147. data/generated/google/apis/plus_v1.rb +1 -1
  148. data/generated/google/apis/proximitybeacon_v1beta1/classes.rb +454 -444
  149. data/generated/google/apis/proximitybeacon_v1beta1/representations.rb +90 -90
  150. data/generated/google/apis/proximitybeacon_v1beta1/service.rb +110 -110
  151. data/generated/google/apis/pubsub_v1/classes.rb +175 -173
  152. data/generated/google/apis/pubsub_v1/representations.rb +53 -53
  153. data/generated/google/apis/pubsub_v1/service.rb +210 -210
  154. data/generated/google/apis/replicapool_v1beta2/classes.rb +2 -0
  155. data/generated/google/apis/runtimeconfig_v1.rb +38 -0
  156. data/generated/google/apis/runtimeconfig_v1/classes.rb +252 -0
  157. data/generated/google/apis/runtimeconfig_v1/representations.rb +98 -0
  158. data/generated/google/apis/runtimeconfig_v1/service.rb +176 -0
  159. data/generated/google/apis/script_v1.rb +1 -1
  160. data/generated/google/apis/script_v1/classes.rb +6 -6
  161. data/generated/google/apis/script_v1/representations.rb +1 -1
  162. data/generated/google/apis/searchconsole_v1.rb +31 -0
  163. data/generated/google/apis/searchconsole_v1/classes.rb +205 -0
  164. data/generated/google/apis/searchconsole_v1/representations.rb +129 -0
  165. data/generated/google/apis/searchconsole_v1/service.rb +88 -0
  166. data/generated/google/apis/servicecontrol_v1.rb +38 -0
  167. data/generated/google/apis/servicecontrol_v1/classes.rb +1675 -0
  168. data/generated/google/apis/servicecontrol_v1/representations.rb +601 -0
  169. data/generated/google/apis/servicecontrol_v1/service.rb +337 -0
  170. data/generated/google/apis/servicemanagement_v1.rb +45 -0
  171. data/generated/google/apis/servicemanagement_v1/classes.rb +4934 -0
  172. data/generated/google/apis/servicemanagement_v1/representations.rb +1526 -0
  173. data/generated/google/apis/servicemanagement_v1/service.rb +860 -0
  174. data/generated/google/apis/serviceuser_v1.rb +42 -0
  175. data/generated/google/apis/serviceuser_v1/classes.rb +3746 -0
  176. data/generated/google/apis/serviceuser_v1/representations.rb +1041 -0
  177. data/generated/google/apis/serviceuser_v1/service.rb +214 -0
  178. data/generated/google/apis/sheets_v4.rb +3 -3
  179. data/generated/google/apis/sheets_v4/classes.rb +4390 -4390
  180. data/generated/google/apis/sheets_v4/representations.rb +381 -381
  181. data/generated/google/apis/sheets_v4/service.rb +48 -48
  182. data/generated/google/apis/slides_v1.rb +3 -3
  183. data/generated/google/apis/slides_v1/classes.rb +2860 -2860
  184. data/generated/google/apis/slides_v1/representations.rb +693 -693
  185. data/generated/google/apis/slides_v1/service.rb +30 -30
  186. data/generated/google/apis/sourcerepo_v1.rb +34 -0
  187. data/generated/google/apis/sourcerepo_v1/classes.rb +687 -0
  188. data/generated/google/apis/sourcerepo_v1/representations.rb +285 -0
  189. data/generated/google/apis/sourcerepo_v1/service.rb +291 -0
  190. data/generated/google/apis/spanner_v1.rb +35 -0
  191. data/generated/google/apis/spanner_v1/classes.rb +3294 -0
  192. data/generated/google/apis/spanner_v1/representations.rb +984 -0
  193. data/generated/google/apis/spanner_v1/service.rb +1504 -0
  194. data/generated/google/apis/speech_v1beta1.rb +1 -1
  195. data/generated/google/apis/speech_v1beta1/classes.rb +197 -196
  196. data/generated/google/apis/speech_v1beta1/representations.rb +53 -53
  197. data/generated/google/apis/speech_v1beta1/service.rb +27 -27
  198. data/generated/google/apis/storage_v1.rb +1 -1
  199. data/generated/google/apis/storage_v1/classes.rb +131 -0
  200. data/generated/google/apis/storage_v1/representations.rb +51 -0
  201. data/generated/google/apis/storage_v1/service.rb +182 -0
  202. data/generated/google/apis/storagetransfer_v1.rb +1 -1
  203. data/generated/google/apis/storagetransfer_v1/classes.rb +732 -661
  204. data/generated/google/apis/storagetransfer_v1/representations.rb +132 -132
  205. data/generated/google/apis/storagetransfer_v1/service.rb +174 -197
  206. data/generated/google/apis/surveys_v2.rb +40 -0
  207. data/generated/google/apis/surveys_v2/classes.rb +806 -0
  208. data/generated/google/apis/surveys_v2/representations.rb +347 -0
  209. data/generated/google/apis/surveys_v2/service.rb +477 -0
  210. data/generated/google/apis/tagmanager_v2.rb +52 -0
  211. data/generated/google/apis/tagmanager_v2/classes.rb +2435 -0
  212. data/generated/google/apis/tagmanager_v2/representations.rb +993 -0
  213. data/generated/google/apis/tagmanager_v2/service.rb +2865 -0
  214. data/generated/google/apis/toolresults_v1beta3.rb +34 -0
  215. data/generated/google/apis/toolresults_v1beta3/classes.rb +2160 -0
  216. data/generated/google/apis/toolresults_v1beta3/representations.rb +729 -0
  217. data/generated/google/apis/toolresults_v1beta3/service.rb +1236 -0
  218. data/generated/google/apis/tracing_v1.rb +40 -0
  219. data/generated/google/apis/tracing_v1/classes.rb +664 -0
  220. data/generated/google/apis/tracing_v1/representations.rb +279 -0
  221. data/generated/google/apis/tracing_v1/service.rb +225 -0
  222. data/generated/google/apis/vision_v1.rb +1 -1
  223. data/generated/google/apis/vision_v1/classes.rb +1223 -1222
  224. data/generated/google/apis/vision_v1/representations.rb +234 -234
  225. data/generated/google/apis/vision_v1/service.rb +10 -10
  226. data/generated/google/apis/webfonts_v1.rb +33 -0
  227. data/generated/google/apis/webfonts_v1/classes.rb +113 -0
  228. data/generated/google/apis/webfonts_v1/representations.rb +62 -0
  229. data/generated/google/apis/webfonts_v1/service.rb +102 -0
  230. data/generated/google/apis/youtube_analytics_v1.rb +1 -1
  231. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  232. data/generated/google/apis/youtube_partner_v1/classes.rb +31 -0
  233. data/generated/google/apis/youtube_partner_v1/representations.rb +6 -0
  234. data/generated/google/apis/youtube_partner_v1/service.rb +41 -0
  235. data/generated/google/apis/youtube_v3/classes.rb +1 -0
  236. data/generated/google/apis/youtubereporting_v1.rb +4 -4
  237. data/generated/google/apis/youtubereporting_v1/classes.rb +76 -76
  238. data/generated/google/apis/youtubereporting_v1/representations.rb +25 -25
  239. data/generated/google/apis/youtubereporting_v1/service.rb +95 -95
  240. data/lib/google/apis/generator/annotator.rb +5 -4
  241. data/lib/google/apis/generator/templates/_class.tmpl +3 -0
  242. data/lib/google/apis/version.rb +1 -1
  243. data/samples/cli/lib/samples/adsense.rb +99 -0
  244. data/samples/cli/lib/samples/analytics.rb +18 -0
  245. data/samples/cli/lib/samples/gmail.rb +33 -0
  246. data/samples/cli/lib/samples/vision.rb +69 -0
  247. metadata +89 -4
  248. data/sync.rb +0 -71
@@ -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 = '20170324'
29
+ REVISION = '20170329'
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,17 +22,14 @@ 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
25
+ # The request sent to the GetEffectiveOrgPolicy method.
26
+ class GetEffectiveOrgPolicyRequest
27
27
  include Google::Apis::Core::Hashable
28
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
29
+ # The name of the `Constraint` to compute the effective `Policy`.
30
+ # Corresponds to the JSON property `constraint`
31
+ # @return [String]
32
+ attr_accessor :constraint
36
33
 
37
34
  def initialize(**args)
38
35
  update!(**args)
@@ -40,20 +37,26 @@ module Google
40
37
 
41
38
  # Update properties of this object
42
39
  def update!(**args)
43
- @resource_id = args[:resource_id] if args.key?(:resource_id)
40
+ @constraint = args[:constraint] if args.key?(:constraint)
44
41
  end
45
42
  end
46
43
 
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
44
+ # The request sent to the ListOrgPolicies method.
45
+ class ListOrgPoliciesRequest
50
46
  include Google::Apis::Core::Hashable
51
47
 
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`
48
+ # Page token used to retrieve the next page. This is currently unsupported
49
+ # and will be ignored. The server may at any point start using this field.
50
+ # Corresponds to the JSON property `pageToken`
55
51
  # @return [String]
56
- attr_accessor :suggested_value
52
+ attr_accessor :page_token
53
+
54
+ # Size of the pages to be returned. This is currently unsupported and will
55
+ # be ignored. The server may at any point start using this field to limit
56
+ # page size.
57
+ # Corresponds to the JSON property `pageSize`
58
+ # @return [Fixnum]
59
+ attr_accessor :page_size
57
60
 
58
61
  def initialize(**args)
59
62
  update!(**args)
@@ -61,19 +64,73 @@ module Google
61
64
 
62
65
  # Update properties of this object
63
66
  def update!(**args)
64
- @suggested_value = args[:suggested_value] if args.key?(:suggested_value)
67
+ @page_token = args[:page_token] if args.key?(:page_token)
68
+ @page_size = args[:page_size] if args.key?(:page_size)
65
69
  end
66
70
  end
67
71
 
68
- # The request sent to the SetOrgPolicyRequest method.
69
- class SetOrgPolicyRequest
72
+ # Specifies the audit configuration for a service.
73
+ # The configuration determines which permission types are logged, and what
74
+ # identities, if any, are exempted from logging.
75
+ # An AuditConifg must have one or more AuditLogConfigs.
76
+ # If there are AuditConfigs for both `allServices` and a specific service,
77
+ # the union of the two AuditConfigs is used for that service: the log_types
78
+ # specified in each AuditConfig are enabled, and the exempted_members in each
79
+ # AuditConfig are exempted.
80
+ # Example Policy with multiple AuditConfigs:
81
+ # `
82
+ # "audit_configs": [
83
+ # `
84
+ # "service": "allServices"
85
+ # "audit_log_configs": [
86
+ # `
87
+ # "log_type": "DATA_READ",
88
+ # "exempted_members": [
89
+ # "user:foo@gmail.com"
90
+ # ]
91
+ # `,
92
+ # `
93
+ # "log_type": "DATA_WRITE",
94
+ # `,
95
+ # `
96
+ # "log_type": "ADMIN_READ",
97
+ # `
98
+ # ]
99
+ # `,
100
+ # `
101
+ # "service": "fooservice@googleapis.com"
102
+ # "audit_log_configs": [
103
+ # `
104
+ # "log_type": "DATA_READ",
105
+ # `,
106
+ # `
107
+ # "log_type": "DATA_WRITE",
108
+ # "exempted_members": [
109
+ # "user:bar@gmail.com"
110
+ # ]
111
+ # `
112
+ # ]
113
+ # `
114
+ # ]
115
+ # `
116
+ # For fooservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ
117
+ # logging. It also exempts foo@gmail.com from DATA_READ logging, and
118
+ # bar@gmail.com from DATA_WRITE logging.
119
+ class AuditConfig
70
120
  include Google::Apis::Core::Hashable
71
121
 
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
122
+ # Specifies a service that will be enabled for audit logging.
123
+ # For example, `storage.googleapis.com`, `cloudsql.googleapis.com`.
124
+ # `allServices` is a special value that covers all services.
125
+ # Corresponds to the JSON property `service`
126
+ # @return [String]
127
+ attr_accessor :service
128
+
129
+ # The configuration for logging of each type of permission.
130
+ # Next ID: 4
131
+ # Corresponds to the JSON property `auditLogConfigs`
132
+ # @return [Array<Google::Apis::CloudresourcemanagerV1::AuditLogConfig>]
133
+ attr_accessor :audit_log_configs
77
134
 
78
135
  def initialize(**args)
79
136
  update!(**args)
@@ -81,73 +138,93 @@ module Google
81
138
 
82
139
  # Update properties of this object
83
140
  def update!(**args)
84
- @policy = args[:policy] if args.key?(:policy)
141
+ @service = args[:service] if args.key?(:service)
142
+ @audit_log_configs = args[:audit_log_configs] if args.key?(:audit_log_configs)
85
143
  end
86
144
  end
87
145
 
88
- # Request message for `SetIamPolicy` method.
89
- class SetIamPolicyRequest
146
+ # This resource represents a long-running operation that is the result of a
147
+ # network API call.
148
+ class Operation
90
149
  include Google::Apis::Core::Hashable
91
150
 
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
151
+ # The normal response of the operation in case of success. If the original
152
+ # method returns no data on success, such as `Delete`, the response is
153
+ # `google.protobuf.Empty`. If the original method is standard
154
+ # `Get`/`Create`/`Update`, the response should be the resource. For other
155
+ # methods, the response should have the type `XxxResponse`, where `Xxx`
156
+ # is the original method name. For example, if the original method name
157
+ # is `TakeSnapshot()`, the inferred response type is
158
+ # `TakeSnapshotResponse`.
159
+ # Corresponds to the JSON property `response`
160
+ # @return [Hash<String,Object>]
161
+ attr_accessor :response
121
162
 
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`
163
+ # The server-assigned name, which is only unique within the same service that
164
+ # originally returns it. If you use the default HTTP mapping, the
165
+ # `name` should have the format of `operations/some/unique/name`.
166
+ # Corresponds to the JSON property `name`
128
167
  # @return [String]
129
- attr_accessor :update_mask
168
+ attr_accessor :name
130
169
 
131
- def initialize(**args)
132
- update!(**args)
133
- end
170
+ # The `Status` type defines a logical error model that is suitable for different
171
+ # programming environments, including REST APIs and RPC APIs. It is used by
172
+ # [gRPC](https://github.com/grpc). The error model is designed to be:
173
+ # - Simple to use and understand for most users
174
+ # - Flexible enough to meet unexpected needs
175
+ # # Overview
176
+ # The `Status` message contains three pieces of data: error code, error message,
177
+ # and error details. The error code should be an enum value of
178
+ # google.rpc.Code, but it may accept additional error codes if needed. The
179
+ # error message should be a developer-facing English message that helps
180
+ # developers *understand* and *resolve* the error. If a localized user-facing
181
+ # error message is needed, put the localized message in the error details or
182
+ # localize it in the client. The optional error details may contain arbitrary
183
+ # information about the error. There is a predefined set of error detail types
184
+ # in the package `google.rpc` which can be used for common error conditions.
185
+ # # Language mapping
186
+ # The `Status` message is the logical representation of the error model, but it
187
+ # is not necessarily the actual wire format. When the `Status` message is
188
+ # exposed in different client libraries and different wire protocols, it can be
189
+ # mapped differently. For example, it will likely be mapped to some exceptions
190
+ # in Java, but more likely mapped to some error codes in C.
191
+ # # Other uses
192
+ # The error model and the `Status` message can be used in a variety of
193
+ # environments, either with or without APIs, to provide a
194
+ # consistent developer experience across different environments.
195
+ # Example uses of this error model include:
196
+ # - Partial errors. If a service needs to return partial errors to the client,
197
+ # it may embed the `Status` in the normal response to indicate the partial
198
+ # errors.
199
+ # - Workflow errors. A typical workflow has multiple steps. Each step may
200
+ # have a `Status` message for error reporting purpose.
201
+ # - Batch operations. If a client uses batch request and batch response, the
202
+ # `Status` message should be used directly inside batch response, one for
203
+ # each error sub-response.
204
+ # - Asynchronous operations. If an API call embeds asynchronous operation
205
+ # results in its response, the status of those operations should be
206
+ # represented directly using the `Status` message.
207
+ # - Logging. If some API errors are stored in logs, the message `Status` could
208
+ # be used directly after any stripping needed for security/privacy reasons.
209
+ # Corresponds to the JSON property `error`
210
+ # @return [Google::Apis::CloudresourcemanagerV1::Status]
211
+ attr_accessor :error
134
212
 
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
213
+ # Service-specific metadata associated with the operation. It typically
214
+ # contains progress information and common metadata such as create time.
215
+ # Some services might not provide such metadata. Any method that returns a
216
+ # long-running operation should document the metadata type, if any.
217
+ # Corresponds to the JSON property `metadata`
218
+ # @return [Hash<String,Object>]
219
+ attr_accessor :metadata
141
220
 
142
- # A generic empty message that you can re-use to avoid defining duplicated
143
- # empty messages in your APIs. A typical example is to use it as the request
144
- # or the response type of an API method. For instance:
145
- # service Foo `
146
- # rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
147
- # `
148
- # The JSON representation for `Empty` is empty JSON object ````.
149
- class Empty
150
- include Google::Apis::Core::Hashable
221
+ # If the value is `false`, it means the operation is still in progress.
222
+ # If true, the operation is completed, and either `error` or `response` is
223
+ # available.
224
+ # Corresponds to the JSON property `done`
225
+ # @return [Boolean]
226
+ attr_accessor :done
227
+ alias_method :done?, :done
151
228
 
152
229
  def initialize(**args)
153
230
  update!(**args)
@@ -155,48 +232,72 @@ module Google
155
232
 
156
233
  # Update properties of this object
157
234
  def update!(**args)
235
+ @response = args[:response] if args.key?(:response)
236
+ @name = args[:name] if args.key?(:name)
237
+ @error = args[:error] if args.key?(:error)
238
+ @metadata = args[:metadata] if args.key?(:metadata)
239
+ @done = args[:done] if args.key?(:done)
158
240
  end
159
241
  end
160
242
 
161
- # The root node in the resource hierarchy to which a particular entity's
162
- # (e.g., company) resources belong.
163
- class Organization
164
- include Google::Apis::Core::Hashable
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
243
+ # A `Constraint` describes a way in which a resource's configuration can be
244
+ # restricted. For example, it controls which cloud services can be activated
245
+ # across an organization, or whether a Compute Engine instance can have
246
+ # serial port connections established. `Constraints` can be configured by the
247
+ # organization's policy adminstrator to fit the needs of the organzation by
248
+ # setting Policies for `Constraints` at different locations in the
249
+ # organization's resource hierarchy. Policies are inherited down the resource
250
+ # hierarchy from higher levels, but can also be overridden. For details about
251
+ # the inheritance rules please read about
252
+ # Policies.
253
+ # `Constraints` have a default behavior determined by the `constraint_default`
254
+ # field, which is the enforcement behavior that is used in the absence of a
255
+ # `Policy` being defined or inherited for the resource in question.
256
+ class Constraint
257
+ include Google::Apis::Core::Hashable
171
258
 
172
- # The entity that owns an Organization. The lifetime of the Organization and
173
- # all of its descendants are bound to the `OrganizationOwner`. If the
174
- # `OrganizationOwner` is deleted, the Organization and all its descendants will
175
- # be deleted.
176
- # Corresponds to the JSON property `owner`
177
- # @return [Google::Apis::CloudresourcemanagerV1::OrganizationOwner]
178
- attr_accessor :owner
259
+ # Version of the `Constraint`. Default version is 0;
260
+ # Corresponds to the JSON property `version`
261
+ # @return [Fixnum]
262
+ attr_accessor :version
179
263
 
180
- # The organization's current lifecycle state. Assigned by the server.
181
- # @OutputOnly
182
- # Corresponds to the JSON property `lifecycleState`
264
+ # A `Constraint` that allows or disallows a list of string values, which are
265
+ # configured by an Organization's policy administrator with a `Policy`.
266
+ # Corresponds to the JSON property `listConstraint`
267
+ # @return [Google::Apis::CloudresourcemanagerV1::ListConstraint]
268
+ attr_accessor :list_constraint
269
+
270
+ # The human readable name.
271
+ # Mutable.
272
+ # Corresponds to the JSON property `displayName`
183
273
  # @return [String]
184
- attr_accessor :lifecycle_state
274
+ attr_accessor :display_name
185
275
 
186
- # Output Only. The resource name of the organization. This is the
187
- # organization's relative path in the API. Its format is
188
- # "organizations/[organization_id]". For example, "organizations/1234".
189
- # Corresponds to the JSON property `name`
276
+ # Detailed description of what this `Constraint` controls as well as how and
277
+ # where it is enforced.
278
+ # Mutable.
279
+ # Corresponds to the JSON property `description`
190
280
  # @return [String]
191
- attr_accessor :name
281
+ attr_accessor :description
192
282
 
193
- # A friendly string to be used to refer to the Organization in the UI.
194
- # Assigned by the server, set to the primary domain of the G Suite
195
- # customer that owns the organization.
196
- # @OutputOnly
197
- # Corresponds to the JSON property `displayName`
283
+ # A `Constraint` that is either enforced or not.
284
+ # For example a constraint `constraints/compute.disableSerialPortAccess`.
285
+ # If it is enforced on a VM instance, serial port connections will not be
286
+ # opened to that instance.
287
+ # Corresponds to the JSON property `booleanConstraint`
288
+ # @return [Google::Apis::CloudresourcemanagerV1::BooleanConstraint]
289
+ attr_accessor :boolean_constraint
290
+
291
+ # The evaluation behavior of this constraint in the absense of 'Policy'.
292
+ # Corresponds to the JSON property `constraintDefault`
198
293
  # @return [String]
199
- attr_accessor :display_name
294
+ attr_accessor :constraint_default
295
+
296
+ # Immutable value, required to globally be unique. For example,
297
+ # `constraints/serviceuser.services`
298
+ # Corresponds to the JSON property `name`
299
+ # @return [String]
300
+ attr_accessor :name
200
301
 
201
302
  def initialize(**args)
202
303
  update!(**args)
@@ -204,30 +305,30 @@ module Google
204
305
 
205
306
  # Update properties of this object
206
307
  def update!(**args)
207
- @creation_time = args[:creation_time] if args.key?(:creation_time)
208
- @owner = args[:owner] if args.key?(:owner)
209
- @lifecycle_state = args[:lifecycle_state] if args.key?(:lifecycle_state)
210
- @name = args[:name] if args.key?(:name)
308
+ @version = args[:version] if args.key?(:version)
309
+ @list_constraint = args[:list_constraint] if args.key?(:list_constraint)
211
310
  @display_name = args[:display_name] if args.key?(:display_name)
311
+ @description = args[:description] if args.key?(:description)
312
+ @boolean_constraint = args[:boolean_constraint] if args.key?(:boolean_constraint)
313
+ @constraint_default = args[:constraint_default] if args.key?(:constraint_default)
314
+ @name = args[:name] if args.key?(:name)
212
315
  end
213
316
  end
214
317
 
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
318
+ # The response message for Liens.ListLiens.
319
+ class ListLiensResponse
220
320
  include Google::Apis::Core::Hashable
221
321
 
222
- # Page token used to retrieve the next page. This is currently not used.
322
+ # Token to retrieve the next page of results, or empty if there are no more
323
+ # results in the list.
223
324
  # Corresponds to the JSON property `nextPageToken`
224
325
  # @return [String]
225
326
  attr_accessor :next_page_token
226
327
 
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
328
+ # A list of Liens.
329
+ # Corresponds to the JSON property `liens`
330
+ # @return [Array<Google::Apis::CloudresourcemanagerV1::Lien>]
331
+ attr_accessor :liens
231
332
 
232
333
  def initialize(**args)
233
334
  update!(**args)
@@ -236,124 +337,135 @@ module Google
236
337
  # Update properties of this object
237
338
  def update!(**args)
238
339
  @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
239
- @constraints = args[:constraints] if args.key?(:constraints)
340
+ @liens = args[:liens] if args.key?(:liens)
240
341
  end
241
342
  end
242
343
 
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
344
+ # The `Status` type defines a logical error model that is suitable for different
345
+ # programming environments, including REST APIs and RPC APIs. It is used by
346
+ # [gRPC](https://github.com/grpc). The error model is designed to be:
347
+ # - Simple to use and understand for most users
348
+ # - Flexible enough to meet unexpected needs
349
+ # # Overview
350
+ # The `Status` message contains three pieces of data: error code, error message,
351
+ # and error details. The error code should be an enum value of
352
+ # google.rpc.Code, but it may accept additional error codes if needed. The
353
+ # error message should be a developer-facing English message that helps
354
+ # developers *understand* and *resolve* the error. If a localized user-facing
355
+ # error message is needed, put the localized message in the error details or
356
+ # localize it in the client. The optional error details may contain arbitrary
357
+ # information about the error. There is a predefined set of error detail types
358
+ # in the package `google.rpc` which can be used for common error conditions.
359
+ # # Language mapping
360
+ # The `Status` message is the logical representation of the error model, but it
361
+ # is not necessarily the actual wire format. When the `Status` message is
362
+ # exposed in different client libraries and different wire protocols, it can be
363
+ # mapped differently. For example, it will likely be mapped to some exceptions
364
+ # in Java, but more likely mapped to some error codes in C.
365
+ # # Other uses
366
+ # The error model and the `Status` message can be used in a variety of
367
+ # environments, either with or without APIs, to provide a
368
+ # consistent developer experience across different environments.
369
+ # Example uses of this error model include:
370
+ # - Partial errors. If a service needs to return partial errors to the client,
371
+ # it may embed the `Status` in the normal response to indicate the partial
372
+ # errors.
373
+ # - Workflow errors. A typical workflow has multiple steps. Each step may
374
+ # have a `Status` message for error reporting purpose.
375
+ # - Batch operations. If a client uses batch request and batch response, the
376
+ # `Status` message should be used directly inside batch response, one for
377
+ # each error sub-response.
378
+ # - Asynchronous operations. If an API call embeds asynchronous operation
379
+ # results in its response, the status of those operations should be
380
+ # represented directly using the `Status` message.
381
+ # - Logging. If some API errors are stored in logs, the message `Status` could
382
+ # be used directly after any stripping needed for security/privacy reasons.
383
+ class Status
253
384
  include Google::Apis::Core::Hashable
254
385
 
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`
386
+ # A list of messages that carry the error details. There will be a
387
+ # common set of message types for APIs to use.
388
+ # Corresponds to the JSON property `details`
389
+ # @return [Array<Hash<String,Object>>]
390
+ attr_accessor :details
391
+
392
+ # The status code, which should be an enum value of google.rpc.Code.
393
+ # Corresponds to the JSON property `code`
394
+ # @return [Fixnum]
395
+ attr_accessor :code
396
+
397
+ # A developer-facing error message, which should be in English. Any
398
+ # user-facing error message should be localized and sent in the
399
+ # google.rpc.Status.details field, or localized by the client.
400
+ # Corresponds to the JSON property `message`
401
+ # @return [String]
402
+ attr_accessor :message
403
+
404
+ def initialize(**args)
405
+ update!(**args)
406
+ end
407
+
408
+ # Update properties of this object
409
+ def update!(**args)
410
+ @details = args[:details] if args.key?(:details)
411
+ @code = args[:code] if args.key?(:code)
412
+ @message = args[:message] if args.key?(:message)
413
+ end
414
+ end
415
+
416
+ # Associates `members` with a `role`.
417
+ class Binding
418
+ include Google::Apis::Core::Hashable
419
+
420
+ # Specifies the identities requesting access for a Cloud Platform resource.
421
+ # `members` can have the following values:
422
+ # * `allUsers`: A special identifier that represents anyone who is
423
+ # on the internet; with or without a Google account.
424
+ # * `allAuthenticatedUsers`: A special identifier that represents anyone
425
+ # who is authenticated with a Google account or a service account.
426
+ # * `user:`emailid``: An email address that represents a specific Google
427
+ # account. For example, `alice@gmail.com` or `joe@example.com`.
428
+ # * `serviceAccount:`emailid``: An email address that represents a service
429
+ # account. For example, `my-other-app@appspot.gserviceaccount.com`.
430
+ # * `group:`emailid``: An email address that represents a Google group.
431
+ # For example, `admins@example.com`.
432
+ # * `domain:`domain``: A Google Apps domain name that represents all the
433
+ # users of that domain. For example, `google.com` or `example.com`.
434
+ # Corresponds to the JSON property `members`
259
435
  # @return [Array<String>]
260
- attr_accessor :allowed_values
436
+ attr_accessor :members
261
437
 
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`
438
+ # Role that is assigned to `members`.
439
+ # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
440
+ # Required
441
+ # Corresponds to the JSON property `role`
267
442
  # @return [String]
268
- attr_accessor :suggested_value
443
+ attr_accessor :role
269
444
 
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
445
+ def initialize(**args)
446
+ update!(**args)
447
+ end
345
448
 
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
449
+ # Update properties of this object
450
+ def update!(**args)
451
+ @members = args[:members] if args.key?(:members)
452
+ @role = args[:role] if args.key?(:role)
453
+ end
454
+ end
352
455
 
353
- # The policy all_values state.
354
- # Corresponds to the JSON property `allValues`
355
- # @return [String]
356
- attr_accessor :all_values
456
+ # Ignores policies set above this resource and restores the
457
+ # `constraint_default` enforcement behavior of the specific `Constraint` at
458
+ # this resource.
459
+ # Suppose that `constraint_default` is set to `ALLOW` for the
460
+ # `Constraint` `constraints/serviceuser.services`. Suppose that organization
461
+ # foo.com sets a `Policy` at their Organization resource node that restricts
462
+ # the allowed service activations to deny all service activations. They
463
+ # could then set a `Policy` with the `policy_type` `restore_default` on
464
+ # several experimental projects, restoring the `constraint_default`
465
+ # enforcement of the `Constraint` for only those projects, allowing those
466
+ # projects to have all services activated.
467
+ class RestoreDefault
468
+ include Google::Apis::Core::Hashable
357
469
 
358
470
  def initialize(**args)
359
471
  update!(**args)
@@ -361,24 +473,17 @@ module Google
361
473
 
362
474
  # Update properties of this object
363
475
  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)
369
476
  end
370
477
  end
371
478
 
372
- # Response from the GetAncestry method.
373
- class GetAncestryResponse
479
+ # The request sent to the GetOrgPolicy method.
480
+ class GetOrgPolicyRequest
374
481
  include Google::Apis::Core::Hashable
375
482
 
376
- # Ancestors are ordered from bottom to top of the resource hierarchy. The
377
- # first ancestor is the project itself, followed by the project's parent,
378
- # etc.
379
- # Corresponds to the JSON property `ancestor`
380
- # @return [Array<Google::Apis::CloudresourcemanagerV1::Ancestor>]
381
- attr_accessor :ancestor
483
+ # Name of the `Constraint` to get the `Policy`.
484
+ # Corresponds to the JSON property `constraint`
485
+ # @return [String]
486
+ attr_accessor :constraint
382
487
 
383
488
  def initialize(**args)
384
489
  update!(**args)
@@ -386,83 +491,39 @@ module Google
386
491
 
387
492
  # Update properties of this object
388
493
  def update!(**args)
389
- @ancestor = args[:ancestor] if args.key?(:ancestor)
494
+ @constraint = args[:constraint] if args.key?(:constraint)
390
495
  end
391
496
  end
392
497
 
393
- # Provides the configuration for logging a type of permissions.
394
- # Example:
395
- # `
396
- # "audit_log_configs": [
397
- # `
398
- # "log_type": "DATA_READ",
399
- # "exempted_members": [
400
- # "user:foo@gmail.com"
401
- # ]
402
- # `,
403
- # `
404
- # "log_type": "DATA_WRITE",
405
- # `
406
- # ]
407
- # `
408
- # This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting
409
- # foo@gmail.com from DATA_READ logging.
410
- class AuditLogConfig
498
+ # The request sent to the UndeleteProject
499
+ # method.
500
+ class UndeleteProjectRequest
411
501
  include Google::Apis::Core::Hashable
412
502
 
413
- # Specifies the identities that do not cause logging for this type of
414
- # permission.
415
- # Follows the same format of Binding.members.
416
- # Corresponds to the JSON property `exemptedMembers`
417
- # @return [Array<String>]
418
- attr_accessor :exempted_members
419
-
420
- # The log type that this config enables.
421
- # Corresponds to the JSON property `logType`
422
- # @return [String]
423
- attr_accessor :log_type
424
-
425
503
  def initialize(**args)
426
504
  update!(**args)
427
505
  end
428
506
 
429
507
  # Update properties of this object
430
508
  def update!(**args)
431
- @exempted_members = args[:exempted_members] if args.key?(:exempted_members)
432
- @log_type = args[:log_type] if args.key?(:log_type)
433
509
  end
434
510
  end
435
511
 
436
- # The request sent to the `SearchOrganizations` method.
437
- class SearchOrganizationsRequest
512
+ # The request sent to the ClearOrgPolicy method.
513
+ class ClearOrgPolicyRequest
438
514
  include Google::Apis::Core::Hashable
439
515
 
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`
516
+ # The current version, for concurrency control. Not sending an `etag`
517
+ # will cause the `Policy` to be cleared blindly.
518
+ # Corresponds to the JSON property `etag`
519
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
444
520
  # @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
521
+ attr_accessor :etag
452
522
 
453
- # An optional query string used to filter the Organizations to return in
454
- # the response. Filter rules are case-insensitive.
455
- # Organizations may be filtered by `owner.directoryCustomerId` or by
456
- # `domain`, where the domain is a Google for Work domain, for example:
457
- # |Filter|Description|
458
- # |------|-----------|
459
- # |owner.directorycustomerid:123456789|Organizations with
460
- # `owner.directory_customer_id` equal to `123456789`.|
461
- # |domain:google.com|Organizations corresponding to the domain `google.com`.|
462
- # This field is optional.
463
- # Corresponds to the JSON property `filter`
523
+ # Name of the `Constraint` of the `Policy` to clear.
524
+ # Corresponds to the JSON property `constraint`
464
525
  # @return [String]
465
- attr_accessor :filter
526
+ attr_accessor :constraint
466
527
 
467
528
  def initialize(**args)
468
529
  update!(**args)
@@ -470,74 +531,86 @@ module Google
470
531
 
471
532
  # Update properties of this object
472
533
  def update!(**args)
473
- @page_token = args[:page_token] if args.key?(:page_token)
474
- @page_size = args[:page_size] if args.key?(:page_size)
475
- @filter = args[:filter] if args.key?(:filter)
534
+ @etag = args[:etag] if args.key?(:etag)
535
+ @constraint = args[:constraint] if args.key?(:constraint)
476
536
  end
477
537
  end
478
538
 
479
- # The request sent to the
480
- # GetAncestry
481
- # method.
482
- class GetAncestryRequest
539
+ # A status object which is used as the `metadata` field for the Operation
540
+ # returned by CreateProject. It provides insight for when significant phases of
541
+ # Project creation have completed.
542
+ class ProjectCreationStatus
483
543
  include Google::Apis::Core::Hashable
484
544
 
545
+ # True if the project creation process is complete.
546
+ # Corresponds to the JSON property `ready`
547
+ # @return [Boolean]
548
+ attr_accessor :ready
549
+ alias_method :ready?, :ready
550
+
551
+ # Creation time of the project creation workflow.
552
+ # Corresponds to the JSON property `createTime`
553
+ # @return [String]
554
+ attr_accessor :create_time
555
+
556
+ # True if the project can be retrieved using GetProject. No other operations
557
+ # on the project are guaranteed to work until the project creation is
558
+ # complete.
559
+ # Corresponds to the JSON property `gettable`
560
+ # @return [Boolean]
561
+ attr_accessor :gettable
562
+ alias_method :gettable?, :gettable
563
+
485
564
  def initialize(**args)
486
565
  update!(**args)
487
566
  end
488
567
 
489
568
  # Update properties of this object
490
569
  def update!(**args)
570
+ @ready = args[:ready] if args.key?(:ready)
571
+ @create_time = args[:create_time] if args.key?(:create_time)
572
+ @gettable = args[:gettable] if args.key?(:gettable)
491
573
  end
492
574
  end
493
575
 
494
- # Request message for `TestIamPermissions` method.
495
- class TestIamPermissionsRequest
576
+ # A `Constraint` that is either enforced or not.
577
+ # For example a constraint `constraints/compute.disableSerialPortAccess`.
578
+ # If it is enforced on a VM instance, serial port connections will not be
579
+ # opened to that instance.
580
+ class BooleanConstraint
496
581
  include Google::Apis::Core::Hashable
497
582
 
498
- # The set of permissions to check for the `resource`. Permissions with
499
- # wildcards (such as '*' or 'storage.*') are not allowed. For more
500
- # information see
501
- # [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
502
- # Corresponds to the JSON property `permissions`
503
- # @return [Array<String>]
504
- attr_accessor :permissions
505
-
506
583
  def initialize(**args)
507
584
  update!(**args)
508
585
  end
509
586
 
510
587
  # Update properties of this object
511
588
  def update!(**args)
512
- @permissions = args[:permissions] if args.key?(:permissions)
513
589
  end
514
590
  end
515
591
 
516
- # Metadata describing a long running folder operation
517
- class FolderOperation
592
+ # Request message for `GetIamPolicy` method.
593
+ class GetIamPolicyRequest
518
594
  include Google::Apis::Core::Hashable
519
595
 
520
- # The type of this operation.
521
- # Corresponds to the JSON property `operationType`
522
- # @return [String]
523
- attr_accessor :operation_type
596
+ def initialize(**args)
597
+ update!(**args)
598
+ end
524
599
 
525
- # The display name of the folder.
526
- # Corresponds to the JSON property `displayName`
527
- # @return [String]
528
- attr_accessor :display_name
600
+ # Update properties of this object
601
+ def update!(**args)
602
+ end
603
+ end
529
604
 
530
- # The resource name of the folder's parent.
531
- # Only applicable when the operation_type is MOVE.
532
- # Corresponds to the JSON property `sourceParent`
533
- # @return [String]
534
- attr_accessor :source_parent
605
+ # Response message for `TestIamPermissions` method.
606
+ class TestIamPermissionsResponse
607
+ include Google::Apis::Core::Hashable
535
608
 
536
- # The resource name of the folder or organization we are either creating
537
- # the folder under or moving the folder to.
538
- # Corresponds to the JSON property `destinationParent`
539
- # @return [String]
540
- attr_accessor :destination_parent
609
+ # A subset of `TestPermissionsRequest.permissions` that the caller is
610
+ # allowed.
611
+ # Corresponds to the JSON property `permissions`
612
+ # @return [Array<String>]
613
+ attr_accessor :permissions
541
614
 
542
615
  def initialize(**args)
543
616
  update!(**args)
@@ -545,71 +618,21 @@ module Google
545
618
 
546
619
  # Update properties of this object
547
620
  def update!(**args)
548
- @operation_type = args[:operation_type] if args.key?(:operation_type)
549
- @display_name = args[:display_name] if args.key?(:display_name)
550
- @source_parent = args[:source_parent] if args.key?(:source_parent)
551
- @destination_parent = args[:destination_parent] if args.key?(:destination_parent)
621
+ @permissions = args[:permissions] if args.key?(:permissions)
552
622
  end
553
623
  end
554
624
 
555
- # Defines an Identity and Access Management (IAM) policy. It is used to
556
- # specify access control policies for Cloud Platform resources.
557
- # A `Policy` consists of a list of `bindings`. A `Binding` binds a list of
558
- # `members` to a `role`, where the members can be user accounts, Google groups,
559
- # Google domains, and service accounts. A `role` is a named list of permissions
560
- # defined by IAM.
561
- # **Example**
562
- # `
563
- # "bindings": [
564
- # `
565
- # "role": "roles/owner",
566
- # "members": [
567
- # "user:mike@example.com",
568
- # "group:admins@example.com",
569
- # "domain:google.com",
570
- # "serviceAccount:my-other-app@appspot.gserviceaccount.com",
571
- # ]
572
- # `,
573
- # `
574
- # "role": "roles/viewer",
575
- # "members": ["user:sean@example.com"]
576
- # `
577
- # ]
578
- # `
579
- # For a description of IAM and its features, see the
580
- # [IAM developer's guide](https://cloud.google.com/iam).
581
- class Policy
625
+ # The entity that owns an Organization. The lifetime of the Organization and
626
+ # all of its descendants are bound to the `OrganizationOwner`. If the
627
+ # `OrganizationOwner` is deleted, the Organization and all its descendants will
628
+ # be deleted.
629
+ class OrganizationOwner
582
630
  include Google::Apis::Core::Hashable
583
631
 
584
- # `etag` is used for optimistic concurrency control as a way to help
585
- # prevent simultaneous updates of a policy from overwriting each other.
586
- # It is strongly suggested that systems make use of the `etag` in the
587
- # read-modify-write cycle to perform policy updates in order to avoid race
588
- # conditions: An `etag` is returned in the response to `getIamPolicy`, and
589
- # systems are expected to put that etag in the request to `setIamPolicy` to
590
- # ensure that their change will be applied to the same version of the policy.
591
- # If no `etag` is provided in the call to `setIamPolicy`, then the existing
592
- # policy is overwritten blindly.
593
- # Corresponds to the JSON property `etag`
632
+ # The Google for Work customer id used in the Directory API.
633
+ # Corresponds to the JSON property `directoryCustomerId`
594
634
  # @return [String]
595
- attr_accessor :etag
596
-
597
- # Version of the `Policy`. The default version is 0.
598
- # Corresponds to the JSON property `version`
599
- # @return [Fixnum]
600
- attr_accessor :version
601
-
602
- # Specifies cloud audit logging configuration for this policy.
603
- # Corresponds to the JSON property `auditConfigs`
604
- # @return [Array<Google::Apis::CloudresourcemanagerV1::AuditConfig>]
605
- attr_accessor :audit_configs
606
-
607
- # Associates a list of `members` to a `role`.
608
- # Multiple `bindings` must not be specified for the same `role`.
609
- # `bindings` with no members will result in an error.
610
- # Corresponds to the JSON property `bindings`
611
- # @return [Array<Google::Apis::CloudresourcemanagerV1::Binding>]
612
- attr_accessor :bindings
635
+ attr_accessor :directory_customer_id
613
636
 
614
637
  def initialize(**args)
615
638
  update!(**args)
@@ -617,30 +640,36 @@ module Google
617
640
 
618
641
  # Update properties of this object
619
642
  def update!(**args)
620
- @etag = args[:etag] if args.key?(:etag)
621
- @version = args[:version] if args.key?(:version)
622
- @audit_configs = args[:audit_configs] if args.key?(:audit_configs)
623
- @bindings = args[:bindings] if args.key?(:bindings)
643
+ @directory_customer_id = args[:directory_customer_id] if args.key?(:directory_customer_id)
624
644
  end
625
645
  end
626
646
 
627
- # The request sent to the [ListAvailableOrgPolicyConstraints]
628
- # google.cloud.OrgPolicy.v1.ListAvailableOrgPolicyConstraints] method.
629
- class ListAvailableOrgPolicyConstraintsRequest
647
+ # A page of the response received from the
648
+ # ListProjects
649
+ # method.
650
+ # A paginated response where more pages are available has
651
+ # `next_page_token` set. This token can be used in a subsequent request to
652
+ # retrieve the next request page.
653
+ class ListProjectsResponse
630
654
  include Google::Apis::Core::Hashable
631
655
 
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`
656
+ # Pagination token.
657
+ # If the result set is too large to fit in a single response, this token
658
+ # is returned. It encodes the position of the current result cursor.
659
+ # Feeding this value into a new list request with the `page_token` parameter
660
+ # gives the next page of the results.
661
+ # When `next_page_token` is not filled in, there is no next page and
662
+ # the list returned is the last page in the result set.
663
+ # Pagination tokens have a limited lifetime.
664
+ # Corresponds to the JSON property `nextPageToken`
635
665
  # @return [String]
636
- attr_accessor :page_token
666
+ attr_accessor :next_page_token
637
667
 
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
668
+ # The list of Projects that matched the list filter. This list can
669
+ # be paginated.
670
+ # Corresponds to the JSON property `projects`
671
+ # @return [Array<Google::Apis::CloudresourcemanagerV1::Project>]
672
+ attr_accessor :projects
644
673
 
645
674
  def initialize(**args)
646
675
  update!(**args)
@@ -648,49 +677,77 @@ module Google
648
677
 
649
678
  # Update properties of this object
650
679
  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)
680
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
681
+ @projects = args[:projects] if args.key?(:projects)
653
682
  end
654
683
  end
655
684
 
656
- # A container to reference an id for any resource type. A `resource` in Google
657
- # Cloud Platform is a generic term for something you (a developer) may want to
658
- # interact with through one of our API's. Some examples are an App Engine app,
659
- # a Compute Engine instance, a Cloud SQL database, and so on.
660
- class ResourceId
685
+ # A Project is a high-level Google Cloud Platform entity. It is a
686
+ # container for ACLs, APIs, App Engine Apps, VMs, and other
687
+ # Google Cloud Platform resources.
688
+ class Project
661
689
  include Google::Apis::Core::Hashable
662
690
 
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`
691
+ # The user-assigned display name of the Project.
692
+ # It must be 4 to 30 characters.
693
+ # Allowed characters are: lowercase and uppercase letters, numbers,
694
+ # hyphen, single-quote, double-quote, space, and exclamation point.
695
+ # Example: <code>My Project</code>
696
+ # Read-write.
697
+ # Corresponds to the JSON property `name`
666
698
  # @return [String]
667
- attr_accessor :type
699
+ attr_accessor :name
668
700
 
669
- # Required field for the type-specific id. This should correspond to the id
670
- # used in the type-specific API's.
671
- # Corresponds to the JSON property `id`
701
+ # The unique, user-assigned ID of the Project.
702
+ # It must be 6 to 30 lowercase letters, digits, or hyphens.
703
+ # It must start with a letter.
704
+ # Trailing hyphens are prohibited.
705
+ # Example: <code>tokyo-rain-123</code>
706
+ # Read-only after creation.
707
+ # Corresponds to the JSON property `projectId`
672
708
  # @return [String]
673
- attr_accessor :id
709
+ attr_accessor :project_id
674
710
 
675
- def initialize(**args)
676
- update!(**args)
677
- end
711
+ # The Project lifecycle state.
712
+ # Read-only.
713
+ # Corresponds to the JSON property `lifecycleState`
714
+ # @return [String]
715
+ attr_accessor :lifecycle_state
678
716
 
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
717
+ # The number uniquely identifying the project.
718
+ # Example: <code>415104041262</code>
719
+ # Read-only.
720
+ # Corresponds to the JSON property `projectNumber`
721
+ # @return [String]
722
+ attr_accessor :project_number
685
723
 
686
- # The request sent to the GetEffectiveOrgPolicy method.
687
- class GetEffectiveOrgPolicyRequest
688
- include Google::Apis::Core::Hashable
724
+ # A container to reference an id for any resource type. A `resource` in Google
725
+ # Cloud Platform is a generic term for something you (a developer) may want to
726
+ # interact with through one of our API's. Some examples are an App Engine app,
727
+ # a Compute Engine instance, a Cloud SQL database, and so on.
728
+ # Corresponds to the JSON property `parent`
729
+ # @return [Google::Apis::CloudresourcemanagerV1::ResourceId]
730
+ attr_accessor :parent
689
731
 
690
- # The name of the `Constraint` to compute the effective `Policy`.
691
- # Corresponds to the JSON property `constraint`
732
+ # The labels associated with this Project.
733
+ # Label keys must be between 1 and 63 characters long and must conform
734
+ # to the following regular expression: \[a-z\](\[-a-z0-9\]*\[a-z0-9\])?.
735
+ # Label values must be between 0 and 63 characters long and must conform
736
+ # to the regular expression (\[a-z\](\[-a-z0-9\]*\[a-z0-9\])?)?.
737
+ # No more than 256 labels can be associated with a given resource.
738
+ # Clients should store labels in a representation such as JSON that does not
739
+ # depend on specific characters being disallowed.
740
+ # Example: <code>"environment" : "dev"</code>
741
+ # Read-write.
742
+ # Corresponds to the JSON property `labels`
743
+ # @return [Hash<String,String>]
744
+ attr_accessor :labels
745
+
746
+ # Creation time.
747
+ # Read-only.
748
+ # Corresponds to the JSON property `createTime`
692
749
  # @return [String]
693
- attr_accessor :constraint
750
+ attr_accessor :create_time
694
751
 
695
752
  def initialize(**args)
696
753
  update!(**args)
@@ -698,26 +755,34 @@ module Google
698
755
 
699
756
  # Update properties of this object
700
757
  def update!(**args)
701
- @constraint = args[:constraint] if args.key?(:constraint)
758
+ @name = args[:name] if args.key?(:name)
759
+ @project_id = args[:project_id] if args.key?(:project_id)
760
+ @lifecycle_state = args[:lifecycle_state] if args.key?(:lifecycle_state)
761
+ @project_number = args[:project_number] if args.key?(:project_number)
762
+ @parent = args[:parent] if args.key?(:parent)
763
+ @labels = args[:labels] if args.key?(:labels)
764
+ @create_time = args[:create_time] if args.key?(:create_time)
702
765
  end
703
766
  end
704
767
 
705
- # The request sent to the ListOrgPolicies method.
706
- class ListOrgPoliciesRequest
768
+ # The response returned from the `SearchOrganizations` method.
769
+ class SearchOrganizationsResponse
707
770
  include Google::Apis::Core::Hashable
708
771
 
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`
772
+ # A pagination token to be used to retrieve the next page of results. If the
773
+ # result is too large to fit within the page size specified in the request,
774
+ # this field will be set with a token that can be used to fetch the next page
775
+ # of results. If this field is empty, it indicates that this response
776
+ # contains the last page of results.
777
+ # Corresponds to the JSON property `nextPageToken`
712
778
  # @return [String]
713
- attr_accessor :page_token
779
+ attr_accessor :next_page_token
714
780
 
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
781
+ # The list of Organizations that matched the search query, possibly
782
+ # paginated.
783
+ # Corresponds to the JSON property `organizations`
784
+ # @return [Array<Google::Apis::CloudresourcemanagerV1::Organization>]
785
+ attr_accessor :organizations
721
786
 
722
787
  def initialize(**args)
723
788
  update!(**args)
@@ -725,73 +790,27 @@ module Google
725
790
 
726
791
  # Update properties of this object
727
792
  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)
793
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
794
+ @organizations = args[:organizations] if args.key?(:organizations)
730
795
  end
731
796
  end
732
797
 
733
- # Specifies the audit configuration for a service.
734
- # The configuration determines which permission types are logged, and what
735
- # identities, if any, are exempted from logging.
736
- # An AuditConifg must have one or more AuditLogConfigs.
737
- # If there are AuditConfigs for both `allServices` and a specific service,
738
- # the union of the two AuditConfigs is used for that service: the log_types
739
- # specified in each AuditConfig are enabled, and the exempted_members in each
740
- # AuditConfig are exempted.
741
- # Example Policy with multiple AuditConfigs:
742
- # `
743
- # "audit_configs": [
744
- # `
745
- # "service": "allServices"
746
- # "audit_log_configs": [
747
- # `
748
- # "log_type": "DATA_READ",
749
- # "exempted_members": [
750
- # "user:foo@gmail.com"
751
- # ]
752
- # `,
753
- # `
754
- # "log_type": "DATA_WRITE",
755
- # `,
756
- # `
757
- # "log_type": "ADMIN_READ",
758
- # `
759
- # ]
760
- # `,
761
- # `
762
- # "service": "fooservice@googleapis.com"
763
- # "audit_log_configs": [
764
- # `
765
- # "log_type": "DATA_READ",
766
- # `,
767
- # `
768
- # "log_type": "DATA_WRITE",
769
- # "exempted_members": [
770
- # "user:bar@gmail.com"
771
- # ]
772
- # `
773
- # ]
774
- # `
775
- # ]
776
- # `
777
- # For fooservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ
778
- # logging. It also exempts foo@gmail.com from DATA_READ logging, and
779
- # bar@gmail.com from DATA_WRITE logging.
780
- class AuditConfig
798
+ # The response returned from the ListOrgPolicies method. It will be empty
799
+ # if no `Policies` are set on the resource.
800
+ class ListOrgPoliciesResponse
781
801
  include Google::Apis::Core::Hashable
782
802
 
783
- # Specifies a service that will be enabled for audit logging.
784
- # For example, `storage.googleapis.com`, `cloudsql.googleapis.com`.
785
- # `allServices` is a special value that covers all services.
786
- # Corresponds to the JSON property `service`
803
+ # Page token used to retrieve the next page. This is currently not used, but
804
+ # the server may at any point start supplying a valid token.
805
+ # Corresponds to the JSON property `nextPageToken`
787
806
  # @return [String]
788
- attr_accessor :service
807
+ attr_accessor :next_page_token
789
808
 
790
- # The configuration for logging of each type of permission.
791
- # Next ID: 4
792
- # Corresponds to the JSON property `auditLogConfigs`
793
- # @return [Array<Google::Apis::CloudresourcemanagerV1::AuditLogConfig>]
794
- attr_accessor :audit_log_configs
809
+ # The `Policies` that are set on the resource. It will be empty if no
810
+ # `Policies` are set.
811
+ # Corresponds to the JSON property `policies`
812
+ # @return [Array<Google::Apis::CloudresourcemanagerV1::OrgPolicy>]
813
+ attr_accessor :policies
795
814
 
796
815
  def initialize(**args)
797
816
  update!(**args)
@@ -799,93 +818,19 @@ module Google
799
818
 
800
819
  # Update properties of this object
801
820
  def update!(**args)
802
- @service = args[:service] if args.key?(:service)
803
- @audit_log_configs = args[:audit_log_configs] if args.key?(:audit_log_configs)
821
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
822
+ @policies = args[:policies] if args.key?(:policies)
804
823
  end
805
824
  end
806
825
 
807
- # This resource represents a long-running operation that is the result of a
808
- # network API call.
809
- class Operation
826
+ # A classification of the Folder Operation error.
827
+ class FolderOperationError
810
828
  include Google::Apis::Core::Hashable
811
829
 
812
- # If the value is `false`, it means the operation is still in progress.
813
- # If true, the operation is completed, and either `error` or `response` is
814
- # available.
815
- # Corresponds to the JSON property `done`
816
- # @return [Boolean]
817
- attr_accessor :done
818
- alias_method :done?, :done
819
-
820
- # The normal response of the operation in case of success. If the original
821
- # method returns no data on success, such as `Delete`, the response is
822
- # `google.protobuf.Empty`. If the original method is standard
823
- # `Get`/`Create`/`Update`, the response should be the resource. For other
824
- # methods, the response should have the type `XxxResponse`, where `Xxx`
825
- # is the original method name. For example, if the original method name
826
- # is `TakeSnapshot()`, the inferred response type is
827
- # `TakeSnapshotResponse`.
828
- # Corresponds to the JSON property `response`
829
- # @return [Hash<String,Object>]
830
- attr_accessor :response
831
-
832
- # The server-assigned name, which is only unique within the same service that
833
- # originally returns it. If you use the default HTTP mapping, the
834
- # `name` should have the format of `operations/some/unique/name`.
835
- # Corresponds to the JSON property `name`
830
+ # The type of operation error experienced.
831
+ # Corresponds to the JSON property `errorMessageId`
836
832
  # @return [String]
837
- attr_accessor :name
838
-
839
- # The `Status` type defines a logical error model that is suitable for different
840
- # programming environments, including REST APIs and RPC APIs. It is used by
841
- # [gRPC](https://github.com/grpc). The error model is designed to be:
842
- # - Simple to use and understand for most users
843
- # - Flexible enough to meet unexpected needs
844
- # # Overview
845
- # The `Status` message contains three pieces of data: error code, error message,
846
- # and error details. The error code should be an enum value of
847
- # google.rpc.Code, but it may accept additional error codes if needed. The
848
- # error message should be a developer-facing English message that helps
849
- # developers *understand* and *resolve* the error. If a localized user-facing
850
- # error message is needed, put the localized message in the error details or
851
- # localize it in the client. The optional error details may contain arbitrary
852
- # information about the error. There is a predefined set of error detail types
853
- # in the package `google.rpc` which can be used for common error conditions.
854
- # # Language mapping
855
- # The `Status` message is the logical representation of the error model, but it
856
- # is not necessarily the actual wire format. When the `Status` message is
857
- # exposed in different client libraries and different wire protocols, it can be
858
- # mapped differently. For example, it will likely be mapped to some exceptions
859
- # in Java, but more likely mapped to some error codes in C.
860
- # # Other uses
861
- # The error model and the `Status` message can be used in a variety of
862
- # environments, either with or without APIs, to provide a
863
- # consistent developer experience across different environments.
864
- # Example uses of this error model include:
865
- # - Partial errors. If a service needs to return partial errors to the client,
866
- # it may embed the `Status` in the normal response to indicate the partial
867
- # errors.
868
- # - Workflow errors. A typical workflow has multiple steps. Each step may
869
- # have a `Status` message for error reporting purpose.
870
- # - Batch operations. If a client uses batch request and batch response, the
871
- # `Status` message should be used directly inside batch response, one for
872
- # each error sub-response.
873
- # - Asynchronous operations. If an API call embeds asynchronous operation
874
- # results in its response, the status of those operations should be
875
- # represented directly using the `Status` message.
876
- # - Logging. If some API errors are stored in logs, the message `Status` could
877
- # be used directly after any stripping needed for security/privacy reasons.
878
- # Corresponds to the JSON property `error`
879
- # @return [Google::Apis::CloudresourcemanagerV1::Status]
880
- attr_accessor :error
881
-
882
- # Service-specific metadata associated with the operation. It typically
883
- # contains progress information and common metadata such as create time.
884
- # Some services might not provide such metadata. Any method that returns a
885
- # long-running operation should document the metadata type, if any.
886
- # Corresponds to the JSON property `metadata`
887
- # @return [Hash<String,Object>]
888
- attr_accessor :metadata
833
+ attr_accessor :error_message_id
889
834
 
890
835
  def initialize(**args)
891
836
  update!(**args)
@@ -893,73 +838,57 @@ module Google
893
838
 
894
839
  # Update properties of this object
895
840
  def update!(**args)
896
- @done = args[:done] if args.key?(:done)
897
- @response = args[:response] if args.key?(:response)
898
- @name = args[:name] if args.key?(:name)
899
- @error = args[:error] if args.key?(:error)
900
- @metadata = args[:metadata] if args.key?(:metadata)
841
+ @error_message_id = args[:error_message_id] if args.key?(:error_message_id)
901
842
  end
902
843
  end
903
844
 
904
- # The `Status` type defines a logical error model that is suitable for different
905
- # programming environments, including REST APIs and RPC APIs. It is used by
906
- # [gRPC](https://github.com/grpc). The error model is designed to be:
907
- # - Simple to use and understand for most users
908
- # - Flexible enough to meet unexpected needs
909
- # # Overview
910
- # The `Status` message contains three pieces of data: error code, error message,
911
- # and error details. The error code should be an enum value of
912
- # google.rpc.Code, but it may accept additional error codes if needed. The
913
- # error message should be a developer-facing English message that helps
914
- # developers *understand* and *resolve* the error. If a localized user-facing
915
- # error message is needed, put the localized message in the error details or
916
- # localize it in the client. The optional error details may contain arbitrary
917
- # information about the error. There is a predefined set of error detail types
918
- # in the package `google.rpc` which can be used for common error conditions.
919
- # # Language mapping
920
- # The `Status` message is the logical representation of the error model, but it
921
- # is not necessarily the actual wire format. When the `Status` message is
922
- # exposed in different client libraries and different wire protocols, it can be
923
- # mapped differently. For example, it will likely be mapped to some exceptions
924
- # in Java, but more likely mapped to some error codes in C.
925
- # # Other uses
926
- # The error model and the `Status` message can be used in a variety of
927
- # environments, either with or without APIs, to provide a
928
- # consistent developer experience across different environments.
929
- # Example uses of this error model include:
930
- # - Partial errors. If a service needs to return partial errors to the client,
931
- # it may embed the `Status` in the normal response to indicate the partial
932
- # errors.
933
- # - Workflow errors. A typical workflow has multiple steps. Each step may
934
- # have a `Status` message for error reporting purpose.
935
- # - Batch operations. If a client uses batch request and batch response, the
936
- # `Status` message should be used directly inside batch response, one for
937
- # each error sub-response.
938
- # - Asynchronous operations. If an API call embeds asynchronous operation
939
- # results in its response, the status of those operations should be
940
- # represented directly using the `Status` message.
941
- # - Logging. If some API errors are stored in logs, the message `Status` could
942
- # be used directly after any stripping needed for security/privacy reasons.
943
- class Status
845
+ # Used in `policy_type` to specify how `boolean_policy` will behave at this
846
+ # resource.
847
+ class BooleanPolicy
944
848
  include Google::Apis::Core::Hashable
945
849
 
946
- # A list of messages that carry the error details. There will be a
947
- # common set of message types for APIs to use.
948
- # Corresponds to the JSON property `details`
949
- # @return [Array<Hash<String,Object>>]
950
- attr_accessor :details
951
-
952
- # The status code, which should be an enum value of google.rpc.Code.
953
- # Corresponds to the JSON property `code`
954
- # @return [Fixnum]
955
- attr_accessor :code
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
850
+ # If `true`, then the `Policy` is enforced. If `false`, then any
851
+ # configuration is acceptable.
852
+ # Suppose you have a `Constraint` `constraints/compute.disableSerialPortAccess`
853
+ # with `constraint_default` set to `ALLOW`. A `Policy` for that
854
+ # `Constraint` exhibits the following behavior:
855
+ # - If the `Policy` at this resource has enforced set to `false`, serial
856
+ # port connection attempts will be allowed.
857
+ # - If the `Policy` at this resource has enforced set to `true`, serial
858
+ # port connection attempts will be refused.
859
+ # - If the `Policy` at this resource is `RestoreDefault`, serial port
860
+ # connection attempts will be allowed.
861
+ # - If no `Policy` is set at this resource or anywhere higher in the
862
+ # resource hierarchy, serial port connection attempts will be allowed.
863
+ # - If no `Policy` is set at this resource, but one exists higher in the
864
+ # resource hierarchy, the behavior is as if the`Policy` were set at
865
+ # this resource.
866
+ # The following examples demonstrate the different possible layerings:
867
+ # Example 1 (nearest `Constraint` wins):
868
+ # `organizations/foo` has a `Policy` with:
869
+ # `enforced: false`
870
+ # `projects/bar` has no `Policy` set.
871
+ # The constraint at `projects/bar` and `organizations/foo` will not be
872
+ # enforced.
873
+ # Example 2 (enforcement gets replaced):
874
+ # `organizations/foo` has a `Policy` with:
875
+ # `enforced: false`
876
+ # `projects/bar` has a `Policy` with:
877
+ # `enforced: true`
878
+ # The constraint at `organizations/foo` is not enforced.
879
+ # The constraint at `projects/bar` is enforced.
880
+ # Example 3 (RestoreDefault):
881
+ # `organizations/foo` has a `Policy` with:
882
+ # `enforced: true`
883
+ # `projects/bar` has a `Policy` with:
884
+ # `RestoreDefault: ```
885
+ # The constraint at `organizations/foo` is enforced.
886
+ # The constraint at `projects/bar` is not enforced, because
887
+ # `constraint_default` for the `Constraint` is `ALLOW`.
888
+ # Corresponds to the JSON property `enforced`
889
+ # @return [Boolean]
890
+ attr_accessor :enforced
891
+ alias_method :enforced?, :enforced
963
892
 
964
893
  def initialize(**args)
965
894
  update!(**args)
@@ -967,26 +896,85 @@ module Google
967
896
 
968
897
  # Update properties of this object
969
898
  def update!(**args)
970
- @details = args[:details] if args.key?(:details)
971
- @code = args[:code] if args.key?(:code)
972
- @message = args[:message] if args.key?(:message)
899
+ @enforced = args[:enforced] if args.key?(:enforced)
973
900
  end
974
901
  end
975
902
 
976
- # The response message for Liens.ListLiens.
977
- class ListLiensResponse
903
+ # Defines a Cloud Organization `Policy` which is used to specify `Constraints`
904
+ # for configurations of Cloud Platform resources.
905
+ class OrgPolicy
978
906
  include Google::Apis::Core::Hashable
979
907
 
980
- # Token to retrieve the next page of results, or empty if there are no more
981
- # results in the list.
982
- # Corresponds to the JSON property `nextPageToken`
908
+ # The time stamp the `Policy` was previously updated. This is set by the
909
+ # server, not specified by the caller, and represents the last time a call to
910
+ # `SetOrgPolicy` was made for that `Policy`. Any value set by the client will
911
+ # be ignored.
912
+ # Corresponds to the JSON property `updateTime`
983
913
  # @return [String]
984
- attr_accessor :next_page_token
914
+ attr_accessor :update_time
985
915
 
986
- # A list of Liens.
987
- # Corresponds to the JSON property `liens`
988
- # @return [Array<Google::Apis::CloudresourcemanagerV1::Lien>]
989
- attr_accessor :liens
916
+ # Version of the `Policy`. Default version is 0;
917
+ # Corresponds to the JSON property `version`
918
+ # @return [Fixnum]
919
+ attr_accessor :version
920
+
921
+ # Ignores policies set above this resource and restores the
922
+ # `constraint_default` enforcement behavior of the specific `Constraint` at
923
+ # this resource.
924
+ # Suppose that `constraint_default` is set to `ALLOW` for the
925
+ # `Constraint` `constraints/serviceuser.services`. Suppose that organization
926
+ # foo.com sets a `Policy` at their Organization resource node that restricts
927
+ # the allowed service activations to deny all service activations. They
928
+ # could then set a `Policy` with the `policy_type` `restore_default` on
929
+ # several experimental projects, restoring the `constraint_default`
930
+ # enforcement of the `Constraint` for only those projects, allowing those
931
+ # projects to have all services activated.
932
+ # Corresponds to the JSON property `restoreDefault`
933
+ # @return [Google::Apis::CloudresourcemanagerV1::RestoreDefault]
934
+ attr_accessor :restore_default
935
+
936
+ # Used in `policy_type` to specify how `list_policy` behaves at this
937
+ # resource.
938
+ # A `ListPolicy` can define specific values that are allowed or denied by
939
+ # setting either the `allowed_values` or `denied_values` fields. It can also
940
+ # be used to allow or deny all values, by setting the `all_values` field. If
941
+ # `all_values` is `ALL_VALUES_UNSPECIFIED`, exactly one of `allowed_values`
942
+ # or `denied_values` must be set (attempting to set both or neither will
943
+ # result in a failed request). If `all_values` is set to either `ALLOW` or
944
+ # `DENY`, `allowed_values` and `denied_values` must be unset.
945
+ # Corresponds to the JSON property `listPolicy`
946
+ # @return [Google::Apis::CloudresourcemanagerV1::ListPolicy]
947
+ attr_accessor :list_policy
948
+
949
+ # An opaque tag indicating the current version of the `Policy`, used for
950
+ # concurrency control.
951
+ # When the `Policy` is returned from either a `GetPolicy` or a
952
+ # `ListOrgPolicy` request, this `etag` indicates the version of the current
953
+ # `Policy` to use when executing a read-modify-write loop.
954
+ # When the `Policy` is returned from a `GetEffectivePolicy` request, the
955
+ # `etag` will be unset.
956
+ # When the `Policy` is used in a `SetOrgPolicy` method, use the `etag` value
957
+ # that was returned from a `GetOrgPolicy` request as part of a
958
+ # read-modify-write loop for concurrency control. Not setting the `etag`in a
959
+ # `SetOrgPolicy` request will result in an unconditional write of the
960
+ # `Policy`.
961
+ # Corresponds to the JSON property `etag`
962
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
963
+ # @return [String]
964
+ attr_accessor :etag
965
+
966
+ # Used in `policy_type` to specify how `boolean_policy` will behave at this
967
+ # resource.
968
+ # Corresponds to the JSON property `booleanPolicy`
969
+ # @return [Google::Apis::CloudresourcemanagerV1::BooleanPolicy]
970
+ attr_accessor :boolean_policy
971
+
972
+ # The name of the `Constraint` the `Policy` is configuring, for example,
973
+ # `constraints/serviceuser.services`.
974
+ # Immutable after creation.
975
+ # Corresponds to the JSON property `constraint`
976
+ # @return [String]
977
+ attr_accessor :constraint
990
978
 
991
979
  def initialize(**args)
992
980
  update!(**args)
@@ -994,69 +982,62 @@ module Google
994
982
 
995
983
  # Update properties of this object
996
984
  def update!(**args)
997
- @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
998
- @liens = args[:liens] if args.key?(:liens)
985
+ @update_time = args[:update_time] if args.key?(:update_time)
986
+ @version = args[:version] if args.key?(:version)
987
+ @restore_default = args[:restore_default] if args.key?(:restore_default)
988
+ @list_policy = args[:list_policy] if args.key?(:list_policy)
989
+ @etag = args[:etag] if args.key?(:etag)
990
+ @boolean_policy = args[:boolean_policy] if args.key?(:boolean_policy)
991
+ @constraint = args[:constraint] if args.key?(:constraint)
999
992
  end
1000
993
  end
1001
994
 
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
995
+ # A Lien represents an encumbrance on the actions that can be performed on a
996
+ # resource.
997
+ class Lien
1016
998
  include Google::Apis::Core::Hashable
1017
999
 
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
1000
+ # A system-generated unique identifier for this Lien.
1001
+ # Example: `liens/1234abcd`
1002
+ # Corresponds to the JSON property `name`
1003
+ # @return [String]
1004
+ attr_accessor :name
1028
1005
 
1029
- # The human readable name.
1030
- # Mutable.
1031
- # Corresponds to the JSON property `displayName`
1006
+ # Concise user-visible strings indicating why an action cannot be performed
1007
+ # on a resource. Maximum lenth of 200 characters.
1008
+ # Example: 'Holds production API key'
1009
+ # Corresponds to the JSON property `reason`
1032
1010
  # @return [String]
1033
- attr_accessor :display_name
1011
+ attr_accessor :reason
1034
1012
 
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`
1013
+ # A stable, user-visible/meaningful string identifying the origin of the
1014
+ # Lien, intended to be inspected programmatically. Maximum length of 200
1015
+ # characters.
1016
+ # Example: 'compute.googleapis.com'
1017
+ # Corresponds to the JSON property `origin`
1039
1018
  # @return [String]
1040
- attr_accessor :description
1019
+ attr_accessor :origin
1041
1020
 
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
1021
+ # The types of operations which should be blocked as a result of this Lien.
1022
+ # Each value should correspond to an IAM permission. The server will
1023
+ # validate the permissions against those for which Liens are supported.
1024
+ # An empty list is meaningless and will be rejected.
1025
+ # Example: ['resourcemanager.projects.delete']
1026
+ # Corresponds to the JSON property `restrictions`
1027
+ # @return [Array<String>]
1028
+ attr_accessor :restrictions
1049
1029
 
1050
- # The evaluation behavior of this constraint in the absense of 'Policy'.
1051
- # Corresponds to the JSON property `constraintDefault`
1030
+ # A reference to the resource this Lien is attached to. The server will
1031
+ # validate the parent against those for which Liens are supported.
1032
+ # Example: `projects/1234`
1033
+ # Corresponds to the JSON property `parent`
1052
1034
  # @return [String]
1053
- attr_accessor :constraint_default
1035
+ attr_accessor :parent
1054
1036
 
1055
- # Immutable value, required to globally be unique. For example,
1056
- # `constraints/serviceuser.services`
1057
- # Corresponds to the JSON property `name`
1037
+ # The creation time of this Lien.
1038
+ # Corresponds to the JSON property `createTime`
1058
1039
  # @return [String]
1059
- attr_accessor :name
1040
+ attr_accessor :create_time
1060
1041
 
1061
1042
  def initialize(**args)
1062
1043
  update!(**args)
@@ -1064,44 +1045,26 @@ module Google
1064
1045
 
1065
1046
  # Update properties of this object
1066
1047
  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
1048
  @name = args[:name] if args.key?(:name)
1049
+ @reason = args[:reason] if args.key?(:reason)
1050
+ @origin = args[:origin] if args.key?(:origin)
1051
+ @restrictions = args[:restrictions] if args.key?(:restrictions)
1052
+ @parent = args[:parent] if args.key?(:parent)
1053
+ @create_time = args[:create_time] if args.key?(:create_time)
1074
1054
  end
1075
1055
  end
1076
1056
 
1077
- # Associates `members` with a `role`.
1078
- class Binding
1057
+ # Identifying information for a single ancestor of a project.
1058
+ class Ancestor
1079
1059
  include Google::Apis::Core::Hashable
1080
1060
 
1081
- # Specifies the identities requesting access for a Cloud Platform resource.
1082
- # `members` can have the following values:
1083
- # * `allUsers`: A special identifier that represents anyone who is
1084
- # on the internet; with or without a Google account.
1085
- # * `allAuthenticatedUsers`: A special identifier that represents anyone
1086
- # who is authenticated with a Google account or a service account.
1087
- # * `user:`emailid``: An email address that represents a specific Google
1088
- # account. For example, `alice@gmail.com` or `joe@example.com`.
1089
- # * `serviceAccount:`emailid``: An email address that represents a service
1090
- # account. For example, `my-other-app@appspot.gserviceaccount.com`.
1091
- # * `group:`emailid``: An email address that represents a Google group.
1092
- # For example, `admins@example.com`.
1093
- # * `domain:`domain``: A Google Apps domain name that represents all the
1094
- # users of that domain. For example, `google.com` or `example.com`.
1095
- # Corresponds to the JSON property `members`
1096
- # @return [Array<String>]
1097
- attr_accessor :members
1098
-
1099
- # Role that is assigned to `members`.
1100
- # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
1101
- # Required
1102
- # Corresponds to the JSON property `role`
1103
- # @return [String]
1104
- attr_accessor :role
1061
+ # A container to reference an id for any resource type. A `resource` in Google
1062
+ # Cloud Platform is a generic term for something you (a developer) may want to
1063
+ # interact with through one of our API's. Some examples are an App Engine app,
1064
+ # a Compute Engine instance, a Cloud SQL database, and so on.
1065
+ # Corresponds to the JSON property `resourceId`
1066
+ # @return [Google::Apis::CloudresourcemanagerV1::ResourceId]
1067
+ attr_accessor :resource_id
1105
1068
 
1106
1069
  def initialize(**args)
1107
1070
  update!(**args)
@@ -1109,42 +1072,40 @@ module Google
1109
1072
 
1110
1073
  # Update properties of this object
1111
1074
  def update!(**args)
1112
- @members = args[:members] if args.key?(:members)
1113
- @role = args[:role] if args.key?(:role)
1075
+ @resource_id = args[:resource_id] if args.key?(:resource_id)
1114
1076
  end
1115
1077
  end
1116
1078
 
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
1079
+ # A `Constraint` that allows or disallows a list of string values, which are
1080
+ # configured by an Organization's policy administrator with a `Policy`.
1081
+ class ListConstraint
1129
1082
  include Google::Apis::Core::Hashable
1130
1083
 
1084
+ # Optional. The Google Cloud Console will try to default to a configuration
1085
+ # that matches the value specified in this `Constraint`.
1086
+ # Corresponds to the JSON property `suggestedValue`
1087
+ # @return [String]
1088
+ attr_accessor :suggested_value
1089
+
1131
1090
  def initialize(**args)
1132
1091
  update!(**args)
1133
1092
  end
1134
1093
 
1135
1094
  # Update properties of this object
1136
1095
  def update!(**args)
1096
+ @suggested_value = args[:suggested_value] if args.key?(:suggested_value)
1137
1097
  end
1138
1098
  end
1139
1099
 
1140
- # The request sent to the GetOrgPolicy method.
1141
- class GetOrgPolicyRequest
1100
+ # The request sent to the SetOrgPolicyRequest method.
1101
+ class SetOrgPolicyRequest
1142
1102
  include Google::Apis::Core::Hashable
1143
1103
 
1144
- # Name of the `Constraint` to get the `Policy`.
1145
- # Corresponds to the JSON property `constraint`
1146
- # @return [String]
1147
- attr_accessor :constraint
1104
+ # Defines a Cloud Organization `Policy` which is used to specify `Constraints`
1105
+ # for configurations of Cloud Platform resources.
1106
+ # Corresponds to the JSON property `policy`
1107
+ # @return [Google::Apis::CloudresourcemanagerV1::OrgPolicy]
1108
+ attr_accessor :policy
1148
1109
 
1149
1110
  def initialize(**args)
1150
1111
  update!(**args)
@@ -1152,24 +1113,52 @@ module Google
1152
1113
 
1153
1114
  # Update properties of this object
1154
1115
  def update!(**args)
1155
- @constraint = args[:constraint] if args.key?(:constraint)
1116
+ @policy = args[:policy] if args.key?(:policy)
1156
1117
  end
1157
1118
  end
1158
1119
 
1159
- # The request sent to the ClearOrgPolicy method.
1160
- class ClearOrgPolicyRequest
1120
+ # Request message for `SetIamPolicy` method.
1121
+ class SetIamPolicyRequest
1161
1122
  include Google::Apis::Core::Hashable
1162
1123
 
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
1124
+ # Defines an Identity and Access Management (IAM) policy. It is used to
1125
+ # specify access control policies for Cloud Platform resources.
1126
+ # A `Policy` consists of a list of `bindings`. A `Binding` binds a list of
1127
+ # `members` to a `role`, where the members can be user accounts, Google groups,
1128
+ # Google domains, and service accounts. A `role` is a named list of permissions
1129
+ # defined by IAM.
1130
+ # **Example**
1131
+ # `
1132
+ # "bindings": [
1133
+ # `
1134
+ # "role": "roles/owner",
1135
+ # "members": [
1136
+ # "user:mike@example.com",
1137
+ # "group:admins@example.com",
1138
+ # "domain:google.com",
1139
+ # "serviceAccount:my-other-app@appspot.gserviceaccount.com",
1140
+ # ]
1141
+ # `,
1142
+ # `
1143
+ # "role": "roles/viewer",
1144
+ # "members": ["user:sean@example.com"]
1145
+ # `
1146
+ # ]
1147
+ # `
1148
+ # For a description of IAM and its features, see the
1149
+ # [IAM developer's guide](https://cloud.google.com/iam).
1150
+ # Corresponds to the JSON property `policy`
1151
+ # @return [Google::Apis::CloudresourcemanagerV1::Policy]
1152
+ attr_accessor :policy
1168
1153
 
1169
- # Name of the `Constraint` of the `Policy` to clear.
1170
- # Corresponds to the JSON property `constraint`
1154
+ # OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only
1155
+ # the fields in the mask will be modified. If no mask is provided, the
1156
+ # following default mask is used:
1157
+ # paths: "bindings, etag"
1158
+ # This field is only used by Cloud IAM.
1159
+ # Corresponds to the JSON property `updateMask`
1171
1160
  # @return [String]
1172
- attr_accessor :constraint
1161
+ attr_accessor :update_mask
1173
1162
 
1174
1163
  def initialize(**args)
1175
1164
  update!(**args)
@@ -1177,14 +1166,19 @@ module Google
1177
1166
 
1178
1167
  # Update properties of this object
1179
1168
  def update!(**args)
1180
- @etag = args[:etag] if args.key?(:etag)
1181
- @constraint = args[:constraint] if args.key?(:constraint)
1169
+ @policy = args[:policy] if args.key?(:policy)
1170
+ @update_mask = args[:update_mask] if args.key?(:update_mask)
1182
1171
  end
1183
1172
  end
1184
1173
 
1185
- # The request sent to the UndeleteProject
1186
- # method.
1187
- class UndeleteProjectRequest
1174
+ # A generic empty message that you can re-use to avoid defining duplicated
1175
+ # empty messages in your APIs. A typical example is to use it as the request
1176
+ # or the response type of an API method. For instance:
1177
+ # service Foo `
1178
+ # rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
1179
+ # `
1180
+ # The JSON representation for `Empty` is empty JSON object ````.
1181
+ class Empty
1188
1182
  include Google::Apis::Core::Hashable
1189
1183
 
1190
1184
  def initialize(**args)
@@ -1196,30 +1190,45 @@ module Google
1196
1190
  end
1197
1191
  end
1198
1192
 
1199
- # A status object which is used as the `metadata` field for the Operation
1200
- # returned by CreateProject. It provides insight for when significant phases of
1201
- # Project creation have completed.
1202
- class ProjectCreationStatus
1193
+ # The root node in the resource hierarchy to which a particular entity's
1194
+ # (e.g., company) resources belong.
1195
+ class Organization
1203
1196
  include Google::Apis::Core::Hashable
1204
1197
 
1205
- # True if the project creation process is complete.
1206
- # Corresponds to the JSON property `ready`
1207
- # @return [Boolean]
1208
- attr_accessor :ready
1209
- alias_method :ready?, :ready
1198
+ # The entity that owns an Organization. The lifetime of the Organization and
1199
+ # all of its descendants are bound to the `OrganizationOwner`. If the
1200
+ # `OrganizationOwner` is deleted, the Organization and all its descendants will
1201
+ # be deleted.
1202
+ # Corresponds to the JSON property `owner`
1203
+ # @return [Google::Apis::CloudresourcemanagerV1::OrganizationOwner]
1204
+ attr_accessor :owner
1210
1205
 
1211
- # Creation time of the project creation workflow.
1212
- # Corresponds to the JSON property `createTime`
1206
+ # The organization's current lifecycle state. Assigned by the server.
1207
+ # @OutputOnly
1208
+ # Corresponds to the JSON property `lifecycleState`
1213
1209
  # @return [String]
1214
- attr_accessor :create_time
1210
+ attr_accessor :lifecycle_state
1215
1211
 
1216
- # True if the project can be retrieved using GetProject. No other operations
1217
- # on the project are guaranteed to work until the project creation is
1218
- # complete.
1219
- # Corresponds to the JSON property `gettable`
1220
- # @return [Boolean]
1221
- attr_accessor :gettable
1222
- alias_method :gettable?, :gettable
1212
+ # Output Only. The resource name of the organization. This is the
1213
+ # organization's relative path in the API. Its format is
1214
+ # "organizations/[organization_id]". For example, "organizations/1234".
1215
+ # Corresponds to the JSON property `name`
1216
+ # @return [String]
1217
+ attr_accessor :name
1218
+
1219
+ # A friendly string to be used to refer to the Organization in the UI.
1220
+ # Assigned by the server, set to the primary domain of the G Suite
1221
+ # customer that owns the organization.
1222
+ # @OutputOnly
1223
+ # Corresponds to the JSON property `displayName`
1224
+ # @return [String]
1225
+ attr_accessor :display_name
1226
+
1227
+ # Timestamp when the Organization was created. Assigned by the server.
1228
+ # @OutputOnly
1229
+ # Corresponds to the JSON property `creationTime`
1230
+ # @return [String]
1231
+ attr_accessor :creation_time
1223
1232
 
1224
1233
  def initialize(**args)
1225
1234
  update!(**args)
@@ -1227,51 +1236,156 @@ module Google
1227
1236
 
1228
1237
  # Update properties of this object
1229
1238
  def update!(**args)
1230
- @ready = args[:ready] if args.key?(:ready)
1231
- @create_time = args[:create_time] if args.key?(:create_time)
1232
- @gettable = args[:gettable] if args.key?(:gettable)
1239
+ @owner = args[:owner] if args.key?(:owner)
1240
+ @lifecycle_state = args[:lifecycle_state] if args.key?(:lifecycle_state)
1241
+ @name = args[:name] if args.key?(:name)
1242
+ @display_name = args[:display_name] if args.key?(:display_name)
1243
+ @creation_time = args[:creation_time] if args.key?(:creation_time)
1233
1244
  end
1234
1245
  end
1235
1246
 
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
1247
+ # The response returned from the ListAvailableOrgPolicyConstraints method.
1248
+ # Returns all `Constraints` that could be set at this level of the hierarchy
1249
+ # (contrast with the response from `ListPolicies`, which returns all policies
1250
+ # which are set).
1251
+ class ListAvailableOrgPolicyConstraintsResponse
1241
1252
  include Google::Apis::Core::Hashable
1242
1253
 
1254
+ # Page token used to retrieve the next page. This is currently not used.
1255
+ # Corresponds to the JSON property `nextPageToken`
1256
+ # @return [String]
1257
+ attr_accessor :next_page_token
1258
+
1259
+ # The collection of constraints that are settable on the request resource.
1260
+ # Corresponds to the JSON property `constraints`
1261
+ # @return [Array<Google::Apis::CloudresourcemanagerV1::Constraint>]
1262
+ attr_accessor :constraints
1263
+
1243
1264
  def initialize(**args)
1244
1265
  update!(**args)
1245
1266
  end
1246
1267
 
1247
1268
  # Update properties of this object
1248
1269
  def update!(**args)
1270
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1271
+ @constraints = args[:constraints] if args.key?(:constraints)
1249
1272
  end
1250
1273
  end
1251
1274
 
1252
- # Response message for `TestIamPermissions` method.
1253
- class TestIamPermissionsResponse
1275
+ # Used in `policy_type` to specify how `list_policy` behaves at this
1276
+ # resource.
1277
+ # A `ListPolicy` can define specific values that are allowed or denied by
1278
+ # setting either the `allowed_values` or `denied_values` fields. It can also
1279
+ # be used to allow or deny all values, by setting the `all_values` field. If
1280
+ # `all_values` is `ALL_VALUES_UNSPECIFIED`, exactly one of `allowed_values`
1281
+ # or `denied_values` must be set (attempting to set both or neither will
1282
+ # result in a failed request). If `all_values` is set to either `ALLOW` or
1283
+ # `DENY`, `allowed_values` and `denied_values` must be unset.
1284
+ class ListPolicy
1254
1285
  include Google::Apis::Core::Hashable
1255
1286
 
1256
- # A subset of `TestPermissionsRequest.permissions` that the caller is
1257
- # allowed.
1258
- # Corresponds to the JSON property `permissions`
1287
+ # The policy all_values state.
1288
+ # Corresponds to the JSON property `allValues`
1289
+ # @return [String]
1290
+ attr_accessor :all_values
1291
+
1292
+ # List of values allowed at this resource. an only be set if no values are
1293
+ # set for `denied_values` and `all_values` is set to
1294
+ # `ALL_VALUES_UNSPECIFIED`.
1295
+ # Corresponds to the JSON property `allowedValues`
1259
1296
  # @return [Array<String>]
1260
- attr_accessor :permissions
1297
+ attr_accessor :allowed_values
1261
1298
 
1262
- def initialize(**args)
1263
- update!(**args)
1264
- end
1299
+ # Optional. The Google Cloud Console will try to default to a configuration
1300
+ # that matches the value specified in this `Policy`. If `suggested_value`
1301
+ # is not set, it will inherit the value specified higher in the hierarchy,
1302
+ # unless `inherit_from_parent` is `false`.
1303
+ # Corresponds to the JSON property `suggestedValue`
1304
+ # @return [String]
1305
+ attr_accessor :suggested_value
1265
1306
 
1266
- # Update properties of this object
1267
- def update!(**args)
1268
- @permissions = args[:permissions] if args.key?(:permissions)
1269
- end
1270
- end
1307
+ # Determines the inheritance behavior for this `Policy`.
1308
+ # By default, a `ListPolicy` set at a resource supercedes any `Policy` set
1309
+ # anywhere up the resource hierarchy. However, if `inherit_from_parent` is
1310
+ # set to `true`, then the values from the effective `Policy` of the parent
1311
+ # resource are inherited, meaning the values set in this `Policy` are
1312
+ # added to the values inherited up the hierarchy.
1313
+ # Setting `Policy` hierarchies that inherit both allowed values and denied
1314
+ # values isn't recommended in most circumstances to keep the configuration
1315
+ # simple and understandable. However, it is possible to set a `Policy` with
1316
+ # `allowed_values` set that inherits a `Policy` with `denied_values` set.
1317
+ # In this case, the values that are allowed must be in `allowed_values` and
1318
+ # not present in `denied_values`.
1319
+ # For example, suppose you have a `Constraint`
1320
+ # `constraints/serviceuser.services`, which has a `constraint_type` of
1321
+ # `list_constraint`, and with `constraint_default` set to `ALLOW`.
1322
+ # Suppose that at the Organization level, a `Policy` is applied that
1323
+ # restricts the allowed API activations to ``E1`, `E2``. Then, if a
1324
+ # `Policy` is applied to a project below the Organization that has
1325
+ # `inherit_from_parent` set to `false` and field all_values set to DENY,
1326
+ # then an attempt to activate any API will be denied.
1327
+ # The following examples demonstrate different possible layerings:
1328
+ # Example 1 (no inherited values):
1329
+ # `organizations/foo` has a `Policy` with values:
1330
+ # `allowed_values: “E1” allowed_values:”E2”`
1331
+ # ``projects/bar`` has `inherit_from_parent` `false` and values:
1332
+ # `allowed_values: "E3" allowed_values: "E4"`
1333
+ # The accepted values at `organizations/foo` are `E1`, `E2`.
1334
+ # The accepted values at `projects/bar` are `E3`, and `E4`.
1335
+ # Example 2 (inherited values):
1336
+ # `organizations/foo` has a `Policy` with values:
1337
+ # `allowed_values: “E1” allowed_values:”E2”`
1338
+ # `projects/bar` has a `Policy` with values:
1339
+ # `value: “E3” value: ”E4” inherit_from_parent: true`
1340
+ # The accepted values at `organizations/foo` are `E1`, `E2`.
1341
+ # The accepted values at `projects/bar` are `E1`, `E2`, `E3`, and `E4`.
1342
+ # Example 3 (inheriting both allowed and denied values):
1343
+ # `organizations/foo` has a `Policy` with values:
1344
+ # `allowed_values: "E1" allowed_values: "E2"`
1345
+ # `projects/bar` has a `Policy` with:
1346
+ # `denied_values: "E1"`
1347
+ # The accepted values at `organizations/foo` are `E1`, `E2`.
1348
+ # The value accepted at `projects/bar` is `E2`.
1349
+ # Example 4 (RestoreDefault):
1350
+ # `organizations/foo` has a `Policy` with values:
1351
+ # `allowed_values: “E1” allowed_values:”E2”`
1352
+ # `projects/bar` has a `Policy` with values:
1353
+ # `RestoreDefault: ```
1354
+ # The accepted values at `organizations/foo` are `E1`, `E2`.
1355
+ # The accepted values at `projects/bar` are either all or none depending on
1356
+ # the value of `constraint_default` (if `ALLOW`, all; if
1357
+ # `DENY`, none).
1358
+ # Example 5 (no policy inherits parent policy):
1359
+ # `organizations/foo` has no `Policy` set.
1360
+ # `projects/bar` has no `Policy` set.
1361
+ # The accepted values at both levels are either all or none depending on
1362
+ # the value of `constraint_default` (if `ALLOW`, all; if
1363
+ # `DENY`, none).
1364
+ # Example 6 (ListConstraint allowing all):
1365
+ # `organizations/foo` has a `Policy` with values:
1366
+ # `allowed_values: “E1” allowed_values: ”E2”`
1367
+ # `projects/bar` has a `Policy` with:
1368
+ # `all: ALLOW`
1369
+ # The accepted values at `organizations/foo` are `E1`, E2`.
1370
+ # Any value is accepted at `projects/bar`.
1371
+ # Example 7 (ListConstraint allowing none):
1372
+ # `organizations/foo` has a `Policy` with values:
1373
+ # `allowed_values: “E1” allowed_values: ”E2”`
1374
+ # `projects/bar` has a `Policy` with:
1375
+ # `all: DENY`
1376
+ # The accepted values at `organizations/foo` are `E1`, E2`.
1377
+ # No value is accepted at `projects/bar`.
1378
+ # Corresponds to the JSON property `inheritFromParent`
1379
+ # @return [Boolean]
1380
+ attr_accessor :inherit_from_parent
1381
+ alias_method :inherit_from_parent?, :inherit_from_parent
1271
1382
 
1272
- # Request message for `GetIamPolicy` method.
1273
- class GetIamPolicyRequest
1274
- include Google::Apis::Core::Hashable
1383
+ # List of values denied at this resource. Can only be set if no values are
1384
+ # set for `allowed_values` and `all_values` is set to
1385
+ # `ALL_VALUES_UNSPECIFIED`.
1386
+ # Corresponds to the JSON property `deniedValues`
1387
+ # @return [Array<String>]
1388
+ attr_accessor :denied_values
1275
1389
 
1276
1390
  def initialize(**args)
1277
1391
  update!(**args)
@@ -1279,20 +1393,24 @@ module Google
1279
1393
 
1280
1394
  # Update properties of this object
1281
1395
  def update!(**args)
1396
+ @all_values = args[:all_values] if args.key?(:all_values)
1397
+ @allowed_values = args[:allowed_values] if args.key?(:allowed_values)
1398
+ @suggested_value = args[:suggested_value] if args.key?(:suggested_value)
1399
+ @inherit_from_parent = args[:inherit_from_parent] if args.key?(:inherit_from_parent)
1400
+ @denied_values = args[:denied_values] if args.key?(:denied_values)
1282
1401
  end
1283
1402
  end
1284
1403
 
1285
- # The entity that owns an Organization. The lifetime of the Organization and
1286
- # all of its descendants are bound to the `OrganizationOwner`. If the
1287
- # `OrganizationOwner` is deleted, the Organization and all its descendants will
1288
- # be deleted.
1289
- class OrganizationOwner
1404
+ # Response from the GetAncestry method.
1405
+ class GetAncestryResponse
1290
1406
  include Google::Apis::Core::Hashable
1291
1407
 
1292
- # The Google for Work customer id used in the Directory API.
1293
- # Corresponds to the JSON property `directoryCustomerId`
1294
- # @return [String]
1295
- attr_accessor :directory_customer_id
1408
+ # Ancestors are ordered from bottom to top of the resource hierarchy. The
1409
+ # first ancestor is the project itself, followed by the project's parent,
1410
+ # etc.
1411
+ # Corresponds to the JSON property `ancestor`
1412
+ # @return [Array<Google::Apis::CloudresourcemanagerV1::Ancestor>]
1413
+ attr_accessor :ancestor
1296
1414
 
1297
1415
  def initialize(**args)
1298
1416
  update!(**args)
@@ -1300,36 +1418,41 @@ module Google
1300
1418
 
1301
1419
  # Update properties of this object
1302
1420
  def update!(**args)
1303
- @directory_customer_id = args[:directory_customer_id] if args.key?(:directory_customer_id)
1421
+ @ancestor = args[:ancestor] if args.key?(:ancestor)
1304
1422
  end
1305
1423
  end
1306
1424
 
1307
- # A page of the response received from the
1308
- # ListProjects
1309
- # method.
1310
- # A paginated response where more pages are available has
1311
- # `next_page_token` set. This token can be used in a subsequent request to
1312
- # retrieve the next request page.
1313
- class ListProjectsResponse
1425
+ # Provides the configuration for logging a type of permissions.
1426
+ # Example:
1427
+ # `
1428
+ # "audit_log_configs": [
1429
+ # `
1430
+ # "log_type": "DATA_READ",
1431
+ # "exempted_members": [
1432
+ # "user:foo@gmail.com"
1433
+ # ]
1434
+ # `,
1435
+ # `
1436
+ # "log_type": "DATA_WRITE",
1437
+ # `
1438
+ # ]
1439
+ # `
1440
+ # This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting
1441
+ # foo@gmail.com from DATA_READ logging.
1442
+ class AuditLogConfig
1314
1443
  include Google::Apis::Core::Hashable
1315
1444
 
1316
- # Pagination token.
1317
- # If the result set is too large to fit in a single response, this token
1318
- # is returned. It encodes the position of the current result cursor.
1319
- # Feeding this value into a new list request with the `page_token` parameter
1320
- # gives the next page of the results.
1321
- # When `next_page_token` is not filled in, there is no next page and
1322
- # the list returned is the last page in the result set.
1323
- # Pagination tokens have a limited lifetime.
1324
- # Corresponds to the JSON property `nextPageToken`
1325
- # @return [String]
1326
- attr_accessor :next_page_token
1445
+ # Specifies the identities that do not cause logging for this type of
1446
+ # permission.
1447
+ # Follows the same format of Binding.members.
1448
+ # Corresponds to the JSON property `exemptedMembers`
1449
+ # @return [Array<String>]
1450
+ attr_accessor :exempted_members
1327
1451
 
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
1452
+ # The log type that this config enables.
1453
+ # Corresponds to the JSON property `logType`
1454
+ # @return [String]
1455
+ attr_accessor :log_type
1333
1456
 
1334
1457
  def initialize(**args)
1335
1458
  update!(**args)
@@ -1337,77 +1460,41 @@ module Google
1337
1460
 
1338
1461
  # Update properties of this object
1339
1462
  def update!(**args)
1340
- @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1341
- @projects = args[:projects] if args.key?(:projects)
1463
+ @exempted_members = args[:exempted_members] if args.key?(:exempted_members)
1464
+ @log_type = args[:log_type] if args.key?(:log_type)
1342
1465
  end
1343
1466
  end
1344
1467
 
1345
- # A Project is a high-level Google Cloud Platform entity. It is a
1346
- # container for ACLs, APIs, App Engine Apps, VMs, and other
1347
- # Google Cloud Platform resources.
1348
- class Project
1468
+ # The request sent to the `SearchOrganizations` method.
1469
+ class SearchOrganizationsRequest
1349
1470
  include Google::Apis::Core::Hashable
1350
1471
 
1351
- # The Project lifecycle state.
1352
- # Read-only.
1353
- # Corresponds to the JSON property `lifecycleState`
1354
- # @return [String]
1355
- attr_accessor :lifecycle_state
1356
-
1357
- # The number uniquely identifying the project.
1358
- # Example: <code>415104041262</code>
1359
- # Read-only.
1360
- # Corresponds to the JSON property `projectNumber`
1361
- # @return [String]
1362
- attr_accessor :project_number
1363
-
1364
- # A container to reference an id for any resource type. A `resource` in Google
1365
- # Cloud Platform is a generic term for something you (a developer) may want to
1366
- # interact with through one of our API's. Some examples are an App Engine app,
1367
- # a Compute Engine instance, a Cloud SQL database, and so on.
1368
- # Corresponds to the JSON property `parent`
1369
- # @return [Google::Apis::CloudresourcemanagerV1::ResourceId]
1370
- attr_accessor :parent
1371
-
1372
- # The labels associated with this Project.
1373
- # Label keys must be between 1 and 63 characters long and must conform
1374
- # to the following regular expression: \[a-z\](\[-a-z0-9\]*\[a-z0-9\])?.
1375
- # Label values must be between 0 and 63 characters long and must conform
1376
- # to the regular expression (\[a-z\](\[-a-z0-9\]*\[a-z0-9\])?)?.
1377
- # No more than 256 labels can be associated with a given resource.
1378
- # Clients should store labels in a representation such as JSON that does not
1379
- # depend on specific characters being disallowed.
1380
- # Example: <code>"environment" : "dev"</code>
1381
- # Read-write.
1382
- # Corresponds to the JSON property `labels`
1383
- # @return [Hash<String,String>]
1384
- attr_accessor :labels
1385
-
1386
- # Creation time.
1387
- # Read-only.
1388
- # Corresponds to the JSON property `createTime`
1472
+ # An optional query string used to filter the Organizations to return in
1473
+ # the response. Filter rules are case-insensitive.
1474
+ # Organizations may be filtered by `owner.directoryCustomerId` or by
1475
+ # `domain`, where the domain is a Google for Work domain, for example:
1476
+ # |Filter|Description|
1477
+ # |------|-----------|
1478
+ # |owner.directorycustomerid:123456789|Organizations with
1479
+ # `owner.directory_customer_id` equal to `123456789`.|
1480
+ # |domain:google.com|Organizations corresponding to the domain `google.com`.|
1481
+ # This field is optional.
1482
+ # Corresponds to the JSON property `filter`
1389
1483
  # @return [String]
1390
- attr_accessor :create_time
1484
+ attr_accessor :filter
1391
1485
 
1392
- # The user-assigned display name of the Project.
1393
- # It must be 4 to 30 characters.
1394
- # Allowed characters are: lowercase and uppercase letters, numbers,
1395
- # hyphen, single-quote, double-quote, space, and exclamation point.
1396
- # Example: <code>My Project</code>
1397
- # Read-write.
1398
- # Corresponds to the JSON property `name`
1486
+ # A pagination token returned from a previous call to `SearchOrganizations`
1487
+ # that indicates from where listing should continue.
1488
+ # This field is optional.
1489
+ # Corresponds to the JSON property `pageToken`
1399
1490
  # @return [String]
1400
- attr_accessor :name
1491
+ attr_accessor :page_token
1401
1492
 
1402
- # The unique, user-assigned ID of the Project.
1403
- # It must be 6 to 30 lowercase letters, digits, or hyphens.
1404
- # It must start with a letter.
1405
- # Trailing hyphens are prohibited.
1406
- # Example: <code>tokyo-rain-123</code>
1407
- # Read-only after creation.
1408
- # Corresponds to the JSON property `projectId`
1409
- # @return [String]
1410
- attr_accessor :project_id
1493
+ # The maximum number of Organizations to return in the response.
1494
+ # This field is optional.
1495
+ # Corresponds to the JSON property `pageSize`
1496
+ # @return [Fixnum]
1497
+ attr_accessor :page_size
1411
1498
 
1412
1499
  def initialize(**args)
1413
1500
  update!(**args)
@@ -1415,62 +1502,38 @@ module Google
1415
1502
 
1416
1503
  # Update properties of this object
1417
1504
  def update!(**args)
1418
- @lifecycle_state = args[:lifecycle_state] if args.key?(:lifecycle_state)
1419
- @project_number = args[:project_number] if args.key?(:project_number)
1420
- @parent = args[:parent] if args.key?(:parent)
1421
- @labels = args[:labels] if args.key?(:labels)
1422
- @create_time = args[:create_time] if args.key?(:create_time)
1423
- @name = args[:name] if args.key?(:name)
1424
- @project_id = args[:project_id] if args.key?(:project_id)
1505
+ @filter = args[:filter] if args.key?(:filter)
1506
+ @page_token = args[:page_token] if args.key?(:page_token)
1507
+ @page_size = args[:page_size] if args.key?(:page_size)
1425
1508
  end
1426
1509
  end
1427
1510
 
1428
- # The response returned from the `SearchOrganizations` method.
1429
- class SearchOrganizationsResponse
1511
+ # The request sent to the
1512
+ # GetAncestry
1513
+ # method.
1514
+ class GetAncestryRequest
1430
1515
  include Google::Apis::Core::Hashable
1431
1516
 
1432
- # A pagination token to be used to retrieve the next page of results. If the
1433
- # result is too large to fit within the page size specified in the request,
1434
- # this field will be set with a token that can be used to fetch the next page
1435
- # of results. If this field is empty, it indicates that this response
1436
- # contains the last page of results.
1437
- # Corresponds to the JSON property `nextPageToken`
1438
- # @return [String]
1439
- attr_accessor :next_page_token
1440
-
1441
- # The list of Organizations that matched the search query, possibly
1442
- # paginated.
1443
- # Corresponds to the JSON property `organizations`
1444
- # @return [Array<Google::Apis::CloudresourcemanagerV1::Organization>]
1445
- attr_accessor :organizations
1446
-
1447
1517
  def initialize(**args)
1448
1518
  update!(**args)
1449
1519
  end
1450
1520
 
1451
1521
  # Update properties of this object
1452
1522
  def update!(**args)
1453
- @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1454
- @organizations = args[:organizations] if args.key?(:organizations)
1455
1523
  end
1456
1524
  end
1457
1525
 
1458
- # The response returned from the ListOrgPolicies method. It will be empty
1459
- # if no `Policies` are set on the resource.
1460
- class ListOrgPoliciesResponse
1526
+ # Request message for `TestIamPermissions` method.
1527
+ class TestIamPermissionsRequest
1461
1528
  include Google::Apis::Core::Hashable
1462
1529
 
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
1530
+ # The set of permissions to check for the `resource`. Permissions with
1531
+ # wildcards (such as '*' or 'storage.*') are not allowed. For more
1532
+ # information see
1533
+ # [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
1534
+ # Corresponds to the JSON property `permissions`
1535
+ # @return [Array<String>]
1536
+ attr_accessor :permissions
1474
1537
 
1475
1538
  def initialize(**args)
1476
1539
  update!(**args)
@@ -1478,19 +1541,27 @@ module Google
1478
1541
 
1479
1542
  # Update properties of this object
1480
1543
  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)
1544
+ @permissions = args[:permissions] if args.key?(:permissions)
1483
1545
  end
1484
1546
  end
1485
1547
 
1486
- # A classification of the Folder Operation error.
1487
- class FolderOperationError
1548
+ # The request sent to the [ListAvailableOrgPolicyConstraints]
1549
+ # google.cloud.OrgPolicy.v1.ListAvailableOrgPolicyConstraints] method.
1550
+ class ListAvailableOrgPolicyConstraintsRequest
1488
1551
  include Google::Apis::Core::Hashable
1489
1552
 
1490
- # The type of operation error experienced.
1491
- # Corresponds to the JSON property `errorMessageId`
1553
+ # Page token used to retrieve the next page. This is currently unsupported
1554
+ # and will be ignored. The server may at any point start using this field.
1555
+ # Corresponds to the JSON property `pageToken`
1492
1556
  # @return [String]
1493
- attr_accessor :error_message_id
1557
+ attr_accessor :page_token
1558
+
1559
+ # Size of the pages to be returned. This is currently unsupported and will
1560
+ # be ignored. The server may at any point start using this field to limit
1561
+ # page size.
1562
+ # Corresponds to the JSON property `pageSize`
1563
+ # @return [Fixnum]
1564
+ attr_accessor :page_size
1494
1565
 
1495
1566
  def initialize(**args)
1496
1567
  update!(**args)
@@ -1498,84 +1569,70 @@ module Google
1498
1569
 
1499
1570
  # Update properties of this object
1500
1571
  def update!(**args)
1501
- @error_message_id = args[:error_message_id] if args.key?(:error_message_id)
1572
+ @page_token = args[:page_token] if args.key?(:page_token)
1573
+ @page_size = args[:page_size] if args.key?(:page_size)
1502
1574
  end
1503
1575
  end
1504
1576
 
1505
- # Defines a Cloud Organization `Policy` which is used to specify `Constraints`
1506
- # for configurations of Cloud Platform resources.
1507
- class OrgPolicy
1577
+ # Defines an Identity and Access Management (IAM) policy. It is used to
1578
+ # specify access control policies for Cloud Platform resources.
1579
+ # A `Policy` consists of a list of `bindings`. A `Binding` binds a list of
1580
+ # `members` to a `role`, where the members can be user accounts, Google groups,
1581
+ # Google domains, and service accounts. A `role` is a named list of permissions
1582
+ # defined by IAM.
1583
+ # **Example**
1584
+ # `
1585
+ # "bindings": [
1586
+ # `
1587
+ # "role": "roles/owner",
1588
+ # "members": [
1589
+ # "user:mike@example.com",
1590
+ # "group:admins@example.com",
1591
+ # "domain:google.com",
1592
+ # "serviceAccount:my-other-app@appspot.gserviceaccount.com",
1593
+ # ]
1594
+ # `,
1595
+ # `
1596
+ # "role": "roles/viewer",
1597
+ # "members": ["user:sean@example.com"]
1598
+ # `
1599
+ # ]
1600
+ # `
1601
+ # For a description of IAM and its features, see the
1602
+ # [IAM developer's guide](https://cloud.google.com/iam).
1603
+ class Policy
1508
1604
  include Google::Apis::Core::Hashable
1509
1605
 
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`.
1606
+ # `etag` is used for optimistic concurrency control as a way to help
1607
+ # prevent simultaneous updates of a policy from overwriting each other.
1608
+ # It is strongly suggested that systems make use of the `etag` in the
1609
+ # read-modify-write cycle to perform policy updates in order to avoid race
1610
+ # conditions: An `etag` is returned in the response to `getIamPolicy`, and
1611
+ # systems are expected to put that etag in the request to `setIamPolicy` to
1612
+ # ensure that their change will be applied to the same version of the policy.
1613
+ # If no `etag` is provided in the call to `setIamPolicy`, then the existing
1614
+ # policy is overwritten blindly.
1522
1615
  # Corresponds to the JSON property `etag`
1616
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
1523
1617
  # @return [String]
1524
1618
  attr_accessor :etag
1525
1619
 
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;
1620
+ # Version of the `Policy`. The default version is 0.
1548
1621
  # Corresponds to the JSON property `version`
1549
1622
  # @return [Fixnum]
1550
1623
  attr_accessor :version
1551
1624
 
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
1625
+ # Specifies cloud audit logging configuration for this policy.
1626
+ # Corresponds to the JSON property `auditConfigs`
1627
+ # @return [Array<Google::Apis::CloudresourcemanagerV1::AuditConfig>]
1628
+ attr_accessor :audit_configs
1566
1629
 
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
1630
+ # Associates a list of `members` to a `role`.
1631
+ # Multiple `bindings` must not be specified for the same `role`.
1632
+ # `bindings` with no members will result in an error.
1633
+ # Corresponds to the JSON property `bindings`
1634
+ # @return [Array<Google::Apis::CloudresourcemanagerV1::Binding>]
1635
+ attr_accessor :bindings
1579
1636
 
1580
1637
  def initialize(**args)
1581
1638
  update!(**args)
@@ -1584,62 +1641,37 @@ module Google
1584
1641
  # Update properties of this object
1585
1642
  def update!(**args)
1586
1643
  @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
1644
  @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)
1645
+ @audit_configs = args[:audit_configs] if args.key?(:audit_configs)
1646
+ @bindings = args[:bindings] if args.key?(:bindings)
1593
1647
  end
1594
1648
  end
1595
1649
 
1596
- # Used in `policy_type` to specify how `boolean_policy` will behave at this
1597
- # resource.
1598
- class BooleanPolicy
1650
+ # Metadata describing a long running folder operation
1651
+ class FolderOperation
1599
1652
  include Google::Apis::Core::Hashable
1600
1653
 
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
1654
+ # The type of this operation.
1655
+ # Corresponds to the JSON property `operationType`
1656
+ # @return [String]
1657
+ attr_accessor :operation_type
1658
+
1659
+ # The display name of the folder.
1660
+ # Corresponds to the JSON property `displayName`
1661
+ # @return [String]
1662
+ attr_accessor :display_name
1663
+
1664
+ # The resource name of the folder's parent.
1665
+ # Only applicable when the operation_type is MOVE.
1666
+ # Corresponds to the JSON property `sourceParent`
1667
+ # @return [String]
1668
+ attr_accessor :source_parent
1669
+
1670
+ # The resource name of the folder or organization we are either creating
1671
+ # the folder under or moving the folder to.
1672
+ # Corresponds to the JSON property `destinationParent`
1673
+ # @return [String]
1674
+ attr_accessor :destination_parent
1643
1675
 
1644
1676
  def initialize(**args)
1645
1677
  update!(**args)
@@ -1647,56 +1679,31 @@ module Google
1647
1679
 
1648
1680
  # Update properties of this object
1649
1681
  def update!(**args)
1650
- @enforced = args[:enforced] if args.key?(:enforced)
1682
+ @operation_type = args[:operation_type] if args.key?(:operation_type)
1683
+ @display_name = args[:display_name] if args.key?(:display_name)
1684
+ @source_parent = args[:source_parent] if args.key?(:source_parent)
1685
+ @destination_parent = args[:destination_parent] if args.key?(:destination_parent)
1651
1686
  end
1652
1687
  end
1653
1688
 
1654
- # A Lien represents an encumbrance on the actions that can be performed on a
1655
- # resource.
1656
- class Lien
1689
+ # A container to reference an id for any resource type. A `resource` in Google
1690
+ # Cloud Platform is a generic term for something you (a developer) may want to
1691
+ # interact with through one of our API's. Some examples are an App Engine app,
1692
+ # a Compute Engine instance, a Cloud SQL database, and so on.
1693
+ class ResourceId
1657
1694
  include Google::Apis::Core::Hashable
1658
1695
 
1659
- # A reference to the resource this Lien is attached to. The server will
1660
- # validate the parent against those for which Liens are supported.
1661
- # Example: `projects/1234`
1662
- # Corresponds to the JSON property `parent`
1663
- # @return [String]
1664
- attr_accessor :parent
1665
-
1666
- # The creation time of this Lien.
1667
- # Corresponds to the JSON property `createTime`
1668
- # @return [String]
1669
- attr_accessor :create_time
1670
-
1671
- # A system-generated unique identifier for this Lien.
1672
- # Example: `liens/1234abcd`
1673
- # Corresponds to the JSON property `name`
1674
- # @return [String]
1675
- attr_accessor :name
1676
-
1677
- # Concise user-visible strings indicating why an action cannot be performed
1678
- # on a resource. Maximum lenth of 200 characters.
1679
- # Example: 'Holds production API key'
1680
- # Corresponds to the JSON property `reason`
1696
+ # Required field for the type-specific id. This should correspond to the id
1697
+ # used in the type-specific API's.
1698
+ # Corresponds to the JSON property `id`
1681
1699
  # @return [String]
1682
- attr_accessor :reason
1700
+ attr_accessor :id
1683
1701
 
1684
- # A stable, user-visible/meaningful string identifying the origin of the
1685
- # Lien, intended to be inspected programmatically. Maximum length of 200
1686
- # characters.
1687
- # Example: 'compute.googleapis.com'
1688
- # Corresponds to the JSON property `origin`
1702
+ # Required field representing the resource type this id is for.
1703
+ # At present, the valid types are: "organization"
1704
+ # Corresponds to the JSON property `type`
1689
1705
  # @return [String]
1690
- attr_accessor :origin
1691
-
1692
- # The types of operations which should be blocked as a result of this Lien.
1693
- # Each value should correspond to an IAM permission. The server will
1694
- # validate the permissions against those for which Liens are supported.
1695
- # An empty list is meaningless and will be rejected.
1696
- # Example: ['resourcemanager.projects.delete']
1697
- # Corresponds to the JSON property `restrictions`
1698
- # @return [Array<String>]
1699
- attr_accessor :restrictions
1706
+ attr_accessor :type
1700
1707
 
1701
1708
  def initialize(**args)
1702
1709
  update!(**args)
@@ -1704,12 +1711,8 @@ module Google
1704
1711
 
1705
1712
  # Update properties of this object
1706
1713
  def update!(**args)
1707
- @parent = args[:parent] if args.key?(:parent)
1708
- @create_time = args[:create_time] if args.key?(:create_time)
1709
- @name = args[:name] if args.key?(:name)
1710
- @reason = args[:reason] if args.key?(:reason)
1711
- @origin = args[:origin] if args.key?(:origin)
1712
- @restrictions = args[:restrictions] if args.key?(:restrictions)
1714
+ @id = args[:id] if args.key?(:id)
1715
+ @type = args[:type] if args.key?(:type)
1713
1716
  end
1714
1717
  end
1715
1718
  end