huaweicloudsdkobs 3.1.160__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 (72) hide show
  1. huaweicloudsdkobs/__init__.py +0 -0
  2. huaweicloudsdkobs/v1/__init__.py +66 -0
  3. huaweicloudsdkobs/v1/model/__init__.py +63 -0
  4. huaweicloudsdkobs/v1/model/access_control_list.py +113 -0
  5. huaweicloudsdkobs/v1/model/bucket.py +233 -0
  6. huaweicloudsdkobs/v1/model/buckets.py +117 -0
  7. huaweicloudsdkobs/v1/model/common_prefixes.py +113 -0
  8. huaweicloudsdkobs/v1/model/contents.py +287 -0
  9. huaweicloudsdkobs/v1/model/copy_object_request.py +839 -0
  10. huaweicloudsdkobs/v1/model/copy_object_response.py +443 -0
  11. huaweicloudsdkobs/v1/model/create_bucket_request.py +605 -0
  12. huaweicloudsdkobs/v1/model/create_bucket_request_body.py +117 -0
  13. huaweicloudsdkobs/v1/model/create_bucket_response.py +239 -0
  14. huaweicloudsdkobs/v1/model/delete_bucket_customdomain_request.py +173 -0
  15. huaweicloudsdkobs/v1/model/delete_bucket_customdomain_response.py +239 -0
  16. huaweicloudsdkobs/v1/model/delete_bucket_request.py +145 -0
  17. huaweicloudsdkobs/v1/model/delete_bucket_response.py +239 -0
  18. huaweicloudsdkobs/v1/model/delete_object.py +146 -0
  19. huaweicloudsdkobs/v1/model/delete_object_request.py +202 -0
  20. huaweicloudsdkobs/v1/model/delete_object_response.py +289 -0
  21. huaweicloudsdkobs/v1/model/delete_objects_request.py +226 -0
  22. huaweicloudsdkobs/v1/model/delete_objects_request_body.py +171 -0
  23. huaweicloudsdkobs/v1/model/delete_objects_response.py +318 -0
  24. huaweicloudsdkobs/v1/model/delete_result_deleted.py +204 -0
  25. huaweicloudsdkobs/v1/model/delete_result_error.py +175 -0
  26. huaweicloudsdkobs/v1/model/domains.py +173 -0
  27. huaweicloudsdkobs/v1/model/filter_object.py +113 -0
  28. huaweicloudsdkobs/v1/model/filter_rule.py +146 -0
  29. huaweicloudsdkobs/v1/model/function_stage_configuration.py +229 -0
  30. huaweicloudsdkobs/v1/model/get_bucket_acl_request.py +173 -0
  31. huaweicloudsdkobs/v1/model/get_bucket_acl_response.py +289 -0
  32. huaweicloudsdkobs/v1/model/get_bucket_customdomain_request.py +173 -0
  33. huaweicloudsdkobs/v1/model/get_bucket_customdomain_response.py +264 -0
  34. huaweicloudsdkobs/v1/model/get_bucket_metadata_request.py +203 -0
  35. huaweicloudsdkobs/v1/model/get_bucket_metadata_response.py +539 -0
  36. huaweicloudsdkobs/v1/model/get_bucket_notification_request.py +173 -0
  37. huaweicloudsdkobs/v1/model/get_bucket_notification_response.py +264 -0
  38. huaweicloudsdkobs/v1/model/get_object_metadata_request.py +405 -0
  39. huaweicloudsdkobs/v1/model/get_object_metadata_response.py +689 -0
  40. huaweicloudsdkobs/v1/model/get_object_request.py +666 -0
  41. huaweicloudsdkobs/v1/model/get_object_response.py +489 -0
  42. huaweicloudsdkobs/v1/model/grant.py +171 -0
  43. huaweicloudsdkobs/v1/model/grantee.py +146 -0
  44. huaweicloudsdkobs/v1/model/list_buckets_request.py +146 -0
  45. huaweicloudsdkobs/v1/model/list_buckets_response.py +314 -0
  46. huaweicloudsdkobs/v1/model/list_objects_request.py +348 -0
  47. huaweicloudsdkobs/v1/model/list_objects_response.py +546 -0
  48. huaweicloudsdkobs/v1/model/owner.py +117 -0
  49. huaweicloudsdkobs/v1/model/put_object_request.py +667 -0
  50. huaweicloudsdkobs/v1/model/put_object_response.py +389 -0
  51. huaweicloudsdkobs/v1/model/set_bucket_acl_request.py +227 -0
  52. huaweicloudsdkobs/v1/model/set_bucket_acl_request_body.py +138 -0
  53. huaweicloudsdkobs/v1/model/set_bucket_acl_response.py +239 -0
  54. huaweicloudsdkobs/v1/model/set_bucket_custom_domain_body.py +230 -0
  55. huaweicloudsdkobs/v1/model/set_bucket_customedomain_request.py +198 -0
  56. huaweicloudsdkobs/v1/model/set_bucket_customedomain_response.py +239 -0
  57. huaweicloudsdkobs/v1/model/set_bucket_notification_request.py +198 -0
  58. huaweicloudsdkobs/v1/model/set_bucket_notification_request_body.py +138 -0
  59. huaweicloudsdkobs/v1/model/set_bucket_notification_response.py +239 -0
  60. huaweicloudsdkobs/v1/model/topic_configuration.py +200 -0
  61. huaweicloudsdkobs/v1/model/topic_configuration_filter.py +113 -0
  62. huaweicloudsdkobs/v1/obs_async_client.py +1600 -0
  63. huaweicloudsdkobs/v1/obs_client.py +1597 -0
  64. huaweicloudsdkobs/v1/obs_credentials.py +69 -0
  65. huaweicloudsdkobs/v1/obs_signer.py +298 -0
  66. huaweicloudsdkobs/v1/region/__init__.py +0 -0
  67. huaweicloudsdkobs/v1/region/obs_region.py +88 -0
  68. huaweicloudsdkobs-3.1.160.dist-info/LICENSE +13 -0
  69. huaweicloudsdkobs-3.1.160.dist-info/METADATA +26 -0
  70. huaweicloudsdkobs-3.1.160.dist-info/RECORD +72 -0
  71. huaweicloudsdkobs-3.1.160.dist-info/WHEEL +5 -0
  72. huaweicloudsdkobs-3.1.160.dist-info/top_level.txt +1 -0
@@ -0,0 +1,173 @@
1
+ # coding: utf-8
2
+
3
+ import six
4
+
5
+ from huaweicloudsdkcore.utils.http_utils import sanitize_for_serialization
6
+
7
+
8
+ class Domains:
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
+ xml_name = "Domains"
18
+
19
+ sensitive_list = []
20
+
21
+ openapi_types = {
22
+ 'domain_name': 'str',
23
+ 'create_time': 'str',
24
+ 'certificate_id': 'str'
25
+ }
26
+
27
+ attribute_map = {
28
+ 'domain_name': 'DomainName',
29
+ 'create_time': 'CreateTime',
30
+ 'certificate_id': 'CertificateId'
31
+ }
32
+
33
+ def __init__(self, domain_name=None, create_time=None, certificate_id=None):
34
+ r"""Domains
35
+
36
+ The model defined in huaweicloud sdk
37
+
38
+ :param domain_name: Custom domain name
39
+ :type domain_name: str
40
+ :param create_time: Time when a custom domain name was created
41
+ :type create_time: str
42
+ :param certificate_id: Certificate id
43
+ :type certificate_id: str
44
+ """
45
+
46
+
47
+
48
+ self._domain_name = None
49
+ self._create_time = None
50
+ self._certificate_id = None
51
+ self.discriminator = None
52
+
53
+ self.domain_name = domain_name
54
+ self.create_time = create_time
55
+ if certificate_id is not None:
56
+ self.certificate_id = certificate_id
57
+
58
+ @property
59
+ def domain_name(self):
60
+ r"""Gets the domain_name of this Domains.
61
+
62
+ Custom domain name
63
+
64
+ :return: The domain_name of this Domains.
65
+ :rtype: str
66
+ """
67
+ return self._domain_name
68
+
69
+ @domain_name.setter
70
+ def domain_name(self, domain_name):
71
+ r"""Sets the domain_name of this Domains.
72
+
73
+ Custom domain name
74
+
75
+ :param domain_name: The domain_name of this Domains.
76
+ :type domain_name: str
77
+ """
78
+ self._domain_name = domain_name
79
+
80
+ @property
81
+ def create_time(self):
82
+ r"""Gets the create_time of this Domains.
83
+
84
+ Time when a custom domain name was created
85
+
86
+ :return: The create_time of this Domains.
87
+ :rtype: str
88
+ """
89
+ return self._create_time
90
+
91
+ @create_time.setter
92
+ def create_time(self, create_time):
93
+ r"""Sets the create_time of this Domains.
94
+
95
+ Time when a custom domain name was created
96
+
97
+ :param create_time: The create_time of this Domains.
98
+ :type create_time: str
99
+ """
100
+ self._create_time = create_time
101
+
102
+ @property
103
+ def certificate_id(self):
104
+ r"""Gets the certificate_id of this Domains.
105
+
106
+ Certificate id
107
+
108
+ :return: The certificate_id of this Domains.
109
+ :rtype: str
110
+ """
111
+ return self._certificate_id
112
+
113
+ @certificate_id.setter
114
+ def certificate_id(self, certificate_id):
115
+ r"""Sets the certificate_id of this Domains.
116
+
117
+ Certificate id
118
+
119
+ :param certificate_id: The certificate_id of this Domains.
120
+ :type certificate_id: str
121
+ """
122
+ self._certificate_id = certificate_id
123
+
124
+ def to_dict(self):
125
+ """Returns the model properties as a dict"""
126
+ result = {}
127
+
128
+ for attr, _ in six.iteritems(self.openapi_types):
129
+ value = getattr(self, attr)
130
+ if isinstance(value, list):
131
+ result[attr] = list(map(
132
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
133
+ value
134
+ ))
135
+ elif hasattr(value, "to_dict"):
136
+ result[attr] = value.to_dict()
137
+ elif isinstance(value, dict):
138
+ result[attr] = dict(map(
139
+ lambda item: (item[0], item[1].to_dict())
140
+ if hasattr(item[1], "to_dict") else item,
141
+ value.items()
142
+ ))
143
+ else:
144
+ if attr in self.sensitive_list:
145
+ result[attr] = "****"
146
+ else:
147
+ result[attr] = value
148
+
149
+ return result
150
+
151
+ def to_str(self):
152
+ """Returns the string representation of the model"""
153
+ import simplejson as json
154
+ if six.PY2:
155
+ import sys
156
+ reload(sys)
157
+ sys.setdefaultencoding("utf-8")
158
+ return json.dumps(sanitize_for_serialization(self), ensure_ascii=False)
159
+
160
+ def __repr__(self):
161
+ """For `print`"""
162
+ return self.to_str()
163
+
164
+ def __eq__(self, other):
165
+ """Returns true if both objects are equal"""
166
+ if not isinstance(other, Domains):
167
+ return False
168
+
169
+ return self.__dict__ == other.__dict__
170
+
171
+ def __ne__(self, other):
172
+ """Returns true if both objects are not equal"""
173
+ return not self == other
@@ -0,0 +1,113 @@
1
+ # coding: utf-8
2
+
3
+ import six
4
+
5
+ from huaweicloudsdkcore.utils.http_utils import sanitize_for_serialization
6
+
7
+
8
+ class FilterObject:
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
+ xml_name = "FilterObject"
18
+
19
+ sensitive_list = []
20
+
21
+ openapi_types = {
22
+ 'filter_rule': 'list[FilterRule]'
23
+ }
24
+
25
+ attribute_map = {
26
+ 'filter_rule': 'FilterRule'
27
+ }
28
+
29
+ def __init__(self, filter_rule=None):
30
+ r"""FilterObject
31
+
32
+ The model defined in huaweicloud sdk
33
+
34
+ :param filter_rule:
35
+ :type filter_rule: list[:class:`huaweicloudsdkobs.v1.FilterRule`]
36
+ """
37
+
38
+
39
+
40
+ self._filter_rule = None
41
+ self.discriminator = None
42
+
43
+ if filter_rule is not None:
44
+ self.filter_rule = filter_rule
45
+
46
+ @property
47
+ def filter_rule(self):
48
+ r"""Gets the filter_rule of this FilterObject.
49
+
50
+ :return: The filter_rule of this FilterObject.
51
+ :rtype: list[:class:`huaweicloudsdkobs.v1.FilterRule`]
52
+ """
53
+ return self._filter_rule
54
+
55
+ @filter_rule.setter
56
+ def filter_rule(self, filter_rule):
57
+ r"""Sets the filter_rule of this FilterObject.
58
+
59
+ :param filter_rule: The filter_rule of this FilterObject.
60
+ :type filter_rule: list[:class:`huaweicloudsdkobs.v1.FilterRule`]
61
+ """
62
+ self._filter_rule = filter_rule
63
+
64
+ def to_dict(self):
65
+ """Returns the model properties as a dict"""
66
+ result = {}
67
+
68
+ for attr, _ in six.iteritems(self.openapi_types):
69
+ value = getattr(self, attr)
70
+ if isinstance(value, list):
71
+ result[attr] = list(map(
72
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
73
+ value
74
+ ))
75
+ elif hasattr(value, "to_dict"):
76
+ result[attr] = value.to_dict()
77
+ elif isinstance(value, dict):
78
+ result[attr] = dict(map(
79
+ lambda item: (item[0], item[1].to_dict())
80
+ if hasattr(item[1], "to_dict") else item,
81
+ value.items()
82
+ ))
83
+ else:
84
+ if attr in self.sensitive_list:
85
+ result[attr] = "****"
86
+ else:
87
+ result[attr] = value
88
+
89
+ return result
90
+
91
+ def to_str(self):
92
+ """Returns the string representation of the model"""
93
+ import simplejson as json
94
+ if six.PY2:
95
+ import sys
96
+ reload(sys)
97
+ sys.setdefaultencoding("utf-8")
98
+ return json.dumps(sanitize_for_serialization(self), ensure_ascii=False)
99
+
100
+ def __repr__(self):
101
+ """For `print`"""
102
+ return self.to_str()
103
+
104
+ def __eq__(self, other):
105
+ """Returns true if both objects are equal"""
106
+ if not isinstance(other, FilterObject):
107
+ return False
108
+
109
+ return self.__dict__ == other.__dict__
110
+
111
+ def __ne__(self, other):
112
+ """Returns true if both objects are not equal"""
113
+ return not self == other
@@ -0,0 +1,146 @@
1
+ # coding: utf-8
2
+
3
+ import six
4
+
5
+ from huaweicloudsdkcore.utils.http_utils import sanitize_for_serialization
6
+
7
+
8
+ class FilterRule:
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
+ xml_name = "FilterRule"
18
+
19
+ sensitive_list = []
20
+
21
+ openapi_types = {
22
+ 'name': 'str',
23
+ 'value': 'str'
24
+ }
25
+
26
+ attribute_map = {
27
+ 'name': 'Name',
28
+ 'value': 'Value'
29
+ }
30
+
31
+ def __init__(self, name=None, value=None):
32
+ r"""FilterRule
33
+
34
+ The model defined in huaweicloud sdk
35
+
36
+ :param name: Prefix or suffix of object names for filtering
37
+ :type name: str
38
+ :param value: Key word of object names. Based on the prefix or suffix defined by **Name**, enter the key word for filtering objects. A longer string of characters delivers a more accurate filtering result. A maximum of 1024 characters are supported.
39
+ :type value: str
40
+ """
41
+
42
+
43
+
44
+ self._name = None
45
+ self._value = None
46
+ self.discriminator = None
47
+
48
+ if name is not None:
49
+ self.name = name
50
+ if value is not None:
51
+ self.value = value
52
+
53
+ @property
54
+ def name(self):
55
+ r"""Gets the name of this FilterRule.
56
+
57
+ Prefix or suffix of object names for filtering
58
+
59
+ :return: The name of this FilterRule.
60
+ :rtype: str
61
+ """
62
+ return self._name
63
+
64
+ @name.setter
65
+ def name(self, name):
66
+ r"""Sets the name of this FilterRule.
67
+
68
+ Prefix or suffix of object names for filtering
69
+
70
+ :param name: The name of this FilterRule.
71
+ :type name: str
72
+ """
73
+ self._name = name
74
+
75
+ @property
76
+ def value(self):
77
+ r"""Gets the value of this FilterRule.
78
+
79
+ Key word of object names. Based on the prefix or suffix defined by **Name**, enter the key word for filtering objects. A longer string of characters delivers a more accurate filtering result. A maximum of 1024 characters are supported.
80
+
81
+ :return: The value of this FilterRule.
82
+ :rtype: str
83
+ """
84
+ return self._value
85
+
86
+ @value.setter
87
+ def value(self, value):
88
+ r"""Sets the value of this FilterRule.
89
+
90
+ Key word of object names. Based on the prefix or suffix defined by **Name**, enter the key word for filtering objects. A longer string of characters delivers a more accurate filtering result. A maximum of 1024 characters are supported.
91
+
92
+ :param value: The value of this FilterRule.
93
+ :type value: str
94
+ """
95
+ self._value = value
96
+
97
+ def to_dict(self):
98
+ """Returns the model properties as a dict"""
99
+ result = {}
100
+
101
+ for attr, _ in six.iteritems(self.openapi_types):
102
+ value = getattr(self, attr)
103
+ if isinstance(value, list):
104
+ result[attr] = list(map(
105
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
106
+ value
107
+ ))
108
+ elif hasattr(value, "to_dict"):
109
+ result[attr] = value.to_dict()
110
+ elif isinstance(value, dict):
111
+ result[attr] = dict(map(
112
+ lambda item: (item[0], item[1].to_dict())
113
+ if hasattr(item[1], "to_dict") else item,
114
+ value.items()
115
+ ))
116
+ else:
117
+ if attr in self.sensitive_list:
118
+ result[attr] = "****"
119
+ else:
120
+ result[attr] = value
121
+
122
+ return result
123
+
124
+ def to_str(self):
125
+ """Returns the string representation of the model"""
126
+ import simplejson as json
127
+ if six.PY2:
128
+ import sys
129
+ reload(sys)
130
+ sys.setdefaultencoding("utf-8")
131
+ return json.dumps(sanitize_for_serialization(self), ensure_ascii=False)
132
+
133
+ def __repr__(self):
134
+ """For `print`"""
135
+ return self.to_str()
136
+
137
+ def __eq__(self, other):
138
+ """Returns true if both objects are equal"""
139
+ if not isinstance(other, FilterRule):
140
+ return False
141
+
142
+ return self.__dict__ == other.__dict__
143
+
144
+ def __ne__(self, other):
145
+ """Returns true if both objects are not equal"""
146
+ return not self == other
@@ -0,0 +1,229 @@
1
+ # coding: utf-8
2
+
3
+ import six
4
+
5
+ from huaweicloudsdkcore.utils.http_utils import sanitize_for_serialization
6
+
7
+
8
+ class FunctionStageConfiguration:
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
+ xml_name = "FunctionStageConfiguration"
18
+
19
+ sensitive_list = []
20
+
21
+ openapi_types = {
22
+ 'id': 'str',
23
+ 'filter': 'TopicConfigurationFilter',
24
+ 'topic': 'str',
25
+ 'event': 'str',
26
+ 'function_stage': 'str'
27
+ }
28
+
29
+ attribute_map = {
30
+ 'id': 'Id',
31
+ 'filter': 'Filter',
32
+ 'topic': 'Topic',
33
+ 'event': 'Event',
34
+ 'function_stage': 'FunctionStage'
35
+ }
36
+
37
+ def __init__(self, id=None, filter=None, topic=None, event=None, function_stage=None):
38
+ r"""FunctionStageConfiguration
39
+
40
+ The model defined in huaweicloud sdk
41
+
42
+ :param id: Unique ID of each event notification. If you do not specify an ID, the system assigns one.
43
+ :type id: str
44
+ :param filter:
45
+ :type filter: :class:`huaweicloudsdkobs.v1.TopicConfigurationFilter`
46
+ :param topic: URN of the event notification topic. When OBS detects a specific event in a bucket, it publishes a notification message to this topic. You can find the topic's URN on the [Topics](https://console-intl.huaweicloud.com/smn/?agencyId=7b00025342f14bcabb245478269c6593&region=cn-east-3&locale=en-us#/topics/list) page of the SMN console. Template: <Topic>urn:smn:region:project_id:smn_topic</Topic>
47
+ :type topic: str
48
+ :param event: Event types for which OBS sends notifications to users. Multiple event types can be added in one **TopicConfiguration** or **FunctionGraphConfiguration** item. Value options: Choose from the following for object upload operations: ObjectCreated:Put ObjectCreated:Post ObjectCreated:Copy ObjectCreated:CompleteMultipartUpload Or use a wildcard character to support all upload operations: ObjectCreated:* Choose from the following for object delete operations: ObjectRemoved:Delete ObjectRemoved:DeleteMarkerCreated Or use a wildcard character to support all delete operations: ObjectRemoved:*
49
+ :type event: str
50
+ :param function_stage: URN of a function in the function service. When OBS detects a specific event in the bucket, it sends a message to the function service to call this function. This element is required if **FunctionStageConfiguration** is added
51
+ :type function_stage: str
52
+ """
53
+
54
+
55
+
56
+ self._id = None
57
+ self._filter = None
58
+ self._topic = None
59
+ self._event = None
60
+ self._function_stage = None
61
+ self.discriminator = None
62
+
63
+ if id is not None:
64
+ self.id = id
65
+ if filter is not None:
66
+ self.filter = filter
67
+ if topic is not None:
68
+ self.topic = topic
69
+ if event is not None:
70
+ self.event = event
71
+ if function_stage is not None:
72
+ self.function_stage = function_stage
73
+
74
+ @property
75
+ def id(self):
76
+ r"""Gets the id of this FunctionStageConfiguration.
77
+
78
+ Unique ID of each event notification. If you do not specify an ID, the system assigns one.
79
+
80
+ :return: The id of this FunctionStageConfiguration.
81
+ :rtype: str
82
+ """
83
+ return self._id
84
+
85
+ @id.setter
86
+ def id(self, id):
87
+ r"""Sets the id of this FunctionStageConfiguration.
88
+
89
+ Unique ID of each event notification. If you do not specify an ID, the system assigns one.
90
+
91
+ :param id: The id of this FunctionStageConfiguration.
92
+ :type id: str
93
+ """
94
+ self._id = id
95
+
96
+ @property
97
+ def filter(self):
98
+ r"""Gets the filter of this FunctionStageConfiguration.
99
+
100
+ :return: The filter of this FunctionStageConfiguration.
101
+ :rtype: :class:`huaweicloudsdkobs.v1.TopicConfigurationFilter`
102
+ """
103
+ return self._filter
104
+
105
+ @filter.setter
106
+ def filter(self, filter):
107
+ r"""Sets the filter of this FunctionStageConfiguration.
108
+
109
+ :param filter: The filter of this FunctionStageConfiguration.
110
+ :type filter: :class:`huaweicloudsdkobs.v1.TopicConfigurationFilter`
111
+ """
112
+ self._filter = filter
113
+
114
+ @property
115
+ def topic(self):
116
+ r"""Gets the topic of this FunctionStageConfiguration.
117
+
118
+ URN of the event notification topic. When OBS detects a specific event in a bucket, it publishes a notification message to this topic. You can find the topic's URN on the [Topics](https://console-intl.huaweicloud.com/smn/?agencyId=7b00025342f14bcabb245478269c6593&region=cn-east-3&locale=en-us#/topics/list) page of the SMN console. Template: <Topic>urn:smn:region:project_id:smn_topic</Topic>
119
+
120
+ :return: The topic of this FunctionStageConfiguration.
121
+ :rtype: str
122
+ """
123
+ return self._topic
124
+
125
+ @topic.setter
126
+ def topic(self, topic):
127
+ r"""Sets the topic of this FunctionStageConfiguration.
128
+
129
+ URN of the event notification topic. When OBS detects a specific event in a bucket, it publishes a notification message to this topic. You can find the topic's URN on the [Topics](https://console-intl.huaweicloud.com/smn/?agencyId=7b00025342f14bcabb245478269c6593&region=cn-east-3&locale=en-us#/topics/list) page of the SMN console. Template: <Topic>urn:smn:region:project_id:smn_topic</Topic>
130
+
131
+ :param topic: The topic of this FunctionStageConfiguration.
132
+ :type topic: str
133
+ """
134
+ self._topic = topic
135
+
136
+ @property
137
+ def event(self):
138
+ r"""Gets the event of this FunctionStageConfiguration.
139
+
140
+ Event types for which OBS sends notifications to users. Multiple event types can be added in one **TopicConfiguration** or **FunctionGraphConfiguration** item. Value options: Choose from the following for object upload operations: ObjectCreated:Put ObjectCreated:Post ObjectCreated:Copy ObjectCreated:CompleteMultipartUpload Or use a wildcard character to support all upload operations: ObjectCreated:* Choose from the following for object delete operations: ObjectRemoved:Delete ObjectRemoved:DeleteMarkerCreated Or use a wildcard character to support all delete operations: ObjectRemoved:*
141
+
142
+ :return: The event of this FunctionStageConfiguration.
143
+ :rtype: str
144
+ """
145
+ return self._event
146
+
147
+ @event.setter
148
+ def event(self, event):
149
+ r"""Sets the event of this FunctionStageConfiguration.
150
+
151
+ Event types for which OBS sends notifications to users. Multiple event types can be added in one **TopicConfiguration** or **FunctionGraphConfiguration** item. Value options: Choose from the following for object upload operations: ObjectCreated:Put ObjectCreated:Post ObjectCreated:Copy ObjectCreated:CompleteMultipartUpload Or use a wildcard character to support all upload operations: ObjectCreated:* Choose from the following for object delete operations: ObjectRemoved:Delete ObjectRemoved:DeleteMarkerCreated Or use a wildcard character to support all delete operations: ObjectRemoved:*
152
+
153
+ :param event: The event of this FunctionStageConfiguration.
154
+ :type event: str
155
+ """
156
+ self._event = event
157
+
158
+ @property
159
+ def function_stage(self):
160
+ r"""Gets the function_stage of this FunctionStageConfiguration.
161
+
162
+ URN of a function in the function service. When OBS detects a specific event in the bucket, it sends a message to the function service to call this function. This element is required if **FunctionStageConfiguration** is added
163
+
164
+ :return: The function_stage of this FunctionStageConfiguration.
165
+ :rtype: str
166
+ """
167
+ return self._function_stage
168
+
169
+ @function_stage.setter
170
+ def function_stage(self, function_stage):
171
+ r"""Sets the function_stage of this FunctionStageConfiguration.
172
+
173
+ URN of a function in the function service. When OBS detects a specific event in the bucket, it sends a message to the function service to call this function. This element is required if **FunctionStageConfiguration** is added
174
+
175
+ :param function_stage: The function_stage of this FunctionStageConfiguration.
176
+ :type function_stage: str
177
+ """
178
+ self._function_stage = function_stage
179
+
180
+ def to_dict(self):
181
+ """Returns the model properties as a dict"""
182
+ result = {}
183
+
184
+ for attr, _ in six.iteritems(self.openapi_types):
185
+ value = getattr(self, attr)
186
+ if isinstance(value, list):
187
+ result[attr] = list(map(
188
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
189
+ value
190
+ ))
191
+ elif hasattr(value, "to_dict"):
192
+ result[attr] = value.to_dict()
193
+ elif isinstance(value, dict):
194
+ result[attr] = dict(map(
195
+ lambda item: (item[0], item[1].to_dict())
196
+ if hasattr(item[1], "to_dict") else item,
197
+ value.items()
198
+ ))
199
+ else:
200
+ if attr in self.sensitive_list:
201
+ result[attr] = "****"
202
+ else:
203
+ result[attr] = value
204
+
205
+ return result
206
+
207
+ def to_str(self):
208
+ """Returns the string representation of the model"""
209
+ import simplejson as json
210
+ if six.PY2:
211
+ import sys
212
+ reload(sys)
213
+ sys.setdefaultencoding("utf-8")
214
+ return json.dumps(sanitize_for_serialization(self), ensure_ascii=False)
215
+
216
+ def __repr__(self):
217
+ """For `print`"""
218
+ return self.to_str()
219
+
220
+ def __eq__(self, other):
221
+ """Returns true if both objects are equal"""
222
+ if not isinstance(other, FunctionStageConfiguration):
223
+ return False
224
+
225
+ return self.__dict__ == other.__dict__
226
+
227
+ def __ne__(self, other):
228
+ """Returns true if both objects are not equal"""
229
+ return not self == other