30 #ifndef GOOGLE_CONTAINER_API_NODE_CONFIG_H_ 31 #define GOOGLE_CONTAINER_API_NODE_CONFIG_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/container_api/accelerator_config.h" 40 #include "google/container_api/node_taint.h" 41 #include "google/container_api/reservation_affinity.h" 42 #include "google/container_api/sandbox_config.h" 43 #include "google/container_api/shielded_instance_config.h" 44 #include "google/container_api/workload_metadata_config.h" 72 explicit NodeConfig(
const Json::Value& storage);
92 return StringPiece(
"google_container_api::NodeConfig");
101 return Storage().isMember(
"accelerators");
108 MutableStorage()->removeMember(
"accelerators");
115 const client::JsonCppArray<AcceleratorConfig > get_accelerators()
const;
127 client::JsonCppArray<AcceleratorConfig > mutable_accelerators();
135 return Storage().isMember(
"diskSizeGb");
142 MutableStorage()->removeMember(
"diskSizeGb");
150 const Json::Value& storage = Storage(
"diskSizeGb");
151 return client::JsonValueToCppValueHelper<int32 >(storage);
165 client::SetJsonValueFromCppValueHelper<int32 >(
166 value, MutableStorage(
"diskSizeGb"));
175 return Storage().isMember(
"diskType");
182 MutableStorage()->removeMember(
"diskType");
190 const Json::Value& v = Storage(
"diskType");
191 if (v == Json::Value::null)
return StringPiece(
"");
192 return StringPiece(v.asCString());
205 *MutableStorage(
"diskType") = value.data();
214 return Storage().isMember(
"imageType");
221 MutableStorage()->removeMember(
"imageType");
229 const Json::Value& v = Storage(
"imageType");
230 if (v == Json::Value::null)
return StringPiece(
"");
231 return StringPiece(v.asCString());
243 *MutableStorage(
"imageType") = value.data();
252 return Storage().isMember(
"labels");
259 MutableStorage()->removeMember(
"labels");
266 const client::JsonCppAssociativeArray<string >
get_labels()
const {
267 const Json::Value& storage = Storage(
"labels");
268 return client::JsonValueToCppValueHelper<client::JsonCppAssociativeArray<string > >(storage);
286 Json::Value* storage = MutableStorage(
"labels");
287 return client::JsonValueToMutableCppValueHelper<client::JsonCppAssociativeArray<string > >(storage);
296 return Storage().isMember(
"localSsdCount");
303 MutableStorage()->removeMember(
"localSsdCount");
311 const Json::Value& storage = Storage(
"localSsdCount");
312 return client::JsonValueToCppValueHelper<int32 >(storage);
328 client::SetJsonValueFromCppValueHelper<int32 >(
329 value, MutableStorage(
"localSsdCount"));
338 return Storage().isMember(
"machineType");
345 MutableStorage()->removeMember(
"machineType");
353 const Json::Value& v = Storage(
"machineType");
354 if (v == Json::Value::null)
return StringPiece(
"");
355 return StringPiece(v.asCString());
376 *MutableStorage(
"machineType") = value.data();
385 return Storage().isMember(
"metadata");
392 MutableStorage()->removeMember(
"metadata");
400 const Json::Value& storage = Storage(
"metadata");
401 return client::JsonValueToCppValueHelper<client::JsonCppAssociativeArray<string > >(storage);
475 Json::Value* storage = MutableStorage(
"metadata");
476 return client::JsonValueToMutableCppValueHelper<client::JsonCppAssociativeArray<string > >(storage);
485 return Storage().isMember(
"minCpuPlatform");
492 MutableStorage()->removeMember(
"minCpuPlatform");
500 const Json::Value& v = Storage(
"minCpuPlatform");
501 if (v == Json::Value::null)
return StringPiece(
"");
502 return StringPiece(v.asCString());
524 *MutableStorage(
"minCpuPlatform") = value.data();
533 return Storage().isMember(
"oauthScopes");
540 MutableStorage()->removeMember(
"oauthScopes");
548 const Json::Value& storage = Storage(
"oauthScopes");
549 return client::JsonValueToCppValueHelper<client::JsonCppArray<string > >(storage);
574 Json::Value* storage = MutableStorage(
"oauthScopes");
575 return client::JsonValueToMutableCppValueHelper<client::JsonCppArray<string > >(storage);
584 return Storage().isMember(
"preemptible");
591 MutableStorage()->removeMember(
"preemptible");
599 const Json::Value& storage = Storage(
"preemptible");
600 return client::JsonValueToCppValueHelper<bool >(storage);
613 client::SetJsonValueFromCppValueHelper<bool >(
614 value, MutableStorage(
"preemptible"));
623 return Storage().isMember(
"reservationAffinity");
630 MutableStorage()->removeMember(
"reservationAffinity");
659 return Storage().isMember(
"sandboxConfig");
666 MutableStorage()->removeMember(
"sandboxConfig");
691 return Storage().isMember(
"serviceAccount");
698 MutableStorage()->removeMember(
"serviceAccount");
706 const Json::Value& v = Storage(
"serviceAccount");
707 if (v == Json::Value::null)
return StringPiece(
"");
708 return StringPiece(v.asCString());
721 *MutableStorage(
"serviceAccount") = value.data();
731 return Storage().isMember(
"shieldedInstanceConfig");
738 MutableStorage()->removeMember(
"shieldedInstanceConfig");
764 return Storage().isMember(
"tags");
771 MutableStorage()->removeMember(
"tags");
778 const client::JsonCppArray<string >
get_tags()
const {
779 const Json::Value& storage = Storage(
"tags");
780 return client::JsonValueToCppValueHelper<client::JsonCppArray<string > >(storage);
794 Json::Value* storage = MutableStorage(
"tags");
795 return client::JsonValueToMutableCppValueHelper<client::JsonCppArray<string > >(storage);
804 return Storage().isMember(
"taints");
811 MutableStorage()->removeMember(
"taints");
818 const client::JsonCppArray<NodeTaint > get_taints()
const;
830 client::JsonCppArray<NodeTaint > mutable_taints();
839 return Storage().isMember(
"workloadMetadataConfig");
846 MutableStorage()->removeMember(
"workloadMetadataConfig");
870 #endif // GOOGLE_CONTAINER_API_NODE_CONFIG_H_ void clear_reservation_affinity()
Definition: node_config.h:629
void clear_preemptible()
Definition: node_config.h:590
int32 get_local_ssd_count() const
Definition: node_config.h:310
bool has_min_cpu_platform() const
Definition: node_config.h:484
client::JsonCppArray< string > mutable_tags()
Definition: node_config.h:793
bool has_service_account() const
Definition: node_config.h:690
void clear_workload_metadata_config()
Definition: node_config.h:845
void clear_image_type()
Definition: node_config.h:220
int32 get_disk_size_gb() const
Definition: node_config.h:149
const StringPiece get_service_account() const
Definition: node_config.h:705
Definition: reservation_affinity.h:52
void set_disk_size_gb(int32 value)
Definition: node_config.h:164
const client::JsonCppArray< string > get_oauth_scopes() const
Definition: node_config.h:547
bool has_disk_size_gb() const
Definition: node_config.h:134
void set_min_cpu_platform(const StringPiece &value)
Definition: node_config.h:523
void clear_min_cpu_platform()
Definition: node_config.h:491
void set_preemptible(bool value)
Definition: node_config.h:612
void clear_machine_type()
Definition: node_config.h:344
void clear_service_account()
Definition: node_config.h:697
void set_machine_type(const StringPiece &value)
Definition: node_config.h:375
void clear_shielded_instance_config()
Definition: node_config.h:737
bool get_preemptible() const
Definition: node_config.h:598
client::JsonCppArray< string > mutable_oauthScopes()
Definition: node_config.h:573
bool has_labels() const
Definition: node_config.h:251
bool has_image_type() const
Definition: node_config.h:213
void clear_taints()
Definition: node_config.h:810
bool has_machine_type() const
Definition: node_config.h:337
bool has_tags() const
Definition: node_config.h:763
bool has_taints() const
Definition: node_config.h:803
void set_image_type(const StringPiece &value)
Definition: node_config.h:242
void clear_disk_size_gb()
Definition: node_config.h:141
void clear_local_ssd_count()
Definition: node_config.h:302
bool has_sandbox_config() const
Definition: node_config.h:658
const StringPiece get_image_type() const
Definition: node_config.h:228
const StringPiece GetTypeName() const
Definition: node_config.h:91
const client::JsonCppAssociativeArray< string > get_labels() const
Definition: node_config.h:266
const StringPiece get_disk_type() const
Definition: node_config.h:189
Definition: accelerator_config.h:39
const StringPiece get_machine_type() const
Definition: node_config.h:352
const client::JsonCppAssociativeArray< string > get_metadata() const
Definition: node_config.h:399
Definition: node_config.h:58
bool has_local_ssd_count() const
Definition: node_config.h:295
void set_service_account(const StringPiece &value)
Definition: node_config.h:720
void clear_sandbox_config()
Definition: node_config.h:665
Definition: accelerator_config.cc:41
bool has_disk_type() const
Definition: node_config.h:174
client::JsonCppAssociativeArray< string > mutable_labels()
Definition: node_config.h:285
bool has_preemptible() const
Definition: node_config.h:583
const StringPiece get_min_cpu_platform() const
Definition: node_config.h:499
bool has_workload_metadata_config() const
Definition: node_config.h:838
void set_disk_type(const StringPiece &value)
Definition: node_config.h:204
bool has_metadata() const
Definition: node_config.h:384
void clear_metadata()
Definition: node_config.h:391
bool has_accelerators() const
Definition: node_config.h:100
Definition: sandbox_config.h:50
bool has_shielded_instance_config() const
Definition: node_config.h:730
void clear_disk_type()
Definition: node_config.h:181
bool has_oauth_scopes() const
Definition: node_config.h:532
const client::JsonCppArray< string > get_tags() const
Definition: node_config.h:778
void clear_oauth_scopes()
Definition: node_config.h:539
bool has_reservation_affinity() const
Definition: node_config.h:622
void clear_accelerators()
Definition: node_config.h:107
void set_local_ssd_count(int32 value)
Definition: node_config.h:327
void clear_labels()
Definition: node_config.h:258
Definition: shielded_instance_config.h:49
client::JsonCppAssociativeArray< string > mutable_metadata()
Definition: node_config.h:474
void clear_tags()
Definition: node_config.h:770