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

com.pulumi.aws.opensearch.PackageArgs Maven / Gradle / Ivy

Go to download

A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources.

The 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.aws.opensearch;

import com.pulumi.aws.opensearch.inputs.PackagePackageSourceArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final PackageArgs Empty = new PackageArgs();

    /**
     * Description of the package.
     * 
     */
    @Import(name="packageDescription")
    private @Nullable Output packageDescription;

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

    /**
     * Unique name for the package.
     * 
     */
    @Import(name="packageName", required=true)
    private Output packageName;

    /**
     * @return Unique name for the package.
     * 
     */
    public Output packageName() {
        return this.packageName;
    }

    /**
     * Configuration block for the package source options.
     * 
     */
    @Import(name="packageSource", required=true)
    private Output packageSource;

    /**
     * @return Configuration block for the package source options.
     * 
     */
    public Output packageSource() {
        return this.packageSource;
    }

    /**
     * The type of package.
     * 
     */
    @Import(name="packageType", required=true)
    private Output packageType;

    /**
     * @return The type of package.
     * 
     */
    public Output packageType() {
        return this.packageType;
    }

    private PackageArgs() {}

    private PackageArgs(PackageArgs $) {
        this.packageDescription = $.packageDescription;
        this.packageName = $.packageName;
        this.packageSource = $.packageSource;
        this.packageType = $.packageType;
    }

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

    public static final class Builder {
        private PackageArgs $;

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

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

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

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

        /**
         * @param packageName Unique name for the package.
         * 
         * @return builder
         * 
         */
        public Builder packageName(Output packageName) {
            $.packageName = packageName;
            return this;
        }

        /**
         * @param packageName Unique name for the package.
         * 
         * @return builder
         * 
         */
        public Builder packageName(String packageName) {
            return packageName(Output.of(packageName));
        }

        /**
         * @param packageSource Configuration block for the package source options.
         * 
         * @return builder
         * 
         */
        public Builder packageSource(Output packageSource) {
            $.packageSource = packageSource;
            return this;
        }

        /**
         * @param packageSource Configuration block for the package source options.
         * 
         * @return builder
         * 
         */
        public Builder packageSource(PackagePackageSourceArgs packageSource) {
            return packageSource(Output.of(packageSource));
        }

        /**
         * @param packageType The type of package.
         * 
         * @return builder
         * 
         */
        public Builder packageType(Output packageType) {
            $.packageType = packageType;
            return this;
        }

        /**
         * @param packageType The type of package.
         * 
         * @return builder
         * 
         */
        public Builder packageType(String packageType) {
            return packageType(Output.of(packageType));
        }

        public PackageArgs build() {
            if ($.packageName == null) {
                throw new MissingRequiredPropertyException("PackageArgs", "packageName");
            }
            if ($.packageSource == null) {
                throw new MissingRequiredPropertyException("PackageArgs", "packageSource");
            }
            if ($.packageType == null) {
                throw new MissingRequiredPropertyException("PackageArgs", "packageType");
            }
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy