pulumi-alicloud 3.76.0a1743571220__py3-none-any.whl → 3.77.0a1744262757__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 (237) hide show
  1. pulumi_alicloud/__init__.py +271 -4
  2. pulumi_alicloud/_inputs.py +20 -0
  3. pulumi_alicloud/actiontrail/global_events_storage_region.py +2 -2
  4. pulumi_alicloud/adb/db_cluster_lake_version.py +458 -49
  5. pulumi_alicloud/alb/load_balancer_access_log_config_attachment.py +2 -2
  6. pulumi_alicloud/alb/server_group.py +2 -2
  7. pulumi_alicloud/alikafka/sasl_acl.py +7 -7
  8. pulumi_alicloud/apigateway/_inputs.py +134 -0
  9. pulumi_alicloud/apigateway/group.py +117 -5
  10. pulumi_alicloud/apigateway/instance.py +148 -7
  11. pulumi_alicloud/apigateway/outputs.py +107 -0
  12. pulumi_alicloud/arms/alert_contact.py +2 -2
  13. pulumi_alicloud/arms/alert_contact_group.py +2 -2
  14. pulumi_alicloud/arms/get_prometheus.py +2 -6
  15. pulumi_alicloud/arms/grafana_workspace.py +511 -69
  16. pulumi_alicloud/arms/outputs.py +18 -18
  17. pulumi_alicloud/arms/prometheus_alert_rule.py +2 -2
  18. pulumi_alicloud/arms/prometheus_monitoring.py +2 -2
  19. pulumi_alicloud/cdn/domain_new.py +2 -2
  20. pulumi_alicloud/cen/_inputs.py +6 -3
  21. pulumi_alicloud/cen/get_transit_router_vpn_attachments.py +131 -19
  22. pulumi_alicloud/cen/instance.py +101 -59
  23. pulumi_alicloud/cen/inter_region_traffic_qos_policy.py +126 -81
  24. pulumi_alicloud/cen/inter_region_traffic_qos_queue.py +93 -47
  25. pulumi_alicloud/cen/outputs.py +69 -26
  26. pulumi_alicloud/cen/transit_route_table_aggregation.py +171 -55
  27. pulumi_alicloud/cen/transit_router.py +127 -53
  28. pulumi_alicloud/cen/transit_router_cidr.py +53 -35
  29. pulumi_alicloud/cen/transit_router_ecr_attachment.py +2 -2
  30. pulumi_alicloud/cen/transit_router_peer_attachment.py +360 -143
  31. pulumi_alicloud/cen/transit_router_route_table_association.py +33 -43
  32. pulumi_alicloud/cen/transit_router_vpn_attachment.py +438 -109
  33. pulumi_alicloud/clickhouse/db_cluster.py +179 -6
  34. pulumi_alicloud/clickhouseenterprisedbcluster/__init__.py +14 -0
  35. pulumi_alicloud/clickhouseenterprisedbcluster/_inputs.py +167 -0
  36. pulumi_alicloud/clickhouseenterprisedbcluster/account.py +554 -0
  37. pulumi_alicloud/clickhouseenterprisedbcluster/backup_policy.py +407 -0
  38. pulumi_alicloud/clickhouseenterprisedbcluster/click_house_enterprise_db_cluster.py +641 -0
  39. pulumi_alicloud/clickhouseenterprisedbcluster/outputs.py +147 -0
  40. pulumi_alicloud/clickhouseenterprisedbcluster/public_endpoint.py +364 -0
  41. pulumi_alicloud/clickhouseenterprisedbcluster/security_ip.py +357 -0
  42. pulumi_alicloud/cloudsso/scim_server_credential.py +178 -11
  43. pulumi_alicloud/config/outputs.py +12 -0
  44. pulumi_alicloud/cs/__init__.py +1 -0
  45. pulumi_alicloud/cs/get_kubernetes_node_pools.py +147 -0
  46. pulumi_alicloud/cs/managed_kubernetes.py +127 -24
  47. pulumi_alicloud/cs/node_pool.py +42 -42
  48. pulumi_alicloud/cs/outputs.py +1782 -4
  49. pulumi_alicloud/databasefilesystem/service_linked_role.py +2 -2
  50. pulumi_alicloud/dataworks/data_source.py +2 -2
  51. pulumi_alicloud/dataworks/data_source_shared_rule.py +2 -2
  52. pulumi_alicloud/dataworks/di_alarm_rule.py +2 -2
  53. pulumi_alicloud/dataworks/di_job.py +2 -2
  54. pulumi_alicloud/dataworks/dw_resource_group.py +2 -2
  55. pulumi_alicloud/dataworks/network.py +2 -2
  56. pulumi_alicloud/dataworks/project.py +2 -2
  57. pulumi_alicloud/dataworks/project_member.py +2 -2
  58. pulumi_alicloud/dbs/backup_plan.py +2 -2
  59. pulumi_alicloud/ddos/bgp_policy.py +2 -2
  60. pulumi_alicloud/eais/__init__.py +2 -0
  61. pulumi_alicloud/eais/_inputs.py +75 -0
  62. pulumi_alicloud/eais/client_instance_attachment.py +408 -0
  63. pulumi_alicloud/eais/instance.py +365 -118
  64. pulumi_alicloud/eais/outputs.py +32 -0
  65. pulumi_alicloud/ebs/disk_replica_group.py +512 -30
  66. pulumi_alicloud/ebs/disk_replica_pair.py +443 -113
  67. pulumi_alicloud/ebs/enterprise_snapshot_policy.py +2 -2
  68. pulumi_alicloud/ebs/enterprise_snapshot_policy_attachment.py +2 -2
  69. pulumi_alicloud/ecp/instance.py +2 -2
  70. pulumi_alicloud/ecp/key_pair.py +4 -4
  71. pulumi_alicloud/ecs/_inputs.py +33 -0
  72. pulumi_alicloud/ecs/disk.py +1 -1
  73. pulumi_alicloud/ecs/ecs_disk.py +1 -1
  74. pulumi_alicloud/ecs/ecs_launch_template.py +23 -23
  75. pulumi_alicloud/ecs/instance.py +1 -1
  76. pulumi_alicloud/ecs/outputs.py +26 -2
  77. pulumi_alicloud/eflo/__init__.py +5 -0
  78. pulumi_alicloud/eflo/_inputs.py +1717 -0
  79. pulumi_alicloud/eflo/cluster.py +935 -0
  80. pulumi_alicloud/eflo/invocation.py +1114 -0
  81. pulumi_alicloud/eflo/node.py +1013 -0
  82. pulumi_alicloud/eflo/node_group.py +1101 -0
  83. pulumi_alicloud/eflo/outputs.py +1366 -0
  84. pulumi_alicloud/ens/eip_instance_attachment.py +2 -2
  85. pulumi_alicloud/ens/image.py +81 -34
  86. pulumi_alicloud/esa/__init__.py +4 -0
  87. pulumi_alicloud/esa/_inputs.py +640 -18
  88. pulumi_alicloud/esa/cache_reserve_instance.py +522 -0
  89. pulumi_alicloud/esa/cache_rule.py +193 -179
  90. pulumi_alicloud/esa/certificate.py +99 -92
  91. pulumi_alicloud/esa/compression_rule.py +42 -28
  92. pulumi_alicloud/esa/edge_container_app.py +972 -0
  93. pulumi_alicloud/esa/edge_container_app_record.py +376 -0
  94. pulumi_alicloud/esa/http_request_header_modification_rule.py +56 -42
  95. pulumi_alicloud/esa/http_response_header_modification_rule.py +35 -56
  96. pulumi_alicloud/esa/https_application_configuration.py +42 -28
  97. pulumi_alicloud/esa/https_basic_configuration.py +56 -42
  98. pulumi_alicloud/esa/image_transform.py +42 -28
  99. pulumi_alicloud/esa/kv_namespace.py +11 -11
  100. pulumi_alicloud/esa/list.py +28 -28
  101. pulumi_alicloud/esa/network_optimization.py +56 -126
  102. pulumi_alicloud/esa/origin_pool.py +19 -19
  103. pulumi_alicloud/esa/origin_rule.py +67 -39
  104. pulumi_alicloud/esa/outputs.py +536 -12
  105. pulumi_alicloud/esa/page.py +28 -49
  106. pulumi_alicloud/esa/rate_plan_instance.py +86 -159
  107. pulumi_alicloud/esa/redirect_rule.py +42 -28
  108. pulumi_alicloud/esa/rewrite_url_rule.py +49 -63
  109. pulumi_alicloud/esa/site.py +67 -123
  110. pulumi_alicloud/esa/site_delivery_task.py +841 -0
  111. pulumi_alicloud/esa/waiting_room.py +269 -319
  112. pulumi_alicloud/esa/waiting_room_event.py +291 -305
  113. pulumi_alicloud/esa/waiting_room_rule.py +46 -53
  114. pulumi_alicloud/ess/_inputs.py +155 -0
  115. pulumi_alicloud/ess/outputs.py +128 -0
  116. pulumi_alicloud/ess/scaling_group.py +237 -2
  117. pulumi_alicloud/ess/scaling_rule.py +143 -2
  118. pulumi_alicloud/expressconnect/router_grant_association.py +2 -2
  119. pulumi_alicloud/expressconnect/virtual_border_router.py +4 -4
  120. pulumi_alicloud/gpdb/hadoop_data_source.py +2 -2
  121. pulumi_alicloud/gpdb/jdbc_data_source.py +2 -2
  122. pulumi_alicloud/gpdb/remote_adb_data_source.py +6 -6
  123. pulumi_alicloud/gpdb/streaming_data_source.py +2 -2
  124. pulumi_alicloud/gpdb/streaming_job.py +2 -2
  125. pulumi_alicloud/ims/oidc_provider.py +24 -13
  126. pulumi_alicloud/kvstore/account.py +9 -9
  127. pulumi_alicloud/kvstore/connection.py +2 -2
  128. pulumi_alicloud/kvstore/get_instance_classes.py +2 -2
  129. pulumi_alicloud/kvstore/get_instance_engines.py +2 -2
  130. pulumi_alicloud/kvstore/instance.py +7 -7
  131. pulumi_alicloud/kvstore/outputs.py +2 -2
  132. pulumi_alicloud/live/caster.py +2 -2
  133. pulumi_alicloud/maxcompute/__init__.py +1 -0
  134. pulumi_alicloud/maxcompute/_inputs.py +232 -3
  135. pulumi_alicloud/maxcompute/outputs.py +183 -2
  136. pulumi_alicloud/maxcompute/project.py +2 -2
  137. pulumi_alicloud/maxcompute/quota.py +438 -0
  138. pulumi_alicloud/nas/mount_target.py +149 -54
  139. pulumi_alicloud/nlb/__init__.py +1 -0
  140. pulumi_alicloud/nlb/_inputs.py +43 -6
  141. pulumi_alicloud/nlb/load_balancer.py +212 -24
  142. pulumi_alicloud/nlb/load_balancer_zone_shifted_attachment.py +397 -0
  143. pulumi_alicloud/nlb/outputs.py +30 -4
  144. pulumi_alicloud/nlb/server_group_server_attachment.py +118 -65
  145. pulumi_alicloud/oss/__init__.py +1 -0
  146. pulumi_alicloud/oss/_inputs.py +20 -0
  147. pulumi_alicloud/oss/access_point.py +2 -2
  148. pulumi_alicloud/oss/bucket_cname.py +2 -2
  149. pulumi_alicloud/oss/bucket_cors.py +2 -2
  150. pulumi_alicloud/oss/bucket_style.py +402 -0
  151. pulumi_alicloud/oss/bucket_website.py +2 -2
  152. pulumi_alicloud/oss/outputs.py +14 -0
  153. pulumi_alicloud/pai/service.py +59 -67
  154. pulumi_alicloud/polardb/cluster.py +75 -28
  155. pulumi_alicloud/privatelink/vpc_endpoint_zone.py +1 -1
  156. pulumi_alicloud/pulumi-plugin.json +1 -1
  157. pulumi_alicloud/ram/__init__.py +3 -0
  158. pulumi_alicloud/ram/_inputs.py +9 -9
  159. pulumi_alicloud/ram/access_key.py +77 -31
  160. pulumi_alicloud/ram/account_alias.py +18 -45
  161. pulumi_alicloud/ram/get_system_policys.py +189 -0
  162. pulumi_alicloud/ram/group.py +156 -35
  163. pulumi_alicloud/ram/group_policy_attachment.py +51 -29
  164. pulumi_alicloud/ram/login_profile.py +92 -38
  165. pulumi_alicloud/ram/outputs.py +91 -6
  166. pulumi_alicloud/ram/password_policy.py +779 -0
  167. pulumi_alicloud/ram/policy.py +199 -88
  168. pulumi_alicloud/ram/role_policy_attachment.py +51 -29
  169. pulumi_alicloud/ram/saml_provider.py +44 -37
  170. pulumi_alicloud/ram/user_group_attachment.py +273 -0
  171. pulumi_alicloud/ram/user_policy_attachment.py +49 -27
  172. pulumi_alicloud/rds/__init__.py +1 -0
  173. pulumi_alicloud/rds/custom_disk.py +1053 -0
  174. pulumi_alicloud/rds/instance.py +110 -14
  175. pulumi_alicloud/redis/tair_instance.py +14 -14
  176. pulumi_alicloud/resourcemanager/__init__.py +1 -0
  177. pulumi_alicloud/resourcemanager/_inputs.py +53 -0
  178. pulumi_alicloud/resourcemanager/auto_grouping_rule.py +796 -0
  179. pulumi_alicloud/resourcemanager/outputs.py +50 -0
  180. pulumi_alicloud/resourcemanager/shared_resource.py +7 -0
  181. pulumi_alicloud/rocketmq/__init__.py +1 -1
  182. pulumi_alicloud/rocketmq/_inputs.py +146 -4
  183. pulumi_alicloud/rocketmq/account.py +452 -0
  184. pulumi_alicloud/rocketmq/acl.py +473 -47
  185. pulumi_alicloud/rocketmq/client_user.py +8 -2
  186. pulumi_alicloud/rocketmq/consumer_group.py +121 -24
  187. pulumi_alicloud/rocketmq/dnat_entry.py +8 -2
  188. pulumi_alicloud/rocketmq/outputs.py +113 -4
  189. pulumi_alicloud/rocketmq/qos.py +8 -2
  190. pulumi_alicloud/rocketmq/qos_car.py +10 -4
  191. pulumi_alicloud/rocketmq/qos_policy.py +6 -0
  192. pulumi_alicloud/rocketmq/rocket_mq_instance.py +136 -7
  193. pulumi_alicloud/rocketmq/rocket_mq_topic.py +121 -24
  194. pulumi_alicloud/rocketmq/snat_entry.py +8 -2
  195. pulumi_alicloud/sag/__init__.py +8 -0
  196. pulumi_alicloud/sag/acl.py +200 -0
  197. pulumi_alicloud/{rocketmq → sag}/acl_rule.py +7 -7
  198. pulumi_alicloud/sag/client_user.py +560 -0
  199. pulumi_alicloud/sag/dnat_entry.py +512 -0
  200. pulumi_alicloud/sag/get_acls.py +2 -2
  201. pulumi_alicloud/sag/qos.py +202 -0
  202. pulumi_alicloud/sag/qos_car.py +654 -0
  203. pulumi_alicloud/sag/qos_policy.py +659 -0
  204. pulumi_alicloud/sag/snat_entry.py +313 -0
  205. pulumi_alicloud/securitycenter/group.py +2 -2
  206. pulumi_alicloud/selectdb/db_instance.py +60 -11
  207. pulumi_alicloud/slb/server_group_server_attachment.py +101 -111
  208. pulumi_alicloud/sls/oss_export_sink.py +2 -2
  209. pulumi_alicloud/threatdetection/__init__.py +3 -0
  210. pulumi_alicloud/threatdetection/anti_brute_force_rule.py +41 -65
  211. pulumi_alicloud/threatdetection/asset_bind.py +209 -0
  212. pulumi_alicloud/threatdetection/asset_selection_config.py +258 -0
  213. pulumi_alicloud/threatdetection/instance.py +271 -54
  214. pulumi_alicloud/threatdetection/log_meta.py +351 -0
  215. pulumi_alicloud/vpc/__init__.py +1 -0
  216. pulumi_alicloud/vpc/_inputs.py +281 -0
  217. pulumi_alicloud/vpc/gateway_endpoint.py +85 -27
  218. pulumi_alicloud/vpc/get_ipam_ipam_pool_allocations.py +2 -2
  219. pulumi_alicloud/vpc/get_ipam_ipam_pool_cidrs.py +2 -2
  220. pulumi_alicloud/vpc/get_ipam_ipam_pools.py +2 -2
  221. pulumi_alicloud/vpc/get_ipam_ipam_scopes.py +2 -2
  222. pulumi_alicloud/vpc/get_ipam_ipams.py +2 -2
  223. pulumi_alicloud/vpc/ipv6_address.py +85 -5
  224. pulumi_alicloud/vpc/outputs.py +232 -0
  225. pulumi_alicloud/vpc/peer_connection.py +84 -42
  226. pulumi_alicloud/vpc/peer_connection_accepter.py +7 -21
  227. pulumi_alicloud/vpc/route_table.py +100 -45
  228. pulumi_alicloud/vpc/vpc_route_entry.py +724 -0
  229. pulumi_alicloud/vpn/_inputs.py +716 -71
  230. pulumi_alicloud/vpn/gateway_vpn_attachment.py +622 -128
  231. pulumi_alicloud/vpn/get_gateway_vpn_attachments.py +20 -63
  232. pulumi_alicloud/vpn/ipsec_server.py +2 -2
  233. pulumi_alicloud/vpn/outputs.py +1963 -998
  234. {pulumi_alicloud-3.76.0a1743571220.dist-info → pulumi_alicloud-3.77.0a1744262757.dist-info}/METADATA +1 -1
  235. {pulumi_alicloud-3.76.0a1743571220.dist-info → pulumi_alicloud-3.77.0a1744262757.dist-info}/RECORD +237 -197
  236. {pulumi_alicloud-3.76.0a1743571220.dist-info → pulumi_alicloud-3.77.0a1744262757.dist-info}/WHEEL +0 -0
  237. {pulumi_alicloud-3.76.0a1743571220.dist-info → pulumi_alicloud-3.77.0a1744262757.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,779 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from .. import _utilities
16
+
17
+ __all__ = ['PasswordPolicyArgs', 'PasswordPolicy']
18
+
19
+ @pulumi.input_type
20
+ class PasswordPolicyArgs:
21
+ def __init__(__self__, *,
22
+ hard_expiry: Optional[pulumi.Input[bool]] = None,
23
+ max_login_attemps: Optional[pulumi.Input[int]] = None,
24
+ max_password_age: Optional[pulumi.Input[int]] = None,
25
+ minimum_password_different_character: Optional[pulumi.Input[int]] = None,
26
+ minimum_password_length: Optional[pulumi.Input[int]] = None,
27
+ password_not_contain_user_name: Optional[pulumi.Input[bool]] = None,
28
+ password_reuse_prevention: Optional[pulumi.Input[int]] = None,
29
+ require_lowercase_characters: Optional[pulumi.Input[bool]] = None,
30
+ require_numbers: Optional[pulumi.Input[bool]] = None,
31
+ require_symbols: Optional[pulumi.Input[bool]] = None,
32
+ require_uppercase_characters: Optional[pulumi.Input[bool]] = None):
33
+ """
34
+ The set of arguments for constructing a PasswordPolicy resource.
35
+ :param pulumi.Input[bool] hard_expiry: Whether to restrict logon after the password expires. Value:
36
+ - true: After the password expires, you cannot log in to the console. You must reset the password of the RAM user through the main account or a RAM user with administrator permissions to log on normally.
37
+ - false (default): After the password expires, the RAM user can change the password and log on normally.
38
+ :param pulumi.Input[int] max_login_attemps: Password retry constraint. After entering the wrong password continuously for the set number of times, the account will be locked for one hour.
39
+ Value range: 0~32.
40
+ Default value: 0, which means that the password retry constraint is not enabled.
41
+ :param pulumi.Input[int] max_password_age: Password validity period.
42
+ Value range: 0~1095. Unit: days.
43
+ Default value: 0, which means never expires.
44
+ :param pulumi.Input[int] minimum_password_different_character: The minimum number of unique characters in the password.
45
+ Valid values: 0 to 8.
46
+ The default value is 0, which indicates that no limits are imposed on the number of unique characters in a password.
47
+ :param pulumi.Input[int] minimum_password_length: The minimum number of characters in the password.
48
+ Valid values: 8 to 32. Default value: 8.
49
+ :param pulumi.Input[bool] password_not_contain_user_name: Whether the user name is not allowed in the password. Value:
50
+ - true: The password cannot contain the user name.
51
+ - false (default): The user name can be included in the password.
52
+ :param pulumi.Input[int] password_reuse_prevention: Historical password check policy.
53
+ Do not use the previous N Passwords. The value range of N is 0 to 24.
54
+ Default value: 0, indicating that the historical password check policy is not enabled.
55
+ :param pulumi.Input[bool] require_lowercase_characters: Specifies whether the password must contain lowercase letters. Valid values:
56
+ - true
57
+ - false (default)
58
+ :param pulumi.Input[bool] require_numbers: Specifies whether the password must contain digits. Valid values:
59
+ - true
60
+ - false (default)
61
+ :param pulumi.Input[bool] require_symbols: Specifies whether the password must contain special characters. Valid values:
62
+ - true
63
+ - false (default)
64
+ :param pulumi.Input[bool] require_uppercase_characters: Specifies whether the password must contain uppercase letters. Valid values:
65
+ - true
66
+ - false (default)
67
+ """
68
+ if hard_expiry is not None:
69
+ pulumi.set(__self__, "hard_expiry", hard_expiry)
70
+ if max_login_attemps is not None:
71
+ pulumi.set(__self__, "max_login_attemps", max_login_attemps)
72
+ if max_password_age is not None:
73
+ pulumi.set(__self__, "max_password_age", max_password_age)
74
+ if minimum_password_different_character is not None:
75
+ pulumi.set(__self__, "minimum_password_different_character", minimum_password_different_character)
76
+ if minimum_password_length is not None:
77
+ pulumi.set(__self__, "minimum_password_length", minimum_password_length)
78
+ if password_not_contain_user_name is not None:
79
+ pulumi.set(__self__, "password_not_contain_user_name", password_not_contain_user_name)
80
+ if password_reuse_prevention is not None:
81
+ pulumi.set(__self__, "password_reuse_prevention", password_reuse_prevention)
82
+ if require_lowercase_characters is not None:
83
+ pulumi.set(__self__, "require_lowercase_characters", require_lowercase_characters)
84
+ if require_numbers is not None:
85
+ pulumi.set(__self__, "require_numbers", require_numbers)
86
+ if require_symbols is not None:
87
+ pulumi.set(__self__, "require_symbols", require_symbols)
88
+ if require_uppercase_characters is not None:
89
+ pulumi.set(__self__, "require_uppercase_characters", require_uppercase_characters)
90
+
91
+ @property
92
+ @pulumi.getter(name="hardExpiry")
93
+ def hard_expiry(self) -> Optional[pulumi.Input[bool]]:
94
+ """
95
+ Whether to restrict logon after the password expires. Value:
96
+ - true: After the password expires, you cannot log in to the console. You must reset the password of the RAM user through the main account or a RAM user with administrator permissions to log on normally.
97
+ - false (default): After the password expires, the RAM user can change the password and log on normally.
98
+ """
99
+ return pulumi.get(self, "hard_expiry")
100
+
101
+ @hard_expiry.setter
102
+ def hard_expiry(self, value: Optional[pulumi.Input[bool]]):
103
+ pulumi.set(self, "hard_expiry", value)
104
+
105
+ @property
106
+ @pulumi.getter(name="maxLoginAttemps")
107
+ def max_login_attemps(self) -> Optional[pulumi.Input[int]]:
108
+ """
109
+ Password retry constraint. After entering the wrong password continuously for the set number of times, the account will be locked for one hour.
110
+ Value range: 0~32.
111
+ Default value: 0, which means that the password retry constraint is not enabled.
112
+ """
113
+ return pulumi.get(self, "max_login_attemps")
114
+
115
+ @max_login_attemps.setter
116
+ def max_login_attemps(self, value: Optional[pulumi.Input[int]]):
117
+ pulumi.set(self, "max_login_attemps", value)
118
+
119
+ @property
120
+ @pulumi.getter(name="maxPasswordAge")
121
+ def max_password_age(self) -> Optional[pulumi.Input[int]]:
122
+ """
123
+ Password validity period.
124
+ Value range: 0~1095. Unit: days.
125
+ Default value: 0, which means never expires.
126
+ """
127
+ return pulumi.get(self, "max_password_age")
128
+
129
+ @max_password_age.setter
130
+ def max_password_age(self, value: Optional[pulumi.Input[int]]):
131
+ pulumi.set(self, "max_password_age", value)
132
+
133
+ @property
134
+ @pulumi.getter(name="minimumPasswordDifferentCharacter")
135
+ def minimum_password_different_character(self) -> Optional[pulumi.Input[int]]:
136
+ """
137
+ The minimum number of unique characters in the password.
138
+ Valid values: 0 to 8.
139
+ The default value is 0, which indicates that no limits are imposed on the number of unique characters in a password.
140
+ """
141
+ return pulumi.get(self, "minimum_password_different_character")
142
+
143
+ @minimum_password_different_character.setter
144
+ def minimum_password_different_character(self, value: Optional[pulumi.Input[int]]):
145
+ pulumi.set(self, "minimum_password_different_character", value)
146
+
147
+ @property
148
+ @pulumi.getter(name="minimumPasswordLength")
149
+ def minimum_password_length(self) -> Optional[pulumi.Input[int]]:
150
+ """
151
+ The minimum number of characters in the password.
152
+ Valid values: 8 to 32. Default value: 8.
153
+ """
154
+ return pulumi.get(self, "minimum_password_length")
155
+
156
+ @minimum_password_length.setter
157
+ def minimum_password_length(self, value: Optional[pulumi.Input[int]]):
158
+ pulumi.set(self, "minimum_password_length", value)
159
+
160
+ @property
161
+ @pulumi.getter(name="passwordNotContainUserName")
162
+ def password_not_contain_user_name(self) -> Optional[pulumi.Input[bool]]:
163
+ """
164
+ Whether the user name is not allowed in the password. Value:
165
+ - true: The password cannot contain the user name.
166
+ - false (default): The user name can be included in the password.
167
+ """
168
+ return pulumi.get(self, "password_not_contain_user_name")
169
+
170
+ @password_not_contain_user_name.setter
171
+ def password_not_contain_user_name(self, value: Optional[pulumi.Input[bool]]):
172
+ pulumi.set(self, "password_not_contain_user_name", value)
173
+
174
+ @property
175
+ @pulumi.getter(name="passwordReusePrevention")
176
+ def password_reuse_prevention(self) -> Optional[pulumi.Input[int]]:
177
+ """
178
+ Historical password check policy.
179
+ Do not use the previous N Passwords. The value range of N is 0 to 24.
180
+ Default value: 0, indicating that the historical password check policy is not enabled.
181
+ """
182
+ return pulumi.get(self, "password_reuse_prevention")
183
+
184
+ @password_reuse_prevention.setter
185
+ def password_reuse_prevention(self, value: Optional[pulumi.Input[int]]):
186
+ pulumi.set(self, "password_reuse_prevention", value)
187
+
188
+ @property
189
+ @pulumi.getter(name="requireLowercaseCharacters")
190
+ def require_lowercase_characters(self) -> Optional[pulumi.Input[bool]]:
191
+ """
192
+ Specifies whether the password must contain lowercase letters. Valid values:
193
+ - true
194
+ - false (default)
195
+ """
196
+ return pulumi.get(self, "require_lowercase_characters")
197
+
198
+ @require_lowercase_characters.setter
199
+ def require_lowercase_characters(self, value: Optional[pulumi.Input[bool]]):
200
+ pulumi.set(self, "require_lowercase_characters", value)
201
+
202
+ @property
203
+ @pulumi.getter(name="requireNumbers")
204
+ def require_numbers(self) -> Optional[pulumi.Input[bool]]:
205
+ """
206
+ Specifies whether the password must contain digits. Valid values:
207
+ - true
208
+ - false (default)
209
+ """
210
+ return pulumi.get(self, "require_numbers")
211
+
212
+ @require_numbers.setter
213
+ def require_numbers(self, value: Optional[pulumi.Input[bool]]):
214
+ pulumi.set(self, "require_numbers", value)
215
+
216
+ @property
217
+ @pulumi.getter(name="requireSymbols")
218
+ def require_symbols(self) -> Optional[pulumi.Input[bool]]:
219
+ """
220
+ Specifies whether the password must contain special characters. Valid values:
221
+ - true
222
+ - false (default)
223
+ """
224
+ return pulumi.get(self, "require_symbols")
225
+
226
+ @require_symbols.setter
227
+ def require_symbols(self, value: Optional[pulumi.Input[bool]]):
228
+ pulumi.set(self, "require_symbols", value)
229
+
230
+ @property
231
+ @pulumi.getter(name="requireUppercaseCharacters")
232
+ def require_uppercase_characters(self) -> Optional[pulumi.Input[bool]]:
233
+ """
234
+ Specifies whether the password must contain uppercase letters. Valid values:
235
+ - true
236
+ - false (default)
237
+ """
238
+ return pulumi.get(self, "require_uppercase_characters")
239
+
240
+ @require_uppercase_characters.setter
241
+ def require_uppercase_characters(self, value: Optional[pulumi.Input[bool]]):
242
+ pulumi.set(self, "require_uppercase_characters", value)
243
+
244
+
245
+ @pulumi.input_type
246
+ class _PasswordPolicyState:
247
+ def __init__(__self__, *,
248
+ hard_expiry: Optional[pulumi.Input[bool]] = None,
249
+ max_login_attemps: Optional[pulumi.Input[int]] = None,
250
+ max_password_age: Optional[pulumi.Input[int]] = None,
251
+ minimum_password_different_character: Optional[pulumi.Input[int]] = None,
252
+ minimum_password_length: Optional[pulumi.Input[int]] = None,
253
+ password_not_contain_user_name: Optional[pulumi.Input[bool]] = None,
254
+ password_reuse_prevention: Optional[pulumi.Input[int]] = None,
255
+ require_lowercase_characters: Optional[pulumi.Input[bool]] = None,
256
+ require_numbers: Optional[pulumi.Input[bool]] = None,
257
+ require_symbols: Optional[pulumi.Input[bool]] = None,
258
+ require_uppercase_characters: Optional[pulumi.Input[bool]] = None):
259
+ """
260
+ Input properties used for looking up and filtering PasswordPolicy resources.
261
+ :param pulumi.Input[bool] hard_expiry: Whether to restrict logon after the password expires. Value:
262
+ - true: After the password expires, you cannot log in to the console. You must reset the password of the RAM user through the main account or a RAM user with administrator permissions to log on normally.
263
+ - false (default): After the password expires, the RAM user can change the password and log on normally.
264
+ :param pulumi.Input[int] max_login_attemps: Password retry constraint. After entering the wrong password continuously for the set number of times, the account will be locked for one hour.
265
+ Value range: 0~32.
266
+ Default value: 0, which means that the password retry constraint is not enabled.
267
+ :param pulumi.Input[int] max_password_age: Password validity period.
268
+ Value range: 0~1095. Unit: days.
269
+ Default value: 0, which means never expires.
270
+ :param pulumi.Input[int] minimum_password_different_character: The minimum number of unique characters in the password.
271
+ Valid values: 0 to 8.
272
+ The default value is 0, which indicates that no limits are imposed on the number of unique characters in a password.
273
+ :param pulumi.Input[int] minimum_password_length: The minimum number of characters in the password.
274
+ Valid values: 8 to 32. Default value: 8.
275
+ :param pulumi.Input[bool] password_not_contain_user_name: Whether the user name is not allowed in the password. Value:
276
+ - true: The password cannot contain the user name.
277
+ - false (default): The user name can be included in the password.
278
+ :param pulumi.Input[int] password_reuse_prevention: Historical password check policy.
279
+ Do not use the previous N Passwords. The value range of N is 0 to 24.
280
+ Default value: 0, indicating that the historical password check policy is not enabled.
281
+ :param pulumi.Input[bool] require_lowercase_characters: Specifies whether the password must contain lowercase letters. Valid values:
282
+ - true
283
+ - false (default)
284
+ :param pulumi.Input[bool] require_numbers: Specifies whether the password must contain digits. Valid values:
285
+ - true
286
+ - false (default)
287
+ :param pulumi.Input[bool] require_symbols: Specifies whether the password must contain special characters. Valid values:
288
+ - true
289
+ - false (default)
290
+ :param pulumi.Input[bool] require_uppercase_characters: Specifies whether the password must contain uppercase letters. Valid values:
291
+ - true
292
+ - false (default)
293
+ """
294
+ if hard_expiry is not None:
295
+ pulumi.set(__self__, "hard_expiry", hard_expiry)
296
+ if max_login_attemps is not None:
297
+ pulumi.set(__self__, "max_login_attemps", max_login_attemps)
298
+ if max_password_age is not None:
299
+ pulumi.set(__self__, "max_password_age", max_password_age)
300
+ if minimum_password_different_character is not None:
301
+ pulumi.set(__self__, "minimum_password_different_character", minimum_password_different_character)
302
+ if minimum_password_length is not None:
303
+ pulumi.set(__self__, "minimum_password_length", minimum_password_length)
304
+ if password_not_contain_user_name is not None:
305
+ pulumi.set(__self__, "password_not_contain_user_name", password_not_contain_user_name)
306
+ if password_reuse_prevention is not None:
307
+ pulumi.set(__self__, "password_reuse_prevention", password_reuse_prevention)
308
+ if require_lowercase_characters is not None:
309
+ pulumi.set(__self__, "require_lowercase_characters", require_lowercase_characters)
310
+ if require_numbers is not None:
311
+ pulumi.set(__self__, "require_numbers", require_numbers)
312
+ if require_symbols is not None:
313
+ pulumi.set(__self__, "require_symbols", require_symbols)
314
+ if require_uppercase_characters is not None:
315
+ pulumi.set(__self__, "require_uppercase_characters", require_uppercase_characters)
316
+
317
+ @property
318
+ @pulumi.getter(name="hardExpiry")
319
+ def hard_expiry(self) -> Optional[pulumi.Input[bool]]:
320
+ """
321
+ Whether to restrict logon after the password expires. Value:
322
+ - true: After the password expires, you cannot log in to the console. You must reset the password of the RAM user through the main account or a RAM user with administrator permissions to log on normally.
323
+ - false (default): After the password expires, the RAM user can change the password and log on normally.
324
+ """
325
+ return pulumi.get(self, "hard_expiry")
326
+
327
+ @hard_expiry.setter
328
+ def hard_expiry(self, value: Optional[pulumi.Input[bool]]):
329
+ pulumi.set(self, "hard_expiry", value)
330
+
331
+ @property
332
+ @pulumi.getter(name="maxLoginAttemps")
333
+ def max_login_attemps(self) -> Optional[pulumi.Input[int]]:
334
+ """
335
+ Password retry constraint. After entering the wrong password continuously for the set number of times, the account will be locked for one hour.
336
+ Value range: 0~32.
337
+ Default value: 0, which means that the password retry constraint is not enabled.
338
+ """
339
+ return pulumi.get(self, "max_login_attemps")
340
+
341
+ @max_login_attemps.setter
342
+ def max_login_attemps(self, value: Optional[pulumi.Input[int]]):
343
+ pulumi.set(self, "max_login_attemps", value)
344
+
345
+ @property
346
+ @pulumi.getter(name="maxPasswordAge")
347
+ def max_password_age(self) -> Optional[pulumi.Input[int]]:
348
+ """
349
+ Password validity period.
350
+ Value range: 0~1095. Unit: days.
351
+ Default value: 0, which means never expires.
352
+ """
353
+ return pulumi.get(self, "max_password_age")
354
+
355
+ @max_password_age.setter
356
+ def max_password_age(self, value: Optional[pulumi.Input[int]]):
357
+ pulumi.set(self, "max_password_age", value)
358
+
359
+ @property
360
+ @pulumi.getter(name="minimumPasswordDifferentCharacter")
361
+ def minimum_password_different_character(self) -> Optional[pulumi.Input[int]]:
362
+ """
363
+ The minimum number of unique characters in the password.
364
+ Valid values: 0 to 8.
365
+ The default value is 0, which indicates that no limits are imposed on the number of unique characters in a password.
366
+ """
367
+ return pulumi.get(self, "minimum_password_different_character")
368
+
369
+ @minimum_password_different_character.setter
370
+ def minimum_password_different_character(self, value: Optional[pulumi.Input[int]]):
371
+ pulumi.set(self, "minimum_password_different_character", value)
372
+
373
+ @property
374
+ @pulumi.getter(name="minimumPasswordLength")
375
+ def minimum_password_length(self) -> Optional[pulumi.Input[int]]:
376
+ """
377
+ The minimum number of characters in the password.
378
+ Valid values: 8 to 32. Default value: 8.
379
+ """
380
+ return pulumi.get(self, "minimum_password_length")
381
+
382
+ @minimum_password_length.setter
383
+ def minimum_password_length(self, value: Optional[pulumi.Input[int]]):
384
+ pulumi.set(self, "minimum_password_length", value)
385
+
386
+ @property
387
+ @pulumi.getter(name="passwordNotContainUserName")
388
+ def password_not_contain_user_name(self) -> Optional[pulumi.Input[bool]]:
389
+ """
390
+ Whether the user name is not allowed in the password. Value:
391
+ - true: The password cannot contain the user name.
392
+ - false (default): The user name can be included in the password.
393
+ """
394
+ return pulumi.get(self, "password_not_contain_user_name")
395
+
396
+ @password_not_contain_user_name.setter
397
+ def password_not_contain_user_name(self, value: Optional[pulumi.Input[bool]]):
398
+ pulumi.set(self, "password_not_contain_user_name", value)
399
+
400
+ @property
401
+ @pulumi.getter(name="passwordReusePrevention")
402
+ def password_reuse_prevention(self) -> Optional[pulumi.Input[int]]:
403
+ """
404
+ Historical password check policy.
405
+ Do not use the previous N Passwords. The value range of N is 0 to 24.
406
+ Default value: 0, indicating that the historical password check policy is not enabled.
407
+ """
408
+ return pulumi.get(self, "password_reuse_prevention")
409
+
410
+ @password_reuse_prevention.setter
411
+ def password_reuse_prevention(self, value: Optional[pulumi.Input[int]]):
412
+ pulumi.set(self, "password_reuse_prevention", value)
413
+
414
+ @property
415
+ @pulumi.getter(name="requireLowercaseCharacters")
416
+ def require_lowercase_characters(self) -> Optional[pulumi.Input[bool]]:
417
+ """
418
+ Specifies whether the password must contain lowercase letters. Valid values:
419
+ - true
420
+ - false (default)
421
+ """
422
+ return pulumi.get(self, "require_lowercase_characters")
423
+
424
+ @require_lowercase_characters.setter
425
+ def require_lowercase_characters(self, value: Optional[pulumi.Input[bool]]):
426
+ pulumi.set(self, "require_lowercase_characters", value)
427
+
428
+ @property
429
+ @pulumi.getter(name="requireNumbers")
430
+ def require_numbers(self) -> Optional[pulumi.Input[bool]]:
431
+ """
432
+ Specifies whether the password must contain digits. Valid values:
433
+ - true
434
+ - false (default)
435
+ """
436
+ return pulumi.get(self, "require_numbers")
437
+
438
+ @require_numbers.setter
439
+ def require_numbers(self, value: Optional[pulumi.Input[bool]]):
440
+ pulumi.set(self, "require_numbers", value)
441
+
442
+ @property
443
+ @pulumi.getter(name="requireSymbols")
444
+ def require_symbols(self) -> Optional[pulumi.Input[bool]]:
445
+ """
446
+ Specifies whether the password must contain special characters. Valid values:
447
+ - true
448
+ - false (default)
449
+ """
450
+ return pulumi.get(self, "require_symbols")
451
+
452
+ @require_symbols.setter
453
+ def require_symbols(self, value: Optional[pulumi.Input[bool]]):
454
+ pulumi.set(self, "require_symbols", value)
455
+
456
+ @property
457
+ @pulumi.getter(name="requireUppercaseCharacters")
458
+ def require_uppercase_characters(self) -> Optional[pulumi.Input[bool]]:
459
+ """
460
+ Specifies whether the password must contain uppercase letters. Valid values:
461
+ - true
462
+ - false (default)
463
+ """
464
+ return pulumi.get(self, "require_uppercase_characters")
465
+
466
+ @require_uppercase_characters.setter
467
+ def require_uppercase_characters(self, value: Optional[pulumi.Input[bool]]):
468
+ pulumi.set(self, "require_uppercase_characters", value)
469
+
470
+
471
+ class PasswordPolicy(pulumi.CustomResource):
472
+ @overload
473
+ def __init__(__self__,
474
+ resource_name: str,
475
+ opts: Optional[pulumi.ResourceOptions] = None,
476
+ hard_expiry: Optional[pulumi.Input[bool]] = None,
477
+ max_login_attemps: Optional[pulumi.Input[int]] = None,
478
+ max_password_age: Optional[pulumi.Input[int]] = None,
479
+ minimum_password_different_character: Optional[pulumi.Input[int]] = None,
480
+ minimum_password_length: Optional[pulumi.Input[int]] = None,
481
+ password_not_contain_user_name: Optional[pulumi.Input[bool]] = None,
482
+ password_reuse_prevention: Optional[pulumi.Input[int]] = None,
483
+ require_lowercase_characters: Optional[pulumi.Input[bool]] = None,
484
+ require_numbers: Optional[pulumi.Input[bool]] = None,
485
+ require_symbols: Optional[pulumi.Input[bool]] = None,
486
+ require_uppercase_characters: Optional[pulumi.Input[bool]] = None,
487
+ __props__=None):
488
+ """
489
+ ## Import
490
+
491
+ RAM Password Policy can be imported using the id, e.g.
492
+
493
+ ```sh
494
+ $ pulumi import alicloud:ram/passwordPolicy:PasswordPolicy example <id>.
495
+ ```
496
+
497
+ :param str resource_name: The name of the resource.
498
+ :param pulumi.ResourceOptions opts: Options for the resource.
499
+ :param pulumi.Input[bool] hard_expiry: Whether to restrict logon after the password expires. Value:
500
+ - true: After the password expires, you cannot log in to the console. You must reset the password of the RAM user through the main account or a RAM user with administrator permissions to log on normally.
501
+ - false (default): After the password expires, the RAM user can change the password and log on normally.
502
+ :param pulumi.Input[int] max_login_attemps: Password retry constraint. After entering the wrong password continuously for the set number of times, the account will be locked for one hour.
503
+ Value range: 0~32.
504
+ Default value: 0, which means that the password retry constraint is not enabled.
505
+ :param pulumi.Input[int] max_password_age: Password validity period.
506
+ Value range: 0~1095. Unit: days.
507
+ Default value: 0, which means never expires.
508
+ :param pulumi.Input[int] minimum_password_different_character: The minimum number of unique characters in the password.
509
+ Valid values: 0 to 8.
510
+ The default value is 0, which indicates that no limits are imposed on the number of unique characters in a password.
511
+ :param pulumi.Input[int] minimum_password_length: The minimum number of characters in the password.
512
+ Valid values: 8 to 32. Default value: 8.
513
+ :param pulumi.Input[bool] password_not_contain_user_name: Whether the user name is not allowed in the password. Value:
514
+ - true: The password cannot contain the user name.
515
+ - false (default): The user name can be included in the password.
516
+ :param pulumi.Input[int] password_reuse_prevention: Historical password check policy.
517
+ Do not use the previous N Passwords. The value range of N is 0 to 24.
518
+ Default value: 0, indicating that the historical password check policy is not enabled.
519
+ :param pulumi.Input[bool] require_lowercase_characters: Specifies whether the password must contain lowercase letters. Valid values:
520
+ - true
521
+ - false (default)
522
+ :param pulumi.Input[bool] require_numbers: Specifies whether the password must contain digits. Valid values:
523
+ - true
524
+ - false (default)
525
+ :param pulumi.Input[bool] require_symbols: Specifies whether the password must contain special characters. Valid values:
526
+ - true
527
+ - false (default)
528
+ :param pulumi.Input[bool] require_uppercase_characters: Specifies whether the password must contain uppercase letters. Valid values:
529
+ - true
530
+ - false (default)
531
+ """
532
+ ...
533
+ @overload
534
+ def __init__(__self__,
535
+ resource_name: str,
536
+ args: Optional[PasswordPolicyArgs] = None,
537
+ opts: Optional[pulumi.ResourceOptions] = None):
538
+ """
539
+ ## Import
540
+
541
+ RAM Password Policy can be imported using the id, e.g.
542
+
543
+ ```sh
544
+ $ pulumi import alicloud:ram/passwordPolicy:PasswordPolicy example <id>.
545
+ ```
546
+
547
+ :param str resource_name: The name of the resource.
548
+ :param PasswordPolicyArgs args: The arguments to use to populate this resource's properties.
549
+ :param pulumi.ResourceOptions opts: Options for the resource.
550
+ """
551
+ ...
552
+ def __init__(__self__, resource_name: str, *args, **kwargs):
553
+ resource_args, opts = _utilities.get_resource_args_opts(PasswordPolicyArgs, pulumi.ResourceOptions, *args, **kwargs)
554
+ if resource_args is not None:
555
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
556
+ else:
557
+ __self__._internal_init(resource_name, *args, **kwargs)
558
+
559
+ def _internal_init(__self__,
560
+ resource_name: str,
561
+ opts: Optional[pulumi.ResourceOptions] = None,
562
+ hard_expiry: Optional[pulumi.Input[bool]] = None,
563
+ max_login_attemps: Optional[pulumi.Input[int]] = None,
564
+ max_password_age: Optional[pulumi.Input[int]] = None,
565
+ minimum_password_different_character: Optional[pulumi.Input[int]] = None,
566
+ minimum_password_length: Optional[pulumi.Input[int]] = None,
567
+ password_not_contain_user_name: Optional[pulumi.Input[bool]] = None,
568
+ password_reuse_prevention: Optional[pulumi.Input[int]] = None,
569
+ require_lowercase_characters: Optional[pulumi.Input[bool]] = None,
570
+ require_numbers: Optional[pulumi.Input[bool]] = None,
571
+ require_symbols: Optional[pulumi.Input[bool]] = None,
572
+ require_uppercase_characters: Optional[pulumi.Input[bool]] = None,
573
+ __props__=None):
574
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
575
+ if not isinstance(opts, pulumi.ResourceOptions):
576
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
577
+ if opts.id is None:
578
+ if __props__ is not None:
579
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
580
+ __props__ = PasswordPolicyArgs.__new__(PasswordPolicyArgs)
581
+
582
+ __props__.__dict__["hard_expiry"] = hard_expiry
583
+ __props__.__dict__["max_login_attemps"] = max_login_attemps
584
+ __props__.__dict__["max_password_age"] = max_password_age
585
+ __props__.__dict__["minimum_password_different_character"] = minimum_password_different_character
586
+ __props__.__dict__["minimum_password_length"] = minimum_password_length
587
+ __props__.__dict__["password_not_contain_user_name"] = password_not_contain_user_name
588
+ __props__.__dict__["password_reuse_prevention"] = password_reuse_prevention
589
+ __props__.__dict__["require_lowercase_characters"] = require_lowercase_characters
590
+ __props__.__dict__["require_numbers"] = require_numbers
591
+ __props__.__dict__["require_symbols"] = require_symbols
592
+ __props__.__dict__["require_uppercase_characters"] = require_uppercase_characters
593
+ super(PasswordPolicy, __self__).__init__(
594
+ 'alicloud:ram/passwordPolicy:PasswordPolicy',
595
+ resource_name,
596
+ __props__,
597
+ opts)
598
+
599
+ @staticmethod
600
+ def get(resource_name: str,
601
+ id: pulumi.Input[str],
602
+ opts: Optional[pulumi.ResourceOptions] = None,
603
+ hard_expiry: Optional[pulumi.Input[bool]] = None,
604
+ max_login_attemps: Optional[pulumi.Input[int]] = None,
605
+ max_password_age: Optional[pulumi.Input[int]] = None,
606
+ minimum_password_different_character: Optional[pulumi.Input[int]] = None,
607
+ minimum_password_length: Optional[pulumi.Input[int]] = None,
608
+ password_not_contain_user_name: Optional[pulumi.Input[bool]] = None,
609
+ password_reuse_prevention: Optional[pulumi.Input[int]] = None,
610
+ require_lowercase_characters: Optional[pulumi.Input[bool]] = None,
611
+ require_numbers: Optional[pulumi.Input[bool]] = None,
612
+ require_symbols: Optional[pulumi.Input[bool]] = None,
613
+ require_uppercase_characters: Optional[pulumi.Input[bool]] = None) -> 'PasswordPolicy':
614
+ """
615
+ Get an existing PasswordPolicy resource's state with the given name, id, and optional extra
616
+ properties used to qualify the lookup.
617
+
618
+ :param str resource_name: The unique name of the resulting resource.
619
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
620
+ :param pulumi.ResourceOptions opts: Options for the resource.
621
+ :param pulumi.Input[bool] hard_expiry: Whether to restrict logon after the password expires. Value:
622
+ - true: After the password expires, you cannot log in to the console. You must reset the password of the RAM user through the main account or a RAM user with administrator permissions to log on normally.
623
+ - false (default): After the password expires, the RAM user can change the password and log on normally.
624
+ :param pulumi.Input[int] max_login_attemps: Password retry constraint. After entering the wrong password continuously for the set number of times, the account will be locked for one hour.
625
+ Value range: 0~32.
626
+ Default value: 0, which means that the password retry constraint is not enabled.
627
+ :param pulumi.Input[int] max_password_age: Password validity period.
628
+ Value range: 0~1095. Unit: days.
629
+ Default value: 0, which means never expires.
630
+ :param pulumi.Input[int] minimum_password_different_character: The minimum number of unique characters in the password.
631
+ Valid values: 0 to 8.
632
+ The default value is 0, which indicates that no limits are imposed on the number of unique characters in a password.
633
+ :param pulumi.Input[int] minimum_password_length: The minimum number of characters in the password.
634
+ Valid values: 8 to 32. Default value: 8.
635
+ :param pulumi.Input[bool] password_not_contain_user_name: Whether the user name is not allowed in the password. Value:
636
+ - true: The password cannot contain the user name.
637
+ - false (default): The user name can be included in the password.
638
+ :param pulumi.Input[int] password_reuse_prevention: Historical password check policy.
639
+ Do not use the previous N Passwords. The value range of N is 0 to 24.
640
+ Default value: 0, indicating that the historical password check policy is not enabled.
641
+ :param pulumi.Input[bool] require_lowercase_characters: Specifies whether the password must contain lowercase letters. Valid values:
642
+ - true
643
+ - false (default)
644
+ :param pulumi.Input[bool] require_numbers: Specifies whether the password must contain digits. Valid values:
645
+ - true
646
+ - false (default)
647
+ :param pulumi.Input[bool] require_symbols: Specifies whether the password must contain special characters. Valid values:
648
+ - true
649
+ - false (default)
650
+ :param pulumi.Input[bool] require_uppercase_characters: Specifies whether the password must contain uppercase letters. Valid values:
651
+ - true
652
+ - false (default)
653
+ """
654
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
655
+
656
+ __props__ = _PasswordPolicyState.__new__(_PasswordPolicyState)
657
+
658
+ __props__.__dict__["hard_expiry"] = hard_expiry
659
+ __props__.__dict__["max_login_attemps"] = max_login_attemps
660
+ __props__.__dict__["max_password_age"] = max_password_age
661
+ __props__.__dict__["minimum_password_different_character"] = minimum_password_different_character
662
+ __props__.__dict__["minimum_password_length"] = minimum_password_length
663
+ __props__.__dict__["password_not_contain_user_name"] = password_not_contain_user_name
664
+ __props__.__dict__["password_reuse_prevention"] = password_reuse_prevention
665
+ __props__.__dict__["require_lowercase_characters"] = require_lowercase_characters
666
+ __props__.__dict__["require_numbers"] = require_numbers
667
+ __props__.__dict__["require_symbols"] = require_symbols
668
+ __props__.__dict__["require_uppercase_characters"] = require_uppercase_characters
669
+ return PasswordPolicy(resource_name, opts=opts, __props__=__props__)
670
+
671
+ @property
672
+ @pulumi.getter(name="hardExpiry")
673
+ def hard_expiry(self) -> pulumi.Output[Optional[bool]]:
674
+ """
675
+ Whether to restrict logon after the password expires. Value:
676
+ - true: After the password expires, you cannot log in to the console. You must reset the password of the RAM user through the main account or a RAM user with administrator permissions to log on normally.
677
+ - false (default): After the password expires, the RAM user can change the password and log on normally.
678
+ """
679
+ return pulumi.get(self, "hard_expiry")
680
+
681
+ @property
682
+ @pulumi.getter(name="maxLoginAttemps")
683
+ def max_login_attemps(self) -> pulumi.Output[Optional[int]]:
684
+ """
685
+ Password retry constraint. After entering the wrong password continuously for the set number of times, the account will be locked for one hour.
686
+ Value range: 0~32.
687
+ Default value: 0, which means that the password retry constraint is not enabled.
688
+ """
689
+ return pulumi.get(self, "max_login_attemps")
690
+
691
+ @property
692
+ @pulumi.getter(name="maxPasswordAge")
693
+ def max_password_age(self) -> pulumi.Output[Optional[int]]:
694
+ """
695
+ Password validity period.
696
+ Value range: 0~1095. Unit: days.
697
+ Default value: 0, which means never expires.
698
+ """
699
+ return pulumi.get(self, "max_password_age")
700
+
701
+ @property
702
+ @pulumi.getter(name="minimumPasswordDifferentCharacter")
703
+ def minimum_password_different_character(self) -> pulumi.Output[Optional[int]]:
704
+ """
705
+ The minimum number of unique characters in the password.
706
+ Valid values: 0 to 8.
707
+ The default value is 0, which indicates that no limits are imposed on the number of unique characters in a password.
708
+ """
709
+ return pulumi.get(self, "minimum_password_different_character")
710
+
711
+ @property
712
+ @pulumi.getter(name="minimumPasswordLength")
713
+ def minimum_password_length(self) -> pulumi.Output[int]:
714
+ """
715
+ The minimum number of characters in the password.
716
+ Valid values: 8 to 32. Default value: 8.
717
+ """
718
+ return pulumi.get(self, "minimum_password_length")
719
+
720
+ @property
721
+ @pulumi.getter(name="passwordNotContainUserName")
722
+ def password_not_contain_user_name(self) -> pulumi.Output[Optional[bool]]:
723
+ """
724
+ Whether the user name is not allowed in the password. Value:
725
+ - true: The password cannot contain the user name.
726
+ - false (default): The user name can be included in the password.
727
+ """
728
+ return pulumi.get(self, "password_not_contain_user_name")
729
+
730
+ @property
731
+ @pulumi.getter(name="passwordReusePrevention")
732
+ def password_reuse_prevention(self) -> pulumi.Output[Optional[int]]:
733
+ """
734
+ Historical password check policy.
735
+ Do not use the previous N Passwords. The value range of N is 0 to 24.
736
+ Default value: 0, indicating that the historical password check policy is not enabled.
737
+ """
738
+ return pulumi.get(self, "password_reuse_prevention")
739
+
740
+ @property
741
+ @pulumi.getter(name="requireLowercaseCharacters")
742
+ def require_lowercase_characters(self) -> pulumi.Output[Optional[bool]]:
743
+ """
744
+ Specifies whether the password must contain lowercase letters. Valid values:
745
+ - true
746
+ - false (default)
747
+ """
748
+ return pulumi.get(self, "require_lowercase_characters")
749
+
750
+ @property
751
+ @pulumi.getter(name="requireNumbers")
752
+ def require_numbers(self) -> pulumi.Output[Optional[bool]]:
753
+ """
754
+ Specifies whether the password must contain digits. Valid values:
755
+ - true
756
+ - false (default)
757
+ """
758
+ return pulumi.get(self, "require_numbers")
759
+
760
+ @property
761
+ @pulumi.getter(name="requireSymbols")
762
+ def require_symbols(self) -> pulumi.Output[Optional[bool]]:
763
+ """
764
+ Specifies whether the password must contain special characters. Valid values:
765
+ - true
766
+ - false (default)
767
+ """
768
+ return pulumi.get(self, "require_symbols")
769
+
770
+ @property
771
+ @pulumi.getter(name="requireUppercaseCharacters")
772
+ def require_uppercase_characters(self) -> pulumi.Output[Optional[bool]]:
773
+ """
774
+ Specifies whether the password must contain uppercase letters. Valid values:
775
+ - true
776
+ - false (default)
777
+ """
778
+ return pulumi.get(self, "require_uppercase_characters")
779
+