1# coding: utf-8
2# Copyright (c) 2016, 2021, Oracle and/or its affiliates.  All rights reserved.
3# This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
4
5
6from oci.util import formatted_flat_dict, NONE_SENTINEL, value_allowed_none_or_none_sentinel  # noqa: F401
7from oci.decorators import init_model_state_from_kwargs
8
9
10@init_model_state_from_kwargs
11class NetworkSourcesVirtualSourceList(object):
12    """
13    NetworkSourcesVirtualSourceList model.
14    """
15
16    def __init__(self, **kwargs):
17        """
18        Initializes a new NetworkSourcesVirtualSourceList object with values from keyword arguments.
19        The following keyword arguments are supported (corresponding to the getters/setters of this class):
20
21        :param vcn_id:
22            The value to assign to the vcn_id property of this NetworkSourcesVirtualSourceList.
23        :type vcn_id: str
24
25        :param ip_ranges:
26            The value to assign to the ip_ranges property of this NetworkSourcesVirtualSourceList.
27        :type ip_ranges: list[str]
28
29        """
30        self.swagger_types = {
31            'vcn_id': 'str',
32            'ip_ranges': 'list[str]'
33        }
34
35        self.attribute_map = {
36            'vcn_id': 'vcnId',
37            'ip_ranges': 'ipRanges'
38        }
39
40        self._vcn_id = None
41        self._ip_ranges = None
42
43    @property
44    def vcn_id(self):
45        """
46        Gets the vcn_id of this NetworkSourcesVirtualSourceList.
47
48        :return: The vcn_id of this NetworkSourcesVirtualSourceList.
49        :rtype: str
50        """
51        return self._vcn_id
52
53    @vcn_id.setter
54    def vcn_id(self, vcn_id):
55        """
56        Sets the vcn_id of this NetworkSourcesVirtualSourceList.
57
58        :param vcn_id: The vcn_id of this NetworkSourcesVirtualSourceList.
59        :type: str
60        """
61        self._vcn_id = vcn_id
62
63    @property
64    def ip_ranges(self):
65        """
66        Gets the ip_ranges of this NetworkSourcesVirtualSourceList.
67
68        :return: The ip_ranges of this NetworkSourcesVirtualSourceList.
69        :rtype: list[str]
70        """
71        return self._ip_ranges
72
73    @ip_ranges.setter
74    def ip_ranges(self, ip_ranges):
75        """
76        Sets the ip_ranges of this NetworkSourcesVirtualSourceList.
77
78        :param ip_ranges: The ip_ranges of this NetworkSourcesVirtualSourceList.
79        :type: list[str]
80        """
81        self._ip_ranges = ip_ranges
82
83    def __repr__(self):
84        return formatted_flat_dict(self)
85
86    def __eq__(self, other):
87        if other is None:
88            return False
89
90        return self.__dict__ == other.__dict__
91
92    def __ne__(self, other):
93        return not self == other
94