Skip to content

update_resolver_endpoint

update_resolver_endpoint(
    resolver_endpoint_id: ResourceId,
    *,
    config_overrides: Optional[Route53ResolverClientConfig] = None,
    name: Optional[Name] = None,
    resolver_endpoint_type: Optional[ResolverEndpointType] = None,
    update_ip_addresses: Optional[UpdateIpAddresses] = None,
    protocols: Optional[ProtocolList] = None,
    rni_enhanced_metrics_enabled: Optional[RniEnhancedMetricsEnabled] = None,
    target_name_server_metrics_enabled: Optional[TargetNameServerMetricsEnabled] = None,
    dns64_enabled: Optional[Dns64Enabled] = None,
    ipv6_internet_access_enabled: Optional[Ipv6InternetAccessEnabled] = None,
) -> UpdateResolverEndpointResponse

Updates the name, or endpoint type for an inbound or an outbound Resolver endpoint. You can only update between IPV4 and DUALSTACK, IPV6 endpoint type can't be updated to other type.

Parameters:

  • resolver_endpoint_id (ResourceId) –

    The ID of the Resolver endpoint that you want to update.

  • name (Optional[Name], default: None ) –

    The name of the Resolver endpoint that you want to update.

  • resolver_endpoint_type (Optional[ResolverEndpointType], default: None ) –

    Specifies the endpoint type for what type of IP address the endpoint uses to forward DNS queries.

    Updating to IPV6 type isn't currently supported.

  • update_ip_addresses (Optional[UpdateIpAddresses], default: None ) –

    Specifies the IPv6 address when you update the Resolver endpoint from IPv4 to dual-stack. If you don't specify an IPv6 address, one will be automatically chosen from your subnet.

  • protocols (Optional[ProtocolList], default: None ) –

    The protocols you want to use for the endpoint. DoH-FIPS is applicable for default inbound endpoints only.

    For a default inbound endpoint you can apply the protocols as follows:

    • Do53 and DoH in combination.

    • Do53 and DoH-FIPS in combination.

    • Do53 alone.

    • DoH alone.

    • DoH-FIPS alone.

    • None, which is treated as Do53.

    For a delegation inbound endpoint you can use Do53 only.

    For an outbound endpoint you can apply the protocols as follows:

    • Do53 and DoH in combination.

    • Do53 alone.

    • DoH alone.

    • None, which is treated as Do53.

    You can't change the protocol of an inbound endpoint directly from only Do53 to only DoH, or DoH-FIPS. This is to prevent a sudden disruption to incoming traffic that relies on Do53. To change the protocol from Do53 to DoH, or DoH-FIPS, you must first enable both Do53 and DoH, or Do53 and DoH-FIPS, to make sure that all incoming traffic has transferred to using the DoH protocol, or DoH-FIPS, and then remove the Do53.

  • rni_enhanced_metrics_enabled (Optional[RniEnhancedMetricsEnabled], default: None ) –

    Updates whether RNI enhanced metrics are enabled for the Resolver endpoints. When set to true, one-minute granular metrics are published in CloudWatch for each RNI associated with this endpoint. When set to false, metrics are not published.

    Standard CloudWatch pricing and charges are applied for using the Route 53 Resolver endpoint RNI enhanced metrics. For more information, see Detailed metrics.

  • target_name_server_metrics_enabled (Optional[TargetNameServerMetricsEnabled], default: None ) –

    Updates whether target name server metrics are enabled for the outbound Resolver endpoints. When set to true, one-minute granular metrics are published in CloudWatch for each target name server associated with this endpoint. When set to false, metrics are not published. This setting is not supported for inbound Resolver endpoints.

    Standard CloudWatch pricing and charges are applied for using the Route 53 Resolver endpoint target name server metrics. For more information, see Detailed metrics.

  • dns64_enabled (Optional[Dns64Enabled], default: None ) –

    Specifies whether DNS64 is enabled for the inbound Resolver endpoint. When set to true, Route 53 Resolver synthesizes AAAA (IPv6) records for IPv4-only services by prepending the 64:ff9b::/96 prefix to the IPv4 address. This enables IPv6-only clients that send queries through the inbound endpoint to reach IPv4-only services. DNS64 works with NAT64 to provide complete IPv6-to-IPv4 translation.

  • ipv6_internet_access_enabled (Optional[Ipv6InternetAccessEnabled], default: None ) –

    Specifies whether IPv6 internet access is enabled for the outbound Resolver endpoint. When set to true, the endpoint elastic network interfaces (ENIs) can forward DNS queries to public IPv6 targets through an internet gateway.

    When you enable IPv6 internet access, use network controls like security groups, NACLs, or egress-only internet gateways to protect the endpoint ENIs from unsolicited ingress traffic. Be aware that some network controls can affect DNS query throughput due to connection tracking. For more information, see Amazon EC2 security group connection tracking and Resolver endpoint scaling.

Raises:

Source code in docs_src/capo_route53resolver/_services/route53_resolver.py
def update_resolver_endpoint(
    self,
    resolver_endpoint_id: "capo_route53resolver.types.resource_id.ResourceId",
    *,
    config_overrides: Optional[Route53ResolverClientConfig] = None,
    name: Optional["capo_route53resolver.types.name.Name"] = None,
    resolver_endpoint_type: Optional[
        "capo_route53resolver.types.resolver_endpoint_type.ResolverEndpointType"
    ] = None,
    update_ip_addresses: Optional[
        "capo_route53resolver.types.update_ip_addresses.UpdateIpAddresses"
    ] = None,
    protocols: Optional[
        "capo_route53resolver.types.protocol_list.ProtocolList"
    ] = None,
    rni_enhanced_metrics_enabled: Optional[
        "capo_route53resolver.types.rni_enhanced_metrics_enabled.RniEnhancedMetricsEnabled"
    ] = None,
    target_name_server_metrics_enabled: Optional[
        "capo_route53resolver.types.target_name_server_metrics_enabled.TargetNameServerMetricsEnabled"
    ] = None,
    dns64_enabled: Optional[
        "capo_route53resolver.types.dns64_enabled.Dns64Enabled"
    ] = None,
    ipv6_internet_access_enabled: Optional[
        "capo_route53resolver.types.ipv6_internet_access_enabled.Ipv6InternetAccessEnabled"
    ] = None,
) -> "capo_route53resolver.types.update_resolver_endpoint_response.UpdateResolverEndpointResponse":
    """<p>Updates the name, or endpoint type for an inbound or an outbound Resolver endpoint. You can only update between IPV4 and DUALSTACK, IPV6 endpoint type can't be updated to other type. </p>

    Args:
        resolver_endpoint_id: <p>The ID of the Resolver endpoint that you want to update.</p>
        name: <p>The name of the Resolver endpoint that you want to update.</p>
        resolver_endpoint_type: <p> Specifies the endpoint type for what type of IP address the endpoint uses to forward DNS queries. </p> <p>Updating to <code>IPV6</code> type isn't currently supported.</p>
        update_ip_addresses: <p> Specifies the IPv6 address when you update the Resolver endpoint from IPv4 to dual-stack. If you don't specify an IPv6 address, one will be automatically chosen from your subnet. </p>
        protocols: <p> The protocols you want to use for the endpoint. DoH-FIPS is applicable for default inbound endpoints only. </p> <p>For a default inbound endpoint you can apply the protocols as follows:</p> <ul> <li> <p> Do53 and DoH in combination.</p> </li> <li> <p>Do53 and DoH-FIPS in combination.</p> </li> <li> <p>Do53 alone.</p> </li> <li> <p>DoH alone.</p> </li> <li> <p>DoH-FIPS alone.</p> </li> <li> <p>None, which is treated as Do53.</p> </li> </ul> <p>For a delegation inbound endpoint you can use Do53 only.</p> <p>For an outbound endpoint you can apply the protocols as follows:</p> <ul> <li> <p> Do53 and DoH in combination.</p> </li> <li> <p>Do53 alone.</p> </li> <li> <p>DoH alone.</p> </li> <li> <p>None, which is treated as Do53.</p> </li> </ul> <important> <p> You can't change the protocol of an inbound endpoint directly from only Do53 to only DoH, or DoH-FIPS. This is to prevent a sudden disruption to incoming traffic that relies on Do53. To change the protocol from Do53 to DoH, or DoH-FIPS, you must first enable both Do53 and DoH, or Do53 and DoH-FIPS, to make sure that all incoming traffic has transferred to using the DoH protocol, or DoH-FIPS, and then remove the Do53.</p> </important>
        rni_enhanced_metrics_enabled: <p>Updates whether RNI enhanced metrics are enabled for the Resolver endpoints. When set to true, one-minute granular metrics are published in CloudWatch for each RNI associated with this endpoint. When set to false, metrics are not published.</p> <note> <p>Standard CloudWatch pricing and charges are applied for using the Route 53 Resolver endpoint RNI enhanced metrics. For more information, see <a href="https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/monitoring-resolver-with-cloudwatch.html">Detailed metrics</a>.</p> </note>
        target_name_server_metrics_enabled: <p>Updates whether target name server metrics are enabled for the outbound Resolver endpoints. When set to true, one-minute granular metrics are published in CloudWatch for each target name server associated with this endpoint. When set to false, metrics are not published. This setting is not supported for inbound Resolver endpoints.</p> <note> <p>Standard CloudWatch pricing and charges are applied for using the Route 53 Resolver endpoint target name server metrics. For more information, see <a href="https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/monitoring-resolver-with-cloudwatch.html">Detailed metrics</a>.</p> </note>
        dns64_enabled: <p>Specifies whether DNS64 is enabled for the inbound Resolver endpoint. When set to <code>true</code>, Route 53 Resolver synthesizes AAAA (IPv6) records for IPv4-only services by prepending the <code>64:ff9b::/96</code> prefix to the IPv4 address. This enables IPv6-only clients that send queries through the inbound endpoint to reach IPv4-only services. DNS64 works with NAT64 to provide complete IPv6-to-IPv4 translation.</p>
        ipv6_internet_access_enabled: <p>Specifies whether IPv6 internet access is enabled for the outbound Resolver endpoint. When set to <code>true</code>, the endpoint elastic network interfaces (ENIs) can forward DNS queries to public IPv6 targets through an internet gateway.</p> <important> <p>When you enable IPv6 internet access, use network controls like security groups, NACLs, or egress-only internet gateways to protect the endpoint ENIs from unsolicited ingress traffic. Be aware that some network controls can affect DNS query throughput due to connection tracking. For more information, see <a href="https://docs.aws.amazon.com/ec2/latest/userguide/security-group-connection-tracking.html">Amazon EC2 security group connection tracking</a> and <a href="https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/best-practices-resolver-endpoint-scaling.html">Resolver endpoint scaling</a>.</p> </important>

    Raises:
        capo_route53resolver.errors.access_denied_exception.AccessDeniedException: <p>The current account doesn't have the IAM permissions required to perform the specified Resolver operation.</p> <p>This error can also be thrown when a customer has reached the 5120 character limit for a resource policy for CloudWatch Logs.</p>
        capo_route53resolver.errors.internal_service_error_exception.InternalServiceErrorException: <p>We encountered an unknown error. Try again in a few minutes.</p>
        capo_route53resolver.errors.invalid_parameter_exception.InvalidParameterException: <p>One or more parameters in this request are not valid.</p>
        capo_route53resolver.errors.invalid_request_exception.InvalidRequestException: <p>The request is invalid.</p>
        capo_route53resolver.errors.resource_not_found_exception.ResourceNotFoundException: <p>The specified resource doesn't exist.</p>
        capo_route53resolver.errors.throttling_exception.ThrottlingException: <p>The request was throttled. Try again in a few minutes.</p>
        capo_route53resolver.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    def _handler(
        req: "OperationRequest[capo_route53resolver.types.update_resolver_endpoint_request.UpdateResolverEndpointRequest]",
    ) -> OperationResponse[
        "capo_route53resolver.types.update_resolver_endpoint_response.UpdateResolverEndpointResponse"
    ]:
        import capo_route53resolver._operations.route53_resolver.update_resolver_endpoint

        output, http_response = (
            capo_route53resolver._operations.route53_resolver.update_resolver_endpoint.update_resolver_endpoint(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("UpdateResolverEndpoint")
    )
    input_: capo_route53resolver.types.update_resolver_endpoint_request.UpdateResolverEndpointRequest = {
        "resolver_endpoint_id": resolver_endpoint_id
    }
    if name is not None:
        input_["name"] = name
    if resolver_endpoint_type is not None:
        input_["resolver_endpoint_type"] = resolver_endpoint_type
    if update_ip_addresses is not None:
        input_["update_ip_addresses"] = update_ip_addresses
    if protocols is not None:
        input_["protocols"] = protocols
    if rni_enhanced_metrics_enabled is not None:
        input_["rni_enhanced_metrics_enabled"] = rni_enhanced_metrics_enabled
    if target_name_server_metrics_enabled is not None:
        input_["target_name_server_metrics_enabled"] = (
            target_name_server_metrics_enabled
        )
    if dns64_enabled is not None:
        input_["dns64_enabled"] = dns64_enabled
    if ipv6_internet_access_enabled is not None:
        input_["ipv6_internet_access_enabled"] = ipv6_internet_access_enabled

    response = execute_pipeline(
        OperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    response.response.close()
    return response.output