compute  v1
instance_properties.h
1 // Copyright 2010 Google Inc.
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License"); you may not
4 // use this file except in compliance with the License. You may obtain a copy of
5 // the License at
6 //
7 // http://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
11 // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12 // License for the specific language governing permissions and limitations under
13 // the License.
14 
15 // This code was generated by google-apis-code-generator 1.5.1
16 // Build date: 2018-10-08 17:45:39 UTC
17 // on: 2019-05-15, 03:08:54 UTC
18 // C++ generator version: 0.1.4
19 
20 // ----------------------------------------------------------------------------
21 // NOTE: This file is generated from Google APIs Discovery Service.
22 // Service:
23 // Compute Engine API (compute/v1)
24 // Generated from:
25 // Version: v1
26 // Revision: 214
27 // Generated by:
28 // Tool: google-apis-code-generator 1.5.1
29 // C++: 0.1.4
30 #ifndef GOOGLE_COMPUTE_API_INSTANCE_PROPERTIES_H_
31 #define GOOGLE_COMPUTE_API_INSTANCE_PROPERTIES_H_
32 
33 #include <string>
34 #include "googleapis/base/macros.h"
35 #include "googleapis/client/data/jsoncpp_data.h"
36 #include "googleapis/strings/stringpiece.h"
37 
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"
46 
47 namespace Json {
48 class Value;
49 } // namespace Json
50 
51 namespace google_compute_api {
52 using namespace googleapis;
53 
59 class InstanceProperties : public client::JsonCppData {
60  public:
66  static InstanceProperties* New();
67 
73  explicit InstanceProperties(const Json::Value& storage);
74 
80  explicit InstanceProperties(Json::Value* storage);
81 
85  virtual ~InstanceProperties();
86 
92  const StringPiece GetTypeName() const {
93  return StringPiece("google_compute_api::InstanceProperties");
94  }
95 
101  bool has_can_ip_forward() const {
102  return Storage().isMember("canIpForward");
103  }
104 
109  MutableStorage()->removeMember("canIpForward");
110  }
111 
112 
116  bool get_can_ip_forward() const {
117  const Json::Value& storage = Storage("canIpForward");
118  return client::JsonValueToCppValueHelper<bool >(storage);
119  }
120 
133  void set_can_ip_forward(bool value) {
134  client::SetJsonValueFromCppValueHelper<bool >(
135  value, MutableStorage("canIpForward"));
136  }
137 
143  bool has_description() const {
144  return Storage().isMember("description");
145  }
146 
151  MutableStorage()->removeMember("description");
152  }
153 
154 
158  const StringPiece get_description() const {
159  const Json::Value& v = Storage("description");
160  if (v == Json::Value::null) return StringPiece("");
161  return StringPiece(v.asCString());
162  }
163 
172  void set_description(const StringPiece& value) {
173  *MutableStorage("description") = value.data();
174  }
175 
181  bool has_disks() const {
182  return Storage().isMember("disks");
183  }
184 
188  void clear_disks() {
189  MutableStorage()->removeMember("disks");
190  }
191 
192 
196  const client::JsonCppArray<AttachedDisk > get_disks() const;
197 
206  client::JsonCppArray<AttachedDisk > mutable_disks();
207 
213  bool has_guest_accelerators() const {
214  return Storage().isMember("guestAccelerators");
215  }
216 
221  MutableStorage()->removeMember("guestAccelerators");
222  }
223 
224 
229  const client::JsonCppArray<AcceleratorConfig > get_guest_accelerators() const;
230 
240  client::JsonCppArray<AcceleratorConfig > mutable_guestAccelerators();
241 
247  bool has_labels() const {
248  return Storage().isMember("labels");
249  }
250 
254  void clear_labels() {
255  MutableStorage()->removeMember("labels");
256  }
257 
258 
262  const client::JsonCppAssociativeArray<string > get_labels() const {
263  const Json::Value& storage = Storage("labels");
264  return client::JsonValueToCppValueHelper<client::JsonCppAssociativeArray<string > >(storage);
265  }
266 
274  client::JsonCppAssociativeArray<string > mutable_labels() {
275  Json::Value* storage = MutableStorage("labels");
276  return client::JsonValueToMutableCppValueHelper<client::JsonCppAssociativeArray<string > >(storage);
277  }
278 
284  bool has_machine_type() const {
285  return Storage().isMember("machineType");
286  }
287 
292  MutableStorage()->removeMember("machineType");
293  }
294 
295 
299  const StringPiece get_machine_type() const {
300  const Json::Value& v = Storage("machineType");
301  if (v == Json::Value::null) return StringPiece("");
302  return StringPiece(v.asCString());
303  }
304 
312  void set_machine_type(const StringPiece& value) {
313  *MutableStorage("machineType") = value.data();
314  }
315 
321  bool has_metadata() const {
322  return Storage().isMember("metadata");
323  }
324 
328  void clear_metadata() {
329  MutableStorage()->removeMember("metadata");
330  }
331 
332 
336  const Metadata get_metadata() const;
337 
348  Metadata mutable_metadata();
349 
355  bool has_min_cpu_platform() const {
356  return Storage().isMember("minCpuPlatform");
357  }
358 
363  MutableStorage()->removeMember("minCpuPlatform");
364  }
365 
366 
370  const StringPiece get_min_cpu_platform() const {
371  const Json::Value& v = Storage("minCpuPlatform");
372  if (v == Json::Value::null) return StringPiece("");
373  return StringPiece(v.asCString());
374  }
375 
387  void set_min_cpu_platform(const StringPiece& value) {
388  *MutableStorage("minCpuPlatform") = value.data();
389  }
390 
396  bool has_network_interfaces() const {
397  return Storage().isMember("networkInterfaces");
398  }
399 
404  MutableStorage()->removeMember("networkInterfaces");
405  }
406 
407 
412  const client::JsonCppArray<NetworkInterface > get_network_interfaces() const;
413 
422  client::JsonCppArray<NetworkInterface > mutable_networkInterfaces();
423 
429  bool has_scheduling() const {
430  return Storage().isMember("scheduling");
431  }
432 
437  MutableStorage()->removeMember("scheduling");
438  }
439 
440 
444  const Scheduling get_scheduling() const;
445 
455  Scheduling mutable_scheduling();
456 
462  bool has_service_accounts() const {
463  return Storage().isMember("serviceAccounts");
464  }
465 
470  MutableStorage()->removeMember("serviceAccounts");
471  }
472 
473 
478  const client::JsonCppArray<ServiceAccount > get_service_accounts() const;
479 
491  client::JsonCppArray<ServiceAccount > mutable_serviceAccounts();
492 
500  return Storage().isMember("shieldedInstanceConfig");
501  }
502 
507  MutableStorage()->removeMember("shieldedInstanceConfig");
508  }
509 
510 
515  const ShieldedInstanceConfig get_shielded_instance_config() const;
516 
522  ShieldedInstanceConfig mutable_shieldedInstanceConfig();
523 
529  bool has_tags() const {
530  return Storage().isMember("tags");
531  }
532 
536  void clear_tags() {
537  MutableStorage()->removeMember("tags");
538  }
539 
540 
544  const Tags get_tags() const;
545 
556  Tags mutable_tags();
557 
558  private:
559  void operator=(const InstanceProperties&);
560 }; // InstanceProperties
561 } // namespace google_compute_api
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
Definition: metadata.h:50
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
Definition: tags.h:50
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