-
-
Notifications
You must be signed in to change notification settings - Fork 21
Expand file tree
/
Copy pathGcloudDataprocClustersCreateOptions.Generated.cs
More file actions
476 lines (396 loc) · 53.3 KB
/
GcloudDataprocClustersCreateOptions.Generated.cs
File metadata and controls
476 lines (396 loc) · 53.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
// <auto-generated>
// This file was generated by ModularPipelines.OptionsGenerator.
// Source: https://cloud.google.com/sdk/gcloud/reference/dataproc/clusters/create
// Do not edit this file manually.
// </auto-generated>
#nullable enable
using System.CodeDom.Compiler;
using System.Diagnostics.CodeAnalysis;
using ModularPipelines.Attributes;
using ModularPipelines.Google.Options;
using ModularPipelines.Models;
using ModularPipelines.Google.Enums;
namespace ModularPipelines.Google.Options;
/// <summary>
/// create a cluster
/// </summary>
[GeneratedCode("ModularPipelines.OptionsGenerator", "")]
[ExcludeFromCodeCoverage]
[CliSubCommand("dataproc", "clusters", "create")]
public record GcloudDataprocClustersCreateOptions : GcloudOptions
{
/// <summary>
/// Failure action to take when primary workers fail during cluster creation. ACTION_ON_FAILED_PRIMARY_WORKERS must be one of: DELETE delete the failed primary workers FAILURE_ACTION_UNSPECIFIED failure action is not specified NO_ACTION take no action
/// </summary>
[CliOption("--action-on-failed-primary-workers", Format = OptionFormat.EqualsSeparated)]
public string? ActionOnFailedPrimaryWorkers { get; set; }
/// <summary>
/// Return immediately, without waiting for the operation in progress to complete.
/// </summary>
[CliFlag("--async")]
public bool? Async { get; set; }
/// <summary>
/// ID of the autoscaling policy or fully qualified identifier for the autoscaling policy. To set the autoscaling_policy attribute: ◆ provide the argument --autoscaling-policy on the command line.
/// </summary>
[CliOption("--autoscaling-policy", Format = OptionFormat.EqualsSeparated)]
public string? AutoscalingPolicy { get; set; }
/// <summary>
/// The Google Cloud Storage bucket to use by default to stage job dependencies, miscellaneous config files, and job driver console output when using this cluster.
/// </summary>
[CliOption("--bucket", Format = OptionFormat.EqualsSeparated)]
public string? Bucket { get; set; }
/// <summary>
/// The type of cluster. TYPE must be one of: standard, single-node, zero-scale.
/// </summary>
[CliOption("--cluster-type", Format = OptionFormat.EqualsSeparated)]
public GcloudClusterType? ClusterType { get; set; }
/// <summary>
/// Specify the name of a Dataproc Metastore service to be used as an external metastore in the format: "projects/{project-id}/locations/{region}/services/{service-name}".
/// </summary>
[CliOption("--dataproc-metastore", Format = OptionFormat.EqualsSeparated)]
public string? DataprocMetastore { get; set; }
/// <summary>
/// The duration after the last job completes to auto-delete the cluster, such as "2h" or "1d". See $ gcloud topic datetimes for information on duration formats.
/// </summary>
[CliOption("--delete-max-idle", Format = OptionFormat.EqualsSeparated)]
public string? DeleteMaxIdle { get; set; }
/// <summary>
/// Attaches accelerators, such as GPUs, to the driver-pool instance(s). type The specific type of accelerator to attach to the instances, such as nvidia-tesla-t4 for NVIDIA T4. Use gcloud compute accelerator-types list to display available accelerator types. count The number of accelerators to attach to each instance. The default value is 1.
/// </summary>
[CliOption("--driver-pool-accelerator", Format = OptionFormat.EqualsSeparated, AllowMultiple = true)]
public IEnumerable<string>? DriverPoolAccelerator { get; set; }
/// <summary>
/// The size of the boot disk. The value must be a whole number followed by a size unit of KB for kilobyte, MB for megabyte, GB for gigabyte, or TB for terabyte. For example, 10GB will produce a 10 gigabyte disk. The minimum size a boot disk can have is 10 GB. Disk size must be a multiple of 1 GB.
/// </summary>
[CliOption("--driver-pool-boot-disk-size", Format = OptionFormat.EqualsSeparated)]
public int? DriverPoolBootDiskSize { get; set; }
/// <summary>
/// The type of the boot disk. The value must be pd-balanced, pd-ssd, or pd-standard.
/// </summary>
[CliOption("--driver-pool-boot-disk-type", Format = OptionFormat.EqualsSeparated)]
public string? DriverPoolBootDiskType { get; set; }
/// <summary>
/// Custom identifier for the DRIVER Node Group being created. If not provided, a random string is generated.
/// </summary>
[CliOption("--driver-pool-id", Format = OptionFormat.EqualsSeparated)]
public string? DriverPoolId { get; set; }
/// <summary>
/// Interface to use to attach local SSDs to cluster driver pool node(s).
/// </summary>
[CliOption("--driver-pool-local-ssd-interface", Format = OptionFormat.EqualsSeparated)]
public string? DriverPoolLocalSsdInterface { get; set; }
/// <summary>
/// The type of machine to use for the cluster driver pool nodes. Defaults to server-specified.
/// </summary>
[CliOption("--driver-pool-machine-type", Format = OptionFormat.EqualsSeparated)]
public string? DriverPoolMachineType { get; set; }
/// <summary>
/// When specified, the VM is scheduled on the host with a specified CPU architecture or a more recent CPU platform that's available in that zone. To list available CPU platforms in a zone, run: $ gcloud compute zones describe ZONE CPU platform selection may not be available in a zone. Zones that support CPU platform selection provide an availableCpuPlatforms field, which contains the list of available CPU platforms in the zone (see Availability of CPU platforms for more information).
/// </summary>
[CliOption("--driver-pool-min-cpu-platform", Format = OptionFormat.EqualsSeparated)]
public string? DriverPoolMinCpuPlatform { get; set; }
/// <summary>
/// The size of the cluster driver pool.
/// </summary>
[CliOption("--driver-pool-size", Format = OptionFormat.EqualsSeparated)]
public int? DriverPoolSize { get; set; }
/// <summary>
/// Enable access to the web UIs of selected components on the cluster through the component gateway.
/// </summary>
[CliFlag("--enable-component-gateway")]
public bool? EnableComponentGateway { get; set; }
/// <summary>
/// Cluster engine. ENGINE must be one of: default, lightning.
/// </summary>
[CliOption("--engine", Format = OptionFormat.EqualsSeparated)]
public GcloudEngine? Engine { get; set; }
[CliOption("--initialization-action-timeout", Format = OptionFormat.EqualsSeparated)]
public int? InitializationActionTimeout { get; set; }
/// <summary>
/// A list of Google Cloud Storage URIs of executables to run on each node in the cluster.
/// </summary>
[CliOption("--initialization-actions", Format = OptionFormat.EqualsSeparated, AllowMultiple = true)]
public IEnumerable<string>? InitializationActions { get; set; }
/// <summary>
/// List of label KEY=VALUE pairs to add. Keys must start with a lowercase character and contain only hyphens (-), underscores (_), lowercase characters, and numbers. Values must contain only hyphens (-), underscores (_), lowercase characters, and numbers.
/// </summary>
[CliOption("--labels", Format = OptionFormat.EqualsSeparated, AllowMultiple = true)]
public KeyValue[]? Labels { get; set; }
/// <summary>
/// Attaches accelerators, such as GPUs, to the master instance(s). type The specific type of accelerator to attach to the instances, such as nvidia-tesla-t4 for NVIDIA T4. Use gcloud compute accelerator-types list to display available accelerator types. count The number of accelerators to attach to each instance. The default value is 1.
/// </summary>
[CliOption("--master-accelerator", Format = OptionFormat.EqualsSeparated, AllowMultiple = true)]
public IEnumerable<string>? MasterAccelerator { get; set; }
/// <summary>
/// A list of disk configurations to attach to each instance in this group. Disk configurations are separated by semicolons. Each disk configuration is a comma-separated list of the following parameters. type - required The type of disk to attach to the instances (https://cloud.google.com/compute/docs/disks/hyperdisks). Allowed disk types are: hyperdisk-balanced, hyperdisk-extreme, hyperdisk-ml, hyperdisk-throughput. size - optional The size of the disk. The value must be a whole number followed by a size unit GB for gigabyte, or TB for terabyte. For example, 10GB produces a 10 gigabyte disk. iops - optional Indicates the IOPS (https://cloud.google.com/compute/docs/disks/hyperdisks#iops) to provision for the attached hyperdisk. This parameter sets the limit for disk I/O operations per second. throughput - optional Indicates the throughput (https://cloud.google.com/compute/docs/disks/hyperdisks#throughput) to provision for the attached hyperdisk. This parameter sets the limit for throughput in MiB per second. Example: type='hyperdisk-balanced,iops=5000,throughput=200,size=100G;type=hyperdisk-throughput,size=9000G' Attaches two disks to the instances. The first disk is a hyperdisk-balanced disk with 5000 IOPS, 200 MiB/s throughput, and 100 GiB size. The second disk is a hyperdisk-throughput disk with 9000 GiB size.
/// </summary>
[CliOption("--master-attached-disks", Format = OptionFormat.EqualsSeparated)]
public string? MasterAttachedDisks { get; set; }
/// <summary>
/// Indicates the IOPS (https://cloud.google.com/compute/docs/disks/hyperdisks#iops) to provision for the disk. This sets the limit for disk I/O operations per second. This is only supported if the bootdisk type is hyperdisk-balanced (https://cloud.google.com/compute/docs/disks/hyperdisks).
/// </summary>
[CliOption("--master-boot-disk-provisioned-iops", Format = OptionFormat.EqualsSeparated)]
public int? MasterBootDiskProvisionedIops { get; set; }
/// <summary>
/// Indicates the throughput (https://cloud.google.com/compute/docs/disks/hyperdisks#throughput) to provision for the disk. This sets the limit for throughput in MiB per second. This is only supported if the bootdisk type is hyperdisk-balanced (https://cloud.google.com/compute/docs/disks/hyperdisks).
/// </summary>
[CliOption("--master-boot-disk-provisioned-throughput", Format = OptionFormat.EqualsSeparated)]
public string? MasterBootDiskProvisionedThroughput { get; set; }
/// <summary>
/// The size of the boot disk. The value must be a whole number followed by a size unit of KB for kilobyte, MB for megabyte, GB for gigabyte, or TB for terabyte. For example, 10GB will produce a 10 gigabyte disk. The minimum size a boot disk can have is 10 GB. Disk size must be a multiple of 1 GB.
/// </summary>
[CliOption("--master-boot-disk-size", Format = OptionFormat.EqualsSeparated)]
public int? MasterBootDiskSize { get; set; }
/// <summary>
/// The type of the boot disk. The value must be pd-balanced, pd-ssd, or pd-standard.
/// </summary>
[CliOption("--master-boot-disk-type", Format = OptionFormat.EqualsSeparated)]
public string? MasterBootDiskType { get; set; }
/// <summary>
/// Interface to use to attach local SSDs to master node(s) in a cluster.
/// </summary>
[CliOption("--master-local-ssd-interface", Format = OptionFormat.EqualsSeparated)]
public string? MasterLocalSsdInterface { get; set; }
/// <summary>
/// The type of machine to use for the master. Defaults to server-specified.
/// </summary>
[CliOption("--master-machine-type", Format = OptionFormat.EqualsSeparated)]
public string? MasterMachineType { get; set; }
/// <summary>
/// When specified, the VM is scheduled on the host with a specified CPU architecture or a more recent CPU platform that's available in that zone. To list available CPU platforms in a zone, run: $ gcloud compute zones describe ZONE CPU platform selection may not be available in a zone. Zones that support CPU platform selection provide an availableCpuPlatforms field, which contains the list of available CPU platforms in the zone (see Availability of CPU platforms for more information).
/// </summary>
[CliOption("--master-min-cpu-platform", Format = OptionFormat.EqualsSeparated)]
public string? MasterMinCpuPlatform { get; set; }
/// <summary>
/// Minimum fraction of secondary worker nodes required to create the cluster. If it is not met, cluster creation will fail. Must be a decimal value between 0 and 1. The number of required secondary workers is calculated by ceil(min-secondary-worker-fraction * num_secondary_workers). Defaults to 0.0001.
/// </summary>
[CliOption("--min-secondary-worker-fraction", Format = OptionFormat.EqualsSeparated)]
public string? MinSecondaryWorkerFraction { get; set; }
/// <summary>
/// The name of the sole-tenant node group to create the cluster on. Can be a short name ("node-group-name") or in the format "projects/{project-id}/zones/{zone}/nodeGroups/{node-group-name}".
/// </summary>
[CliOption("--node-group", Format = OptionFormat.EqualsSeparated)]
public string? NodeGroup { get; set; }
/// <summary>
/// The number of local SSDs to attach to each cluster driver pool node.
/// </summary>
[CliOption("--num-driver-pool-local-ssds", Format = OptionFormat.EqualsSeparated)]
public string? NumDriverPoolLocalSsds { get; set; }
/// <summary>
/// The number of local SSDs to attach to the master in a cluster.
/// </summary>
[CliOption("--num-master-local-ssds", Format = OptionFormat.EqualsSeparated)]
public string? NumMasterLocalSsds { get; set; }
/// <summary>
/// The number of master nodes in the cluster. Number of Masters Cluster Mode 1 Standard 3 High Availability
/// </summary>
[CliOption("--num-masters", Format = OptionFormat.EqualsSeparated)]
public string? NumMasters { get; set; }
/// <summary>
/// The number of local SSDs to attach to each preemptible worker in a cluster.
/// </summary>
[CliOption("--num-secondary-worker-local-ssds", Format = OptionFormat.EqualsSeparated)]
public string? NumSecondaryWorkerLocalSsds { get; set; }
/// <summary>
/// The number of local SSDs to attach to each worker in a cluster.
/// </summary>
[CliOption("--num-worker-local-ssds", Format = OptionFormat.EqualsSeparated)]
public string? NumWorkerLocalSsds { get; set; }
/// <summary>
/// List of optional components to be installed on cluster machines. The following page documents the optional components that can be installed: https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/optional-components.
/// </summary>
[CliOption("--optional-components", Format = OptionFormat.EqualsSeparated, AllowMultiple = true)]
public IEnumerable<string>? OptionalComponents { get; set; }
/// <summary>
/// The private IPv6 Google access type for the cluster. PRIVATE_IPV6_GOOGLE_ACCESS_TYPE must be one of: inherit-subnetwork, outbound, bidirectional.
/// </summary>
[CliOption("--private-ipv6-google-access-type", Format = OptionFormat.EqualsSeparated)]
public GcloudPrivateIpv6GoogleAccessType? PrivateIpv6GoogleAccessType { get; set; }
/// <summary>
/// Specifies configuration properties for installed packages, such as Hadoop and Spark. Properties are mapped to configuration files by specifying a prefix, such as "core:io.serializations". The following are supported prefixes and their mappings: Prefix File Purpose of file capacity-scheduler capacity-scheduler.xml Hadoop YARN Capacity Scheduler configuration core core-site.xml Hadoop general configuration distcp distcp-default.xml Hadoop Distributed Copy configuration hadoop-env hadoop-env.sh Hadoop specific environment variables hdfs hdfs-site.xml Hadoop HDFS configuration hive hive-site.xml Hive configuration mapred mapred-site.xml Hadoop MapReduce configuration mapred-env mapred-env.sh Hadoop MapReduce specific environment variables pig pig.properties Pig configuration spark spark-defaults.conf Spark configuration spark-env spark-env.sh Spark specific environment variables yarn yarn-site.xml Hadoop YARN configuration yarn-env yarn-env.sh Hadoop YARN specific environment variables See https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/cluster-properties for more information.
/// </summary>
[CliOption("--properties", Format = OptionFormat.EqualsSeparated, AllowMultiple = true)]
public KeyValue[]? Properties { get; set; }
/// <summary>
/// Attaches accelerators, such as GPUs, to the secondary-worker instance(s). type The specific type of accelerator to attach to the instances, such as nvidia-tesla-t4 for NVIDIA T4. Use gcloud compute accelerator-types list to display available accelerator types. count The number of accelerators to attach to each instance. The default value is 1.
/// </summary>
[CliOption("--secondary-worker-accelerator", Format = OptionFormat.EqualsSeparated, AllowMultiple = true)]
public IEnumerable<string>? SecondaryWorkerAccelerator { get; set; }
/// <summary>
/// A list of disk configurations to attach to each instance in this group. Disk configurations are separated by semicolons. Each disk configuration is a comma-separated list of the following parameters. type - required The type of disk to attach to the instances (https://cloud.google.com/compute/docs/disks/hyperdisks). Allowed disk types are: hyperdisk-balanced, hyperdisk-extreme, hyperdisk-ml, hyperdisk-throughput. size - optional The size of the disk. The value must be a whole number followed by a size unit GB for gigabyte, or TB for terabyte. For example, 10GB produces a 10 gigabyte disk. iops - optional Indicates the IOPS (https://cloud.google.com/compute/docs/disks/hyperdisks#iops) to provision for the attached hyperdisk. This parameter sets the limit for disk I/O operations per second. throughput - optional Indicates the throughput (https://cloud.google.com/compute/docs/disks/hyperdisks#throughput) to provision for the attached hyperdisk. This parameter sets the limit for throughput in MiB per second. Example: type='hyperdisk-balanced,iops=5000,throughput=200,size=100G;type=hyperdisk-throughput,size=9000G' Attaches two disks to the instances. The first disk is a hyperdisk-balanced disk with 5000 IOPS, 200 MiB/s throughput, and 100 GiB size. The second disk is a hyperdisk-throughput disk with 9000 GiB size.
/// </summary>
[CliOption("--secondary-worker-attached-disks", Format = OptionFormat.EqualsSeparated)]
public string? SecondaryWorkerAttachedDisks { get; set; }
/// <summary>
/// The size of the boot disk. The value must be a whole number followed by a size unit of KB for kilobyte, MB for megabyte, GB for gigabyte, or TB for terabyte. For example, 10GB will produce a 10 gigabyte disk. The minimum size a boot disk can have is 10 GB. Disk size must be a multiple of 1 GB.
/// </summary>
[CliOption("--secondary-worker-boot-disk-size", Format = OptionFormat.EqualsSeparated)]
public int? SecondaryWorkerBootDiskSize { get; set; }
/// <summary>
/// The type of the boot disk. The value must be pd-balanced, pd-ssd, or pd-standard.
/// </summary>
[CliOption("--secondary-worker-boot-disk-type", Format = OptionFormat.EqualsSeparated)]
public string? SecondaryWorkerBootDiskType { get; set; }
/// <summary>
/// Interface to use to attach local SSDs to each secondary worker in a cluster.
/// </summary>
[CliOption("--secondary-worker-local-ssd-interface", Format = OptionFormat.EqualsSeparated)]
public string? SecondaryWorkerLocalSsdInterface { get; set; }
/// <summary>
/// Types of machines with optional rank for secondary workers to use. Defaults to server-specified.eg. --secondary-worker-machine-types="type=e2-standard-8,type=t2d-standard-8,rank=0"
/// </summary>
[CliOption("--secondary-worker-machine-types", Format = OptionFormat.EqualsSeparated, AllowMultiple = true)]
public IEnumerable<string>? SecondaryWorkerMachineTypes { get; set; }
/// <summary>
/// This flag sets the base number of Standard VMs to use for secondary workers (https://cloud.google.com/dataproc/docs/concepts/compute/secondary-vms#preemptible_and_non-preemptible_secondary_workers). Dataproc will create only standard VMs until it reaches this number, then it will mix Spot and Standard VMs according to SECONDARY_WORKER_STANDARD_CAPACITY_PERCENT_ABOVE_BASE.
/// </summary>
[CliOption("--secondary-worker-standard-capacity-base", Format = OptionFormat.EqualsSeparated)]
public string? SecondaryWorkerStandardCapacityBase { get; set; }
/// <summary>
/// When combining Standard and Spot VMs for secondary-workers (https://cloud.google.com/dataproc/docs/concepts/compute/secondary-vms#preemptible_and_non-preemptible_secondary_workers) once the number of Standard VMs specified by SECONDARY_WORKER_STANDARD_CAPACITY_BASE has been used, this flag specifies the percentage of the total number of additional Standard VMs secondary workers will use. Spot VMs will be used for the remaining percentage.
/// </summary>
[CliOption("--secondary-worker-standard-capacity-percent-above-base", Format = OptionFormat.EqualsSeparated)]
public string? SecondaryWorkerStandardCapacityPercentAboveBase { get; set; }
/// <summary>
/// Enables monitoring and attestation of the boot integrity of the cluster's VMs. vTPM (virtual Trusted Platform Module) must also be enabled. A TPM is a hardware module that can be used for different security operations, such as remote attestation, encryption, and sealing of keys.
/// </summary>
[CliFlag("--shielded-integrity-monitoring")]
public bool? ShieldedIntegrityMonitoring { get; set; }
/// <summary>
/// The cluster's VMs will boot with secure boot enabled.
/// </summary>
[CliFlag("--shielded-secure-boot")]
public bool? ShieldedSecureBoot { get; set; }
/// <summary>
/// The cluster's VMs will boot with the TPM (Trusted Platform Module) enabled. A TPM is a hardware module that can be used for different security operations, such as remote attestation, encryption, and sealing of keys.
/// </summary>
[CliFlag("--shielded-vtpm")]
public bool? ShieldedVtpm { get; set; }
/// <summary>
/// The duration after the last job completes to auto-stop the cluster, such as "2h" or "1d". See $ gcloud topic datetimes for information on duration formats.
/// </summary>
[CliOption("--stop-max-idle", Format = OptionFormat.EqualsSeparated)]
public string? StopMaxIdle { get; set; }
/// <summary>
/// The Google Cloud Storage bucket to use by default to store ephemeral cluster and jobs data, such as Spark and MapReduce history files.
/// </summary>
[CliOption("--temp-bucket", Format = OptionFormat.EqualsSeparated)]
public string? TempBucket { get; set; }
/// <summary>
/// Attaches accelerators, such as GPUs, to the worker instance(s). type The specific type of accelerator to attach to the instances, such as nvidia-tesla-t4 for NVIDIA T4. Use gcloud compute accelerator-types list to display available accelerator types. count The number of accelerators to attach to each instance. The default value is 1.
/// </summary>
[CliOption("--worker-accelerator", Format = OptionFormat.EqualsSeparated, AllowMultiple = true)]
public IEnumerable<string>? WorkerAccelerator { get; set; }
/// <summary>
/// A list of disk configurations to attach to each instance in this group. Disk configurations are separated by semicolons. Each disk configuration is a comma-separated list of the following parameters. type - required The type of disk to attach to the instances (https://cloud.google.com/compute/docs/disks/hyperdisks). Allowed disk types are: hyperdisk-balanced, hyperdisk-extreme, hyperdisk-ml, hyperdisk-throughput. size - optional The size of the disk. The value must be a whole number followed by a size unit GB for gigabyte, or TB for terabyte. For example, 10GB produces a 10 gigabyte disk. iops - optional Indicates the IOPS (https://cloud.google.com/compute/docs/disks/hyperdisks#iops) to provision for the attached hyperdisk. This parameter sets the limit for disk I/O operations per second. throughput - optional Indicates the throughput (https://cloud.google.com/compute/docs/disks/hyperdisks#throughput) to provision for the attached hyperdisk. This parameter sets the limit for throughput in MiB per second. Example: type='hyperdisk-balanced,iops=5000,throughput=200,size=100G;type=hyperdisk-throughput,size=9000G' Attaches two disks to the instances. The first disk is a hyperdisk-balanced disk with 5000 IOPS, 200 MiB/s throughput, and 100 GiB size. The second disk is a hyperdisk-throughput disk with 9000 GiB size.
/// </summary>
[CliOption("--worker-attached-disks", Format = OptionFormat.EqualsSeparated)]
public string? WorkerAttachedDisks { get; set; }
/// <summary>
/// Indicates the IOPS (https://cloud.google.com/compute/docs/disks/hyperdisks#iops) to provision for the disk. This sets the limit for disk I/O operations per second. This is only supported if the bootdisk type is hyperdisk-balanced (https://cloud.google.com/compute/docs/disks/hyperdisks).
/// </summary>
[CliOption("--worker-boot-disk-provisioned-iops", Format = OptionFormat.EqualsSeparated)]
public int? WorkerBootDiskProvisionedIops { get; set; }
/// <summary>
/// Indicates the throughput (https://cloud.google.com/compute/docs/disks/hyperdisks#throughput) to provision for the disk. This sets the limit for throughput in MiB per second. This is only supported if the bootdisk type is hyperdisk-balanced (https://cloud.google.com/compute/docs/disks/hyperdisks).
/// </summary>
[CliOption("--worker-boot-disk-provisioned-throughput", Format = OptionFormat.EqualsSeparated)]
public string? WorkerBootDiskProvisionedThroughput { get; set; }
/// <summary>
/// The size of the boot disk. The value must be a whole number followed by a size unit of KB for kilobyte, MB for megabyte, GB for gigabyte, or TB for terabyte. For example, 10GB will produce a 10 gigabyte disk. The minimum size a boot disk can have is 10 GB. Disk size must be a multiple of 1 GB.
/// </summary>
[CliOption("--worker-boot-disk-size", Format = OptionFormat.EqualsSeparated)]
public int? WorkerBootDiskSize { get; set; }
/// <summary>
/// The type of the boot disk. The value must be pd-balanced, pd-ssd, or pd-standard.
/// </summary>
[CliOption("--worker-boot-disk-type", Format = OptionFormat.EqualsSeparated)]
public string? WorkerBootDiskType { get; set; }
/// <summary>
/// Interface to use to attach local SSDs to each worker in a cluster.
/// </summary>
[CliOption("--worker-local-ssd-interface", Format = OptionFormat.EqualsSeparated)]
public string? WorkerLocalSsdInterface { get; set; }
/// <summary>
/// When specified, the VM is scheduled on the host with a specified CPU architecture or a more recent CPU platform that's available in that zone. To list available CPU platforms in a zone, run: $ gcloud compute zones describe ZONE CPU platform selection may not be available in a zone. Zones that support CPU platform selection provide an availableCpuPlatforms field, which contains the list of available CPU platforms in the zone (see Availability of CPU platforms for more information). At most one of these can be specified: --auto-zone-exclude-zones=[ZONE,...] A comma-separated list of compute zones (such as us-central1-a) to exclude when Dataproc Auto Zone placement (https://docs.cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone) picks the zone for the cluster. --zone=ZONE, -z ZONE The compute zone (such as us-central1-a) for the cluster. If empty and --region is set to a value other than global, Dataproc Auto Zone placement (https://docs.cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone) will pick a zone in the region. Overrides the default compute/zone property value for this command invocation. At most one of these can be specified: --confidential-compute (DEPRECATED) Enables Confidential VM. See https://cloud.google.com/confidential-computing/confidential-vm/docs/ for more information. This flag uses AMD SEV confidential compute technology, which is only supported on N2D, C2D, C3D, and C4D machine types (https://cloud.google.com/compute/docs/machine-types). The --confidential-compute flag is deprecated. Please use --confidential-compute-type=SEV instead. --confidential-compute-type=CONFIDENTIAL_COMPUTE_TYPE Enables Confidential VM. See https://cloud.google.com/confidential-computing/confidential-vm/docs/ for more information. This flag specifies the type of Confidential Compute technology. See https://cloud.google.com/confidential-computing/confidential-vm/docs/supported-configurations#machine-type-cpu-zone for each machine type supported by Confidential Compute technology. CONFIDENTIAL_COMPUTE_TYPE must be one of: SEV, SEV_SNP, TDX. At most one of these can be specified: --delete-expiration-time=DELETE_EXPIRATION_TIME The time when the cluster will be auto-deleted, such as "2017-08-29T18:52:51.142Z." See $ gcloud topic datetimes for information on time formats. --delete-max-age=DELETE_MAX_AGE The lifespan of the cluster, with auto-deletion upon completion, such as "2h" or "1d". See $ gcloud topic datetimes for information on duration formats. Key resource - The Cloud KMS (Key Management Service) cryptokey that will be used to protect the cluster. The 'Compute Engine Service Agent' service account must hold permission 'Cloud KMS CryptoKey Encrypter/Decrypter'. The arguments in this group can be used to specify the attributes of this resource.
/// </summary>
[CliOption("--worker-min-cpu-platform", Format = OptionFormat.EqualsSeparated)]
public GcloudWorkerMinCpuPlatform? WorkerMinCpuPlatform { get; set; }
/// <summary>
/// ID of the key or fully qualified identifier for the key. To set the kms-key attribute: ◆ provide the argument --gce-pd-kms-key on the command line. This flag argument must be specified if any of the other arguments in this group are specified.
/// </summary>
[CliOption("--gce-pd-kms-key", Format = OptionFormat.EqualsSeparated)]
public string? GcePdKmsKey { get; set; }
/// <summary>
/// The KMS keyring of the key. To set the kms-keyring attribute: ◆ provide the argument --gce-pd-kms-key on the command line with a fully specified name; ◆ provide the argument --gce-pd-kms-key-keyring on the command line.
/// </summary>
[CliOption("--gce-pd-kms-key-keyring", Format = OptionFormat.EqualsSeparated)]
public string? GcePdKmsKeyKeyring { get; set; }
/// <summary>
/// The Google Cloud location for the key. To set the kms-location attribute: ◆ provide the argument --gce-pd-kms-key on the command line with a fully specified name; ◆ provide the argument --gce-pd-kms-key-location on the command line.
/// </summary>
[CliOption("--gce-pd-kms-key-location", Format = OptionFormat.EqualsSeparated)]
public string? GcePdKmsKeyLocation { get; set; }
/// <summary>
/// The Google Cloud project for the key. To set the kms-project attribute: ◆ provide the argument --gce-pd-kms-key on the command line with a fully specified name; ◆ provide the argument --gce-pd-kms-key-project on the command line; ◆ set the property core/project. Specifying these flags will enable Secure Multi-Tenancy for the cluster. At most one of these can be specified: --identity-config-file=IDENTITY_CONFIG_FILE Path to a YAML (or JSON) file containing the configuration for Secure Multi-Tenancy on the cluster. The path can be a Cloud Storage URL (Example: 'gs://path/to/file') or a local file system path. If you pass "-" as the value of the flag the file content will be read from stdin. The YAML file is formatted as follows: # Required. The mapping from user accounts to service accounts. user_service_account_mapping: bob@company.com: service-account-bob@project.iam.gserviceaccount.com alice@company.com: service-account-alice@project.iam.gserviceaccount.com --secure-multi-tenancy-user-mapping=SECURE_MULTI_TENANCY_USER_MAPPING A string of user-to-service-account mappings. Mappings are separated by commas, and each mapping takes the form of "user-account:service-account". Example: "bob@company.com:service-account-bob@project.iam.gserviceaccount.com,alice@company.com:service-account-alice@project.iam.gserviceaccount.com". At most one of these can be specified: --image=IMAGE The custom image used to create the cluster. It can be the image name, the image URI, or the image family URI, which selects the latest image from the family. --image-version=VERSION The image version to use for the cluster. Defaults to the latest version. Specifying these flags will enable Kerberos for the cluster. At most one of these can be specified: --kerberos-config-file=KERBEROS_CONFIG_FILE Path to a YAML (or JSON) file containing the configuration for Kerberos on the cluster. If you pass - as the value of the flag the file content will be read from stdin. The YAML file is formatted as follows: # Optional. Flag to indicate whether to Kerberize the cluster. # The default value is true. enable_kerberos: true # Optional. The Google Cloud Storage URI of a KMS encrypted file # containing the root principal password. root_principal_password_uri: gs://bucket/password.encrypted # Optional. The URI of the Cloud KMS key used to encrypt # sensitive files. kms_key_uri: projects/myproject/locations/global/keyRings/mykeyring/cryptoKeys/my-key # Configuration of SSL encryption. If specified, all sub-fields # are required. Otherwise, Dataproc will provide a self-signed # certificate and generate the passwords. ssl: # Optional. The Google Cloud Storage URI of the keystore file. keystore_uri: gs://bucket/keystore.jks # Optional. The Google Cloud Storage URI of a KMS encrypted # file containing the password to the keystore. keystore_password_uri: gs://bucket/keystore_password.encrypted # Optional. The Google Cloud Storage URI of a KMS encrypted # file containing the password to the user provided key. key_password_uri: gs://bucket/key_password.encrypted # Optional. The Google Cloud Storage URI of the truststore # file. truststore_uri: gs://bucket/truststore.jks # Optional. The Google Cloud Storage URI of a KMS encrypted # file containing the password to the user provided # truststore. truststore_password_uri: gs://bucket/truststore_password.encrypted # Configuration of cross realm trust. cross_realm_trust: # Optional. The remote realm the Dataproc on-cluster KDC will # trust, should the user enable cross realm trust. realm: REMOTE.REALM # Optional. The KDC (IP or hostname) for the remote trusted # realm in a cross realm trust relationship. kdc: kdc.remote.realm # Optional. The admin server (IP or hostname) for the remote # trusted realm in a cross realm trust relationship. admin_server: admin-server.remote.realm # Optional. The Google Cloud Storage URI of a KMS encrypted # file containing the shared password between the on-cluster # Kerberos realm and the remote trusted realm, in a cross # realm trust relationship. shared_password_uri: gs://bucket/cross-realm.password.encrypted # Optional. The Google Cloud Storage URI of a KMS encrypted file # containing the master key of the KDC database. kdc_db_key_uri: gs://bucket/kdc_db_key.encrypted # Optional. The lifetime of the ticket granting ticket, in # hours. If not specified, or user specifies 0, then default # value 10 will be used. tgt_lifetime_hours: 1 # Optional. The name of the Kerberos realm. If not specified, # the uppercased domain name of the cluster will be used. realm: REALM.NAME Or at least one of these can be specified: --enable-kerberos Enable Kerberos on the cluster. --kerberos-root-principal-password-uri=KERBEROS_ROOT_PRINCIPAL_PASSWORD_URI Google Cloud Storage URI of a KMS encrypted file containing the root principal password. Must be a Cloud Storage URL beginning with 'gs://'. Key resource - The Cloud KMS (Key Management Service) cryptokey that will be used to protect the password. The 'Compute Engine Service Agent' service account must hold permission 'Cloud KMS CryptoKey Encrypter/Decrypter'. The arguments in this group can be used to specify the attributes of this resource. --kerberos-kms-key=KERBEROS_KMS_KEY ID of the key or fully qualified identifier for the key. To set the kms-key attribute: ▫ provide the argument --kerberos-kms-key on the command line. This flag argument must be specified if any of the other arguments in this group are specified. --kerberos-kms-key-keyring=KERBEROS_KMS_KEY_KEYRING The KMS keyring of the key. To set the kms-keyring attribute: ▫ provide the argument --kerberos-kms-key on the command line with a fully specified name; ▫ provide the argument --kerberos-kms-key-keyring on the command line. --kerberos-kms-key-location=KERBEROS_KMS_KEY_LOCATION The Google Cloud location for the key. To set the kms-location attribute: ▫ provide the argument --kerberos-kms-key on the command line with a fully specified name; ▫ provide the argument --kerberos-kms-key-location on the command line. --kerberos-kms-key-project=KERBEROS_KMS_KEY_PROJECT The Google Cloud project for the key. To set the kms-project attribute: ▫ provide the argument --kerberos-kms-key on the command line with a fully specified name; ▫ provide the argument --kerberos-kms-key-project on the command line; ▫ set the property core/project. Key resource - The Cloud KMS (Key Management Service) cryptokey that will be used to protect the cluster. The 'Compute Engine Service Agent' service account must hold permission 'Cloud KMS CryptoKey Encrypter/Decrypter'. The arguments in this group can be used to specify the attributes of this resource.
/// </summary>
[CliOption("--gce-pd-kms-key-project", Format = OptionFormat.EqualsSeparated)]
public string? GcePdKmsKeyProject { get; set; }
/// <summary>
/// ID of the key or fully qualified identifier for the key. To set the kms-key attribute: ◆ provide the argument --kms-key on the command line. This flag argument must be specified if any of the other arguments in this group are specified.
/// </summary>
[CliOption("--kms-key", Format = OptionFormat.EqualsSeparated)]
public string? KmsKey { get; set; }
/// <summary>
/// The KMS keyring of the key. To set the kms-keyring attribute: ◆ provide the argument --kms-key on the command line with a fully specified name; ◆ provide the argument --kms-keyring on the command line.
/// </summary>
[CliOption("--kms-keyring", Format = OptionFormat.EqualsSeparated)]
public string? KmsKeyring { get; set; }
/// <summary>
/// The Google Cloud location for the key. To set the kms-location attribute: ◆ provide the argument --kms-key on the command line with a fully specified name; ◆ provide the argument --kms-location on the command line.
/// </summary>
[CliOption("--kms-location", Format = OptionFormat.EqualsSeparated)]
public string? KmsLocation { get; set; }
/// <summary>
/// The Google Cloud project for the key. To set the kms-project attribute: ◆ provide the argument --kms-key on the command line with a fully specified name; ◆ provide the argument --kms-project on the command line; ◆ set the property core/project. Compute Engine options for Dataproc clusters.
/// </summary>
[CliOption("--kms-project", Format = OptionFormat.EqualsSeparated)]
public string? KmsProject { get; set; }
/// <summary>
/// Metadata to be made available to the guest operating system running on the instances
/// </summary>
[CliOption("--metadata", Format = OptionFormat.EqualsSeparated, AllowMultiple = true)]
public KeyValue[]? Metadata { get; set; }
/// <summary>
/// Specifies a list of resource manager tags to apply to each cluster node (master and worker nodes).
/// </summary>
[CliOption("--resource-manager-tags", Format = OptionFormat.EqualsSeparated, AllowMultiple = true)]
public KeyValue[]? ResourceManagerTags { get; set; }
/// <summary>
/// Specifies scopes for the node instances. Multiple SCOPEs can be specified, separated by commas. Examples: $ gcloud dataproc clusters create example-cluster \ --scopes https://www.googleapis.com/auth/bigtable.admin $ gcloud dataproc clusters create example-cluster \ --scopes sqlservice,bigquery The following minimum scopes are necessary for the cluster to function properly and are always added, even if not explicitly specified: https://www.googleapis.com/auth/devstorage.read_write https://www.googleapis.com/auth/logging.write If the --scopes flag is not specified, the following default scopes are also included: https://www.googleapis.com/auth/bigquery https://www.googleapis.com/auth/bigtable.admin.table https://www.googleapis.com/auth/bigtable.data https://www.googleapis.com/auth/devstorage.full_control If you want to enable all scopes use the 'cloud-platform' scope. SCOPE can be either the full URI of the scope or an alias. Default scopes are assigned to all instances. Available aliases are: Alias URI bigquery https://www.googleapis.com/auth/bigquery cloud-platform https://www.googleapis.com/auth/cloud-platform cloud-source-repos https://www.googleapis.com/auth/source.full_control cloud-source-repos-ro https://www.googleapis.com/auth/source.read_only compute-ro https://www.googleapis.com/auth/compute.readonly compute-rw https://www.googleapis.com/auth/compute datastore https://www.googleapis.com/auth/datastore default https://www.googleapis.com/auth/devstorage.read_only https://www.googleapis.com/auth/logging.write https://www.googleapis.com/auth/monitoring.write https://www.googleapis.com/auth/pubsub https://www.googleapis.com/auth/service.management.readonly https://www.googleapis.com/auth/servicecontrol https://www.googleapis.com/auth/trace.append gke-default https://www.googleapis.com/auth/devstorage.read_only https://www.googleapis.com/auth/logging.write https://www.googleapis.com/auth/monitoring https://www.googleapis.com/auth/service.management.readonly https://www.googleapis.com/auth/servicecontrol https://www.googleapis.com/auth/trace.append logging-write https://www.googleapis.com/auth/logging.write monitoring https://www.googleapis.com/auth/monitoring monitoring-read https://www.googleapis.com/auth/monitoring.read monitoring-write https://www.googleapis.com/auth/monitoring.write pubsub https://www.googleapis.com/auth/pubsub service-control https://www.googleapis.com/auth/servicecontrol service-management https://www.googleapis.com/auth/service.management.readonly sql (deprecated) https://www.googleapis.com/auth/sqlservice sql-admin https://www.googleapis.com/auth/sqlservice.admin storage-full https://www.googleapis.com/auth/devstorage.full_control storage-ro https://www.googleapis.com/auth/devstorage.read_only storage-rw https://www.googleapis.com/auth/devstorage.read_write taskqueue https://www.googleapis.com/auth/taskqueue trace https://www.googleapis.com/auth/trace.append userinfo-email https://www.googleapis.com/auth/userinfo.email DEPRECATION WARNING: https://www.googleapis.com/auth/sqlservice account scope and sql alias do not provide SQL instance management capabilities and have been deprecated. Please, use https://www.googleapis.com/auth/sqlservice.admin or sql-admin to manage your Google SQL Service instances.
/// </summary>
[CliOption("--scopes", Format = OptionFormat.EqualsSeparated, AllowMultiple = true)]
public IEnumerable<string>? Scopes { get; set; }
/// <summary>
/// The Google Cloud IAM service account to be authenticated as.
/// </summary>
[CliOption("--service-account", Format = OptionFormat.EqualsSeparated)]
public int? ServiceAccount { get; set; }
/// <summary>
/// Specifies a list of tags to apply to the instance. These tags allow network firewall rules and routes to be applied to specified VM instances. See gcloud compute firewall-rules create(1) for more details. To read more about configuring network tags, read this guide: https://cloud.google.com/vpc/docs/add-remove-network-tags To list instances with their respective status and tags, run: $ gcloud compute instances list \ --format='table(name,status,tags.list())' To list instances tagged with a specific tag, tag1, run: $ gcloud compute instances list --filter='tags:tag1' At most one of these can be specified: --network=NETWORK The Compute Engine network that the VM instances of the cluster will be part of. This is mutually exclusive with --subnet. If neither is specified, this defaults to the "default" network. --subnet=SUBNET Specifies the subnet that the cluster will be part of. This is mutally exclusive with --network. Specifies the reservation for the instance.
/// </summary>
[CliOption("--tags", Format = OptionFormat.EqualsSeparated, AllowMultiple = true)]
public IEnumerable<string>? Tags { get; set; }
/// <summary>
/// The name of the reservation, required when --reservation-affinity=specific.
/// </summary>
[CliOption("--reservation", Format = OptionFormat.EqualsSeparated)]
public string? Reservation { get; set; }
[CliOption("--reservation-affinity", Format = OptionFormat.EqualsSeparated)]
public string? ReservationAffinity { get; set; }
/// <summary>
/// Specifies a list of cluster Metric Sources (https://cloud.google.com/dataproc/docs/guides/monitoring#available_oss_metrics) to collect custom metrics. METRIC_SOURCE must be one of: FLINK, HDFS, HIVEMETASTORE, HIVESERVER2, MONITORING_AGENT_DEFAULTS, SPARK, SPARK_HISTORY_SERVER, YARN. At most one of these can be specified: --metric-overrides=[METRIC_SOURCE:INSTANCE:GROUP:METRIC,...] List of metrics that override the default metrics enabled for the metric sources. Any of the available OSS metrics (https://cloud.google.com/dataproc/docs/guides/monitoring#available_oss_metrics) and all Spark metrics, can be listed for collection as a metric override. Override metric values are case sensitive, and must be provided, if appropriate, in CamelCase format, for example: sparkHistoryServer:JVM:Memory:NonHeapMemoryUsage.committed hiveserver2:JVM:Memory:NonHeapMemoryUsage.used Only the specified overridden metrics will be collected from a given metric source. For example, if one or more spark:executive metrics are listed as metric overrides, other SPARK metrics will not be collected. The collection of default OSS metrics from other metric sources is unaffected. For example, if both SPARK and YARN metric sources are enabled, and overrides are provided for Spark metrics only, all default YARN metrics will be collected. The source of the specified metric override must be enabled. For example, if one or more spark:driver metrics are provided as metric overrides, the spark metric source must be enabled (--metric-sources=spark). --metric-overrides-file=METRIC_OVERRIDES_FILE Path to a file containing list of Metrics that override the default metrics enabled for the metric sources. The path can be a Cloud Storage URL (example: gs://path/to/file) or a local file system path. At most one of these can be specified: --no-address If provided, the instances in the cluster will not be assigned external IP addresses. If omitted, then the Dataproc service will apply a default policy to determine if each instance in the cluster gets an external IP address or not. Note: Dataproc VMs need access to the Dataproc API. This can be achieved without external IP addresses using Private Google Access (https://cloud.google.com/compute/docs/private-google-access). --public-ip-address If provided, cluster instances are assigned external IP addresses. If omitted, the Dataproc service applies a default policy to determine whether or not each instance in the cluster gets an external IP address. Note: Dataproc VMs need access to the Dataproc API. This can be achieved without external IP addresses using Private Google Access (https://cloud.google.com/compute/docs/private-google-access). At most one of these can be specified: --single-node Create a single node cluster. A single node cluster has all master and worker components. It cannot have any separate worker nodes. If this flag is not specified, a cluster with separate workers is created. Or at least one of these can be specified: Multi-node cluster flags --min-num-workers=MIN_NUM_WORKERS Minimum number of primary worker nodes to provision for cluster creation to succeed. --num-secondary-workers=NUM_SECONDARY_WORKERS The number of secondary worker nodes in the cluster. --num-workers=NUM_WORKERS The number of worker nodes in the cluster. Defaults to server-specified. --secondary-worker-type=TYPE; default="preemptible" The type of the secondary worker group. TYPE must be one of: preemptible, non-preemptible, spot. At most one of these can be specified: --stop-expiration-time=STOP_EXPIRATION_TIME The time when the cluster will be auto-stopped, such as "2017-08-29T18:52:51.142Z." See $ gcloud topic datetimes for information on time formats. --stop-max-age=STOP_MAX_AGE The lifespan of the cluster, with auto-stop upon completion, such as "2h" or "1d". See $ gcloud topic datetimes for information on duration formats. At most one of these can be specified: --worker-machine-type=WORKER_MACHINE_TYPE The type of machine to use for primary workers. Defaults to server-specified. --worker-machine-types=type=MACHINE_TYPE[,type=MACHINE_TYPE...][,rank=RANK] Machine types (https://cloud.google.com/dataproc/docs/concepts/compute/supported-machine-types) for primary worker nodes to use with optional rank. A lower rank number is given higher preference. Based on availablilty, Dataproc tries to create primary worker VMs using the worker machine type with the lowest rank, and then tries to use machine types with higher ranks as necessary. Machine types with the same rank are given the same preference. Example use: --worker-machine-types="type=e2-standard-8,type=n2-standard-8,rank=0". For more information, see Dataproc Flexible VMs (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/flexible-vms)
/// </summary>
[CliOption("--metric-sources", Format = OptionFormat.EqualsSeparated, AllowMultiple = true)]
public GcloudMetricSources? MetricSources { get; set; }
}