pulumi-aws 7.15.0__py3-none-any.whl → 7.16.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (105) hide show
  1. pulumi_aws/__init__.py +80 -0
  2. pulumi_aws/alb/listener.py +7 -7
  3. pulumi_aws/alb/target_group.py +7 -7
  4. pulumi_aws/alb/target_group_attachment.py +83 -0
  5. pulumi_aws/apigateway/domain_name.py +86 -7
  6. pulumi_aws/apigateway/get_domain_name.py +15 -1
  7. pulumi_aws/apigateway/integration.py +48 -8
  8. pulumi_aws/athena/_inputs.py +412 -5
  9. pulumi_aws/athena/outputs.py +342 -2
  10. pulumi_aws/backup/global_settings.py +15 -7
  11. pulumi_aws/bedrock/agentcore_memory_strategy.py +8 -0
  12. pulumi_aws/cleanrooms/collaboration.py +26 -6
  13. pulumi_aws/cloudfront/__init__.py +6 -0
  14. pulumi_aws/cloudfront/_inputs.py +3601 -478
  15. pulumi_aws/cloudfront/connection_function.py +658 -0
  16. pulumi_aws/cloudfront/connection_group.py +649 -0
  17. pulumi_aws/cloudfront/distribution.py +142 -0
  18. pulumi_aws/cloudfront/distribution_tenant.py +857 -0
  19. pulumi_aws/cloudfront/get_connection_group.py +249 -0
  20. pulumi_aws/cloudfront/get_distribution_tenant.py +279 -0
  21. pulumi_aws/cloudfront/multitenant_distribution.py +1181 -0
  22. pulumi_aws/cloudfront/outputs.py +3034 -376
  23. pulumi_aws/cloudwatch/log_subscription_filter.py +136 -42
  24. pulumi_aws/directconnect/gateway.py +78 -3
  25. pulumi_aws/directconnect/get_gateway.py +24 -4
  26. pulumi_aws/dlm/_inputs.py +3 -3
  27. pulumi_aws/dlm/outputs.py +2 -2
  28. pulumi_aws/dynamodb/__init__.py +1 -0
  29. pulumi_aws/dynamodb/_inputs.py +370 -0
  30. pulumi_aws/dynamodb/global_secondary_index.py +666 -0
  31. pulumi_aws/dynamodb/outputs.py +315 -0
  32. pulumi_aws/dynamodb/table.py +9 -1
  33. pulumi_aws/ec2/_inputs.py +44 -4
  34. pulumi_aws/ec2/get_vpc_endpoint.py +24 -4
  35. pulumi_aws/ec2/outputs.py +54 -4
  36. pulumi_aws/ecr/__init__.py +1 -0
  37. pulumi_aws/ecr/_inputs.py +58 -22
  38. pulumi_aws/ecr/get_repository_creation_template.py +1 -1
  39. pulumi_aws/ecr/lifecycle_policy.py +152 -64
  40. pulumi_aws/ecr/outputs.py +37 -15
  41. pulumi_aws/ecr/pull_time_update_exclusion.py +363 -0
  42. pulumi_aws/ecr/repository_creation_template.py +7 -7
  43. pulumi_aws/ecs/_inputs.py +20 -0
  44. pulumi_aws/ecs/outputs.py +14 -0
  45. pulumi_aws/ecs/task_definition.py +28 -28
  46. pulumi_aws/elasticache/replication_group.py +7 -7
  47. pulumi_aws/fsx/ontap_file_system.py +14 -0
  48. pulumi_aws/glue/resource_policy.py +4 -4
  49. pulumi_aws/guardduty/_inputs.py +41 -1
  50. pulumi_aws/guardduty/outputs.py +27 -1
  51. pulumi_aws/iam/get_saml_provider.py +15 -1
  52. pulumi_aws/iam/outbound_web_identity_federation.py +0 -4
  53. pulumi_aws/iam/policy.py +47 -0
  54. pulumi_aws/iam/saml_provider.py +28 -0
  55. pulumi_aws/iam/virtual_mfa_device.py +66 -38
  56. pulumi_aws/imagebuilder/_inputs.py +87 -0
  57. pulumi_aws/imagebuilder/image.py +47 -0
  58. pulumi_aws/imagebuilder/image_pipeline.py +47 -0
  59. pulumi_aws/imagebuilder/outputs.py +87 -0
  60. pulumi_aws/kms/grant.py +18 -18
  61. pulumi_aws/lambda_/_inputs.py +24 -4
  62. pulumi_aws/lambda_/event_source_mapping.py +2 -0
  63. pulumi_aws/lambda_/function.py +28 -0
  64. pulumi_aws/lambda_/function_url.py +4 -0
  65. pulumi_aws/lambda_/get_function.py +15 -1
  66. pulumi_aws/lambda_/outputs.py +17 -3
  67. pulumi_aws/lambda_/permission.py +47 -0
  68. pulumi_aws/lb/listener.py +7 -7
  69. pulumi_aws/lb/target_group.py +7 -7
  70. pulumi_aws/lb/target_group_attachment.py +83 -0
  71. pulumi_aws/networkfirewall/_inputs.py +3 -3
  72. pulumi_aws/networkfirewall/outputs.py +2 -2
  73. pulumi_aws/networkfirewall/vpc_endpoint_association.py +2 -2
  74. pulumi_aws/networkmanager/vpc_attachment.py +7 -7
  75. pulumi_aws/opensearchingest/pipeline.py +47 -0
  76. pulumi_aws/organizations/__init__.py +1 -0
  77. pulumi_aws/organizations/tag.py +292 -0
  78. pulumi_aws/pulumi-plugin.json +1 -1
  79. pulumi_aws/rds/cluster.py +21 -21
  80. pulumi_aws/rds/get_proxy.py +29 -1
  81. pulumi_aws/rds/proxy.py +94 -0
  82. pulumi_aws/rds/proxy_default_target_group.py +0 -76
  83. pulumi_aws/rds/proxy_target.py +0 -80
  84. pulumi_aws/redshift/__init__.py +1 -0
  85. pulumi_aws/redshift/_inputs.py +329 -0
  86. pulumi_aws/redshift/idc_application.py +687 -0
  87. pulumi_aws/redshift/outputs.py +265 -0
  88. pulumi_aws/route53/get_resolver_firewall_rules.py +9 -0
  89. pulumi_aws/route53/get_resolver_rule.py +19 -4
  90. pulumi_aws/route53/outputs.py +108 -1
  91. pulumi_aws/route53/resolver_firewall_rule.py +199 -32
  92. pulumi_aws/secretsmanager/__init__.py +1 -0
  93. pulumi_aws/secretsmanager/tag.py +333 -0
  94. pulumi_aws/sesv2/__init__.py +1 -0
  95. pulumi_aws/sesv2/tenant.py +418 -0
  96. pulumi_aws/sfn/activity.py +0 -4
  97. pulumi_aws/sfn/alias.py +0 -4
  98. pulumi_aws/transfer/_inputs.py +126 -0
  99. pulumi_aws/transfer/outputs.py +97 -0
  100. pulumi_aws/transfer/web_app.py +54 -7
  101. pulumi_aws/vpclattice/service_network_resource_association.py +47 -0
  102. {pulumi_aws-7.15.0.dist-info → pulumi_aws-7.16.0.dist-info}/METADATA +1 -1
  103. {pulumi_aws-7.15.0.dist-info → pulumi_aws-7.16.0.dist-info}/RECORD +105 -93
  104. {pulumi_aws-7.15.0.dist-info → pulumi_aws-7.16.0.dist-info}/WHEEL +0 -0
  105. {pulumi_aws-7.15.0.dist-info → pulumi_aws-7.16.0.dist-info}/top_level.txt +0 -0
@@ -19,6 +19,14 @@ __all__ = [
19
19
  'ClusterClusterNode',
20
20
  'EndpointAccessVpcEndpoint',
21
21
  'EndpointAccessVpcEndpointNetworkInterface',
22
+ 'IdcApplicationAuthorizedTokenIssuer',
23
+ 'IdcApplicationServiceIntegration',
24
+ 'IdcApplicationServiceIntegrationLakeFormation',
25
+ 'IdcApplicationServiceIntegrationLakeFormationLakeFormationQuery',
26
+ 'IdcApplicationServiceIntegrationRedshift',
27
+ 'IdcApplicationServiceIntegrationRedshiftConnect',
28
+ 'IdcApplicationServiceIntegrationS3AccessGrants',
29
+ 'IdcApplicationServiceIntegrationS3AccessGrantsReadWriteAccess',
22
30
  'IntegrationTimeouts',
23
31
  'ParameterGroupParameter',
24
32
  'ScheduledActionTargetAction',
@@ -236,6 +244,263 @@ class EndpointAccessVpcEndpointNetworkInterface(dict):
236
244
  return pulumi.get(self, "subnet_id")
237
245
 
238
246
 
247
+ @pulumi.output_type
248
+ class IdcApplicationAuthorizedTokenIssuer(dict):
249
+ @staticmethod
250
+ def __key_warning(key: str):
251
+ suggest = None
252
+ if key == "authorizedAudiencesLists":
253
+ suggest = "authorized_audiences_lists"
254
+ elif key == "trustedTokenIssuerArn":
255
+ suggest = "trusted_token_issuer_arn"
256
+
257
+ if suggest:
258
+ pulumi.log.warn(f"Key '{key}' not found in IdcApplicationAuthorizedTokenIssuer. Access the value via the '{suggest}' property getter instead.")
259
+
260
+ def __getitem__(self, key: str) -> Any:
261
+ IdcApplicationAuthorizedTokenIssuer.__key_warning(key)
262
+ return super().__getitem__(key)
263
+
264
+ def get(self, key: str, default = None) -> Any:
265
+ IdcApplicationAuthorizedTokenIssuer.__key_warning(key)
266
+ return super().get(key, default)
267
+
268
+ def __init__(__self__, *,
269
+ authorized_audiences_lists: Optional[Sequence[_builtins.str]] = None,
270
+ trusted_token_issuer_arn: Optional[_builtins.str] = None):
271
+ """
272
+ :param Sequence[_builtins.str] authorized_audiences_lists: List of audiences for the authorized token issuer for integrating Amazon Redshift with IDC Identity Center.
273
+ :param _builtins.str trusted_token_issuer_arn: ARN for the authorized token issuer for integrating Amazon Redshift with IDC Identity Center.
274
+ """
275
+ if authorized_audiences_lists is not None:
276
+ pulumi.set(__self__, "authorized_audiences_lists", authorized_audiences_lists)
277
+ if trusted_token_issuer_arn is not None:
278
+ pulumi.set(__self__, "trusted_token_issuer_arn", trusted_token_issuer_arn)
279
+
280
+ @_builtins.property
281
+ @pulumi.getter(name="authorizedAudiencesLists")
282
+ def authorized_audiences_lists(self) -> Optional[Sequence[_builtins.str]]:
283
+ """
284
+ List of audiences for the authorized token issuer for integrating Amazon Redshift with IDC Identity Center.
285
+ """
286
+ return pulumi.get(self, "authorized_audiences_lists")
287
+
288
+ @_builtins.property
289
+ @pulumi.getter(name="trustedTokenIssuerArn")
290
+ def trusted_token_issuer_arn(self) -> Optional[_builtins.str]:
291
+ """
292
+ ARN for the authorized token issuer for integrating Amazon Redshift with IDC Identity Center.
293
+ """
294
+ return pulumi.get(self, "trusted_token_issuer_arn")
295
+
296
+
297
+ @pulumi.output_type
298
+ class IdcApplicationServiceIntegration(dict):
299
+ @staticmethod
300
+ def __key_warning(key: str):
301
+ suggest = None
302
+ if key == "lakeFormation":
303
+ suggest = "lake_formation"
304
+ elif key == "s3AccessGrants":
305
+ suggest = "s3_access_grants"
306
+
307
+ if suggest:
308
+ pulumi.log.warn(f"Key '{key}' not found in IdcApplicationServiceIntegration. Access the value via the '{suggest}' property getter instead.")
309
+
310
+ def __getitem__(self, key: str) -> Any:
311
+ IdcApplicationServiceIntegration.__key_warning(key)
312
+ return super().__getitem__(key)
313
+
314
+ def get(self, key: str, default = None) -> Any:
315
+ IdcApplicationServiceIntegration.__key_warning(key)
316
+ return super().get(key, default)
317
+
318
+ def __init__(__self__, *,
319
+ lake_formation: Optional['outputs.IdcApplicationServiceIntegrationLakeFormation'] = None,
320
+ redshift: Optional['outputs.IdcApplicationServiceIntegrationRedshift'] = None,
321
+ s3_access_grants: Optional['outputs.IdcApplicationServiceIntegrationS3AccessGrants'] = None):
322
+ """
323
+ :param 'IdcApplicationServiceIntegrationLakeFormationArgs' lake_formation: List of scopes set up for Lake Formation integration. Refer to the lake_formation documentation for more details.
324
+ :param 'IdcApplicationServiceIntegrationRedshiftArgs' redshift: List of scopes set up for Redshift integration. Refer to the redshift documentation for more details.
325
+ :param 'IdcApplicationServiceIntegrationS3AccessGrantsArgs' s3_access_grants: List of scopes set up for S3 Access Grants integration. Refer to the s3_access_grants documentation for more details.
326
+ """
327
+ if lake_formation is not None:
328
+ pulumi.set(__self__, "lake_formation", lake_formation)
329
+ if redshift is not None:
330
+ pulumi.set(__self__, "redshift", redshift)
331
+ if s3_access_grants is not None:
332
+ pulumi.set(__self__, "s3_access_grants", s3_access_grants)
333
+
334
+ @_builtins.property
335
+ @pulumi.getter(name="lakeFormation")
336
+ def lake_formation(self) -> Optional['outputs.IdcApplicationServiceIntegrationLakeFormation']:
337
+ """
338
+ List of scopes set up for Lake Formation integration. Refer to the lake_formation documentation for more details.
339
+ """
340
+ return pulumi.get(self, "lake_formation")
341
+
342
+ @_builtins.property
343
+ @pulumi.getter
344
+ def redshift(self) -> Optional['outputs.IdcApplicationServiceIntegrationRedshift']:
345
+ """
346
+ List of scopes set up for Redshift integration. Refer to the redshift documentation for more details.
347
+ """
348
+ return pulumi.get(self, "redshift")
349
+
350
+ @_builtins.property
351
+ @pulumi.getter(name="s3AccessGrants")
352
+ def s3_access_grants(self) -> Optional['outputs.IdcApplicationServiceIntegrationS3AccessGrants']:
353
+ """
354
+ List of scopes set up for S3 Access Grants integration. Refer to the s3_access_grants documentation for more details.
355
+ """
356
+ return pulumi.get(self, "s3_access_grants")
357
+
358
+
359
+ @pulumi.output_type
360
+ class IdcApplicationServiceIntegrationLakeFormation(dict):
361
+ @staticmethod
362
+ def __key_warning(key: str):
363
+ suggest = None
364
+ if key == "lakeFormationQuery":
365
+ suggest = "lake_formation_query"
366
+
367
+ if suggest:
368
+ pulumi.log.warn(f"Key '{key}' not found in IdcApplicationServiceIntegrationLakeFormation. Access the value via the '{suggest}' property getter instead.")
369
+
370
+ def __getitem__(self, key: str) -> Any:
371
+ IdcApplicationServiceIntegrationLakeFormation.__key_warning(key)
372
+ return super().__getitem__(key)
373
+
374
+ def get(self, key: str, default = None) -> Any:
375
+ IdcApplicationServiceIntegrationLakeFormation.__key_warning(key)
376
+ return super().get(key, default)
377
+
378
+ def __init__(__self__, *,
379
+ lake_formation_query: Optional['outputs.IdcApplicationServiceIntegrationLakeFormationLakeFormationQuery'] = None):
380
+ """
381
+ :param 'IdcApplicationServiceIntegrationLakeFormationLakeFormationQueryArgs' lake_formation_query: Lake formation scope.
382
+ """
383
+ if lake_formation_query is not None:
384
+ pulumi.set(__self__, "lake_formation_query", lake_formation_query)
385
+
386
+ @_builtins.property
387
+ @pulumi.getter(name="lakeFormationQuery")
388
+ def lake_formation_query(self) -> Optional['outputs.IdcApplicationServiceIntegrationLakeFormationLakeFormationQuery']:
389
+ """
390
+ Lake formation scope.
391
+ """
392
+ return pulumi.get(self, "lake_formation_query")
393
+
394
+
395
+ @pulumi.output_type
396
+ class IdcApplicationServiceIntegrationLakeFormationLakeFormationQuery(dict):
397
+ def __init__(__self__, *,
398
+ authorization: _builtins.str):
399
+ """
400
+ :param _builtins.str authorization: Determines whether the query scope is enabled or disabled.
401
+ """
402
+ pulumi.set(__self__, "authorization", authorization)
403
+
404
+ @_builtins.property
405
+ @pulumi.getter
406
+ def authorization(self) -> _builtins.str:
407
+ """
408
+ Determines whether the query scope is enabled or disabled.
409
+ """
410
+ return pulumi.get(self, "authorization")
411
+
412
+
413
+ @pulumi.output_type
414
+ class IdcApplicationServiceIntegrationRedshift(dict):
415
+ def __init__(__self__, *,
416
+ connect: Optional['outputs.IdcApplicationServiceIntegrationRedshiftConnect'] = None):
417
+ """
418
+ :param 'IdcApplicationServiceIntegrationRedshiftConnectArgs' connect: Amazon Redshift connect service integration scope.
419
+ """
420
+ if connect is not None:
421
+ pulumi.set(__self__, "connect", connect)
422
+
423
+ @_builtins.property
424
+ @pulumi.getter
425
+ def connect(self) -> Optional['outputs.IdcApplicationServiceIntegrationRedshiftConnect']:
426
+ """
427
+ Amazon Redshift connect service integration scope.
428
+ """
429
+ return pulumi.get(self, "connect")
430
+
431
+
432
+ @pulumi.output_type
433
+ class IdcApplicationServiceIntegrationRedshiftConnect(dict):
434
+ def __init__(__self__, *,
435
+ authorization: _builtins.str):
436
+ """
437
+ :param _builtins.str authorization: Determines whether the connect integration is enabled or disabled.
438
+ """
439
+ pulumi.set(__self__, "authorization", authorization)
440
+
441
+ @_builtins.property
442
+ @pulumi.getter
443
+ def authorization(self) -> _builtins.str:
444
+ """
445
+ Determines whether the connect integration is enabled or disabled.
446
+ """
447
+ return pulumi.get(self, "authorization")
448
+
449
+
450
+ @pulumi.output_type
451
+ class IdcApplicationServiceIntegrationS3AccessGrants(dict):
452
+ @staticmethod
453
+ def __key_warning(key: str):
454
+ suggest = None
455
+ if key == "readWriteAccess":
456
+ suggest = "read_write_access"
457
+
458
+ if suggest:
459
+ pulumi.log.warn(f"Key '{key}' not found in IdcApplicationServiceIntegrationS3AccessGrants. Access the value via the '{suggest}' property getter instead.")
460
+
461
+ def __getitem__(self, key: str) -> Any:
462
+ IdcApplicationServiceIntegrationS3AccessGrants.__key_warning(key)
463
+ return super().__getitem__(key)
464
+
465
+ def get(self, key: str, default = None) -> Any:
466
+ IdcApplicationServiceIntegrationS3AccessGrants.__key_warning(key)
467
+ return super().get(key, default)
468
+
469
+ def __init__(__self__, *,
470
+ read_write_access: Optional['outputs.IdcApplicationServiceIntegrationS3AccessGrantsReadWriteAccess'] = None):
471
+ """
472
+ :param 'IdcApplicationServiceIntegrationS3AccessGrantsReadWriteAccessArgs' read_write_access: S3 Access grants integration scope.
473
+ """
474
+ if read_write_access is not None:
475
+ pulumi.set(__self__, "read_write_access", read_write_access)
476
+
477
+ @_builtins.property
478
+ @pulumi.getter(name="readWriteAccess")
479
+ def read_write_access(self) -> Optional['outputs.IdcApplicationServiceIntegrationS3AccessGrantsReadWriteAccess']:
480
+ """
481
+ S3 Access grants integration scope.
482
+ """
483
+ return pulumi.get(self, "read_write_access")
484
+
485
+
486
+ @pulumi.output_type
487
+ class IdcApplicationServiceIntegrationS3AccessGrantsReadWriteAccess(dict):
488
+ def __init__(__self__, *,
489
+ authorization: _builtins.str):
490
+ """
491
+ :param _builtins.str authorization: Determines whether read/write scope is enabled or disabled.
492
+ """
493
+ pulumi.set(__self__, "authorization", authorization)
494
+
495
+ @_builtins.property
496
+ @pulumi.getter
497
+ def authorization(self) -> _builtins.str:
498
+ """
499
+ Determines whether read/write scope is enabled or disabled.
500
+ """
501
+ return pulumi.get(self, "authorization")
502
+
503
+
239
504
  @pulumi.output_type
240
505
  class IntegrationTimeouts(dict):
241
506
  def __init__(__self__, *,
@@ -50,11 +50,17 @@ class GetResolverFirewallRulesResult:
50
50
  @_builtins.property
51
51
  @pulumi.getter
52
52
  def action(self) -> Optional[_builtins.str]:
53
+ """
54
+ The action that DNS Firewall should take on a DNS query when it matches one of the domains in the rule's domain list, or a threat in a DNS Firewall Advanced rule.
55
+ """
53
56
  return pulumi.get(self, "action")
54
57
 
55
58
  @_builtins.property
56
59
  @pulumi.getter(name="firewallRuleGroupId")
57
60
  def firewall_rule_group_id(self) -> _builtins.str:
61
+ """
62
+ The unique identifier of the firewall rule group.
63
+ """
58
64
  return pulumi.get(self, "firewall_rule_group_id")
59
65
 
60
66
  @_builtins.property
@@ -76,6 +82,9 @@ class GetResolverFirewallRulesResult:
76
82
  @_builtins.property
77
83
  @pulumi.getter
78
84
  def priority(self) -> Optional[_builtins.int]:
85
+ """
86
+ The priority of the rule in the rule group.
87
+ """
79
88
  return pulumi.get(self, "priority")
80
89
 
81
90
  @_builtins.property
@@ -13,6 +13,7 @@ if sys.version_info >= (3, 11):
13
13
  else:
14
14
  from typing_extensions import NotRequired, TypedDict, TypeAlias
15
15
  from .. import _utilities
16
+ from . import outputs
16
17
 
17
18
  __all__ = [
18
19
  'GetResolverRuleResult',
@@ -26,7 +27,7 @@ class GetResolverRuleResult:
26
27
  """
27
28
  A collection of values returned by getResolverRule.
28
29
  """
29
- def __init__(__self__, arn=None, domain_name=None, id=None, name=None, owner_id=None, region=None, resolver_endpoint_id=None, resolver_rule_id=None, rule_type=None, share_status=None, tags=None):
30
+ def __init__(__self__, arn=None, domain_name=None, id=None, name=None, owner_id=None, region=None, resolver_endpoint_id=None, resolver_rule_id=None, rule_type=None, share_status=None, tags=None, target_ips=None):
30
31
  if arn and not isinstance(arn, str):
31
32
  raise TypeError("Expected argument 'arn' to be a str")
32
33
  pulumi.set(__self__, "arn", arn)
@@ -60,6 +61,9 @@ class GetResolverRuleResult:
60
61
  if tags and not isinstance(tags, dict):
61
62
  raise TypeError("Expected argument 'tags' to be a dict")
62
63
  pulumi.set(__self__, "tags", tags)
64
+ if target_ips and not isinstance(target_ips, list):
65
+ raise TypeError("Expected argument 'target_ips' to be a list")
66
+ pulumi.set(__self__, "target_ips", target_ips)
63
67
 
64
68
  @_builtins.property
65
69
  @pulumi.getter
@@ -132,6 +136,14 @@ class GetResolverRuleResult:
132
136
  """
133
137
  return pulumi.get(self, "tags")
134
138
 
139
+ @_builtins.property
140
+ @pulumi.getter(name="targetIps")
141
+ def target_ips(self) -> Sequence['outputs.GetResolverRuleTargetIpResult']:
142
+ """
143
+ List of configurations for target IP addresses. Only applicable for `FORWARD` rules. See `target_ips` below for details.
144
+ """
145
+ return pulumi.get(self, "target_ips")
146
+
135
147
 
136
148
  class AwaitableGetResolverRuleResult(GetResolverRuleResult):
137
149
  # pylint: disable=using-constant-test
@@ -149,7 +161,8 @@ class AwaitableGetResolverRuleResult(GetResolverRuleResult):
149
161
  resolver_rule_id=self.resolver_rule_id,
150
162
  rule_type=self.rule_type,
151
163
  share_status=self.share_status,
152
- tags=self.tags)
164
+ tags=self.tags,
165
+ target_ips=self.target_ips)
153
166
 
154
167
 
155
168
  def get_resolver_rule(domain_name: Optional[_builtins.str] = None,
@@ -206,7 +219,8 @@ def get_resolver_rule(domain_name: Optional[_builtins.str] = None,
206
219
  resolver_rule_id=pulumi.get(__ret__, 'resolver_rule_id'),
207
220
  rule_type=pulumi.get(__ret__, 'rule_type'),
208
221
  share_status=pulumi.get(__ret__, 'share_status'),
209
- tags=pulumi.get(__ret__, 'tags'))
222
+ tags=pulumi.get(__ret__, 'tags'),
223
+ target_ips=pulumi.get(__ret__, 'target_ips'))
210
224
  def get_resolver_rule_output(domain_name: Optional[pulumi.Input[Optional[_builtins.str]]] = None,
211
225
  name: Optional[pulumi.Input[Optional[_builtins.str]]] = None,
212
226
  region: Optional[pulumi.Input[Optional[_builtins.str]]] = None,
@@ -260,4 +274,5 @@ def get_resolver_rule_output(domain_name: Optional[pulumi.Input[Optional[_builti
260
274
  resolver_rule_id=pulumi.get(__response__, 'resolver_rule_id'),
261
275
  rule_type=pulumi.get(__response__, 'rule_type'),
262
276
  share_status=pulumi.get(__response__, 'share_status'),
263
- tags=pulumi.get(__response__, 'tags')))
277
+ tags=pulumi.get(__response__, 'tags'),
278
+ target_ips=pulumi.get(__response__, 'target_ips')))
@@ -50,6 +50,7 @@ __all__ = [
50
50
  'GetRecordsResourceRecordSetResourceRecordResult',
51
51
  'GetResolverEndpointFilterResult',
52
52
  'GetResolverFirewallRulesFirewallRuleResult',
53
+ 'GetResolverRuleTargetIpResult',
53
54
  'GetTrafficPolicyDocumentEndpointResult',
54
55
  'GetTrafficPolicyDocumentRuleResult',
55
56
  'GetTrafficPolicyDocumentRuleGeoProximityLocationResult',
@@ -1703,39 +1704,54 @@ class GetResolverFirewallRulesFirewallRuleResult(dict):
1703
1704
  block_override_domain: _builtins.str,
1704
1705
  block_override_ttl: _builtins.int,
1705
1706
  block_response: _builtins.str,
1707
+ confidence_threshold: _builtins.str,
1706
1708
  creation_time: _builtins.str,
1707
1709
  creator_request_id: _builtins.str,
1710
+ dns_threat_protection: _builtins.str,
1708
1711
  firewall_domain_list_id: _builtins.str,
1712
+ firewall_domain_redirection_action: _builtins.str,
1709
1713
  firewall_rule_group_id: _builtins.str,
1714
+ firewall_threat_protection_id: _builtins.str,
1710
1715
  modification_time: _builtins.str,
1711
1716
  name: _builtins.str,
1712
- priority: _builtins.int):
1717
+ priority: _builtins.int,
1718
+ q_type: _builtins.str):
1713
1719
  """
1714
1720
  :param _builtins.str action: The action that DNS Firewall should take on a DNS query when it matches one of the domains in the rule's domain list.
1715
1721
  :param _builtins.str block_override_dns_type: The DNS record's type.
1716
1722
  :param _builtins.str block_override_domain: The custom DNS record to send back in response to the query.
1717
1723
  :param _builtins.int block_override_ttl: The recommended amount of time, in seconds, for the DNS resolver or web browser to cache the provided override record.
1718
1724
  :param _builtins.str block_response: The way that you want DNS Firewall to block the request.
1725
+ :param _builtins.str confidence_threshold: The confidence threshold for DNS Firewall Advanced rules.
1719
1726
  :param _builtins.str creation_time: The date and time that the rule was created, in Unix time format and Coordinated Universal Time (UTC).
1720
1727
  :param _builtins.str creator_request_id: A unique string defined by you to identify the request.
1728
+ :param _builtins.str dns_threat_protection: The type of DNS Firewall Advanced rule.
1721
1729
  :param _builtins.str firewall_domain_list_id: The ID of the domain list that's used in the rule.
1730
+ :param _builtins.str firewall_domain_redirection_action: How DNS Firewall evaluates DNS redirection in the DNS redirection chain.
1722
1731
  :param _builtins.str firewall_rule_group_id: The unique identifier of the firewall rule group that you want to retrieve the rules for.
1732
+ :param _builtins.str firewall_threat_protection_id: The ID of the DNS Firewall Advanced rule.
1723
1733
  :param _builtins.str modification_time: The date and time that the rule was last modified, in Unix time format and Coordinated Universal Time (UTC).
1724
1734
  :param _builtins.str name: The name of the rule.
1725
1735
  :param _builtins.int priority: The setting that determines the processing order of the rules in a rule group.
1736
+ :param _builtins.str q_type: The DNS query type that the rule evaluates.
1726
1737
  """
1727
1738
  pulumi.set(__self__, "action", action)
1728
1739
  pulumi.set(__self__, "block_override_dns_type", block_override_dns_type)
1729
1740
  pulumi.set(__self__, "block_override_domain", block_override_domain)
1730
1741
  pulumi.set(__self__, "block_override_ttl", block_override_ttl)
1731
1742
  pulumi.set(__self__, "block_response", block_response)
1743
+ pulumi.set(__self__, "confidence_threshold", confidence_threshold)
1732
1744
  pulumi.set(__self__, "creation_time", creation_time)
1733
1745
  pulumi.set(__self__, "creator_request_id", creator_request_id)
1746
+ pulumi.set(__self__, "dns_threat_protection", dns_threat_protection)
1734
1747
  pulumi.set(__self__, "firewall_domain_list_id", firewall_domain_list_id)
1748
+ pulumi.set(__self__, "firewall_domain_redirection_action", firewall_domain_redirection_action)
1735
1749
  pulumi.set(__self__, "firewall_rule_group_id", firewall_rule_group_id)
1750
+ pulumi.set(__self__, "firewall_threat_protection_id", firewall_threat_protection_id)
1736
1751
  pulumi.set(__self__, "modification_time", modification_time)
1737
1752
  pulumi.set(__self__, "name", name)
1738
1753
  pulumi.set(__self__, "priority", priority)
1754
+ pulumi.set(__self__, "q_type", q_type)
1739
1755
 
1740
1756
  @_builtins.property
1741
1757
  @pulumi.getter
@@ -1777,6 +1793,14 @@ class GetResolverFirewallRulesFirewallRuleResult(dict):
1777
1793
  """
1778
1794
  return pulumi.get(self, "block_response")
1779
1795
 
1796
+ @_builtins.property
1797
+ @pulumi.getter(name="confidenceThreshold")
1798
+ def confidence_threshold(self) -> _builtins.str:
1799
+ """
1800
+ The confidence threshold for DNS Firewall Advanced rules.
1801
+ """
1802
+ return pulumi.get(self, "confidence_threshold")
1803
+
1780
1804
  @_builtins.property
1781
1805
  @pulumi.getter(name="creationTime")
1782
1806
  def creation_time(self) -> _builtins.str:
@@ -1793,6 +1817,14 @@ class GetResolverFirewallRulesFirewallRuleResult(dict):
1793
1817
  """
1794
1818
  return pulumi.get(self, "creator_request_id")
1795
1819
 
1820
+ @_builtins.property
1821
+ @pulumi.getter(name="dnsThreatProtection")
1822
+ def dns_threat_protection(self) -> _builtins.str:
1823
+ """
1824
+ The type of DNS Firewall Advanced rule.
1825
+ """
1826
+ return pulumi.get(self, "dns_threat_protection")
1827
+
1796
1828
  @_builtins.property
1797
1829
  @pulumi.getter(name="firewallDomainListId")
1798
1830
  def firewall_domain_list_id(self) -> _builtins.str:
@@ -1801,6 +1833,14 @@ class GetResolverFirewallRulesFirewallRuleResult(dict):
1801
1833
  """
1802
1834
  return pulumi.get(self, "firewall_domain_list_id")
1803
1835
 
1836
+ @_builtins.property
1837
+ @pulumi.getter(name="firewallDomainRedirectionAction")
1838
+ def firewall_domain_redirection_action(self) -> _builtins.str:
1839
+ """
1840
+ How DNS Firewall evaluates DNS redirection in the DNS redirection chain.
1841
+ """
1842
+ return pulumi.get(self, "firewall_domain_redirection_action")
1843
+
1804
1844
  @_builtins.property
1805
1845
  @pulumi.getter(name="firewallRuleGroupId")
1806
1846
  def firewall_rule_group_id(self) -> _builtins.str:
@@ -1809,6 +1849,14 @@ class GetResolverFirewallRulesFirewallRuleResult(dict):
1809
1849
  """
1810
1850
  return pulumi.get(self, "firewall_rule_group_id")
1811
1851
 
1852
+ @_builtins.property
1853
+ @pulumi.getter(name="firewallThreatProtectionId")
1854
+ def firewall_threat_protection_id(self) -> _builtins.str:
1855
+ """
1856
+ The ID of the DNS Firewall Advanced rule.
1857
+ """
1858
+ return pulumi.get(self, "firewall_threat_protection_id")
1859
+
1812
1860
  @_builtins.property
1813
1861
  @pulumi.getter(name="modificationTime")
1814
1862
  def modification_time(self) -> _builtins.str:
@@ -1833,6 +1881,65 @@ class GetResolverFirewallRulesFirewallRuleResult(dict):
1833
1881
  """
1834
1882
  return pulumi.get(self, "priority")
1835
1883
 
1884
+ @_builtins.property
1885
+ @pulumi.getter(name="qType")
1886
+ def q_type(self) -> _builtins.str:
1887
+ """
1888
+ The DNS query type that the rule evaluates.
1889
+ """
1890
+ return pulumi.get(self, "q_type")
1891
+
1892
+
1893
+ @pulumi.output_type
1894
+ class GetResolverRuleTargetIpResult(dict):
1895
+ def __init__(__self__, *,
1896
+ ip: _builtins.str,
1897
+ ipv6: _builtins.str,
1898
+ port: _builtins.int,
1899
+ protocol: _builtins.str):
1900
+ """
1901
+ :param _builtins.str ip: IPv4 address that you want to forward DNS queries to.
1902
+ :param _builtins.str ipv6: IPv6 address that you want to forward DNS queries to.
1903
+ :param _builtins.int port: Port at the IP address that you want to forward DNS queries to.
1904
+ :param _builtins.str protocol: Protocol for the target IP address. Valid values are `Do53` (DNS over port 53), `DoH` (DNS over HTTPS), and `DoH-FIPS` (DNS over HTTPS with FIPS).
1905
+ """
1906
+ pulumi.set(__self__, "ip", ip)
1907
+ pulumi.set(__self__, "ipv6", ipv6)
1908
+ pulumi.set(__self__, "port", port)
1909
+ pulumi.set(__self__, "protocol", protocol)
1910
+
1911
+ @_builtins.property
1912
+ @pulumi.getter
1913
+ def ip(self) -> _builtins.str:
1914
+ """
1915
+ IPv4 address that you want to forward DNS queries to.
1916
+ """
1917
+ return pulumi.get(self, "ip")
1918
+
1919
+ @_builtins.property
1920
+ @pulumi.getter
1921
+ def ipv6(self) -> _builtins.str:
1922
+ """
1923
+ IPv6 address that you want to forward DNS queries to.
1924
+ """
1925
+ return pulumi.get(self, "ipv6")
1926
+
1927
+ @_builtins.property
1928
+ @pulumi.getter
1929
+ def port(self) -> _builtins.int:
1930
+ """
1931
+ Port at the IP address that you want to forward DNS queries to.
1932
+ """
1933
+ return pulumi.get(self, "port")
1934
+
1935
+ @_builtins.property
1936
+ @pulumi.getter
1937
+ def protocol(self) -> _builtins.str:
1938
+ """
1939
+ Protocol for the target IP address. Valid values are `Do53` (DNS over port 53), `DoH` (DNS over HTTPS), and `DoH-FIPS` (DNS over HTTPS with FIPS).
1940
+ """
1941
+ return pulumi.get(self, "protocol")
1942
+
1836
1943
 
1837
1944
  @pulumi.output_type
1838
1945
  class GetTrafficPolicyDocumentEndpointResult(dict):