-
Notifications
You must be signed in to change notification settings - Fork 30
/
destination.py
167 lines (147 loc) · 7.01 KB
/
destination.py
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
# coding: utf-8
#
# Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
# except in compliance with the License. A copy of the License is located at
#
# http://aws.amazon.com/apache2.0/
#
# or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for
# the specific language governing permissions and limitations under the License.
#
import pprint
import re # noqa: F401
import six
import typing
from enum import Enum
from ask_sdk_model.interfaces.amazonpay.model.v1.destination import Destination
if typing.TYPE_CHECKING:
from typing import Dict, List, Optional, Union
from datetime import datetime
class Destination(Destination):
"""
:param name: The name or business name
:type name: (optional) str
:param company_name: The company name
:type company_name: (optional) str
:param address_line1: The first line of the address. At least one AddressLine (AddressLine1, AddressLine2, or AddressLine3) is required.
:type address_line1: (optional) str
:param address_line2: The second line of the address. At least one AddressLine (AddressLine1, AddressLine2, or AddressLine3) is required.
:type address_line2: (optional) str
:param address_line3: The third line of the address. At least one AddressLine (AddressLine1, AddressLine2, or AddressLine3) is required.
:type address_line3: (optional) str
:param city: The city
:type city: (optional) str
:param district_or_county: The district or County
:type district_or_county: (optional) str
:param state_or_region: The state or region. This element is free text and can be either a 2-character code, fully spelled out, or abbreviated. Required. Note :- This response element is returned only in the U.S.
:type state_or_region: (optional) str
:param postal_code: The postal code.
:type postal_code: (optional) str
:param country_code: The country code, in ISO 3166 format
:type country_code: (optional) str
:param phone: The phone number
:type phone: (optional) str
"""
deserialized_types = {
'name': 'str',
'company_name': 'str',
'address_line1': 'str',
'address_line2': 'str',
'address_line3': 'str',
'city': 'str',
'district_or_county': 'str',
'state_or_region': 'str',
'postal_code': 'str',
'country_code': 'str',
'phone': 'str'
} # type: Dict
attribute_map = {
'name': 'name',
'company_name': 'companyName',
'address_line1': 'addressLine1',
'address_line2': 'addressLine2',
'address_line3': 'addressLine3',
'city': 'city',
'district_or_county': 'districtOrCounty',
'state_or_region': 'stateOrRegion',
'postal_code': 'postalCode',
'country_code': 'countryCode',
'phone': 'phone'
} # type: Dict
supports_multiple_types = False
def __init__(self, name=None, company_name=None, address_line1=None, address_line2=None, address_line3=None, city=None, district_or_county=None, state_or_region=None, postal_code=None, country_code=None, phone=None):
# type: (Optional[str], Optional[str], Optional[str], Optional[str], Optional[str], Optional[str], Optional[str], Optional[str], Optional[str], Optional[str], Optional[str]) -> None
"""
:param name: The name or business name
:type name: (optional) str
:param company_name: The company name
:type company_name: (optional) str
:param address_line1: The first line of the address. At least one AddressLine (AddressLine1, AddressLine2, or AddressLine3) is required.
:type address_line1: (optional) str
:param address_line2: The second line of the address. At least one AddressLine (AddressLine1, AddressLine2, or AddressLine3) is required.
:type address_line2: (optional) str
:param address_line3: The third line of the address. At least one AddressLine (AddressLine1, AddressLine2, or AddressLine3) is required.
:type address_line3: (optional) str
:param city: The city
:type city: (optional) str
:param district_or_county: The district or County
:type district_or_county: (optional) str
:param state_or_region: The state or region. This element is free text and can be either a 2-character code, fully spelled out, or abbreviated. Required. Note :- This response element is returned only in the U.S.
:type state_or_region: (optional) str
:param postal_code: The postal code.
:type postal_code: (optional) str
:param country_code: The country code, in ISO 3166 format
:type country_code: (optional) str
:param phone: The phone number
:type phone: (optional) str
"""
self.__discriminator_value = None # type: str
super(Destination, self).__init__(name=name, company_name=company_name, address_line1=address_line1, address_line2=address_line2, address_line3=address_line3, city=city, district_or_county=district_or_county, state_or_region=state_or_region, postal_code=postal_code, country_code=country_code, phone=phone)
def to_dict(self):
# type: () -> Dict[str, object]
"""Returns the model properties as a dict"""
result = {} # type: Dict
for attr, _ in six.iteritems(self.deserialized_types):
value = getattr(self, attr)
if isinstance(value, list):
result[attr] = list(map(
lambda x: x.to_dict() if hasattr(x, "to_dict") else
x.value if isinstance(x, Enum) else x,
value
))
elif isinstance(value, Enum):
result[attr] = value.value
elif hasattr(value, "to_dict"):
result[attr] = value.to_dict()
elif isinstance(value, dict):
result[attr] = dict(map(
lambda item: (item[0], item[1].to_dict())
if hasattr(item[1], "to_dict") else
(item[0], item[1].value)
if isinstance(item[1], Enum) else item,
value.items()
))
else:
result[attr] = value
return result
def to_str(self):
# type: () -> str
"""Returns the string representation of the model"""
return pprint.pformat(self.to_dict())
def __repr__(self):
# type: () -> str
"""For `print` and `pprint`"""
return self.to_str()
def __eq__(self, other):
# type: (object) -> bool
"""Returns true if both objects are equal"""
if not isinstance(other, Destination):
return False
return self.__dict__ == other.__dict__
def __ne__(self, other):
# type: (object) -> bool
"""Returns true if both objects are not equal"""
return not self == other