All Downloads are FREE. Search and download functionalities are using the official Maven repository.

software.amazon.awssdk.policybuilder.iam.IamConditionOperator Maven / Gradle / Ivy

/*
 * Copyright 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 software.amazon.awssdk.policybuilder.iam;

import software.amazon.awssdk.annotations.SdkPublicApi;
import software.amazon.awssdk.annotations.ThreadSafe;
import software.amazon.awssdk.policybuilder.iam.internal.DefaultIamConditionOperator;

/**
 * The {@code IamConditionOperator} specifies the operator that should be applied to compare the {@link IamConditionKey} to an
 * expected value in an {@link IamCondition}.
 *
 * @see IamCondition
 * @see Condition
 * user guide
 */
@SdkPublicApi
@ThreadSafe
public interface IamConditionOperator extends IamValue {
    /**
     * A string comparison of the {@link IamCondition#key()} and {@link IamCondition#value()}.
     *
     * @see
     * 
     * String conditions
     */
    IamConditionOperator STRING_EQUALS = create("StringEquals");

    /**
     * A negated string comparison of the {@link IamCondition#key()} and {@link IamCondition#value()}.
     *
     * @see
     * 
     * String conditions
     */
    IamConditionOperator STRING_NOT_EQUALS = create("StringNotEquals");

    /**
     * A string comparison, ignoring casing, of the {@link IamCondition#key()} and {@link IamCondition#value()}.
     *
     * @see
     * 
     * String conditions
     */
    IamConditionOperator STRING_EQUALS_IGNORE_CASE = create("StringEqualsIgnoreCase");

    /**
     * A negated string comparison, ignoring casing, of the {@link IamCondition#key()} and {@link IamCondition#value()}.
     *
     * @see
     * 
     * String conditions
     */
    IamConditionOperator STRING_NOT_EQUALS_IGNORE_CASE = create("StringNotEqualsIgnoreCase");

    /**
     * A case-sensitive pattern match between the {@link IamCondition#key()} and {@link IamCondition#value()}.
     *
     * @see
     * 
     * String conditions
     */
    IamConditionOperator STRING_LIKE = create("StringLike");

    /**
     * A negated case-sensitive pattern match between the {@link IamCondition#key()} and {@link IamCondition#value()}.
     *
     * @see
     * 
     * String conditions
     */
    IamConditionOperator STRING_NOT_LIKE = create("StringNotLike");

    /**
     * A numeric comparison of the {@link IamCondition#key()} and {@link IamCondition#value()}.
     *
     * @see
     * 
     * Numeric conditions
     */
    IamConditionOperator NUMERIC_EQUALS = create("NumericEquals");

    /**
     * A negated numeric comparison of the {@link IamCondition#key()} and {@link IamCondition#value()}.
     *
     * @see
     * 
     * Numeric conditions
     */
    IamConditionOperator NUMERIC_NOT_EQUALS = create("NumericNotEquals");

    /**
     * A numeric comparison of whether the {@link IamCondition#key()} is "less than" the {@link IamCondition#value()}.
     *
     * @see
     * 
     * Numeric conditions
     */
    IamConditionOperator NUMERIC_LESS_THAN = create("NumericLessThan");

    /**
     * A numeric comparison of whether the {@link IamCondition#key()} is "less than or equal to" the {@link IamCondition#value()}.
     *
     * @see
     * 
     * Numeric conditions
     */
    IamConditionOperator NUMERIC_LESS_THAN_EQUALS = create("NumericLessThanEquals");

    /**
     * A numeric comparison of whether the {@link IamCondition#key()} is "greater than" the {@link IamCondition#value()}.
     *
     * @see
     * 
     * Numeric conditions
     */
    IamConditionOperator NUMERIC_GREATER_THAN = create("NumericGreaterThan");

    /**
     * A numeric comparison of whether the {@link IamCondition#key()} is "greater than or equal to" the
     * {@link IamCondition#value()}.
     *
     * @see
     * 
     * Numeric conditions
     */
    IamConditionOperator NUMERIC_GREATER_THAN_EQUALS = create("NumericGreaterThanEquals");

    /**
     * A date comparison of the {@link IamCondition#key()} and {@link IamCondition#value()}.
     *
     * @see
     * 
     * Date conditions
     */
    IamConditionOperator DATE_EQUALS = create("DateEquals");

    /**
     * A negated date comparison of the {@link IamCondition#key()} and {@link IamCondition#value()}.
     *
     * @see
     * 
     * Date conditions
     */
    IamConditionOperator DATE_NOT_EQUALS = create("DateNotEquals");

    /**
     * A date comparison of whether the {@link IamCondition#key()} "is earlier than" the {@link IamCondition#value()}.
     *
     * @see
     * 
     * Date conditions
     */
    IamConditionOperator DATE_LESS_THAN = create("DateLessThan");

    /**
     * A date comparison of whether the {@link IamCondition#key()} "is earlier than or the same date as" the
     * {@link IamCondition#value()}.
     *
     * @see
     * 
     * Date conditions
     */
    IamConditionOperator DATE_LESS_THAN_EQUALS = create("DateLessThanEquals");

    /**
     * A date comparison of whether the {@link IamCondition#key()} "is later than" the {@link IamCondition#value()}.
     *
     * @see
     * 
     * Date conditions
     */
    IamConditionOperator DATE_GREATER_THAN = create("DateGreaterThan");

    /**
     * A date comparison of whether the {@link IamCondition#key()} "is later than or the same date as" the
     * {@link IamCondition#value()}.
     *
     * @see
     * 
     * Date conditions
     */
    IamConditionOperator DATE_GREATER_THAN_EQUALS = create("DateGreaterThanEquals");

    /**
     * A boolean comparison of the {@link IamCondition#key()} and the {@link IamCondition#value()}.
     *
     * @see
     * 
     * Boolean conditions
     */
    IamConditionOperator BOOL = create("Bool");

    /**
     * A binary comparison of the {@link IamCondition#key()} and the {@link IamCondition#value()}.
     *
     * @see
     * 
     * Binary conditions
     */
    IamConditionOperator BINARY_EQUALS = create("BinaryEquals");

    /**
     * An IP address comparison of the {@link IamCondition#key()} and the {@link IamCondition#value()}.
     *
     * @see
     * 
     * IP Address conditions
     */
    IamConditionOperator IP_ADDRESS = create("IpAddress");

    /**
     * A negated IP address comparison of the {@link IamCondition#key()} and the {@link IamCondition#value()}.
     *
     * @see
     * 
     * IP Address conditions
     */
    IamConditionOperator NOT_IP_ADDRESS = create("NotIpAddress");

    /**
     * An Amazon Resource Name (ARN) comparison of the {@link IamCondition#key()} and the {@link IamCondition#value()}.
     *
     * @see
     * 
     * ARN conditions
     */
    IamConditionOperator ARN_EQUALS = create("ArnEquals");

    /**
     * A negated Amazon Resource Name (ARN) comparison of the {@link IamCondition#key()} and the {@link IamCondition#value()}.
     *
     * @see
     * 
     * ARN conditions
     */
    IamConditionOperator ARN_NOT_EQUALS = create("ArnNotEquals");

    /**
     * A pattern match of the Amazon Resource Names (ARNs) in the {@link IamCondition#key()} and the {@link IamCondition#value()}.
     *
     * @see
     * 
     * ARN conditions
     */
    IamConditionOperator ARN_LIKE = create("ArnLike");

    /**
     * A negated pattern match of the Amazon Resource Names (ARNs) in the {@link IamCondition#key()} and the
     * {@link IamCondition#value()}.
     *
     * @see
     * 
     * ARN conditions
     */
    IamConditionOperator ARN_NOT_LIKE = create("ArnNotLike");

    /**
     * A check to determine whether the {@link IamCondition#key()} is present (use "false" in the {@link IamCondition#value()})
     * or not present (use "true" in the {@link IamCondition#value()}).
     *
     * @see
     * 
     * ARN conditions
     */
    IamConditionOperator NULL = create("Null");

    /**
     * Create a new {@link IamConditionOperator} with the provided string added as a prefix.
     * 

* This is useful when adding * the * "ForAllValues:" or "ForAnyValues:" prefixes to an operator. */ IamConditionOperator addPrefix(String prefix); /** * Create a new {@link IamConditionOperator} with the provided string added as a suffix. *

* This is useful when adding * * the "IfExists" suffix to an operator. */ IamConditionOperator addSuffix(String suffix); /** * Create a new {@code IamConditionOperator} element with the provided {@link #value()}. */ static IamConditionOperator create(String value) { return new DefaultIamConditionOperator(value); } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy