pulumi-alicloud 3.56.0a1717132537__py3-none-any.whl → 3.56.0a1717175543__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 (43) hide show
  1. pulumi_alicloud/__init__.py +96 -0
  2. pulumi_alicloud/alikafka/instance.py +47 -0
  3. pulumi_alicloud/apigateway/__init__.py +1 -0
  4. pulumi_alicloud/apigateway/_inputs.py +40 -0
  5. pulumi_alicloud/apigateway/access_control_list.py +322 -0
  6. pulumi_alicloud/apigateway/get_apis.py +96 -23
  7. pulumi_alicloud/apigateway/outputs.py +72 -14
  8. pulumi_alicloud/apigateway/plugin.py +225 -73
  9. pulumi_alicloud/cen/get_transit_router_vpc_attachments.py +171 -18
  10. pulumi_alicloud/cen/outputs.py +51 -22
  11. pulumi_alicloud/cloudfirewall/__init__.py +2 -0
  12. pulumi_alicloud/cloudfirewall/_inputs.py +68 -0
  13. pulumi_alicloud/cloudfirewall/nat_firewall.py +811 -0
  14. pulumi_alicloud/cloudfirewall/nat_firewall_control_policy.py +1589 -0
  15. pulumi_alicloud/cloudfirewall/outputs.py +75 -0
  16. pulumi_alicloud/ecs/security_group_rule.py +75 -53
  17. pulumi_alicloud/ess/_inputs.py +56 -0
  18. pulumi_alicloud/ess/outputs.py +61 -0
  19. pulumi_alicloud/ess/scaling_group.py +101 -7
  20. pulumi_alicloud/kms/key.py +251 -333
  21. pulumi_alicloud/kms/secret.py +210 -125
  22. pulumi_alicloud/nas/__init__.py +2 -0
  23. pulumi_alicloud/nas/_inputs.py +126 -0
  24. pulumi_alicloud/nas/access_point.py +743 -0
  25. pulumi_alicloud/nas/outputs.py +128 -0
  26. pulumi_alicloud/oss/__init__.py +7 -0
  27. pulumi_alicloud/oss/account_public_access_block.py +200 -0
  28. pulumi_alicloud/oss/bucket_access_monitor.py +206 -0
  29. pulumi_alicloud/oss/bucket_data_redundancy_transition.py +290 -0
  30. pulumi_alicloud/oss/bucket_meta_query.py +270 -0
  31. pulumi_alicloud/oss/bucket_public_access_block.py +258 -0
  32. pulumi_alicloud/oss/bucket_transfer_acceleration.py +205 -0
  33. pulumi_alicloud/oss/bucket_user_defined_log_fields.py +328 -0
  34. pulumi_alicloud/pulumi-plugin.json +1 -1
  35. pulumi_alicloud/redis/tair_instance.py +188 -0
  36. pulumi_alicloud/sls/__init__.py +1 -0
  37. pulumi_alicloud/sls/_inputs.py +384 -0
  38. pulumi_alicloud/sls/outputs.py +358 -0
  39. pulumi_alicloud/sls/scheduled_sql.py +523 -0
  40. {pulumi_alicloud-3.56.0a1717132537.dist-info → pulumi_alicloud-3.56.0a1717175543.dist-info}/METADATA +1 -1
  41. {pulumi_alicloud-3.56.0a1717132537.dist-info → pulumi_alicloud-3.56.0a1717175543.dist-info}/RECORD +43 -30
  42. {pulumi_alicloud-3.56.0a1717132537.dist-info → pulumi_alicloud-3.56.0a1717175543.dist-info}/WHEEL +0 -0
  43. {pulumi_alicloud-3.56.0a1717132537.dist-info → pulumi_alicloud-3.56.0a1717175543.dist-info}/top_level.txt +0 -0
@@ -22,6 +22,7 @@ __all__ = [
22
22
  'FirewallVpcFirewallPeerVpc',
23
23
  'FirewallVpcFirewallPeerVpcPeerVpcCidrTableList',
24
24
  'FirewallVpcFirewallPeerVpcPeerVpcCidrTableListPeerRouteEntryList',
25
+ 'NatFirewallNatRouteEntryList',
25
26
  'GetAddressBooksBookResult',
26
27
  'GetAddressBooksBookEcsTagResult',
27
28
  'GetControlPoliciesPolicyResult',
@@ -887,6 +888,80 @@ class FirewallVpcFirewallPeerVpcPeerVpcCidrTableListPeerRouteEntryList(dict):
887
888
  return pulumi.get(self, "peer_next_hop_instance_id")
888
889
 
889
890
 
891
+ @pulumi.output_type
892
+ class NatFirewallNatRouteEntryList(dict):
893
+ @staticmethod
894
+ def __key_warning(key: str):
895
+ suggest = None
896
+ if key == "destinationCidr":
897
+ suggest = "destination_cidr"
898
+ elif key == "nexthopId":
899
+ suggest = "nexthop_id"
900
+ elif key == "nexthopType":
901
+ suggest = "nexthop_type"
902
+ elif key == "routeTableId":
903
+ suggest = "route_table_id"
904
+
905
+ if suggest:
906
+ pulumi.log.warn(f"Key '{key}' not found in NatFirewallNatRouteEntryList. Access the value via the '{suggest}' property getter instead.")
907
+
908
+ def __getitem__(self, key: str) -> Any:
909
+ NatFirewallNatRouteEntryList.__key_warning(key)
910
+ return super().__getitem__(key)
911
+
912
+ def get(self, key: str, default = None) -> Any:
913
+ NatFirewallNatRouteEntryList.__key_warning(key)
914
+ return super().get(key, default)
915
+
916
+ def __init__(__self__, *,
917
+ destination_cidr: str,
918
+ nexthop_id: str,
919
+ nexthop_type: str,
920
+ route_table_id: str):
921
+ """
922
+ :param str destination_cidr: The destination network segment of the default route.
923
+ :param str nexthop_id: The next hop address of the original NAT gateway.
924
+ :param str nexthop_type: The network type of the next hop. Value: NatGateway : NAT Gateway.
925
+ :param str route_table_id: The route table where the default route of the NAT gateway is located.
926
+ """
927
+ pulumi.set(__self__, "destination_cidr", destination_cidr)
928
+ pulumi.set(__self__, "nexthop_id", nexthop_id)
929
+ pulumi.set(__self__, "nexthop_type", nexthop_type)
930
+ pulumi.set(__self__, "route_table_id", route_table_id)
931
+
932
+ @property
933
+ @pulumi.getter(name="destinationCidr")
934
+ def destination_cidr(self) -> str:
935
+ """
936
+ The destination network segment of the default route.
937
+ """
938
+ return pulumi.get(self, "destination_cidr")
939
+
940
+ @property
941
+ @pulumi.getter(name="nexthopId")
942
+ def nexthop_id(self) -> str:
943
+ """
944
+ The next hop address of the original NAT gateway.
945
+ """
946
+ return pulumi.get(self, "nexthop_id")
947
+
948
+ @property
949
+ @pulumi.getter(name="nexthopType")
950
+ def nexthop_type(self) -> str:
951
+ """
952
+ The network type of the next hop. Value: NatGateway : NAT Gateway.
953
+ """
954
+ return pulumi.get(self, "nexthop_type")
955
+
956
+ @property
957
+ @pulumi.getter(name="routeTableId")
958
+ def route_table_id(self) -> str:
959
+ """
960
+ The route table where the default route of the NAT gateway is located.
961
+ """
962
+ return pulumi.get(self, "route_table_id")
963
+
964
+
890
965
  @pulumi.output_type
891
966
  class GetAddressBooksBookResult(dict):
892
967
  def __init__(__self__, *,
@@ -29,20 +29,20 @@ class SecurityGroupRuleArgs:
29
29
  source_security_group_id: Optional[pulumi.Input[str]] = None):
30
30
  """
31
31
  The set of arguments for constructing a SecurityGroupRule resource.
32
- :param pulumi.Input[str] ip_protocol: The protocol. Can be `tcp`, `udp`, `icmp`, `gre` or `all`.
33
- :param pulumi.Input[str] security_group_id: The security group to apply this rule to.
34
- :param pulumi.Input[str] type: The type of rule being created. Valid options are `ingress` (inbound) or `egress` (outbound).
32
+ :param pulumi.Input[str] ip_protocol: The transport layer protocol of the Security Group Rule. Valid values: `tcp`, `udp`, `icmp`, `gre`, `all`.
33
+ :param pulumi.Input[str] security_group_id: The ID of the Security Group.
34
+ :param pulumi.Input[str] type: The type of the Security Group Rule. Valid values:
35
35
  :param pulumi.Input[str] cidr_ip: The target IP address range. The default value is 0.0.0.0/0 (which means no restriction will be applied). Other supported formats include 10.159.6.18/12. Only IPv4 is supported.
36
36
  :param pulumi.Input[str] description: The description of the security group rule. The description can be up to 1 to 512 characters in length. Defaults to null.
37
- :param pulumi.Input[str] ipv6_cidr_ip: Source IPv6 CIDR address block that requires access. Supports IP address ranges in CIDR format and IPv6 format. **NOTE:** This parameter cannot be set at the same time as the `cidr_ip` parameter.
38
37
 
39
38
  > **NOTE:** You must specify one of the following field: `cidr_ip`,`source_security_group_id`,`prefix_list_id`,`ipv6_cidr_ip`.
39
+ :param pulumi.Input[str] ipv6_cidr_ip: Source IPv6 CIDR address block that requires access. Supports IP address ranges in CIDR format and IPv6 format. **NOTE:** This parameter cannot be set at the same time as the `cidr_ip` parameter.
40
40
  :param pulumi.Input[str] nic_type: Network type, can be either `internet` or `intranet`, the default value is `internet`.
41
- :param pulumi.Input[str] policy: Authorization policy, can be either `accept` or `drop`, the default value is `accept`.
41
+ :param pulumi.Input[str] policy: The action of the Security Group Rule that determines whether to allow inbound access. Default value: `accept`. Valid values: `accept`, `drop`.
42
42
  :param pulumi.Input[str] port_range: The range of port numbers relevant to the IP protocol. Default to "-1/-1". When the protocol is tcp or udp, each side port number range from 1 to 65535 and '-1/-1' will be invalid.
43
43
  For example, `1/200` means that the range of the port numbers is 1-200. Other protocols' 'port_range' can only be "-1/-1", and other values will be invalid.
44
44
  :param pulumi.Input[str] prefix_list_id: The ID of the source/destination prefix list to which you want to control access. **NOTE:** If you specify `cidr_ip`,`source_security_group_id`,`ipv6_cidr_ip` parameter, this parameter is ignored.
45
- :param pulumi.Input[int] priority: Authorization policy priority, with parameter values: `1-100`, default value: 1.
45
+ :param pulumi.Input[int] priority: The priority of the Security Group Rule. Default value: `1`. Valid values: `1` to `100`.
46
46
  :param pulumi.Input[str] source_group_owner_account: The Alibaba Cloud user account Id of the target security group when security groups are authorized across accounts. This parameter is invalid if `cidr_ip` has already been set.
47
47
  :param pulumi.Input[str] source_security_group_id: The target security group ID within the same region. If this field is specified, the `nic_type` can only select `intranet`.
48
48
  """
@@ -74,7 +74,7 @@ class SecurityGroupRuleArgs:
74
74
  @pulumi.getter(name="ipProtocol")
75
75
  def ip_protocol(self) -> pulumi.Input[str]:
76
76
  """
77
- The protocol. Can be `tcp`, `udp`, `icmp`, `gre` or `all`.
77
+ The transport layer protocol of the Security Group Rule. Valid values: `tcp`, `udp`, `icmp`, `gre`, `all`.
78
78
  """
79
79
  return pulumi.get(self, "ip_protocol")
80
80
 
@@ -86,7 +86,7 @@ class SecurityGroupRuleArgs:
86
86
  @pulumi.getter(name="securityGroupId")
87
87
  def security_group_id(self) -> pulumi.Input[str]:
88
88
  """
89
- The security group to apply this rule to.
89
+ The ID of the Security Group.
90
90
  """
91
91
  return pulumi.get(self, "security_group_id")
92
92
 
@@ -98,7 +98,7 @@ class SecurityGroupRuleArgs:
98
98
  @pulumi.getter
99
99
  def type(self) -> pulumi.Input[str]:
100
100
  """
101
- The type of rule being created. Valid options are `ingress` (inbound) or `egress` (outbound).
101
+ The type of the Security Group Rule. Valid values:
102
102
  """
103
103
  return pulumi.get(self, "type")
104
104
 
@@ -123,6 +123,8 @@ class SecurityGroupRuleArgs:
123
123
  def description(self) -> Optional[pulumi.Input[str]]:
124
124
  """
125
125
  The description of the security group rule. The description can be up to 1 to 512 characters in length. Defaults to null.
126
+
127
+ > **NOTE:** You must specify one of the following field: `cidr_ip`,`source_security_group_id`,`prefix_list_id`,`ipv6_cidr_ip`.
126
128
  """
127
129
  return pulumi.get(self, "description")
128
130
 
@@ -135,8 +137,6 @@ class SecurityGroupRuleArgs:
135
137
  def ipv6_cidr_ip(self) -> Optional[pulumi.Input[str]]:
136
138
  """
137
139
  Source IPv6 CIDR address block that requires access. Supports IP address ranges in CIDR format and IPv6 format. **NOTE:** This parameter cannot be set at the same time as the `cidr_ip` parameter.
138
-
139
- > **NOTE:** You must specify one of the following field: `cidr_ip`,`source_security_group_id`,`prefix_list_id`,`ipv6_cidr_ip`.
140
140
  """
141
141
  return pulumi.get(self, "ipv6_cidr_ip")
142
142
 
@@ -160,7 +160,7 @@ class SecurityGroupRuleArgs:
160
160
  @pulumi.getter
161
161
  def policy(self) -> Optional[pulumi.Input[str]]:
162
162
  """
163
- Authorization policy, can be either `accept` or `drop`, the default value is `accept`.
163
+ The action of the Security Group Rule that determines whether to allow inbound access. Default value: `accept`. Valid values: `accept`, `drop`.
164
164
  """
165
165
  return pulumi.get(self, "policy")
166
166
 
@@ -197,7 +197,7 @@ class SecurityGroupRuleArgs:
197
197
  @pulumi.getter
198
198
  def priority(self) -> Optional[pulumi.Input[int]]:
199
199
  """
200
- Authorization policy priority, with parameter values: `1-100`, default value: 1.
200
+ The priority of the Security Group Rule. Default value: `1`. Valid values: `1` to `100`.
201
201
  """
202
202
  return pulumi.get(self, "priority")
203
203
 
@@ -250,20 +250,20 @@ class _SecurityGroupRuleState:
250
250
  Input properties used for looking up and filtering SecurityGroupRule resources.
251
251
  :param pulumi.Input[str] cidr_ip: The target IP address range. The default value is 0.0.0.0/0 (which means no restriction will be applied). Other supported formats include 10.159.6.18/12. Only IPv4 is supported.
252
252
  :param pulumi.Input[str] description: The description of the security group rule. The description can be up to 1 to 512 characters in length. Defaults to null.
253
- :param pulumi.Input[str] ip_protocol: The protocol. Can be `tcp`, `udp`, `icmp`, `gre` or `all`.
254
- :param pulumi.Input[str] ipv6_cidr_ip: Source IPv6 CIDR address block that requires access. Supports IP address ranges in CIDR format and IPv6 format. **NOTE:** This parameter cannot be set at the same time as the `cidr_ip` parameter.
255
253
 
256
254
  > **NOTE:** You must specify one of the following field: `cidr_ip`,`source_security_group_id`,`prefix_list_id`,`ipv6_cidr_ip`.
255
+ :param pulumi.Input[str] ip_protocol: The transport layer protocol of the Security Group Rule. Valid values: `tcp`, `udp`, `icmp`, `gre`, `all`.
256
+ :param pulumi.Input[str] ipv6_cidr_ip: Source IPv6 CIDR address block that requires access. Supports IP address ranges in CIDR format and IPv6 format. **NOTE:** This parameter cannot be set at the same time as the `cidr_ip` parameter.
257
257
  :param pulumi.Input[str] nic_type: Network type, can be either `internet` or `intranet`, the default value is `internet`.
258
- :param pulumi.Input[str] policy: Authorization policy, can be either `accept` or `drop`, the default value is `accept`.
258
+ :param pulumi.Input[str] policy: The action of the Security Group Rule that determines whether to allow inbound access. Default value: `accept`. Valid values: `accept`, `drop`.
259
259
  :param pulumi.Input[str] port_range: The range of port numbers relevant to the IP protocol. Default to "-1/-1". When the protocol is tcp or udp, each side port number range from 1 to 65535 and '-1/-1' will be invalid.
260
260
  For example, `1/200` means that the range of the port numbers is 1-200. Other protocols' 'port_range' can only be "-1/-1", and other values will be invalid.
261
261
  :param pulumi.Input[str] prefix_list_id: The ID of the source/destination prefix list to which you want to control access. **NOTE:** If you specify `cidr_ip`,`source_security_group_id`,`ipv6_cidr_ip` parameter, this parameter is ignored.
262
- :param pulumi.Input[int] priority: Authorization policy priority, with parameter values: `1-100`, default value: 1.
263
- :param pulumi.Input[str] security_group_id: The security group to apply this rule to.
262
+ :param pulumi.Input[int] priority: The priority of the Security Group Rule. Default value: `1`. Valid values: `1` to `100`.
263
+ :param pulumi.Input[str] security_group_id: The ID of the Security Group.
264
264
  :param pulumi.Input[str] source_group_owner_account: The Alibaba Cloud user account Id of the target security group when security groups are authorized across accounts. This parameter is invalid if `cidr_ip` has already been set.
265
265
  :param pulumi.Input[str] source_security_group_id: The target security group ID within the same region. If this field is specified, the `nic_type` can only select `intranet`.
266
- :param pulumi.Input[str] type: The type of rule being created. Valid options are `ingress` (inbound) or `egress` (outbound).
266
+ :param pulumi.Input[str] type: The type of the Security Group Rule. Valid values:
267
267
  """
268
268
  if cidr_ip is not None:
269
269
  pulumi.set(__self__, "cidr_ip", cidr_ip)
@@ -309,6 +309,8 @@ class _SecurityGroupRuleState:
309
309
  def description(self) -> Optional[pulumi.Input[str]]:
310
310
  """
311
311
  The description of the security group rule. The description can be up to 1 to 512 characters in length. Defaults to null.
312
+
313
+ > **NOTE:** You must specify one of the following field: `cidr_ip`,`source_security_group_id`,`prefix_list_id`,`ipv6_cidr_ip`.
312
314
  """
313
315
  return pulumi.get(self, "description")
314
316
 
@@ -320,7 +322,7 @@ class _SecurityGroupRuleState:
320
322
  @pulumi.getter(name="ipProtocol")
321
323
  def ip_protocol(self) -> Optional[pulumi.Input[str]]:
322
324
  """
323
- The protocol. Can be `tcp`, `udp`, `icmp`, `gre` or `all`.
325
+ The transport layer protocol of the Security Group Rule. Valid values: `tcp`, `udp`, `icmp`, `gre`, `all`.
324
326
  """
325
327
  return pulumi.get(self, "ip_protocol")
326
328
 
@@ -333,8 +335,6 @@ class _SecurityGroupRuleState:
333
335
  def ipv6_cidr_ip(self) -> Optional[pulumi.Input[str]]:
334
336
  """
335
337
  Source IPv6 CIDR address block that requires access. Supports IP address ranges in CIDR format and IPv6 format. **NOTE:** This parameter cannot be set at the same time as the `cidr_ip` parameter.
336
-
337
- > **NOTE:** You must specify one of the following field: `cidr_ip`,`source_security_group_id`,`prefix_list_id`,`ipv6_cidr_ip`.
338
338
  """
339
339
  return pulumi.get(self, "ipv6_cidr_ip")
340
340
 
@@ -358,7 +358,7 @@ class _SecurityGroupRuleState:
358
358
  @pulumi.getter
359
359
  def policy(self) -> Optional[pulumi.Input[str]]:
360
360
  """
361
- Authorization policy, can be either `accept` or `drop`, the default value is `accept`.
361
+ The action of the Security Group Rule that determines whether to allow inbound access. Default value: `accept`. Valid values: `accept`, `drop`.
362
362
  """
363
363
  return pulumi.get(self, "policy")
364
364
 
@@ -395,7 +395,7 @@ class _SecurityGroupRuleState:
395
395
  @pulumi.getter
396
396
  def priority(self) -> Optional[pulumi.Input[int]]:
397
397
  """
398
- Authorization policy priority, with parameter values: `1-100`, default value: 1.
398
+ The priority of the Security Group Rule. Default value: `1`. Valid values: `1` to `100`.
399
399
  """
400
400
  return pulumi.get(self, "priority")
401
401
 
@@ -407,7 +407,7 @@ class _SecurityGroupRuleState:
407
407
  @pulumi.getter(name="securityGroupId")
408
408
  def security_group_id(self) -> Optional[pulumi.Input[str]]:
409
409
  """
410
- The security group to apply this rule to.
410
+ The ID of the Security Group.
411
411
  """
412
412
  return pulumi.get(self, "security_group_id")
413
413
 
@@ -443,7 +443,7 @@ class _SecurityGroupRuleState:
443
443
  @pulumi.getter
444
444
  def type(self) -> Optional[pulumi.Input[str]]:
445
445
  """
446
- The type of rule being created. Valid options are `ingress` (inbound) or `egress` (outbound).
446
+ The type of the Security Group Rule. Valid values:
447
447
  """
448
448
  return pulumi.get(self, "type")
449
449
 
@@ -472,13 +472,16 @@ class SecurityGroupRule(pulumi.CustomResource):
472
472
  type: Optional[pulumi.Input[str]] = None,
473
473
  __props__=None):
474
474
  """
475
- Provides a security group rule resource.
476
- Represents a single `ingress` or `egress` group rule, which can be added to external Security Groups.
475
+ Provides a Security Group Rule resource.
477
476
 
478
- > **NOTE:** `nic_type` should set to `intranet` when security group type is `vpc` or specifying the `source_security_group_id`. In this situation it does not distinguish between intranet and internet, the rule is effective on them both.
477
+ For information about Security Group Rule and how to use it, see [What is Rule](https://www.alibabacloud.com/help/en/ecs/user-guide/security-group-rules).
479
478
 
480
479
  > **NOTE:** Available since v0.1.0.
481
480
 
481
+ Represents a single `ingress` or `egress` group rule, which can be added to external Security Groups.
482
+
483
+ > **NOTE:** `nic_type` should set to `intranet` when security group type is `vpc` or specifying the `source_security_group_id`. In this situation it does not distinguish between intranet and internet, the rule is effective on them both.
484
+
482
485
  ## Example Usage
483
486
 
484
487
  Basic Usage
@@ -487,7 +490,7 @@ class SecurityGroupRule(pulumi.CustomResource):
487
490
  import pulumi
488
491
  import pulumi_alicloud as alicloud
489
492
 
490
- default = alicloud.ecs.SecurityGroup("default", name="default")
493
+ default = alicloud.ecs.SecurityGroup("default", name="terraform-example")
491
494
  allow_all_tcp = alicloud.ecs.SecurityGroupRule("allow_all_tcp",
492
495
  type="ingress",
493
496
  ip_protocol="tcp",
@@ -504,24 +507,32 @@ class SecurityGroupRule(pulumi.CustomResource):
504
507
  You can use the existing security-group module
505
508
  to create a security group and add several rules one-click.
506
509
 
510
+ ## Import
511
+
512
+ Security Group Rule can be imported using the id, e.g.
513
+
514
+ ```sh
515
+ $ pulumi import alicloud:ecs/securityGroupRule:SecurityGroupRule example <id>
516
+ ```
517
+
507
518
  :param str resource_name: The name of the resource.
508
519
  :param pulumi.ResourceOptions opts: Options for the resource.
509
520
  :param pulumi.Input[str] cidr_ip: The target IP address range. The default value is 0.0.0.0/0 (which means no restriction will be applied). Other supported formats include 10.159.6.18/12. Only IPv4 is supported.
510
521
  :param pulumi.Input[str] description: The description of the security group rule. The description can be up to 1 to 512 characters in length. Defaults to null.
511
- :param pulumi.Input[str] ip_protocol: The protocol. Can be `tcp`, `udp`, `icmp`, `gre` or `all`.
512
- :param pulumi.Input[str] ipv6_cidr_ip: Source IPv6 CIDR address block that requires access. Supports IP address ranges in CIDR format and IPv6 format. **NOTE:** This parameter cannot be set at the same time as the `cidr_ip` parameter.
513
522
 
514
523
  > **NOTE:** You must specify one of the following field: `cidr_ip`,`source_security_group_id`,`prefix_list_id`,`ipv6_cidr_ip`.
524
+ :param pulumi.Input[str] ip_protocol: The transport layer protocol of the Security Group Rule. Valid values: `tcp`, `udp`, `icmp`, `gre`, `all`.
525
+ :param pulumi.Input[str] ipv6_cidr_ip: Source IPv6 CIDR address block that requires access. Supports IP address ranges in CIDR format and IPv6 format. **NOTE:** This parameter cannot be set at the same time as the `cidr_ip` parameter.
515
526
  :param pulumi.Input[str] nic_type: Network type, can be either `internet` or `intranet`, the default value is `internet`.
516
- :param pulumi.Input[str] policy: Authorization policy, can be either `accept` or `drop`, the default value is `accept`.
527
+ :param pulumi.Input[str] policy: The action of the Security Group Rule that determines whether to allow inbound access. Default value: `accept`. Valid values: `accept`, `drop`.
517
528
  :param pulumi.Input[str] port_range: The range of port numbers relevant to the IP protocol. Default to "-1/-1". When the protocol is tcp or udp, each side port number range from 1 to 65535 and '-1/-1' will be invalid.
518
529
  For example, `1/200` means that the range of the port numbers is 1-200. Other protocols' 'port_range' can only be "-1/-1", and other values will be invalid.
519
530
  :param pulumi.Input[str] prefix_list_id: The ID of the source/destination prefix list to which you want to control access. **NOTE:** If you specify `cidr_ip`,`source_security_group_id`,`ipv6_cidr_ip` parameter, this parameter is ignored.
520
- :param pulumi.Input[int] priority: Authorization policy priority, with parameter values: `1-100`, default value: 1.
521
- :param pulumi.Input[str] security_group_id: The security group to apply this rule to.
531
+ :param pulumi.Input[int] priority: The priority of the Security Group Rule. Default value: `1`. Valid values: `1` to `100`.
532
+ :param pulumi.Input[str] security_group_id: The ID of the Security Group.
522
533
  :param pulumi.Input[str] source_group_owner_account: The Alibaba Cloud user account Id of the target security group when security groups are authorized across accounts. This parameter is invalid if `cidr_ip` has already been set.
523
534
  :param pulumi.Input[str] source_security_group_id: The target security group ID within the same region. If this field is specified, the `nic_type` can only select `intranet`.
524
- :param pulumi.Input[str] type: The type of rule being created. Valid options are `ingress` (inbound) or `egress` (outbound).
535
+ :param pulumi.Input[str] type: The type of the Security Group Rule. Valid values:
525
536
  """
526
537
  ...
527
538
  @overload
@@ -530,13 +541,16 @@ class SecurityGroupRule(pulumi.CustomResource):
530
541
  args: SecurityGroupRuleArgs,
531
542
  opts: Optional[pulumi.ResourceOptions] = None):
532
543
  """
533
- Provides a security group rule resource.
534
- Represents a single `ingress` or `egress` group rule, which can be added to external Security Groups.
544
+ Provides a Security Group Rule resource.
535
545
 
536
- > **NOTE:** `nic_type` should set to `intranet` when security group type is `vpc` or specifying the `source_security_group_id`. In this situation it does not distinguish between intranet and internet, the rule is effective on them both.
546
+ For information about Security Group Rule and how to use it, see [What is Rule](https://www.alibabacloud.com/help/en/ecs/user-guide/security-group-rules).
537
547
 
538
548
  > **NOTE:** Available since v0.1.0.
539
549
 
550
+ Represents a single `ingress` or `egress` group rule, which can be added to external Security Groups.
551
+
552
+ > **NOTE:** `nic_type` should set to `intranet` when security group type is `vpc` or specifying the `source_security_group_id`. In this situation it does not distinguish between intranet and internet, the rule is effective on them both.
553
+
540
554
  ## Example Usage
541
555
 
542
556
  Basic Usage
@@ -545,7 +559,7 @@ class SecurityGroupRule(pulumi.CustomResource):
545
559
  import pulumi
546
560
  import pulumi_alicloud as alicloud
547
561
 
548
- default = alicloud.ecs.SecurityGroup("default", name="default")
562
+ default = alicloud.ecs.SecurityGroup("default", name="terraform-example")
549
563
  allow_all_tcp = alicloud.ecs.SecurityGroupRule("allow_all_tcp",
550
564
  type="ingress",
551
565
  ip_protocol="tcp",
@@ -562,6 +576,14 @@ class SecurityGroupRule(pulumi.CustomResource):
562
576
  You can use the existing security-group module
563
577
  to create a security group and add several rules one-click.
564
578
 
579
+ ## Import
580
+
581
+ Security Group Rule can be imported using the id, e.g.
582
+
583
+ ```sh
584
+ $ pulumi import alicloud:ecs/securityGroupRule:SecurityGroupRule example <id>
585
+ ```
586
+
565
587
  :param str resource_name: The name of the resource.
566
588
  :param SecurityGroupRuleArgs args: The arguments to use to populate this resource's properties.
567
589
  :param pulumi.ResourceOptions opts: Options for the resource.
@@ -650,20 +672,20 @@ class SecurityGroupRule(pulumi.CustomResource):
650
672
  :param pulumi.ResourceOptions opts: Options for the resource.
651
673
  :param pulumi.Input[str] cidr_ip: The target IP address range. The default value is 0.0.0.0/0 (which means no restriction will be applied). Other supported formats include 10.159.6.18/12. Only IPv4 is supported.
652
674
  :param pulumi.Input[str] description: The description of the security group rule. The description can be up to 1 to 512 characters in length. Defaults to null.
653
- :param pulumi.Input[str] ip_protocol: The protocol. Can be `tcp`, `udp`, `icmp`, `gre` or `all`.
654
- :param pulumi.Input[str] ipv6_cidr_ip: Source IPv6 CIDR address block that requires access. Supports IP address ranges in CIDR format and IPv6 format. **NOTE:** This parameter cannot be set at the same time as the `cidr_ip` parameter.
655
675
 
656
676
  > **NOTE:** You must specify one of the following field: `cidr_ip`,`source_security_group_id`,`prefix_list_id`,`ipv6_cidr_ip`.
677
+ :param pulumi.Input[str] ip_protocol: The transport layer protocol of the Security Group Rule. Valid values: `tcp`, `udp`, `icmp`, `gre`, `all`.
678
+ :param pulumi.Input[str] ipv6_cidr_ip: Source IPv6 CIDR address block that requires access. Supports IP address ranges in CIDR format and IPv6 format. **NOTE:** This parameter cannot be set at the same time as the `cidr_ip` parameter.
657
679
  :param pulumi.Input[str] nic_type: Network type, can be either `internet` or `intranet`, the default value is `internet`.
658
- :param pulumi.Input[str] policy: Authorization policy, can be either `accept` or `drop`, the default value is `accept`.
680
+ :param pulumi.Input[str] policy: The action of the Security Group Rule that determines whether to allow inbound access. Default value: `accept`. Valid values: `accept`, `drop`.
659
681
  :param pulumi.Input[str] port_range: The range of port numbers relevant to the IP protocol. Default to "-1/-1". When the protocol is tcp or udp, each side port number range from 1 to 65535 and '-1/-1' will be invalid.
660
682
  For example, `1/200` means that the range of the port numbers is 1-200. Other protocols' 'port_range' can only be "-1/-1", and other values will be invalid.
661
683
  :param pulumi.Input[str] prefix_list_id: The ID of the source/destination prefix list to which you want to control access. **NOTE:** If you specify `cidr_ip`,`source_security_group_id`,`ipv6_cidr_ip` parameter, this parameter is ignored.
662
- :param pulumi.Input[int] priority: Authorization policy priority, with parameter values: `1-100`, default value: 1.
663
- :param pulumi.Input[str] security_group_id: The security group to apply this rule to.
684
+ :param pulumi.Input[int] priority: The priority of the Security Group Rule. Default value: `1`. Valid values: `1` to `100`.
685
+ :param pulumi.Input[str] security_group_id: The ID of the Security Group.
664
686
  :param pulumi.Input[str] source_group_owner_account: The Alibaba Cloud user account Id of the target security group when security groups are authorized across accounts. This parameter is invalid if `cidr_ip` has already been set.
665
687
  :param pulumi.Input[str] source_security_group_id: The target security group ID within the same region. If this field is specified, the `nic_type` can only select `intranet`.
666
- :param pulumi.Input[str] type: The type of rule being created. Valid options are `ingress` (inbound) or `egress` (outbound).
688
+ :param pulumi.Input[str] type: The type of the Security Group Rule. Valid values:
667
689
  """
668
690
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
669
691
 
@@ -697,6 +719,8 @@ class SecurityGroupRule(pulumi.CustomResource):
697
719
  def description(self) -> pulumi.Output[Optional[str]]:
698
720
  """
699
721
  The description of the security group rule. The description can be up to 1 to 512 characters in length. Defaults to null.
722
+
723
+ > **NOTE:** You must specify one of the following field: `cidr_ip`,`source_security_group_id`,`prefix_list_id`,`ipv6_cidr_ip`.
700
724
  """
701
725
  return pulumi.get(self, "description")
702
726
 
@@ -704,7 +728,7 @@ class SecurityGroupRule(pulumi.CustomResource):
704
728
  @pulumi.getter(name="ipProtocol")
705
729
  def ip_protocol(self) -> pulumi.Output[str]:
706
730
  """
707
- The protocol. Can be `tcp`, `udp`, `icmp`, `gre` or `all`.
731
+ The transport layer protocol of the Security Group Rule. Valid values: `tcp`, `udp`, `icmp`, `gre`, `all`.
708
732
  """
709
733
  return pulumi.get(self, "ip_protocol")
710
734
 
@@ -713,8 +737,6 @@ class SecurityGroupRule(pulumi.CustomResource):
713
737
  def ipv6_cidr_ip(self) -> pulumi.Output[Optional[str]]:
714
738
  """
715
739
  Source IPv6 CIDR address block that requires access. Supports IP address ranges in CIDR format and IPv6 format. **NOTE:** This parameter cannot be set at the same time as the `cidr_ip` parameter.
716
-
717
- > **NOTE:** You must specify one of the following field: `cidr_ip`,`source_security_group_id`,`prefix_list_id`,`ipv6_cidr_ip`.
718
740
  """
719
741
  return pulumi.get(self, "ipv6_cidr_ip")
720
742
 
@@ -730,7 +752,7 @@ class SecurityGroupRule(pulumi.CustomResource):
730
752
  @pulumi.getter
731
753
  def policy(self) -> pulumi.Output[Optional[str]]:
732
754
  """
733
- Authorization policy, can be either `accept` or `drop`, the default value is `accept`.
755
+ The action of the Security Group Rule that determines whether to allow inbound access. Default value: `accept`. Valid values: `accept`, `drop`.
734
756
  """
735
757
  return pulumi.get(self, "policy")
736
758
 
@@ -755,7 +777,7 @@ class SecurityGroupRule(pulumi.CustomResource):
755
777
  @pulumi.getter
756
778
  def priority(self) -> pulumi.Output[Optional[int]]:
757
779
  """
758
- Authorization policy priority, with parameter values: `1-100`, default value: 1.
780
+ The priority of the Security Group Rule. Default value: `1`. Valid values: `1` to `100`.
759
781
  """
760
782
  return pulumi.get(self, "priority")
761
783
 
@@ -763,7 +785,7 @@ class SecurityGroupRule(pulumi.CustomResource):
763
785
  @pulumi.getter(name="securityGroupId")
764
786
  def security_group_id(self) -> pulumi.Output[str]:
765
787
  """
766
- The security group to apply this rule to.
788
+ The ID of the Security Group.
767
789
  """
768
790
  return pulumi.get(self, "security_group_id")
769
791
 
@@ -787,7 +809,7 @@ class SecurityGroupRule(pulumi.CustomResource):
787
809
  @pulumi.getter
788
810
  def type(self) -> pulumi.Output[str]:
789
811
  """
790
- The type of rule being created. Valid options are `ingress` (inbound) or `egress` (outbound).
812
+ The type of the Security Group Rule. Valid values:
791
813
  """
792
814
  return pulumi.get(self, "type")
793
815
 
@@ -27,6 +27,7 @@ __all__ = [
27
27
  'ScalingConfigurationInstancePatternInfoArgs',
28
28
  'ScalingConfigurationInstanceTypeOverrideArgs',
29
29
  'ScalingConfigurationSpotPriceLimitArgs',
30
+ 'ScalingGroupAlbServerGroupArgs',
30
31
  'ScalingGroupLaunchTemplateOverrideArgs',
31
32
  'ScalingGroupVServerGroupsVserverGroupArgs',
32
33
  'ScalingGroupVServerGroupsVserverGroupVserverAttributeArgs',
@@ -1903,6 +1904,61 @@ class ScalingConfigurationSpotPriceLimitArgs:
1903
1904
  pulumi.set(self, "price_limit", value)
1904
1905
 
1905
1906
 
1907
+ @pulumi.input_type
1908
+ class ScalingGroupAlbServerGroupArgs:
1909
+ def __init__(__self__, *,
1910
+ alb_server_group_id: Optional[pulumi.Input[str]] = None,
1911
+ port: Optional[pulumi.Input[int]] = None,
1912
+ weight: Optional[pulumi.Input[int]] = None):
1913
+ """
1914
+ :param pulumi.Input[str] alb_server_group_id: The ID of ALB server group.
1915
+ :param pulumi.Input[int] port: The port number used by an ECS instance after Auto Scaling adds the ECS instance to ALB server group.
1916
+ :param pulumi.Input[int] weight: The weight of the ECS instance as a backend server after Auto Scaling adds the ECS instance to ALB server group.
1917
+ """
1918
+ if alb_server_group_id is not None:
1919
+ pulumi.set(__self__, "alb_server_group_id", alb_server_group_id)
1920
+ if port is not None:
1921
+ pulumi.set(__self__, "port", port)
1922
+ if weight is not None:
1923
+ pulumi.set(__self__, "weight", weight)
1924
+
1925
+ @property
1926
+ @pulumi.getter(name="albServerGroupId")
1927
+ def alb_server_group_id(self) -> Optional[pulumi.Input[str]]:
1928
+ """
1929
+ The ID of ALB server group.
1930
+ """
1931
+ return pulumi.get(self, "alb_server_group_id")
1932
+
1933
+ @alb_server_group_id.setter
1934
+ def alb_server_group_id(self, value: Optional[pulumi.Input[str]]):
1935
+ pulumi.set(self, "alb_server_group_id", value)
1936
+
1937
+ @property
1938
+ @pulumi.getter
1939
+ def port(self) -> Optional[pulumi.Input[int]]:
1940
+ """
1941
+ The port number used by an ECS instance after Auto Scaling adds the ECS instance to ALB server group.
1942
+ """
1943
+ return pulumi.get(self, "port")
1944
+
1945
+ @port.setter
1946
+ def port(self, value: Optional[pulumi.Input[int]]):
1947
+ pulumi.set(self, "port", value)
1948
+
1949
+ @property
1950
+ @pulumi.getter
1951
+ def weight(self) -> Optional[pulumi.Input[int]]:
1952
+ """
1953
+ The weight of the ECS instance as a backend server after Auto Scaling adds the ECS instance to ALB server group.
1954
+ """
1955
+ return pulumi.get(self, "weight")
1956
+
1957
+ @weight.setter
1958
+ def weight(self, value: Optional[pulumi.Input[int]]):
1959
+ pulumi.set(self, "weight", value)
1960
+
1961
+
1906
1962
  @pulumi.input_type
1907
1963
  class ScalingGroupLaunchTemplateOverrideArgs:
1908
1964
  def __init__(__self__, *,
@@ -28,6 +28,7 @@ __all__ = [
28
28
  'ScalingConfigurationInstancePatternInfo',
29
29
  'ScalingConfigurationInstanceTypeOverride',
30
30
  'ScalingConfigurationSpotPriceLimit',
31
+ 'ScalingGroupAlbServerGroup',
31
32
  'ScalingGroupLaunchTemplateOverride',
32
33
  'ScalingGroupVServerGroupsVserverGroup',
33
34
  'ScalingGroupVServerGroupsVserverGroupVserverAttribute',
@@ -1776,6 +1777,66 @@ class ScalingConfigurationSpotPriceLimit(dict):
1776
1777
  return pulumi.get(self, "price_limit")
1777
1778
 
1778
1779
 
1780
+ @pulumi.output_type
1781
+ class ScalingGroupAlbServerGroup(dict):
1782
+ @staticmethod
1783
+ def __key_warning(key: str):
1784
+ suggest = None
1785
+ if key == "albServerGroupId":
1786
+ suggest = "alb_server_group_id"
1787
+
1788
+ if suggest:
1789
+ pulumi.log.warn(f"Key '{key}' not found in ScalingGroupAlbServerGroup. Access the value via the '{suggest}' property getter instead.")
1790
+
1791
+ def __getitem__(self, key: str) -> Any:
1792
+ ScalingGroupAlbServerGroup.__key_warning(key)
1793
+ return super().__getitem__(key)
1794
+
1795
+ def get(self, key: str, default = None) -> Any:
1796
+ ScalingGroupAlbServerGroup.__key_warning(key)
1797
+ return super().get(key, default)
1798
+
1799
+ def __init__(__self__, *,
1800
+ alb_server_group_id: Optional[str] = None,
1801
+ port: Optional[int] = None,
1802
+ weight: Optional[int] = None):
1803
+ """
1804
+ :param str alb_server_group_id: The ID of ALB server group.
1805
+ :param int port: The port number used by an ECS instance after Auto Scaling adds the ECS instance to ALB server group.
1806
+ :param int weight: The weight of the ECS instance as a backend server after Auto Scaling adds the ECS instance to ALB server group.
1807
+ """
1808
+ if alb_server_group_id is not None:
1809
+ pulumi.set(__self__, "alb_server_group_id", alb_server_group_id)
1810
+ if port is not None:
1811
+ pulumi.set(__self__, "port", port)
1812
+ if weight is not None:
1813
+ pulumi.set(__self__, "weight", weight)
1814
+
1815
+ @property
1816
+ @pulumi.getter(name="albServerGroupId")
1817
+ def alb_server_group_id(self) -> Optional[str]:
1818
+ """
1819
+ The ID of ALB server group.
1820
+ """
1821
+ return pulumi.get(self, "alb_server_group_id")
1822
+
1823
+ @property
1824
+ @pulumi.getter
1825
+ def port(self) -> Optional[int]:
1826
+ """
1827
+ The port number used by an ECS instance after Auto Scaling adds the ECS instance to ALB server group.
1828
+ """
1829
+ return pulumi.get(self, "port")
1830
+
1831
+ @property
1832
+ @pulumi.getter
1833
+ def weight(self) -> Optional[int]:
1834
+ """
1835
+ The weight of the ECS instance as a backend server after Auto Scaling adds the ECS instance to ALB server group.
1836
+ """
1837
+ return pulumi.get(self, "weight")
1838
+
1839
+
1779
1840
  @pulumi.output_type
1780
1841
  class ScalingGroupLaunchTemplateOverride(dict):
1781
1842
  @staticmethod