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

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

For Resolver list operations (ListResolverEndpoints, ListResolverRules, ListResolverRuleAssociations, ListResolverQueryLogConfigs, ListResolverQueryLogConfigAssociations), and ListResolverDnssecConfigs), an optional specification to return a subset of objects.

To filter objects, such as Resolver endpoints or Resolver rules, you specify Name and Values. For example, to list only inbound Resolver endpoints, specify Direction for Name and specify INBOUND for Values.

See Also:
  • Method Details

    • name

      public final String name()

      The name of the parameter that you want to use to filter objects.

      The valid values for Name depend on the action that you're including the filter in, ListResolverEndpoints, ListResolverRules, ListResolverRuleAssociations, ListResolverQueryLogConfigs, or ListResolverQueryLogConfigAssociations.

      In early versions of Resolver, values for Name were listed as uppercase, with underscore (_) delimiters. For example, CreatorRequestId was originally listed as CREATOR_REQUEST_ID. Uppercase values for Name are still supported.

      ListResolverEndpoints

      Valid values for Name include the following:

      • CreatorRequestId: The value that you specified when you created the Resolver endpoint.

      • Direction: Whether you want to return inbound or outbound Resolver endpoints. If you specify DIRECTION for Name, specify INBOUND or OUTBOUND for Values.

      • HostVPCId: The ID of the VPC that inbound DNS queries pass through on the way from your network to your VPCs in a region, or the VPC that outbound queries pass through on the way from your VPCs to your network. In a CreateResolverEndpoint request, SubnetId indirectly identifies the VPC. In a GetResolverEndpoint request, the VPC ID for a Resolver endpoint is returned in the HostVPCId element.

      • IpAddressCount: The number of IP addresses that you have associated with the Resolver endpoint.

      • Name: The name of the Resolver endpoint.

      • SecurityGroupIds: The IDs of the VPC security groups that you specified when you created the Resolver endpoint.

      • Status: The status of the Resolver endpoint. If you specify Status for Name, specify one of the following status codes for Values: CREATING, OPERATIONAL, UPDATING, AUTO_RECOVERING, ACTION_NEEDED, or DELETING. For more information, see Status in ResolverEndpoint.

      ListResolverRules

      Valid values for Name include the following:

      • CreatorRequestId: The value that you specified when you created the Resolver rule.

      • DomainName: The domain name for which Resolver is forwarding DNS queries to your network. In the value that you specify for Values, include a trailing dot (.) after the domain name. For example, if the domain name is example.com, specify the following value. Note the "." after com:

        example.com.

      • Name: The name of the Resolver rule.

      • ResolverEndpointId: The ID of the Resolver endpoint that the Resolver rule is associated with.

        You can filter on the Resolver endpoint only for rules that have a value of FORWARD for RuleType.

      • Status: The status of the Resolver rule. If you specify Status for Name, specify one of the following status codes for Values: COMPLETE, DELETING, UPDATING, or FAILED.

      • Type: The type of the Resolver rule. If you specify TYPE for Name, specify FORWARD or SYSTEM for Values.

      ListResolverRuleAssociations

      Valid values for Name include the following:

      • Name: The name of the Resolver rule association.

      • ResolverRuleId: The ID of the Resolver rule that is associated with one or more VPCs.

      • Status: The status of the Resolver rule association. If you specify Status for Name, specify one of the following status codes for Values: CREATING, COMPLETE, DELETING, or FAILED.

      • VPCId: The ID of the VPC that the Resolver rule is associated with.

      ListResolverQueryLogConfigs

      Valid values for Name include the following:

      • Arn: The ARN for the query logging configuration.

      • AssociationCount: The number of VPCs that are associated with the query logging configuration.

      • CreationTime: The date and time that the query logging configuration was created, in Unix time format and Coordinated Universal Time (UTC).

      • CreatorRequestId: A unique string that identifies the request that created the query logging configuration.

      • Destination: The Amazon Web Services service that you want to forward query logs to. Valid values include the following:

        • S3

        • CloudWatchLogs

        • KinesisFirehose

      • DestinationArn: The ARN of the location that Resolver is sending query logs to. This value can be the ARN for an S3 bucket, a CloudWatch Logs log group, or a Kinesis Data Firehose delivery stream.

      • Id: The ID of the query logging configuration

      • Name: The name of the query logging configuration

      • OwnerId: The Amazon Web Services account ID for the account that created the query logging configuration.

      • ShareStatus: An indication of whether the query logging configuration is shared with other Amazon Web Services accounts, or was shared with the current account by another Amazon Web Services account. Valid values include: NOT_SHARED, SHARED_WITH_ME, or SHARED_BY_ME.

      • Status: The status of the query logging configuration. If you specify Status for Name, specify the applicable status code for Values: CREATING, CREATED, DELETING, or FAILED. For more information, see Status.

      ListResolverQueryLogConfigAssociations

      Valid values for Name include the following:

      • CreationTime: The date and time that the VPC was associated with the query logging configuration, in Unix time format and Coordinated Universal Time (UTC).

      • Error: If the value of Status is FAILED, specify the cause: DESTINATION_NOT_FOUND or ACCESS_DENIED.

      • Id: The ID of the query logging association.

      • ResolverQueryLogConfigId: The ID of the query logging configuration that a VPC is associated with.

      • ResourceId: The ID of the Amazon VPC that is associated with the query logging configuration.

      • Status: The status of the query logging association. If you specify Status for Name, specify the applicable status code for Values: CREATING, CREATED, DELETING, or FAILED. For more information, see Status.

      Returns:
      The name of the parameter that you want to use to filter objects.

      The valid values for Name depend on the action that you're including the filter in, ListResolverEndpoints, ListResolverRules, ListResolverRuleAssociations, ListResolverQueryLogConfigs, or ListResolverQueryLogConfigAssociations.

      In early versions of Resolver, values for Name were listed as uppercase, with underscore (_) delimiters. For example, CreatorRequestId was originally listed as CREATOR_REQUEST_ID. Uppercase values for Name are still supported.

      ListResolverEndpoints

      Valid values for Name include the following:

      • CreatorRequestId: The value that you specified when you created the Resolver endpoint.

      • Direction: Whether you want to return inbound or outbound Resolver endpoints. If you specify DIRECTION for Name, specify INBOUND or OUTBOUND for Values.

      • HostVPCId: The ID of the VPC that inbound DNS queries pass through on the way from your network to your VPCs in a region, or the VPC that outbound queries pass through on the way from your VPCs to your network. In a CreateResolverEndpoint request, SubnetId indirectly identifies the VPC. In a GetResolverEndpoint request, the VPC ID for a Resolver endpoint is returned in the HostVPCId element.

      • IpAddressCount: The number of IP addresses that you have associated with the Resolver endpoint.

      • Name: The name of the Resolver endpoint.

      • SecurityGroupIds: The IDs of the VPC security groups that you specified when you created the Resolver endpoint.

      • Status: The status of the Resolver endpoint. If you specify Status for Name, specify one of the following status codes for Values: CREATING, OPERATIONAL, UPDATING, AUTO_RECOVERING, ACTION_NEEDED, or DELETING. For more information, see Status in ResolverEndpoint.

      ListResolverRules

      Valid values for Name include the following:

      • CreatorRequestId: The value that you specified when you created the Resolver rule.

      • DomainName: The domain name for which Resolver is forwarding DNS queries to your network. In the value that you specify for Values, include a trailing dot (.) after the domain name. For example, if the domain name is example.com, specify the following value. Note the "." after com:

        example.com.

      • Name: The name of the Resolver rule.

      • ResolverEndpointId: The ID of the Resolver endpoint that the Resolver rule is associated with.

        You can filter on the Resolver endpoint only for rules that have a value of FORWARD for RuleType.

      • Status: The status of the Resolver rule. If you specify Status for Name, specify one of the following status codes for Values: COMPLETE, DELETING, UPDATING, or FAILED.

      • Type: The type of the Resolver rule. If you specify TYPE for Name, specify FORWARD or SYSTEM for Values.

      ListResolverRuleAssociations

      Valid values for Name include the following:

      • Name: The name of the Resolver rule association.

      • ResolverRuleId: The ID of the Resolver rule that is associated with one or more VPCs.

      • Status: The status of the Resolver rule association. If you specify Status for Name, specify one of the following status codes for Values: CREATING, COMPLETE, DELETING, or FAILED.

      • VPCId: The ID of the VPC that the Resolver rule is associated with.

      ListResolverQueryLogConfigs

      Valid values for Name include the following:

      • Arn: The ARN for the query logging configuration.

      • AssociationCount: The number of VPCs that are associated with the query logging configuration.

      • CreationTime: The date and time that the query logging configuration was created, in Unix time format and Coordinated Universal Time (UTC).

      • CreatorRequestId: A unique string that identifies the request that created the query logging configuration.

      • Destination: The Amazon Web Services service that you want to forward query logs to. Valid values include the following:

        • S3

        • CloudWatchLogs

        • KinesisFirehose

      • DestinationArn: The ARN of the location that Resolver is sending query logs to. This value can be the ARN for an S3 bucket, a CloudWatch Logs log group, or a Kinesis Data Firehose delivery stream.

      • Id: The ID of the query logging configuration

      • Name: The name of the query logging configuration

      • OwnerId: The Amazon Web Services account ID for the account that created the query logging configuration.

      • ShareStatus: An indication of whether the query logging configuration is shared with other Amazon Web Services accounts, or was shared with the current account by another Amazon Web Services account. Valid values include: NOT_SHARED, SHARED_WITH_ME, or SHARED_BY_ME.

      • Status: The status of the query logging configuration. If you specify Status for Name, specify the applicable status code for Values: CREATING, CREATED, DELETING, or FAILED. For more information, see Status.

      ListResolverQueryLogConfigAssociations

      Valid values for Name include the following:

      • CreationTime: The date and time that the VPC was associated with the query logging configuration, in Unix time format and Coordinated Universal Time (UTC).

      • Error: If the value of Status is FAILED, specify the cause: DESTINATION_NOT_FOUND or ACCESS_DENIED.

      • Id: The ID of the query logging association.

      • ResolverQueryLogConfigId: The ID of the query logging configuration that a VPC is associated with.

      • ResourceId: The ID of the Amazon VPC that is associated with the query logging configuration.

      • Status: The status of the query logging association. If you specify Status for Name, specify the applicable status code for Values: CREATING, CREATED, DELETING, or FAILED. For more information, see Status.

    • hasValues

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

      public final List<String> values()

      When you're using a List operation and you want the operation to return a subset of objects, such as Resolver endpoints or Resolver rules, the value of the parameter that you want to use to filter objects. For example, to list only inbound Resolver endpoints, specify Direction for Name and specify INBOUND for Values.

      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 hasValues() method.

      Returns:
      When you're using a List operation and you want the operation to return a subset of objects, such as Resolver endpoints or Resolver rules, the value of the parameter that you want to use to filter objects. For example, to list only inbound Resolver endpoints, specify Direction for Name and specify INBOUND for Values.
    • toBuilder

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

      public static Filter.Builder builder()
    • serializableBuilderClass

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