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

com.pulumi.azurenative.web.WebAppHostNameBindingArgs Maven / Gradle / Ivy

There is a newer version: 2.78.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.web;

import com.pulumi.azurenative.web.enums.AzureResourceType;
import com.pulumi.azurenative.web.enums.CustomHostNameDnsRecordType;
import com.pulumi.azurenative.web.enums.HostNameType;
import com.pulumi.azurenative.web.enums.SslState;
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 WebAppHostNameBindingArgs extends com.pulumi.resources.ResourceArgs {

    public static final WebAppHostNameBindingArgs Empty = new WebAppHostNameBindingArgs();

    /**
     * Azure resource name.
     * 
     */
    @Import(name="azureResourceName")
    private @Nullable Output azureResourceName;

    /**
     * @return Azure resource name.
     * 
     */
    public Optional> azureResourceName() {
        return Optional.ofNullable(this.azureResourceName);
    }

    /**
     * Azure resource type.
     * 
     */
    @Import(name="azureResourceType")
    private @Nullable Output azureResourceType;

    /**
     * @return Azure resource type.
     * 
     */
    public Optional> azureResourceType() {
        return Optional.ofNullable(this.azureResourceType);
    }

    /**
     * Custom DNS record type.
     * 
     */
    @Import(name="customHostNameDnsRecordType")
    private @Nullable Output customHostNameDnsRecordType;

    /**
     * @return Custom DNS record type.
     * 
     */
    public Optional> customHostNameDnsRecordType() {
        return Optional.ofNullable(this.customHostNameDnsRecordType);
    }

    /**
     * Fully qualified ARM domain resource URI.
     * 
     */
    @Import(name="domainId")
    private @Nullable Output domainId;

    /**
     * @return Fully qualified ARM domain resource URI.
     * 
     */
    public Optional> domainId() {
        return Optional.ofNullable(this.domainId);
    }

    /**
     * Hostname in the hostname binding.
     * 
     */
    @Import(name="hostName")
    private @Nullable Output hostName;

    /**
     * @return Hostname in the hostname binding.
     * 
     */
    public Optional> hostName() {
        return Optional.ofNullable(this.hostName);
    }

    /**
     * Hostname type.
     * 
     */
    @Import(name="hostNameType")
    private @Nullable Output hostNameType;

    /**
     * @return Hostname type.
     * 
     */
    public Optional> hostNameType() {
        return Optional.ofNullable(this.hostNameType);
    }

    /**
     * Kind of resource.
     * 
     */
    @Import(name="kind")
    private @Nullable Output kind;

    /**
     * @return Kind of resource.
     * 
     */
    public Optional> kind() {
        return Optional.ofNullable(this.kind);
    }

    /**
     * Name of the app.
     * 
     */
    @Import(name="name", required=true)
    private Output name;

    /**
     * @return Name of the app.
     * 
     */
    public Output name() {
        return this.name;
    }

    /**
     * Name of the resource group to which the resource belongs.
     * 
     */
    @Import(name="resourceGroupName", required=true)
    private Output resourceGroupName;

    /**
     * @return Name of the resource group to which the resource belongs.
     * 
     */
    public Output resourceGroupName() {
        return this.resourceGroupName;
    }

    /**
     * App Service app name.
     * 
     */
    @Import(name="siteName")
    private @Nullable Output siteName;

    /**
     * @return App Service app name.
     * 
     */
    public Optional> siteName() {
        return Optional.ofNullable(this.siteName);
    }

    /**
     * SSL type
     * 
     */
    @Import(name="sslState")
    private @Nullable Output sslState;

    /**
     * @return SSL type
     * 
     */
    public Optional> sslState() {
        return Optional.ofNullable(this.sslState);
    }

    /**
     * SSL certificate thumbprint
     * 
     */
    @Import(name="thumbprint")
    private @Nullable Output thumbprint;

    /**
     * @return SSL certificate thumbprint
     * 
     */
    public Optional> thumbprint() {
        return Optional.ofNullable(this.thumbprint);
    }

    private WebAppHostNameBindingArgs() {}

    private WebAppHostNameBindingArgs(WebAppHostNameBindingArgs $) {
        this.azureResourceName = $.azureResourceName;
        this.azureResourceType = $.azureResourceType;
        this.customHostNameDnsRecordType = $.customHostNameDnsRecordType;
        this.domainId = $.domainId;
        this.hostName = $.hostName;
        this.hostNameType = $.hostNameType;
        this.kind = $.kind;
        this.name = $.name;
        this.resourceGroupName = $.resourceGroupName;
        this.siteName = $.siteName;
        this.sslState = $.sslState;
        this.thumbprint = $.thumbprint;
    }

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

    public static final class Builder {
        private WebAppHostNameBindingArgs $;

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

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

        /**
         * @param azureResourceName Azure resource name.
         * 
         * @return builder
         * 
         */
        public Builder azureResourceName(@Nullable Output azureResourceName) {
            $.azureResourceName = azureResourceName;
            return this;
        }

        /**
         * @param azureResourceName Azure resource name.
         * 
         * @return builder
         * 
         */
        public Builder azureResourceName(String azureResourceName) {
            return azureResourceName(Output.of(azureResourceName));
        }

        /**
         * @param azureResourceType Azure resource type.
         * 
         * @return builder
         * 
         */
        public Builder azureResourceType(@Nullable Output azureResourceType) {
            $.azureResourceType = azureResourceType;
            return this;
        }

        /**
         * @param azureResourceType Azure resource type.
         * 
         * @return builder
         * 
         */
        public Builder azureResourceType(AzureResourceType azureResourceType) {
            return azureResourceType(Output.of(azureResourceType));
        }

        /**
         * @param customHostNameDnsRecordType Custom DNS record type.
         * 
         * @return builder
         * 
         */
        public Builder customHostNameDnsRecordType(@Nullable Output customHostNameDnsRecordType) {
            $.customHostNameDnsRecordType = customHostNameDnsRecordType;
            return this;
        }

        /**
         * @param customHostNameDnsRecordType Custom DNS record type.
         * 
         * @return builder
         * 
         */
        public Builder customHostNameDnsRecordType(CustomHostNameDnsRecordType customHostNameDnsRecordType) {
            return customHostNameDnsRecordType(Output.of(customHostNameDnsRecordType));
        }

        /**
         * @param domainId Fully qualified ARM domain resource URI.
         * 
         * @return builder
         * 
         */
        public Builder domainId(@Nullable Output domainId) {
            $.domainId = domainId;
            return this;
        }

        /**
         * @param domainId Fully qualified ARM domain resource URI.
         * 
         * @return builder
         * 
         */
        public Builder domainId(String domainId) {
            return domainId(Output.of(domainId));
        }

        /**
         * @param hostName Hostname in the hostname binding.
         * 
         * @return builder
         * 
         */
        public Builder hostName(@Nullable Output hostName) {
            $.hostName = hostName;
            return this;
        }

        /**
         * @param hostName Hostname in the hostname binding.
         * 
         * @return builder
         * 
         */
        public Builder hostName(String hostName) {
            return hostName(Output.of(hostName));
        }

        /**
         * @param hostNameType Hostname type.
         * 
         * @return builder
         * 
         */
        public Builder hostNameType(@Nullable Output hostNameType) {
            $.hostNameType = hostNameType;
            return this;
        }

        /**
         * @param hostNameType Hostname type.
         * 
         * @return builder
         * 
         */
        public Builder hostNameType(HostNameType hostNameType) {
            return hostNameType(Output.of(hostNameType));
        }

        /**
         * @param kind Kind of resource.
         * 
         * @return builder
         * 
         */
        public Builder kind(@Nullable Output kind) {
            $.kind = kind;
            return this;
        }

        /**
         * @param kind Kind of resource.
         * 
         * @return builder
         * 
         */
        public Builder kind(String kind) {
            return kind(Output.of(kind));
        }

        /**
         * @param name Name of the app.
         * 
         * @return builder
         * 
         */
        public Builder name(Output name) {
            $.name = name;
            return this;
        }

        /**
         * @param name Name of the app.
         * 
         * @return builder
         * 
         */
        public Builder name(String name) {
            return name(Output.of(name));
        }

        /**
         * @param resourceGroupName Name of the resource group to which the resource belongs.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(Output resourceGroupName) {
            $.resourceGroupName = resourceGroupName;
            return this;
        }

        /**
         * @param resourceGroupName Name of the resource group to which the resource belongs.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(String resourceGroupName) {
            return resourceGroupName(Output.of(resourceGroupName));
        }

        /**
         * @param siteName App Service app name.
         * 
         * @return builder
         * 
         */
        public Builder siteName(@Nullable Output siteName) {
            $.siteName = siteName;
            return this;
        }

        /**
         * @param siteName App Service app name.
         * 
         * @return builder
         * 
         */
        public Builder siteName(String siteName) {
            return siteName(Output.of(siteName));
        }

        /**
         * @param sslState SSL type
         * 
         * @return builder
         * 
         */
        public Builder sslState(@Nullable Output sslState) {
            $.sslState = sslState;
            return this;
        }

        /**
         * @param sslState SSL type
         * 
         * @return builder
         * 
         */
        public Builder sslState(SslState sslState) {
            return sslState(Output.of(sslState));
        }

        /**
         * @param thumbprint SSL certificate thumbprint
         * 
         * @return builder
         * 
         */
        public Builder thumbprint(@Nullable Output thumbprint) {
            $.thumbprint = thumbprint;
            return this;
        }

        /**
         * @param thumbprint SSL certificate thumbprint
         * 
         * @return builder
         * 
         */
        public Builder thumbprint(String thumbprint) {
            return thumbprint(Output.of(thumbprint));
        }

        public WebAppHostNameBindingArgs build() {
            if ($.name == null) {
                throw new MissingRequiredPropertyException("WebAppHostNameBindingArgs", "name");
            }
            if ($.resourceGroupName == null) {
                throw new MissingRequiredPropertyException("WebAppHostNameBindingArgs", "resourceGroupName");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy