summaryrefslogtreecommitdiff
path: root/cloudinit/sources/helpers/vmware/imc/ipv4_mode.py
blob: f290a36f0eb8b4f9fc837c69a9936fb515c4d7c0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# Copyright (C) 2015 Canonical Ltd.
# Copyright (C) 2015 VMware Inc.
#
# Author: Sankar Tanguturi <stanguturi@vmware.com>
#
# This file is part of cloud-init. See LICENSE file for license information.


class Ipv4ModeEnum:
    """
    The IPv4 configuration mode which directly represents the user's goal.

    This mode effectively acts as a contract of the in-guest customization
    engine. It must be set based on what the user has requested and should
    not be changed by those layers. It's up to the in-guest engine to
    interpret and materialize the user's request.
    """

    # The legacy mode which only allows dhcp/static based on whether IPv4
    # addresses list is empty or not
    IPV4_MODE_BACKWARDS_COMPATIBLE = "BACKWARDS_COMPATIBLE"

    # IPv4 must use static address. Reserved for future use
    IPV4_MODE_STATIC = "STATIC"

    # IPv4 must use DHCPv4. Reserved for future use
    IPV4_MODE_DHCP = "DHCP"

    # IPv4 must be disabled
    IPV4_MODE_DISABLED = "DISABLED"

    # IPv4 settings should be left untouched. Reserved for future use
    IPV4_MODE_AS_IS = "AS_IS"


# vi: ts=4 expandtab