java.lang.Object
software.amazon.awssdk.services.route53resolver.model.ResolverEndpoint
All Implemented Interfaces:
Serializable, SdkPojo, ToCopyableBuilder<ResolverEndpoint.Builder,ResolverEndpoint>

@Generated("software.amazon.awssdk:codegen") public final class ResolverEndpoint extends Object implements SdkPojo, Serializable, ToCopyableBuilder<ResolverEndpoint.Builder,ResolverEndpoint>

In the response to a CreateResolverEndpoint, DeleteResolverEndpoint, GetResolverEndpoint, Updates the name, or ResolverEndpointType for an endpoint, or UpdateResolverEndpoint request, a complex type that contains settings for an existing inbound or outbound Resolver endpoint.

See Also:
  • Method Details

    • id

      public final String id()

      The ID of the Resolver endpoint.

      Returns:
      The ID of the Resolver endpoint.
    • creatorRequestId

      public final String creatorRequestId()

      A unique string that identifies the request that created the Resolver endpoint. The CreatorRequestId allows failed requests to be retried without the risk of running the operation twice.

      Returns:
      A unique string that identifies the request that created the Resolver endpoint. The CreatorRequestId allows failed requests to be retried without the risk of running the operation twice.
    • arn

      public final String arn()

      The ARN (Amazon Resource Name) for the Resolver endpoint.

      Returns:
      The ARN (Amazon Resource Name) for the Resolver endpoint.
    • name

      public final String name()

      The name that you assigned to the Resolver endpoint when you submitted a CreateResolverEndpoint request.

      Returns:
      The name that you assigned to the Resolver endpoint when you submitted a CreateResolverEndpoint request.
    • hasSecurityGroupIds

      public final boolean hasSecurityGroupIds()
      For responses, this returns true if the service returned a value for the SecurityGroupIds property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • securityGroupIds

      public final List<String> securityGroupIds()

      The ID of one or more security groups that control access to this VPC. The security group must include one or more inbound rules (for inbound endpoints) or outbound rules (for outbound endpoints). Inbound and outbound rules must allow TCP and UDP access. For inbound access, open port 53. For outbound access, open the port that you're using for DNS queries on your network.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasSecurityGroupIds() method.

      Returns:
      The ID of one or more security groups that control access to this VPC. The security group must include one or more inbound rules (for inbound endpoints) or outbound rules (for outbound endpoints). Inbound and outbound rules must allow TCP and UDP access. For inbound access, open port 53. For outbound access, open the port that you're using for DNS queries on your network.
    • direction

      public final ResolverEndpointDirection direction()

      Indicates whether the Resolver endpoint allows inbound or outbound DNS queries:

      • INBOUND: allows DNS queries to your VPC from your network

      • OUTBOUND: allows DNS queries from your VPC to your network

      If the service returns an enum value that is not available in the current SDK version, direction will return ResolverEndpointDirection.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from directionAsString().

      Returns:
      Indicates whether the Resolver endpoint allows inbound or outbound DNS queries:

      • INBOUND: allows DNS queries to your VPC from your network

      • OUTBOUND: allows DNS queries from your VPC to your network

      See Also:
    • directionAsString

      public final String directionAsString()

      Indicates whether the Resolver endpoint allows inbound or outbound DNS queries:

      • INBOUND: allows DNS queries to your VPC from your network

      • OUTBOUND: allows DNS queries from your VPC to your network

      If the service returns an enum value that is not available in the current SDK version, direction will return ResolverEndpointDirection.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from directionAsString().

      Returns:
      Indicates whether the Resolver endpoint allows inbound or outbound DNS queries:

      • INBOUND: allows DNS queries to your VPC from your network

      • OUTBOUND: allows DNS queries from your VPC to your network

      See Also:
    • ipAddressCount

      public final Integer ipAddressCount()

      The number of IP addresses that the Resolver endpoint can use for DNS queries.

      Returns:
      The number of IP addresses that the Resolver endpoint can use for DNS queries.
    • hostVPCId

      public final String hostVPCId()

      The ID of the VPC that you want to create the Resolver endpoint in.

      Returns:
      The ID of the VPC that you want to create the Resolver endpoint in.
    • status

      public final ResolverEndpointStatus status()

      A code that specifies the current status of the Resolver endpoint. Valid values include the following:

      • CREATING: Resolver is creating and configuring one or more Amazon VPC network interfaces for this endpoint.

      • OPERATIONAL: The Amazon VPC network interfaces for this endpoint are correctly configured and able to pass inbound or outbound DNS queries between your network and Resolver.

      • UPDATING: Resolver is associating or disassociating one or more network interfaces with this endpoint.

      • AUTO_RECOVERING: Resolver is trying to recover one or more of the network interfaces that are associated with this endpoint. During the recovery process, the endpoint functions with limited capacity because of the limit on the number of DNS queries per IP address (per network interface). For the current limit, see Limits on Route 53 Resolver.

      • ACTION_NEEDED: This endpoint is unhealthy, and Resolver can't automatically recover it. To resolve the problem, we recommend that you check each IP address that you associated with the endpoint. For each IP address that isn't available, add another IP address and then delete the IP address that isn't available. (An endpoint must always include at least two IP addresses.) A status of ACTION_NEEDED can have a variety of causes. Here are two common causes:

        • One or more of the network interfaces that are associated with the endpoint were deleted using Amazon VPC.

        • The network interface couldn't be created for some reason that's outside the control of Resolver.

      • DELETING: Resolver is deleting this endpoint and the associated network interfaces.

      If the service returns an enum value that is not available in the current SDK version, status will return ResolverEndpointStatus.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from statusAsString().

      Returns:
      A code that specifies the current status of the Resolver endpoint. Valid values include the following:

      • CREATING: Resolver is creating and configuring one or more Amazon VPC network interfaces for this endpoint.

      • OPERATIONAL: The Amazon VPC network interfaces for this endpoint are correctly configured and able to pass inbound or outbound DNS queries between your network and Resolver.

      • UPDATING: Resolver is associating or disassociating one or more network interfaces with this endpoint.

      • AUTO_RECOVERING: Resolver is trying to recover one or more of the network interfaces that are associated with this endpoint. During the recovery process, the endpoint functions with limited capacity because of the limit on the number of DNS queries per IP address (per network interface). For the current limit, see Limits on Route 53 Resolver.

      • ACTION_NEEDED: This endpoint is unhealthy, and Resolver can't automatically recover it. To resolve the problem, we recommend that you check each IP address that you associated with the endpoint. For each IP address that isn't available, add another IP address and then delete the IP address that isn't available. (An endpoint must always include at least two IP addresses.) A status of ACTION_NEEDED can have a variety of causes. Here are two common causes:

        • One or more of the network interfaces that are associated with the endpoint were deleted using Amazon VPC.

        • The network interface couldn't be created for some reason that's outside the control of Resolver.

      • DELETING: Resolver is deleting this endpoint and the associated network interfaces.

      See Also:
    • statusAsString

      public final String statusAsString()

      A code that specifies the current status of the Resolver endpoint. Valid values include the following:

      • CREATING: Resolver is creating and configuring one or more Amazon VPC network interfaces for this endpoint.

      • OPERATIONAL: The Amazon VPC network interfaces for this endpoint are correctly configured and able to pass inbound or outbound DNS queries between your network and Resolver.

      • UPDATING: Resolver is associating or disassociating one or more network interfaces with this endpoint.

      • AUTO_RECOVERING: Resolver is trying to recover one or more of the network interfaces that are associated with this endpoint. During the recovery process, the endpoint functions with limited capacity because of the limit on the number of DNS queries per IP address (per network interface). For the current limit, see Limits on Route 53 Resolver.

      • ACTION_NEEDED: This endpoint is unhealthy, and Resolver can't automatically recover it. To resolve the problem, we recommend that you check each IP address that you associated with the endpoint. For each IP address that isn't available, add another IP address and then delete the IP address that isn't available. (An endpoint must always include at least two IP addresses.) A status of ACTION_NEEDED can have a variety of causes. Here are two common causes:

        • One or more of the network interfaces that are associated with the endpoint were deleted using Amazon VPC.

        • The network interface couldn't be created for some reason that's outside the control of Resolver.

      • DELETING: Resolver is deleting this endpoint and the associated network interfaces.

      If the service returns an enum value that is not available in the current SDK version, status will return ResolverEndpointStatus.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from statusAsString().

      Returns:
      A code that specifies the current status of the Resolver endpoint. Valid values include the following:

      • CREATING: Resolver is creating and configuring one or more Amazon VPC network interfaces for this endpoint.

      • OPERATIONAL: The Amazon VPC network interfaces for this endpoint are correctly configured and able to pass inbound or outbound DNS queries between your network and Resolver.

      • UPDATING: Resolver is associating or disassociating one or more network interfaces with this endpoint.

      • AUTO_RECOVERING: Resolver is trying to recover one or more of the network interfaces that are associated with this endpoint. During the recovery process, the endpoint functions with limited capacity because of the limit on the number of DNS queries per IP address (per network interface). For the current limit, see Limits on Route 53 Resolver.

      • ACTION_NEEDED: This endpoint is unhealthy, and Resolver can't automatically recover it. To resolve the problem, we recommend that you check each IP address that you associated with the endpoint. For each IP address that isn't available, add another IP address and then delete the IP address that isn't available. (An endpoint must always include at least two IP addresses.) A status of ACTION_NEEDED can have a variety of causes. Here are two common causes:

        • One or more of the network interfaces that are associated with the endpoint were deleted using Amazon VPC.

        • The network interface couldn't be created for some reason that's outside the control of Resolver.

      • DELETING: Resolver is deleting this endpoint and the associated network interfaces.

      See Also:
    • statusMessage

      public final String statusMessage()

      A detailed description of the status of the Resolver endpoint.

      Returns:
      A detailed description of the status of the Resolver endpoint.
    • creationTime

      public final String creationTime()

      The date and time that the endpoint was created, in Unix time format and Coordinated Universal Time (UTC).

      Returns:
      The date and time that the endpoint was created, in Unix time format and Coordinated Universal Time (UTC).
    • modificationTime

      public final String modificationTime()

      The date and time that the endpoint was last modified, in Unix time format and Coordinated Universal Time (UTC).

      Returns:
      The date and time that the endpoint was last modified, in Unix time format and Coordinated Universal Time (UTC).
    • outpostArn

      public final String outpostArn()

      The ARN (Amazon Resource Name) for the Outpost.

      Returns:
      The ARN (Amazon Resource Name) for the Outpost.
    • preferredInstanceType

      public final String preferredInstanceType()

      The Amazon EC2 instance type.

      Returns:
      The Amazon EC2 instance type.
    • resolverEndpointType

      public final ResolverEndpointType resolverEndpointType()

      The Resolver endpoint IP address type.

      If the service returns an enum value that is not available in the current SDK version, resolverEndpointType will return ResolverEndpointType.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from resolverEndpointTypeAsString().

      Returns:
      The Resolver endpoint IP address type.
      See Also:
    • resolverEndpointTypeAsString

      public final String resolverEndpointTypeAsString()

      The Resolver endpoint IP address type.

      If the service returns an enum value that is not available in the current SDK version, resolverEndpointType will return ResolverEndpointType.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from resolverEndpointTypeAsString().

      Returns:
      The Resolver endpoint IP address type.
      See Also:
    • protocols

      public final List<Protocol> protocols()

      Protocols used for the endpoint. DoH-FIPS is applicable for inbound endpoints only.

      For an 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 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.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasProtocols() method.

      Returns:
      Protocols used for the endpoint. DoH-FIPS is applicable for inbound endpoints only.

      For an 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 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.

    • hasProtocols

      public final boolean hasProtocols()
      For responses, this returns true if the service returned a value for the Protocols property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • protocolsAsStrings

      public final List<String> protocolsAsStrings()

      Protocols used for the endpoint. DoH-FIPS is applicable for inbound endpoints only.

      For an 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 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.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasProtocols() method.

      Returns:
      Protocols used for the endpoint. DoH-FIPS is applicable for inbound endpoints only.

      For an 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 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.

    • toBuilder

      public ResolverEndpoint.Builder toBuilder()
      Description copied from interface: ToCopyableBuilder
      Take this object and create a builder that contains all of the current property values of this object.
      Specified by:
      toBuilder in interface ToCopyableBuilder<ResolverEndpoint.Builder,ResolverEndpoint>
      Returns:
      a builder for type T
    • builder

      public static ResolverEndpoint.Builder builder()
    • serializableBuilderClass

      public static Class<? extends ResolverEndpoint.Builder> serializableBuilderClass()
    • hashCode

      public final int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public final boolean equals(Object obj)
      Overrides:
      equals in class Object
    • equalsBySdkFields

      public final boolean equalsBySdkFields(Object obj)
      Description copied from interface: SdkPojo
      Indicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in an SdkPojo class, and is generated based on a service model.

      If an SdkPojo class does not have any inherited fields, equalsBySdkFields and equals are essentially the same.

      Specified by:
      equalsBySdkFields in interface SdkPojo
      Parameters:
      obj - the object to be compared with
      Returns:
      true if the other object equals to this object by sdk fields, false otherwise.
    • toString

      public final String toString()
      Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be redacted from this string using a placeholder value.
      Overrides:
      toString in class Object
    • getValueForField

      public final <T> Optional<T> getValueForField(String fieldName, Class<T> clazz)
    • sdkFields

      public final List<SdkField<?>> sdkFields()
      Specified by:
      sdkFields in interface SdkPojo
      Returns:
      List of SdkField in this POJO. May be empty list but should never be null.