cloudbilling  v1
audit_log_config.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: 2020-03-24, 00:22:17 UTC
18 // C++ generator version: 0.1.4
19 
20 // ----------------------------------------------------------------------------
21 // NOTE: This file is generated from Google APIs Discovery Service.
22 // Service:
23 // Cloud Billing API (cloudbilling/v1)
24 // Generated from:
25 // Version: v1
26 // Revision: 56
27 // Generated by:
28 // Tool: google-apis-code-generator 1.5.1
29 // C++: 0.1.4
30 #ifndef GOOGLE_CLOUDBILLING_API_AUDIT_LOG_CONFIG_H_
31 #define GOOGLE_CLOUDBILLING_API_AUDIT_LOG_CONFIG_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_cloudbilling_api {
43 using namespace googleapis;
44 
68 class AuditLogConfig : public client::JsonCppData {
69  public:
75  static AuditLogConfig* New();
76 
82  explicit AuditLogConfig(const Json::Value& storage);
83 
89  explicit AuditLogConfig(Json::Value* storage);
90 
94  virtual ~AuditLogConfig();
95 
101  const StringPiece GetTypeName() const {
102  return StringPiece("google_cloudbilling_api::AuditLogConfig");
103  }
104 
110  bool has_exempted_members() const {
111  return Storage().isMember("exemptedMembers");
112  }
113 
118  MutableStorage()->removeMember("exemptedMembers");
119  }
120 
121 
126  const client::JsonCppArray<string > get_exempted_members() const {
127  const Json::Value& storage = Storage("exemptedMembers");
128  return client::JsonValueToCppValueHelper<client::JsonCppArray<string > >(storage);
129  }
130 
141  client::JsonCppArray<string > mutable_exemptedMembers() {
142  Json::Value* storage = MutableStorage("exemptedMembers");
143  return client::JsonValueToMutableCppValueHelper<client::JsonCppArray<string > >(storage);
144  }
145 
151  bool has_log_type() const {
152  return Storage().isMember("logType");
153  }
154 
158  void clear_log_type() {
159  MutableStorage()->removeMember("logType");
160  }
161 
162 
166  const StringPiece get_log_type() const {
167  const Json::Value& v = Storage("logType");
168  if (v == Json::Value::null) return StringPiece("");
169  return StringPiece(v.asCString());
170  }
171 
179  void set_log_type(const StringPiece& value) {
180  *MutableStorage("logType") = value.data();
181  }
182 
183  private:
184  void operator=(const AuditLogConfig&);
185 }; // AuditLogConfig
186 } // namespace google_cloudbilling_api
187 #endif // GOOGLE_CLOUDBILLING_API_AUDIT_LOG_CONFIG_H_
const StringPiece GetTypeName() const
Definition: audit_log_config.h:101
void clear_log_type()
Definition: audit_log_config.h:158
const client::JsonCppArray< string > get_exempted_members() const
Definition: audit_log_config.h:126
client::JsonCppArray< string > mutable_exemptedMembers()
Definition: audit_log_config.h:141
bool has_log_type() const
Definition: audit_log_config.h:151
Definition: aggregation_info.h:39
Definition: audit_log_config.h:68
void set_log_type(const StringPiece &value)
Definition: audit_log_config.h:179
void clear_exempted_members()
Definition: audit_log_config.h:117
Definition: aggregation_info.cc:42
bool has_exempted_members() const
Definition: audit_log_config.h:110
const StringPiece get_log_type() const
Definition: audit_log_config.h:166