huaweicloudsdkrocketmq 3.1.151__py2.py3-none-any.whl → 3.1.153__py2.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 (47) hide show
  1. huaweicloudsdkrocketmq/v2/__init__.py +29 -2
  2. huaweicloudsdkrocketmq/v2/model/__init__.py +29 -2
  3. huaweicloudsdkrocketmq/v2/model/batch_delete_diagnosis_report_req.py +115 -0
  4. huaweicloudsdkrocketmq/v2/model/batch_delete_diagnosis_report_request.py +167 -0
  5. huaweicloudsdkrocketmq/v2/model/batch_delete_diagnosis_report_response.py +116 -0
  6. huaweicloudsdkrocketmq/v2/model/create_diagnosis_task_request.py +167 -0
  7. huaweicloudsdkrocketmq/v2/model/create_diagnosis_task_response.py +116 -0
  8. huaweicloudsdkrocketmq/v2/model/create_instance_by_engine_req.py +88 -1
  9. huaweicloudsdkrocketmq/v2/model/create_topic_or_batch_delete_topic_req.py +3 -3
  10. huaweicloudsdkrocketmq/v2/model/create_topic_req.py +3 -3
  11. huaweicloudsdkrocketmq/v2/model/{restart_instance_response.py → delete_background_task_request.py} +31 -63
  12. huaweicloudsdkrocketmq/v2/model/delete_background_task_response.py +85 -0
  13. huaweicloudsdkrocketmq/v2/model/delete_consumer_group_response.py +32 -1
  14. huaweicloudsdkrocketmq/v2/model/delete_topic_response.py +32 -1
  15. huaweicloudsdkrocketmq/v2/model/diagnosis_rep.py +144 -0
  16. huaweicloudsdkrocketmq/v2/model/diagnosis_report_resp.py +289 -0
  17. huaweicloudsdkrocketmq/v2/model/list_background_tasks_request.py +230 -0
  18. huaweicloudsdkrocketmq/v2/model/list_background_tasks_resp_tasks.py +318 -0
  19. huaweicloudsdkrocketmq/v2/model/list_background_tasks_response.py +145 -0
  20. huaweicloudsdkrocketmq/v2/model/list_diagnosis_reports_request.py +200 -0
  21. huaweicloudsdkrocketmq/v2/model/list_diagnosis_reports_response.py +116 -0
  22. huaweicloudsdkrocketmq/v2/model/list_messages_request.py +30 -1
  23. huaweicloudsdkrocketmq/v2/model/modify_instance_ssl_config_request.py +167 -0
  24. huaweicloudsdkrocketmq/v2/model/modify_instance_ssl_config_response.py +145 -0
  25. huaweicloudsdkrocketmq/v2/model/node_context_entity.py +231 -0
  26. huaweicloudsdkrocketmq/v2/model/{restart_instance_request.py → plain_ssl_switch_rep.py} +23 -50
  27. huaweicloudsdkrocketmq/v2/model/send_message_properties.py +144 -0
  28. huaweicloudsdkrocketmq/v2/model/send_message_request.py +167 -0
  29. huaweicloudsdkrocketmq/v2/model/send_message_resp.py +289 -0
  30. huaweicloudsdkrocketmq/v2/model/send_message_response.py +290 -0
  31. huaweicloudsdkrocketmq/v2/model/show_diagnosis_report_request.py +142 -0
  32. huaweicloudsdkrocketmq/v2/model/show_diagnosis_report_response.py +435 -0
  33. huaweicloudsdkrocketmq/v2/model/show_diagnosis_stack_request.py +142 -0
  34. huaweicloudsdkrocketmq/v2/model/show_diagnosis_stack_response.py +145 -0
  35. huaweicloudsdkrocketmq/v2/model/show_instance_nodes_request.py +200 -0
  36. huaweicloudsdkrocketmq/v2/model/show_instance_nodes_response.py +203 -0
  37. huaweicloudsdkrocketmq/v2/model/update_consumer_group_response.py +32 -1
  38. huaweicloudsdkrocketmq/v2/model/update_topic_queue_entity.py +173 -0
  39. huaweicloudsdkrocketmq/v2/model/update_topic_req.py +70 -12
  40. huaweicloudsdkrocketmq/v2/model/update_topic_response.py +32 -1
  41. huaweicloudsdkrocketmq/v2/rocketmq_async_client.py +658 -31
  42. huaweicloudsdkrocketmq/v2/rocketmq_client.py +658 -31
  43. {huaweicloudsdkrocketmq-3.1.151.dist-info → huaweicloudsdkrocketmq-3.1.153.dist-info}/METADATA +2 -2
  44. {huaweicloudsdkrocketmq-3.1.151.dist-info → huaweicloudsdkrocketmq-3.1.153.dist-info}/RECORD +47 -20
  45. {huaweicloudsdkrocketmq-3.1.151.dist-info → huaweicloudsdkrocketmq-3.1.153.dist-info}/LICENSE +0 -0
  46. {huaweicloudsdkrocketmq-3.1.151.dist-info → huaweicloudsdkrocketmq-3.1.153.dist-info}/WHEEL +0 -0
  47. {huaweicloudsdkrocketmq-3.1.151.dist-info → huaweicloudsdkrocketmq-3.1.153.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,145 @@
1
+ # coding: utf-8
2
+
3
+ import six
4
+
5
+ from huaweicloudsdkcore.sdk_response import SdkResponse
6
+ from huaweicloudsdkcore.utils.http_utils import sanitize_for_serialization
7
+
8
+
9
+ class ShowDiagnosisStackResponse(SdkResponse):
10
+
11
+ """
12
+ Attributes:
13
+ openapi_types (dict): The key is attribute name
14
+ and the value is attribute type.
15
+ attribute_map (dict): The key is attribute name
16
+ and the value is json key in definition.
17
+ """
18
+ sensitive_list = []
19
+
20
+ openapi_types = {
21
+ 'thread_name': 'str',
22
+ 'stack': 'str'
23
+ }
24
+
25
+ attribute_map = {
26
+ 'thread_name': 'thread_name',
27
+ 'stack': 'stack'
28
+ }
29
+
30
+ def __init__(self, thread_name=None, stack=None):
31
+ r"""ShowDiagnosisStackResponse
32
+
33
+ The model defined in huaweicloud sdk
34
+
35
+ :param thread_name: **参数解释**: 线程名。 **取值范围**: 不涉及。
36
+ :type thread_name: str
37
+ :param stack: **参数解释**: 堆信息。 **取值范围**: 不涉及。
38
+ :type stack: str
39
+ """
40
+
41
+ super(ShowDiagnosisStackResponse, self).__init__()
42
+
43
+ self._thread_name = None
44
+ self._stack = None
45
+ self.discriminator = None
46
+
47
+ if thread_name is not None:
48
+ self.thread_name = thread_name
49
+ if stack is not None:
50
+ self.stack = stack
51
+
52
+ @property
53
+ def thread_name(self):
54
+ r"""Gets the thread_name of this ShowDiagnosisStackResponse.
55
+
56
+ **参数解释**: 线程名。 **取值范围**: 不涉及。
57
+
58
+ :return: The thread_name of this ShowDiagnosisStackResponse.
59
+ :rtype: str
60
+ """
61
+ return self._thread_name
62
+
63
+ @thread_name.setter
64
+ def thread_name(self, thread_name):
65
+ r"""Sets the thread_name of this ShowDiagnosisStackResponse.
66
+
67
+ **参数解释**: 线程名。 **取值范围**: 不涉及。
68
+
69
+ :param thread_name: The thread_name of this ShowDiagnosisStackResponse.
70
+ :type thread_name: str
71
+ """
72
+ self._thread_name = thread_name
73
+
74
+ @property
75
+ def stack(self):
76
+ r"""Gets the stack of this ShowDiagnosisStackResponse.
77
+
78
+ **参数解释**: 堆信息。 **取值范围**: 不涉及。
79
+
80
+ :return: The stack of this ShowDiagnosisStackResponse.
81
+ :rtype: str
82
+ """
83
+ return self._stack
84
+
85
+ @stack.setter
86
+ def stack(self, stack):
87
+ r"""Sets the stack of this ShowDiagnosisStackResponse.
88
+
89
+ **参数解释**: 堆信息。 **取值范围**: 不涉及。
90
+
91
+ :param stack: The stack of this ShowDiagnosisStackResponse.
92
+ :type stack: str
93
+ """
94
+ self._stack = stack
95
+
96
+ def to_dict(self):
97
+ """Returns the model properties as a dict"""
98
+ result = {}
99
+
100
+ for attr, _ in six.iteritems(self.openapi_types):
101
+ value = getattr(self, attr)
102
+ if isinstance(value, list):
103
+ result[attr] = list(map(
104
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
105
+ value
106
+ ))
107
+ elif hasattr(value, "to_dict"):
108
+ result[attr] = value.to_dict()
109
+ elif isinstance(value, dict):
110
+ result[attr] = dict(map(
111
+ lambda item: (item[0], item[1].to_dict())
112
+ if hasattr(item[1], "to_dict") else item,
113
+ value.items()
114
+ ))
115
+ else:
116
+ if attr in self.sensitive_list:
117
+ result[attr] = "****"
118
+ else:
119
+ result[attr] = value
120
+
121
+ return result
122
+
123
+ def to_str(self):
124
+ """Returns the string representation of the model"""
125
+ import simplejson as json
126
+ if six.PY2:
127
+ import sys
128
+ reload(sys)
129
+ sys.setdefaultencoding("utf-8")
130
+ return json.dumps(sanitize_for_serialization(self), ensure_ascii=False)
131
+
132
+ def __repr__(self):
133
+ """For `print`"""
134
+ return self.to_str()
135
+
136
+ def __eq__(self, other):
137
+ """Returns true if both objects are equal"""
138
+ if not isinstance(other, ShowDiagnosisStackResponse):
139
+ return False
140
+
141
+ return self.__dict__ == other.__dict__
142
+
143
+ def __ne__(self, other):
144
+ """Returns true if both objects are not equal"""
145
+ return not self == other
@@ -0,0 +1,200 @@
1
+ # coding: utf-8
2
+
3
+ import six
4
+
5
+ from huaweicloudsdkcore.utils.http_utils import sanitize_for_serialization
6
+
7
+
8
+ class ShowInstanceNodesRequest:
9
+
10
+ """
11
+ Attributes:
12
+ openapi_types (dict): The key is attribute name
13
+ and the value is attribute type.
14
+ attribute_map (dict): The key is attribute name
15
+ and the value is json key in definition.
16
+ """
17
+ sensitive_list = []
18
+
19
+ openapi_types = {
20
+ 'engine': 'str',
21
+ 'instance_id': 'str',
22
+ 'limit': 'int',
23
+ 'offset': 'int'
24
+ }
25
+
26
+ attribute_map = {
27
+ 'engine': 'engine',
28
+ 'instance_id': 'instance_id',
29
+ 'limit': 'limit',
30
+ 'offset': 'offset'
31
+ }
32
+
33
+ def __init__(self, engine=None, instance_id=None, limit=None, offset=None):
34
+ r"""ShowInstanceNodesRequest
35
+
36
+ The model defined in huaweicloud sdk
37
+
38
+ :param engine: 消息引擎类型。
39
+ :type engine: str
40
+ :param instance_id: 实例id。
41
+ :type instance_id: str
42
+ :param limit: 查询数量。
43
+ :type limit: int
44
+ :param offset: 偏移量,表示从此偏移量开始查询,offset大于等于0。
45
+ :type offset: int
46
+ """
47
+
48
+
49
+
50
+ self._engine = None
51
+ self._instance_id = None
52
+ self._limit = None
53
+ self._offset = None
54
+ self.discriminator = None
55
+
56
+ self.engine = engine
57
+ self.instance_id = instance_id
58
+ if limit is not None:
59
+ self.limit = limit
60
+ if offset is not None:
61
+ self.offset = offset
62
+
63
+ @property
64
+ def engine(self):
65
+ r"""Gets the engine of this ShowInstanceNodesRequest.
66
+
67
+ 消息引擎类型。
68
+
69
+ :return: The engine of this ShowInstanceNodesRequest.
70
+ :rtype: str
71
+ """
72
+ return self._engine
73
+
74
+ @engine.setter
75
+ def engine(self, engine):
76
+ r"""Sets the engine of this ShowInstanceNodesRequest.
77
+
78
+ 消息引擎类型。
79
+
80
+ :param engine: The engine of this ShowInstanceNodesRequest.
81
+ :type engine: str
82
+ """
83
+ self._engine = engine
84
+
85
+ @property
86
+ def instance_id(self):
87
+ r"""Gets the instance_id of this ShowInstanceNodesRequest.
88
+
89
+ 实例id。
90
+
91
+ :return: The instance_id of this ShowInstanceNodesRequest.
92
+ :rtype: str
93
+ """
94
+ return self._instance_id
95
+
96
+ @instance_id.setter
97
+ def instance_id(self, instance_id):
98
+ r"""Sets the instance_id of this ShowInstanceNodesRequest.
99
+
100
+ 实例id。
101
+
102
+ :param instance_id: The instance_id of this ShowInstanceNodesRequest.
103
+ :type instance_id: str
104
+ """
105
+ self._instance_id = instance_id
106
+
107
+ @property
108
+ def limit(self):
109
+ r"""Gets the limit of this ShowInstanceNodesRequest.
110
+
111
+ 查询数量。
112
+
113
+ :return: The limit of this ShowInstanceNodesRequest.
114
+ :rtype: int
115
+ """
116
+ return self._limit
117
+
118
+ @limit.setter
119
+ def limit(self, limit):
120
+ r"""Sets the limit of this ShowInstanceNodesRequest.
121
+
122
+ 查询数量。
123
+
124
+ :param limit: The limit of this ShowInstanceNodesRequest.
125
+ :type limit: int
126
+ """
127
+ self._limit = limit
128
+
129
+ @property
130
+ def offset(self):
131
+ r"""Gets the offset of this ShowInstanceNodesRequest.
132
+
133
+ 偏移量,表示从此偏移量开始查询,offset大于等于0。
134
+
135
+ :return: The offset of this ShowInstanceNodesRequest.
136
+ :rtype: int
137
+ """
138
+ return self._offset
139
+
140
+ @offset.setter
141
+ def offset(self, offset):
142
+ r"""Sets the offset of this ShowInstanceNodesRequest.
143
+
144
+ 偏移量,表示从此偏移量开始查询,offset大于等于0。
145
+
146
+ :param offset: The offset of this ShowInstanceNodesRequest.
147
+ :type offset: int
148
+ """
149
+ self._offset = offset
150
+
151
+ def to_dict(self):
152
+ """Returns the model properties as a dict"""
153
+ result = {}
154
+
155
+ for attr, _ in six.iteritems(self.openapi_types):
156
+ value = getattr(self, attr)
157
+ if isinstance(value, list):
158
+ result[attr] = list(map(
159
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
160
+ value
161
+ ))
162
+ elif hasattr(value, "to_dict"):
163
+ result[attr] = value.to_dict()
164
+ elif isinstance(value, dict):
165
+ result[attr] = dict(map(
166
+ lambda item: (item[0], item[1].to_dict())
167
+ if hasattr(item[1], "to_dict") else item,
168
+ value.items()
169
+ ))
170
+ else:
171
+ if attr in self.sensitive_list:
172
+ result[attr] = "****"
173
+ else:
174
+ result[attr] = value
175
+
176
+ return result
177
+
178
+ def to_str(self):
179
+ """Returns the string representation of the model"""
180
+ import simplejson as json
181
+ if six.PY2:
182
+ import sys
183
+ reload(sys)
184
+ sys.setdefaultencoding("utf-8")
185
+ return json.dumps(sanitize_for_serialization(self), ensure_ascii=False)
186
+
187
+ def __repr__(self):
188
+ """For `print`"""
189
+ return self.to_str()
190
+
191
+ def __eq__(self, other):
192
+ """Returns true if both objects are equal"""
193
+ if not isinstance(other, ShowInstanceNodesRequest):
194
+ return False
195
+
196
+ return self.__dict__ == other.__dict__
197
+
198
+ def __ne__(self, other):
199
+ """Returns true if both objects are not equal"""
200
+ return not self == other
@@ -0,0 +1,203 @@
1
+ # coding: utf-8
2
+
3
+ import six
4
+
5
+ from huaweicloudsdkcore.sdk_response import SdkResponse
6
+ from huaweicloudsdkcore.utils.http_utils import sanitize_for_serialization
7
+
8
+
9
+ class ShowInstanceNodesResponse(SdkResponse):
10
+
11
+ """
12
+ Attributes:
13
+ openapi_types (dict): The key is attribute name
14
+ and the value is attribute type.
15
+ attribute_map (dict): The key is attribute name
16
+ and the value is json key in definition.
17
+ """
18
+ sensitive_list = []
19
+
20
+ openapi_types = {
21
+ 'next_offset': 'int',
22
+ 'previous_offset': 'int',
23
+ 'nodes': 'list[NodeContextEntity]',
24
+ 'total': 'int'
25
+ }
26
+
27
+ attribute_map = {
28
+ 'next_offset': 'next_offset',
29
+ 'previous_offset': 'previous_offset',
30
+ 'nodes': 'nodes',
31
+ 'total': 'total'
32
+ }
33
+
34
+ def __init__(self, next_offset=None, previous_offset=None, nodes=None, total=None):
35
+ r"""ShowInstanceNodesResponse
36
+
37
+ The model defined in huaweicloud sdk
38
+
39
+ :param next_offset: 下个分页的offset。
40
+ :type next_offset: int
41
+ :param previous_offset: 上个分页的offset。
42
+ :type previous_offset: int
43
+ :param nodes: 后台任务ID
44
+ :type nodes: list[:class:`huaweicloudsdkrocketmq.v2.NodeContextEntity`]
45
+ :param total: 总个数
46
+ :type total: int
47
+ """
48
+
49
+ super(ShowInstanceNodesResponse, self).__init__()
50
+
51
+ self._next_offset = None
52
+ self._previous_offset = None
53
+ self._nodes = None
54
+ self._total = None
55
+ self.discriminator = None
56
+
57
+ if next_offset is not None:
58
+ self.next_offset = next_offset
59
+ if previous_offset is not None:
60
+ self.previous_offset = previous_offset
61
+ if nodes is not None:
62
+ self.nodes = nodes
63
+ if total is not None:
64
+ self.total = total
65
+
66
+ @property
67
+ def next_offset(self):
68
+ r"""Gets the next_offset of this ShowInstanceNodesResponse.
69
+
70
+ 下个分页的offset。
71
+
72
+ :return: The next_offset of this ShowInstanceNodesResponse.
73
+ :rtype: int
74
+ """
75
+ return self._next_offset
76
+
77
+ @next_offset.setter
78
+ def next_offset(self, next_offset):
79
+ r"""Sets the next_offset of this ShowInstanceNodesResponse.
80
+
81
+ 下个分页的offset。
82
+
83
+ :param next_offset: The next_offset of this ShowInstanceNodesResponse.
84
+ :type next_offset: int
85
+ """
86
+ self._next_offset = next_offset
87
+
88
+ @property
89
+ def previous_offset(self):
90
+ r"""Gets the previous_offset of this ShowInstanceNodesResponse.
91
+
92
+ 上个分页的offset。
93
+
94
+ :return: The previous_offset of this ShowInstanceNodesResponse.
95
+ :rtype: int
96
+ """
97
+ return self._previous_offset
98
+
99
+ @previous_offset.setter
100
+ def previous_offset(self, previous_offset):
101
+ r"""Sets the previous_offset of this ShowInstanceNodesResponse.
102
+
103
+ 上个分页的offset。
104
+
105
+ :param previous_offset: The previous_offset of this ShowInstanceNodesResponse.
106
+ :type previous_offset: int
107
+ """
108
+ self._previous_offset = previous_offset
109
+
110
+ @property
111
+ def nodes(self):
112
+ r"""Gets the nodes of this ShowInstanceNodesResponse.
113
+
114
+ 后台任务ID
115
+
116
+ :return: The nodes of this ShowInstanceNodesResponse.
117
+ :rtype: list[:class:`huaweicloudsdkrocketmq.v2.NodeContextEntity`]
118
+ """
119
+ return self._nodes
120
+
121
+ @nodes.setter
122
+ def nodes(self, nodes):
123
+ r"""Sets the nodes of this ShowInstanceNodesResponse.
124
+
125
+ 后台任务ID
126
+
127
+ :param nodes: The nodes of this ShowInstanceNodesResponse.
128
+ :type nodes: list[:class:`huaweicloudsdkrocketmq.v2.NodeContextEntity`]
129
+ """
130
+ self._nodes = nodes
131
+
132
+ @property
133
+ def total(self):
134
+ r"""Gets the total of this ShowInstanceNodesResponse.
135
+
136
+ 总个数
137
+
138
+ :return: The total of this ShowInstanceNodesResponse.
139
+ :rtype: int
140
+ """
141
+ return self._total
142
+
143
+ @total.setter
144
+ def total(self, total):
145
+ r"""Sets the total of this ShowInstanceNodesResponse.
146
+
147
+ 总个数
148
+
149
+ :param total: The total of this ShowInstanceNodesResponse.
150
+ :type total: int
151
+ """
152
+ self._total = total
153
+
154
+ def to_dict(self):
155
+ """Returns the model properties as a dict"""
156
+ result = {}
157
+
158
+ for attr, _ in six.iteritems(self.openapi_types):
159
+ value = getattr(self, attr)
160
+ if isinstance(value, list):
161
+ result[attr] = list(map(
162
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
163
+ value
164
+ ))
165
+ elif hasattr(value, "to_dict"):
166
+ result[attr] = value.to_dict()
167
+ elif isinstance(value, dict):
168
+ result[attr] = dict(map(
169
+ lambda item: (item[0], item[1].to_dict())
170
+ if hasattr(item[1], "to_dict") else item,
171
+ value.items()
172
+ ))
173
+ else:
174
+ if attr in self.sensitive_list:
175
+ result[attr] = "****"
176
+ else:
177
+ result[attr] = value
178
+
179
+ return result
180
+
181
+ def to_str(self):
182
+ """Returns the string representation of the model"""
183
+ import simplejson as json
184
+ if six.PY2:
185
+ import sys
186
+ reload(sys)
187
+ sys.setdefaultencoding("utf-8")
188
+ return json.dumps(sanitize_for_serialization(self), ensure_ascii=False)
189
+
190
+ def __repr__(self):
191
+ """For `print`"""
192
+ return self.to_str()
193
+
194
+ def __eq__(self, other):
195
+ """Returns true if both objects are equal"""
196
+ if not isinstance(other, ShowInstanceNodesResponse):
197
+ return False
198
+
199
+ return self.__dict__ == other.__dict__
200
+
201
+ def __ne__(self, other):
202
+ """Returns true if both objects are not equal"""
203
+ return not self == other
@@ -18,21 +18,52 @@ class UpdateConsumerGroupResponse(SdkResponse):
18
18
  sensitive_list = []
19
19
 
20
20
  openapi_types = {
21
+ 'job_id': 'str'
21
22
  }
22
23
 
23
24
  attribute_map = {
25
+ 'job_id': 'job_id'
24
26
  }
25
27
 
26
- def __init__(self):
28
+ def __init__(self, job_id=None):
27
29
  r"""UpdateConsumerGroupResponse
28
30
 
29
31
  The model defined in huaweicloud sdk
30
32
 
33
+ :param job_id: 规格变更任务ID。
34
+ :type job_id: str
31
35
  """
32
36
 
33
37
  super(UpdateConsumerGroupResponse, self).__init__()
38
+
39
+ self._job_id = None
34
40
  self.discriminator = None
35
41
 
42
+ if job_id is not None:
43
+ self.job_id = job_id
44
+
45
+ @property
46
+ def job_id(self):
47
+ r"""Gets the job_id of this UpdateConsumerGroupResponse.
48
+
49
+ 规格变更任务ID。
50
+
51
+ :return: The job_id of this UpdateConsumerGroupResponse.
52
+ :rtype: str
53
+ """
54
+ return self._job_id
55
+
56
+ @job_id.setter
57
+ def job_id(self, job_id):
58
+ r"""Sets the job_id of this UpdateConsumerGroupResponse.
59
+
60
+ 规格变更任务ID。
61
+
62
+ :param job_id: The job_id of this UpdateConsumerGroupResponse.
63
+ :type job_id: str
64
+ """
65
+ self._job_id = job_id
66
+
36
67
  def to_dict(self):
37
68
  """Returns the model properties as a dict"""
38
69
  result = {}