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/outputs.py CHANGED
@@ -16,6 +16,10 @@ from .. import _utilities
16
16
  from . import outputs
17
17
 
18
18
  __all__ = [
19
+ 'ActionCreateZoneFromZoneFileDnssecConfig',
20
+ 'ActionCreateZoneFromZoneFileDnssecConfigKskDnssecKeyVersion',
21
+ 'ActionCreateZoneFromZoneFileDnssecConfigKskDnssecKeyVersionDsData',
22
+ 'ActionCreateZoneFromZoneFileDnssecConfigZskDnssecKeyVersion',
19
23
  'ActionCreateZoneFromZoneFileExternalDownstream',
20
24
  'ActionCreateZoneFromZoneFileExternalMaster',
21
25
  'ActionCreateZoneFromZoneFileNameserver',
@@ -29,6 +33,10 @@ __all__ = [
29
33
  'SteeringPolicyRuleCase',
30
34
  'SteeringPolicyRuleCaseAnswerData',
31
35
  'SteeringPolicyRuleDefaultAnswerData',
36
+ 'ZoneDnssecConfig',
37
+ 'ZoneDnssecConfigKskDnssecKeyVersion',
38
+ 'ZoneDnssecConfigKskDnssecKeyVersionDsData',
39
+ 'ZoneDnssecConfigZskDnssecKeyVersion',
32
40
  'ZoneExternalDownstream',
33
41
  'ZoneExternalMaster',
34
42
  'ZoneNameserver',
@@ -69,12 +77,408 @@ __all__ = [
69
77
  'GetViewsViewResult',
70
78
  'GetZonesFilterResult',
71
79
  'GetZonesZoneResult',
80
+ 'GetZonesZoneDnssecConfigResult',
81
+ 'GetZonesZoneDnssecConfigKskDnssecKeyVersionResult',
82
+ 'GetZonesZoneDnssecConfigKskDnssecKeyVersionDsDataResult',
83
+ 'GetZonesZoneDnssecConfigZskDnssecKeyVersionResult',
72
84
  'GetZonesZoneExternalDownstreamResult',
73
85
  'GetZonesZoneExternalMasterResult',
74
86
  'GetZonesZoneNameserverResult',
75
87
  'GetZonesZoneZoneTransferServerResult',
76
88
  ]
77
89
 
90
+ @pulumi.output_type
91
+ class ActionCreateZoneFromZoneFileDnssecConfig(dict):
92
+ @staticmethod
93
+ def __key_warning(key: str):
94
+ suggest = None
95
+ if key == "kskDnssecKeyVersions":
96
+ suggest = "ksk_dnssec_key_versions"
97
+ elif key == "zskDnssecKeyVersions":
98
+ suggest = "zsk_dnssec_key_versions"
99
+
100
+ if suggest:
101
+ pulumi.log.warn(f"Key '{key}' not found in ActionCreateZoneFromZoneFileDnssecConfig. Access the value via the '{suggest}' property getter instead.")
102
+
103
+ def __getitem__(self, key: str) -> Any:
104
+ ActionCreateZoneFromZoneFileDnssecConfig.__key_warning(key)
105
+ return super().__getitem__(key)
106
+
107
+ def get(self, key: str, default = None) -> Any:
108
+ ActionCreateZoneFromZoneFileDnssecConfig.__key_warning(key)
109
+ return super().get(key, default)
110
+
111
+ def __init__(__self__, *,
112
+ ksk_dnssec_key_versions: Optional[Sequence['outputs.ActionCreateZoneFromZoneFileDnssecConfigKskDnssecKeyVersion']] = None,
113
+ zsk_dnssec_key_versions: Optional[Sequence['outputs.ActionCreateZoneFromZoneFileDnssecConfigZskDnssecKeyVersion']] = None):
114
+ if ksk_dnssec_key_versions is not None:
115
+ pulumi.set(__self__, "ksk_dnssec_key_versions", ksk_dnssec_key_versions)
116
+ if zsk_dnssec_key_versions is not None:
117
+ pulumi.set(__self__, "zsk_dnssec_key_versions", zsk_dnssec_key_versions)
118
+
119
+ @property
120
+ @pulumi.getter(name="kskDnssecKeyVersions")
121
+ def ksk_dnssec_key_versions(self) -> Optional[Sequence['outputs.ActionCreateZoneFromZoneFileDnssecConfigKskDnssecKeyVersion']]:
122
+ return pulumi.get(self, "ksk_dnssec_key_versions")
123
+
124
+ @property
125
+ @pulumi.getter(name="zskDnssecKeyVersions")
126
+ def zsk_dnssec_key_versions(self) -> Optional[Sequence['outputs.ActionCreateZoneFromZoneFileDnssecConfigZskDnssecKeyVersion']]:
127
+ return pulumi.get(self, "zsk_dnssec_key_versions")
128
+
129
+
130
+ @pulumi.output_type
131
+ class ActionCreateZoneFromZoneFileDnssecConfigKskDnssecKeyVersion(dict):
132
+ @staticmethod
133
+ def __key_warning(key: str):
134
+ suggest = None
135
+ if key == "dsDatas":
136
+ suggest = "ds_datas"
137
+ elif key == "keyTag":
138
+ suggest = "key_tag"
139
+ elif key == "lengthInBytes":
140
+ suggest = "length_in_bytes"
141
+ elif key == "predecessorDnssecKeyVersionUuid":
142
+ suggest = "predecessor_dnssec_key_version_uuid"
143
+ elif key == "successorDnssecKeyVersionUuid":
144
+ suggest = "successor_dnssec_key_version_uuid"
145
+ elif key == "timeActivated":
146
+ suggest = "time_activated"
147
+ elif key == "timeCreated":
148
+ suggest = "time_created"
149
+ elif key == "timeExpired":
150
+ suggest = "time_expired"
151
+ elif key == "timeInactivated":
152
+ suggest = "time_inactivated"
153
+ elif key == "timePromoted":
154
+ suggest = "time_promoted"
155
+ elif key == "timePublished":
156
+ suggest = "time_published"
157
+ elif key == "timeUnpublished":
158
+ suggest = "time_unpublished"
159
+
160
+ if suggest:
161
+ pulumi.log.warn(f"Key '{key}' not found in ActionCreateZoneFromZoneFileDnssecConfigKskDnssecKeyVersion. Access the value via the '{suggest}' property getter instead.")
162
+
163
+ def __getitem__(self, key: str) -> Any:
164
+ ActionCreateZoneFromZoneFileDnssecConfigKskDnssecKeyVersion.__key_warning(key)
165
+ return super().__getitem__(key)
166
+
167
+ def get(self, key: str, default = None) -> Any:
168
+ ActionCreateZoneFromZoneFileDnssecConfigKskDnssecKeyVersion.__key_warning(key)
169
+ return super().get(key, default)
170
+
171
+ def __init__(__self__, *,
172
+ algorithm: Optional[str] = None,
173
+ ds_datas: Optional[Sequence['outputs.ActionCreateZoneFromZoneFileDnssecConfigKskDnssecKeyVersionDsData']] = None,
174
+ key_tag: Optional[int] = None,
175
+ length_in_bytes: Optional[int] = None,
176
+ predecessor_dnssec_key_version_uuid: Optional[str] = None,
177
+ successor_dnssec_key_version_uuid: Optional[str] = None,
178
+ time_activated: Optional[str] = None,
179
+ time_created: Optional[str] = None,
180
+ time_expired: Optional[str] = None,
181
+ time_inactivated: Optional[str] = None,
182
+ time_promoted: Optional[str] = None,
183
+ time_published: Optional[str] = None,
184
+ time_unpublished: Optional[str] = None,
185
+ uuid: Optional[str] = None):
186
+ """
187
+ :param str time_created: The date and time the resource was created in "YYYY-MM-ddThh:mm:ssZ" format with a Z offset, as defined by RFC 3339.
188
+ """
189
+ if algorithm is not None:
190
+ pulumi.set(__self__, "algorithm", algorithm)
191
+ if ds_datas is not None:
192
+ pulumi.set(__self__, "ds_datas", ds_datas)
193
+ if key_tag is not None:
194
+ pulumi.set(__self__, "key_tag", key_tag)
195
+ if length_in_bytes is not None:
196
+ pulumi.set(__self__, "length_in_bytes", length_in_bytes)
197
+ if predecessor_dnssec_key_version_uuid is not None:
198
+ pulumi.set(__self__, "predecessor_dnssec_key_version_uuid", predecessor_dnssec_key_version_uuid)
199
+ if successor_dnssec_key_version_uuid is not None:
200
+ pulumi.set(__self__, "successor_dnssec_key_version_uuid", successor_dnssec_key_version_uuid)
201
+ if time_activated is not None:
202
+ pulumi.set(__self__, "time_activated", time_activated)
203
+ if time_created is not None:
204
+ pulumi.set(__self__, "time_created", time_created)
205
+ if time_expired is not None:
206
+ pulumi.set(__self__, "time_expired", time_expired)
207
+ if time_inactivated is not None:
208
+ pulumi.set(__self__, "time_inactivated", time_inactivated)
209
+ if time_promoted is not None:
210
+ pulumi.set(__self__, "time_promoted", time_promoted)
211
+ if time_published is not None:
212
+ pulumi.set(__self__, "time_published", time_published)
213
+ if time_unpublished is not None:
214
+ pulumi.set(__self__, "time_unpublished", time_unpublished)
215
+ if uuid is not None:
216
+ pulumi.set(__self__, "uuid", uuid)
217
+
218
+ @property
219
+ @pulumi.getter
220
+ def algorithm(self) -> Optional[str]:
221
+ return pulumi.get(self, "algorithm")
222
+
223
+ @property
224
+ @pulumi.getter(name="dsDatas")
225
+ def ds_datas(self) -> Optional[Sequence['outputs.ActionCreateZoneFromZoneFileDnssecConfigKskDnssecKeyVersionDsData']]:
226
+ return pulumi.get(self, "ds_datas")
227
+
228
+ @property
229
+ @pulumi.getter(name="keyTag")
230
+ def key_tag(self) -> Optional[int]:
231
+ return pulumi.get(self, "key_tag")
232
+
233
+ @property
234
+ @pulumi.getter(name="lengthInBytes")
235
+ def length_in_bytes(self) -> Optional[int]:
236
+ return pulumi.get(self, "length_in_bytes")
237
+
238
+ @property
239
+ @pulumi.getter(name="predecessorDnssecKeyVersionUuid")
240
+ def predecessor_dnssec_key_version_uuid(self) -> Optional[str]:
241
+ return pulumi.get(self, "predecessor_dnssec_key_version_uuid")
242
+
243
+ @property
244
+ @pulumi.getter(name="successorDnssecKeyVersionUuid")
245
+ def successor_dnssec_key_version_uuid(self) -> Optional[str]:
246
+ return pulumi.get(self, "successor_dnssec_key_version_uuid")
247
+
248
+ @property
249
+ @pulumi.getter(name="timeActivated")
250
+ def time_activated(self) -> Optional[str]:
251
+ return pulumi.get(self, "time_activated")
252
+
253
+ @property
254
+ @pulumi.getter(name="timeCreated")
255
+ def time_created(self) -> Optional[str]:
256
+ """
257
+ The date and time the resource was created in "YYYY-MM-ddThh:mm:ssZ" format with a Z offset, as defined by RFC 3339.
258
+ """
259
+ return pulumi.get(self, "time_created")
260
+
261
+ @property
262
+ @pulumi.getter(name="timeExpired")
263
+ def time_expired(self) -> Optional[str]:
264
+ return pulumi.get(self, "time_expired")
265
+
266
+ @property
267
+ @pulumi.getter(name="timeInactivated")
268
+ def time_inactivated(self) -> Optional[str]:
269
+ return pulumi.get(self, "time_inactivated")
270
+
271
+ @property
272
+ @pulumi.getter(name="timePromoted")
273
+ def time_promoted(self) -> Optional[str]:
274
+ return pulumi.get(self, "time_promoted")
275
+
276
+ @property
277
+ @pulumi.getter(name="timePublished")
278
+ def time_published(self) -> Optional[str]:
279
+ return pulumi.get(self, "time_published")
280
+
281
+ @property
282
+ @pulumi.getter(name="timeUnpublished")
283
+ def time_unpublished(self) -> Optional[str]:
284
+ return pulumi.get(self, "time_unpublished")
285
+
286
+ @property
287
+ @pulumi.getter
288
+ def uuid(self) -> Optional[str]:
289
+ return pulumi.get(self, "uuid")
290
+
291
+
292
+ @pulumi.output_type
293
+ class ActionCreateZoneFromZoneFileDnssecConfigKskDnssecKeyVersionDsData(dict):
294
+ @staticmethod
295
+ def __key_warning(key: str):
296
+ suggest = None
297
+ if key == "digestType":
298
+ suggest = "digest_type"
299
+
300
+ if suggest:
301
+ pulumi.log.warn(f"Key '{key}' not found in ActionCreateZoneFromZoneFileDnssecConfigKskDnssecKeyVersionDsData. Access the value via the '{suggest}' property getter instead.")
302
+
303
+ def __getitem__(self, key: str) -> Any:
304
+ ActionCreateZoneFromZoneFileDnssecConfigKskDnssecKeyVersionDsData.__key_warning(key)
305
+ return super().__getitem__(key)
306
+
307
+ def get(self, key: str, default = None) -> Any:
308
+ ActionCreateZoneFromZoneFileDnssecConfigKskDnssecKeyVersionDsData.__key_warning(key)
309
+ return super().get(key, default)
310
+
311
+ def __init__(__self__, *,
312
+ digest_type: Optional[str] = None,
313
+ rdata: Optional[str] = None):
314
+ if digest_type is not None:
315
+ pulumi.set(__self__, "digest_type", digest_type)
316
+ if rdata is not None:
317
+ pulumi.set(__self__, "rdata", rdata)
318
+
319
+ @property
320
+ @pulumi.getter(name="digestType")
321
+ def digest_type(self) -> Optional[str]:
322
+ return pulumi.get(self, "digest_type")
323
+
324
+ @property
325
+ @pulumi.getter
326
+ def rdata(self) -> Optional[str]:
327
+ return pulumi.get(self, "rdata")
328
+
329
+
330
+ @pulumi.output_type
331
+ class ActionCreateZoneFromZoneFileDnssecConfigZskDnssecKeyVersion(dict):
332
+ @staticmethod
333
+ def __key_warning(key: str):
334
+ suggest = None
335
+ if key == "keyTag":
336
+ suggest = "key_tag"
337
+ elif key == "lengthInBytes":
338
+ suggest = "length_in_bytes"
339
+ elif key == "predecessorDnssecKeyVersionUuid":
340
+ suggest = "predecessor_dnssec_key_version_uuid"
341
+ elif key == "successorDnssecKeyVersionUuid":
342
+ suggest = "successor_dnssec_key_version_uuid"
343
+ elif key == "timeActivated":
344
+ suggest = "time_activated"
345
+ elif key == "timeCreated":
346
+ suggest = "time_created"
347
+ elif key == "timeExpired":
348
+ suggest = "time_expired"
349
+ elif key == "timeInactivated":
350
+ suggest = "time_inactivated"
351
+ elif key == "timePromoted":
352
+ suggest = "time_promoted"
353
+ elif key == "timePublished":
354
+ suggest = "time_published"
355
+ elif key == "timeUnpublished":
356
+ suggest = "time_unpublished"
357
+
358
+ if suggest:
359
+ pulumi.log.warn(f"Key '{key}' not found in ActionCreateZoneFromZoneFileDnssecConfigZskDnssecKeyVersion. Access the value via the '{suggest}' property getter instead.")
360
+
361
+ def __getitem__(self, key: str) -> Any:
362
+ ActionCreateZoneFromZoneFileDnssecConfigZskDnssecKeyVersion.__key_warning(key)
363
+ return super().__getitem__(key)
364
+
365
+ def get(self, key: str, default = None) -> Any:
366
+ ActionCreateZoneFromZoneFileDnssecConfigZskDnssecKeyVersion.__key_warning(key)
367
+ return super().get(key, default)
368
+
369
+ def __init__(__self__, *,
370
+ algorithm: Optional[str] = None,
371
+ key_tag: Optional[int] = None,
372
+ length_in_bytes: Optional[int] = None,
373
+ predecessor_dnssec_key_version_uuid: Optional[str] = None,
374
+ successor_dnssec_key_version_uuid: Optional[str] = None,
375
+ time_activated: Optional[str] = None,
376
+ time_created: Optional[str] = None,
377
+ time_expired: Optional[str] = None,
378
+ time_inactivated: Optional[str] = None,
379
+ time_promoted: Optional[str] = None,
380
+ time_published: Optional[str] = None,
381
+ time_unpublished: Optional[str] = None,
382
+ uuid: Optional[str] = None):
383
+ """
384
+ :param str time_created: The date and time the resource was created in "YYYY-MM-ddThh:mm:ssZ" format with a Z offset, as defined by RFC 3339.
385
+ """
386
+ if algorithm is not None:
387
+ pulumi.set(__self__, "algorithm", algorithm)
388
+ if key_tag is not None:
389
+ pulumi.set(__self__, "key_tag", key_tag)
390
+ if length_in_bytes is not None:
391
+ pulumi.set(__self__, "length_in_bytes", length_in_bytes)
392
+ if predecessor_dnssec_key_version_uuid is not None:
393
+ pulumi.set(__self__, "predecessor_dnssec_key_version_uuid", predecessor_dnssec_key_version_uuid)
394
+ if successor_dnssec_key_version_uuid is not None:
395
+ pulumi.set(__self__, "successor_dnssec_key_version_uuid", successor_dnssec_key_version_uuid)
396
+ if time_activated is not None:
397
+ pulumi.set(__self__, "time_activated", time_activated)
398
+ if time_created is not None:
399
+ pulumi.set(__self__, "time_created", time_created)
400
+ if time_expired is not None:
401
+ pulumi.set(__self__, "time_expired", time_expired)
402
+ if time_inactivated is not None:
403
+ pulumi.set(__self__, "time_inactivated", time_inactivated)
404
+ if time_promoted is not None:
405
+ pulumi.set(__self__, "time_promoted", time_promoted)
406
+ if time_published is not None:
407
+ pulumi.set(__self__, "time_published", time_published)
408
+ if time_unpublished is not None:
409
+ pulumi.set(__self__, "time_unpublished", time_unpublished)
410
+ if uuid is not None:
411
+ pulumi.set(__self__, "uuid", uuid)
412
+
413
+ @property
414
+ @pulumi.getter
415
+ def algorithm(self) -> Optional[str]:
416
+ return pulumi.get(self, "algorithm")
417
+
418
+ @property
419
+ @pulumi.getter(name="keyTag")
420
+ def key_tag(self) -> Optional[int]:
421
+ return pulumi.get(self, "key_tag")
422
+
423
+ @property
424
+ @pulumi.getter(name="lengthInBytes")
425
+ def length_in_bytes(self) -> Optional[int]:
426
+ return pulumi.get(self, "length_in_bytes")
427
+
428
+ @property
429
+ @pulumi.getter(name="predecessorDnssecKeyVersionUuid")
430
+ def predecessor_dnssec_key_version_uuid(self) -> Optional[str]:
431
+ return pulumi.get(self, "predecessor_dnssec_key_version_uuid")
432
+
433
+ @property
434
+ @pulumi.getter(name="successorDnssecKeyVersionUuid")
435
+ def successor_dnssec_key_version_uuid(self) -> Optional[str]:
436
+ return pulumi.get(self, "successor_dnssec_key_version_uuid")
437
+
438
+ @property
439
+ @pulumi.getter(name="timeActivated")
440
+ def time_activated(self) -> Optional[str]:
441
+ return pulumi.get(self, "time_activated")
442
+
443
+ @property
444
+ @pulumi.getter(name="timeCreated")
445
+ def time_created(self) -> Optional[str]:
446
+ """
447
+ The date and time the resource was created in "YYYY-MM-ddThh:mm:ssZ" format with a Z offset, as defined by RFC 3339.
448
+ """
449
+ return pulumi.get(self, "time_created")
450
+
451
+ @property
452
+ @pulumi.getter(name="timeExpired")
453
+ def time_expired(self) -> Optional[str]:
454
+ return pulumi.get(self, "time_expired")
455
+
456
+ @property
457
+ @pulumi.getter(name="timeInactivated")
458
+ def time_inactivated(self) -> Optional[str]:
459
+ return pulumi.get(self, "time_inactivated")
460
+
461
+ @property
462
+ @pulumi.getter(name="timePromoted")
463
+ def time_promoted(self) -> Optional[str]:
464
+ return pulumi.get(self, "time_promoted")
465
+
466
+ @property
467
+ @pulumi.getter(name="timePublished")
468
+ def time_published(self) -> Optional[str]:
469
+ return pulumi.get(self, "time_published")
470
+
471
+ @property
472
+ @pulumi.getter(name="timeUnpublished")
473
+ def time_unpublished(self) -> Optional[str]:
474
+ return pulumi.get(self, "time_unpublished")
475
+
476
+ @property
477
+ @pulumi.getter
478
+ def uuid(self) -> Optional[str]:
479
+ return pulumi.get(self, "uuid")
480
+
481
+
78
482
  @pulumi.output_type
79
483
  class ActionCreateZoneFromZoneFileExternalDownstream(dict):
80
484
  @staticmethod
@@ -542,7 +946,7 @@ class ResolverRule(dict):
542
946
  :param str action: (Updatable) The action determines the behavior of the rule. If a query matches a supplied condition, the action will apply. If there are no conditions on the rule, all queries are subject to the specified action.
543
947
  * `FORWARD` - Matching requests will be forwarded from the source interface to the destination address.
544
948
  :param Sequence[str] destination_addresses: (Updatable) IP addresses to which queries should be forwarded. Currently limited to a single address.
545
- :param str source_endpoint_name: (Updatable) Name of an endpoint, that is a sub-resource of the resolver, to use as the forwarding interface. The endpoint must have isForwarding set to true.
949
+ :param str source_endpoint_name: (Updatable) Case-insensitive name of an endpoint, that is a sub-resource of the resolver, to use as the forwarding interface. The endpoint must have isForwarding set to true.
546
950
  :param Sequence[str] client_address_conditions: (Updatable) A list of CIDR blocks. The query must come from a client within one of the blocks in order for the rule action to apply.
547
951
  :param Sequence[str] qname_cover_conditions: (Updatable) A list of domain names. The query must be covered by one of the domains in order for the rule action to apply.
548
952
  """
@@ -575,7 +979,7 @@ class ResolverRule(dict):
575
979
  @pulumi.getter(name="sourceEndpointName")
576
980
  def source_endpoint_name(self) -> str:
577
981
  """
578
- (Updatable) Name of an endpoint, that is a sub-resource of the resolver, to use as the forwarding interface. The endpoint must have isForwarding set to true.
982
+ (Updatable) Case-insensitive name of an endpoint, that is a sub-resource of the resolver, to use as the forwarding interface. The endpoint must have isForwarding set to true.
579
983
  """
580
984
  return pulumi.get(self, "source_endpoint_name")
581
985
 
@@ -630,8 +1034,8 @@ class RrsetItem(dict):
630
1034
  """
631
1035
  :param str domain: The fully qualified domain name where the record can be located.
632
1036
  :param str rdata: (Updatable) The record's data, as whitespace-delimited tokens in type-specific presentation format. All RDATA is normalized and the returned presentation of your RDATA may differ from its initial input. For more information about RDATA, see [Supported DNS Resource Record Types](https://docs.cloud.oracle.com/iaas/Content/DNS/Reference/supporteddnsresource.htm)
633
- :param str rtype: The canonical name for the record's type, such as A or CNAME. For more information, see [Resource Record (RR) TYPEs](https://www.iana.org/assignments/dns-parameters/dns-parameters.xhtml#dns-parameters-4).
634
- :param int ttl: (Updatable) The Time To Live for the record, in seconds.
1037
+ :param str rtype: The type of DNS record, such as A or CNAME. For more information, see [Resource Record (RR) TYPEs](https://www.iana.org/assignments/dns-parameters/dns-parameters.xhtml#dns-parameters-4).
1038
+ :param int ttl: (Updatable) The Time To Live for the record, in seconds. Using a TTL lower than 30 seconds is not recommended.
635
1039
  :param bool is_protected: A Boolean flag indicating whether or not parts of the record are unable to be explicitly managed.
636
1040
  :param str record_hash: A unique identifier for the record within its zone.
637
1041
  :param str rrset_version: The latest version of the record's zone in which its RRSet differs from the preceding version.
@@ -667,7 +1071,7 @@ class RrsetItem(dict):
667
1071
  @pulumi.getter
668
1072
  def rtype(self) -> str:
669
1073
  """
670
- The canonical name for the record's type, such as A or CNAME. For more information, see [Resource Record (RR) TYPEs](https://www.iana.org/assignments/dns-parameters/dns-parameters.xhtml#dns-parameters-4).
1074
+ The type of DNS record, such as A or CNAME. For more information, see [Resource Record (RR) TYPEs](https://www.iana.org/assignments/dns-parameters/dns-parameters.xhtml#dns-parameters-4).
671
1075
  """
672
1076
  return pulumi.get(self, "rtype")
673
1077
 
@@ -675,7 +1079,7 @@ class RrsetItem(dict):
675
1079
  @pulumi.getter
676
1080
  def ttl(self) -> int:
677
1081
  """
678
- (Updatable) The Time To Live for the record, in seconds.
1082
+ (Updatable) The Time To Live for the record, in seconds. Using a TTL lower than 30 seconds is not recommended.
679
1083
  """
680
1084
  return pulumi.get(self, "ttl")
681
1085
 
@@ -909,7 +1313,7 @@ class SteeringPolicyRuleCase(dict):
909
1313
  count: Optional[int] = None):
910
1314
  """
911
1315
  :param Sequence['SteeringPolicyRuleCaseAnswerDataArgs'] answer_datas: An array of `SteeringPolicyPriorityAnswerData` objects.
912
- :param str case_condition: An expression that uses conditions at the time of a DNS query to indicate whether a case matches. Conditions may include the geographical location, IP subnet, or ASN the DNS query originated. **Example:** If you have an office that uses the subnet `192.0.2.0/24` you could use a `caseCondition` expression `query.client.subnet in ('192.0.2.0/24')` to define a case that matches queries from that office.
1316
+ :param str case_condition: An expression that uses conditions at the time of a DNS query to indicate whether a case matches. Conditions may include the geographical location, IP subnet, or ASN the DNS query originated. **Example:** If you have an office that uses the subnet `192.0.2.0/24` you could use a `caseCondition` expression `query.client.address in ('192.0.2.0/24')` to define a case that matches queries from that office.
913
1317
  :param int count: The number of answers allowed to remain after the limit rule has been processed, keeping only the first of the remaining answers in the list. Example: If the `count` property is set to `2` and four answers remain before the limit rule is processed, only the first two answers in the list will remain after the limit rule has been processed.
914
1318
  """
915
1319
  if answer_datas is not None:
@@ -931,7 +1335,7 @@ class SteeringPolicyRuleCase(dict):
931
1335
  @pulumi.getter(name="caseCondition")
932
1336
  def case_condition(self) -> Optional[str]:
933
1337
  """
934
- An expression that uses conditions at the time of a DNS query to indicate whether a case matches. Conditions may include the geographical location, IP subnet, or ASN the DNS query originated. **Example:** If you have an office that uses the subnet `192.0.2.0/24` you could use a `caseCondition` expression `query.client.subnet in ('192.0.2.0/24')` to define a case that matches queries from that office.
1338
+ An expression that uses conditions at the time of a DNS query to indicate whether a case matches. Conditions may include the geographical location, IP subnet, or ASN the DNS query originated. **Example:** If you have an office that uses the subnet `192.0.2.0/24` you could use a `caseCondition` expression `query.client.address in ('192.0.2.0/24')` to define a case that matches queries from that office.
935
1339
  """
936
1340
  return pulumi.get(self, "case_condition")
937
1341
 
@@ -982,90 +1386,602 @@ class SteeringPolicyRuleCaseAnswerData(dict):
982
1386
  pulumi.set(__self__, "value", value)
983
1387
 
984
1388
  @property
985
- @pulumi.getter(name="answerCondition")
986
- def answer_condition(self) -> Optional[str]:
1389
+ @pulumi.getter(name="answerCondition")
1390
+ def answer_condition(self) -> Optional[str]:
1391
+ """
1392
+ An expression that is used to select a set of answers that match a condition. For example, answers with matching pool properties.
1393
+ """
1394
+ return pulumi.get(self, "answer_condition")
1395
+
1396
+ @property
1397
+ @pulumi.getter(name="shouldKeep")
1398
+ def should_keep(self) -> Optional[bool]:
1399
+ """
1400
+ Keeps the answer only if the value is `true`.
1401
+ """
1402
+ return pulumi.get(self, "should_keep")
1403
+
1404
+ @property
1405
+ @pulumi.getter
1406
+ def value(self) -> Optional[int]:
1407
+ """
1408
+ The rank assigned to the set of answers that match the expression in `answerCondition`. Answers with the lowest values move to the beginning of the list without changing the relative order of those with the same value. Answers can be given a value between `0` and `255`.
1409
+ """
1410
+ return pulumi.get(self, "value")
1411
+
1412
+
1413
+ @pulumi.output_type
1414
+ class SteeringPolicyRuleDefaultAnswerData(dict):
1415
+ @staticmethod
1416
+ def __key_warning(key: str):
1417
+ suggest = None
1418
+ if key == "answerCondition":
1419
+ suggest = "answer_condition"
1420
+ elif key == "shouldKeep":
1421
+ suggest = "should_keep"
1422
+
1423
+ if suggest:
1424
+ pulumi.log.warn(f"Key '{key}' not found in SteeringPolicyRuleDefaultAnswerData. Access the value via the '{suggest}' property getter instead.")
1425
+
1426
+ def __getitem__(self, key: str) -> Any:
1427
+ SteeringPolicyRuleDefaultAnswerData.__key_warning(key)
1428
+ return super().__getitem__(key)
1429
+
1430
+ def get(self, key: str, default = None) -> Any:
1431
+ SteeringPolicyRuleDefaultAnswerData.__key_warning(key)
1432
+ return super().get(key, default)
1433
+
1434
+ def __init__(__self__, *,
1435
+ answer_condition: Optional[str] = None,
1436
+ should_keep: Optional[bool] = None,
1437
+ value: Optional[int] = None):
1438
+ """
1439
+ :param str answer_condition: An expression that is used to select a set of answers that match a condition. For example, answers with matching pool properties.
1440
+ :param bool should_keep: Keeps the answer only if the value is `true`.
1441
+ :param int value: The rank assigned to the set of answers that match the expression in `answerCondition`. Answers with the lowest values move to the beginning of the list without changing the relative order of those with the same value. Answers can be given a value between `0` and `255`.
1442
+ """
1443
+ if answer_condition is not None:
1444
+ pulumi.set(__self__, "answer_condition", answer_condition)
1445
+ if should_keep is not None:
1446
+ pulumi.set(__self__, "should_keep", should_keep)
1447
+ if value is not None:
1448
+ pulumi.set(__self__, "value", value)
1449
+
1450
+ @property
1451
+ @pulumi.getter(name="answerCondition")
1452
+ def answer_condition(self) -> Optional[str]:
1453
+ """
1454
+ An expression that is used to select a set of answers that match a condition. For example, answers with matching pool properties.
1455
+ """
1456
+ return pulumi.get(self, "answer_condition")
1457
+
1458
+ @property
1459
+ @pulumi.getter(name="shouldKeep")
1460
+ def should_keep(self) -> Optional[bool]:
1461
+ """
1462
+ Keeps the answer only if the value is `true`.
1463
+ """
1464
+ return pulumi.get(self, "should_keep")
1465
+
1466
+ @property
1467
+ @pulumi.getter
1468
+ def value(self) -> Optional[int]:
1469
+ """
1470
+ The rank assigned to the set of answers that match the expression in `answerCondition`. Answers with the lowest values move to the beginning of the list without changing the relative order of those with the same value. Answers can be given a value between `0` and `255`.
1471
+ """
1472
+ return pulumi.get(self, "value")
1473
+
1474
+
1475
+ @pulumi.output_type
1476
+ class ZoneDnssecConfig(dict):
1477
+ @staticmethod
1478
+ def __key_warning(key: str):
1479
+ suggest = None
1480
+ if key == "kskDnssecKeyVersions":
1481
+ suggest = "ksk_dnssec_key_versions"
1482
+ elif key == "zskDnssecKeyVersions":
1483
+ suggest = "zsk_dnssec_key_versions"
1484
+
1485
+ if suggest:
1486
+ pulumi.log.warn(f"Key '{key}' not found in ZoneDnssecConfig. Access the value via the '{suggest}' property getter instead.")
1487
+
1488
+ def __getitem__(self, key: str) -> Any:
1489
+ ZoneDnssecConfig.__key_warning(key)
1490
+ return super().__getitem__(key)
1491
+
1492
+ def get(self, key: str, default = None) -> Any:
1493
+ ZoneDnssecConfig.__key_warning(key)
1494
+ return super().get(key, default)
1495
+
1496
+ def __init__(__self__, *,
1497
+ ksk_dnssec_key_versions: Optional[Sequence['outputs.ZoneDnssecConfigKskDnssecKeyVersion']] = None,
1498
+ zsk_dnssec_key_versions: Optional[Sequence['outputs.ZoneDnssecConfigZskDnssecKeyVersion']] = None):
1499
+ """
1500
+ :param Sequence['ZoneDnssecConfigKskDnssecKeyVersionArgs'] ksk_dnssec_key_versions: A read-only array of key signing key (KSK) versions.
1501
+ :param Sequence['ZoneDnssecConfigZskDnssecKeyVersionArgs'] zsk_dnssec_key_versions: A read-only array of zone signing key (ZSK) versions.
1502
+ """
1503
+ if ksk_dnssec_key_versions is not None:
1504
+ pulumi.set(__self__, "ksk_dnssec_key_versions", ksk_dnssec_key_versions)
1505
+ if zsk_dnssec_key_versions is not None:
1506
+ pulumi.set(__self__, "zsk_dnssec_key_versions", zsk_dnssec_key_versions)
1507
+
1508
+ @property
1509
+ @pulumi.getter(name="kskDnssecKeyVersions")
1510
+ def ksk_dnssec_key_versions(self) -> Optional[Sequence['outputs.ZoneDnssecConfigKskDnssecKeyVersion']]:
1511
+ """
1512
+ A read-only array of key signing key (KSK) versions.
1513
+ """
1514
+ return pulumi.get(self, "ksk_dnssec_key_versions")
1515
+
1516
+ @property
1517
+ @pulumi.getter(name="zskDnssecKeyVersions")
1518
+ def zsk_dnssec_key_versions(self) -> Optional[Sequence['outputs.ZoneDnssecConfigZskDnssecKeyVersion']]:
1519
+ """
1520
+ A read-only array of zone signing key (ZSK) versions.
1521
+ """
1522
+ return pulumi.get(self, "zsk_dnssec_key_versions")
1523
+
1524
+
1525
+ @pulumi.output_type
1526
+ class ZoneDnssecConfigKskDnssecKeyVersion(dict):
1527
+ @staticmethod
1528
+ def __key_warning(key: str):
1529
+ suggest = None
1530
+ if key == "dsDatas":
1531
+ suggest = "ds_datas"
1532
+ elif key == "keyTag":
1533
+ suggest = "key_tag"
1534
+ elif key == "lengthInBytes":
1535
+ suggest = "length_in_bytes"
1536
+ elif key == "predecessorDnssecKeyVersionUuid":
1537
+ suggest = "predecessor_dnssec_key_version_uuid"
1538
+ elif key == "successorDnssecKeyVersionUuid":
1539
+ suggest = "successor_dnssec_key_version_uuid"
1540
+ elif key == "timeActivated":
1541
+ suggest = "time_activated"
1542
+ elif key == "timeCreated":
1543
+ suggest = "time_created"
1544
+ elif key == "timeExpired":
1545
+ suggest = "time_expired"
1546
+ elif key == "timeInactivated":
1547
+ suggest = "time_inactivated"
1548
+ elif key == "timePromoted":
1549
+ suggest = "time_promoted"
1550
+ elif key == "timePublished":
1551
+ suggest = "time_published"
1552
+ elif key == "timeUnpublished":
1553
+ suggest = "time_unpublished"
1554
+
1555
+ if suggest:
1556
+ pulumi.log.warn(f"Key '{key}' not found in ZoneDnssecConfigKskDnssecKeyVersion. Access the value via the '{suggest}' property getter instead.")
1557
+
1558
+ def __getitem__(self, key: str) -> Any:
1559
+ ZoneDnssecConfigKskDnssecKeyVersion.__key_warning(key)
1560
+ return super().__getitem__(key)
1561
+
1562
+ def get(self, key: str, default = None) -> Any:
1563
+ ZoneDnssecConfigKskDnssecKeyVersion.__key_warning(key)
1564
+ return super().get(key, default)
1565
+
1566
+ def __init__(__self__, *,
1567
+ algorithm: Optional[str] = None,
1568
+ ds_datas: Optional[Sequence['outputs.ZoneDnssecConfigKskDnssecKeyVersionDsData']] = None,
1569
+ key_tag: Optional[int] = None,
1570
+ length_in_bytes: Optional[int] = None,
1571
+ predecessor_dnssec_key_version_uuid: Optional[str] = None,
1572
+ successor_dnssec_key_version_uuid: Optional[str] = None,
1573
+ time_activated: Optional[str] = None,
1574
+ time_created: Optional[str] = None,
1575
+ time_expired: Optional[str] = None,
1576
+ time_inactivated: Optional[str] = None,
1577
+ time_promoted: Optional[str] = None,
1578
+ time_published: Optional[str] = None,
1579
+ time_unpublished: Optional[str] = None,
1580
+ uuid: Optional[str] = None):
1581
+ """
1582
+ :param str algorithm: The signing algorithm used for the key.
1583
+ :param Sequence['ZoneDnssecConfigKskDnssecKeyVersionDsDataArgs'] ds_datas: An array of data for DS records corresponding with this key version. An entry will exist for each supported DS digest algorithm.
1584
+ :param int key_tag: The key tag associated with the `DnssecKeyVersion`. This key tag will be present in the RRSIG and DS records associated with the key material for this `DnssecKeyVersion`. For more information about key tags, see [RFC 4034](https://tools.ietf.org/html/rfc4034).
1585
+ :param int length_in_bytes: The length of the corresponding private key in bytes, expressed as an integer.
1586
+ :param str predecessor_dnssec_key_version_uuid: When populated, this is the UUID of the `DnssecKeyVersion` that this `DnssecKeyVersion` will replace or has replaced.
1587
+ :param str successor_dnssec_key_version_uuid: When populated, this is the UUID of the `DnssecKeyVersion` that will replace, or has replaced, this `DnssecKeyVersion`.
1588
+ :param str time_activated: The date and time the key version went, or will go, active, expressed in RFC 3339 timestamp format. This is when the key material will be used to generate RRSIGs.
1589
+ :param str time_created: The date and time the resource was created in "YYYY-MM-ddThh:mm:ssZ" format with a Z offset, as defined by RFC 3339.
1590
+ :param str time_expired: The date and time at which the recommended key version publication/activation lifetime ends, expressed in RFC 3339 timestamp format. This is when the corresponding DNSKEY should no longer exist in zone contents and no longer be used to generate RRSIGs. For a key sigining key (KSK), if `PromoteZoneDnssecKeyVersion` has not been called on this `DnssecKeyVersion`'s successor then it will remain active for arbitrarily long past its recommended lifetime. This prevents service disruption at the potential increased risk of key compromise.
1591
+ :param str time_inactivated: The date and time the key version went, or will go, inactive, expressed in RFC 3339 timestamp format. This is when the key material will no longer be used to generate RRSIGs. For a key signing key (KSK) `DnssecKeyVersion`, this is populated after `PromoteZoneDnssecKeyVersion` has been called on its successor `DnssecKeyVersion`.
1592
+ :param str time_promoted: The date and time the key version was promoted expressed in RFC 3339 timestamp format.
1593
+ :param str time_published: The date and time the key version was, or will be, published, expressed in RFC 3339 timestamp format. This is when the zone contents will include a DNSKEY record corresponding to the key material.
1594
+ :param str time_unpublished: The date and time the key version was, or will be, unpublished, expressed in RFC 3339 timestamp format. This is when the corresponding DNSKEY will be removed from zone contents. For a key signing key (KSK) `DnssecKeyVersion`, this is populated after `PromoteZoneDnssecKeyVersion` has been called on its successor `DnssecKeyVersion`.
1595
+ :param str uuid: The UUID of the `DnssecKeyVersion`.
1596
+ """
1597
+ if algorithm is not None:
1598
+ pulumi.set(__self__, "algorithm", algorithm)
1599
+ if ds_datas is not None:
1600
+ pulumi.set(__self__, "ds_datas", ds_datas)
1601
+ if key_tag is not None:
1602
+ pulumi.set(__self__, "key_tag", key_tag)
1603
+ if length_in_bytes is not None:
1604
+ pulumi.set(__self__, "length_in_bytes", length_in_bytes)
1605
+ if predecessor_dnssec_key_version_uuid is not None:
1606
+ pulumi.set(__self__, "predecessor_dnssec_key_version_uuid", predecessor_dnssec_key_version_uuid)
1607
+ if successor_dnssec_key_version_uuid is not None:
1608
+ pulumi.set(__self__, "successor_dnssec_key_version_uuid", successor_dnssec_key_version_uuid)
1609
+ if time_activated is not None:
1610
+ pulumi.set(__self__, "time_activated", time_activated)
1611
+ if time_created is not None:
1612
+ pulumi.set(__self__, "time_created", time_created)
1613
+ if time_expired is not None:
1614
+ pulumi.set(__self__, "time_expired", time_expired)
1615
+ if time_inactivated is not None:
1616
+ pulumi.set(__self__, "time_inactivated", time_inactivated)
1617
+ if time_promoted is not None:
1618
+ pulumi.set(__self__, "time_promoted", time_promoted)
1619
+ if time_published is not None:
1620
+ pulumi.set(__self__, "time_published", time_published)
1621
+ if time_unpublished is not None:
1622
+ pulumi.set(__self__, "time_unpublished", time_unpublished)
1623
+ if uuid is not None:
1624
+ pulumi.set(__self__, "uuid", uuid)
1625
+
1626
+ @property
1627
+ @pulumi.getter
1628
+ def algorithm(self) -> Optional[str]:
1629
+ """
1630
+ The signing algorithm used for the key.
1631
+ """
1632
+ return pulumi.get(self, "algorithm")
1633
+
1634
+ @property
1635
+ @pulumi.getter(name="dsDatas")
1636
+ def ds_datas(self) -> Optional[Sequence['outputs.ZoneDnssecConfigKskDnssecKeyVersionDsData']]:
1637
+ """
1638
+ An array of data for DS records corresponding with this key version. An entry will exist for each supported DS digest algorithm.
1639
+ """
1640
+ return pulumi.get(self, "ds_datas")
1641
+
1642
+ @property
1643
+ @pulumi.getter(name="keyTag")
1644
+ def key_tag(self) -> Optional[int]:
1645
+ """
1646
+ The key tag associated with the `DnssecKeyVersion`. This key tag will be present in the RRSIG and DS records associated with the key material for this `DnssecKeyVersion`. For more information about key tags, see [RFC 4034](https://tools.ietf.org/html/rfc4034).
1647
+ """
1648
+ return pulumi.get(self, "key_tag")
1649
+
1650
+ @property
1651
+ @pulumi.getter(name="lengthInBytes")
1652
+ def length_in_bytes(self) -> Optional[int]:
1653
+ """
1654
+ The length of the corresponding private key in bytes, expressed as an integer.
1655
+ """
1656
+ return pulumi.get(self, "length_in_bytes")
1657
+
1658
+ @property
1659
+ @pulumi.getter(name="predecessorDnssecKeyVersionUuid")
1660
+ def predecessor_dnssec_key_version_uuid(self) -> Optional[str]:
1661
+ """
1662
+ When populated, this is the UUID of the `DnssecKeyVersion` that this `DnssecKeyVersion` will replace or has replaced.
1663
+ """
1664
+ return pulumi.get(self, "predecessor_dnssec_key_version_uuid")
1665
+
1666
+ @property
1667
+ @pulumi.getter(name="successorDnssecKeyVersionUuid")
1668
+ def successor_dnssec_key_version_uuid(self) -> Optional[str]:
1669
+ """
1670
+ When populated, this is the UUID of the `DnssecKeyVersion` that will replace, or has replaced, this `DnssecKeyVersion`.
1671
+ """
1672
+ return pulumi.get(self, "successor_dnssec_key_version_uuid")
1673
+
1674
+ @property
1675
+ @pulumi.getter(name="timeActivated")
1676
+ def time_activated(self) -> Optional[str]:
1677
+ """
1678
+ The date and time the key version went, or will go, active, expressed in RFC 3339 timestamp format. This is when the key material will be used to generate RRSIGs.
1679
+ """
1680
+ return pulumi.get(self, "time_activated")
1681
+
1682
+ @property
1683
+ @pulumi.getter(name="timeCreated")
1684
+ def time_created(self) -> Optional[str]:
1685
+ """
1686
+ The date and time the resource was created in "YYYY-MM-ddThh:mm:ssZ" format with a Z offset, as defined by RFC 3339.
1687
+ """
1688
+ return pulumi.get(self, "time_created")
1689
+
1690
+ @property
1691
+ @pulumi.getter(name="timeExpired")
1692
+ def time_expired(self) -> Optional[str]:
1693
+ """
1694
+ The date and time at which the recommended key version publication/activation lifetime ends, expressed in RFC 3339 timestamp format. This is when the corresponding DNSKEY should no longer exist in zone contents and no longer be used to generate RRSIGs. For a key sigining key (KSK), if `PromoteZoneDnssecKeyVersion` has not been called on this `DnssecKeyVersion`'s successor then it will remain active for arbitrarily long past its recommended lifetime. This prevents service disruption at the potential increased risk of key compromise.
1695
+ """
1696
+ return pulumi.get(self, "time_expired")
1697
+
1698
+ @property
1699
+ @pulumi.getter(name="timeInactivated")
1700
+ def time_inactivated(self) -> Optional[str]:
1701
+ """
1702
+ The date and time the key version went, or will go, inactive, expressed in RFC 3339 timestamp format. This is when the key material will no longer be used to generate RRSIGs. For a key signing key (KSK) `DnssecKeyVersion`, this is populated after `PromoteZoneDnssecKeyVersion` has been called on its successor `DnssecKeyVersion`.
1703
+ """
1704
+ return pulumi.get(self, "time_inactivated")
1705
+
1706
+ @property
1707
+ @pulumi.getter(name="timePromoted")
1708
+ def time_promoted(self) -> Optional[str]:
1709
+ """
1710
+ The date and time the key version was promoted expressed in RFC 3339 timestamp format.
1711
+ """
1712
+ return pulumi.get(self, "time_promoted")
1713
+
1714
+ @property
1715
+ @pulumi.getter(name="timePublished")
1716
+ def time_published(self) -> Optional[str]:
1717
+ """
1718
+ The date and time the key version was, or will be, published, expressed in RFC 3339 timestamp format. This is when the zone contents will include a DNSKEY record corresponding to the key material.
1719
+ """
1720
+ return pulumi.get(self, "time_published")
1721
+
1722
+ @property
1723
+ @pulumi.getter(name="timeUnpublished")
1724
+ def time_unpublished(self) -> Optional[str]:
1725
+ """
1726
+ The date and time the key version was, or will be, unpublished, expressed in RFC 3339 timestamp format. This is when the corresponding DNSKEY will be removed from zone contents. For a key signing key (KSK) `DnssecKeyVersion`, this is populated after `PromoteZoneDnssecKeyVersion` has been called on its successor `DnssecKeyVersion`.
1727
+ """
1728
+ return pulumi.get(self, "time_unpublished")
1729
+
1730
+ @property
1731
+ @pulumi.getter
1732
+ def uuid(self) -> Optional[str]:
1733
+ """
1734
+ The UUID of the `DnssecKeyVersion`.
1735
+ """
1736
+ return pulumi.get(self, "uuid")
1737
+
1738
+
1739
+ @pulumi.output_type
1740
+ class ZoneDnssecConfigKskDnssecKeyVersionDsData(dict):
1741
+ @staticmethod
1742
+ def __key_warning(key: str):
1743
+ suggest = None
1744
+ if key == "digestType":
1745
+ suggest = "digest_type"
1746
+
1747
+ if suggest:
1748
+ pulumi.log.warn(f"Key '{key}' not found in ZoneDnssecConfigKskDnssecKeyVersionDsData. Access the value via the '{suggest}' property getter instead.")
1749
+
1750
+ def __getitem__(self, key: str) -> Any:
1751
+ ZoneDnssecConfigKskDnssecKeyVersionDsData.__key_warning(key)
1752
+ return super().__getitem__(key)
1753
+
1754
+ def get(self, key: str, default = None) -> Any:
1755
+ ZoneDnssecConfigKskDnssecKeyVersionDsData.__key_warning(key)
1756
+ return super().get(key, default)
1757
+
1758
+ def __init__(__self__, *,
1759
+ digest_type: Optional[str] = None,
1760
+ rdata: Optional[str] = None):
1761
+ """
1762
+ :param str digest_type: The type of the digest associated with the rdata.
1763
+ :param str rdata: Presentation-format DS record data that must be added to the parent zone. For more information about RDATA, see [Supported DNS Resource Record Types](https://docs.cloud.oracle.com/iaas/Content/DNS/Reference/supporteddnsresource.htm)
1764
+ """
1765
+ if digest_type is not None:
1766
+ pulumi.set(__self__, "digest_type", digest_type)
1767
+ if rdata is not None:
1768
+ pulumi.set(__self__, "rdata", rdata)
1769
+
1770
+ @property
1771
+ @pulumi.getter(name="digestType")
1772
+ def digest_type(self) -> Optional[str]:
1773
+ """
1774
+ The type of the digest associated with the rdata.
1775
+ """
1776
+ return pulumi.get(self, "digest_type")
1777
+
1778
+ @property
1779
+ @pulumi.getter
1780
+ def rdata(self) -> Optional[str]:
1781
+ """
1782
+ Presentation-format DS record data that must be added to the parent zone. For more information about RDATA, see [Supported DNS Resource Record Types](https://docs.cloud.oracle.com/iaas/Content/DNS/Reference/supporteddnsresource.htm)
1783
+ """
1784
+ return pulumi.get(self, "rdata")
1785
+
1786
+
1787
+ @pulumi.output_type
1788
+ class ZoneDnssecConfigZskDnssecKeyVersion(dict):
1789
+ @staticmethod
1790
+ def __key_warning(key: str):
1791
+ suggest = None
1792
+ if key == "keyTag":
1793
+ suggest = "key_tag"
1794
+ elif key == "lengthInBytes":
1795
+ suggest = "length_in_bytes"
1796
+ elif key == "predecessorDnssecKeyVersionUuid":
1797
+ suggest = "predecessor_dnssec_key_version_uuid"
1798
+ elif key == "successorDnssecKeyVersionUuid":
1799
+ suggest = "successor_dnssec_key_version_uuid"
1800
+ elif key == "timeActivated":
1801
+ suggest = "time_activated"
1802
+ elif key == "timeCreated":
1803
+ suggest = "time_created"
1804
+ elif key == "timeExpired":
1805
+ suggest = "time_expired"
1806
+ elif key == "timeInactivated":
1807
+ suggest = "time_inactivated"
1808
+ elif key == "timePromoted":
1809
+ suggest = "time_promoted"
1810
+ elif key == "timePublished":
1811
+ suggest = "time_published"
1812
+ elif key == "timeUnpublished":
1813
+ suggest = "time_unpublished"
1814
+
1815
+ if suggest:
1816
+ pulumi.log.warn(f"Key '{key}' not found in ZoneDnssecConfigZskDnssecKeyVersion. Access the value via the '{suggest}' property getter instead.")
1817
+
1818
+ def __getitem__(self, key: str) -> Any:
1819
+ ZoneDnssecConfigZskDnssecKeyVersion.__key_warning(key)
1820
+ return super().__getitem__(key)
1821
+
1822
+ def get(self, key: str, default = None) -> Any:
1823
+ ZoneDnssecConfigZskDnssecKeyVersion.__key_warning(key)
1824
+ return super().get(key, default)
1825
+
1826
+ def __init__(__self__, *,
1827
+ algorithm: Optional[str] = None,
1828
+ key_tag: Optional[int] = None,
1829
+ length_in_bytes: Optional[int] = None,
1830
+ predecessor_dnssec_key_version_uuid: Optional[str] = None,
1831
+ successor_dnssec_key_version_uuid: Optional[str] = None,
1832
+ time_activated: Optional[str] = None,
1833
+ time_created: Optional[str] = None,
1834
+ time_expired: Optional[str] = None,
1835
+ time_inactivated: Optional[str] = None,
1836
+ time_promoted: Optional[str] = None,
1837
+ time_published: Optional[str] = None,
1838
+ time_unpublished: Optional[str] = None,
1839
+ uuid: Optional[str] = None):
1840
+ """
1841
+ :param str algorithm: The signing algorithm used for the key.
1842
+ :param int key_tag: The key tag associated with the `DnssecKeyVersion`. This key tag will be present in the RRSIG and DS records associated with the key material for this `DnssecKeyVersion`. For more information about key tags, see [RFC 4034](https://tools.ietf.org/html/rfc4034).
1843
+ :param int length_in_bytes: The length of the corresponding private key in bytes, expressed as an integer.
1844
+ :param str predecessor_dnssec_key_version_uuid: When populated, this is the UUID of the `DnssecKeyVersion` that this `DnssecKeyVersion` will replace or has replaced.
1845
+ :param str successor_dnssec_key_version_uuid: When populated, this is the UUID of the `DnssecKeyVersion` that will replace, or has replaced, this `DnssecKeyVersion`.
1846
+ :param str time_activated: The date and time the key version went, or will go, active, expressed in RFC 3339 timestamp format. This is when the key material will be used to generate RRSIGs.
1847
+ :param str time_created: The date and time the resource was created in "YYYY-MM-ddThh:mm:ssZ" format with a Z offset, as defined by RFC 3339.
1848
+ :param str time_expired: The date and time at which the recommended key version publication/activation lifetime ends, expressed in RFC 3339 timestamp format. This is when the corresponding DNSKEY should no longer exist in zone contents and no longer be used to generate RRSIGs. For a key sigining key (KSK), if `PromoteZoneDnssecKeyVersion` has not been called on this `DnssecKeyVersion`'s successor then it will remain active for arbitrarily long past its recommended lifetime. This prevents service disruption at the potential increased risk of key compromise.
1849
+ :param str time_inactivated: The date and time the key version went, or will go, inactive, expressed in RFC 3339 timestamp format. This is when the key material will no longer be used to generate RRSIGs. For a key signing key (KSK) `DnssecKeyVersion`, this is populated after `PromoteZoneDnssecKeyVersion` has been called on its successor `DnssecKeyVersion`.
1850
+ :param str time_promoted: The date and time the key version was promoted expressed in RFC 3339 timestamp format.
1851
+ :param str time_published: The date and time the key version was, or will be, published, expressed in RFC 3339 timestamp format. This is when the zone contents will include a DNSKEY record corresponding to the key material.
1852
+ :param str time_unpublished: The date and time the key version was, or will be, unpublished, expressed in RFC 3339 timestamp format. This is when the corresponding DNSKEY will be removed from zone contents. For a key signing key (KSK) `DnssecKeyVersion`, this is populated after `PromoteZoneDnssecKeyVersion` has been called on its successor `DnssecKeyVersion`.
1853
+ :param str uuid: The UUID of the `DnssecKeyVersion`.
1854
+ """
1855
+ if algorithm is not None:
1856
+ pulumi.set(__self__, "algorithm", algorithm)
1857
+ if key_tag is not None:
1858
+ pulumi.set(__self__, "key_tag", key_tag)
1859
+ if length_in_bytes is not None:
1860
+ pulumi.set(__self__, "length_in_bytes", length_in_bytes)
1861
+ if predecessor_dnssec_key_version_uuid is not None:
1862
+ pulumi.set(__self__, "predecessor_dnssec_key_version_uuid", predecessor_dnssec_key_version_uuid)
1863
+ if successor_dnssec_key_version_uuid is not None:
1864
+ pulumi.set(__self__, "successor_dnssec_key_version_uuid", successor_dnssec_key_version_uuid)
1865
+ if time_activated is not None:
1866
+ pulumi.set(__self__, "time_activated", time_activated)
1867
+ if time_created is not None:
1868
+ pulumi.set(__self__, "time_created", time_created)
1869
+ if time_expired is not None:
1870
+ pulumi.set(__self__, "time_expired", time_expired)
1871
+ if time_inactivated is not None:
1872
+ pulumi.set(__self__, "time_inactivated", time_inactivated)
1873
+ if time_promoted is not None:
1874
+ pulumi.set(__self__, "time_promoted", time_promoted)
1875
+ if time_published is not None:
1876
+ pulumi.set(__self__, "time_published", time_published)
1877
+ if time_unpublished is not None:
1878
+ pulumi.set(__self__, "time_unpublished", time_unpublished)
1879
+ if uuid is not None:
1880
+ pulumi.set(__self__, "uuid", uuid)
1881
+
1882
+ @property
1883
+ @pulumi.getter
1884
+ def algorithm(self) -> Optional[str]:
1885
+ """
1886
+ The signing algorithm used for the key.
1887
+ """
1888
+ return pulumi.get(self, "algorithm")
1889
+
1890
+ @property
1891
+ @pulumi.getter(name="keyTag")
1892
+ def key_tag(self) -> Optional[int]:
1893
+ """
1894
+ The key tag associated with the `DnssecKeyVersion`. This key tag will be present in the RRSIG and DS records associated with the key material for this `DnssecKeyVersion`. For more information about key tags, see [RFC 4034](https://tools.ietf.org/html/rfc4034).
1895
+ """
1896
+ return pulumi.get(self, "key_tag")
1897
+
1898
+ @property
1899
+ @pulumi.getter(name="lengthInBytes")
1900
+ def length_in_bytes(self) -> Optional[int]:
1901
+ """
1902
+ The length of the corresponding private key in bytes, expressed as an integer.
1903
+ """
1904
+ return pulumi.get(self, "length_in_bytes")
1905
+
1906
+ @property
1907
+ @pulumi.getter(name="predecessorDnssecKeyVersionUuid")
1908
+ def predecessor_dnssec_key_version_uuid(self) -> Optional[str]:
987
1909
  """
988
- An expression that is used to select a set of answers that match a condition. For example, answers with matching pool properties.
1910
+ When populated, this is the UUID of the `DnssecKeyVersion` that this `DnssecKeyVersion` will replace or has replaced.
989
1911
  """
990
- return pulumi.get(self, "answer_condition")
1912
+ return pulumi.get(self, "predecessor_dnssec_key_version_uuid")
991
1913
 
992
1914
  @property
993
- @pulumi.getter(name="shouldKeep")
994
- def should_keep(self) -> Optional[bool]:
1915
+ @pulumi.getter(name="successorDnssecKeyVersionUuid")
1916
+ def successor_dnssec_key_version_uuid(self) -> Optional[str]:
995
1917
  """
996
- Keeps the answer only if the value is `true`.
1918
+ When populated, this is the UUID of the `DnssecKeyVersion` that will replace, or has replaced, this `DnssecKeyVersion`.
997
1919
  """
998
- return pulumi.get(self, "should_keep")
1920
+ return pulumi.get(self, "successor_dnssec_key_version_uuid")
999
1921
 
1000
1922
  @property
1001
- @pulumi.getter
1002
- def value(self) -> Optional[int]:
1923
+ @pulumi.getter(name="timeActivated")
1924
+ def time_activated(self) -> Optional[str]:
1003
1925
  """
1004
- The rank assigned to the set of answers that match the expression in `answerCondition`. Answers with the lowest values move to the beginning of the list without changing the relative order of those with the same value. Answers can be given a value between `0` and `255`.
1926
+ The date and time the key version went, or will go, active, expressed in RFC 3339 timestamp format. This is when the key material will be used to generate RRSIGs.
1005
1927
  """
1006
- return pulumi.get(self, "value")
1007
-
1008
-
1009
- @pulumi.output_type
1010
- class SteeringPolicyRuleDefaultAnswerData(dict):
1011
- @staticmethod
1012
- def __key_warning(key: str):
1013
- suggest = None
1014
- if key == "answerCondition":
1015
- suggest = "answer_condition"
1016
- elif key == "shouldKeep":
1017
- suggest = "should_keep"
1928
+ return pulumi.get(self, "time_activated")
1018
1929
 
1019
- if suggest:
1020
- pulumi.log.warn(f"Key '{key}' not found in SteeringPolicyRuleDefaultAnswerData. Access the value via the '{suggest}' property getter instead.")
1930
+ @property
1931
+ @pulumi.getter(name="timeCreated")
1932
+ def time_created(self) -> Optional[str]:
1933
+ """
1934
+ The date and time the resource was created in "YYYY-MM-ddThh:mm:ssZ" format with a Z offset, as defined by RFC 3339.
1935
+ """
1936
+ return pulumi.get(self, "time_created")
1021
1937
 
1022
- def __getitem__(self, key: str) -> Any:
1023
- SteeringPolicyRuleDefaultAnswerData.__key_warning(key)
1024
- return super().__getitem__(key)
1938
+ @property
1939
+ @pulumi.getter(name="timeExpired")
1940
+ def time_expired(self) -> Optional[str]:
1941
+ """
1942
+ The date and time at which the recommended key version publication/activation lifetime ends, expressed in RFC 3339 timestamp format. This is when the corresponding DNSKEY should no longer exist in zone contents and no longer be used to generate RRSIGs. For a key sigining key (KSK), if `PromoteZoneDnssecKeyVersion` has not been called on this `DnssecKeyVersion`'s successor then it will remain active for arbitrarily long past its recommended lifetime. This prevents service disruption at the potential increased risk of key compromise.
1943
+ """
1944
+ return pulumi.get(self, "time_expired")
1025
1945
 
1026
- def get(self, key: str, default = None) -> Any:
1027
- SteeringPolicyRuleDefaultAnswerData.__key_warning(key)
1028
- return super().get(key, default)
1946
+ @property
1947
+ @pulumi.getter(name="timeInactivated")
1948
+ def time_inactivated(self) -> Optional[str]:
1949
+ """
1950
+ The date and time the key version went, or will go, inactive, expressed in RFC 3339 timestamp format. This is when the key material will no longer be used to generate RRSIGs. For a key signing key (KSK) `DnssecKeyVersion`, this is populated after `PromoteZoneDnssecKeyVersion` has been called on its successor `DnssecKeyVersion`.
1951
+ """
1952
+ return pulumi.get(self, "time_inactivated")
1029
1953
 
1030
- def __init__(__self__, *,
1031
- answer_condition: Optional[str] = None,
1032
- should_keep: Optional[bool] = None,
1033
- value: Optional[int] = None):
1954
+ @property
1955
+ @pulumi.getter(name="timePromoted")
1956
+ def time_promoted(self) -> Optional[str]:
1034
1957
  """
1035
- :param str answer_condition: An expression that is used to select a set of answers that match a condition. For example, answers with matching pool properties.
1036
- :param bool should_keep: Keeps the answer only if the value is `true`.
1037
- :param int value: The rank assigned to the set of answers that match the expression in `answerCondition`. Answers with the lowest values move to the beginning of the list without changing the relative order of those with the same value. Answers can be given a value between `0` and `255`.
1958
+ The date and time the key version was promoted expressed in RFC 3339 timestamp format.
1038
1959
  """
1039
- if answer_condition is not None:
1040
- pulumi.set(__self__, "answer_condition", answer_condition)
1041
- if should_keep is not None:
1042
- pulumi.set(__self__, "should_keep", should_keep)
1043
- if value is not None:
1044
- pulumi.set(__self__, "value", value)
1960
+ return pulumi.get(self, "time_promoted")
1045
1961
 
1046
1962
  @property
1047
- @pulumi.getter(name="answerCondition")
1048
- def answer_condition(self) -> Optional[str]:
1963
+ @pulumi.getter(name="timePublished")
1964
+ def time_published(self) -> Optional[str]:
1049
1965
  """
1050
- An expression that is used to select a set of answers that match a condition. For example, answers with matching pool properties.
1966
+ The date and time the key version was, or will be, published, expressed in RFC 3339 timestamp format. This is when the zone contents will include a DNSKEY record corresponding to the key material.
1051
1967
  """
1052
- return pulumi.get(self, "answer_condition")
1968
+ return pulumi.get(self, "time_published")
1053
1969
 
1054
1970
  @property
1055
- @pulumi.getter(name="shouldKeep")
1056
- def should_keep(self) -> Optional[bool]:
1971
+ @pulumi.getter(name="timeUnpublished")
1972
+ def time_unpublished(self) -> Optional[str]:
1057
1973
  """
1058
- Keeps the answer only if the value is `true`.
1974
+ The date and time the key version was, or will be, unpublished, expressed in RFC 3339 timestamp format. This is when the corresponding DNSKEY will be removed from zone contents. For a key signing key (KSK) `DnssecKeyVersion`, this is populated after `PromoteZoneDnssecKeyVersion` has been called on its successor `DnssecKeyVersion`.
1059
1975
  """
1060
- return pulumi.get(self, "should_keep")
1976
+ return pulumi.get(self, "time_unpublished")
1061
1977
 
1062
1978
  @property
1063
1979
  @pulumi.getter
1064
- def value(self) -> Optional[int]:
1980
+ def uuid(self) -> Optional[str]:
1065
1981
  """
1066
- The rank assigned to the set of answers that match the expression in `answerCondition`. Answers with the lowest values move to the beginning of the list without changing the relative order of those with the same value. Answers can be given a value between `0` and `255`.
1982
+ The UUID of the `DnssecKeyVersion`.
1067
1983
  """
1068
- return pulumi.get(self, "value")
1984
+ return pulumi.get(self, "uuid")
1069
1985
 
1070
1986
 
1071
1987
  @pulumi.output_type
@@ -1325,9 +2241,11 @@ class GetRecordsRecordResult(dict):
1325
2241
  :param str rrset_version: The latest version of the record's zone in which its RRSet differs from the preceding version.
1326
2242
  :param str rtype: Search by record type. Will match any record whose [type](https://www.iana.org/assignments/dns-parameters/dns-parameters.xhtml#dns-parameters-4) (case-insensitive) equals the provided value.
1327
2243
  :param str zone_name_or_id: The name or OCID of the target zone.
1328
- :param str compartment_id: The OCID of the compartment the resource belongs to.
2244
+ :param str compartment_id: The OCID of the compartment the zone belongs to.
2245
+
2246
+ This parameter is deprecated and should be omitted.
1329
2247
  :param str rdata: The record's data, as whitespace-delimited tokens in type-specific presentation format. All RDATA is normalized and the returned presentation of your RDATA may differ from its initial input. For more information about RDATA, see [Supported DNS Resource Record Types](https://docs.cloud.oracle.com/iaas/Content/DNS/Reference/supporteddnsresource.htm)
1330
- :param int ttl: The Time To Live for the record, in seconds.
2248
+ :param int ttl: The Time To Live for the record, in seconds. Using a TTL lower than 30 seconds is not recommended.
1331
2249
  """
1332
2250
  pulumi.set(__self__, "domain", domain)
1333
2251
  pulumi.set(__self__, "is_protected", is_protected)
@@ -1397,7 +2315,9 @@ class GetRecordsRecordResult(dict):
1397
2315
  @pulumi.getter(name="compartmentId")
1398
2316
  def compartment_id(self) -> Optional[str]:
1399
2317
  """
1400
- The OCID of the compartment the resource belongs to.
2318
+ The OCID of the compartment the zone belongs to.
2319
+
2320
+ This parameter is deprecated and should be omitted.
1401
2321
  """
1402
2322
  return pulumi.get(self, "compartment_id")
1403
2323
 
@@ -1413,7 +2333,7 @@ class GetRecordsRecordResult(dict):
1413
2333
  @pulumi.getter
1414
2334
  def ttl(self) -> Optional[int]:
1415
2335
  """
1416
- The Time To Live for the record, in seconds.
2336
+ The Time To Live for the record, in seconds. Using a TTL lower than 30 seconds is not recommended.
1417
2337
  """
1418
2338
  return pulumi.get(self, "ttl")
1419
2339
 
@@ -2231,7 +3151,7 @@ class GetRrsetItemResult(dict):
2231
3151
  :param str record_hash: A unique identifier for the record within its zone.
2232
3152
  :param str rrset_version: The latest version of the record's zone in which its RRSet differs from the preceding version.
2233
3153
  :param str rtype: The type of the target RRSet within the target zone.
2234
- :param int ttl: The Time To Live for the record, in seconds.
3154
+ :param int ttl: The Time To Live for the record, in seconds. Using a TTL lower than 30 seconds is not recommended.
2235
3155
  """
2236
3156
  pulumi.set(__self__, "domain", domain)
2237
3157
  pulumi.set(__self__, "is_protected", is_protected)
@@ -2293,7 +3213,7 @@ class GetRrsetItemResult(dict):
2293
3213
  @pulumi.getter
2294
3214
  def ttl(self) -> int:
2295
3215
  """
2296
- The Time To Live for the record, in seconds.
3216
+ The Time To Live for the record, in seconds. Using a TTL lower than 30 seconds is not recommended.
2297
3217
  """
2298
3218
  return pulumi.get(self, "ttl")
2299
3219
 
@@ -2378,7 +3298,7 @@ class GetRrsetsRrsetItemResult(dict):
2378
3298
  :param str record_hash: A unique identifier for the record within its zone.
2379
3299
  :param str rrset_version: The latest version of the record's zone in which its RRSet differs from the preceding version.
2380
3300
  :param str rtype: Search by record type. Will match any record whose [type](https://www.iana.org/assignments/dns-parameters/dns-parameters.xhtml#dns-parameters-4) (case-insensitive) equals the provided value.
2381
- :param int ttl: The Time To Live for the record, in seconds.
3301
+ :param int ttl: The Time To Live for the record, in seconds. Using a TTL lower than 30 seconds is not recommended.
2382
3302
  """
2383
3303
  pulumi.set(__self__, "domain", domain)
2384
3304
  pulumi.set(__self__, "is_protected", is_protected)
@@ -2440,7 +3360,7 @@ class GetRrsetsRrsetItemResult(dict):
2440
3360
  @pulumi.getter
2441
3361
  def ttl(self) -> int:
2442
3362
  """
2443
- The Time To Live for the record, in seconds.
3363
+ The Time To Live for the record, in seconds. Using a TTL lower than 30 seconds is not recommended.
2444
3364
  """
2445
3365
  return pulumi.get(self, "ttl")
2446
3366
 
@@ -2770,7 +3690,7 @@ class GetSteeringPoliciesSteeringPolicyRuleCaseResult(dict):
2770
3690
  count: int):
2771
3691
  """
2772
3692
  :param Sequence['GetSteeringPoliciesSteeringPolicyRuleCaseAnswerDataArgs'] answer_datas: An array of `SteeringPolicyPriorityAnswerData` objects.
2773
- :param str case_condition: An expression that uses conditions at the time of a DNS query to indicate whether a case matches. Conditions may include the geographical location, IP subnet, or ASN the DNS query originated. **Example:** If you have an office that uses the subnet `192.0.2.0/24` you could use a `caseCondition` expression `query.client.subnet in ('192.0.2.0/24')` to define a case that matches queries from that office.
3693
+ :param str case_condition: An expression that uses conditions at the time of a DNS query to indicate whether a case matches. Conditions may include the geographical location, IP subnet, or ASN the DNS query originated. **Example:** If you have an office that uses the subnet `192.0.2.0/24` you could use a `caseCondition` expression `query.client.address in ('192.0.2.0/24')` to define a case that matches queries from that office.
2774
3694
  :param int count: The number of answers allowed to remain after the limit rule has been processed, keeping only the first of the remaining answers in the list. Example: If the `count` property is set to `2` and four answers remain before the limit rule is processed, only the first two answers in the list will remain after the limit rule has been processed.
2775
3695
  """
2776
3696
  pulumi.set(__self__, "answer_datas", answer_datas)
@@ -2789,7 +3709,7 @@ class GetSteeringPoliciesSteeringPolicyRuleCaseResult(dict):
2789
3709
  @pulumi.getter(name="caseCondition")
2790
3710
  def case_condition(self) -> str:
2791
3711
  """
2792
- An expression that uses conditions at the time of a DNS query to indicate whether a case matches. Conditions may include the geographical location, IP subnet, or ASN the DNS query originated. **Example:** If you have an office that uses the subnet `192.0.2.0/24` you could use a `caseCondition` expression `query.client.subnet in ('192.0.2.0/24')` to define a case that matches queries from that office.
3712
+ An expression that uses conditions at the time of a DNS query to indicate whether a case matches. Conditions may include the geographical location, IP subnet, or ASN the DNS query originated. **Example:** If you have an office that uses the subnet `192.0.2.0/24` you could use a `caseCondition` expression `query.client.address in ('192.0.2.0/24')` to define a case that matches queries from that office.
2793
3713
  """
2794
3714
  return pulumi.get(self, "case_condition")
2795
3715
 
@@ -3168,7 +4088,7 @@ class GetSteeringPolicyRuleCaseResult(dict):
3168
4088
  count: int):
3169
4089
  """
3170
4090
  :param Sequence['GetSteeringPolicyRuleCaseAnswerDataArgs'] answer_datas: An array of `SteeringPolicyPriorityAnswerData` objects.
3171
- :param str case_condition: An expression that uses conditions at the time of a DNS query to indicate whether a case matches. Conditions may include the geographical location, IP subnet, or ASN the DNS query originated. **Example:** If you have an office that uses the subnet `192.0.2.0/24` you could use a `caseCondition` expression `query.client.subnet in ('192.0.2.0/24')` to define a case that matches queries from that office.
4091
+ :param str case_condition: An expression that uses conditions at the time of a DNS query to indicate whether a case matches. Conditions may include the geographical location, IP subnet, or ASN the DNS query originated. **Example:** If you have an office that uses the subnet `192.0.2.0/24` you could use a `caseCondition` expression `query.client.address in ('192.0.2.0/24')` to define a case that matches queries from that office.
3172
4092
  :param int count: The number of answers allowed to remain after the limit rule has been processed, keeping only the first of the remaining answers in the list. Example: If the `count` property is set to `2` and four answers remain before the limit rule is processed, only the first two answers in the list will remain after the limit rule has been processed.
3173
4093
  """
3174
4094
  pulumi.set(__self__, "answer_datas", answer_datas)
@@ -3187,7 +4107,7 @@ class GetSteeringPolicyRuleCaseResult(dict):
3187
4107
  @pulumi.getter(name="caseCondition")
3188
4108
  def case_condition(self) -> str:
3189
4109
  """
3190
- An expression that uses conditions at the time of a DNS query to indicate whether a case matches. Conditions may include the geographical location, IP subnet, or ASN the DNS query originated. **Example:** If you have an office that uses the subnet `192.0.2.0/24` you could use a `caseCondition` expression `query.client.subnet in ('192.0.2.0/24')` to define a case that matches queries from that office.
4110
+ An expression that uses conditions at the time of a DNS query to indicate whether a case matches. Conditions may include the geographical location, IP subnet, or ASN the DNS query originated. **Example:** If you have an office that uses the subnet `192.0.2.0/24` you could use a `caseCondition` expression `query.client.address in ('192.0.2.0/24')` to define a case that matches queries from that office.
3191
4111
  """
3192
4112
  return pulumi.get(self, "case_condition")
3193
4113
 
@@ -3634,6 +4554,8 @@ class GetZonesZoneResult(dict):
3634
4554
  def __init__(__self__, *,
3635
4555
  compartment_id: str,
3636
4556
  defined_tags: Mapping[str, str],
4557
+ dnssec_configs: Sequence['outputs.GetZonesZoneDnssecConfigResult'],
4558
+ dnssec_state: str,
3637
4559
  external_downstreams: Sequence['outputs.GetZonesZoneExternalDownstreamResult'],
3638
4560
  external_masters: Sequence['outputs.GetZonesZoneExternalMasterResult'],
3639
4561
  freeform_tags: Mapping[str, str],
@@ -3653,6 +4575,8 @@ class GetZonesZoneResult(dict):
3653
4575
  """
3654
4576
  :param str compartment_id: The OCID of the compartment the resource belongs to.
3655
4577
  :param Mapping[str, str] defined_tags: 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).
4578
+ :param Sequence['GetZonesZoneDnssecConfigArgs'] dnssec_configs: DNSSEC configuration data.
4579
+ :param str dnssec_state: Search for zones that have the given `DnssecState`.
3656
4580
  :param Sequence['GetZonesZoneExternalDownstreamArgs'] external_downstreams: External secondary servers for the zone. This field is currently not supported when `zoneType` is `SECONDARY` or `scope` is `PRIVATE`.
3657
4581
  :param Sequence['GetZonesZoneExternalMasterArgs'] external_masters: External master servers for the zone. `externalMasters` becomes a required parameter when the `zoneType` value is `SECONDARY`.
3658
4582
  :param Mapping[str, str] freeform_tags: 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).
@@ -3660,8 +4584,7 @@ class GetZonesZoneResult(dict):
3660
4584
  :param bool is_protected: A Boolean flag indicating whether or not parts of the resource are unable to be explicitly managed.
3661
4585
  :param str name: A case-sensitive filter for zone names. Will match any zone with a name that equals the provided value.
3662
4586
  :param Sequence['GetZonesZoneNameserverArgs'] nameservers: The authoritative nameservers for the zone.
3663
- :param str scope: Specifies to operate only on resources that have a matching DNS scope. This value will be null
3664
- for zones in the global DNS and `PRIVATE` when listing private zones.
4587
+ :param str scope: Specifies to operate only on resources that have a matching DNS scope.
3665
4588
  :param str self: The canonical absolute URL of the resource.
3666
4589
  :param int serial: The current serial of the zone. As seen in the zone's SOA record.
3667
4590
  :param str state: The state of a resource.
@@ -3673,6 +4596,8 @@ class GetZonesZoneResult(dict):
3673
4596
  """
3674
4597
  pulumi.set(__self__, "compartment_id", compartment_id)
3675
4598
  pulumi.set(__self__, "defined_tags", defined_tags)
4599
+ pulumi.set(__self__, "dnssec_configs", dnssec_configs)
4600
+ pulumi.set(__self__, "dnssec_state", dnssec_state)
3676
4601
  pulumi.set(__self__, "external_downstreams", external_downstreams)
3677
4602
  pulumi.set(__self__, "external_masters", external_masters)
3678
4603
  pulumi.set(__self__, "freeform_tags", freeform_tags)
@@ -3706,6 +4631,22 @@ class GetZonesZoneResult(dict):
3706
4631
  """
3707
4632
  return pulumi.get(self, "defined_tags")
3708
4633
 
4634
+ @property
4635
+ @pulumi.getter(name="dnssecConfigs")
4636
+ def dnssec_configs(self) -> Sequence['outputs.GetZonesZoneDnssecConfigResult']:
4637
+ """
4638
+ DNSSEC configuration data.
4639
+ """
4640
+ return pulumi.get(self, "dnssec_configs")
4641
+
4642
+ @property
4643
+ @pulumi.getter(name="dnssecState")
4644
+ def dnssec_state(self) -> str:
4645
+ """
4646
+ Search for zones that have the given `DnssecState`.
4647
+ """
4648
+ return pulumi.get(self, "dnssec_state")
4649
+
3709
4650
  @property
3710
4651
  @pulumi.getter(name="externalDownstreams")
3711
4652
  def external_downstreams(self) -> Sequence['outputs.GetZonesZoneExternalDownstreamResult']:
@@ -3766,8 +4707,7 @@ class GetZonesZoneResult(dict):
3766
4707
  @pulumi.getter
3767
4708
  def scope(self) -> str:
3768
4709
  """
3769
- Specifies to operate only on resources that have a matching DNS scope. This value will be null
3770
- for zones in the global DNS and `PRIVATE` when listing private zones.
4710
+ Specifies to operate only on resources that have a matching DNS scope.
3771
4711
  """
3772
4712
  return pulumi.get(self, "scope")
3773
4713
 
@@ -3836,6 +4776,375 @@ class GetZonesZoneResult(dict):
3836
4776
  return pulumi.get(self, "zone_type")
3837
4777
 
3838
4778
 
4779
+ @pulumi.output_type
4780
+ class GetZonesZoneDnssecConfigResult(dict):
4781
+ def __init__(__self__, *,
4782
+ ksk_dnssec_key_versions: Sequence['outputs.GetZonesZoneDnssecConfigKskDnssecKeyVersionResult'],
4783
+ zsk_dnssec_key_versions: Sequence['outputs.GetZonesZoneDnssecConfigZskDnssecKeyVersionResult']):
4784
+ """
4785
+ :param Sequence['GetZonesZoneDnssecConfigKskDnssecKeyVersionArgs'] ksk_dnssec_key_versions: A read-only array of key signing key (KSK) versions.
4786
+ :param Sequence['GetZonesZoneDnssecConfigZskDnssecKeyVersionArgs'] zsk_dnssec_key_versions: A read-only array of zone signing key (ZSK) versions.
4787
+ """
4788
+ pulumi.set(__self__, "ksk_dnssec_key_versions", ksk_dnssec_key_versions)
4789
+ pulumi.set(__self__, "zsk_dnssec_key_versions", zsk_dnssec_key_versions)
4790
+
4791
+ @property
4792
+ @pulumi.getter(name="kskDnssecKeyVersions")
4793
+ def ksk_dnssec_key_versions(self) -> Sequence['outputs.GetZonesZoneDnssecConfigKskDnssecKeyVersionResult']:
4794
+ """
4795
+ A read-only array of key signing key (KSK) versions.
4796
+ """
4797
+ return pulumi.get(self, "ksk_dnssec_key_versions")
4798
+
4799
+ @property
4800
+ @pulumi.getter(name="zskDnssecKeyVersions")
4801
+ def zsk_dnssec_key_versions(self) -> Sequence['outputs.GetZonesZoneDnssecConfigZskDnssecKeyVersionResult']:
4802
+ """
4803
+ A read-only array of zone signing key (ZSK) versions.
4804
+ """
4805
+ return pulumi.get(self, "zsk_dnssec_key_versions")
4806
+
4807
+
4808
+ @pulumi.output_type
4809
+ class GetZonesZoneDnssecConfigKskDnssecKeyVersionResult(dict):
4810
+ def __init__(__self__, *,
4811
+ algorithm: str,
4812
+ ds_datas: Sequence['outputs.GetZonesZoneDnssecConfigKskDnssecKeyVersionDsDataResult'],
4813
+ key_tag: int,
4814
+ length_in_bytes: int,
4815
+ predecessor_dnssec_key_version_uuid: str,
4816
+ successor_dnssec_key_version_uuid: str,
4817
+ time_activated: str,
4818
+ time_created: str,
4819
+ time_expired: str,
4820
+ time_inactivated: str,
4821
+ time_promoted: str,
4822
+ time_published: str,
4823
+ time_unpublished: str,
4824
+ uuid: str):
4825
+ """
4826
+ :param str algorithm: The signing algorithm used for the key.
4827
+ :param Sequence['GetZonesZoneDnssecConfigKskDnssecKeyVersionDsDataArgs'] ds_datas: An array of data for DS records corresponding with this key version. An entry will exist for each supported DS digest algorithm.
4828
+ :param int key_tag: The key tag associated with the `DnssecKeyVersion`. This key tag will be present in the RRSIG and DS records associated with the key material for this `DnssecKeyVersion`. For more information about key tags, see [RFC 4034](https://tools.ietf.org/html/rfc4034).
4829
+ :param int length_in_bytes: The length of the corresponding private key in bytes, expressed as an integer.
4830
+ :param str predecessor_dnssec_key_version_uuid: When populated, this is the UUID of the `DnssecKeyVersion` that this `DnssecKeyVersion` will replace or has replaced.
4831
+ :param str successor_dnssec_key_version_uuid: When populated, this is the UUID of the `DnssecKeyVersion` that will replace, or has replaced, this `DnssecKeyVersion`.
4832
+ :param str time_activated: The date and time the key version went, or will go, active, expressed in RFC 3339 timestamp format. This is when the key material will be used to generate RRSIGs.
4833
+ :param str time_created: The date and time the resource was created in "YYYY-MM-ddThh:mm:ssZ" format with a Z offset, as defined by RFC 3339.
4834
+ :param str time_expired: The date and time at which the recommended key version publication/activation lifetime ends, expressed in RFC 3339 timestamp format. This is when the corresponding DNSKEY should no longer exist in zone contents and no longer be used to generate RRSIGs. For a key sigining key (KSK), if `PromoteZoneDnssecKeyVersion` has not been called on this `DnssecKeyVersion`'s successor then it will remain active for arbitrarily long past its recommended lifetime. This prevents service disruption at the potential increased risk of key compromise.
4835
+ :param str time_inactivated: The date and time the key version went, or will go, inactive, expressed in RFC 3339 timestamp format. This is when the key material will no longer be used to generate RRSIGs. For a key signing key (KSK) `DnssecKeyVersion`, this is populated after `PromoteZoneDnssecKeyVersion` has been called on its successor `DnssecKeyVersion`.
4836
+ :param str time_promoted: The date and time the key version was promoted expressed in RFC 3339 timestamp format.
4837
+ :param str time_published: The date and time the key version was, or will be, published, expressed in RFC 3339 timestamp format. This is when the zone contents will include a DNSKEY record corresponding to the key material.
4838
+ :param str time_unpublished: The date and time the key version was, or will be, unpublished, expressed in RFC 3339 timestamp format. This is when the corresponding DNSKEY will be removed from zone contents. For a key signing key (KSK) `DnssecKeyVersion`, this is populated after `PromoteZoneDnssecKeyVersion` has been called on its successor `DnssecKeyVersion`.
4839
+ :param str uuid: The UUID of the `DnssecKeyVersion`.
4840
+ """
4841
+ pulumi.set(__self__, "algorithm", algorithm)
4842
+ pulumi.set(__self__, "ds_datas", ds_datas)
4843
+ pulumi.set(__self__, "key_tag", key_tag)
4844
+ pulumi.set(__self__, "length_in_bytes", length_in_bytes)
4845
+ pulumi.set(__self__, "predecessor_dnssec_key_version_uuid", predecessor_dnssec_key_version_uuid)
4846
+ pulumi.set(__self__, "successor_dnssec_key_version_uuid", successor_dnssec_key_version_uuid)
4847
+ pulumi.set(__self__, "time_activated", time_activated)
4848
+ pulumi.set(__self__, "time_created", time_created)
4849
+ pulumi.set(__self__, "time_expired", time_expired)
4850
+ pulumi.set(__self__, "time_inactivated", time_inactivated)
4851
+ pulumi.set(__self__, "time_promoted", time_promoted)
4852
+ pulumi.set(__self__, "time_published", time_published)
4853
+ pulumi.set(__self__, "time_unpublished", time_unpublished)
4854
+ pulumi.set(__self__, "uuid", uuid)
4855
+
4856
+ @property
4857
+ @pulumi.getter
4858
+ def algorithm(self) -> str:
4859
+ """
4860
+ The signing algorithm used for the key.
4861
+ """
4862
+ return pulumi.get(self, "algorithm")
4863
+
4864
+ @property
4865
+ @pulumi.getter(name="dsDatas")
4866
+ def ds_datas(self) -> Sequence['outputs.GetZonesZoneDnssecConfigKskDnssecKeyVersionDsDataResult']:
4867
+ """
4868
+ An array of data for DS records corresponding with this key version. An entry will exist for each supported DS digest algorithm.
4869
+ """
4870
+ return pulumi.get(self, "ds_datas")
4871
+
4872
+ @property
4873
+ @pulumi.getter(name="keyTag")
4874
+ def key_tag(self) -> int:
4875
+ """
4876
+ The key tag associated with the `DnssecKeyVersion`. This key tag will be present in the RRSIG and DS records associated with the key material for this `DnssecKeyVersion`. For more information about key tags, see [RFC 4034](https://tools.ietf.org/html/rfc4034).
4877
+ """
4878
+ return pulumi.get(self, "key_tag")
4879
+
4880
+ @property
4881
+ @pulumi.getter(name="lengthInBytes")
4882
+ def length_in_bytes(self) -> int:
4883
+ """
4884
+ The length of the corresponding private key in bytes, expressed as an integer.
4885
+ """
4886
+ return pulumi.get(self, "length_in_bytes")
4887
+
4888
+ @property
4889
+ @pulumi.getter(name="predecessorDnssecKeyVersionUuid")
4890
+ def predecessor_dnssec_key_version_uuid(self) -> str:
4891
+ """
4892
+ When populated, this is the UUID of the `DnssecKeyVersion` that this `DnssecKeyVersion` will replace or has replaced.
4893
+ """
4894
+ return pulumi.get(self, "predecessor_dnssec_key_version_uuid")
4895
+
4896
+ @property
4897
+ @pulumi.getter(name="successorDnssecKeyVersionUuid")
4898
+ def successor_dnssec_key_version_uuid(self) -> str:
4899
+ """
4900
+ When populated, this is the UUID of the `DnssecKeyVersion` that will replace, or has replaced, this `DnssecKeyVersion`.
4901
+ """
4902
+ return pulumi.get(self, "successor_dnssec_key_version_uuid")
4903
+
4904
+ @property
4905
+ @pulumi.getter(name="timeActivated")
4906
+ def time_activated(self) -> str:
4907
+ """
4908
+ The date and time the key version went, or will go, active, expressed in RFC 3339 timestamp format. This is when the key material will be used to generate RRSIGs.
4909
+ """
4910
+ return pulumi.get(self, "time_activated")
4911
+
4912
+ @property
4913
+ @pulumi.getter(name="timeCreated")
4914
+ def time_created(self) -> str:
4915
+ """
4916
+ The date and time the resource was created in "YYYY-MM-ddThh:mm:ssZ" format with a Z offset, as defined by RFC 3339.
4917
+ """
4918
+ return pulumi.get(self, "time_created")
4919
+
4920
+ @property
4921
+ @pulumi.getter(name="timeExpired")
4922
+ def time_expired(self) -> str:
4923
+ """
4924
+ The date and time at which the recommended key version publication/activation lifetime ends, expressed in RFC 3339 timestamp format. This is when the corresponding DNSKEY should no longer exist in zone contents and no longer be used to generate RRSIGs. For a key sigining key (KSK), if `PromoteZoneDnssecKeyVersion` has not been called on this `DnssecKeyVersion`'s successor then it will remain active for arbitrarily long past its recommended lifetime. This prevents service disruption at the potential increased risk of key compromise.
4925
+ """
4926
+ return pulumi.get(self, "time_expired")
4927
+
4928
+ @property
4929
+ @pulumi.getter(name="timeInactivated")
4930
+ def time_inactivated(self) -> str:
4931
+ """
4932
+ The date and time the key version went, or will go, inactive, expressed in RFC 3339 timestamp format. This is when the key material will no longer be used to generate RRSIGs. For a key signing key (KSK) `DnssecKeyVersion`, this is populated after `PromoteZoneDnssecKeyVersion` has been called on its successor `DnssecKeyVersion`.
4933
+ """
4934
+ return pulumi.get(self, "time_inactivated")
4935
+
4936
+ @property
4937
+ @pulumi.getter(name="timePromoted")
4938
+ def time_promoted(self) -> str:
4939
+ """
4940
+ The date and time the key version was promoted expressed in RFC 3339 timestamp format.
4941
+ """
4942
+ return pulumi.get(self, "time_promoted")
4943
+
4944
+ @property
4945
+ @pulumi.getter(name="timePublished")
4946
+ def time_published(self) -> str:
4947
+ """
4948
+ The date and time the key version was, or will be, published, expressed in RFC 3339 timestamp format. This is when the zone contents will include a DNSKEY record corresponding to the key material.
4949
+ """
4950
+ return pulumi.get(self, "time_published")
4951
+
4952
+ @property
4953
+ @pulumi.getter(name="timeUnpublished")
4954
+ def time_unpublished(self) -> str:
4955
+ """
4956
+ The date and time the key version was, or will be, unpublished, expressed in RFC 3339 timestamp format. This is when the corresponding DNSKEY will be removed from zone contents. For a key signing key (KSK) `DnssecKeyVersion`, this is populated after `PromoteZoneDnssecKeyVersion` has been called on its successor `DnssecKeyVersion`.
4957
+ """
4958
+ return pulumi.get(self, "time_unpublished")
4959
+
4960
+ @property
4961
+ @pulumi.getter
4962
+ def uuid(self) -> str:
4963
+ """
4964
+ The UUID of the `DnssecKeyVersion`.
4965
+ """
4966
+ return pulumi.get(self, "uuid")
4967
+
4968
+
4969
+ @pulumi.output_type
4970
+ class GetZonesZoneDnssecConfigKskDnssecKeyVersionDsDataResult(dict):
4971
+ def __init__(__self__, *,
4972
+ digest_type: str,
4973
+ rdata: str):
4974
+ """
4975
+ :param str digest_type: The type of the digest associated with the rdata.
4976
+ :param str rdata: Presentation-format DS record data that must be added to the parent zone. For more information about RDATA, see [Supported DNS Resource Record Types](https://docs.cloud.oracle.com/iaas/Content/DNS/Reference/supporteddnsresource.htm)
4977
+ """
4978
+ pulumi.set(__self__, "digest_type", digest_type)
4979
+ pulumi.set(__self__, "rdata", rdata)
4980
+
4981
+ @property
4982
+ @pulumi.getter(name="digestType")
4983
+ def digest_type(self) -> str:
4984
+ """
4985
+ The type of the digest associated with the rdata.
4986
+ """
4987
+ return pulumi.get(self, "digest_type")
4988
+
4989
+ @property
4990
+ @pulumi.getter
4991
+ def rdata(self) -> str:
4992
+ """
4993
+ Presentation-format DS record data that must be added to the parent zone. For more information about RDATA, see [Supported DNS Resource Record Types](https://docs.cloud.oracle.com/iaas/Content/DNS/Reference/supporteddnsresource.htm)
4994
+ """
4995
+ return pulumi.get(self, "rdata")
4996
+
4997
+
4998
+ @pulumi.output_type
4999
+ class GetZonesZoneDnssecConfigZskDnssecKeyVersionResult(dict):
5000
+ def __init__(__self__, *,
5001
+ algorithm: str,
5002
+ key_tag: int,
5003
+ length_in_bytes: int,
5004
+ predecessor_dnssec_key_version_uuid: str,
5005
+ successor_dnssec_key_version_uuid: str,
5006
+ time_activated: str,
5007
+ time_created: str,
5008
+ time_expired: str,
5009
+ time_inactivated: str,
5010
+ time_promoted: str,
5011
+ time_published: str,
5012
+ time_unpublished: str,
5013
+ uuid: str):
5014
+ """
5015
+ :param str algorithm: The signing algorithm used for the key.
5016
+ :param int key_tag: The key tag associated with the `DnssecKeyVersion`. This key tag will be present in the RRSIG and DS records associated with the key material for this `DnssecKeyVersion`. For more information about key tags, see [RFC 4034](https://tools.ietf.org/html/rfc4034).
5017
+ :param int length_in_bytes: The length of the corresponding private key in bytes, expressed as an integer.
5018
+ :param str predecessor_dnssec_key_version_uuid: When populated, this is the UUID of the `DnssecKeyVersion` that this `DnssecKeyVersion` will replace or has replaced.
5019
+ :param str successor_dnssec_key_version_uuid: When populated, this is the UUID of the `DnssecKeyVersion` that will replace, or has replaced, this `DnssecKeyVersion`.
5020
+ :param str time_activated: The date and time the key version went, or will go, active, expressed in RFC 3339 timestamp format. This is when the key material will be used to generate RRSIGs.
5021
+ :param str time_created: The date and time the resource was created in "YYYY-MM-ddThh:mm:ssZ" format with a Z offset, as defined by RFC 3339.
5022
+ :param str time_expired: The date and time at which the recommended key version publication/activation lifetime ends, expressed in RFC 3339 timestamp format. This is when the corresponding DNSKEY should no longer exist in zone contents and no longer be used to generate RRSIGs. For a key sigining key (KSK), if `PromoteZoneDnssecKeyVersion` has not been called on this `DnssecKeyVersion`'s successor then it will remain active for arbitrarily long past its recommended lifetime. This prevents service disruption at the potential increased risk of key compromise.
5023
+ :param str time_inactivated: The date and time the key version went, or will go, inactive, expressed in RFC 3339 timestamp format. This is when the key material will no longer be used to generate RRSIGs. For a key signing key (KSK) `DnssecKeyVersion`, this is populated after `PromoteZoneDnssecKeyVersion` has been called on its successor `DnssecKeyVersion`.
5024
+ :param str time_promoted: The date and time the key version was promoted expressed in RFC 3339 timestamp format.
5025
+ :param str time_published: The date and time the key version was, or will be, published, expressed in RFC 3339 timestamp format. This is when the zone contents will include a DNSKEY record corresponding to the key material.
5026
+ :param str time_unpublished: The date and time the key version was, or will be, unpublished, expressed in RFC 3339 timestamp format. This is when the corresponding DNSKEY will be removed from zone contents. For a key signing key (KSK) `DnssecKeyVersion`, this is populated after `PromoteZoneDnssecKeyVersion` has been called on its successor `DnssecKeyVersion`.
5027
+ :param str uuid: The UUID of the `DnssecKeyVersion`.
5028
+ """
5029
+ pulumi.set(__self__, "algorithm", algorithm)
5030
+ pulumi.set(__self__, "key_tag", key_tag)
5031
+ pulumi.set(__self__, "length_in_bytes", length_in_bytes)
5032
+ pulumi.set(__self__, "predecessor_dnssec_key_version_uuid", predecessor_dnssec_key_version_uuid)
5033
+ pulumi.set(__self__, "successor_dnssec_key_version_uuid", successor_dnssec_key_version_uuid)
5034
+ pulumi.set(__self__, "time_activated", time_activated)
5035
+ pulumi.set(__self__, "time_created", time_created)
5036
+ pulumi.set(__self__, "time_expired", time_expired)
5037
+ pulumi.set(__self__, "time_inactivated", time_inactivated)
5038
+ pulumi.set(__self__, "time_promoted", time_promoted)
5039
+ pulumi.set(__self__, "time_published", time_published)
5040
+ pulumi.set(__self__, "time_unpublished", time_unpublished)
5041
+ pulumi.set(__self__, "uuid", uuid)
5042
+
5043
+ @property
5044
+ @pulumi.getter
5045
+ def algorithm(self) -> str:
5046
+ """
5047
+ The signing algorithm used for the key.
5048
+ """
5049
+ return pulumi.get(self, "algorithm")
5050
+
5051
+ @property
5052
+ @pulumi.getter(name="keyTag")
5053
+ def key_tag(self) -> int:
5054
+ """
5055
+ The key tag associated with the `DnssecKeyVersion`. This key tag will be present in the RRSIG and DS records associated with the key material for this `DnssecKeyVersion`. For more information about key tags, see [RFC 4034](https://tools.ietf.org/html/rfc4034).
5056
+ """
5057
+ return pulumi.get(self, "key_tag")
5058
+
5059
+ @property
5060
+ @pulumi.getter(name="lengthInBytes")
5061
+ def length_in_bytes(self) -> int:
5062
+ """
5063
+ The length of the corresponding private key in bytes, expressed as an integer.
5064
+ """
5065
+ return pulumi.get(self, "length_in_bytes")
5066
+
5067
+ @property
5068
+ @pulumi.getter(name="predecessorDnssecKeyVersionUuid")
5069
+ def predecessor_dnssec_key_version_uuid(self) -> str:
5070
+ """
5071
+ When populated, this is the UUID of the `DnssecKeyVersion` that this `DnssecKeyVersion` will replace or has replaced.
5072
+ """
5073
+ return pulumi.get(self, "predecessor_dnssec_key_version_uuid")
5074
+
5075
+ @property
5076
+ @pulumi.getter(name="successorDnssecKeyVersionUuid")
5077
+ def successor_dnssec_key_version_uuid(self) -> str:
5078
+ """
5079
+ When populated, this is the UUID of the `DnssecKeyVersion` that will replace, or has replaced, this `DnssecKeyVersion`.
5080
+ """
5081
+ return pulumi.get(self, "successor_dnssec_key_version_uuid")
5082
+
5083
+ @property
5084
+ @pulumi.getter(name="timeActivated")
5085
+ def time_activated(self) -> str:
5086
+ """
5087
+ The date and time the key version went, or will go, active, expressed in RFC 3339 timestamp format. This is when the key material will be used to generate RRSIGs.
5088
+ """
5089
+ return pulumi.get(self, "time_activated")
5090
+
5091
+ @property
5092
+ @pulumi.getter(name="timeCreated")
5093
+ def time_created(self) -> str:
5094
+ """
5095
+ The date and time the resource was created in "YYYY-MM-ddThh:mm:ssZ" format with a Z offset, as defined by RFC 3339.
5096
+ """
5097
+ return pulumi.get(self, "time_created")
5098
+
5099
+ @property
5100
+ @pulumi.getter(name="timeExpired")
5101
+ def time_expired(self) -> str:
5102
+ """
5103
+ The date and time at which the recommended key version publication/activation lifetime ends, expressed in RFC 3339 timestamp format. This is when the corresponding DNSKEY should no longer exist in zone contents and no longer be used to generate RRSIGs. For a key sigining key (KSK), if `PromoteZoneDnssecKeyVersion` has not been called on this `DnssecKeyVersion`'s successor then it will remain active for arbitrarily long past its recommended lifetime. This prevents service disruption at the potential increased risk of key compromise.
5104
+ """
5105
+ return pulumi.get(self, "time_expired")
5106
+
5107
+ @property
5108
+ @pulumi.getter(name="timeInactivated")
5109
+ def time_inactivated(self) -> str:
5110
+ """
5111
+ The date and time the key version went, or will go, inactive, expressed in RFC 3339 timestamp format. This is when the key material will no longer be used to generate RRSIGs. For a key signing key (KSK) `DnssecKeyVersion`, this is populated after `PromoteZoneDnssecKeyVersion` has been called on its successor `DnssecKeyVersion`.
5112
+ """
5113
+ return pulumi.get(self, "time_inactivated")
5114
+
5115
+ @property
5116
+ @pulumi.getter(name="timePromoted")
5117
+ def time_promoted(self) -> str:
5118
+ """
5119
+ The date and time the key version was promoted expressed in RFC 3339 timestamp format.
5120
+ """
5121
+ return pulumi.get(self, "time_promoted")
5122
+
5123
+ @property
5124
+ @pulumi.getter(name="timePublished")
5125
+ def time_published(self) -> str:
5126
+ """
5127
+ The date and time the key version was, or will be, published, expressed in RFC 3339 timestamp format. This is when the zone contents will include a DNSKEY record corresponding to the key material.
5128
+ """
5129
+ return pulumi.get(self, "time_published")
5130
+
5131
+ @property
5132
+ @pulumi.getter(name="timeUnpublished")
5133
+ def time_unpublished(self) -> str:
5134
+ """
5135
+ The date and time the key version was, or will be, unpublished, expressed in RFC 3339 timestamp format. This is when the corresponding DNSKEY will be removed from zone contents. For a key signing key (KSK) `DnssecKeyVersion`, this is populated after `PromoteZoneDnssecKeyVersion` has been called on its successor `DnssecKeyVersion`.
5136
+ """
5137
+ return pulumi.get(self, "time_unpublished")
5138
+
5139
+ @property
5140
+ @pulumi.getter
5141
+ def uuid(self) -> str:
5142
+ """
5143
+ The UUID of the `DnssecKeyVersion`.
5144
+ """
5145
+ return pulumi.get(self, "uuid")
5146
+
5147
+
3839
5148
  @pulumi.output_type
3840
5149
  class GetZonesZoneExternalDownstreamResult(dict):
3841
5150
  def __init__(__self__, *,