google-api-client 0.10.2 → 0.10.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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