google-api-client 0.13.0 → 0.13.1

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