pulumi-oci 2.29.0a1744212348__py3-none-any.whl → 2.30.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.
pulumi_oci/core/ipv6.py CHANGED
@@ -20,28 +20,33 @@ __all__ = ['Ipv6Args', 'Ipv6']
20
20
  @pulumi.input_type
21
21
  class Ipv6Args:
22
22
  def __init__(__self__, *,
23
- vnic_id: pulumi.Input[builtins.str],
24
23
  defined_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
25
24
  display_name: Optional[pulumi.Input[builtins.str]] = None,
26
25
  freeform_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
27
26
  ip_address: Optional[pulumi.Input[builtins.str]] = None,
28
27
  ipv6subnet_cidr: Optional[pulumi.Input[builtins.str]] = None,
29
- route_table_id: Optional[pulumi.Input[builtins.str]] = None):
28
+ lifetime: Optional[pulumi.Input[builtins.str]] = None,
29
+ route_table_id: Optional[pulumi.Input[builtins.str]] = None,
30
+ subnet_id: Optional[pulumi.Input[builtins.str]] = None,
31
+ vnic_id: Optional[pulumi.Input[builtins.str]] = None):
30
32
  """
31
33
  The set of arguments for constructing a Ipv6 resource.
32
- :param pulumi.Input[builtins.str] vnic_id: (Updatable) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the VNIC to assign the IPv6 to. The IPv6 will be in the VNIC's subnet.
33
-
34
-
35
- ** IMPORTANT **
36
- Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values
37
34
  :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] defined_tags: (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Operations.CostCenter": "42"}`
38
35
  :param pulumi.Input[builtins.str] display_name: (Updatable) A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
39
36
  :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] freeform_tags: (Updatable) Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}`
40
37
  :param pulumi.Input[builtins.str] ip_address: An IPv6 address of your choice. Must be an available IP address within the subnet's CIDR. If you don't specify a value, Oracle automatically assigns an IPv6 address from the subnet. The subnet is the one that contains the VNIC you specify in `vnicId`. Example: `2001:DB8::`
41
38
  :param pulumi.Input[builtins.str] ipv6subnet_cidr: The IPv6 prefix allocated to the subnet. This is required if more than one IPv6 prefix exists on the subnet.
42
- :param pulumi.Input[builtins.str] route_table_id: (Updatable) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the route table the PrivateIp will use.
39
+ :param pulumi.Input[builtins.str] lifetime: (Updatable) Lifetime of the IP address. There are two types of IPv6 IPs:
40
+ * Ephemeral
41
+ * Reserved
42
+ :param pulumi.Input[builtins.str] route_table_id: (Updatable) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the route table the IP address or VNIC will use. For more information, see [Source Based Routing](https://docs.oracle.com/iaas/Content/Network/Tasks/managingroutetables.htm#Overview_of_Routing_for_Your_VCN__source_routing).
43
+ :param pulumi.Input[builtins.str] subnet_id: The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the subnet from which the IPv6 is to be drawn. The IP address, *if supplied*, must be valid for the given subnet, only valid for reserved IPs currently.
44
+ :param pulumi.Input[builtins.str] vnic_id: (Updatable) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the VNIC to assign the IPv6 to. The IPv6 will be in the VNIC's subnet.
45
+
46
+
47
+ ** IMPORTANT **
48
+ Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values
43
49
  """
44
- pulumi.set(__self__, "vnic_id", vnic_id)
45
50
  if defined_tags is not None:
46
51
  pulumi.set(__self__, "defined_tags", defined_tags)
47
52
  if display_name is not None:
@@ -52,24 +57,14 @@ class Ipv6Args:
52
57
  pulumi.set(__self__, "ip_address", ip_address)
53
58
  if ipv6subnet_cidr is not None:
54
59
  pulumi.set(__self__, "ipv6subnet_cidr", ipv6subnet_cidr)
60
+ if lifetime is not None:
61
+ pulumi.set(__self__, "lifetime", lifetime)
55
62
  if route_table_id is not None:
56
63
  pulumi.set(__self__, "route_table_id", route_table_id)
57
-
58
- @property
59
- @pulumi.getter(name="vnicId")
60
- def vnic_id(self) -> pulumi.Input[builtins.str]:
61
- """
62
- (Updatable) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the VNIC to assign the IPv6 to. The IPv6 will be in the VNIC's subnet.
63
-
64
-
65
- ** IMPORTANT **
66
- Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values
67
- """
68
- return pulumi.get(self, "vnic_id")
69
-
70
- @vnic_id.setter
71
- def vnic_id(self, value: pulumi.Input[builtins.str]):
72
- pulumi.set(self, "vnic_id", value)
64
+ if subnet_id is not None:
65
+ pulumi.set(__self__, "subnet_id", subnet_id)
66
+ if vnic_id is not None:
67
+ pulumi.set(__self__, "vnic_id", vnic_id)
73
68
 
74
69
  @property
75
70
  @pulumi.getter(name="definedTags")
@@ -131,11 +126,25 @@ class Ipv6Args:
131
126
  def ipv6subnet_cidr(self, value: Optional[pulumi.Input[builtins.str]]):
132
127
  pulumi.set(self, "ipv6subnet_cidr", value)
133
128
 
129
+ @property
130
+ @pulumi.getter
131
+ def lifetime(self) -> Optional[pulumi.Input[builtins.str]]:
132
+ """
133
+ (Updatable) Lifetime of the IP address. There are two types of IPv6 IPs:
134
+ * Ephemeral
135
+ * Reserved
136
+ """
137
+ return pulumi.get(self, "lifetime")
138
+
139
+ @lifetime.setter
140
+ def lifetime(self, value: Optional[pulumi.Input[builtins.str]]):
141
+ pulumi.set(self, "lifetime", value)
142
+
134
143
  @property
135
144
  @pulumi.getter(name="routeTableId")
136
145
  def route_table_id(self) -> Optional[pulumi.Input[builtins.str]]:
137
146
  """
138
- (Updatable) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the route table the PrivateIp will use.
147
+ (Updatable) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the route table the IP address or VNIC will use. For more information, see [Source Based Routing](https://docs.oracle.com/iaas/Content/Network/Tasks/managingroutetables.htm#Overview_of_Routing_for_Your_VCN__source_routing).
139
148
  """
140
149
  return pulumi.get(self, "route_table_id")
141
150
 
@@ -143,6 +152,34 @@ class Ipv6Args:
143
152
  def route_table_id(self, value: Optional[pulumi.Input[builtins.str]]):
144
153
  pulumi.set(self, "route_table_id", value)
145
154
 
155
+ @property
156
+ @pulumi.getter(name="subnetId")
157
+ def subnet_id(self) -> Optional[pulumi.Input[builtins.str]]:
158
+ """
159
+ The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the subnet from which the IPv6 is to be drawn. The IP address, *if supplied*, must be valid for the given subnet, only valid for reserved IPs currently.
160
+ """
161
+ return pulumi.get(self, "subnet_id")
162
+
163
+ @subnet_id.setter
164
+ def subnet_id(self, value: Optional[pulumi.Input[builtins.str]]):
165
+ pulumi.set(self, "subnet_id", value)
166
+
167
+ @property
168
+ @pulumi.getter(name="vnicId")
169
+ def vnic_id(self) -> Optional[pulumi.Input[builtins.str]]:
170
+ """
171
+ (Updatable) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the VNIC to assign the IPv6 to. The IPv6 will be in the VNIC's subnet.
172
+
173
+
174
+ ** IMPORTANT **
175
+ Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values
176
+ """
177
+ return pulumi.get(self, "vnic_id")
178
+
179
+ @vnic_id.setter
180
+ def vnic_id(self, value: Optional[pulumi.Input[builtins.str]]):
181
+ pulumi.set(self, "vnic_id", value)
182
+
146
183
 
147
184
  @pulumi.input_type
148
185
  class _Ipv6State:
@@ -152,7 +189,9 @@ class _Ipv6State:
152
189
  display_name: Optional[pulumi.Input[builtins.str]] = None,
153
190
  freeform_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
154
191
  ip_address: Optional[pulumi.Input[builtins.str]] = None,
192
+ ip_state: Optional[pulumi.Input[builtins.str]] = None,
155
193
  ipv6subnet_cidr: Optional[pulumi.Input[builtins.str]] = None,
194
+ lifetime: Optional[pulumi.Input[builtins.str]] = None,
156
195
  route_table_id: Optional[pulumi.Input[builtins.str]] = None,
157
196
  state: Optional[pulumi.Input[builtins.str]] = None,
158
197
  subnet_id: Optional[pulumi.Input[builtins.str]] = None,
@@ -165,10 +204,14 @@ class _Ipv6State:
165
204
  :param pulumi.Input[builtins.str] display_name: (Updatable) A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
166
205
  :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] freeform_tags: (Updatable) Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}`
167
206
  :param pulumi.Input[builtins.str] ip_address: An IPv6 address of your choice. Must be an available IP address within the subnet's CIDR. If you don't specify a value, Oracle automatically assigns an IPv6 address from the subnet. The subnet is the one that contains the VNIC you specify in `vnicId`. Example: `2001:DB8::`
207
+ :param pulumi.Input[builtins.str] ip_state: State of the IP address. If an IP address is assigned to a VNIC it is ASSIGNED, otherwise it is AVAILABLE.
168
208
  :param pulumi.Input[builtins.str] ipv6subnet_cidr: The IPv6 prefix allocated to the subnet. This is required if more than one IPv6 prefix exists on the subnet.
169
- :param pulumi.Input[builtins.str] route_table_id: (Updatable) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the route table the PrivateIp will use.
209
+ :param pulumi.Input[builtins.str] lifetime: (Updatable) Lifetime of the IP address. There are two types of IPv6 IPs:
210
+ * Ephemeral
211
+ * Reserved
212
+ :param pulumi.Input[builtins.str] route_table_id: (Updatable) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the route table the IP address or VNIC will use. For more information, see [Source Based Routing](https://docs.oracle.com/iaas/Content/Network/Tasks/managingroutetables.htm#Overview_of_Routing_for_Your_VCN__source_routing).
170
213
  :param pulumi.Input[builtins.str] state: The IPv6's current state.
171
- :param pulumi.Input[builtins.str] subnet_id: The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the subnet the VNIC is in.
214
+ :param pulumi.Input[builtins.str] subnet_id: The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the subnet from which the IPv6 is to be drawn. The IP address, *if supplied*, must be valid for the given subnet, only valid for reserved IPs currently.
172
215
  :param pulumi.Input[builtins.str] time_created: The date and time the IPv6 was created, in the format defined by [RFC3339](https://tools.ietf.org/html/rfc3339). Example: `2016-08-25T21:10:29.600Z`
173
216
  :param pulumi.Input[builtins.str] vnic_id: (Updatable) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the VNIC to assign the IPv6 to. The IPv6 will be in the VNIC's subnet.
174
217
 
@@ -186,8 +229,12 @@ class _Ipv6State:
186
229
  pulumi.set(__self__, "freeform_tags", freeform_tags)
187
230
  if ip_address is not None:
188
231
  pulumi.set(__self__, "ip_address", ip_address)
232
+ if ip_state is not None:
233
+ pulumi.set(__self__, "ip_state", ip_state)
189
234
  if ipv6subnet_cidr is not None:
190
235
  pulumi.set(__self__, "ipv6subnet_cidr", ipv6subnet_cidr)
236
+ if lifetime is not None:
237
+ pulumi.set(__self__, "lifetime", lifetime)
191
238
  if route_table_id is not None:
192
239
  pulumi.set(__self__, "route_table_id", route_table_id)
193
240
  if state is not None:
@@ -259,6 +306,18 @@ class _Ipv6State:
259
306
  def ip_address(self, value: Optional[pulumi.Input[builtins.str]]):
260
307
  pulumi.set(self, "ip_address", value)
261
308
 
309
+ @property
310
+ @pulumi.getter(name="ipState")
311
+ def ip_state(self) -> Optional[pulumi.Input[builtins.str]]:
312
+ """
313
+ State of the IP address. If an IP address is assigned to a VNIC it is ASSIGNED, otherwise it is AVAILABLE.
314
+ """
315
+ return pulumi.get(self, "ip_state")
316
+
317
+ @ip_state.setter
318
+ def ip_state(self, value: Optional[pulumi.Input[builtins.str]]):
319
+ pulumi.set(self, "ip_state", value)
320
+
262
321
  @property
263
322
  @pulumi.getter(name="ipv6subnetCidr")
264
323
  def ipv6subnet_cidr(self) -> Optional[pulumi.Input[builtins.str]]:
@@ -271,11 +330,25 @@ class _Ipv6State:
271
330
  def ipv6subnet_cidr(self, value: Optional[pulumi.Input[builtins.str]]):
272
331
  pulumi.set(self, "ipv6subnet_cidr", value)
273
332
 
333
+ @property
334
+ @pulumi.getter
335
+ def lifetime(self) -> Optional[pulumi.Input[builtins.str]]:
336
+ """
337
+ (Updatable) Lifetime of the IP address. There are two types of IPv6 IPs:
338
+ * Ephemeral
339
+ * Reserved
340
+ """
341
+ return pulumi.get(self, "lifetime")
342
+
343
+ @lifetime.setter
344
+ def lifetime(self, value: Optional[pulumi.Input[builtins.str]]):
345
+ pulumi.set(self, "lifetime", value)
346
+
274
347
  @property
275
348
  @pulumi.getter(name="routeTableId")
276
349
  def route_table_id(self) -> Optional[pulumi.Input[builtins.str]]:
277
350
  """
278
- (Updatable) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the route table the PrivateIp will use.
351
+ (Updatable) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the route table the IP address or VNIC will use. For more information, see [Source Based Routing](https://docs.oracle.com/iaas/Content/Network/Tasks/managingroutetables.htm#Overview_of_Routing_for_Your_VCN__source_routing).
279
352
  """
280
353
  return pulumi.get(self, "route_table_id")
281
354
 
@@ -299,7 +372,7 @@ class _Ipv6State:
299
372
  @pulumi.getter(name="subnetId")
300
373
  def subnet_id(self) -> Optional[pulumi.Input[builtins.str]]:
301
374
  """
302
- The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the subnet the VNIC is in.
375
+ The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the subnet from which the IPv6 is to be drawn. The IP address, *if supplied*, must be valid for the given subnet, only valid for reserved IPs currently.
303
376
  """
304
377
  return pulumi.get(self, "subnet_id")
305
378
 
@@ -346,7 +419,9 @@ class Ipv6(pulumi.CustomResource):
346
419
  freeform_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
347
420
  ip_address: Optional[pulumi.Input[builtins.str]] = None,
348
421
  ipv6subnet_cidr: Optional[pulumi.Input[builtins.str]] = None,
422
+ lifetime: Optional[pulumi.Input[builtins.str]] = None,
349
423
  route_table_id: Optional[pulumi.Input[builtins.str]] = None,
424
+ subnet_id: Optional[pulumi.Input[builtins.str]] = None,
350
425
  vnic_id: Optional[pulumi.Input[builtins.str]] = None,
351
426
  __props__=None):
352
427
  """
@@ -361,7 +436,6 @@ class Ipv6(pulumi.CustomResource):
361
436
  import pulumi_oci as oci
362
437
 
363
438
  test_ipv6 = oci.core.Ipv6("test_ipv6",
364
- vnic_id=test_vnic_attachment["id"],
365
439
  defined_tags={
366
440
  "Operations.CostCenter": "42",
367
441
  },
@@ -371,7 +445,10 @@ class Ipv6(pulumi.CustomResource):
371
445
  },
372
446
  ip_address=ipv6_ip_address,
373
447
  ipv6subnet_cidr=ipv6_ipv6subnet_cidr,
374
- route_table_id=test_route_table["id"])
448
+ lifetime=ipv6_lifetime,
449
+ route_table_id=test_route_table["id"],
450
+ subnet_id=test_subnet["id"],
451
+ vnic_id=test_vnic_attachment["id"])
375
452
  ```
376
453
 
377
454
  ## Import
@@ -389,7 +466,11 @@ class Ipv6(pulumi.CustomResource):
389
466
  :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] freeform_tags: (Updatable) Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}`
390
467
  :param pulumi.Input[builtins.str] ip_address: An IPv6 address of your choice. Must be an available IP address within the subnet's CIDR. If you don't specify a value, Oracle automatically assigns an IPv6 address from the subnet. The subnet is the one that contains the VNIC you specify in `vnicId`. Example: `2001:DB8::`
391
468
  :param pulumi.Input[builtins.str] ipv6subnet_cidr: The IPv6 prefix allocated to the subnet. This is required if more than one IPv6 prefix exists on the subnet.
392
- :param pulumi.Input[builtins.str] route_table_id: (Updatable) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the route table the PrivateIp will use.
469
+ :param pulumi.Input[builtins.str] lifetime: (Updatable) Lifetime of the IP address. There are two types of IPv6 IPs:
470
+ * Ephemeral
471
+ * Reserved
472
+ :param pulumi.Input[builtins.str] route_table_id: (Updatable) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the route table the IP address or VNIC will use. For more information, see [Source Based Routing](https://docs.oracle.com/iaas/Content/Network/Tasks/managingroutetables.htm#Overview_of_Routing_for_Your_VCN__source_routing).
473
+ :param pulumi.Input[builtins.str] subnet_id: The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the subnet from which the IPv6 is to be drawn. The IP address, *if supplied*, must be valid for the given subnet, only valid for reserved IPs currently.
393
474
  :param pulumi.Input[builtins.str] vnic_id: (Updatable) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the VNIC to assign the IPv6 to. The IPv6 will be in the VNIC's subnet.
394
475
 
395
476
 
@@ -400,7 +481,7 @@ class Ipv6(pulumi.CustomResource):
400
481
  @overload
401
482
  def __init__(__self__,
402
483
  resource_name: str,
403
- args: Ipv6Args,
484
+ args: Optional[Ipv6Args] = None,
404
485
  opts: Optional[pulumi.ResourceOptions] = None):
405
486
  """
406
487
  This resource provides the Ipv6 resource in Oracle Cloud Infrastructure Core service.
@@ -414,7 +495,6 @@ class Ipv6(pulumi.CustomResource):
414
495
  import pulumi_oci as oci
415
496
 
416
497
  test_ipv6 = oci.core.Ipv6("test_ipv6",
417
- vnic_id=test_vnic_attachment["id"],
418
498
  defined_tags={
419
499
  "Operations.CostCenter": "42",
420
500
  },
@@ -424,7 +504,10 @@ class Ipv6(pulumi.CustomResource):
424
504
  },
425
505
  ip_address=ipv6_ip_address,
426
506
  ipv6subnet_cidr=ipv6_ipv6subnet_cidr,
427
- route_table_id=test_route_table["id"])
507
+ lifetime=ipv6_lifetime,
508
+ route_table_id=test_route_table["id"],
509
+ subnet_id=test_subnet["id"],
510
+ vnic_id=test_vnic_attachment["id"])
428
511
  ```
429
512
 
430
513
  ## Import
@@ -455,7 +538,9 @@ class Ipv6(pulumi.CustomResource):
455
538
  freeform_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
456
539
  ip_address: Optional[pulumi.Input[builtins.str]] = None,
457
540
  ipv6subnet_cidr: Optional[pulumi.Input[builtins.str]] = None,
541
+ lifetime: Optional[pulumi.Input[builtins.str]] = None,
458
542
  route_table_id: Optional[pulumi.Input[builtins.str]] = None,
543
+ subnet_id: Optional[pulumi.Input[builtins.str]] = None,
459
544
  vnic_id: Optional[pulumi.Input[builtins.str]] = None,
460
545
  __props__=None):
461
546
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
@@ -471,13 +556,13 @@ class Ipv6(pulumi.CustomResource):
471
556
  __props__.__dict__["freeform_tags"] = freeform_tags
472
557
  __props__.__dict__["ip_address"] = ip_address
473
558
  __props__.__dict__["ipv6subnet_cidr"] = ipv6subnet_cidr
559
+ __props__.__dict__["lifetime"] = lifetime
474
560
  __props__.__dict__["route_table_id"] = route_table_id
475
- if vnic_id is None and not opts.urn:
476
- raise TypeError("Missing required property 'vnic_id'")
561
+ __props__.__dict__["subnet_id"] = subnet_id
477
562
  __props__.__dict__["vnic_id"] = vnic_id
478
563
  __props__.__dict__["compartment_id"] = None
564
+ __props__.__dict__["ip_state"] = None
479
565
  __props__.__dict__["state"] = None
480
- __props__.__dict__["subnet_id"] = None
481
566
  __props__.__dict__["time_created"] = None
482
567
  super(Ipv6, __self__).__init__(
483
568
  'oci:Core/ipv6:Ipv6',
@@ -494,7 +579,9 @@ class Ipv6(pulumi.CustomResource):
494
579
  display_name: Optional[pulumi.Input[builtins.str]] = None,
495
580
  freeform_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
496
581
  ip_address: Optional[pulumi.Input[builtins.str]] = None,
582
+ ip_state: Optional[pulumi.Input[builtins.str]] = None,
497
583
  ipv6subnet_cidr: Optional[pulumi.Input[builtins.str]] = None,
584
+ lifetime: Optional[pulumi.Input[builtins.str]] = None,
498
585
  route_table_id: Optional[pulumi.Input[builtins.str]] = None,
499
586
  state: Optional[pulumi.Input[builtins.str]] = None,
500
587
  subnet_id: Optional[pulumi.Input[builtins.str]] = None,
@@ -512,10 +599,14 @@ class Ipv6(pulumi.CustomResource):
512
599
  :param pulumi.Input[builtins.str] display_name: (Updatable) A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
513
600
  :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] freeform_tags: (Updatable) Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}`
514
601
  :param pulumi.Input[builtins.str] ip_address: An IPv6 address of your choice. Must be an available IP address within the subnet's CIDR. If you don't specify a value, Oracle automatically assigns an IPv6 address from the subnet. The subnet is the one that contains the VNIC you specify in `vnicId`. Example: `2001:DB8::`
602
+ :param pulumi.Input[builtins.str] ip_state: State of the IP address. If an IP address is assigned to a VNIC it is ASSIGNED, otherwise it is AVAILABLE.
515
603
  :param pulumi.Input[builtins.str] ipv6subnet_cidr: The IPv6 prefix allocated to the subnet. This is required if more than one IPv6 prefix exists on the subnet.
516
- :param pulumi.Input[builtins.str] route_table_id: (Updatable) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the route table the PrivateIp will use.
604
+ :param pulumi.Input[builtins.str] lifetime: (Updatable) Lifetime of the IP address. There are two types of IPv6 IPs:
605
+ * Ephemeral
606
+ * Reserved
607
+ :param pulumi.Input[builtins.str] route_table_id: (Updatable) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the route table the IP address or VNIC will use. For more information, see [Source Based Routing](https://docs.oracle.com/iaas/Content/Network/Tasks/managingroutetables.htm#Overview_of_Routing_for_Your_VCN__source_routing).
517
608
  :param pulumi.Input[builtins.str] state: The IPv6's current state.
518
- :param pulumi.Input[builtins.str] subnet_id: The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the subnet the VNIC is in.
609
+ :param pulumi.Input[builtins.str] subnet_id: The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the subnet from which the IPv6 is to be drawn. The IP address, *if supplied*, must be valid for the given subnet, only valid for reserved IPs currently.
519
610
  :param pulumi.Input[builtins.str] time_created: The date and time the IPv6 was created, in the format defined by [RFC3339](https://tools.ietf.org/html/rfc3339). Example: `2016-08-25T21:10:29.600Z`
520
611
  :param pulumi.Input[builtins.str] vnic_id: (Updatable) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the VNIC to assign the IPv6 to. The IPv6 will be in the VNIC's subnet.
521
612
 
@@ -532,7 +623,9 @@ class Ipv6(pulumi.CustomResource):
532
623
  __props__.__dict__["display_name"] = display_name
533
624
  __props__.__dict__["freeform_tags"] = freeform_tags
534
625
  __props__.__dict__["ip_address"] = ip_address
626
+ __props__.__dict__["ip_state"] = ip_state
535
627
  __props__.__dict__["ipv6subnet_cidr"] = ipv6subnet_cidr
628
+ __props__.__dict__["lifetime"] = lifetime
536
629
  __props__.__dict__["route_table_id"] = route_table_id
537
630
  __props__.__dict__["state"] = state
538
631
  __props__.__dict__["subnet_id"] = subnet_id
@@ -580,6 +673,14 @@ class Ipv6(pulumi.CustomResource):
580
673
  """
581
674
  return pulumi.get(self, "ip_address")
582
675
 
676
+ @property
677
+ @pulumi.getter(name="ipState")
678
+ def ip_state(self) -> pulumi.Output[builtins.str]:
679
+ """
680
+ State of the IP address. If an IP address is assigned to a VNIC it is ASSIGNED, otherwise it is AVAILABLE.
681
+ """
682
+ return pulumi.get(self, "ip_state")
683
+
583
684
  @property
584
685
  @pulumi.getter(name="ipv6subnetCidr")
585
686
  def ipv6subnet_cidr(self) -> pulumi.Output[builtins.str]:
@@ -588,11 +689,21 @@ class Ipv6(pulumi.CustomResource):
588
689
  """
589
690
  return pulumi.get(self, "ipv6subnet_cidr")
590
691
 
692
+ @property
693
+ @pulumi.getter
694
+ def lifetime(self) -> pulumi.Output[builtins.str]:
695
+ """
696
+ (Updatable) Lifetime of the IP address. There are two types of IPv6 IPs:
697
+ * Ephemeral
698
+ * Reserved
699
+ """
700
+ return pulumi.get(self, "lifetime")
701
+
591
702
  @property
592
703
  @pulumi.getter(name="routeTableId")
593
704
  def route_table_id(self) -> pulumi.Output[Optional[builtins.str]]:
594
705
  """
595
- (Updatable) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the route table the PrivateIp will use.
706
+ (Updatable) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the route table the IP address or VNIC will use. For more information, see [Source Based Routing](https://docs.oracle.com/iaas/Content/Network/Tasks/managingroutetables.htm#Overview_of_Routing_for_Your_VCN__source_routing).
596
707
  """
597
708
  return pulumi.get(self, "route_table_id")
598
709
 
@@ -608,7 +719,7 @@ class Ipv6(pulumi.CustomResource):
608
719
  @pulumi.getter(name="subnetId")
609
720
  def subnet_id(self) -> pulumi.Output[builtins.str]:
610
721
  """
611
- The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the subnet the VNIC is in.
722
+ The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the subnet from which the IPv6 is to be drawn. The IP address, *if supplied*, must be valid for the given subnet, only valid for reserved IPs currently.
612
723
  """
613
724
  return pulumi.get(self, "subnet_id")
614
725
 
@@ -622,7 +733,7 @@ class Ipv6(pulumi.CustomResource):
622
733
 
623
734
  @property
624
735
  @pulumi.getter(name="vnicId")
625
- def vnic_id(self) -> pulumi.Output[builtins.str]:
736
+ def vnic_id(self) -> pulumi.Output[Optional[builtins.str]]:
626
737
  """
627
738
  (Updatable) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the VNIC to assign the IPv6 to. The IPv6 will be in the VNIC's subnet.
628
739