google-api-client 0.9.20 → 0.9.21

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