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 UpdateZoneDetails(object): 12 """ 13 The body for updating a zone. 14 15 **Warning:** Oracle recommends that you avoid using any confidential information when you supply string values using the API. 16 """ 17 18 def __init__(self, **kwargs): 19 """ 20 Initializes a new UpdateZoneDetails object with values from keyword arguments. 21 The following keyword arguments are supported (corresponding to the getters/setters of this class): 22 23 :param freeform_tags: 24 The value to assign to the freeform_tags property of this UpdateZoneDetails. 25 :type freeform_tags: dict(str, str) 26 27 :param defined_tags: 28 The value to assign to the defined_tags property of this UpdateZoneDetails. 29 :type defined_tags: dict(str, dict(str, object)) 30 31 :param external_masters: 32 The value to assign to the external_masters property of this UpdateZoneDetails. 33 :type external_masters: list[oci.dns.models.ExternalMaster] 34 35 """ 36 self.swagger_types = { 37 'freeform_tags': 'dict(str, str)', 38 'defined_tags': 'dict(str, dict(str, object))', 39 'external_masters': 'list[ExternalMaster]' 40 } 41 42 self.attribute_map = { 43 'freeform_tags': 'freeformTags', 44 'defined_tags': 'definedTags', 45 'external_masters': 'externalMasters' 46 } 47 48 self._freeform_tags = None 49 self._defined_tags = None 50 self._external_masters = None 51 52 @property 53 def freeform_tags(self): 54 """ 55 Gets the freeform_tags of this UpdateZoneDetails. 56 Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. 57 For more information, see `Resource Tags`__. 58 59 60 **Example:** `{\"Department\": \"Finance\"}` 61 62 __ https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm 63 64 65 :return: The freeform_tags of this UpdateZoneDetails. 66 :rtype: dict(str, str) 67 """ 68 return self._freeform_tags 69 70 @freeform_tags.setter 71 def freeform_tags(self, freeform_tags): 72 """ 73 Sets the freeform_tags of this UpdateZoneDetails. 74 Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. 75 For more information, see `Resource Tags`__. 76 77 78 **Example:** `{\"Department\": \"Finance\"}` 79 80 __ https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm 81 82 83 :param freeform_tags: The freeform_tags of this UpdateZoneDetails. 84 :type: dict(str, str) 85 """ 86 self._freeform_tags = freeform_tags 87 88 @property 89 def defined_tags(self): 90 """ 91 Gets the defined_tags of this UpdateZoneDetails. 92 Defined tags for this resource. Each key is predefined and scoped to a namespace. 93 For more information, see `Resource Tags`__. 94 95 96 **Example:** `{\"Operations\": {\"CostCenter\": \"42\"}}` 97 98 __ https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm 99 100 101 :return: The defined_tags of this UpdateZoneDetails. 102 :rtype: dict(str, dict(str, object)) 103 """ 104 return self._defined_tags 105 106 @defined_tags.setter 107 def defined_tags(self, defined_tags): 108 """ 109 Sets the defined_tags of this UpdateZoneDetails. 110 Defined tags for this resource. Each key is predefined and scoped to a namespace. 111 For more information, see `Resource Tags`__. 112 113 114 **Example:** `{\"Operations\": {\"CostCenter\": \"42\"}}` 115 116 __ https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm 117 118 119 :param defined_tags: The defined_tags of this UpdateZoneDetails. 120 :type: dict(str, dict(str, object)) 121 """ 122 self._defined_tags = defined_tags 123 124 @property 125 def external_masters(self): 126 """ 127 Gets the external_masters of this UpdateZoneDetails. 128 External master servers for the zone. `externalMasters` becomes a 129 required parameter when the `zoneType` value is `SECONDARY`. 130 131 132 :return: The external_masters of this UpdateZoneDetails. 133 :rtype: list[oci.dns.models.ExternalMaster] 134 """ 135 return self._external_masters 136 137 @external_masters.setter 138 def external_masters(self, external_masters): 139 """ 140 Sets the external_masters of this UpdateZoneDetails. 141 External master servers for the zone. `externalMasters` becomes a 142 required parameter when the `zoneType` value is `SECONDARY`. 143 144 145 :param external_masters: The external_masters of this UpdateZoneDetails. 146 :type: list[oci.dns.models.ExternalMaster] 147 """ 148 self._external_masters = external_masters 149 150 def __repr__(self): 151 return formatted_flat_dict(self) 152 153 def __eq__(self, other): 154 if other is None: 155 return False 156 157 return self.__dict__ == other.__dict__ 158 159 def __ne__(self, other): 160 return not self == other 161