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 BlockVolumeReplicaDetails(object):
12    """
13    Contains the details for the block volume replica
14    """
15
16    def __init__(self, **kwargs):
17        """
18        Initializes a new BlockVolumeReplicaDetails object with values from keyword arguments.
19        The following keyword arguments are supported (corresponding to the getters/setters of this class):
20
21        :param display_name:
22            The value to assign to the display_name property of this BlockVolumeReplicaDetails.
23        :type display_name: str
24
25        :param availability_domain:
26            The value to assign to the availability_domain property of this BlockVolumeReplicaDetails.
27        :type availability_domain: str
28
29        """
30        self.swagger_types = {
31            'display_name': 'str',
32            'availability_domain': 'str'
33        }
34
35        self.attribute_map = {
36            'display_name': 'displayName',
37            'availability_domain': 'availabilityDomain'
38        }
39
40        self._display_name = None
41        self._availability_domain = None
42
43    @property
44    def display_name(self):
45        """
46        Gets the display_name of this BlockVolumeReplicaDetails.
47        A user-friendly name. Does not have to be unique, and it's changeable.
48        Avoid entering confidential information.
49
50
51        :return: The display_name of this BlockVolumeReplicaDetails.
52        :rtype: str
53        """
54        return self._display_name
55
56    @display_name.setter
57    def display_name(self, display_name):
58        """
59        Sets the display_name of this BlockVolumeReplicaDetails.
60        A user-friendly name. Does not have to be unique, and it's changeable.
61        Avoid entering confidential information.
62
63
64        :param display_name: The display_name of this BlockVolumeReplicaDetails.
65        :type: str
66        """
67        self._display_name = display_name
68
69    @property
70    def availability_domain(self):
71        """
72        **[Required]** Gets the availability_domain of this BlockVolumeReplicaDetails.
73        The availability domain of the block volume replica.
74
75        Example: `Uocm:PHX-AD-1`
76
77
78        :return: The availability_domain of this BlockVolumeReplicaDetails.
79        :rtype: str
80        """
81        return self._availability_domain
82
83    @availability_domain.setter
84    def availability_domain(self, availability_domain):
85        """
86        Sets the availability_domain of this BlockVolumeReplicaDetails.
87        The availability domain of the block volume replica.
88
89        Example: `Uocm:PHX-AD-1`
90
91
92        :param availability_domain: The availability_domain of this BlockVolumeReplicaDetails.
93        :type: str
94        """
95        self._availability_domain = availability_domain
96
97    def __repr__(self):
98        return formatted_flat_dict(self)
99
100    def __eq__(self, other):
101        if other is None:
102            return False
103
104        return self.__dict__ == other.__dict__
105
106    def __ne__(self, other):
107        return not self == other
108