google-api-client 0.13.0 → 0.13.1

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