30 #ifndef GOOGLE_DATAFLOW_API_WORKER_POOL_H_ 31 #define GOOGLE_DATAFLOW_API_WORKER_POOL_H_ 34 #include "googleapis/base/integral_types.h" 35 #include "googleapis/base/macros.h" 36 #include "googleapis/client/data/jsoncpp_data.h" 37 #include "googleapis/strings/stringpiece.h" 39 #include "google/dataflow_api/autoscaling_settings.h" 40 #include "google/dataflow_api/disk.h" 41 #include "google/dataflow_api/package.h" 42 #include "google/dataflow_api/sdk_harness_container_image.h" 43 #include "google/dataflow_api/task_runner_settings.h" 75 explicit WorkerPool(
const Json::Value& storage);
95 return StringPiece(
"google_dataflow_api::WorkerPool");
104 return Storage().isMember(
"autoscalingSettings");
111 MutableStorage()->removeMember(
"autoscalingSettings");
137 return Storage().isMember(
"dataDisks");
144 MutableStorage()->removeMember(
"dataDisks");
151 const client::JsonCppArray<Disk > get_data_disks()
const;
161 client::JsonCppArray<Disk > mutable_dataDisks();
169 return Storage().isMember(
"defaultPackageSet");
176 MutableStorage()->removeMember(
"defaultPackageSet");
184 const Json::Value& v = Storage(
"defaultPackageSet");
185 if (v == Json::Value::null)
return StringPiece(
"");
186 return StringPiece(v.asCString());
199 *MutableStorage(
"defaultPackageSet") = value.data();
208 return Storage().isMember(
"diskSizeGb");
215 MutableStorage()->removeMember(
"diskSizeGb");
223 const Json::Value& storage = Storage(
"diskSizeGb");
224 return client::JsonValueToCppValueHelper<int32 >(storage);
236 client::SetJsonValueFromCppValueHelper<int32 >(
237 value, MutableStorage(
"diskSizeGb"));
246 return Storage().isMember(
"diskSourceImage");
253 MutableStorage()->removeMember(
"diskSourceImage");
261 const Json::Value& v = Storage(
"diskSourceImage");
262 if (v == Json::Value::null)
return StringPiece(
"");
263 return StringPiece(v.asCString());
274 *MutableStorage(
"diskSourceImage") = value.data();
283 return Storage().isMember(
"diskType");
290 MutableStorage()->removeMember(
"diskType");
298 const Json::Value& v = Storage(
"diskType");
299 if (v == Json::Value::null)
return StringPiece(
"");
300 return StringPiece(v.asCString());
312 *MutableStorage(
"diskType") = value.data();
321 return Storage().isMember(
"ipConfiguration");
328 MutableStorage()->removeMember(
"ipConfiguration");
336 const Json::Value& v = Storage(
"ipConfiguration");
337 if (v == Json::Value::null)
return StringPiece(
"");
338 return StringPiece(v.asCString());
349 *MutableStorage(
"ipConfiguration") = value.data();
358 return Storage().isMember(
"kind");
365 MutableStorage()->removeMember(
"kind");
373 const Json::Value& v = Storage(
"kind");
374 if (v == Json::Value::null)
return StringPiece(
"");
375 return StringPiece(v.asCString());
387 *MutableStorage(
"kind") = value.data();
396 return Storage().isMember(
"machineType");
403 MutableStorage()->removeMember(
"machineType");
411 const Json::Value& v = Storage(
"machineType");
412 if (v == Json::Value::null)
return StringPiece(
"");
413 return StringPiece(v.asCString());
425 *MutableStorage(
"machineType") = value.data();
434 return Storage().isMember(
"metadata");
441 MutableStorage()->removeMember(
"metadata");
449 const Json::Value& storage = Storage(
"metadata");
450 return client::JsonValueToCppValueHelper<client::JsonCppAssociativeArray<string > >(storage);
462 Json::Value* storage = MutableStorage(
"metadata");
463 return client::JsonValueToMutableCppValueHelper<client::JsonCppAssociativeArray<string > >(storage);
472 return Storage().isMember(
"network");
479 MutableStorage()->removeMember(
"network");
487 const Json::Value& v = Storage(
"network");
488 if (v == Json::Value::null)
return StringPiece(
"");
489 return StringPiece(v.asCString());
501 *MutableStorage(
"network") = value.data();
510 return Storage().isMember(
"numThreadsPerWorker");
517 MutableStorage()->removeMember(
"numThreadsPerWorker");
525 const Json::Value& storage = Storage(
"numThreadsPerWorker");
526 return client::JsonValueToCppValueHelper<int32 >(storage);
539 client::SetJsonValueFromCppValueHelper<int32 >(
540 value, MutableStorage(
"numThreadsPerWorker"));
549 return Storage().isMember(
"numWorkers");
556 MutableStorage()->removeMember(
"numWorkers");
564 const Json::Value& storage = Storage(
"numWorkers");
565 return client::JsonValueToCppValueHelper<int32 >(storage);
578 client::SetJsonValueFromCppValueHelper<int32 >(
579 value, MutableStorage(
"numWorkers"));
588 return Storage().isMember(
"onHostMaintenance");
595 MutableStorage()->removeMember(
"onHostMaintenance");
603 const Json::Value& v = Storage(
"onHostMaintenance");
604 if (v == Json::Value::null)
return StringPiece(
"");
605 return StringPiece(v.asCString());
617 *MutableStorage(
"onHostMaintenance") = value.data();
626 return Storage().isMember(
"packages");
633 MutableStorage()->removeMember(
"packages");
640 const client::JsonCppArray<Package > get_packages()
const;
650 client::JsonCppArray<Package > mutable_packages();
658 return Storage().isMember(
"poolArgs");
665 MutableStorage()->removeMember(
"poolArgs");
672 const client::JsonCppAssociativeArray<client::JsonCppData >
get_pool_args()
const {
673 const Json::Value& storage = Storage(
"poolArgs");
674 return client::JsonValueToCppValueHelper<client::JsonCppAssociativeArray<client::JsonCppData > >(storage);
686 Json::Value* storage = MutableStorage(
"poolArgs");
687 return client::JsonValueToMutableCppValueHelper<client::JsonCppAssociativeArray<client::JsonCppData > >(storage);
698 return Storage().isMember(
"sdkHarnessContainerImages");
705 MutableStorage()->removeMember(
"sdkHarnessContainerImages");
713 const client::JsonCppArray<SdkHarnessContainerImage > get_sdk_harness_container_images()
const;
726 client::JsonCppArray<SdkHarnessContainerImage > mutable_sdkHarnessContainerImages();
734 return Storage().isMember(
"subnetwork");
741 MutableStorage()->removeMember(
"subnetwork");
749 const Json::Value& v = Storage(
"subnetwork");
750 if (v == Json::Value::null)
return StringPiece(
"");
751 return StringPiece(v.asCString());
763 *MutableStorage(
"subnetwork") = value.data();
772 return Storage().isMember(
"taskrunnerSettings");
779 MutableStorage()->removeMember(
"taskrunnerSettings");
807 return Storage().isMember(
"teardownPolicy");
814 MutableStorage()->removeMember(
"teardownPolicy");
822 const Json::Value& v = Storage(
"teardownPolicy");
823 if (v == Json::Value::null)
return StringPiece(
"");
824 return StringPiece(v.asCString());
850 *MutableStorage(
"teardownPolicy") = value.data();
861 return Storage().isMember(
"workerHarnessContainerImage");
868 MutableStorage()->removeMember(
"workerHarnessContainerImage");
876 const Json::Value& v = Storage(
"workerHarnessContainerImage");
877 if (v == Json::Value::null)
return StringPiece(
"");
878 return StringPiece(v.asCString());
892 *MutableStorage(
"workerHarnessContainerImage") = value.data();
901 return Storage().isMember(
"zone");
908 MutableStorage()->removeMember(
"zone");
916 const Json::Value& v = Storage(
"zone");
917 if (v == Json::Value::null)
return StringPiece(
"");
918 return StringPiece(v.asCString());
930 *MutableStorage(
"zone") = value.data();
937 #endif // GOOGLE_DATAFLOW_API_WORKER_POOL_H_ void clear_machine_type()
Definition: worker_pool.h:402
void clear_num_threads_per_worker()
Definition: worker_pool.h:516
void set_num_workers(int32 value)
Definition: worker_pool.h:577
bool has_num_workers() const
Definition: worker_pool.h:548
void clear_disk_source_image()
Definition: worker_pool.h:252
bool has_kind() const
Definition: worker_pool.h:357
bool has_disk_type() const
Definition: worker_pool.h:282
bool has_on_host_maintenance() const
Definition: worker_pool.h:587
int32 get_num_workers() const
Definition: worker_pool.h:563
void clear_data_disks()
Definition: worker_pool.h:143
void clear_autoscaling_settings()
Definition: worker_pool.h:110
bool has_sdk_harness_container_images() const
Definition: worker_pool.h:697
void set_network(const StringPiece &value)
Definition: worker_pool.h:500
void clear_teardown_policy()
Definition: worker_pool.h:813
void clear_sdk_harness_container_images()
Definition: worker_pool.h:704
void clear_subnetwork()
Definition: worker_pool.h:740
bool has_zone() const
Definition: worker_pool.h:900
const StringPiece get_on_host_maintenance() const
Definition: worker_pool.h:602
void clear_on_host_maintenance()
Definition: worker_pool.h:594
void clear_kind()
Definition: worker_pool.h:364
int32 get_disk_size_gb() const
Definition: worker_pool.h:222
Definition: worker_pool.h:61
Definition: task_runner_settings.h:52
void clear_disk_size_gb()
Definition: worker_pool.h:214
bool has_num_threads_per_worker() const
Definition: worker_pool.h:509
const StringPiece get_worker_harness_container_image() const
Definition: worker_pool.h:875
void clear_pool_args()
Definition: worker_pool.h:664
const StringPiece get_disk_type() const
Definition: worker_pool.h:297
const client::JsonCppAssociativeArray< client::JsonCppData > get_pool_args() const
Definition: worker_pool.h:672
void clear_default_package_set()
Definition: worker_pool.h:175
bool has_machine_type() const
Definition: worker_pool.h:395
Definition: autoscaling_settings.h:51
bool has_autoscaling_settings() const
Definition: worker_pool.h:103
const StringPiece get_machine_type() const
Definition: worker_pool.h:410
bool has_disk_size_gb() const
Definition: worker_pool.h:207
void set_disk_type(const StringPiece &value)
Definition: worker_pool.h:311
int32 get_num_threads_per_worker() const
Definition: worker_pool.h:524
void set_disk_size_gb(int32 value)
Definition: worker_pool.h:235
bool has_worker_harness_container_image() const
Definition: worker_pool.h:860
const StringPiece get_network() const
Definition: worker_pool.h:486
void clear_packages()
Definition: worker_pool.h:632
const StringPiece get_subnetwork() const
Definition: worker_pool.h:748
void clear_num_workers()
Definition: worker_pool.h:555
client::JsonCppAssociativeArray< string > mutable_metadata()
Definition: worker_pool.h:461
const StringPiece get_disk_source_image() const
Definition: worker_pool.h:260
const client::JsonCppAssociativeArray< string > get_metadata() const
Definition: worker_pool.h:448
bool has_taskrunner_settings() const
Definition: worker_pool.h:771
void set_worker_harness_container_image(const StringPiece &value)
Definition: worker_pool.h:891
const StringPiece get_kind() const
Definition: worker_pool.h:372
bool has_teardown_policy() const
Definition: worker_pool.h:806
void set_num_threads_per_worker(int32 value)
Definition: worker_pool.h:538
void clear_taskrunner_settings()
Definition: worker_pool.h:778
void set_ip_configuration(const StringPiece &value)
Definition: worker_pool.h:348
void set_on_host_maintenance(const StringPiece &value)
Definition: worker_pool.h:616
bool has_default_package_set() const
Definition: worker_pool.h:168
Definition: approximate_progress.h:40
void set_kind(const StringPiece &value)
Definition: worker_pool.h:386
client::JsonCppAssociativeArray< client::JsonCppData > mutable_poolArgs()
Definition: worker_pool.h:685
bool has_metadata() const
Definition: worker_pool.h:433
bool has_pool_args() const
Definition: worker_pool.h:657
void clear_worker_harness_container_image()
Definition: worker_pool.h:867
bool has_subnetwork() const
Definition: worker_pool.h:733
void clear_network()
Definition: worker_pool.h:478
const StringPiece get_teardown_policy() const
Definition: worker_pool.h:821
void clear_ip_configuration()
Definition: worker_pool.h:327
void set_teardown_policy(const StringPiece &value)
Definition: worker_pool.h:849
void set_disk_source_image(const StringPiece &value)
Definition: worker_pool.h:273
void clear_zone()
Definition: worker_pool.h:907
const StringPiece get_ip_configuration() const
Definition: worker_pool.h:335
bool has_network() const
Definition: worker_pool.h:471
Definition: approximate_progress.cc:42
bool has_ip_configuration() const
Definition: worker_pool.h:320
bool has_data_disks() const
Definition: worker_pool.h:136
const StringPiece GetTypeName() const
Definition: worker_pool.h:94
void clear_disk_type()
Definition: worker_pool.h:289
const StringPiece get_default_package_set() const
Definition: worker_pool.h:183
void set_zone(const StringPiece &value)
Definition: worker_pool.h:929
bool has_disk_source_image() const
Definition: worker_pool.h:245
void set_default_package_set(const StringPiece &value)
Definition: worker_pool.h:198
bool has_packages() const
Definition: worker_pool.h:625
void clear_metadata()
Definition: worker_pool.h:440
void set_subnetwork(const StringPiece &value)
Definition: worker_pool.h:762
void set_machine_type(const StringPiece &value)
Definition: worker_pool.h:424
const StringPiece get_zone() const
Definition: worker_pool.h:915