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

com.pulumi.azurenative.appplatform.inputs.GatewayPropertiesArgs 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.enums.ApmType;
import com.pulumi.azurenative.appplatform.inputs.GatewayApiMetadataPropertiesArgs;
import com.pulumi.azurenative.appplatform.inputs.GatewayCorsPropertiesArgs;
import com.pulumi.azurenative.appplatform.inputs.GatewayPropertiesClientAuthArgs;
import com.pulumi.azurenative.appplatform.inputs.GatewayPropertiesEnvironmentVariablesArgs;
import com.pulumi.azurenative.appplatform.inputs.GatewayResourceRequestsArgs;
import com.pulumi.azurenative.appplatform.inputs.SsoPropertiesArgs;
import com.pulumi.core.Either;
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;


/**
 * Spring Cloud Gateway properties payload
 * 
 */
public final class GatewayPropertiesArgs extends com.pulumi.resources.ResourceArgs {

    public static final GatewayPropertiesArgs Empty = new GatewayPropertiesArgs();

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

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

    /**
     * API metadata property for Spring Cloud Gateway
     * 
     */
    @Import(name="apiMetadataProperties")
    private @Nullable Output apiMetadataProperties;

    /**
     * @return API metadata property for Spring Cloud Gateway
     * 
     */
    public Optional> apiMetadataProperties() {
        return Optional.ofNullable(this.apiMetadataProperties);
    }

    /**
     * Collection of APM type used in Spring Cloud Gateway
     * 
     */
    @Import(name="apmTypes")
    private @Nullable Output>> apmTypes;

    /**
     * @return Collection of APM type used in Spring Cloud Gateway
     * 
     */
    public Optional>>> apmTypes() {
        return Optional.ofNullable(this.apmTypes);
    }

    /**
     * Client-Certification Authentication.
     * 
     */
    @Import(name="clientAuth")
    private @Nullable Output clientAuth;

    /**
     * @return Client-Certification Authentication.
     * 
     */
    public Optional> clientAuth() {
        return Optional.ofNullable(this.clientAuth);
    }

    /**
     * Cross-Origin Resource Sharing property
     * 
     */
    @Import(name="corsProperties")
    private @Nullable Output corsProperties;

    /**
     * @return Cross-Origin Resource Sharing property
     * 
     */
    public Optional> corsProperties() {
        return Optional.ofNullable(this.corsProperties);
    }

    /**
     * Environment variables of Spring Cloud Gateway
     * 
     */
    @Import(name="environmentVariables")
    private @Nullable Output environmentVariables;

    /**
     * @return Environment variables of Spring Cloud Gateway
     * 
     */
    public Optional> environmentVariables() {
        return Optional.ofNullable(this.environmentVariables);
    }

    /**
     * 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);
    }

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

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

    /**
     * The requested resource quantity for required CPU and Memory.
     * 
     */
    @Import(name="resourceRequests")
    private @Nullable Output resourceRequests;

    /**
     * @return The requested resource quantity for required CPU and Memory.
     * 
     */
    public Optional> resourceRequests() {
        return Optional.ofNullable(this.resourceRequests);
    }

    /**
     * Single sign-on related configuration
     * 
     */
    @Import(name="ssoProperties")
    private @Nullable Output ssoProperties;

    /**
     * @return Single sign-on related configuration
     * 
     */
    public Optional> ssoProperties() {
        return Optional.ofNullable(this.ssoProperties);
    }

    private GatewayPropertiesArgs() {}

    private GatewayPropertiesArgs(GatewayPropertiesArgs $) {
        this.addonConfigs = $.addonConfigs;
        this.apiMetadataProperties = $.apiMetadataProperties;
        this.apmTypes = $.apmTypes;
        this.clientAuth = $.clientAuth;
        this.corsProperties = $.corsProperties;
        this.environmentVariables = $.environmentVariables;
        this.httpsOnly = $.httpsOnly;
        this.public_ = $.public_;
        this.resourceRequests = $.resourceRequests;
        this.ssoProperties = $.ssoProperties;
    }

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

    public static final class Builder {
        private GatewayPropertiesArgs $;

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

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

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

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

        /**
         * @param apiMetadataProperties API metadata property for Spring Cloud Gateway
         * 
         * @return builder
         * 
         */
        public Builder apiMetadataProperties(@Nullable Output apiMetadataProperties) {
            $.apiMetadataProperties = apiMetadataProperties;
            return this;
        }

        /**
         * @param apiMetadataProperties API metadata property for Spring Cloud Gateway
         * 
         * @return builder
         * 
         */
        public Builder apiMetadataProperties(GatewayApiMetadataPropertiesArgs apiMetadataProperties) {
            return apiMetadataProperties(Output.of(apiMetadataProperties));
        }

        /**
         * @param apmTypes Collection of APM type used in Spring Cloud Gateway
         * 
         * @return builder
         * 
         */
        public Builder apmTypes(@Nullable Output>> apmTypes) {
            $.apmTypes = apmTypes;
            return this;
        }

        /**
         * @param apmTypes Collection of APM type used in Spring Cloud Gateway
         * 
         * @return builder
         * 
         */
        public Builder apmTypes(List> apmTypes) {
            return apmTypes(Output.of(apmTypes));
        }

        /**
         * @param apmTypes Collection of APM type used in Spring Cloud Gateway
         * 
         * @return builder
         * 
         */
        public Builder apmTypes(Either... apmTypes) {
            return apmTypes(List.of(apmTypes));
        }

        /**
         * @param clientAuth Client-Certification Authentication.
         * 
         * @return builder
         * 
         */
        public Builder clientAuth(@Nullable Output clientAuth) {
            $.clientAuth = clientAuth;
            return this;
        }

        /**
         * @param clientAuth Client-Certification Authentication.
         * 
         * @return builder
         * 
         */
        public Builder clientAuth(GatewayPropertiesClientAuthArgs clientAuth) {
            return clientAuth(Output.of(clientAuth));
        }

        /**
         * @param corsProperties Cross-Origin Resource Sharing property
         * 
         * @return builder
         * 
         */
        public Builder corsProperties(@Nullable Output corsProperties) {
            $.corsProperties = corsProperties;
            return this;
        }

        /**
         * @param corsProperties Cross-Origin Resource Sharing property
         * 
         * @return builder
         * 
         */
        public Builder corsProperties(GatewayCorsPropertiesArgs corsProperties) {
            return corsProperties(Output.of(corsProperties));
        }

        /**
         * @param environmentVariables Environment variables of Spring Cloud Gateway
         * 
         * @return builder
         * 
         */
        public Builder environmentVariables(@Nullable Output environmentVariables) {
            $.environmentVariables = environmentVariables;
            return this;
        }

        /**
         * @param environmentVariables Environment variables of Spring Cloud Gateway
         * 
         * @return builder
         * 
         */
        public Builder environmentVariables(GatewayPropertiesEnvironmentVariablesArgs environmentVariables) {
            return environmentVariables(Output.of(environmentVariables));
        }

        /**
         * @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 public_ Indicates whether the Spring Cloud Gateway exposes endpoint.
         * 
         * @return builder
         * 
         */
        public Builder public_(@Nullable Output public_) {
            $.public_ = public_;
            return this;
        }

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

        /**
         * @param resourceRequests The requested resource quantity for required CPU and Memory.
         * 
         * @return builder
         * 
         */
        public Builder resourceRequests(@Nullable Output resourceRequests) {
            $.resourceRequests = resourceRequests;
            return this;
        }

        /**
         * @param resourceRequests The requested resource quantity for required CPU and Memory.
         * 
         * @return builder
         * 
         */
        public Builder resourceRequests(GatewayResourceRequestsArgs resourceRequests) {
            return resourceRequests(Output.of(resourceRequests));
        }

        /**
         * @param ssoProperties Single sign-on related configuration
         * 
         * @return builder
         * 
         */
        public Builder ssoProperties(@Nullable Output ssoProperties) {
            $.ssoProperties = ssoProperties;
            return this;
        }

        /**
         * @param ssoProperties Single sign-on related configuration
         * 
         * @return builder
         * 
         */
        public Builder ssoProperties(SsoPropertiesArgs ssoProperties) {
            return ssoProperties(Output.of(ssoProperties));
        }

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

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy