pulumi-alicloud 3.81.0a1750224117__py3-none-any.whl → 3.82.0a1751947305__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 (61) hide show
  1. pulumi_alicloud/__init__.py +40 -0
  2. pulumi_alicloud/alikafka/__init__.py +2 -0
  3. pulumi_alicloud/alikafka/_inputs.py +450 -0
  4. pulumi_alicloud/alikafka/instance.py +331 -95
  5. pulumi_alicloud/alikafka/outputs.py +346 -0
  6. pulumi_alicloud/cdn/get_service.py +4 -4
  7. pulumi_alicloud/cen/get_transit_router_route_table_propagations.py +116 -21
  8. pulumi_alicloud/cen/get_transit_router_route_tables.py +35 -29
  9. pulumi_alicloud/cen/get_transit_router_vpn_attachments.py +178 -59
  10. pulumi_alicloud/cen/outputs.py +56 -41
  11. pulumi_alicloud/cloudfirewall/__init__.py +1 -0
  12. pulumi_alicloud/cloudfirewall/policy_advanced_config.py +165 -0
  13. pulumi_alicloud/cs/_inputs.py +54 -0
  14. pulumi_alicloud/cs/node_pool.py +158 -45
  15. pulumi_alicloud/cs/outputs.py +51 -0
  16. pulumi_alicloud/dfs/vsc_mount_point.py +4 -4
  17. pulumi_alicloud/ecs/_inputs.py +66 -0
  18. pulumi_alicloud/ecs/ecs_network_interface.py +47 -0
  19. pulumi_alicloud/ecs/get_ecs_key_pairs.py +57 -13
  20. pulumi_alicloud/ecs/get_ecs_launch_templates.py +15 -14
  21. pulumi_alicloud/ecs/get_key_pairs.py +1 -1
  22. pulumi_alicloud/ecs/instance.py +115 -0
  23. pulumi_alicloud/ecs/outputs.py +176 -80
  24. pulumi_alicloud/eflo/node_group.py +103 -7
  25. pulumi_alicloud/emrv2/_inputs.py +74 -0
  26. pulumi_alicloud/emrv2/outputs.py +65 -0
  27. pulumi_alicloud/esa/__init__.py +2 -0
  28. pulumi_alicloud/esa/certificate.py +7 -28
  29. pulumi_alicloud/esa/custom_scene_policy.py +484 -0
  30. pulumi_alicloud/esa/version.py +406 -0
  31. pulumi_alicloud/eventbridge/service_linked_role.py +25 -31
  32. pulumi_alicloud/ga/forwarding_rule.py +2 -2
  33. pulumi_alicloud/gpdb/instance.py +28 -28
  34. pulumi_alicloud/hbr/__init__.py +1 -0
  35. pulumi_alicloud/hbr/get_udm_snapshots.py +282 -0
  36. pulumi_alicloud/hbr/ots_backup_plan.py +2 -2
  37. pulumi_alicloud/hbr/outputs.py +96 -0
  38. pulumi_alicloud/hbr/replication_vault.py +167 -41
  39. pulumi_alicloud/hbr/vault.py +21 -7
  40. pulumi_alicloud/kms/secret.py +42 -28
  41. pulumi_alicloud/maxcompute/_inputs.py +26 -6
  42. pulumi_alicloud/maxcompute/outputs.py +18 -4
  43. pulumi_alicloud/maxcompute/project.py +50 -3
  44. pulumi_alicloud/message/__init__.py +1 -0
  45. pulumi_alicloud/message/service_service.py +132 -0
  46. pulumi_alicloud/message/service_subscription.py +37 -23
  47. pulumi_alicloud/mns/get_service.py +8 -4
  48. pulumi_alicloud/mongodb/instance.py +63 -16
  49. pulumi_alicloud/mongodb/sharding_instance.py +249 -0
  50. pulumi_alicloud/pulumi-plugin.json +1 -1
  51. pulumi_alicloud/ram/role.py +306 -105
  52. pulumi_alicloud/rds/_inputs.py +0 -9
  53. pulumi_alicloud/rds/custom.py +360 -31
  54. pulumi_alicloud/rds/outputs.py +0 -6
  55. pulumi_alicloud/threatdetection/__init__.py +1 -0
  56. pulumi_alicloud/threatdetection/cycle_task.py +731 -0
  57. pulumi_alicloud/vpc/network_interface.py +34 -0
  58. {pulumi_alicloud-3.81.0a1750224117.dist-info → pulumi_alicloud-3.82.0a1751947305.dist-info}/METADATA +1 -1
  59. {pulumi_alicloud-3.81.0a1750224117.dist-info → pulumi_alicloud-3.82.0a1751947305.dist-info}/RECORD +61 -53
  60. {pulumi_alicloud-3.81.0a1750224117.dist-info → pulumi_alicloud-3.82.0a1751947305.dist-info}/WHEEL +0 -0
  61. {pulumi_alicloud-3.81.0a1750224117.dist-info → pulumi_alicloud-3.82.0a1751947305.dist-info}/top_level.txt +0 -0
@@ -20,56 +20,86 @@ __all__ = ['RoleArgs', 'Role']
20
20
  @pulumi.input_type
21
21
  class RoleArgs:
22
22
  def __init__(__self__, *,
23
+ assume_role_policy_document: Optional[pulumi.Input[builtins.str]] = None,
23
24
  description: Optional[pulumi.Input[builtins.str]] = None,
24
25
  document: Optional[pulumi.Input[builtins.str]] = None,
25
26
  force: Optional[pulumi.Input[builtins.bool]] = None,
26
27
  max_session_duration: Optional[pulumi.Input[builtins.int]] = None,
27
28
  name: Optional[pulumi.Input[builtins.str]] = None,
28
29
  ram_users: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
30
+ role_name: Optional[pulumi.Input[builtins.str]] = None,
29
31
  services: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
32
+ tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
30
33
  version: Optional[pulumi.Input[builtins.str]] = None):
31
34
  """
32
35
  The set of arguments for constructing a Role resource.
33
- :param pulumi.Input[builtins.str] description: Description of the RAM role. This name can have a string of 1 to 1024 characters. **NOTE:** The `description` supports modification since V1.144.0.
34
- :param pulumi.Input[builtins.str] document: Authorization strategy of the RAM role. It is required when the `services` and `ram_users` are not specified.
35
- :param pulumi.Input[builtins.bool] force: This parameter is used for resource destroy. Default value is `false`.
36
- :param pulumi.Input[builtins.int] max_session_duration: The maximum session duration of the RAM role. Valid values: 3600 to 43200. Unit: seconds. Default value: 3600. The default value is used if the parameter is not specified.
37
- :param pulumi.Input[builtins.str] name: Name of the RAM role. This name can have a string of 1 to 64 characters, must contain only alphanumeric characters or hyphens, such as "-", "_", and must not begin with a hyphen.
38
- :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] ram_users: (It has been deprecated since version 1.49.0, and use field 'document' to replace.) List of ram users who can assume the RAM role. The format of each item in this list is `acs:ram::${account_id}:root` or `acs:ram::${account_id}:user/${user_name}`, such as `acs:ram::1234567890000:root` and `acs:ram::1234567890001:user/Mary`. The `${user_name}` is the name of a RAM user which must exists in the Alicloud account indicated by the `${account_id}`.
39
- :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] services: (It has been deprecated since version 1.49.0, and use field 'document' to replace.) List of services which can assume the RAM role. The format of each item in this list is `${service}.aliyuncs.com` or `${account_id}@${service}.aliyuncs.com`, such as `ecs.aliyuncs.com` and `1234567890000@ots.aliyuncs.com`. The `${service}` can be `ecs`, `log`, `apigateway` and so on, the `${account_id}` refers to someone's Alicloud account id.
40
- :param pulumi.Input[builtins.str] version: (It has been deprecated since version 1.49.0, and use field 'document' to replace.) Version of the RAM role policy document. Valid value is `1`. Default value is `1`.
41
- """
36
+ :param pulumi.Input[builtins.str] assume_role_policy_document: The trust policy that specifies one or more trusted entities to assume the RAM role. The trusted entities can be Alibaba Cloud accounts, Alibaba Cloud services, or identity providers (IdPs).
37
+ :param pulumi.Input[builtins.str] description: The description of the RAM role.
38
+ :param pulumi.Input[builtins.str] document: Field `document` has been deprecated from provider version 1.252.0. New field `assume_role_policy_document` instead.
39
+ :param pulumi.Input[builtins.bool] force: Specifies whether to force delete the Role. Default value: `false`. Valid values:
40
+ :param pulumi.Input[builtins.int] max_session_duration: The maximum session time of the RAM role. Default value: `3600`. Valid values: `3600` to `43200`.
41
+ :param pulumi.Input[builtins.str] name: Field `name` has been deprecated from provider version 1.252.0. New field `role_name` instead.
42
+ :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] ram_users: Field `ram_users` has been deprecated from provider version 1.49.0. New field `document` instead.
43
+ :param pulumi.Input[builtins.str] role_name: The name of the RAM role.
44
+ :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] services: Field `services` has been deprecated from provider version 1.49.0. New field `document` instead.
45
+ :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] tags: The list of tags for the role.
46
+ :param pulumi.Input[builtins.str] version: Field `version` has been deprecated from provider version 1.49.0. New field `document` instead.
47
+ """
48
+ if assume_role_policy_document is not None:
49
+ pulumi.set(__self__, "assume_role_policy_document", assume_role_policy_document)
42
50
  if description is not None:
43
51
  pulumi.set(__self__, "description", description)
52
+ if document is not None:
53
+ warnings.warn("""Field 'document' has been deprecated from provider version 1.252.0. New field 'assume_role_policy_document' instead.""", DeprecationWarning)
54
+ pulumi.log.warn("""document is deprecated: Field 'document' has been deprecated from provider version 1.252.0. New field 'assume_role_policy_document' instead.""")
44
55
  if document is not None:
45
56
  pulumi.set(__self__, "document", document)
46
57
  if force is not None:
47
58
  pulumi.set(__self__, "force", force)
48
59
  if max_session_duration is not None:
49
60
  pulumi.set(__self__, "max_session_duration", max_session_duration)
61
+ if name is not None:
62
+ warnings.warn("""Field 'name' has been deprecated from provider version 1.252.0. New field 'role_name' instead.""", DeprecationWarning)
63
+ pulumi.log.warn("""name is deprecated: Field 'name' has been deprecated from provider version 1.252.0. New field 'role_name' instead.""")
50
64
  if name is not None:
51
65
  pulumi.set(__self__, "name", name)
52
66
  if ram_users is not None:
53
- warnings.warn("""Field 'ram_users' has been deprecated from version 1.49.0, and use field 'document' to replace. """, DeprecationWarning)
54
- pulumi.log.warn("""ram_users is deprecated: Field 'ram_users' has been deprecated from version 1.49.0, and use field 'document' to replace. """)
67
+ warnings.warn("""Field 'ram_users' has been deprecated from provider version 1.49.0. New field 'document' instead.""", DeprecationWarning)
68
+ pulumi.log.warn("""ram_users is deprecated: Field 'ram_users' has been deprecated from provider version 1.49.0. New field 'document' instead.""")
55
69
  if ram_users is not None:
56
70
  pulumi.set(__self__, "ram_users", ram_users)
71
+ if role_name is not None:
72
+ pulumi.set(__self__, "role_name", role_name)
57
73
  if services is not None:
58
- warnings.warn("""Field 'services' has been deprecated from version 1.49.0, and use field 'document' to replace. """, DeprecationWarning)
59
- pulumi.log.warn("""services is deprecated: Field 'services' has been deprecated from version 1.49.0, and use field 'document' to replace. """)
74
+ warnings.warn("""Field 'services' has been deprecated from provider version 1.49.0. New field 'document' instead.""", DeprecationWarning)
75
+ pulumi.log.warn("""services is deprecated: Field 'services' has been deprecated from provider version 1.49.0. New field 'document' instead.""")
60
76
  if services is not None:
61
77
  pulumi.set(__self__, "services", services)
78
+ if tags is not None:
79
+ pulumi.set(__self__, "tags", tags)
62
80
  if version is not None:
63
- warnings.warn("""Field 'version' has been deprecated from version 1.49.0, and use field 'document' to replace. """, DeprecationWarning)
64
- pulumi.log.warn("""version is deprecated: Field 'version' has been deprecated from version 1.49.0, and use field 'document' to replace. """)
81
+ warnings.warn("""Field 'version' has been deprecated from provider version 1.49.0. New field 'document' instead.""", DeprecationWarning)
82
+ pulumi.log.warn("""version is deprecated: Field 'version' has been deprecated from provider version 1.49.0. New field 'document' instead.""")
65
83
  if version is not None:
66
84
  pulumi.set(__self__, "version", version)
67
85
 
86
+ @property
87
+ @pulumi.getter(name="assumeRolePolicyDocument")
88
+ def assume_role_policy_document(self) -> Optional[pulumi.Input[builtins.str]]:
89
+ """
90
+ The trust policy that specifies one or more trusted entities to assume the RAM role. The trusted entities can be Alibaba Cloud accounts, Alibaba Cloud services, or identity providers (IdPs).
91
+ """
92
+ return pulumi.get(self, "assume_role_policy_document")
93
+
94
+ @assume_role_policy_document.setter
95
+ def assume_role_policy_document(self, value: Optional[pulumi.Input[builtins.str]]):
96
+ pulumi.set(self, "assume_role_policy_document", value)
97
+
68
98
  @property
69
99
  @pulumi.getter
70
100
  def description(self) -> Optional[pulumi.Input[builtins.str]]:
71
101
  """
72
- Description of the RAM role. This name can have a string of 1 to 1024 characters. **NOTE:** The `description` supports modification since V1.144.0.
102
+ The description of the RAM role.
73
103
  """
74
104
  return pulumi.get(self, "description")
75
105
 
@@ -79,9 +109,10 @@ class RoleArgs:
79
109
 
80
110
  @property
81
111
  @pulumi.getter
112
+ @_utilities.deprecated("""Field 'document' has been deprecated from provider version 1.252.0. New field 'assume_role_policy_document' instead.""")
82
113
  def document(self) -> Optional[pulumi.Input[builtins.str]]:
83
114
  """
84
- Authorization strategy of the RAM role. It is required when the `services` and `ram_users` are not specified.
115
+ Field `document` has been deprecated from provider version 1.252.0. New field `assume_role_policy_document` instead.
85
116
  """
86
117
  return pulumi.get(self, "document")
87
118
 
@@ -93,7 +124,7 @@ class RoleArgs:
93
124
  @pulumi.getter
94
125
  def force(self) -> Optional[pulumi.Input[builtins.bool]]:
95
126
  """
96
- This parameter is used for resource destroy. Default value is `false`.
127
+ Specifies whether to force delete the Role. Default value: `false`. Valid values:
97
128
  """
98
129
  return pulumi.get(self, "force")
99
130
 
@@ -105,7 +136,7 @@ class RoleArgs:
105
136
  @pulumi.getter(name="maxSessionDuration")
106
137
  def max_session_duration(self) -> Optional[pulumi.Input[builtins.int]]:
107
138
  """
108
- The maximum session duration of the RAM role. Valid values: 3600 to 43200. Unit: seconds. Default value: 3600. The default value is used if the parameter is not specified.
139
+ The maximum session time of the RAM role. Default value: `3600`. Valid values: `3600` to `43200`.
109
140
  """
110
141
  return pulumi.get(self, "max_session_duration")
111
142
 
@@ -115,9 +146,10 @@ class RoleArgs:
115
146
 
116
147
  @property
117
148
  @pulumi.getter
149
+ @_utilities.deprecated("""Field 'name' has been deprecated from provider version 1.252.0. New field 'role_name' instead.""")
118
150
  def name(self) -> Optional[pulumi.Input[builtins.str]]:
119
151
  """
120
- Name of the RAM role. This name can have a string of 1 to 64 characters, must contain only alphanumeric characters or hyphens, such as "-", "_", and must not begin with a hyphen.
152
+ Field `name` has been deprecated from provider version 1.252.0. New field `role_name` instead.
121
153
  """
122
154
  return pulumi.get(self, "name")
123
155
 
@@ -127,10 +159,10 @@ class RoleArgs:
127
159
 
128
160
  @property
129
161
  @pulumi.getter(name="ramUsers")
130
- @_utilities.deprecated("""Field 'ram_users' has been deprecated from version 1.49.0, and use field 'document' to replace. """)
162
+ @_utilities.deprecated("""Field 'ram_users' has been deprecated from provider version 1.49.0. New field 'document' instead.""")
131
163
  def ram_users(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]:
132
164
  """
133
- (It has been deprecated since version 1.49.0, and use field 'document' to replace.) List of ram users who can assume the RAM role. The format of each item in this list is `acs:ram::${account_id}:root` or `acs:ram::${account_id}:user/${user_name}`, such as `acs:ram::1234567890000:root` and `acs:ram::1234567890001:user/Mary`. The `${user_name}` is the name of a RAM user which must exists in the Alicloud account indicated by the `${account_id}`.
165
+ Field `ram_users` has been deprecated from provider version 1.49.0. New field `document` instead.
134
166
  """
135
167
  return pulumi.get(self, "ram_users")
136
168
 
@@ -138,12 +170,24 @@ class RoleArgs:
138
170
  def ram_users(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]):
139
171
  pulumi.set(self, "ram_users", value)
140
172
 
173
+ @property
174
+ @pulumi.getter(name="roleName")
175
+ def role_name(self) -> Optional[pulumi.Input[builtins.str]]:
176
+ """
177
+ The name of the RAM role.
178
+ """
179
+ return pulumi.get(self, "role_name")
180
+
181
+ @role_name.setter
182
+ def role_name(self, value: Optional[pulumi.Input[builtins.str]]):
183
+ pulumi.set(self, "role_name", value)
184
+
141
185
  @property
142
186
  @pulumi.getter
143
- @_utilities.deprecated("""Field 'services' has been deprecated from version 1.49.0, and use field 'document' to replace. """)
187
+ @_utilities.deprecated("""Field 'services' has been deprecated from provider version 1.49.0. New field 'document' instead.""")
144
188
  def services(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]:
145
189
  """
146
- (It has been deprecated since version 1.49.0, and use field 'document' to replace.) List of services which can assume the RAM role. The format of each item in this list is `${service}.aliyuncs.com` or `${account_id}@${service}.aliyuncs.com`, such as `ecs.aliyuncs.com` and `1234567890000@ots.aliyuncs.com`. The `${service}` can be `ecs`, `log`, `apigateway` and so on, the `${account_id}` refers to someone's Alicloud account id.
190
+ Field `services` has been deprecated from provider version 1.49.0. New field `document` instead.
147
191
  """
148
192
  return pulumi.get(self, "services")
149
193
 
@@ -153,10 +197,22 @@ class RoleArgs:
153
197
 
154
198
  @property
155
199
  @pulumi.getter
156
- @_utilities.deprecated("""Field 'version' has been deprecated from version 1.49.0, and use field 'document' to replace. """)
200
+ def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]:
201
+ """
202
+ The list of tags for the role.
203
+ """
204
+ return pulumi.get(self, "tags")
205
+
206
+ @tags.setter
207
+ def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]):
208
+ pulumi.set(self, "tags", value)
209
+
210
+ @property
211
+ @pulumi.getter
212
+ @_utilities.deprecated("""Field 'version' has been deprecated from provider version 1.49.0. New field 'document' instead.""")
157
213
  def version(self) -> Optional[pulumi.Input[builtins.str]]:
158
214
  """
159
- (It has been deprecated since version 1.49.0, and use field 'document' to replace.) Version of the RAM role policy document. Valid value is `1`. Default value is `1`.
215
+ Field `version` has been deprecated from provider version 1.49.0. New field `document` instead.
160
216
  """
161
217
  return pulumi.get(self, "version")
162
218
 
@@ -169,6 +225,8 @@ class RoleArgs:
169
225
  class _RoleState:
170
226
  def __init__(__self__, *,
171
227
  arn: Optional[pulumi.Input[builtins.str]] = None,
228
+ assume_role_policy_document: Optional[pulumi.Input[builtins.str]] = None,
229
+ create_time: Optional[pulumi.Input[builtins.str]] = None,
172
230
  description: Optional[pulumi.Input[builtins.str]] = None,
173
231
  document: Optional[pulumi.Input[builtins.str]] = None,
174
232
  force: Optional[pulumi.Input[builtins.bool]] = None,
@@ -176,48 +234,68 @@ class _RoleState:
176
234
  name: Optional[pulumi.Input[builtins.str]] = None,
177
235
  ram_users: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
178
236
  role_id: Optional[pulumi.Input[builtins.str]] = None,
237
+ role_name: Optional[pulumi.Input[builtins.str]] = None,
179
238
  services: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
239
+ tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
180
240
  version: Optional[pulumi.Input[builtins.str]] = None):
181
241
  """
182
242
  Input properties used for looking up and filtering Role resources.
183
- :param pulumi.Input[builtins.str] arn: The role arn.
184
- :param pulumi.Input[builtins.str] description: Description of the RAM role. This name can have a string of 1 to 1024 characters. **NOTE:** The `description` supports modification since V1.144.0.
185
- :param pulumi.Input[builtins.str] document: Authorization strategy of the RAM role. It is required when the `services` and `ram_users` are not specified.
186
- :param pulumi.Input[builtins.bool] force: This parameter is used for resource destroy. Default value is `false`.
187
- :param pulumi.Input[builtins.int] max_session_duration: The maximum session duration of the RAM role. Valid values: 3600 to 43200. Unit: seconds. Default value: 3600. The default value is used if the parameter is not specified.
188
- :param pulumi.Input[builtins.str] name: Name of the RAM role. This name can have a string of 1 to 64 characters, must contain only alphanumeric characters or hyphens, such as "-", "_", and must not begin with a hyphen.
189
- :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] ram_users: (It has been deprecated since version 1.49.0, and use field 'document' to replace.) List of ram users who can assume the RAM role. The format of each item in this list is `acs:ram::${account_id}:root` or `acs:ram::${account_id}:user/${user_name}`, such as `acs:ram::1234567890000:root` and `acs:ram::1234567890001:user/Mary`. The `${user_name}` is the name of a RAM user which must exists in the Alicloud account indicated by the `${account_id}`.
190
- :param pulumi.Input[builtins.str] role_id: The role ID.
191
- :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] services: (It has been deprecated since version 1.49.0, and use field 'document' to replace.) List of services which can assume the RAM role. The format of each item in this list is `${service}.aliyuncs.com` or `${account_id}@${service}.aliyuncs.com`, such as `ecs.aliyuncs.com` and `1234567890000@ots.aliyuncs.com`. The `${service}` can be `ecs`, `log`, `apigateway` and so on, the `${account_id}` refers to someone's Alicloud account id.
192
- :param pulumi.Input[builtins.str] version: (It has been deprecated since version 1.49.0, and use field 'document' to replace.) Version of the RAM role policy document. Valid value is `1`. Default value is `1`.
243
+ :param pulumi.Input[builtins.str] arn: The Alibaba Cloud Resource Name (ARN) of the RAM role.
244
+ :param pulumi.Input[builtins.str] assume_role_policy_document: The trust policy that specifies one or more trusted entities to assume the RAM role. The trusted entities can be Alibaba Cloud accounts, Alibaba Cloud services, or identity providers (IdPs).
245
+ :param pulumi.Input[builtins.str] create_time: (Available since v1.252.0) The time when the RAM role was created.
246
+ :param pulumi.Input[builtins.str] description: The description of the RAM role.
247
+ :param pulumi.Input[builtins.str] document: Field `document` has been deprecated from provider version 1.252.0. New field `assume_role_policy_document` instead.
248
+ :param pulumi.Input[builtins.bool] force: Specifies whether to force delete the Role. Default value: `false`. Valid values:
249
+ :param pulumi.Input[builtins.int] max_session_duration: The maximum session time of the RAM role. Default value: `3600`. Valid values: `3600` to `43200`.
250
+ :param pulumi.Input[builtins.str] name: Field `name` has been deprecated from provider version 1.252.0. New field `role_name` instead.
251
+ :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] ram_users: Field `ram_users` has been deprecated from provider version 1.49.0. New field `document` instead.
252
+ :param pulumi.Input[builtins.str] role_id: The ID of the RAM role.
253
+ :param pulumi.Input[builtins.str] role_name: The name of the RAM role.
254
+ :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] services: Field `services` has been deprecated from provider version 1.49.0. New field `document` instead.
255
+ :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] tags: The list of tags for the role.
256
+ :param pulumi.Input[builtins.str] version: Field `version` has been deprecated from provider version 1.49.0. New field `document` instead.
193
257
  """
194
258
  if arn is not None:
195
259
  pulumi.set(__self__, "arn", arn)
260
+ if assume_role_policy_document is not None:
261
+ pulumi.set(__self__, "assume_role_policy_document", assume_role_policy_document)
262
+ if create_time is not None:
263
+ pulumi.set(__self__, "create_time", create_time)
196
264
  if description is not None:
197
265
  pulumi.set(__self__, "description", description)
266
+ if document is not None:
267
+ warnings.warn("""Field 'document' has been deprecated from provider version 1.252.0. New field 'assume_role_policy_document' instead.""", DeprecationWarning)
268
+ pulumi.log.warn("""document is deprecated: Field 'document' has been deprecated from provider version 1.252.0. New field 'assume_role_policy_document' instead.""")
198
269
  if document is not None:
199
270
  pulumi.set(__self__, "document", document)
200
271
  if force is not None:
201
272
  pulumi.set(__self__, "force", force)
202
273
  if max_session_duration is not None:
203
274
  pulumi.set(__self__, "max_session_duration", max_session_duration)
275
+ if name is not None:
276
+ warnings.warn("""Field 'name' has been deprecated from provider version 1.252.0. New field 'role_name' instead.""", DeprecationWarning)
277
+ pulumi.log.warn("""name is deprecated: Field 'name' has been deprecated from provider version 1.252.0. New field 'role_name' instead.""")
204
278
  if name is not None:
205
279
  pulumi.set(__self__, "name", name)
206
280
  if ram_users is not None:
207
- warnings.warn("""Field 'ram_users' has been deprecated from version 1.49.0, and use field 'document' to replace. """, DeprecationWarning)
208
- pulumi.log.warn("""ram_users is deprecated: Field 'ram_users' has been deprecated from version 1.49.0, and use field 'document' to replace. """)
281
+ warnings.warn("""Field 'ram_users' has been deprecated from provider version 1.49.0. New field 'document' instead.""", DeprecationWarning)
282
+ pulumi.log.warn("""ram_users is deprecated: Field 'ram_users' has been deprecated from provider version 1.49.0. New field 'document' instead.""")
209
283
  if ram_users is not None:
210
284
  pulumi.set(__self__, "ram_users", ram_users)
211
285
  if role_id is not None:
212
286
  pulumi.set(__self__, "role_id", role_id)
287
+ if role_name is not None:
288
+ pulumi.set(__self__, "role_name", role_name)
213
289
  if services is not None:
214
- warnings.warn("""Field 'services' has been deprecated from version 1.49.0, and use field 'document' to replace. """, DeprecationWarning)
215
- pulumi.log.warn("""services is deprecated: Field 'services' has been deprecated from version 1.49.0, and use field 'document' to replace. """)
290
+ warnings.warn("""Field 'services' has been deprecated from provider version 1.49.0. New field 'document' instead.""", DeprecationWarning)
291
+ pulumi.log.warn("""services is deprecated: Field 'services' has been deprecated from provider version 1.49.0. New field 'document' instead.""")
216
292
  if services is not None:
217
293
  pulumi.set(__self__, "services", services)
294
+ if tags is not None:
295
+ pulumi.set(__self__, "tags", tags)
218
296
  if version is not None:
219
- warnings.warn("""Field 'version' has been deprecated from version 1.49.0, and use field 'document' to replace. """, DeprecationWarning)
220
- pulumi.log.warn("""version is deprecated: Field 'version' has been deprecated from version 1.49.0, and use field 'document' to replace. """)
297
+ warnings.warn("""Field 'version' has been deprecated from provider version 1.49.0. New field 'document' instead.""", DeprecationWarning)
298
+ pulumi.log.warn("""version is deprecated: Field 'version' has been deprecated from provider version 1.49.0. New field 'document' instead.""")
221
299
  if version is not None:
222
300
  pulumi.set(__self__, "version", version)
223
301
 
@@ -225,7 +303,7 @@ class _RoleState:
225
303
  @pulumi.getter
226
304
  def arn(self) -> Optional[pulumi.Input[builtins.str]]:
227
305
  """
228
- The role arn.
306
+ The Alibaba Cloud Resource Name (ARN) of the RAM role.
229
307
  """
230
308
  return pulumi.get(self, "arn")
231
309
 
@@ -233,11 +311,35 @@ class _RoleState:
233
311
  def arn(self, value: Optional[pulumi.Input[builtins.str]]):
234
312
  pulumi.set(self, "arn", value)
235
313
 
314
+ @property
315
+ @pulumi.getter(name="assumeRolePolicyDocument")
316
+ def assume_role_policy_document(self) -> Optional[pulumi.Input[builtins.str]]:
317
+ """
318
+ The trust policy that specifies one or more trusted entities to assume the RAM role. The trusted entities can be Alibaba Cloud accounts, Alibaba Cloud services, or identity providers (IdPs).
319
+ """
320
+ return pulumi.get(self, "assume_role_policy_document")
321
+
322
+ @assume_role_policy_document.setter
323
+ def assume_role_policy_document(self, value: Optional[pulumi.Input[builtins.str]]):
324
+ pulumi.set(self, "assume_role_policy_document", value)
325
+
326
+ @property
327
+ @pulumi.getter(name="createTime")
328
+ def create_time(self) -> Optional[pulumi.Input[builtins.str]]:
329
+ """
330
+ (Available since v1.252.0) The time when the RAM role was created.
331
+ """
332
+ return pulumi.get(self, "create_time")
333
+
334
+ @create_time.setter
335
+ def create_time(self, value: Optional[pulumi.Input[builtins.str]]):
336
+ pulumi.set(self, "create_time", value)
337
+
236
338
  @property
237
339
  @pulumi.getter
238
340
  def description(self) -> Optional[pulumi.Input[builtins.str]]:
239
341
  """
240
- Description of the RAM role. This name can have a string of 1 to 1024 characters. **NOTE:** The `description` supports modification since V1.144.0.
342
+ The description of the RAM role.
241
343
  """
242
344
  return pulumi.get(self, "description")
243
345
 
@@ -247,9 +349,10 @@ class _RoleState:
247
349
 
248
350
  @property
249
351
  @pulumi.getter
352
+ @_utilities.deprecated("""Field 'document' has been deprecated from provider version 1.252.0. New field 'assume_role_policy_document' instead.""")
250
353
  def document(self) -> Optional[pulumi.Input[builtins.str]]:
251
354
  """
252
- Authorization strategy of the RAM role. It is required when the `services` and `ram_users` are not specified.
355
+ Field `document` has been deprecated from provider version 1.252.0. New field `assume_role_policy_document` instead.
253
356
  """
254
357
  return pulumi.get(self, "document")
255
358
 
@@ -261,7 +364,7 @@ class _RoleState:
261
364
  @pulumi.getter
262
365
  def force(self) -> Optional[pulumi.Input[builtins.bool]]:
263
366
  """
264
- This parameter is used for resource destroy. Default value is `false`.
367
+ Specifies whether to force delete the Role. Default value: `false`. Valid values:
265
368
  """
266
369
  return pulumi.get(self, "force")
267
370
 
@@ -273,7 +376,7 @@ class _RoleState:
273
376
  @pulumi.getter(name="maxSessionDuration")
274
377
  def max_session_duration(self) -> Optional[pulumi.Input[builtins.int]]:
275
378
  """
276
- The maximum session duration of the RAM role. Valid values: 3600 to 43200. Unit: seconds. Default value: 3600. The default value is used if the parameter is not specified.
379
+ The maximum session time of the RAM role. Default value: `3600`. Valid values: `3600` to `43200`.
277
380
  """
278
381
  return pulumi.get(self, "max_session_duration")
279
382
 
@@ -283,9 +386,10 @@ class _RoleState:
283
386
 
284
387
  @property
285
388
  @pulumi.getter
389
+ @_utilities.deprecated("""Field 'name' has been deprecated from provider version 1.252.0. New field 'role_name' instead.""")
286
390
  def name(self) -> Optional[pulumi.Input[builtins.str]]:
287
391
  """
288
- Name of the RAM role. This name can have a string of 1 to 64 characters, must contain only alphanumeric characters or hyphens, such as "-", "_", and must not begin with a hyphen.
392
+ Field `name` has been deprecated from provider version 1.252.0. New field `role_name` instead.
289
393
  """
290
394
  return pulumi.get(self, "name")
291
395
 
@@ -295,10 +399,10 @@ class _RoleState:
295
399
 
296
400
  @property
297
401
  @pulumi.getter(name="ramUsers")
298
- @_utilities.deprecated("""Field 'ram_users' has been deprecated from version 1.49.0, and use field 'document' to replace. """)
402
+ @_utilities.deprecated("""Field 'ram_users' has been deprecated from provider version 1.49.0. New field 'document' instead.""")
299
403
  def ram_users(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]:
300
404
  """
301
- (It has been deprecated since version 1.49.0, and use field 'document' to replace.) List of ram users who can assume the RAM role. The format of each item in this list is `acs:ram::${account_id}:root` or `acs:ram::${account_id}:user/${user_name}`, such as `acs:ram::1234567890000:root` and `acs:ram::1234567890001:user/Mary`. The `${user_name}` is the name of a RAM user which must exists in the Alicloud account indicated by the `${account_id}`.
405
+ Field `ram_users` has been deprecated from provider version 1.49.0. New field `document` instead.
302
406
  """
303
407
  return pulumi.get(self, "ram_users")
304
408
 
@@ -310,7 +414,7 @@ class _RoleState:
310
414
  @pulumi.getter(name="roleId")
311
415
  def role_id(self) -> Optional[pulumi.Input[builtins.str]]:
312
416
  """
313
- The role ID.
417
+ The ID of the RAM role.
314
418
  """
315
419
  return pulumi.get(self, "role_id")
316
420
 
@@ -318,12 +422,24 @@ class _RoleState:
318
422
  def role_id(self, value: Optional[pulumi.Input[builtins.str]]):
319
423
  pulumi.set(self, "role_id", value)
320
424
 
425
+ @property
426
+ @pulumi.getter(name="roleName")
427
+ def role_name(self) -> Optional[pulumi.Input[builtins.str]]:
428
+ """
429
+ The name of the RAM role.
430
+ """
431
+ return pulumi.get(self, "role_name")
432
+
433
+ @role_name.setter
434
+ def role_name(self, value: Optional[pulumi.Input[builtins.str]]):
435
+ pulumi.set(self, "role_name", value)
436
+
321
437
  @property
322
438
  @pulumi.getter
323
- @_utilities.deprecated("""Field 'services' has been deprecated from version 1.49.0, and use field 'document' to replace. """)
439
+ @_utilities.deprecated("""Field 'services' has been deprecated from provider version 1.49.0. New field 'document' instead.""")
324
440
  def services(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]:
325
441
  """
326
- (It has been deprecated since version 1.49.0, and use field 'document' to replace.) List of services which can assume the RAM role. The format of each item in this list is `${service}.aliyuncs.com` or `${account_id}@${service}.aliyuncs.com`, such as `ecs.aliyuncs.com` and `1234567890000@ots.aliyuncs.com`. The `${service}` can be `ecs`, `log`, `apigateway` and so on, the `${account_id}` refers to someone's Alicloud account id.
442
+ Field `services` has been deprecated from provider version 1.49.0. New field `document` instead.
327
443
  """
328
444
  return pulumi.get(self, "services")
329
445
 
@@ -333,10 +449,22 @@ class _RoleState:
333
449
 
334
450
  @property
335
451
  @pulumi.getter
336
- @_utilities.deprecated("""Field 'version' has been deprecated from version 1.49.0, and use field 'document' to replace. """)
452
+ def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]:
453
+ """
454
+ The list of tags for the role.
455
+ """
456
+ return pulumi.get(self, "tags")
457
+
458
+ @tags.setter
459
+ def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]):
460
+ pulumi.set(self, "tags", value)
461
+
462
+ @property
463
+ @pulumi.getter
464
+ @_utilities.deprecated("""Field 'version' has been deprecated from provider version 1.49.0. New field 'document' instead.""")
337
465
  def version(self) -> Optional[pulumi.Input[builtins.str]]:
338
466
  """
339
- (It has been deprecated since version 1.49.0, and use field 'document' to replace.) Version of the RAM role policy document. Valid value is `1`. Default value is `1`.
467
+ Field `version` has been deprecated from provider version 1.49.0. New field `document` instead.
340
468
  """
341
469
  return pulumi.get(self, "version")
342
470
 
@@ -351,39 +479,49 @@ class Role(pulumi.CustomResource):
351
479
  def __init__(__self__,
352
480
  resource_name: str,
353
481
  opts: Optional[pulumi.ResourceOptions] = None,
482
+ assume_role_policy_document: Optional[pulumi.Input[builtins.str]] = None,
354
483
  description: Optional[pulumi.Input[builtins.str]] = None,
355
484
  document: Optional[pulumi.Input[builtins.str]] = None,
356
485
  force: Optional[pulumi.Input[builtins.bool]] = None,
357
486
  max_session_duration: Optional[pulumi.Input[builtins.int]] = None,
358
487
  name: Optional[pulumi.Input[builtins.str]] = None,
359
488
  ram_users: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
489
+ role_name: Optional[pulumi.Input[builtins.str]] = None,
360
490
  services: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
491
+ tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
361
492
  version: Optional[pulumi.Input[builtins.str]] = None,
362
493
  __props__=None):
363
494
  """
364
495
  Provides a RAM Role resource.
365
496
 
366
- > **NOTE:** When you want to destroy this resource forcefully(means remove all the relationships associated with it automatically and then destroy it) without set `force` with `true` at beginning, you need add `force = true` to configuration file and run `pulumi preview`, then you can delete resource forcefully.
497
+ For information about RAM Role and how to use it, see [What is Role](https://www.alibabacloud.com/help/en/ram/developer-reference/api-ram-2015-05-01-createrole).
367
498
 
368
499
  > **NOTE:** Available since v1.0.0.
369
500
 
501
+ > **NOTE:** When you want to destroy this resource forcefully(means remove all the relationships associated with it automatically and then destroy it) without set `force` with `true` at beginning, you need add `force = true` to configuration file and run `pulumi preview`, then you can delete resource forcefully.
502
+
370
503
  ## Example Usage
371
504
 
505
+ Basic Usage
506
+
372
507
  ```python
373
508
  import pulumi
374
509
  import pulumi_alicloud as alicloud
375
-
376
- # Create a new RAM Role.
377
- role = alicloud.ram.Role("role",
378
- name="terraform-example",
379
- document=\"\"\" {
510
+ import pulumi_random as random
511
+
512
+ default = random.index.Integer("default",
513
+ min=10000,
514
+ max=99999)
515
+ default_role = alicloud.ram.Role("default",
516
+ role_name=f"terraform-example-{default['result']}",
517
+ assume_role_policy_document=\"\"\" {
380
518
  "Statement": [
381
519
  {
382
520
  "Action": "sts:AssumeRole",
383
521
  "Effect": "Allow",
384
522
  "Principal": {
385
523
  "Service": [
386
- "apigateway.aliyuncs.com",
524
+ "apigateway.aliyuncs.com",
387
525
  "ecs.aliyuncs.com"
388
526
  ]
389
527
  }
@@ -397,22 +535,25 @@ class Role(pulumi.CustomResource):
397
535
 
398
536
  ## Import
399
537
 
400
- RAM role can be imported using the id or name, e.g.
538
+ RAM Role can be imported using the id, e.g.
401
539
 
402
540
  ```sh
403
- $ pulumi import alicloud:ram/role:Role example my-role
541
+ $ pulumi import alicloud:ram/role:Role example <id>
404
542
  ```
405
543
 
406
544
  :param str resource_name: The name of the resource.
407
545
  :param pulumi.ResourceOptions opts: Options for the resource.
408
- :param pulumi.Input[builtins.str] description: Description of the RAM role. This name can have a string of 1 to 1024 characters. **NOTE:** The `description` supports modification since V1.144.0.
409
- :param pulumi.Input[builtins.str] document: Authorization strategy of the RAM role. It is required when the `services` and `ram_users` are not specified.
410
- :param pulumi.Input[builtins.bool] force: This parameter is used for resource destroy. Default value is `false`.
411
- :param pulumi.Input[builtins.int] max_session_duration: The maximum session duration of the RAM role. Valid values: 3600 to 43200. Unit: seconds. Default value: 3600. The default value is used if the parameter is not specified.
412
- :param pulumi.Input[builtins.str] name: Name of the RAM role. This name can have a string of 1 to 64 characters, must contain only alphanumeric characters or hyphens, such as "-", "_", and must not begin with a hyphen.
413
- :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] ram_users: (It has been deprecated since version 1.49.0, and use field 'document' to replace.) List of ram users who can assume the RAM role. The format of each item in this list is `acs:ram::${account_id}:root` or `acs:ram::${account_id}:user/${user_name}`, such as `acs:ram::1234567890000:root` and `acs:ram::1234567890001:user/Mary`. The `${user_name}` is the name of a RAM user which must exists in the Alicloud account indicated by the `${account_id}`.
414
- :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] services: (It has been deprecated since version 1.49.0, and use field 'document' to replace.) List of services which can assume the RAM role. The format of each item in this list is `${service}.aliyuncs.com` or `${account_id}@${service}.aliyuncs.com`, such as `ecs.aliyuncs.com` and `1234567890000@ots.aliyuncs.com`. The `${service}` can be `ecs`, `log`, `apigateway` and so on, the `${account_id}` refers to someone's Alicloud account id.
415
- :param pulumi.Input[builtins.str] version: (It has been deprecated since version 1.49.0, and use field 'document' to replace.) Version of the RAM role policy document. Valid value is `1`. Default value is `1`.
546
+ :param pulumi.Input[builtins.str] assume_role_policy_document: The trust policy that specifies one or more trusted entities to assume the RAM role. The trusted entities can be Alibaba Cloud accounts, Alibaba Cloud services, or identity providers (IdPs).
547
+ :param pulumi.Input[builtins.str] description: The description of the RAM role.
548
+ :param pulumi.Input[builtins.str] document: Field `document` has been deprecated from provider version 1.252.0. New field `assume_role_policy_document` instead.
549
+ :param pulumi.Input[builtins.bool] force: Specifies whether to force delete the Role. Default value: `false`. Valid values:
550
+ :param pulumi.Input[builtins.int] max_session_duration: The maximum session time of the RAM role. Default value: `3600`. Valid values: `3600` to `43200`.
551
+ :param pulumi.Input[builtins.str] name: Field `name` has been deprecated from provider version 1.252.0. New field `role_name` instead.
552
+ :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] ram_users: Field `ram_users` has been deprecated from provider version 1.49.0. New field `document` instead.
553
+ :param pulumi.Input[builtins.str] role_name: The name of the RAM role.
554
+ :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] services: Field `services` has been deprecated from provider version 1.49.0. New field `document` instead.
555
+ :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] tags: The list of tags for the role.
556
+ :param pulumi.Input[builtins.str] version: Field `version` has been deprecated from provider version 1.49.0. New field `document` instead.
416
557
  """
417
558
  ...
418
559
  @overload
@@ -423,27 +564,34 @@ class Role(pulumi.CustomResource):
423
564
  """
424
565
  Provides a RAM Role resource.
425
566
 
426
- > **NOTE:** When you want to destroy this resource forcefully(means remove all the relationships associated with it automatically and then destroy it) without set `force` with `true` at beginning, you need add `force = true` to configuration file and run `pulumi preview`, then you can delete resource forcefully.
567
+ For information about RAM Role and how to use it, see [What is Role](https://www.alibabacloud.com/help/en/ram/developer-reference/api-ram-2015-05-01-createrole).
427
568
 
428
569
  > **NOTE:** Available since v1.0.0.
429
570
 
571
+ > **NOTE:** When you want to destroy this resource forcefully(means remove all the relationships associated with it automatically and then destroy it) without set `force` with `true` at beginning, you need add `force = true` to configuration file and run `pulumi preview`, then you can delete resource forcefully.
572
+
430
573
  ## Example Usage
431
574
 
575
+ Basic Usage
576
+
432
577
  ```python
433
578
  import pulumi
434
579
  import pulumi_alicloud as alicloud
435
-
436
- # Create a new RAM Role.
437
- role = alicloud.ram.Role("role",
438
- name="terraform-example",
439
- document=\"\"\" {
580
+ import pulumi_random as random
581
+
582
+ default = random.index.Integer("default",
583
+ min=10000,
584
+ max=99999)
585
+ default_role = alicloud.ram.Role("default",
586
+ role_name=f"terraform-example-{default['result']}",
587
+ assume_role_policy_document=\"\"\" {
440
588
  "Statement": [
441
589
  {
442
590
  "Action": "sts:AssumeRole",
443
591
  "Effect": "Allow",
444
592
  "Principal": {
445
593
  "Service": [
446
- "apigateway.aliyuncs.com",
594
+ "apigateway.aliyuncs.com",
447
595
  "ecs.aliyuncs.com"
448
596
  ]
449
597
  }
@@ -457,10 +605,10 @@ class Role(pulumi.CustomResource):
457
605
 
458
606
  ## Import
459
607
 
460
- RAM role can be imported using the id or name, e.g.
608
+ RAM Role can be imported using the id, e.g.
461
609
 
462
610
  ```sh
463
- $ pulumi import alicloud:ram/role:Role example my-role
611
+ $ pulumi import alicloud:ram/role:Role example <id>
464
612
  ```
465
613
 
466
614
  :param str resource_name: The name of the resource.
@@ -478,13 +626,16 @@ class Role(pulumi.CustomResource):
478
626
  def _internal_init(__self__,
479
627
  resource_name: str,
480
628
  opts: Optional[pulumi.ResourceOptions] = None,
629
+ assume_role_policy_document: Optional[pulumi.Input[builtins.str]] = None,
481
630
  description: Optional[pulumi.Input[builtins.str]] = None,
482
631
  document: Optional[pulumi.Input[builtins.str]] = None,
483
632
  force: Optional[pulumi.Input[builtins.bool]] = None,
484
633
  max_session_duration: Optional[pulumi.Input[builtins.int]] = None,
485
634
  name: Optional[pulumi.Input[builtins.str]] = None,
486
635
  ram_users: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
636
+ role_name: Optional[pulumi.Input[builtins.str]] = None,
487
637
  services: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
638
+ tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
488
639
  version: Optional[pulumi.Input[builtins.str]] = None,
489
640
  __props__=None):
490
641
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
@@ -495,15 +646,19 @@ class Role(pulumi.CustomResource):
495
646
  raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
496
647
  __props__ = RoleArgs.__new__(RoleArgs)
497
648
 
649
+ __props__.__dict__["assume_role_policy_document"] = assume_role_policy_document
498
650
  __props__.__dict__["description"] = description
499
651
  __props__.__dict__["document"] = document
500
652
  __props__.__dict__["force"] = force
501
653
  __props__.__dict__["max_session_duration"] = max_session_duration
502
654
  __props__.__dict__["name"] = name
503
655
  __props__.__dict__["ram_users"] = ram_users
656
+ __props__.__dict__["role_name"] = role_name
504
657
  __props__.__dict__["services"] = services
658
+ __props__.__dict__["tags"] = tags
505
659
  __props__.__dict__["version"] = version
506
660
  __props__.__dict__["arn"] = None
661
+ __props__.__dict__["create_time"] = None
507
662
  __props__.__dict__["role_id"] = None
508
663
  super(Role, __self__).__init__(
509
664
  'alicloud:ram/role:Role',
@@ -516,6 +671,8 @@ class Role(pulumi.CustomResource):
516
671
  id: pulumi.Input[str],
517
672
  opts: Optional[pulumi.ResourceOptions] = None,
518
673
  arn: Optional[pulumi.Input[builtins.str]] = None,
674
+ assume_role_policy_document: Optional[pulumi.Input[builtins.str]] = None,
675
+ create_time: Optional[pulumi.Input[builtins.str]] = None,
519
676
  description: Optional[pulumi.Input[builtins.str]] = None,
520
677
  document: Optional[pulumi.Input[builtins.str]] = None,
521
678
  force: Optional[pulumi.Input[builtins.bool]] = None,
@@ -523,7 +680,9 @@ class Role(pulumi.CustomResource):
523
680
  name: Optional[pulumi.Input[builtins.str]] = None,
524
681
  ram_users: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
525
682
  role_id: Optional[pulumi.Input[builtins.str]] = None,
683
+ role_name: Optional[pulumi.Input[builtins.str]] = None,
526
684
  services: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
685
+ tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
527
686
  version: Optional[pulumi.Input[builtins.str]] = None) -> 'Role':
528
687
  """
529
688
  Get an existing Role resource's state with the given name, id, and optional extra
@@ -532,22 +691,28 @@ class Role(pulumi.CustomResource):
532
691
  :param str resource_name: The unique name of the resulting resource.
533
692
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
534
693
  :param pulumi.ResourceOptions opts: Options for the resource.
535
- :param pulumi.Input[builtins.str] arn: The role arn.
536
- :param pulumi.Input[builtins.str] description: Description of the RAM role. This name can have a string of 1 to 1024 characters. **NOTE:** The `description` supports modification since V1.144.0.
537
- :param pulumi.Input[builtins.str] document: Authorization strategy of the RAM role. It is required when the `services` and `ram_users` are not specified.
538
- :param pulumi.Input[builtins.bool] force: This parameter is used for resource destroy. Default value is `false`.
539
- :param pulumi.Input[builtins.int] max_session_duration: The maximum session duration of the RAM role. Valid values: 3600 to 43200. Unit: seconds. Default value: 3600. The default value is used if the parameter is not specified.
540
- :param pulumi.Input[builtins.str] name: Name of the RAM role. This name can have a string of 1 to 64 characters, must contain only alphanumeric characters or hyphens, such as "-", "_", and must not begin with a hyphen.
541
- :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] ram_users: (It has been deprecated since version 1.49.0, and use field 'document' to replace.) List of ram users who can assume the RAM role. The format of each item in this list is `acs:ram::${account_id}:root` or `acs:ram::${account_id}:user/${user_name}`, such as `acs:ram::1234567890000:root` and `acs:ram::1234567890001:user/Mary`. The `${user_name}` is the name of a RAM user which must exists in the Alicloud account indicated by the `${account_id}`.
542
- :param pulumi.Input[builtins.str] role_id: The role ID.
543
- :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] services: (It has been deprecated since version 1.49.0, and use field 'document' to replace.) List of services which can assume the RAM role. The format of each item in this list is `${service}.aliyuncs.com` or `${account_id}@${service}.aliyuncs.com`, such as `ecs.aliyuncs.com` and `1234567890000@ots.aliyuncs.com`. The `${service}` can be `ecs`, `log`, `apigateway` and so on, the `${account_id}` refers to someone's Alicloud account id.
544
- :param pulumi.Input[builtins.str] version: (It has been deprecated since version 1.49.0, and use field 'document' to replace.) Version of the RAM role policy document. Valid value is `1`. Default value is `1`.
694
+ :param pulumi.Input[builtins.str] arn: The Alibaba Cloud Resource Name (ARN) of the RAM role.
695
+ :param pulumi.Input[builtins.str] assume_role_policy_document: The trust policy that specifies one or more trusted entities to assume the RAM role. The trusted entities can be Alibaba Cloud accounts, Alibaba Cloud services, or identity providers (IdPs).
696
+ :param pulumi.Input[builtins.str] create_time: (Available since v1.252.0) The time when the RAM role was created.
697
+ :param pulumi.Input[builtins.str] description: The description of the RAM role.
698
+ :param pulumi.Input[builtins.str] document: Field `document` has been deprecated from provider version 1.252.0. New field `assume_role_policy_document` instead.
699
+ :param pulumi.Input[builtins.bool] force: Specifies whether to force delete the Role. Default value: `false`. Valid values:
700
+ :param pulumi.Input[builtins.int] max_session_duration: The maximum session time of the RAM role. Default value: `3600`. Valid values: `3600` to `43200`.
701
+ :param pulumi.Input[builtins.str] name: Field `name` has been deprecated from provider version 1.252.0. New field `role_name` instead.
702
+ :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] ram_users: Field `ram_users` has been deprecated from provider version 1.49.0. New field `document` instead.
703
+ :param pulumi.Input[builtins.str] role_id: The ID of the RAM role.
704
+ :param pulumi.Input[builtins.str] role_name: The name of the RAM role.
705
+ :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] services: Field `services` has been deprecated from provider version 1.49.0. New field `document` instead.
706
+ :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] tags: The list of tags for the role.
707
+ :param pulumi.Input[builtins.str] version: Field `version` has been deprecated from provider version 1.49.0. New field `document` instead.
545
708
  """
546
709
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
547
710
 
548
711
  __props__ = _RoleState.__new__(_RoleState)
549
712
 
550
713
  __props__.__dict__["arn"] = arn
714
+ __props__.__dict__["assume_role_policy_document"] = assume_role_policy_document
715
+ __props__.__dict__["create_time"] = create_time
551
716
  __props__.__dict__["description"] = description
552
717
  __props__.__dict__["document"] = document
553
718
  __props__.__dict__["force"] = force
@@ -555,7 +720,9 @@ class Role(pulumi.CustomResource):
555
720
  __props__.__dict__["name"] = name
556
721
  __props__.__dict__["ram_users"] = ram_users
557
722
  __props__.__dict__["role_id"] = role_id
723
+ __props__.__dict__["role_name"] = role_name
558
724
  __props__.__dict__["services"] = services
725
+ __props__.__dict__["tags"] = tags
559
726
  __props__.__dict__["version"] = version
560
727
  return Role(resource_name, opts=opts, __props__=__props__)
561
728
 
@@ -563,23 +730,40 @@ class Role(pulumi.CustomResource):
563
730
  @pulumi.getter
564
731
  def arn(self) -> pulumi.Output[builtins.str]:
565
732
  """
566
- The role arn.
733
+ The Alibaba Cloud Resource Name (ARN) of the RAM role.
567
734
  """
568
735
  return pulumi.get(self, "arn")
569
736
 
737
+ @property
738
+ @pulumi.getter(name="assumeRolePolicyDocument")
739
+ def assume_role_policy_document(self) -> pulumi.Output[builtins.str]:
740
+ """
741
+ The trust policy that specifies one or more trusted entities to assume the RAM role. The trusted entities can be Alibaba Cloud accounts, Alibaba Cloud services, or identity providers (IdPs).
742
+ """
743
+ return pulumi.get(self, "assume_role_policy_document")
744
+
745
+ @property
746
+ @pulumi.getter(name="createTime")
747
+ def create_time(self) -> pulumi.Output[builtins.str]:
748
+ """
749
+ (Available since v1.252.0) The time when the RAM role was created.
750
+ """
751
+ return pulumi.get(self, "create_time")
752
+
570
753
  @property
571
754
  @pulumi.getter
572
755
  def description(self) -> pulumi.Output[Optional[builtins.str]]:
573
756
  """
574
- Description of the RAM role. This name can have a string of 1 to 1024 characters. **NOTE:** The `description` supports modification since V1.144.0.
757
+ The description of the RAM role.
575
758
  """
576
759
  return pulumi.get(self, "description")
577
760
 
578
761
  @property
579
762
  @pulumi.getter
763
+ @_utilities.deprecated("""Field 'document' has been deprecated from provider version 1.252.0. New field 'assume_role_policy_document' instead.""")
580
764
  def document(self) -> pulumi.Output[builtins.str]:
581
765
  """
582
- Authorization strategy of the RAM role. It is required when the `services` and `ram_users` are not specified.
766
+ Field `document` has been deprecated from provider version 1.252.0. New field `assume_role_policy_document` instead.
583
767
  """
584
768
  return pulumi.get(self, "document")
585
769
 
@@ -587,32 +771,33 @@ class Role(pulumi.CustomResource):
587
771
  @pulumi.getter
588
772
  def force(self) -> pulumi.Output[Optional[builtins.bool]]:
589
773
  """
590
- This parameter is used for resource destroy. Default value is `false`.
774
+ Specifies whether to force delete the Role. Default value: `false`. Valid values:
591
775
  """
592
776
  return pulumi.get(self, "force")
593
777
 
594
778
  @property
595
779
  @pulumi.getter(name="maxSessionDuration")
596
- def max_session_duration(self) -> pulumi.Output[Optional[builtins.int]]:
780
+ def max_session_duration(self) -> pulumi.Output[builtins.int]:
597
781
  """
598
- The maximum session duration of the RAM role. Valid values: 3600 to 43200. Unit: seconds. Default value: 3600. The default value is used if the parameter is not specified.
782
+ The maximum session time of the RAM role. Default value: `3600`. Valid values: `3600` to `43200`.
599
783
  """
600
784
  return pulumi.get(self, "max_session_duration")
601
785
 
602
786
  @property
603
787
  @pulumi.getter
788
+ @_utilities.deprecated("""Field 'name' has been deprecated from provider version 1.252.0. New field 'role_name' instead.""")
604
789
  def name(self) -> pulumi.Output[builtins.str]:
605
790
  """
606
- Name of the RAM role. This name can have a string of 1 to 64 characters, must contain only alphanumeric characters or hyphens, such as "-", "_", and must not begin with a hyphen.
791
+ Field `name` has been deprecated from provider version 1.252.0. New field `role_name` instead.
607
792
  """
608
793
  return pulumi.get(self, "name")
609
794
 
610
795
  @property
611
796
  @pulumi.getter(name="ramUsers")
612
- @_utilities.deprecated("""Field 'ram_users' has been deprecated from version 1.49.0, and use field 'document' to replace. """)
797
+ @_utilities.deprecated("""Field 'ram_users' has been deprecated from provider version 1.49.0. New field 'document' instead.""")
613
798
  def ram_users(self) -> pulumi.Output[Sequence[builtins.str]]:
614
799
  """
615
- (It has been deprecated since version 1.49.0, and use field 'document' to replace.) List of ram users who can assume the RAM role. The format of each item in this list is `acs:ram::${account_id}:root` or `acs:ram::${account_id}:user/${user_name}`, such as `acs:ram::1234567890000:root` and `acs:ram::1234567890001:user/Mary`. The `${user_name}` is the name of a RAM user which must exists in the Alicloud account indicated by the `${account_id}`.
800
+ Field `ram_users` has been deprecated from provider version 1.49.0. New field `document` instead.
616
801
  """
617
802
  return pulumi.get(self, "ram_users")
618
803
 
@@ -620,25 +805,41 @@ class Role(pulumi.CustomResource):
620
805
  @pulumi.getter(name="roleId")
621
806
  def role_id(self) -> pulumi.Output[builtins.str]:
622
807
  """
623
- The role ID.
808
+ The ID of the RAM role.
624
809
  """
625
810
  return pulumi.get(self, "role_id")
626
811
 
812
+ @property
813
+ @pulumi.getter(name="roleName")
814
+ def role_name(self) -> pulumi.Output[builtins.str]:
815
+ """
816
+ The name of the RAM role.
817
+ """
818
+ return pulumi.get(self, "role_name")
819
+
627
820
  @property
628
821
  @pulumi.getter
629
- @_utilities.deprecated("""Field 'services' has been deprecated from version 1.49.0, and use field 'document' to replace. """)
822
+ @_utilities.deprecated("""Field 'services' has been deprecated from provider version 1.49.0. New field 'document' instead.""")
630
823
  def services(self) -> pulumi.Output[Sequence[builtins.str]]:
631
824
  """
632
- (It has been deprecated since version 1.49.0, and use field 'document' to replace.) List of services which can assume the RAM role. The format of each item in this list is `${service}.aliyuncs.com` or `${account_id}@${service}.aliyuncs.com`, such as `ecs.aliyuncs.com` and `1234567890000@ots.aliyuncs.com`. The `${service}` can be `ecs`, `log`, `apigateway` and so on, the `${account_id}` refers to someone's Alicloud account id.
825
+ Field `services` has been deprecated from provider version 1.49.0. New field `document` instead.
633
826
  """
634
827
  return pulumi.get(self, "services")
635
828
 
636
829
  @property
637
830
  @pulumi.getter
638
- @_utilities.deprecated("""Field 'version' has been deprecated from version 1.49.0, and use field 'document' to replace. """)
831
+ def tags(self) -> pulumi.Output[Optional[Mapping[str, builtins.str]]]:
832
+ """
833
+ The list of tags for the role.
834
+ """
835
+ return pulumi.get(self, "tags")
836
+
837
+ @property
838
+ @pulumi.getter
839
+ @_utilities.deprecated("""Field 'version' has been deprecated from provider version 1.49.0. New field 'document' instead.""")
639
840
  def version(self) -> pulumi.Output[Optional[builtins.str]]:
640
841
  """
641
- (It has been deprecated since version 1.49.0, and use field 'document' to replace.) Version of the RAM role policy document. Valid value is `1`. Default value is `1`.
842
+ Field `version` has been deprecated from provider version 1.49.0. New field `document` instead.
642
843
  """
643
844
  return pulumi.get(self, "version")
644
845