google-api-client 0.9.2 → 0.9.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (182) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +1 -0
  3. data/CHANGELOG.md +9 -0
  4. data/Gemfile +1 -0
  5. data/README.md +2 -2
  6. data/api_names.yaml +19 -0
  7. data/api_names_out.yaml +843 -269
  8. data/bin/generate-api +18 -4
  9. data/generated/google/apis/adexchangebuyer_v1_4.rb +1 -1
  10. data/generated/google/apis/adexchangebuyer_v1_4/classes.rb +249 -9
  11. data/generated/google/apis/adexchangebuyer_v1_4/representations.rb +208 -1
  12. data/generated/google/apis/adexchangebuyer_v1_4/service.rb +68 -0
  13. data/generated/google/apis/adexchangeseller_v2_0/representations.rb +38 -0
  14. data/generated/google/apis/admin_datatransfer_v1.rb +2 -2
  15. data/generated/google/apis/admin_datatransfer_v1/representations.rb +12 -0
  16. data/generated/google/apis/admin_datatransfer_v1/service.rb +1 -1
  17. data/generated/google/apis/admin_directory_v1/representations.rb +118 -0
  18. data/generated/google/apis/admin_reports_v1/representations.rb +26 -0
  19. data/generated/google/apis/adsense_v1_4.rb +1 -1
  20. data/generated/google/apis/adsense_v1_4/classes.rb +0 -7
  21. data/generated/google/apis/adsense_v1_4/representations.rb +62 -1
  22. data/generated/google/apis/adsensehost_v4_1.rb +1 -1
  23. data/generated/google/apis/adsensehost_v4_1/representations.rb +40 -0
  24. data/generated/google/apis/analytics_v3.rb +1 -1
  25. data/generated/google/apis/analytics_v3/representations.rb +188 -0
  26. data/generated/google/apis/analytics_v3/service.rb +3 -3
  27. data/generated/google/apis/androidenterprise_v1.rb +1 -1
  28. data/generated/google/apis/androidenterprise_v1/representations.rb +76 -0
  29. data/generated/google/apis/androidenterprise_v1/service.rb +6 -2
  30. data/generated/google/apis/androidpublisher_v2.rb +1 -1
  31. data/generated/google/apis/androidpublisher_v2/representations.rb +92 -0
  32. data/generated/google/apis/appengine_v1beta5.rb +1 -1
  33. data/generated/google/apis/appengine_v1beta5/classes.rb +22 -1
  34. data/generated/google/apis/appengine_v1beta5/representations.rb +69 -0
  35. data/generated/google/apis/appengine_v1beta5/service.rb +43 -0
  36. data/generated/google/apis/appsactivity_v1/representations.rb +22 -0
  37. data/generated/google/apis/appstate_v1.rb +1 -1
  38. data/generated/google/apis/appstate_v1/representations.rb +8 -0
  39. data/generated/google/apis/autoscaler_v1beta2/representations.rb +32 -0
  40. data/generated/google/apis/bigquery_v2.rb +1 -1
  41. data/generated/google/apis/bigquery_v2/classes.rb +31 -0
  42. data/generated/google/apis/bigquery_v2/representations.rb +98 -0
  43. data/generated/google/apis/blogger_v3/representations.rb +70 -0
  44. data/generated/google/apis/books_v1/representations.rb +196 -0
  45. data/generated/google/apis/calendar_v3.rb +1 -1
  46. data/generated/google/apis/calendar_v3/representations.rb +64 -0
  47. data/generated/google/apis/civicinfo_v2/representations.rb +40 -0
  48. data/generated/google/apis/classroom_v1/representations.rb +28 -0
  49. data/generated/google/apis/cloudbilling_v1/representations.rb +8 -0
  50. data/generated/google/apis/cloudbuild_v1.rb +1 -1
  51. data/generated/google/apis/cloudbuild_v1/classes.rb +1 -1
  52. data/generated/google/apis/cloudbuild_v1/representations.rb +24 -0
  53. data/generated/google/apis/cloudbuild_v1/service.rb +2 -2
  54. data/generated/google/apis/clouddebugger_v2/representations.rb +54 -0
  55. data/generated/google/apis/cloudlatencytest_v2/representations.rb +14 -0
  56. data/generated/google/apis/cloudmonitoring_v2beta2.rb +1 -1
  57. data/generated/google/apis/cloudmonitoring_v2beta2/representations.rb +42 -0
  58. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +1 -1
  59. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +15 -2
  60. data/generated/google/apis/cloudresourcemanager_v1beta1/representations.rb +38 -0
  61. data/generated/google/apis/cloudresourcemanager_v1beta1/service.rb +4 -1
  62. data/generated/google/apis/cloudtrace_v1/representations.rb +10 -0
  63. data/generated/google/apis/clouduseraccounts_beta/representations.rb +38 -0
  64. data/generated/google/apis/compute_beta.rb +1 -1
  65. data/generated/google/apis/compute_beta/classes.rb +512 -0
  66. data/generated/google/apis/compute_beta/representations.rb +599 -0
  67. data/generated/google/apis/compute_beta/service.rb +415 -0
  68. data/generated/google/apis/compute_v1.rb +1 -1
  69. data/generated/google/apis/compute_v1/representations.rb +386 -0
  70. data/generated/google/apis/container_v1/representations.rb +20 -0
  71. data/generated/google/apis/content_v2/representations.rb +296 -0
  72. data/generated/google/apis/coordinate_v1/representations.rb +36 -0
  73. data/generated/google/apis/customsearch_v1/representations.rb +26 -0
  74. data/generated/google/apis/dataproc_v1.rb +1 -1
  75. data/generated/google/apis/dataproc_v1/classes.rb +1415 -0
  76. data/generated/google/apis/dataproc_v1/representations.rb +569 -0
  77. data/generated/google/apis/dataproc_v1/service.rb +581 -4
  78. data/generated/google/apis/datastore_v1beta2/representations.rb +68 -0
  79. data/generated/google/apis/deploymentmanager_v2/representations.rb +58 -0
  80. data/generated/google/apis/dfareporting_v2_3/representations.rb +386 -0
  81. data/generated/google/apis/discovery_v1/representations.rb +40 -0
  82. data/generated/google/apis/dns_v1.rb +1 -1
  83. data/generated/google/apis/dns_v1/classes.rb +2 -2
  84. data/generated/google/apis/dns_v1/representations.rb +16 -0
  85. data/generated/google/apis/doubleclickbidmanager_v1/representations.rb +42 -0
  86. data/generated/google/apis/doubleclicksearch_v2.rb +1 -1
  87. data/generated/google/apis/doubleclicksearch_v2/representations.rb +34 -0
  88. data/generated/google/apis/drive_v2.rb +1 -1
  89. data/generated/google/apis/drive_v2/classes.rb +7 -0
  90. data/generated/google/apis/drive_v2/representations.rb +83 -0
  91. data/generated/google/apis/drive_v3.rb +1 -1
  92. data/generated/google/apis/drive_v3/classes.rb +7 -0
  93. data/generated/google/apis/drive_v3/representations.rb +51 -0
  94. data/generated/google/apis/fitness_v1/representations.rb +40 -0
  95. data/generated/google/apis/fusiontables_v2.rb +1 -1
  96. data/generated/google/apis/fusiontables_v2/representations.rb +48 -0
  97. data/generated/google/apis/games_configuration_v1configuration.rb +1 -1
  98. data/generated/google/apis/games_configuration_v1configuration/representations.rb +22 -0
  99. data/generated/google/apis/games_management_v1management.rb +1 -1
  100. data/generated/google/apis/games_management_v1management/representations.rb +30 -0
  101. data/generated/google/apis/games_v1.rb +1 -1
  102. data/generated/google/apis/games_v1/representations.rb +198 -0
  103. data/generated/google/apis/gan_v1beta1/representations.rb +34 -0
  104. data/generated/google/apis/genomics_v1.rb +1 -1
  105. data/generated/google/apis/genomics_v1/classes.rb +2 -211
  106. data/generated/google/apis/genomics_v1/representations.rb +119 -84
  107. data/generated/google/apis/gmail_v1/representations.rb +44 -0
  108. data/generated/google/apis/groupsmigration_v1/representations.rb +2 -0
  109. data/generated/google/apis/groupssettings_v1/representations.rb +2 -0
  110. data/generated/google/apis/identitytoolkit_v3.rb +1 -1
  111. data/generated/google/apis/identitytoolkit_v3/classes.rb +105 -0
  112. data/generated/google/apis/identitytoolkit_v3/representations.rb +99 -0
  113. data/generated/google/apis/identitytoolkit_v3/service.rb +36 -1
  114. data/generated/google/apis/kgsearch_v1/representations.rb +2 -0
  115. data/generated/google/apis/licensing_v1/representations.rb +6 -0
  116. data/generated/google/apis/logging_v2beta1/representations.rb +40 -0
  117. data/generated/google/apis/manager_v1beta2/representations.rb +70 -0
  118. data/generated/google/apis/mirror_v1/representations.rb +40 -0
  119. data/generated/google/apis/oauth2_v2.rb +1 -1
  120. data/generated/google/apis/oauth2_v2/representations.rb +8 -0
  121. data/generated/google/apis/pagespeedonline_v2/representations.rb +28 -0
  122. data/generated/google/apis/partners_v2/representations.rb +52 -0
  123. data/generated/google/apis/people_v1.rb +11 -11
  124. data/generated/google/apis/people_v1/classes.rb +888 -961
  125. data/generated/google/apis/people_v1/representations.rb +295 -225
  126. data/generated/google/apis/people_v1/service.rb +61 -65
  127. data/generated/google/apis/plus_domains_v1.rb +1 -1
  128. data/generated/google/apis/plus_domains_v1/representations.rb +124 -0
  129. data/generated/google/apis/plus_v1.rb +1 -1
  130. data/generated/google/apis/plus_v1/representations.rb +102 -0
  131. data/generated/google/apis/prediction_v1_6/classes.rb +1 -1
  132. data/generated/google/apis/prediction_v1_6/representations.rb +42 -0
  133. data/generated/google/apis/proximitybeacon_v1beta1/representations.rb +38 -0
  134. data/generated/google/apis/pubsub_v1/representations.rb +42 -0
  135. data/generated/google/apis/qpx_express_v1/representations.rb +48 -0
  136. data/generated/google/apis/replicapool_v1beta2/representations.rb +28 -0
  137. data/generated/google/apis/replicapoolupdater_v1beta1/representations.rb +30 -0
  138. data/generated/google/apis/reseller_v1.rb +1 -1
  139. data/generated/google/apis/reseller_v1/classes.rb +6 -0
  140. data/generated/google/apis/reseller_v1/representations.rb +23 -0
  141. data/generated/google/apis/resourceviews_v1beta2/representations.rb +32 -0
  142. data/generated/google/apis/script_v1/representations.rb +12 -0
  143. data/generated/google/apis/site_verification_v1/representations.rb +12 -0
  144. data/generated/google/apis/sqladmin_v1beta4.rb +1 -1
  145. data/generated/google/apis/sqladmin_v1beta4/classes.rb +50 -21
  146. data/generated/google/apis/sqladmin_v1beta4/representations.rb +98 -0
  147. data/generated/google/apis/sqladmin_v1beta4/service.rb +3 -3
  148. data/generated/google/apis/storage_v1.rb +1 -1
  149. data/generated/google/apis/storage_v1/representations.rb +52 -0
  150. data/generated/google/apis/storagetransfer_v1/representations.rb +48 -0
  151. data/generated/google/apis/tagmanager_v1.rb +1 -1
  152. data/generated/google/apis/tagmanager_v1/classes.rb +110 -0
  153. data/generated/google/apis/tagmanager_v1/representations.rb +96 -0
  154. data/generated/google/apis/tagmanager_v1/service.rb +303 -1
  155. data/generated/google/apis/taskqueue_v1beta2/representations.rb +12 -0
  156. data/generated/google/apis/tasks_v1/representations.rb +10 -0
  157. data/generated/google/apis/translate_v2.rb +1 -1
  158. data/generated/google/apis/translate_v2/representations.rb +12 -0
  159. data/generated/google/apis/urlshortener_v1/representations.rb +10 -0
  160. data/generated/google/apis/vision_v1.rb +37 -0
  161. data/generated/google/apis/vision_v1/classes.rb +1259 -0
  162. data/generated/google/apis/vision_v1/representations.rb +418 -0
  163. data/generated/google/apis/vision_v1/service.rb +91 -0
  164. data/generated/google/apis/webmasters_v3/representations.rb +32 -0
  165. data/generated/google/apis/youtube_analytics_v1/representations.rb +30 -0
  166. data/generated/google/apis/youtube_v3/representations.rb +332 -0
  167. data/generated/google/apis/youtubereporting_v1/representations.rb +16 -0
  168. data/google-api-client.gemspec +0 -2
  169. data/lib/google/api_client/client_secrets.rb +3 -4
  170. data/lib/google/apis/core/api_command.rb +5 -4
  171. data/lib/google/apis/core/http_command.rb +20 -4
  172. data/lib/google/apis/core/json_representation.rb +20 -2
  173. data/lib/google/apis/generator/annotator.rb +1 -1
  174. data/lib/google/apis/generator/templates/_representation_stub.tmpl +2 -0
  175. data/lib/google/apis/version.rb +1 -1
  176. data/script/generate +2 -1
  177. data/spec/google/api_client/client_secrets_spec.rb +2 -2
  178. data/spec/google/apis/core/api_command_spec.rb +2 -2
  179. data/spec/google/apis/core/http_command_spec.rb +19 -0
  180. data/spec/google/apis/core/json_representation_spec.rb +14 -7
  181. data/spec/google/apis/generator/generator_spec.rb +52 -0
  182. metadata +6 -30
@@ -24,74 +24,110 @@ module Google
24
24
 
25
25
  class CustomField
26
26
  class Representation < Google::Apis::Core::JsonRepresentation; end
27
+
28
+ include Google::Apis::Core::JsonObjectSupport
27
29
  end
28
30
 
29
31
  class CustomFieldDef
30
32
  class Representation < Google::Apis::Core::JsonRepresentation; end
33
+
34
+ include Google::Apis::Core::JsonObjectSupport
31
35
  end
32
36
 
33
37
  class ListCustomFieldDefResponse
34
38
  class Representation < Google::Apis::Core::JsonRepresentation; end
39
+
40
+ include Google::Apis::Core::JsonObjectSupport
35
41
  end
36
42
 
37
43
  class CustomFields
38
44
  class Representation < Google::Apis::Core::JsonRepresentation; end
45
+
46
+ include Google::Apis::Core::JsonObjectSupport
39
47
  end
40
48
 
41
49
  class EnumItemDef
42
50
  class Representation < Google::Apis::Core::JsonRepresentation; end
51
+
52
+ include Google::Apis::Core::JsonObjectSupport
43
53
  end
44
54
 
45
55
  class Job
46
56
  class Representation < Google::Apis::Core::JsonRepresentation; end
57
+
58
+ include Google::Apis::Core::JsonObjectSupport
47
59
  end
48
60
 
49
61
  class JobChange
50
62
  class Representation < Google::Apis::Core::JsonRepresentation; end
63
+
64
+ include Google::Apis::Core::JsonObjectSupport
51
65
  end
52
66
 
53
67
  class ListJobResponse
54
68
  class Representation < Google::Apis::Core::JsonRepresentation; end
69
+
70
+ include Google::Apis::Core::JsonObjectSupport
55
71
  end
56
72
 
57
73
  class JobState
58
74
  class Representation < Google::Apis::Core::JsonRepresentation; end
75
+
76
+ include Google::Apis::Core::JsonObjectSupport
59
77
  end
60
78
 
61
79
  class Location
62
80
  class Representation < Google::Apis::Core::JsonRepresentation; end
81
+
82
+ include Google::Apis::Core::JsonObjectSupport
63
83
  end
64
84
 
65
85
  class ListLocationResponse
66
86
  class Representation < Google::Apis::Core::JsonRepresentation; end
87
+
88
+ include Google::Apis::Core::JsonObjectSupport
67
89
  end
68
90
 
69
91
  class LocationRecord
70
92
  class Representation < Google::Apis::Core::JsonRepresentation; end
93
+
94
+ include Google::Apis::Core::JsonObjectSupport
71
95
  end
72
96
 
73
97
  class Schedule
74
98
  class Representation < Google::Apis::Core::JsonRepresentation; end
99
+
100
+ include Google::Apis::Core::JsonObjectSupport
75
101
  end
76
102
 
77
103
  class Team
78
104
  class Representation < Google::Apis::Core::JsonRepresentation; end
105
+
106
+ include Google::Apis::Core::JsonObjectSupport
79
107
  end
80
108
 
81
109
  class ListTeamResponse
82
110
  class Representation < Google::Apis::Core::JsonRepresentation; end
111
+
112
+ include Google::Apis::Core::JsonObjectSupport
83
113
  end
84
114
 
85
115
  class TokenPagination
86
116
  class Representation < Google::Apis::Core::JsonRepresentation; end
117
+
118
+ include Google::Apis::Core::JsonObjectSupport
87
119
  end
88
120
 
89
121
  class Worker
90
122
  class Representation < Google::Apis::Core::JsonRepresentation; end
123
+
124
+ include Google::Apis::Core::JsonObjectSupport
91
125
  end
92
126
 
93
127
  class ListWorkerResponse
94
128
  class Representation < Google::Apis::Core::JsonRepresentation; end
129
+
130
+ include Google::Apis::Core::JsonObjectSupport
95
131
  end
96
132
 
97
133
  class CustomField
@@ -27,7 +27,11 @@ module Google
27
27
 
28
28
  class Facet
29
29
  class Representation < Google::Apis::Core::JsonRepresentation; end
30
+
31
+ include Google::Apis::Core::JsonObjectSupport
30
32
  end
33
+
34
+ include Google::Apis::Core::JsonObjectSupport
31
35
  end
32
36
 
33
37
  class Promotion
@@ -35,15 +39,23 @@ module Google
35
39
 
36
40
  class BodyLine
37
41
  class Representation < Google::Apis::Core::JsonRepresentation; end
42
+
43
+ include Google::Apis::Core::JsonObjectSupport
38
44
  end
39
45
 
40
46
  class Image
41
47
  class Representation < Google::Apis::Core::JsonRepresentation; end
48
+
49
+ include Google::Apis::Core::JsonObjectSupport
42
50
  end
51
+
52
+ include Google::Apis::Core::JsonObjectSupport
43
53
  end
44
54
 
45
55
  class Query
46
56
  class Representation < Google::Apis::Core::JsonRepresentation; end
57
+
58
+ include Google::Apis::Core::JsonObjectSupport
47
59
  end
48
60
 
49
61
  class Result
@@ -51,11 +63,17 @@ module Google
51
63
 
52
64
  class Image
53
65
  class Representation < Google::Apis::Core::JsonRepresentation; end
66
+
67
+ include Google::Apis::Core::JsonObjectSupport
54
68
  end
55
69
 
56
70
  class Label
57
71
  class Representation < Google::Apis::Core::JsonRepresentation; end
72
+
73
+ include Google::Apis::Core::JsonObjectSupport
58
74
  end
75
+
76
+ include Google::Apis::Core::JsonObjectSupport
59
77
  end
60
78
 
61
79
  class Search
@@ -63,15 +81,23 @@ module Google
63
81
 
64
82
  class SearchInformation
65
83
  class Representation < Google::Apis::Core::JsonRepresentation; end
84
+
85
+ include Google::Apis::Core::JsonObjectSupport
66
86
  end
67
87
 
68
88
  class Spelling
69
89
  class Representation < Google::Apis::Core::JsonRepresentation; end
90
+
91
+ include Google::Apis::Core::JsonObjectSupport
70
92
  end
71
93
 
72
94
  class Url
73
95
  class Representation < Google::Apis::Core::JsonRepresentation; end
96
+
97
+ include Google::Apis::Core::JsonObjectSupport
74
98
  end
99
+
100
+ include Google::Apis::Core::JsonObjectSupport
75
101
  end
76
102
 
77
103
  class Context
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://cloud.google.com/dataproc/
26
26
  module DataprocV1
27
27
  VERSION = 'V1'
28
- REVISION = '20151209'
28
+ REVISION = '20160219'
29
29
 
30
30
  # View and manage your data across Google Cloud Platform services
31
31
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
@@ -41,6 +41,1409 @@ module Google
41
41
  end
42
42
  end
43
43
 
44
+ # Describes the identifying information, config, and status of a cluster of
45
+ # Google Compute Engine instances.
46
+ class Cluster
47
+ include Google::Apis::Core::Hashable
48
+
49
+ # [Required] The Google Cloud Platform project ID that the cluster belongs to.
50
+ # Corresponds to the JSON property `projectId`
51
+ # @return [String]
52
+ attr_accessor :project_id
53
+
54
+ # [Required] The cluster name. Cluster names within a project must be unique.
55
+ # Names of deleted clusters can be reused.
56
+ # Corresponds to the JSON property `clusterName`
57
+ # @return [String]
58
+ attr_accessor :cluster_name
59
+
60
+ # The cluster config.
61
+ # Corresponds to the JSON property `config`
62
+ # @return [Google::Apis::DataprocV1::ClusterConfig]
63
+ attr_accessor :config
64
+
65
+ # The status of a cluster and its instances.
66
+ # Corresponds to the JSON property `status`
67
+ # @return [Google::Apis::DataprocV1::ClusterStatus]
68
+ attr_accessor :status
69
+
70
+ # [Output-only] The previous cluster status.
71
+ # Corresponds to the JSON property `statusHistory`
72
+ # @return [Array<Google::Apis::DataprocV1::ClusterStatus>]
73
+ attr_accessor :status_history
74
+
75
+ # [Output-only] A cluster UUID (Unique Universal Identifier). Cloud Dataproc
76
+ # generates this value when it creates the cluster.
77
+ # Corresponds to the JSON property `clusterUuid`
78
+ # @return [String]
79
+ attr_accessor :cluster_uuid
80
+
81
+ def initialize(**args)
82
+ update!(**args)
83
+ end
84
+
85
+ # Update properties of this object
86
+ def update!(**args)
87
+ @project_id = args[:project_id] if args.key?(:project_id)
88
+ @cluster_name = args[:cluster_name] if args.key?(:cluster_name)
89
+ @config = args[:config] if args.key?(:config)
90
+ @status = args[:status] if args.key?(:status)
91
+ @status_history = args[:status_history] if args.key?(:status_history)
92
+ @cluster_uuid = args[:cluster_uuid] if args.key?(:cluster_uuid)
93
+ end
94
+ end
95
+
96
+ # The cluster config.
97
+ class ClusterConfig
98
+ include Google::Apis::Core::Hashable
99
+
100
+ # [Optional] A Google Cloud Storage staging bucket used for sharing generated
101
+ # SSH keys and config. If you do not specify a staging bucket, Cloud Dataproc
102
+ # will determine an appropriate Cloud Storage location (US, ASIA, or EU) for
103
+ # your cluster's staging bucket according to the Google Compute Engine zone
104
+ # where your cluster is deployed, and then it will create and manage this
105
+ # project-level, per-location bucket for you.
106
+ # Corresponds to the JSON property `configBucket`
107
+ # @return [String]
108
+ attr_accessor :config_bucket
109
+
110
+ # Common config settings for resources of Google Compute Engine cluster
111
+ # instances, applicable to all instances in the cluster.
112
+ # Corresponds to the JSON property `gceClusterConfig`
113
+ # @return [Google::Apis::DataprocV1::GceClusterConfig]
114
+ attr_accessor :gce_cluster_config
115
+
116
+ # The config settings for Google Compute Engine resources in an instance group,
117
+ # such as a master or worker group.
118
+ # Corresponds to the JSON property `masterConfig`
119
+ # @return [Google::Apis::DataprocV1::InstanceGroupConfig]
120
+ attr_accessor :master_config
121
+
122
+ # The config settings for Google Compute Engine resources in an instance group,
123
+ # such as a master or worker group.
124
+ # Corresponds to the JSON property `workerConfig`
125
+ # @return [Google::Apis::DataprocV1::InstanceGroupConfig]
126
+ attr_accessor :worker_config
127
+
128
+ # The config settings for Google Compute Engine resources in an instance group,
129
+ # such as a master or worker group.
130
+ # Corresponds to the JSON property `secondaryWorkerConfig`
131
+ # @return [Google::Apis::DataprocV1::InstanceGroupConfig]
132
+ attr_accessor :secondary_worker_config
133
+
134
+ # Specifies the selection and config of software inside the cluster.
135
+ # Corresponds to the JSON property `softwareConfig`
136
+ # @return [Google::Apis::DataprocV1::SoftwareConfig]
137
+ attr_accessor :software_config
138
+
139
+ # [Optional] Commands to execute on each node after config is completed. By
140
+ # default, executables are run on master and all worker nodes. You can test a
141
+ # node's role metadata to run an executable on a master or worker node, as shown
142
+ # below: ROLE=$(/usr/share/google/get_metadata_value attributes/role) if [[ "$`
143
+ # ROLE`" == 'Master' ]]; then ... master specific actions ... else ... worker
144
+ # specific actions ... fi
145
+ # Corresponds to the JSON property `initializationActions`
146
+ # @return [Array<Google::Apis::DataprocV1::NodeInitializationAction>]
147
+ attr_accessor :initialization_actions
148
+
149
+ def initialize(**args)
150
+ update!(**args)
151
+ end
152
+
153
+ # Update properties of this object
154
+ def update!(**args)
155
+ @config_bucket = args[:config_bucket] if args.key?(:config_bucket)
156
+ @gce_cluster_config = args[:gce_cluster_config] if args.key?(:gce_cluster_config)
157
+ @master_config = args[:master_config] if args.key?(:master_config)
158
+ @worker_config = args[:worker_config] if args.key?(:worker_config)
159
+ @secondary_worker_config = args[:secondary_worker_config] if args.key?(:secondary_worker_config)
160
+ @software_config = args[:software_config] if args.key?(:software_config)
161
+ @initialization_actions = args[:initialization_actions] if args.key?(:initialization_actions)
162
+ end
163
+ end
164
+
165
+ # Common config settings for resources of Google Compute Engine cluster
166
+ # instances, applicable to all instances in the cluster.
167
+ class GceClusterConfig
168
+ include Google::Apis::Core::Hashable
169
+
170
+ # [Required] The zone where the Google Compute Engine cluster will be located.
171
+ # Example: `https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[
172
+ # zone]`.
173
+ # Corresponds to the JSON property `zoneUri`
174
+ # @return [String]
175
+ attr_accessor :zone_uri
176
+
177
+ # The Google Compute Engine network to be used for machine communications.
178
+ # Cannot be specified with subnetwork_uri. If neither network_uri nor
179
+ # subnetwork_uri is specified, the "default" network of the project is used, if
180
+ # it exists. Cannot be a "Custom Subnet Network" (see https://cloud.google.com/
181
+ # compute/docs/subnetworks for more information). Example: `https://www.
182
+ # googleapis.com/compute/v1/projects/[project_id]/regions/global/default`.
183
+ # Corresponds to the JSON property `networkUri`
184
+ # @return [String]
185
+ attr_accessor :network_uri
186
+
187
+ # The Google Compute Engine subnetwork to be used for machine communications.
188
+ # Cannot be specified with network_uri. Example: `https://www.googleapis.com/
189
+ # compute/v1/projects/[project_id]/regions/us-east1/sub0`.
190
+ # Corresponds to the JSON property `subnetworkUri`
191
+ # @return [String]
192
+ attr_accessor :subnetwork_uri
193
+
194
+ # The URIs of service account scopes to be included in Google Compute Engine
195
+ # instances. The following base set of scopes is always included: * https://www.
196
+ # googleapis.com/auth/cloud.useraccounts.readonly * https://www.googleapis.com/
197
+ # auth/devstorage.read_write * https://www.googleapis.com/auth/logging.write If
198
+ # no scopes are specfied, the following defaults are also provided: * https://
199
+ # www.googleapis.com/auth/bigquery * https://www.googleapis.com/auth/bigtable.
200
+ # admin.table * https://www.googleapis.com/auth/bigtable.data * https://www.
201
+ # googleapis.com/auth/devstorage.full_control
202
+ # Corresponds to the JSON property `serviceAccountScopes`
203
+ # @return [Array<String>]
204
+ attr_accessor :service_account_scopes
205
+
206
+ # The Google Compute Engine tags to add to all instances.
207
+ # Corresponds to the JSON property `tags`
208
+ # @return [Array<String>]
209
+ attr_accessor :tags
210
+
211
+ # The Google Compute Engine metadata entries to add to all instances.
212
+ # Corresponds to the JSON property `metadata`
213
+ # @return [Hash<String,String>]
214
+ attr_accessor :metadata
215
+
216
+ def initialize(**args)
217
+ update!(**args)
218
+ end
219
+
220
+ # Update properties of this object
221
+ def update!(**args)
222
+ @zone_uri = args[:zone_uri] if args.key?(:zone_uri)
223
+ @network_uri = args[:network_uri] if args.key?(:network_uri)
224
+ @subnetwork_uri = args[:subnetwork_uri] if args.key?(:subnetwork_uri)
225
+ @service_account_scopes = args[:service_account_scopes] if args.key?(:service_account_scopes)
226
+ @tags = args[:tags] if args.key?(:tags)
227
+ @metadata = args[:metadata] if args.key?(:metadata)
228
+ end
229
+ end
230
+
231
+ # The config settings for Google Compute Engine resources in an instance group,
232
+ # such as a master or worker group.
233
+ class InstanceGroupConfig
234
+ include Google::Apis::Core::Hashable
235
+
236
+ # The number of VM instances in the instance group. For master instance groups,
237
+ # must be set to 1.
238
+ # Corresponds to the JSON property `numInstances`
239
+ # @return [Fixnum]
240
+ attr_accessor :num_instances
241
+
242
+ # The list of instance names. Cloud Dataproc derives the names from `
243
+ # cluster_name`, `num_instances`, and the instance group if not set by user (
244
+ # recommended practice is to let Cloud Dataproc derive the name).
245
+ # Corresponds to the JSON property `instanceNames`
246
+ # @return [Array<String>]
247
+ attr_accessor :instance_names
248
+
249
+ # [Output-only] The Google Compute Engine image resource used for cluster
250
+ # instances. Inferred from `SoftwareConfig.image_version`.
251
+ # Corresponds to the JSON property `imageUri`
252
+ # @return [String]
253
+ attr_accessor :image_uri
254
+
255
+ # The Google Compute Engine machine type used for cluster instances. Example: `
256
+ # https://www.googleapis.com/compute/v1/projects/[project_id]/zones/us-east1-a/
257
+ # machineTypes/n1-standard-2`.
258
+ # Corresponds to the JSON property `machineTypeUri`
259
+ # @return [String]
260
+ attr_accessor :machine_type_uri
261
+
262
+ # Specifies the config of disk options for a group of VM instances.
263
+ # Corresponds to the JSON property `diskConfig`
264
+ # @return [Google::Apis::DataprocV1::DiskConfig]
265
+ attr_accessor :disk_config
266
+
267
+ # Specifies that this instance group contains Preemptible Instances.
268
+ # Corresponds to the JSON property `isPreemptible`
269
+ # @return [Boolean]
270
+ attr_accessor :is_preemptible
271
+ alias_method :is_preemptible?, :is_preemptible
272
+
273
+ # Specifies the resources used to actively manage an instance group.
274
+ # Corresponds to the JSON property `managedGroupConfig`
275
+ # @return [Google::Apis::DataprocV1::ManagedGroupConfig]
276
+ attr_accessor :managed_group_config
277
+
278
+ def initialize(**args)
279
+ update!(**args)
280
+ end
281
+
282
+ # Update properties of this object
283
+ def update!(**args)
284
+ @num_instances = args[:num_instances] if args.key?(:num_instances)
285
+ @instance_names = args[:instance_names] if args.key?(:instance_names)
286
+ @image_uri = args[:image_uri] if args.key?(:image_uri)
287
+ @machine_type_uri = args[:machine_type_uri] if args.key?(:machine_type_uri)
288
+ @disk_config = args[:disk_config] if args.key?(:disk_config)
289
+ @is_preemptible = args[:is_preemptible] if args.key?(:is_preemptible)
290
+ @managed_group_config = args[:managed_group_config] if args.key?(:managed_group_config)
291
+ end
292
+ end
293
+
294
+ # Specifies the config of disk options for a group of VM instances.
295
+ class DiskConfig
296
+ include Google::Apis::Core::Hashable
297
+
298
+ # [Optional] Size in GB of the boot disk (default is 500GB).
299
+ # Corresponds to the JSON property `bootDiskSizeGb`
300
+ # @return [Fixnum]
301
+ attr_accessor :boot_disk_size_gb
302
+
303
+ # [Optional] Number of attached SSDs, from 0 to 4 (default is 0). If SSDs are
304
+ # not attached, the boot disk is used to store runtime logs and HDFS data. If
305
+ # one or more SSDs are attached, this runtime bulk data is spread across them,
306
+ # and the boot disk contains only basic config and installed binaries.
307
+ # Corresponds to the JSON property `numLocalSsds`
308
+ # @return [Fixnum]
309
+ attr_accessor :num_local_ssds
310
+
311
+ def initialize(**args)
312
+ update!(**args)
313
+ end
314
+
315
+ # Update properties of this object
316
+ def update!(**args)
317
+ @boot_disk_size_gb = args[:boot_disk_size_gb] if args.key?(:boot_disk_size_gb)
318
+ @num_local_ssds = args[:num_local_ssds] if args.key?(:num_local_ssds)
319
+ end
320
+ end
321
+
322
+ # Specifies the resources used to actively manage an instance group.
323
+ class ManagedGroupConfig
324
+ include Google::Apis::Core::Hashable
325
+
326
+ # [Output-only] The name of the Instance Template used for the Managed Instance
327
+ # Group.
328
+ # Corresponds to the JSON property `instanceTemplateName`
329
+ # @return [String]
330
+ attr_accessor :instance_template_name
331
+
332
+ # [Output-only] The name of the Instance Group Manager for this group.
333
+ # Corresponds to the JSON property `instanceGroupManagerName`
334
+ # @return [String]
335
+ attr_accessor :instance_group_manager_name
336
+
337
+ def initialize(**args)
338
+ update!(**args)
339
+ end
340
+
341
+ # Update properties of this object
342
+ def update!(**args)
343
+ @instance_template_name = args[:instance_template_name] if args.key?(:instance_template_name)
344
+ @instance_group_manager_name = args[:instance_group_manager_name] if args.key?(:instance_group_manager_name)
345
+ end
346
+ end
347
+
348
+ # Specifies the selection and config of software inside the cluster.
349
+ class SoftwareConfig
350
+ include Google::Apis::Core::Hashable
351
+
352
+ # [Optional] The version of software inside the cluster. It must match the
353
+ # regular expression `[0-9]+\.[0-9]+`. If unspecified, it defaults to the latest
354
+ # version (see [Cloud Dataproc Versioning](/dataproc/versioning)).
355
+ # Corresponds to the JSON property `imageVersion`
356
+ # @return [String]
357
+ attr_accessor :image_version
358
+
359
+ # [Optional] The properties to set on daemon config files. Property keys are
360
+ # specified in `prefix:property` format, such as `core:fs.defaultFS`. The
361
+ # following are supported prefixes and their mappings: * core: `core-site.xml` *
362
+ # hdfs: `hdfs-site.xml` * mapred: `mapred-site.xml` * yarn: `yarn-site.xml` *
363
+ # hive: `hive-site.xml` * pig: `pig.properties` * spark: `spark-defaults.conf`
364
+ # Corresponds to the JSON property `properties`
365
+ # @return [Hash<String,String>]
366
+ attr_accessor :properties
367
+
368
+ def initialize(**args)
369
+ update!(**args)
370
+ end
371
+
372
+ # Update properties of this object
373
+ def update!(**args)
374
+ @image_version = args[:image_version] if args.key?(:image_version)
375
+ @properties = args[:properties] if args.key?(:properties)
376
+ end
377
+ end
378
+
379
+ # Specifies an executable to run on a fully configured node and a timeout period
380
+ # for executable completion.
381
+ class NodeInitializationAction
382
+ include Google::Apis::Core::Hashable
383
+
384
+ # [Required] Google Cloud Storage URI of executable file.
385
+ # Corresponds to the JSON property `executableFile`
386
+ # @return [String]
387
+ attr_accessor :executable_file
388
+
389
+ # [Optional] Amount of time executable has to complete. Default is 10 minutes.
390
+ # Cluster creation fails with an explanatory error message (the name of the
391
+ # executable that caused the error and the exceeded timeout period) if the
392
+ # executable is not completed at end of the timeout period.
393
+ # Corresponds to the JSON property `executionTimeout`
394
+ # @return [String]
395
+ attr_accessor :execution_timeout
396
+
397
+ def initialize(**args)
398
+ update!(**args)
399
+ end
400
+
401
+ # Update properties of this object
402
+ def update!(**args)
403
+ @executable_file = args[:executable_file] if args.key?(:executable_file)
404
+ @execution_timeout = args[:execution_timeout] if args.key?(:execution_timeout)
405
+ end
406
+ end
407
+
408
+ # The status of a cluster and its instances.
409
+ class ClusterStatus
410
+ include Google::Apis::Core::Hashable
411
+
412
+ # The cluster's state.
413
+ # Corresponds to the JSON property `state`
414
+ # @return [String]
415
+ attr_accessor :state
416
+
417
+ # Optional details of cluster's state.
418
+ # Corresponds to the JSON property `detail`
419
+ # @return [String]
420
+ attr_accessor :detail
421
+
422
+ # Time when this state was entered.
423
+ # Corresponds to the JSON property `stateStartTime`
424
+ # @return [String]
425
+ attr_accessor :state_start_time
426
+
427
+ def initialize(**args)
428
+ update!(**args)
429
+ end
430
+
431
+ # Update properties of this object
432
+ def update!(**args)
433
+ @state = args[:state] if args.key?(:state)
434
+ @detail = args[:detail] if args.key?(:detail)
435
+ @state_start_time = args[:state_start_time] if args.key?(:state_start_time)
436
+ end
437
+ end
438
+
439
+ # This resource represents a long-running operation that is the result of a
440
+ # network API call.
441
+ class Operation
442
+ include Google::Apis::Core::Hashable
443
+
444
+ # The server-assigned name, which is only unique within the same service that
445
+ # originally returns it. If you use the default HTTP mapping, the `name` should
446
+ # have the format of `operations/some/unique/name`.
447
+ # Corresponds to the JSON property `name`
448
+ # @return [String]
449
+ attr_accessor :name
450
+
451
+ # Service-specific metadata associated with the operation. It typically contains
452
+ # progress information and common metadata such as create time. Some services
453
+ # might not provide such metadata. Any method that returns a long-running
454
+ # operation should document the metadata type, if any.
455
+ # Corresponds to the JSON property `metadata`
456
+ # @return [Hash<String,Object>]
457
+ attr_accessor :metadata
458
+
459
+ # If the value is `false`, it means the operation is still in progress. If true,
460
+ # the operation is completed, and either `error` or `response` is available.
461
+ # Corresponds to the JSON property `done`
462
+ # @return [Boolean]
463
+ attr_accessor :done
464
+ alias_method :done?, :done
465
+
466
+ # The `Status` type defines a logical error model that is suitable for different
467
+ # programming environments, including REST APIs and RPC APIs. It is used by [
468
+ # gRPC](https://github.com/grpc). The error model is designed to be: - Simple to
469
+ # use and understand for most users - Flexible enough to meet unexpected needs #
470
+ # Overview The `Status` message contains three pieces of data: error code, error
471
+ # message, and error details. The error code should be an enum value of google.
472
+ # rpc.Code, but it may accept additional error codes if needed. The error
473
+ # message should be a developer-facing English message that helps developers *
474
+ # understand* and *resolve* the error. If a localized user-facing error message
475
+ # is needed, put the localized message in the error details or localize it in
476
+ # the client. The optional error details may contain arbitrary information about
477
+ # the error. There is a predefined set of error detail types in the package `
478
+ # google.rpc` which can be used for common error conditions. # Language mapping
479
+ # The `Status` message is the logical representation of the error model, but it
480
+ # is not necessarily the actual wire format. When the `Status` message is
481
+ # exposed in different client libraries and different wire protocols, it can be
482
+ # mapped differently. For example, it will likely be mapped to some exceptions
483
+ # in Java, but more likely mapped to some error codes in C. # Other uses The
484
+ # error model and the `Status` message can be used in a variety of environments,
485
+ # either with or without APIs, to provide a consistent developer experience
486
+ # across different environments. Example uses of this error model include: -
487
+ # Partial errors. If a service needs to return partial errors to the client, it
488
+ # may embed the `Status` in the normal response to indicate the partial errors. -
489
+ # Workflow errors. A typical workflow has multiple steps. Each step may have a `
490
+ # Status` message for error reporting purpose. - Batch operations. If a client
491
+ # uses batch request and batch response, the `Status` message should be used
492
+ # directly inside batch response, one for each error sub-response. -
493
+ # Asynchronous operations. If an API call embeds asynchronous operation results
494
+ # in its response, the status of those operations should be represented directly
495
+ # using the `Status` message. - Logging. If some API errors are stored in logs,
496
+ # the message `Status` could be used directly after any stripping needed for
497
+ # security/privacy reasons.
498
+ # Corresponds to the JSON property `error`
499
+ # @return [Google::Apis::DataprocV1::Status]
500
+ attr_accessor :error
501
+
502
+ # The normal response of the operation in case of success. If the original
503
+ # method returns no data on success, such as `Delete`, the response is `google.
504
+ # protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`,
505
+ # the response should be the resource. For other methods, the response should
506
+ # have the type `XxxResponse`, where `Xxx` is the original method name. For
507
+ # example, if the original method name is `TakeSnapshot()`, the inferred
508
+ # response type is `TakeSnapshotResponse`.
509
+ # Corresponds to the JSON property `response`
510
+ # @return [Hash<String,Object>]
511
+ attr_accessor :response
512
+
513
+ def initialize(**args)
514
+ update!(**args)
515
+ end
516
+
517
+ # Update properties of this object
518
+ def update!(**args)
519
+ @name = args[:name] if args.key?(:name)
520
+ @metadata = args[:metadata] if args.key?(:metadata)
521
+ @done = args[:done] if args.key?(:done)
522
+ @error = args[:error] if args.key?(:error)
523
+ @response = args[:response] if args.key?(:response)
524
+ end
525
+ end
526
+
527
+ # The `Status` type defines a logical error model that is suitable for different
528
+ # programming environments, including REST APIs and RPC APIs. It is used by [
529
+ # gRPC](https://github.com/grpc). The error model is designed to be: - Simple to
530
+ # use and understand for most users - Flexible enough to meet unexpected needs #
531
+ # Overview The `Status` message contains three pieces of data: error code, error
532
+ # message, and error details. The error code should be an enum value of google.
533
+ # rpc.Code, but it may accept additional error codes if needed. The error
534
+ # message should be a developer-facing English message that helps developers *
535
+ # understand* and *resolve* the error. If a localized user-facing error message
536
+ # is needed, put the localized message in the error details or localize it in
537
+ # the client. The optional error details may contain arbitrary information about
538
+ # the error. There is a predefined set of error detail types in the package `
539
+ # google.rpc` which can be used for common error conditions. # Language mapping
540
+ # The `Status` message is the logical representation of the error model, but it
541
+ # is not necessarily the actual wire format. When the `Status` message is
542
+ # exposed in different client libraries and different wire protocols, it can be
543
+ # mapped differently. For example, it will likely be mapped to some exceptions
544
+ # in Java, but more likely mapped to some error codes in C. # Other uses The
545
+ # error model and the `Status` message can be used in a variety of environments,
546
+ # either with or without APIs, to provide a consistent developer experience
547
+ # across different environments. Example uses of this error model include: -
548
+ # Partial errors. If a service needs to return partial errors to the client, it
549
+ # may embed the `Status` in the normal response to indicate the partial errors. -
550
+ # Workflow errors. A typical workflow has multiple steps. Each step may have a `
551
+ # Status` message for error reporting purpose. - Batch operations. If a client
552
+ # uses batch request and batch response, the `Status` message should be used
553
+ # directly inside batch response, one for each error sub-response. -
554
+ # Asynchronous operations. If an API call embeds asynchronous operation results
555
+ # in its response, the status of those operations should be represented directly
556
+ # using the `Status` message. - Logging. If some API errors are stored in logs,
557
+ # the message `Status` could be used directly after any stripping needed for
558
+ # security/privacy reasons.
559
+ class Status
560
+ include Google::Apis::Core::Hashable
561
+
562
+ # The status code, which should be an enum value of google.rpc.Code.
563
+ # Corresponds to the JSON property `code`
564
+ # @return [Fixnum]
565
+ attr_accessor :code
566
+
567
+ # A developer-facing error message, which should be in English. Any user-facing
568
+ # error message should be localized and sent in the google.rpc.Status.details
569
+ # field, or localized by the client.
570
+ # Corresponds to the JSON property `message`
571
+ # @return [String]
572
+ attr_accessor :message
573
+
574
+ # A list of messages that carry the error details. There will be a common set of
575
+ # message types for APIs to use.
576
+ # Corresponds to the JSON property `details`
577
+ # @return [Array<Hash<String,Object>>]
578
+ attr_accessor :details
579
+
580
+ def initialize(**args)
581
+ update!(**args)
582
+ end
583
+
584
+ # Update properties of this object
585
+ def update!(**args)
586
+ @code = args[:code] if args.key?(:code)
587
+ @message = args[:message] if args.key?(:message)
588
+ @details = args[:details] if args.key?(:details)
589
+ end
590
+ end
591
+
592
+ # The list of all clusters in a project.
593
+ class ListClustersResponse
594
+ include Google::Apis::Core::Hashable
595
+
596
+ # [Output-only] The clusters in the project.
597
+ # Corresponds to the JSON property `clusters`
598
+ # @return [Array<Google::Apis::DataprocV1::Cluster>]
599
+ attr_accessor :clusters
600
+
601
+ # [Optional] This token is included in the response if there are more results to
602
+ # fetch. To fetch additional results, provide this value as the `page_token` in
603
+ # a subsequent ListClustersRequest.
604
+ # Corresponds to the JSON property `nextPageToken`
605
+ # @return [String]
606
+ attr_accessor :next_page_token
607
+
608
+ def initialize(**args)
609
+ update!(**args)
610
+ end
611
+
612
+ # Update properties of this object
613
+ def update!(**args)
614
+ @clusters = args[:clusters] if args.key?(:clusters)
615
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
616
+ end
617
+ end
618
+
619
+ # A request to collect cluster diagnostic information.
620
+ class DiagnoseClusterRequest
621
+ include Google::Apis::Core::Hashable
622
+
623
+ def initialize(**args)
624
+ update!(**args)
625
+ end
626
+
627
+ # Update properties of this object
628
+ def update!(**args)
629
+ end
630
+ end
631
+
632
+ # A request to submit a job.
633
+ class SubmitJobRequest
634
+ include Google::Apis::Core::Hashable
635
+
636
+ # A Cloud Dataproc job resource.
637
+ # Corresponds to the JSON property `job`
638
+ # @return [Google::Apis::DataprocV1::Job]
639
+ attr_accessor :job
640
+
641
+ def initialize(**args)
642
+ update!(**args)
643
+ end
644
+
645
+ # Update properties of this object
646
+ def update!(**args)
647
+ @job = args[:job] if args.key?(:job)
648
+ end
649
+ end
650
+
651
+ # A Cloud Dataproc job resource.
652
+ class Job
653
+ include Google::Apis::Core::Hashable
654
+
655
+ # Encapsulates the full scoping used to reference a job.
656
+ # Corresponds to the JSON property `reference`
657
+ # @return [Google::Apis::DataprocV1::JobReference]
658
+ attr_accessor :reference
659
+
660
+ # Cloud Dataproc job config.
661
+ # Corresponds to the JSON property `placement`
662
+ # @return [Google::Apis::DataprocV1::JobPlacement]
663
+ attr_accessor :placement
664
+
665
+ # A Cloud Dataproc job for running Hadoop MapReduce jobs on YARN.
666
+ # Corresponds to the JSON property `hadoopJob`
667
+ # @return [Google::Apis::DataprocV1::HadoopJob]
668
+ attr_accessor :hadoop_job
669
+
670
+ # A Cloud Dataproc job for running Spark applications on YARN.
671
+ # Corresponds to the JSON property `sparkJob`
672
+ # @return [Google::Apis::DataprocV1::SparkJob]
673
+ attr_accessor :spark_job
674
+
675
+ # A Cloud Dataproc job for running PySpark applications on YARN.
676
+ # Corresponds to the JSON property `pysparkJob`
677
+ # @return [Google::Apis::DataprocV1::PySparkJob]
678
+ attr_accessor :pyspark_job
679
+
680
+ # A Cloud Dataproc job for running Hive queries on YARN.
681
+ # Corresponds to the JSON property `hiveJob`
682
+ # @return [Google::Apis::DataprocV1::HiveJob]
683
+ attr_accessor :hive_job
684
+
685
+ # A Cloud Dataproc job for running Pig queries on YARN.
686
+ # Corresponds to the JSON property `pigJob`
687
+ # @return [Google::Apis::DataprocV1::PigJob]
688
+ attr_accessor :pig_job
689
+
690
+ # A Cloud Dataproc job for running Spark SQL queries.
691
+ # Corresponds to the JSON property `sparkSqlJob`
692
+ # @return [Google::Apis::DataprocV1::SparkSqlJob]
693
+ attr_accessor :spark_sql_job
694
+
695
+ # Cloud Dataproc job status.
696
+ # Corresponds to the JSON property `status`
697
+ # @return [Google::Apis::DataprocV1::JobStatus]
698
+ attr_accessor :status
699
+
700
+ # [Output-only] The previous job status.
701
+ # Corresponds to the JSON property `statusHistory`
702
+ # @return [Array<Google::Apis::DataprocV1::JobStatus>]
703
+ attr_accessor :status_history
704
+
705
+ # [Output-only] A URI pointing to the location of the stdout of the job's driver
706
+ # program.
707
+ # Corresponds to the JSON property `driverOutputResourceUri`
708
+ # @return [String]
709
+ attr_accessor :driver_output_resource_uri
710
+
711
+ # [Output-only] If present, the location of miscellaneous control files which
712
+ # may be used as part of job setup and handling. If not present, control files
713
+ # may be placed in the same location as `driver_output_uri`.
714
+ # Corresponds to the JSON property `driverControlFilesUri`
715
+ # @return [String]
716
+ attr_accessor :driver_control_files_uri
717
+
718
+ def initialize(**args)
719
+ update!(**args)
720
+ end
721
+
722
+ # Update properties of this object
723
+ def update!(**args)
724
+ @reference = args[:reference] if args.key?(:reference)
725
+ @placement = args[:placement] if args.key?(:placement)
726
+ @hadoop_job = args[:hadoop_job] if args.key?(:hadoop_job)
727
+ @spark_job = args[:spark_job] if args.key?(:spark_job)
728
+ @pyspark_job = args[:pyspark_job] if args.key?(:pyspark_job)
729
+ @hive_job = args[:hive_job] if args.key?(:hive_job)
730
+ @pig_job = args[:pig_job] if args.key?(:pig_job)
731
+ @spark_sql_job = args[:spark_sql_job] if args.key?(:spark_sql_job)
732
+ @status = args[:status] if args.key?(:status)
733
+ @status_history = args[:status_history] if args.key?(:status_history)
734
+ @driver_output_resource_uri = args[:driver_output_resource_uri] if args.key?(:driver_output_resource_uri)
735
+ @driver_control_files_uri = args[:driver_control_files_uri] if args.key?(:driver_control_files_uri)
736
+ end
737
+ end
738
+
739
+ # Encapsulates the full scoping used to reference a job.
740
+ class JobReference
741
+ include Google::Apis::Core::Hashable
742
+
743
+ # [Required] The ID of the Google Cloud Platform project that the job belongs to.
744
+ # Corresponds to the JSON property `projectId`
745
+ # @return [String]
746
+ attr_accessor :project_id
747
+
748
+ # [Required] The job ID, which must be unique within the project. The job ID is
749
+ # generated by the server upon job submission or provided by the user as a means
750
+ # to perform retries without creating duplicate jobs. The ID must contain only
751
+ # letters (a-z, A-Z), numbers (0-9), underscores (_), or hyphens (-). The
752
+ # maximum length is 512 characters.
753
+ # Corresponds to the JSON property `jobId`
754
+ # @return [String]
755
+ attr_accessor :job_id
756
+
757
+ def initialize(**args)
758
+ update!(**args)
759
+ end
760
+
761
+ # Update properties of this object
762
+ def update!(**args)
763
+ @project_id = args[:project_id] if args.key?(:project_id)
764
+ @job_id = args[:job_id] if args.key?(:job_id)
765
+ end
766
+ end
767
+
768
+ # Cloud Dataproc job config.
769
+ class JobPlacement
770
+ include Google::Apis::Core::Hashable
771
+
772
+ # [Required] The name of the cluster where the job will be submitted.
773
+ # Corresponds to the JSON property `clusterName`
774
+ # @return [String]
775
+ attr_accessor :cluster_name
776
+
777
+ # [Output-only] A cluster UUID generated by the Cloud Dataproc service when the
778
+ # job is submitted.
779
+ # Corresponds to the JSON property `clusterUuid`
780
+ # @return [String]
781
+ attr_accessor :cluster_uuid
782
+
783
+ def initialize(**args)
784
+ update!(**args)
785
+ end
786
+
787
+ # Update properties of this object
788
+ def update!(**args)
789
+ @cluster_name = args[:cluster_name] if args.key?(:cluster_name)
790
+ @cluster_uuid = args[:cluster_uuid] if args.key?(:cluster_uuid)
791
+ end
792
+ end
793
+
794
+ # A Cloud Dataproc job for running Hadoop MapReduce jobs on YARN.
795
+ class HadoopJob
796
+ include Google::Apis::Core::Hashable
797
+
798
+ # The HCFS URI of the jar file containing the main class. Examples: 'gs://foo-
799
+ # bucket/analytics-binaries/extract-useful-metrics-mr.jar' 'hdfs:/tmp/test-
800
+ # samples/custom-wordcount.jar' 'file:///home/usr/lib/hadoop-mapreduce/hadoop-
801
+ # mapreduce-examples.jar'
802
+ # Corresponds to the JSON property `mainJarFileUri`
803
+ # @return [String]
804
+ attr_accessor :main_jar_file_uri
805
+
806
+ # The name of the driver's main class. The jar file containing the class must be
807
+ # in the default CLASSPATH or specified in `jar_file_uris`.
808
+ # Corresponds to the JSON property `mainClass`
809
+ # @return [String]
810
+ attr_accessor :main_class
811
+
812
+ # [Optional] The arguments to pass to the driver. Do not include arguments, such
813
+ # as `-libjars` or `-Dfoo=bar`, that can be set as job properties, since a
814
+ # collision may occur that causes an incorrect job submission.
815
+ # Corresponds to the JSON property `args`
816
+ # @return [Array<String>]
817
+ attr_accessor :args
818
+
819
+ # [Optional] Jar file URIs to add to the CLASSPATHs of the Hadoop driver and
820
+ # tasks.
821
+ # Corresponds to the JSON property `jarFileUris`
822
+ # @return [Array<String>]
823
+ attr_accessor :jar_file_uris
824
+
825
+ # [Optional] HCFS (Hadoop Compatible Filesystem) URIs of files to be copied to
826
+ # the working directory of Hadoop drivers and distributed tasks. Useful for
827
+ # naively parallel tasks.
828
+ # Corresponds to the JSON property `fileUris`
829
+ # @return [Array<String>]
830
+ attr_accessor :file_uris
831
+
832
+ # [Optional] HCFS URIs of archives to be extracted in the working directory of
833
+ # Hadoop drivers and tasks. Supported file types: .jar, .tar, .tar.gz, .tgz, or .
834
+ # zip.
835
+ # Corresponds to the JSON property `archiveUris`
836
+ # @return [Array<String>]
837
+ attr_accessor :archive_uris
838
+
839
+ # [Optional] A mapping of property names to values, used to configure Hadoop.
840
+ # Properties that conflict with values set by the Cloud Dataproc API may be
841
+ # overwritten. Can include properties set in /etc/hadoop/conf/*-site and classes
842
+ # in user code.
843
+ # Corresponds to the JSON property `properties`
844
+ # @return [Hash<String,String>]
845
+ attr_accessor :properties
846
+
847
+ # The runtime logging config of the job.
848
+ # Corresponds to the JSON property `loggingConfig`
849
+ # @return [Google::Apis::DataprocV1::LoggingConfig]
850
+ attr_accessor :logging_config
851
+
852
+ def initialize(**args)
853
+ update!(**args)
854
+ end
855
+
856
+ # Update properties of this object
857
+ def update!(**args)
858
+ @main_jar_file_uri = args[:main_jar_file_uri] if args.key?(:main_jar_file_uri)
859
+ @main_class = args[:main_class] if args.key?(:main_class)
860
+ @args = args[:args] if args.key?(:args)
861
+ @jar_file_uris = args[:jar_file_uris] if args.key?(:jar_file_uris)
862
+ @file_uris = args[:file_uris] if args.key?(:file_uris)
863
+ @archive_uris = args[:archive_uris] if args.key?(:archive_uris)
864
+ @properties = args[:properties] if args.key?(:properties)
865
+ @logging_config = args[:logging_config] if args.key?(:logging_config)
866
+ end
867
+ end
868
+
869
+ # The runtime logging config of the job.
870
+ class LoggingConfig
871
+ include Google::Apis::Core::Hashable
872
+
873
+ # The per-package log levels for the driver. This may include "root" package
874
+ # name to configure rootLogger. Examples: 'com.google = FATAL', 'root = INFO', '
875
+ # org.apache = DEBUG'
876
+ # Corresponds to the JSON property `driverLogLevels`
877
+ # @return [Hash<String,String>]
878
+ attr_accessor :driver_log_levels
879
+
880
+ def initialize(**args)
881
+ update!(**args)
882
+ end
883
+
884
+ # Update properties of this object
885
+ def update!(**args)
886
+ @driver_log_levels = args[:driver_log_levels] if args.key?(:driver_log_levels)
887
+ end
888
+ end
889
+
890
+ # A Cloud Dataproc job for running Spark applications on YARN.
891
+ class SparkJob
892
+ include Google::Apis::Core::Hashable
893
+
894
+ # The HCFS URI of the jar file that contains the main class.
895
+ # Corresponds to the JSON property `mainJarFileUri`
896
+ # @return [String]
897
+ attr_accessor :main_jar_file_uri
898
+
899
+ # The name of the driver's main class. The jar file that contains the class must
900
+ # be in the default CLASSPATH or specified in `jar_file_uris`.
901
+ # Corresponds to the JSON property `mainClass`
902
+ # @return [String]
903
+ attr_accessor :main_class
904
+
905
+ # [Optional] The arguments to pass to the driver. Do not include arguments, such
906
+ # as `--conf`, that can be set as job properties, since a collision may occur
907
+ # that causes an incorrect job submission.
908
+ # Corresponds to the JSON property `args`
909
+ # @return [Array<String>]
910
+ attr_accessor :args
911
+
912
+ # [Optional] HCFS URIs of jar files to add to the CLASSPATHs of the Spark driver
913
+ # and tasks.
914
+ # Corresponds to the JSON property `jarFileUris`
915
+ # @return [Array<String>]
916
+ attr_accessor :jar_file_uris
917
+
918
+ # [Optional] HCFS URIs of files to be copied to the working directory of Spark
919
+ # drivers and distributed tasks. Useful for naively parallel tasks.
920
+ # Corresponds to the JSON property `fileUris`
921
+ # @return [Array<String>]
922
+ attr_accessor :file_uris
923
+
924
+ # [Optional] HCFS URIs of archives to be extracted in the working directory of
925
+ # Spark drivers and tasks. Supported file types: .jar, .tar, .tar.gz, .tgz, and .
926
+ # zip.
927
+ # Corresponds to the JSON property `archiveUris`
928
+ # @return [Array<String>]
929
+ attr_accessor :archive_uris
930
+
931
+ # [Optional] A mapping of property names to values, used to configure Spark.
932
+ # Properties that conflict with values set by the Cloud Dataproc API may be
933
+ # overwritten. Can include properties set in /etc/spark/conf/spark-defaults.conf
934
+ # and classes in user code.
935
+ # Corresponds to the JSON property `properties`
936
+ # @return [Hash<String,String>]
937
+ attr_accessor :properties
938
+
939
+ # The runtime logging config of the job.
940
+ # Corresponds to the JSON property `loggingConfig`
941
+ # @return [Google::Apis::DataprocV1::LoggingConfig]
942
+ attr_accessor :logging_config
943
+
944
+ def initialize(**args)
945
+ update!(**args)
946
+ end
947
+
948
+ # Update properties of this object
949
+ def update!(**args)
950
+ @main_jar_file_uri = args[:main_jar_file_uri] if args.key?(:main_jar_file_uri)
951
+ @main_class = args[:main_class] if args.key?(:main_class)
952
+ @args = args[:args] if args.key?(:args)
953
+ @jar_file_uris = args[:jar_file_uris] if args.key?(:jar_file_uris)
954
+ @file_uris = args[:file_uris] if args.key?(:file_uris)
955
+ @archive_uris = args[:archive_uris] if args.key?(:archive_uris)
956
+ @properties = args[:properties] if args.key?(:properties)
957
+ @logging_config = args[:logging_config] if args.key?(:logging_config)
958
+ end
959
+ end
960
+
961
+ # A Cloud Dataproc job for running PySpark applications on YARN.
962
+ class PySparkJob
963
+ include Google::Apis::Core::Hashable
964
+
965
+ # [Required] The HCFS URI of the main Python file to use as the driver. Must be
966
+ # a .py file.
967
+ # Corresponds to the JSON property `mainPythonFileUri`
968
+ # @return [String]
969
+ attr_accessor :main_python_file_uri
970
+
971
+ # [Optional] The arguments to pass to the driver. Do not include arguments, such
972
+ # as `--conf`, that can be set as job properties, since a collision may occur
973
+ # that causes an incorrect job submission.
974
+ # Corresponds to the JSON property `args`
975
+ # @return [Array<String>]
976
+ attr_accessor :args
977
+
978
+ # [Optional] HCFS file URIs of Python files to pass to the PySpark framework.
979
+ # Supported file types: .py, .egg, and .zip.
980
+ # Corresponds to the JSON property `pythonFileUris`
981
+ # @return [Array<String>]
982
+ attr_accessor :python_file_uris
983
+
984
+ # [Optional] HCFS URIs of jar files to add to the CLASSPATHs of the Python
985
+ # driver and tasks.
986
+ # Corresponds to the JSON property `jarFileUris`
987
+ # @return [Array<String>]
988
+ attr_accessor :jar_file_uris
989
+
990
+ # [Optional] HCFS URIs of files to be copied to the working directory of Python
991
+ # drivers and distributed tasks. Useful for naively parallel tasks.
992
+ # Corresponds to the JSON property `fileUris`
993
+ # @return [Array<String>]
994
+ attr_accessor :file_uris
995
+
996
+ # [Optional] HCFS URIs of archives to be extracted in the working directory of .
997
+ # jar, .tar, .tar.gz, .tgz, and .zip.
998
+ # Corresponds to the JSON property `archiveUris`
999
+ # @return [Array<String>]
1000
+ attr_accessor :archive_uris
1001
+
1002
+ # [Optional] A mapping of property names to values, used to configure PySpark.
1003
+ # Properties that conflict with values set by the Cloud Dataproc API may be
1004
+ # overwritten. Can include properties set in /etc/spark/conf/spark-defaults.conf
1005
+ # and classes in user code.
1006
+ # Corresponds to the JSON property `properties`
1007
+ # @return [Hash<String,String>]
1008
+ attr_accessor :properties
1009
+
1010
+ # The runtime logging config of the job.
1011
+ # Corresponds to the JSON property `loggingConfig`
1012
+ # @return [Google::Apis::DataprocV1::LoggingConfig]
1013
+ attr_accessor :logging_config
1014
+
1015
+ def initialize(**args)
1016
+ update!(**args)
1017
+ end
1018
+
1019
+ # Update properties of this object
1020
+ def update!(**args)
1021
+ @main_python_file_uri = args[:main_python_file_uri] if args.key?(:main_python_file_uri)
1022
+ @args = args[:args] if args.key?(:args)
1023
+ @python_file_uris = args[:python_file_uris] if args.key?(:python_file_uris)
1024
+ @jar_file_uris = args[:jar_file_uris] if args.key?(:jar_file_uris)
1025
+ @file_uris = args[:file_uris] if args.key?(:file_uris)
1026
+ @archive_uris = args[:archive_uris] if args.key?(:archive_uris)
1027
+ @properties = args[:properties] if args.key?(:properties)
1028
+ @logging_config = args[:logging_config] if args.key?(:logging_config)
1029
+ end
1030
+ end
1031
+
1032
+ # A Cloud Dataproc job for running Hive queries on YARN.
1033
+ class HiveJob
1034
+ include Google::Apis::Core::Hashable
1035
+
1036
+ # The HCFS URI of the script that contains Hive queries.
1037
+ # Corresponds to the JSON property `queryFileUri`
1038
+ # @return [String]
1039
+ attr_accessor :query_file_uri
1040
+
1041
+ # A list of queries to run on a cluster.
1042
+ # Corresponds to the JSON property `queryList`
1043
+ # @return [Google::Apis::DataprocV1::QueryList]
1044
+ attr_accessor :query_list
1045
+
1046
+ # [Optional] Whether to continue executing queries if a query fails. The default
1047
+ # value is `false`. Setting to `true` can be useful when executing independent
1048
+ # parallel queries.
1049
+ # Corresponds to the JSON property `continueOnFailure`
1050
+ # @return [Boolean]
1051
+ attr_accessor :continue_on_failure
1052
+ alias_method :continue_on_failure?, :continue_on_failure
1053
+
1054
+ # [Optional] Mapping of query variable names to values (equivalent to the Hive
1055
+ # command: `SET name="value";`).
1056
+ # Corresponds to the JSON property `scriptVariables`
1057
+ # @return [Hash<String,String>]
1058
+ attr_accessor :script_variables
1059
+
1060
+ # [Optional] A mapping of property names and values, used to configure Hive.
1061
+ # Properties that conflict with values set by the Cloud Dataproc API may be
1062
+ # overwritten. Can include properties set in /etc/hadoop/conf/*-site.xml, /etc/
1063
+ # hive/conf/hive-site.xml, and classes in user code.
1064
+ # Corresponds to the JSON property `properties`
1065
+ # @return [Hash<String,String>]
1066
+ attr_accessor :properties
1067
+
1068
+ # [Optional] HCFS URIs of jar files to add to the CLASSPATH of the Hive server
1069
+ # and Hadoop MapReduce (MR) tasks. Can contain Hive SerDes and UDFs.
1070
+ # Corresponds to the JSON property `jarFileUris`
1071
+ # @return [Array<String>]
1072
+ attr_accessor :jar_file_uris
1073
+
1074
+ def initialize(**args)
1075
+ update!(**args)
1076
+ end
1077
+
1078
+ # Update properties of this object
1079
+ def update!(**args)
1080
+ @query_file_uri = args[:query_file_uri] if args.key?(:query_file_uri)
1081
+ @query_list = args[:query_list] if args.key?(:query_list)
1082
+ @continue_on_failure = args[:continue_on_failure] if args.key?(:continue_on_failure)
1083
+ @script_variables = args[:script_variables] if args.key?(:script_variables)
1084
+ @properties = args[:properties] if args.key?(:properties)
1085
+ @jar_file_uris = args[:jar_file_uris] if args.key?(:jar_file_uris)
1086
+ end
1087
+ end
1088
+
1089
+ # A list of queries to run on a cluster.
1090
+ class QueryList
1091
+ include Google::Apis::Core::Hashable
1092
+
1093
+ # [Required] The queries to execute. You do not need to terminate a query with a
1094
+ # semicolon. Multiple queries can be specified in one string by separating each
1095
+ # with a semicolon. Here is an example of an Cloud Dataproc API snippet that
1096
+ # uses a QueryList to specify a HiveJob: "hiveJob": ` "queryList": ` "queries": [
1097
+ # "query1", "query2", "query3;query4", ] ` `
1098
+ # Corresponds to the JSON property `queries`
1099
+ # @return [Array<String>]
1100
+ attr_accessor :queries
1101
+
1102
+ def initialize(**args)
1103
+ update!(**args)
1104
+ end
1105
+
1106
+ # Update properties of this object
1107
+ def update!(**args)
1108
+ @queries = args[:queries] if args.key?(:queries)
1109
+ end
1110
+ end
1111
+
1112
+ # A Cloud Dataproc job for running Pig queries on YARN.
1113
+ class PigJob
1114
+ include Google::Apis::Core::Hashable
1115
+
1116
+ # The HCFS URI of the script that contains the Pig queries.
1117
+ # Corresponds to the JSON property `queryFileUri`
1118
+ # @return [String]
1119
+ attr_accessor :query_file_uri
1120
+
1121
+ # A list of queries to run on a cluster.
1122
+ # Corresponds to the JSON property `queryList`
1123
+ # @return [Google::Apis::DataprocV1::QueryList]
1124
+ attr_accessor :query_list
1125
+
1126
+ # [Optional] Whether to continue executing queries if a query fails. The default
1127
+ # value is `false`. Setting to `true` can be useful when executing independent
1128
+ # parallel queries.
1129
+ # Corresponds to the JSON property `continueOnFailure`
1130
+ # @return [Boolean]
1131
+ attr_accessor :continue_on_failure
1132
+ alias_method :continue_on_failure?, :continue_on_failure
1133
+
1134
+ # [Optional] Mapping of query variable names to values (equivalent to the Pig
1135
+ # command: `name=[value]`).
1136
+ # Corresponds to the JSON property `scriptVariables`
1137
+ # @return [Hash<String,String>]
1138
+ attr_accessor :script_variables
1139
+
1140
+ # [Optional] A mapping of property names to values, used to configure Pig.
1141
+ # Properties that conflict with values set by the Cloud Dataproc API may be
1142
+ # overwritten. Can include properties set in /etc/hadoop/conf/*-site.xml, /etc/
1143
+ # pig/conf/pig.properties, and classes in user code.
1144
+ # Corresponds to the JSON property `properties`
1145
+ # @return [Hash<String,String>]
1146
+ attr_accessor :properties
1147
+
1148
+ # [Optional] HCFS URIs of jar files to add to the CLASSPATH of the Pig Client
1149
+ # and Hadoop MapReduce (MR) tasks. Can contain Pig UDFs.
1150
+ # Corresponds to the JSON property `jarFileUris`
1151
+ # @return [Array<String>]
1152
+ attr_accessor :jar_file_uris
1153
+
1154
+ # The runtime logging config of the job.
1155
+ # Corresponds to the JSON property `loggingConfig`
1156
+ # @return [Google::Apis::DataprocV1::LoggingConfig]
1157
+ attr_accessor :logging_config
1158
+
1159
+ def initialize(**args)
1160
+ update!(**args)
1161
+ end
1162
+
1163
+ # Update properties of this object
1164
+ def update!(**args)
1165
+ @query_file_uri = args[:query_file_uri] if args.key?(:query_file_uri)
1166
+ @query_list = args[:query_list] if args.key?(:query_list)
1167
+ @continue_on_failure = args[:continue_on_failure] if args.key?(:continue_on_failure)
1168
+ @script_variables = args[:script_variables] if args.key?(:script_variables)
1169
+ @properties = args[:properties] if args.key?(:properties)
1170
+ @jar_file_uris = args[:jar_file_uris] if args.key?(:jar_file_uris)
1171
+ @logging_config = args[:logging_config] if args.key?(:logging_config)
1172
+ end
1173
+ end
1174
+
1175
+ # A Cloud Dataproc job for running Spark SQL queries.
1176
+ class SparkSqlJob
1177
+ include Google::Apis::Core::Hashable
1178
+
1179
+ # The HCFS URI of the script that contains SQL queries.
1180
+ # Corresponds to the JSON property `queryFileUri`
1181
+ # @return [String]
1182
+ attr_accessor :query_file_uri
1183
+
1184
+ # A list of queries to run on a cluster.
1185
+ # Corresponds to the JSON property `queryList`
1186
+ # @return [Google::Apis::DataprocV1::QueryList]
1187
+ attr_accessor :query_list
1188
+
1189
+ # [Optional] Mapping of query variable names to values (equivalent to the Spark
1190
+ # SQL command: SET `name="value";`).
1191
+ # Corresponds to the JSON property `scriptVariables`
1192
+ # @return [Hash<String,String>]
1193
+ attr_accessor :script_variables
1194
+
1195
+ # [Optional] A mapping of property names to values, used to configure Spark SQL'
1196
+ # s SparkConf. Properties that conflict with values set by the Cloud Dataproc
1197
+ # API may be overwritten.
1198
+ # Corresponds to the JSON property `properties`
1199
+ # @return [Hash<String,String>]
1200
+ attr_accessor :properties
1201
+
1202
+ # [Optional] HCFS URIs of jar files to be added to the Spark CLASSPATH.
1203
+ # Corresponds to the JSON property `jarFileUris`
1204
+ # @return [Array<String>]
1205
+ attr_accessor :jar_file_uris
1206
+
1207
+ # The runtime logging config of the job.
1208
+ # Corresponds to the JSON property `loggingConfig`
1209
+ # @return [Google::Apis::DataprocV1::LoggingConfig]
1210
+ attr_accessor :logging_config
1211
+
1212
+ def initialize(**args)
1213
+ update!(**args)
1214
+ end
1215
+
1216
+ # Update properties of this object
1217
+ def update!(**args)
1218
+ @query_file_uri = args[:query_file_uri] if args.key?(:query_file_uri)
1219
+ @query_list = args[:query_list] if args.key?(:query_list)
1220
+ @script_variables = args[:script_variables] if args.key?(:script_variables)
1221
+ @properties = args[:properties] if args.key?(:properties)
1222
+ @jar_file_uris = args[:jar_file_uris] if args.key?(:jar_file_uris)
1223
+ @logging_config = args[:logging_config] if args.key?(:logging_config)
1224
+ end
1225
+ end
1226
+
1227
+ # Cloud Dataproc job status.
1228
+ class JobStatus
1229
+ include Google::Apis::Core::Hashable
1230
+
1231
+ # [Required] A state message specifying the overall job state.
1232
+ # Corresponds to the JSON property `state`
1233
+ # @return [String]
1234
+ attr_accessor :state
1235
+
1236
+ # [Optional] Job state details, such as an error description if the state is
1237
+ # ERROR.
1238
+ # Corresponds to the JSON property `details`
1239
+ # @return [String]
1240
+ attr_accessor :details
1241
+
1242
+ # [Output-only] The time when this state was entered.
1243
+ # Corresponds to the JSON property `stateStartTime`
1244
+ # @return [String]
1245
+ attr_accessor :state_start_time
1246
+
1247
+ def initialize(**args)
1248
+ update!(**args)
1249
+ end
1250
+
1251
+ # Update properties of this object
1252
+ def update!(**args)
1253
+ @state = args[:state] if args.key?(:state)
1254
+ @details = args[:details] if args.key?(:details)
1255
+ @state_start_time = args[:state_start_time] if args.key?(:state_start_time)
1256
+ end
1257
+ end
1258
+
1259
+ # A list of jobs in a project.
1260
+ class ListJobsResponse
1261
+ include Google::Apis::Core::Hashable
1262
+
1263
+ # [Output-only] Jobs list.
1264
+ # Corresponds to the JSON property `jobs`
1265
+ # @return [Array<Google::Apis::DataprocV1::Job>]
1266
+ attr_accessor :jobs
1267
+
1268
+ # [Optional] This token is included in the response if there are more results to
1269
+ # fetch. To fetch additional results, provide this value as the `page_token` in
1270
+ # a subsequent ListJobsRequest.
1271
+ # Corresponds to the JSON property `nextPageToken`
1272
+ # @return [String]
1273
+ attr_accessor :next_page_token
1274
+
1275
+ def initialize(**args)
1276
+ update!(**args)
1277
+ end
1278
+
1279
+ # Update properties of this object
1280
+ def update!(**args)
1281
+ @jobs = args[:jobs] if args.key?(:jobs)
1282
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1283
+ end
1284
+ end
1285
+
1286
+ # A request to cancel a job.
1287
+ class CancelJobRequest
1288
+ include Google::Apis::Core::Hashable
1289
+
1290
+ def initialize(**args)
1291
+ update!(**args)
1292
+ end
1293
+
1294
+ # Update properties of this object
1295
+ def update!(**args)
1296
+ end
1297
+ end
1298
+
1299
+ # A generic empty message that you can re-use to avoid defining duplicated empty
1300
+ # messages in your APIs. A typical example is to use it as the request or the
1301
+ # response type of an API method. For instance: service Foo ` rpc Bar(google.
1302
+ # protobuf.Empty) returns (google.protobuf.Empty); ` The JSON representation for
1303
+ # `Empty` is empty JSON object ````.
1304
+ class Empty
1305
+ include Google::Apis::Core::Hashable
1306
+
1307
+ def initialize(**args)
1308
+ update!(**args)
1309
+ end
1310
+
1311
+ # Update properties of this object
1312
+ def update!(**args)
1313
+ end
1314
+ end
1315
+
1316
+ # The response message for Operations.ListOperations.
1317
+ class ListOperationsResponse
1318
+ include Google::Apis::Core::Hashable
1319
+
1320
+ # A list of operations that matches the specified filter in the request.
1321
+ # Corresponds to the JSON property `operations`
1322
+ # @return [Array<Google::Apis::DataprocV1::Operation>]
1323
+ attr_accessor :operations
1324
+
1325
+ # The standard List next-page token.
1326
+ # Corresponds to the JSON property `nextPageToken`
1327
+ # @return [String]
1328
+ attr_accessor :next_page_token
1329
+
1330
+ def initialize(**args)
1331
+ update!(**args)
1332
+ end
1333
+
1334
+ # Update properties of this object
1335
+ def update!(**args)
1336
+ @operations = args[:operations] if args.key?(:operations)
1337
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1338
+ end
1339
+ end
1340
+
1341
+ # The location of diagnostic output.
1342
+ class DiagnoseClusterResults
1343
+ include Google::Apis::Core::Hashable
1344
+
1345
+ # [Output-only] The Google Cloud Storage URI of the diagnostic output. This is a
1346
+ # plain text file with a summary of collected diagnostics.
1347
+ # Corresponds to the JSON property `outputUri`
1348
+ # @return [String]
1349
+ attr_accessor :output_uri
1350
+
1351
+ def initialize(**args)
1352
+ update!(**args)
1353
+ end
1354
+
1355
+ # Update properties of this object
1356
+ def update!(**args)
1357
+ @output_uri = args[:output_uri] if args.key?(:output_uri)
1358
+ end
1359
+ end
1360
+
1361
+ # Metadata describing the operation.
1362
+ class ClusterOperationMetadata
1363
+ include Google::Apis::Core::Hashable
1364
+
1365
+ # Name of the cluster for the operation.
1366
+ # Corresponds to the JSON property `clusterName`
1367
+ # @return [String]
1368
+ attr_accessor :cluster_name
1369
+
1370
+ # Cluster UUId for the operation.
1371
+ # Corresponds to the JSON property `clusterUuid`
1372
+ # @return [String]
1373
+ attr_accessor :cluster_uuid
1374
+
1375
+ # The status of the operation.
1376
+ # Corresponds to the JSON property `status`
1377
+ # @return [Google::Apis::DataprocV1::ClusterOperationStatus]
1378
+ attr_accessor :status
1379
+
1380
+ # [Output-only] The previous operation status.
1381
+ # Corresponds to the JSON property `statusHistory`
1382
+ # @return [Array<Google::Apis::DataprocV1::ClusterOperationStatus>]
1383
+ attr_accessor :status_history
1384
+
1385
+ # [Output-only] The operation type.
1386
+ # Corresponds to the JSON property `operationType`
1387
+ # @return [String]
1388
+ attr_accessor :operation_type
1389
+
1390
+ # [Output-only] Short description of operation.
1391
+ # Corresponds to the JSON property `description`
1392
+ # @return [String]
1393
+ attr_accessor :description
1394
+
1395
+ def initialize(**args)
1396
+ update!(**args)
1397
+ end
1398
+
1399
+ # Update properties of this object
1400
+ def update!(**args)
1401
+ @cluster_name = args[:cluster_name] if args.key?(:cluster_name)
1402
+ @cluster_uuid = args[:cluster_uuid] if args.key?(:cluster_uuid)
1403
+ @status = args[:status] if args.key?(:status)
1404
+ @status_history = args[:status_history] if args.key?(:status_history)
1405
+ @operation_type = args[:operation_type] if args.key?(:operation_type)
1406
+ @description = args[:description] if args.key?(:description)
1407
+ end
1408
+ end
1409
+
1410
+ # The status of the operation.
1411
+ class ClusterOperationStatus
1412
+ include Google::Apis::Core::Hashable
1413
+
1414
+ # A message containing the operation state.
1415
+ # Corresponds to the JSON property `state`
1416
+ # @return [String]
1417
+ attr_accessor :state
1418
+
1419
+ # A message containing the detailed operation state.
1420
+ # Corresponds to the JSON property `innerState`
1421
+ # @return [String]
1422
+ attr_accessor :inner_state
1423
+
1424
+ # A message containing any operation metadata details.
1425
+ # Corresponds to the JSON property `details`
1426
+ # @return [String]
1427
+ attr_accessor :details
1428
+
1429
+ # The time this state was entered.
1430
+ # Corresponds to the JSON property `stateStartTime`
1431
+ # @return [String]
1432
+ attr_accessor :state_start_time
1433
+
1434
+ def initialize(**args)
1435
+ update!(**args)
1436
+ end
1437
+
1438
+ # Update properties of this object
1439
+ def update!(**args)
1440
+ @state = args[:state] if args.key?(:state)
1441
+ @inner_state = args[:inner_state] if args.key?(:inner_state)
1442
+ @details = args[:details] if args.key?(:details)
1443
+ @state_start_time = args[:state_start_time] if args.key?(:state_start_time)
1444
+ end
1445
+ end
1446
+
44
1447
  # The location where output from diagnostic command can be found.
45
1448
  class DiagnoseClusterOutputLocation
46
1449
  include Google::Apis::Core::Hashable
@@ -115,6 +1518,16 @@ module Google
115
1518
  # @return [Array<Google::Apis::DataprocV1::OperationStatus>]
116
1519
  attr_accessor :status_history
117
1520
 
1521
+ # [Output-only] The operation type.
1522
+ # Corresponds to the JSON property `operationType`
1523
+ # @return [String]
1524
+ attr_accessor :operation_type
1525
+
1526
+ # [Output-only] Short description of operation.
1527
+ # Corresponds to the JSON property `description`
1528
+ # @return [String]
1529
+ attr_accessor :description
1530
+
118
1531
  def initialize(**args)
119
1532
  update!(**args)
120
1533
  end
@@ -131,6 +1544,8 @@ module Google
131
1544
  @cluster_uuid = args[:cluster_uuid] if args.key?(:cluster_uuid)
132
1545
  @status = args[:status] if args.key?(:status)
133
1546
  @status_history = args[:status_history] if args.key?(:status_history)
1547
+ @operation_type = args[:operation_type] if args.key?(:operation_type)
1548
+ @description = args[:description] if args.key?(:description)
134
1549
  end
135
1550
  end
136
1551