compute  v1
autoscaling_policy_custom_metric_utilization.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_AUTOSCALING_POLICY_CUSTOM_METRIC_UTILIZATION_H_
31 #define GOOGLE_COMPUTE_API_AUTOSCALING_POLICY_CUSTOM_METRIC_UTILIZATION_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 namespace Json {
39 class Value;
40 } // namespace Json
41 
42 namespace google_compute_api {
43 using namespace googleapis;
44 
50 class AutoscalingPolicyCustomMetricUtilization : public client::JsonCppData {
51  public:
58 
64  explicit AutoscalingPolicyCustomMetricUtilization(const Json::Value& storage);
65 
71  explicit AutoscalingPolicyCustomMetricUtilization(Json::Value* storage);
72 
77 
84  const StringPiece GetTypeName() const {
85  return StringPiece("google_compute_api::AutoscalingPolicyCustomMetricUtilization");
86  }
87 
93  bool has_metric() const {
94  return Storage().isMember("metric");
95  }
96 
100  void clear_metric() {
101  MutableStorage()->removeMember("metric");
102  }
103 
104 
108  const StringPiece get_metric() const {
109  const Json::Value& v = Storage("metric");
110  if (v == Json::Value::null) return StringPiece("");
111  return StringPiece(v.asCString());
112  }
113 
124  void set_metric(const StringPiece& value) {
125  *MutableStorage("metric") = value.data();
126  }
127 
133  bool has_utilization_target() const {
134  return Storage().isMember("utilizationTarget");
135  }
136 
141  MutableStorage()->removeMember("utilizationTarget");
142  }
143 
144 
148  double get_utilization_target() const {
149  const Json::Value& storage = Storage("utilizationTarget");
150  return client::JsonValueToCppValueHelper<double >(storage);
151  }
152 
166  void set_utilization_target(double value) {
167  client::SetJsonValueFromCppValueHelper<double >(
168  value, MutableStorage("utilizationTarget"));
169  }
170 
177  return Storage().isMember("utilizationTargetType");
178  }
179 
184  MutableStorage()->removeMember("utilizationTargetType");
185  }
186 
187 
191  const StringPiece get_utilization_target_type() const {
192  const Json::Value& v = Storage("utilizationTargetType");
193  if (v == Json::Value::null) return StringPiece("");
194  return StringPiece(v.asCString());
195  }
196 
205  void set_utilization_target_type(const StringPiece& value) {
206  *MutableStorage("utilizationTargetType") = value.data();
207  }
208 
209  private:
210  void operator=(const AutoscalingPolicyCustomMetricUtilization&);
211 }; // AutoscalingPolicyCustomMetricUtilization
212 } // namespace google_compute_api
213 #endif // GOOGLE_COMPUTE_API_AUTOSCALING_POLICY_CUSTOM_METRIC_UTILIZATION_H_
bool has_utilization_target() const
Definition: autoscaling_policy_custom_metric_utilization.h:133
const StringPiece get_metric() const
Definition: autoscaling_policy_custom_metric_utilization.h:108
const StringPiece get_utilization_target_type() const
Definition: autoscaling_policy_custom_metric_utilization.h:191
void clear_utilization_target()
Definition: autoscaling_policy_custom_metric_utilization.h:140
void clear_metric()
Definition: autoscaling_policy_custom_metric_utilization.h:100
Definition: autoscaling_policy_custom_metric_utilization.h:50
const StringPiece GetTypeName() const
Definition: autoscaling_policy_custom_metric_utilization.h:84
void set_utilization_target_type(const StringPiece &value)
Definition: autoscaling_policy_custom_metric_utilization.h:205
Definition: accelerator_config.h:39
bool has_utilization_target_type() const
Definition: autoscaling_policy_custom_metric_utilization.h:176
void clear_utilization_target_type()
Definition: autoscaling_policy_custom_metric_utilization.h:183
Definition: accelerator_config.cc:41
bool has_metric() const
Definition: autoscaling_policy_custom_metric_utilization.h:93
void set_utilization_target(double value)
Definition: autoscaling_policy_custom_metric_utilization.h:166
void set_metric(const StringPiece &value)
Definition: autoscaling_policy_custom_metric_utilization.h:124
double get_utilization_target() const
Definition: autoscaling_policy_custom_metric_utilization.h:148