30 #ifndef GOOGLE_COMPUTE_API_INSTANCE_PROPERTIES_H_ 31 #define GOOGLE_COMPUTE_API_INSTANCE_PROPERTIES_H_ 34 #include "googleapis/base/macros.h" 35 #include "googleapis/client/data/jsoncpp_data.h" 36 #include "googleapis/strings/stringpiece.h" 38 #include "google/compute_api/accelerator_config.h" 39 #include "google/compute_api/attached_disk.h" 40 #include "google/compute_api/metadata.h" 41 #include "google/compute_api/network_interface.h" 42 #include "google/compute_api/scheduling.h" 43 #include "google/compute_api/service_account.h" 44 #include "google/compute_api/shielded_instance_config.h" 45 #include "google/compute_api/tags.h" 93 return StringPiece(
"google_compute_api::InstanceProperties");
102 return Storage().isMember(
"canIpForward");
109 MutableStorage()->removeMember(
"canIpForward");
117 const Json::Value& storage = Storage(
"canIpForward");
118 return client::JsonValueToCppValueHelper<bool >(storage);
134 client::SetJsonValueFromCppValueHelper<bool >(
135 value, MutableStorage(
"canIpForward"));
144 return Storage().isMember(
"description");
151 MutableStorage()->removeMember(
"description");
159 const Json::Value& v = Storage(
"description");
160 if (v == Json::Value::null)
return StringPiece(
"");
161 return StringPiece(v.asCString());
173 *MutableStorage(
"description") = value.data();
182 return Storage().isMember(
"disks");
189 MutableStorage()->removeMember(
"disks");
196 const client::JsonCppArray<AttachedDisk > get_disks()
const;
206 client::JsonCppArray<AttachedDisk > mutable_disks();
214 return Storage().isMember(
"guestAccelerators");
221 MutableStorage()->removeMember(
"guestAccelerators");
229 const client::JsonCppArray<AcceleratorConfig > get_guest_accelerators()
const;
240 client::JsonCppArray<AcceleratorConfig > mutable_guestAccelerators();
248 return Storage().isMember(
"labels");
255 MutableStorage()->removeMember(
"labels");
262 const client::JsonCppAssociativeArray<string >
get_labels()
const {
263 const Json::Value& storage = Storage(
"labels");
264 return client::JsonValueToCppValueHelper<client::JsonCppAssociativeArray<string > >(storage);
275 Json::Value* storage = MutableStorage(
"labels");
276 return client::JsonValueToMutableCppValueHelper<client::JsonCppAssociativeArray<string > >(storage);
285 return Storage().isMember(
"machineType");
292 MutableStorage()->removeMember(
"machineType");
300 const Json::Value& v = Storage(
"machineType");
301 if (v == Json::Value::null)
return StringPiece(
"");
302 return StringPiece(v.asCString());
313 *MutableStorage(
"machineType") = value.data();
322 return Storage().isMember(
"metadata");
329 MutableStorage()->removeMember(
"metadata");
336 const Metadata get_metadata()
const;
356 return Storage().isMember(
"minCpuPlatform");
363 MutableStorage()->removeMember(
"minCpuPlatform");
371 const Json::Value& v = Storage(
"minCpuPlatform");
372 if (v == Json::Value::null)
return StringPiece(
"");
373 return StringPiece(v.asCString());
388 *MutableStorage(
"minCpuPlatform") = value.data();
397 return Storage().isMember(
"networkInterfaces");
404 MutableStorage()->removeMember(
"networkInterfaces");
412 const client::JsonCppArray<NetworkInterface > get_network_interfaces()
const;
422 client::JsonCppArray<NetworkInterface > mutable_networkInterfaces();
430 return Storage().isMember(
"scheduling");
437 MutableStorage()->removeMember(
"scheduling");
463 return Storage().isMember(
"serviceAccounts");
470 MutableStorage()->removeMember(
"serviceAccounts");
478 const client::JsonCppArray<ServiceAccount > get_service_accounts()
const;
491 client::JsonCppArray<ServiceAccount > mutable_serviceAccounts();
500 return Storage().isMember(
"shieldedInstanceConfig");
507 MutableStorage()->removeMember(
"shieldedInstanceConfig");
530 return Storage().isMember(
"tags");
537 MutableStorage()->removeMember(
"tags");
544 const Tags get_tags()
const;
562 #endif // GOOGLE_COMPUTE_API_INSTANCE_PROPERTIES_H_ bool has_min_cpu_platform() const
Definition: instance_properties.h:355
void clear_min_cpu_platform()
Definition: instance_properties.h:362
void set_min_cpu_platform(const StringPiece &value)
Definition: instance_properties.h:387
bool has_scheduling() const
Definition: instance_properties.h:429
bool has_labels() const
Definition: instance_properties.h:247
bool has_description() const
Definition: instance_properties.h:143
bool has_disks() const
Definition: instance_properties.h:181
Definition: scheduling.h:52
Definition: instance_properties.h:59
client::JsonCppAssociativeArray< string > mutable_labels()
Definition: instance_properties.h:274
void set_description(const StringPiece &value)
Definition: instance_properties.h:172
bool has_service_accounts() const
Definition: instance_properties.h:462
bool has_tags() const
Definition: instance_properties.h:529
void clear_disks()
Definition: instance_properties.h:188
const StringPiece get_description() const
Definition: instance_properties.h:158
void clear_scheduling()
Definition: instance_properties.h:436
const StringPiece get_min_cpu_platform() const
Definition: instance_properties.h:370
bool has_metadata() const
Definition: instance_properties.h:321
void clear_network_interfaces()
Definition: instance_properties.h:403
void set_machine_type(const StringPiece &value)
Definition: instance_properties.h:312
bool has_network_interfaces() const
Definition: instance_properties.h:396
bool has_shielded_instance_config() const
Definition: instance_properties.h:499
void clear_service_accounts()
Definition: instance_properties.h:469
void clear_labels()
Definition: instance_properties.h:254
Definition: accelerator_config.h:39
void clear_can_ip_forward()
Definition: instance_properties.h:108
bool has_guest_accelerators() const
Definition: instance_properties.h:213
const StringPiece GetTypeName() const
Definition: instance_properties.h:92
void clear_description()
Definition: instance_properties.h:150
const client::JsonCppAssociativeArray< string > get_labels() const
Definition: instance_properties.h:262
void clear_guest_accelerators()
Definition: instance_properties.h:220
bool get_can_ip_forward() const
Definition: instance_properties.h:116
Definition: accelerator_config.cc:41
void clear_shielded_instance_config()
Definition: instance_properties.h:506
bool has_machine_type() const
Definition: instance_properties.h:284
void clear_metadata()
Definition: instance_properties.h:328
const StringPiece get_machine_type() const
Definition: instance_properties.h:299
void clear_machine_type()
Definition: instance_properties.h:291
bool has_can_ip_forward() const
Definition: instance_properties.h:101
Definition: shielded_instance_config.h:49
void clear_tags()
Definition: instance_properties.h:536
void set_can_ip_forward(bool value)
Definition: instance_properties.h:133