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

com.pulumi.azurenative.appplatform.inputs.AppResourcePropertiesArgs Maven / Gradle / Ivy

There is a newer version: 2.82.0
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.azurenative.appplatform.inputs;

import com.pulumi.azurenative.appplatform.inputs.AppVNetAddonsArgs;
import com.pulumi.azurenative.appplatform.inputs.CustomPersistentDiskResourceArgs;
import com.pulumi.azurenative.appplatform.inputs.IngressSettingsArgs;
import com.pulumi.azurenative.appplatform.inputs.LoadedCertificateArgs;
import com.pulumi.azurenative.appplatform.inputs.PersistentDiskArgs;
import com.pulumi.azurenative.appplatform.inputs.SecretArgs;
import com.pulumi.azurenative.appplatform.inputs.TemporaryDiskArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.core.internal.Codegen;
import java.lang.Boolean;
import java.lang.Object;
import java.lang.String;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * App resource properties payload
 * 
 */
public final class AppResourcePropertiesArgs extends com.pulumi.resources.ResourceArgs {

    public static final AppResourcePropertiesArgs Empty = new AppResourcePropertiesArgs();

    /**
     * Collection of addons
     * 
     */
    @Import(name="addonConfigs")
    private @Nullable Output> addonConfigs;

    /**
     * @return Collection of addons
     * 
     */
    public Optional>> addonConfigs() {
        return Optional.ofNullable(this.addonConfigs);
    }

    /**
     * List of custom persistent disks
     * 
     */
    @Import(name="customPersistentDisks")
    private @Nullable Output> customPersistentDisks;

    /**
     * @return List of custom persistent disks
     * 
     */
    public Optional>> customPersistentDisks() {
        return Optional.ofNullable(this.customPersistentDisks);
    }

    /**
     * Indicate if end to end TLS is enabled.
     * 
     */
    @Import(name="enableEndToEndTLS")
    private @Nullable Output enableEndToEndTLS;

    /**
     * @return Indicate if end to end TLS is enabled.
     * 
     */
    public Optional> enableEndToEndTLS() {
        return Optional.ofNullable(this.enableEndToEndTLS);
    }

    /**
     * Indicate if only https is allowed.
     * 
     */
    @Import(name="httpsOnly")
    private @Nullable Output httpsOnly;

    /**
     * @return Indicate if only https is allowed.
     * 
     */
    public Optional> httpsOnly() {
        return Optional.ofNullable(this.httpsOnly);
    }

    /**
     * App ingress settings payload.
     * 
     */
    @Import(name="ingressSettings")
    private @Nullable Output ingressSettings;

    /**
     * @return App ingress settings payload.
     * 
     */
    public Optional> ingressSettings() {
        return Optional.ofNullable(this.ingressSettings);
    }

    /**
     * Collection of loaded certificates
     * 
     */
    @Import(name="loadedCertificates")
    private @Nullable Output> loadedCertificates;

    /**
     * @return Collection of loaded certificates
     * 
     */
    public Optional>> loadedCertificates() {
        return Optional.ofNullable(this.loadedCertificates);
    }

    /**
     * Persistent disk settings
     * 
     */
    @Import(name="persistentDisk")
    private @Nullable Output persistentDisk;

    /**
     * @return Persistent disk settings
     * 
     */
    public Optional> persistentDisk() {
        return Optional.ofNullable(this.persistentDisk);
    }

    /**
     * Indicates whether the App exposes public endpoint
     * 
     */
    @Import(name="public")
    private @Nullable Output public_;

    /**
     * @return Indicates whether the App exposes public endpoint
     * 
     */
    public Optional> public_() {
        return Optional.ofNullable(this.public_);
    }

    /**
     * Collection of auth secrets
     * 
     */
    @Import(name="secrets")
    private @Nullable Output> secrets;

    /**
     * @return Collection of auth secrets
     * 
     */
    public Optional>> secrets() {
        return Optional.ofNullable(this.secrets);
    }

    /**
     * Temporary disk settings
     * 
     */
    @Import(name="temporaryDisk")
    private @Nullable Output temporaryDisk;

    /**
     * @return Temporary disk settings
     * 
     */
    public Optional> temporaryDisk() {
        return Optional.ofNullable(this.temporaryDisk);
    }

    /**
     * Additional App settings in vnet injection instance
     * 
     */
    @Import(name="vnetAddons")
    private @Nullable Output vnetAddons;

    /**
     * @return Additional App settings in vnet injection instance
     * 
     */
    public Optional> vnetAddons() {
        return Optional.ofNullable(this.vnetAddons);
    }

    /**
     * The workload profile used for this app. Supported for Consumption + Dedicated plan.
     * 
     */
    @Import(name="workloadProfileName")
    private @Nullable Output workloadProfileName;

    /**
     * @return The workload profile used for this app. Supported for Consumption + Dedicated plan.
     * 
     */
    public Optional> workloadProfileName() {
        return Optional.ofNullable(this.workloadProfileName);
    }

    private AppResourcePropertiesArgs() {}

    private AppResourcePropertiesArgs(AppResourcePropertiesArgs $) {
        this.addonConfigs = $.addonConfigs;
        this.customPersistentDisks = $.customPersistentDisks;
        this.enableEndToEndTLS = $.enableEndToEndTLS;
        this.httpsOnly = $.httpsOnly;
        this.ingressSettings = $.ingressSettings;
        this.loadedCertificates = $.loadedCertificates;
        this.persistentDisk = $.persistentDisk;
        this.public_ = $.public_;
        this.secrets = $.secrets;
        this.temporaryDisk = $.temporaryDisk;
        this.vnetAddons = $.vnetAddons;
        this.workloadProfileName = $.workloadProfileName;
    }

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

    public static final class Builder {
        private AppResourcePropertiesArgs $;

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

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

        /**
         * @param addonConfigs Collection of addons
         * 
         * @return builder
         * 
         */
        public Builder addonConfigs(@Nullable Output> addonConfigs) {
            $.addonConfigs = addonConfigs;
            return this;
        }

        /**
         * @param addonConfigs Collection of addons
         * 
         * @return builder
         * 
         */
        public Builder addonConfigs(Map addonConfigs) {
            return addonConfigs(Output.of(addonConfigs));
        }

        /**
         * @param customPersistentDisks List of custom persistent disks
         * 
         * @return builder
         * 
         */
        public Builder customPersistentDisks(@Nullable Output> customPersistentDisks) {
            $.customPersistentDisks = customPersistentDisks;
            return this;
        }

        /**
         * @param customPersistentDisks List of custom persistent disks
         * 
         * @return builder
         * 
         */
        public Builder customPersistentDisks(List customPersistentDisks) {
            return customPersistentDisks(Output.of(customPersistentDisks));
        }

        /**
         * @param customPersistentDisks List of custom persistent disks
         * 
         * @return builder
         * 
         */
        public Builder customPersistentDisks(CustomPersistentDiskResourceArgs... customPersistentDisks) {
            return customPersistentDisks(List.of(customPersistentDisks));
        }

        /**
         * @param enableEndToEndTLS Indicate if end to end TLS is enabled.
         * 
         * @return builder
         * 
         */
        public Builder enableEndToEndTLS(@Nullable Output enableEndToEndTLS) {
            $.enableEndToEndTLS = enableEndToEndTLS;
            return this;
        }

        /**
         * @param enableEndToEndTLS Indicate if end to end TLS is enabled.
         * 
         * @return builder
         * 
         */
        public Builder enableEndToEndTLS(Boolean enableEndToEndTLS) {
            return enableEndToEndTLS(Output.of(enableEndToEndTLS));
        }

        /**
         * @param httpsOnly Indicate if only https is allowed.
         * 
         * @return builder
         * 
         */
        public Builder httpsOnly(@Nullable Output httpsOnly) {
            $.httpsOnly = httpsOnly;
            return this;
        }

        /**
         * @param httpsOnly Indicate if only https is allowed.
         * 
         * @return builder
         * 
         */
        public Builder httpsOnly(Boolean httpsOnly) {
            return httpsOnly(Output.of(httpsOnly));
        }

        /**
         * @param ingressSettings App ingress settings payload.
         * 
         * @return builder
         * 
         */
        public Builder ingressSettings(@Nullable Output ingressSettings) {
            $.ingressSettings = ingressSettings;
            return this;
        }

        /**
         * @param ingressSettings App ingress settings payload.
         * 
         * @return builder
         * 
         */
        public Builder ingressSettings(IngressSettingsArgs ingressSettings) {
            return ingressSettings(Output.of(ingressSettings));
        }

        /**
         * @param loadedCertificates Collection of loaded certificates
         * 
         * @return builder
         * 
         */
        public Builder loadedCertificates(@Nullable Output> loadedCertificates) {
            $.loadedCertificates = loadedCertificates;
            return this;
        }

        /**
         * @param loadedCertificates Collection of loaded certificates
         * 
         * @return builder
         * 
         */
        public Builder loadedCertificates(List loadedCertificates) {
            return loadedCertificates(Output.of(loadedCertificates));
        }

        /**
         * @param loadedCertificates Collection of loaded certificates
         * 
         * @return builder
         * 
         */
        public Builder loadedCertificates(LoadedCertificateArgs... loadedCertificates) {
            return loadedCertificates(List.of(loadedCertificates));
        }

        /**
         * @param persistentDisk Persistent disk settings
         * 
         * @return builder
         * 
         */
        public Builder persistentDisk(@Nullable Output persistentDisk) {
            $.persistentDisk = persistentDisk;
            return this;
        }

        /**
         * @param persistentDisk Persistent disk settings
         * 
         * @return builder
         * 
         */
        public Builder persistentDisk(PersistentDiskArgs persistentDisk) {
            return persistentDisk(Output.of(persistentDisk));
        }

        /**
         * @param public_ Indicates whether the App exposes public endpoint
         * 
         * @return builder
         * 
         */
        public Builder public_(@Nullable Output public_) {
            $.public_ = public_;
            return this;
        }

        /**
         * @param public_ Indicates whether the App exposes public endpoint
         * 
         * @return builder
         * 
         */
        public Builder public_(Boolean public_) {
            return public_(Output.of(public_));
        }

        /**
         * @param secrets Collection of auth secrets
         * 
         * @return builder
         * 
         */
        public Builder secrets(@Nullable Output> secrets) {
            $.secrets = secrets;
            return this;
        }

        /**
         * @param secrets Collection of auth secrets
         * 
         * @return builder
         * 
         */
        public Builder secrets(List secrets) {
            return secrets(Output.of(secrets));
        }

        /**
         * @param secrets Collection of auth secrets
         * 
         * @return builder
         * 
         */
        public Builder secrets(SecretArgs... secrets) {
            return secrets(List.of(secrets));
        }

        /**
         * @param temporaryDisk Temporary disk settings
         * 
         * @return builder
         * 
         */
        public Builder temporaryDisk(@Nullable Output temporaryDisk) {
            $.temporaryDisk = temporaryDisk;
            return this;
        }

        /**
         * @param temporaryDisk Temporary disk settings
         * 
         * @return builder
         * 
         */
        public Builder temporaryDisk(TemporaryDiskArgs temporaryDisk) {
            return temporaryDisk(Output.of(temporaryDisk));
        }

        /**
         * @param vnetAddons Additional App settings in vnet injection instance
         * 
         * @return builder
         * 
         */
        public Builder vnetAddons(@Nullable Output vnetAddons) {
            $.vnetAddons = vnetAddons;
            return this;
        }

        /**
         * @param vnetAddons Additional App settings in vnet injection instance
         * 
         * @return builder
         * 
         */
        public Builder vnetAddons(AppVNetAddonsArgs vnetAddons) {
            return vnetAddons(Output.of(vnetAddons));
        }

        /**
         * @param workloadProfileName The workload profile used for this app. Supported for Consumption + Dedicated plan.
         * 
         * @return builder
         * 
         */
        public Builder workloadProfileName(@Nullable Output workloadProfileName) {
            $.workloadProfileName = workloadProfileName;
            return this;
        }

        /**
         * @param workloadProfileName The workload profile used for this app. Supported for Consumption + Dedicated plan.
         * 
         * @return builder
         * 
         */
        public Builder workloadProfileName(String workloadProfileName) {
            return workloadProfileName(Output.of(workloadProfileName));
        }

        public AppResourcePropertiesArgs build() {
            $.enableEndToEndTLS = Codegen.booleanProp("enableEndToEndTLS").output().arg($.enableEndToEndTLS).def(false).getNullable();
            $.httpsOnly = Codegen.booleanProp("httpsOnly").output().arg($.httpsOnly).def(false).getNullable();
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy