google-api-client 0.9.2 → 0.9.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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