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

com.pulumi.azurenative.devtestlab.outputs.GetLabResult 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.devtestlab.outputs;

import com.pulumi.azurenative.devtestlab.outputs.LabAnnouncementPropertiesResponse;
import com.pulumi.azurenative.devtestlab.outputs.LabSupportPropertiesResponse;
import com.pulumi.core.annotations.CustomType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;

@CustomType
public final class GetLabResult {
    /**
     * @return The properties of any lab announcement associated with this lab
     * 
     */
    private @Nullable LabAnnouncementPropertiesResponse announcement;
    /**
     * @return The lab's artifact storage account.
     * 
     */
    private String artifactsStorageAccount;
    /**
     * @return The creation date of the lab.
     * 
     */
    private String createdDate;
    /**
     * @return The lab's default premium storage account.
     * 
     */
    private String defaultPremiumStorageAccount;
    /**
     * @return The lab's default storage account.
     * 
     */
    private String defaultStorageAccount;
    /**
     * @return The access rights to be granted to the user when provisioning an environment
     * 
     */
    private @Nullable String environmentPermission;
    /**
     * @return Extended properties of the lab used for experimental features
     * 
     */
    private @Nullable Map extendedProperties;
    /**
     * @return The identifier of the resource.
     * 
     */
    private String id;
    /**
     * @return Type of storage used by the lab. It can be either Premium or Standard. Default is Premium.
     * 
     */
    private @Nullable String labStorageType;
    /**
     * @return The load balancer used to for lab VMs that use shared IP address.
     * 
     */
    private String loadBalancerId;
    /**
     * @return The location of the resource.
     * 
     */
    private @Nullable String location;
    /**
     * @return The ordered list of artifact resource IDs that should be applied on all Linux VM creations by default, prior to the artifacts specified by the user.
     * 
     */
    private @Nullable List mandatoryArtifactsResourceIdsLinux;
    /**
     * @return The ordered list of artifact resource IDs that should be applied on all Windows VM creations by default, prior to the artifacts specified by the user.
     * 
     */
    private @Nullable List mandatoryArtifactsResourceIdsWindows;
    /**
     * @return The name of the resource.
     * 
     */
    private String name;
    /**
     * @return The Network Security Group attached to the lab VMs Network interfaces to restrict open ports.
     * 
     */
    private String networkSecurityGroupId;
    /**
     * @return The lab's premium data disk storage account.
     * 
     */
    private String premiumDataDiskStorageAccount;
    /**
     * @return The setting to enable usage of premium data disks.
     * When its value is 'Enabled', creation of standard or premium data disks is allowed.
     * When its value is 'Disabled', only creation of standard data disks is allowed.
     * 
     */
    private @Nullable String premiumDataDisks;
    /**
     * @return The provisioning status of the resource.
     * 
     */
    private String provisioningState;
    /**
     * @return The public IP address for the lab's load balancer.
     * 
     */
    private String publicIpId;
    /**
     * @return The properties of any lab support message associated with this lab
     * 
     */
    private @Nullable LabSupportPropertiesResponse support;
    /**
     * @return The tags of the resource.
     * 
     */
    private @Nullable Map tags;
    /**
     * @return The type of the resource.
     * 
     */
    private String type;
    /**
     * @return The unique immutable identifier of a resource (Guid).
     * 
     */
    private String uniqueIdentifier;
    /**
     * @return The lab's Key vault.
     * 
     */
    private String vaultName;
    /**
     * @return The resource group in which all new lab virtual machines will be created. To let DevTest Labs manage resource group creation, set this value to null.
     * 
     */
    private String vmCreationResourceGroup;

    private GetLabResult() {}
    /**
     * @return The properties of any lab announcement associated with this lab
     * 
     */
    public Optional announcement() {
        return Optional.ofNullable(this.announcement);
    }
    /**
     * @return The lab's artifact storage account.
     * 
     */
    public String artifactsStorageAccount() {
        return this.artifactsStorageAccount;
    }
    /**
     * @return The creation date of the lab.
     * 
     */
    public String createdDate() {
        return this.createdDate;
    }
    /**
     * @return The lab's default premium storage account.
     * 
     */
    public String defaultPremiumStorageAccount() {
        return this.defaultPremiumStorageAccount;
    }
    /**
     * @return The lab's default storage account.
     * 
     */
    public String defaultStorageAccount() {
        return this.defaultStorageAccount;
    }
    /**
     * @return The access rights to be granted to the user when provisioning an environment
     * 
     */
    public Optional environmentPermission() {
        return Optional.ofNullable(this.environmentPermission);
    }
    /**
     * @return Extended properties of the lab used for experimental features
     * 
     */
    public Map extendedProperties() {
        return this.extendedProperties == null ? Map.of() : this.extendedProperties;
    }
    /**
     * @return The identifier of the resource.
     * 
     */
    public String id() {
        return this.id;
    }
    /**
     * @return Type of storage used by the lab. It can be either Premium or Standard. Default is Premium.
     * 
     */
    public Optional labStorageType() {
        return Optional.ofNullable(this.labStorageType);
    }
    /**
     * @return The load balancer used to for lab VMs that use shared IP address.
     * 
     */
    public String loadBalancerId() {
        return this.loadBalancerId;
    }
    /**
     * @return The location of the resource.
     * 
     */
    public Optional location() {
        return Optional.ofNullable(this.location);
    }
    /**
     * @return The ordered list of artifact resource IDs that should be applied on all Linux VM creations by default, prior to the artifacts specified by the user.
     * 
     */
    public List mandatoryArtifactsResourceIdsLinux() {
        return this.mandatoryArtifactsResourceIdsLinux == null ? List.of() : this.mandatoryArtifactsResourceIdsLinux;
    }
    /**
     * @return The ordered list of artifact resource IDs that should be applied on all Windows VM creations by default, prior to the artifacts specified by the user.
     * 
     */
    public List mandatoryArtifactsResourceIdsWindows() {
        return this.mandatoryArtifactsResourceIdsWindows == null ? List.of() : this.mandatoryArtifactsResourceIdsWindows;
    }
    /**
     * @return The name of the resource.
     * 
     */
    public String name() {
        return this.name;
    }
    /**
     * @return The Network Security Group attached to the lab VMs Network interfaces to restrict open ports.
     * 
     */
    public String networkSecurityGroupId() {
        return this.networkSecurityGroupId;
    }
    /**
     * @return The lab's premium data disk storage account.
     * 
     */
    public String premiumDataDiskStorageAccount() {
        return this.premiumDataDiskStorageAccount;
    }
    /**
     * @return The setting to enable usage of premium data disks.
     * When its value is 'Enabled', creation of standard or premium data disks is allowed.
     * When its value is 'Disabled', only creation of standard data disks is allowed.
     * 
     */
    public Optional premiumDataDisks() {
        return Optional.ofNullable(this.premiumDataDisks);
    }
    /**
     * @return The provisioning status of the resource.
     * 
     */
    public String provisioningState() {
        return this.provisioningState;
    }
    /**
     * @return The public IP address for the lab's load balancer.
     * 
     */
    public String publicIpId() {
        return this.publicIpId;
    }
    /**
     * @return The properties of any lab support message associated with this lab
     * 
     */
    public Optional support() {
        return Optional.ofNullable(this.support);
    }
    /**
     * @return The tags of the resource.
     * 
     */
    public Map tags() {
        return this.tags == null ? Map.of() : this.tags;
    }
    /**
     * @return The type of the resource.
     * 
     */
    public String type() {
        return this.type;
    }
    /**
     * @return The unique immutable identifier of a resource (Guid).
     * 
     */
    public String uniqueIdentifier() {
        return this.uniqueIdentifier;
    }
    /**
     * @return The lab's Key vault.
     * 
     */
    public String vaultName() {
        return this.vaultName;
    }
    /**
     * @return The resource group in which all new lab virtual machines will be created. To let DevTest Labs manage resource group creation, set this value to null.
     * 
     */
    public String vmCreationResourceGroup() {
        return this.vmCreationResourceGroup;
    }

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

    public static Builder builder(GetLabResult defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private @Nullable LabAnnouncementPropertiesResponse announcement;
        private String artifactsStorageAccount;
        private String createdDate;
        private String defaultPremiumStorageAccount;
        private String defaultStorageAccount;
        private @Nullable String environmentPermission;
        private @Nullable Map extendedProperties;
        private String id;
        private @Nullable String labStorageType;
        private String loadBalancerId;
        private @Nullable String location;
        private @Nullable List mandatoryArtifactsResourceIdsLinux;
        private @Nullable List mandatoryArtifactsResourceIdsWindows;
        private String name;
        private String networkSecurityGroupId;
        private String premiumDataDiskStorageAccount;
        private @Nullable String premiumDataDisks;
        private String provisioningState;
        private String publicIpId;
        private @Nullable LabSupportPropertiesResponse support;
        private @Nullable Map tags;
        private String type;
        private String uniqueIdentifier;
        private String vaultName;
        private String vmCreationResourceGroup;
        public Builder() {}
        public Builder(GetLabResult defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.announcement = defaults.announcement;
    	      this.artifactsStorageAccount = defaults.artifactsStorageAccount;
    	      this.createdDate = defaults.createdDate;
    	      this.defaultPremiumStorageAccount = defaults.defaultPremiumStorageAccount;
    	      this.defaultStorageAccount = defaults.defaultStorageAccount;
    	      this.environmentPermission = defaults.environmentPermission;
    	      this.extendedProperties = defaults.extendedProperties;
    	      this.id = defaults.id;
    	      this.labStorageType = defaults.labStorageType;
    	      this.loadBalancerId = defaults.loadBalancerId;
    	      this.location = defaults.location;
    	      this.mandatoryArtifactsResourceIdsLinux = defaults.mandatoryArtifactsResourceIdsLinux;
    	      this.mandatoryArtifactsResourceIdsWindows = defaults.mandatoryArtifactsResourceIdsWindows;
    	      this.name = defaults.name;
    	      this.networkSecurityGroupId = defaults.networkSecurityGroupId;
    	      this.premiumDataDiskStorageAccount = defaults.premiumDataDiskStorageAccount;
    	      this.premiumDataDisks = defaults.premiumDataDisks;
    	      this.provisioningState = defaults.provisioningState;
    	      this.publicIpId = defaults.publicIpId;
    	      this.support = defaults.support;
    	      this.tags = defaults.tags;
    	      this.type = defaults.type;
    	      this.uniqueIdentifier = defaults.uniqueIdentifier;
    	      this.vaultName = defaults.vaultName;
    	      this.vmCreationResourceGroup = defaults.vmCreationResourceGroup;
        }

        @CustomType.Setter
        public Builder announcement(@Nullable LabAnnouncementPropertiesResponse announcement) {

            this.announcement = announcement;
            return this;
        }
        @CustomType.Setter
        public Builder artifactsStorageAccount(String artifactsStorageAccount) {
            if (artifactsStorageAccount == null) {
              throw new MissingRequiredPropertyException("GetLabResult", "artifactsStorageAccount");
            }
            this.artifactsStorageAccount = artifactsStorageAccount;
            return this;
        }
        @CustomType.Setter
        public Builder createdDate(String createdDate) {
            if (createdDate == null) {
              throw new MissingRequiredPropertyException("GetLabResult", "createdDate");
            }
            this.createdDate = createdDate;
            return this;
        }
        @CustomType.Setter
        public Builder defaultPremiumStorageAccount(String defaultPremiumStorageAccount) {
            if (defaultPremiumStorageAccount == null) {
              throw new MissingRequiredPropertyException("GetLabResult", "defaultPremiumStorageAccount");
            }
            this.defaultPremiumStorageAccount = defaultPremiumStorageAccount;
            return this;
        }
        @CustomType.Setter
        public Builder defaultStorageAccount(String defaultStorageAccount) {
            if (defaultStorageAccount == null) {
              throw new MissingRequiredPropertyException("GetLabResult", "defaultStorageAccount");
            }
            this.defaultStorageAccount = defaultStorageAccount;
            return this;
        }
        @CustomType.Setter
        public Builder environmentPermission(@Nullable String environmentPermission) {

            this.environmentPermission = environmentPermission;
            return this;
        }
        @CustomType.Setter
        public Builder extendedProperties(@Nullable Map extendedProperties) {

            this.extendedProperties = extendedProperties;
            return this;
        }
        @CustomType.Setter
        public Builder id(String id) {
            if (id == null) {
              throw new MissingRequiredPropertyException("GetLabResult", "id");
            }
            this.id = id;
            return this;
        }
        @CustomType.Setter
        public Builder labStorageType(@Nullable String labStorageType) {

            this.labStorageType = labStorageType;
            return this;
        }
        @CustomType.Setter
        public Builder loadBalancerId(String loadBalancerId) {
            if (loadBalancerId == null) {
              throw new MissingRequiredPropertyException("GetLabResult", "loadBalancerId");
            }
            this.loadBalancerId = loadBalancerId;
            return this;
        }
        @CustomType.Setter
        public Builder location(@Nullable String location) {

            this.location = location;
            return this;
        }
        @CustomType.Setter
        public Builder mandatoryArtifactsResourceIdsLinux(@Nullable List mandatoryArtifactsResourceIdsLinux) {

            this.mandatoryArtifactsResourceIdsLinux = mandatoryArtifactsResourceIdsLinux;
            return this;
        }
        public Builder mandatoryArtifactsResourceIdsLinux(String... mandatoryArtifactsResourceIdsLinux) {
            return mandatoryArtifactsResourceIdsLinux(List.of(mandatoryArtifactsResourceIdsLinux));
        }
        @CustomType.Setter
        public Builder mandatoryArtifactsResourceIdsWindows(@Nullable List mandatoryArtifactsResourceIdsWindows) {

            this.mandatoryArtifactsResourceIdsWindows = mandatoryArtifactsResourceIdsWindows;
            return this;
        }
        public Builder mandatoryArtifactsResourceIdsWindows(String... mandatoryArtifactsResourceIdsWindows) {
            return mandatoryArtifactsResourceIdsWindows(List.of(mandatoryArtifactsResourceIdsWindows));
        }
        @CustomType.Setter
        public Builder name(String name) {
            if (name == null) {
              throw new MissingRequiredPropertyException("GetLabResult", "name");
            }
            this.name = name;
            return this;
        }
        @CustomType.Setter
        public Builder networkSecurityGroupId(String networkSecurityGroupId) {
            if (networkSecurityGroupId == null) {
              throw new MissingRequiredPropertyException("GetLabResult", "networkSecurityGroupId");
            }
            this.networkSecurityGroupId = networkSecurityGroupId;
            return this;
        }
        @CustomType.Setter
        public Builder premiumDataDiskStorageAccount(String premiumDataDiskStorageAccount) {
            if (premiumDataDiskStorageAccount == null) {
              throw new MissingRequiredPropertyException("GetLabResult", "premiumDataDiskStorageAccount");
            }
            this.premiumDataDiskStorageAccount = premiumDataDiskStorageAccount;
            return this;
        }
        @CustomType.Setter
        public Builder premiumDataDisks(@Nullable String premiumDataDisks) {

            this.premiumDataDisks = premiumDataDisks;
            return this;
        }
        @CustomType.Setter
        public Builder provisioningState(String provisioningState) {
            if (provisioningState == null) {
              throw new MissingRequiredPropertyException("GetLabResult", "provisioningState");
            }
            this.provisioningState = provisioningState;
            return this;
        }
        @CustomType.Setter
        public Builder publicIpId(String publicIpId) {
            if (publicIpId == null) {
              throw new MissingRequiredPropertyException("GetLabResult", "publicIpId");
            }
            this.publicIpId = publicIpId;
            return this;
        }
        @CustomType.Setter
        public Builder support(@Nullable LabSupportPropertiesResponse support) {

            this.support = support;
            return this;
        }
        @CustomType.Setter
        public Builder tags(@Nullable Map tags) {

            this.tags = tags;
            return this;
        }
        @CustomType.Setter
        public Builder type(String type) {
            if (type == null) {
              throw new MissingRequiredPropertyException("GetLabResult", "type");
            }
            this.type = type;
            return this;
        }
        @CustomType.Setter
        public Builder uniqueIdentifier(String uniqueIdentifier) {
            if (uniqueIdentifier == null) {
              throw new MissingRequiredPropertyException("GetLabResult", "uniqueIdentifier");
            }
            this.uniqueIdentifier = uniqueIdentifier;
            return this;
        }
        @CustomType.Setter
        public Builder vaultName(String vaultName) {
            if (vaultName == null) {
              throw new MissingRequiredPropertyException("GetLabResult", "vaultName");
            }
            this.vaultName = vaultName;
            return this;
        }
        @CustomType.Setter
        public Builder vmCreationResourceGroup(String vmCreationResourceGroup) {
            if (vmCreationResourceGroup == null) {
              throw new MissingRequiredPropertyException("GetLabResult", "vmCreationResourceGroup");
            }
            this.vmCreationResourceGroup = vmCreationResourceGroup;
            return this;
        }
        public GetLabResult build() {
            final var _resultValue = new GetLabResult();
            _resultValue.announcement = announcement;
            _resultValue.artifactsStorageAccount = artifactsStorageAccount;
            _resultValue.createdDate = createdDate;
            _resultValue.defaultPremiumStorageAccount = defaultPremiumStorageAccount;
            _resultValue.defaultStorageAccount = defaultStorageAccount;
            _resultValue.environmentPermission = environmentPermission;
            _resultValue.extendedProperties = extendedProperties;
            _resultValue.id = id;
            _resultValue.labStorageType = labStorageType;
            _resultValue.loadBalancerId = loadBalancerId;
            _resultValue.location = location;
            _resultValue.mandatoryArtifactsResourceIdsLinux = mandatoryArtifactsResourceIdsLinux;
            _resultValue.mandatoryArtifactsResourceIdsWindows = mandatoryArtifactsResourceIdsWindows;
            _resultValue.name = name;
            _resultValue.networkSecurityGroupId = networkSecurityGroupId;
            _resultValue.premiumDataDiskStorageAccount = premiumDataDiskStorageAccount;
            _resultValue.premiumDataDisks = premiumDataDisks;
            _resultValue.provisioningState = provisioningState;
            _resultValue.publicIpId = publicIpId;
            _resultValue.support = support;
            _resultValue.tags = tags;
            _resultValue.type = type;
            _resultValue.uniqueIdentifier = uniqueIdentifier;
            _resultValue.vaultName = vaultName;
            _resultValue.vmCreationResourceGroup = vmCreationResourceGroup;
            return _resultValue;
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy