pulumi-oci 2.13.0a1729198151__py3-none-any.whl → 2.13.0a1729613556__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.
Files changed (65) hide show
  1. pulumi_oci/__init__.py +24 -19
  2. pulumi_oci/containerengine/_inputs.py +341 -0
  3. pulumi_oci/containerengine/cluster.py +64 -0
  4. pulumi_oci/containerengine/get_cluster.py +12 -1
  5. pulumi_oci/containerengine/outputs.py +582 -0
  6. pulumi_oci/core/_inputs.py +299 -37
  7. pulumi_oci/core/boot_volume.py +90 -5
  8. pulumi_oci/core/get_block_volume_replica.py +15 -1
  9. pulumi_oci/core/get_boot_volume.py +15 -4
  10. pulumi_oci/core/get_boot_volume_replica.py +15 -1
  11. pulumi_oci/core/get_volume.py +18 -4
  12. pulumi_oci/core/instance_configuration.py +4 -0
  13. pulumi_oci/core/outputs.py +573 -46
  14. pulumi_oci/core/volume.py +110 -12
  15. pulumi_oci/core/volume_backup_policy_assignment.py +68 -19
  16. pulumi_oci/core/volume_group.py +56 -5
  17. pulumi_oci/datasafe/__init__.py +1 -0
  18. pulumi_oci/datasafe/generate_on_prem_connector_configuration.py +271 -0
  19. pulumi_oci/desktops/_inputs.py +175 -13
  20. pulumi_oci/desktops/desktop_pool.py +67 -0
  21. pulumi_oci/desktops/get_desktop_pool.py +16 -1
  22. pulumi_oci/desktops/outputs.py +339 -18
  23. pulumi_oci/dns/__init__.py +2 -0
  24. pulumi_oci/dns/_inputs.py +1157 -12
  25. pulumi_oci/dns/action_create_zone_from_zone_file.py +42 -2
  26. pulumi_oci/dns/get_records.py +45 -13
  27. pulumi_oci/dns/get_resolver.py +8 -6
  28. pulumi_oci/dns/get_resolver_endpoint.py +8 -6
  29. pulumi_oci/dns/get_resolver_endpoints.py +2 -2
  30. pulumi_oci/dns/get_resolvers.py +12 -12
  31. pulumi_oci/dns/get_rrset.py +16 -16
  32. pulumi_oci/dns/get_rrsets.py +12 -10
  33. pulumi_oci/dns/get_view.py +8 -4
  34. pulumi_oci/dns/get_views.py +12 -12
  35. pulumi_oci/dns/get_zones.py +33 -13
  36. pulumi_oci/dns/outputs.py +1388 -79
  37. pulumi_oci/dns/record.py +12 -12
  38. pulumi_oci/dns/resolver.py +7 -7
  39. pulumi_oci/dns/resolver_endpoint.py +2 -2
  40. pulumi_oci/dns/rrset.py +50 -41
  41. pulumi_oci/dns/zone.py +176 -17
  42. pulumi_oci/dns/zone_promote_dnssec_key_version.py +328 -0
  43. pulumi_oci/dns/zone_stage_dnssec_key_version.py +318 -0
  44. pulumi_oci/goldengate/__init__.py +1 -0
  45. pulumi_oci/goldengate/_inputs.py +165 -0
  46. pulumi_oci/goldengate/connection.py +49 -35
  47. pulumi_oci/goldengate/database_registration.py +7 -7
  48. pulumi_oci/goldengate/deployment.py +79 -4
  49. pulumi_oci/goldengate/get_deployment.py +30 -2
  50. pulumi_oci/goldengate/get_deployment_environments.py +144 -0
  51. pulumi_oci/goldengate/outputs.py +409 -2
  52. pulumi_oci/pulumi-plugin.json +1 -1
  53. {pulumi_oci-2.13.0a1729198151.dist-info → pulumi_oci-2.13.0a1729613556.dist-info}/METADATA +1 -1
  54. {pulumi_oci-2.13.0a1729198151.dist-info → pulumi_oci-2.13.0a1729613556.dist-info}/RECORD +56 -61
  55. pulumi_oci/globallydistributeddatabase/__init__.py +0 -15
  56. pulumi_oci/globallydistributeddatabase/_inputs.py +0 -1289
  57. pulumi_oci/globallydistributeddatabase/get_private_endpoint.py +0 -323
  58. pulumi_oci/globallydistributeddatabase/get_private_endpoints.py +0 -191
  59. pulumi_oci/globallydistributeddatabase/get_sharded_database.py +0 -660
  60. pulumi_oci/globallydistributeddatabase/get_sharded_databases.py +0 -191
  61. pulumi_oci/globallydistributeddatabase/outputs.py +0 -2063
  62. pulumi_oci/globallydistributeddatabase/private_endpoint.py +0 -747
  63. pulumi_oci/globallydistributeddatabase/sharded_database.py +0 -1821
  64. {pulumi_oci-2.13.0a1729198151.dist-info → pulumi_oci-2.13.0a1729613556.dist-info}/WHEEL +0 -0
  65. {pulumi_oci-2.13.0a1729198151.dist-info → pulumi_oci-2.13.0a1729613556.dist-info}/top_level.txt +0 -0
pulumi_oci/dns/zone.py CHANGED
@@ -24,6 +24,7 @@ class ZoneArgs:
24
24
  compartment_id: pulumi.Input[str],
25
25
  zone_type: pulumi.Input[str],
26
26
  defined_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
27
+ dnssec_state: Optional[pulumi.Input[str]] = None,
27
28
  external_downstreams: Optional[pulumi.Input[Sequence[pulumi.Input['ZoneExternalDownstreamArgs']]]] = None,
28
29
  external_masters: Optional[pulumi.Input[Sequence[pulumi.Input['ZoneExternalMasterArgs']]]] = None,
29
30
  freeform_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
@@ -32,7 +33,7 @@ class ZoneArgs:
32
33
  view_id: Optional[pulumi.Input[str]] = None):
33
34
  """
34
35
  The set of arguments for constructing a Zone resource.
35
- :param pulumi.Input[str] compartment_id: (Updatable) The OCID of the compartment the resource belongs to.
36
+ :param pulumi.Input[str] compartment_id: (Updatable) The OCID of the compartment containing the zone.
36
37
  :param pulumi.Input[str] zone_type: The type of the zone. Must be either `PRIMARY` or `SECONDARY`. `SECONDARY` is only supported for GLOBAL zones.
37
38
 
38
39
 
@@ -41,6 +42,19 @@ class ZoneArgs:
41
42
  :param pulumi.Input[Mapping[str, pulumi.Input[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).
42
43
 
43
44
  **Example:** `{"Operations": {"CostCenter": "42"}}`
45
+ :param pulumi.Input[str] dnssec_state: (Updatable) The state of DNSSEC on the zone.
46
+
47
+ For DNSSEC to function, every parent zone in the DNS tree up to the top-level domain (or an independent trust anchor) must also have DNSSEC correctly set up. After enabling DNSSEC, you must add a DS record to the zone's parent zone containing the `KskDnssecKeyVersion` data. You can find the DS data in the `dsData` attribute of the `KskDnssecKeyVersion`. Then, use the `PromoteZoneDnssecKeyVersion` operation to promote the `KskDnssecKeyVersion`.
48
+
49
+ New `KskDnssecKeyVersion`s are generated annually, a week before the existing `KskDnssecKeyVersion`'s expiration. To rollover a `KskDnssecKeyVersion`, you must replace the parent zone's DS record containing the old `KskDnssecKeyVersion` data with the data from the new `KskDnssecKeyVersion`.
50
+
51
+ To remove the old DS record without causing service disruption, wait until the old DS record's TTL has expired, and the new DS record has propagated. After the DS replacement has been completed, then the `PromoteZoneDnssecKeyVersion` operation must be called.
52
+
53
+ Metrics are emitted in the `oci_dns` namespace daily for each `KskDnssecKeyVersion` indicating how many days are left until expiration. We recommend that you set up alarms and notifications for KskDnssecKeyVersion expiration so that the necessary parent zone updates can be made and the `PromoteZoneDnssecKeyVersion` operation can be called.
54
+
55
+ Enabling DNSSEC results in additional records in DNS responses which increases their size and can cause higher response latency.
56
+
57
+ For more information, see [DNSSEC](https://docs.cloud.oracle.com/iaas/Content/DNS/Concepts/dnssec.htm).
44
58
  :param pulumi.Input[Sequence[pulumi.Input['ZoneExternalDownstreamArgs']]] external_downstreams: (Updatable) External secondary servers for the zone. This field is currently not supported when `zoneType` is `SECONDARY` or `scope` is `PRIVATE`.
45
59
  :param pulumi.Input[Sequence[pulumi.Input['ZoneExternalMasterArgs']]] external_masters: (Updatable) External master servers for the zone. `externalMasters` becomes a required parameter when the `zoneType` value is `SECONDARY`.
46
60
  :param pulumi.Input[Mapping[str, pulumi.Input[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).
@@ -55,6 +69,8 @@ class ZoneArgs:
55
69
  pulumi.set(__self__, "zone_type", zone_type)
56
70
  if defined_tags is not None:
57
71
  pulumi.set(__self__, "defined_tags", defined_tags)
72
+ if dnssec_state is not None:
73
+ pulumi.set(__self__, "dnssec_state", dnssec_state)
58
74
  if external_downstreams is not None:
59
75
  pulumi.set(__self__, "external_downstreams", external_downstreams)
60
76
  if external_masters is not None:
@@ -72,7 +88,7 @@ class ZoneArgs:
72
88
  @pulumi.getter(name="compartmentId")
73
89
  def compartment_id(self) -> pulumi.Input[str]:
74
90
  """
75
- (Updatable) The OCID of the compartment the resource belongs to.
91
+ (Updatable) The OCID of the compartment containing the zone.
76
92
  """
77
93
  return pulumi.get(self, "compartment_id")
78
94
 
@@ -110,6 +126,30 @@ class ZoneArgs:
110
126
  def defined_tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
111
127
  pulumi.set(self, "defined_tags", value)
112
128
 
129
+ @property
130
+ @pulumi.getter(name="dnssecState")
131
+ def dnssec_state(self) -> Optional[pulumi.Input[str]]:
132
+ """
133
+ (Updatable) The state of DNSSEC on the zone.
134
+
135
+ For DNSSEC to function, every parent zone in the DNS tree up to the top-level domain (or an independent trust anchor) must also have DNSSEC correctly set up. After enabling DNSSEC, you must add a DS record to the zone's parent zone containing the `KskDnssecKeyVersion` data. You can find the DS data in the `dsData` attribute of the `KskDnssecKeyVersion`. Then, use the `PromoteZoneDnssecKeyVersion` operation to promote the `KskDnssecKeyVersion`.
136
+
137
+ New `KskDnssecKeyVersion`s are generated annually, a week before the existing `KskDnssecKeyVersion`'s expiration. To rollover a `KskDnssecKeyVersion`, you must replace the parent zone's DS record containing the old `KskDnssecKeyVersion` data with the data from the new `KskDnssecKeyVersion`.
138
+
139
+ To remove the old DS record without causing service disruption, wait until the old DS record's TTL has expired, and the new DS record has propagated. After the DS replacement has been completed, then the `PromoteZoneDnssecKeyVersion` operation must be called.
140
+
141
+ Metrics are emitted in the `oci_dns` namespace daily for each `KskDnssecKeyVersion` indicating how many days are left until expiration. We recommend that you set up alarms and notifications for KskDnssecKeyVersion expiration so that the necessary parent zone updates can be made and the `PromoteZoneDnssecKeyVersion` operation can be called.
142
+
143
+ Enabling DNSSEC results in additional records in DNS responses which increases their size and can cause higher response latency.
144
+
145
+ For more information, see [DNSSEC](https://docs.cloud.oracle.com/iaas/Content/DNS/Concepts/dnssec.htm).
146
+ """
147
+ return pulumi.get(self, "dnssec_state")
148
+
149
+ @dnssec_state.setter
150
+ def dnssec_state(self, value: Optional[pulumi.Input[str]]):
151
+ pulumi.set(self, "dnssec_state", value)
152
+
113
153
  @property
114
154
  @pulumi.getter(name="externalDownstreams")
115
155
  def external_downstreams(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ZoneExternalDownstreamArgs']]]]:
@@ -191,6 +231,8 @@ class _ZoneState:
191
231
  def __init__(__self__, *,
192
232
  compartment_id: Optional[pulumi.Input[str]] = None,
193
233
  defined_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
234
+ dnssec_configs: Optional[pulumi.Input[Sequence[pulumi.Input['ZoneDnssecConfigArgs']]]] = None,
235
+ dnssec_state: Optional[pulumi.Input[str]] = None,
194
236
  external_downstreams: Optional[pulumi.Input[Sequence[pulumi.Input['ZoneExternalDownstreamArgs']]]] = None,
195
237
  external_masters: Optional[pulumi.Input[Sequence[pulumi.Input['ZoneExternalMasterArgs']]]] = None,
196
238
  freeform_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
@@ -208,10 +250,24 @@ class _ZoneState:
208
250
  zone_type: Optional[pulumi.Input[str]] = None):
209
251
  """
210
252
  Input properties used for looking up and filtering Zone resources.
211
- :param pulumi.Input[str] compartment_id: (Updatable) The OCID of the compartment the resource belongs to.
253
+ :param pulumi.Input[str] compartment_id: (Updatable) The OCID of the compartment containing the zone.
212
254
  :param pulumi.Input[Mapping[str, pulumi.Input[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).
213
255
 
214
256
  **Example:** `{"Operations": {"CostCenter": "42"}}`
257
+ :param pulumi.Input[Sequence[pulumi.Input['ZoneDnssecConfigArgs']]] dnssec_configs: DNSSEC configuration data.
258
+ :param pulumi.Input[str] dnssec_state: (Updatable) The state of DNSSEC on the zone.
259
+
260
+ For DNSSEC to function, every parent zone in the DNS tree up to the top-level domain (or an independent trust anchor) must also have DNSSEC correctly set up. After enabling DNSSEC, you must add a DS record to the zone's parent zone containing the `KskDnssecKeyVersion` data. You can find the DS data in the `dsData` attribute of the `KskDnssecKeyVersion`. Then, use the `PromoteZoneDnssecKeyVersion` operation to promote the `KskDnssecKeyVersion`.
261
+
262
+ New `KskDnssecKeyVersion`s are generated annually, a week before the existing `KskDnssecKeyVersion`'s expiration. To rollover a `KskDnssecKeyVersion`, you must replace the parent zone's DS record containing the old `KskDnssecKeyVersion` data with the data from the new `KskDnssecKeyVersion`.
263
+
264
+ To remove the old DS record without causing service disruption, wait until the old DS record's TTL has expired, and the new DS record has propagated. After the DS replacement has been completed, then the `PromoteZoneDnssecKeyVersion` operation must be called.
265
+
266
+ Metrics are emitted in the `oci_dns` namespace daily for each `KskDnssecKeyVersion` indicating how many days are left until expiration. We recommend that you set up alarms and notifications for KskDnssecKeyVersion expiration so that the necessary parent zone updates can be made and the `PromoteZoneDnssecKeyVersion` operation can be called.
267
+
268
+ Enabling DNSSEC results in additional records in DNS responses which increases their size and can cause higher response latency.
269
+
270
+ For more information, see [DNSSEC](https://docs.cloud.oracle.com/iaas/Content/DNS/Concepts/dnssec.htm).
215
271
  :param pulumi.Input[Sequence[pulumi.Input['ZoneExternalDownstreamArgs']]] external_downstreams: (Updatable) External secondary servers for the zone. This field is currently not supported when `zoneType` is `SECONDARY` or `scope` is `PRIVATE`.
216
272
  :param pulumi.Input[Sequence[pulumi.Input['ZoneExternalMasterArgs']]] external_masters: (Updatable) External master servers for the zone. `externalMasters` becomes a required parameter when the `zoneType` value is `SECONDARY`.
217
273
  :param pulumi.Input[Mapping[str, pulumi.Input[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).
@@ -239,6 +295,10 @@ class _ZoneState:
239
295
  pulumi.set(__self__, "compartment_id", compartment_id)
240
296
  if defined_tags is not None:
241
297
  pulumi.set(__self__, "defined_tags", defined_tags)
298
+ if dnssec_configs is not None:
299
+ pulumi.set(__self__, "dnssec_configs", dnssec_configs)
300
+ if dnssec_state is not None:
301
+ pulumi.set(__self__, "dnssec_state", dnssec_state)
242
302
  if external_downstreams is not None:
243
303
  pulumi.set(__self__, "external_downstreams", external_downstreams)
244
304
  if external_masters is not None:
@@ -274,7 +334,7 @@ class _ZoneState:
274
334
  @pulumi.getter(name="compartmentId")
275
335
  def compartment_id(self) -> Optional[pulumi.Input[str]]:
276
336
  """
277
- (Updatable) The OCID of the compartment the resource belongs to.
337
+ (Updatable) The OCID of the compartment containing the zone.
278
338
  """
279
339
  return pulumi.get(self, "compartment_id")
280
340
 
@@ -296,6 +356,42 @@ class _ZoneState:
296
356
  def defined_tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
297
357
  pulumi.set(self, "defined_tags", value)
298
358
 
359
+ @property
360
+ @pulumi.getter(name="dnssecConfigs")
361
+ def dnssec_configs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ZoneDnssecConfigArgs']]]]:
362
+ """
363
+ DNSSEC configuration data.
364
+ """
365
+ return pulumi.get(self, "dnssec_configs")
366
+
367
+ @dnssec_configs.setter
368
+ def dnssec_configs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ZoneDnssecConfigArgs']]]]):
369
+ pulumi.set(self, "dnssec_configs", value)
370
+
371
+ @property
372
+ @pulumi.getter(name="dnssecState")
373
+ def dnssec_state(self) -> Optional[pulumi.Input[str]]:
374
+ """
375
+ (Updatable) The state of DNSSEC on the zone.
376
+
377
+ For DNSSEC to function, every parent zone in the DNS tree up to the top-level domain (or an independent trust anchor) must also have DNSSEC correctly set up. After enabling DNSSEC, you must add a DS record to the zone's parent zone containing the `KskDnssecKeyVersion` data. You can find the DS data in the `dsData` attribute of the `KskDnssecKeyVersion`. Then, use the `PromoteZoneDnssecKeyVersion` operation to promote the `KskDnssecKeyVersion`.
378
+
379
+ New `KskDnssecKeyVersion`s are generated annually, a week before the existing `KskDnssecKeyVersion`'s expiration. To rollover a `KskDnssecKeyVersion`, you must replace the parent zone's DS record containing the old `KskDnssecKeyVersion` data with the data from the new `KskDnssecKeyVersion`.
380
+
381
+ To remove the old DS record without causing service disruption, wait until the old DS record's TTL has expired, and the new DS record has propagated. After the DS replacement has been completed, then the `PromoteZoneDnssecKeyVersion` operation must be called.
382
+
383
+ Metrics are emitted in the `oci_dns` namespace daily for each `KskDnssecKeyVersion` indicating how many days are left until expiration. We recommend that you set up alarms and notifications for KskDnssecKeyVersion expiration so that the necessary parent zone updates can be made and the `PromoteZoneDnssecKeyVersion` operation can be called.
384
+
385
+ Enabling DNSSEC results in additional records in DNS responses which increases their size and can cause higher response latency.
386
+
387
+ For more information, see [DNSSEC](https://docs.cloud.oracle.com/iaas/Content/DNS/Concepts/dnssec.htm).
388
+ """
389
+ return pulumi.get(self, "dnssec_state")
390
+
391
+ @dnssec_state.setter
392
+ def dnssec_state(self, value: Optional[pulumi.Input[str]]):
393
+ pulumi.set(self, "dnssec_state", value)
394
+
299
395
  @property
300
396
  @pulumi.getter(name="externalDownstreams")
301
397
  def external_downstreams(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ZoneExternalDownstreamArgs']]]]:
@@ -491,6 +587,7 @@ class Zone(pulumi.CustomResource):
491
587
  opts: Optional[pulumi.ResourceOptions] = None,
492
588
  compartment_id: Optional[pulumi.Input[str]] = None,
493
589
  defined_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
590
+ dnssec_state: Optional[pulumi.Input[str]] = None,
494
591
  external_downstreams: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ZoneExternalDownstreamArgs', 'ZoneExternalDownstreamArgsDict']]]]] = None,
495
592
  external_masters: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ZoneExternalMasterArgs', 'ZoneExternalMasterArgsDict']]]]] = None,
496
593
  freeform_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
@@ -502,11 +599,10 @@ class Zone(pulumi.CustomResource):
502
599
  """
503
600
  This resource provides the Zone resource in Oracle Cloud Infrastructure DNS service.
504
601
 
505
- Creates a new zone in the specified compartment. For global zones, if the `Content-Type` header for the request
506
- is `text/dns`, the `compartmentId` query parameter is required. `text/dns` for the `Content-Type` header is
507
- not supported for private zones. Query parameter scope with a value of `PRIVATE` is required when creating a
508
- private zone. Private zones must have a zone type of `PRIMARY`. Creating a private zone at or under
509
- `oraclevcn.com` within the default protected view of a VCN-dedicated resolver is not permitted.
602
+ Creates a new zone in the specified compartment.
603
+
604
+ Private zones must have a zone type of `PRIMARY`. Creating a private zone at or under `oraclevcn.com`
605
+ within the default protected view of a VCN-dedicated resolver is not permitted.
510
606
 
511
607
  ## Example Usage
512
608
 
@@ -519,6 +615,7 @@ class Zone(pulumi.CustomResource):
519
615
  name=zone_name,
520
616
  zone_type=zone_zone_type,
521
617
  defined_tags=zone_defined_tags,
618
+ dnssec_state=zone_dnssec_state,
522
619
  external_downstreams=[{
523
620
  "address": zone_external_downstreams_address,
524
621
  "port": zone_external_downstreams_port,
@@ -544,10 +641,23 @@ class Zone(pulumi.CustomResource):
544
641
 
545
642
  :param str resource_name: The name of the resource.
546
643
  :param pulumi.ResourceOptions opts: Options for the resource.
547
- :param pulumi.Input[str] compartment_id: (Updatable) The OCID of the compartment the resource belongs to.
644
+ :param pulumi.Input[str] compartment_id: (Updatable) The OCID of the compartment containing the zone.
548
645
  :param pulumi.Input[Mapping[str, pulumi.Input[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).
549
646
 
550
647
  **Example:** `{"Operations": {"CostCenter": "42"}}`
648
+ :param pulumi.Input[str] dnssec_state: (Updatable) The state of DNSSEC on the zone.
649
+
650
+ For DNSSEC to function, every parent zone in the DNS tree up to the top-level domain (or an independent trust anchor) must also have DNSSEC correctly set up. After enabling DNSSEC, you must add a DS record to the zone's parent zone containing the `KskDnssecKeyVersion` data. You can find the DS data in the `dsData` attribute of the `KskDnssecKeyVersion`. Then, use the `PromoteZoneDnssecKeyVersion` operation to promote the `KskDnssecKeyVersion`.
651
+
652
+ New `KskDnssecKeyVersion`s are generated annually, a week before the existing `KskDnssecKeyVersion`'s expiration. To rollover a `KskDnssecKeyVersion`, you must replace the parent zone's DS record containing the old `KskDnssecKeyVersion` data with the data from the new `KskDnssecKeyVersion`.
653
+
654
+ To remove the old DS record without causing service disruption, wait until the old DS record's TTL has expired, and the new DS record has propagated. After the DS replacement has been completed, then the `PromoteZoneDnssecKeyVersion` operation must be called.
655
+
656
+ Metrics are emitted in the `oci_dns` namespace daily for each `KskDnssecKeyVersion` indicating how many days are left until expiration. We recommend that you set up alarms and notifications for KskDnssecKeyVersion expiration so that the necessary parent zone updates can be made and the `PromoteZoneDnssecKeyVersion` operation can be called.
657
+
658
+ Enabling DNSSEC results in additional records in DNS responses which increases their size and can cause higher response latency.
659
+
660
+ For more information, see [DNSSEC](https://docs.cloud.oracle.com/iaas/Content/DNS/Concepts/dnssec.htm).
551
661
  :param pulumi.Input[Sequence[pulumi.Input[Union['ZoneExternalDownstreamArgs', 'ZoneExternalDownstreamArgsDict']]]] external_downstreams: (Updatable) External secondary servers for the zone. This field is currently not supported when `zoneType` is `SECONDARY` or `scope` is `PRIVATE`.
552
662
  :param pulumi.Input[Sequence[pulumi.Input[Union['ZoneExternalMasterArgs', 'ZoneExternalMasterArgsDict']]]] external_masters: (Updatable) External master servers for the zone. `externalMasters` becomes a required parameter when the `zoneType` value is `SECONDARY`.
553
663
  :param pulumi.Input[Mapping[str, pulumi.Input[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).
@@ -572,11 +682,10 @@ class Zone(pulumi.CustomResource):
572
682
  """
573
683
  This resource provides the Zone resource in Oracle Cloud Infrastructure DNS service.
574
684
 
575
- Creates a new zone in the specified compartment. For global zones, if the `Content-Type` header for the request
576
- is `text/dns`, the `compartmentId` query parameter is required. `text/dns` for the `Content-Type` header is
577
- not supported for private zones. Query parameter scope with a value of `PRIVATE` is required when creating a
578
- private zone. Private zones must have a zone type of `PRIMARY`. Creating a private zone at or under
579
- `oraclevcn.com` within the default protected view of a VCN-dedicated resolver is not permitted.
685
+ Creates a new zone in the specified compartment.
686
+
687
+ Private zones must have a zone type of `PRIMARY`. Creating a private zone at or under `oraclevcn.com`
688
+ within the default protected view of a VCN-dedicated resolver is not permitted.
580
689
 
581
690
  ## Example Usage
582
691
 
@@ -589,6 +698,7 @@ class Zone(pulumi.CustomResource):
589
698
  name=zone_name,
590
699
  zone_type=zone_zone_type,
591
700
  defined_tags=zone_defined_tags,
701
+ dnssec_state=zone_dnssec_state,
592
702
  external_downstreams=[{
593
703
  "address": zone_external_downstreams_address,
594
704
  "port": zone_external_downstreams_port,
@@ -629,6 +739,7 @@ class Zone(pulumi.CustomResource):
629
739
  opts: Optional[pulumi.ResourceOptions] = None,
630
740
  compartment_id: Optional[pulumi.Input[str]] = None,
631
741
  defined_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
742
+ dnssec_state: Optional[pulumi.Input[str]] = None,
632
743
  external_downstreams: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ZoneExternalDownstreamArgs', 'ZoneExternalDownstreamArgsDict']]]]] = None,
633
744
  external_masters: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ZoneExternalMasterArgs', 'ZoneExternalMasterArgsDict']]]]] = None,
634
745
  freeform_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
@@ -649,6 +760,7 @@ class Zone(pulumi.CustomResource):
649
760
  raise TypeError("Missing required property 'compartment_id'")
650
761
  __props__.__dict__["compartment_id"] = compartment_id
651
762
  __props__.__dict__["defined_tags"] = defined_tags
763
+ __props__.__dict__["dnssec_state"] = dnssec_state
652
764
  __props__.__dict__["external_downstreams"] = external_downstreams
653
765
  __props__.__dict__["external_masters"] = external_masters
654
766
  __props__.__dict__["freeform_tags"] = freeform_tags
@@ -658,6 +770,7 @@ class Zone(pulumi.CustomResource):
658
770
  if zone_type is None and not opts.urn:
659
771
  raise TypeError("Missing required property 'zone_type'")
660
772
  __props__.__dict__["zone_type"] = zone_type
773
+ __props__.__dict__["dnssec_configs"] = None
661
774
  __props__.__dict__["is_protected"] = None
662
775
  __props__.__dict__["nameservers"] = None
663
776
  __props__.__dict__["self"] = None
@@ -678,6 +791,8 @@ class Zone(pulumi.CustomResource):
678
791
  opts: Optional[pulumi.ResourceOptions] = None,
679
792
  compartment_id: Optional[pulumi.Input[str]] = None,
680
793
  defined_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
794
+ dnssec_configs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ZoneDnssecConfigArgs', 'ZoneDnssecConfigArgsDict']]]]] = None,
795
+ dnssec_state: Optional[pulumi.Input[str]] = None,
681
796
  external_downstreams: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ZoneExternalDownstreamArgs', 'ZoneExternalDownstreamArgsDict']]]]] = None,
682
797
  external_masters: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ZoneExternalMasterArgs', 'ZoneExternalMasterArgsDict']]]]] = None,
683
798
  freeform_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
@@ -700,10 +815,24 @@ class Zone(pulumi.CustomResource):
700
815
  :param str resource_name: The unique name of the resulting resource.
701
816
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
702
817
  :param pulumi.ResourceOptions opts: Options for the resource.
703
- :param pulumi.Input[str] compartment_id: (Updatable) The OCID of the compartment the resource belongs to.
818
+ :param pulumi.Input[str] compartment_id: (Updatable) The OCID of the compartment containing the zone.
704
819
  :param pulumi.Input[Mapping[str, pulumi.Input[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).
705
820
 
706
821
  **Example:** `{"Operations": {"CostCenter": "42"}}`
822
+ :param pulumi.Input[Sequence[pulumi.Input[Union['ZoneDnssecConfigArgs', 'ZoneDnssecConfigArgsDict']]]] dnssec_configs: DNSSEC configuration data.
823
+ :param pulumi.Input[str] dnssec_state: (Updatable) The state of DNSSEC on the zone.
824
+
825
+ For DNSSEC to function, every parent zone in the DNS tree up to the top-level domain (or an independent trust anchor) must also have DNSSEC correctly set up. After enabling DNSSEC, you must add a DS record to the zone's parent zone containing the `KskDnssecKeyVersion` data. You can find the DS data in the `dsData` attribute of the `KskDnssecKeyVersion`. Then, use the `PromoteZoneDnssecKeyVersion` operation to promote the `KskDnssecKeyVersion`.
826
+
827
+ New `KskDnssecKeyVersion`s are generated annually, a week before the existing `KskDnssecKeyVersion`'s expiration. To rollover a `KskDnssecKeyVersion`, you must replace the parent zone's DS record containing the old `KskDnssecKeyVersion` data with the data from the new `KskDnssecKeyVersion`.
828
+
829
+ To remove the old DS record without causing service disruption, wait until the old DS record's TTL has expired, and the new DS record has propagated. After the DS replacement has been completed, then the `PromoteZoneDnssecKeyVersion` operation must be called.
830
+
831
+ Metrics are emitted in the `oci_dns` namespace daily for each `KskDnssecKeyVersion` indicating how many days are left until expiration. We recommend that you set up alarms and notifications for KskDnssecKeyVersion expiration so that the necessary parent zone updates can be made and the `PromoteZoneDnssecKeyVersion` operation can be called.
832
+
833
+ Enabling DNSSEC results in additional records in DNS responses which increases their size and can cause higher response latency.
834
+
835
+ For more information, see [DNSSEC](https://docs.cloud.oracle.com/iaas/Content/DNS/Concepts/dnssec.htm).
707
836
  :param pulumi.Input[Sequence[pulumi.Input[Union['ZoneExternalDownstreamArgs', 'ZoneExternalDownstreamArgsDict']]]] external_downstreams: (Updatable) External secondary servers for the zone. This field is currently not supported when `zoneType` is `SECONDARY` or `scope` is `PRIVATE`.
708
837
  :param pulumi.Input[Sequence[pulumi.Input[Union['ZoneExternalMasterArgs', 'ZoneExternalMasterArgsDict']]]] external_masters: (Updatable) External master servers for the zone. `externalMasters` becomes a required parameter when the `zoneType` value is `SECONDARY`.
709
838
  :param pulumi.Input[Mapping[str, pulumi.Input[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).
@@ -733,6 +862,8 @@ class Zone(pulumi.CustomResource):
733
862
 
734
863
  __props__.__dict__["compartment_id"] = compartment_id
735
864
  __props__.__dict__["defined_tags"] = defined_tags
865
+ __props__.__dict__["dnssec_configs"] = dnssec_configs
866
+ __props__.__dict__["dnssec_state"] = dnssec_state
736
867
  __props__.__dict__["external_downstreams"] = external_downstreams
737
868
  __props__.__dict__["external_masters"] = external_masters
738
869
  __props__.__dict__["freeform_tags"] = freeform_tags
@@ -754,7 +885,7 @@ class Zone(pulumi.CustomResource):
754
885
  @pulumi.getter(name="compartmentId")
755
886
  def compartment_id(self) -> pulumi.Output[str]:
756
887
  """
757
- (Updatable) The OCID of the compartment the resource belongs to.
888
+ (Updatable) The OCID of the compartment containing the zone.
758
889
  """
759
890
  return pulumi.get(self, "compartment_id")
760
891
 
@@ -768,6 +899,34 @@ class Zone(pulumi.CustomResource):
768
899
  """
769
900
  return pulumi.get(self, "defined_tags")
770
901
 
902
+ @property
903
+ @pulumi.getter(name="dnssecConfigs")
904
+ def dnssec_configs(self) -> pulumi.Output[Sequence['outputs.ZoneDnssecConfig']]:
905
+ """
906
+ DNSSEC configuration data.
907
+ """
908
+ return pulumi.get(self, "dnssec_configs")
909
+
910
+ @property
911
+ @pulumi.getter(name="dnssecState")
912
+ def dnssec_state(self) -> pulumi.Output[str]:
913
+ """
914
+ (Updatable) The state of DNSSEC on the zone.
915
+
916
+ For DNSSEC to function, every parent zone in the DNS tree up to the top-level domain (or an independent trust anchor) must also have DNSSEC correctly set up. After enabling DNSSEC, you must add a DS record to the zone's parent zone containing the `KskDnssecKeyVersion` data. You can find the DS data in the `dsData` attribute of the `KskDnssecKeyVersion`. Then, use the `PromoteZoneDnssecKeyVersion` operation to promote the `KskDnssecKeyVersion`.
917
+
918
+ New `KskDnssecKeyVersion`s are generated annually, a week before the existing `KskDnssecKeyVersion`'s expiration. To rollover a `KskDnssecKeyVersion`, you must replace the parent zone's DS record containing the old `KskDnssecKeyVersion` data with the data from the new `KskDnssecKeyVersion`.
919
+
920
+ To remove the old DS record without causing service disruption, wait until the old DS record's TTL has expired, and the new DS record has propagated. After the DS replacement has been completed, then the `PromoteZoneDnssecKeyVersion` operation must be called.
921
+
922
+ Metrics are emitted in the `oci_dns` namespace daily for each `KskDnssecKeyVersion` indicating how many days are left until expiration. We recommend that you set up alarms and notifications for KskDnssecKeyVersion expiration so that the necessary parent zone updates can be made and the `PromoteZoneDnssecKeyVersion` operation can be called.
923
+
924
+ Enabling DNSSEC results in additional records in DNS responses which increases their size and can cause higher response latency.
925
+
926
+ For more information, see [DNSSEC](https://docs.cloud.oracle.com/iaas/Content/DNS/Concepts/dnssec.htm).
927
+ """
928
+ return pulumi.get(self, "dnssec_state")
929
+
771
930
  @property
772
931
  @pulumi.getter(name="externalDownstreams")
773
932
  def external_downstreams(self) -> pulumi.Output[Sequence['outputs.ZoneExternalDownstream']]: