// *** 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.gcp.apigee;

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


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

    public static final EnvGroupAttachmentArgs Empty = new EnvGroupAttachmentArgs();

    /**
     * The Apigee environment group associated with the Apigee environment,
     * in the format `organizations/{{org_name}}/envgroups/{{envgroup_name}}`.
     * 
     * ***
     * 
     */
    @Import(name="envgroupId", required=true)
    private Output<String> envgroupId;

    /**
     * @return The Apigee environment group associated with the Apigee environment,
     * in the format `organizations/{{org_name}}/envgroups/{{envgroup_name}}`.
     * 
     * ***
     * 
     */
    public Output<String> envgroupId() {
        return this.envgroupId;
    }

    /**
     * The resource ID of the environment.
     * 
     */
    @Import(name="environment", required=true)
    private Output<String> environment;

    /**
     * @return The resource ID of the environment.
     * 
     */
    public Output<String> environment() {
        return this.environment;
    }

    private EnvGroupAttachmentArgs() {}

    private EnvGroupAttachmentArgs(EnvGroupAttachmentArgs $) {
        this.envgroupId = $.envgroupId;
        this.environment = $.environment;
    }

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

    public static final class Builder {
        private EnvGroupAttachmentArgs $;

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

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

        /**
         * @param envgroupId The Apigee environment group associated with the Apigee environment,
         * in the format `organizations/{{org_name}}/envgroups/{{envgroup_name}}`.
         * 
         * ***
         * 
         * @return builder
         * 
         */
        public Builder envgroupId(Output<String> envgroupId) {
            $.envgroupId = envgroupId;
            return this;
        }

        /**
         * @param envgroupId The Apigee environment group associated with the Apigee environment,
         * in the format `organizations/{{org_name}}/envgroups/{{envgroup_name}}`.
         * 
         * ***
         * 
         * @return builder
         * 
         */
        public Builder envgroupId(String envgroupId) {
            return envgroupId(Output.of(envgroupId));
        }

        /**
         * @param environment The resource ID of the environment.
         * 
         * @return builder
         * 
         */
        public Builder environment(Output<String> environment) {
            $.environment = environment;
            return this;
        }

        /**
         * @param environment The resource ID of the environment.
         * 
         * @return builder
         * 
         */
        public Builder environment(String environment) {
            return environment(Output.of(environment));
        }

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

}
