pulumi-alicloud 3.73.0a1736850863__py3-none-any.whl → 3.74.0__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 (123) hide show
  1. pulumi_alicloud/__init__.py +139 -0
  2. pulumi_alicloud/alb/__init__.py +2 -0
  3. pulumi_alicloud/alb/_inputs.py +913 -250
  4. pulumi_alicloud/alb/a_script.py +116 -98
  5. pulumi_alicloud/alb/get_server_groups.py +55 -25
  6. pulumi_alicloud/alb/listener.py +269 -174
  7. pulumi_alicloud/alb/load_balancer.py +239 -118
  8. pulumi_alicloud/alb/load_balancer_access_log_config_attachment.py +303 -0
  9. pulumi_alicloud/alb/load_balancer_zone_shifted_attachment.py +303 -0
  10. pulumi_alicloud/alb/outputs.py +720 -222
  11. pulumi_alicloud/alb/server_group.py +532 -122
  12. pulumi_alicloud/alikafka/instance.py +188 -70
  13. pulumi_alicloud/amqp/instance.py +77 -28
  14. pulumi_alicloud/bastionhost/_inputs.py +40 -38
  15. pulumi_alicloud/bastionhost/get_instances.py +6 -22
  16. pulumi_alicloud/bastionhost/outputs.py +60 -49
  17. pulumi_alicloud/cen/_inputs.py +34 -0
  18. pulumi_alicloud/cen/instance_grant.py +4 -0
  19. pulumi_alicloud/cen/outputs.py +37 -0
  20. pulumi_alicloud/cen/transit_router_multicast_domain.py +123 -36
  21. pulumi_alicloud/cloudcontrol/__init__.py +12 -0
  22. pulumi_alicloud/cloudcontrol/get_prices.py +199 -0
  23. pulumi_alicloud/cloudcontrol/get_products.py +187 -0
  24. pulumi_alicloud/cloudcontrol/get_resource_types.py +178 -0
  25. pulumi_alicloud/cloudcontrol/outputs.py +688 -0
  26. pulumi_alicloud/cloudcontrol/resource.py +407 -0
  27. pulumi_alicloud/cms/_inputs.py +21 -15
  28. pulumi_alicloud/cms/alarm.py +7 -7
  29. pulumi_alicloud/cms/outputs.py +14 -10
  30. pulumi_alicloud/cs/_inputs.py +349 -1
  31. pulumi_alicloud/cs/get_edge_kubernetes_clusters.py +4 -2
  32. pulumi_alicloud/cs/get_managed_kubernetes_clusters.py +2 -0
  33. pulumi_alicloud/cs/kubernetes.py +29 -29
  34. pulumi_alicloud/cs/managed_kubernetes.py +137 -47
  35. pulumi_alicloud/cs/node_pool.py +77 -2
  36. pulumi_alicloud/cs/outputs.py +265 -1
  37. pulumi_alicloud/dataworks/__init__.py +4 -0
  38. pulumi_alicloud/dataworks/_inputs.py +1534 -0
  39. pulumi_alicloud/dataworks/di_alarm_rule.py +708 -0
  40. pulumi_alicloud/dataworks/di_job.py +1005 -0
  41. pulumi_alicloud/dataworks/dw_resource_group.py +703 -0
  42. pulumi_alicloud/dataworks/network.py +331 -0
  43. pulumi_alicloud/dataworks/outputs.py +1247 -0
  44. pulumi_alicloud/dcdn/waf_rule.py +14 -14
  45. pulumi_alicloud/dfs/file_system.py +62 -23
  46. pulumi_alicloud/dfs/mount_point.py +48 -22
  47. pulumi_alicloud/dns/get_alidns_domains.py +7 -2
  48. pulumi_alicloud/dns/outputs.py +8 -0
  49. pulumi_alicloud/ecs/ecs_launch_template.py +122 -0
  50. pulumi_alicloud/ecs/ecs_network_interface.py +14 -14
  51. pulumi_alicloud/ecs/ecs_session_manager_status.py +18 -18
  52. pulumi_alicloud/ecs/instance.py +7 -7
  53. pulumi_alicloud/ecs/launch_template.py +88 -0
  54. pulumi_alicloud/esa/__init__.py +3 -0
  55. pulumi_alicloud/esa/_inputs.py +81 -0
  56. pulumi_alicloud/esa/http_request_header_modification_rule.py +531 -0
  57. pulumi_alicloud/esa/list.py +361 -0
  58. pulumi_alicloud/esa/outputs.py +48 -0
  59. pulumi_alicloud/esa/page.py +376 -0
  60. pulumi_alicloud/esa/rate_plan_instance.py +63 -7
  61. pulumi_alicloud/ess/get_scaling_groups.py +64 -10
  62. pulumi_alicloud/ess/get_scaling_rules.py +74 -10
  63. pulumi_alicloud/ess/outputs.py +357 -17
  64. pulumi_alicloud/eventbridge/get_service.py +2 -6
  65. pulumi_alicloud/fc/_inputs.py +75 -75
  66. pulumi_alicloud/fc/custom_domain.py +2 -2
  67. pulumi_alicloud/fc/function.py +32 -4
  68. pulumi_alicloud/fc/outputs.py +50 -50
  69. pulumi_alicloud/fc/v2_function.py +20 -0
  70. pulumi_alicloud/fc/v3_function.py +53 -6
  71. pulumi_alicloud/hbr/__init__.py +1 -0
  72. pulumi_alicloud/hbr/cross_account.py +338 -0
  73. pulumi_alicloud/ims/oidc_provider.py +28 -0
  74. pulumi_alicloud/kms/__init__.py +1 -0
  75. pulumi_alicloud/kms/get_instances.py +160 -0
  76. pulumi_alicloud/kms/instance.py +0 -60
  77. pulumi_alicloud/kms/outputs.py +19 -0
  78. pulumi_alicloud/log/resource_record.py +42 -26
  79. pulumi_alicloud/maxcompute/__init__.py +5 -0
  80. pulumi_alicloud/maxcompute/_inputs.py +615 -42
  81. pulumi_alicloud/maxcompute/outputs.py +486 -28
  82. pulumi_alicloud/maxcompute/project.py +63 -31
  83. pulumi_alicloud/maxcompute/quota_plan.py +412 -0
  84. pulumi_alicloud/maxcompute/quota_schedule.py +260 -0
  85. pulumi_alicloud/maxcompute/role.py +423 -0
  86. pulumi_alicloud/maxcompute/role_user_attachment.py +368 -0
  87. pulumi_alicloud/maxcompute/tunnel_quota_timer.py +287 -0
  88. pulumi_alicloud/message/service_queue.py +106 -59
  89. pulumi_alicloud/message/service_topic.py +182 -37
  90. pulumi_alicloud/mongodb/account.py +138 -163
  91. pulumi_alicloud/oos/secret_parameter.py +84 -9
  92. pulumi_alicloud/oss/bucket.py +1 -1
  93. pulumi_alicloud/oss/bucket_policy.py +2 -4
  94. pulumi_alicloud/oss/bucket_referer.py +2 -4
  95. pulumi_alicloud/oss/get_buckets.py +16 -2
  96. pulumi_alicloud/oss/outputs.py +18 -17
  97. pulumi_alicloud/pulumi-plugin.json +1 -1
  98. pulumi_alicloud/rds/instance.py +68 -0
  99. pulumi_alicloud/sae/application.py +84 -7
  100. pulumi_alicloud/sls/collection_policy.py +2 -2
  101. pulumi_alicloud/vpc/__init__.py +6 -0
  102. pulumi_alicloud/vpc/get_ipam_ipam_pool_allocations.py +295 -0
  103. pulumi_alicloud/vpc/get_ipam_ipam_pool_cidrs.py +196 -0
  104. pulumi_alicloud/vpc/get_ipam_ipam_pools.py +353 -0
  105. pulumi_alicloud/vpc/get_ipam_ipam_scopes.py +333 -0
  106. pulumi_alicloud/vpc/get_ipam_ipams.py +291 -0
  107. pulumi_alicloud/vpc/get_networks.py +3 -0
  108. pulumi_alicloud/vpc/ipam_ipam_pool.py +47 -0
  109. pulumi_alicloud/vpc/ipam_ipam_scope.py +47 -0
  110. pulumi_alicloud/vpc/ipam_service.py +144 -0
  111. pulumi_alicloud/vpc/ipv4_cidr_block.py +162 -51
  112. pulumi_alicloud/vpc/nat_gateway.py +145 -7
  113. pulumi_alicloud/vpc/outputs.py +777 -0
  114. pulumi_alicloud/vpc/snat_entry.py +107 -48
  115. pulumi_alicloud/vpn/_inputs.py +96 -72
  116. pulumi_alicloud/vpn/connection.py +24 -28
  117. pulumi_alicloud/vpn/outputs.py +64 -48
  118. pulumi_alicloud/yundun/_inputs.py +26 -24
  119. pulumi_alicloud/yundun/outputs.py +37 -22
  120. {pulumi_alicloud-3.73.0a1736850863.dist-info → pulumi_alicloud-3.74.0.dist-info}/METADATA +1 -1
  121. {pulumi_alicloud-3.73.0a1736850863.dist-info → pulumi_alicloud-3.74.0.dist-info}/RECORD +123 -95
  122. {pulumi_alicloud-3.73.0a1736850863.dist-info → pulumi_alicloud-3.74.0.dist-info}/WHEEL +0 -0
  123. {pulumi_alicloud-3.73.0a1736850863.dist-info → pulumi_alicloud-3.74.0.dist-info}/top_level.txt +0 -0
@@ -19,77 +19,136 @@ __all__ = ['Ipv4CidrBlockArgs', 'Ipv4CidrBlock']
19
19
  @pulumi.input_type
20
20
  class Ipv4CidrBlockArgs:
21
21
  def __init__(__self__, *,
22
- secondary_cidr_block: pulumi.Input[str],
23
- vpc_id: pulumi.Input[str]):
22
+ vpc_id: pulumi.Input[str],
23
+ ipv4_ipam_pool_id: Optional[pulumi.Input[str]] = None,
24
+ secondary_cidr_block: Optional[pulumi.Input[str]] = None,
25
+ secondary_cidr_mask: Optional[pulumi.Input[int]] = None):
24
26
  """
25
27
  The set of arguments for constructing a Ipv4CidrBlock resource.
26
- :param pulumi.Input[str] secondary_cidr_block: The IPv4 CIDR block. Take note of the following requirements:
27
- * You can specify one of the following standard IPv4 CIDR blocks or their subnets as the secondary IPv4 CIDR block: 192.168.0.0/16, 172.16.0.0/12, and 10.0.0.0/8.
28
- * You can also use a custom CIDR block other than 100.64.0.0/10, 224.0.0.0/4, 127.0.0.0/8, 169.254.0.0/16, or their subnets as the secondary IPv4 CIDR block of the VPC.
29
- * The CIDR block cannot start with 0. The subnet mask must be 8 to 28 bits in length.
30
- * The secondary CIDR block cannot overlap with the primary CIDR block or an existing secondary CIDR block.
31
28
  :param pulumi.Input[str] vpc_id: The ID of the VPC.
29
+ :param pulumi.Input[str] ipv4_ipam_pool_id: The ID of the IP Address Manager (IPAM) pool that contains IPv4 addresses.
30
+ :param pulumi.Input[str] secondary_cidr_block: Additional network segment information.
31
+ :param pulumi.Input[int] secondary_cidr_mask: Add an additional CIDR block from the IPAM address pool to the VPC by entering a mask.
32
+
33
+ > **NOTE:** Specify the IPAM address pool to add an additional CIDR block to the VPC. Enter at least one of the SecondaryCidrBlock or SecondaryCidrMask parameters.
32
34
  """
33
- pulumi.set(__self__, "secondary_cidr_block", secondary_cidr_block)
34
35
  pulumi.set(__self__, "vpc_id", vpc_id)
36
+ if ipv4_ipam_pool_id is not None:
37
+ pulumi.set(__self__, "ipv4_ipam_pool_id", ipv4_ipam_pool_id)
38
+ if secondary_cidr_block is not None:
39
+ pulumi.set(__self__, "secondary_cidr_block", secondary_cidr_block)
40
+ if secondary_cidr_mask is not None:
41
+ pulumi.set(__self__, "secondary_cidr_mask", secondary_cidr_mask)
42
+
43
+ @property
44
+ @pulumi.getter(name="vpcId")
45
+ def vpc_id(self) -> pulumi.Input[str]:
46
+ """
47
+ The ID of the VPC.
48
+ """
49
+ return pulumi.get(self, "vpc_id")
50
+
51
+ @vpc_id.setter
52
+ def vpc_id(self, value: pulumi.Input[str]):
53
+ pulumi.set(self, "vpc_id", value)
54
+
55
+ @property
56
+ @pulumi.getter(name="ipv4IpamPoolId")
57
+ def ipv4_ipam_pool_id(self) -> Optional[pulumi.Input[str]]:
58
+ """
59
+ The ID of the IP Address Manager (IPAM) pool that contains IPv4 addresses.
60
+ """
61
+ return pulumi.get(self, "ipv4_ipam_pool_id")
62
+
63
+ @ipv4_ipam_pool_id.setter
64
+ def ipv4_ipam_pool_id(self, value: Optional[pulumi.Input[str]]):
65
+ pulumi.set(self, "ipv4_ipam_pool_id", value)
35
66
 
36
67
  @property
37
68
  @pulumi.getter(name="secondaryCidrBlock")
38
- def secondary_cidr_block(self) -> pulumi.Input[str]:
69
+ def secondary_cidr_block(self) -> Optional[pulumi.Input[str]]:
39
70
  """
40
- The IPv4 CIDR block. Take note of the following requirements:
41
- * You can specify one of the following standard IPv4 CIDR blocks or their subnets as the secondary IPv4 CIDR block: 192.168.0.0/16, 172.16.0.0/12, and 10.0.0.0/8.
42
- * You can also use a custom CIDR block other than 100.64.0.0/10, 224.0.0.0/4, 127.0.0.0/8, 169.254.0.0/16, or their subnets as the secondary IPv4 CIDR block of the VPC.
43
- * The CIDR block cannot start with 0. The subnet mask must be 8 to 28 bits in length.
44
- * The secondary CIDR block cannot overlap with the primary CIDR block or an existing secondary CIDR block.
71
+ Additional network segment information.
45
72
  """
46
73
  return pulumi.get(self, "secondary_cidr_block")
47
74
 
48
75
  @secondary_cidr_block.setter
49
- def secondary_cidr_block(self, value: pulumi.Input[str]):
76
+ def secondary_cidr_block(self, value: Optional[pulumi.Input[str]]):
50
77
  pulumi.set(self, "secondary_cidr_block", value)
51
78
 
52
79
  @property
53
- @pulumi.getter(name="vpcId")
54
- def vpc_id(self) -> pulumi.Input[str]:
80
+ @pulumi.getter(name="secondaryCidrMask")
81
+ def secondary_cidr_mask(self) -> Optional[pulumi.Input[int]]:
55
82
  """
56
- The ID of the VPC.
83
+ Add an additional CIDR block from the IPAM address pool to the VPC by entering a mask.
84
+
85
+ > **NOTE:** Specify the IPAM address pool to add an additional CIDR block to the VPC. Enter at least one of the SecondaryCidrBlock or SecondaryCidrMask parameters.
57
86
  """
58
- return pulumi.get(self, "vpc_id")
87
+ return pulumi.get(self, "secondary_cidr_mask")
59
88
 
60
- @vpc_id.setter
61
- def vpc_id(self, value: pulumi.Input[str]):
62
- pulumi.set(self, "vpc_id", value)
89
+ @secondary_cidr_mask.setter
90
+ def secondary_cidr_mask(self, value: Optional[pulumi.Input[int]]):
91
+ pulumi.set(self, "secondary_cidr_mask", value)
63
92
 
64
93
 
65
94
  @pulumi.input_type
66
95
  class _Ipv4CidrBlockState:
67
96
  def __init__(__self__, *,
97
+ ipv4_ipam_pool_id: Optional[pulumi.Input[str]] = None,
98
+ region_id: Optional[pulumi.Input[str]] = None,
68
99
  secondary_cidr_block: Optional[pulumi.Input[str]] = None,
100
+ secondary_cidr_mask: Optional[pulumi.Input[int]] = None,
69
101
  vpc_id: Optional[pulumi.Input[str]] = None):
70
102
  """
71
103
  Input properties used for looking up and filtering Ipv4CidrBlock resources.
72
- :param pulumi.Input[str] secondary_cidr_block: The IPv4 CIDR block. Take note of the following requirements:
73
- * You can specify one of the following standard IPv4 CIDR blocks or their subnets as the secondary IPv4 CIDR block: 192.168.0.0/16, 172.16.0.0/12, and 10.0.0.0/8.
74
- * You can also use a custom CIDR block other than 100.64.0.0/10, 224.0.0.0/4, 127.0.0.0/8, 169.254.0.0/16, or their subnets as the secondary IPv4 CIDR block of the VPC.
75
- * The CIDR block cannot start with 0. The subnet mask must be 8 to 28 bits in length.
76
- * The secondary CIDR block cannot overlap with the primary CIDR block or an existing secondary CIDR block.
104
+ :param pulumi.Input[str] ipv4_ipam_pool_id: The ID of the IP Address Manager (IPAM) pool that contains IPv4 addresses.
105
+ :param pulumi.Input[str] region_id: The ID of the region where the VPC resides.
106
+ :param pulumi.Input[str] secondary_cidr_block: Additional network segment information.
107
+ :param pulumi.Input[int] secondary_cidr_mask: Add an additional CIDR block from the IPAM address pool to the VPC by entering a mask.
108
+
109
+ > **NOTE:** Specify the IPAM address pool to add an additional CIDR block to the VPC. Enter at least one of the SecondaryCidrBlock or SecondaryCidrMask parameters.
77
110
  :param pulumi.Input[str] vpc_id: The ID of the VPC.
78
111
  """
112
+ if ipv4_ipam_pool_id is not None:
113
+ pulumi.set(__self__, "ipv4_ipam_pool_id", ipv4_ipam_pool_id)
114
+ if region_id is not None:
115
+ pulumi.set(__self__, "region_id", region_id)
79
116
  if secondary_cidr_block is not None:
80
117
  pulumi.set(__self__, "secondary_cidr_block", secondary_cidr_block)
118
+ if secondary_cidr_mask is not None:
119
+ pulumi.set(__self__, "secondary_cidr_mask", secondary_cidr_mask)
81
120
  if vpc_id is not None:
82
121
  pulumi.set(__self__, "vpc_id", vpc_id)
83
122
 
123
+ @property
124
+ @pulumi.getter(name="ipv4IpamPoolId")
125
+ def ipv4_ipam_pool_id(self) -> Optional[pulumi.Input[str]]:
126
+ """
127
+ The ID of the IP Address Manager (IPAM) pool that contains IPv4 addresses.
128
+ """
129
+ return pulumi.get(self, "ipv4_ipam_pool_id")
130
+
131
+ @ipv4_ipam_pool_id.setter
132
+ def ipv4_ipam_pool_id(self, value: Optional[pulumi.Input[str]]):
133
+ pulumi.set(self, "ipv4_ipam_pool_id", value)
134
+
135
+ @property
136
+ @pulumi.getter(name="regionId")
137
+ def region_id(self) -> Optional[pulumi.Input[str]]:
138
+ """
139
+ The ID of the region where the VPC resides.
140
+ """
141
+ return pulumi.get(self, "region_id")
142
+
143
+ @region_id.setter
144
+ def region_id(self, value: Optional[pulumi.Input[str]]):
145
+ pulumi.set(self, "region_id", value)
146
+
84
147
  @property
85
148
  @pulumi.getter(name="secondaryCidrBlock")
86
149
  def secondary_cidr_block(self) -> Optional[pulumi.Input[str]]:
87
150
  """
88
- The IPv4 CIDR block. Take note of the following requirements:
89
- * You can specify one of the following standard IPv4 CIDR blocks or their subnets as the secondary IPv4 CIDR block: 192.168.0.0/16, 172.16.0.0/12, and 10.0.0.0/8.
90
- * You can also use a custom CIDR block other than 100.64.0.0/10, 224.0.0.0/4, 127.0.0.0/8, 169.254.0.0/16, or their subnets as the secondary IPv4 CIDR block of the VPC.
91
- * The CIDR block cannot start with 0. The subnet mask must be 8 to 28 bits in length.
92
- * The secondary CIDR block cannot overlap with the primary CIDR block or an existing secondary CIDR block.
151
+ Additional network segment information.
93
152
  """
94
153
  return pulumi.get(self, "secondary_cidr_block")
95
154
 
@@ -97,6 +156,20 @@ class _Ipv4CidrBlockState:
97
156
  def secondary_cidr_block(self, value: Optional[pulumi.Input[str]]):
98
157
  pulumi.set(self, "secondary_cidr_block", value)
99
158
 
159
+ @property
160
+ @pulumi.getter(name="secondaryCidrMask")
161
+ def secondary_cidr_mask(self) -> Optional[pulumi.Input[int]]:
162
+ """
163
+ Add an additional CIDR block from the IPAM address pool to the VPC by entering a mask.
164
+
165
+ > **NOTE:** Specify the IPAM address pool to add an additional CIDR block to the VPC. Enter at least one of the SecondaryCidrBlock or SecondaryCidrMask parameters.
166
+ """
167
+ return pulumi.get(self, "secondary_cidr_mask")
168
+
169
+ @secondary_cidr_mask.setter
170
+ def secondary_cidr_mask(self, value: Optional[pulumi.Input[int]]):
171
+ pulumi.set(self, "secondary_cidr_mask", value)
172
+
100
173
  @property
101
174
  @pulumi.getter(name="vpcId")
102
175
  def vpc_id(self) -> Optional[pulumi.Input[str]]:
@@ -115,11 +188,15 @@ class Ipv4CidrBlock(pulumi.CustomResource):
115
188
  def __init__(__self__,
116
189
  resource_name: str,
117
190
  opts: Optional[pulumi.ResourceOptions] = None,
191
+ ipv4_ipam_pool_id: Optional[pulumi.Input[str]] = None,
118
192
  secondary_cidr_block: Optional[pulumi.Input[str]] = None,
193
+ secondary_cidr_mask: Optional[pulumi.Input[int]] = None,
119
194
  vpc_id: Optional[pulumi.Input[str]] = None,
120
195
  __props__=None):
121
196
  """
122
- Provides a VPC Ipv4 Cidr Block resource. VPC IPv4 additional network segment.
197
+ Provides a VPC Ipv4 Cidr Block resource.
198
+
199
+ VPC IPv4 additional network segment.
123
200
 
124
201
  For information about VPC Ipv4 Cidr Block and how to use it, see [What is Ipv4 Cidr Block](https://www.alibabacloud.com/help/en/virtual-private-cloud/latest/associatevpccidrblock).
125
202
 
@@ -153,11 +230,11 @@ class Ipv4CidrBlock(pulumi.CustomResource):
153
230
 
154
231
  :param str resource_name: The name of the resource.
155
232
  :param pulumi.ResourceOptions opts: Options for the resource.
156
- :param pulumi.Input[str] secondary_cidr_block: The IPv4 CIDR block. Take note of the following requirements:
157
- * You can specify one of the following standard IPv4 CIDR blocks or their subnets as the secondary IPv4 CIDR block: 192.168.0.0/16, 172.16.0.0/12, and 10.0.0.0/8.
158
- * You can also use a custom CIDR block other than 100.64.0.0/10, 224.0.0.0/4, 127.0.0.0/8, 169.254.0.0/16, or their subnets as the secondary IPv4 CIDR block of the VPC.
159
- * The CIDR block cannot start with 0. The subnet mask must be 8 to 28 bits in length.
160
- * The secondary CIDR block cannot overlap with the primary CIDR block or an existing secondary CIDR block.
233
+ :param pulumi.Input[str] ipv4_ipam_pool_id: The ID of the IP Address Manager (IPAM) pool that contains IPv4 addresses.
234
+ :param pulumi.Input[str] secondary_cidr_block: Additional network segment information.
235
+ :param pulumi.Input[int] secondary_cidr_mask: Add an additional CIDR block from the IPAM address pool to the VPC by entering a mask.
236
+
237
+ > **NOTE:** Specify the IPAM address pool to add an additional CIDR block to the VPC. Enter at least one of the SecondaryCidrBlock or SecondaryCidrMask parameters.
161
238
  :param pulumi.Input[str] vpc_id: The ID of the VPC.
162
239
  """
163
240
  ...
@@ -167,7 +244,9 @@ class Ipv4CidrBlock(pulumi.CustomResource):
167
244
  args: Ipv4CidrBlockArgs,
168
245
  opts: Optional[pulumi.ResourceOptions] = None):
169
246
  """
170
- Provides a VPC Ipv4 Cidr Block resource. VPC IPv4 additional network segment.
247
+ Provides a VPC Ipv4 Cidr Block resource.
248
+
249
+ VPC IPv4 additional network segment.
171
250
 
172
251
  For information about VPC Ipv4 Cidr Block and how to use it, see [What is Ipv4 Cidr Block](https://www.alibabacloud.com/help/en/virtual-private-cloud/latest/associatevpccidrblock).
173
252
 
@@ -214,7 +293,9 @@ class Ipv4CidrBlock(pulumi.CustomResource):
214
293
  def _internal_init(__self__,
215
294
  resource_name: str,
216
295
  opts: Optional[pulumi.ResourceOptions] = None,
296
+ ipv4_ipam_pool_id: Optional[pulumi.Input[str]] = None,
217
297
  secondary_cidr_block: Optional[pulumi.Input[str]] = None,
298
+ secondary_cidr_mask: Optional[pulumi.Input[int]] = None,
218
299
  vpc_id: Optional[pulumi.Input[str]] = None,
219
300
  __props__=None):
220
301
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
@@ -225,12 +306,13 @@ class Ipv4CidrBlock(pulumi.CustomResource):
225
306
  raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
226
307
  __props__ = Ipv4CidrBlockArgs.__new__(Ipv4CidrBlockArgs)
227
308
 
228
- if secondary_cidr_block is None and not opts.urn:
229
- raise TypeError("Missing required property 'secondary_cidr_block'")
309
+ __props__.__dict__["ipv4_ipam_pool_id"] = ipv4_ipam_pool_id
230
310
  __props__.__dict__["secondary_cidr_block"] = secondary_cidr_block
311
+ __props__.__dict__["secondary_cidr_mask"] = secondary_cidr_mask
231
312
  if vpc_id is None and not opts.urn:
232
313
  raise TypeError("Missing required property 'vpc_id'")
233
314
  __props__.__dict__["vpc_id"] = vpc_id
315
+ __props__.__dict__["region_id"] = None
234
316
  super(Ipv4CidrBlock, __self__).__init__(
235
317
  'alicloud:vpc/ipv4CidrBlock:Ipv4CidrBlock',
236
318
  resource_name,
@@ -241,7 +323,10 @@ class Ipv4CidrBlock(pulumi.CustomResource):
241
323
  def get(resource_name: str,
242
324
  id: pulumi.Input[str],
243
325
  opts: Optional[pulumi.ResourceOptions] = None,
326
+ ipv4_ipam_pool_id: Optional[pulumi.Input[str]] = None,
327
+ region_id: Optional[pulumi.Input[str]] = None,
244
328
  secondary_cidr_block: Optional[pulumi.Input[str]] = None,
329
+ secondary_cidr_mask: Optional[pulumi.Input[int]] = None,
245
330
  vpc_id: Optional[pulumi.Input[str]] = None) -> 'Ipv4CidrBlock':
246
331
  """
247
332
  Get an existing Ipv4CidrBlock resource's state with the given name, id, and optional extra
@@ -250,33 +335,59 @@ class Ipv4CidrBlock(pulumi.CustomResource):
250
335
  :param str resource_name: The unique name of the resulting resource.
251
336
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
252
337
  :param pulumi.ResourceOptions opts: Options for the resource.
253
- :param pulumi.Input[str] secondary_cidr_block: The IPv4 CIDR block. Take note of the following requirements:
254
- * You can specify one of the following standard IPv4 CIDR blocks or their subnets as the secondary IPv4 CIDR block: 192.168.0.0/16, 172.16.0.0/12, and 10.0.0.0/8.
255
- * You can also use a custom CIDR block other than 100.64.0.0/10, 224.0.0.0/4, 127.0.0.0/8, 169.254.0.0/16, or their subnets as the secondary IPv4 CIDR block of the VPC.
256
- * The CIDR block cannot start with 0. The subnet mask must be 8 to 28 bits in length.
257
- * The secondary CIDR block cannot overlap with the primary CIDR block or an existing secondary CIDR block.
338
+ :param pulumi.Input[str] ipv4_ipam_pool_id: The ID of the IP Address Manager (IPAM) pool that contains IPv4 addresses.
339
+ :param pulumi.Input[str] region_id: The ID of the region where the VPC resides.
340
+ :param pulumi.Input[str] secondary_cidr_block: Additional network segment information.
341
+ :param pulumi.Input[int] secondary_cidr_mask: Add an additional CIDR block from the IPAM address pool to the VPC by entering a mask.
342
+
343
+ > **NOTE:** Specify the IPAM address pool to add an additional CIDR block to the VPC. Enter at least one of the SecondaryCidrBlock or SecondaryCidrMask parameters.
258
344
  :param pulumi.Input[str] vpc_id: The ID of the VPC.
259
345
  """
260
346
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
261
347
 
262
348
  __props__ = _Ipv4CidrBlockState.__new__(_Ipv4CidrBlockState)
263
349
 
350
+ __props__.__dict__["ipv4_ipam_pool_id"] = ipv4_ipam_pool_id
351
+ __props__.__dict__["region_id"] = region_id
264
352
  __props__.__dict__["secondary_cidr_block"] = secondary_cidr_block
353
+ __props__.__dict__["secondary_cidr_mask"] = secondary_cidr_mask
265
354
  __props__.__dict__["vpc_id"] = vpc_id
266
355
  return Ipv4CidrBlock(resource_name, opts=opts, __props__=__props__)
267
356
 
357
+ @property
358
+ @pulumi.getter(name="ipv4IpamPoolId")
359
+ def ipv4_ipam_pool_id(self) -> pulumi.Output[Optional[str]]:
360
+ """
361
+ The ID of the IP Address Manager (IPAM) pool that contains IPv4 addresses.
362
+ """
363
+ return pulumi.get(self, "ipv4_ipam_pool_id")
364
+
365
+ @property
366
+ @pulumi.getter(name="regionId")
367
+ def region_id(self) -> pulumi.Output[str]:
368
+ """
369
+ The ID of the region where the VPC resides.
370
+ """
371
+ return pulumi.get(self, "region_id")
372
+
268
373
  @property
269
374
  @pulumi.getter(name="secondaryCidrBlock")
270
375
  def secondary_cidr_block(self) -> pulumi.Output[str]:
271
376
  """
272
- The IPv4 CIDR block. Take note of the following requirements:
273
- * You can specify one of the following standard IPv4 CIDR blocks or their subnets as the secondary IPv4 CIDR block: 192.168.0.0/16, 172.16.0.0/12, and 10.0.0.0/8.
274
- * You can also use a custom CIDR block other than 100.64.0.0/10, 224.0.0.0/4, 127.0.0.0/8, 169.254.0.0/16, or their subnets as the secondary IPv4 CIDR block of the VPC.
275
- * The CIDR block cannot start with 0. The subnet mask must be 8 to 28 bits in length.
276
- * The secondary CIDR block cannot overlap with the primary CIDR block or an existing secondary CIDR block.
377
+ Additional network segment information.
277
378
  """
278
379
  return pulumi.get(self, "secondary_cidr_block")
279
380
 
381
+ @property
382
+ @pulumi.getter(name="secondaryCidrMask")
383
+ def secondary_cidr_mask(self) -> pulumi.Output[Optional[int]]:
384
+ """
385
+ Add an additional CIDR block from the IPAM address pool to the VPC by entering a mask.
386
+
387
+ > **NOTE:** Specify the IPAM address pool to add an additional CIDR block to the VPC. Enter at least one of the SecondaryCidrBlock or SecondaryCidrMask parameters.
388
+ """
389
+ return pulumi.get(self, "secondary_cidr_mask")
390
+
280
391
  @property
281
392
  @pulumi.getter(name="vpcId")
282
393
  def vpc_id(self) -> pulumi.Output[str]:
@@ -61,7 +61,7 @@ class NatGatewayArgs:
61
61
  :param pulumi.Input[str] nat_gateway_name: Name of the nat gateway. The value can have a string of 2 to 128 characters, must contain only alphanumeric characters or hyphens, such as "-",".","_", and must not begin or end with a hyphen, and must not begin with http:// or https://. Defaults to null.
62
62
  :param pulumi.Input[str] nat_type: The type of NAT gateway. Valid values: `Enhanced`. **NOTE:** From version 1.137.0, `nat_type` cannot be set to `Normal`.
63
63
  :param pulumi.Input[str] network_type: Indicates the type of the created NAT gateway. Valid values `internet` and `intranet`. `internet`: Internet NAT Gateway. `intranet`: VPC NAT Gateway.
64
- :param pulumi.Input[str] payment_type: The billing method of the NAT gateway. Valid values are `PayAsYouGo` and `Subscription`. Default to `PayAsYouGo`.
64
+ :param pulumi.Input[str] payment_type: The billing method of the NAT gateway. Valid values are `PayAsYouGo`. Default to `PayAsYouGo`.
65
65
  :param pulumi.Input[int] period: The duration that you will buy the resource, in month. It is valid when `payment_type` is `Subscription`. Valid values: [1-9, 12, 24, 36]. At present, the provider does not support modify "period" and you can do that via web console. **NOTE:** International station only supports `Subscription`.
66
66
  > **NOTE:** The attribute `period` is only used to create Subscription instance or modify the PayAsYouGo instance to Subscription. Once effect, it will not be modified that means running `pulumi up` will not effect the resource.
67
67
  :param pulumi.Input[bool] private_link_enabled: Specifies whether to enable PrivateLink. Default value: `false`. Valid values:
@@ -293,7 +293,7 @@ class NatGatewayArgs:
293
293
  @pulumi.getter(name="paymentType")
294
294
  def payment_type(self) -> Optional[pulumi.Input[str]]:
295
295
  """
296
- The billing method of the NAT gateway. Valid values are `PayAsYouGo` and `Subscription`. Default to `PayAsYouGo`.
296
+ The billing method of the NAT gateway. Valid values are `PayAsYouGo`. Default to `PayAsYouGo`.
297
297
  """
298
298
  return pulumi.get(self, "payment_type")
299
299
 
@@ -409,7 +409,7 @@ class _NatGatewayState:
409
409
  :param pulumi.Input[str] nat_gateway_name: Name of the nat gateway. The value can have a string of 2 to 128 characters, must contain only alphanumeric characters or hyphens, such as "-",".","_", and must not begin or end with a hyphen, and must not begin with http:// or https://. Defaults to null.
410
410
  :param pulumi.Input[str] nat_type: The type of NAT gateway. Valid values: `Enhanced`. **NOTE:** From version 1.137.0, `nat_type` cannot be set to `Normal`.
411
411
  :param pulumi.Input[str] network_type: Indicates the type of the created NAT gateway. Valid values `internet` and `intranet`. `internet`: Internet NAT Gateway. `intranet`: VPC NAT Gateway.
412
- :param pulumi.Input[str] payment_type: The billing method of the NAT gateway. Valid values are `PayAsYouGo` and `Subscription`. Default to `PayAsYouGo`.
412
+ :param pulumi.Input[str] payment_type: The billing method of the NAT gateway. Valid values are `PayAsYouGo`. Default to `PayAsYouGo`.
413
413
  :param pulumi.Input[int] period: The duration that you will buy the resource, in month. It is valid when `payment_type` is `Subscription`. Valid values: [1-9, 12, 24, 36]. At present, the provider does not support modify "period" and you can do that via web console. **NOTE:** International station only supports `Subscription`.
414
414
  > **NOTE:** The attribute `period` is only used to create Subscription instance or modify the PayAsYouGo instance to Subscription. Once effect, it will not be modified that means running `pulumi up` will not effect the resource.
415
415
  :param pulumi.Input[bool] private_link_enabled: Specifies whether to enable PrivateLink. Default value: `false`. Valid values:
@@ -651,7 +651,7 @@ class _NatGatewayState:
651
651
  @pulumi.getter(name="paymentType")
652
652
  def payment_type(self) -> Optional[pulumi.Input[str]]:
653
653
  """
654
- The billing method of the NAT gateway. Valid values are `PayAsYouGo` and `Subscription`. Default to `PayAsYouGo`.
654
+ The billing method of the NAT gateway. Valid values are `PayAsYouGo`. Default to `PayAsYouGo`.
655
655
  """
656
656
  return pulumi.get(self, "payment_type")
657
657
 
@@ -784,6 +784,75 @@ class NatGateway(pulumi.CustomResource):
784
784
  vswitch_id: Optional[pulumi.Input[str]] = None,
785
785
  __props__=None):
786
786
  """
787
+ Provides a resource to create a VPC NAT Gateway.
788
+
789
+ > **NOTE:** Resource bandwidth packages will not be supported since 00:00 on November 4, 2017, and public IP can be replaced be elastic IPs.
790
+ If a Nat Gateway has already bought some bandwidth packages, it can not bind elastic IP and you have to submit the [work order](https://selfservice.console.aliyun.com/ticket/createIndex) to solve.
791
+ If you want to add public IP, you can use resource 'alicloud_eip_association' to bind several elastic IPs for one Nat Gateway.
792
+
793
+ > **NOTE:** From version 1.7.1, this resource has deprecated bandwidth packages.
794
+ But, in order to manage stock bandwidth packages, version 1.13.0 re-support configuring 'bandwidth_packages'.
795
+
796
+ > **NOTE:** Available since v1.37.0.
797
+
798
+ ## Example Usage
799
+
800
+ Basic usage
801
+
802
+ - create enhanced nat gateway
803
+
804
+ ```python
805
+ import pulumi
806
+ import pulumi_alicloud as alicloud
807
+
808
+ config = pulumi.Config()
809
+ name = config.get("name")
810
+ if name is None:
811
+ name = "tf_example"
812
+ default = alicloud.vpc.get_enhanced_nat_available_zones()
813
+ default_network = alicloud.vpc.Network("default",
814
+ vpc_name=name,
815
+ cidr_block="10.0.0.0/8")
816
+ default_switch = alicloud.vpc.Switch("default",
817
+ vswitch_name=name,
818
+ zone_id=default.zones[0].zone_id,
819
+ cidr_block="10.10.0.0/20",
820
+ vpc_id=default_network.id)
821
+ default_nat_gateway = alicloud.vpc.NatGateway("default",
822
+ vpc_id=default_network.id,
823
+ nat_gateway_name=name,
824
+ payment_type="PayAsYouGo",
825
+ vswitch_id=default_switch.id,
826
+ nat_type="Enhanced")
827
+ ```
828
+
829
+ - transform nat from Normal to Enhanced
830
+ > **NOTE:** You must set `nat_type` to `Enhanced` and set `vswitch_id`.
831
+
832
+ ```python
833
+ import pulumi
834
+ import pulumi_alicloud as alicloud
835
+
836
+ config = pulumi.Config()
837
+ name = config.get("name")
838
+ if name is None:
839
+ name = "tf-example"
840
+ default = alicloud.vpc.get_enhanced_nat_available_zones()
841
+ default_network = alicloud.vpc.Network("default",
842
+ vpc_name=name,
843
+ cidr_block="10.0.0.0/8")
844
+ default_switch = alicloud.vpc.Switch("default",
845
+ vswitch_name=name,
846
+ zone_id=default.zones[0].zone_id,
847
+ cidr_block="10.10.0.0/20",
848
+ vpc_id=default_network.id)
849
+ default_nat_gateway = alicloud.vpc.NatGateway("default",
850
+ vpc_id=default_network.id,
851
+ nat_gateway_name=name,
852
+ vswitch_id=default_switch.id,
853
+ nat_type="Enhanced")
854
+ ```
855
+
787
856
  ## Import
788
857
 
789
858
  Nat gateway can be imported using the id, e.g.
@@ -811,7 +880,7 @@ class NatGateway(pulumi.CustomResource):
811
880
  :param pulumi.Input[str] nat_gateway_name: Name of the nat gateway. The value can have a string of 2 to 128 characters, must contain only alphanumeric characters or hyphens, such as "-",".","_", and must not begin or end with a hyphen, and must not begin with http:// or https://. Defaults to null.
812
881
  :param pulumi.Input[str] nat_type: The type of NAT gateway. Valid values: `Enhanced`. **NOTE:** From version 1.137.0, `nat_type` cannot be set to `Normal`.
813
882
  :param pulumi.Input[str] network_type: Indicates the type of the created NAT gateway. Valid values `internet` and `intranet`. `internet`: Internet NAT Gateway. `intranet`: VPC NAT Gateway.
814
- :param pulumi.Input[str] payment_type: The billing method of the NAT gateway. Valid values are `PayAsYouGo` and `Subscription`. Default to `PayAsYouGo`.
883
+ :param pulumi.Input[str] payment_type: The billing method of the NAT gateway. Valid values are `PayAsYouGo`. Default to `PayAsYouGo`.
815
884
  :param pulumi.Input[int] period: The duration that you will buy the resource, in month. It is valid when `payment_type` is `Subscription`. Valid values: [1-9, 12, 24, 36]. At present, the provider does not support modify "period" and you can do that via web console. **NOTE:** International station only supports `Subscription`.
816
885
  > **NOTE:** The attribute `period` is only used to create Subscription instance or modify the PayAsYouGo instance to Subscription. Once effect, it will not be modified that means running `pulumi up` will not effect the resource.
817
886
  :param pulumi.Input[bool] private_link_enabled: Specifies whether to enable PrivateLink. Default value: `false`. Valid values:
@@ -827,6 +896,75 @@ class NatGateway(pulumi.CustomResource):
827
896
  args: NatGatewayArgs,
828
897
  opts: Optional[pulumi.ResourceOptions] = None):
829
898
  """
899
+ Provides a resource to create a VPC NAT Gateway.
900
+
901
+ > **NOTE:** Resource bandwidth packages will not be supported since 00:00 on November 4, 2017, and public IP can be replaced be elastic IPs.
902
+ If a Nat Gateway has already bought some bandwidth packages, it can not bind elastic IP and you have to submit the [work order](https://selfservice.console.aliyun.com/ticket/createIndex) to solve.
903
+ If you want to add public IP, you can use resource 'alicloud_eip_association' to bind several elastic IPs for one Nat Gateway.
904
+
905
+ > **NOTE:** From version 1.7.1, this resource has deprecated bandwidth packages.
906
+ But, in order to manage stock bandwidth packages, version 1.13.0 re-support configuring 'bandwidth_packages'.
907
+
908
+ > **NOTE:** Available since v1.37.0.
909
+
910
+ ## Example Usage
911
+
912
+ Basic usage
913
+
914
+ - create enhanced nat gateway
915
+
916
+ ```python
917
+ import pulumi
918
+ import pulumi_alicloud as alicloud
919
+
920
+ config = pulumi.Config()
921
+ name = config.get("name")
922
+ if name is None:
923
+ name = "tf_example"
924
+ default = alicloud.vpc.get_enhanced_nat_available_zones()
925
+ default_network = alicloud.vpc.Network("default",
926
+ vpc_name=name,
927
+ cidr_block="10.0.0.0/8")
928
+ default_switch = alicloud.vpc.Switch("default",
929
+ vswitch_name=name,
930
+ zone_id=default.zones[0].zone_id,
931
+ cidr_block="10.10.0.0/20",
932
+ vpc_id=default_network.id)
933
+ default_nat_gateway = alicloud.vpc.NatGateway("default",
934
+ vpc_id=default_network.id,
935
+ nat_gateway_name=name,
936
+ payment_type="PayAsYouGo",
937
+ vswitch_id=default_switch.id,
938
+ nat_type="Enhanced")
939
+ ```
940
+
941
+ - transform nat from Normal to Enhanced
942
+ > **NOTE:** You must set `nat_type` to `Enhanced` and set `vswitch_id`.
943
+
944
+ ```python
945
+ import pulumi
946
+ import pulumi_alicloud as alicloud
947
+
948
+ config = pulumi.Config()
949
+ name = config.get("name")
950
+ if name is None:
951
+ name = "tf-example"
952
+ default = alicloud.vpc.get_enhanced_nat_available_zones()
953
+ default_network = alicloud.vpc.Network("default",
954
+ vpc_name=name,
955
+ cidr_block="10.0.0.0/8")
956
+ default_switch = alicloud.vpc.Switch("default",
957
+ vswitch_name=name,
958
+ zone_id=default.zones[0].zone_id,
959
+ cidr_block="10.10.0.0/20",
960
+ vpc_id=default_network.id)
961
+ default_nat_gateway = alicloud.vpc.NatGateway("default",
962
+ vpc_id=default_network.id,
963
+ nat_gateway_name=name,
964
+ vswitch_id=default_switch.id,
965
+ nat_type="Enhanced")
966
+ ```
967
+
830
968
  ## Import
831
969
 
832
970
  Nat gateway can be imported using the id, e.g.
@@ -962,7 +1100,7 @@ class NatGateway(pulumi.CustomResource):
962
1100
  :param pulumi.Input[str] nat_gateway_name: Name of the nat gateway. The value can have a string of 2 to 128 characters, must contain only alphanumeric characters or hyphens, such as "-",".","_", and must not begin or end with a hyphen, and must not begin with http:// or https://. Defaults to null.
963
1101
  :param pulumi.Input[str] nat_type: The type of NAT gateway. Valid values: `Enhanced`. **NOTE:** From version 1.137.0, `nat_type` cannot be set to `Normal`.
964
1102
  :param pulumi.Input[str] network_type: Indicates the type of the created NAT gateway. Valid values `internet` and `intranet`. `internet`: Internet NAT Gateway. `intranet`: VPC NAT Gateway.
965
- :param pulumi.Input[str] payment_type: The billing method of the NAT gateway. Valid values are `PayAsYouGo` and `Subscription`. Default to `PayAsYouGo`.
1103
+ :param pulumi.Input[str] payment_type: The billing method of the NAT gateway. Valid values are `PayAsYouGo`. Default to `PayAsYouGo`.
966
1104
  :param pulumi.Input[int] period: The duration that you will buy the resource, in month. It is valid when `payment_type` is `Subscription`. Valid values: [1-9, 12, 24, 36]. At present, the provider does not support modify "period" and you can do that via web console. **NOTE:** International station only supports `Subscription`.
967
1105
  > **NOTE:** The attribute `period` is only used to create Subscription instance or modify the PayAsYouGo instance to Subscription. Once effect, it will not be modified that means running `pulumi up` will not effect the resource.
968
1106
  :param pulumi.Input[bool] private_link_enabled: Specifies whether to enable PrivateLink. Default value: `false`. Valid values:
@@ -1124,7 +1262,7 @@ class NatGateway(pulumi.CustomResource):
1124
1262
  @pulumi.getter(name="paymentType")
1125
1263
  def payment_type(self) -> pulumi.Output[str]:
1126
1264
  """
1127
- The billing method of the NAT gateway. Valid values are `PayAsYouGo` and `Subscription`. Default to `PayAsYouGo`.
1265
+ The billing method of the NAT gateway. Valid values are `PayAsYouGo`. Default to `PayAsYouGo`.
1128
1266
  """
1129
1267
  return pulumi.get(self, "payment_type")
1130
1268