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

com.pulumi.azurenative.workloads.outputs.ThreeTierConfigurationResponse Maven / Gradle / Ivy

// *** 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.workloads.outputs;

import com.pulumi.azurenative.workloads.outputs.ApplicationServerConfigurationResponse;
import com.pulumi.azurenative.workloads.outputs.CentralServerConfigurationResponse;
import com.pulumi.azurenative.workloads.outputs.DatabaseConfigurationResponse;
import com.pulumi.azurenative.workloads.outputs.HighAvailabilityConfigurationResponse;
import com.pulumi.azurenative.workloads.outputs.NetworkConfigurationResponse;
import com.pulumi.azurenative.workloads.outputs.StorageConfigurationResponse;
import com.pulumi.azurenative.workloads.outputs.ThreeTierFullResourceNamesResponse;
import com.pulumi.core.annotations.CustomType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;

@CustomType
public final class ThreeTierConfigurationResponse {
    /**
     * @return The application resource group where SAP system resources will be deployed.
     * 
     */
    private String appResourceGroup;
    /**
     * @return The application server configuration.
     * 
     */
    private ApplicationServerConfigurationResponse applicationServer;
    /**
     * @return The central server configuration.
     * 
     */
    private CentralServerConfigurationResponse centralServer;
    /**
     * @return The set of custom names to be used for underlying azure resources that are part of the SAP system.
     * 
     */
    private @Nullable ThreeTierFullResourceNamesResponse customResourceNames;
    /**
     * @return The database configuration.
     * 
     */
    private DatabaseConfigurationResponse databaseServer;
    /**
     * @return The type of SAP deployment, single server or Three tier.
     * Expected value is 'ThreeTier'.
     * 
     */
    private String deploymentType;
    /**
     * @return The high availability configuration.
     * 
     */
    private @Nullable HighAvailabilityConfigurationResponse highAvailabilityConfig;
    /**
     * @return Network configuration common to all servers
     * 
     */
    private @Nullable NetworkConfigurationResponse networkConfiguration;
    /**
     * @return The storage configuration.
     * 
     */
    private @Nullable StorageConfigurationResponse storageConfiguration;

    private ThreeTierConfigurationResponse() {}
    /**
     * @return The application resource group where SAP system resources will be deployed.
     * 
     */
    public String appResourceGroup() {
        return this.appResourceGroup;
    }
    /**
     * @return The application server configuration.
     * 
     */
    public ApplicationServerConfigurationResponse applicationServer() {
        return this.applicationServer;
    }
    /**
     * @return The central server configuration.
     * 
     */
    public CentralServerConfigurationResponse centralServer() {
        return this.centralServer;
    }
    /**
     * @return The set of custom names to be used for underlying azure resources that are part of the SAP system.
     * 
     */
    public Optional customResourceNames() {
        return Optional.ofNullable(this.customResourceNames);
    }
    /**
     * @return The database configuration.
     * 
     */
    public DatabaseConfigurationResponse databaseServer() {
        return this.databaseServer;
    }
    /**
     * @return The type of SAP deployment, single server or Three tier.
     * Expected value is 'ThreeTier'.
     * 
     */
    public String deploymentType() {
        return this.deploymentType;
    }
    /**
     * @return The high availability configuration.
     * 
     */
    public Optional highAvailabilityConfig() {
        return Optional.ofNullable(this.highAvailabilityConfig);
    }
    /**
     * @return Network configuration common to all servers
     * 
     */
    public Optional networkConfiguration() {
        return Optional.ofNullable(this.networkConfiguration);
    }
    /**
     * @return The storage configuration.
     * 
     */
    public Optional storageConfiguration() {
        return Optional.ofNullable(this.storageConfiguration);
    }

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

    public static Builder builder(ThreeTierConfigurationResponse defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private String appResourceGroup;
        private ApplicationServerConfigurationResponse applicationServer;
        private CentralServerConfigurationResponse centralServer;
        private @Nullable ThreeTierFullResourceNamesResponse customResourceNames;
        private DatabaseConfigurationResponse databaseServer;
        private String deploymentType;
        private @Nullable HighAvailabilityConfigurationResponse highAvailabilityConfig;
        private @Nullable NetworkConfigurationResponse networkConfiguration;
        private @Nullable StorageConfigurationResponse storageConfiguration;
        public Builder() {}
        public Builder(ThreeTierConfigurationResponse defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.appResourceGroup = defaults.appResourceGroup;
    	      this.applicationServer = defaults.applicationServer;
    	      this.centralServer = defaults.centralServer;
    	      this.customResourceNames = defaults.customResourceNames;
    	      this.databaseServer = defaults.databaseServer;
    	      this.deploymentType = defaults.deploymentType;
    	      this.highAvailabilityConfig = defaults.highAvailabilityConfig;
    	      this.networkConfiguration = defaults.networkConfiguration;
    	      this.storageConfiguration = defaults.storageConfiguration;
        }

        @CustomType.Setter
        public Builder appResourceGroup(String appResourceGroup) {
            if (appResourceGroup == null) {
              throw new MissingRequiredPropertyException("ThreeTierConfigurationResponse", "appResourceGroup");
            }
            this.appResourceGroup = appResourceGroup;
            return this;
        }
        @CustomType.Setter
        public Builder applicationServer(ApplicationServerConfigurationResponse applicationServer) {
            if (applicationServer == null) {
              throw new MissingRequiredPropertyException("ThreeTierConfigurationResponse", "applicationServer");
            }
            this.applicationServer = applicationServer;
            return this;
        }
        @CustomType.Setter
        public Builder centralServer(CentralServerConfigurationResponse centralServer) {
            if (centralServer == null) {
              throw new MissingRequiredPropertyException("ThreeTierConfigurationResponse", "centralServer");
            }
            this.centralServer = centralServer;
            return this;
        }
        @CustomType.Setter
        public Builder customResourceNames(@Nullable ThreeTierFullResourceNamesResponse customResourceNames) {

            this.customResourceNames = customResourceNames;
            return this;
        }
        @CustomType.Setter
        public Builder databaseServer(DatabaseConfigurationResponse databaseServer) {
            if (databaseServer == null) {
              throw new MissingRequiredPropertyException("ThreeTierConfigurationResponse", "databaseServer");
            }
            this.databaseServer = databaseServer;
            return this;
        }
        @CustomType.Setter
        public Builder deploymentType(String deploymentType) {
            if (deploymentType == null) {
              throw new MissingRequiredPropertyException("ThreeTierConfigurationResponse", "deploymentType");
            }
            this.deploymentType = deploymentType;
            return this;
        }
        @CustomType.Setter
        public Builder highAvailabilityConfig(@Nullable HighAvailabilityConfigurationResponse highAvailabilityConfig) {

            this.highAvailabilityConfig = highAvailabilityConfig;
            return this;
        }
        @CustomType.Setter
        public Builder networkConfiguration(@Nullable NetworkConfigurationResponse networkConfiguration) {

            this.networkConfiguration = networkConfiguration;
            return this;
        }
        @CustomType.Setter
        public Builder storageConfiguration(@Nullable StorageConfigurationResponse storageConfiguration) {

            this.storageConfiguration = storageConfiguration;
            return this;
        }
        public ThreeTierConfigurationResponse build() {
            final var _resultValue = new ThreeTierConfigurationResponse();
            _resultValue.appResourceGroup = appResourceGroup;
            _resultValue.applicationServer = applicationServer;
            _resultValue.centralServer = centralServer;
            _resultValue.customResourceNames = customResourceNames;
            _resultValue.databaseServer = databaseServer;
            _resultValue.deploymentType = deploymentType;
            _resultValue.highAvailabilityConfig = highAvailabilityConfig;
            _resultValue.networkConfiguration = networkConfiguration;
            _resultValue.storageConfiguration = storageConfiguration;
            return _resultValue;
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy