pulumi-alicloud 3.86.0a1758340042__py3-none-any.whl → 3.89.0a1763702747__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 (146) hide show
  1. pulumi_alicloud/__init__.py +83 -0
  2. pulumi_alicloud/actiontrail/get_trails_deprecated.py +20 -0
  3. pulumi_alicloud/adb/resource_group.py +463 -3
  4. pulumi_alicloud/alikafka/topic.py +278 -85
  5. pulumi_alicloud/apig/_inputs.py +80 -6
  6. pulumi_alicloud/apig/gateway.py +111 -3
  7. pulumi_alicloud/apig/outputs.py +67 -4
  8. pulumi_alicloud/cas/certificate.py +248 -35
  9. pulumi_alicloud/cas/service_certificate.py +454 -168
  10. pulumi_alicloud/cen/get_transit_router_peer_attachments.py +20 -0
  11. pulumi_alicloud/cen/get_transit_router_vbr_attachments.py +20 -0
  12. pulumi_alicloud/cfg/_inputs.py +27 -24
  13. pulumi_alicloud/cfg/aggregator.py +142 -53
  14. pulumi_alicloud/cfg/outputs.py +18 -15
  15. pulumi_alicloud/cloudfirewall/__init__.py +1 -0
  16. pulumi_alicloud/cloudfirewall/get_nat_firewalls.py +132 -0
  17. pulumi_alicloud/cloudfirewall/get_tls_inspect_ca_certificates.py +214 -0
  18. pulumi_alicloud/cloudfirewall/outputs.py +30 -0
  19. pulumi_alicloud/cloudsso/__init__.py +1 -0
  20. pulumi_alicloud/cloudsso/get_user_provisioning_events.py +226 -0
  21. pulumi_alicloud/cloudsso/outputs.py +228 -0
  22. pulumi_alicloud/cloudsso/user.py +247 -80
  23. pulumi_alicloud/cms/_inputs.py +870 -10
  24. pulumi_alicloud/cms/get_site_monitors.py +2 -2
  25. pulumi_alicloud/cms/outputs.py +606 -6
  26. pulumi_alicloud/cms/site_monitor.py +360 -89
  27. pulumi_alicloud/cr/registry_enterprise_instance.py +63 -0
  28. pulumi_alicloud/cs/managed_kubernetes.py +6 -2
  29. pulumi_alicloud/ddos/domain_resource.py +89 -0
  30. pulumi_alicloud/dms/get_enterprise_logic_databases.py +8 -0
  31. pulumi_alicloud/dts/instance.py +14 -14
  32. pulumi_alicloud/eais/get_instances.py +8 -0
  33. pulumi_alicloud/ebs/dedicated_block_storage_cluster.py +32 -0
  34. pulumi_alicloud/eci/container_group.py +47 -0
  35. pulumi_alicloud/ecs/elasticity_assurance.py +279 -20
  36. pulumi_alicloud/ecs/instance.py +7 -7
  37. pulumi_alicloud/ecs/security_group_rule.py +7 -7
  38. pulumi_alicloud/edas/get_deploy_groups.py +4 -0
  39. pulumi_alicloud/eflo/node.py +153 -15
  40. pulumi_alicloud/emrv2/get_clusters.py +260 -0
  41. pulumi_alicloud/ens/load_balancer.py +8 -4
  42. pulumi_alicloud/esa/__init__.py +2 -0
  43. pulumi_alicloud/esa/_inputs.py +3774 -991
  44. pulumi_alicloud/esa/cache_rule.py +47 -0
  45. pulumi_alicloud/esa/certificate.py +21 -54
  46. pulumi_alicloud/esa/compression_rule.py +47 -0
  47. pulumi_alicloud/esa/http_response_header_modification_rule.py +89 -28
  48. pulumi_alicloud/esa/https_application_configuration.py +188 -0
  49. pulumi_alicloud/esa/https_basic_configuration.py +54 -7
  50. pulumi_alicloud/esa/image_transform.py +47 -0
  51. pulumi_alicloud/esa/load_balancer.py +999 -0
  52. pulumi_alicloud/esa/network_optimization.py +82 -21
  53. pulumi_alicloud/esa/origin_rule.py +470 -14
  54. pulumi_alicloud/esa/outputs.py +2080 -0
  55. pulumi_alicloud/esa/rate_plan_instance.py +64 -39
  56. pulumi_alicloud/esa/redirect_rule.py +68 -21
  57. pulumi_alicloud/esa/rewrite_url_rule.py +82 -56
  58. pulumi_alicloud/esa/waf_rule.py +510 -0
  59. pulumi_alicloud/ess/__init__.py +1 -0
  60. pulumi_alicloud/ess/_inputs.py +256 -0
  61. pulumi_alicloud/ess/alb_server_group_attachment.py +2 -2
  62. pulumi_alicloud/ess/attachment.py +10 -6
  63. pulumi_alicloud/ess/instance_refresh.py +760 -0
  64. pulumi_alicloud/ess/outputs.py +203 -0
  65. pulumi_alicloud/ess/scaling_configuration.py +2 -2
  66. pulumi_alicloud/ess/scaling_group.py +94 -0
  67. pulumi_alicloud/ess/server_group_attachment.py +2 -2
  68. pulumi_alicloud/ess/suspend_process.py +2 -2
  69. pulumi_alicloud/eventbridge/event_source.py +57 -57
  70. pulumi_alicloud/expressconnect/get_virtual_physical_connections.py +4 -0
  71. pulumi_alicloud/expressconnect/traffic_qos.py +137 -31
  72. pulumi_alicloud/expressconnect/traffic_qos_queue.py +91 -66
  73. pulumi_alicloud/expressconnect/traffic_qos_rule.py +307 -261
  74. pulumi_alicloud/expressconnect/vbr_pconn_association.py +105 -59
  75. pulumi_alicloud/ga/_inputs.py +56 -16
  76. pulumi_alicloud/ga/outputs.py +39 -11
  77. pulumi_alicloud/gpdb/get_zones.py +24 -0
  78. pulumi_alicloud/hbase/get_instance_types.py +32 -0
  79. pulumi_alicloud/hbr/policy_binding.py +7 -0
  80. pulumi_alicloud/kvstore/account.py +18 -18
  81. pulumi_alicloud/lindorm/instance_v2.py +358 -70
  82. pulumi_alicloud/log/_inputs.py +29 -9
  83. pulumi_alicloud/log/etl.py +56 -9
  84. pulumi_alicloud/log/get_projects.py +24 -0
  85. pulumi_alicloud/log/outputs.py +18 -6
  86. pulumi_alicloud/marketplace/get_products.py +26 -0
  87. pulumi_alicloud/mongodb/get_sharding_network_private_addresses.py +28 -0
  88. pulumi_alicloud/nas/get_access_rules.py +26 -0
  89. pulumi_alicloud/oss/_inputs.py +53 -0
  90. pulumi_alicloud/oss/bucket_logging.py +80 -29
  91. pulumi_alicloud/oss/bucket_replication.py +55 -8
  92. pulumi_alicloud/oss/outputs.py +31 -0
  93. pulumi_alicloud/ots/get_search_indexes.py +26 -0
  94. pulumi_alicloud/ots/get_secondary_indexes.py +26 -0
  95. pulumi_alicloud/polardb/__init__.py +3 -0
  96. pulumi_alicloud/polardb/cluster.py +14 -14
  97. pulumi_alicloud/polardb/zonal_account.py +449 -0
  98. pulumi_alicloud/polardb/zonal_db_cluster.py +1255 -0
  99. pulumi_alicloud/polardb/zonal_endpoint.py +865 -0
  100. pulumi_alicloud/pulumi-plugin.json +1 -1
  101. pulumi_alicloud/pvtz/get_service.py +12 -8
  102. pulumi_alicloud/ram/get_policies.py +95 -81
  103. pulumi_alicloud/ram/get_roles.py +108 -31
  104. pulumi_alicloud/ram/outputs.py +64 -42
  105. pulumi_alicloud/ram/policy.py +2 -2
  106. pulumi_alicloud/resourcemanager/__init__.py +2 -0
  107. pulumi_alicloud/resourcemanager/_inputs.py +799 -0
  108. pulumi_alicloud/resourcemanager/control_policy.py +169 -31
  109. pulumi_alicloud/resourcemanager/delivery_channel.py +449 -0
  110. pulumi_alicloud/resourcemanager/get_policies.py +4 -0
  111. pulumi_alicloud/resourcemanager/multi_account_delivery_channel.py +470 -0
  112. pulumi_alicloud/resourcemanager/outputs.py +694 -0
  113. pulumi_alicloud/resourcemanager/resource_share.py +341 -11
  114. pulumi_alicloud/sae/_inputs.py +60 -0
  115. pulumi_alicloud/sae/application.py +1 -1
  116. pulumi_alicloud/sae/get_ingresses.py +122 -0
  117. pulumi_alicloud/sae/outputs.py +42 -0
  118. pulumi_alicloud/scdn/domain_config.py +56 -0
  119. pulumi_alicloud/servicemesh/extension_provider.py +138 -0
  120. pulumi_alicloud/servicemesh/user_permission.py +90 -0
  121. pulumi_alicloud/simpleapplicationserver/get_images.py +24 -0
  122. pulumi_alicloud/sls/__init__.py +1 -0
  123. pulumi_alicloud/sls/get_indexs.py +304 -0
  124. pulumi_alicloud/sls/outputs.py +148 -0
  125. pulumi_alicloud/star_rocks_instance.py +8 -2
  126. pulumi_alicloud/starrocks/__init__.py +12 -0
  127. pulumi_alicloud/starrocks/_inputs.py +656 -0
  128. pulumi_alicloud/starrocks/instance.py +1427 -0
  129. pulumi_alicloud/starrocks/node_group.py +1298 -0
  130. pulumi_alicloud/starrocks/outputs.py +508 -0
  131. pulumi_alicloud/vpc/_inputs.py +84 -0
  132. pulumi_alicloud/vpc/bgp_group.py +250 -53
  133. pulumi_alicloud/vpc/bgp_network.py +83 -36
  134. pulumi_alicloud/vpc/common_bandwith_package_attachment.py +30 -14
  135. pulumi_alicloud/vpc/gateway_endpoint.py +8 -8
  136. pulumi_alicloud/vpc/get_enhanced_nat_available_zones.py +3 -3
  137. pulumi_alicloud/vpc/network_acl_entries.py +16 -20
  138. pulumi_alicloud/vpc/outputs.py +48 -0
  139. pulumi_alicloud/vpc/vbr_ha.py +127 -46
  140. pulumi_alicloud/wafv3/_inputs.py +396 -0
  141. pulumi_alicloud/wafv3/defense_rule.py +40 -110
  142. pulumi_alicloud/wafv3/outputs.py +303 -0
  143. {pulumi_alicloud-3.86.0a1758340042.dist-info → pulumi_alicloud-3.89.0a1763702747.dist-info}/METADATA +1 -1
  144. {pulumi_alicloud-3.86.0a1758340042.dist-info → pulumi_alicloud-3.89.0a1763702747.dist-info}/RECORD +146 -130
  145. {pulumi_alicloud-3.86.0a1758340042.dist-info → pulumi_alicloud-3.89.0a1763702747.dist-info}/WHEEL +0 -0
  146. {pulumi_alicloud-3.86.0a1758340042.dist-info → pulumi_alicloud-3.89.0a1763702747.dist-info}/top_level.txt +0 -0
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "resource": true,
3
3
  "name": "alicloud",
4
- "version": "3.86.0-alpha.1758340042"
4
+ "version": "3.89.0-alpha.1763702747"
5
5
  }
@@ -75,21 +75,23 @@ def get_service(enable: Optional[_builtins.str] = None,
75
75
  """
76
76
  Using this data source can open Private Zone service automatically. If the service has been opened, it will return opened.
77
77
 
78
- For information about Priavte Zone and how to use it, see [What is Private Zone](https://www.alibabacloud.com/help/en/product/64583.htm).
78
+ For information about Private Zone and how to use it, see [What is Private Zone](https://www.alibabacloud.com/help/en/product/64583.htm).
79
79
 
80
- > **NOTE:** Available in v1.114.0+
80
+ > **NOTE:** Available since v1.114.0.
81
81
 
82
82
  ## Example Usage
83
83
 
84
+ Basic Usage
85
+
84
86
  ```python
85
87
  import pulumi
86
88
  import pulumi_alicloud as alicloud
87
89
 
88
- open = alicloud.pvtz.get_service(enable="On")
90
+ default = alicloud.pvtz.get_service(enable="On")
89
91
  ```
90
92
 
91
93
 
92
- :param _builtins.str enable: Setting the value to `On` to enable the service. If has been enabled, return the result. Valid values: "On" or "Off". Default to "Off".
94
+ :param _builtins.str enable: Setting the value to `On` to enable the service. If has been enabled, return the result. Default value: `Off`. Valid values: `On` and `Off`.
93
95
 
94
96
  > **NOTE:** Setting `enable = "On"` to open the Private Zone service that means you have read and agreed the [Private Zone Terms of Service](https://help.aliyun.com/document_detail/65657.html). The service can not closed once it is opened.
95
97
  """
@@ -107,21 +109,23 @@ def get_service_output(enable: Optional[pulumi.Input[Optional[_builtins.str]]] =
107
109
  """
108
110
  Using this data source can open Private Zone service automatically. If the service has been opened, it will return opened.
109
111
 
110
- For information about Priavte Zone and how to use it, see [What is Private Zone](https://www.alibabacloud.com/help/en/product/64583.htm).
112
+ For information about Private Zone and how to use it, see [What is Private Zone](https://www.alibabacloud.com/help/en/product/64583.htm).
111
113
 
112
- > **NOTE:** Available in v1.114.0+
114
+ > **NOTE:** Available since v1.114.0.
113
115
 
114
116
  ## Example Usage
115
117
 
118
+ Basic Usage
119
+
116
120
  ```python
117
121
  import pulumi
118
122
  import pulumi_alicloud as alicloud
119
123
 
120
- open = alicloud.pvtz.get_service(enable="On")
124
+ default = alicloud.pvtz.get_service(enable="On")
121
125
  ```
122
126
 
123
127
 
124
- :param _builtins.str enable: Setting the value to `On` to enable the service. If has been enabled, return the result. Valid values: "On" or "Off". Default to "Off".
128
+ :param _builtins.str enable: Setting the value to `On` to enable the service. If has been enabled, return the result. Default value: `Off`. Valid values: `On` and `Off`.
125
129
 
126
130
  > **NOTE:** Setting `enable = "On"` to open the Private Zone service that means you have read and agreed the [Private Zone Terms of Service](https://help.aliyun.com/document_detail/65657.html). The service can not closed once it is opened.
127
131
  """
@@ -27,7 +27,7 @@ class GetPoliciesResult:
27
27
  """
28
28
  A collection of values returned by getPolicies.
29
29
  """
30
- def __init__(__self__, enable_details=None, group_name=None, id=None, ids=None, name_regex=None, names=None, output_file=None, policies=None, role_name=None, type=None, user_name=None):
30
+ def __init__(__self__, enable_details=None, group_name=None, id=None, ids=None, name_regex=None, names=None, output_file=None, policies=None, role_name=None, tags=None, type=None, user_name=None):
31
31
  if enable_details and not isinstance(enable_details, bool):
32
32
  raise TypeError("Expected argument 'enable_details' to be a bool")
33
33
  pulumi.set(__self__, "enable_details", enable_details)
@@ -55,6 +55,9 @@ class GetPoliciesResult:
55
55
  if role_name and not isinstance(role_name, str):
56
56
  raise TypeError("Expected argument 'role_name' to be a str")
57
57
  pulumi.set(__self__, "role_name", role_name)
58
+ if tags and not isinstance(tags, dict):
59
+ raise TypeError("Expected argument 'tags' to be a dict")
60
+ pulumi.set(__self__, "tags", tags)
58
61
  if type and not isinstance(type, str):
59
62
  raise TypeError("Expected argument 'type' to be a str")
60
63
  pulumi.set(__self__, "type", type)
@@ -94,7 +97,7 @@ class GetPoliciesResult:
94
97
  @pulumi.getter
95
98
  def names(self) -> Sequence[_builtins.str]:
96
99
  """
97
- A list of ram group names.
100
+ (Available since v1.42.0) A list of Policy names.
98
101
  """
99
102
  return pulumi.get(self, "names")
100
103
 
@@ -107,7 +110,7 @@ class GetPoliciesResult:
107
110
  @pulumi.getter
108
111
  def policies(self) -> Sequence['outputs.GetPoliciesPolicyResult']:
109
112
  """
110
- A list of policies. Each element contains the following attributes:
113
+ A list of Policy. Each element contains the following attributes:
111
114
  """
112
115
  return pulumi.get(self, "policies")
113
116
 
@@ -116,11 +119,19 @@ class GetPoliciesResult:
116
119
  def role_name(self) -> Optional[_builtins.str]:
117
120
  return pulumi.get(self, "role_name")
118
121
 
122
+ @_builtins.property
123
+ @pulumi.getter
124
+ def tags(self) -> Optional[Mapping[str, _builtins.str]]:
125
+ """
126
+ (Available since v1.262.1) The tags of the Policy.
127
+ """
128
+ return pulumi.get(self, "tags")
129
+
119
130
  @_builtins.property
120
131
  @pulumi.getter
121
132
  def type(self) -> Optional[_builtins.str]:
122
133
  """
123
- Type of the policy.
134
+ The type of the policy.
124
135
  """
125
136
  return pulumi.get(self, "type")
126
137
 
@@ -128,7 +139,7 @@ class GetPoliciesResult:
128
139
  @pulumi.getter(name="userName")
129
140
  def user_name(self) -> Optional[_builtins.str]:
130
141
  """
131
- The user name of policy.
142
+ (Removed since v1.262.1) Field `user_name` has been removed from provider version 1.262.1.
132
143
  """
133
144
  return pulumi.get(self, "user_name")
134
145
 
@@ -148,6 +159,7 @@ class AwaitableGetPoliciesResult(GetPoliciesResult):
148
159
  output_file=self.output_file,
149
160
  policies=self.policies,
150
161
  role_name=self.role_name,
162
+ tags=self.tags,
151
163
  type=self.type,
152
164
  user_name=self.user_name)
153
165
 
@@ -158,65 +170,64 @@ def get_policies(enable_details: Optional[_builtins.bool] = None,
158
170
  name_regex: Optional[_builtins.str] = None,
159
171
  output_file: Optional[_builtins.str] = None,
160
172
  role_name: Optional[_builtins.str] = None,
173
+ tags: Optional[Mapping[str, _builtins.str]] = None,
161
174
  type: Optional[_builtins.str] = None,
162
175
  user_name: Optional[_builtins.str] = None,
163
176
  opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetPoliciesResult:
164
177
  """
165
- This data source provides a list of RAM policies in an Alibaba Cloud account according to the specified filters.
178
+ This data source provides the RAM Policies of the current Alibaba Cloud user.
166
179
 
167
- > **NOTE:** Available since v1.0.0+.
180
+ > **NOTE:** Available since v1.0.0.
168
181
 
169
182
  ## Example Usage
170
183
 
184
+ Basic Usage
185
+
171
186
  ```python
172
187
  import pulumi
173
188
  import pulumi_alicloud as alicloud
174
189
  import pulumi_random as random
175
190
 
191
+ config = pulumi.Config()
192
+ name = config.get("name")
193
+ if name is None:
194
+ name = "terraform-example"
176
195
  default = random.index.Integer("default",
177
196
  min=10000,
178
197
  max=99999)
179
- group = alicloud.ram.Group("group",
180
- name=f"groupName-{default['result']}",
181
- comments="this is a group comments.")
182
- policy = alicloud.ram.Policy("policy",
183
- policy_name=f"tf-example-{default['result']}",
184
- policy_document=\"\"\" {
185
- \\"Statement\\": [
186
- {
187
- \\"Action\\": [
188
- \\"oss:ListObjects\\",
189
- \\"oss:GetObject\\"
190
- ],
191
- \\"Effect\\": \\"Allow\\",
192
- \\"Resource\\": [
193
- \\"acs:oss:*:*:mybucket\\",
194
- \\"acs:oss:*:*:mybucket/*\\"
195
- ]
196
- }
197
- ],
198
- \\"Version\\": \\"1\\"
199
- }
198
+ default_policy = alicloud.ram.Policy("default",
199
+ policy_name=f"{name}-{default['result']}",
200
+ description=f"{name}-{default['result']}",
201
+ force=True,
202
+ policy_document=\"\"\" {
203
+ \\"Statement\\": [
204
+ {
205
+ \\"Effect\\": \\"Allow\\",
206
+ \\"Action\\": \\"*\\",
207
+ \\"Resource\\": \\"*\\"
208
+ }
209
+ ],
210
+ \\"Version\\": \\"1\\"
211
+ }
200
212
  \"\"\",
201
- description="this is a policy test")
202
- attach = alicloud.ram.GroupPolicyAttachment("attach",
203
- policy_name=policy.policy_name,
204
- policy_type=policy.type,
205
- group_name=group.name)
206
- policies_ds = alicloud.ram.get_policies_output(group_name=attach.group_name,
207
- type="Custom")
208
- pulumi.export("firstPolicyName", policies_ds.policies[0].name)
213
+ tags={
214
+ "Created": "TF",
215
+ "For": "Policy",
216
+ })
217
+ ids = alicloud.ram.get_policies_output(ids=[default_policy.id])
218
+ pulumi.export("ramPoliciesId0", ids.policies[0].id)
209
219
  ```
210
220
 
211
221
 
212
- :param _builtins.bool enable_details: Default to `true`. Set it to true can output more details.
213
- :param _builtins.str group_name: Filter results by a specific group name. Returned policies are attached to the specified group.
214
- :param Sequence[_builtins.str] ids: A list of ram group IDs.
215
- :param _builtins.str name_regex: A regex string to filter resulting policies by name.
222
+ :param _builtins.bool enable_details: Whether to query the detailed list of resource attributes. Default value: `true`.
223
+ :param _builtins.str group_name: The name of the user group.
224
+ :param Sequence[_builtins.str] ids: A list of Policy IDs.
225
+ :param _builtins.str name_regex: A regex string to filter results by Policy name.
216
226
  :param _builtins.str output_file: File name where to save data source results (after running `pulumi preview`).
217
- :param _builtins.str role_name: Filter results by a specific role name. Returned policies are attached to the specified role.
218
- :param _builtins.str type: Filter results by a specific policy type. Valid values are `Custom` and `System`.
219
- :param _builtins.str user_name: Filter results by a specific user name. Returned policies are attached to the specified user.
227
+ :param _builtins.str role_name: The name of the RAM role.
228
+ :param Mapping[str, _builtins.str] tags: A mapping of tags to assign to the resource.
229
+ :param _builtins.str type: The type of the policy. Valid values: `System` and `Custom`.
230
+ :param _builtins.str user_name: The name of the RAM user.
220
231
  """
221
232
  __args__ = dict()
222
233
  __args__['enableDetails'] = enable_details
@@ -225,6 +236,7 @@ def get_policies(enable_details: Optional[_builtins.bool] = None,
225
236
  __args__['nameRegex'] = name_regex
226
237
  __args__['outputFile'] = output_file
227
238
  __args__['roleName'] = role_name
239
+ __args__['tags'] = tags
228
240
  __args__['type'] = type
229
241
  __args__['userName'] = user_name
230
242
  opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
@@ -240,6 +252,7 @@ def get_policies(enable_details: Optional[_builtins.bool] = None,
240
252
  output_file=pulumi.get(__ret__, 'output_file'),
241
253
  policies=pulumi.get(__ret__, 'policies'),
242
254
  role_name=pulumi.get(__ret__, 'role_name'),
255
+ tags=pulumi.get(__ret__, 'tags'),
243
256
  type=pulumi.get(__ret__, 'type'),
244
257
  user_name=pulumi.get(__ret__, 'user_name'))
245
258
  def get_policies_output(enable_details: Optional[pulumi.Input[Optional[_builtins.bool]]] = None,
@@ -248,65 +261,64 @@ def get_policies_output(enable_details: Optional[pulumi.Input[Optional[_builtins
248
261
  name_regex: Optional[pulumi.Input[Optional[_builtins.str]]] = None,
249
262
  output_file: Optional[pulumi.Input[Optional[_builtins.str]]] = None,
250
263
  role_name: Optional[pulumi.Input[Optional[_builtins.str]]] = None,
264
+ tags: Optional[pulumi.Input[Optional[Mapping[str, _builtins.str]]]] = None,
251
265
  type: Optional[pulumi.Input[Optional[_builtins.str]]] = None,
252
266
  user_name: Optional[pulumi.Input[Optional[_builtins.str]]] = None,
253
267
  opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetPoliciesResult]:
254
268
  """
255
- This data source provides a list of RAM policies in an Alibaba Cloud account according to the specified filters.
269
+ This data source provides the RAM Policies of the current Alibaba Cloud user.
256
270
 
257
- > **NOTE:** Available since v1.0.0+.
271
+ > **NOTE:** Available since v1.0.0.
258
272
 
259
273
  ## Example Usage
260
274
 
275
+ Basic Usage
276
+
261
277
  ```python
262
278
  import pulumi
263
279
  import pulumi_alicloud as alicloud
264
280
  import pulumi_random as random
265
281
 
282
+ config = pulumi.Config()
283
+ name = config.get("name")
284
+ if name is None:
285
+ name = "terraform-example"
266
286
  default = random.index.Integer("default",
267
287
  min=10000,
268
288
  max=99999)
269
- group = alicloud.ram.Group("group",
270
- name=f"groupName-{default['result']}",
271
- comments="this is a group comments.")
272
- policy = alicloud.ram.Policy("policy",
273
- policy_name=f"tf-example-{default['result']}",
274
- policy_document=\"\"\" {
275
- \\"Statement\\": [
276
- {
277
- \\"Action\\": [
278
- \\"oss:ListObjects\\",
279
- \\"oss:GetObject\\"
280
- ],
281
- \\"Effect\\": \\"Allow\\",
282
- \\"Resource\\": [
283
- \\"acs:oss:*:*:mybucket\\",
284
- \\"acs:oss:*:*:mybucket/*\\"
285
- ]
286
- }
287
- ],
288
- \\"Version\\": \\"1\\"
289
- }
289
+ default_policy = alicloud.ram.Policy("default",
290
+ policy_name=f"{name}-{default['result']}",
291
+ description=f"{name}-{default['result']}",
292
+ force=True,
293
+ policy_document=\"\"\" {
294
+ \\"Statement\\": [
295
+ {
296
+ \\"Effect\\": \\"Allow\\",
297
+ \\"Action\\": \\"*\\",
298
+ \\"Resource\\": \\"*\\"
299
+ }
300
+ ],
301
+ \\"Version\\": \\"1\\"
302
+ }
290
303
  \"\"\",
291
- description="this is a policy test")
292
- attach = alicloud.ram.GroupPolicyAttachment("attach",
293
- policy_name=policy.policy_name,
294
- policy_type=policy.type,
295
- group_name=group.name)
296
- policies_ds = alicloud.ram.get_policies_output(group_name=attach.group_name,
297
- type="Custom")
298
- pulumi.export("firstPolicyName", policies_ds.policies[0].name)
304
+ tags={
305
+ "Created": "TF",
306
+ "For": "Policy",
307
+ })
308
+ ids = alicloud.ram.get_policies_output(ids=[default_policy.id])
309
+ pulumi.export("ramPoliciesId0", ids.policies[0].id)
299
310
  ```
300
311
 
301
312
 
302
- :param _builtins.bool enable_details: Default to `true`. Set it to true can output more details.
303
- :param _builtins.str group_name: Filter results by a specific group name. Returned policies are attached to the specified group.
304
- :param Sequence[_builtins.str] ids: A list of ram group IDs.
305
- :param _builtins.str name_regex: A regex string to filter resulting policies by name.
313
+ :param _builtins.bool enable_details: Whether to query the detailed list of resource attributes. Default value: `true`.
314
+ :param _builtins.str group_name: The name of the user group.
315
+ :param Sequence[_builtins.str] ids: A list of Policy IDs.
316
+ :param _builtins.str name_regex: A regex string to filter results by Policy name.
306
317
  :param _builtins.str output_file: File name where to save data source results (after running `pulumi preview`).
307
- :param _builtins.str role_name: Filter results by a specific role name. Returned policies are attached to the specified role.
308
- :param _builtins.str type: Filter results by a specific policy type. Valid values are `Custom` and `System`.
309
- :param _builtins.str user_name: Filter results by a specific user name. Returned policies are attached to the specified user.
318
+ :param _builtins.str role_name: The name of the RAM role.
319
+ :param Mapping[str, _builtins.str] tags: A mapping of tags to assign to the resource.
320
+ :param _builtins.str type: The type of the policy. Valid values: `System` and `Custom`.
321
+ :param _builtins.str user_name: The name of the RAM user.
310
322
  """
311
323
  __args__ = dict()
312
324
  __args__['enableDetails'] = enable_details
@@ -315,6 +327,7 @@ def get_policies_output(enable_details: Optional[pulumi.Input[Optional[_builtins
315
327
  __args__['nameRegex'] = name_regex
316
328
  __args__['outputFile'] = output_file
317
329
  __args__['roleName'] = role_name
330
+ __args__['tags'] = tags
318
331
  __args__['type'] = type
319
332
  __args__['userName'] = user_name
320
333
  opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
@@ -329,5 +342,6 @@ def get_policies_output(enable_details: Optional[pulumi.Input[Optional[_builtins
329
342
  output_file=pulumi.get(__response__, 'output_file'),
330
343
  policies=pulumi.get(__response__, 'policies'),
331
344
  role_name=pulumi.get(__response__, 'role_name'),
345
+ tags=pulumi.get(__response__, 'tags'),
332
346
  type=pulumi.get(__response__, 'type'),
333
347
  user_name=pulumi.get(__response__, 'user_name')))
@@ -27,7 +27,7 @@ class GetRolesResult:
27
27
  """
28
28
  A collection of values returned by getRoles.
29
29
  """
30
- def __init__(__self__, id=None, ids=None, name_regex=None, names=None, output_file=None, policy_name=None, policy_type=None, roles=None):
30
+ def __init__(__self__, id=None, ids=None, name_regex=None, names=None, output_file=None, policy_name=None, policy_type=None, roles=None, tags=None):
31
31
  if id and not isinstance(id, str):
32
32
  raise TypeError("Expected argument 'id' to be a str")
33
33
  pulumi.set(__self__, "id", id)
@@ -52,6 +52,9 @@ class GetRolesResult:
52
52
  if roles and not isinstance(roles, list):
53
53
  raise TypeError("Expected argument 'roles' to be a list")
54
54
  pulumi.set(__self__, "roles", roles)
55
+ if tags and not isinstance(tags, dict):
56
+ raise TypeError("Expected argument 'tags' to be a dict")
57
+ pulumi.set(__self__, "tags", tags)
55
58
 
56
59
  @_builtins.property
57
60
  @pulumi.getter
@@ -64,9 +67,6 @@ class GetRolesResult:
64
67
  @_builtins.property
65
68
  @pulumi.getter
66
69
  def ids(self) -> Sequence[_builtins.str]:
67
- """
68
- A list of ram role IDs.
69
- """
70
70
  return pulumi.get(self, "ids")
71
71
 
72
72
  @_builtins.property
@@ -78,7 +78,7 @@ class GetRolesResult:
78
78
  @pulumi.getter
79
79
  def names(self) -> Sequence[_builtins.str]:
80
80
  """
81
- A list of ram role names.
81
+ (Available since v1.42.0) A list of Role names.
82
82
  """
83
83
  return pulumi.get(self, "names")
84
84
 
@@ -101,10 +101,18 @@ class GetRolesResult:
101
101
  @pulumi.getter
102
102
  def roles(self) -> Sequence['outputs.GetRolesRoleResult']:
103
103
  """
104
- A list of roles. Each element contains the following attributes:
104
+ A list of Role. Each element contains the following attributes:
105
105
  """
106
106
  return pulumi.get(self, "roles")
107
107
 
108
+ @_builtins.property
109
+ @pulumi.getter
110
+ def tags(self) -> Optional[Mapping[str, _builtins.str]]:
111
+ """
112
+ (Available since v1.262.1) The tags of the RAM role.
113
+ """
114
+ return pulumi.get(self, "tags")
115
+
108
116
 
109
117
  class AwaitableGetRolesResult(GetRolesResult):
110
118
  # pylint: disable=using-constant-test
@@ -119,7 +127,8 @@ class AwaitableGetRolesResult(GetRolesResult):
119
127
  output_file=self.output_file,
120
128
  policy_name=self.policy_name,
121
129
  policy_type=self.policy_type,
122
- roles=self.roles)
130
+ roles=self.roles,
131
+ tags=self.tags)
123
132
 
124
133
 
125
134
  def get_roles(ids: Optional[Sequence[_builtins.str]] = None,
@@ -127,31 +136,63 @@ def get_roles(ids: Optional[Sequence[_builtins.str]] = None,
127
136
  output_file: Optional[_builtins.str] = None,
128
137
  policy_name: Optional[_builtins.str] = None,
129
138
  policy_type: Optional[_builtins.str] = None,
139
+ tags: Optional[Mapping[str, _builtins.str]] = None,
130
140
  opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetRolesResult:
131
141
  """
132
- This data source provides a list of RAM Roles in an Alibaba Cloud account according to the specified filters.
142
+ This data source provides the RAM Roles of the current Alibaba Cloud user.
133
143
 
134
- > **NOTE:** Available since v1.0.0+.
144
+ > **NOTE:** Available since v1.0.0.
135
145
 
136
146
  ## Example Usage
137
147
 
148
+ Basic Usage
149
+
138
150
  ```python
139
151
  import pulumi
140
152
  import pulumi_alicloud as alicloud
153
+ import pulumi_random as random
141
154
 
142
- roles_ds = alicloud.ram.get_roles(output_file="roles.txt",
143
- name_regex=".*test.*",
144
- policy_name="AliyunACSDefaultAccess",
145
- policy_type="Custom")
146
- pulumi.export("firstRoleId", roles_ds.roles[0].id)
155
+ config = pulumi.Config()
156
+ name = config.get("name")
157
+ if name is None:
158
+ name = "terraform-example"
159
+ default = random.index.Integer("default",
160
+ min=10000,
161
+ max=99999)
162
+ default_role = alicloud.ram.Role("default",
163
+ role_name=f"{name}-{default['result']}",
164
+ description=f"{name}-{default['result']}",
165
+ force=True,
166
+ assume_role_policy_document=\"\"\" {
167
+ \\"Statement\\": [
168
+ {
169
+ \\"Action\\": \\"sts:AssumeRole\\",
170
+ \\"Effect\\": \\"Allow\\",
171
+ \\"Principal\\": {
172
+ \\"Service\\": [
173
+ \\"ecs.aliyuncs.com\\"
174
+ ]
175
+ }
176
+ }
177
+ ],
178
+ \\"Version\\": \\"1\\"
179
+ }
180
+ \"\"\",
181
+ tags={
182
+ "Created": "TF",
183
+ "For": "Role",
184
+ })
185
+ ids = alicloud.ram.get_roles_output(ids=[default_role.role_id])
186
+ pulumi.export("ramRolesId0", ids.roles[0].id)
147
187
  ```
148
188
 
149
189
 
150
- :param Sequence[_builtins.str] ids: A list of ram role IDs.
151
- :param _builtins.str name_regex: A regex string to filter results by the role name.
190
+ :param Sequence[_builtins.str] ids: A list of Role IDs.
191
+ :param _builtins.str name_regex: A regex string to filter results by Role name.
152
192
  :param _builtins.str output_file: File name where to save data source results (after running `pulumi preview`).
153
- :param _builtins.str policy_name: Filter results by a specific policy name. If you set this parameter without setting `policy_type`, the later will be automatically set to `System`. The resulting roles will be attached to the specified policy.
154
- :param _builtins.str policy_type: Filter results by a specific policy type. Valid values are `Custom` and `System`. If you set this parameter, you must set `policy_name` as well.
193
+ :param _builtins.str policy_name: The name of the policy.
194
+ :param _builtins.str policy_type: The type of the policy. Default value: `System`. Valid values: `System`, `Custom`. **Note:** `policy_type` takes effect only when `policy_name` is set.
195
+ :param Mapping[str, _builtins.str] tags: A mapping of tags to assign to the resource.
155
196
  """
156
197
  __args__ = dict()
157
198
  __args__['ids'] = ids
@@ -159,6 +200,7 @@ def get_roles(ids: Optional[Sequence[_builtins.str]] = None,
159
200
  __args__['outputFile'] = output_file
160
201
  __args__['policyName'] = policy_name
161
202
  __args__['policyType'] = policy_type
203
+ __args__['tags'] = tags
162
204
  opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
163
205
  __ret__ = pulumi.runtime.invoke('alicloud:ram/getRoles:getRoles', __args__, opts=opts, typ=GetRolesResult).value
164
206
 
@@ -170,37 +212,70 @@ def get_roles(ids: Optional[Sequence[_builtins.str]] = None,
170
212
  output_file=pulumi.get(__ret__, 'output_file'),
171
213
  policy_name=pulumi.get(__ret__, 'policy_name'),
172
214
  policy_type=pulumi.get(__ret__, 'policy_type'),
173
- roles=pulumi.get(__ret__, 'roles'))
215
+ roles=pulumi.get(__ret__, 'roles'),
216
+ tags=pulumi.get(__ret__, 'tags'))
174
217
  def get_roles_output(ids: Optional[pulumi.Input[Optional[Sequence[_builtins.str]]]] = None,
175
218
  name_regex: Optional[pulumi.Input[Optional[_builtins.str]]] = None,
176
219
  output_file: Optional[pulumi.Input[Optional[_builtins.str]]] = None,
177
220
  policy_name: Optional[pulumi.Input[Optional[_builtins.str]]] = None,
178
221
  policy_type: Optional[pulumi.Input[Optional[_builtins.str]]] = None,
222
+ tags: Optional[pulumi.Input[Optional[Mapping[str, _builtins.str]]]] = None,
179
223
  opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetRolesResult]:
180
224
  """
181
- This data source provides a list of RAM Roles in an Alibaba Cloud account according to the specified filters.
225
+ This data source provides the RAM Roles of the current Alibaba Cloud user.
182
226
 
183
- > **NOTE:** Available since v1.0.0+.
227
+ > **NOTE:** Available since v1.0.0.
184
228
 
185
229
  ## Example Usage
186
230
 
231
+ Basic Usage
232
+
187
233
  ```python
188
234
  import pulumi
189
235
  import pulumi_alicloud as alicloud
236
+ import pulumi_random as random
190
237
 
191
- roles_ds = alicloud.ram.get_roles(output_file="roles.txt",
192
- name_regex=".*test.*",
193
- policy_name="AliyunACSDefaultAccess",
194
- policy_type="Custom")
195
- pulumi.export("firstRoleId", roles_ds.roles[0].id)
238
+ config = pulumi.Config()
239
+ name = config.get("name")
240
+ if name is None:
241
+ name = "terraform-example"
242
+ default = random.index.Integer("default",
243
+ min=10000,
244
+ max=99999)
245
+ default_role = alicloud.ram.Role("default",
246
+ role_name=f"{name}-{default['result']}",
247
+ description=f"{name}-{default['result']}",
248
+ force=True,
249
+ assume_role_policy_document=\"\"\" {
250
+ \\"Statement\\": [
251
+ {
252
+ \\"Action\\": \\"sts:AssumeRole\\",
253
+ \\"Effect\\": \\"Allow\\",
254
+ \\"Principal\\": {
255
+ \\"Service\\": [
256
+ \\"ecs.aliyuncs.com\\"
257
+ ]
258
+ }
259
+ }
260
+ ],
261
+ \\"Version\\": \\"1\\"
262
+ }
263
+ \"\"\",
264
+ tags={
265
+ "Created": "TF",
266
+ "For": "Role",
267
+ })
268
+ ids = alicloud.ram.get_roles_output(ids=[default_role.role_id])
269
+ pulumi.export("ramRolesId0", ids.roles[0].id)
196
270
  ```
197
271
 
198
272
 
199
- :param Sequence[_builtins.str] ids: A list of ram role IDs.
200
- :param _builtins.str name_regex: A regex string to filter results by the role name.
273
+ :param Sequence[_builtins.str] ids: A list of Role IDs.
274
+ :param _builtins.str name_regex: A regex string to filter results by Role name.
201
275
  :param _builtins.str output_file: File name where to save data source results (after running `pulumi preview`).
202
- :param _builtins.str policy_name: Filter results by a specific policy name. If you set this parameter without setting `policy_type`, the later will be automatically set to `System`. The resulting roles will be attached to the specified policy.
203
- :param _builtins.str policy_type: Filter results by a specific policy type. Valid values are `Custom` and `System`. If you set this parameter, you must set `policy_name` as well.
276
+ :param _builtins.str policy_name: The name of the policy.
277
+ :param _builtins.str policy_type: The type of the policy. Default value: `System`. Valid values: `System`, `Custom`. **Note:** `policy_type` takes effect only when `policy_name` is set.
278
+ :param Mapping[str, _builtins.str] tags: A mapping of tags to assign to the resource.
204
279
  """
205
280
  __args__ = dict()
206
281
  __args__['ids'] = ids
@@ -208,6 +283,7 @@ def get_roles_output(ids: Optional[pulumi.Input[Optional[Sequence[_builtins.str]
208
283
  __args__['outputFile'] = output_file
209
284
  __args__['policyName'] = policy_name
210
285
  __args__['policyType'] = policy_type
286
+ __args__['tags'] = tags
211
287
  opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
212
288
  __ret__ = pulumi.runtime.invoke_output('alicloud:ram/getRoles:getRoles', __args__, opts=opts, typ=GetRolesResult)
213
289
  return __ret__.apply(lambda __response__: GetRolesResult(
@@ -218,4 +294,5 @@ def get_roles_output(ids: Optional[pulumi.Input[Optional[Sequence[_builtins.str]
218
294
  output_file=pulumi.get(__response__, 'output_file'),
219
295
  policy_name=pulumi.get(__response__, 'policy_name'),
220
296
  policy_type=pulumi.get(__response__, 'policy_type'),
221
- roles=pulumi.get(__response__, 'roles')))
297
+ roles=pulumi.get(__response__, 'roles'),
298
+ tags=pulumi.get(__response__, 'tags')))