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

com.pulumi.azurenative.workloads.outputs.SingleServerConfigurationResponse 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.DiskConfigurationResponse;
import com.pulumi.azurenative.workloads.outputs.NetworkConfigurationResponse;
import com.pulumi.azurenative.workloads.outputs.SingleServerFullResourceNamesResponse;
import com.pulumi.azurenative.workloads.outputs.VirtualMachineConfigurationResponse;
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 SingleServerConfigurationResponse {
    /**
     * @return The application resource group where SAP system resources will be deployed.
     * 
     */
    private String appResourceGroup;
    /**
     * @return The set of custom names to be used for underlying azure resources that are part of the SAP system.
     * 
     */
    private @Nullable SingleServerFullResourceNamesResponse customResourceNames;
    /**
     * @return The database type.
     * 
     */
    private @Nullable String databaseType;
    /**
     * @return Gets or sets the disk configuration.
     * 
     */
    private @Nullable DiskConfigurationResponse dbDiskConfiguration;
    /**
     * @return The type of SAP deployment, single server or Three tier.
     * Expected value is 'SingleServer'.
     * 
     */
    private String deploymentType;
    /**
     * @return Network configuration for the server
     * 
     */
    private @Nullable NetworkConfigurationResponse networkConfiguration;
    /**
     * @return The subnet id.
     * 
     */
    private String subnetId;
    /**
     * @return Gets or sets the virtual machine configuration.
     * 
     */
    private VirtualMachineConfigurationResponse virtualMachineConfiguration;

    private SingleServerConfigurationResponse() {}
    /**
     * @return The application resource group where SAP system resources will be deployed.
     * 
     */
    public String appResourceGroup() {
        return this.appResourceGroup;
    }
    /**
     * @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 type.
     * 
     */
    public Optional databaseType() {
        return Optional.ofNullable(this.databaseType);
    }
    /**
     * @return Gets or sets the disk configuration.
     * 
     */
    public Optional dbDiskConfiguration() {
        return Optional.ofNullable(this.dbDiskConfiguration);
    }
    /**
     * @return The type of SAP deployment, single server or Three tier.
     * Expected value is 'SingleServer'.
     * 
     */
    public String deploymentType() {
        return this.deploymentType;
    }
    /**
     * @return Network configuration for the server
     * 
     */
    public Optional networkConfiguration() {
        return Optional.ofNullable(this.networkConfiguration);
    }
    /**
     * @return The subnet id.
     * 
     */
    public String subnetId() {
        return this.subnetId;
    }
    /**
     * @return Gets or sets the virtual machine configuration.
     * 
     */
    public VirtualMachineConfigurationResponse virtualMachineConfiguration() {
        return this.virtualMachineConfiguration;
    }

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

    public static Builder builder(SingleServerConfigurationResponse defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private String appResourceGroup;
        private @Nullable SingleServerFullResourceNamesResponse customResourceNames;
        private @Nullable String databaseType;
        private @Nullable DiskConfigurationResponse dbDiskConfiguration;
        private String deploymentType;
        private @Nullable NetworkConfigurationResponse networkConfiguration;
        private String subnetId;
        private VirtualMachineConfigurationResponse virtualMachineConfiguration;
        public Builder() {}
        public Builder(SingleServerConfigurationResponse defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.appResourceGroup = defaults.appResourceGroup;
    	      this.customResourceNames = defaults.customResourceNames;
    	      this.databaseType = defaults.databaseType;
    	      this.dbDiskConfiguration = defaults.dbDiskConfiguration;
    	      this.deploymentType = defaults.deploymentType;
    	      this.networkConfiguration = defaults.networkConfiguration;
    	      this.subnetId = defaults.subnetId;
    	      this.virtualMachineConfiguration = defaults.virtualMachineConfiguration;
        }

        @CustomType.Setter
        public Builder appResourceGroup(String appResourceGroup) {
            if (appResourceGroup == null) {
              throw new MissingRequiredPropertyException("SingleServerConfigurationResponse", "appResourceGroup");
            }
            this.appResourceGroup = appResourceGroup;
            return this;
        }
        @CustomType.Setter
        public Builder customResourceNames(@Nullable SingleServerFullResourceNamesResponse customResourceNames) {

            this.customResourceNames = customResourceNames;
            return this;
        }
        @CustomType.Setter
        public Builder databaseType(@Nullable String databaseType) {

            this.databaseType = databaseType;
            return this;
        }
        @CustomType.Setter
        public Builder dbDiskConfiguration(@Nullable DiskConfigurationResponse dbDiskConfiguration) {

            this.dbDiskConfiguration = dbDiskConfiguration;
            return this;
        }
        @CustomType.Setter
        public Builder deploymentType(String deploymentType) {
            if (deploymentType == null) {
              throw new MissingRequiredPropertyException("SingleServerConfigurationResponse", "deploymentType");
            }
            this.deploymentType = deploymentType;
            return this;
        }
        @CustomType.Setter
        public Builder networkConfiguration(@Nullable NetworkConfigurationResponse networkConfiguration) {

            this.networkConfiguration = networkConfiguration;
            return this;
        }
        @CustomType.Setter
        public Builder subnetId(String subnetId) {
            if (subnetId == null) {
              throw new MissingRequiredPropertyException("SingleServerConfigurationResponse", "subnetId");
            }
            this.subnetId = subnetId;
            return this;
        }
        @CustomType.Setter
        public Builder virtualMachineConfiguration(VirtualMachineConfigurationResponse virtualMachineConfiguration) {
            if (virtualMachineConfiguration == null) {
              throw new MissingRequiredPropertyException("SingleServerConfigurationResponse", "virtualMachineConfiguration");
            }
            this.virtualMachineConfiguration = virtualMachineConfiguration;
            return this;
        }
        public SingleServerConfigurationResponse build() {
            final var _resultValue = new SingleServerConfigurationResponse();
            _resultValue.appResourceGroup = appResourceGroup;
            _resultValue.customResourceNames = customResourceNames;
            _resultValue.databaseType = databaseType;
            _resultValue.dbDiskConfiguration = dbDiskConfiguration;
            _resultValue.deploymentType = deploymentType;
            _resultValue.networkConfiguration = networkConfiguration;
            _resultValue.subnetId = subnetId;
            _resultValue.virtualMachineConfiguration = virtualMachineConfiguration;
            return _resultValue;
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy