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

com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementConditionArgs Maven / Gradle / Ivy

// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

package com.pulumi.aws.iam.inputs;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.List;
import java.util.Objects;


public final class GetPolicyDocumentStatementConditionArgs extends com.pulumi.resources.ResourceArgs {

    public static final GetPolicyDocumentStatementConditionArgs Empty = new GetPolicyDocumentStatementConditionArgs();

    /**
     * Name of the [IAM condition operator](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html) to evaluate.
     * 
     */
    @Import(name="test", required=true)
    private Output test;

    /**
     * @return Name of the [IAM condition operator](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html) to evaluate.
     * 
     */
    public Output test() {
        return this.test;
    }

    /**
     * Values to evaluate the condition against. If multiple values are provided, the condition matches if at least one of them applies. That is, AWS evaluates multiple values as though using an "OR" boolean operation.
     * 
     */
    @Import(name="values", required=true)
    private Output> values;

    /**
     * @return Values to evaluate the condition against. If multiple values are provided, the condition matches if at least one of them applies. That is, AWS evaluates multiple values as though using an "OR" boolean operation.
     * 
     */
    public Output> values() {
        return this.values;
    }

    /**
     * Name of a [Context Variable](http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html#AvailableKeys) to apply the condition to. Context variables may either be standard AWS variables starting with `aws:` or service-specific variables prefixed with the service name.
     * 
     */
    @Import(name="variable", required=true)
    private Output variable;

    /**
     * @return Name of a [Context Variable](http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html#AvailableKeys) to apply the condition to. Context variables may either be standard AWS variables starting with `aws:` or service-specific variables prefixed with the service name.
     * 
     */
    public Output variable() {
        return this.variable;
    }

    private GetPolicyDocumentStatementConditionArgs() {}

    private GetPolicyDocumentStatementConditionArgs(GetPolicyDocumentStatementConditionArgs $) {
        this.test = $.test;
        this.values = $.values;
        this.variable = $.variable;
    }

    public static Builder builder() {
        return new Builder();
    }
    public static Builder builder(GetPolicyDocumentStatementConditionArgs defaults) {
        return new Builder(defaults);
    }

    public static final class Builder {
        private GetPolicyDocumentStatementConditionArgs $;

        public Builder() {
            $ = new GetPolicyDocumentStatementConditionArgs();
        }

        public Builder(GetPolicyDocumentStatementConditionArgs defaults) {
            $ = new GetPolicyDocumentStatementConditionArgs(Objects.requireNonNull(defaults));
        }

        /**
         * @param test Name of the [IAM condition operator](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html) to evaluate.
         * 
         * @return builder
         * 
         */
        public Builder test(Output test) {
            $.test = test;
            return this;
        }

        /**
         * @param test Name of the [IAM condition operator](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html) to evaluate.
         * 
         * @return builder
         * 
         */
        public Builder test(String test) {
            return test(Output.of(test));
        }

        /**
         * @param values Values to evaluate the condition against. If multiple values are provided, the condition matches if at least one of them applies. That is, AWS evaluates multiple values as though using an "OR" boolean operation.
         * 
         * @return builder
         * 
         */
        public Builder values(Output> values) {
            $.values = values;
            return this;
        }

        /**
         * @param values Values to evaluate the condition against. If multiple values are provided, the condition matches if at least one of them applies. That is, AWS evaluates multiple values as though using an "OR" boolean operation.
         * 
         * @return builder
         * 
         */
        public Builder values(List values) {
            return values(Output.of(values));
        }

        /**
         * @param values Values to evaluate the condition against. If multiple values are provided, the condition matches if at least one of them applies. That is, AWS evaluates multiple values as though using an "OR" boolean operation.
         * 
         * @return builder
         * 
         */
        public Builder values(String... values) {
            return values(List.of(values));
        }

        /**
         * @param variable Name of a [Context Variable](http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html#AvailableKeys) to apply the condition to. Context variables may either be standard AWS variables starting with `aws:` or service-specific variables prefixed with the service name.
         * 
         * @return builder
         * 
         */
        public Builder variable(Output variable) {
            $.variable = variable;
            return this;
        }

        /**
         * @param variable Name of a [Context Variable](http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html#AvailableKeys) to apply the condition to. Context variables may either be standard AWS variables starting with `aws:` or service-specific variables prefixed with the service name.
         * 
         * @return builder
         * 
         */
        public Builder variable(String variable) {
            return variable(Output.of(variable));
        }

        public GetPolicyDocumentStatementConditionArgs build() {
            if ($.test == null) {
                throw new MissingRequiredPropertyException("GetPolicyDocumentStatementConditionArgs", "test");
            }
            if ($.values == null) {
                throw new MissingRequiredPropertyException("GetPolicyDocumentStatementConditionArgs", "values");
            }
            if ($.variable == null) {
                throw new MissingRequiredPropertyException("GetPolicyDocumentStatementConditionArgs", "variable");
            }
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy