pulumi-alicloud 3.73.0a1736850863__py3-none-any.whl → 3.73.0a1736949061__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.

Potentially problematic release.


This version of pulumi-alicloud might be problematic. Click here for more details.

Files changed (78) hide show
  1. pulumi_alicloud/__init__.py +59 -0
  2. pulumi_alicloud/alb/__init__.py +1 -0
  3. pulumi_alicloud/alb/_inputs.py +6 -6
  4. pulumi_alicloud/alb/a_script.py +116 -98
  5. pulumi_alicloud/alb/load_balancer_access_log_config_attachment.py +303 -0
  6. pulumi_alicloud/alb/outputs.py +4 -4
  7. pulumi_alicloud/alikafka/instance.py +188 -70
  8. pulumi_alicloud/amqp/instance.py +77 -28
  9. pulumi_alicloud/bastionhost/_inputs.py +40 -38
  10. pulumi_alicloud/bastionhost/get_instances.py +6 -22
  11. pulumi_alicloud/bastionhost/outputs.py +60 -49
  12. pulumi_alicloud/cen/instance_grant.py +4 -0
  13. pulumi_alicloud/cloudcontrol/__init__.py +12 -0
  14. pulumi_alicloud/cloudcontrol/get_prices.py +199 -0
  15. pulumi_alicloud/cloudcontrol/get_products.py +187 -0
  16. pulumi_alicloud/cloudcontrol/get_resource_types.py +178 -0
  17. pulumi_alicloud/cloudcontrol/outputs.py +688 -0
  18. pulumi_alicloud/cloudcontrol/resource.py +407 -0
  19. pulumi_alicloud/cms/_inputs.py +21 -15
  20. pulumi_alicloud/cms/alarm.py +7 -7
  21. pulumi_alicloud/cms/outputs.py +14 -10
  22. pulumi_alicloud/cs/get_edge_kubernetes_clusters.py +4 -2
  23. pulumi_alicloud/cs/get_managed_kubernetes_clusters.py +2 -0
  24. pulumi_alicloud/cs/kubernetes.py +14 -14
  25. pulumi_alicloud/cs/managed_kubernetes.py +137 -47
  26. pulumi_alicloud/dataworks/__init__.py +4 -0
  27. pulumi_alicloud/dataworks/_inputs.py +1534 -0
  28. pulumi_alicloud/dataworks/di_alarm_rule.py +708 -0
  29. pulumi_alicloud/dataworks/di_job.py +1005 -0
  30. pulumi_alicloud/dataworks/dw_resource_group.py +703 -0
  31. pulumi_alicloud/dataworks/network.py +331 -0
  32. pulumi_alicloud/dataworks/outputs.py +1247 -0
  33. pulumi_alicloud/dcdn/waf_rule.py +14 -14
  34. pulumi_alicloud/dns/get_alidns_domains.py +7 -2
  35. pulumi_alicloud/dns/outputs.py +8 -0
  36. pulumi_alicloud/ecs/ecs_launch_template.py +122 -0
  37. pulumi_alicloud/ecs/ecs_network_interface.py +14 -14
  38. pulumi_alicloud/ecs/ecs_session_manager_status.py +18 -18
  39. pulumi_alicloud/ecs/instance.py +7 -7
  40. pulumi_alicloud/ecs/launch_template.py +88 -0
  41. pulumi_alicloud/fc/custom_domain.py +2 -2
  42. pulumi_alicloud/fc/function.py +32 -4
  43. pulumi_alicloud/fc/v2_function.py +20 -0
  44. pulumi_alicloud/hbr/__init__.py +1 -0
  45. pulumi_alicloud/hbr/cross_account.py +338 -0
  46. pulumi_alicloud/ims/oidc_provider.py +28 -0
  47. pulumi_alicloud/log/resource_record.py +42 -26
  48. pulumi_alicloud/message/service_queue.py +106 -59
  49. pulumi_alicloud/message/service_topic.py +182 -37
  50. pulumi_alicloud/mongodb/account.py +138 -163
  51. pulumi_alicloud/oos/secret_parameter.py +84 -9
  52. pulumi_alicloud/oss/bucket.py +1 -1
  53. pulumi_alicloud/oss/bucket_policy.py +2 -4
  54. pulumi_alicloud/oss/bucket_referer.py +2 -4
  55. pulumi_alicloud/oss/get_buckets.py +16 -2
  56. pulumi_alicloud/oss/outputs.py +18 -17
  57. pulumi_alicloud/pulumi-plugin.json +1 -1
  58. pulumi_alicloud/sae/application.py +84 -7
  59. pulumi_alicloud/sls/collection_policy.py +2 -2
  60. pulumi_alicloud/vpc/__init__.py +5 -0
  61. pulumi_alicloud/vpc/get_ipam_ipam_pool_allocations.py +295 -0
  62. pulumi_alicloud/vpc/get_ipam_ipam_pool_cidrs.py +196 -0
  63. pulumi_alicloud/vpc/get_ipam_ipam_pools.py +353 -0
  64. pulumi_alicloud/vpc/get_ipam_ipam_scopes.py +333 -0
  65. pulumi_alicloud/vpc/get_ipam_ipams.py +291 -0
  66. pulumi_alicloud/vpc/get_networks.py +3 -0
  67. pulumi_alicloud/vpc/nat_gateway.py +145 -7
  68. pulumi_alicloud/vpc/outputs.py +777 -0
  69. pulumi_alicloud/vpc/snat_entry.py +107 -48
  70. pulumi_alicloud/vpn/_inputs.py +96 -72
  71. pulumi_alicloud/vpn/connection.py +24 -28
  72. pulumi_alicloud/vpn/outputs.py +64 -48
  73. pulumi_alicloud/yundun/_inputs.py +26 -24
  74. pulumi_alicloud/yundun/outputs.py +37 -22
  75. {pulumi_alicloud-3.73.0a1736850863.dist-info → pulumi_alicloud-3.73.0a1736949061.dist-info}/METADATA +1 -1
  76. {pulumi_alicloud-3.73.0a1736850863.dist-info → pulumi_alicloud-3.73.0a1736949061.dist-info}/RECORD +78 -61
  77. {pulumi_alicloud-3.73.0a1736850863.dist-info → pulumi_alicloud-3.73.0a1736949061.dist-info}/WHEEL +0 -0
  78. {pulumi_alicloud-3.73.0a1736850863.dist-info → pulumi_alicloud-3.73.0a1736949061.dist-info}/top_level.txt +0 -0
@@ -62,33 +62,32 @@ class InstanceAdAuthServer(dict):
62
62
  base_dn: str,
63
63
  domain: str,
64
64
  is_ssl: bool,
65
- password: str,
66
65
  port: int,
67
66
  server: str,
68
67
  email_mapping: Optional[str] = None,
69
68
  filter: Optional[str] = None,
70
69
  mobile_mapping: Optional[str] = None,
71
70
  name_mapping: Optional[str] = None,
71
+ password: Optional[str] = None,
72
72
  standby_server: Optional[str] = None):
73
73
  """
74
74
  :param str account: The username of the account that is used for the AD server.
75
75
  :param str base_dn: The Base distinguished name (DN).
76
76
  :param str domain: The domain on the AD server.
77
77
  :param bool is_ssl: Specifies whether to support SSL.
78
- :param str password: The password of the account that is used for the AD server.
79
78
  :param int port: The port that is used to access the AD server.
80
79
  :param str server: The address of the AD server.
81
80
  :param str email_mapping: The field that is used to indicate the email address of a user on the AD server.
82
81
  :param str filter: The condition that is used to filter users.
83
82
  :param str mobile_mapping: The field that is used to indicate the mobile phone number of a user on the AD server.
84
83
  :param str name_mapping: The field that is used to indicate the name of a user on the AD server.
84
+ :param str password: The password of the account that is used for the AD server.
85
85
  :param str standby_server: The address of the secondary AD server.
86
86
  """
87
87
  pulumi.set(__self__, "account", account)
88
88
  pulumi.set(__self__, "base_dn", base_dn)
89
89
  pulumi.set(__self__, "domain", domain)
90
90
  pulumi.set(__self__, "is_ssl", is_ssl)
91
- pulumi.set(__self__, "password", password)
92
91
  pulumi.set(__self__, "port", port)
93
92
  pulumi.set(__self__, "server", server)
94
93
  if email_mapping is not None:
@@ -99,6 +98,8 @@ class InstanceAdAuthServer(dict):
99
98
  pulumi.set(__self__, "mobile_mapping", mobile_mapping)
100
99
  if name_mapping is not None:
101
100
  pulumi.set(__self__, "name_mapping", name_mapping)
101
+ if password is not None:
102
+ pulumi.set(__self__, "password", password)
102
103
  if standby_server is not None:
103
104
  pulumi.set(__self__, "standby_server", standby_server)
104
105
 
@@ -134,14 +135,6 @@ class InstanceAdAuthServer(dict):
134
135
  """
135
136
  return pulumi.get(self, "is_ssl")
136
137
 
137
- @property
138
- @pulumi.getter
139
- def password(self) -> str:
140
- """
141
- The password of the account that is used for the AD server.
142
- """
143
- return pulumi.get(self, "password")
144
-
145
138
  @property
146
139
  @pulumi.getter
147
140
  def port(self) -> int:
@@ -190,6 +183,14 @@ class InstanceAdAuthServer(dict):
190
183
  """
191
184
  return pulumi.get(self, "name_mapping")
192
185
 
186
+ @property
187
+ @pulumi.getter
188
+ def password(self) -> Optional[str]:
189
+ """
190
+ The password of the account that is used for the AD server.
191
+ """
192
+ return pulumi.get(self, "password")
193
+
193
194
  @property
194
195
  @pulumi.getter(name="standbyServer")
195
196
  def standby_server(self) -> Optional[str]:
@@ -233,7 +234,6 @@ class InstanceLdapAuthServer(dict):
233
234
  def __init__(__self__, *,
234
235
  account: str,
235
236
  base_dn: str,
236
- password: str,
237
237
  port: int,
238
238
  server: str,
239
239
  email_mapping: Optional[str] = None,
@@ -242,11 +242,11 @@ class InstanceLdapAuthServer(dict):
242
242
  login_name_mapping: Optional[str] = None,
243
243
  mobile_mapping: Optional[str] = None,
244
244
  name_mapping: Optional[str] = None,
245
+ password: Optional[str] = None,
245
246
  standby_server: Optional[str] = None):
246
247
  """
247
248
  :param str account: The username of the account that is used for the LDAP server.
248
249
  :param str base_dn: The Base distinguished name (DN).
249
- :param str password: The password of the account that is used for the LDAP server.
250
250
  :param int port: The port that is used to access the LDAP server.
251
251
  :param str server: The address of the LDAP server.
252
252
  :param str email_mapping: The field that is used to indicate the email address of a user on the LDAP server.
@@ -255,11 +255,11 @@ class InstanceLdapAuthServer(dict):
255
255
  :param str login_name_mapping: The field that is used to indicate the logon name of a user on the LDAP server.
256
256
  :param str mobile_mapping: The field that is used to indicate the mobile phone number of a user on the LDAP server.
257
257
  :param str name_mapping: The field that is used to indicate the name of a user on the LDAP server.
258
+ :param str password: The password of the account that is used for the LDAP server.
258
259
  :param str standby_server: The address of the secondary LDAP server.
259
260
  """
260
261
  pulumi.set(__self__, "account", account)
261
262
  pulumi.set(__self__, "base_dn", base_dn)
262
- pulumi.set(__self__, "password", password)
263
263
  pulumi.set(__self__, "port", port)
264
264
  pulumi.set(__self__, "server", server)
265
265
  if email_mapping is not None:
@@ -274,6 +274,8 @@ class InstanceLdapAuthServer(dict):
274
274
  pulumi.set(__self__, "mobile_mapping", mobile_mapping)
275
275
  if name_mapping is not None:
276
276
  pulumi.set(__self__, "name_mapping", name_mapping)
277
+ if password is not None:
278
+ pulumi.set(__self__, "password", password)
277
279
  if standby_server is not None:
278
280
  pulumi.set(__self__, "standby_server", standby_server)
279
281
 
@@ -293,14 +295,6 @@ class InstanceLdapAuthServer(dict):
293
295
  """
294
296
  return pulumi.get(self, "base_dn")
295
297
 
296
- @property
297
- @pulumi.getter
298
- def password(self) -> str:
299
- """
300
- The password of the account that is used for the LDAP server.
301
- """
302
- return pulumi.get(self, "password")
303
-
304
298
  @property
305
299
  @pulumi.getter
306
300
  def port(self) -> int:
@@ -365,6 +359,14 @@ class InstanceLdapAuthServer(dict):
365
359
  """
366
360
  return pulumi.get(self, "name_mapping")
367
361
 
362
+ @property
363
+ @pulumi.getter
364
+ def password(self) -> Optional[str]:
365
+ """
366
+ The password of the account that is used for the LDAP server.
367
+ """
368
+ return pulumi.get(self, "password")
369
+
368
370
  @property
369
371
  @pulumi.getter(name="standbyServer")
370
372
  def standby_server(self) -> Optional[str]:
@@ -775,6 +777,7 @@ class GetHostsHostProtocolResult(dict):
775
777
  @pulumi.output_type
776
778
  class GetInstancesInstanceResult(dict):
777
779
  def __init__(__self__, *,
780
+ bandwidth: str,
778
781
  description: str,
779
782
  id: str,
780
783
  instance_status: str,
@@ -783,27 +786,24 @@ class GetInstancesInstanceResult(dict):
783
786
  public_domain: str,
784
787
  public_network_access: bool,
785
788
  security_group_ids: Sequence[str],
786
- user_vswitch_id: str,
787
- tags: Optional[Mapping[str, str]] = None):
789
+ storage: str,
790
+ tags: Mapping[str, str],
791
+ user_vswitch_id: str):
788
792
  """
793
+ :param str bandwidth: The bandwidth of Cloud Bastionhost instance.
789
794
  :param str description: The instance's remark.
790
795
  :param str id: The instance's id.
791
796
  :param str instance_status: The instance's status.
797
+ :param str license_code: The instance's license code.
792
798
  :param str private_domain: The instance's private domain name.
793
799
  :param str public_domain: The instance's public domain name.
794
800
  :param bool public_network_access: The instance's public network access configuration.
795
801
  :param Sequence[str] security_group_ids: The instance's security group configuration.
802
+ :param str storage: The storage of Cloud Bastionhost instance in TB.
803
+ :param Mapping[str, str] tags: A map of tags assigned to the bastionhost instance.
796
804
  :param str user_vswitch_id: The instance's vSwitch ID.
797
- :param Mapping[str, str] tags: A map of tags assigned to the bastionhost instance. It must be in the format:
798
- ```python
799
- import pulumi
800
- import pulumi_alicloud as alicloud
801
-
802
- instance = alicloud.bastionhost.get_instances(tags={
803
- "tagKey1": "tagValue1",
804
- })
805
- ```
806
805
  """
806
+ pulumi.set(__self__, "bandwidth", bandwidth)
807
807
  pulumi.set(__self__, "description", description)
808
808
  pulumi.set(__self__, "id", id)
809
809
  pulumi.set(__self__, "instance_status", instance_status)
@@ -812,9 +812,17 @@ class GetInstancesInstanceResult(dict):
812
812
  pulumi.set(__self__, "public_domain", public_domain)
813
813
  pulumi.set(__self__, "public_network_access", public_network_access)
814
814
  pulumi.set(__self__, "security_group_ids", security_group_ids)
815
+ pulumi.set(__self__, "storage", storage)
816
+ pulumi.set(__self__, "tags", tags)
815
817
  pulumi.set(__self__, "user_vswitch_id", user_vswitch_id)
816
- if tags is not None:
817
- pulumi.set(__self__, "tags", tags)
818
+
819
+ @property
820
+ @pulumi.getter
821
+ def bandwidth(self) -> str:
822
+ """
823
+ The bandwidth of Cloud Bastionhost instance.
824
+ """
825
+ return pulumi.get(self, "bandwidth")
818
826
 
819
827
  @property
820
828
  @pulumi.getter
@@ -843,6 +851,9 @@ class GetInstancesInstanceResult(dict):
843
851
  @property
844
852
  @pulumi.getter(name="licenseCode")
845
853
  def license_code(self) -> str:
854
+ """
855
+ The instance's license code.
856
+ """
846
857
  return pulumi.get(self, "license_code")
847
858
 
848
859
  @property
@@ -878,29 +889,29 @@ class GetInstancesInstanceResult(dict):
878
889
  return pulumi.get(self, "security_group_ids")
879
890
 
880
891
  @property
881
- @pulumi.getter(name="userVswitchId")
882
- def user_vswitch_id(self) -> str:
892
+ @pulumi.getter
893
+ def storage(self) -> str:
883
894
  """
884
- The instance's vSwitch ID.
895
+ The storage of Cloud Bastionhost instance in TB.
885
896
  """
886
- return pulumi.get(self, "user_vswitch_id")
897
+ return pulumi.get(self, "storage")
887
898
 
888
899
  @property
889
900
  @pulumi.getter
890
- def tags(self) -> Optional[Mapping[str, str]]:
901
+ def tags(self) -> Mapping[str, str]:
891
902
  """
892
- A map of tags assigned to the bastionhost instance. It must be in the format:
893
- ```python
894
- import pulumi
895
- import pulumi_alicloud as alicloud
896
-
897
- instance = alicloud.bastionhost.get_instances(tags={
898
- "tagKey1": "tagValue1",
899
- })
900
- ```
903
+ A map of tags assigned to the bastionhost instance.
901
904
  """
902
905
  return pulumi.get(self, "tags")
903
906
 
907
+ @property
908
+ @pulumi.getter(name="userVswitchId")
909
+ def user_vswitch_id(self) -> str:
910
+ """
911
+ The instance's vSwitch ID.
912
+ """
913
+ return pulumi.get(self, "user_vswitch_id")
914
+
904
915
 
905
916
  @pulumi.output_type
906
917
  class GetUserGroupsGroupResult(dict):
@@ -139,6 +139,8 @@ class InstanceGrant(pulumi.CustomResource):
139
139
 
140
140
  For more information about how to use it, see [Attach a network in a different account](https://www.alibabacloud.com/help/en/cen/developer-reference/api-cbn-2017-09-12-attachcenchildinstance).
141
141
 
142
+ > **NOTE:** Deprecated since v1.241.0. The resource have been deprecated and new resource type cen.TransitRouterGrantAttachment is recommended.
143
+
142
144
  > **NOTE:** Available since v1.37.0.
143
145
 
144
146
  ## Example Usage
@@ -193,6 +195,8 @@ class InstanceGrant(pulumi.CustomResource):
193
195
 
194
196
  For more information about how to use it, see [Attach a network in a different account](https://www.alibabacloud.com/help/en/cen/developer-reference/api-cbn-2017-09-12-attachcenchildinstance).
195
197
 
198
+ > **NOTE:** Deprecated since v1.241.0. The resource have been deprecated and new resource type cen.TransitRouterGrantAttachment is recommended.
199
+
196
200
  > **NOTE:** Available since v1.37.0.
197
201
 
198
202
  ## Example Usage
@@ -0,0 +1,12 @@
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
+ from .. import _utilities
6
+ import typing
7
+ # Export this package's modules as members:
8
+ from .get_prices import *
9
+ from .get_products import *
10
+ from .get_resource_types import *
11
+ from .resource import *
12
+ from . import outputs
@@ -0,0 +1,199 @@
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 sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from .. import _utilities
16
+ from . import outputs
17
+
18
+ __all__ = [
19
+ 'GetPricesResult',
20
+ 'AwaitableGetPricesResult',
21
+ 'get_prices',
22
+ 'get_prices_output',
23
+ ]
24
+
25
+ @pulumi.output_type
26
+ class GetPricesResult:
27
+ """
28
+ A collection of values returned by getPrices.
29
+ """
30
+ def __init__(__self__, desire_attributes=None, id=None, output_file=None, prices=None, product=None, resource_code=None):
31
+ if desire_attributes and not isinstance(desire_attributes, dict):
32
+ raise TypeError("Expected argument 'desire_attributes' to be a dict")
33
+ pulumi.set(__self__, "desire_attributes", desire_attributes)
34
+ if id and not isinstance(id, str):
35
+ raise TypeError("Expected argument 'id' to be a str")
36
+ pulumi.set(__self__, "id", id)
37
+ if output_file and not isinstance(output_file, str):
38
+ raise TypeError("Expected argument 'output_file' to be a str")
39
+ pulumi.set(__self__, "output_file", output_file)
40
+ if prices and not isinstance(prices, list):
41
+ raise TypeError("Expected argument 'prices' to be a list")
42
+ pulumi.set(__self__, "prices", prices)
43
+ if product and not isinstance(product, str):
44
+ raise TypeError("Expected argument 'product' to be a str")
45
+ pulumi.set(__self__, "product", product)
46
+ if resource_code and not isinstance(resource_code, str):
47
+ raise TypeError("Expected argument 'resource_code' to be a str")
48
+ pulumi.set(__self__, "resource_code", resource_code)
49
+
50
+ @property
51
+ @pulumi.getter(name="desireAttributes")
52
+ def desire_attributes(self) -> Optional[Mapping[str, str]]:
53
+ return pulumi.get(self, "desire_attributes")
54
+
55
+ @property
56
+ @pulumi.getter
57
+ def id(self) -> str:
58
+ """
59
+ The provider-assigned unique ID for this managed resource.
60
+ """
61
+ return pulumi.get(self, "id")
62
+
63
+ @property
64
+ @pulumi.getter(name="outputFile")
65
+ def output_file(self) -> Optional[str]:
66
+ return pulumi.get(self, "output_file")
67
+
68
+ @property
69
+ @pulumi.getter
70
+ def prices(self) -> Sequence['outputs.GetPricesPriceResult']:
71
+ """
72
+ A list of Price Entries. Each element contains the following attributes:
73
+ """
74
+ return pulumi.get(self, "prices")
75
+
76
+ @property
77
+ @pulumi.getter
78
+ def product(self) -> str:
79
+ return pulumi.get(self, "product")
80
+
81
+ @property
82
+ @pulumi.getter(name="resourceCode")
83
+ def resource_code(self) -> str:
84
+ return pulumi.get(self, "resource_code")
85
+
86
+
87
+ class AwaitableGetPricesResult(GetPricesResult):
88
+ # pylint: disable=using-constant-test
89
+ def __await__(self):
90
+ if False:
91
+ yield self
92
+ return GetPricesResult(
93
+ desire_attributes=self.desire_attributes,
94
+ id=self.id,
95
+ output_file=self.output_file,
96
+ prices=self.prices,
97
+ product=self.product,
98
+ resource_code=self.resource_code)
99
+
100
+
101
+ def get_prices(desire_attributes: Optional[Mapping[str, str]] = None,
102
+ output_file: Optional[str] = None,
103
+ product: Optional[str] = None,
104
+ resource_code: Optional[str] = None,
105
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetPricesResult:
106
+ """
107
+ This data source provides Cloud Control Price available to the user.[What is Price](https://www.alibabacloud.com/help/en/)
108
+
109
+ > **NOTE:** Available since v1.241.0.
110
+
111
+ ## Example Usage
112
+
113
+ ```python
114
+ import pulumi
115
+ import pulumi_alicloud as alicloud
116
+
117
+ config = pulumi.Config()
118
+ name = config.get("name")
119
+ if name is None:
120
+ name = "terraform-example"
121
+ default = alicloud.cloudcontrol.get_prices(desire_attributes={
122
+ "AddressType": "internet",
123
+ "PaymentType": "PayAsYouGo",
124
+ },
125
+ product="SLB",
126
+ resource_code="LoadBalancer")
127
+ pulumi.export("alicloudCloudControlPriceExampleId", default.prices[0].discount_price)
128
+ ```
129
+
130
+
131
+ :param Mapping[str, str] desire_attributes: This property represent the detailed configuration of the Resource which you are going to get price. Give same content as DesireAttributes of the 'Resource' Resource when start Create operation. 'PaymentType' is necessary when in DesireAttributes. Here is a probably example when you get the price of SLB LoadBalancer:```json{"LoadBalancerName": "cc-test","Bandwidth": 6,"PaymentType": "PayAsYouGo","AddressType": "internet","LoadBalancerSpec": "slb.s3.small","InternetChargeType": "paybybandwidth"} See `DesireAttributes` below.
132
+ :param str output_file: File name where to save data source results (after running `pulumi preview`).
133
+ :param str product: The product Code represents the product to be operated. Currently supported products and resources can be queried at the following link: [supported-services-and-resource-types](https://help.aliyun.com/zh/cloud-control-api/product-overview/supported-services-and-resource-types).
134
+ :param str resource_code: Resource Code, if there is a parent resource, split with `::`, such as VPC::VSwitch. The supported resource Code can be obtained from the following link: [supported-services-and-resource-types](https://help.aliyun.com/zh/cloud-control-api/product-overview/supported-services-and-resource-types).
135
+ """
136
+ __args__ = dict()
137
+ __args__['desireAttributes'] = desire_attributes
138
+ __args__['outputFile'] = output_file
139
+ __args__['product'] = product
140
+ __args__['resourceCode'] = resource_code
141
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
142
+ __ret__ = pulumi.runtime.invoke('alicloud:cloudcontrol/getPrices:getPrices', __args__, opts=opts, typ=GetPricesResult).value
143
+
144
+ return AwaitableGetPricesResult(
145
+ desire_attributes=pulumi.get(__ret__, 'desire_attributes'),
146
+ id=pulumi.get(__ret__, 'id'),
147
+ output_file=pulumi.get(__ret__, 'output_file'),
148
+ prices=pulumi.get(__ret__, 'prices'),
149
+ product=pulumi.get(__ret__, 'product'),
150
+ resource_code=pulumi.get(__ret__, 'resource_code'))
151
+ def get_prices_output(desire_attributes: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None,
152
+ output_file: Optional[pulumi.Input[Optional[str]]] = None,
153
+ product: Optional[pulumi.Input[str]] = None,
154
+ resource_code: Optional[pulumi.Input[str]] = None,
155
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetPricesResult]:
156
+ """
157
+ This data source provides Cloud Control Price available to the user.[What is Price](https://www.alibabacloud.com/help/en/)
158
+
159
+ > **NOTE:** Available since v1.241.0.
160
+
161
+ ## Example Usage
162
+
163
+ ```python
164
+ import pulumi
165
+ import pulumi_alicloud as alicloud
166
+
167
+ config = pulumi.Config()
168
+ name = config.get("name")
169
+ if name is None:
170
+ name = "terraform-example"
171
+ default = alicloud.cloudcontrol.get_prices(desire_attributes={
172
+ "AddressType": "internet",
173
+ "PaymentType": "PayAsYouGo",
174
+ },
175
+ product="SLB",
176
+ resource_code="LoadBalancer")
177
+ pulumi.export("alicloudCloudControlPriceExampleId", default.prices[0].discount_price)
178
+ ```
179
+
180
+
181
+ :param Mapping[str, str] desire_attributes: This property represent the detailed configuration of the Resource which you are going to get price. Give same content as DesireAttributes of the 'Resource' Resource when start Create operation. 'PaymentType' is necessary when in DesireAttributes. Here is a probably example when you get the price of SLB LoadBalancer:```json{"LoadBalancerName": "cc-test","Bandwidth": 6,"PaymentType": "PayAsYouGo","AddressType": "internet","LoadBalancerSpec": "slb.s3.small","InternetChargeType": "paybybandwidth"} See `DesireAttributes` below.
182
+ :param str output_file: File name where to save data source results (after running `pulumi preview`).
183
+ :param str product: The product Code represents the product to be operated. Currently supported products and resources can be queried at the following link: [supported-services-and-resource-types](https://help.aliyun.com/zh/cloud-control-api/product-overview/supported-services-and-resource-types).
184
+ :param str resource_code: Resource Code, if there is a parent resource, split with `::`, such as VPC::VSwitch. The supported resource Code can be obtained from the following link: [supported-services-and-resource-types](https://help.aliyun.com/zh/cloud-control-api/product-overview/supported-services-and-resource-types).
185
+ """
186
+ __args__ = dict()
187
+ __args__['desireAttributes'] = desire_attributes
188
+ __args__['outputFile'] = output_file
189
+ __args__['product'] = product
190
+ __args__['resourceCode'] = resource_code
191
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
192
+ __ret__ = pulumi.runtime.invoke_output('alicloud:cloudcontrol/getPrices:getPrices', __args__, opts=opts, typ=GetPricesResult)
193
+ return __ret__.apply(lambda __response__: GetPricesResult(
194
+ desire_attributes=pulumi.get(__response__, 'desire_attributes'),
195
+ id=pulumi.get(__response__, 'id'),
196
+ output_file=pulumi.get(__response__, 'output_file'),
197
+ prices=pulumi.get(__response__, 'prices'),
198
+ product=pulumi.get(__response__, 'product'),
199
+ resource_code=pulumi.get(__response__, 'resource_code')))
@@ -0,0 +1,187 @@
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 sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from .. import _utilities
16
+ from . import outputs
17
+
18
+ __all__ = [
19
+ 'GetProductsResult',
20
+ 'AwaitableGetProductsResult',
21
+ 'get_products',
22
+ 'get_products_output',
23
+ ]
24
+
25
+ @pulumi.output_type
26
+ class GetProductsResult:
27
+ """
28
+ A collection of values returned by getProducts.
29
+ """
30
+ def __init__(__self__, id=None, ids=None, name_regex=None, names=None, output_file=None, products=None):
31
+ if id and not isinstance(id, str):
32
+ raise TypeError("Expected argument 'id' to be a str")
33
+ pulumi.set(__self__, "id", id)
34
+ if ids and not isinstance(ids, list):
35
+ raise TypeError("Expected argument 'ids' to be a list")
36
+ pulumi.set(__self__, "ids", ids)
37
+ if name_regex and not isinstance(name_regex, str):
38
+ raise TypeError("Expected argument 'name_regex' to be a str")
39
+ pulumi.set(__self__, "name_regex", name_regex)
40
+ if names and not isinstance(names, list):
41
+ raise TypeError("Expected argument 'names' to be a list")
42
+ pulumi.set(__self__, "names", names)
43
+ if output_file and not isinstance(output_file, str):
44
+ raise TypeError("Expected argument 'output_file' to be a str")
45
+ pulumi.set(__self__, "output_file", output_file)
46
+ if products and not isinstance(products, list):
47
+ raise TypeError("Expected argument 'products' to be a list")
48
+ pulumi.set(__self__, "products", products)
49
+
50
+ @property
51
+ @pulumi.getter
52
+ def id(self) -> str:
53
+ """
54
+ The provider-assigned unique ID for this managed resource.
55
+ """
56
+ return pulumi.get(self, "id")
57
+
58
+ @property
59
+ @pulumi.getter
60
+ def ids(self) -> Sequence[str]:
61
+ """
62
+ A list of Product IDs.
63
+ """
64
+ return pulumi.get(self, "ids")
65
+
66
+ @property
67
+ @pulumi.getter(name="nameRegex")
68
+ def name_regex(self) -> Optional[str]:
69
+ return pulumi.get(self, "name_regex")
70
+
71
+ @property
72
+ @pulumi.getter
73
+ def names(self) -> Sequence[str]:
74
+ """
75
+ A list of name of Products.
76
+ """
77
+ return pulumi.get(self, "names")
78
+
79
+ @property
80
+ @pulumi.getter(name="outputFile")
81
+ def output_file(self) -> Optional[str]:
82
+ return pulumi.get(self, "output_file")
83
+
84
+ @property
85
+ @pulumi.getter
86
+ def products(self) -> Sequence['outputs.GetProductsProductResult']:
87
+ """
88
+ A list of Product Entries. Each element contains the following attributes:
89
+ """
90
+ return pulumi.get(self, "products")
91
+
92
+
93
+ class AwaitableGetProductsResult(GetProductsResult):
94
+ # pylint: disable=using-constant-test
95
+ def __await__(self):
96
+ if False:
97
+ yield self
98
+ return GetProductsResult(
99
+ id=self.id,
100
+ ids=self.ids,
101
+ name_regex=self.name_regex,
102
+ names=self.names,
103
+ output_file=self.output_file,
104
+ products=self.products)
105
+
106
+
107
+ def get_products(ids: Optional[Sequence[str]] = None,
108
+ name_regex: Optional[str] = None,
109
+ output_file: Optional[str] = None,
110
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetProductsResult:
111
+ """
112
+ This data source provides Cloud Control Product available to the user.[What is Product](https://www.alibabacloud.com/help/en/)
113
+
114
+ > **NOTE:** Available since v1.241.0.
115
+
116
+ ## Example Usage
117
+
118
+ ```python
119
+ import pulumi
120
+ import pulumi_alicloud as alicloud
121
+
122
+ config = pulumi.Config()
123
+ name = config.get("name")
124
+ if name is None:
125
+ name = "terraform-example"
126
+ default = alicloud.cloudcontrol.get_products(ids=["VPC"])
127
+ ```
128
+
129
+
130
+ :param Sequence[str] ids: A list of Product IDs.
131
+ :param str name_regex: A regex string to filter results by Group Metric Rule name.
132
+ :param str output_file: File name where to save data source results (after running `pulumi preview`).
133
+ """
134
+ __args__ = dict()
135
+ __args__['ids'] = ids
136
+ __args__['nameRegex'] = name_regex
137
+ __args__['outputFile'] = output_file
138
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
139
+ __ret__ = pulumi.runtime.invoke('alicloud:cloudcontrol/getProducts:getProducts', __args__, opts=opts, typ=GetProductsResult).value
140
+
141
+ return AwaitableGetProductsResult(
142
+ id=pulumi.get(__ret__, 'id'),
143
+ ids=pulumi.get(__ret__, 'ids'),
144
+ name_regex=pulumi.get(__ret__, 'name_regex'),
145
+ names=pulumi.get(__ret__, 'names'),
146
+ output_file=pulumi.get(__ret__, 'output_file'),
147
+ products=pulumi.get(__ret__, 'products'))
148
+ def get_products_output(ids: Optional[pulumi.Input[Optional[Sequence[str]]]] = None,
149
+ name_regex: Optional[pulumi.Input[Optional[str]]] = None,
150
+ output_file: Optional[pulumi.Input[Optional[str]]] = None,
151
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetProductsResult]:
152
+ """
153
+ This data source provides Cloud Control Product available to the user.[What is Product](https://www.alibabacloud.com/help/en/)
154
+
155
+ > **NOTE:** Available since v1.241.0.
156
+
157
+ ## Example Usage
158
+
159
+ ```python
160
+ import pulumi
161
+ import pulumi_alicloud as alicloud
162
+
163
+ config = pulumi.Config()
164
+ name = config.get("name")
165
+ if name is None:
166
+ name = "terraform-example"
167
+ default = alicloud.cloudcontrol.get_products(ids=["VPC"])
168
+ ```
169
+
170
+
171
+ :param Sequence[str] ids: A list of Product IDs.
172
+ :param str name_regex: A regex string to filter results by Group Metric Rule name.
173
+ :param str output_file: File name where to save data source results (after running `pulumi preview`).
174
+ """
175
+ __args__ = dict()
176
+ __args__['ids'] = ids
177
+ __args__['nameRegex'] = name_regex
178
+ __args__['outputFile'] = output_file
179
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
180
+ __ret__ = pulumi.runtime.invoke_output('alicloud:cloudcontrol/getProducts:getProducts', __args__, opts=opts, typ=GetProductsResult)
181
+ return __ret__.apply(lambda __response__: GetProductsResult(
182
+ id=pulumi.get(__response__, 'id'),
183
+ ids=pulumi.get(__response__, 'ids'),
184
+ name_regex=pulumi.get(__response__, 'name_regex'),
185
+ names=pulumi.get(__response__, 'names'),
186
+ output_file=pulumi.get(__response__, 'output_file'),
187
+ products=pulumi.get(__response__, 'products')))