google-apis-dataproc_v1 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.yardopts +13 -0
- data/CHANGELOG.md +7 -0
- data/LICENSE.md +202 -0
- data/OVERVIEW.md +96 -0
- data/lib/google-apis-dataproc_v1.rb +15 -0
- data/lib/google/apis/dataproc_v1.rb +36 -0
- data/lib/google/apis/dataproc_v1/classes.rb +3628 -0
- data/lib/google/apis/dataproc_v1/gem_version.rb +28 -0
- data/lib/google/apis/dataproc_v1/representations.rb +1381 -0
- data/lib/google/apis/dataproc_v1/service.rb +2613 -0
- metadata +76 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 0b916d8c2e8b493aa477a8f68c490a9736b170845ad6bf9bff532f3e4879b6f3
|
4
|
+
data.tar.gz: caab6d7c6b145ad1a287d4e55d2c02a170c1e9cb8d706eb6cea99a01002fcf28
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: c3428112f13f2673cd8af30d9dba23e7ee3e693051fdd8d3e90ad550a53cfc3a2effce63d4349e4b84ffd3b74724f28edced5ddf7476da8d077e4f774eed86e7
|
7
|
+
data.tar.gz: 5a43a599b389fbb6fab410907dace48cb30bb661f8272efd42b9229a006f08314c6cca6d8ea7651b3d0ff617e8771e563f1b4858a9b1f3491a9664b97d364330
|
data/.yardopts
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
--hide-void-return
|
2
|
+
--no-private
|
3
|
+
--verbose
|
4
|
+
--title=google-apis-dataproc_v1
|
5
|
+
--markup-provider=redcarpet
|
6
|
+
--markup=markdown
|
7
|
+
--main OVERVIEW.md
|
8
|
+
lib/google/apis/dataproc_v1/*.rb
|
9
|
+
lib/google/apis/dataproc_v1.rb
|
10
|
+
-
|
11
|
+
OVERVIEW.md
|
12
|
+
CHANGELOG.md
|
13
|
+
LICENSE.md
|
data/CHANGELOG.md
ADDED
data/LICENSE.md
ADDED
@@ -0,0 +1,202 @@
|
|
1
|
+
|
2
|
+
Apache License
|
3
|
+
Version 2.0, January 2004
|
4
|
+
http://www.apache.org/licenses/
|
5
|
+
|
6
|
+
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
7
|
+
|
8
|
+
1. Definitions.
|
9
|
+
|
10
|
+
"License" shall mean the terms and conditions for use, reproduction,
|
11
|
+
and distribution as defined by Sections 1 through 9 of this document.
|
12
|
+
|
13
|
+
"Licensor" shall mean the copyright owner or entity authorized by
|
14
|
+
the copyright owner that is granting the License.
|
15
|
+
|
16
|
+
"Legal Entity" shall mean the union of the acting entity and all
|
17
|
+
other entities that control, are controlled by, or are under common
|
18
|
+
control with that entity. For the purposes of this definition,
|
19
|
+
"control" means (i) the power, direct or indirect, to cause the
|
20
|
+
direction or management of such entity, whether by contract or
|
21
|
+
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
22
|
+
outstanding shares, or (iii) beneficial ownership of such entity.
|
23
|
+
|
24
|
+
"You" (or "Your") shall mean an individual or Legal Entity
|
25
|
+
exercising permissions granted by this License.
|
26
|
+
|
27
|
+
"Source" form shall mean the preferred form for making modifications,
|
28
|
+
including but not limited to software source code, documentation
|
29
|
+
source, and configuration files.
|
30
|
+
|
31
|
+
"Object" form shall mean any form resulting from mechanical
|
32
|
+
transformation or translation of a Source form, including but
|
33
|
+
not limited to compiled object code, generated documentation,
|
34
|
+
and conversions to other media types.
|
35
|
+
|
36
|
+
"Work" shall mean the work of authorship, whether in Source or
|
37
|
+
Object form, made available under the License, as indicated by a
|
38
|
+
copyright notice that is included in or attached to the work
|
39
|
+
(an example is provided in the Appendix below).
|
40
|
+
|
41
|
+
"Derivative Works" shall mean any work, whether in Source or Object
|
42
|
+
form, that is based on (or derived from) the Work and for which the
|
43
|
+
editorial revisions, annotations, elaborations, or other modifications
|
44
|
+
represent, as a whole, an original work of authorship. For the purposes
|
45
|
+
of this License, Derivative Works shall not include works that remain
|
46
|
+
separable from, or merely link (or bind by name) to the interfaces of,
|
47
|
+
the Work and Derivative Works thereof.
|
48
|
+
|
49
|
+
"Contribution" shall mean any work of authorship, including
|
50
|
+
the original version of the Work and any modifications or additions
|
51
|
+
to that Work or Derivative Works thereof, that is intentionally
|
52
|
+
submitted to Licensor for inclusion in the Work by the copyright owner
|
53
|
+
or by an individual or Legal Entity authorized to submit on behalf of
|
54
|
+
the copyright owner. For the purposes of this definition, "submitted"
|
55
|
+
means any form of electronic, verbal, or written communication sent
|
56
|
+
to the Licensor or its representatives, including but not limited to
|
57
|
+
communication on electronic mailing lists, source code control systems,
|
58
|
+
and issue tracking systems that are managed by, or on behalf of, the
|
59
|
+
Licensor for the purpose of discussing and improving the Work, but
|
60
|
+
excluding communication that is conspicuously marked or otherwise
|
61
|
+
designated in writing by the copyright owner as "Not a Contribution."
|
62
|
+
|
63
|
+
"Contributor" shall mean Licensor and any individual or Legal Entity
|
64
|
+
on behalf of whom a Contribution has been received by Licensor and
|
65
|
+
subsequently incorporated within the Work.
|
66
|
+
|
67
|
+
2. Grant of Copyright License. Subject to the terms and conditions of
|
68
|
+
this License, each Contributor hereby grants to You a perpetual,
|
69
|
+
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
70
|
+
copyright license to reproduce, prepare Derivative Works of,
|
71
|
+
publicly display, publicly perform, sublicense, and distribute the
|
72
|
+
Work and such Derivative Works in Source or Object form.
|
73
|
+
|
74
|
+
3. Grant of Patent License. Subject to the terms and conditions of
|
75
|
+
this License, each Contributor hereby grants to You a perpetual,
|
76
|
+
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
77
|
+
(except as stated in this section) patent license to make, have made,
|
78
|
+
use, offer to sell, sell, import, and otherwise transfer the Work,
|
79
|
+
where such license applies only to those patent claims licensable
|
80
|
+
by such Contributor that are necessarily infringed by their
|
81
|
+
Contribution(s) alone or by combination of their Contribution(s)
|
82
|
+
with the Work to which such Contribution(s) was submitted. If You
|
83
|
+
institute patent litigation against any entity (including a
|
84
|
+
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
85
|
+
or a Contribution incorporated within the Work constitutes direct
|
86
|
+
or contributory patent infringement, then any patent licenses
|
87
|
+
granted to You under this License for that Work shall terminate
|
88
|
+
as of the date such litigation is filed.
|
89
|
+
|
90
|
+
4. Redistribution. You may reproduce and distribute copies of the
|
91
|
+
Work or Derivative Works thereof in any medium, with or without
|
92
|
+
modifications, and in Source or Object form, provided that You
|
93
|
+
meet the following conditions:
|
94
|
+
|
95
|
+
(a) You must give any other recipients of the Work or
|
96
|
+
Derivative Works a copy of this License; and
|
97
|
+
|
98
|
+
(b) You must cause any modified files to carry prominent notices
|
99
|
+
stating that You changed the files; and
|
100
|
+
|
101
|
+
(c) You must retain, in the Source form of any Derivative Works
|
102
|
+
that You distribute, all copyright, patent, trademark, and
|
103
|
+
attribution notices from the Source form of the Work,
|
104
|
+
excluding those notices that do not pertain to any part of
|
105
|
+
the Derivative Works; and
|
106
|
+
|
107
|
+
(d) If the Work includes a "NOTICE" text file as part of its
|
108
|
+
distribution, then any Derivative Works that You distribute must
|
109
|
+
include a readable copy of the attribution notices contained
|
110
|
+
within such NOTICE file, excluding those notices that do not
|
111
|
+
pertain to any part of the Derivative Works, in at least one
|
112
|
+
of the following places: within a NOTICE text file distributed
|
113
|
+
as part of the Derivative Works; within the Source form or
|
114
|
+
documentation, if provided along with the Derivative Works; or,
|
115
|
+
within a display generated by the Derivative Works, if and
|
116
|
+
wherever such third-party notices normally appear. The contents
|
117
|
+
of the NOTICE file are for informational purposes only and
|
118
|
+
do not modify the License. You may add Your own attribution
|
119
|
+
notices within Derivative Works that You distribute, alongside
|
120
|
+
or as an addendum to the NOTICE text from the Work, provided
|
121
|
+
that such additional attribution notices cannot be construed
|
122
|
+
as modifying the License.
|
123
|
+
|
124
|
+
You may add Your own copyright statement to Your modifications and
|
125
|
+
may provide additional or different license terms and conditions
|
126
|
+
for use, reproduction, or distribution of Your modifications, or
|
127
|
+
for any such Derivative Works as a whole, provided Your use,
|
128
|
+
reproduction, and distribution of the Work otherwise complies with
|
129
|
+
the conditions stated in this License.
|
130
|
+
|
131
|
+
5. Submission of Contributions. Unless You explicitly state otherwise,
|
132
|
+
any Contribution intentionally submitted for inclusion in the Work
|
133
|
+
by You to the Licensor shall be under the terms and conditions of
|
134
|
+
this License, without any additional terms or conditions.
|
135
|
+
Notwithstanding the above, nothing herein shall supersede or modify
|
136
|
+
the terms of any separate license agreement you may have executed
|
137
|
+
with Licensor regarding such Contributions.
|
138
|
+
|
139
|
+
6. Trademarks. This License does not grant permission to use the trade
|
140
|
+
names, trademarks, service marks, or product names of the Licensor,
|
141
|
+
except as required for reasonable and customary use in describing the
|
142
|
+
origin of the Work and reproducing the content of the NOTICE file.
|
143
|
+
|
144
|
+
7. Disclaimer of Warranty. Unless required by applicable law or
|
145
|
+
agreed to in writing, Licensor provides the Work (and each
|
146
|
+
Contributor provides its Contributions) on an "AS IS" BASIS,
|
147
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
148
|
+
implied, including, without limitation, any warranties or conditions
|
149
|
+
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
150
|
+
PARTICULAR PURPOSE. You are solely responsible for determining the
|
151
|
+
appropriateness of using or redistributing the Work and assume any
|
152
|
+
risks associated with Your exercise of permissions under this License.
|
153
|
+
|
154
|
+
8. Limitation of Liability. In no event and under no legal theory,
|
155
|
+
whether in tort (including negligence), contract, or otherwise,
|
156
|
+
unless required by applicable law (such as deliberate and grossly
|
157
|
+
negligent acts) or agreed to in writing, shall any Contributor be
|
158
|
+
liable to You for damages, including any direct, indirect, special,
|
159
|
+
incidental, or consequential damages of any character arising as a
|
160
|
+
result of this License or out of the use or inability to use the
|
161
|
+
Work (including but not limited to damages for loss of goodwill,
|
162
|
+
work stoppage, computer failure or malfunction, or any and all
|
163
|
+
other commercial damages or losses), even if such Contributor
|
164
|
+
has been advised of the possibility of such damages.
|
165
|
+
|
166
|
+
9. Accepting Warranty or Additional Liability. While redistributing
|
167
|
+
the Work or Derivative Works thereof, You may choose to offer,
|
168
|
+
and charge a fee for, acceptance of support, warranty, indemnity,
|
169
|
+
or other liability obligations and/or rights consistent with this
|
170
|
+
License. However, in accepting such obligations, You may act only
|
171
|
+
on Your own behalf and on Your sole responsibility, not on behalf
|
172
|
+
of any other Contributor, and only if You agree to indemnify,
|
173
|
+
defend, and hold each Contributor harmless for any liability
|
174
|
+
incurred by, or claims asserted against, such Contributor by reason
|
175
|
+
of your accepting any such warranty or additional liability.
|
176
|
+
|
177
|
+
END OF TERMS AND CONDITIONS
|
178
|
+
|
179
|
+
APPENDIX: How to apply the Apache License to your work.
|
180
|
+
|
181
|
+
To apply the Apache License to your work, attach the following
|
182
|
+
boilerplate notice, with the fields enclosed by brackets "[]"
|
183
|
+
replaced with your own identifying information. (Don't include
|
184
|
+
the brackets!) The text should be enclosed in the appropriate
|
185
|
+
comment syntax for the file format. We also recommend that a
|
186
|
+
file or class name and description of purpose be included on the
|
187
|
+
same "printed page" as the copyright notice for easier
|
188
|
+
identification within third-party archives.
|
189
|
+
|
190
|
+
Copyright [yyyy] [name of copyright owner]
|
191
|
+
|
192
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
193
|
+
you may not use this file except in compliance with the License.
|
194
|
+
You may obtain a copy of the License at
|
195
|
+
|
196
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
197
|
+
|
198
|
+
Unless required by applicable law or agreed to in writing, software
|
199
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
200
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
201
|
+
See the License for the specific language governing permissions and
|
202
|
+
limitations under the License.
|
data/OVERVIEW.md
ADDED
@@ -0,0 +1,96 @@
|
|
1
|
+
# Simple REST client for version V1 of the Cloud Dataproc API
|
2
|
+
|
3
|
+
This is a simple client library for version V1 of the Cloud Dataproc API. It provides:
|
4
|
+
|
5
|
+
* A client object that connects to the HTTP/JSON REST endpoint for the service.
|
6
|
+
* Ruby objects for data structures related to the service.
|
7
|
+
* Integration with the googleauth gem for authentication using OAuth, API keys, and service accounts.
|
8
|
+
* Control of retry, pagination, and timeouts.
|
9
|
+
|
10
|
+
Note that although this client library is supported and will continue to be updated to track changes to the service, it is otherwise considered complete and not under active development. Many Google services, especially Google Cloud Platform services, may provide a more modern client that is under more active development and improvement. See the section below titled *Which client should I use?* for more information.
|
11
|
+
|
12
|
+
## Getting started
|
13
|
+
|
14
|
+
### Before you begin
|
15
|
+
|
16
|
+
There are a few setup steps you need to complete before you can use this library:
|
17
|
+
|
18
|
+
1. If you don't already have a Google account, [sign up](https://www.google.com/accounts).
|
19
|
+
2. If you have never created a Google APIs Console project, read about [Managing Projects](https://cloud.google.com/resource-manager/docs/creating-managing-projects) and create a project in the [Google API Console](https://console.cloud.google.com/).
|
20
|
+
3. Most APIs need to be enabled for your project. [Enable it](https://console.cloud.google.com/apis/library/dataproc.googleapis.com) in the console.
|
21
|
+
|
22
|
+
### Installation
|
23
|
+
|
24
|
+
Add this line to your application's Gemfile:
|
25
|
+
|
26
|
+
```ruby
|
27
|
+
gem 'google-apis-dataproc_v1', '~> 0.1'
|
28
|
+
```
|
29
|
+
|
30
|
+
And then execute:
|
31
|
+
|
32
|
+
```
|
33
|
+
$ bundle
|
34
|
+
```
|
35
|
+
|
36
|
+
Or install it yourself as:
|
37
|
+
|
38
|
+
```
|
39
|
+
$ gem install google-apis-dataproc_v1
|
40
|
+
```
|
41
|
+
|
42
|
+
### Creating a client object
|
43
|
+
|
44
|
+
Once the gem is installed, you can load the client code and instantiate a client.
|
45
|
+
|
46
|
+
```ruby
|
47
|
+
# Load the client
|
48
|
+
require "google/apis/dataproc_v1"
|
49
|
+
|
50
|
+
# Create a client object
|
51
|
+
client = Google::Apis::DataprocV1::DataprocService.new
|
52
|
+
|
53
|
+
# Authenticate calls
|
54
|
+
client.authentication = # ... use the googleauth gem to create credentials
|
55
|
+
```
|
56
|
+
|
57
|
+
See the class reference docs for information on the methods you can call from a client.
|
58
|
+
|
59
|
+
## Documentation
|
60
|
+
|
61
|
+
More detailed descriptions of the Google simple REST clients are available in two documents.
|
62
|
+
|
63
|
+
* The [Usage Guide](https://github.com/googleapis/google-api-ruby-client/blob/master/docs/usage-guide.md) discusses how to make API calls, how to use the provided data structures, and how to work the various features of the client library, including media upload and download, error handling, retries, pagination, and logging.
|
64
|
+
* The [Auth Guide](https://github.com/googleapis/google-api-ruby-client/blob/master/docs/auth-guide.md) discusses authentication in the client libraries, including API keys, OAuth 2.0, service accounts, and environment variables.
|
65
|
+
|
66
|
+
(Note: the above documents are written for the simple REST clients in general, and their examples may not reflect the Dataproc service in particular.)
|
67
|
+
|
68
|
+
For reference information on specific calls in the Cloud Dataproc API, see the {Google::Apis::DataprocV1::DataprocService class reference docs}.
|
69
|
+
|
70
|
+
## Which client should I use?
|
71
|
+
|
72
|
+
Google provides two types of Ruby API client libraries: **simple REST clients** and **modern clients**.
|
73
|
+
|
74
|
+
This library, `google-apis-dataproc_v1`, is a simple REST client. You can identify these clients by their gem names, which are always in the form `google-apis-<servicename>_<serviceversion>`. The simple REST clients connect to HTTP/JSON REST endpoints and are automatically generated from service discovery documents. They support most API functionality, but their class interfaces are sometimes awkward.
|
75
|
+
|
76
|
+
Modern clients are produced by a modern code generator, sometimes combined with hand-crafted functionality. Most modern clients connect to high-performance gRPC endpoints, although a few are backed by REST services. Modern clients are available for many Google services, especially Google Cloud Platform services, but do not yet support all the services covered by the simple clients.
|
77
|
+
|
78
|
+
Gem names for modern clients are often of the form `google-cloud-<service_name>`. (For example, [google-cloud-pubsub](https://rubygems.org/gems/google-cloud-pubsub).) Note that most modern clients also have corresponding "versioned" gems with names like `google-cloud-<service_name>-<version>`. (For example, [google-cloud-pubsub-v1](https://rubygems.org/gems/google-cloud-pubsub-v1).) The "versioned" gems can be used directly, but often provide lower-level interfaces. In most cases, the main gem is recommended.
|
79
|
+
|
80
|
+
**For most users, we recommend the modern client, if one is available.** Compared with simple clients, modern clients are generally much easier to use and more Ruby-like, support more advanced features such as streaming and long-running operations, and often provide much better performance. You may consider using a simple client instead, if a modern client is not yet available for the service you want to use, or if you are not able to use gRPC on your infrastructure.
|
81
|
+
|
82
|
+
The [product documentation](https://cloud.google.com/dataproc/) may provide guidance regarding the preferred client library to use.
|
83
|
+
|
84
|
+
## Supported Ruby versions
|
85
|
+
|
86
|
+
This library is supported on Ruby 2.5+.
|
87
|
+
|
88
|
+
Google provides official support for Ruby versions that are actively supported by Ruby Core -- that is, Ruby versions that are either in normal maintenance or in security maintenance, and not end of life. Currently, this means Ruby 2.5 and later. Older versions of Ruby _may_ still work, but are unsupported and not recommended. See https://www.ruby-lang.org/en/downloads/branches/ for details about the Ruby support schedule.
|
89
|
+
|
90
|
+
## License
|
91
|
+
|
92
|
+
This library is licensed under Apache 2.0. Full license text is available in the {file:LICENSE.md LICENSE}.
|
93
|
+
|
94
|
+
## Support
|
95
|
+
|
96
|
+
Please [report bugs at the project on Github](https://github.com/google/google-api-ruby-client/issues). Don't hesitate to [ask questions](http://stackoverflow.com/questions/tagged/google-api-ruby-client) about the client or APIs on [StackOverflow](http://stackoverflow.com).
|
@@ -0,0 +1,15 @@
|
|
1
|
+
# Copyright 2020 Google LLC
|
2
|
+
#
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
+
# you may not use this file except in compliance with the License.
|
5
|
+
# You may obtain a copy of the License at
|
6
|
+
#
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
8
|
+
#
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
+
# See the License for the specific language governing permissions and
|
13
|
+
# limitations under the License.
|
14
|
+
|
15
|
+
require "google/apis/dataproc_v1"
|
@@ -0,0 +1,36 @@
|
|
1
|
+
# Copyright 2020 Google LLC
|
2
|
+
#
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
+
# you may not use this file except in compliance with the License.
|
5
|
+
# You may obtain a copy of the License at
|
6
|
+
#
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
8
|
+
#
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
+
# See the License for the specific language governing permissions and
|
13
|
+
# limitations under the License.
|
14
|
+
|
15
|
+
require 'google/apis/dataproc_v1/service.rb'
|
16
|
+
require 'google/apis/dataproc_v1/classes.rb'
|
17
|
+
require 'google/apis/dataproc_v1/representations.rb'
|
18
|
+
require 'google/apis/dataproc_v1/gem_version.rb'
|
19
|
+
|
20
|
+
module Google
|
21
|
+
module Apis
|
22
|
+
# Cloud Dataproc API
|
23
|
+
#
|
24
|
+
# Manages Hadoop-based clusters and jobs on Google Cloud Platform.
|
25
|
+
#
|
26
|
+
# @see https://cloud.google.com/dataproc/
|
27
|
+
module DataprocV1
|
28
|
+
# Version of the Cloud Dataproc API this client connects to.
|
29
|
+
# This is NOT the gem version.
|
30
|
+
VERSION = 'V1'
|
31
|
+
|
32
|
+
# View and manage your data across Google Cloud Platform services
|
33
|
+
AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
@@ -0,0 +1,3628 @@
|
|
1
|
+
# Copyright 2020 Google LLC
|
2
|
+
#
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
+
# you may not use this file except in compliance with the License.
|
5
|
+
# You may obtain a copy of the License at
|
6
|
+
#
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
8
|
+
#
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
+
# See the License for the specific language governing permissions and
|
13
|
+
# limitations under the License.
|
14
|
+
|
15
|
+
require 'date'
|
16
|
+
require 'google/apis/core/base_service'
|
17
|
+
require 'google/apis/core/json_representation'
|
18
|
+
require 'google/apis/core/hashable'
|
19
|
+
require 'google/apis/errors'
|
20
|
+
|
21
|
+
module Google
|
22
|
+
module Apis
|
23
|
+
module DataprocV1
|
24
|
+
|
25
|
+
# Specifies the type and number of accelerator cards attached to the instances
|
26
|
+
# of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/
|
27
|
+
# docs/gpus/).
|
28
|
+
class AcceleratorConfig
|
29
|
+
include Google::Apis::Core::Hashable
|
30
|
+
|
31
|
+
# The number of the accelerator cards of this type exposed to this instance.
|
32
|
+
# Corresponds to the JSON property `acceleratorCount`
|
33
|
+
# @return [Fixnum]
|
34
|
+
attr_accessor :accelerator_count
|
35
|
+
|
36
|
+
# Full URL, partial URI, or short name of the accelerator type resource to
|
37
|
+
# expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.
|
38
|
+
# google.com/compute/docs/reference/beta/acceleratorTypes).Examples: https://www.
|
39
|
+
# googleapis.com/compute/beta/projects/[project_id]/zones/us-east1-a/
|
40
|
+
# acceleratorTypes/nvidia-tesla-k80 projects/[project_id]/zones/us-east1-a/
|
41
|
+
# acceleratorTypes/nvidia-tesla-k80 nvidia-tesla-k80Auto Zone Exception: If you
|
42
|
+
# are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/
|
43
|
+
# docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement)
|
44
|
+
# feature, you must use the short name of the accelerator type resource, for
|
45
|
+
# example, nvidia-tesla-k80.
|
46
|
+
# Corresponds to the JSON property `acceleratorTypeUri`
|
47
|
+
# @return [String]
|
48
|
+
attr_accessor :accelerator_type_uri
|
49
|
+
|
50
|
+
def initialize(**args)
|
51
|
+
update!(**args)
|
52
|
+
end
|
53
|
+
|
54
|
+
# Update properties of this object
|
55
|
+
def update!(**args)
|
56
|
+
@accelerator_count = args[:accelerator_count] if args.key?(:accelerator_count)
|
57
|
+
@accelerator_type_uri = args[:accelerator_type_uri] if args.key?(:accelerator_type_uri)
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
61
|
+
# Autoscaling Policy config associated with the cluster.
|
62
|
+
class AutoscalingConfig
|
63
|
+
include Google::Apis::Core::Hashable
|
64
|
+
|
65
|
+
# Optional. The autoscaling policy used by the cluster.Only resource names
|
66
|
+
# including projectid and location (region) are valid. Examples: https://www.
|
67
|
+
# googleapis.com/compute/v1/projects/[project_id]/locations/[dataproc_region]/
|
68
|
+
# autoscalingPolicies/[policy_id] projects/[project_id]/locations/[
|
69
|
+
# dataproc_region]/autoscalingPolicies/[policy_id]Note that the policy must be
|
70
|
+
# in the same project and Dataproc region.
|
71
|
+
# Corresponds to the JSON property `policyUri`
|
72
|
+
# @return [String]
|
73
|
+
attr_accessor :policy_uri
|
74
|
+
|
75
|
+
def initialize(**args)
|
76
|
+
update!(**args)
|
77
|
+
end
|
78
|
+
|
79
|
+
# Update properties of this object
|
80
|
+
def update!(**args)
|
81
|
+
@policy_uri = args[:policy_uri] if args.key?(:policy_uri)
|
82
|
+
end
|
83
|
+
end
|
84
|
+
|
85
|
+
# Describes an autoscaling policy for Dataproc cluster autoscaler.
|
86
|
+
class AutoscalingPolicy
|
87
|
+
include Google::Apis::Core::Hashable
|
88
|
+
|
89
|
+
# Basic algorithm for autoscaling.
|
90
|
+
# Corresponds to the JSON property `basicAlgorithm`
|
91
|
+
# @return [Google::Apis::DataprocV1::BasicAutoscalingAlgorithm]
|
92
|
+
attr_accessor :basic_algorithm
|
93
|
+
|
94
|
+
# Required. The policy id.The id must contain only letters (a-z, A-Z), numbers (
|
95
|
+
# 0-9), underscores (_), and hyphens (-). Cannot begin or end with underscore or
|
96
|
+
# hyphen. Must consist of between 3 and 50 characters.
|
97
|
+
# Corresponds to the JSON property `id`
|
98
|
+
# @return [String]
|
99
|
+
attr_accessor :id
|
100
|
+
|
101
|
+
# Output only. The "resource name" of the autoscaling policy, as described in
|
102
|
+
# https://cloud.google.com/apis/design/resource_names. For projects.regions.
|
103
|
+
# autoscalingPolicies, the resource name of the policy has the following format:
|
104
|
+
# projects/`project_id`/regions/`region`/autoscalingPolicies/`policy_id` For
|
105
|
+
# projects.locations.autoscalingPolicies, the resource name of the policy has
|
106
|
+
# the following format: projects/`project_id`/locations/`location`/
|
107
|
+
# autoscalingPolicies/`policy_id`
|
108
|
+
# Corresponds to the JSON property `name`
|
109
|
+
# @return [String]
|
110
|
+
attr_accessor :name
|
111
|
+
|
112
|
+
# Configuration for the size bounds of an instance group, including its
|
113
|
+
# proportional size to other groups.
|
114
|
+
# Corresponds to the JSON property `secondaryWorkerConfig`
|
115
|
+
# @return [Google::Apis::DataprocV1::InstanceGroupAutoscalingPolicyConfig]
|
116
|
+
attr_accessor :secondary_worker_config
|
117
|
+
|
118
|
+
# Configuration for the size bounds of an instance group, including its
|
119
|
+
# proportional size to other groups.
|
120
|
+
# Corresponds to the JSON property `workerConfig`
|
121
|
+
# @return [Google::Apis::DataprocV1::InstanceGroupAutoscalingPolicyConfig]
|
122
|
+
attr_accessor :worker_config
|
123
|
+
|
124
|
+
def initialize(**args)
|
125
|
+
update!(**args)
|
126
|
+
end
|
127
|
+
|
128
|
+
# Update properties of this object
|
129
|
+
def update!(**args)
|
130
|
+
@basic_algorithm = args[:basic_algorithm] if args.key?(:basic_algorithm)
|
131
|
+
@id = args[:id] if args.key?(:id)
|
132
|
+
@name = args[:name] if args.key?(:name)
|
133
|
+
@secondary_worker_config = args[:secondary_worker_config] if args.key?(:secondary_worker_config)
|
134
|
+
@worker_config = args[:worker_config] if args.key?(:worker_config)
|
135
|
+
end
|
136
|
+
end
|
137
|
+
|
138
|
+
# Basic algorithm for autoscaling.
|
139
|
+
class BasicAutoscalingAlgorithm
|
140
|
+
include Google::Apis::Core::Hashable
|
141
|
+
|
142
|
+
# Optional. Duration between scaling events. A scaling period starts after the
|
143
|
+
# update operation from the previous event has completed.Bounds: 2m, 1d. Default:
|
144
|
+
# 2m.
|
145
|
+
# Corresponds to the JSON property `cooldownPeriod`
|
146
|
+
# @return [String]
|
147
|
+
attr_accessor :cooldown_period
|
148
|
+
|
149
|
+
# Basic autoscaling configurations for YARN.
|
150
|
+
# Corresponds to the JSON property `yarnConfig`
|
151
|
+
# @return [Google::Apis::DataprocV1::BasicYarnAutoscalingConfig]
|
152
|
+
attr_accessor :yarn_config
|
153
|
+
|
154
|
+
def initialize(**args)
|
155
|
+
update!(**args)
|
156
|
+
end
|
157
|
+
|
158
|
+
# Update properties of this object
|
159
|
+
def update!(**args)
|
160
|
+
@cooldown_period = args[:cooldown_period] if args.key?(:cooldown_period)
|
161
|
+
@yarn_config = args[:yarn_config] if args.key?(:yarn_config)
|
162
|
+
end
|
163
|
+
end
|
164
|
+
|
165
|
+
# Basic autoscaling configurations for YARN.
|
166
|
+
class BasicYarnAutoscalingConfig
|
167
|
+
include Google::Apis::Core::Hashable
|
168
|
+
|
169
|
+
# Required. Timeout for YARN graceful decommissioning of Node Managers.
|
170
|
+
# Specifies the duration to wait for jobs to complete before forcefully removing
|
171
|
+
# workers (and potentially interrupting jobs). Only applicable to downscaling
|
172
|
+
# operations.Bounds: 0s, 1d.
|
173
|
+
# Corresponds to the JSON property `gracefulDecommissionTimeout`
|
174
|
+
# @return [String]
|
175
|
+
attr_accessor :graceful_decommission_timeout
|
176
|
+
|
177
|
+
# Required. Fraction of average YARN pending memory in the last cooldown period
|
178
|
+
# for which to remove workers. A scale-down factor of 1 will result in scaling
|
179
|
+
# down so that there is no available memory remaining after the update (more
|
180
|
+
# aggressive scaling). A scale-down factor of 0 disables removing workers, which
|
181
|
+
# can be beneficial for autoscaling a single job. See How autoscaling works (
|
182
|
+
# https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/
|
183
|
+
# autoscaling#how_autoscaling_works) for more information.Bounds: 0.0, 1.0.
|
184
|
+
# Corresponds to the JSON property `scaleDownFactor`
|
185
|
+
# @return [Float]
|
186
|
+
attr_accessor :scale_down_factor
|
187
|
+
|
188
|
+
# Optional. Minimum scale-down threshold as a fraction of total cluster size
|
189
|
+
# before scaling occurs. For example, in a 20-worker cluster, a threshold of 0.1
|
190
|
+
# means the autoscaler must recommend at least a 2 worker scale-down for the
|
191
|
+
# cluster to scale. A threshold of 0 means the autoscaler will scale down on any
|
192
|
+
# recommended change.Bounds: 0.0, 1.0. Default: 0.0.
|
193
|
+
# Corresponds to the JSON property `scaleDownMinWorkerFraction`
|
194
|
+
# @return [Float]
|
195
|
+
attr_accessor :scale_down_min_worker_fraction
|
196
|
+
|
197
|
+
# Required. Fraction of average YARN pending memory in the last cooldown period
|
198
|
+
# for which to add workers. A scale-up factor of 1.0 will result in scaling up
|
199
|
+
# so that there is no pending memory remaining after the update (more aggressive
|
200
|
+
# scaling). A scale-up factor closer to 0 will result in a smaller magnitude of
|
201
|
+
# scaling up (less aggressive scaling). See How autoscaling works (https://cloud.
|
202
|
+
# google.com/dataproc/docs/concepts/configuring-clusters/autoscaling#
|
203
|
+
# how_autoscaling_works) for more information.Bounds: 0.0, 1.0.
|
204
|
+
# Corresponds to the JSON property `scaleUpFactor`
|
205
|
+
# @return [Float]
|
206
|
+
attr_accessor :scale_up_factor
|
207
|
+
|
208
|
+
# Optional. Minimum scale-up threshold as a fraction of total cluster size
|
209
|
+
# before scaling occurs. For example, in a 20-worker cluster, a threshold of 0.1
|
210
|
+
# means the autoscaler must recommend at least a 2-worker scale-up for the
|
211
|
+
# cluster to scale. A threshold of 0 means the autoscaler will scale up on any
|
212
|
+
# recommended change.Bounds: 0.0, 1.0. Default: 0.0.
|
213
|
+
# Corresponds to the JSON property `scaleUpMinWorkerFraction`
|
214
|
+
# @return [Float]
|
215
|
+
attr_accessor :scale_up_min_worker_fraction
|
216
|
+
|
217
|
+
def initialize(**args)
|
218
|
+
update!(**args)
|
219
|
+
end
|
220
|
+
|
221
|
+
# Update properties of this object
|
222
|
+
def update!(**args)
|
223
|
+
@graceful_decommission_timeout = args[:graceful_decommission_timeout] if args.key?(:graceful_decommission_timeout)
|
224
|
+
@scale_down_factor = args[:scale_down_factor] if args.key?(:scale_down_factor)
|
225
|
+
@scale_down_min_worker_fraction = args[:scale_down_min_worker_fraction] if args.key?(:scale_down_min_worker_fraction)
|
226
|
+
@scale_up_factor = args[:scale_up_factor] if args.key?(:scale_up_factor)
|
227
|
+
@scale_up_min_worker_fraction = args[:scale_up_min_worker_fraction] if args.key?(:scale_up_min_worker_fraction)
|
228
|
+
end
|
229
|
+
end
|
230
|
+
|
231
|
+
# Associates members with a role.
|
232
|
+
class Binding
|
233
|
+
include Google::Apis::Core::Hashable
|
234
|
+
|
235
|
+
# Represents a textual expression in the Common Expression Language (CEL) syntax.
|
236
|
+
# CEL is a C-like expression language. The syntax and semantics of CEL are
|
237
|
+
# documented at https://github.com/google/cel-spec.Example (Comparison): title: "
|
238
|
+
# Summary size limit" description: "Determines if a summary is less than 100
|
239
|
+
# chars" expression: "document.summary.size() < 100" Example (Equality): title: "
|
240
|
+
# Requestor is owner" description: "Determines if requestor is the document
|
241
|
+
# owner" expression: "document.owner == request.auth.claims.email" Example (
|
242
|
+
# Logic): title: "Public documents" description: "Determine whether the document
|
243
|
+
# should be publicly visible" expression: "document.type != 'private' &&
|
244
|
+
# document.type != 'internal'" Example (Data Manipulation): title: "Notification
|
245
|
+
# string" description: "Create a notification string with a timestamp."
|
246
|
+
# expression: "'New message received at ' + string(document.create_time)" The
|
247
|
+
# exact variables and functions that may be referenced within an expression are
|
248
|
+
# determined by the service that evaluates it. See the service documentation for
|
249
|
+
# additional information.
|
250
|
+
# Corresponds to the JSON property `condition`
|
251
|
+
# @return [Google::Apis::DataprocV1::Expr]
|
252
|
+
attr_accessor :condition
|
253
|
+
|
254
|
+
# Specifies the identities requesting access for a Cloud Platform resource.
|
255
|
+
# members can have the following values: allUsers: A special identifier that
|
256
|
+
# represents anyone who is on the internet; with or without a Google account.
|
257
|
+
# allAuthenticatedUsers: A special identifier that represents anyone who is
|
258
|
+
# authenticated with a Google account or a service account. user:`emailid`: An
|
259
|
+
# email address that represents a specific Google account. For example, alice@
|
260
|
+
# example.com . serviceAccount:`emailid`: An email address that represents a
|
261
|
+
# service account. For example, my-other-app@appspot.gserviceaccount.com. group:`
|
262
|
+
# emailid`: An email address that represents a Google group. For example, admins@
|
263
|
+
# example.com. deleted:user:`emailid`?uid=`uniqueid`: An email address (plus
|
264
|
+
# unique identifier) representing a user that has been recently deleted. For
|
265
|
+
# example, alice@example.com?uid=123456789012345678901. If the user is recovered,
|
266
|
+
# this value reverts to user:`emailid` and the recovered user retains the role
|
267
|
+
# in the binding. deleted:serviceAccount:`emailid`?uid=`uniqueid`: An email
|
268
|
+
# address (plus unique identifier) representing a service account that has been
|
269
|
+
# recently deleted. For example, my-other-app@appspot.gserviceaccount.com?uid=
|
270
|
+
# 123456789012345678901. If the service account is undeleted, this value reverts
|
271
|
+
# to serviceAccount:`emailid` and the undeleted service account retains the role
|
272
|
+
# in the binding. deleted:group:`emailid`?uid=`uniqueid`: An email address (plus
|
273
|
+
# unique identifier) representing a Google group that has been recently deleted.
|
274
|
+
# For example, admins@example.com?uid=123456789012345678901. If the group is
|
275
|
+
# recovered, this value reverts to group:`emailid` and the recovered group
|
276
|
+
# retains the role in the binding. domain:`domain`: The G Suite domain (primary)
|
277
|
+
# that represents all the users of that domain. For example, google.com or
|
278
|
+
# example.com.
|
279
|
+
# Corresponds to the JSON property `members`
|
280
|
+
# @return [Array<String>]
|
281
|
+
attr_accessor :members
|
282
|
+
|
283
|
+
# Role that is assigned to members. For example, roles/viewer, roles/editor, or
|
284
|
+
# roles/owner.
|
285
|
+
# Corresponds to the JSON property `role`
|
286
|
+
# @return [String]
|
287
|
+
attr_accessor :role
|
288
|
+
|
289
|
+
def initialize(**args)
|
290
|
+
update!(**args)
|
291
|
+
end
|
292
|
+
|
293
|
+
# Update properties of this object
|
294
|
+
def update!(**args)
|
295
|
+
@condition = args[:condition] if args.key?(:condition)
|
296
|
+
@members = args[:members] if args.key?(:members)
|
297
|
+
@role = args[:role] if args.key?(:role)
|
298
|
+
end
|
299
|
+
end
|
300
|
+
|
301
|
+
# A request to cancel a job.
|
302
|
+
class CancelJobRequest
|
303
|
+
include Google::Apis::Core::Hashable
|
304
|
+
|
305
|
+
def initialize(**args)
|
306
|
+
update!(**args)
|
307
|
+
end
|
308
|
+
|
309
|
+
# Update properties of this object
|
310
|
+
def update!(**args)
|
311
|
+
end
|
312
|
+
end
|
313
|
+
|
314
|
+
# Describes the identifying information, config, and status of a cluster of
|
315
|
+
# Compute Engine instances.
|
316
|
+
class Cluster
|
317
|
+
include Google::Apis::Core::Hashable
|
318
|
+
|
319
|
+
# Required. The cluster name. Cluster names within a project must be unique.
|
320
|
+
# Names of deleted clusters can be reused.
|
321
|
+
# Corresponds to the JSON property `clusterName`
|
322
|
+
# @return [String]
|
323
|
+
attr_accessor :cluster_name
|
324
|
+
|
325
|
+
# Output only. A cluster UUID (Unique Universal Identifier). Dataproc generates
|
326
|
+
# this value when it creates the cluster.
|
327
|
+
# Corresponds to the JSON property `clusterUuid`
|
328
|
+
# @return [String]
|
329
|
+
attr_accessor :cluster_uuid
|
330
|
+
|
331
|
+
# The cluster config.
|
332
|
+
# Corresponds to the JSON property `config`
|
333
|
+
# @return [Google::Apis::DataprocV1::ClusterConfig]
|
334
|
+
attr_accessor :config
|
335
|
+
|
336
|
+
# Optional. The labels to associate with this cluster. Label keys must contain 1
|
337
|
+
# to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/
|
338
|
+
# rfc1035.txt). Label values may be empty, but, if present, must contain 1 to 63
|
339
|
+
# characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt)
|
340
|
+
# . No more than 32 labels can be associated with a cluster.
|
341
|
+
# Corresponds to the JSON property `labels`
|
342
|
+
# @return [Hash<String,String>]
|
343
|
+
attr_accessor :labels
|
344
|
+
|
345
|
+
# Contains cluster daemon metrics, such as HDFS and YARN stats.Beta Feature:
|
346
|
+
# This report is available for testing purposes only. It may be changed before
|
347
|
+
# final release.
|
348
|
+
# Corresponds to the JSON property `metrics`
|
349
|
+
# @return [Google::Apis::DataprocV1::ClusterMetrics]
|
350
|
+
attr_accessor :metrics
|
351
|
+
|
352
|
+
# Required. The Google Cloud Platform project ID that the cluster belongs to.
|
353
|
+
# Corresponds to the JSON property `projectId`
|
354
|
+
# @return [String]
|
355
|
+
attr_accessor :project_id
|
356
|
+
|
357
|
+
# The status of a cluster and its instances.
|
358
|
+
# Corresponds to the JSON property `status`
|
359
|
+
# @return [Google::Apis::DataprocV1::ClusterStatus]
|
360
|
+
attr_accessor :status
|
361
|
+
|
362
|
+
# Output only. The previous cluster status.
|
363
|
+
# Corresponds to the JSON property `statusHistory`
|
364
|
+
# @return [Array<Google::Apis::DataprocV1::ClusterStatus>]
|
365
|
+
attr_accessor :status_history
|
366
|
+
|
367
|
+
def initialize(**args)
|
368
|
+
update!(**args)
|
369
|
+
end
|
370
|
+
|
371
|
+
# Update properties of this object
|
372
|
+
def update!(**args)
|
373
|
+
@cluster_name = args[:cluster_name] if args.key?(:cluster_name)
|
374
|
+
@cluster_uuid = args[:cluster_uuid] if args.key?(:cluster_uuid)
|
375
|
+
@config = args[:config] if args.key?(:config)
|
376
|
+
@labels = args[:labels] if args.key?(:labels)
|
377
|
+
@metrics = args[:metrics] if args.key?(:metrics)
|
378
|
+
@project_id = args[:project_id] if args.key?(:project_id)
|
379
|
+
@status = args[:status] if args.key?(:status)
|
380
|
+
@status_history = args[:status_history] if args.key?(:status_history)
|
381
|
+
end
|
382
|
+
end
|
383
|
+
|
384
|
+
# The cluster config.
|
385
|
+
class ClusterConfig
|
386
|
+
include Google::Apis::Core::Hashable
|
387
|
+
|
388
|
+
# Autoscaling Policy config associated with the cluster.
|
389
|
+
# Corresponds to the JSON property `autoscalingConfig`
|
390
|
+
# @return [Google::Apis::DataprocV1::AutoscalingConfig]
|
391
|
+
attr_accessor :autoscaling_config
|
392
|
+
|
393
|
+
# Optional. A Cloud Storage bucket used to stage job dependencies, config files,
|
394
|
+
# and job driver console output. If you do not specify a staging bucket, Cloud
|
395
|
+
# Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your
|
396
|
+
# cluster's staging bucket according to the Compute Engine zone where your
|
397
|
+
# cluster is deployed, and then create and manage this project-level, per-
|
398
|
+
# location bucket (see Dataproc staging bucket (https://cloud.google.com/
|
399
|
+
# dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field
|
400
|
+
# requires a Cloud Storage bucket name, not a URI to a Cloud Storage bucket.
|
401
|
+
# Corresponds to the JSON property `configBucket`
|
402
|
+
# @return [String]
|
403
|
+
attr_accessor :config_bucket
|
404
|
+
|
405
|
+
# Encryption settings for the cluster.
|
406
|
+
# Corresponds to the JSON property `encryptionConfig`
|
407
|
+
# @return [Google::Apis::DataprocV1::EncryptionConfig]
|
408
|
+
attr_accessor :encryption_config
|
409
|
+
|
410
|
+
# Endpoint config for this cluster
|
411
|
+
# Corresponds to the JSON property `endpointConfig`
|
412
|
+
# @return [Google::Apis::DataprocV1::EndpointConfig]
|
413
|
+
attr_accessor :endpoint_config
|
414
|
+
|
415
|
+
# Common config settings for resources of Compute Engine cluster instances,
|
416
|
+
# applicable to all instances in the cluster.
|
417
|
+
# Corresponds to the JSON property `gceClusterConfig`
|
418
|
+
# @return [Google::Apis::DataprocV1::GceClusterConfig]
|
419
|
+
attr_accessor :gce_cluster_config
|
420
|
+
|
421
|
+
# Optional. Commands to execute on each node after config is completed. By
|
422
|
+
# default, executables are run on master and all worker nodes. You can test a
|
423
|
+
# node's role metadata to run an executable on a master or worker node, as shown
|
424
|
+
# below using curl (you can also use wget): ROLE=$(curl -H Metadata-Flavor:
|
425
|
+
# Google http://metadata/computeMetadata/v1/instance/attributes/dataproc-role)
|
426
|
+
# if [[ "$`ROLE`" == 'Master' ]]; then ... master specific actions ... else ...
|
427
|
+
# worker specific actions ... fi
|
428
|
+
# Corresponds to the JSON property `initializationActions`
|
429
|
+
# @return [Array<Google::Apis::DataprocV1::NodeInitializationAction>]
|
430
|
+
attr_accessor :initialization_actions
|
431
|
+
|
432
|
+
# Specifies the cluster auto-delete schedule configuration.
|
433
|
+
# Corresponds to the JSON property `lifecycleConfig`
|
434
|
+
# @return [Google::Apis::DataprocV1::LifecycleConfig]
|
435
|
+
attr_accessor :lifecycle_config
|
436
|
+
|
437
|
+
# The config settings for Compute Engine resources in an instance group, such as
|
438
|
+
# a master or worker group.
|
439
|
+
# Corresponds to the JSON property `masterConfig`
|
440
|
+
# @return [Google::Apis::DataprocV1::InstanceGroupConfig]
|
441
|
+
attr_accessor :master_config
|
442
|
+
|
443
|
+
# The config settings for Compute Engine resources in an instance group, such as
|
444
|
+
# a master or worker group.
|
445
|
+
# Corresponds to the JSON property `secondaryWorkerConfig`
|
446
|
+
# @return [Google::Apis::DataprocV1::InstanceGroupConfig]
|
447
|
+
attr_accessor :secondary_worker_config
|
448
|
+
|
449
|
+
# Security related configuration, including Kerberos.
|
450
|
+
# Corresponds to the JSON property `securityConfig`
|
451
|
+
# @return [Google::Apis::DataprocV1::SecurityConfig]
|
452
|
+
attr_accessor :security_config
|
453
|
+
|
454
|
+
# Specifies the selection and config of software inside the cluster.
|
455
|
+
# Corresponds to the JSON property `softwareConfig`
|
456
|
+
# @return [Google::Apis::DataprocV1::SoftwareConfig]
|
457
|
+
attr_accessor :software_config
|
458
|
+
|
459
|
+
# Optional. A Cloud Storage bucket used to store ephemeral cluster and jobs data,
|
460
|
+
# such as Spark and MapReduce history files. If you do not specify a temp
|
461
|
+
# bucket, Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for
|
462
|
+
# your cluster's temp bucket according to the Compute Engine zone where your
|
463
|
+
# cluster is deployed, and then create and manage this project-level, per-
|
464
|
+
# location bucket. The default bucket has a TTL of 90 days, but you can use any
|
465
|
+
# TTL (or none) if you specify a bucket. This field requires a Cloud Storage
|
466
|
+
# bucket name, not a URI to a Cloud Storage bucket.
|
467
|
+
# Corresponds to the JSON property `tempBucket`
|
468
|
+
# @return [String]
|
469
|
+
attr_accessor :temp_bucket
|
470
|
+
|
471
|
+
# The config settings for Compute Engine resources in an instance group, such as
|
472
|
+
# a master or worker group.
|
473
|
+
# Corresponds to the JSON property `workerConfig`
|
474
|
+
# @return [Google::Apis::DataprocV1::InstanceGroupConfig]
|
475
|
+
attr_accessor :worker_config
|
476
|
+
|
477
|
+
def initialize(**args)
|
478
|
+
update!(**args)
|
479
|
+
end
|
480
|
+
|
481
|
+
# Update properties of this object
|
482
|
+
def update!(**args)
|
483
|
+
@autoscaling_config = args[:autoscaling_config] if args.key?(:autoscaling_config)
|
484
|
+
@config_bucket = args[:config_bucket] if args.key?(:config_bucket)
|
485
|
+
@encryption_config = args[:encryption_config] if args.key?(:encryption_config)
|
486
|
+
@endpoint_config = args[:endpoint_config] if args.key?(:endpoint_config)
|
487
|
+
@gce_cluster_config = args[:gce_cluster_config] if args.key?(:gce_cluster_config)
|
488
|
+
@initialization_actions = args[:initialization_actions] if args.key?(:initialization_actions)
|
489
|
+
@lifecycle_config = args[:lifecycle_config] if args.key?(:lifecycle_config)
|
490
|
+
@master_config = args[:master_config] if args.key?(:master_config)
|
491
|
+
@secondary_worker_config = args[:secondary_worker_config] if args.key?(:secondary_worker_config)
|
492
|
+
@security_config = args[:security_config] if args.key?(:security_config)
|
493
|
+
@software_config = args[:software_config] if args.key?(:software_config)
|
494
|
+
@temp_bucket = args[:temp_bucket] if args.key?(:temp_bucket)
|
495
|
+
@worker_config = args[:worker_config] if args.key?(:worker_config)
|
496
|
+
end
|
497
|
+
end
|
498
|
+
|
499
|
+
# Contains cluster daemon metrics, such as HDFS and YARN stats.Beta Feature:
|
500
|
+
# This report is available for testing purposes only. It may be changed before
|
501
|
+
# final release.
|
502
|
+
class ClusterMetrics
|
503
|
+
include Google::Apis::Core::Hashable
|
504
|
+
|
505
|
+
# The HDFS metrics.
|
506
|
+
# Corresponds to the JSON property `hdfsMetrics`
|
507
|
+
# @return [Hash<String,Fixnum>]
|
508
|
+
attr_accessor :hdfs_metrics
|
509
|
+
|
510
|
+
# The YARN metrics.
|
511
|
+
# Corresponds to the JSON property `yarnMetrics`
|
512
|
+
# @return [Hash<String,Fixnum>]
|
513
|
+
attr_accessor :yarn_metrics
|
514
|
+
|
515
|
+
def initialize(**args)
|
516
|
+
update!(**args)
|
517
|
+
end
|
518
|
+
|
519
|
+
# Update properties of this object
|
520
|
+
def update!(**args)
|
521
|
+
@hdfs_metrics = args[:hdfs_metrics] if args.key?(:hdfs_metrics)
|
522
|
+
@yarn_metrics = args[:yarn_metrics] if args.key?(:yarn_metrics)
|
523
|
+
end
|
524
|
+
end
|
525
|
+
|
526
|
+
# The cluster operation triggered by a workflow.
|
527
|
+
class ClusterOperation
|
528
|
+
include Google::Apis::Core::Hashable
|
529
|
+
|
530
|
+
# Output only. Indicates the operation is done.
|
531
|
+
# Corresponds to the JSON property `done`
|
532
|
+
# @return [Boolean]
|
533
|
+
attr_accessor :done
|
534
|
+
alias_method :done?, :done
|
535
|
+
|
536
|
+
# Output only. Error, if operation failed.
|
537
|
+
# Corresponds to the JSON property `error`
|
538
|
+
# @return [String]
|
539
|
+
attr_accessor :error
|
540
|
+
|
541
|
+
# Output only. The id of the cluster operation.
|
542
|
+
# Corresponds to the JSON property `operationId`
|
543
|
+
# @return [String]
|
544
|
+
attr_accessor :operation_id
|
545
|
+
|
546
|
+
def initialize(**args)
|
547
|
+
update!(**args)
|
548
|
+
end
|
549
|
+
|
550
|
+
# Update properties of this object
|
551
|
+
def update!(**args)
|
552
|
+
@done = args[:done] if args.key?(:done)
|
553
|
+
@error = args[:error] if args.key?(:error)
|
554
|
+
@operation_id = args[:operation_id] if args.key?(:operation_id)
|
555
|
+
end
|
556
|
+
end
|
557
|
+
|
558
|
+
# Metadata describing the operation.
|
559
|
+
class ClusterOperationMetadata
|
560
|
+
include Google::Apis::Core::Hashable
|
561
|
+
|
562
|
+
# Output only. Name of the cluster for the operation.
|
563
|
+
# Corresponds to the JSON property `clusterName`
|
564
|
+
# @return [String]
|
565
|
+
attr_accessor :cluster_name
|
566
|
+
|
567
|
+
# Output only. Cluster UUID for the operation.
|
568
|
+
# Corresponds to the JSON property `clusterUuid`
|
569
|
+
# @return [String]
|
570
|
+
attr_accessor :cluster_uuid
|
571
|
+
|
572
|
+
# Output only. Short description of operation.
|
573
|
+
# Corresponds to the JSON property `description`
|
574
|
+
# @return [String]
|
575
|
+
attr_accessor :description
|
576
|
+
|
577
|
+
# Output only. Labels associated with the operation
|
578
|
+
# Corresponds to the JSON property `labels`
|
579
|
+
# @return [Hash<String,String>]
|
580
|
+
attr_accessor :labels
|
581
|
+
|
582
|
+
# Output only. The operation type.
|
583
|
+
# Corresponds to the JSON property `operationType`
|
584
|
+
# @return [String]
|
585
|
+
attr_accessor :operation_type
|
586
|
+
|
587
|
+
# The status of the operation.
|
588
|
+
# Corresponds to the JSON property `status`
|
589
|
+
# @return [Google::Apis::DataprocV1::ClusterOperationStatus]
|
590
|
+
attr_accessor :status
|
591
|
+
|
592
|
+
# Output only. The previous operation status.
|
593
|
+
# Corresponds to the JSON property `statusHistory`
|
594
|
+
# @return [Array<Google::Apis::DataprocV1::ClusterOperationStatus>]
|
595
|
+
attr_accessor :status_history
|
596
|
+
|
597
|
+
# Output only. Errors encountered during operation execution.
|
598
|
+
# Corresponds to the JSON property `warnings`
|
599
|
+
# @return [Array<String>]
|
600
|
+
attr_accessor :warnings
|
601
|
+
|
602
|
+
def initialize(**args)
|
603
|
+
update!(**args)
|
604
|
+
end
|
605
|
+
|
606
|
+
# Update properties of this object
|
607
|
+
def update!(**args)
|
608
|
+
@cluster_name = args[:cluster_name] if args.key?(:cluster_name)
|
609
|
+
@cluster_uuid = args[:cluster_uuid] if args.key?(:cluster_uuid)
|
610
|
+
@description = args[:description] if args.key?(:description)
|
611
|
+
@labels = args[:labels] if args.key?(:labels)
|
612
|
+
@operation_type = args[:operation_type] if args.key?(:operation_type)
|
613
|
+
@status = args[:status] if args.key?(:status)
|
614
|
+
@status_history = args[:status_history] if args.key?(:status_history)
|
615
|
+
@warnings = args[:warnings] if args.key?(:warnings)
|
616
|
+
end
|
617
|
+
end
|
618
|
+
|
619
|
+
# The status of the operation.
|
620
|
+
class ClusterOperationStatus
|
621
|
+
include Google::Apis::Core::Hashable
|
622
|
+
|
623
|
+
# Output only. A message containing any operation metadata details.
|
624
|
+
# Corresponds to the JSON property `details`
|
625
|
+
# @return [String]
|
626
|
+
attr_accessor :details
|
627
|
+
|
628
|
+
# Output only. A message containing the detailed operation state.
|
629
|
+
# Corresponds to the JSON property `innerState`
|
630
|
+
# @return [String]
|
631
|
+
attr_accessor :inner_state
|
632
|
+
|
633
|
+
# Output only. A message containing the operation state.
|
634
|
+
# Corresponds to the JSON property `state`
|
635
|
+
# @return [String]
|
636
|
+
attr_accessor :state
|
637
|
+
|
638
|
+
# Output only. The time this state was entered.
|
639
|
+
# Corresponds to the JSON property `stateStartTime`
|
640
|
+
# @return [String]
|
641
|
+
attr_accessor :state_start_time
|
642
|
+
|
643
|
+
def initialize(**args)
|
644
|
+
update!(**args)
|
645
|
+
end
|
646
|
+
|
647
|
+
# Update properties of this object
|
648
|
+
def update!(**args)
|
649
|
+
@details = args[:details] if args.key?(:details)
|
650
|
+
@inner_state = args[:inner_state] if args.key?(:inner_state)
|
651
|
+
@state = args[:state] if args.key?(:state)
|
652
|
+
@state_start_time = args[:state_start_time] if args.key?(:state_start_time)
|
653
|
+
end
|
654
|
+
end
|
655
|
+
|
656
|
+
# A selector that chooses target cluster for jobs based on metadata.
|
657
|
+
class ClusterSelector
|
658
|
+
include Google::Apis::Core::Hashable
|
659
|
+
|
660
|
+
# Required. The cluster labels. Cluster must have all labels to match.
|
661
|
+
# Corresponds to the JSON property `clusterLabels`
|
662
|
+
# @return [Hash<String,String>]
|
663
|
+
attr_accessor :cluster_labels
|
664
|
+
|
665
|
+
# Optional. The zone where workflow process executes. This parameter does not
|
666
|
+
# affect the selection of the cluster.If unspecified, the zone of the first
|
667
|
+
# cluster matching the selector is used.
|
668
|
+
# Corresponds to the JSON property `zone`
|
669
|
+
# @return [String]
|
670
|
+
attr_accessor :zone
|
671
|
+
|
672
|
+
def initialize(**args)
|
673
|
+
update!(**args)
|
674
|
+
end
|
675
|
+
|
676
|
+
# Update properties of this object
|
677
|
+
def update!(**args)
|
678
|
+
@cluster_labels = args[:cluster_labels] if args.key?(:cluster_labels)
|
679
|
+
@zone = args[:zone] if args.key?(:zone)
|
680
|
+
end
|
681
|
+
end
|
682
|
+
|
683
|
+
# The status of a cluster and its instances.
|
684
|
+
class ClusterStatus
|
685
|
+
include Google::Apis::Core::Hashable
|
686
|
+
|
687
|
+
# Optional. Output only. Details of cluster's state.
|
688
|
+
# Corresponds to the JSON property `detail`
|
689
|
+
# @return [String]
|
690
|
+
attr_accessor :detail
|
691
|
+
|
692
|
+
# Output only. The cluster's state.
|
693
|
+
# Corresponds to the JSON property `state`
|
694
|
+
# @return [String]
|
695
|
+
attr_accessor :state
|
696
|
+
|
697
|
+
# Output only. Time when this state was entered (see JSON representation of
|
698
|
+
# Timestamp (https://developers.google.com/protocol-buffers/docs/proto3#json)).
|
699
|
+
# Corresponds to the JSON property `stateStartTime`
|
700
|
+
# @return [String]
|
701
|
+
attr_accessor :state_start_time
|
702
|
+
|
703
|
+
# Output only. Additional state information that includes status reported by the
|
704
|
+
# agent.
|
705
|
+
# Corresponds to the JSON property `substate`
|
706
|
+
# @return [String]
|
707
|
+
attr_accessor :substate
|
708
|
+
|
709
|
+
def initialize(**args)
|
710
|
+
update!(**args)
|
711
|
+
end
|
712
|
+
|
713
|
+
# Update properties of this object
|
714
|
+
def update!(**args)
|
715
|
+
@detail = args[:detail] if args.key?(:detail)
|
716
|
+
@state = args[:state] if args.key?(:state)
|
717
|
+
@state_start_time = args[:state_start_time] if args.key?(:state_start_time)
|
718
|
+
@substate = args[:substate] if args.key?(:substate)
|
719
|
+
end
|
720
|
+
end
|
721
|
+
|
722
|
+
# A request to collect cluster diagnostic information.
|
723
|
+
class DiagnoseClusterRequest
|
724
|
+
include Google::Apis::Core::Hashable
|
725
|
+
|
726
|
+
def initialize(**args)
|
727
|
+
update!(**args)
|
728
|
+
end
|
729
|
+
|
730
|
+
# Update properties of this object
|
731
|
+
def update!(**args)
|
732
|
+
end
|
733
|
+
end
|
734
|
+
|
735
|
+
# The location of diagnostic output.
|
736
|
+
class DiagnoseClusterResults
|
737
|
+
include Google::Apis::Core::Hashable
|
738
|
+
|
739
|
+
# Output only. The Cloud Storage URI of the diagnostic output. The output report
|
740
|
+
# is a plain text file with a summary of collected diagnostics.
|
741
|
+
# Corresponds to the JSON property `outputUri`
|
742
|
+
# @return [String]
|
743
|
+
attr_accessor :output_uri
|
744
|
+
|
745
|
+
def initialize(**args)
|
746
|
+
update!(**args)
|
747
|
+
end
|
748
|
+
|
749
|
+
# Update properties of this object
|
750
|
+
def update!(**args)
|
751
|
+
@output_uri = args[:output_uri] if args.key?(:output_uri)
|
752
|
+
end
|
753
|
+
end
|
754
|
+
|
755
|
+
# Specifies the config of disk options for a group of VM instances.
|
756
|
+
class DiskConfig
|
757
|
+
include Google::Apis::Core::Hashable
|
758
|
+
|
759
|
+
# Optional. Size in GB of the boot disk (default is 500GB).
|
760
|
+
# Corresponds to the JSON property `bootDiskSizeGb`
|
761
|
+
# @return [Fixnum]
|
762
|
+
attr_accessor :boot_disk_size_gb
|
763
|
+
|
764
|
+
# Optional. Type of the boot disk (default is "pd-standard"). Valid values: "pd-
|
765
|
+
# ssd" (Persistent Disk Solid State Drive) or "pd-standard" (Persistent Disk
|
766
|
+
# Hard Disk Drive).
|
767
|
+
# Corresponds to the JSON property `bootDiskType`
|
768
|
+
# @return [String]
|
769
|
+
attr_accessor :boot_disk_type
|
770
|
+
|
771
|
+
# Optional. Number of attached SSDs, from 0 to 4 (default is 0). If SSDs are not
|
772
|
+
# attached, the boot disk is used to store runtime logs and HDFS (https://hadoop.
|
773
|
+
# apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If one or more SSDs are
|
774
|
+
# attached, this runtime bulk data is spread across them, and the boot disk
|
775
|
+
# contains only basic config and installed binaries.
|
776
|
+
# Corresponds to the JSON property `numLocalSsds`
|
777
|
+
# @return [Fixnum]
|
778
|
+
attr_accessor :num_local_ssds
|
779
|
+
|
780
|
+
def initialize(**args)
|
781
|
+
update!(**args)
|
782
|
+
end
|
783
|
+
|
784
|
+
# Update properties of this object
|
785
|
+
def update!(**args)
|
786
|
+
@boot_disk_size_gb = args[:boot_disk_size_gb] if args.key?(:boot_disk_size_gb)
|
787
|
+
@boot_disk_type = args[:boot_disk_type] if args.key?(:boot_disk_type)
|
788
|
+
@num_local_ssds = args[:num_local_ssds] if args.key?(:num_local_ssds)
|
789
|
+
end
|
790
|
+
end
|
791
|
+
|
792
|
+
# A generic empty message that you can re-use to avoid defining duplicated empty
|
793
|
+
# messages in your APIs. A typical example is to use it as the request or the
|
794
|
+
# response type of an API method. For instance: service Foo ` rpc Bar(google.
|
795
|
+
# protobuf.Empty) returns (google.protobuf.Empty); ` The JSON representation for
|
796
|
+
# Empty is empty JSON object ``.
|
797
|
+
class Empty
|
798
|
+
include Google::Apis::Core::Hashable
|
799
|
+
|
800
|
+
def initialize(**args)
|
801
|
+
update!(**args)
|
802
|
+
end
|
803
|
+
|
804
|
+
# Update properties of this object
|
805
|
+
def update!(**args)
|
806
|
+
end
|
807
|
+
end
|
808
|
+
|
809
|
+
# Encryption settings for the cluster.
|
810
|
+
class EncryptionConfig
|
811
|
+
include Google::Apis::Core::Hashable
|
812
|
+
|
813
|
+
# Optional. The Cloud KMS key name to use for PD disk encryption for all
|
814
|
+
# instances in the cluster.
|
815
|
+
# Corresponds to the JSON property `gcePdKmsKeyName`
|
816
|
+
# @return [String]
|
817
|
+
attr_accessor :gce_pd_kms_key_name
|
818
|
+
|
819
|
+
def initialize(**args)
|
820
|
+
update!(**args)
|
821
|
+
end
|
822
|
+
|
823
|
+
# Update properties of this object
|
824
|
+
def update!(**args)
|
825
|
+
@gce_pd_kms_key_name = args[:gce_pd_kms_key_name] if args.key?(:gce_pd_kms_key_name)
|
826
|
+
end
|
827
|
+
end
|
828
|
+
|
829
|
+
# Endpoint config for this cluster
|
830
|
+
class EndpointConfig
|
831
|
+
include Google::Apis::Core::Hashable
|
832
|
+
|
833
|
+
# Optional. If true, enable http access to specific ports on the cluster from
|
834
|
+
# external sources. Defaults to false.
|
835
|
+
# Corresponds to the JSON property `enableHttpPortAccess`
|
836
|
+
# @return [Boolean]
|
837
|
+
attr_accessor :enable_http_port_access
|
838
|
+
alias_method :enable_http_port_access?, :enable_http_port_access
|
839
|
+
|
840
|
+
# Output only. The map of port descriptions to URLs. Will only be populated if
|
841
|
+
# enable_http_port_access is true.
|
842
|
+
# Corresponds to the JSON property `httpPorts`
|
843
|
+
# @return [Hash<String,String>]
|
844
|
+
attr_accessor :http_ports
|
845
|
+
|
846
|
+
def initialize(**args)
|
847
|
+
update!(**args)
|
848
|
+
end
|
849
|
+
|
850
|
+
# Update properties of this object
|
851
|
+
def update!(**args)
|
852
|
+
@enable_http_port_access = args[:enable_http_port_access] if args.key?(:enable_http_port_access)
|
853
|
+
@http_ports = args[:http_ports] if args.key?(:http_ports)
|
854
|
+
end
|
855
|
+
end
|
856
|
+
|
857
|
+
# Represents a textual expression in the Common Expression Language (CEL) syntax.
|
858
|
+
# CEL is a C-like expression language. The syntax and semantics of CEL are
|
859
|
+
# documented at https://github.com/google/cel-spec.Example (Comparison): title: "
|
860
|
+
# Summary size limit" description: "Determines if a summary is less than 100
|
861
|
+
# chars" expression: "document.summary.size() < 100" Example (Equality): title: "
|
862
|
+
# Requestor is owner" description: "Determines if requestor is the document
|
863
|
+
# owner" expression: "document.owner == request.auth.claims.email" Example (
|
864
|
+
# Logic): title: "Public documents" description: "Determine whether the document
|
865
|
+
# should be publicly visible" expression: "document.type != 'private' &&
|
866
|
+
# document.type != 'internal'" Example (Data Manipulation): title: "Notification
|
867
|
+
# string" description: "Create a notification string with a timestamp."
|
868
|
+
# expression: "'New message received at ' + string(document.create_time)" The
|
869
|
+
# exact variables and functions that may be referenced within an expression are
|
870
|
+
# determined by the service that evaluates it. See the service documentation for
|
871
|
+
# additional information.
|
872
|
+
class Expr
|
873
|
+
include Google::Apis::Core::Hashable
|
874
|
+
|
875
|
+
# Optional. Description of the expression. This is a longer text which describes
|
876
|
+
# the expression, e.g. when hovered over it in a UI.
|
877
|
+
# Corresponds to the JSON property `description`
|
878
|
+
# @return [String]
|
879
|
+
attr_accessor :description
|
880
|
+
|
881
|
+
# Textual representation of an expression in Common Expression Language syntax.
|
882
|
+
# Corresponds to the JSON property `expression`
|
883
|
+
# @return [String]
|
884
|
+
attr_accessor :expression
|
885
|
+
|
886
|
+
# Optional. String indicating the location of the expression for error reporting,
|
887
|
+
# e.g. a file name and a position in the file.
|
888
|
+
# Corresponds to the JSON property `location`
|
889
|
+
# @return [String]
|
890
|
+
attr_accessor :location
|
891
|
+
|
892
|
+
# Optional. Title for the expression, i.e. a short string describing its purpose.
|
893
|
+
# This can be used e.g. in UIs which allow to enter the expression.
|
894
|
+
# Corresponds to the JSON property `title`
|
895
|
+
# @return [String]
|
896
|
+
attr_accessor :title
|
897
|
+
|
898
|
+
def initialize(**args)
|
899
|
+
update!(**args)
|
900
|
+
end
|
901
|
+
|
902
|
+
# Update properties of this object
|
903
|
+
def update!(**args)
|
904
|
+
@description = args[:description] if args.key?(:description)
|
905
|
+
@expression = args[:expression] if args.key?(:expression)
|
906
|
+
@location = args[:location] if args.key?(:location)
|
907
|
+
@title = args[:title] if args.key?(:title)
|
908
|
+
end
|
909
|
+
end
|
910
|
+
|
911
|
+
# Common config settings for resources of Compute Engine cluster instances,
|
912
|
+
# applicable to all instances in the cluster.
|
913
|
+
class GceClusterConfig
|
914
|
+
include Google::Apis::Core::Hashable
|
915
|
+
|
916
|
+
# Optional. If true, all instances in the cluster will only have internal IP
|
917
|
+
# addresses. By default, clusters are not restricted to internal IP addresses,
|
918
|
+
# and will have ephemeral external IP addresses assigned to each instance. This
|
919
|
+
# internal_ip_only restriction can only be enabled for subnetwork enabled
|
920
|
+
# networks, and all off-cluster dependencies must be configured to be accessible
|
921
|
+
# without external IP addresses.
|
922
|
+
# Corresponds to the JSON property `internalIpOnly`
|
923
|
+
# @return [Boolean]
|
924
|
+
attr_accessor :internal_ip_only
|
925
|
+
alias_method :internal_ip_only?, :internal_ip_only
|
926
|
+
|
927
|
+
# The Compute Engine metadata entries to add to all instances (see Project and
|
928
|
+
# instance metadata (https://cloud.google.com/compute/docs/storing-retrieving-
|
929
|
+
# metadata#project_and_instance_metadata)).
|
930
|
+
# Corresponds to the JSON property `metadata`
|
931
|
+
# @return [Hash<String,String>]
|
932
|
+
attr_accessor :metadata
|
933
|
+
|
934
|
+
# Optional. The Compute Engine network to be used for machine communications.
|
935
|
+
# Cannot be specified with subnetwork_uri. If neither network_uri nor
|
936
|
+
# subnetwork_uri is specified, the "default" network of the project is used, if
|
937
|
+
# it exists. Cannot be a "Custom Subnet Network" (see Using Subnetworks (https://
|
938
|
+
# cloud.google.com/compute/docs/subnetworks) for more information).A full URL,
|
939
|
+
# partial URI, or short name are valid. Examples: https://www.googleapis.com/
|
940
|
+
# compute/v1/projects/[project_id]/regions/global/default projects/[project_id]/
|
941
|
+
# regions/global/default default
|
942
|
+
# Corresponds to the JSON property `networkUri`
|
943
|
+
# @return [String]
|
944
|
+
attr_accessor :network_uri
|
945
|
+
|
946
|
+
# Node Group Affinity for clusters using sole-tenant node groups.
|
947
|
+
# Corresponds to the JSON property `nodeGroupAffinity`
|
948
|
+
# @return [Google::Apis::DataprocV1::NodeGroupAffinity]
|
949
|
+
attr_accessor :node_group_affinity
|
950
|
+
|
951
|
+
# Optional. The type of IPv6 access for a cluster.
|
952
|
+
# Corresponds to the JSON property `privateIpv6GoogleAccess`
|
953
|
+
# @return [String]
|
954
|
+
attr_accessor :private_ipv6_google_access
|
955
|
+
|
956
|
+
# Reservation Affinity for consuming Zonal reservation.
|
957
|
+
# Corresponds to the JSON property `reservationAffinity`
|
958
|
+
# @return [Google::Apis::DataprocV1::ReservationAffinity]
|
959
|
+
attr_accessor :reservation_affinity
|
960
|
+
|
961
|
+
# Optional. The Dataproc service account (https://cloud.google.com/dataproc/docs/
|
962
|
+
# concepts/configuring-clusters/service-accounts#service_accounts_in_dataproc) (
|
963
|
+
# also see VM Data Plane identity (https://cloud.google.com/dataproc/docs/
|
964
|
+
# concepts/iam/dataproc-principals#vm_service_account_data_plane_identity)) used
|
965
|
+
# by Dataproc cluster VM instances to access Google Cloud Platform services.If
|
966
|
+
# not specified, the Compute Engine default service account (https://cloud.
|
967
|
+
# google.com/compute/docs/access/service-accounts#default_service_account) is
|
968
|
+
# used.
|
969
|
+
# Corresponds to the JSON property `serviceAccount`
|
970
|
+
# @return [String]
|
971
|
+
attr_accessor :service_account
|
972
|
+
|
973
|
+
# Optional. The URIs of service account scopes to be included in Compute Engine
|
974
|
+
# instances. The following base set of scopes is always included: https://www.
|
975
|
+
# googleapis.com/auth/cloud.useraccounts.readonly https://www.googleapis.com/
|
976
|
+
# auth/devstorage.read_write https://www.googleapis.com/auth/logging.writeIf no
|
977
|
+
# scopes are specified, the following defaults are also provided: https://www.
|
978
|
+
# googleapis.com/auth/bigquery https://www.googleapis.com/auth/bigtable.admin.
|
979
|
+
# table https://www.googleapis.com/auth/bigtable.data https://www.googleapis.com/
|
980
|
+
# auth/devstorage.full_control
|
981
|
+
# Corresponds to the JSON property `serviceAccountScopes`
|
982
|
+
# @return [Array<String>]
|
983
|
+
attr_accessor :service_account_scopes
|
984
|
+
|
985
|
+
# Shielded Instance Config for clusters using shielded VMs.
|
986
|
+
# Corresponds to the JSON property `shieldedInstanceConfig`
|
987
|
+
# @return [Google::Apis::DataprocV1::ShieldedInstanceConfig]
|
988
|
+
attr_accessor :shielded_instance_config
|
989
|
+
|
990
|
+
# Optional. The Compute Engine subnetwork to be used for machine communications.
|
991
|
+
# Cannot be specified with network_uri.A full URL, partial URI, or short name
|
992
|
+
# are valid. Examples: https://www.googleapis.com/compute/v1/projects/[
|
993
|
+
# project_id]/regions/us-east1/subnetworks/sub0 projects/[project_id]/regions/us-
|
994
|
+
# east1/subnetworks/sub0 sub0
|
995
|
+
# Corresponds to the JSON property `subnetworkUri`
|
996
|
+
# @return [String]
|
997
|
+
attr_accessor :subnetwork_uri
|
998
|
+
|
999
|
+
# The Compute Engine tags to add to all instances (see Tagging instances (https:/
|
1000
|
+
# /cloud.google.com/compute/docs/label-or-tag-resources#tags)).
|
1001
|
+
# Corresponds to the JSON property `tags`
|
1002
|
+
# @return [Array<String>]
|
1003
|
+
attr_accessor :tags
|
1004
|
+
|
1005
|
+
# Optional. The zone where the Compute Engine cluster will be located. On a
|
1006
|
+
# create request, it is required in the "global" region. If omitted in a non-
|
1007
|
+
# global Dataproc region, the service will pick a zone in the corresponding
|
1008
|
+
# Compute Engine region. On a get request, zone will always be present.A full
|
1009
|
+
# URL, partial URI, or short name are valid. Examples: https://www.googleapis.
|
1010
|
+
# com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[
|
1011
|
+
# zone] us-central1-f
|
1012
|
+
# Corresponds to the JSON property `zoneUri`
|
1013
|
+
# @return [String]
|
1014
|
+
attr_accessor :zone_uri
|
1015
|
+
|
1016
|
+
def initialize(**args)
|
1017
|
+
update!(**args)
|
1018
|
+
end
|
1019
|
+
|
1020
|
+
# Update properties of this object
|
1021
|
+
def update!(**args)
|
1022
|
+
@internal_ip_only = args[:internal_ip_only] if args.key?(:internal_ip_only)
|
1023
|
+
@metadata = args[:metadata] if args.key?(:metadata)
|
1024
|
+
@network_uri = args[:network_uri] if args.key?(:network_uri)
|
1025
|
+
@node_group_affinity = args[:node_group_affinity] if args.key?(:node_group_affinity)
|
1026
|
+
@private_ipv6_google_access = args[:private_ipv6_google_access] if args.key?(:private_ipv6_google_access)
|
1027
|
+
@reservation_affinity = args[:reservation_affinity] if args.key?(:reservation_affinity)
|
1028
|
+
@service_account = args[:service_account] if args.key?(:service_account)
|
1029
|
+
@service_account_scopes = args[:service_account_scopes] if args.key?(:service_account_scopes)
|
1030
|
+
@shielded_instance_config = args[:shielded_instance_config] if args.key?(:shielded_instance_config)
|
1031
|
+
@subnetwork_uri = args[:subnetwork_uri] if args.key?(:subnetwork_uri)
|
1032
|
+
@tags = args[:tags] if args.key?(:tags)
|
1033
|
+
@zone_uri = args[:zone_uri] if args.key?(:zone_uri)
|
1034
|
+
end
|
1035
|
+
end
|
1036
|
+
|
1037
|
+
# Request message for GetIamPolicy method.
|
1038
|
+
class GetIamPolicyRequest
|
1039
|
+
include Google::Apis::Core::Hashable
|
1040
|
+
|
1041
|
+
# Encapsulates settings provided to GetIamPolicy.
|
1042
|
+
# Corresponds to the JSON property `options`
|
1043
|
+
# @return [Google::Apis::DataprocV1::GetPolicyOptions]
|
1044
|
+
attr_accessor :options
|
1045
|
+
|
1046
|
+
def initialize(**args)
|
1047
|
+
update!(**args)
|
1048
|
+
end
|
1049
|
+
|
1050
|
+
# Update properties of this object
|
1051
|
+
def update!(**args)
|
1052
|
+
@options = args[:options] if args.key?(:options)
|
1053
|
+
end
|
1054
|
+
end
|
1055
|
+
|
1056
|
+
# Encapsulates settings provided to GetIamPolicy.
|
1057
|
+
class GetPolicyOptions
|
1058
|
+
include Google::Apis::Core::Hashable
|
1059
|
+
|
1060
|
+
# Optional. The policy format version to be returned.Valid values are 0, 1, and
|
1061
|
+
# 3. Requests specifying an invalid value will be rejected.Requests for policies
|
1062
|
+
# with any conditional bindings must specify version 3. Policies without any
|
1063
|
+
# conditional bindings may specify any valid value or leave the field unset.To
|
1064
|
+
# learn which resources support conditions in their IAM policies, see the IAM
|
1065
|
+
# documentation (https://cloud.google.com/iam/help/conditions/resource-policies).
|
1066
|
+
# Corresponds to the JSON property `requestedPolicyVersion`
|
1067
|
+
# @return [Fixnum]
|
1068
|
+
attr_accessor :requested_policy_version
|
1069
|
+
|
1070
|
+
def initialize(**args)
|
1071
|
+
update!(**args)
|
1072
|
+
end
|
1073
|
+
|
1074
|
+
# Update properties of this object
|
1075
|
+
def update!(**args)
|
1076
|
+
@requested_policy_version = args[:requested_policy_version] if args.key?(:requested_policy_version)
|
1077
|
+
end
|
1078
|
+
end
|
1079
|
+
|
1080
|
+
# A Dataproc job for running Apache Hadoop MapReduce (https://hadoop.apache.org/
|
1081
|
+
# docs/current/hadoop-mapreduce-client/hadoop-mapreduce-client-core/
|
1082
|
+
# MapReduceTutorial.html) jobs on Apache Hadoop YARN (https://hadoop.apache.org/
|
1083
|
+
# docs/r2.7.1/hadoop-yarn/hadoop-yarn-site/YARN.html).
|
1084
|
+
class HadoopJob
|
1085
|
+
include Google::Apis::Core::Hashable
|
1086
|
+
|
1087
|
+
# Optional. HCFS URIs of archives to be extracted in the working directory of
|
1088
|
+
# Hadoop drivers and tasks. Supported file types: .jar, .tar, .tar.gz, .tgz, or .
|
1089
|
+
# zip.
|
1090
|
+
# Corresponds to the JSON property `archiveUris`
|
1091
|
+
# @return [Array<String>]
|
1092
|
+
attr_accessor :archive_uris
|
1093
|
+
|
1094
|
+
# Optional. The arguments to pass to the driver. Do not include arguments, such
|
1095
|
+
# as -libjars or -Dfoo=bar, that can be set as job properties, since a collision
|
1096
|
+
# may occur that causes an incorrect job submission.
|
1097
|
+
# Corresponds to the JSON property `args`
|
1098
|
+
# @return [Array<String>]
|
1099
|
+
attr_accessor :args
|
1100
|
+
|
1101
|
+
# Optional. HCFS (Hadoop Compatible Filesystem) URIs of files to be copied to
|
1102
|
+
# the working directory of Hadoop drivers and distributed tasks. Useful for
|
1103
|
+
# naively parallel tasks.
|
1104
|
+
# Corresponds to the JSON property `fileUris`
|
1105
|
+
# @return [Array<String>]
|
1106
|
+
attr_accessor :file_uris
|
1107
|
+
|
1108
|
+
# Optional. Jar file URIs to add to the CLASSPATHs of the Hadoop driver and
|
1109
|
+
# tasks.
|
1110
|
+
# Corresponds to the JSON property `jarFileUris`
|
1111
|
+
# @return [Array<String>]
|
1112
|
+
attr_accessor :jar_file_uris
|
1113
|
+
|
1114
|
+
# The runtime logging config of the job.
|
1115
|
+
# Corresponds to the JSON property `loggingConfig`
|
1116
|
+
# @return [Google::Apis::DataprocV1::LoggingConfig]
|
1117
|
+
attr_accessor :logging_config
|
1118
|
+
|
1119
|
+
# The name of the driver's main class. The jar file containing the class must be
|
1120
|
+
# in the default CLASSPATH or specified in jar_file_uris.
|
1121
|
+
# Corresponds to the JSON property `mainClass`
|
1122
|
+
# @return [String]
|
1123
|
+
attr_accessor :main_class
|
1124
|
+
|
1125
|
+
# The HCFS URI of the jar file containing the main class. Examples: 'gs://foo-
|
1126
|
+
# bucket/analytics-binaries/extract-useful-metrics-mr.jar' 'hdfs:/tmp/test-
|
1127
|
+
# samples/custom-wordcount.jar' 'file:///home/usr/lib/hadoop-mapreduce/hadoop-
|
1128
|
+
# mapreduce-examples.jar'
|
1129
|
+
# Corresponds to the JSON property `mainJarFileUri`
|
1130
|
+
# @return [String]
|
1131
|
+
attr_accessor :main_jar_file_uri
|
1132
|
+
|
1133
|
+
# Optional. A mapping of property names to values, used to configure Hadoop.
|
1134
|
+
# Properties that conflict with values set by the Dataproc API may be
|
1135
|
+
# overwritten. Can include properties set in /etc/hadoop/conf/*-site and classes
|
1136
|
+
# in user code.
|
1137
|
+
# Corresponds to the JSON property `properties`
|
1138
|
+
# @return [Hash<String,String>]
|
1139
|
+
attr_accessor :properties
|
1140
|
+
|
1141
|
+
def initialize(**args)
|
1142
|
+
update!(**args)
|
1143
|
+
end
|
1144
|
+
|
1145
|
+
# Update properties of this object
|
1146
|
+
def update!(**args)
|
1147
|
+
@archive_uris = args[:archive_uris] if args.key?(:archive_uris)
|
1148
|
+
@args = args[:args] if args.key?(:args)
|
1149
|
+
@file_uris = args[:file_uris] if args.key?(:file_uris)
|
1150
|
+
@jar_file_uris = args[:jar_file_uris] if args.key?(:jar_file_uris)
|
1151
|
+
@logging_config = args[:logging_config] if args.key?(:logging_config)
|
1152
|
+
@main_class = args[:main_class] if args.key?(:main_class)
|
1153
|
+
@main_jar_file_uri = args[:main_jar_file_uri] if args.key?(:main_jar_file_uri)
|
1154
|
+
@properties = args[:properties] if args.key?(:properties)
|
1155
|
+
end
|
1156
|
+
end
|
1157
|
+
|
1158
|
+
# A Dataproc job for running Apache Hive (https://hive.apache.org/) queries on
|
1159
|
+
# YARN.
|
1160
|
+
class HiveJob
|
1161
|
+
include Google::Apis::Core::Hashable
|
1162
|
+
|
1163
|
+
# Optional. Whether to continue executing queries if a query fails. The default
|
1164
|
+
# value is false. Setting to true can be useful when executing independent
|
1165
|
+
# parallel queries.
|
1166
|
+
# Corresponds to the JSON property `continueOnFailure`
|
1167
|
+
# @return [Boolean]
|
1168
|
+
attr_accessor :continue_on_failure
|
1169
|
+
alias_method :continue_on_failure?, :continue_on_failure
|
1170
|
+
|
1171
|
+
# Optional. HCFS URIs of jar files to add to the CLASSPATH of the Hive server
|
1172
|
+
# and Hadoop MapReduce (MR) tasks. Can contain Hive SerDes and UDFs.
|
1173
|
+
# Corresponds to the JSON property `jarFileUris`
|
1174
|
+
# @return [Array<String>]
|
1175
|
+
attr_accessor :jar_file_uris
|
1176
|
+
|
1177
|
+
# Optional. A mapping of property names and values, used to configure Hive.
|
1178
|
+
# Properties that conflict with values set by the Dataproc API may be
|
1179
|
+
# overwritten. Can include properties set in /etc/hadoop/conf/*-site.xml, /etc/
|
1180
|
+
# hive/conf/hive-site.xml, and classes in user code.
|
1181
|
+
# Corresponds to the JSON property `properties`
|
1182
|
+
# @return [Hash<String,String>]
|
1183
|
+
attr_accessor :properties
|
1184
|
+
|
1185
|
+
# The HCFS URI of the script that contains Hive queries.
|
1186
|
+
# Corresponds to the JSON property `queryFileUri`
|
1187
|
+
# @return [String]
|
1188
|
+
attr_accessor :query_file_uri
|
1189
|
+
|
1190
|
+
# A list of queries to run on a cluster.
|
1191
|
+
# Corresponds to the JSON property `queryList`
|
1192
|
+
# @return [Google::Apis::DataprocV1::QueryList]
|
1193
|
+
attr_accessor :query_list
|
1194
|
+
|
1195
|
+
# Optional. Mapping of query variable names to values (equivalent to the Hive
|
1196
|
+
# command: SET name="value";).
|
1197
|
+
# Corresponds to the JSON property `scriptVariables`
|
1198
|
+
# @return [Hash<String,String>]
|
1199
|
+
attr_accessor :script_variables
|
1200
|
+
|
1201
|
+
def initialize(**args)
|
1202
|
+
update!(**args)
|
1203
|
+
end
|
1204
|
+
|
1205
|
+
# Update properties of this object
|
1206
|
+
def update!(**args)
|
1207
|
+
@continue_on_failure = args[:continue_on_failure] if args.key?(:continue_on_failure)
|
1208
|
+
@jar_file_uris = args[:jar_file_uris] if args.key?(:jar_file_uris)
|
1209
|
+
@properties = args[:properties] if args.key?(:properties)
|
1210
|
+
@query_file_uri = args[:query_file_uri] if args.key?(:query_file_uri)
|
1211
|
+
@query_list = args[:query_list] if args.key?(:query_list)
|
1212
|
+
@script_variables = args[:script_variables] if args.key?(:script_variables)
|
1213
|
+
end
|
1214
|
+
end
|
1215
|
+
|
1216
|
+
# A request to inject credentials into a cluster.
|
1217
|
+
class InjectCredentialsRequest
|
1218
|
+
include Google::Apis::Core::Hashable
|
1219
|
+
|
1220
|
+
# Required. The cluster UUID.
|
1221
|
+
# Corresponds to the JSON property `clusterUuid`
|
1222
|
+
# @return [String]
|
1223
|
+
attr_accessor :cluster_uuid
|
1224
|
+
|
1225
|
+
# Required. The encrypted credentials being injected in to the cluster.The
|
1226
|
+
# client is responsible for encrypting the credentials in a way that is
|
1227
|
+
# supported by the cluster.A wrapped value is used here so that the actual
|
1228
|
+
# contents of the encrypted credentials are not written to audit logs.
|
1229
|
+
# Corresponds to the JSON property `credentialsCiphertext`
|
1230
|
+
# @return [String]
|
1231
|
+
attr_accessor :credentials_ciphertext
|
1232
|
+
|
1233
|
+
def initialize(**args)
|
1234
|
+
update!(**args)
|
1235
|
+
end
|
1236
|
+
|
1237
|
+
# Update properties of this object
|
1238
|
+
def update!(**args)
|
1239
|
+
@cluster_uuid = args[:cluster_uuid] if args.key?(:cluster_uuid)
|
1240
|
+
@credentials_ciphertext = args[:credentials_ciphertext] if args.key?(:credentials_ciphertext)
|
1241
|
+
end
|
1242
|
+
end
|
1243
|
+
|
1244
|
+
# Configuration for the size bounds of an instance group, including its
|
1245
|
+
# proportional size to other groups.
|
1246
|
+
class InstanceGroupAutoscalingPolicyConfig
|
1247
|
+
include Google::Apis::Core::Hashable
|
1248
|
+
|
1249
|
+
# Required. Maximum number of instances for this group. Required for primary
|
1250
|
+
# workers. Note that by default, clusters will not use secondary workers.
|
1251
|
+
# Required for secondary workers if the minimum secondary instances is set.
|
1252
|
+
# Primary workers - Bounds: [min_instances, ). Secondary workers - Bounds: [
|
1253
|
+
# min_instances, ). Default: 0.
|
1254
|
+
# Corresponds to the JSON property `maxInstances`
|
1255
|
+
# @return [Fixnum]
|
1256
|
+
attr_accessor :max_instances
|
1257
|
+
|
1258
|
+
# Optional. Minimum number of instances for this group.Primary workers - Bounds:
|
1259
|
+
# 2, max_instances. Default: 2. Secondary workers - Bounds: 0, max_instances.
|
1260
|
+
# Default: 0.
|
1261
|
+
# Corresponds to the JSON property `minInstances`
|
1262
|
+
# @return [Fixnum]
|
1263
|
+
attr_accessor :min_instances
|
1264
|
+
|
1265
|
+
# Optional. Weight for the instance group, which is used to determine the
|
1266
|
+
# fraction of total workers in the cluster from this instance group. For example,
|
1267
|
+
# if primary workers have weight 2, and secondary workers have weight 1, the
|
1268
|
+
# cluster will have approximately 2 primary workers for each secondary worker.
|
1269
|
+
# The cluster may not reach the specified balance if constrained by min/max
|
1270
|
+
# bounds or other autoscaling settings. For example, if max_instances for
|
1271
|
+
# secondary workers is 0, then only primary workers will be added. The cluster
|
1272
|
+
# can also be out of balance when created.If weight is not set on any instance
|
1273
|
+
# group, the cluster will default to equal weight for all groups: the cluster
|
1274
|
+
# will attempt to maintain an equal number of workers in each group within the
|
1275
|
+
# configured size bounds for each group. If weight is set for one group only,
|
1276
|
+
# the cluster will default to zero weight on the unset group. For example if
|
1277
|
+
# weight is set only on primary workers, the cluster will use primary workers
|
1278
|
+
# only and no secondary workers.
|
1279
|
+
# Corresponds to the JSON property `weight`
|
1280
|
+
# @return [Fixnum]
|
1281
|
+
attr_accessor :weight
|
1282
|
+
|
1283
|
+
def initialize(**args)
|
1284
|
+
update!(**args)
|
1285
|
+
end
|
1286
|
+
|
1287
|
+
# Update properties of this object
|
1288
|
+
def update!(**args)
|
1289
|
+
@max_instances = args[:max_instances] if args.key?(:max_instances)
|
1290
|
+
@min_instances = args[:min_instances] if args.key?(:min_instances)
|
1291
|
+
@weight = args[:weight] if args.key?(:weight)
|
1292
|
+
end
|
1293
|
+
end
|
1294
|
+
|
1295
|
+
# The config settings for Compute Engine resources in an instance group, such as
|
1296
|
+
# a master or worker group.
|
1297
|
+
class InstanceGroupConfig
|
1298
|
+
include Google::Apis::Core::Hashable
|
1299
|
+
|
1300
|
+
# Optional. The Compute Engine accelerator configuration for these instances.
|
1301
|
+
# Corresponds to the JSON property `accelerators`
|
1302
|
+
# @return [Array<Google::Apis::DataprocV1::AcceleratorConfig>]
|
1303
|
+
attr_accessor :accelerators
|
1304
|
+
|
1305
|
+
# Specifies the config of disk options for a group of VM instances.
|
1306
|
+
# Corresponds to the JSON property `diskConfig`
|
1307
|
+
# @return [Google::Apis::DataprocV1::DiskConfig]
|
1308
|
+
attr_accessor :disk_config
|
1309
|
+
|
1310
|
+
# Optional. The Compute Engine image resource used for cluster instances.The URI
|
1311
|
+
# can represent an image or image family.Image examples: https://www.googleapis.
|
1312
|
+
# com/compute/beta/projects/[project_id]/global/images/[image-id] projects/[
|
1313
|
+
# project_id]/global/images/[image-id] image-idImage family examples. Dataproc
|
1314
|
+
# will use the most recent image from the family: https://www.googleapis.com/
|
1315
|
+
# compute/beta/projects/[project_id]/global/images/family/[custom-image-family-
|
1316
|
+
# name] projects/[project_id]/global/images/family/[custom-image-family-name]If
|
1317
|
+
# the URI is unspecified, it will be inferred from SoftwareConfig.image_version
|
1318
|
+
# or the system default.
|
1319
|
+
# Corresponds to the JSON property `imageUri`
|
1320
|
+
# @return [String]
|
1321
|
+
attr_accessor :image_uri
|
1322
|
+
|
1323
|
+
# Output only. The list of instance names. Dataproc derives the names from
|
1324
|
+
# cluster_name, num_instances, and the instance group.
|
1325
|
+
# Corresponds to the JSON property `instanceNames`
|
1326
|
+
# @return [Array<String>]
|
1327
|
+
attr_accessor :instance_names
|
1328
|
+
|
1329
|
+
# Output only. List of references to Compute Engine instances.
|
1330
|
+
# Corresponds to the JSON property `instanceReferences`
|
1331
|
+
# @return [Array<Google::Apis::DataprocV1::InstanceReference>]
|
1332
|
+
attr_accessor :instance_references
|
1333
|
+
|
1334
|
+
# Output only. Specifies that this instance group contains preemptible instances.
|
1335
|
+
# Corresponds to the JSON property `isPreemptible`
|
1336
|
+
# @return [Boolean]
|
1337
|
+
attr_accessor :is_preemptible
|
1338
|
+
alias_method :is_preemptible?, :is_preemptible
|
1339
|
+
|
1340
|
+
# Optional. The Compute Engine machine type used for cluster instances.A full
|
1341
|
+
# URL, partial URI, or short name are valid. Examples: https://www.googleapis.
|
1342
|
+
# com/compute/v1/projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-
|
1343
|
+
# 2 projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2 n1-
|
1344
|
+
# standard-2Auto Zone Exception: If you are using the Dataproc Auto Zone
|
1345
|
+
# Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-
|
1346
|
+
# clusters/auto-zone#using_auto_zone_placement) feature, you must use the short
|
1347
|
+
# name of the machine type resource, for example, n1-standard-2.
|
1348
|
+
# Corresponds to the JSON property `machineTypeUri`
|
1349
|
+
# @return [String]
|
1350
|
+
attr_accessor :machine_type_uri
|
1351
|
+
|
1352
|
+
# Specifies the resources used to actively manage an instance group.
|
1353
|
+
# Corresponds to the JSON property `managedGroupConfig`
|
1354
|
+
# @return [Google::Apis::DataprocV1::ManagedGroupConfig]
|
1355
|
+
attr_accessor :managed_group_config
|
1356
|
+
|
1357
|
+
# Optional. Specifies the minimum cpu platform for the Instance Group. See
|
1358
|
+
# Dataproc -> Minimum CPU Platform (https://cloud.google.com/dataproc/docs/
|
1359
|
+
# concepts/compute/dataproc-min-cpu).
|
1360
|
+
# Corresponds to the JSON property `minCpuPlatform`
|
1361
|
+
# @return [String]
|
1362
|
+
attr_accessor :min_cpu_platform
|
1363
|
+
|
1364
|
+
# Optional. The number of VM instances in the instance group. For master
|
1365
|
+
# instance groups, must be set to 1.
|
1366
|
+
# Corresponds to the JSON property `numInstances`
|
1367
|
+
# @return [Fixnum]
|
1368
|
+
attr_accessor :num_instances
|
1369
|
+
|
1370
|
+
# Optional. Specifies the preemptibility of the instance group.The default value
|
1371
|
+
# for master and worker groups is NON_PREEMPTIBLE. This default cannot be
|
1372
|
+
# changed.The default value for secondary instances is PREEMPTIBLE.
|
1373
|
+
# Corresponds to the JSON property `preemptibility`
|
1374
|
+
# @return [String]
|
1375
|
+
attr_accessor :preemptibility
|
1376
|
+
|
1377
|
+
def initialize(**args)
|
1378
|
+
update!(**args)
|
1379
|
+
end
|
1380
|
+
|
1381
|
+
# Update properties of this object
|
1382
|
+
def update!(**args)
|
1383
|
+
@accelerators = args[:accelerators] if args.key?(:accelerators)
|
1384
|
+
@disk_config = args[:disk_config] if args.key?(:disk_config)
|
1385
|
+
@image_uri = args[:image_uri] if args.key?(:image_uri)
|
1386
|
+
@instance_names = args[:instance_names] if args.key?(:instance_names)
|
1387
|
+
@instance_references = args[:instance_references] if args.key?(:instance_references)
|
1388
|
+
@is_preemptible = args[:is_preemptible] if args.key?(:is_preemptible)
|
1389
|
+
@machine_type_uri = args[:machine_type_uri] if args.key?(:machine_type_uri)
|
1390
|
+
@managed_group_config = args[:managed_group_config] if args.key?(:managed_group_config)
|
1391
|
+
@min_cpu_platform = args[:min_cpu_platform] if args.key?(:min_cpu_platform)
|
1392
|
+
@num_instances = args[:num_instances] if args.key?(:num_instances)
|
1393
|
+
@preemptibility = args[:preemptibility] if args.key?(:preemptibility)
|
1394
|
+
end
|
1395
|
+
end
|
1396
|
+
|
1397
|
+
# A reference to a Compute Engine instance.
|
1398
|
+
class InstanceReference
|
1399
|
+
include Google::Apis::Core::Hashable
|
1400
|
+
|
1401
|
+
# The unique identifier of the Compute Engine instance.
|
1402
|
+
# Corresponds to the JSON property `instanceId`
|
1403
|
+
# @return [String]
|
1404
|
+
attr_accessor :instance_id
|
1405
|
+
|
1406
|
+
# The user-friendly name of the Compute Engine instance.
|
1407
|
+
# Corresponds to the JSON property `instanceName`
|
1408
|
+
# @return [String]
|
1409
|
+
attr_accessor :instance_name
|
1410
|
+
|
1411
|
+
# The public key used for sharing data with this instance.
|
1412
|
+
# Corresponds to the JSON property `publicKey`
|
1413
|
+
# @return [String]
|
1414
|
+
attr_accessor :public_key
|
1415
|
+
|
1416
|
+
def initialize(**args)
|
1417
|
+
update!(**args)
|
1418
|
+
end
|
1419
|
+
|
1420
|
+
# Update properties of this object
|
1421
|
+
def update!(**args)
|
1422
|
+
@instance_id = args[:instance_id] if args.key?(:instance_id)
|
1423
|
+
@instance_name = args[:instance_name] if args.key?(:instance_name)
|
1424
|
+
@public_key = args[:public_key] if args.key?(:public_key)
|
1425
|
+
end
|
1426
|
+
end
|
1427
|
+
|
1428
|
+
# A request to instantiate a workflow template.
|
1429
|
+
class InstantiateWorkflowTemplateRequest
|
1430
|
+
include Google::Apis::Core::Hashable
|
1431
|
+
|
1432
|
+
# Optional. Map from parameter names to values that should be used for those
|
1433
|
+
# parameters. Values may not exceed 1000 characters.
|
1434
|
+
# Corresponds to the JSON property `parameters`
|
1435
|
+
# @return [Hash<String,String>]
|
1436
|
+
attr_accessor :parameters
|
1437
|
+
|
1438
|
+
# Optional. A tag that prevents multiple concurrent workflow instances with the
|
1439
|
+
# same tag from running. This mitigates risk of concurrent instances started due
|
1440
|
+
# to retries.It is recommended to always set this value to a UUID (https://en.
|
1441
|
+
# wikipedia.org/wiki/Universally_unique_identifier).The tag must contain only
|
1442
|
+
# letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). The
|
1443
|
+
# maximum length is 40 characters.
|
1444
|
+
# Corresponds to the JSON property `requestId`
|
1445
|
+
# @return [String]
|
1446
|
+
attr_accessor :request_id
|
1447
|
+
|
1448
|
+
# Optional. The version of workflow template to instantiate. If specified, the
|
1449
|
+
# workflow will be instantiated only if the current version of the workflow
|
1450
|
+
# template has the supplied version.This option cannot be used to instantiate a
|
1451
|
+
# previous version of workflow template.
|
1452
|
+
# Corresponds to the JSON property `version`
|
1453
|
+
# @return [Fixnum]
|
1454
|
+
attr_accessor :version
|
1455
|
+
|
1456
|
+
def initialize(**args)
|
1457
|
+
update!(**args)
|
1458
|
+
end
|
1459
|
+
|
1460
|
+
# Update properties of this object
|
1461
|
+
def update!(**args)
|
1462
|
+
@parameters = args[:parameters] if args.key?(:parameters)
|
1463
|
+
@request_id = args[:request_id] if args.key?(:request_id)
|
1464
|
+
@version = args[:version] if args.key?(:version)
|
1465
|
+
end
|
1466
|
+
end
|
1467
|
+
|
1468
|
+
# A Dataproc job resource.
|
1469
|
+
class Job
|
1470
|
+
include Google::Apis::Core::Hashable
|
1471
|
+
|
1472
|
+
# Output only. Indicates whether the job is completed. If the value is false,
|
1473
|
+
# the job is still in progress. If true, the job is completed, and status.state
|
1474
|
+
# field will indicate if it was successful, failed, or cancelled.
|
1475
|
+
# Corresponds to the JSON property `done`
|
1476
|
+
# @return [Boolean]
|
1477
|
+
attr_accessor :done
|
1478
|
+
alias_method :done?, :done
|
1479
|
+
|
1480
|
+
# Output only. If present, the location of miscellaneous control files which may
|
1481
|
+
# be used as part of job setup and handling. If not present, control files may
|
1482
|
+
# be placed in the same location as driver_output_uri.
|
1483
|
+
# Corresponds to the JSON property `driverControlFilesUri`
|
1484
|
+
# @return [String]
|
1485
|
+
attr_accessor :driver_control_files_uri
|
1486
|
+
|
1487
|
+
# Output only. A URI pointing to the location of the stdout of the job's driver
|
1488
|
+
# program.
|
1489
|
+
# Corresponds to the JSON property `driverOutputResourceUri`
|
1490
|
+
# @return [String]
|
1491
|
+
attr_accessor :driver_output_resource_uri
|
1492
|
+
|
1493
|
+
# A Dataproc job for running Apache Hadoop MapReduce (https://hadoop.apache.org/
|
1494
|
+
# docs/current/hadoop-mapreduce-client/hadoop-mapreduce-client-core/
|
1495
|
+
# MapReduceTutorial.html) jobs on Apache Hadoop YARN (https://hadoop.apache.org/
|
1496
|
+
# docs/r2.7.1/hadoop-yarn/hadoop-yarn-site/YARN.html).
|
1497
|
+
# Corresponds to the JSON property `hadoopJob`
|
1498
|
+
# @return [Google::Apis::DataprocV1::HadoopJob]
|
1499
|
+
attr_accessor :hadoop_job
|
1500
|
+
|
1501
|
+
# A Dataproc job for running Apache Hive (https://hive.apache.org/) queries on
|
1502
|
+
# YARN.
|
1503
|
+
# Corresponds to the JSON property `hiveJob`
|
1504
|
+
# @return [Google::Apis::DataprocV1::HiveJob]
|
1505
|
+
attr_accessor :hive_job
|
1506
|
+
|
1507
|
+
# Output only. A UUID that uniquely identifies a job within the project over
|
1508
|
+
# time. This is in contrast to a user-settable reference.job_id that may be
|
1509
|
+
# reused over time.
|
1510
|
+
# Corresponds to the JSON property `jobUuid`
|
1511
|
+
# @return [String]
|
1512
|
+
attr_accessor :job_uuid
|
1513
|
+
|
1514
|
+
# Optional. The labels to associate with this job. Label keys must contain 1 to
|
1515
|
+
# 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.
|
1516
|
+
# txt). Label values may be empty, but, if present, must contain 1 to 63
|
1517
|
+
# characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt)
|
1518
|
+
# . No more than 32 labels can be associated with a job.
|
1519
|
+
# Corresponds to the JSON property `labels`
|
1520
|
+
# @return [Hash<String,String>]
|
1521
|
+
attr_accessor :labels
|
1522
|
+
|
1523
|
+
# A Dataproc job for running Apache Pig (https://pig.apache.org/) queries on
|
1524
|
+
# YARN.
|
1525
|
+
# Corresponds to the JSON property `pigJob`
|
1526
|
+
# @return [Google::Apis::DataprocV1::PigJob]
|
1527
|
+
attr_accessor :pig_job
|
1528
|
+
|
1529
|
+
# Dataproc job config.
|
1530
|
+
# Corresponds to the JSON property `placement`
|
1531
|
+
# @return [Google::Apis::DataprocV1::JobPlacement]
|
1532
|
+
attr_accessor :placement
|
1533
|
+
|
1534
|
+
# A Dataproc job for running Presto (https://prestosql.io/) queries. IMPORTANT:
|
1535
|
+
# The Dataproc Presto Optional Component (https://cloud.google.com/dataproc/docs/
|
1536
|
+
# concepts/components/presto) must be enabled when the cluster is created to
|
1537
|
+
# submit a Presto job to the cluster.
|
1538
|
+
# Corresponds to the JSON property `prestoJob`
|
1539
|
+
# @return [Google::Apis::DataprocV1::PrestoJob]
|
1540
|
+
attr_accessor :presto_job
|
1541
|
+
|
1542
|
+
# A Dataproc job for running Apache PySpark (https://spark.apache.org/docs/0.9.0/
|
1543
|
+
# python-programming-guide.html) applications on YARN.
|
1544
|
+
# Corresponds to the JSON property `pysparkJob`
|
1545
|
+
# @return [Google::Apis::DataprocV1::PySparkJob]
|
1546
|
+
attr_accessor :pyspark_job
|
1547
|
+
|
1548
|
+
# Encapsulates the full scoping used to reference a job.
|
1549
|
+
# Corresponds to the JSON property `reference`
|
1550
|
+
# @return [Google::Apis::DataprocV1::JobReference]
|
1551
|
+
attr_accessor :reference
|
1552
|
+
|
1553
|
+
# Job scheduling options.
|
1554
|
+
# Corresponds to the JSON property `scheduling`
|
1555
|
+
# @return [Google::Apis::DataprocV1::JobScheduling]
|
1556
|
+
attr_accessor :scheduling
|
1557
|
+
|
1558
|
+
# A Dataproc job for running Apache Spark (http://spark.apache.org/)
|
1559
|
+
# applications on YARN.
|
1560
|
+
# Corresponds to the JSON property `sparkJob`
|
1561
|
+
# @return [Google::Apis::DataprocV1::SparkJob]
|
1562
|
+
attr_accessor :spark_job
|
1563
|
+
|
1564
|
+
# A Dataproc job for running Apache SparkR (https://spark.apache.org/docs/latest/
|
1565
|
+
# sparkr.html) applications on YARN.
|
1566
|
+
# Corresponds to the JSON property `sparkRJob`
|
1567
|
+
# @return [Google::Apis::DataprocV1::SparkRJob]
|
1568
|
+
attr_accessor :spark_r_job
|
1569
|
+
|
1570
|
+
# A Dataproc job for running Apache Spark SQL (http://spark.apache.org/sql/)
|
1571
|
+
# queries.
|
1572
|
+
# Corresponds to the JSON property `sparkSqlJob`
|
1573
|
+
# @return [Google::Apis::DataprocV1::SparkSqlJob]
|
1574
|
+
attr_accessor :spark_sql_job
|
1575
|
+
|
1576
|
+
# Dataproc job status.
|
1577
|
+
# Corresponds to the JSON property `status`
|
1578
|
+
# @return [Google::Apis::DataprocV1::JobStatus]
|
1579
|
+
attr_accessor :status
|
1580
|
+
|
1581
|
+
# Output only. The previous job status.
|
1582
|
+
# Corresponds to the JSON property `statusHistory`
|
1583
|
+
# @return [Array<Google::Apis::DataprocV1::JobStatus>]
|
1584
|
+
attr_accessor :status_history
|
1585
|
+
|
1586
|
+
# Output only. The collection of YARN applications spun up by this job.Beta
|
1587
|
+
# Feature: This report is available for testing purposes only. It may be changed
|
1588
|
+
# before final release.
|
1589
|
+
# Corresponds to the JSON property `yarnApplications`
|
1590
|
+
# @return [Array<Google::Apis::DataprocV1::YarnApplication>]
|
1591
|
+
attr_accessor :yarn_applications
|
1592
|
+
|
1593
|
+
def initialize(**args)
|
1594
|
+
update!(**args)
|
1595
|
+
end
|
1596
|
+
|
1597
|
+
# Update properties of this object
|
1598
|
+
def update!(**args)
|
1599
|
+
@done = args[:done] if args.key?(:done)
|
1600
|
+
@driver_control_files_uri = args[:driver_control_files_uri] if args.key?(:driver_control_files_uri)
|
1601
|
+
@driver_output_resource_uri = args[:driver_output_resource_uri] if args.key?(:driver_output_resource_uri)
|
1602
|
+
@hadoop_job = args[:hadoop_job] if args.key?(:hadoop_job)
|
1603
|
+
@hive_job = args[:hive_job] if args.key?(:hive_job)
|
1604
|
+
@job_uuid = args[:job_uuid] if args.key?(:job_uuid)
|
1605
|
+
@labels = args[:labels] if args.key?(:labels)
|
1606
|
+
@pig_job = args[:pig_job] if args.key?(:pig_job)
|
1607
|
+
@placement = args[:placement] if args.key?(:placement)
|
1608
|
+
@presto_job = args[:presto_job] if args.key?(:presto_job)
|
1609
|
+
@pyspark_job = args[:pyspark_job] if args.key?(:pyspark_job)
|
1610
|
+
@reference = args[:reference] if args.key?(:reference)
|
1611
|
+
@scheduling = args[:scheduling] if args.key?(:scheduling)
|
1612
|
+
@spark_job = args[:spark_job] if args.key?(:spark_job)
|
1613
|
+
@spark_r_job = args[:spark_r_job] if args.key?(:spark_r_job)
|
1614
|
+
@spark_sql_job = args[:spark_sql_job] if args.key?(:spark_sql_job)
|
1615
|
+
@status = args[:status] if args.key?(:status)
|
1616
|
+
@status_history = args[:status_history] if args.key?(:status_history)
|
1617
|
+
@yarn_applications = args[:yarn_applications] if args.key?(:yarn_applications)
|
1618
|
+
end
|
1619
|
+
end
|
1620
|
+
|
1621
|
+
# Job Operation metadata.
|
1622
|
+
class JobMetadata
|
1623
|
+
include Google::Apis::Core::Hashable
|
1624
|
+
|
1625
|
+
# Output only. The job id.
|
1626
|
+
# Corresponds to the JSON property `jobId`
|
1627
|
+
# @return [String]
|
1628
|
+
attr_accessor :job_id
|
1629
|
+
|
1630
|
+
# Output only. Operation type.
|
1631
|
+
# Corresponds to the JSON property `operationType`
|
1632
|
+
# @return [String]
|
1633
|
+
attr_accessor :operation_type
|
1634
|
+
|
1635
|
+
# Output only. Job submission time.
|
1636
|
+
# Corresponds to the JSON property `startTime`
|
1637
|
+
# @return [String]
|
1638
|
+
attr_accessor :start_time
|
1639
|
+
|
1640
|
+
# Dataproc job status.
|
1641
|
+
# Corresponds to the JSON property `status`
|
1642
|
+
# @return [Google::Apis::DataprocV1::JobStatus]
|
1643
|
+
attr_accessor :status
|
1644
|
+
|
1645
|
+
def initialize(**args)
|
1646
|
+
update!(**args)
|
1647
|
+
end
|
1648
|
+
|
1649
|
+
# Update properties of this object
|
1650
|
+
def update!(**args)
|
1651
|
+
@job_id = args[:job_id] if args.key?(:job_id)
|
1652
|
+
@operation_type = args[:operation_type] if args.key?(:operation_type)
|
1653
|
+
@start_time = args[:start_time] if args.key?(:start_time)
|
1654
|
+
@status = args[:status] if args.key?(:status)
|
1655
|
+
end
|
1656
|
+
end
|
1657
|
+
|
1658
|
+
# Dataproc job config.
|
1659
|
+
class JobPlacement
|
1660
|
+
include Google::Apis::Core::Hashable
|
1661
|
+
|
1662
|
+
# Required. The name of the cluster where the job will be submitted.
|
1663
|
+
# Corresponds to the JSON property `clusterName`
|
1664
|
+
# @return [String]
|
1665
|
+
attr_accessor :cluster_name
|
1666
|
+
|
1667
|
+
# Output only. A cluster UUID generated by the Dataproc service when the job is
|
1668
|
+
# submitted.
|
1669
|
+
# Corresponds to the JSON property `clusterUuid`
|
1670
|
+
# @return [String]
|
1671
|
+
attr_accessor :cluster_uuid
|
1672
|
+
|
1673
|
+
def initialize(**args)
|
1674
|
+
update!(**args)
|
1675
|
+
end
|
1676
|
+
|
1677
|
+
# Update properties of this object
|
1678
|
+
def update!(**args)
|
1679
|
+
@cluster_name = args[:cluster_name] if args.key?(:cluster_name)
|
1680
|
+
@cluster_uuid = args[:cluster_uuid] if args.key?(:cluster_uuid)
|
1681
|
+
end
|
1682
|
+
end
|
1683
|
+
|
1684
|
+
# Encapsulates the full scoping used to reference a job.
|
1685
|
+
class JobReference
|
1686
|
+
include Google::Apis::Core::Hashable
|
1687
|
+
|
1688
|
+
# Optional. The job ID, which must be unique within the project.The ID must
|
1689
|
+
# contain only letters (a-z, A-Z), numbers (0-9), underscores (_), or hyphens (-)
|
1690
|
+
# . The maximum length is 100 characters.If not specified by the caller, the job
|
1691
|
+
# ID will be provided by the server.
|
1692
|
+
# Corresponds to the JSON property `jobId`
|
1693
|
+
# @return [String]
|
1694
|
+
attr_accessor :job_id
|
1695
|
+
|
1696
|
+
# Optional. The ID of the Google Cloud Platform project that the job belongs to.
|
1697
|
+
# If specified, must match the request project ID.
|
1698
|
+
# Corresponds to the JSON property `projectId`
|
1699
|
+
# @return [String]
|
1700
|
+
attr_accessor :project_id
|
1701
|
+
|
1702
|
+
def initialize(**args)
|
1703
|
+
update!(**args)
|
1704
|
+
end
|
1705
|
+
|
1706
|
+
# Update properties of this object
|
1707
|
+
def update!(**args)
|
1708
|
+
@job_id = args[:job_id] if args.key?(:job_id)
|
1709
|
+
@project_id = args[:project_id] if args.key?(:project_id)
|
1710
|
+
end
|
1711
|
+
end
|
1712
|
+
|
1713
|
+
# Job scheduling options.
|
1714
|
+
class JobScheduling
|
1715
|
+
include Google::Apis::Core::Hashable
|
1716
|
+
|
1717
|
+
# Optional. Maximum number of times per hour a driver may be restarted as a
|
1718
|
+
# result of driver exiting with non-zero code before job is reported failed.A
|
1719
|
+
# job may be reported as thrashing if driver exits with non-zero code 4 times
|
1720
|
+
# within 10 minute window.Maximum value is 10.
|
1721
|
+
# Corresponds to the JSON property `maxFailuresPerHour`
|
1722
|
+
# @return [Fixnum]
|
1723
|
+
attr_accessor :max_failures_per_hour
|
1724
|
+
|
1725
|
+
# Optional. Maximum number of times in total a driver may be restarted as a
|
1726
|
+
# result of driver exiting with non-zero code before job is reported failed.
|
1727
|
+
# Maximum value is 240.
|
1728
|
+
# Corresponds to the JSON property `maxFailuresTotal`
|
1729
|
+
# @return [Fixnum]
|
1730
|
+
attr_accessor :max_failures_total
|
1731
|
+
|
1732
|
+
def initialize(**args)
|
1733
|
+
update!(**args)
|
1734
|
+
end
|
1735
|
+
|
1736
|
+
# Update properties of this object
|
1737
|
+
def update!(**args)
|
1738
|
+
@max_failures_per_hour = args[:max_failures_per_hour] if args.key?(:max_failures_per_hour)
|
1739
|
+
@max_failures_total = args[:max_failures_total] if args.key?(:max_failures_total)
|
1740
|
+
end
|
1741
|
+
end
|
1742
|
+
|
1743
|
+
# Dataproc job status.
|
1744
|
+
class JobStatus
|
1745
|
+
include Google::Apis::Core::Hashable
|
1746
|
+
|
1747
|
+
# Optional. Output only. Job state details, such as an error description if the
|
1748
|
+
# state is ERROR.
|
1749
|
+
# Corresponds to the JSON property `details`
|
1750
|
+
# @return [String]
|
1751
|
+
attr_accessor :details
|
1752
|
+
|
1753
|
+
# Output only. A state message specifying the overall job state.
|
1754
|
+
# Corresponds to the JSON property `state`
|
1755
|
+
# @return [String]
|
1756
|
+
attr_accessor :state
|
1757
|
+
|
1758
|
+
# Output only. The time when this state was entered.
|
1759
|
+
# Corresponds to the JSON property `stateStartTime`
|
1760
|
+
# @return [String]
|
1761
|
+
attr_accessor :state_start_time
|
1762
|
+
|
1763
|
+
# Output only. Additional state information, which includes status reported by
|
1764
|
+
# the agent.
|
1765
|
+
# Corresponds to the JSON property `substate`
|
1766
|
+
# @return [String]
|
1767
|
+
attr_accessor :substate
|
1768
|
+
|
1769
|
+
def initialize(**args)
|
1770
|
+
update!(**args)
|
1771
|
+
end
|
1772
|
+
|
1773
|
+
# Update properties of this object
|
1774
|
+
def update!(**args)
|
1775
|
+
@details = args[:details] if args.key?(:details)
|
1776
|
+
@state = args[:state] if args.key?(:state)
|
1777
|
+
@state_start_time = args[:state_start_time] if args.key?(:state_start_time)
|
1778
|
+
@substate = args[:substate] if args.key?(:substate)
|
1779
|
+
end
|
1780
|
+
end
|
1781
|
+
|
1782
|
+
# Specifies Kerberos related configuration.
|
1783
|
+
class KerberosConfig
|
1784
|
+
include Google::Apis::Core::Hashable
|
1785
|
+
|
1786
|
+
# Optional. The admin server (IP or hostname) for the remote trusted realm in a
|
1787
|
+
# cross realm trust relationship.
|
1788
|
+
# Corresponds to the JSON property `crossRealmTrustAdminServer`
|
1789
|
+
# @return [String]
|
1790
|
+
attr_accessor :cross_realm_trust_admin_server
|
1791
|
+
|
1792
|
+
# Optional. The KDC (IP or hostname) for the remote trusted realm in a cross
|
1793
|
+
# realm trust relationship.
|
1794
|
+
# Corresponds to the JSON property `crossRealmTrustKdc`
|
1795
|
+
# @return [String]
|
1796
|
+
attr_accessor :cross_realm_trust_kdc
|
1797
|
+
|
1798
|
+
# Optional. The remote realm the Dataproc on-cluster KDC will trust, should the
|
1799
|
+
# user enable cross realm trust.
|
1800
|
+
# Corresponds to the JSON property `crossRealmTrustRealm`
|
1801
|
+
# @return [String]
|
1802
|
+
attr_accessor :cross_realm_trust_realm
|
1803
|
+
|
1804
|
+
# Optional. The Cloud Storage URI of a KMS encrypted file containing the shared
|
1805
|
+
# password between the on-cluster Kerberos realm and the remote trusted realm,
|
1806
|
+
# in a cross realm trust relationship.
|
1807
|
+
# Corresponds to the JSON property `crossRealmTrustSharedPasswordUri`
|
1808
|
+
# @return [String]
|
1809
|
+
attr_accessor :cross_realm_trust_shared_password_uri
|
1810
|
+
|
1811
|
+
# Optional. Flag to indicate whether to Kerberize the cluster (default: false).
|
1812
|
+
# Set this field to true to enable Kerberos on a cluster.
|
1813
|
+
# Corresponds to the JSON property `enableKerberos`
|
1814
|
+
# @return [Boolean]
|
1815
|
+
attr_accessor :enable_kerberos
|
1816
|
+
alias_method :enable_kerberos?, :enable_kerberos
|
1817
|
+
|
1818
|
+
# Optional. The Cloud Storage URI of a KMS encrypted file containing the master
|
1819
|
+
# key of the KDC database.
|
1820
|
+
# Corresponds to the JSON property `kdcDbKeyUri`
|
1821
|
+
# @return [String]
|
1822
|
+
attr_accessor :kdc_db_key_uri
|
1823
|
+
|
1824
|
+
# Optional. The Cloud Storage URI of a KMS encrypted file containing the
|
1825
|
+
# password to the user provided key. For the self-signed certificate, this
|
1826
|
+
# password is generated by Dataproc.
|
1827
|
+
# Corresponds to the JSON property `keyPasswordUri`
|
1828
|
+
# @return [String]
|
1829
|
+
attr_accessor :key_password_uri
|
1830
|
+
|
1831
|
+
# Optional. The Cloud Storage URI of a KMS encrypted file containing the
|
1832
|
+
# password to the user provided keystore. For the self-signed certificate, this
|
1833
|
+
# password is generated by Dataproc.
|
1834
|
+
# Corresponds to the JSON property `keystorePasswordUri`
|
1835
|
+
# @return [String]
|
1836
|
+
attr_accessor :keystore_password_uri
|
1837
|
+
|
1838
|
+
# Optional. The Cloud Storage URI of the keystore file used for SSL encryption.
|
1839
|
+
# If not provided, Dataproc will provide a self-signed certificate.
|
1840
|
+
# Corresponds to the JSON property `keystoreUri`
|
1841
|
+
# @return [String]
|
1842
|
+
attr_accessor :keystore_uri
|
1843
|
+
|
1844
|
+
# Optional. The uri of the KMS key used to encrypt various sensitive files.
|
1845
|
+
# Corresponds to the JSON property `kmsKeyUri`
|
1846
|
+
# @return [String]
|
1847
|
+
attr_accessor :kms_key_uri
|
1848
|
+
|
1849
|
+
# Optional. The name of the on-cluster Kerberos realm. If not specified, the
|
1850
|
+
# uppercased domain of hostnames will be the realm.
|
1851
|
+
# Corresponds to the JSON property `realm`
|
1852
|
+
# @return [String]
|
1853
|
+
attr_accessor :realm
|
1854
|
+
|
1855
|
+
# Optional. The Cloud Storage URI of a KMS encrypted file containing the root
|
1856
|
+
# principal password.
|
1857
|
+
# Corresponds to the JSON property `rootPrincipalPasswordUri`
|
1858
|
+
# @return [String]
|
1859
|
+
attr_accessor :root_principal_password_uri
|
1860
|
+
|
1861
|
+
# Optional. The lifetime of the ticket granting ticket, in hours. If not
|
1862
|
+
# specified, or user specifies 0, then default value 10 will be used.
|
1863
|
+
# Corresponds to the JSON property `tgtLifetimeHours`
|
1864
|
+
# @return [Fixnum]
|
1865
|
+
attr_accessor :tgt_lifetime_hours
|
1866
|
+
|
1867
|
+
# Optional. The Cloud Storage URI of a KMS encrypted file containing the
|
1868
|
+
# password to the user provided truststore. For the self-signed certificate,
|
1869
|
+
# this password is generated by Dataproc.
|
1870
|
+
# Corresponds to the JSON property `truststorePasswordUri`
|
1871
|
+
# @return [String]
|
1872
|
+
attr_accessor :truststore_password_uri
|
1873
|
+
|
1874
|
+
# Optional. The Cloud Storage URI of the truststore file used for SSL encryption.
|
1875
|
+
# If not provided, Dataproc will provide a self-signed certificate.
|
1876
|
+
# Corresponds to the JSON property `truststoreUri`
|
1877
|
+
# @return [String]
|
1878
|
+
attr_accessor :truststore_uri
|
1879
|
+
|
1880
|
+
def initialize(**args)
|
1881
|
+
update!(**args)
|
1882
|
+
end
|
1883
|
+
|
1884
|
+
# Update properties of this object
|
1885
|
+
def update!(**args)
|
1886
|
+
@cross_realm_trust_admin_server = args[:cross_realm_trust_admin_server] if args.key?(:cross_realm_trust_admin_server)
|
1887
|
+
@cross_realm_trust_kdc = args[:cross_realm_trust_kdc] if args.key?(:cross_realm_trust_kdc)
|
1888
|
+
@cross_realm_trust_realm = args[:cross_realm_trust_realm] if args.key?(:cross_realm_trust_realm)
|
1889
|
+
@cross_realm_trust_shared_password_uri = args[:cross_realm_trust_shared_password_uri] if args.key?(:cross_realm_trust_shared_password_uri)
|
1890
|
+
@enable_kerberos = args[:enable_kerberos] if args.key?(:enable_kerberos)
|
1891
|
+
@kdc_db_key_uri = args[:kdc_db_key_uri] if args.key?(:kdc_db_key_uri)
|
1892
|
+
@key_password_uri = args[:key_password_uri] if args.key?(:key_password_uri)
|
1893
|
+
@keystore_password_uri = args[:keystore_password_uri] if args.key?(:keystore_password_uri)
|
1894
|
+
@keystore_uri = args[:keystore_uri] if args.key?(:keystore_uri)
|
1895
|
+
@kms_key_uri = args[:kms_key_uri] if args.key?(:kms_key_uri)
|
1896
|
+
@realm = args[:realm] if args.key?(:realm)
|
1897
|
+
@root_principal_password_uri = args[:root_principal_password_uri] if args.key?(:root_principal_password_uri)
|
1898
|
+
@tgt_lifetime_hours = args[:tgt_lifetime_hours] if args.key?(:tgt_lifetime_hours)
|
1899
|
+
@truststore_password_uri = args[:truststore_password_uri] if args.key?(:truststore_password_uri)
|
1900
|
+
@truststore_uri = args[:truststore_uri] if args.key?(:truststore_uri)
|
1901
|
+
end
|
1902
|
+
end
|
1903
|
+
|
1904
|
+
# Specifies the cluster auto-delete schedule configuration.
|
1905
|
+
class LifecycleConfig
|
1906
|
+
include Google::Apis::Core::Hashable
|
1907
|
+
|
1908
|
+
# Optional. The time when cluster will be auto-deleted (see JSON representation
|
1909
|
+
# of Timestamp (https://developers.google.com/protocol-buffers/docs/proto3#json))
|
1910
|
+
# .
|
1911
|
+
# Corresponds to the JSON property `autoDeleteTime`
|
1912
|
+
# @return [String]
|
1913
|
+
attr_accessor :auto_delete_time
|
1914
|
+
|
1915
|
+
# Optional. The lifetime duration of cluster. The cluster will be auto-deleted
|
1916
|
+
# at the end of this period. Minimum value is 10 minutes; maximum value is 14
|
1917
|
+
# days (see JSON representation of Duration (https://developers.google.com/
|
1918
|
+
# protocol-buffers/docs/proto3#json)).
|
1919
|
+
# Corresponds to the JSON property `autoDeleteTtl`
|
1920
|
+
# @return [String]
|
1921
|
+
attr_accessor :auto_delete_ttl
|
1922
|
+
|
1923
|
+
# Optional. The duration to keep the cluster alive while idling (when no jobs
|
1924
|
+
# are running). Passing this threshold will cause the cluster to be deleted.
|
1925
|
+
# Minimum value is 5 minutes; maximum value is 14 days (see JSON representation
|
1926
|
+
# of Duration (https://developers.google.com/protocol-buffers/docs/proto3#json).
|
1927
|
+
# Corresponds to the JSON property `idleDeleteTtl`
|
1928
|
+
# @return [String]
|
1929
|
+
attr_accessor :idle_delete_ttl
|
1930
|
+
|
1931
|
+
# Output only. The time when cluster became idle (most recent job finished) and
|
1932
|
+
# became eligible for deletion due to idleness (see JSON representation of
|
1933
|
+
# Timestamp (https://developers.google.com/protocol-buffers/docs/proto3#json)).
|
1934
|
+
# Corresponds to the JSON property `idleStartTime`
|
1935
|
+
# @return [String]
|
1936
|
+
attr_accessor :idle_start_time
|
1937
|
+
|
1938
|
+
def initialize(**args)
|
1939
|
+
update!(**args)
|
1940
|
+
end
|
1941
|
+
|
1942
|
+
# Update properties of this object
|
1943
|
+
def update!(**args)
|
1944
|
+
@auto_delete_time = args[:auto_delete_time] if args.key?(:auto_delete_time)
|
1945
|
+
@auto_delete_ttl = args[:auto_delete_ttl] if args.key?(:auto_delete_ttl)
|
1946
|
+
@idle_delete_ttl = args[:idle_delete_ttl] if args.key?(:idle_delete_ttl)
|
1947
|
+
@idle_start_time = args[:idle_start_time] if args.key?(:idle_start_time)
|
1948
|
+
end
|
1949
|
+
end
|
1950
|
+
|
1951
|
+
# A response to a request to list autoscaling policies in a project.
|
1952
|
+
class ListAutoscalingPoliciesResponse
|
1953
|
+
include Google::Apis::Core::Hashable
|
1954
|
+
|
1955
|
+
# Output only. This token is included in the response if there are more results
|
1956
|
+
# to fetch.
|
1957
|
+
# Corresponds to the JSON property `nextPageToken`
|
1958
|
+
# @return [String]
|
1959
|
+
attr_accessor :next_page_token
|
1960
|
+
|
1961
|
+
# Output only. Autoscaling policies list.
|
1962
|
+
# Corresponds to the JSON property `policies`
|
1963
|
+
# @return [Array<Google::Apis::DataprocV1::AutoscalingPolicy>]
|
1964
|
+
attr_accessor :policies
|
1965
|
+
|
1966
|
+
def initialize(**args)
|
1967
|
+
update!(**args)
|
1968
|
+
end
|
1969
|
+
|
1970
|
+
# Update properties of this object
|
1971
|
+
def update!(**args)
|
1972
|
+
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
1973
|
+
@policies = args[:policies] if args.key?(:policies)
|
1974
|
+
end
|
1975
|
+
end
|
1976
|
+
|
1977
|
+
# The list of all clusters in a project.
|
1978
|
+
class ListClustersResponse
|
1979
|
+
include Google::Apis::Core::Hashable
|
1980
|
+
|
1981
|
+
# Output only. The clusters in the project.
|
1982
|
+
# Corresponds to the JSON property `clusters`
|
1983
|
+
# @return [Array<Google::Apis::DataprocV1::Cluster>]
|
1984
|
+
attr_accessor :clusters
|
1985
|
+
|
1986
|
+
# Output only. This token is included in the response if there are more results
|
1987
|
+
# to fetch. To fetch additional results, provide this value as the page_token in
|
1988
|
+
# a subsequent ListClustersRequest.
|
1989
|
+
# Corresponds to the JSON property `nextPageToken`
|
1990
|
+
# @return [String]
|
1991
|
+
attr_accessor :next_page_token
|
1992
|
+
|
1993
|
+
def initialize(**args)
|
1994
|
+
update!(**args)
|
1995
|
+
end
|
1996
|
+
|
1997
|
+
# Update properties of this object
|
1998
|
+
def update!(**args)
|
1999
|
+
@clusters = args[:clusters] if args.key?(:clusters)
|
2000
|
+
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
2001
|
+
end
|
2002
|
+
end
|
2003
|
+
|
2004
|
+
# A list of jobs in a project.
|
2005
|
+
class ListJobsResponse
|
2006
|
+
include Google::Apis::Core::Hashable
|
2007
|
+
|
2008
|
+
# Output only. Jobs list.
|
2009
|
+
# Corresponds to the JSON property `jobs`
|
2010
|
+
# @return [Array<Google::Apis::DataprocV1::Job>]
|
2011
|
+
attr_accessor :jobs
|
2012
|
+
|
2013
|
+
# Optional. This token is included in the response if there are more results to
|
2014
|
+
# fetch. To fetch additional results, provide this value as the page_token in a
|
2015
|
+
# subsequent ListJobsRequest.
|
2016
|
+
# Corresponds to the JSON property `nextPageToken`
|
2017
|
+
# @return [String]
|
2018
|
+
attr_accessor :next_page_token
|
2019
|
+
|
2020
|
+
def initialize(**args)
|
2021
|
+
update!(**args)
|
2022
|
+
end
|
2023
|
+
|
2024
|
+
# Update properties of this object
|
2025
|
+
def update!(**args)
|
2026
|
+
@jobs = args[:jobs] if args.key?(:jobs)
|
2027
|
+
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
2028
|
+
end
|
2029
|
+
end
|
2030
|
+
|
2031
|
+
# The response message for Operations.ListOperations.
|
2032
|
+
class ListOperationsResponse
|
2033
|
+
include Google::Apis::Core::Hashable
|
2034
|
+
|
2035
|
+
# The standard List next-page token.
|
2036
|
+
# Corresponds to the JSON property `nextPageToken`
|
2037
|
+
# @return [String]
|
2038
|
+
attr_accessor :next_page_token
|
2039
|
+
|
2040
|
+
# A list of operations that matches the specified filter in the request.
|
2041
|
+
# Corresponds to the JSON property `operations`
|
2042
|
+
# @return [Array<Google::Apis::DataprocV1::Operation>]
|
2043
|
+
attr_accessor :operations
|
2044
|
+
|
2045
|
+
def initialize(**args)
|
2046
|
+
update!(**args)
|
2047
|
+
end
|
2048
|
+
|
2049
|
+
# Update properties of this object
|
2050
|
+
def update!(**args)
|
2051
|
+
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
2052
|
+
@operations = args[:operations] if args.key?(:operations)
|
2053
|
+
end
|
2054
|
+
end
|
2055
|
+
|
2056
|
+
# A response to a request to list workflow templates in a project.
|
2057
|
+
class ListWorkflowTemplatesResponse
|
2058
|
+
include Google::Apis::Core::Hashable
|
2059
|
+
|
2060
|
+
# Output only. This token is included in the response if there are more results
|
2061
|
+
# to fetch. To fetch additional results, provide this value as the page_token in
|
2062
|
+
# a subsequent ListWorkflowTemplatesRequest.
|
2063
|
+
# Corresponds to the JSON property `nextPageToken`
|
2064
|
+
# @return [String]
|
2065
|
+
attr_accessor :next_page_token
|
2066
|
+
|
2067
|
+
# Output only. WorkflowTemplates list.
|
2068
|
+
# Corresponds to the JSON property `templates`
|
2069
|
+
# @return [Array<Google::Apis::DataprocV1::WorkflowTemplate>]
|
2070
|
+
attr_accessor :templates
|
2071
|
+
|
2072
|
+
def initialize(**args)
|
2073
|
+
update!(**args)
|
2074
|
+
end
|
2075
|
+
|
2076
|
+
# Update properties of this object
|
2077
|
+
def update!(**args)
|
2078
|
+
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
2079
|
+
@templates = args[:templates] if args.key?(:templates)
|
2080
|
+
end
|
2081
|
+
end
|
2082
|
+
|
2083
|
+
# The runtime logging config of the job.
|
2084
|
+
class LoggingConfig
|
2085
|
+
include Google::Apis::Core::Hashable
|
2086
|
+
|
2087
|
+
# The per-package log levels for the driver. This may include "root" package
|
2088
|
+
# name to configure rootLogger. Examples: 'com.google = FATAL', 'root = INFO', '
|
2089
|
+
# org.apache = DEBUG'
|
2090
|
+
# Corresponds to the JSON property `driverLogLevels`
|
2091
|
+
# @return [Hash<String,String>]
|
2092
|
+
attr_accessor :driver_log_levels
|
2093
|
+
|
2094
|
+
def initialize(**args)
|
2095
|
+
update!(**args)
|
2096
|
+
end
|
2097
|
+
|
2098
|
+
# Update properties of this object
|
2099
|
+
def update!(**args)
|
2100
|
+
@driver_log_levels = args[:driver_log_levels] if args.key?(:driver_log_levels)
|
2101
|
+
end
|
2102
|
+
end
|
2103
|
+
|
2104
|
+
# Cluster that is managed by the workflow.
|
2105
|
+
class ManagedCluster
|
2106
|
+
include Google::Apis::Core::Hashable
|
2107
|
+
|
2108
|
+
# Required. The cluster name prefix. A unique cluster name will be formed by
|
2109
|
+
# appending a random suffix.The name must contain only lower-case letters (a-z),
|
2110
|
+
# numbers (0-9), and hyphens (-). Must begin with a letter. Cannot begin or end
|
2111
|
+
# with hyphen. Must consist of between 2 and 35 characters.
|
2112
|
+
# Corresponds to the JSON property `clusterName`
|
2113
|
+
# @return [String]
|
2114
|
+
attr_accessor :cluster_name
|
2115
|
+
|
2116
|
+
# The cluster config.
|
2117
|
+
# Corresponds to the JSON property `config`
|
2118
|
+
# @return [Google::Apis::DataprocV1::ClusterConfig]
|
2119
|
+
attr_accessor :config
|
2120
|
+
|
2121
|
+
# Optional. The labels to associate with this cluster.Label keys must be between
|
2122
|
+
# 1 and 63 characters long, and must conform to the following PCRE regular
|
2123
|
+
# expression: \p`Ll`\p`Lo``0,62`Label values must be between 1 and 63 characters
|
2124
|
+
# long, and must conform to the following PCRE regular expression: \p`Ll`\p`Lo`\
|
2125
|
+
# p`N`_-`0,63`No more than 32 labels can be associated with a given cluster.
|
2126
|
+
# Corresponds to the JSON property `labels`
|
2127
|
+
# @return [Hash<String,String>]
|
2128
|
+
attr_accessor :labels
|
2129
|
+
|
2130
|
+
def initialize(**args)
|
2131
|
+
update!(**args)
|
2132
|
+
end
|
2133
|
+
|
2134
|
+
# Update properties of this object
|
2135
|
+
def update!(**args)
|
2136
|
+
@cluster_name = args[:cluster_name] if args.key?(:cluster_name)
|
2137
|
+
@config = args[:config] if args.key?(:config)
|
2138
|
+
@labels = args[:labels] if args.key?(:labels)
|
2139
|
+
end
|
2140
|
+
end
|
2141
|
+
|
2142
|
+
# Specifies the resources used to actively manage an instance group.
|
2143
|
+
class ManagedGroupConfig
|
2144
|
+
include Google::Apis::Core::Hashable
|
2145
|
+
|
2146
|
+
# Output only. The name of the Instance Group Manager for this group.
|
2147
|
+
# Corresponds to the JSON property `instanceGroupManagerName`
|
2148
|
+
# @return [String]
|
2149
|
+
attr_accessor :instance_group_manager_name
|
2150
|
+
|
2151
|
+
# Output only. The name of the Instance Template used for the Managed Instance
|
2152
|
+
# Group.
|
2153
|
+
# Corresponds to the JSON property `instanceTemplateName`
|
2154
|
+
# @return [String]
|
2155
|
+
attr_accessor :instance_template_name
|
2156
|
+
|
2157
|
+
def initialize(**args)
|
2158
|
+
update!(**args)
|
2159
|
+
end
|
2160
|
+
|
2161
|
+
# Update properties of this object
|
2162
|
+
def update!(**args)
|
2163
|
+
@instance_group_manager_name = args[:instance_group_manager_name] if args.key?(:instance_group_manager_name)
|
2164
|
+
@instance_template_name = args[:instance_template_name] if args.key?(:instance_template_name)
|
2165
|
+
end
|
2166
|
+
end
|
2167
|
+
|
2168
|
+
# Node Group Affinity for clusters using sole-tenant node groups.
|
2169
|
+
class NodeGroupAffinity
|
2170
|
+
include Google::Apis::Core::Hashable
|
2171
|
+
|
2172
|
+
# Required. The URI of a sole-tenant node group resource (https://cloud.google.
|
2173
|
+
# com/compute/docs/reference/rest/v1/nodeGroups) that the cluster will be
|
2174
|
+
# created on.A full URL, partial URI, or node group name are valid. Examples:
|
2175
|
+
# https://www.googleapis.com/compute/v1/projects/[project_id]/zones/us-central1-
|
2176
|
+
# a/nodeGroups/node-group-1 projects/[project_id]/zones/us-central1-a/nodeGroups/
|
2177
|
+
# node-group-1 node-group-1
|
2178
|
+
# Corresponds to the JSON property `nodeGroupUri`
|
2179
|
+
# @return [String]
|
2180
|
+
attr_accessor :node_group_uri
|
2181
|
+
|
2182
|
+
def initialize(**args)
|
2183
|
+
update!(**args)
|
2184
|
+
end
|
2185
|
+
|
2186
|
+
# Update properties of this object
|
2187
|
+
def update!(**args)
|
2188
|
+
@node_group_uri = args[:node_group_uri] if args.key?(:node_group_uri)
|
2189
|
+
end
|
2190
|
+
end
|
2191
|
+
|
2192
|
+
# Specifies an executable to run on a fully configured node and a timeout period
|
2193
|
+
# for executable completion.
|
2194
|
+
class NodeInitializationAction
|
2195
|
+
include Google::Apis::Core::Hashable
|
2196
|
+
|
2197
|
+
# Required. Cloud Storage URI of executable file.
|
2198
|
+
# Corresponds to the JSON property `executableFile`
|
2199
|
+
# @return [String]
|
2200
|
+
attr_accessor :executable_file
|
2201
|
+
|
2202
|
+
# Optional. Amount of time executable has to complete. Default is 10 minutes (
|
2203
|
+
# see JSON representation of Duration (https://developers.google.com/protocol-
|
2204
|
+
# buffers/docs/proto3#json)).Cluster creation fails with an explanatory error
|
2205
|
+
# message (the name of the executable that caused the error and the exceeded
|
2206
|
+
# timeout period) if the executable is not completed at end of the timeout
|
2207
|
+
# period.
|
2208
|
+
# Corresponds to the JSON property `executionTimeout`
|
2209
|
+
# @return [String]
|
2210
|
+
attr_accessor :execution_timeout
|
2211
|
+
|
2212
|
+
def initialize(**args)
|
2213
|
+
update!(**args)
|
2214
|
+
end
|
2215
|
+
|
2216
|
+
# Update properties of this object
|
2217
|
+
def update!(**args)
|
2218
|
+
@executable_file = args[:executable_file] if args.key?(:executable_file)
|
2219
|
+
@execution_timeout = args[:execution_timeout] if args.key?(:execution_timeout)
|
2220
|
+
end
|
2221
|
+
end
|
2222
|
+
|
2223
|
+
# This resource represents a long-running operation that is the result of a
|
2224
|
+
# network API call.
|
2225
|
+
class Operation
|
2226
|
+
include Google::Apis::Core::Hashable
|
2227
|
+
|
2228
|
+
# If the value is false, it means the operation is still in progress. If true,
|
2229
|
+
# the operation is completed, and either error or response is available.
|
2230
|
+
# Corresponds to the JSON property `done`
|
2231
|
+
# @return [Boolean]
|
2232
|
+
attr_accessor :done
|
2233
|
+
alias_method :done?, :done
|
2234
|
+
|
2235
|
+
# The Status type defines a logical error model that is suitable for different
|
2236
|
+
# programming environments, including REST APIs and RPC APIs. It is used by gRPC
|
2237
|
+
# (https://github.com/grpc). Each Status message contains three pieces of data:
|
2238
|
+
# error code, error message, and error details.You can find out more about this
|
2239
|
+
# error model and how to work with it in the API Design Guide (https://cloud.
|
2240
|
+
# google.com/apis/design/errors).
|
2241
|
+
# Corresponds to the JSON property `error`
|
2242
|
+
# @return [Google::Apis::DataprocV1::Status]
|
2243
|
+
attr_accessor :error
|
2244
|
+
|
2245
|
+
# Service-specific metadata associated with the operation. It typically contains
|
2246
|
+
# progress information and common metadata such as create time. Some services
|
2247
|
+
# might not provide such metadata. Any method that returns a long-running
|
2248
|
+
# operation should document the metadata type, if any.
|
2249
|
+
# Corresponds to the JSON property `metadata`
|
2250
|
+
# @return [Hash<String,Object>]
|
2251
|
+
attr_accessor :metadata
|
2252
|
+
|
2253
|
+
# The server-assigned name, which is only unique within the same service that
|
2254
|
+
# originally returns it. If you use the default HTTP mapping, the name should be
|
2255
|
+
# a resource name ending with operations/`unique_id`.
|
2256
|
+
# Corresponds to the JSON property `name`
|
2257
|
+
# @return [String]
|
2258
|
+
attr_accessor :name
|
2259
|
+
|
2260
|
+
# The normal response of the operation in case of success. If the original
|
2261
|
+
# method returns no data on success, such as Delete, the response is google.
|
2262
|
+
# protobuf.Empty. If the original method is standard Get/Create/Update, the
|
2263
|
+
# response should be the resource. For other methods, the response should have
|
2264
|
+
# the type XxxResponse, where Xxx is the original method name. For example, if
|
2265
|
+
# the original method name is TakeSnapshot(), the inferred response type is
|
2266
|
+
# TakeSnapshotResponse.
|
2267
|
+
# Corresponds to the JSON property `response`
|
2268
|
+
# @return [Hash<String,Object>]
|
2269
|
+
attr_accessor :response
|
2270
|
+
|
2271
|
+
def initialize(**args)
|
2272
|
+
update!(**args)
|
2273
|
+
end
|
2274
|
+
|
2275
|
+
# Update properties of this object
|
2276
|
+
def update!(**args)
|
2277
|
+
@done = args[:done] if args.key?(:done)
|
2278
|
+
@error = args[:error] if args.key?(:error)
|
2279
|
+
@metadata = args[:metadata] if args.key?(:metadata)
|
2280
|
+
@name = args[:name] if args.key?(:name)
|
2281
|
+
@response = args[:response] if args.key?(:response)
|
2282
|
+
end
|
2283
|
+
end
|
2284
|
+
|
2285
|
+
# A job executed by the workflow.
|
2286
|
+
class OrderedJob
|
2287
|
+
include Google::Apis::Core::Hashable
|
2288
|
+
|
2289
|
+
# A Dataproc job for running Apache Hadoop MapReduce (https://hadoop.apache.org/
|
2290
|
+
# docs/current/hadoop-mapreduce-client/hadoop-mapreduce-client-core/
|
2291
|
+
# MapReduceTutorial.html) jobs on Apache Hadoop YARN (https://hadoop.apache.org/
|
2292
|
+
# docs/r2.7.1/hadoop-yarn/hadoop-yarn-site/YARN.html).
|
2293
|
+
# Corresponds to the JSON property `hadoopJob`
|
2294
|
+
# @return [Google::Apis::DataprocV1::HadoopJob]
|
2295
|
+
attr_accessor :hadoop_job
|
2296
|
+
|
2297
|
+
# A Dataproc job for running Apache Hive (https://hive.apache.org/) queries on
|
2298
|
+
# YARN.
|
2299
|
+
# Corresponds to the JSON property `hiveJob`
|
2300
|
+
# @return [Google::Apis::DataprocV1::HiveJob]
|
2301
|
+
attr_accessor :hive_job
|
2302
|
+
|
2303
|
+
# Optional. The labels to associate with this job.Label keys must be between 1
|
2304
|
+
# and 63 characters long, and must conform to the following regular expression: \
|
2305
|
+
# p`Ll`\p`Lo``0,62`Label values must be between 1 and 63 characters long, and
|
2306
|
+
# must conform to the following regular expression: \p`Ll`\p`Lo`\p`N`_-`0,63`No
|
2307
|
+
# more than 32 labels can be associated with a given job.
|
2308
|
+
# Corresponds to the JSON property `labels`
|
2309
|
+
# @return [Hash<String,String>]
|
2310
|
+
attr_accessor :labels
|
2311
|
+
|
2312
|
+
# A Dataproc job for running Apache Pig (https://pig.apache.org/) queries on
|
2313
|
+
# YARN.
|
2314
|
+
# Corresponds to the JSON property `pigJob`
|
2315
|
+
# @return [Google::Apis::DataprocV1::PigJob]
|
2316
|
+
attr_accessor :pig_job
|
2317
|
+
|
2318
|
+
# Optional. The optional list of prerequisite job step_ids. If not specified,
|
2319
|
+
# the job will start at the beginning of workflow.
|
2320
|
+
# Corresponds to the JSON property `prerequisiteStepIds`
|
2321
|
+
# @return [Array<String>]
|
2322
|
+
attr_accessor :prerequisite_step_ids
|
2323
|
+
|
2324
|
+
# A Dataproc job for running Presto (https://prestosql.io/) queries. IMPORTANT:
|
2325
|
+
# The Dataproc Presto Optional Component (https://cloud.google.com/dataproc/docs/
|
2326
|
+
# concepts/components/presto) must be enabled when the cluster is created to
|
2327
|
+
# submit a Presto job to the cluster.
|
2328
|
+
# Corresponds to the JSON property `prestoJob`
|
2329
|
+
# @return [Google::Apis::DataprocV1::PrestoJob]
|
2330
|
+
attr_accessor :presto_job
|
2331
|
+
|
2332
|
+
# A Dataproc job for running Apache PySpark (https://spark.apache.org/docs/0.9.0/
|
2333
|
+
# python-programming-guide.html) applications on YARN.
|
2334
|
+
# Corresponds to the JSON property `pysparkJob`
|
2335
|
+
# @return [Google::Apis::DataprocV1::PySparkJob]
|
2336
|
+
attr_accessor :pyspark_job
|
2337
|
+
|
2338
|
+
# Job scheduling options.
|
2339
|
+
# Corresponds to the JSON property `scheduling`
|
2340
|
+
# @return [Google::Apis::DataprocV1::JobScheduling]
|
2341
|
+
attr_accessor :scheduling
|
2342
|
+
|
2343
|
+
# A Dataproc job for running Apache Spark (http://spark.apache.org/)
|
2344
|
+
# applications on YARN.
|
2345
|
+
# Corresponds to the JSON property `sparkJob`
|
2346
|
+
# @return [Google::Apis::DataprocV1::SparkJob]
|
2347
|
+
attr_accessor :spark_job
|
2348
|
+
|
2349
|
+
# A Dataproc job for running Apache SparkR (https://spark.apache.org/docs/latest/
|
2350
|
+
# sparkr.html) applications on YARN.
|
2351
|
+
# Corresponds to the JSON property `sparkRJob`
|
2352
|
+
# @return [Google::Apis::DataprocV1::SparkRJob]
|
2353
|
+
attr_accessor :spark_r_job
|
2354
|
+
|
2355
|
+
# A Dataproc job for running Apache Spark SQL (http://spark.apache.org/sql/)
|
2356
|
+
# queries.
|
2357
|
+
# Corresponds to the JSON property `sparkSqlJob`
|
2358
|
+
# @return [Google::Apis::DataprocV1::SparkSqlJob]
|
2359
|
+
attr_accessor :spark_sql_job
|
2360
|
+
|
2361
|
+
# Required. The step id. The id must be unique among all jobs within the
|
2362
|
+
# template.The step id is used as prefix for job id, as job goog-dataproc-
|
2363
|
+
# workflow-step-id label, and in prerequisiteStepIds field from other steps.The
|
2364
|
+
# id must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and
|
2365
|
+
# hyphens (-). Cannot begin or end with underscore or hyphen. Must consist of
|
2366
|
+
# between 3 and 50 characters.
|
2367
|
+
# Corresponds to the JSON property `stepId`
|
2368
|
+
# @return [String]
|
2369
|
+
attr_accessor :step_id
|
2370
|
+
|
2371
|
+
def initialize(**args)
|
2372
|
+
update!(**args)
|
2373
|
+
end
|
2374
|
+
|
2375
|
+
# Update properties of this object
|
2376
|
+
def update!(**args)
|
2377
|
+
@hadoop_job = args[:hadoop_job] if args.key?(:hadoop_job)
|
2378
|
+
@hive_job = args[:hive_job] if args.key?(:hive_job)
|
2379
|
+
@labels = args[:labels] if args.key?(:labels)
|
2380
|
+
@pig_job = args[:pig_job] if args.key?(:pig_job)
|
2381
|
+
@prerequisite_step_ids = args[:prerequisite_step_ids] if args.key?(:prerequisite_step_ids)
|
2382
|
+
@presto_job = args[:presto_job] if args.key?(:presto_job)
|
2383
|
+
@pyspark_job = args[:pyspark_job] if args.key?(:pyspark_job)
|
2384
|
+
@scheduling = args[:scheduling] if args.key?(:scheduling)
|
2385
|
+
@spark_job = args[:spark_job] if args.key?(:spark_job)
|
2386
|
+
@spark_r_job = args[:spark_r_job] if args.key?(:spark_r_job)
|
2387
|
+
@spark_sql_job = args[:spark_sql_job] if args.key?(:spark_sql_job)
|
2388
|
+
@step_id = args[:step_id] if args.key?(:step_id)
|
2389
|
+
end
|
2390
|
+
end
|
2391
|
+
|
2392
|
+
# Configuration for parameter validation.
|
2393
|
+
class ParameterValidation
|
2394
|
+
include Google::Apis::Core::Hashable
|
2395
|
+
|
2396
|
+
# Validation based on regular expressions.
|
2397
|
+
# Corresponds to the JSON property `regex`
|
2398
|
+
# @return [Google::Apis::DataprocV1::RegexValidation]
|
2399
|
+
attr_accessor :regex
|
2400
|
+
|
2401
|
+
# Validation based on a list of allowed values.
|
2402
|
+
# Corresponds to the JSON property `values`
|
2403
|
+
# @return [Google::Apis::DataprocV1::ValueValidation]
|
2404
|
+
attr_accessor :values
|
2405
|
+
|
2406
|
+
def initialize(**args)
|
2407
|
+
update!(**args)
|
2408
|
+
end
|
2409
|
+
|
2410
|
+
# Update properties of this object
|
2411
|
+
def update!(**args)
|
2412
|
+
@regex = args[:regex] if args.key?(:regex)
|
2413
|
+
@values = args[:values] if args.key?(:values)
|
2414
|
+
end
|
2415
|
+
end
|
2416
|
+
|
2417
|
+
# A Dataproc job for running Apache Pig (https://pig.apache.org/) queries on
|
2418
|
+
# YARN.
|
2419
|
+
class PigJob
|
2420
|
+
include Google::Apis::Core::Hashable
|
2421
|
+
|
2422
|
+
# Optional. Whether to continue executing queries if a query fails. The default
|
2423
|
+
# value is false. Setting to true can be useful when executing independent
|
2424
|
+
# parallel queries.
|
2425
|
+
# Corresponds to the JSON property `continueOnFailure`
|
2426
|
+
# @return [Boolean]
|
2427
|
+
attr_accessor :continue_on_failure
|
2428
|
+
alias_method :continue_on_failure?, :continue_on_failure
|
2429
|
+
|
2430
|
+
# Optional. HCFS URIs of jar files to add to the CLASSPATH of the Pig Client and
|
2431
|
+
# Hadoop MapReduce (MR) tasks. Can contain Pig UDFs.
|
2432
|
+
# Corresponds to the JSON property `jarFileUris`
|
2433
|
+
# @return [Array<String>]
|
2434
|
+
attr_accessor :jar_file_uris
|
2435
|
+
|
2436
|
+
# The runtime logging config of the job.
|
2437
|
+
# Corresponds to the JSON property `loggingConfig`
|
2438
|
+
# @return [Google::Apis::DataprocV1::LoggingConfig]
|
2439
|
+
attr_accessor :logging_config
|
2440
|
+
|
2441
|
+
# Optional. A mapping of property names to values, used to configure Pig.
|
2442
|
+
# Properties that conflict with values set by the Dataproc API may be
|
2443
|
+
# overwritten. Can include properties set in /etc/hadoop/conf/*-site.xml, /etc/
|
2444
|
+
# pig/conf/pig.properties, and classes in user code.
|
2445
|
+
# Corresponds to the JSON property `properties`
|
2446
|
+
# @return [Hash<String,String>]
|
2447
|
+
attr_accessor :properties
|
2448
|
+
|
2449
|
+
# The HCFS URI of the script that contains the Pig queries.
|
2450
|
+
# Corresponds to the JSON property `queryFileUri`
|
2451
|
+
# @return [String]
|
2452
|
+
attr_accessor :query_file_uri
|
2453
|
+
|
2454
|
+
# A list of queries to run on a cluster.
|
2455
|
+
# Corresponds to the JSON property `queryList`
|
2456
|
+
# @return [Google::Apis::DataprocV1::QueryList]
|
2457
|
+
attr_accessor :query_list
|
2458
|
+
|
2459
|
+
# Optional. Mapping of query variable names to values (equivalent to the Pig
|
2460
|
+
# command: name=[value]).
|
2461
|
+
# Corresponds to the JSON property `scriptVariables`
|
2462
|
+
# @return [Hash<String,String>]
|
2463
|
+
attr_accessor :script_variables
|
2464
|
+
|
2465
|
+
def initialize(**args)
|
2466
|
+
update!(**args)
|
2467
|
+
end
|
2468
|
+
|
2469
|
+
# Update properties of this object
|
2470
|
+
def update!(**args)
|
2471
|
+
@continue_on_failure = args[:continue_on_failure] if args.key?(:continue_on_failure)
|
2472
|
+
@jar_file_uris = args[:jar_file_uris] if args.key?(:jar_file_uris)
|
2473
|
+
@logging_config = args[:logging_config] if args.key?(:logging_config)
|
2474
|
+
@properties = args[:properties] if args.key?(:properties)
|
2475
|
+
@query_file_uri = args[:query_file_uri] if args.key?(:query_file_uri)
|
2476
|
+
@query_list = args[:query_list] if args.key?(:query_list)
|
2477
|
+
@script_variables = args[:script_variables] if args.key?(:script_variables)
|
2478
|
+
end
|
2479
|
+
end
|
2480
|
+
|
2481
|
+
# An Identity and Access Management (IAM) policy, which specifies access
|
2482
|
+
# controls for Google Cloud resources.A Policy is a collection of bindings. A
|
2483
|
+
# binding binds one or more members to a single role. Members can be user
|
2484
|
+
# accounts, service accounts, Google groups, and domains (such as G Suite). A
|
2485
|
+
# role is a named list of permissions; each role can be an IAM predefined role
|
2486
|
+
# or a user-created custom role.For some types of Google Cloud resources, a
|
2487
|
+
# binding can also specify a condition, which is a logical expression that
|
2488
|
+
# allows access to a resource only if the expression evaluates to true. A
|
2489
|
+
# condition can add constraints based on attributes of the request, the resource,
|
2490
|
+
# or both. To learn which resources support conditions in their IAM policies,
|
2491
|
+
# see the IAM documentation (https://cloud.google.com/iam/help/conditions/
|
2492
|
+
# resource-policies).JSON example: ` "bindings": [ ` "role": "roles/
|
2493
|
+
# resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "
|
2494
|
+
# group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@
|
2495
|
+
# appspot.gserviceaccount.com" ] `, ` "role": "roles/resourcemanager.
|
2496
|
+
# organizationViewer", "members": [ "user:eve@example.com" ], "condition": ` "
|
2497
|
+
# title": "expirable access", "description": "Does not grant access after Sep
|
2498
|
+
# 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", `
|
2499
|
+
# ` ], "etag": "BwWWja0YfJA=", "version": 3 ` YAML example: bindings: - members:
|
2500
|
+
# - user:mike@example.com - group:admins@example.com - domain:google.com -
|
2501
|
+
# serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/
|
2502
|
+
# resourcemanager.organizationAdmin - members: - user:eve@example.com role:
|
2503
|
+
# roles/resourcemanager.organizationViewer condition: title: expirable access
|
2504
|
+
# description: Does not grant access after Sep 2020 expression: request.time <
|
2505
|
+
# timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3 For a
|
2506
|
+
# description of IAM and its features, see the IAM documentation (https://cloud.
|
2507
|
+
# google.com/iam/docs/).
|
2508
|
+
class Policy
|
2509
|
+
include Google::Apis::Core::Hashable
|
2510
|
+
|
2511
|
+
# Associates a list of members to a role. Optionally, may specify a condition
|
2512
|
+
# that determines how and when the bindings are applied. Each of the bindings
|
2513
|
+
# must contain at least one member.
|
2514
|
+
# Corresponds to the JSON property `bindings`
|
2515
|
+
# @return [Array<Google::Apis::DataprocV1::Binding>]
|
2516
|
+
attr_accessor :bindings
|
2517
|
+
|
2518
|
+
# etag is used for optimistic concurrency control as a way to help prevent
|
2519
|
+
# simultaneous updates of a policy from overwriting each other. It is strongly
|
2520
|
+
# suggested that systems make use of the etag in the read-modify-write cycle to
|
2521
|
+
# perform policy updates in order to avoid race conditions: An etag is returned
|
2522
|
+
# in the response to getIamPolicy, and systems are expected to put that etag in
|
2523
|
+
# the request to setIamPolicy to ensure that their change will be applied to the
|
2524
|
+
# same version of the policy.Important: If you use IAM Conditions, you must
|
2525
|
+
# include the etag field whenever you call setIamPolicy. If you omit this field,
|
2526
|
+
# then IAM allows you to overwrite a version 3 policy with a version 1 policy,
|
2527
|
+
# and all of the conditions in the version 3 policy are lost.
|
2528
|
+
# Corresponds to the JSON property `etag`
|
2529
|
+
# NOTE: Values are automatically base64 encoded/decoded in the client library.
|
2530
|
+
# @return [String]
|
2531
|
+
attr_accessor :etag
|
2532
|
+
|
2533
|
+
# Specifies the format of the policy.Valid values are 0, 1, and 3. Requests that
|
2534
|
+
# specify an invalid value are rejected.Any operation that affects conditional
|
2535
|
+
# role bindings must specify version 3. This requirement applies to the
|
2536
|
+
# following operations: Getting a policy that includes a conditional role
|
2537
|
+
# binding Adding a conditional role binding to a policy Changing a conditional
|
2538
|
+
# role binding in a policy Removing any role binding, with or without a
|
2539
|
+
# condition, from a policy that includes conditionsImportant: If you use IAM
|
2540
|
+
# Conditions, you must include the etag field whenever you call setIamPolicy. If
|
2541
|
+
# you omit this field, then IAM allows you to overwrite a version 3 policy with
|
2542
|
+
# a version 1 policy, and all of the conditions in the version 3 policy are lost.
|
2543
|
+
# If a policy does not include any conditions, operations on that policy may
|
2544
|
+
# specify any valid version or leave the field unset.To learn which resources
|
2545
|
+
# support conditions in their IAM policies, see the IAM documentation (https://
|
2546
|
+
# cloud.google.com/iam/help/conditions/resource-policies).
|
2547
|
+
# Corresponds to the JSON property `version`
|
2548
|
+
# @return [Fixnum]
|
2549
|
+
attr_accessor :version
|
2550
|
+
|
2551
|
+
def initialize(**args)
|
2552
|
+
update!(**args)
|
2553
|
+
end
|
2554
|
+
|
2555
|
+
# Update properties of this object
|
2556
|
+
def update!(**args)
|
2557
|
+
@bindings = args[:bindings] if args.key?(:bindings)
|
2558
|
+
@etag = args[:etag] if args.key?(:etag)
|
2559
|
+
@version = args[:version] if args.key?(:version)
|
2560
|
+
end
|
2561
|
+
end
|
2562
|
+
|
2563
|
+
# A Dataproc job for running Presto (https://prestosql.io/) queries. IMPORTANT:
|
2564
|
+
# The Dataproc Presto Optional Component (https://cloud.google.com/dataproc/docs/
|
2565
|
+
# concepts/components/presto) must be enabled when the cluster is created to
|
2566
|
+
# submit a Presto job to the cluster.
|
2567
|
+
class PrestoJob
|
2568
|
+
include Google::Apis::Core::Hashable
|
2569
|
+
|
2570
|
+
# Optional. Presto client tags to attach to this query
|
2571
|
+
# Corresponds to the JSON property `clientTags`
|
2572
|
+
# @return [Array<String>]
|
2573
|
+
attr_accessor :client_tags
|
2574
|
+
|
2575
|
+
# Optional. Whether to continue executing queries if a query fails. The default
|
2576
|
+
# value is false. Setting to true can be useful when executing independent
|
2577
|
+
# parallel queries.
|
2578
|
+
# Corresponds to the JSON property `continueOnFailure`
|
2579
|
+
# @return [Boolean]
|
2580
|
+
attr_accessor :continue_on_failure
|
2581
|
+
alias_method :continue_on_failure?, :continue_on_failure
|
2582
|
+
|
2583
|
+
# The runtime logging config of the job.
|
2584
|
+
# Corresponds to the JSON property `loggingConfig`
|
2585
|
+
# @return [Google::Apis::DataprocV1::LoggingConfig]
|
2586
|
+
attr_accessor :logging_config
|
2587
|
+
|
2588
|
+
# Optional. The format in which query output will be displayed. See the Presto
|
2589
|
+
# documentation for supported output formats
|
2590
|
+
# Corresponds to the JSON property `outputFormat`
|
2591
|
+
# @return [String]
|
2592
|
+
attr_accessor :output_format
|
2593
|
+
|
2594
|
+
# Optional. A mapping of property names to values. Used to set Presto session
|
2595
|
+
# properties (https://prestodb.io/docs/current/sql/set-session.html) Equivalent
|
2596
|
+
# to using the --session flag in the Presto CLI
|
2597
|
+
# Corresponds to the JSON property `properties`
|
2598
|
+
# @return [Hash<String,String>]
|
2599
|
+
attr_accessor :properties
|
2600
|
+
|
2601
|
+
# The HCFS URI of the script that contains SQL queries.
|
2602
|
+
# Corresponds to the JSON property `queryFileUri`
|
2603
|
+
# @return [String]
|
2604
|
+
attr_accessor :query_file_uri
|
2605
|
+
|
2606
|
+
# A list of queries to run on a cluster.
|
2607
|
+
# Corresponds to the JSON property `queryList`
|
2608
|
+
# @return [Google::Apis::DataprocV1::QueryList]
|
2609
|
+
attr_accessor :query_list
|
2610
|
+
|
2611
|
+
def initialize(**args)
|
2612
|
+
update!(**args)
|
2613
|
+
end
|
2614
|
+
|
2615
|
+
# Update properties of this object
|
2616
|
+
def update!(**args)
|
2617
|
+
@client_tags = args[:client_tags] if args.key?(:client_tags)
|
2618
|
+
@continue_on_failure = args[:continue_on_failure] if args.key?(:continue_on_failure)
|
2619
|
+
@logging_config = args[:logging_config] if args.key?(:logging_config)
|
2620
|
+
@output_format = args[:output_format] if args.key?(:output_format)
|
2621
|
+
@properties = args[:properties] if args.key?(:properties)
|
2622
|
+
@query_file_uri = args[:query_file_uri] if args.key?(:query_file_uri)
|
2623
|
+
@query_list = args[:query_list] if args.key?(:query_list)
|
2624
|
+
end
|
2625
|
+
end
|
2626
|
+
|
2627
|
+
# A Dataproc job for running Apache PySpark (https://spark.apache.org/docs/0.9.0/
|
2628
|
+
# python-programming-guide.html) applications on YARN.
|
2629
|
+
class PySparkJob
|
2630
|
+
include Google::Apis::Core::Hashable
|
2631
|
+
|
2632
|
+
# Optional. HCFS URIs of archives to be extracted into the working directory of
|
2633
|
+
# each executor. Supported file types: .jar, .tar, .tar.gz, .tgz, and .zip.
|
2634
|
+
# Corresponds to the JSON property `archiveUris`
|
2635
|
+
# @return [Array<String>]
|
2636
|
+
attr_accessor :archive_uris
|
2637
|
+
|
2638
|
+
# Optional. The arguments to pass to the driver. Do not include arguments, such
|
2639
|
+
# as --conf, that can be set as job properties, since a collision may occur that
|
2640
|
+
# causes an incorrect job submission.
|
2641
|
+
# Corresponds to the JSON property `args`
|
2642
|
+
# @return [Array<String>]
|
2643
|
+
attr_accessor :args
|
2644
|
+
|
2645
|
+
# Optional. HCFS URIs of files to be placed in the working directory of each
|
2646
|
+
# executor. Useful for naively parallel tasks.
|
2647
|
+
# Corresponds to the JSON property `fileUris`
|
2648
|
+
# @return [Array<String>]
|
2649
|
+
attr_accessor :file_uris
|
2650
|
+
|
2651
|
+
# Optional. HCFS URIs of jar files to add to the CLASSPATHs of the Python driver
|
2652
|
+
# and tasks.
|
2653
|
+
# Corresponds to the JSON property `jarFileUris`
|
2654
|
+
# @return [Array<String>]
|
2655
|
+
attr_accessor :jar_file_uris
|
2656
|
+
|
2657
|
+
# The runtime logging config of the job.
|
2658
|
+
# Corresponds to the JSON property `loggingConfig`
|
2659
|
+
# @return [Google::Apis::DataprocV1::LoggingConfig]
|
2660
|
+
attr_accessor :logging_config
|
2661
|
+
|
2662
|
+
# Required. The HCFS URI of the main Python file to use as the driver. Must be a
|
2663
|
+
# .py file.
|
2664
|
+
# Corresponds to the JSON property `mainPythonFileUri`
|
2665
|
+
# @return [String]
|
2666
|
+
attr_accessor :main_python_file_uri
|
2667
|
+
|
2668
|
+
# Optional. A mapping of property names to values, used to configure PySpark.
|
2669
|
+
# Properties that conflict with values set by the Dataproc API may be
|
2670
|
+
# overwritten. Can include properties set in /etc/spark/conf/spark-defaults.conf
|
2671
|
+
# and classes in user code.
|
2672
|
+
# Corresponds to the JSON property `properties`
|
2673
|
+
# @return [Hash<String,String>]
|
2674
|
+
attr_accessor :properties
|
2675
|
+
|
2676
|
+
# Optional. HCFS file URIs of Python files to pass to the PySpark framework.
|
2677
|
+
# Supported file types: .py, .egg, and .zip.
|
2678
|
+
# Corresponds to the JSON property `pythonFileUris`
|
2679
|
+
# @return [Array<String>]
|
2680
|
+
attr_accessor :python_file_uris
|
2681
|
+
|
2682
|
+
def initialize(**args)
|
2683
|
+
update!(**args)
|
2684
|
+
end
|
2685
|
+
|
2686
|
+
# Update properties of this object
|
2687
|
+
def update!(**args)
|
2688
|
+
@archive_uris = args[:archive_uris] if args.key?(:archive_uris)
|
2689
|
+
@args = args[:args] if args.key?(:args)
|
2690
|
+
@file_uris = args[:file_uris] if args.key?(:file_uris)
|
2691
|
+
@jar_file_uris = args[:jar_file_uris] if args.key?(:jar_file_uris)
|
2692
|
+
@logging_config = args[:logging_config] if args.key?(:logging_config)
|
2693
|
+
@main_python_file_uri = args[:main_python_file_uri] if args.key?(:main_python_file_uri)
|
2694
|
+
@properties = args[:properties] if args.key?(:properties)
|
2695
|
+
@python_file_uris = args[:python_file_uris] if args.key?(:python_file_uris)
|
2696
|
+
end
|
2697
|
+
end
|
2698
|
+
|
2699
|
+
# A list of queries to run on a cluster.
|
2700
|
+
class QueryList
|
2701
|
+
include Google::Apis::Core::Hashable
|
2702
|
+
|
2703
|
+
# Required. The queries to execute. You do not need to end a query expression
|
2704
|
+
# with a semicolon. Multiple queries can be specified in one string by
|
2705
|
+
# separating each with a semicolon. Here is an example of a Dataproc API snippet
|
2706
|
+
# that uses a QueryList to specify a HiveJob: "hiveJob": ` "queryList": ` "
|
2707
|
+
# queries": [ "query1", "query2", "query3;query4", ] ` `
|
2708
|
+
# Corresponds to the JSON property `queries`
|
2709
|
+
# @return [Array<String>]
|
2710
|
+
attr_accessor :queries
|
2711
|
+
|
2712
|
+
def initialize(**args)
|
2713
|
+
update!(**args)
|
2714
|
+
end
|
2715
|
+
|
2716
|
+
# Update properties of this object
|
2717
|
+
def update!(**args)
|
2718
|
+
@queries = args[:queries] if args.key?(:queries)
|
2719
|
+
end
|
2720
|
+
end
|
2721
|
+
|
2722
|
+
# Validation based on regular expressions.
|
2723
|
+
class RegexValidation
|
2724
|
+
include Google::Apis::Core::Hashable
|
2725
|
+
|
2726
|
+
# Required. RE2 regular expressions used to validate the parameter's value. The
|
2727
|
+
# value must match the regex in its entirety (substring matches are not
|
2728
|
+
# sufficient).
|
2729
|
+
# Corresponds to the JSON property `regexes`
|
2730
|
+
# @return [Array<String>]
|
2731
|
+
attr_accessor :regexes
|
2732
|
+
|
2733
|
+
def initialize(**args)
|
2734
|
+
update!(**args)
|
2735
|
+
end
|
2736
|
+
|
2737
|
+
# Update properties of this object
|
2738
|
+
def update!(**args)
|
2739
|
+
@regexes = args[:regexes] if args.key?(:regexes)
|
2740
|
+
end
|
2741
|
+
end
|
2742
|
+
|
2743
|
+
# Reservation Affinity for consuming Zonal reservation.
|
2744
|
+
class ReservationAffinity
|
2745
|
+
include Google::Apis::Core::Hashable
|
2746
|
+
|
2747
|
+
# Optional. Type of reservation to consume
|
2748
|
+
# Corresponds to the JSON property `consumeReservationType`
|
2749
|
+
# @return [String]
|
2750
|
+
attr_accessor :consume_reservation_type
|
2751
|
+
|
2752
|
+
# Optional. Corresponds to the label key of reservation resource.
|
2753
|
+
# Corresponds to the JSON property `key`
|
2754
|
+
# @return [String]
|
2755
|
+
attr_accessor :key
|
2756
|
+
|
2757
|
+
# Optional. Corresponds to the label values of reservation resource.
|
2758
|
+
# Corresponds to the JSON property `values`
|
2759
|
+
# @return [Array<String>]
|
2760
|
+
attr_accessor :values
|
2761
|
+
|
2762
|
+
def initialize(**args)
|
2763
|
+
update!(**args)
|
2764
|
+
end
|
2765
|
+
|
2766
|
+
# Update properties of this object
|
2767
|
+
def update!(**args)
|
2768
|
+
@consume_reservation_type = args[:consume_reservation_type] if args.key?(:consume_reservation_type)
|
2769
|
+
@key = args[:key] if args.key?(:key)
|
2770
|
+
@values = args[:values] if args.key?(:values)
|
2771
|
+
end
|
2772
|
+
end
|
2773
|
+
|
2774
|
+
# Security related configuration, including Kerberos.
|
2775
|
+
class SecurityConfig
|
2776
|
+
include Google::Apis::Core::Hashable
|
2777
|
+
|
2778
|
+
# Specifies Kerberos related configuration.
|
2779
|
+
# Corresponds to the JSON property `kerberosConfig`
|
2780
|
+
# @return [Google::Apis::DataprocV1::KerberosConfig]
|
2781
|
+
attr_accessor :kerberos_config
|
2782
|
+
|
2783
|
+
def initialize(**args)
|
2784
|
+
update!(**args)
|
2785
|
+
end
|
2786
|
+
|
2787
|
+
# Update properties of this object
|
2788
|
+
def update!(**args)
|
2789
|
+
@kerberos_config = args[:kerberos_config] if args.key?(:kerberos_config)
|
2790
|
+
end
|
2791
|
+
end
|
2792
|
+
|
2793
|
+
# Request message for SetIamPolicy method.
|
2794
|
+
class SetIamPolicyRequest
|
2795
|
+
include Google::Apis::Core::Hashable
|
2796
|
+
|
2797
|
+
# An Identity and Access Management (IAM) policy, which specifies access
|
2798
|
+
# controls for Google Cloud resources.A Policy is a collection of bindings. A
|
2799
|
+
# binding binds one or more members to a single role. Members can be user
|
2800
|
+
# accounts, service accounts, Google groups, and domains (such as G Suite). A
|
2801
|
+
# role is a named list of permissions; each role can be an IAM predefined role
|
2802
|
+
# or a user-created custom role.For some types of Google Cloud resources, a
|
2803
|
+
# binding can also specify a condition, which is a logical expression that
|
2804
|
+
# allows access to a resource only if the expression evaluates to true. A
|
2805
|
+
# condition can add constraints based on attributes of the request, the resource,
|
2806
|
+
# or both. To learn which resources support conditions in their IAM policies,
|
2807
|
+
# see the IAM documentation (https://cloud.google.com/iam/help/conditions/
|
2808
|
+
# resource-policies).JSON example: ` "bindings": [ ` "role": "roles/
|
2809
|
+
# resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "
|
2810
|
+
# group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@
|
2811
|
+
# appspot.gserviceaccount.com" ] `, ` "role": "roles/resourcemanager.
|
2812
|
+
# organizationViewer", "members": [ "user:eve@example.com" ], "condition": ` "
|
2813
|
+
# title": "expirable access", "description": "Does not grant access after Sep
|
2814
|
+
# 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", `
|
2815
|
+
# ` ], "etag": "BwWWja0YfJA=", "version": 3 ` YAML example: bindings: - members:
|
2816
|
+
# - user:mike@example.com - group:admins@example.com - domain:google.com -
|
2817
|
+
# serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/
|
2818
|
+
# resourcemanager.organizationAdmin - members: - user:eve@example.com role:
|
2819
|
+
# roles/resourcemanager.organizationViewer condition: title: expirable access
|
2820
|
+
# description: Does not grant access after Sep 2020 expression: request.time <
|
2821
|
+
# timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3 For a
|
2822
|
+
# description of IAM and its features, see the IAM documentation (https://cloud.
|
2823
|
+
# google.com/iam/docs/).
|
2824
|
+
# Corresponds to the JSON property `policy`
|
2825
|
+
# @return [Google::Apis::DataprocV1::Policy]
|
2826
|
+
attr_accessor :policy
|
2827
|
+
|
2828
|
+
def initialize(**args)
|
2829
|
+
update!(**args)
|
2830
|
+
end
|
2831
|
+
|
2832
|
+
# Update properties of this object
|
2833
|
+
def update!(**args)
|
2834
|
+
@policy = args[:policy] if args.key?(:policy)
|
2835
|
+
end
|
2836
|
+
end
|
2837
|
+
|
2838
|
+
# Shielded Instance Config for clusters using shielded VMs.
|
2839
|
+
class ShieldedInstanceConfig
|
2840
|
+
include Google::Apis::Core::Hashable
|
2841
|
+
|
2842
|
+
# Optional. Defines whether instances have integrity monitoring enabled.
|
2843
|
+
# Corresponds to the JSON property `enableIntegrityMonitoring`
|
2844
|
+
# @return [Boolean]
|
2845
|
+
attr_accessor :enable_integrity_monitoring
|
2846
|
+
alias_method :enable_integrity_monitoring?, :enable_integrity_monitoring
|
2847
|
+
|
2848
|
+
# Optional. Defines whether instances have Secure Boot enabled.
|
2849
|
+
# Corresponds to the JSON property `enableSecureBoot`
|
2850
|
+
# @return [Boolean]
|
2851
|
+
attr_accessor :enable_secure_boot
|
2852
|
+
alias_method :enable_secure_boot?, :enable_secure_boot
|
2853
|
+
|
2854
|
+
# Optional. Defines whether instances have the vTPM enabled.
|
2855
|
+
# Corresponds to the JSON property `enableVtpm`
|
2856
|
+
# @return [Boolean]
|
2857
|
+
attr_accessor :enable_vtpm
|
2858
|
+
alias_method :enable_vtpm?, :enable_vtpm
|
2859
|
+
|
2860
|
+
def initialize(**args)
|
2861
|
+
update!(**args)
|
2862
|
+
end
|
2863
|
+
|
2864
|
+
# Update properties of this object
|
2865
|
+
def update!(**args)
|
2866
|
+
@enable_integrity_monitoring = args[:enable_integrity_monitoring] if args.key?(:enable_integrity_monitoring)
|
2867
|
+
@enable_secure_boot = args[:enable_secure_boot] if args.key?(:enable_secure_boot)
|
2868
|
+
@enable_vtpm = args[:enable_vtpm] if args.key?(:enable_vtpm)
|
2869
|
+
end
|
2870
|
+
end
|
2871
|
+
|
2872
|
+
# Specifies the selection and config of software inside the cluster.
|
2873
|
+
class SoftwareConfig
|
2874
|
+
include Google::Apis::Core::Hashable
|
2875
|
+
|
2876
|
+
# Optional. The version of software inside the cluster. It must be one of the
|
2877
|
+
# supported Dataproc Versions (https://cloud.google.com/dataproc/docs/concepts/
|
2878
|
+
# versioning/dataproc-versions#supported_dataproc_versions), such as "1.2" (
|
2879
|
+
# including a subminor version, such as "1.2.29"), or the "preview" version (
|
2880
|
+
# https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#
|
2881
|
+
# other_versions). If unspecified, it defaults to the latest Debian version.
|
2882
|
+
# Corresponds to the JSON property `imageVersion`
|
2883
|
+
# @return [String]
|
2884
|
+
attr_accessor :image_version
|
2885
|
+
|
2886
|
+
# Optional. The set of components to activate on the cluster.
|
2887
|
+
# Corresponds to the JSON property `optionalComponents`
|
2888
|
+
# @return [Array<String>]
|
2889
|
+
attr_accessor :optional_components
|
2890
|
+
|
2891
|
+
# Optional. The properties to set on daemon config files.Property keys are
|
2892
|
+
# specified in prefix:property format, for example core:hadoop.tmp.dir. The
|
2893
|
+
# following are supported prefixes and their mappings: capacity-scheduler:
|
2894
|
+
# capacity-scheduler.xml core: core-site.xml distcp: distcp-default.xml hdfs:
|
2895
|
+
# hdfs-site.xml hive: hive-site.xml mapred: mapred-site.xml pig: pig.properties
|
2896
|
+
# spark: spark-defaults.conf yarn: yarn-site.xmlFor more information, see
|
2897
|
+
# Cluster properties (https://cloud.google.com/dataproc/docs/concepts/cluster-
|
2898
|
+
# properties).
|
2899
|
+
# Corresponds to the JSON property `properties`
|
2900
|
+
# @return [Hash<String,String>]
|
2901
|
+
attr_accessor :properties
|
2902
|
+
|
2903
|
+
def initialize(**args)
|
2904
|
+
update!(**args)
|
2905
|
+
end
|
2906
|
+
|
2907
|
+
# Update properties of this object
|
2908
|
+
def update!(**args)
|
2909
|
+
@image_version = args[:image_version] if args.key?(:image_version)
|
2910
|
+
@optional_components = args[:optional_components] if args.key?(:optional_components)
|
2911
|
+
@properties = args[:properties] if args.key?(:properties)
|
2912
|
+
end
|
2913
|
+
end
|
2914
|
+
|
2915
|
+
# A Dataproc job for running Apache Spark (http://spark.apache.org/)
|
2916
|
+
# applications on YARN.
|
2917
|
+
class SparkJob
|
2918
|
+
include Google::Apis::Core::Hashable
|
2919
|
+
|
2920
|
+
# Optional. HCFS URIs of archives to be extracted into the working directory of
|
2921
|
+
# each executor. Supported file types: .jar, .tar, .tar.gz, .tgz, and .zip.
|
2922
|
+
# Corresponds to the JSON property `archiveUris`
|
2923
|
+
# @return [Array<String>]
|
2924
|
+
attr_accessor :archive_uris
|
2925
|
+
|
2926
|
+
# Optional. The arguments to pass to the driver. Do not include arguments, such
|
2927
|
+
# as --conf, that can be set as job properties, since a collision may occur that
|
2928
|
+
# causes an incorrect job submission.
|
2929
|
+
# Corresponds to the JSON property `args`
|
2930
|
+
# @return [Array<String>]
|
2931
|
+
attr_accessor :args
|
2932
|
+
|
2933
|
+
# Optional. HCFS URIs of files to be placed in the working directory of each
|
2934
|
+
# executor. Useful for naively parallel tasks.
|
2935
|
+
# Corresponds to the JSON property `fileUris`
|
2936
|
+
# @return [Array<String>]
|
2937
|
+
attr_accessor :file_uris
|
2938
|
+
|
2939
|
+
# Optional. HCFS URIs of jar files to add to the CLASSPATHs of the Spark driver
|
2940
|
+
# and tasks.
|
2941
|
+
# Corresponds to the JSON property `jarFileUris`
|
2942
|
+
# @return [Array<String>]
|
2943
|
+
attr_accessor :jar_file_uris
|
2944
|
+
|
2945
|
+
# The runtime logging config of the job.
|
2946
|
+
# Corresponds to the JSON property `loggingConfig`
|
2947
|
+
# @return [Google::Apis::DataprocV1::LoggingConfig]
|
2948
|
+
attr_accessor :logging_config
|
2949
|
+
|
2950
|
+
# The name of the driver's main class. The jar file that contains the class must
|
2951
|
+
# be in the default CLASSPATH or specified in jar_file_uris.
|
2952
|
+
# Corresponds to the JSON property `mainClass`
|
2953
|
+
# @return [String]
|
2954
|
+
attr_accessor :main_class
|
2955
|
+
|
2956
|
+
# The HCFS URI of the jar file that contains the main class.
|
2957
|
+
# Corresponds to the JSON property `mainJarFileUri`
|
2958
|
+
# @return [String]
|
2959
|
+
attr_accessor :main_jar_file_uri
|
2960
|
+
|
2961
|
+
# Optional. A mapping of property names to values, used to configure Spark.
|
2962
|
+
# Properties that conflict with values set by the Dataproc API may be
|
2963
|
+
# overwritten. Can include properties set in /etc/spark/conf/spark-defaults.conf
|
2964
|
+
# and classes in user code.
|
2965
|
+
# Corresponds to the JSON property `properties`
|
2966
|
+
# @return [Hash<String,String>]
|
2967
|
+
attr_accessor :properties
|
2968
|
+
|
2969
|
+
def initialize(**args)
|
2970
|
+
update!(**args)
|
2971
|
+
end
|
2972
|
+
|
2973
|
+
# Update properties of this object
|
2974
|
+
def update!(**args)
|
2975
|
+
@archive_uris = args[:archive_uris] if args.key?(:archive_uris)
|
2976
|
+
@args = args[:args] if args.key?(:args)
|
2977
|
+
@file_uris = args[:file_uris] if args.key?(:file_uris)
|
2978
|
+
@jar_file_uris = args[:jar_file_uris] if args.key?(:jar_file_uris)
|
2979
|
+
@logging_config = args[:logging_config] if args.key?(:logging_config)
|
2980
|
+
@main_class = args[:main_class] if args.key?(:main_class)
|
2981
|
+
@main_jar_file_uri = args[:main_jar_file_uri] if args.key?(:main_jar_file_uri)
|
2982
|
+
@properties = args[:properties] if args.key?(:properties)
|
2983
|
+
end
|
2984
|
+
end
|
2985
|
+
|
2986
|
+
# A Dataproc job for running Apache SparkR (https://spark.apache.org/docs/latest/
|
2987
|
+
# sparkr.html) applications on YARN.
|
2988
|
+
class SparkRJob
|
2989
|
+
include Google::Apis::Core::Hashable
|
2990
|
+
|
2991
|
+
# Optional. HCFS URIs of archives to be extracted into the working directory of
|
2992
|
+
# each executor. Supported file types: .jar, .tar, .tar.gz, .tgz, and .zip.
|
2993
|
+
# Corresponds to the JSON property `archiveUris`
|
2994
|
+
# @return [Array<String>]
|
2995
|
+
attr_accessor :archive_uris
|
2996
|
+
|
2997
|
+
# Optional. The arguments to pass to the driver. Do not include arguments, such
|
2998
|
+
# as --conf, that can be set as job properties, since a collision may occur that
|
2999
|
+
# causes an incorrect job submission.
|
3000
|
+
# Corresponds to the JSON property `args`
|
3001
|
+
# @return [Array<String>]
|
3002
|
+
attr_accessor :args
|
3003
|
+
|
3004
|
+
# Optional. HCFS URIs of files to be placed in the working directory of each
|
3005
|
+
# executor. Useful for naively parallel tasks.
|
3006
|
+
# Corresponds to the JSON property `fileUris`
|
3007
|
+
# @return [Array<String>]
|
3008
|
+
attr_accessor :file_uris
|
3009
|
+
|
3010
|
+
# The runtime logging config of the job.
|
3011
|
+
# Corresponds to the JSON property `loggingConfig`
|
3012
|
+
# @return [Google::Apis::DataprocV1::LoggingConfig]
|
3013
|
+
attr_accessor :logging_config
|
3014
|
+
|
3015
|
+
# Required. The HCFS URI of the main R file to use as the driver. Must be a .R
|
3016
|
+
# file.
|
3017
|
+
# Corresponds to the JSON property `mainRFileUri`
|
3018
|
+
# @return [String]
|
3019
|
+
attr_accessor :main_r_file_uri
|
3020
|
+
|
3021
|
+
# Optional. A mapping of property names to values, used to configure SparkR.
|
3022
|
+
# Properties that conflict with values set by the Dataproc API may be
|
3023
|
+
# overwritten. Can include properties set in /etc/spark/conf/spark-defaults.conf
|
3024
|
+
# and classes in user code.
|
3025
|
+
# Corresponds to the JSON property `properties`
|
3026
|
+
# @return [Hash<String,String>]
|
3027
|
+
attr_accessor :properties
|
3028
|
+
|
3029
|
+
def initialize(**args)
|
3030
|
+
update!(**args)
|
3031
|
+
end
|
3032
|
+
|
3033
|
+
# Update properties of this object
|
3034
|
+
def update!(**args)
|
3035
|
+
@archive_uris = args[:archive_uris] if args.key?(:archive_uris)
|
3036
|
+
@args = args[:args] if args.key?(:args)
|
3037
|
+
@file_uris = args[:file_uris] if args.key?(:file_uris)
|
3038
|
+
@logging_config = args[:logging_config] if args.key?(:logging_config)
|
3039
|
+
@main_r_file_uri = args[:main_r_file_uri] if args.key?(:main_r_file_uri)
|
3040
|
+
@properties = args[:properties] if args.key?(:properties)
|
3041
|
+
end
|
3042
|
+
end
|
3043
|
+
|
3044
|
+
# A Dataproc job for running Apache Spark SQL (http://spark.apache.org/sql/)
|
3045
|
+
# queries.
|
3046
|
+
class SparkSqlJob
|
3047
|
+
include Google::Apis::Core::Hashable
|
3048
|
+
|
3049
|
+
# Optional. HCFS URIs of jar files to be added to the Spark CLASSPATH.
|
3050
|
+
# Corresponds to the JSON property `jarFileUris`
|
3051
|
+
# @return [Array<String>]
|
3052
|
+
attr_accessor :jar_file_uris
|
3053
|
+
|
3054
|
+
# The runtime logging config of the job.
|
3055
|
+
# Corresponds to the JSON property `loggingConfig`
|
3056
|
+
# @return [Google::Apis::DataprocV1::LoggingConfig]
|
3057
|
+
attr_accessor :logging_config
|
3058
|
+
|
3059
|
+
# Optional. A mapping of property names to values, used to configure Spark SQL's
|
3060
|
+
# SparkConf. Properties that conflict with values set by the Dataproc API may be
|
3061
|
+
# overwritten.
|
3062
|
+
# Corresponds to the JSON property `properties`
|
3063
|
+
# @return [Hash<String,String>]
|
3064
|
+
attr_accessor :properties
|
3065
|
+
|
3066
|
+
# The HCFS URI of the script that contains SQL queries.
|
3067
|
+
# Corresponds to the JSON property `queryFileUri`
|
3068
|
+
# @return [String]
|
3069
|
+
attr_accessor :query_file_uri
|
3070
|
+
|
3071
|
+
# A list of queries to run on a cluster.
|
3072
|
+
# Corresponds to the JSON property `queryList`
|
3073
|
+
# @return [Google::Apis::DataprocV1::QueryList]
|
3074
|
+
attr_accessor :query_list
|
3075
|
+
|
3076
|
+
# Optional. Mapping of query variable names to values (equivalent to the Spark
|
3077
|
+
# SQL command: SET name="value";).
|
3078
|
+
# Corresponds to the JSON property `scriptVariables`
|
3079
|
+
# @return [Hash<String,String>]
|
3080
|
+
attr_accessor :script_variables
|
3081
|
+
|
3082
|
+
def initialize(**args)
|
3083
|
+
update!(**args)
|
3084
|
+
end
|
3085
|
+
|
3086
|
+
# Update properties of this object
|
3087
|
+
def update!(**args)
|
3088
|
+
@jar_file_uris = args[:jar_file_uris] if args.key?(:jar_file_uris)
|
3089
|
+
@logging_config = args[:logging_config] if args.key?(:logging_config)
|
3090
|
+
@properties = args[:properties] if args.key?(:properties)
|
3091
|
+
@query_file_uri = args[:query_file_uri] if args.key?(:query_file_uri)
|
3092
|
+
@query_list = args[:query_list] if args.key?(:query_list)
|
3093
|
+
@script_variables = args[:script_variables] if args.key?(:script_variables)
|
3094
|
+
end
|
3095
|
+
end
|
3096
|
+
|
3097
|
+
# The Status type defines a logical error model that is suitable for different
|
3098
|
+
# programming environments, including REST APIs and RPC APIs. It is used by gRPC
|
3099
|
+
# (https://github.com/grpc). Each Status message contains three pieces of data:
|
3100
|
+
# error code, error message, and error details.You can find out more about this
|
3101
|
+
# error model and how to work with it in the API Design Guide (https://cloud.
|
3102
|
+
# google.com/apis/design/errors).
|
3103
|
+
class Status
|
3104
|
+
include Google::Apis::Core::Hashable
|
3105
|
+
|
3106
|
+
# The status code, which should be an enum value of google.rpc.Code.
|
3107
|
+
# Corresponds to the JSON property `code`
|
3108
|
+
# @return [Fixnum]
|
3109
|
+
attr_accessor :code
|
3110
|
+
|
3111
|
+
# A list of messages that carry the error details. There is a common set of
|
3112
|
+
# message types for APIs to use.
|
3113
|
+
# Corresponds to the JSON property `details`
|
3114
|
+
# @return [Array<Hash<String,Object>>]
|
3115
|
+
attr_accessor :details
|
3116
|
+
|
3117
|
+
# A developer-facing error message, which should be in English. Any user-facing
|
3118
|
+
# error message should be localized and sent in the google.rpc.Status.details
|
3119
|
+
# field, or localized by the client.
|
3120
|
+
# Corresponds to the JSON property `message`
|
3121
|
+
# @return [String]
|
3122
|
+
attr_accessor :message
|
3123
|
+
|
3124
|
+
def initialize(**args)
|
3125
|
+
update!(**args)
|
3126
|
+
end
|
3127
|
+
|
3128
|
+
# Update properties of this object
|
3129
|
+
def update!(**args)
|
3130
|
+
@code = args[:code] if args.key?(:code)
|
3131
|
+
@details = args[:details] if args.key?(:details)
|
3132
|
+
@message = args[:message] if args.key?(:message)
|
3133
|
+
end
|
3134
|
+
end
|
3135
|
+
|
3136
|
+
# A request to submit a job.
|
3137
|
+
class SubmitJobRequest
|
3138
|
+
include Google::Apis::Core::Hashable
|
3139
|
+
|
3140
|
+
# A Dataproc job resource.
|
3141
|
+
# Corresponds to the JSON property `job`
|
3142
|
+
# @return [Google::Apis::DataprocV1::Job]
|
3143
|
+
attr_accessor :job
|
3144
|
+
|
3145
|
+
# Optional. A unique id used to identify the request. If the server receives two
|
3146
|
+
# SubmitJobRequest requests with the same id, then the second request will be
|
3147
|
+
# ignored and the first Job created and stored in the backend is returned.It is
|
3148
|
+
# recommended to always set this value to a UUID (https://en.wikipedia.org/wiki/
|
3149
|
+
# Universally_unique_identifier).The id must contain only letters (a-z, A-Z),
|
3150
|
+
# numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40
|
3151
|
+
# characters.
|
3152
|
+
# Corresponds to the JSON property `requestId`
|
3153
|
+
# @return [String]
|
3154
|
+
attr_accessor :request_id
|
3155
|
+
|
3156
|
+
def initialize(**args)
|
3157
|
+
update!(**args)
|
3158
|
+
end
|
3159
|
+
|
3160
|
+
# Update properties of this object
|
3161
|
+
def update!(**args)
|
3162
|
+
@job = args[:job] if args.key?(:job)
|
3163
|
+
@request_id = args[:request_id] if args.key?(:request_id)
|
3164
|
+
end
|
3165
|
+
end
|
3166
|
+
|
3167
|
+
# A configurable parameter that replaces one or more fields in the template.
|
3168
|
+
# Parameterizable fields: - Labels - File uris - Job properties - Job arguments -
|
3169
|
+
# Script variables - Main class (in HadoopJob and SparkJob) - Zone (in
|
3170
|
+
# ClusterSelector)
|
3171
|
+
class TemplateParameter
|
3172
|
+
include Google::Apis::Core::Hashable
|
3173
|
+
|
3174
|
+
# Optional. Brief description of the parameter. Must not exceed 1024 characters.
|
3175
|
+
# Corresponds to the JSON property `description`
|
3176
|
+
# @return [String]
|
3177
|
+
attr_accessor :description
|
3178
|
+
|
3179
|
+
# Required. Paths to all fields that the parameter replaces. A field is allowed
|
3180
|
+
# to appear in at most one parameter's list of field paths.A field path is
|
3181
|
+
# similar in syntax to a google.protobuf.FieldMask. For example, a field path
|
3182
|
+
# that references the zone field of a workflow template's cluster selector would
|
3183
|
+
# be specified as placement.clusterSelector.zone.Also, field paths can reference
|
3184
|
+
# fields using the following syntax: Values in maps can be referenced by key:
|
3185
|
+
# labels'key' placement.clusterSelector.clusterLabels'key' placement.
|
3186
|
+
# managedCluster.labels'key' placement.clusterSelector.clusterLabels'key' jobs'
|
3187
|
+
# step-id'.labels'key' Jobs in the jobs list can be referenced by step-id: jobs'
|
3188
|
+
# step-id'.hadoopJob.mainJarFileUri jobs'step-id'.hiveJob.queryFileUri jobs'step-
|
3189
|
+
# id'.pySparkJob.mainPythonFileUri jobs'step-id'.hadoopJob.jarFileUris0 jobs'
|
3190
|
+
# step-id'.hadoopJob.archiveUris0 jobs'step-id'.hadoopJob.fileUris0 jobs'step-id'
|
3191
|
+
# .pySparkJob.pythonFileUris0 Items in repeated fields can be referenced by a
|
3192
|
+
# zero-based index: jobs'step-id'.sparkJob.args0 Other examples: jobs'step-id'.
|
3193
|
+
# hadoopJob.properties'key' jobs'step-id'.hadoopJob.args0 jobs'step-id'.hiveJob.
|
3194
|
+
# scriptVariables'key' jobs'step-id'.hadoopJob.mainJarFileUri placement.
|
3195
|
+
# clusterSelector.zoneIt may not be possible to parameterize maps and repeated
|
3196
|
+
# fields in their entirety since only individual map values and individual items
|
3197
|
+
# in repeated fields can be referenced. For example, the following field paths
|
3198
|
+
# are invalid: placement.clusterSelector.clusterLabels jobs'step-id'.sparkJob.
|
3199
|
+
# args
|
3200
|
+
# Corresponds to the JSON property `fields`
|
3201
|
+
# @return [Array<String>]
|
3202
|
+
attr_accessor :fields
|
3203
|
+
|
3204
|
+
# Required. Parameter name. The parameter name is used as the key, and paired
|
3205
|
+
# with the parameter value, which are passed to the template when the template
|
3206
|
+
# is instantiated. The name must contain only capital letters (A-Z), numbers (0-
|
3207
|
+
# 9), and underscores (_), and must not start with a number. The maximum length
|
3208
|
+
# is 40 characters.
|
3209
|
+
# Corresponds to the JSON property `name`
|
3210
|
+
# @return [String]
|
3211
|
+
attr_accessor :name
|
3212
|
+
|
3213
|
+
# Configuration for parameter validation.
|
3214
|
+
# Corresponds to the JSON property `validation`
|
3215
|
+
# @return [Google::Apis::DataprocV1::ParameterValidation]
|
3216
|
+
attr_accessor :validation
|
3217
|
+
|
3218
|
+
def initialize(**args)
|
3219
|
+
update!(**args)
|
3220
|
+
end
|
3221
|
+
|
3222
|
+
# Update properties of this object
|
3223
|
+
def update!(**args)
|
3224
|
+
@description = args[:description] if args.key?(:description)
|
3225
|
+
@fields = args[:fields] if args.key?(:fields)
|
3226
|
+
@name = args[:name] if args.key?(:name)
|
3227
|
+
@validation = args[:validation] if args.key?(:validation)
|
3228
|
+
end
|
3229
|
+
end
|
3230
|
+
|
3231
|
+
# Request message for TestIamPermissions method.
|
3232
|
+
class TestIamPermissionsRequest
|
3233
|
+
include Google::Apis::Core::Hashable
|
3234
|
+
|
3235
|
+
# The set of permissions to check for the resource. Permissions with wildcards (
|
3236
|
+
# such as '*' or 'storage.*') are not allowed. For more information see IAM
|
3237
|
+
# Overview (https://cloud.google.com/iam/docs/overview#permissions).
|
3238
|
+
# Corresponds to the JSON property `permissions`
|
3239
|
+
# @return [Array<String>]
|
3240
|
+
attr_accessor :permissions
|
3241
|
+
|
3242
|
+
def initialize(**args)
|
3243
|
+
update!(**args)
|
3244
|
+
end
|
3245
|
+
|
3246
|
+
# Update properties of this object
|
3247
|
+
def update!(**args)
|
3248
|
+
@permissions = args[:permissions] if args.key?(:permissions)
|
3249
|
+
end
|
3250
|
+
end
|
3251
|
+
|
3252
|
+
# Response message for TestIamPermissions method.
|
3253
|
+
class TestIamPermissionsResponse
|
3254
|
+
include Google::Apis::Core::Hashable
|
3255
|
+
|
3256
|
+
# A subset of TestPermissionsRequest.permissions that the caller is allowed.
|
3257
|
+
# Corresponds to the JSON property `permissions`
|
3258
|
+
# @return [Array<String>]
|
3259
|
+
attr_accessor :permissions
|
3260
|
+
|
3261
|
+
def initialize(**args)
|
3262
|
+
update!(**args)
|
3263
|
+
end
|
3264
|
+
|
3265
|
+
# Update properties of this object
|
3266
|
+
def update!(**args)
|
3267
|
+
@permissions = args[:permissions] if args.key?(:permissions)
|
3268
|
+
end
|
3269
|
+
end
|
3270
|
+
|
3271
|
+
# Validation based on a list of allowed values.
|
3272
|
+
class ValueValidation
|
3273
|
+
include Google::Apis::Core::Hashable
|
3274
|
+
|
3275
|
+
# Required. List of allowed values for the parameter.
|
3276
|
+
# Corresponds to the JSON property `values`
|
3277
|
+
# @return [Array<String>]
|
3278
|
+
attr_accessor :values
|
3279
|
+
|
3280
|
+
def initialize(**args)
|
3281
|
+
update!(**args)
|
3282
|
+
end
|
3283
|
+
|
3284
|
+
# Update properties of this object
|
3285
|
+
def update!(**args)
|
3286
|
+
@values = args[:values] if args.key?(:values)
|
3287
|
+
end
|
3288
|
+
end
|
3289
|
+
|
3290
|
+
# The workflow graph.
|
3291
|
+
class WorkflowGraph
|
3292
|
+
include Google::Apis::Core::Hashable
|
3293
|
+
|
3294
|
+
# Output only. The workflow nodes.
|
3295
|
+
# Corresponds to the JSON property `nodes`
|
3296
|
+
# @return [Array<Google::Apis::DataprocV1::WorkflowNode>]
|
3297
|
+
attr_accessor :nodes
|
3298
|
+
|
3299
|
+
def initialize(**args)
|
3300
|
+
update!(**args)
|
3301
|
+
end
|
3302
|
+
|
3303
|
+
# Update properties of this object
|
3304
|
+
def update!(**args)
|
3305
|
+
@nodes = args[:nodes] if args.key?(:nodes)
|
3306
|
+
end
|
3307
|
+
end
|
3308
|
+
|
3309
|
+
# A Dataproc workflow template resource.
|
3310
|
+
class WorkflowMetadata
|
3311
|
+
include Google::Apis::Core::Hashable
|
3312
|
+
|
3313
|
+
# Output only. The name of the target cluster.
|
3314
|
+
# Corresponds to the JSON property `clusterName`
|
3315
|
+
# @return [String]
|
3316
|
+
attr_accessor :cluster_name
|
3317
|
+
|
3318
|
+
# Output only. The UUID of target cluster.
|
3319
|
+
# Corresponds to the JSON property `clusterUuid`
|
3320
|
+
# @return [String]
|
3321
|
+
attr_accessor :cluster_uuid
|
3322
|
+
|
3323
|
+
# The cluster operation triggered by a workflow.
|
3324
|
+
# Corresponds to the JSON property `createCluster`
|
3325
|
+
# @return [Google::Apis::DataprocV1::ClusterOperation]
|
3326
|
+
attr_accessor :create_cluster
|
3327
|
+
|
3328
|
+
# Output only. DAG end time, only set for workflows with dag_timeout when DAG
|
3329
|
+
# ends.
|
3330
|
+
# Corresponds to the JSON property `dagEndTime`
|
3331
|
+
# @return [String]
|
3332
|
+
attr_accessor :dag_end_time
|
3333
|
+
|
3334
|
+
# Output only. DAG start time, only set for workflows with dag_timeout when DAG
|
3335
|
+
# begins.
|
3336
|
+
# Corresponds to the JSON property `dagStartTime`
|
3337
|
+
# @return [String]
|
3338
|
+
attr_accessor :dag_start_time
|
3339
|
+
|
3340
|
+
# Output only. The timeout duration for the DAG of jobs, expressed in seconds (
|
3341
|
+
# see JSON representation of duration (https://developers.google.com/protocol-
|
3342
|
+
# buffers/docs/proto3#json)).
|
3343
|
+
# Corresponds to the JSON property `dagTimeout`
|
3344
|
+
# @return [String]
|
3345
|
+
attr_accessor :dag_timeout
|
3346
|
+
|
3347
|
+
# The cluster operation triggered by a workflow.
|
3348
|
+
# Corresponds to the JSON property `deleteCluster`
|
3349
|
+
# @return [Google::Apis::DataprocV1::ClusterOperation]
|
3350
|
+
attr_accessor :delete_cluster
|
3351
|
+
|
3352
|
+
# Output only. Workflow end time.
|
3353
|
+
# Corresponds to the JSON property `endTime`
|
3354
|
+
# @return [String]
|
3355
|
+
attr_accessor :end_time
|
3356
|
+
|
3357
|
+
# The workflow graph.
|
3358
|
+
# Corresponds to the JSON property `graph`
|
3359
|
+
# @return [Google::Apis::DataprocV1::WorkflowGraph]
|
3360
|
+
attr_accessor :graph
|
3361
|
+
|
3362
|
+
# Map from parameter names to values that were used for those parameters.
|
3363
|
+
# Corresponds to the JSON property `parameters`
|
3364
|
+
# @return [Hash<String,String>]
|
3365
|
+
attr_accessor :parameters
|
3366
|
+
|
3367
|
+
# Output only. Workflow start time.
|
3368
|
+
# Corresponds to the JSON property `startTime`
|
3369
|
+
# @return [String]
|
3370
|
+
attr_accessor :start_time
|
3371
|
+
|
3372
|
+
# Output only. The workflow state.
|
3373
|
+
# Corresponds to the JSON property `state`
|
3374
|
+
# @return [String]
|
3375
|
+
attr_accessor :state
|
3376
|
+
|
3377
|
+
# Output only. The resource name of the workflow template as described in https:/
|
3378
|
+
# /cloud.google.com/apis/design/resource_names. For projects.regions.
|
3379
|
+
# workflowTemplates, the resource name of the template has the following format:
|
3380
|
+
# projects/`project_id`/regions/`region`/workflowTemplates/`template_id` For
|
3381
|
+
# projects.locations.workflowTemplates, the resource name of the template has
|
3382
|
+
# the following format: projects/`project_id`/locations/`location`/
|
3383
|
+
# workflowTemplates/`template_id`
|
3384
|
+
# Corresponds to the JSON property `template`
|
3385
|
+
# @return [String]
|
3386
|
+
attr_accessor :template
|
3387
|
+
|
3388
|
+
# Output only. The version of template at the time of workflow instantiation.
|
3389
|
+
# Corresponds to the JSON property `version`
|
3390
|
+
# @return [Fixnum]
|
3391
|
+
attr_accessor :version
|
3392
|
+
|
3393
|
+
def initialize(**args)
|
3394
|
+
update!(**args)
|
3395
|
+
end
|
3396
|
+
|
3397
|
+
# Update properties of this object
|
3398
|
+
def update!(**args)
|
3399
|
+
@cluster_name = args[:cluster_name] if args.key?(:cluster_name)
|
3400
|
+
@cluster_uuid = args[:cluster_uuid] if args.key?(:cluster_uuid)
|
3401
|
+
@create_cluster = args[:create_cluster] if args.key?(:create_cluster)
|
3402
|
+
@dag_end_time = args[:dag_end_time] if args.key?(:dag_end_time)
|
3403
|
+
@dag_start_time = args[:dag_start_time] if args.key?(:dag_start_time)
|
3404
|
+
@dag_timeout = args[:dag_timeout] if args.key?(:dag_timeout)
|
3405
|
+
@delete_cluster = args[:delete_cluster] if args.key?(:delete_cluster)
|
3406
|
+
@end_time = args[:end_time] if args.key?(:end_time)
|
3407
|
+
@graph = args[:graph] if args.key?(:graph)
|
3408
|
+
@parameters = args[:parameters] if args.key?(:parameters)
|
3409
|
+
@start_time = args[:start_time] if args.key?(:start_time)
|
3410
|
+
@state = args[:state] if args.key?(:state)
|
3411
|
+
@template = args[:template] if args.key?(:template)
|
3412
|
+
@version = args[:version] if args.key?(:version)
|
3413
|
+
end
|
3414
|
+
end
|
3415
|
+
|
3416
|
+
# The workflow node.
|
3417
|
+
class WorkflowNode
|
3418
|
+
include Google::Apis::Core::Hashable
|
3419
|
+
|
3420
|
+
# Output only. The error detail.
|
3421
|
+
# Corresponds to the JSON property `error`
|
3422
|
+
# @return [String]
|
3423
|
+
attr_accessor :error
|
3424
|
+
|
3425
|
+
# Output only. The job id; populated after the node enters RUNNING state.
|
3426
|
+
# Corresponds to the JSON property `jobId`
|
3427
|
+
# @return [String]
|
3428
|
+
attr_accessor :job_id
|
3429
|
+
|
3430
|
+
# Output only. Node's prerequisite nodes.
|
3431
|
+
# Corresponds to the JSON property `prerequisiteStepIds`
|
3432
|
+
# @return [Array<String>]
|
3433
|
+
attr_accessor :prerequisite_step_ids
|
3434
|
+
|
3435
|
+
# Output only. The node state.
|
3436
|
+
# Corresponds to the JSON property `state`
|
3437
|
+
# @return [String]
|
3438
|
+
attr_accessor :state
|
3439
|
+
|
3440
|
+
# Output only. The name of the node.
|
3441
|
+
# Corresponds to the JSON property `stepId`
|
3442
|
+
# @return [String]
|
3443
|
+
attr_accessor :step_id
|
3444
|
+
|
3445
|
+
def initialize(**args)
|
3446
|
+
update!(**args)
|
3447
|
+
end
|
3448
|
+
|
3449
|
+
# Update properties of this object
|
3450
|
+
def update!(**args)
|
3451
|
+
@error = args[:error] if args.key?(:error)
|
3452
|
+
@job_id = args[:job_id] if args.key?(:job_id)
|
3453
|
+
@prerequisite_step_ids = args[:prerequisite_step_ids] if args.key?(:prerequisite_step_ids)
|
3454
|
+
@state = args[:state] if args.key?(:state)
|
3455
|
+
@step_id = args[:step_id] if args.key?(:step_id)
|
3456
|
+
end
|
3457
|
+
end
|
3458
|
+
|
3459
|
+
# A Dataproc workflow template resource.
|
3460
|
+
class WorkflowTemplate
|
3461
|
+
include Google::Apis::Core::Hashable
|
3462
|
+
|
3463
|
+
# Output only. The time template was created.
|
3464
|
+
# Corresponds to the JSON property `createTime`
|
3465
|
+
# @return [String]
|
3466
|
+
attr_accessor :create_time
|
3467
|
+
|
3468
|
+
# Optional. Timeout duration for the DAG of jobs, expressed in seconds (see JSON
|
3469
|
+
# representation of duration (https://developers.google.com/protocol-buffers/
|
3470
|
+
# docs/proto3#json)). The timeout duration must be from 10 minutes ("600s") to
|
3471
|
+
# 24 hours ("86400s"). The timer begins when the first job is submitted. If the
|
3472
|
+
# workflow is running at the end of the timeout period, any remaining jobs are
|
3473
|
+
# cancelled, the workflow is ended, and if the workflow was running on a managed
|
3474
|
+
# cluster, the cluster is deleted.
|
3475
|
+
# Corresponds to the JSON property `dagTimeout`
|
3476
|
+
# @return [String]
|
3477
|
+
attr_accessor :dag_timeout
|
3478
|
+
|
3479
|
+
#
|
3480
|
+
# Corresponds to the JSON property `id`
|
3481
|
+
# @return [String]
|
3482
|
+
attr_accessor :id
|
3483
|
+
|
3484
|
+
# Required. The Directed Acyclic Graph of Jobs to submit.
|
3485
|
+
# Corresponds to the JSON property `jobs`
|
3486
|
+
# @return [Array<Google::Apis::DataprocV1::OrderedJob>]
|
3487
|
+
attr_accessor :jobs
|
3488
|
+
|
3489
|
+
# Optional. The labels to associate with this template. These labels will be
|
3490
|
+
# propagated to all jobs and clusters created by the workflow instance.Label
|
3491
|
+
# keys must contain 1 to 63 characters, and must conform to RFC 1035 (https://
|
3492
|
+
# www.ietf.org/rfc/rfc1035.txt).Label values may be empty, but, if present, must
|
3493
|
+
# contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/
|
3494
|
+
# rfc/rfc1035.txt).No more than 32 labels can be associated with a template.
|
3495
|
+
# Corresponds to the JSON property `labels`
|
3496
|
+
# @return [Hash<String,String>]
|
3497
|
+
attr_accessor :labels
|
3498
|
+
|
3499
|
+
# Output only. The resource name of the workflow template, as described in https:
|
3500
|
+
# //cloud.google.com/apis/design/resource_names. For projects.regions.
|
3501
|
+
# workflowTemplates, the resource name of the template has the following format:
|
3502
|
+
# projects/`project_id`/regions/`region`/workflowTemplates/`template_id` For
|
3503
|
+
# projects.locations.workflowTemplates, the resource name of the template has
|
3504
|
+
# the following format: projects/`project_id`/locations/`location`/
|
3505
|
+
# workflowTemplates/`template_id`
|
3506
|
+
# Corresponds to the JSON property `name`
|
3507
|
+
# @return [String]
|
3508
|
+
attr_accessor :name
|
3509
|
+
|
3510
|
+
# Optional. Template parameters whose values are substituted into the template.
|
3511
|
+
# Values for parameters must be provided when the template is instantiated.
|
3512
|
+
# Corresponds to the JSON property `parameters`
|
3513
|
+
# @return [Array<Google::Apis::DataprocV1::TemplateParameter>]
|
3514
|
+
attr_accessor :parameters
|
3515
|
+
|
3516
|
+
# Specifies workflow execution target.Either managed_cluster or cluster_selector
|
3517
|
+
# is required.
|
3518
|
+
# Corresponds to the JSON property `placement`
|
3519
|
+
# @return [Google::Apis::DataprocV1::WorkflowTemplatePlacement]
|
3520
|
+
attr_accessor :placement
|
3521
|
+
|
3522
|
+
# Output only. The time template was last updated.
|
3523
|
+
# Corresponds to the JSON property `updateTime`
|
3524
|
+
# @return [String]
|
3525
|
+
attr_accessor :update_time
|
3526
|
+
|
3527
|
+
# Optional. Used to perform a consistent read-modify-write.This field should be
|
3528
|
+
# left blank for a CreateWorkflowTemplate request. It is required for an
|
3529
|
+
# UpdateWorkflowTemplate request, and must match the current server version. A
|
3530
|
+
# typical update template flow would fetch the current template with a
|
3531
|
+
# GetWorkflowTemplate request, which will return the current template with the
|
3532
|
+
# version field filled in with the current server version. The user updates
|
3533
|
+
# other fields in the template, then returns it as part of the
|
3534
|
+
# UpdateWorkflowTemplate request.
|
3535
|
+
# Corresponds to the JSON property `version`
|
3536
|
+
# @return [Fixnum]
|
3537
|
+
attr_accessor :version
|
3538
|
+
|
3539
|
+
def initialize(**args)
|
3540
|
+
update!(**args)
|
3541
|
+
end
|
3542
|
+
|
3543
|
+
# Update properties of this object
|
3544
|
+
def update!(**args)
|
3545
|
+
@create_time = args[:create_time] if args.key?(:create_time)
|
3546
|
+
@dag_timeout = args[:dag_timeout] if args.key?(:dag_timeout)
|
3547
|
+
@id = args[:id] if args.key?(:id)
|
3548
|
+
@jobs = args[:jobs] if args.key?(:jobs)
|
3549
|
+
@labels = args[:labels] if args.key?(:labels)
|
3550
|
+
@name = args[:name] if args.key?(:name)
|
3551
|
+
@parameters = args[:parameters] if args.key?(:parameters)
|
3552
|
+
@placement = args[:placement] if args.key?(:placement)
|
3553
|
+
@update_time = args[:update_time] if args.key?(:update_time)
|
3554
|
+
@version = args[:version] if args.key?(:version)
|
3555
|
+
end
|
3556
|
+
end
|
3557
|
+
|
3558
|
+
# Specifies workflow execution target.Either managed_cluster or cluster_selector
|
3559
|
+
# is required.
|
3560
|
+
class WorkflowTemplatePlacement
|
3561
|
+
include Google::Apis::Core::Hashable
|
3562
|
+
|
3563
|
+
# A selector that chooses target cluster for jobs based on metadata.
|
3564
|
+
# Corresponds to the JSON property `clusterSelector`
|
3565
|
+
# @return [Google::Apis::DataprocV1::ClusterSelector]
|
3566
|
+
attr_accessor :cluster_selector
|
3567
|
+
|
3568
|
+
# Cluster that is managed by the workflow.
|
3569
|
+
# Corresponds to the JSON property `managedCluster`
|
3570
|
+
# @return [Google::Apis::DataprocV1::ManagedCluster]
|
3571
|
+
attr_accessor :managed_cluster
|
3572
|
+
|
3573
|
+
def initialize(**args)
|
3574
|
+
update!(**args)
|
3575
|
+
end
|
3576
|
+
|
3577
|
+
# Update properties of this object
|
3578
|
+
def update!(**args)
|
3579
|
+
@cluster_selector = args[:cluster_selector] if args.key?(:cluster_selector)
|
3580
|
+
@managed_cluster = args[:managed_cluster] if args.key?(:managed_cluster)
|
3581
|
+
end
|
3582
|
+
end
|
3583
|
+
|
3584
|
+
# A YARN application created by a job. Application information is a subset of
|
3585
|
+
# org.apache.hadoop.yarn.proto.YarnProtos.ApplicationReportProto.Beta Feature:
|
3586
|
+
# This report is available for testing purposes only. It may be changed before
|
3587
|
+
# final release.
|
3588
|
+
class YarnApplication
|
3589
|
+
include Google::Apis::Core::Hashable
|
3590
|
+
|
3591
|
+
# Required. The application name.
|
3592
|
+
# Corresponds to the JSON property `name`
|
3593
|
+
# @return [String]
|
3594
|
+
attr_accessor :name
|
3595
|
+
|
3596
|
+
# Required. The numerical progress of the application, from 1 to 100.
|
3597
|
+
# Corresponds to the JSON property `progress`
|
3598
|
+
# @return [Float]
|
3599
|
+
attr_accessor :progress
|
3600
|
+
|
3601
|
+
# Required. The application state.
|
3602
|
+
# Corresponds to the JSON property `state`
|
3603
|
+
# @return [String]
|
3604
|
+
attr_accessor :state
|
3605
|
+
|
3606
|
+
# Optional. The HTTP URL of the ApplicationMaster, HistoryServer, or
|
3607
|
+
# TimelineServer that provides application-specific information. The URL uses
|
3608
|
+
# the internal hostname, and requires a proxy server for resolution and,
|
3609
|
+
# possibly, access.
|
3610
|
+
# Corresponds to the JSON property `trackingUrl`
|
3611
|
+
# @return [String]
|
3612
|
+
attr_accessor :tracking_url
|
3613
|
+
|
3614
|
+
def initialize(**args)
|
3615
|
+
update!(**args)
|
3616
|
+
end
|
3617
|
+
|
3618
|
+
# Update properties of this object
|
3619
|
+
def update!(**args)
|
3620
|
+
@name = args[:name] if args.key?(:name)
|
3621
|
+
@progress = args[:progress] if args.key?(:progress)
|
3622
|
+
@state = args[:state] if args.key?(:state)
|
3623
|
+
@tracking_url = args[:tracking_url] if args.key?(:tracking_url)
|
3624
|
+
end
|
3625
|
+
end
|
3626
|
+
end
|
3627
|
+
end
|
3628
|
+
end
|