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

com.pulumi.googlenative.workloadmanager.v1.EvaluationArgs 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.googlenative.workloadmanager.v1;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.googlenative.workloadmanager.v1.inputs.ResourceFilterArgs;
import java.lang.String;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final EvaluationArgs Empty = new EvaluationArgs();

    /**
     * Description of the Evaluation
     * 
     */
    @Import(name="description")
    private @Nullable Output description;

    /**
     * @return Description of the Evaluation
     * 
     */
    public Optional> description() {
        return Optional.ofNullable(this.description);
    }

    /**
     * Required. Id of the requesting object
     * 
     */
    @Import(name="evaluationId", required=true)
    private Output evaluationId;

    /**
     * @return Required. Id of the requesting object
     * 
     */
    public Output evaluationId() {
        return this.evaluationId;
    }

    /**
     * Labels as key value pairs
     * 
     */
    @Import(name="labels")
    private @Nullable Output> labels;

    /**
     * @return Labels as key value pairs
     * 
     */
    public Optional>> labels() {
        return Optional.ofNullable(this.labels);
    }

    @Import(name="location")
    private @Nullable Output location;

    public Optional> location() {
        return Optional.ofNullable(this.location);
    }

    /**
     * name of resource names have the form 'projects/{project_id}/locations/{location_id}/evaluations/{evaluation_id}'
     * 
     */
    @Import(name="name")
    private @Nullable Output name;

    /**
     * @return name of resource names have the form 'projects/{project_id}/locations/{location_id}/evaluations/{evaluation_id}'
     * 
     */
    public Optional> name() {
        return Optional.ofNullable(this.name);
    }

    @Import(name="project")
    private @Nullable Output project;

    public Optional> project() {
        return Optional.ofNullable(this.project);
    }

    /**
     * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
     * 
     */
    @Import(name="requestId")
    private @Nullable Output requestId;

    /**
     * @return Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
     * 
     */
    public Optional> requestId() {
        return Optional.ofNullable(this.requestId);
    }

    /**
     * annotations as key value pairs
     * 
     */
    @Import(name="resourceFilter")
    private @Nullable Output resourceFilter;

    /**
     * @return annotations as key value pairs
     * 
     */
    public Optional> resourceFilter() {
        return Optional.ofNullable(this.resourceFilter);
    }

    /**
     * the name of the rule
     * 
     */
    @Import(name="ruleNames")
    private @Nullable Output> ruleNames;

    /**
     * @return the name of the rule
     * 
     */
    public Optional>> ruleNames() {
        return Optional.ofNullable(this.ruleNames);
    }

    /**
     * crontab format schedule for scheduled evaluation, example: 0 *{@literal /}3 * * *
     * 
     */
    @Import(name="schedule")
    private @Nullable Output schedule;

    /**
     * @return crontab format schedule for scheduled evaluation, example: 0 *{@literal /}3 * * *
     * 
     */
    public Optional> schedule() {
        return Optional.ofNullable(this.schedule);
    }

    private EvaluationArgs() {}

    private EvaluationArgs(EvaluationArgs $) {
        this.description = $.description;
        this.evaluationId = $.evaluationId;
        this.labels = $.labels;
        this.location = $.location;
        this.name = $.name;
        this.project = $.project;
        this.requestId = $.requestId;
        this.resourceFilter = $.resourceFilter;
        this.ruleNames = $.ruleNames;
        this.schedule = $.schedule;
    }

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

    public static final class Builder {
        private EvaluationArgs $;

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

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

        /**
         * @param description Description of the Evaluation
         * 
         * @return builder
         * 
         */
        public Builder description(@Nullable Output description) {
            $.description = description;
            return this;
        }

        /**
         * @param description Description of the Evaluation
         * 
         * @return builder
         * 
         */
        public Builder description(String description) {
            return description(Output.of(description));
        }

        /**
         * @param evaluationId Required. Id of the requesting object
         * 
         * @return builder
         * 
         */
        public Builder evaluationId(Output evaluationId) {
            $.evaluationId = evaluationId;
            return this;
        }

        /**
         * @param evaluationId Required. Id of the requesting object
         * 
         * @return builder
         * 
         */
        public Builder evaluationId(String evaluationId) {
            return evaluationId(Output.of(evaluationId));
        }

        /**
         * @param labels Labels as key value pairs
         * 
         * @return builder
         * 
         */
        public Builder labels(@Nullable Output> labels) {
            $.labels = labels;
            return this;
        }

        /**
         * @param labels Labels as key value pairs
         * 
         * @return builder
         * 
         */
        public Builder labels(Map labels) {
            return labels(Output.of(labels));
        }

        public Builder location(@Nullable Output location) {
            $.location = location;
            return this;
        }

        public Builder location(String location) {
            return location(Output.of(location));
        }

        /**
         * @param name name of resource names have the form 'projects/{project_id}/locations/{location_id}/evaluations/{evaluation_id}'
         * 
         * @return builder
         * 
         */
        public Builder name(@Nullable Output name) {
            $.name = name;
            return this;
        }

        /**
         * @param name name of resource names have the form 'projects/{project_id}/locations/{location_id}/evaluations/{evaluation_id}'
         * 
         * @return builder
         * 
         */
        public Builder name(String name) {
            return name(Output.of(name));
        }

        public Builder project(@Nullable Output project) {
            $.project = project;
            return this;
        }

        public Builder project(String project) {
            return project(Output.of(project));
        }

        /**
         * @param requestId Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
         * 
         * @return builder
         * 
         */
        public Builder requestId(@Nullable Output requestId) {
            $.requestId = requestId;
            return this;
        }

        /**
         * @param requestId Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
         * 
         * @return builder
         * 
         */
        public Builder requestId(String requestId) {
            return requestId(Output.of(requestId));
        }

        /**
         * @param resourceFilter annotations as key value pairs
         * 
         * @return builder
         * 
         */
        public Builder resourceFilter(@Nullable Output resourceFilter) {
            $.resourceFilter = resourceFilter;
            return this;
        }

        /**
         * @param resourceFilter annotations as key value pairs
         * 
         * @return builder
         * 
         */
        public Builder resourceFilter(ResourceFilterArgs resourceFilter) {
            return resourceFilter(Output.of(resourceFilter));
        }

        /**
         * @param ruleNames the name of the rule
         * 
         * @return builder
         * 
         */
        public Builder ruleNames(@Nullable Output> ruleNames) {
            $.ruleNames = ruleNames;
            return this;
        }

        /**
         * @param ruleNames the name of the rule
         * 
         * @return builder
         * 
         */
        public Builder ruleNames(List ruleNames) {
            return ruleNames(Output.of(ruleNames));
        }

        /**
         * @param ruleNames the name of the rule
         * 
         * @return builder
         * 
         */
        public Builder ruleNames(String... ruleNames) {
            return ruleNames(List.of(ruleNames));
        }

        /**
         * @param schedule crontab format schedule for scheduled evaluation, example: 0 *{@literal /}3 * * *
         * 
         * @return builder
         * 
         */
        public Builder schedule(@Nullable Output schedule) {
            $.schedule = schedule;
            return this;
        }

        /**
         * @param schedule crontab format schedule for scheduled evaluation, example: 0 *{@literal /}3 * * *
         * 
         * @return builder
         * 
         */
        public Builder schedule(String schedule) {
            return schedule(Output.of(schedule));
        }

        public EvaluationArgs build() {
            $.evaluationId = Objects.requireNonNull($.evaluationId, "expected parameter 'evaluationId' to be non-null");
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy