google-api-client 0.9.28 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (138) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +7 -4
  3. data/CHANGELOG.md +10 -0
  4. data/api_names.yaml +36512 -36326
  5. data/generated/google/apis/adexchangebuyer2_v2beta1.rb +1 -1
  6. data/generated/google/apis/adexchangebuyer2_v2beta1/classes.rb +41 -41
  7. data/generated/google/apis/adexchangebuyer2_v2beta1/representations.rb +13 -13
  8. data/generated/google/apis/adexchangebuyer2_v2beta1/service.rb +110 -110
  9. data/generated/google/apis/adsense_v1_4.rb +1 -1
  10. data/generated/google/apis/adsensehost_v4_1.rb +1 -1
  11. data/generated/google/apis/analyticsreporting_v4.rb +3 -3
  12. data/generated/google/apis/analyticsreporting_v4/classes.rb +845 -845
  13. data/generated/google/apis/analyticsreporting_v4/representations.rb +184 -184
  14. data/generated/google/apis/androidenterprise_v1.rb +1 -1
  15. data/generated/google/apis/androidenterprise_v1/classes.rb +5 -5
  16. data/generated/google/apis/androidenterprise_v1/service.rb +3 -1
  17. data/generated/google/apis/appstate_v1.rb +1 -1
  18. data/generated/google/apis/calendar_v3.rb +1 -1
  19. data/generated/google/apis/classroom_v1.rb +22 -25
  20. data/generated/google/apis/classroom_v1/classes.rb +998 -907
  21. data/generated/google/apis/classroom_v1/representations.rb +240 -240
  22. data/generated/google/apis/classroom_v1/service.rb +1269 -1061
  23. data/generated/google/apis/cloudbuild_v1.rb +1 -1
  24. data/generated/google/apis/cloudbuild_v1/classes.rb +322 -322
  25. data/generated/google/apis/cloudbuild_v1/representations.rb +88 -88
  26. data/generated/google/apis/cloudbuild_v1/service.rb +57 -57
  27. data/generated/google/apis/clouddebugger_v2.rb +4 -4
  28. data/generated/google/apis/clouddebugger_v2/classes.rb +311 -311
  29. data/generated/google/apis/clouddebugger_v2/representations.rb +92 -92
  30. data/generated/google/apis/clouddebugger_v2/service.rb +41 -41
  31. data/generated/google/apis/cloudkms_v1beta1.rb +1 -1
  32. data/generated/google/apis/cloudkms_v1beta1/classes.rb +611 -611
  33. data/generated/google/apis/cloudkms_v1beta1/representations.rb +124 -124
  34. data/generated/google/apis/cloudkms_v1beta1/service.rb +254 -248
  35. data/generated/google/apis/cloudresourcemanager_v1.rb +1 -1
  36. data/generated/google/apis/cloudresourcemanager_v1/classes.rb +116 -116
  37. data/generated/google/apis/cloudresourcemanager_v1/representations.rb +28 -28
  38. data/generated/google/apis/cloudresourcemanager_v1/service.rb +257 -257
  39. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +4 -4
  40. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +394 -394
  41. data/generated/google/apis/cloudresourcemanager_v1beta1/representations.rb +79 -79
  42. data/generated/google/apis/cloudresourcemanager_v1beta1/service.rb +269 -269
  43. data/generated/google/apis/cloudtrace_v1.rb +8 -8
  44. data/generated/google/apis/cloudtrace_v1/classes.rb +90 -84
  45. data/generated/google/apis/cloudtrace_v1/representations.rb +22 -22
  46. data/generated/google/apis/cloudtrace_v1/service.rb +40 -35
  47. data/generated/google/apis/compute_beta.rb +1 -1
  48. data/generated/google/apis/compute_beta/classes.rb +406 -31
  49. data/generated/google/apis/compute_beta/representations.rb +154 -0
  50. data/generated/google/apis/compute_beta/service.rb +262 -9
  51. data/generated/google/apis/compute_v1.rb +1 -1
  52. data/generated/google/apis/compute_v1/classes.rb +17 -20
  53. data/generated/google/apis/content_v2.rb +1 -1
  54. data/generated/google/apis/dataflow_v1b3.rb +1 -1
  55. data/generated/google/apis/dataflow_v1b3/classes.rb +3226 -2847
  56. data/generated/google/apis/dataflow_v1b3/representations.rb +825 -677
  57. data/generated/google/apis/dataflow_v1b3/service.rb +175 -175
  58. data/generated/google/apis/dataproc_v1.rb +2 -2
  59. data/generated/google/apis/dataproc_v1/classes.rb +1213 -1136
  60. data/generated/google/apis/dataproc_v1/representations.rb +262 -244
  61. data/generated/google/apis/dataproc_v1/service.rb +298 -243
  62. data/generated/google/apis/datastore_v1.rb +4 -4
  63. data/generated/google/apis/datastore_v1/classes.rb +728 -728
  64. data/generated/google/apis/datastore_v1/representations.rb +167 -167
  65. data/generated/google/apis/datastore_v1/service.rb +68 -68
  66. data/generated/google/apis/doubleclicksearch_v2.rb +1 -1
  67. data/generated/google/apis/drive_v2.rb +1 -1
  68. data/generated/google/apis/drive_v3.rb +1 -1
  69. data/generated/google/apis/games_configuration_v1configuration.rb +1 -1
  70. data/generated/google/apis/games_management_v1management.rb +1 -1
  71. data/generated/google/apis/games_v1.rb +1 -1
  72. data/generated/google/apis/genomics_v1.rb +7 -7
  73. data/generated/google/apis/genomics_v1/classes.rb +932 -932
  74. data/generated/google/apis/genomics_v1/representations.rb +205 -205
  75. data/generated/google/apis/genomics_v1/service.rb +1228 -1228
  76. data/generated/google/apis/gmail_v1.rb +1 -1
  77. data/generated/google/apis/iam_v1/classes.rb +440 -440
  78. data/generated/google/apis/iam_v1/representations.rb +94 -94
  79. data/generated/google/apis/iam_v1/service.rb +60 -60
  80. data/generated/google/apis/identitytoolkit_v3.rb +1 -1
  81. data/generated/google/apis/identitytoolkit_v3/classes.rb +21 -1
  82. data/generated/google/apis/identitytoolkit_v3/representations.rb +3 -0
  83. data/generated/google/apis/kgsearch_v1/classes.rb +6 -6
  84. data/generated/google/apis/kgsearch_v1/representations.rb +1 -1
  85. data/generated/google/apis/kgsearch_v1/service.rb +21 -21
  86. data/generated/google/apis/language_v1beta1.rb +1 -1
  87. data/generated/google/apis/language_v1beta1/classes.rb +232 -232
  88. data/generated/google/apis/language_v1beta1/representations.rb +75 -75
  89. data/generated/google/apis/logging_v2beta1.rb +1 -1
  90. data/generated/google/apis/logging_v2beta1/classes.rb +345 -337
  91. data/generated/google/apis/logging_v2beta1/representations.rb +55 -55
  92. data/generated/google/apis/logging_v2beta1/service.rb +331 -306
  93. data/generated/google/apis/monitoring_v3.rb +1 -1
  94. data/generated/google/apis/monitoring_v3/classes.rb +253 -253
  95. data/generated/google/apis/monitoring_v3/representations.rb +58 -58
  96. data/generated/google/apis/monitoring_v3/service.rb +135 -135
  97. data/generated/google/apis/people_v1.rb +15 -16
  98. data/generated/google/apis/people_v1/classes.rb +985 -855
  99. data/generated/google/apis/people_v1/representations.rb +227 -220
  100. data/generated/google/apis/people_v1/service.rb +58 -52
  101. data/generated/google/apis/plus_domains_v1.rb +1 -1
  102. data/generated/google/apis/plus_v1.rb +1 -1
  103. data/generated/google/apis/pubsub_v1.rb +1 -1
  104. data/generated/google/apis/pubsub_v1/classes.rb +257 -257
  105. data/generated/google/apis/pubsub_v1/representations.rb +83 -83
  106. data/generated/google/apis/pubsub_v1/service.rb +390 -390
  107. data/generated/google/apis/script_v1.rb +17 -17
  108. data/generated/google/apis/script_v1/classes.rb +149 -141
  109. data/generated/google/apis/script_v1/representations.rb +26 -27
  110. data/generated/google/apis/script_v1/service.rb +9 -8
  111. data/generated/google/apis/sheets_v4.rb +1 -1
  112. data/generated/google/apis/sheets_v4/classes.rb +4223 -4188
  113. data/generated/google/apis/sheets_v4/representations.rb +850 -834
  114. data/generated/google/apis/sheets_v4/service.rb +192 -192
  115. data/generated/google/apis/slides_v1.rb +1 -1
  116. data/generated/google/apis/slides_v1/classes.rb +927 -800
  117. data/generated/google/apis/slides_v1/representations.rb +253 -211
  118. data/generated/google/apis/speech_v1beta1.rb +1 -1
  119. data/generated/google/apis/speech_v1beta1/classes.rb +94 -107
  120. data/generated/google/apis/speech_v1beta1/representations.rb +24 -36
  121. data/generated/google/apis/speech_v1beta1/service.rb +51 -54
  122. data/generated/google/apis/storage_v1.rb +1 -1
  123. data/generated/google/apis/vision_v1.rb +1 -1
  124. data/generated/google/apis/vision_v1/classes.rb +888 -885
  125. data/generated/google/apis/vision_v1/representations.rb +139 -139
  126. data/generated/google/apis/youtube_analytics_v1.rb +1 -1
  127. data/generated/google/apis/youtube_analytics_v1/service.rb +5 -1
  128. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  129. data/generated/google/apis/youtubereporting_v1.rb +1 -1
  130. data/generated/google/apis/youtubereporting_v1/classes.rb +80 -80
  131. data/generated/google/apis/youtubereporting_v1/representations.rb +23 -23
  132. data/generated/google/apis/youtubereporting_v1/service.rb +51 -51
  133. data/google-api-client.gemspec +2 -2
  134. data/lib/google/apis/core/api_command.rb +1 -1
  135. data/lib/google/apis/core/json_representation.rb +2 -2
  136. data/lib/google/apis/version.rb +1 -1
  137. data/samples/cli/lib/samples/you_tube.rb +4 -1
  138. metadata +36 -30
@@ -26,13 +26,13 @@ module Google
26
26
  # @see https://cloud.google.com/resource-manager
27
27
  module CloudresourcemanagerV1beta1
28
28
  VERSION = 'V1beta1'
29
- REVISION = '20170201'
30
-
31
- # View your data across Google Cloud Platform services
32
- AUTH_CLOUD_PLATFORM_READ_ONLY = 'https://www.googleapis.com/auth/cloud-platform.read-only'
29
+ REVISION = '20170208'
33
30
 
34
31
  # View and manage your data across Google Cloud Platform services
35
32
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
33
+
34
+ # View your data across Google Cloud Platform services
35
+ AUTH_CLOUD_PLATFORM_READ_ONLY = 'https://www.googleapis.com/auth/cloud-platform.read-only'
36
36
  end
37
37
  end
38
38
  end
@@ -22,50 +22,49 @@ module Google
22
22
  module Apis
23
23
  module CloudresourcemanagerV1beta1
24
24
 
25
- # A classification of the Folder Operation error.
26
- class FolderOperationError
25
+ # Request message for `GetIamPolicy` method.
26
+ class GetIamPolicyRequest
27
27
  include Google::Apis::Core::Hashable
28
28
 
29
- # The type of operation error experienced.
30
- # Corresponds to the JSON property `errorMessageId`
31
- # @return [String]
32
- attr_accessor :error_message_id
33
-
34
29
  def initialize(**args)
35
30
  update!(**args)
36
31
  end
37
32
 
38
33
  # Update properties of this object
39
34
  def update!(**args)
40
- @error_message_id = args[:error_message_id] if args.key?(:error_message_id)
41
35
  end
42
36
  end
43
37
 
44
- # Metadata describing a long running folder operation
45
- class FolderOperation
38
+ # Response message for `TestIamPermissions` method.
39
+ class TestIamPermissionsResponse
46
40
  include Google::Apis::Core::Hashable
47
41
 
48
- # The type of this operation.
49
- # Corresponds to the JSON property `operationType`
50
- # @return [String]
51
- attr_accessor :operation_type
42
+ # A subset of `TestPermissionsRequest.permissions` that the caller is
43
+ # allowed.
44
+ # Corresponds to the JSON property `permissions`
45
+ # @return [Array<String>]
46
+ attr_accessor :permissions
52
47
 
53
- # The display name of the folder.
54
- # Corresponds to the JSON property `displayName`
55
- # @return [String]
56
- attr_accessor :display_name
48
+ def initialize(**args)
49
+ update!(**args)
50
+ end
57
51
 
58
- # The resource name of the folder's parent.
59
- # Only applicable when the operation_type is MOVE.
60
- # Corresponds to the JSON property `sourceParent`
61
- # @return [String]
62
- attr_accessor :source_parent
52
+ # Update properties of this object
53
+ def update!(**args)
54
+ @permissions = args[:permissions] if args.key?(:permissions)
55
+ end
56
+ end
63
57
 
64
- # The resource name of the folder or organization we are either creating
65
- # the folder under or moving the folder to.
66
- # Corresponds to the JSON property `destinationParent`
67
- # @return [String]
68
- attr_accessor :destination_parent
58
+ # Response from the GetAncestry method.
59
+ class GetAncestryResponse
60
+ include Google::Apis::Core::Hashable
61
+
62
+ # Ancestors are ordered from bottom to top of the resource hierarchy. The
63
+ # first ancestor is the project itself, followed by the project's parent,
64
+ # etc.
65
+ # Corresponds to the JSON property `ancestor`
66
+ # @return [Array<Google::Apis::CloudresourcemanagerV1beta1::Ancestor>]
67
+ attr_accessor :ancestor
69
68
 
70
69
  def initialize(**args)
71
70
  update!(**args)
@@ -73,66 +72,21 @@ module Google
73
72
 
74
73
  # Update properties of this object
75
74
  def update!(**args)
76
- @operation_type = args[:operation_type] if args.key?(:operation_type)
77
- @display_name = args[:display_name] if args.key?(:display_name)
78
- @source_parent = args[:source_parent] if args.key?(:source_parent)
79
- @destination_parent = args[:destination_parent] if args.key?(:destination_parent)
75
+ @ancestor = args[:ancestor] if args.key?(:ancestor)
80
76
  end
81
77
  end
82
78
 
83
- # Defines an Identity and Access Management (IAM) policy. It is used to
84
- # specify access control policies for Cloud Platform resources.
85
- # A `Policy` consists of a list of `bindings`. A `Binding` binds a list of
86
- # `members` to a `role`, where the members can be user accounts, Google groups,
87
- # Google domains, and service accounts. A `role` is a named list of permissions
88
- # defined by IAM.
89
- # **Example**
90
- # `
91
- # "bindings": [
92
- # `
93
- # "role": "roles/owner",
94
- # "members": [
95
- # "user:mike@example.com",
96
- # "group:admins@example.com",
97
- # "domain:google.com",
98
- # "serviceAccount:my-other-app@appspot.gserviceaccount.com",
99
- # ]
100
- # `,
101
- # `
102
- # "role": "roles/viewer",
103
- # "members": ["user:sean@example.com"]
104
- # `
105
- # ]
106
- # `
107
- # For a description of IAM and its features, see the
108
- # [IAM developer's guide](https://cloud.google.com/iam).
109
- class Policy
79
+ # The entity that owns an Organization. The lifetime of the Organization and
80
+ # all of its descendants are bound to the `OrganizationOwner`. If the
81
+ # `OrganizationOwner` is deleted, the Organization and all its descendants will
82
+ # be deleted.
83
+ class OrganizationOwner
110
84
  include Google::Apis::Core::Hashable
111
85
 
112
- # Associates a list of `members` to a `role`.
113
- # Multiple `bindings` must not be specified for the same `role`.
114
- # `bindings` with no members will result in an error.
115
- # Corresponds to the JSON property `bindings`
116
- # @return [Array<Google::Apis::CloudresourcemanagerV1beta1::Binding>]
117
- attr_accessor :bindings
118
-
119
- # `etag` is used for optimistic concurrency control as a way to help
120
- # prevent simultaneous updates of a policy from overwriting each other.
121
- # It is strongly suggested that systems make use of the `etag` in the
122
- # read-modify-write cycle to perform policy updates in order to avoid race
123
- # conditions: An `etag` is returned in the response to `getIamPolicy`, and
124
- # systems are expected to put that etag in the request to `setIamPolicy` to
125
- # ensure that their change will be applied to the same version of the policy.
126
- # If no `etag` is provided in the call to `setIamPolicy`, then the existing
127
- # policy is overwritten blindly.
128
- # Corresponds to the JSON property `etag`
86
+ # The Google for Work customer id used in the Directory API.
87
+ # Corresponds to the JSON property `directoryCustomerId`
129
88
  # @return [String]
130
- attr_accessor :etag
131
-
132
- # Version of the `Policy`. The default version is 0.
133
- # Corresponds to the JSON property `version`
134
- # @return [Fixnum]
135
- attr_accessor :version
89
+ attr_accessor :directory_customer_id
136
90
 
137
91
  def initialize(**args)
138
92
  update!(**args)
@@ -140,30 +94,36 @@ module Google
140
94
 
141
95
  # Update properties of this object
142
96
  def update!(**args)
143
- @bindings = args[:bindings] if args.key?(:bindings)
144
- @etag = args[:etag] if args.key?(:etag)
145
- @version = args[:version] if args.key?(:version)
97
+ @directory_customer_id = args[:directory_customer_id] if args.key?(:directory_customer_id)
146
98
  end
147
99
  end
148
100
 
149
- # A container to reference an id for any resource type. A `resource` in Google
150
- # Cloud Platform is a generic term for something you (a developer) may want to
151
- # interact with through one of our API's. Some examples are an AppEngine app,
152
- # a Compute Engine instance, a Cloud SQL database, and so on.
153
- class ResourceId
101
+ # A page of the response received from the
102
+ # ListProjects
103
+ # method.
104
+ # A paginated response where more pages are available has
105
+ # `next_page_token` set. This token can be used in a subsequent request to
106
+ # retrieve the next request page.
107
+ class ListProjectsResponse
154
108
  include Google::Apis::Core::Hashable
155
109
 
156
- # Required field representing the resource type this id is for.
157
- # At present, the valid types are "project" and "organization".
158
- # Corresponds to the JSON property `type`
159
- # @return [String]
160
- attr_accessor :type
110
+ # The list of Projects that matched the list filter. This list can
111
+ # be paginated.
112
+ # Corresponds to the JSON property `projects`
113
+ # @return [Array<Google::Apis::CloudresourcemanagerV1beta1::Project>]
114
+ attr_accessor :projects
161
115
 
162
- # Required field for the type-specific id. This should correspond to the id
163
- # used in the type-specific API's.
164
- # Corresponds to the JSON property `id`
116
+ # Pagination token.
117
+ # If the result set is too large to fit in a single response, this token
118
+ # is returned. It encodes the position of the current result cursor.
119
+ # Feeding this value into a new list request with the `page_token` parameter
120
+ # gives the next page of the results.
121
+ # When `next_page_token` is not filled in, there is no next page and
122
+ # the list returned is the last page in the result set.
123
+ # Pagination tokens have a limited lifetime.
124
+ # Corresponds to the JSON property `nextPageToken`
165
125
  # @return [String]
166
- attr_accessor :id
126
+ attr_accessor :next_page_token
167
127
 
168
128
  def initialize(**args)
169
129
  update!(**args)
@@ -171,66 +131,92 @@ module Google
171
131
 
172
132
  # Update properties of this object
173
133
  def update!(**args)
174
- @type = args[:type] if args.key?(:type)
175
- @id = args[:id] if args.key?(:id)
134
+ @projects = args[:projects] if args.key?(:projects)
135
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
176
136
  end
177
137
  end
178
138
 
179
- # Identifying information for a single ancestor of a project.
180
- class Ancestor
139
+ # The request sent to the
140
+ # GetAncestry
141
+ # method.
142
+ class GetAncestryRequest
181
143
  include Google::Apis::Core::Hashable
182
144
 
183
- # A container to reference an id for any resource type. A `resource` in Google
184
- # Cloud Platform is a generic term for something you (a developer) may want to
185
- # interact with through one of our API's. Some examples are an AppEngine app,
186
- # a Compute Engine instance, a Cloud SQL database, and so on.
187
- # Corresponds to the JSON property `resourceId`
188
- # @return [Google::Apis::CloudresourcemanagerV1beta1::ResourceId]
189
- attr_accessor :resource_id
190
-
191
145
  def initialize(**args)
192
146
  update!(**args)
193
147
  end
194
148
 
195
149
  # Update properties of this object
196
150
  def update!(**args)
197
- @resource_id = args[:resource_id] if args.key?(:resource_id)
198
151
  end
199
152
  end
200
153
 
201
- # Request message for `SetIamPolicy` method.
202
- class SetIamPolicyRequest
154
+ # A Project is a high-level Google Cloud Platform entity. It is a
155
+ # container for ACLs, APIs, AppEngine Apps, VMs, and other
156
+ # Google Cloud Platform resources.
157
+ class Project
203
158
  include Google::Apis::Core::Hashable
204
159
 
205
- # Defines an Identity and Access Management (IAM) policy. It is used to
206
- # specify access control policies for Cloud Platform resources.
207
- # A `Policy` consists of a list of `bindings`. A `Binding` binds a list of
208
- # `members` to a `role`, where the members can be user accounts, Google groups,
209
- # Google domains, and service accounts. A `role` is a named list of permissions
210
- # defined by IAM.
211
- # **Example**
212
- # `
213
- # "bindings": [
214
- # `
215
- # "role": "roles/owner",
216
- # "members": [
217
- # "user:mike@example.com",
218
- # "group:admins@example.com",
219
- # "domain:google.com",
220
- # "serviceAccount:my-other-app@appspot.gserviceaccount.com",
221
- # ]
222
- # `,
223
- # `
224
- # "role": "roles/viewer",
225
- # "members": ["user:sean@example.com"]
226
- # `
227
- # ]
228
- # `
229
- # For a description of IAM and its features, see the
230
- # [IAM developer's guide](https://cloud.google.com/iam).
231
- # Corresponds to the JSON property `policy`
232
- # @return [Google::Apis::CloudresourcemanagerV1beta1::Policy]
233
- attr_accessor :policy
160
+ # The unique, user-assigned ID of the Project.
161
+ # It must be 6 to 30 lowercase letters, digits, or hyphens.
162
+ # It must start with a letter.
163
+ # Trailing hyphens are prohibited.
164
+ # Example: <code>tokyo-rain-123</code>
165
+ # Read-only after creation.
166
+ # Corresponds to the JSON property `projectId`
167
+ # @return [String]
168
+ attr_accessor :project_id
169
+
170
+ # The Project lifecycle state.
171
+ # Read-only.
172
+ # Corresponds to the JSON property `lifecycleState`
173
+ # @return [String]
174
+ attr_accessor :lifecycle_state
175
+
176
+ # The number uniquely identifying the project.
177
+ # Example: <code>415104041262</code>
178
+ # Read-only.
179
+ # Corresponds to the JSON property `projectNumber`
180
+ # @return [String]
181
+ attr_accessor :project_number
182
+
183
+ # A container to reference an id for any resource type. A `resource` in Google
184
+ # Cloud Platform is a generic term for something you (a developer) may want to
185
+ # interact with through one of our API's. Some examples are an AppEngine app,
186
+ # a Compute Engine instance, a Cloud SQL database, and so on.
187
+ # Corresponds to the JSON property `parent`
188
+ # @return [Google::Apis::CloudresourcemanagerV1beta1::ResourceId]
189
+ attr_accessor :parent
190
+
191
+ # The labels associated with this Project.
192
+ # Label keys must be between 1 and 63 characters long and must conform
193
+ # to the following regular expression: \[a-z\](\[-a-z0-9\]*\[a-z0-9\])?.
194
+ # Label values must be between 0 and 63 characters long and must conform
195
+ # to the regular expression (\[a-z\](\[-a-z0-9\]*\[a-z0-9\])?)?.
196
+ # No more than 256 labels can be associated with a given resource.
197
+ # Clients should store labels in a representation such as JSON that does not
198
+ # depend on specific characters being disallowed.
199
+ # Example: <code>"environment" : "dev"</code>
200
+ # Read-write.
201
+ # Corresponds to the JSON property `labels`
202
+ # @return [Hash<String,String>]
203
+ attr_accessor :labels
204
+
205
+ # Creation time.
206
+ # Read-only.
207
+ # Corresponds to the JSON property `createTime`
208
+ # @return [String]
209
+ attr_accessor :create_time
210
+
211
+ # The user-assigned display name of the Project.
212
+ # It must be 4 to 30 characters.
213
+ # Allowed characters are: lowercase and uppercase letters, numbers,
214
+ # hyphen, single-quote, double-quote, space, and exclamation point.
215
+ # Example: <code>My Project</code>
216
+ # Read-write.
217
+ # Corresponds to the JSON property `name`
218
+ # @return [String]
219
+ attr_accessor :name
234
220
 
235
221
  def initialize(**args)
236
222
  update!(**args)
@@ -238,27 +224,27 @@ module Google
238
224
 
239
225
  # Update properties of this object
240
226
  def update!(**args)
241
- @policy = args[:policy] if args.key?(:policy)
227
+ @project_id = args[:project_id] if args.key?(:project_id)
228
+ @lifecycle_state = args[:lifecycle_state] if args.key?(:lifecycle_state)
229
+ @project_number = args[:project_number] if args.key?(:project_number)
230
+ @parent = args[:parent] if args.key?(:parent)
231
+ @labels = args[:labels] if args.key?(:labels)
232
+ @create_time = args[:create_time] if args.key?(:create_time)
233
+ @name = args[:name] if args.key?(:name)
242
234
  end
243
235
  end
244
236
 
245
- # The response returned from the `ListOrganizations` method.
246
- class ListOrganizationsResponse
237
+ # Request message for `TestIamPermissions` method.
238
+ class TestIamPermissionsRequest
247
239
  include Google::Apis::Core::Hashable
248
240
 
249
- # A pagination token to be used to retrieve the next page of results. If the
250
- # result is too large to fit within the page size specified in the request,
251
- # this field will be set with a token that can be used to fetch the next page
252
- # of results. If this field is empty, it indicates that this response
253
- # contains the last page of results.
254
- # Corresponds to the JSON property `nextPageToken`
255
- # @return [String]
256
- attr_accessor :next_page_token
257
-
258
- # The list of Organizations that matched the list query, possibly paginated.
259
- # Corresponds to the JSON property `organizations`
260
- # @return [Array<Google::Apis::CloudresourcemanagerV1beta1::Organization>]
261
- attr_accessor :organizations
241
+ # The set of permissions to check for the `resource`. Permissions with
242
+ # wildcards (such as '*' or 'storage.*') are not allowed. For more
243
+ # information see
244
+ # [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
245
+ # Corresponds to the JSON property `permissions`
246
+ # @return [Array<String>]
247
+ attr_accessor :permissions
262
248
 
263
249
  def initialize(**args)
264
250
  update!(**args)
@@ -266,39 +252,18 @@ module Google
266
252
 
267
253
  # Update properties of this object
268
254
  def update!(**args)
269
- @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
270
- @organizations = args[:organizations] if args.key?(:organizations)
255
+ @permissions = args[:permissions] if args.key?(:permissions)
271
256
  end
272
257
  end
273
258
 
274
- # Associates `members` with a `role`.
275
- class Binding
259
+ # A classification of the Folder Operation error.
260
+ class FolderOperationError
276
261
  include Google::Apis::Core::Hashable
277
262
 
278
- # Specifies the identities requesting access for a Cloud Platform resource.
279
- # `members` can have the following values:
280
- # * `allUsers`: A special identifier that represents anyone who is
281
- # on the internet; with or without a Google account.
282
- # * `allAuthenticatedUsers`: A special identifier that represents anyone
283
- # who is authenticated with a Google account or a service account.
284
- # * `user:`emailid``: An email address that represents a specific Google
285
- # account. For example, `alice@gmail.com` or `joe@example.com`.
286
- # * `serviceAccount:`emailid``: An email address that represents a service
287
- # account. For example, `my-other-app@appspot.gserviceaccount.com`.
288
- # * `group:`emailid``: An email address that represents a Google group.
289
- # For example, `admins@example.com`.
290
- # * `domain:`domain``: A Google Apps domain name that represents all the
291
- # users of that domain. For example, `google.com` or `example.com`.
292
- # Corresponds to the JSON property `members`
293
- # @return [Array<String>]
294
- attr_accessor :members
295
-
296
- # Role that is assigned to `members`.
297
- # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
298
- # Required
299
- # Corresponds to the JSON property `role`
263
+ # The type of operation error experienced.
264
+ # Corresponds to the JSON property `errorMessageId`
300
265
  # @return [String]
301
- attr_accessor :role
266
+ attr_accessor :error_message_id
302
267
 
303
268
  def initialize(**args)
304
269
  update!(**args)
@@ -306,34 +271,63 @@ module Google
306
271
 
307
272
  # Update properties of this object
308
273
  def update!(**args)
309
- @members = args[:members] if args.key?(:members)
310
- @role = args[:role] if args.key?(:role)
274
+ @error_message_id = args[:error_message_id] if args.key?(:error_message_id)
311
275
  end
312
276
  end
313
277
 
314
- # A generic empty message that you can re-use to avoid defining duplicated
315
- # empty messages in your APIs. A typical example is to use it as the request
316
- # or the response type of an API method. For instance:
317
- # service Foo `
318
- # rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
278
+ # Defines an Identity and Access Management (IAM) policy. It is used to
279
+ # specify access control policies for Cloud Platform resources.
280
+ # A `Policy` consists of a list of `bindings`. A `Binding` binds a list of
281
+ # `members` to a `role`, where the members can be user accounts, Google groups,
282
+ # Google domains, and service accounts. A `role` is a named list of permissions
283
+ # defined by IAM.
284
+ # **Example**
319
285
  # `
320
- # The JSON representation for `Empty` is empty JSON object ````.
321
- class Empty
286
+ # "bindings": [
287
+ # `
288
+ # "role": "roles/owner",
289
+ # "members": [
290
+ # "user:mike@example.com",
291
+ # "group:admins@example.com",
292
+ # "domain:google.com",
293
+ # "serviceAccount:my-other-app@appspot.gserviceaccount.com",
294
+ # ]
295
+ # `,
296
+ # `
297
+ # "role": "roles/viewer",
298
+ # "members": ["user:sean@example.com"]
299
+ # `
300
+ # ]
301
+ # `
302
+ # For a description of IAM and its features, see the
303
+ # [IAM developer's guide](https://cloud.google.com/iam).
304
+ class Policy
322
305
  include Google::Apis::Core::Hashable
323
306
 
324
- def initialize(**args)
325
- update!(**args)
326
- end
307
+ # `etag` is used for optimistic concurrency control as a way to help
308
+ # prevent simultaneous updates of a policy from overwriting each other.
309
+ # It is strongly suggested that systems make use of the `etag` in the
310
+ # read-modify-write cycle to perform policy updates in order to avoid race
311
+ # conditions: An `etag` is returned in the response to `getIamPolicy`, and
312
+ # systems are expected to put that etag in the request to `setIamPolicy` to
313
+ # ensure that their change will be applied to the same version of the policy.
314
+ # If no `etag` is provided in the call to `setIamPolicy`, then the existing
315
+ # policy is overwritten blindly.
316
+ # Corresponds to the JSON property `etag`
317
+ # @return [String]
318
+ attr_accessor :etag
327
319
 
328
- # Update properties of this object
329
- def update!(**args)
330
- end
331
- end
320
+ # Version of the `Policy`. The default version is 0.
321
+ # Corresponds to the JSON property `version`
322
+ # @return [Fixnum]
323
+ attr_accessor :version
332
324
 
333
- # The request sent to the UndeleteProject
334
- # method.
335
- class UndeleteProjectRequest
336
- include Google::Apis::Core::Hashable
325
+ # Associates a list of `members` to a `role`.
326
+ # Multiple `bindings` must not be specified for the same `role`.
327
+ # `bindings` with no members will result in an error.
328
+ # Corresponds to the JSON property `bindings`
329
+ # @return [Array<Google::Apis::CloudresourcemanagerV1beta1::Binding>]
330
+ attr_accessor :bindings
337
331
 
338
332
  def initialize(**args)
339
333
  update!(**args)
@@ -341,56 +335,37 @@ module Google
341
335
 
342
336
  # Update properties of this object
343
337
  def update!(**args)
338
+ @etag = args[:etag] if args.key?(:etag)
339
+ @version = args[:version] if args.key?(:version)
340
+ @bindings = args[:bindings] if args.key?(:bindings)
344
341
  end
345
342
  end
346
343
 
347
- # The root node in the resource hierarchy to which a particular entity's
348
- # (e.g., company) resources belong.
349
- class Organization
344
+ # Metadata describing a long running folder operation
345
+ class FolderOperation
350
346
  include Google::Apis::Core::Hashable
351
347
 
352
- # An immutable id for the Organization that is assigned on creation. This
353
- # should be omitted when creating a new Organization.
354
- # This field is read-only.
355
- # This field is deprecated and will be removed in v1. Use name instead.
356
- # Corresponds to the JSON property `organizationId`
357
- # @return [String]
358
- attr_accessor :organization_id
359
-
360
- # The organization's current lifecycle state. Assigned by the server.
361
- # @OutputOnly
362
- # Corresponds to the JSON property `lifecycleState`
348
+ # The type of this operation.
349
+ # Corresponds to the JSON property `operationType`
363
350
  # @return [String]
364
- attr_accessor :lifecycle_state
351
+ attr_accessor :operation_type
365
352
 
366
- # A friendly string to be used to refer to the Organization in the UI.
367
- # Assigned by the server, set to the firm name of the Google For Work
368
- # customer that owns this organization.
369
- # @OutputOnly
353
+ # The display name of the folder.
370
354
  # Corresponds to the JSON property `displayName`
371
355
  # @return [String]
372
356
  attr_accessor :display_name
373
357
 
374
- # Timestamp when the Organization was created. Assigned by the server.
375
- # @OutputOnly
376
- # Corresponds to the JSON property `creationTime`
358
+ # The resource name of the folder's parent.
359
+ # Only applicable when the operation_type is MOVE.
360
+ # Corresponds to the JSON property `sourceParent`
377
361
  # @return [String]
378
- attr_accessor :creation_time
379
-
380
- # The entity that owns an Organization. The lifetime of the Organization and
381
- # all of its descendants are bound to the `OrganizationOwner`. If the
382
- # `OrganizationOwner` is deleted, the Organization and all its descendants will
383
- # be deleted.
384
- # Corresponds to the JSON property `owner`
385
- # @return [Google::Apis::CloudresourcemanagerV1beta1::OrganizationOwner]
386
- attr_accessor :owner
362
+ attr_accessor :source_parent
387
363
 
388
- # Output Only. The resource name of the organization. This is the
389
- # organization's relative path in the API. Its format is
390
- # "organizations/[organization_id]". For example, "organizations/1234".
391
- # Corresponds to the JSON property `name`
364
+ # The resource name of the folder or organization we are either creating
365
+ # the folder under or moving the folder to.
366
+ # Corresponds to the JSON property `destinationParent`
392
367
  # @return [String]
393
- attr_accessor :name
368
+ attr_accessor :destination_parent
394
369
 
395
370
  def initialize(**args)
396
371
  update!(**args)
@@ -398,39 +373,31 @@ module Google
398
373
 
399
374
  # Update properties of this object
400
375
  def update!(**args)
401
- @organization_id = args[:organization_id] if args.key?(:organization_id)
402
- @lifecycle_state = args[:lifecycle_state] if args.key?(:lifecycle_state)
376
+ @operation_type = args[:operation_type] if args.key?(:operation_type)
403
377
  @display_name = args[:display_name] if args.key?(:display_name)
404
- @creation_time = args[:creation_time] if args.key?(:creation_time)
405
- @owner = args[:owner] if args.key?(:owner)
406
- @name = args[:name] if args.key?(:name)
378
+ @source_parent = args[:source_parent] if args.key?(:source_parent)
379
+ @destination_parent = args[:destination_parent] if args.key?(:destination_parent)
407
380
  end
408
381
  end
409
382
 
410
- # A status object which is used as the `metadata` field for the Operation
411
- # returned by CreateProject. It provides insight for when significant phases of
412
- # Project creation have completed.
413
- class ProjectCreationStatus
383
+ # A container to reference an id for any resource type. A `resource` in Google
384
+ # Cloud Platform is a generic term for something you (a developer) may want to
385
+ # interact with through one of our API's. Some examples are an AppEngine app,
386
+ # a Compute Engine instance, a Cloud SQL database, and so on.
387
+ class ResourceId
414
388
  include Google::Apis::Core::Hashable
415
389
 
416
- # Creation time of the project creation workflow.
417
- # Corresponds to the JSON property `createTime`
390
+ # Required field representing the resource type this id is for.
391
+ # At present, the valid types are "project" and "organization".
392
+ # Corresponds to the JSON property `type`
418
393
  # @return [String]
419
- attr_accessor :create_time
420
-
421
- # True if the project can be retrieved using GetProject. No other operations
422
- # on the project are guaranteed to work until the project creation is
423
- # complete.
424
- # Corresponds to the JSON property `gettable`
425
- # @return [Boolean]
426
- attr_accessor :gettable
427
- alias_method :gettable?, :gettable
394
+ attr_accessor :type
428
395
 
429
- # True if the project creation process is complete.
430
- # Corresponds to the JSON property `ready`
431
- # @return [Boolean]
432
- attr_accessor :ready
433
- alias_method :ready?, :ready
396
+ # Required field for the type-specific id. This should correspond to the id
397
+ # used in the type-specific API's.
398
+ # Corresponds to the JSON property `id`
399
+ # @return [String]
400
+ attr_accessor :id
434
401
 
435
402
  def initialize(**args)
436
403
  update!(**args)
@@ -438,34 +405,50 @@ module Google
438
405
 
439
406
  # Update properties of this object
440
407
  def update!(**args)
441
- @create_time = args[:create_time] if args.key?(:create_time)
442
- @gettable = args[:gettable] if args.key?(:gettable)
443
- @ready = args[:ready] if args.key?(:ready)
408
+ @type = args[:type] if args.key?(:type)
409
+ @id = args[:id] if args.key?(:id)
444
410
  end
445
411
  end
446
412
 
447
- # Request message for `GetIamPolicy` method.
448
- class GetIamPolicyRequest
413
+ # Identifying information for a single ancestor of a project.
414
+ class Ancestor
449
415
  include Google::Apis::Core::Hashable
450
416
 
417
+ # A container to reference an id for any resource type. A `resource` in Google
418
+ # Cloud Platform is a generic term for something you (a developer) may want to
419
+ # interact with through one of our API's. Some examples are an AppEngine app,
420
+ # a Compute Engine instance, a Cloud SQL database, and so on.
421
+ # Corresponds to the JSON property `resourceId`
422
+ # @return [Google::Apis::CloudresourcemanagerV1beta1::ResourceId]
423
+ attr_accessor :resource_id
424
+
451
425
  def initialize(**args)
452
426
  update!(**args)
453
427
  end
454
428
 
455
429
  # Update properties of this object
456
430
  def update!(**args)
431
+ @resource_id = args[:resource_id] if args.key?(:resource_id)
457
432
  end
458
433
  end
459
434
 
460
- # Response message for `TestIamPermissions` method.
461
- class TestIamPermissionsResponse
435
+ # The response returned from the `ListOrganizations` method.
436
+ class ListOrganizationsResponse
462
437
  include Google::Apis::Core::Hashable
463
438
 
464
- # A subset of `TestPermissionsRequest.permissions` that the caller is
465
- # allowed.
466
- # Corresponds to the JSON property `permissions`
467
- # @return [Array<String>]
468
- attr_accessor :permissions
439
+ # A pagination token to be used to retrieve the next page of results. If the
440
+ # result is too large to fit within the page size specified in the request,
441
+ # this field will be set with a token that can be used to fetch the next page
442
+ # of results. If this field is empty, it indicates that this response
443
+ # contains the last page of results.
444
+ # Corresponds to the JSON property `nextPageToken`
445
+ # @return [String]
446
+ attr_accessor :next_page_token
447
+
448
+ # The list of Organizations that matched the list query, possibly paginated.
449
+ # Corresponds to the JSON property `organizations`
450
+ # @return [Array<Google::Apis::CloudresourcemanagerV1beta1::Organization>]
451
+ attr_accessor :organizations
469
452
 
470
453
  def initialize(**args)
471
454
  update!(**args)
@@ -473,20 +456,44 @@ module Google
473
456
 
474
457
  # Update properties of this object
475
458
  def update!(**args)
476
- @permissions = args[:permissions] if args.key?(:permissions)
459
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
460
+ @organizations = args[:organizations] if args.key?(:organizations)
477
461
  end
478
462
  end
479
463
 
480
- # Response from the GetAncestry method.
481
- class GetAncestryResponse
464
+ # Request message for `SetIamPolicy` method.
465
+ class SetIamPolicyRequest
482
466
  include Google::Apis::Core::Hashable
483
467
 
484
- # Ancestors are ordered from bottom to top of the resource hierarchy. The
485
- # first ancestor is the project itself, followed by the project's parent,
486
- # etc.
487
- # Corresponds to the JSON property `ancestor`
488
- # @return [Array<Google::Apis::CloudresourcemanagerV1beta1::Ancestor>]
489
- attr_accessor :ancestor
468
+ # Defines an Identity and Access Management (IAM) policy. It is used to
469
+ # specify access control policies for Cloud Platform resources.
470
+ # A `Policy` consists of a list of `bindings`. A `Binding` binds a list of
471
+ # `members` to a `role`, where the members can be user accounts, Google groups,
472
+ # Google domains, and service accounts. A `role` is a named list of permissions
473
+ # defined by IAM.
474
+ # **Example**
475
+ # `
476
+ # "bindings": [
477
+ # `
478
+ # "role": "roles/owner",
479
+ # "members": [
480
+ # "user:mike@example.com",
481
+ # "group:admins@example.com",
482
+ # "domain:google.com",
483
+ # "serviceAccount:my-other-app@appspot.gserviceaccount.com",
484
+ # ]
485
+ # `,
486
+ # `
487
+ # "role": "roles/viewer",
488
+ # "members": ["user:sean@example.com"]
489
+ # `
490
+ # ]
491
+ # `
492
+ # For a description of IAM and its features, see the
493
+ # [IAM developer's guide](https://cloud.google.com/iam).
494
+ # Corresponds to the JSON property `policy`
495
+ # @return [Google::Apis::CloudresourcemanagerV1beta1::Policy]
496
+ attr_accessor :policy
490
497
 
491
498
  def initialize(**args)
492
499
  update!(**args)
@@ -494,21 +501,38 @@ module Google
494
501
 
495
502
  # Update properties of this object
496
503
  def update!(**args)
497
- @ancestor = args[:ancestor] if args.key?(:ancestor)
504
+ @policy = args[:policy] if args.key?(:policy)
498
505
  end
499
506
  end
500
507
 
501
- # The entity that owns an Organization. The lifetime of the Organization and
502
- # all of its descendants are bound to the `OrganizationOwner`. If the
503
- # `OrganizationOwner` is deleted, the Organization and all its descendants will
504
- # be deleted.
505
- class OrganizationOwner
508
+ # Associates `members` with a `role`.
509
+ class Binding
506
510
  include Google::Apis::Core::Hashable
507
511
 
508
- # The Google for Work customer id used in the Directory API.
509
- # Corresponds to the JSON property `directoryCustomerId`
512
+ # Specifies the identities requesting access for a Cloud Platform resource.
513
+ # `members` can have the following values:
514
+ # * `allUsers`: A special identifier that represents anyone who is
515
+ # on the internet; with or without a Google account.
516
+ # * `allAuthenticatedUsers`: A special identifier that represents anyone
517
+ # who is authenticated with a Google account or a service account.
518
+ # * `user:`emailid``: An email address that represents a specific Google
519
+ # account. For example, `alice@gmail.com` or `joe@example.com`.
520
+ # * `serviceAccount:`emailid``: An email address that represents a service
521
+ # account. For example, `my-other-app@appspot.gserviceaccount.com`.
522
+ # * `group:`emailid``: An email address that represents a Google group.
523
+ # For example, `admins@example.com`.
524
+ # * `domain:`domain``: A Google Apps domain name that represents all the
525
+ # users of that domain. For example, `google.com` or `example.com`.
526
+ # Corresponds to the JSON property `members`
527
+ # @return [Array<String>]
528
+ attr_accessor :members
529
+
530
+ # Role that is assigned to `members`.
531
+ # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
532
+ # Required
533
+ # Corresponds to the JSON property `role`
510
534
  # @return [String]
511
- attr_accessor :directory_customer_id
535
+ attr_accessor :role
512
536
 
513
537
  def initialize(**args)
514
538
  update!(**args)
@@ -516,52 +540,33 @@ module Google
516
540
 
517
541
  # Update properties of this object
518
542
  def update!(**args)
519
- @directory_customer_id = args[:directory_customer_id] if args.key?(:directory_customer_id)
543
+ @members = args[:members] if args.key?(:members)
544
+ @role = args[:role] if args.key?(:role)
520
545
  end
521
546
  end
522
547
 
523
- # A page of the response received from the
524
- # ListProjects
525
- # method.
526
- # A paginated response where more pages are available has
527
- # `next_page_token` set. This token can be used in a subsequent request to
528
- # retrieve the next request page.
529
- class ListProjectsResponse
548
+ # A generic empty message that you can re-use to avoid defining duplicated
549
+ # empty messages in your APIs. A typical example is to use it as the request
550
+ # or the response type of an API method. For instance:
551
+ # service Foo `
552
+ # rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
553
+ # `
554
+ # The JSON representation for `Empty` is empty JSON object ````.
555
+ class Empty
530
556
  include Google::Apis::Core::Hashable
531
557
 
532
- # The list of Projects that matched the list filter. This list can
533
- # be paginated.
534
- # Corresponds to the JSON property `projects`
535
- # @return [Array<Google::Apis::CloudresourcemanagerV1beta1::Project>]
536
- attr_accessor :projects
537
-
538
- # Pagination token.
539
- # If the result set is too large to fit in a single response, this token
540
- # is returned. It encodes the position of the current result cursor.
541
- # Feeding this value into a new list request with the `page_token` parameter
542
- # gives the next page of the results.
543
- # When `next_page_token` is not filled in, there is no next page and
544
- # the list returned is the last page in the result set.
545
- # Pagination tokens have a limited lifetime.
546
- # Corresponds to the JSON property `nextPageToken`
547
- # @return [String]
548
- attr_accessor :next_page_token
549
-
550
558
  def initialize(**args)
551
559
  update!(**args)
552
560
  end
553
561
 
554
562
  # Update properties of this object
555
563
  def update!(**args)
556
- @projects = args[:projects] if args.key?(:projects)
557
- @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
558
564
  end
559
565
  end
560
566
 
561
- # The request sent to the
562
- # GetAncestry
567
+ # The request sent to the UndeleteProject
563
568
  # method.
564
- class GetAncestryRequest
569
+ class UndeleteProjectRequest
565
570
  include Google::Apis::Core::Hashable
566
571
 
567
572
  def initialize(**args)
@@ -573,72 +578,53 @@ module Google
573
578
  end
574
579
  end
575
580
 
576
- # A Project is a high-level Google Cloud Platform entity. It is a
577
- # container for ACLs, APIs, AppEngine Apps, VMs, and other
578
- # Google Cloud Platform resources.
579
- class Project
581
+ # The root node in the resource hierarchy to which a particular entity's
582
+ # (e.g., company) resources belong.
583
+ class Organization
580
584
  include Google::Apis::Core::Hashable
581
585
 
582
- # Creation time.
583
- # Read-only.
584
- # Corresponds to the JSON property `createTime`
585
- # @return [String]
586
- attr_accessor :create_time
587
-
588
- # The labels associated with this Project.
589
- # Label keys must be between 1 and 63 characters long and must conform
590
- # to the following regular expression: \[a-z\](\[-a-z0-9\]*\[a-z0-9\])?.
591
- # Label values must be between 0 and 63 characters long and must conform
592
- # to the regular expression (\[a-z\](\[-a-z0-9\]*\[a-z0-9\])?)?.
593
- # No more than 256 labels can be associated with a given resource.
594
- # Clients should store labels in a representation such as JSON that does not
595
- # depend on specific characters being disallowed.
596
- # Example: <code>"environment" : "dev"</code>
597
- # Read-write.
598
- # Corresponds to the JSON property `labels`
599
- # @return [Hash<String,String>]
600
- attr_accessor :labels
586
+ # The entity that owns an Organization. The lifetime of the Organization and
587
+ # all of its descendants are bound to the `OrganizationOwner`. If the
588
+ # `OrganizationOwner` is deleted, the Organization and all its descendants will
589
+ # be deleted.
590
+ # Corresponds to the JSON property `owner`
591
+ # @return [Google::Apis::CloudresourcemanagerV1beta1::OrganizationOwner]
592
+ attr_accessor :owner
601
593
 
602
- # The user-assigned display name of the Project.
603
- # It must be 4 to 30 characters.
604
- # Allowed characters are: lowercase and uppercase letters, numbers,
605
- # hyphen, single-quote, double-quote, space, and exclamation point.
606
- # Example: <code>My Project</code>
607
- # Read-write.
594
+ # Output Only. The resource name of the organization. This is the
595
+ # organization's relative path in the API. Its format is
596
+ # "organizations/[organization_id]". For example, "organizations/1234".
608
597
  # Corresponds to the JSON property `name`
609
598
  # @return [String]
610
599
  attr_accessor :name
611
600
 
612
- # The unique, user-assigned ID of the Project.
613
- # It must be 6 to 30 lowercase letters, digits, or hyphens.
614
- # It must start with a letter.
615
- # Trailing hyphens are prohibited.
616
- # Example: <code>tokyo-rain-123</code>
617
- # Read-only after creation.
618
- # Corresponds to the JSON property `projectId`
601
+ # An immutable id for the Organization that is assigned on creation. This
602
+ # should be omitted when creating a new Organization.
603
+ # This field is read-only.
604
+ # This field is deprecated and will be removed in v1. Use name instead.
605
+ # Corresponds to the JSON property `organizationId`
619
606
  # @return [String]
620
- attr_accessor :project_id
607
+ attr_accessor :organization_id
621
608
 
622
- # The Project lifecycle state.
623
- # Read-only.
609
+ # The organization's current lifecycle state. Assigned by the server.
610
+ # @OutputOnly
624
611
  # Corresponds to the JSON property `lifecycleState`
625
612
  # @return [String]
626
613
  attr_accessor :lifecycle_state
627
614
 
628
- # The number uniquely identifying the project.
629
- # Example: <code>415104041262</code>
630
- # Read-only.
631
- # Corresponds to the JSON property `projectNumber`
615
+ # A friendly string to be used to refer to the Organization in the UI.
616
+ # Assigned by the server, set to the primary domain of the G Suite
617
+ # customer that owns the organization.
618
+ # @OutputOnly
619
+ # Corresponds to the JSON property `displayName`
632
620
  # @return [String]
633
- attr_accessor :project_number
621
+ attr_accessor :display_name
634
622
 
635
- # A container to reference an id for any resource type. A `resource` in Google
636
- # Cloud Platform is a generic term for something you (a developer) may want to
637
- # interact with through one of our API's. Some examples are an AppEngine app,
638
- # a Compute Engine instance, a Cloud SQL database, and so on.
639
- # Corresponds to the JSON property `parent`
640
- # @return [Google::Apis::CloudresourcemanagerV1beta1::ResourceId]
641
- attr_accessor :parent
623
+ # Timestamp when the Organization was created. Assigned by the server.
624
+ # @OutputOnly
625
+ # Corresponds to the JSON property `creationTime`
626
+ # @return [String]
627
+ attr_accessor :creation_time
642
628
 
643
629
  def initialize(**args)
644
630
  update!(**args)
@@ -646,27 +632,39 @@ module Google
646
632
 
647
633
  # Update properties of this object
648
634
  def update!(**args)
649
- @create_time = args[:create_time] if args.key?(:create_time)
650
- @labels = args[:labels] if args.key?(:labels)
635
+ @owner = args[:owner] if args.key?(:owner)
651
636
  @name = args[:name] if args.key?(:name)
652
- @project_id = args[:project_id] if args.key?(:project_id)
637
+ @organization_id = args[:organization_id] if args.key?(:organization_id)
653
638
  @lifecycle_state = args[:lifecycle_state] if args.key?(:lifecycle_state)
654
- @project_number = args[:project_number] if args.key?(:project_number)
655
- @parent = args[:parent] if args.key?(:parent)
639
+ @display_name = args[:display_name] if args.key?(:display_name)
640
+ @creation_time = args[:creation_time] if args.key?(:creation_time)
656
641
  end
657
642
  end
658
643
 
659
- # Request message for `TestIamPermissions` method.
660
- class TestIamPermissionsRequest
644
+ # A status object which is used as the `metadata` field for the Operation
645
+ # returned by CreateProject. It provides insight for when significant phases of
646
+ # Project creation have completed.
647
+ class ProjectCreationStatus
661
648
  include Google::Apis::Core::Hashable
662
649
 
663
- # The set of permissions to check for the `resource`. Permissions with
664
- # wildcards (such as '*' or 'storage.*') are not allowed. For more
665
- # information see
666
- # [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
667
- # Corresponds to the JSON property `permissions`
668
- # @return [Array<String>]
669
- attr_accessor :permissions
650
+ # True if the project creation process is complete.
651
+ # Corresponds to the JSON property `ready`
652
+ # @return [Boolean]
653
+ attr_accessor :ready
654
+ alias_method :ready?, :ready
655
+
656
+ # Creation time of the project creation workflow.
657
+ # Corresponds to the JSON property `createTime`
658
+ # @return [String]
659
+ attr_accessor :create_time
660
+
661
+ # True if the project can be retrieved using GetProject. No other operations
662
+ # on the project are guaranteed to work until the project creation is
663
+ # complete.
664
+ # Corresponds to the JSON property `gettable`
665
+ # @return [Boolean]
666
+ attr_accessor :gettable
667
+ alias_method :gettable?, :gettable
670
668
 
671
669
  def initialize(**args)
672
670
  update!(**args)
@@ -674,7 +672,9 @@ module Google
674
672
 
675
673
  # Update properties of this object
676
674
  def update!(**args)
677
- @permissions = args[:permissions] if args.key?(:permissions)
675
+ @ready = args[:ready] if args.key?(:ready)
676
+ @create_time = args[:create_time] if args.key?(:create_time)
677
+ @gettable = args[:gettable] if args.key?(:gettable)
678
678
  end
679
679
  end
680
680
  end