aws-cdk-lib 2.137.0__py3-none-any.whl → 2.138.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of aws-cdk-lib might be problematic. Click here for more details.
- aws_cdk/__init__.py +8 -0
- aws_cdk/_jsii/__init__.py +1 -1
- aws_cdk/_jsii/{aws-cdk-lib@2.137.0.jsii.tgz → aws-cdk-lib@2.138.0.jsii.tgz} +0 -0
- aws_cdk/aws_amplify/__init__.py +29 -113
- aws_cdk/aws_appconfig/__init__.py +26 -33
- aws_cdk/aws_apprunner/__init__.py +5 -2
- aws_cdk/aws_appsync/__init__.py +400 -13
- aws_cdk/aws_aps/__init__.py +64 -47
- aws_cdk/aws_b2bi/__init__.py +2 -6
- aws_cdk/aws_backup/__init__.py +27 -23
- aws_cdk/aws_batch/__init__.py +103 -0
- aws_cdk/aws_bcmdataexports/__init__.py +1114 -0
- aws_cdk/aws_chatbot/__init__.py +6 -4
- aws_cdk/aws_cleanrooms/__init__.py +526 -3
- aws_cdk/aws_cleanroomsml/__init__.py +960 -0
- aws_cdk/aws_cloudtrail/__init__.py +10 -10
- aws_cdk/aws_cloudwatch/__init__.py +124 -8
- aws_cdk/aws_codebuild/__init__.py +27 -22
- aws_cdk/aws_codeconnections/__init__.py +435 -0
- aws_cdk/aws_cognito/__init__.py +175 -79
- aws_cdk/aws_deadline/__init__.py +5394 -0
- aws_cdk/aws_ec2/__init__.py +279 -163
- aws_cdk/aws_ecs/__init__.py +240 -1
- aws_cdk/aws_efs/__init__.py +2 -2
- aws_cdk/aws_elasticache/__init__.py +86 -32
- aws_cdk/aws_elasticloadbalancingv2/__init__.py +52 -2
- aws_cdk/aws_emr/__init__.py +2 -2
- aws_cdk/aws_entityresolution/__init__.py +1982 -773
- aws_cdk/aws_globalaccelerator/__init__.py +443 -0
- aws_cdk/aws_iam/__init__.py +1 -2
- aws_cdk/aws_internetmonitor/__init__.py +14 -6
- aws_cdk/aws_ivs/__init__.py +1273 -71
- aws_cdk/aws_mediatailor/__init__.py +41 -0
- aws_cdk/aws_personalize/__init__.py +8 -6
- aws_cdk/aws_pinpoint/__init__.py +5 -3
- aws_cdk/aws_pipes/__init__.py +5 -1
- aws_cdk/aws_quicksight/__init__.py +12 -6
- aws_cdk/aws_rds/__init__.py +355 -85
- aws_cdk/aws_route53/__init__.py +587 -14
- aws_cdk/aws_sagemaker/__init__.py +233 -2
- aws_cdk/aws_securityhub/__init__.py +4940 -102
- aws_cdk/aws_securitylake/__init__.py +1237 -55
- aws_cdk/aws_sns/__init__.py +61 -4
- aws_cdk/aws_ssmcontacts/__init__.py +11 -4
- aws_cdk/aws_stepfunctions/__init__.py +8 -16
- aws_cdk/aws_stepfunctions_tasks/__init__.py +676 -1
- aws_cdk/aws_transfer/__init__.py +4 -4
- aws_cdk/aws_verifiedpermissions/__init__.py +114 -37
- aws_cdk/aws_workspacesthinclient/__init__.py +8 -8
- aws_cdk/custom_resources/__init__.py +248 -26
- {aws_cdk_lib-2.137.0.dist-info → aws_cdk_lib-2.138.0.dist-info}/METADATA +3 -3
- {aws_cdk_lib-2.137.0.dist-info → aws_cdk_lib-2.138.0.dist-info}/RECORD +56 -52
- {aws_cdk_lib-2.137.0.dist-info → aws_cdk_lib-2.138.0.dist-info}/LICENSE +0 -0
- {aws_cdk_lib-2.137.0.dist-info → aws_cdk_lib-2.138.0.dist-info}/NOTICE +0 -0
- {aws_cdk_lib-2.137.0.dist-info → aws_cdk_lib-2.138.0.dist-info}/WHEEL +0 -0
- {aws_cdk_lib-2.137.0.dist-info → aws_cdk_lib-2.138.0.dist-info}/top_level.txt +0 -0
aws_cdk/aws_route53/__init__.py
CHANGED
|
@@ -352,6 +352,46 @@ route53.PublicHostedZone(self, "HostedZone",
|
|
|
352
352
|
)
|
|
353
353
|
```
|
|
354
354
|
|
|
355
|
+
## Enabling DNSSEC
|
|
356
|
+
|
|
357
|
+
DNSSEC can be enabled for Hosted Zones. For detailed information, see
|
|
358
|
+
[Configuring DNSSEC signing in Amazon Route 53](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-configuring-dnssec.html).
|
|
359
|
+
|
|
360
|
+
Enabling DNSSEC requires an asymmetric KMS Customer-Managed Key using the `ECC_NIST_P256` key spec.
|
|
361
|
+
Additionally, that KMS key must be in `us-east-1`.
|
|
362
|
+
|
|
363
|
+
```python
|
|
364
|
+
kms_key = kms.Key(self, "KmsCMK",
|
|
365
|
+
key_spec=kms.KeySpec.ECC_NIST_P256,
|
|
366
|
+
key_usage=kms.KeyUsage.SIGN_VERIFY
|
|
367
|
+
)
|
|
368
|
+
hosted_zone = route53.HostedZone(self, "HostedZone",
|
|
369
|
+
zone_name="example.com"
|
|
370
|
+
)
|
|
371
|
+
# Enable DNSSEC signing for the zone
|
|
372
|
+
hosted_zone.enable_dnssec(kms_key=kms_key)
|
|
373
|
+
```
|
|
374
|
+
|
|
375
|
+
The necessary permissions for Route 53 to use the key will automatically be added when using
|
|
376
|
+
this configuration. If it is necessary to create a key signing key manually, that can be done
|
|
377
|
+
using the `KeySigningKey` construct:
|
|
378
|
+
|
|
379
|
+
```python
|
|
380
|
+
# hosted_zone: route53.HostedZone
|
|
381
|
+
# kms_key: kms.Key
|
|
382
|
+
|
|
383
|
+
route53.KeySigningKey(self, "KeySigningKey",
|
|
384
|
+
hosted_zone=hosted_zone,
|
|
385
|
+
kms_key=kms_key,
|
|
386
|
+
key_signing_key_name="ksk",
|
|
387
|
+
status=route53.KeySigningKeyStatus.ACTIVE
|
|
388
|
+
)
|
|
389
|
+
```
|
|
390
|
+
|
|
391
|
+
When directly constructing the `KeySigningKey` resource, enabling DNSSEC signing for the hosted
|
|
392
|
+
zone will be need to be done explicitly (either using the `CfnDNSSEC` construct or via another
|
|
393
|
+
means).
|
|
394
|
+
|
|
355
395
|
## Imports
|
|
356
396
|
|
|
357
397
|
If you don't know the ID of the Hosted Zone to import, you can use the
|
|
@@ -510,6 +550,7 @@ from ..aws_iam import (
|
|
|
510
550
|
IRole as _IRole_235f5d8e,
|
|
511
551
|
Role as _Role_e8c6e11f,
|
|
512
552
|
)
|
|
553
|
+
from ..aws_kms import IKey as _IKey_5f11635f
|
|
513
554
|
|
|
514
555
|
|
|
515
556
|
@jsii.data_type(
|
|
@@ -2059,7 +2100,7 @@ class CfnHostedZone(
|
|
|
2059
2100
|
:param hosted_zone_config: A complex type that contains an optional comment. If you don't want to specify a comment, omit the ``HostedZoneConfig`` and ``Comment`` elements.
|
|
2060
2101
|
:param hosted_zone_tags: Adds, edits, or deletes tags for a health check or a hosted zone. For information about using tags for cost allocation, see `Using Cost Allocation Tags <https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html>`_ in the *AWS Billing and Cost Management User Guide* .
|
|
2061
2102
|
:param name: The name of the domain. Specify a fully qualified domain name, for example, *www.example.com* . The trailing dot is optional; Amazon Route 53 assumes that the domain name is fully qualified. This means that Route 53 treats *www.example.com* (without a trailing dot) and *www.example.com.* (with a trailing dot) as identical. If you're creating a public hosted zone, this is the name you have registered with your DNS registrar. If your domain name is registered with a registrar other than Route 53, change the name servers for your domain to the set of ``NameServers`` that are returned by the ``Fn::GetAtt`` intrinsic function.
|
|
2062
|
-
:param query_logging_config: Creates a configuration for DNS query logging. After you create a query logging configuration, Amazon Route 53 begins to publish log data to an Amazon CloudWatch Logs log group. DNS query logs contain information about the queries that Route 53 receives for a specified public hosted zone, such as the following: - Route 53 edge location that responded to the DNS query - Domain or subdomain that was requested - DNS record type, such as A or AAAA - DNS response code, such as ``NoError`` or ``ServFail`` - **Log Group and Resource Policy** - Before you create a query logging configuration, perform the following operations. .. epigraph:: If you create a query logging configuration using the Route 53 console, Route 53 performs these operations automatically. - Create a CloudWatch Logs log group, and make note of the ARN, which you specify when you create a query logging configuration. Note the following: - You must create the log group in the us-east-1 region. - You must use the same AWS account to create the log group and the hosted zone that you want to configure query logging for. - When you create log groups for query logging, we recommend that you use a consistent prefix, for example: ``/aws/route53/ *hosted zone name*`` In the next step, you'll create a resource policy, which controls access to one or more log groups and the associated AWS resources, such as Route 53 hosted zones. There's a limit on the number of resource policies that you can create, so we recommend that you use a consistent prefix so you can use the same resource policy for all the log groups that you create for query logging. - Create a CloudWatch Logs resource policy, and give it the permissions that Route 53 needs to create log streams and to send query logs to log streams. For the value of ``Resource`` , specify the ARN for the log group that you created in the previous step. To use the same resource policy for all the CloudWatch Logs log groups that you created for query logging configurations, replace the hosted zone name with ``*`` , for example: ``arn:aws:logs:us-east-1:123412341234:log-group:/aws/route53/*`` To avoid the confused deputy problem, a security issue where an entity without a permission for an action can coerce a more-privileged entity to perform it, you can optionally limit the permissions that a service has to a resource in a resource-based policy by supplying the following values: - For ``aws:SourceArn`` , supply the hosted zone ARN used in creating the query logging configuration. For example, ``aws:SourceArn: arn:aws:route53:::hostedzone/hosted zone ID`` . - For ``aws:SourceAccount`` , supply the account ID for the account that creates the query logging configuration. For example, ``aws:SourceAccount:111111111111`` . For more information, see `The confused deputy problem <https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html>`_ in the *AWS IAM User Guide* . .. epigraph:: You can't use the CloudWatch console to create or edit a resource policy. You must use the CloudWatch API, one of the AWS SDKs, or the AWS CLI . - **Log Streams and Edge Locations** - When Route 53 finishes creating the configuration for DNS query logging, it does the following: - Creates a log stream for an edge location the first time that the edge location responds to DNS queries for the specified hosted zone. That log stream is used to log all queries that Route 53 responds to for that edge location. - Begins to send query logs to the applicable log stream. The name of each log stream is in the following format: ``*hosted zone ID* / *edge location code*`` The edge location code is a three-letter code and an arbitrarily assigned number, for example, DFW3. The three-letter code typically corresponds with the International Air Transport Association airport code for an airport near the edge location. (These abbreviations might change in the future.) For a list of edge locations, see "The Route 53 Global Network" on the `Route 53 Product Details <https://docs.aws.amazon.com/route53/details/>`_ page. - **Queries That Are Logged** - Query logs contain only the queries that DNS resolvers forward to Route 53. If a DNS resolver has already cached the response to a query (such as the IP address for a load balancer for example.com), the resolver will continue to return the cached response. It doesn't forward another query to Route 53 until the TTL for the corresponding resource record set expires. Depending on how many DNS queries are submitted for a resource record set, and depending on the TTL for that resource record set, query logs might contain information about only one query out of every several thousand queries that are submitted to DNS. For more information about how DNS works, see `Routing Internet Traffic to Your Website or Web Application <https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/welcome-dns-service.html>`_ in the *Amazon Route 53 Developer Guide* . - **Log File Format** - For a list of the values in each query log and the format of each value, see `Logging DNS Queries <https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/query-logs.html>`_ in the *Amazon Route 53 Developer Guide* . - **Pricing** - For information about charges for query logs, see `Amazon CloudWatch Pricing <https://docs.aws.amazon.com/cloudwatch/pricing/>`_ . - **How to Stop Logging** - If you want Route 53 to stop sending query logs to CloudWatch Logs, delete the query logging configuration. For more information, see `DeleteQueryLoggingConfig <https://docs.aws.amazon.com/Route53/latest/APIReference/API_DeleteQueryLoggingConfig.html>`_ .
|
|
2103
|
+
:param query_logging_config: Creates a configuration for DNS query logging. After you create a query logging configuration, Amazon Route 53 begins to publish log data to an Amazon CloudWatch Logs log group. DNS query logs contain information about the queries that Route 53 receives for a specified public hosted zone, such as the following: - Route 53 edge location that responded to the DNS query - Domain or subdomain that was requested - DNS record type, such as A or AAAA - DNS response code, such as ``NoError`` or ``ServFail`` - **Log Group and Resource Policy** - Before you create a query logging configuration, perform the following operations. .. epigraph:: If you create a query logging configuration using the Route 53 console, Route 53 performs these operations automatically. - Create a CloudWatch Logs log group, and make note of the ARN, which you specify when you create a query logging configuration. Note the following: - You must create the log group in the us-east-1 region. - You must use the same AWS account to create the log group and the hosted zone that you want to configure query logging for. - When you create log groups for query logging, we recommend that you use a consistent prefix, for example: ``/aws/route53/ *hosted zone name*`` In the next step, you'll create a resource policy, which controls access to one or more log groups and the associated AWS resources, such as Route 53 hosted zones. There's a limit on the number of resource policies that you can create, so we recommend that you use a consistent prefix so you can use the same resource policy for all the log groups that you create for query logging. - Create a CloudWatch Logs resource policy, and give it the permissions that Route 53 needs to create log streams and to send query logs to log streams. You must create the CloudWatch Logs resource policy in the us-east-1 region. For the value of ``Resource`` , specify the ARN for the log group that you created in the previous step. To use the same resource policy for all the CloudWatch Logs log groups that you created for query logging configurations, replace the hosted zone name with ``*`` , for example: ``arn:aws:logs:us-east-1:123412341234:log-group:/aws/route53/*`` To avoid the confused deputy problem, a security issue where an entity without a permission for an action can coerce a more-privileged entity to perform it, you can optionally limit the permissions that a service has to a resource in a resource-based policy by supplying the following values: - For ``aws:SourceArn`` , supply the hosted zone ARN used in creating the query logging configuration. For example, ``aws:SourceArn: arn:aws:route53:::hostedzone/hosted zone ID`` . - For ``aws:SourceAccount`` , supply the account ID for the account that creates the query logging configuration. For example, ``aws:SourceAccount:111111111111`` . For more information, see `The confused deputy problem <https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html>`_ in the *AWS IAM User Guide* . .. epigraph:: You can't use the CloudWatch console to create or edit a resource policy. You must use the CloudWatch API, one of the AWS SDKs, or the AWS CLI . - **Log Streams and Edge Locations** - When Route 53 finishes creating the configuration for DNS query logging, it does the following: - Creates a log stream for an edge location the first time that the edge location responds to DNS queries for the specified hosted zone. That log stream is used to log all queries that Route 53 responds to for that edge location. - Begins to send query logs to the applicable log stream. The name of each log stream is in the following format: ``*hosted zone ID* / *edge location code*`` The edge location code is a three-letter code and an arbitrarily assigned number, for example, DFW3. The three-letter code typically corresponds with the International Air Transport Association airport code for an airport near the edge location. (These abbreviations might change in the future.) For a list of edge locations, see "The Route 53 Global Network" on the `Route 53 Product Details <https://docs.aws.amazon.com/route53/details/>`_ page. - **Queries That Are Logged** - Query logs contain only the queries that DNS resolvers forward to Route 53. If a DNS resolver has already cached the response to a query (such as the IP address for a load balancer for example.com), the resolver will continue to return the cached response. It doesn't forward another query to Route 53 until the TTL for the corresponding resource record set expires. Depending on how many DNS queries are submitted for a resource record set, and depending on the TTL for that resource record set, query logs might contain information about only one query out of every several thousand queries that are submitted to DNS. For more information about how DNS works, see `Routing Internet Traffic to Your Website or Web Application <https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/welcome-dns-service.html>`_ in the *Amazon Route 53 Developer Guide* . - **Log File Format** - For a list of the values in each query log and the format of each value, see `Logging DNS Queries <https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/query-logs.html>`_ in the *Amazon Route 53 Developer Guide* . - **Pricing** - For information about charges for query logs, see `Amazon CloudWatch Pricing <https://docs.aws.amazon.com/cloudwatch/pricing/>`_ . - **How to Stop Logging** - If you want Route 53 to stop sending query logs to CloudWatch Logs, delete the query logging configuration. For more information, see `DeleteQueryLoggingConfig <https://docs.aws.amazon.com/Route53/latest/APIReference/API_DeleteQueryLoggingConfig.html>`_ .
|
|
2063
2104
|
:param vpcs: *Private hosted zones:* A complex type that contains information about the VPCs that are associated with the specified hosted zone. .. epigraph:: For public hosted zones, omit ``VPCs`` , ``VPCId`` , and ``VPCRegion`` .
|
|
2064
2105
|
'''
|
|
2065
2106
|
if __debug__:
|
|
@@ -2507,7 +2548,7 @@ class CfnHostedZoneProps:
|
|
|
2507
2548
|
:param hosted_zone_config: A complex type that contains an optional comment. If you don't want to specify a comment, omit the ``HostedZoneConfig`` and ``Comment`` elements.
|
|
2508
2549
|
:param hosted_zone_tags: Adds, edits, or deletes tags for a health check or a hosted zone. For information about using tags for cost allocation, see `Using Cost Allocation Tags <https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html>`_ in the *AWS Billing and Cost Management User Guide* .
|
|
2509
2550
|
:param name: The name of the domain. Specify a fully qualified domain name, for example, *www.example.com* . The trailing dot is optional; Amazon Route 53 assumes that the domain name is fully qualified. This means that Route 53 treats *www.example.com* (without a trailing dot) and *www.example.com.* (with a trailing dot) as identical. If you're creating a public hosted zone, this is the name you have registered with your DNS registrar. If your domain name is registered with a registrar other than Route 53, change the name servers for your domain to the set of ``NameServers`` that are returned by the ``Fn::GetAtt`` intrinsic function.
|
|
2510
|
-
:param query_logging_config: Creates a configuration for DNS query logging. After you create a query logging configuration, Amazon Route 53 begins to publish log data to an Amazon CloudWatch Logs log group. DNS query logs contain information about the queries that Route 53 receives for a specified public hosted zone, such as the following: - Route 53 edge location that responded to the DNS query - Domain or subdomain that was requested - DNS record type, such as A or AAAA - DNS response code, such as ``NoError`` or ``ServFail`` - **Log Group and Resource Policy** - Before you create a query logging configuration, perform the following operations. .. epigraph:: If you create a query logging configuration using the Route 53 console, Route 53 performs these operations automatically. - Create a CloudWatch Logs log group, and make note of the ARN, which you specify when you create a query logging configuration. Note the following: - You must create the log group in the us-east-1 region. - You must use the same AWS account to create the log group and the hosted zone that you want to configure query logging for. - When you create log groups for query logging, we recommend that you use a consistent prefix, for example: ``/aws/route53/ *hosted zone name*`` In the next step, you'll create a resource policy, which controls access to one or more log groups and the associated AWS resources, such as Route 53 hosted zones. There's a limit on the number of resource policies that you can create, so we recommend that you use a consistent prefix so you can use the same resource policy for all the log groups that you create for query logging. - Create a CloudWatch Logs resource policy, and give it the permissions that Route 53 needs to create log streams and to send query logs to log streams. For the value of ``Resource`` , specify the ARN for the log group that you created in the previous step. To use the same resource policy for all the CloudWatch Logs log groups that you created for query logging configurations, replace the hosted zone name with ``*`` , for example: ``arn:aws:logs:us-east-1:123412341234:log-group:/aws/route53/*`` To avoid the confused deputy problem, a security issue where an entity without a permission for an action can coerce a more-privileged entity to perform it, you can optionally limit the permissions that a service has to a resource in a resource-based policy by supplying the following values: - For ``aws:SourceArn`` , supply the hosted zone ARN used in creating the query logging configuration. For example, ``aws:SourceArn: arn:aws:route53:::hostedzone/hosted zone ID`` . - For ``aws:SourceAccount`` , supply the account ID for the account that creates the query logging configuration. For example, ``aws:SourceAccount:111111111111`` . For more information, see `The confused deputy problem <https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html>`_ in the *AWS IAM User Guide* . .. epigraph:: You can't use the CloudWatch console to create or edit a resource policy. You must use the CloudWatch API, one of the AWS SDKs, or the AWS CLI . - **Log Streams and Edge Locations** - When Route 53 finishes creating the configuration for DNS query logging, it does the following: - Creates a log stream for an edge location the first time that the edge location responds to DNS queries for the specified hosted zone. That log stream is used to log all queries that Route 53 responds to for that edge location. - Begins to send query logs to the applicable log stream. The name of each log stream is in the following format: ``*hosted zone ID* / *edge location code*`` The edge location code is a three-letter code and an arbitrarily assigned number, for example, DFW3. The three-letter code typically corresponds with the International Air Transport Association airport code for an airport near the edge location. (These abbreviations might change in the future.) For a list of edge locations, see "The Route 53 Global Network" on the `Route 53 Product Details <https://docs.aws.amazon.com/route53/details/>`_ page. - **Queries That Are Logged** - Query logs contain only the queries that DNS resolvers forward to Route 53. If a DNS resolver has already cached the response to a query (such as the IP address for a load balancer for example.com), the resolver will continue to return the cached response. It doesn't forward another query to Route 53 until the TTL for the corresponding resource record set expires. Depending on how many DNS queries are submitted for a resource record set, and depending on the TTL for that resource record set, query logs might contain information about only one query out of every several thousand queries that are submitted to DNS. For more information about how DNS works, see `Routing Internet Traffic to Your Website or Web Application <https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/welcome-dns-service.html>`_ in the *Amazon Route 53 Developer Guide* . - **Log File Format** - For a list of the values in each query log and the format of each value, see `Logging DNS Queries <https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/query-logs.html>`_ in the *Amazon Route 53 Developer Guide* . - **Pricing** - For information about charges for query logs, see `Amazon CloudWatch Pricing <https://docs.aws.amazon.com/cloudwatch/pricing/>`_ . - **How to Stop Logging** - If you want Route 53 to stop sending query logs to CloudWatch Logs, delete the query logging configuration. For more information, see `DeleteQueryLoggingConfig <https://docs.aws.amazon.com/Route53/latest/APIReference/API_DeleteQueryLoggingConfig.html>`_ .
|
|
2551
|
+
:param query_logging_config: Creates a configuration for DNS query logging. After you create a query logging configuration, Amazon Route 53 begins to publish log data to an Amazon CloudWatch Logs log group. DNS query logs contain information about the queries that Route 53 receives for a specified public hosted zone, such as the following: - Route 53 edge location that responded to the DNS query - Domain or subdomain that was requested - DNS record type, such as A or AAAA - DNS response code, such as ``NoError`` or ``ServFail`` - **Log Group and Resource Policy** - Before you create a query logging configuration, perform the following operations. .. epigraph:: If you create a query logging configuration using the Route 53 console, Route 53 performs these operations automatically. - Create a CloudWatch Logs log group, and make note of the ARN, which you specify when you create a query logging configuration. Note the following: - You must create the log group in the us-east-1 region. - You must use the same AWS account to create the log group and the hosted zone that you want to configure query logging for. - When you create log groups for query logging, we recommend that you use a consistent prefix, for example: ``/aws/route53/ *hosted zone name*`` In the next step, you'll create a resource policy, which controls access to one or more log groups and the associated AWS resources, such as Route 53 hosted zones. There's a limit on the number of resource policies that you can create, so we recommend that you use a consistent prefix so you can use the same resource policy for all the log groups that you create for query logging. - Create a CloudWatch Logs resource policy, and give it the permissions that Route 53 needs to create log streams and to send query logs to log streams. You must create the CloudWatch Logs resource policy in the us-east-1 region. For the value of ``Resource`` , specify the ARN for the log group that you created in the previous step. To use the same resource policy for all the CloudWatch Logs log groups that you created for query logging configurations, replace the hosted zone name with ``*`` , for example: ``arn:aws:logs:us-east-1:123412341234:log-group:/aws/route53/*`` To avoid the confused deputy problem, a security issue where an entity without a permission for an action can coerce a more-privileged entity to perform it, you can optionally limit the permissions that a service has to a resource in a resource-based policy by supplying the following values: - For ``aws:SourceArn`` , supply the hosted zone ARN used in creating the query logging configuration. For example, ``aws:SourceArn: arn:aws:route53:::hostedzone/hosted zone ID`` . - For ``aws:SourceAccount`` , supply the account ID for the account that creates the query logging configuration. For example, ``aws:SourceAccount:111111111111`` . For more information, see `The confused deputy problem <https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html>`_ in the *AWS IAM User Guide* . .. epigraph:: You can't use the CloudWatch console to create or edit a resource policy. You must use the CloudWatch API, one of the AWS SDKs, or the AWS CLI . - **Log Streams and Edge Locations** - When Route 53 finishes creating the configuration for DNS query logging, it does the following: - Creates a log stream for an edge location the first time that the edge location responds to DNS queries for the specified hosted zone. That log stream is used to log all queries that Route 53 responds to for that edge location. - Begins to send query logs to the applicable log stream. The name of each log stream is in the following format: ``*hosted zone ID* / *edge location code*`` The edge location code is a three-letter code and an arbitrarily assigned number, for example, DFW3. The three-letter code typically corresponds with the International Air Transport Association airport code for an airport near the edge location. (These abbreviations might change in the future.) For a list of edge locations, see "The Route 53 Global Network" on the `Route 53 Product Details <https://docs.aws.amazon.com/route53/details/>`_ page. - **Queries That Are Logged** - Query logs contain only the queries that DNS resolvers forward to Route 53. If a DNS resolver has already cached the response to a query (such as the IP address for a load balancer for example.com), the resolver will continue to return the cached response. It doesn't forward another query to Route 53 until the TTL for the corresponding resource record set expires. Depending on how many DNS queries are submitted for a resource record set, and depending on the TTL for that resource record set, query logs might contain information about only one query out of every several thousand queries that are submitted to DNS. For more information about how DNS works, see `Routing Internet Traffic to Your Website or Web Application <https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/welcome-dns-service.html>`_ in the *Amazon Route 53 Developer Guide* . - **Log File Format** - For a list of the values in each query log and the format of each value, see `Logging DNS Queries <https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/query-logs.html>`_ in the *Amazon Route 53 Developer Guide* . - **Pricing** - For information about charges for query logs, see `Amazon CloudWatch Pricing <https://docs.aws.amazon.com/cloudwatch/pricing/>`_ . - **How to Stop Logging** - If you want Route 53 to stop sending query logs to CloudWatch Logs, delete the query logging configuration. For more information, see `DeleteQueryLoggingConfig <https://docs.aws.amazon.com/Route53/latest/APIReference/API_DeleteQueryLoggingConfig.html>`_ .
|
|
2511
2552
|
:param vpcs: *Private hosted zones:* A complex type that contains information about the VPCs that are associated with the specified hosted zone. .. epigraph:: For public hosted zones, omit ``VPCs`` , ``VPCId`` , and ``VPCRegion`` .
|
|
2512
2553
|
|
|
2513
2554
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-hostedzone.html
|
|
@@ -2624,7 +2665,7 @@ class CfnHostedZoneProps:
|
|
|
2624
2665
|
|
|
2625
2666
|
In the next step, you'll create a resource policy, which controls access to one or more log groups and the associated AWS resources, such as Route 53 hosted zones. There's a limit on the number of resource policies that you can create, so we recommend that you use a consistent prefix so you can use the same resource policy for all the log groups that you create for query logging.
|
|
2626
2667
|
|
|
2627
|
-
- Create a CloudWatch Logs resource policy, and give it the permissions that Route 53 needs to create log streams and to send query logs to log streams. For the value of ``Resource`` , specify the ARN for the log group that you created in the previous step. To use the same resource policy for all the CloudWatch Logs log groups that you created for query logging configurations, replace the hosted zone name with ``*`` , for example:
|
|
2668
|
+
- Create a CloudWatch Logs resource policy, and give it the permissions that Route 53 needs to create log streams and to send query logs to log streams. You must create the CloudWatch Logs resource policy in the us-east-1 region. For the value of ``Resource`` , specify the ARN for the log group that you created in the previous step. To use the same resource policy for all the CloudWatch Logs log groups that you created for query logging configurations, replace the hosted zone name with ``*`` , for example:
|
|
2628
2669
|
|
|
2629
2670
|
``arn:aws:logs:us-east-1:123412341234:log-group:/aws/route53/*``
|
|
2630
2671
|
|
|
@@ -3046,7 +3087,7 @@ class CfnRecordSet(
|
|
|
3046
3087
|
:param scope: Scope in which this resource is defined.
|
|
3047
3088
|
:param id: Construct identifier for this resource (unique in its scope).
|
|
3048
3089
|
:param name: For ``ChangeResourceRecordSets`` requests, the name of the record that you want to create, update, or delete. For ``ListResourceRecordSets`` responses, the name of a record in the specified hosted zone. *ChangeResourceRecordSets Only* Enter a fully qualified domain name, for example, ``www.example.com`` . You can optionally include a trailing dot. If you omit the trailing dot, Amazon Route 53 assumes that the domain name that you specify is fully qualified. This means that Route 53 treats ``www.example.com`` (without a trailing dot) and ``www.example.com.`` (with a trailing dot) as identical. For information about how to specify characters other than ``a-z`` , ``0-9`` , and ``-`` (hyphen) and how to specify internationalized domain names, see `DNS Domain Name Format <https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/DomainNameFormat.html>`_ in the *Amazon Route 53 Developer Guide* . You can use the asterisk (*) wildcard to replace the leftmost label in a domain name, for example, ``*.example.com`` . Note the following: - The * must replace the entire label. For example, you can't specify ``*prod.example.com`` or ``prod*.example.com`` . - The * can't replace any of the middle labels, for example, marketing.*.example.com. - If you include * in any position other than the leftmost label in a domain name, DNS treats it as an * character (ASCII 42), not as a wildcard. .. epigraph:: You can't use the * wildcard for resource records sets that have a type of NS.
|
|
3049
|
-
:param type: The DNS record type. For information about different record types and how data is encoded for them, see `Supported DNS Resource Record Types <https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/ResourceRecordTypes.html>`_ in the *Amazon Route 53 Developer Guide* . Valid values for basic resource record sets: ``A`` | ``AAAA`` | ``CAA`` | ``CNAME`` | ``DS`` | ``MX`` | ``NAPTR`` | ``NS`` | ``PTR`` | ``SOA`` | ``SPF`` | ``SRV`` | ``TXT`` Values for weighted, latency, geolocation, and failover resource record sets: ``A`` | ``AAAA`` | ``CAA`` | ``CNAME`` | ``MX`` | ``NAPTR`` | ``PTR`` | ``SPF`` | ``SRV`` | ``TXT`` . When creating a group of weighted, latency, geolocation, or failover resource record sets, specify the same value for all of the resource record sets in the group. Valid values for multivalue answer resource record sets: ``A`` | ``AAAA`` | ``MX`` | ``NAPTR`` | ``PTR`` | ``SPF`` | ``SRV`` | ``TXT`` .. epigraph:: SPF records were formerly used to verify the identity of the sender of email messages. However, we no longer recommend that you create resource record sets for which the value of ``Type`` is ``SPF`` . RFC 7208, *Sender Policy Framework (SPF) for Authorizing Use of Domains in Email, Version 1* , has been updated to say, "...[I]ts existence and mechanism defined in [RFC4408] have led to some interoperability issues. Accordingly, its use is no longer appropriate for SPF version 1; implementations are not to use it." In RFC 7208, see section 14.1, `The SPF DNS Record Type <https://docs.aws.amazon.com/http://tools.ietf.org/html/rfc7208#section-14.1>`_ . Values for alias resource record sets: - *Amazon API Gateway custom regional APIs and edge-optimized APIs:* ``A`` - *CloudFront distributions:* ``A`` If IPv6 is enabled for the distribution, create two resource record sets to route traffic to your distribution, one with a value of ``A`` and one with a value of ``AAAA`` . - *Amazon API Gateway environment that has a regionalized subdomain* : ``A`` - *ELB load balancers:* ``A`` | ``AAAA`` - *Amazon S3 buckets:* ``A`` - *Amazon Virtual Private Cloud interface VPC endpoints* ``A`` - *Another resource record set in this hosted zone:* Specify the type of the resource record set that you're creating the alias for. All values are supported except ``NS`` and ``SOA`` . .. epigraph:: If you're creating an alias record that has the same name as the hosted zone (known as the zone apex), you can't route traffic to a record for which the value of ``Type`` is ``CNAME`` . This is because the alias record must have the same type as the record you're routing traffic to, and creating a CNAME record for the zone apex isn't supported even for an alias record.
|
|
3090
|
+
:param type: The DNS record type. For information about different record types and how data is encoded for them, see `Supported DNS Resource Record Types <https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/ResourceRecordTypes.html>`_ in the *Amazon Route 53 Developer Guide* . Valid values for basic resource record sets: ``A`` | ``AAAA`` | ``CAA`` | ``CNAME`` | ``DS`` | ``MX`` | ``NAPTR`` | ``NS`` | ``PTR`` | ``SOA`` | ``SPF`` | ``SRV`` | ``TXT`` Values for weighted, latency, geolocation, and failover resource record sets: ``A`` | ``AAAA`` | ``CAA`` | ``CNAME`` | ``MX`` | ``NAPTR`` | ``PTR`` | ``SPF`` | ``SRV`` | ``TXT`` . When creating a group of weighted, latency, geolocation, or failover resource record sets, specify the same value for all of the resource record sets in the group. Valid values for multivalue answer resource record sets: ``A`` | ``AAAA`` | ``MX`` | ``NAPTR`` | ``PTR`` | ``SPF`` | ``SRV`` | ``TXT`` | ``CAA`` .. epigraph:: SPF records were formerly used to verify the identity of the sender of email messages. However, we no longer recommend that you create resource record sets for which the value of ``Type`` is ``SPF`` . RFC 7208, *Sender Policy Framework (SPF) for Authorizing Use of Domains in Email, Version 1* , has been updated to say, "...[I]ts existence and mechanism defined in [RFC4408] have led to some interoperability issues. Accordingly, its use is no longer appropriate for SPF version 1; implementations are not to use it." In RFC 7208, see section 14.1, `The SPF DNS Record Type <https://docs.aws.amazon.com/http://tools.ietf.org/html/rfc7208#section-14.1>`_ . Values for alias resource record sets: - *Amazon API Gateway custom regional APIs and edge-optimized APIs:* ``A`` - *CloudFront distributions:* ``A`` If IPv6 is enabled for the distribution, create two resource record sets to route traffic to your distribution, one with a value of ``A`` and one with a value of ``AAAA`` . - *Amazon API Gateway environment that has a regionalized subdomain* : ``A`` - *ELB load balancers:* ``A`` | ``AAAA`` - *Amazon S3 buckets:* ``A`` - *Amazon Virtual Private Cloud interface VPC endpoints* ``A`` - *Another resource record set in this hosted zone:* Specify the type of the resource record set that you're creating the alias for. All values are supported except ``NS`` and ``SOA`` . .. epigraph:: If you're creating an alias record that has the same name as the hosted zone (known as the zone apex), you can't route traffic to a record for which the value of ``Type`` is ``CNAME`` . This is because the alias record must have the same type as the record you're routing traffic to, and creating a CNAME record for the zone apex isn't supported even for an alias record.
|
|
3050
3091
|
:param alias_target: *Alias resource record sets only:* Information about the AWS resource, such as a CloudFront distribution or an Amazon S3 bucket, that you want to route traffic to. If you're creating resource records sets for a private hosted zone, note the following: - You can't create an alias resource record set in a private hosted zone to route traffic to a CloudFront distribution. - For information about creating failover resource record sets in a private hosted zone, see `Configuring Failover in a Private Hosted Zone <https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html>`_ in the *Amazon Route 53 Developer Guide* .
|
|
3051
3092
|
:param cidr_routing_config: The object that is specified in resource record set object when you are linking a resource record set to a CIDR location. A ``LocationName`` with an asterisk “*” can be used to create a default CIDR record. ``CollectionId`` is still required for default record.
|
|
3052
3093
|
:param comment: *Optional:* Any comments you want to include about a change batch request.
|
|
@@ -4776,7 +4817,7 @@ class CfnRecordSetGroup(
|
|
|
4776
4817
|
'''Information about one record that you want to create.
|
|
4777
4818
|
|
|
4778
4819
|
:param name: For ``ChangeResourceRecordSets`` requests, the name of the record that you want to create, update, or delete. For ``ListResourceRecordSets`` responses, the name of a record in the specified hosted zone. *ChangeResourceRecordSets Only* Enter a fully qualified domain name, for example, ``www.example.com`` . You can optionally include a trailing dot. If you omit the trailing dot, Amazon Route 53 assumes that the domain name that you specify is fully qualified. This means that Route 53 treats ``www.example.com`` (without a trailing dot) and ``www.example.com.`` (with a trailing dot) as identical. For information about how to specify characters other than ``a-z`` , ``0-9`` , and ``-`` (hyphen) and how to specify internationalized domain names, see `DNS Domain Name Format <https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/DomainNameFormat.html>`_ in the *Amazon Route 53 Developer Guide* . You can use the asterisk (*) wildcard to replace the leftmost label in a domain name, for example, ``*.example.com`` . Note the following: - The * must replace the entire label. For example, you can't specify ``*prod.example.com`` or ``prod*.example.com`` . - The * can't replace any of the middle labels, for example, marketing.*.example.com. - If you include * in any position other than the leftmost label in a domain name, DNS treats it as an * character (ASCII 42), not as a wildcard. .. epigraph:: You can't use the * wildcard for resource records sets that have a type of NS.
|
|
4779
|
-
:param type: The DNS record type. For information about different record types and how data is encoded for them, see `Supported DNS Resource Record Types <https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/ResourceRecordTypes.html>`_ in the *Amazon Route 53 Developer Guide* . Valid values for basic resource record sets: ``A`` | ``AAAA`` | ``CAA`` | ``CNAME`` | ``DS`` | ``MX`` | ``NAPTR`` | ``NS`` | ``PTR`` | ``SOA`` | ``SPF`` | ``SRV`` | ``TXT`` Values for weighted, latency, geolocation, and failover resource record sets: ``A`` | ``AAAA`` | ``CAA`` | ``CNAME`` | ``MX`` | ``NAPTR`` | ``PTR`` | ``SPF`` | ``SRV`` | ``TXT`` . When creating a group of weighted, latency, geolocation, or failover resource record sets, specify the same value for all of the resource record sets in the group. Valid values for multivalue answer resource record sets: ``A`` | ``AAAA`` | ``MX`` | ``NAPTR`` | ``PTR`` | ``SPF`` | ``SRV`` | ``TXT`` .. epigraph:: SPF records were formerly used to verify the identity of the sender of email messages. However, we no longer recommend that you create resource record sets for which the value of ``Type`` is ``SPF`` . RFC 7208, *Sender Policy Framework (SPF) for Authorizing Use of Domains in Email, Version 1* , has been updated to say, "...[I]ts existence and mechanism defined in [RFC4408] have led to some interoperability issues. Accordingly, its use is no longer appropriate for SPF version 1; implementations are not to use it." In RFC 7208, see section 14.1, `The SPF DNS Record Type <https://docs.aws.amazon.com/http://tools.ietf.org/html/rfc7208#section-14.1>`_ . Values for alias resource record sets: - *Amazon API Gateway custom regional APIs and edge-optimized APIs:* ``A`` - *CloudFront distributions:* ``A`` If IPv6 is enabled for the distribution, create two resource record sets to route traffic to your distribution, one with a value of ``A`` and one with a value of ``AAAA`` . - *Amazon API Gateway environment that has a regionalized subdomain* : ``A`` - *ELB load balancers:* ``A`` | ``AAAA`` - *Amazon S3 buckets:* ``A`` - *Amazon Virtual Private Cloud interface VPC endpoints* ``A`` - *Another resource record set in this hosted zone:* Specify the type of the resource record set that you're creating the alias for. All values are supported except ``NS`` and ``SOA`` . .. epigraph:: If you're creating an alias record that has the same name as the hosted zone (known as the zone apex), you can't route traffic to a record for which the value of ``Type`` is ``CNAME`` . This is because the alias record must have the same type as the record you're routing traffic to, and creating a CNAME record for the zone apex isn't supported even for an alias record.
|
|
4820
|
+
:param type: The DNS record type. For information about different record types and how data is encoded for them, see `Supported DNS Resource Record Types <https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/ResourceRecordTypes.html>`_ in the *Amazon Route 53 Developer Guide* . Valid values for basic resource record sets: ``A`` | ``AAAA`` | ``CAA`` | ``CNAME`` | ``DS`` | ``MX`` | ``NAPTR`` | ``NS`` | ``PTR`` | ``SOA`` | ``SPF`` | ``SRV`` | ``TXT`` Values for weighted, latency, geolocation, and failover resource record sets: ``A`` | ``AAAA`` | ``CAA`` | ``CNAME`` | ``MX`` | ``NAPTR`` | ``PTR`` | ``SPF`` | ``SRV`` | ``TXT`` . When creating a group of weighted, latency, geolocation, or failover resource record sets, specify the same value for all of the resource record sets in the group. Valid values for multivalue answer resource record sets: ``A`` | ``AAAA`` | ``MX`` | ``NAPTR`` | ``PTR`` | ``SPF`` | ``SRV`` | ``TXT`` | ``CAA`` .. epigraph:: SPF records were formerly used to verify the identity of the sender of email messages. However, we no longer recommend that you create resource record sets for which the value of ``Type`` is ``SPF`` . RFC 7208, *Sender Policy Framework (SPF) for Authorizing Use of Domains in Email, Version 1* , has been updated to say, "...[I]ts existence and mechanism defined in [RFC4408] have led to some interoperability issues. Accordingly, its use is no longer appropriate for SPF version 1; implementations are not to use it." In RFC 7208, see section 14.1, `The SPF DNS Record Type <https://docs.aws.amazon.com/http://tools.ietf.org/html/rfc7208#section-14.1>`_ . Values for alias resource record sets: - *Amazon API Gateway custom regional APIs and edge-optimized APIs:* ``A`` - *CloudFront distributions:* ``A`` If IPv6 is enabled for the distribution, create two resource record sets to route traffic to your distribution, one with a value of ``A`` and one with a value of ``AAAA`` . - *Amazon API Gateway environment that has a regionalized subdomain* : ``A`` - *ELB load balancers:* ``A`` | ``AAAA`` - *Amazon S3 buckets:* ``A`` - *Amazon Virtual Private Cloud interface VPC endpoints* ``A`` - *Another resource record set in this hosted zone:* Specify the type of the resource record set that you're creating the alias for. All values are supported except ``NS`` and ``SOA`` . .. epigraph:: If you're creating an alias record that has the same name as the hosted zone (known as the zone apex), you can't route traffic to a record for which the value of ``Type`` is ``CNAME`` . This is because the alias record must have the same type as the record you're routing traffic to, and creating a CNAME record for the zone apex isn't supported even for an alias record.
|
|
4780
4821
|
:param alias_target: *Alias resource record sets only:* Information about the AWS resource, such as a CloudFront distribution or an Amazon S3 bucket, that you want to route traffic to. If you're creating resource records sets for a private hosted zone, note the following: - You can't create an alias resource record set in a private hosted zone to route traffic to a CloudFront distribution. - For information about creating failover resource record sets in a private hosted zone, see `Configuring Failover in a Private Hosted Zone <https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html>`_ in the *Amazon Route 53 Developer Guide* .
|
|
4781
4822
|
:param cidr_routing_config:
|
|
4782
4823
|
:param failover: *Failover resource record sets only:* To configure failover, you add the ``Failover`` element to two resource record sets. For one resource record set, you specify ``PRIMARY`` as the value for ``Failover`` ; for the other resource record set, you specify ``SECONDARY`` . In addition, you include the ``HealthCheckId`` element and specify the health check that you want Amazon Route 53 to perform for each resource record set. Except where noted, the following failover behaviors assume that you have included the ``HealthCheckId`` element in both resource record sets: - When the primary resource record set is healthy, Route 53 responds to DNS queries with the applicable value from the primary resource record set regardless of the health of the secondary resource record set. - When the primary resource record set is unhealthy and the secondary resource record set is healthy, Route 53 responds to DNS queries with the applicable value from the secondary resource record set. - When the secondary resource record set is unhealthy, Route 53 responds to DNS queries with the applicable value from the primary resource record set regardless of the health of the primary resource record set. - If you omit the ``HealthCheckId`` element for the secondary resource record set, and if the primary resource record set is unhealthy, Route 53 always responds to DNS queries with the applicable value from the secondary resource record set. This is true regardless of the health of the associated endpoint. You can't create non-failover resource record sets that have the same values for the ``Name`` and ``Type`` elements as failover resource record sets. For failover alias resource record sets, you must also include the ``EvaluateTargetHealth`` element and set the value to true. For more information about configuring failover for Route 53, see the following topics in the *Amazon Route 53 Developer Guide* : - `Route 53 Health Checks and DNS Failover <https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html>`_ - `Configuring Failover in a Private Hosted Zone <https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html>`_
|
|
@@ -4932,7 +4973,7 @@ class CfnRecordSetGroup(
|
|
|
4932
4973
|
|
|
4933
4974
|
Values for weighted, latency, geolocation, and failover resource record sets: ``A`` | ``AAAA`` | ``CAA`` | ``CNAME`` | ``MX`` | ``NAPTR`` | ``PTR`` | ``SPF`` | ``SRV`` | ``TXT`` . When creating a group of weighted, latency, geolocation, or failover resource record sets, specify the same value for all of the resource record sets in the group.
|
|
4934
4975
|
|
|
4935
|
-
Valid values for multivalue answer resource record sets: ``A`` | ``AAAA`` | ``MX`` | ``NAPTR`` | ``PTR`` | ``SPF`` | ``SRV`` | ``TXT``
|
|
4976
|
+
Valid values for multivalue answer resource record sets: ``A`` | ``AAAA`` | ``MX`` | ``NAPTR`` | ``PTR`` | ``SPF`` | ``SRV`` | ``TXT`` | ``CAA``
|
|
4936
4977
|
.. epigraph::
|
|
4937
4978
|
|
|
4938
4979
|
SPF records were formerly used to verify the identity of the sender of email messages. However, we no longer recommend that you create resource record sets for which the value of ``Type`` is ``SPF`` . RFC 7208, *Sender Policy Framework (SPF) for Authorizing Use of Domains in Email, Version 1* , has been updated to say, "...[I]ts existence and mechanism defined in [RFC4408] have led to some interoperability issues. Accordingly, its use is no longer appropriate for SPF version 1; implementations are not to use it." In RFC 7208, see section 14.1, `The SPF DNS Record Type <https://docs.aws.amazon.com/http://tools.ietf.org/html/rfc7208#section-14.1>`_ .
|
|
@@ -5456,7 +5497,7 @@ class CfnRecordSetProps:
|
|
|
5456
5497
|
'''Properties for defining a ``CfnRecordSet``.
|
|
5457
5498
|
|
|
5458
5499
|
:param name: For ``ChangeResourceRecordSets`` requests, the name of the record that you want to create, update, or delete. For ``ListResourceRecordSets`` responses, the name of a record in the specified hosted zone. *ChangeResourceRecordSets Only* Enter a fully qualified domain name, for example, ``www.example.com`` . You can optionally include a trailing dot. If you omit the trailing dot, Amazon Route 53 assumes that the domain name that you specify is fully qualified. This means that Route 53 treats ``www.example.com`` (without a trailing dot) and ``www.example.com.`` (with a trailing dot) as identical. For information about how to specify characters other than ``a-z`` , ``0-9`` , and ``-`` (hyphen) and how to specify internationalized domain names, see `DNS Domain Name Format <https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/DomainNameFormat.html>`_ in the *Amazon Route 53 Developer Guide* . You can use the asterisk (*) wildcard to replace the leftmost label in a domain name, for example, ``*.example.com`` . Note the following: - The * must replace the entire label. For example, you can't specify ``*prod.example.com`` or ``prod*.example.com`` . - The * can't replace any of the middle labels, for example, marketing.*.example.com. - If you include * in any position other than the leftmost label in a domain name, DNS treats it as an * character (ASCII 42), not as a wildcard. .. epigraph:: You can't use the * wildcard for resource records sets that have a type of NS.
|
|
5459
|
-
:param type: The DNS record type. For information about different record types and how data is encoded for them, see `Supported DNS Resource Record Types <https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/ResourceRecordTypes.html>`_ in the *Amazon Route 53 Developer Guide* . Valid values for basic resource record sets: ``A`` | ``AAAA`` | ``CAA`` | ``CNAME`` | ``DS`` | ``MX`` | ``NAPTR`` | ``NS`` | ``PTR`` | ``SOA`` | ``SPF`` | ``SRV`` | ``TXT`` Values for weighted, latency, geolocation, and failover resource record sets: ``A`` | ``AAAA`` | ``CAA`` | ``CNAME`` | ``MX`` | ``NAPTR`` | ``PTR`` | ``SPF`` | ``SRV`` | ``TXT`` . When creating a group of weighted, latency, geolocation, or failover resource record sets, specify the same value for all of the resource record sets in the group. Valid values for multivalue answer resource record sets: ``A`` | ``AAAA`` | ``MX`` | ``NAPTR`` | ``PTR`` | ``SPF`` | ``SRV`` | ``TXT`` .. epigraph:: SPF records were formerly used to verify the identity of the sender of email messages. However, we no longer recommend that you create resource record sets for which the value of ``Type`` is ``SPF`` . RFC 7208, *Sender Policy Framework (SPF) for Authorizing Use of Domains in Email, Version 1* , has been updated to say, "...[I]ts existence and mechanism defined in [RFC4408] have led to some interoperability issues. Accordingly, its use is no longer appropriate for SPF version 1; implementations are not to use it." In RFC 7208, see section 14.1, `The SPF DNS Record Type <https://docs.aws.amazon.com/http://tools.ietf.org/html/rfc7208#section-14.1>`_ . Values for alias resource record sets: - *Amazon API Gateway custom regional APIs and edge-optimized APIs:* ``A`` - *CloudFront distributions:* ``A`` If IPv6 is enabled for the distribution, create two resource record sets to route traffic to your distribution, one with a value of ``A`` and one with a value of ``AAAA`` . - *Amazon API Gateway environment that has a regionalized subdomain* : ``A`` - *ELB load balancers:* ``A`` | ``AAAA`` - *Amazon S3 buckets:* ``A`` - *Amazon Virtual Private Cloud interface VPC endpoints* ``A`` - *Another resource record set in this hosted zone:* Specify the type of the resource record set that you're creating the alias for. All values are supported except ``NS`` and ``SOA`` . .. epigraph:: If you're creating an alias record that has the same name as the hosted zone (known as the zone apex), you can't route traffic to a record for which the value of ``Type`` is ``CNAME`` . This is because the alias record must have the same type as the record you're routing traffic to, and creating a CNAME record for the zone apex isn't supported even for an alias record.
|
|
5500
|
+
:param type: The DNS record type. For information about different record types and how data is encoded for them, see `Supported DNS Resource Record Types <https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/ResourceRecordTypes.html>`_ in the *Amazon Route 53 Developer Guide* . Valid values for basic resource record sets: ``A`` | ``AAAA`` | ``CAA`` | ``CNAME`` | ``DS`` | ``MX`` | ``NAPTR`` | ``NS`` | ``PTR`` | ``SOA`` | ``SPF`` | ``SRV`` | ``TXT`` Values for weighted, latency, geolocation, and failover resource record sets: ``A`` | ``AAAA`` | ``CAA`` | ``CNAME`` | ``MX`` | ``NAPTR`` | ``PTR`` | ``SPF`` | ``SRV`` | ``TXT`` . When creating a group of weighted, latency, geolocation, or failover resource record sets, specify the same value for all of the resource record sets in the group. Valid values for multivalue answer resource record sets: ``A`` | ``AAAA`` | ``MX`` | ``NAPTR`` | ``PTR`` | ``SPF`` | ``SRV`` | ``TXT`` | ``CAA`` .. epigraph:: SPF records were formerly used to verify the identity of the sender of email messages. However, we no longer recommend that you create resource record sets for which the value of ``Type`` is ``SPF`` . RFC 7208, *Sender Policy Framework (SPF) for Authorizing Use of Domains in Email, Version 1* , has been updated to say, "...[I]ts existence and mechanism defined in [RFC4408] have led to some interoperability issues. Accordingly, its use is no longer appropriate for SPF version 1; implementations are not to use it." In RFC 7208, see section 14.1, `The SPF DNS Record Type <https://docs.aws.amazon.com/http://tools.ietf.org/html/rfc7208#section-14.1>`_ . Values for alias resource record sets: - *Amazon API Gateway custom regional APIs and edge-optimized APIs:* ``A`` - *CloudFront distributions:* ``A`` If IPv6 is enabled for the distribution, create two resource record sets to route traffic to your distribution, one with a value of ``A`` and one with a value of ``AAAA`` . - *Amazon API Gateway environment that has a regionalized subdomain* : ``A`` - *ELB load balancers:* ``A`` | ``AAAA`` - *Amazon S3 buckets:* ``A`` - *Amazon Virtual Private Cloud interface VPC endpoints* ``A`` - *Another resource record set in this hosted zone:* Specify the type of the resource record set that you're creating the alias for. All values are supported except ``NS`` and ``SOA`` . .. epigraph:: If you're creating an alias record that has the same name as the hosted zone (known as the zone apex), you can't route traffic to a record for which the value of ``Type`` is ``CNAME`` . This is because the alias record must have the same type as the record you're routing traffic to, and creating a CNAME record for the zone apex isn't supported even for an alias record.
|
|
5460
5501
|
:param alias_target: *Alias resource record sets only:* Information about the AWS resource, such as a CloudFront distribution or an Amazon S3 bucket, that you want to route traffic to. If you're creating resource records sets for a private hosted zone, note the following: - You can't create an alias resource record set in a private hosted zone to route traffic to a CloudFront distribution. - For information about creating failover resource record sets in a private hosted zone, see `Configuring Failover in a Private Hosted Zone <https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html>`_ in the *Amazon Route 53 Developer Guide* .
|
|
5461
5502
|
:param cidr_routing_config: The object that is specified in resource record set object when you are linking a resource record set to a CIDR location. A ``LocationName`` with an asterisk “*” can be used to create a default CIDR record. ``CollectionId`` is still required for default record.
|
|
5462
5503
|
:param comment: *Optional:* Any comments you want to include about a change batch request.
|
|
@@ -5617,7 +5658,7 @@ class CfnRecordSetProps:
|
|
|
5617
5658
|
|
|
5618
5659
|
Values for weighted, latency, geolocation, and failover resource record sets: ``A`` | ``AAAA`` | ``CAA`` | ``CNAME`` | ``MX`` | ``NAPTR`` | ``PTR`` | ``SPF`` | ``SRV`` | ``TXT`` . When creating a group of weighted, latency, geolocation, or failover resource record sets, specify the same value for all of the resource record sets in the group.
|
|
5619
5660
|
|
|
5620
|
-
Valid values for multivalue answer resource record sets: ``A`` | ``AAAA`` | ``MX`` | ``NAPTR`` | ``PTR`` | ``SPF`` | ``SRV`` | ``TXT``
|
|
5661
|
+
Valid values for multivalue answer resource record sets: ``A`` | ``AAAA`` | ``MX`` | ``NAPTR`` | ``PTR`` | ``SPF`` | ``SRV`` | ``TXT`` | ``CAA``
|
|
5621
5662
|
.. epigraph::
|
|
5622
5663
|
|
|
5623
5664
|
SPF records were formerly used to verify the identity of the sender of email messages. However, we no longer recommend that you create resource record sets for which the value of ``Type`` is ``SPF`` . RFC 7208, *Sender Policy Framework (SPF) for Authorizing Use of Domains in Email, Version 1* , has been updated to say, "...[I]ts existence and mechanism defined in [RFC4408] have led to some interoperability issues. Accordingly, its use is no longer appropriate for SPF version 1; implementations are not to use it." In RFC 7208, see section 14.1, `The SPF DNS Record Type <https://docs.aws.amazon.com/http://tools.ietf.org/html/rfc7208#section-14.1>`_ .
|
|
@@ -6912,6 +6953,76 @@ class _IHostedZoneProxy(
|
|
|
6912
6953
|
typing.cast(typing.Any, IHostedZone).__jsii_proxy_class__ = lambda : _IHostedZoneProxy
|
|
6913
6954
|
|
|
6914
6955
|
|
|
6956
|
+
@jsii.interface(jsii_type="aws-cdk-lib.aws_route53.IKeySigningKey")
|
|
6957
|
+
class IKeySigningKey(_IResource_c80c4260, typing_extensions.Protocol):
|
|
6958
|
+
'''A Key Signing Key for a Route 53 Hosted Zone.'''
|
|
6959
|
+
|
|
6960
|
+
@builtins.property
|
|
6961
|
+
@jsii.member(jsii_name="hostedZone")
|
|
6962
|
+
def hosted_zone(self) -> IHostedZone:
|
|
6963
|
+
'''The hosted zone that the key signing key signs.
|
|
6964
|
+
|
|
6965
|
+
:attribute: true
|
|
6966
|
+
'''
|
|
6967
|
+
...
|
|
6968
|
+
|
|
6969
|
+
@builtins.property
|
|
6970
|
+
@jsii.member(jsii_name="keySigningKeyId")
|
|
6971
|
+
def key_signing_key_id(self) -> builtins.str:
|
|
6972
|
+
'''The ID of the key signing key, derived from the hosted zone ID and its name.
|
|
6973
|
+
|
|
6974
|
+
:attribute: true
|
|
6975
|
+
'''
|
|
6976
|
+
...
|
|
6977
|
+
|
|
6978
|
+
@builtins.property
|
|
6979
|
+
@jsii.member(jsii_name="keySigningKeyName")
|
|
6980
|
+
def key_signing_key_name(self) -> builtins.str:
|
|
6981
|
+
'''The name of the key signing key.
|
|
6982
|
+
|
|
6983
|
+
:attribute: true
|
|
6984
|
+
'''
|
|
6985
|
+
...
|
|
6986
|
+
|
|
6987
|
+
|
|
6988
|
+
class _IKeySigningKeyProxy(
|
|
6989
|
+
jsii.proxy_for(_IResource_c80c4260), # type: ignore[misc]
|
|
6990
|
+
):
|
|
6991
|
+
'''A Key Signing Key for a Route 53 Hosted Zone.'''
|
|
6992
|
+
|
|
6993
|
+
__jsii_type__: typing.ClassVar[str] = "aws-cdk-lib.aws_route53.IKeySigningKey"
|
|
6994
|
+
|
|
6995
|
+
@builtins.property
|
|
6996
|
+
@jsii.member(jsii_name="hostedZone")
|
|
6997
|
+
def hosted_zone(self) -> IHostedZone:
|
|
6998
|
+
'''The hosted zone that the key signing key signs.
|
|
6999
|
+
|
|
7000
|
+
:attribute: true
|
|
7001
|
+
'''
|
|
7002
|
+
return typing.cast(IHostedZone, jsii.get(self, "hostedZone"))
|
|
7003
|
+
|
|
7004
|
+
@builtins.property
|
|
7005
|
+
@jsii.member(jsii_name="keySigningKeyId")
|
|
7006
|
+
def key_signing_key_id(self) -> builtins.str:
|
|
7007
|
+
'''The ID of the key signing key, derived from the hosted zone ID and its name.
|
|
7008
|
+
|
|
7009
|
+
:attribute: true
|
|
7010
|
+
'''
|
|
7011
|
+
return typing.cast(builtins.str, jsii.get(self, "keySigningKeyId"))
|
|
7012
|
+
|
|
7013
|
+
@builtins.property
|
|
7014
|
+
@jsii.member(jsii_name="keySigningKeyName")
|
|
7015
|
+
def key_signing_key_name(self) -> builtins.str:
|
|
7016
|
+
'''The name of the key signing key.
|
|
7017
|
+
|
|
7018
|
+
:attribute: true
|
|
7019
|
+
'''
|
|
7020
|
+
return typing.cast(builtins.str, jsii.get(self, "keySigningKeyName"))
|
|
7021
|
+
|
|
7022
|
+
# Adding a "__jsii_proxy_class__(): typing.Type" function to the interface
|
|
7023
|
+
typing.cast(typing.Any, IKeySigningKey).__jsii_proxy_class__ = lambda : _IKeySigningKeyProxy
|
|
7024
|
+
|
|
7025
|
+
|
|
6915
7026
|
@jsii.interface(jsii_type="aws-cdk-lib.aws_route53.IPrivateHostedZone")
|
|
6916
7027
|
class IPrivateHostedZone(IHostedZone, typing_extensions.Protocol):
|
|
6917
7028
|
'''Represents a Route 53 private hosted zone.'''
|
|
@@ -6978,6 +7089,315 @@ class _IRecordSetProxy(
|
|
|
6978
7089
|
typing.cast(typing.Any, IRecordSet).__jsii_proxy_class__ = lambda : _IRecordSetProxy
|
|
6979
7090
|
|
|
6980
7091
|
|
|
7092
|
+
@jsii.implements(IKeySigningKey)
|
|
7093
|
+
class KeySigningKey(
|
|
7094
|
+
_Resource_45bc6135,
|
|
7095
|
+
metaclass=jsii.JSIIMeta,
|
|
7096
|
+
jsii_type="aws-cdk-lib.aws_route53.KeySigningKey",
|
|
7097
|
+
):
|
|
7098
|
+
'''A Key Signing Key for a Route 53 Hosted Zone.
|
|
7099
|
+
|
|
7100
|
+
:resource: AWS::Route53::KeySigningKey
|
|
7101
|
+
:exampleMetadata: infused
|
|
7102
|
+
|
|
7103
|
+
Example::
|
|
7104
|
+
|
|
7105
|
+
# hosted_zone: route53.HostedZone
|
|
7106
|
+
# kms_key: kms.Key
|
|
7107
|
+
|
|
7108
|
+
route53.KeySigningKey(self, "KeySigningKey",
|
|
7109
|
+
hosted_zone=hosted_zone,
|
|
7110
|
+
kms_key=kms_key,
|
|
7111
|
+
key_signing_key_name="ksk",
|
|
7112
|
+
status=route53.KeySigningKeyStatus.ACTIVE
|
|
7113
|
+
)
|
|
7114
|
+
'''
|
|
7115
|
+
|
|
7116
|
+
def __init__(
|
|
7117
|
+
self,
|
|
7118
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
7119
|
+
id: builtins.str,
|
|
7120
|
+
*,
|
|
7121
|
+
hosted_zone: IHostedZone,
|
|
7122
|
+
kms_key: _IKey_5f11635f,
|
|
7123
|
+
key_signing_key_name: typing.Optional[builtins.str] = None,
|
|
7124
|
+
status: typing.Optional["KeySigningKeyStatus"] = None,
|
|
7125
|
+
) -> None:
|
|
7126
|
+
'''
|
|
7127
|
+
:param scope: -
|
|
7128
|
+
:param id: -
|
|
7129
|
+
:param hosted_zone: The hosted zone that this key will be used to sign.
|
|
7130
|
+
:param kms_key: The customer-managed KMS key that that will be used to sign the records. The KMS Key must be unique for each KSK within a hosted zone. Additionally, the KMS key must be an asymetric customer-managed key using the ECC_NIST_P256 algorithm.
|
|
7131
|
+
:param key_signing_key_name: The name for the key signing key. This name must be unique within a hosted zone. Default: an autogenerated name
|
|
7132
|
+
:param status: The status of the key signing key. Default: ACTIVE
|
|
7133
|
+
'''
|
|
7134
|
+
if __debug__:
|
|
7135
|
+
type_hints = typing.get_type_hints(_typecheckingstub__63b944f82a919a5a1fc9b8c1ec885ffe1d509c5cec2bb324d9b5ed7df171b437)
|
|
7136
|
+
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
7137
|
+
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
7138
|
+
props = KeySigningKeyProps(
|
|
7139
|
+
hosted_zone=hosted_zone,
|
|
7140
|
+
kms_key=kms_key,
|
|
7141
|
+
key_signing_key_name=key_signing_key_name,
|
|
7142
|
+
status=status,
|
|
7143
|
+
)
|
|
7144
|
+
|
|
7145
|
+
jsii.create(self.__class__, self, [scope, id, props])
|
|
7146
|
+
|
|
7147
|
+
@jsii.member(jsii_name="fromKeySigningKeyAttributes")
|
|
7148
|
+
@builtins.classmethod
|
|
7149
|
+
def from_key_signing_key_attributes(
|
|
7150
|
+
cls,
|
|
7151
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
7152
|
+
id: builtins.str,
|
|
7153
|
+
*,
|
|
7154
|
+
hosted_zone: IHostedZone,
|
|
7155
|
+
key_signing_key_name: builtins.str,
|
|
7156
|
+
) -> IKeySigningKey:
|
|
7157
|
+
'''Imports a key signing key from its attributes.
|
|
7158
|
+
|
|
7159
|
+
:param scope: -
|
|
7160
|
+
:param id: -
|
|
7161
|
+
:param hosted_zone: The hosted zone that the key signing key signs.
|
|
7162
|
+
:param key_signing_key_name: The name of the key signing key.
|
|
7163
|
+
'''
|
|
7164
|
+
if __debug__:
|
|
7165
|
+
type_hints = typing.get_type_hints(_typecheckingstub__9aae6d3147d941495289a363f03a080316f20c479e0fa8646cf10ec995d1635a)
|
|
7166
|
+
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
7167
|
+
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
7168
|
+
attrs = KeySigningKeyAttributes(
|
|
7169
|
+
hosted_zone=hosted_zone, key_signing_key_name=key_signing_key_name
|
|
7170
|
+
)
|
|
7171
|
+
|
|
7172
|
+
return typing.cast(IKeySigningKey, jsii.sinvoke(cls, "fromKeySigningKeyAttributes", [scope, id, attrs]))
|
|
7173
|
+
|
|
7174
|
+
@builtins.property
|
|
7175
|
+
@jsii.member(jsii_name="hostedZone")
|
|
7176
|
+
def hosted_zone(self) -> IHostedZone:
|
|
7177
|
+
'''The hosted zone that the key signing key signs.'''
|
|
7178
|
+
return typing.cast(IHostedZone, jsii.get(self, "hostedZone"))
|
|
7179
|
+
|
|
7180
|
+
@builtins.property
|
|
7181
|
+
@jsii.member(jsii_name="keySigningKeyId")
|
|
7182
|
+
def key_signing_key_id(self) -> builtins.str:
|
|
7183
|
+
'''The ID of the key signing key, derived from the hosted zone ID and its name.'''
|
|
7184
|
+
return typing.cast(builtins.str, jsii.get(self, "keySigningKeyId"))
|
|
7185
|
+
|
|
7186
|
+
@builtins.property
|
|
7187
|
+
@jsii.member(jsii_name="keySigningKeyName")
|
|
7188
|
+
def key_signing_key_name(self) -> builtins.str:
|
|
7189
|
+
'''The name of the key signing key.'''
|
|
7190
|
+
return typing.cast(builtins.str, jsii.get(self, "keySigningKeyName"))
|
|
7191
|
+
|
|
7192
|
+
|
|
7193
|
+
@jsii.data_type(
|
|
7194
|
+
jsii_type="aws-cdk-lib.aws_route53.KeySigningKeyAttributes",
|
|
7195
|
+
jsii_struct_bases=[],
|
|
7196
|
+
name_mapping={
|
|
7197
|
+
"hosted_zone": "hostedZone",
|
|
7198
|
+
"key_signing_key_name": "keySigningKeyName",
|
|
7199
|
+
},
|
|
7200
|
+
)
|
|
7201
|
+
class KeySigningKeyAttributes:
|
|
7202
|
+
def __init__(
|
|
7203
|
+
self,
|
|
7204
|
+
*,
|
|
7205
|
+
hosted_zone: IHostedZone,
|
|
7206
|
+
key_signing_key_name: builtins.str,
|
|
7207
|
+
) -> None:
|
|
7208
|
+
'''The attributes of a key signing key.
|
|
7209
|
+
|
|
7210
|
+
:param hosted_zone: The hosted zone that the key signing key signs.
|
|
7211
|
+
:param key_signing_key_name: The name of the key signing key.
|
|
7212
|
+
|
|
7213
|
+
:exampleMetadata: fixture=_generated
|
|
7214
|
+
|
|
7215
|
+
Example::
|
|
7216
|
+
|
|
7217
|
+
# The code below shows an example of how to instantiate this type.
|
|
7218
|
+
# The values are placeholders you should change.
|
|
7219
|
+
from aws_cdk import aws_route53 as route53
|
|
7220
|
+
|
|
7221
|
+
# hosted_zone: route53.HostedZone
|
|
7222
|
+
|
|
7223
|
+
key_signing_key_attributes = route53.KeySigningKeyAttributes(
|
|
7224
|
+
hosted_zone=hosted_zone,
|
|
7225
|
+
key_signing_key_name="keySigningKeyName"
|
|
7226
|
+
)
|
|
7227
|
+
'''
|
|
7228
|
+
if __debug__:
|
|
7229
|
+
type_hints = typing.get_type_hints(_typecheckingstub__1a1262fd4a880b25e9ef115da3b6b790a7b24acf9d121372595ab3087a5442d2)
|
|
7230
|
+
check_type(argname="argument hosted_zone", value=hosted_zone, expected_type=type_hints["hosted_zone"])
|
|
7231
|
+
check_type(argname="argument key_signing_key_name", value=key_signing_key_name, expected_type=type_hints["key_signing_key_name"])
|
|
7232
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
7233
|
+
"hosted_zone": hosted_zone,
|
|
7234
|
+
"key_signing_key_name": key_signing_key_name,
|
|
7235
|
+
}
|
|
7236
|
+
|
|
7237
|
+
@builtins.property
|
|
7238
|
+
def hosted_zone(self) -> IHostedZone:
|
|
7239
|
+
'''The hosted zone that the key signing key signs.
|
|
7240
|
+
|
|
7241
|
+
:attribute: true
|
|
7242
|
+
'''
|
|
7243
|
+
result = self._values.get("hosted_zone")
|
|
7244
|
+
assert result is not None, "Required property 'hosted_zone' is missing"
|
|
7245
|
+
return typing.cast(IHostedZone, result)
|
|
7246
|
+
|
|
7247
|
+
@builtins.property
|
|
7248
|
+
def key_signing_key_name(self) -> builtins.str:
|
|
7249
|
+
'''The name of the key signing key.
|
|
7250
|
+
|
|
7251
|
+
:attribute: true
|
|
7252
|
+
'''
|
|
7253
|
+
result = self._values.get("key_signing_key_name")
|
|
7254
|
+
assert result is not None, "Required property 'key_signing_key_name' is missing"
|
|
7255
|
+
return typing.cast(builtins.str, result)
|
|
7256
|
+
|
|
7257
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
7258
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
7259
|
+
|
|
7260
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
7261
|
+
return not (rhs == self)
|
|
7262
|
+
|
|
7263
|
+
def __repr__(self) -> str:
|
|
7264
|
+
return "KeySigningKeyAttributes(%s)" % ", ".join(
|
|
7265
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
7266
|
+
)
|
|
7267
|
+
|
|
7268
|
+
|
|
7269
|
+
@jsii.data_type(
|
|
7270
|
+
jsii_type="aws-cdk-lib.aws_route53.KeySigningKeyProps",
|
|
7271
|
+
jsii_struct_bases=[],
|
|
7272
|
+
name_mapping={
|
|
7273
|
+
"hosted_zone": "hostedZone",
|
|
7274
|
+
"kms_key": "kmsKey",
|
|
7275
|
+
"key_signing_key_name": "keySigningKeyName",
|
|
7276
|
+
"status": "status",
|
|
7277
|
+
},
|
|
7278
|
+
)
|
|
7279
|
+
class KeySigningKeyProps:
|
|
7280
|
+
def __init__(
|
|
7281
|
+
self,
|
|
7282
|
+
*,
|
|
7283
|
+
hosted_zone: IHostedZone,
|
|
7284
|
+
kms_key: _IKey_5f11635f,
|
|
7285
|
+
key_signing_key_name: typing.Optional[builtins.str] = None,
|
|
7286
|
+
status: typing.Optional["KeySigningKeyStatus"] = None,
|
|
7287
|
+
) -> None:
|
|
7288
|
+
'''Properties for constructing a Key Signing Key.
|
|
7289
|
+
|
|
7290
|
+
:param hosted_zone: The hosted zone that this key will be used to sign.
|
|
7291
|
+
:param kms_key: The customer-managed KMS key that that will be used to sign the records. The KMS Key must be unique for each KSK within a hosted zone. Additionally, the KMS key must be an asymetric customer-managed key using the ECC_NIST_P256 algorithm.
|
|
7292
|
+
:param key_signing_key_name: The name for the key signing key. This name must be unique within a hosted zone. Default: an autogenerated name
|
|
7293
|
+
:param status: The status of the key signing key. Default: ACTIVE
|
|
7294
|
+
|
|
7295
|
+
:exampleMetadata: infused
|
|
7296
|
+
|
|
7297
|
+
Example::
|
|
7298
|
+
|
|
7299
|
+
# hosted_zone: route53.HostedZone
|
|
7300
|
+
# kms_key: kms.Key
|
|
7301
|
+
|
|
7302
|
+
route53.KeySigningKey(self, "KeySigningKey",
|
|
7303
|
+
hosted_zone=hosted_zone,
|
|
7304
|
+
kms_key=kms_key,
|
|
7305
|
+
key_signing_key_name="ksk",
|
|
7306
|
+
status=route53.KeySigningKeyStatus.ACTIVE
|
|
7307
|
+
)
|
|
7308
|
+
'''
|
|
7309
|
+
if __debug__:
|
|
7310
|
+
type_hints = typing.get_type_hints(_typecheckingstub__3e92b54737c8cb2969b649108716a37fd8e380a8e41cfefef3229c1d92acdf40)
|
|
7311
|
+
check_type(argname="argument hosted_zone", value=hosted_zone, expected_type=type_hints["hosted_zone"])
|
|
7312
|
+
check_type(argname="argument kms_key", value=kms_key, expected_type=type_hints["kms_key"])
|
|
7313
|
+
check_type(argname="argument key_signing_key_name", value=key_signing_key_name, expected_type=type_hints["key_signing_key_name"])
|
|
7314
|
+
check_type(argname="argument status", value=status, expected_type=type_hints["status"])
|
|
7315
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
7316
|
+
"hosted_zone": hosted_zone,
|
|
7317
|
+
"kms_key": kms_key,
|
|
7318
|
+
}
|
|
7319
|
+
if key_signing_key_name is not None:
|
|
7320
|
+
self._values["key_signing_key_name"] = key_signing_key_name
|
|
7321
|
+
if status is not None:
|
|
7322
|
+
self._values["status"] = status
|
|
7323
|
+
|
|
7324
|
+
@builtins.property
|
|
7325
|
+
def hosted_zone(self) -> IHostedZone:
|
|
7326
|
+
'''The hosted zone that this key will be used to sign.'''
|
|
7327
|
+
result = self._values.get("hosted_zone")
|
|
7328
|
+
assert result is not None, "Required property 'hosted_zone' is missing"
|
|
7329
|
+
return typing.cast(IHostedZone, result)
|
|
7330
|
+
|
|
7331
|
+
@builtins.property
|
|
7332
|
+
def kms_key(self) -> _IKey_5f11635f:
|
|
7333
|
+
'''The customer-managed KMS key that that will be used to sign the records.
|
|
7334
|
+
|
|
7335
|
+
The KMS Key must be unique for each KSK within a hosted zone. Additionally, the
|
|
7336
|
+
KMS key must be an asymetric customer-managed key using the ECC_NIST_P256 algorithm.
|
|
7337
|
+
|
|
7338
|
+
:see: https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-configuring-dnssec-cmk-requirements.html
|
|
7339
|
+
'''
|
|
7340
|
+
result = self._values.get("kms_key")
|
|
7341
|
+
assert result is not None, "Required property 'kms_key' is missing"
|
|
7342
|
+
return typing.cast(_IKey_5f11635f, result)
|
|
7343
|
+
|
|
7344
|
+
@builtins.property
|
|
7345
|
+
def key_signing_key_name(self) -> typing.Optional[builtins.str]:
|
|
7346
|
+
'''The name for the key signing key.
|
|
7347
|
+
|
|
7348
|
+
This name must be unique within a hosted zone.
|
|
7349
|
+
|
|
7350
|
+
:default: an autogenerated name
|
|
7351
|
+
'''
|
|
7352
|
+
result = self._values.get("key_signing_key_name")
|
|
7353
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
7354
|
+
|
|
7355
|
+
@builtins.property
|
|
7356
|
+
def status(self) -> typing.Optional["KeySigningKeyStatus"]:
|
|
7357
|
+
'''The status of the key signing key.
|
|
7358
|
+
|
|
7359
|
+
:default: ACTIVE
|
|
7360
|
+
'''
|
|
7361
|
+
result = self._values.get("status")
|
|
7362
|
+
return typing.cast(typing.Optional["KeySigningKeyStatus"], result)
|
|
7363
|
+
|
|
7364
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
7365
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
7366
|
+
|
|
7367
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
7368
|
+
return not (rhs == self)
|
|
7369
|
+
|
|
7370
|
+
def __repr__(self) -> str:
|
|
7371
|
+
return "KeySigningKeyProps(%s)" % ", ".join(
|
|
7372
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
7373
|
+
)
|
|
7374
|
+
|
|
7375
|
+
|
|
7376
|
+
@jsii.enum(jsii_type="aws-cdk-lib.aws_route53.KeySigningKeyStatus")
|
|
7377
|
+
class KeySigningKeyStatus(enum.Enum):
|
|
7378
|
+
'''The status for a Key Signing Key.
|
|
7379
|
+
|
|
7380
|
+
:exampleMetadata: infused
|
|
7381
|
+
|
|
7382
|
+
Example::
|
|
7383
|
+
|
|
7384
|
+
# hosted_zone: route53.HostedZone
|
|
7385
|
+
# kms_key: kms.Key
|
|
7386
|
+
|
|
7387
|
+
route53.KeySigningKey(self, "KeySigningKey",
|
|
7388
|
+
hosted_zone=hosted_zone,
|
|
7389
|
+
kms_key=kms_key,
|
|
7390
|
+
key_signing_key_name="ksk",
|
|
7391
|
+
status=route53.KeySigningKeyStatus.ACTIVE
|
|
7392
|
+
)
|
|
7393
|
+
'''
|
|
7394
|
+
|
|
7395
|
+
ACTIVE = "ACTIVE"
|
|
7396
|
+
'''The KSK is being used for signing.'''
|
|
7397
|
+
INACTIVE = "INACTIVE"
|
|
7398
|
+
'''The KSK is not being used for signing.'''
|
|
7399
|
+
|
|
7400
|
+
|
|
6981
7401
|
@jsii.data_type(
|
|
6982
7402
|
jsii_type="aws-cdk-lib.aws_route53.MxRecordValue",
|
|
6983
7403
|
jsii_struct_bases=[],
|
|
@@ -9521,6 +9941,83 @@ class ZoneDelegationRecordProps(RecordSetOptions):
|
|
|
9521
9941
|
)
|
|
9522
9942
|
|
|
9523
9943
|
|
|
9944
|
+
@jsii.data_type(
|
|
9945
|
+
jsii_type="aws-cdk-lib.aws_route53.ZoneSigningOptions",
|
|
9946
|
+
jsii_struct_bases=[],
|
|
9947
|
+
name_mapping={"kms_key": "kmsKey", "key_signing_key_name": "keySigningKeyName"},
|
|
9948
|
+
)
|
|
9949
|
+
class ZoneSigningOptions:
|
|
9950
|
+
def __init__(
|
|
9951
|
+
self,
|
|
9952
|
+
*,
|
|
9953
|
+
kms_key: _IKey_5f11635f,
|
|
9954
|
+
key_signing_key_name: typing.Optional[builtins.str] = None,
|
|
9955
|
+
) -> None:
|
|
9956
|
+
'''Options for enabling key signing from a hosted zone.
|
|
9957
|
+
|
|
9958
|
+
:param kms_key: The customer-managed KMS key that that will be used to sign the records. The KMS Key must be unique for each KSK within a hosted zone. Additionally, the KMS key must be an asymetric customer-managed key using the ECC_NIST_P256 algorithm.
|
|
9959
|
+
:param key_signing_key_name: The name for the key signing key. This name must be unique within a hosted zone. Default: an autogenerated name
|
|
9960
|
+
|
|
9961
|
+
:exampleMetadata: infused
|
|
9962
|
+
|
|
9963
|
+
Example::
|
|
9964
|
+
|
|
9965
|
+
kms_key = kms.Key(self, "KmsCMK",
|
|
9966
|
+
key_spec=kms.KeySpec.ECC_NIST_P256,
|
|
9967
|
+
key_usage=kms.KeyUsage.SIGN_VERIFY
|
|
9968
|
+
)
|
|
9969
|
+
hosted_zone = route53.HostedZone(self, "HostedZone",
|
|
9970
|
+
zone_name="example.com"
|
|
9971
|
+
)
|
|
9972
|
+
# Enable DNSSEC signing for the zone
|
|
9973
|
+
hosted_zone.enable_dnssec(kms_key=kms_key)
|
|
9974
|
+
'''
|
|
9975
|
+
if __debug__:
|
|
9976
|
+
type_hints = typing.get_type_hints(_typecheckingstub__c024f1ad9949a250bc85eb88751e2c625dd1a6679c33a35a4add759a0404b95c)
|
|
9977
|
+
check_type(argname="argument kms_key", value=kms_key, expected_type=type_hints["kms_key"])
|
|
9978
|
+
check_type(argname="argument key_signing_key_name", value=key_signing_key_name, expected_type=type_hints["key_signing_key_name"])
|
|
9979
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
9980
|
+
"kms_key": kms_key,
|
|
9981
|
+
}
|
|
9982
|
+
if key_signing_key_name is not None:
|
|
9983
|
+
self._values["key_signing_key_name"] = key_signing_key_name
|
|
9984
|
+
|
|
9985
|
+
@builtins.property
|
|
9986
|
+
def kms_key(self) -> _IKey_5f11635f:
|
|
9987
|
+
'''The customer-managed KMS key that that will be used to sign the records.
|
|
9988
|
+
|
|
9989
|
+
The KMS Key must be unique for each KSK within a hosted zone. Additionally, the
|
|
9990
|
+
KMS key must be an asymetric customer-managed key using the ECC_NIST_P256 algorithm.
|
|
9991
|
+
|
|
9992
|
+
:see: https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-configuring-dnssec-cmk-requirements.html
|
|
9993
|
+
'''
|
|
9994
|
+
result = self._values.get("kms_key")
|
|
9995
|
+
assert result is not None, "Required property 'kms_key' is missing"
|
|
9996
|
+
return typing.cast(_IKey_5f11635f, result)
|
|
9997
|
+
|
|
9998
|
+
@builtins.property
|
|
9999
|
+
def key_signing_key_name(self) -> typing.Optional[builtins.str]:
|
|
10000
|
+
'''The name for the key signing key.
|
|
10001
|
+
|
|
10002
|
+
This name must be unique within a hosted zone.
|
|
10003
|
+
|
|
10004
|
+
:default: an autogenerated name
|
|
10005
|
+
'''
|
|
10006
|
+
result = self._values.get("key_signing_key_name")
|
|
10007
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
10008
|
+
|
|
10009
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
10010
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
10011
|
+
|
|
10012
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
10013
|
+
return not (rhs == self)
|
|
10014
|
+
|
|
10015
|
+
def __repr__(self) -> str:
|
|
10016
|
+
return "ZoneSigningOptions(%s)" % ", ".join(
|
|
10017
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
10018
|
+
)
|
|
10019
|
+
|
|
10020
|
+
|
|
9524
10021
|
class ARecord(
|
|
9525
10022
|
RecordSet,
|
|
9526
10023
|
metaclass=jsii.JSIIMeta,
|
|
@@ -11422,14 +11919,15 @@ class HostedZone(
|
|
|
11422
11919
|
|
|
11423
11920
|
Example::
|
|
11424
11921
|
|
|
11425
|
-
|
|
11426
|
-
|
|
11922
|
+
kms_key = kms.Key(self, "KmsCMK",
|
|
11923
|
+
key_spec=kms.KeySpec.ECC_NIST_P256,
|
|
11924
|
+
key_usage=kms.KeyUsage.SIGN_VERIFY
|
|
11427
11925
|
)
|
|
11428
|
-
|
|
11429
|
-
|
|
11430
|
-
certificate_name="Hello World Service", # Optionally provide an certificate name
|
|
11431
|
-
validation=acm.CertificateValidation.from_dns(my_hosted_zone)
|
|
11926
|
+
hosted_zone = route53.HostedZone(self, "HostedZone",
|
|
11927
|
+
zone_name="example.com"
|
|
11432
11928
|
)
|
|
11929
|
+
# Enable DNSSEC signing for the zone
|
|
11930
|
+
hosted_zone.enable_dnssec(kms_key=kms_key)
|
|
11433
11931
|
'''
|
|
11434
11932
|
|
|
11435
11933
|
def __init__(
|
|
@@ -11565,6 +12063,27 @@ class HostedZone(
|
|
|
11565
12063
|
check_type(argname="argument vpc", value=vpc, expected_type=type_hints["vpc"])
|
|
11566
12064
|
return typing.cast(None, jsii.invoke(self, "addVpc", [vpc]))
|
|
11567
12065
|
|
|
12066
|
+
@jsii.member(jsii_name="enableDnssec")
|
|
12067
|
+
def enable_dnssec(
|
|
12068
|
+
self,
|
|
12069
|
+
*,
|
|
12070
|
+
kms_key: _IKey_5f11635f,
|
|
12071
|
+
key_signing_key_name: typing.Optional[builtins.str] = None,
|
|
12072
|
+
) -> IKeySigningKey:
|
|
12073
|
+
'''Enable DNSSEC for this hosted zone.
|
|
12074
|
+
|
|
12075
|
+
This will create a key signing key with the given options and enable DNSSEC signing
|
|
12076
|
+
for the hosted zone.
|
|
12077
|
+
|
|
12078
|
+
:param kms_key: The customer-managed KMS key that that will be used to sign the records. The KMS Key must be unique for each KSK within a hosted zone. Additionally, the KMS key must be an asymetric customer-managed key using the ECC_NIST_P256 algorithm.
|
|
12079
|
+
:param key_signing_key_name: The name for the key signing key. This name must be unique within a hosted zone. Default: an autogenerated name
|
|
12080
|
+
'''
|
|
12081
|
+
options = ZoneSigningOptions(
|
|
12082
|
+
kms_key=kms_key, key_signing_key_name=key_signing_key_name
|
|
12083
|
+
)
|
|
12084
|
+
|
|
12085
|
+
return typing.cast(IKeySigningKey, jsii.invoke(self, "enableDnssec", [options]))
|
|
12086
|
+
|
|
11568
12087
|
@jsii.member(jsii_name="grantDelegation")
|
|
11569
12088
|
def grant_delegation(self, grantee: _IGrantable_71c4f5de) -> _Grant_a7ae64f8:
|
|
11570
12089
|
'''Grant permissions to add delegation records to this zone.
|
|
@@ -12657,9 +13176,14 @@ __all__ = [
|
|
|
12657
13176
|
"HostedZoneProviderProps",
|
|
12658
13177
|
"IAliasRecordTarget",
|
|
12659
13178
|
"IHostedZone",
|
|
13179
|
+
"IKeySigningKey",
|
|
12660
13180
|
"IPrivateHostedZone",
|
|
12661
13181
|
"IPublicHostedZone",
|
|
12662
13182
|
"IRecordSet",
|
|
13183
|
+
"KeySigningKey",
|
|
13184
|
+
"KeySigningKeyAttributes",
|
|
13185
|
+
"KeySigningKeyProps",
|
|
13186
|
+
"KeySigningKeyStatus",
|
|
12663
13187
|
"MxRecord",
|
|
12664
13188
|
"MxRecordProps",
|
|
12665
13189
|
"MxRecordValue",
|
|
@@ -12685,6 +13209,7 @@ __all__ = [
|
|
|
12685
13209
|
"ZoneDelegationOptions",
|
|
12686
13210
|
"ZoneDelegationRecord",
|
|
12687
13211
|
"ZoneDelegationRecordProps",
|
|
13212
|
+
"ZoneSigningOptions",
|
|
12688
13213
|
]
|
|
12689
13214
|
|
|
12690
13215
|
publication.publish()
|
|
@@ -13453,6 +13978,46 @@ def _typecheckingstub__97ae48bcbfd92ef96c96db6d1d972ddd9b889f01bba1ab2a3819d9faa
|
|
|
13453
13978
|
"""Type checking stubs"""
|
|
13454
13979
|
pass
|
|
13455
13980
|
|
|
13981
|
+
def _typecheckingstub__63b944f82a919a5a1fc9b8c1ec885ffe1d509c5cec2bb324d9b5ed7df171b437(
|
|
13982
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
13983
|
+
id: builtins.str,
|
|
13984
|
+
*,
|
|
13985
|
+
hosted_zone: IHostedZone,
|
|
13986
|
+
kms_key: _IKey_5f11635f,
|
|
13987
|
+
key_signing_key_name: typing.Optional[builtins.str] = None,
|
|
13988
|
+
status: typing.Optional[KeySigningKeyStatus] = None,
|
|
13989
|
+
) -> None:
|
|
13990
|
+
"""Type checking stubs"""
|
|
13991
|
+
pass
|
|
13992
|
+
|
|
13993
|
+
def _typecheckingstub__9aae6d3147d941495289a363f03a080316f20c479e0fa8646cf10ec995d1635a(
|
|
13994
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
13995
|
+
id: builtins.str,
|
|
13996
|
+
*,
|
|
13997
|
+
hosted_zone: IHostedZone,
|
|
13998
|
+
key_signing_key_name: builtins.str,
|
|
13999
|
+
) -> None:
|
|
14000
|
+
"""Type checking stubs"""
|
|
14001
|
+
pass
|
|
14002
|
+
|
|
14003
|
+
def _typecheckingstub__1a1262fd4a880b25e9ef115da3b6b790a7b24acf9d121372595ab3087a5442d2(
|
|
14004
|
+
*,
|
|
14005
|
+
hosted_zone: IHostedZone,
|
|
14006
|
+
key_signing_key_name: builtins.str,
|
|
14007
|
+
) -> None:
|
|
14008
|
+
"""Type checking stubs"""
|
|
14009
|
+
pass
|
|
14010
|
+
|
|
14011
|
+
def _typecheckingstub__3e92b54737c8cb2969b649108716a37fd8e380a8e41cfefef3229c1d92acdf40(
|
|
14012
|
+
*,
|
|
14013
|
+
hosted_zone: IHostedZone,
|
|
14014
|
+
kms_key: _IKey_5f11635f,
|
|
14015
|
+
key_signing_key_name: typing.Optional[builtins.str] = None,
|
|
14016
|
+
status: typing.Optional[KeySigningKeyStatus] = None,
|
|
14017
|
+
) -> None:
|
|
14018
|
+
"""Type checking stubs"""
|
|
14019
|
+
pass
|
|
14020
|
+
|
|
13456
14021
|
def _typecheckingstub__2600b3ca2027fe7d531738c20a112cef3282c7ef114758a51ee3863608c7aa72(
|
|
13457
14022
|
*,
|
|
13458
14023
|
host_name: builtins.str,
|
|
@@ -13724,6 +14289,14 @@ def _typecheckingstub__240a965753acb9488d02c120074027364f5e85a8ec585205a863174fe
|
|
|
13724
14289
|
"""Type checking stubs"""
|
|
13725
14290
|
pass
|
|
13726
14291
|
|
|
14292
|
+
def _typecheckingstub__c024f1ad9949a250bc85eb88751e2c625dd1a6679c33a35a4add759a0404b95c(
|
|
14293
|
+
*,
|
|
14294
|
+
kms_key: _IKey_5f11635f,
|
|
14295
|
+
key_signing_key_name: typing.Optional[builtins.str] = None,
|
|
14296
|
+
) -> None:
|
|
14297
|
+
"""Type checking stubs"""
|
|
14298
|
+
pass
|
|
14299
|
+
|
|
13727
14300
|
def _typecheckingstub__ca2e60ba6b2baeeff2cc875c86af94b4b26d6f11c1cfcca09280ac533b792230(
|
|
13728
14301
|
scope: _constructs_77d1e7e8.Construct,
|
|
13729
14302
|
id: builtins.str,
|