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

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

For queries that originate in your VPC, detailed information about a Resolver rule, which specifies how to route DNS queries out of the VPC. The ResolverRule parameter appears in the response to a CreateResolverRule, DeleteResolverRule, GetResolverRule, ListResolverRules, or UpdateResolverRule request.

See Also:
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static interface 
     
  • Method Summary

    Modifier and Type
    Method
    Description
    final String
    arn()
    The ARN (Amazon Resource Name) for the Resolver rule specified by Id.
     
    final String
    The date and time that the Resolver rule was created, in Unix time format and Coordinated Universal Time (UTC).
    final String
    A unique string that you specified when you created the Resolver rule.
    final String
    DNS queries for this domain name are forwarded to the IP addresses that are specified in TargetIps.
    final boolean
     
    final boolean
    Indicates whether some other object is "equal to" this one by SDK fields.
    final <T> Optional<T>
    getValueForField(String fieldName, Class<T> clazz)
     
    final int
     
    final boolean
    For responses, this returns true if the service returned a value for the TargetIps property.
    final String
    id()
    The ID that Resolver assigned to the Resolver rule when you created it.
    final String
    The date and time that the Resolver rule was last updated, in Unix time format and Coordinated Universal Time (UTC).
    final String
    The name for the Resolver rule, which you specified when you created the Resolver rule.
    final String
    When a rule is shared with another Amazon Web Services account, the account ID of the account that the rule is shared with.
    final String
    The ID of the endpoint that the rule is associated with.
    When you want to forward DNS queries for specified domain name to resolvers on your network, specify FORWARD.
    final String
    When you want to forward DNS queries for specified domain name to resolvers on your network, specify FORWARD.
    final List<SdkField<?>>
     
    static Class<? extends ResolverRule.Builder>
     
    Whether the rule is shared and, if so, whether the current account is sharing the rule with another account, or another account is sharing the rule with the current account.
    final String
    Whether the rule is shared and, if so, whether the current account is sharing the rule with another account, or another account is sharing the rule with the current account.
    A code that specifies the current status of the Resolver rule.
    final String
    A code that specifies the current status of the Resolver rule.
    final String
    A detailed description of the status of a Resolver rule.
    An array that contains the IP addresses and ports that an outbound endpoint forwards DNS queries to.
    Take this object and create a builder that contains all of the current property values of this object.
    final String
    Returns a string representation of this object.

    Methods inherited from class java.lang.Object

    getClass, notify, notifyAll, wait, wait, wait

    Methods inherited from interface software.amazon.awssdk.utils.builder.ToCopyableBuilder

    copy
  • Method Details

    • id

      public final String id()

      The ID that Resolver assigned to the Resolver rule when you created it.

      Returns:
      The ID that Resolver assigned to the Resolver rule when you created it.
    • creatorRequestId

      public final String creatorRequestId()

      A unique string that you specified when you created the Resolver rule. CreatorRequestId identifies the request and allows failed requests to be retried without the risk of running the operation twice.

      Returns:
      A unique string that you specified when you created the Resolver rule. CreatorRequestId identifies the request and 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 rule specified by Id.

      Returns:
      The ARN (Amazon Resource Name) for the Resolver rule specified by Id.
    • domainName

      public final String domainName()

      DNS queries for this domain name are forwarded to the IP addresses that are specified in TargetIps. If a query matches multiple Resolver rules (example.com and www.example.com), the query is routed using the Resolver rule that contains the most specific domain name (www.example.com).

      Returns:
      DNS queries for this domain name are forwarded to the IP addresses that are specified in TargetIps. If a query matches multiple Resolver rules (example.com and www.example.com), the query is routed using the Resolver rule that contains the most specific domain name (www.example.com).
    • status

      public final ResolverRuleStatus status()

      A code that specifies the current status of the Resolver rule.

      If the service returns an enum value that is not available in the current SDK version, status will return ResolverRuleStatus.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 rule.
      See Also:
    • statusAsString

      public final String statusAsString()

      A code that specifies the current status of the Resolver rule.

      If the service returns an enum value that is not available in the current SDK version, status will return ResolverRuleStatus.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 rule.
      See Also:
    • statusMessage

      public final String statusMessage()

      A detailed description of the status of a Resolver rule.

      Returns:
      A detailed description of the status of a Resolver rule.
    • ruleType

      public final RuleTypeOption ruleType()

      When you want to forward DNS queries for specified domain name to resolvers on your network, specify FORWARD.

      When you have a forwarding rule to forward DNS queries for a domain to your network and you want Resolver to process queries for a subdomain of that domain, specify SYSTEM.

      For example, to forward DNS queries for example.com to resolvers on your network, you create a rule and specify FORWARD for RuleType. To then have Resolver process queries for apex.example.com, you create a rule and specify SYSTEM for RuleType.

      Currently, only Resolver can create rules that have a value of RECURSIVE for RuleType.

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

      Returns:
      When you want to forward DNS queries for specified domain name to resolvers on your network, specify FORWARD.

      When you have a forwarding rule to forward DNS queries for a domain to your network and you want Resolver to process queries for a subdomain of that domain, specify SYSTEM.

      For example, to forward DNS queries for example.com to resolvers on your network, you create a rule and specify FORWARD for RuleType. To then have Resolver process queries for apex.example.com, you create a rule and specify SYSTEM for RuleType.

      Currently, only Resolver can create rules that have a value of RECURSIVE for RuleType.

      See Also:
    • ruleTypeAsString

      public final String ruleTypeAsString()

      When you want to forward DNS queries for specified domain name to resolvers on your network, specify FORWARD.

      When you have a forwarding rule to forward DNS queries for a domain to your network and you want Resolver to process queries for a subdomain of that domain, specify SYSTEM.

      For example, to forward DNS queries for example.com to resolvers on your network, you create a rule and specify FORWARD for RuleType. To then have Resolver process queries for apex.example.com, you create a rule and specify SYSTEM for RuleType.

      Currently, only Resolver can create rules that have a value of RECURSIVE for RuleType.

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

      Returns:
      When you want to forward DNS queries for specified domain name to resolvers on your network, specify FORWARD.

      When you have a forwarding rule to forward DNS queries for a domain to your network and you want Resolver to process queries for a subdomain of that domain, specify SYSTEM.

      For example, to forward DNS queries for example.com to resolvers on your network, you create a rule and specify FORWARD for RuleType. To then have Resolver process queries for apex.example.com, you create a rule and specify SYSTEM for RuleType.

      Currently, only Resolver can create rules that have a value of RECURSIVE for RuleType.

      See Also:
    • name

      public final String name()

      The name for the Resolver rule, which you specified when you created the Resolver rule.

      Returns:
      The name for the Resolver rule, which you specified when you created the Resolver rule.
    • hasTargetIps

      public final boolean hasTargetIps()
      For responses, this returns true if the service returned a value for the TargetIps 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.
    • targetIps

      public final List<TargetAddress> targetIps()

      An array that contains the IP addresses and ports that an outbound endpoint forwards DNS queries to. Typically, these are the IP addresses of DNS resolvers 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 hasTargetIps() method.

      Returns:
      An array that contains the IP addresses and ports that an outbound endpoint forwards DNS queries to. Typically, these are the IP addresses of DNS resolvers on your network.
    • resolverEndpointId

      public final String resolverEndpointId()

      The ID of the endpoint that the rule is associated with.

      Returns:
      The ID of the endpoint that the rule is associated with.
    • ownerId

      public final String ownerId()

      When a rule is shared with another Amazon Web Services account, the account ID of the account that the rule is shared with.

      Returns:
      When a rule is shared with another Amazon Web Services account, the account ID of the account that the rule is shared with.
    • shareStatus

      public final ShareStatus shareStatus()

      Whether the rule is shared and, if so, whether the current account is sharing the rule with another account, or another account is sharing the rule with the current account.

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

      Returns:
      Whether the rule is shared and, if so, whether the current account is sharing the rule with another account, or another account is sharing the rule with the current account.
      See Also:
    • shareStatusAsString

      public final String shareStatusAsString()

      Whether the rule is shared and, if so, whether the current account is sharing the rule with another account, or another account is sharing the rule with the current account.

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

      Returns:
      Whether the rule is shared and, if so, whether the current account is sharing the rule with another account, or another account is sharing the rule with the current account.
      See Also:
    • creationTime

      public final String creationTime()

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

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

      public final String modificationTime()

      The date and time that the Resolver rule was last updated, in Unix time format and Coordinated Universal Time (UTC).

      Returns:
      The date and time that the Resolver rule was last updated, in Unix time format and Coordinated Universal Time (UTC).
    • toBuilder

      public ResolverRule.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<ResolverRule.Builder,ResolverRule>
      Returns:
      a builder for type T
    • builder

      public static ResolverRule.Builder builder()
    • serializableBuilderClass

      public static Class<? extends ResolverRule.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.