baiducloud-python-sdk-dns 0.0.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. baiducloud_python_sdk_dns/__init__.py +5 -0
  2. baiducloud_python_sdk_dns/api/__init__.py +0 -0
  3. baiducloud_python_sdk_dns/api/dns_client.py +534 -0
  4. baiducloud_python_sdk_dns/models/__init__.py +31 -0
  5. baiducloud_python_sdk_dns/models/add_domain_name_request.py +66 -0
  6. baiducloud_python_sdk_dns/models/add_line_group_request.py +74 -0
  7. baiducloud_python_sdk_dns/models/add_parsing_records_request.py +122 -0
  8. baiducloud_python_sdk_dns/models/billing.py +68 -0
  9. baiducloud_python_sdk_dns/models/billing_for_renew.py +60 -0
  10. baiducloud_python_sdk_dns/models/delete_line_group_request.py +64 -0
  11. baiducloud_python_sdk_dns/models/delete_parsing_records_request.py +70 -0
  12. baiducloud_python_sdk_dns/models/domain_name_renewal_request.py +79 -0
  13. baiducloud_python_sdk_dns/models/line.py +90 -0
  14. baiducloud_python_sdk_dns/models/modify_parsing_records_request.py +120 -0
  15. baiducloud_python_sdk_dns/models/modify_the_parsing_record_status_request.py +76 -0
  16. baiducloud_python_sdk_dns/models/public_record.py +133 -0
  17. baiducloud_python_sdk_dns/models/public_zone.py +110 -0
  18. baiducloud_python_sdk_dns/models/purchase_a_paid_domain_name_request.py +83 -0
  19. baiducloud_python_sdk_dns/models/query_and_parse_record_list_request.py +82 -0
  20. baiducloud_python_sdk_dns/models/query_and_parse_record_list_response.py +94 -0
  21. baiducloud_python_sdk_dns/models/query_domain_name_list_request.py +70 -0
  22. baiducloud_python_sdk_dns/models/query_domain_name_list_response.py +94 -0
  23. baiducloud_python_sdk_dns/models/query_the_list_of_line_groups_request.py +64 -0
  24. baiducloud_python_sdk_dns/models/query_the_list_of_line_groups_response.py +94 -0
  25. baiducloud_python_sdk_dns/models/remove_domain_name_request.py +64 -0
  26. baiducloud_python_sdk_dns/models/reservation.py +58 -0
  27. baiducloud_python_sdk_dns/models/tag_model.py +66 -0
  28. baiducloud_python_sdk_dns/models/update_line_group_request.py +80 -0
  29. baiducloud_python_sdk_dns/models/upgrade_the_free_domain_name_to_the_universal_version_request.py +81 -0
  30. baiducloud_python_sdk_dns-0.0.1.dist-info/LICENSE +177 -0
  31. baiducloud_python_sdk_dns-0.0.1.dist-info/METADATA +76 -0
  32. baiducloud_python_sdk_dns-0.0.1.dist-info/RECORD +34 -0
  33. baiducloud_python_sdk_dns-0.0.1.dist-info/WHEEL +5 -0
  34. baiducloud_python_sdk_dns-0.0.1.dist-info/top_level.txt +1 -0
@@ -0,0 +1,70 @@
1
+ """
2
+ Request entity for QueryDomainNameListRequest information.
3
+ """
4
+
5
+ from baiducloud_python_sdk_core.abstract_model import AbstractModel
6
+
7
+
8
+ class QueryDomainNameListRequest(AbstractModel):
9
+ """
10
+ Request entity for QueryDomainNameListRequest operation.
11
+
12
+ This class encapsulates all parameters for the API request.
13
+ """
14
+
15
+ def __init__(self, name=None, marker=None, max_keys=None):
16
+ """
17
+ Initialize QueryDomainNameListRequest request entity.
18
+
19
+ :param name: name parameter
20
+ :type name: str (optional)
21
+
22
+ :param marker: marker parameter
23
+ :type marker: str (optional)
24
+
25
+ :param max_keys: max_keys parameter
26
+ :type max_keys: int (optional)
27
+ """
28
+ super().__init__()
29
+ self.name = name
30
+ self.marker = marker
31
+ self.max_keys = max_keys
32
+
33
+ def to_dict(self):
34
+ """
35
+ Convert the request entity to a dictionary representation.
36
+
37
+ Nested model objects are recursively converted to dictionaries.
38
+
39
+ :return: Dictionary representation of the request
40
+ :rtype: dict
41
+ """
42
+ _map = super().to_dict()
43
+ if _map is not None:
44
+ return _map
45
+ result = dict()
46
+ return result
47
+
48
+ def from_dict(self, m):
49
+ """
50
+ Populate the request entity from a dictionary.
51
+
52
+ Nested dictionaries are recursively converted to model objects.
53
+
54
+ :param m: Dictionary containing request data
55
+ :type m: dict
56
+
57
+ :return: Self reference for method chaining
58
+ :rtype: QueryDomainNameListRequest
59
+
60
+ :raises TypeError: If input is not a dictionary or field type mismatch
61
+ :raises ValueError: If nested model conversion fails
62
+ """
63
+ m = m or dict()
64
+ if m.get('name') is not None:
65
+ self.name = m.get('name')
66
+ if m.get('marker') is not None:
67
+ self.marker = m.get('marker')
68
+ if m.get('maxKeys') is not None:
69
+ self.max_keys = m.get('maxKeys')
70
+ return self
@@ -0,0 +1,94 @@
1
+ """
2
+ Request entity for QueryDomainNameListResponse information.
3
+ """
4
+
5
+ from baiducloud_python_sdk_core.bce_response import BceResponse
6
+ from baiducloud_python_sdk_dns.models.public_zone import PublicZone
7
+
8
+
9
+ class QueryDomainNameListResponse(BceResponse):
10
+ """
11
+ QueryDomainNameListResponse
12
+ """
13
+
14
+ def __init__(self, marker=None, is_truncated=None, next_marker=None, max_keys=None, zones=None):
15
+ """
16
+ Initialize QueryDomainNameListResponse response.
17
+
18
+ :param marker: 标记查询的起始位置。
19
+ :type marker: str (optional)
20
+
21
+ :param is_truncated: true表示后面还有数据,false表示已经是最后一页。
22
+ :type is_truncated: bool (optional)
23
+
24
+ :param next_marker: 获取下一页所需要传递的marker值。当isTruncated为false时,该域不出现。
25
+ :type next_marker: str (optional)
26
+
27
+ :param max_keys: 每页包含的最大数量。
28
+ :type max_keys: int (optional)
29
+
30
+ :param zones: 包含查询结果的域名列表。
31
+ :type zones: List[PublicZone] (optional)
32
+ """
33
+ super().__init__()
34
+ self.marker = marker
35
+ self.is_truncated = is_truncated
36
+ self.next_marker = next_marker
37
+ self.max_keys = max_keys
38
+ self.zones = zones
39
+
40
+ def to_dict(self):
41
+ """
42
+ Convert the response instance to a dictionary representation.
43
+
44
+ Includes metadata from the parent BceResponse class.
45
+ Nested model objects are recursively converted to dictionaries.
46
+
47
+ :return: Dictionary representation of the response
48
+ :rtype: dict
49
+ """
50
+ _map = super().to_dict()
51
+ if _map is not None:
52
+ return _map
53
+ result = dict()
54
+ if self.metadata is not None:
55
+ result['metadata'] = dict(self.metadata)
56
+ if self.marker is not None:
57
+ result['marker'] = self.marker
58
+ if self.is_truncated is not None:
59
+ result['isTruncated'] = self.is_truncated
60
+ if self.next_marker is not None:
61
+ result['nextMarker'] = self.next_marker
62
+ if self.max_keys is not None:
63
+ result['maxKeys'] = self.max_keys
64
+ if self.zones is not None:
65
+ result['zones'] = [i.to_dict() for i in self.zones]
66
+ return result
67
+
68
+ def from_dict(self, m):
69
+ """
70
+ Populate the response instance from a dictionary.
71
+
72
+ Nested dictionaries are recursively converted to model objects.
73
+
74
+ :param m: Dictionary containing response data
75
+ :type m: dict
76
+
77
+ :return: Self reference for method chaining
78
+ :rtype: QueryDomainNameListResponse
79
+
80
+ :raises TypeError: If input is not a dictionary or field type mismatch
81
+ :raises ValueError: If nested model conversion fails
82
+ """
83
+ m = m or dict()
84
+ if m.get('marker') is not None:
85
+ self.marker = m.get('marker')
86
+ if m.get('isTruncated') is not None:
87
+ self.is_truncated = m.get('isTruncated')
88
+ if m.get('nextMarker') is not None:
89
+ self.next_marker = m.get('nextMarker')
90
+ if m.get('maxKeys') is not None:
91
+ self.max_keys = m.get('maxKeys')
92
+ if m.get('zones') is not None:
93
+ self.zones = [PublicZone().from_dict(i) for i in m.get('zones')]
94
+ return self
@@ -0,0 +1,64 @@
1
+ """
2
+ Request entity for QueryTheListOfLineGroupsRequest information.
3
+ """
4
+
5
+ from baiducloud_python_sdk_core.abstract_model import AbstractModel
6
+
7
+
8
+ class QueryTheListOfLineGroupsRequest(AbstractModel):
9
+ """
10
+ Request entity for QueryTheListOfLineGroupsRequest operation.
11
+
12
+ This class encapsulates all parameters for the API request.
13
+ """
14
+
15
+ def __init__(self, marker=None, max_keys=None):
16
+ """
17
+ Initialize QueryTheListOfLineGroupsRequest request entity.
18
+
19
+ :param marker: marker parameter
20
+ :type marker: str (optional)
21
+
22
+ :param max_keys: max_keys parameter
23
+ :type max_keys: int (optional)
24
+ """
25
+ super().__init__()
26
+ self.marker = marker
27
+ self.max_keys = max_keys
28
+
29
+ def to_dict(self):
30
+ """
31
+ Convert the request entity to a dictionary representation.
32
+
33
+ Nested model objects are recursively converted to dictionaries.
34
+
35
+ :return: Dictionary representation of the request
36
+ :rtype: dict
37
+ """
38
+ _map = super().to_dict()
39
+ if _map is not None:
40
+ return _map
41
+ result = dict()
42
+ return result
43
+
44
+ def from_dict(self, m):
45
+ """
46
+ Populate the request entity from a dictionary.
47
+
48
+ Nested dictionaries are recursively converted to model objects.
49
+
50
+ :param m: Dictionary containing request data
51
+ :type m: dict
52
+
53
+ :return: Self reference for method chaining
54
+ :rtype: QueryTheListOfLineGroupsRequest
55
+
56
+ :raises TypeError: If input is not a dictionary or field type mismatch
57
+ :raises ValueError: If nested model conversion fails
58
+ """
59
+ m = m or dict()
60
+ if m.get('marker') is not None:
61
+ self.marker = m.get('marker')
62
+ if m.get('maxKeys') is not None:
63
+ self.max_keys = m.get('maxKeys')
64
+ return self
@@ -0,0 +1,94 @@
1
+ """
2
+ Request entity for QueryTheListOfLineGroupsResponse information.
3
+ """
4
+
5
+ from baiducloud_python_sdk_core.bce_response import BceResponse
6
+ from baiducloud_python_sdk_dns.models.line import Line
7
+
8
+
9
+ class QueryTheListOfLineGroupsResponse(BceResponse):
10
+ """
11
+ QueryTheListOfLineGroupsResponse
12
+ """
13
+
14
+ def __init__(self, marker=None, is_truncated=None, next_marker=None, max_keys=None, line_list=None):
15
+ """
16
+ Initialize QueryTheListOfLineGroupsResponse response.
17
+
18
+ :param marker: 标记查询的起始位置。
19
+ :type marker: str (optional)
20
+
21
+ :param is_truncated: true表示后面还有数据,false表示已经是最后一页。
22
+ :type is_truncated: bool (optional)
23
+
24
+ :param next_marker: 获取下一页所需要传递的marker值,当isTruncated为false时,该域不出现。
25
+ :type next_marker: str (optional)
26
+
27
+ :param max_keys: 每页包含的最大数量。
28
+ :type max_keys: int (optional)
29
+
30
+ :param line_list: 包含查询结果的线路组列表。
31
+ :type line_list: List[Line] (optional)
32
+ """
33
+ super().__init__()
34
+ self.marker = marker
35
+ self.is_truncated = is_truncated
36
+ self.next_marker = next_marker
37
+ self.max_keys = max_keys
38
+ self.line_list = line_list
39
+
40
+ def to_dict(self):
41
+ """
42
+ Convert the response instance to a dictionary representation.
43
+
44
+ Includes metadata from the parent BceResponse class.
45
+ Nested model objects are recursively converted to dictionaries.
46
+
47
+ :return: Dictionary representation of the response
48
+ :rtype: dict
49
+ """
50
+ _map = super().to_dict()
51
+ if _map is not None:
52
+ return _map
53
+ result = dict()
54
+ if self.metadata is not None:
55
+ result['metadata'] = dict(self.metadata)
56
+ if self.marker is not None:
57
+ result['marker'] = self.marker
58
+ if self.is_truncated is not None:
59
+ result['isTruncated'] = self.is_truncated
60
+ if self.next_marker is not None:
61
+ result['nextMarker'] = self.next_marker
62
+ if self.max_keys is not None:
63
+ result['maxKeys'] = self.max_keys
64
+ if self.line_list is not None:
65
+ result['lineList'] = [i.to_dict() for i in self.line_list]
66
+ return result
67
+
68
+ def from_dict(self, m):
69
+ """
70
+ Populate the response instance from a dictionary.
71
+
72
+ Nested dictionaries are recursively converted to model objects.
73
+
74
+ :param m: Dictionary containing response data
75
+ :type m: dict
76
+
77
+ :return: Self reference for method chaining
78
+ :rtype: QueryTheListOfLineGroupsResponse
79
+
80
+ :raises TypeError: If input is not a dictionary or field type mismatch
81
+ :raises ValueError: If nested model conversion fails
82
+ """
83
+ m = m or dict()
84
+ if m.get('marker') is not None:
85
+ self.marker = m.get('marker')
86
+ if m.get('isTruncated') is not None:
87
+ self.is_truncated = m.get('isTruncated')
88
+ if m.get('nextMarker') is not None:
89
+ self.next_marker = m.get('nextMarker')
90
+ if m.get('maxKeys') is not None:
91
+ self.max_keys = m.get('maxKeys')
92
+ if m.get('lineList') is not None:
93
+ self.line_list = [Line().from_dict(i) for i in m.get('lineList')]
94
+ return self
@@ -0,0 +1,64 @@
1
+ """
2
+ Request entity for RemoveDomainNameRequest information.
3
+ """
4
+
5
+ from baiducloud_python_sdk_core.abstract_model import AbstractModel
6
+
7
+
8
+ class RemoveDomainNameRequest(AbstractModel):
9
+ """
10
+ Request entity for RemoveDomainNameRequest operation.
11
+
12
+ This class encapsulates all parameters for the API request.
13
+ """
14
+
15
+ def __init__(self, zone_name, client_token=None):
16
+ """
17
+ Initialize RemoveDomainNameRequest request entity.
18
+
19
+ :param zone_name: zone_name parameter
20
+ :type zone_name: str (required)
21
+
22
+ :param client_token: client_token parameter
23
+ :type client_token: str (optional)
24
+ """
25
+ super().__init__()
26
+ self.zone_name = zone_name
27
+ self.client_token = client_token
28
+
29
+ def to_dict(self):
30
+ """
31
+ Convert the request entity to a dictionary representation.
32
+
33
+ Nested model objects are recursively converted to dictionaries.
34
+
35
+ :return: Dictionary representation of the request
36
+ :rtype: dict
37
+ """
38
+ _map = super().to_dict()
39
+ if _map is not None:
40
+ return _map
41
+ result = dict()
42
+ return result
43
+
44
+ def from_dict(self, m):
45
+ """
46
+ Populate the request entity from a dictionary.
47
+
48
+ Nested dictionaries are recursively converted to model objects.
49
+
50
+ :param m: Dictionary containing request data
51
+ :type m: dict
52
+
53
+ :return: Self reference for method chaining
54
+ :rtype: RemoveDomainNameRequest
55
+
56
+ :raises TypeError: If input is not a dictionary or field type mismatch
57
+ :raises ValueError: If nested model conversion fails
58
+ """
59
+ m = m or dict()
60
+ if m.get('zoneName') is not None:
61
+ self.zone_name = m.get('zoneName')
62
+ if m.get('clientToken') is not None:
63
+ self.client_token = m.get('clientToken')
64
+ return self
@@ -0,0 +1,58 @@
1
+ """
2
+ Reservation information
3
+ """
4
+
5
+ from baiducloud_python_sdk_core.abstract_model import AbstractModel
6
+
7
+
8
+ class Reservation(AbstractModel):
9
+ """
10
+ Reservation
11
+ """
12
+
13
+ def __init__(self, reservation_length=None):
14
+ """
15
+ Initialize Reservation instance.
16
+
17
+ :param reservation_length: 购买年份时长,[1,2,3]。
18
+ :type reservation_length: int (optional)
19
+ """
20
+ super().__init__()
21
+ self.reservation_length = reservation_length
22
+
23
+ def to_dict(self):
24
+ """
25
+ Convert the model instance to a dictionary representation.
26
+
27
+ Nested model objects are recursively converted to dictionaries.
28
+
29
+ :return: Dictionary representation of the model
30
+ :rtype: dict
31
+ """
32
+ _map = super().to_dict()
33
+ if _map is not None:
34
+ return _map
35
+ result = dict()
36
+ if self.reservation_length is not None:
37
+ result['reservationLength'] = self.reservation_length
38
+ return result
39
+
40
+ def from_dict(self, m):
41
+ """
42
+ Populate the model instance from a dictionary.
43
+
44
+ Nested dictionaries are recursively converted to model objects.
45
+
46
+ :param m: Dictionary containing model data
47
+ :type m: dict
48
+
49
+ :return: Self reference for method chaining
50
+ :rtype: Reservation
51
+
52
+ :raises TypeError: If input is not a dictionary type
53
+ :raises ValueError: If nested model conversion fails
54
+ """
55
+ m = m or dict()
56
+ if m.get('reservationLength') is not None:
57
+ self.reservation_length = m.get('reservationLength')
58
+ return self
@@ -0,0 +1,66 @@
1
+ """
2
+ TagModel information
3
+ """
4
+
5
+ from baiducloud_python_sdk_core.abstract_model import AbstractModel
6
+
7
+
8
+ class TagModel(AbstractModel):
9
+ """
10
+ TagModel
11
+ """
12
+
13
+ def __init__(self, tag_key=None, tag_value=None):
14
+ """
15
+ Initialize TagModel instance.
16
+
17
+ :param tag_key: 标签的键,可包含大小写字母、数字、中文以及-_ /.特殊字符,长度1-65。
18
+ :type tag_key: str (optional)
19
+
20
+ :param tag_value: 标签的值,可包含大小写字母、数字、中文以及-_ /.特殊字符,长度0-65。
21
+ :type tag_value: str (optional)
22
+ """
23
+ super().__init__()
24
+ self.tag_key = tag_key
25
+ self.tag_value = tag_value
26
+
27
+ def to_dict(self):
28
+ """
29
+ Convert the model instance to a dictionary representation.
30
+
31
+ Nested model objects are recursively converted to dictionaries.
32
+
33
+ :return: Dictionary representation of the model
34
+ :rtype: dict
35
+ """
36
+ _map = super().to_dict()
37
+ if _map is not None:
38
+ return _map
39
+ result = dict()
40
+ if self.tag_key is not None:
41
+ result['tagKey'] = self.tag_key
42
+ if self.tag_value is not None:
43
+ result['tagValue'] = self.tag_value
44
+ return result
45
+
46
+ def from_dict(self, m):
47
+ """
48
+ Populate the model instance from a dictionary.
49
+
50
+ Nested dictionaries are recursively converted to model objects.
51
+
52
+ :param m: Dictionary containing model data
53
+ :type m: dict
54
+
55
+ :return: Self reference for method chaining
56
+ :rtype: TagModel
57
+
58
+ :raises TypeError: If input is not a dictionary type
59
+ :raises ValueError: If nested model conversion fails
60
+ """
61
+ m = m or dict()
62
+ if m.get('tagKey') is not None:
63
+ self.tag_key = m.get('tagKey')
64
+ if m.get('tagValue') is not None:
65
+ self.tag_value = m.get('tagValue')
66
+ return self
@@ -0,0 +1,80 @@
1
+ """
2
+ Request entity for UpdateLineGroupRequest information.
3
+ """
4
+
5
+ from baiducloud_python_sdk_core.abstract_model import AbstractModel
6
+
7
+
8
+ class UpdateLineGroupRequest(AbstractModel):
9
+ """
10
+ Request entity for UpdateLineGroupRequest operation.
11
+
12
+ This class encapsulates all parameters for the API request.
13
+ """
14
+
15
+ def __init__(self, line_id, name, lines, client_token=None):
16
+ """
17
+ Initialize UpdateLineGroupRequest request entity.
18
+
19
+ :param line_id: line_id parameter
20
+ :type line_id: int (required)
21
+
22
+ :param client_token: client_token parameter
23
+ :type client_token: str (optional)
24
+
25
+ :param name: 线路组名称,长度不超过12个字符。
26
+ :type name: str (required)
27
+
28
+ :param lines: 解析线路。
29
+ :type lines: List[str] (required)
30
+ """
31
+ super().__init__()
32
+ self.line_id = line_id
33
+ self.client_token = client_token
34
+ self.name = name
35
+ self.lines = lines
36
+
37
+ def to_dict(self):
38
+ """
39
+ Convert the request entity to a dictionary representation.
40
+
41
+ Nested model objects are recursively converted to dictionaries.
42
+
43
+ :return: Dictionary representation of the request
44
+ :rtype: dict
45
+ """
46
+ _map = super().to_dict()
47
+ if _map is not None:
48
+ return _map
49
+ result = dict()
50
+ if self.name is not None:
51
+ result['name'] = self.name
52
+ if self.lines is not None:
53
+ result['lines'] = self.lines
54
+ return result
55
+
56
+ def from_dict(self, m):
57
+ """
58
+ Populate the request entity from a dictionary.
59
+
60
+ Nested dictionaries are recursively converted to model objects.
61
+
62
+ :param m: Dictionary containing request data
63
+ :type m: dict
64
+
65
+ :return: Self reference for method chaining
66
+ :rtype: UpdateLineGroupRequest
67
+
68
+ :raises TypeError: If input is not a dictionary or field type mismatch
69
+ :raises ValueError: If nested model conversion fails
70
+ """
71
+ m = m or dict()
72
+ if m.get('lineId') is not None:
73
+ self.line_id = m.get('lineId')
74
+ if m.get('clientToken') is not None:
75
+ self.client_token = m.get('clientToken')
76
+ if m.get('name') is not None:
77
+ self.name = m.get('name')
78
+ if m.get('lines') is not None:
79
+ self.lines = m.get('lines')
80
+ return self
@@ -0,0 +1,81 @@
1
+ """
2
+ Request entity for UpgradeTheFreeDomainNameToTheUniversalVersionRequest information.
3
+ """
4
+
5
+ from baiducloud_python_sdk_core.abstract_model import AbstractModel
6
+ from baiducloud_python_sdk_dns.models.billing import Billing
7
+
8
+
9
+ class UpgradeTheFreeDomainNameToTheUniversalVersionRequest(AbstractModel):
10
+ """
11
+ Request entity for UpgradeTheFreeDomainNameToTheUniversalVersionRequest operation.
12
+
13
+ This class encapsulates all parameters for the API request.
14
+ """
15
+
16
+ def __init__(self, action, names, billing, client_token=None):
17
+ """
18
+ Initialize UpgradeTheFreeDomainNameToTheUniversalVersionRequest request entity.
19
+
20
+ :param action: action parameter
21
+ :type action: str (required)
22
+
23
+ :param client_token: client_token parameter
24
+ :type client_token: str (optional)
25
+
26
+ :param names: 域名的名称。
27
+ :type names: List[str] (required)
28
+
29
+ :param billing: 计费信息。
30
+ :type billing: Billing (required)
31
+ """
32
+ super().__init__()
33
+ self.action = action
34
+ self.client_token = client_token
35
+ self.names = names
36
+ self.billing = billing
37
+
38
+ def to_dict(self):
39
+ """
40
+ Convert the request entity to a dictionary representation.
41
+
42
+ Nested model objects are recursively converted to dictionaries.
43
+
44
+ :return: Dictionary representation of the request
45
+ :rtype: dict
46
+ """
47
+ _map = super().to_dict()
48
+ if _map is not None:
49
+ return _map
50
+ result = dict()
51
+ if self.names is not None:
52
+ result['names'] = self.names
53
+ if self.billing is not None:
54
+ result['billing'] = self.billing.to_dict()
55
+ return result
56
+
57
+ def from_dict(self, m):
58
+ """
59
+ Populate the request entity from a dictionary.
60
+
61
+ Nested dictionaries are recursively converted to model objects.
62
+
63
+ :param m: Dictionary containing request data
64
+ :type m: dict
65
+
66
+ :return: Self reference for method chaining
67
+ :rtype: UpgradeTheFreeDomainNameToTheUniversalVersionRequest
68
+
69
+ :raises TypeError: If input is not a dictionary or field type mismatch
70
+ :raises ValueError: If nested model conversion fails
71
+ """
72
+ m = m or dict()
73
+ if m.get('action') is not None:
74
+ self.action = m.get('action')
75
+ if m.get('clientToken') is not None:
76
+ self.client_token = m.get('clientToken')
77
+ if m.get('names') is not None:
78
+ self.names = m.get('names')
79
+ if m.get('billing') is not None:
80
+ self.billing = Billing().from_dict(m.get('billing'))
81
+ return self