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

com.pulumi.alicloud.apigateway.PluginAttachmentArgs Maven / Gradle / Ivy

There is a newer version: 3.63.0-alpha.1727424957
Show newest version
// *** 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.alicloud.apigateway;

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


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

    public static final PluginAttachmentArgs Empty = new PluginAttachmentArgs();

    /**
     * The api_id that plugin attaches to.
     * 
     */
    @Import(name="apiId", required=true)
    private Output apiId;

    /**
     * @return The api_id that plugin attaches to.
     * 
     */
    public Output apiId() {
        return this.apiId;
    }

    /**
     * The group that the api belongs to.
     * 
     */
    @Import(name="groupId", required=true)
    private Output groupId;

    /**
     * @return The group that the api belongs to.
     * 
     */
    public Output groupId() {
        return this.groupId;
    }

    /**
     * The plugin that attaches to the api.
     * 
     */
    @Import(name="pluginId", required=true)
    private Output pluginId;

    /**
     * @return The plugin that attaches to the api.
     * 
     */
    public Output pluginId() {
        return this.pluginId;
    }

    /**
     * Stage that the plugin attaches to.
     * 
     */
    @Import(name="stageName", required=true)
    private Output stageName;

    /**
     * @return Stage that the plugin attaches to.
     * 
     */
    public Output stageName() {
        return this.stageName;
    }

    private PluginAttachmentArgs() {}

    private PluginAttachmentArgs(PluginAttachmentArgs $) {
        this.apiId = $.apiId;
        this.groupId = $.groupId;
        this.pluginId = $.pluginId;
        this.stageName = $.stageName;
    }

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

    public static final class Builder {
        private PluginAttachmentArgs $;

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

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

        /**
         * @param apiId The api_id that plugin attaches to.
         * 
         * @return builder
         * 
         */
        public Builder apiId(Output apiId) {
            $.apiId = apiId;
            return this;
        }

        /**
         * @param apiId The api_id that plugin attaches to.
         * 
         * @return builder
         * 
         */
        public Builder apiId(String apiId) {
            return apiId(Output.of(apiId));
        }

        /**
         * @param groupId The group that the api belongs to.
         * 
         * @return builder
         * 
         */
        public Builder groupId(Output groupId) {
            $.groupId = groupId;
            return this;
        }

        /**
         * @param groupId The group that the api belongs to.
         * 
         * @return builder
         * 
         */
        public Builder groupId(String groupId) {
            return groupId(Output.of(groupId));
        }

        /**
         * @param pluginId The plugin that attaches to the api.
         * 
         * @return builder
         * 
         */
        public Builder pluginId(Output pluginId) {
            $.pluginId = pluginId;
            return this;
        }

        /**
         * @param pluginId The plugin that attaches to the api.
         * 
         * @return builder
         * 
         */
        public Builder pluginId(String pluginId) {
            return pluginId(Output.of(pluginId));
        }

        /**
         * @param stageName Stage that the plugin attaches to.
         * 
         * @return builder
         * 
         */
        public Builder stageName(Output stageName) {
            $.stageName = stageName;
            return this;
        }

        /**
         * @param stageName Stage that the plugin attaches to.
         * 
         * @return builder
         * 
         */
        public Builder stageName(String stageName) {
            return stageName(Output.of(stageName));
        }

        public PluginAttachmentArgs build() {
            if ($.apiId == null) {
                throw new MissingRequiredPropertyException("PluginAttachmentArgs", "apiId");
            }
            if ($.groupId == null) {
                throw new MissingRequiredPropertyException("PluginAttachmentArgs", "groupId");
            }
            if ($.pluginId == null) {
                throw new MissingRequiredPropertyException("PluginAttachmentArgs", "pluginId");
            }
            if ($.stageName == null) {
                throw new MissingRequiredPropertyException("PluginAttachmentArgs", "stageName");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy