/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.elasticloadbalancingv2.model; import java.io.Serializable; import javax.annotation.Generated; /** *

* Information about a condition for a rule. *

*

* Each rule can optionally include up to one of each of the following conditions: http-request-method, * host-header, path-pattern, and source-ip. Each rule can also optionally * include one or more of each of the following conditions: http-header and query-string. Note * that the value for a condition cannot be empty. *

* * @see AWS API Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class RuleCondition implements Serializable, Cloneable { /** *

* The field in the HTTP request. The following are the possible values: *

* */ private String field; /** *

* The condition value. Specify only when Field is host-header or * path-pattern. Alternatively, to specify multiple host names or multiple path patterns, use * HostHeaderConfig or PathPatternConfig. *

*

* If Field is host-header and you are not using HostHeaderConfig, you can * specify a single host name (for example, my.example.com) in Values. A host name is case insensitive, * can be up to 128 characters in length, and can contain any of the following characters. *

* *

* If Field is path-pattern and you are not using PathPatternConfig, you can * specify a single path pattern (for example, /img/*) in Values. A path pattern is case-sensitive, can * be up to 128 characters in length, and can contain any of the following characters. *

* */ private java.util.List values; /** *

* Information for a host header condition. Specify only when Field is host-header. *

*/ private HostHeaderConditionConfig hostHeaderConfig; /** *

* Information for a path pattern condition. Specify only when Field is path-pattern. *

*/ private PathPatternConditionConfig pathPatternConfig; /** *

* Information for an HTTP header condition. Specify only when Field is http-header. *

*/ private HttpHeaderConditionConfig httpHeaderConfig; /** *

* Information for a query string condition. Specify only when Field is query-string. *

*/ private QueryStringConditionConfig queryStringConfig; /** *

* Information for an HTTP method condition. Specify only when Field is * http-request-method. *

*/ private HttpRequestMethodConditionConfig httpRequestMethodConfig; /** *

* Information for a source IP condition. Specify only when Field is source-ip. *

*/ private SourceIpConditionConfig sourceIpConfig; /** *

* The field in the HTTP request. The following are the possible values: *

* * * @param field * The field in the HTTP request. The following are the possible values:

*