Kea 2.2.0
cfg_consistency.h
Go to the documentation of this file.
1// Copyright (C) 2018-2019 Internet Systems Consortium, Inc. ("ISC")
2//
3// This Source Code Form is subject to the terms of the Mozilla Public
4// License, v. 2.0. If a copy of the MPL was not distributed with this
5// file, You can obtain one at http://mozilla.org/MPL/2.0/.
6
7#ifndef CFG_CONSISTENCY_H
8#define CFG_CONSISTENCY_H
9
10#include <cc/cfg_to_element.h>
11#include <cc/user_context.h>
12
13namespace isc {
14namespace dhcp {
15
16
20
21 public:
22
25 LEASE_CHECK_NONE, // Skip sanity checks
26 LEASE_CHECK_WARN, // Print a warning if subnet-id is incorrect.
27 LEASE_CHECK_FIX, // If subnet-id is incorrect, try to fix it (try to pick
28 // appropriate subnet, but if it fails, keep the lease,
29 // despite its broken subnet-id.
30 LEASE_CHECK_FIX_DEL, // If subnet-id is incorrect, try to fix it (try to pick
31 // appropriate subnet. If it fails, delete broken lease.
32 LEASE_CHECK_DEL // Delete leases with invalid subnet-id.
33 };
34
37 : lease_sanity_check_(LEASE_CHECK_NONE) {
38
39 }
40
44 virtual isc::data::ElementPtr toElement() const;
45
50 lease_sanity_check_ = l;
51 }
52
57 return (lease_sanity_check_);
58 }
59
63 static std::string sanityCheckToText(LeaseSanity check_type);
64
65 private:
66
68 LeaseSanity lease_sanity_check_;
69};
70
72typedef boost::shared_ptr<CfgConsistency> CfgConsistencyPtr;
73
74}; // namespace isc::dhcp
75}; // namespace isc
76
77#endif /* CFG_CONSISTENCY_H */
Parameters for various consistency checks.
virtual isc::data::ElementPtr toElement() const
Returns JSON representation.
void setLeaseSanityCheck(LeaseSanity l)
Sets specific sanity checks mode for leases.
LeaseSanity
Values for subnet-id sanity checks done for leases.
LeaseSanity getLeaseSanityCheck() const
Returns specific sanity checks mode for leases.
static std::string sanityCheckToText(LeaseSanity check_type)
Converts sanity check value to printable text.
boost::shared_ptr< Element > ElementPtr
Definition: data.h:24
boost::shared_ptr< CfgConsistency > CfgConsistencyPtr
Type used to for pointing to CfgConsistency structure.
Defines the logger used by the top-level component of kea-lfc.
Abstract class for configuration Cfg_* classes.
Base class for user context.
Definition: user_context.h:22