pulumi-alicloud 3.56.0a1717175543__py3-none-any.whl → 3.57.0__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 (55) hide show
  1. pulumi_alicloud/__init__.py +72 -0
  2. pulumi_alicloud/cen/get_transit_router_available_resources.py +32 -11
  3. pulumi_alicloud/cen/outputs.py +23 -1
  4. pulumi_alicloud/cfg/remediation.py +10 -2
  5. pulumi_alicloud/clickhouse/db_cluster.py +47 -0
  6. pulumi_alicloud/cms/__init__.py +1 -0
  7. pulumi_alicloud/cms/_inputs.py +18 -18
  8. pulumi_alicloud/cms/alarm.py +38 -26
  9. pulumi_alicloud/cms/get_site_monitors.py +243 -0
  10. pulumi_alicloud/cms/outputs.py +92 -18
  11. pulumi_alicloud/cs/node_pool.py +7 -7
  12. pulumi_alicloud/ecs/_inputs.py +10 -14
  13. pulumi_alicloud/ecs/image_import.py +162 -100
  14. pulumi_alicloud/ecs/outputs.py +10 -14
  15. pulumi_alicloud/ecs/security_group_rule.py +2 -2
  16. pulumi_alicloud/eds/network_package.py +22 -8
  17. pulumi_alicloud/expressconnect/__init__.py +8 -0
  18. pulumi_alicloud/expressconnect/_inputs.py +40 -0
  19. pulumi_alicloud/expressconnect/outputs.py +51 -0
  20. pulumi_alicloud/expressconnect/router_express_connect_router.py +458 -0
  21. pulumi_alicloud/expressconnect/router_tr_association.py +578 -0
  22. pulumi_alicloud/expressconnect/router_vbr_child_instance.py +475 -0
  23. pulumi_alicloud/expressconnect/router_vpc_association.py +500 -0
  24. pulumi_alicloud/expressconnect/traffic_qos.py +284 -0
  25. pulumi_alicloud/expressconnect/traffic_qos_association.py +336 -0
  26. pulumi_alicloud/expressconnect/traffic_qos_queue.py +520 -0
  27. pulumi_alicloud/expressconnect/traffic_qos_rule.py +1174 -0
  28. pulumi_alicloud/gpdb/__init__.py +1 -0
  29. pulumi_alicloud/gpdb/db_resource_group.py +364 -0
  30. pulumi_alicloud/gpdb/instance.py +47 -0
  31. pulumi_alicloud/hbase/get_instance_types.py +2 -2
  32. pulumi_alicloud/mongodb/instance.py +7 -7
  33. pulumi_alicloud/oss/bucket_cors.py +8 -4
  34. pulumi_alicloud/oss/bucket_data_redundancy_transition.py +12 -4
  35. pulumi_alicloud/oss/bucket_public_access_block.py +12 -4
  36. pulumi_alicloud/ots/instance.py +7 -7
  37. pulumi_alicloud/ots/table.py +149 -8
  38. pulumi_alicloud/pulumi-plugin.json +1 -1
  39. pulumi_alicloud/sae/load_balancer_internet.py +4 -2
  40. pulumi_alicloud/sae/load_balancer_intranet.py +4 -2
  41. pulumi_alicloud/servicemesh/_inputs.py +0 -6
  42. pulumi_alicloud/servicemesh/outputs.py +0 -6
  43. pulumi_alicloud/servicemesh/service_mesh.py +2 -2
  44. pulumi_alicloud/simpleapplicationserver/snapshot.py +10 -2
  45. pulumi_alicloud/vpc/bgp_peer.py +36 -8
  46. pulumi_alicloud/vpc/network.py +0 -4
  47. pulumi_alicloud/vpn/connection.py +220 -0
  48. pulumi_alicloud/vpn/gateway_vpn_attachment.py +2 -2
  49. pulumi_alicloud/vpn/ipsec_server.py +20 -12
  50. pulumi_alicloud/vpn/pbr_route_entry.py +152 -16
  51. pulumi_alicloud/vpn/route_entry.py +158 -44
  52. {pulumi_alicloud-3.56.0a1717175543.dist-info → pulumi_alicloud-3.57.0.dist-info}/METADATA +1 -1
  53. {pulumi_alicloud-3.56.0a1717175543.dist-info → pulumi_alicloud-3.57.0.dist-info}/RECORD +55 -45
  54. {pulumi_alicloud-3.56.0a1717175543.dist-info → pulumi_alicloud-3.57.0.dist-info}/WHEEL +0 -0
  55. {pulumi_alicloud-3.56.0a1717175543.dist-info → pulumi_alicloud-3.57.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,284 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import pulumi
8
+ import pulumi.runtime
9
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
10
+ from .. import _utilities
11
+
12
+ __all__ = ['TrafficQosArgs', 'TrafficQos']
13
+
14
+ @pulumi.input_type
15
+ class TrafficQosArgs:
16
+ def __init__(__self__, *,
17
+ qos_description: Optional[pulumi.Input[str]] = None,
18
+ qos_name: Optional[pulumi.Input[str]] = None):
19
+ """
20
+ The set of arguments for constructing a TrafficQos resource.
21
+ :param pulumi.Input[str] qos_description: The description of the QoS policy. The length is **0** to **256** characters and cannot start with 'http:// 'or 'https.
22
+ :param pulumi.Input[str] qos_name: The name of the QoS policy. The length is **0** to **128** characters and cannot start with 'http:// 'or 'https.
23
+ """
24
+ if qos_description is not None:
25
+ pulumi.set(__self__, "qos_description", qos_description)
26
+ if qos_name is not None:
27
+ pulumi.set(__self__, "qos_name", qos_name)
28
+
29
+ @property
30
+ @pulumi.getter(name="qosDescription")
31
+ def qos_description(self) -> Optional[pulumi.Input[str]]:
32
+ """
33
+ The description of the QoS policy. The length is **0** to **256** characters and cannot start with 'http:// 'or 'https.
34
+ """
35
+ return pulumi.get(self, "qos_description")
36
+
37
+ @qos_description.setter
38
+ def qos_description(self, value: Optional[pulumi.Input[str]]):
39
+ pulumi.set(self, "qos_description", value)
40
+
41
+ @property
42
+ @pulumi.getter(name="qosName")
43
+ def qos_name(self) -> Optional[pulumi.Input[str]]:
44
+ """
45
+ The name of the QoS policy. The length is **0** to **128** characters and cannot start with 'http:// 'or 'https.
46
+ """
47
+ return pulumi.get(self, "qos_name")
48
+
49
+ @qos_name.setter
50
+ def qos_name(self, value: Optional[pulumi.Input[str]]):
51
+ pulumi.set(self, "qos_name", value)
52
+
53
+
54
+ @pulumi.input_type
55
+ class _TrafficQosState:
56
+ def __init__(__self__, *,
57
+ qos_description: Optional[pulumi.Input[str]] = None,
58
+ qos_name: Optional[pulumi.Input[str]] = None,
59
+ status: Optional[pulumi.Input[str]] = None):
60
+ """
61
+ Input properties used for looking up and filtering TrafficQos resources.
62
+ :param pulumi.Input[str] qos_description: The description of the QoS policy. The length is **0** to **256** characters and cannot start with 'http:// 'or 'https.
63
+ :param pulumi.Input[str] qos_name: The name of the QoS policy. The length is **0** to **128** characters and cannot start with 'http:// 'or 'https.
64
+ :param pulumi.Input[str] status: The status of the QoS policy. Value:
65
+ > **NOTE:** QoS in the configuration state will restrict the creation, update, and deletion of most QoS policies, QoS queues, and QoS rules.
66
+ """
67
+ if qos_description is not None:
68
+ pulumi.set(__self__, "qos_description", qos_description)
69
+ if qos_name is not None:
70
+ pulumi.set(__self__, "qos_name", qos_name)
71
+ if status is not None:
72
+ pulumi.set(__self__, "status", status)
73
+
74
+ @property
75
+ @pulumi.getter(name="qosDescription")
76
+ def qos_description(self) -> Optional[pulumi.Input[str]]:
77
+ """
78
+ The description of the QoS policy. The length is **0** to **256** characters and cannot start with 'http:// 'or 'https.
79
+ """
80
+ return pulumi.get(self, "qos_description")
81
+
82
+ @qos_description.setter
83
+ def qos_description(self, value: Optional[pulumi.Input[str]]):
84
+ pulumi.set(self, "qos_description", value)
85
+
86
+ @property
87
+ @pulumi.getter(name="qosName")
88
+ def qos_name(self) -> Optional[pulumi.Input[str]]:
89
+ """
90
+ The name of the QoS policy. The length is **0** to **128** characters and cannot start with 'http:// 'or 'https.
91
+ """
92
+ return pulumi.get(self, "qos_name")
93
+
94
+ @qos_name.setter
95
+ def qos_name(self, value: Optional[pulumi.Input[str]]):
96
+ pulumi.set(self, "qos_name", value)
97
+
98
+ @property
99
+ @pulumi.getter
100
+ def status(self) -> Optional[pulumi.Input[str]]:
101
+ """
102
+ The status of the QoS policy. Value:
103
+ > **NOTE:** QoS in the configuration state will restrict the creation, update, and deletion of most QoS policies, QoS queues, and QoS rules.
104
+ """
105
+ return pulumi.get(self, "status")
106
+
107
+ @status.setter
108
+ def status(self, value: Optional[pulumi.Input[str]]):
109
+ pulumi.set(self, "status", value)
110
+
111
+
112
+ class TrafficQos(pulumi.CustomResource):
113
+ @overload
114
+ def __init__(__self__,
115
+ resource_name: str,
116
+ opts: Optional[pulumi.ResourceOptions] = None,
117
+ qos_description: Optional[pulumi.Input[str]] = None,
118
+ qos_name: Optional[pulumi.Input[str]] = None,
119
+ __props__=None):
120
+ """
121
+ Provides a Express Connect Traffic Qos resource. Express Connect Traffic QoS Policy.
122
+
123
+ For information about Express Connect Traffic Qos and how to use it, see [What is Traffic Qos](https://next.api.alibabacloud.com/document/Vpc/2016-04-28/CreateExpressConnectTrafficQos).
124
+
125
+ > **NOTE:** Available since v1.224.0.
126
+
127
+ ## Example Usage
128
+
129
+ Basic Usage
130
+
131
+ ```python
132
+ import pulumi
133
+ import pulumi_alicloud as alicloud
134
+
135
+ config = pulumi.Config()
136
+ name = config.get("name")
137
+ if name is None:
138
+ name = "terraform-example"
139
+ default = alicloud.expressconnect.get_physical_connections(name_regex="preserved-NODELETING")
140
+ create_qos = alicloud.expressconnect.TrafficQos("createQos",
141
+ qos_name=name,
142
+ qos_description="terraform-example")
143
+ ```
144
+
145
+ ## Import
146
+
147
+ Express Connect Traffic Qos can be imported using the id, e.g.
148
+
149
+ ```sh
150
+ $ pulumi import alicloud:expressconnect/trafficQos:TrafficQos example <id>
151
+ ```
152
+
153
+ :param str resource_name: The name of the resource.
154
+ :param pulumi.ResourceOptions opts: Options for the resource.
155
+ :param pulumi.Input[str] qos_description: The description of the QoS policy. The length is **0** to **256** characters and cannot start with 'http:// 'or 'https.
156
+ :param pulumi.Input[str] qos_name: The name of the QoS policy. The length is **0** to **128** characters and cannot start with 'http:// 'or 'https.
157
+ """
158
+ ...
159
+ @overload
160
+ def __init__(__self__,
161
+ resource_name: str,
162
+ args: Optional[TrafficQosArgs] = None,
163
+ opts: Optional[pulumi.ResourceOptions] = None):
164
+ """
165
+ Provides a Express Connect Traffic Qos resource. Express Connect Traffic QoS Policy.
166
+
167
+ For information about Express Connect Traffic Qos and how to use it, see [What is Traffic Qos](https://next.api.alibabacloud.com/document/Vpc/2016-04-28/CreateExpressConnectTrafficQos).
168
+
169
+ > **NOTE:** Available since v1.224.0.
170
+
171
+ ## Example Usage
172
+
173
+ Basic Usage
174
+
175
+ ```python
176
+ import pulumi
177
+ import pulumi_alicloud as alicloud
178
+
179
+ config = pulumi.Config()
180
+ name = config.get("name")
181
+ if name is None:
182
+ name = "terraform-example"
183
+ default = alicloud.expressconnect.get_physical_connections(name_regex="preserved-NODELETING")
184
+ create_qos = alicloud.expressconnect.TrafficQos("createQos",
185
+ qos_name=name,
186
+ qos_description="terraform-example")
187
+ ```
188
+
189
+ ## Import
190
+
191
+ Express Connect Traffic Qos can be imported using the id, e.g.
192
+
193
+ ```sh
194
+ $ pulumi import alicloud:expressconnect/trafficQos:TrafficQos example <id>
195
+ ```
196
+
197
+ :param str resource_name: The name of the resource.
198
+ :param TrafficQosArgs args: The arguments to use to populate this resource's properties.
199
+ :param pulumi.ResourceOptions opts: Options for the resource.
200
+ """
201
+ ...
202
+ def __init__(__self__, resource_name: str, *args, **kwargs):
203
+ resource_args, opts = _utilities.get_resource_args_opts(TrafficQosArgs, pulumi.ResourceOptions, *args, **kwargs)
204
+ if resource_args is not None:
205
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
206
+ else:
207
+ __self__._internal_init(resource_name, *args, **kwargs)
208
+
209
+ def _internal_init(__self__,
210
+ resource_name: str,
211
+ opts: Optional[pulumi.ResourceOptions] = None,
212
+ qos_description: Optional[pulumi.Input[str]] = None,
213
+ qos_name: Optional[pulumi.Input[str]] = None,
214
+ __props__=None):
215
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
216
+ if not isinstance(opts, pulumi.ResourceOptions):
217
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
218
+ if opts.id is None:
219
+ if __props__ is not None:
220
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
221
+ __props__ = TrafficQosArgs.__new__(TrafficQosArgs)
222
+
223
+ __props__.__dict__["qos_description"] = qos_description
224
+ __props__.__dict__["qos_name"] = qos_name
225
+ __props__.__dict__["status"] = None
226
+ super(TrafficQos, __self__).__init__(
227
+ 'alicloud:expressconnect/trafficQos:TrafficQos',
228
+ resource_name,
229
+ __props__,
230
+ opts)
231
+
232
+ @staticmethod
233
+ def get(resource_name: str,
234
+ id: pulumi.Input[str],
235
+ opts: Optional[pulumi.ResourceOptions] = None,
236
+ qos_description: Optional[pulumi.Input[str]] = None,
237
+ qos_name: Optional[pulumi.Input[str]] = None,
238
+ status: Optional[pulumi.Input[str]] = None) -> 'TrafficQos':
239
+ """
240
+ Get an existing TrafficQos resource's state with the given name, id, and optional extra
241
+ properties used to qualify the lookup.
242
+
243
+ :param str resource_name: The unique name of the resulting resource.
244
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
245
+ :param pulumi.ResourceOptions opts: Options for the resource.
246
+ :param pulumi.Input[str] qos_description: The description of the QoS policy. The length is **0** to **256** characters and cannot start with 'http:// 'or 'https.
247
+ :param pulumi.Input[str] qos_name: The name of the QoS policy. The length is **0** to **128** characters and cannot start with 'http:// 'or 'https.
248
+ :param pulumi.Input[str] status: The status of the QoS policy. Value:
249
+ > **NOTE:** QoS in the configuration state will restrict the creation, update, and deletion of most QoS policies, QoS queues, and QoS rules.
250
+ """
251
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
252
+
253
+ __props__ = _TrafficQosState.__new__(_TrafficQosState)
254
+
255
+ __props__.__dict__["qos_description"] = qos_description
256
+ __props__.__dict__["qos_name"] = qos_name
257
+ __props__.__dict__["status"] = status
258
+ return TrafficQos(resource_name, opts=opts, __props__=__props__)
259
+
260
+ @property
261
+ @pulumi.getter(name="qosDescription")
262
+ def qos_description(self) -> pulumi.Output[Optional[str]]:
263
+ """
264
+ The description of the QoS policy. The length is **0** to **256** characters and cannot start with 'http:// 'or 'https.
265
+ """
266
+ return pulumi.get(self, "qos_description")
267
+
268
+ @property
269
+ @pulumi.getter(name="qosName")
270
+ def qos_name(self) -> pulumi.Output[Optional[str]]:
271
+ """
272
+ The name of the QoS policy. The length is **0** to **128** characters and cannot start with 'http:// 'or 'https.
273
+ """
274
+ return pulumi.get(self, "qos_name")
275
+
276
+ @property
277
+ @pulumi.getter
278
+ def status(self) -> pulumi.Output[str]:
279
+ """
280
+ The status of the QoS policy. Value:
281
+ > **NOTE:** QoS in the configuration state will restrict the creation, update, and deletion of most QoS policies, QoS queues, and QoS rules.
282
+ """
283
+ return pulumi.get(self, "status")
284
+
@@ -0,0 +1,336 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import pulumi
8
+ import pulumi.runtime
9
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
10
+ from .. import _utilities
11
+
12
+ __all__ = ['TrafficQosAssociationArgs', 'TrafficQosAssociation']
13
+
14
+ @pulumi.input_type
15
+ class TrafficQosAssociationArgs:
16
+ def __init__(__self__, *,
17
+ qos_id: pulumi.Input[str],
18
+ instance_id: Optional[pulumi.Input[str]] = None,
19
+ instance_type: Optional[pulumi.Input[str]] = None):
20
+ """
21
+ The set of arguments for constructing a TrafficQosAssociation resource.
22
+ :param pulumi.Input[str] qos_id: The QoS policy ID.
23
+ :param pulumi.Input[str] instance_id: The ID of the associated instance.
24
+ :param pulumi.Input[str] instance_type: The type of the associated instance. Value: **physical connection** physical connection.
25
+ """
26
+ pulumi.set(__self__, "qos_id", qos_id)
27
+ if instance_id is not None:
28
+ pulumi.set(__self__, "instance_id", instance_id)
29
+ if instance_type is not None:
30
+ pulumi.set(__self__, "instance_type", instance_type)
31
+
32
+ @property
33
+ @pulumi.getter(name="qosId")
34
+ def qos_id(self) -> pulumi.Input[str]:
35
+ """
36
+ The QoS policy ID.
37
+ """
38
+ return pulumi.get(self, "qos_id")
39
+
40
+ @qos_id.setter
41
+ def qos_id(self, value: pulumi.Input[str]):
42
+ pulumi.set(self, "qos_id", value)
43
+
44
+ @property
45
+ @pulumi.getter(name="instanceId")
46
+ def instance_id(self) -> Optional[pulumi.Input[str]]:
47
+ """
48
+ The ID of the associated instance.
49
+ """
50
+ return pulumi.get(self, "instance_id")
51
+
52
+ @instance_id.setter
53
+ def instance_id(self, value: Optional[pulumi.Input[str]]):
54
+ pulumi.set(self, "instance_id", value)
55
+
56
+ @property
57
+ @pulumi.getter(name="instanceType")
58
+ def instance_type(self) -> Optional[pulumi.Input[str]]:
59
+ """
60
+ The type of the associated instance. Value: **physical connection** physical connection.
61
+ """
62
+ return pulumi.get(self, "instance_type")
63
+
64
+ @instance_type.setter
65
+ def instance_type(self, value: Optional[pulumi.Input[str]]):
66
+ pulumi.set(self, "instance_type", value)
67
+
68
+
69
+ @pulumi.input_type
70
+ class _TrafficQosAssociationState:
71
+ def __init__(__self__, *,
72
+ instance_id: Optional[pulumi.Input[str]] = None,
73
+ instance_type: Optional[pulumi.Input[str]] = None,
74
+ qos_id: Optional[pulumi.Input[str]] = None,
75
+ status: Optional[pulumi.Input[str]] = None):
76
+ """
77
+ Input properties used for looking up and filtering TrafficQosAssociation resources.
78
+ :param pulumi.Input[str] instance_id: The ID of the associated instance.
79
+ :param pulumi.Input[str] instance_type: The type of the associated instance. Value: **physical connection** physical connection.
80
+ :param pulumi.Input[str] qos_id: The QoS policy ID.
81
+ :param pulumi.Input[str] status: The status of the associated instance. Value:
82
+ """
83
+ if instance_id is not None:
84
+ pulumi.set(__self__, "instance_id", instance_id)
85
+ if instance_type is not None:
86
+ pulumi.set(__self__, "instance_type", instance_type)
87
+ if qos_id is not None:
88
+ pulumi.set(__self__, "qos_id", qos_id)
89
+ if status is not None:
90
+ pulumi.set(__self__, "status", status)
91
+
92
+ @property
93
+ @pulumi.getter(name="instanceId")
94
+ def instance_id(self) -> Optional[pulumi.Input[str]]:
95
+ """
96
+ The ID of the associated instance.
97
+ """
98
+ return pulumi.get(self, "instance_id")
99
+
100
+ @instance_id.setter
101
+ def instance_id(self, value: Optional[pulumi.Input[str]]):
102
+ pulumi.set(self, "instance_id", value)
103
+
104
+ @property
105
+ @pulumi.getter(name="instanceType")
106
+ def instance_type(self) -> Optional[pulumi.Input[str]]:
107
+ """
108
+ The type of the associated instance. Value: **physical connection** physical connection.
109
+ """
110
+ return pulumi.get(self, "instance_type")
111
+
112
+ @instance_type.setter
113
+ def instance_type(self, value: Optional[pulumi.Input[str]]):
114
+ pulumi.set(self, "instance_type", value)
115
+
116
+ @property
117
+ @pulumi.getter(name="qosId")
118
+ def qos_id(self) -> Optional[pulumi.Input[str]]:
119
+ """
120
+ The QoS policy ID.
121
+ """
122
+ return pulumi.get(self, "qos_id")
123
+
124
+ @qos_id.setter
125
+ def qos_id(self, value: Optional[pulumi.Input[str]]):
126
+ pulumi.set(self, "qos_id", value)
127
+
128
+ @property
129
+ @pulumi.getter
130
+ def status(self) -> Optional[pulumi.Input[str]]:
131
+ """
132
+ The status of the associated instance. Value:
133
+ """
134
+ return pulumi.get(self, "status")
135
+
136
+ @status.setter
137
+ def status(self, value: Optional[pulumi.Input[str]]):
138
+ pulumi.set(self, "status", value)
139
+
140
+
141
+ class TrafficQosAssociation(pulumi.CustomResource):
142
+ @overload
143
+ def __init__(__self__,
144
+ resource_name: str,
145
+ opts: Optional[pulumi.ResourceOptions] = None,
146
+ instance_id: Optional[pulumi.Input[str]] = None,
147
+ instance_type: Optional[pulumi.Input[str]] = None,
148
+ qos_id: Optional[pulumi.Input[str]] = None,
149
+ __props__=None):
150
+ """
151
+ Provides a Express Connect Traffic Qos Association resource. Express Connect QoS associated resources.
152
+
153
+ For information about Express Connect Traffic Qos Association and how to use it, see [What is Traffic Qos Association](https://next.api.alibabacloud.com/document/Vpc/2016-04-28/ModifyExpressConnectTrafficQos).
154
+
155
+ > **NOTE:** Available since v1.224.0.
156
+
157
+ ## Example Usage
158
+
159
+ Basic Usage
160
+
161
+ ```python
162
+ import pulumi
163
+ import pulumi_alicloud as alicloud
164
+
165
+ config = pulumi.Config()
166
+ name = config.get("name")
167
+ if name is None:
168
+ name = "terraform-example"
169
+ default = alicloud.expressconnect.get_physical_connections(name_regex="preserved-NODELETING")
170
+ create_qos = alicloud.expressconnect.TrafficQos("createQos",
171
+ qos_name=name,
172
+ qos_description="terraform-example")
173
+ associate_qos = alicloud.expressconnect.TrafficQosAssociation("associateQos",
174
+ instance_id=default.ids[1],
175
+ qos_id=create_qos.id,
176
+ instance_type="PHYSICALCONNECTION")
177
+ ```
178
+
179
+ ## Import
180
+
181
+ Express Connect Traffic Qos Association can be imported using the id, e.g.
182
+
183
+ ```sh
184
+ $ pulumi import alicloud:expressconnect/trafficQosAssociation:TrafficQosAssociation example <qos_id>:<instance_id>:<instance_type>
185
+ ```
186
+
187
+ :param str resource_name: The name of the resource.
188
+ :param pulumi.ResourceOptions opts: Options for the resource.
189
+ :param pulumi.Input[str] instance_id: The ID of the associated instance.
190
+ :param pulumi.Input[str] instance_type: The type of the associated instance. Value: **physical connection** physical connection.
191
+ :param pulumi.Input[str] qos_id: The QoS policy ID.
192
+ """
193
+ ...
194
+ @overload
195
+ def __init__(__self__,
196
+ resource_name: str,
197
+ args: TrafficQosAssociationArgs,
198
+ opts: Optional[pulumi.ResourceOptions] = None):
199
+ """
200
+ Provides a Express Connect Traffic Qos Association resource. Express Connect QoS associated resources.
201
+
202
+ For information about Express Connect Traffic Qos Association and how to use it, see [What is Traffic Qos Association](https://next.api.alibabacloud.com/document/Vpc/2016-04-28/ModifyExpressConnectTrafficQos).
203
+
204
+ > **NOTE:** Available since v1.224.0.
205
+
206
+ ## Example Usage
207
+
208
+ Basic Usage
209
+
210
+ ```python
211
+ import pulumi
212
+ import pulumi_alicloud as alicloud
213
+
214
+ config = pulumi.Config()
215
+ name = config.get("name")
216
+ if name is None:
217
+ name = "terraform-example"
218
+ default = alicloud.expressconnect.get_physical_connections(name_regex="preserved-NODELETING")
219
+ create_qos = alicloud.expressconnect.TrafficQos("createQos",
220
+ qos_name=name,
221
+ qos_description="terraform-example")
222
+ associate_qos = alicloud.expressconnect.TrafficQosAssociation("associateQos",
223
+ instance_id=default.ids[1],
224
+ qos_id=create_qos.id,
225
+ instance_type="PHYSICALCONNECTION")
226
+ ```
227
+
228
+ ## Import
229
+
230
+ Express Connect Traffic Qos Association can be imported using the id, e.g.
231
+
232
+ ```sh
233
+ $ pulumi import alicloud:expressconnect/trafficQosAssociation:TrafficQosAssociation example <qos_id>:<instance_id>:<instance_type>
234
+ ```
235
+
236
+ :param str resource_name: The name of the resource.
237
+ :param TrafficQosAssociationArgs args: The arguments to use to populate this resource's properties.
238
+ :param pulumi.ResourceOptions opts: Options for the resource.
239
+ """
240
+ ...
241
+ def __init__(__self__, resource_name: str, *args, **kwargs):
242
+ resource_args, opts = _utilities.get_resource_args_opts(TrafficQosAssociationArgs, pulumi.ResourceOptions, *args, **kwargs)
243
+ if resource_args is not None:
244
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
245
+ else:
246
+ __self__._internal_init(resource_name, *args, **kwargs)
247
+
248
+ def _internal_init(__self__,
249
+ resource_name: str,
250
+ opts: Optional[pulumi.ResourceOptions] = None,
251
+ instance_id: Optional[pulumi.Input[str]] = None,
252
+ instance_type: Optional[pulumi.Input[str]] = None,
253
+ qos_id: Optional[pulumi.Input[str]] = None,
254
+ __props__=None):
255
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
256
+ if not isinstance(opts, pulumi.ResourceOptions):
257
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
258
+ if opts.id is None:
259
+ if __props__ is not None:
260
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
261
+ __props__ = TrafficQosAssociationArgs.__new__(TrafficQosAssociationArgs)
262
+
263
+ __props__.__dict__["instance_id"] = instance_id
264
+ __props__.__dict__["instance_type"] = instance_type
265
+ if qos_id is None and not opts.urn:
266
+ raise TypeError("Missing required property 'qos_id'")
267
+ __props__.__dict__["qos_id"] = qos_id
268
+ __props__.__dict__["status"] = None
269
+ super(TrafficQosAssociation, __self__).__init__(
270
+ 'alicloud:expressconnect/trafficQosAssociation:TrafficQosAssociation',
271
+ resource_name,
272
+ __props__,
273
+ opts)
274
+
275
+ @staticmethod
276
+ def get(resource_name: str,
277
+ id: pulumi.Input[str],
278
+ opts: Optional[pulumi.ResourceOptions] = None,
279
+ instance_id: Optional[pulumi.Input[str]] = None,
280
+ instance_type: Optional[pulumi.Input[str]] = None,
281
+ qos_id: Optional[pulumi.Input[str]] = None,
282
+ status: Optional[pulumi.Input[str]] = None) -> 'TrafficQosAssociation':
283
+ """
284
+ Get an existing TrafficQosAssociation resource's state with the given name, id, and optional extra
285
+ properties used to qualify the lookup.
286
+
287
+ :param str resource_name: The unique name of the resulting resource.
288
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
289
+ :param pulumi.ResourceOptions opts: Options for the resource.
290
+ :param pulumi.Input[str] instance_id: The ID of the associated instance.
291
+ :param pulumi.Input[str] instance_type: The type of the associated instance. Value: **physical connection** physical connection.
292
+ :param pulumi.Input[str] qos_id: The QoS policy ID.
293
+ :param pulumi.Input[str] status: The status of the associated instance. Value:
294
+ """
295
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
296
+
297
+ __props__ = _TrafficQosAssociationState.__new__(_TrafficQosAssociationState)
298
+
299
+ __props__.__dict__["instance_id"] = instance_id
300
+ __props__.__dict__["instance_type"] = instance_type
301
+ __props__.__dict__["qos_id"] = qos_id
302
+ __props__.__dict__["status"] = status
303
+ return TrafficQosAssociation(resource_name, opts=opts, __props__=__props__)
304
+
305
+ @property
306
+ @pulumi.getter(name="instanceId")
307
+ def instance_id(self) -> pulumi.Output[str]:
308
+ """
309
+ The ID of the associated instance.
310
+ """
311
+ return pulumi.get(self, "instance_id")
312
+
313
+ @property
314
+ @pulumi.getter(name="instanceType")
315
+ def instance_type(self) -> pulumi.Output[str]:
316
+ """
317
+ The type of the associated instance. Value: **physical connection** physical connection.
318
+ """
319
+ return pulumi.get(self, "instance_type")
320
+
321
+ @property
322
+ @pulumi.getter(name="qosId")
323
+ def qos_id(self) -> pulumi.Output[str]:
324
+ """
325
+ The QoS policy ID.
326
+ """
327
+ return pulumi.get(self, "qos_id")
328
+
329
+ @property
330
+ @pulumi.getter
331
+ def status(self) -> pulumi.Output[str]:
332
+ """
333
+ The status of the associated instance. Value:
334
+ """
335
+ return pulumi.get(self, "status")
336
+