sdk/java/src/main/java/com/pulumi/ovh/Me/outputs/GetInstallationTemplateResult.java
<filename>sdk/java/src/main/java/com/pulumi/ovh/Me/outputs/GetInstallationTemplateResult.java// *** 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.ovh.Me.outputs;

import com.pulumi.core.annotations.CustomType;
import com.pulumi.ovh.Me.outputs.GetInstallationTemplateCustomization;
import com.pulumi.ovh.Me.outputs.GetInstallationTemplatePartitionScheme;
import java.lang.Boolean;
import java.lang.Integer;
import java.lang.String;
import java.util.List;
import java.util.Objects;

@CustomType
public final class GetInstallationTemplateResult {
    /**
     * @return List of all language available for this template.
     * 
     */
    private List<String> availableLanguages;
    /**
     * @return This distribution is new and, although tested and functional, may still display odd behaviour.
     * 
     */
    private Boolean beta;
    /**
     * @return This template bit format (32 or 64).
     * 
     */
    private Integer bitFormat;
    /**
     * @return Category of this template (informative only). (basic, customer, hosting, other, readyToUse, virtualisation).
     * 
     */
    private String category;
    private List<GetInstallationTemplateCustomization> customizations;
    /**
     * @return The default language of this template.
     * 
     */
    private String defaultLanguage;
    /**
     * @return is this distribution deprecated.
     * 
     */
    private Boolean deprecated;
    /**
     * @return information about this template.
     * 
     */
    private String description;
    /**
     * @return the distribution this template is based on.
     * 
     */
    private String distribution;
    /**
     * @return this template family type (bsd,linux,solaris,windows).
     * 
     */
    private String family;
    /**
     * @return Filesystems available (btrfs,ext3,ext4,ntfs,reiserfs,swap,ufs,xfs,zfs).
     * 
     */
    private List<String> filesystems;
    /**
     * @return This distribution supports hardware raid configuration through the OVHcloud API.
     * 
     */
    private Boolean hardRaidConfiguration;
    /**
     * @return The provider-assigned unique ID for this managed resource.
     * 
     */
    private String id;
    /**
     * @return Date of last modification of the base image.
     * 
     */
    private String lastModification;
    private Boolean lvmReady;
    private List<GetInstallationTemplatePartitionScheme> partitionSchemes;
    /**
     * @return This distribution supports installation using the distribution&#39;s native kernel instead of the recommended OVHcloud kernel.
     * 
     */
    private Boolean supportsDistributionKernel;
    /**
     * @return This distribution supports RTM software.
     * 
     */
    private Boolean supportsRtm;
    /**
     * @return This distribution supports the microsoft SQL server.
     * 
     */
    private Boolean supportsSqlServer;
    private String templateName;

    private GetInstallationTemplateResult() {}
    /**
     * @return List of all language available for this template.
     * 
     */
    public List<String> availableLanguages() {
        return this.availableLanguages;
    }
    /**
     * @return This distribution is new and, although tested and functional, may still display odd behaviour.
     * 
     */
    public Boolean beta() {
        return this.beta;
    }
    /**
     * @return This template bit format (32 or 64).
     * 
     */
    public Integer bitFormat() {
        return this.bitFormat;
    }
    /**
     * @return Category of this template (informative only). (basic, customer, hosting, other, readyToUse, virtualisation).
     * 
     */
    public String category() {
        return this.category;
    }
    public List<GetInstallationTemplateCustomization> customizations() {
        return this.customizations;
    }
    /**
     * @return The default language of this template.
     * 
     */
    public String defaultLanguage() {
        return this.defaultLanguage;
    }
    /**
     * @return is this distribution deprecated.
     * 
     */
    public Boolean deprecated() {
        return this.deprecated;
    }
    /**
     * @return information about this template.
     * 
     */
    public String description() {
        return this.description;
    }
    /**
     * @return the distribution this template is based on.
     * 
     */
    public String distribution() {
        return this.distribution;
    }
    /**
     * @return this template family type (bsd,linux,solaris,windows).
     * 
     */
    public String family() {
        return this.family;
    }
    /**
     * @return Filesystems available (btrfs,ext3,ext4,ntfs,reiserfs,swap,ufs,xfs,zfs).
     * 
     */
    public List<String> filesystems() {
        return this.filesystems;
    }
    /**
     * @return This distribution supports hardware raid configuration through the OVHcloud API.
     * 
     */
    public Boolean hardRaidConfiguration() {
        return this.hardRaidConfiguration;
    }
    /**
     * @return The provider-assigned unique ID for this managed resource.
     * 
     */
    public String id() {
        return this.id;
    }
    /**
     * @return Date of last modification of the base image.
     * 
     */
    public String lastModification() {
        return this.lastModification;
    }
    public Boolean lvmReady() {
        return this.lvmReady;
    }
    public List<GetInstallationTemplatePartitionScheme> partitionSchemes() {
        return this.partitionSchemes;
    }
    /**
     * @return This distribution supports installation using the distribution&#39;s native kernel instead of the recommended OVHcloud kernel.
     * 
     */
    public Boolean supportsDistributionKernel() {
        return this.supportsDistributionKernel;
    }
    /**
     * @return This distribution supports RTM software.
     * 
     */
    public Boolean supportsRtm() {
        return this.supportsRtm;
    }
    /**
     * @return This distribution supports the microsoft SQL server.
     * 
     */
    public Boolean supportsSqlServer() {
        return this.supportsSqlServer;
    }
    public String templateName() {
        return this.templateName;
    }

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

    public static Builder builder(GetInstallationTemplateResult defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private List<String> availableLanguages;
        private Boolean beta;
        private Integer bitFormat;
        private String category;
        private List<GetInstallationTemplateCustomization> customizations;
        private String defaultLanguage;
        private Boolean deprecated;
        private String description;
        private String distribution;
        private String family;
        private List<String> filesystems;
        private Boolean hardRaidConfiguration;
        private String id;
        private String lastModification;
        private Boolean lvmReady;
        private List<GetInstallationTemplatePartitionScheme> partitionSchemes;
        private Boolean supportsDistributionKernel;
        private Boolean supportsRtm;
        private Boolean supportsSqlServer;
        private String templateName;
        public Builder() {}
        public Builder(GetInstallationTemplateResult defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.availableLanguages = defaults.availableLanguages;
    	      this.beta = defaults.beta;
    	      this.bitFormat = defaults.bitFormat;
    	      this.category = defaults.category;
    	      this.customizations = defaults.customizations;
    	      this.defaultLanguage = defaults.defaultLanguage;
    	      this.deprecated = defaults.deprecated;
    	      this.description = defaults.description;
    	      this.distribution = defaults.distribution;
    	      this.family = defaults.family;
    	      this.filesystems = defaults.filesystems;
    	      this.hardRaidConfiguration = defaults.hardRaidConfiguration;
    	      this.id = defaults.id;
    	      this.lastModification = defaults.lastModification;
    	      this.lvmReady = defaults.lvmReady;
    	      this.partitionSchemes = defaults.partitionSchemes;
    	      this.supportsDistributionKernel = defaults.supportsDistributionKernel;
    	      this.supportsRtm = defaults.supportsRtm;
    	      this.supportsSqlServer = defaults.supportsSqlServer;
    	      this.templateName = defaults.templateName;
        }

        @CustomType.Setter
        public Builder availableLanguages(List<String> availableLanguages) {
            this.availableLanguages = Objects.requireNonNull(availableLanguages);
            return this;
        }
        public Builder availableLanguages(String... availableLanguages) {
            return availableLanguages(List.of(availableLanguages));
        }
        @CustomType.Setter
        public Builder beta(Boolean beta) {
            this.beta = Objects.requireNonNull(beta);
            return this;
        }
        @CustomType.Setter
        public Builder bitFormat(Integer bitFormat) {
            this.bitFormat = Objects.requireNonNull(bitFormat);
            return this;
        }
        @CustomType.Setter
        public Builder category(String category) {
            this.category = Objects.requireNonNull(category);
            return this;
        }
        @CustomType.Setter
        public Builder customizations(List<GetInstallationTemplateCustomization> customizations) {
            this.customizations = Objects.requireNonNull(customizations);
            return this;
        }
        public Builder customizations(GetInstallationTemplateCustomization... customizations) {
            return customizations(List.of(customizations));
        }
        @CustomType.Setter
        public Builder defaultLanguage(String defaultLanguage) {
            this.defaultLanguage = Objects.requireNonNull(defaultLanguage);
            return this;
        }
        @CustomType.Setter
        public Builder deprecated(Boolean deprecated) {
            this.deprecated = Objects.requireNonNull(deprecated);
            return this;
        }
        @CustomType.Setter
        public Builder description(String description) {
            this.description = Objects.requireNonNull(description);
            return this;
        }
        @CustomType.Setter
        public Builder distribution(String distribution) {
            this.distribution = Objects.requireNonNull(distribution);
            return this;
        }
        @CustomType.Setter
        public Builder family(String family) {
            this.family = Objects.requireNonNull(family);
            return this;
        }
        @CustomType.Setter
        public Builder filesystems(List<String> filesystems) {
            this.filesystems = Objects.requireNonNull(filesystems);
            return this;
        }
        public Builder filesystems(String... filesystems) {
            return filesystems(List.of(filesystems));
        }
        @CustomType.Setter
        public Builder hardRaidConfiguration(Boolean hardRaidConfiguration) {
            this.hardRaidConfiguration = Objects.requireNonNull(hardRaidConfiguration);
            return this;
        }
        @CustomType.Setter
        public Builder id(String id) {
            this.id = Objects.requireNonNull(id);
            return this;
        }
        @CustomType.Setter
        public Builder lastModification(String lastModification) {
            this.lastModification = Objects.requireNonNull(lastModification);
            return this;
        }
        @CustomType.Setter
        public Builder lvmReady(Boolean lvmReady) {
            this.lvmReady = Objects.requireNonNull(lvmReady);
            return this;
        }
        @CustomType.Setter
        public Builder partitionSchemes(List<GetInstallationTemplatePartitionScheme> partitionSchemes) {
            this.partitionSchemes = Objects.requireNonNull(partitionSchemes);
            return this;
        }
        public Builder partitionSchemes(GetInstallationTemplatePartitionScheme... partitionSchemes) {
            return partitionSchemes(List.of(partitionSchemes));
        }
        @CustomType.Setter
        public Builder supportsDistributionKernel(Boolean supportsDistributionKernel) {
            this.supportsDistributionKernel = Objects.requireNonNull(supportsDistributionKernel);
            return this;
        }
        @CustomType.Setter
        public Builder supportsRtm(Boolean supportsRtm) {
            this.supportsRtm = Objects.requireNonNull(supportsRtm);
            return this;
        }
        @CustomType.Setter
        public Builder supportsSqlServer(Boolean supportsSqlServer) {
            this.supportsSqlServer = Objects.requireNonNull(supportsSqlServer);
            return this;
        }
        @CustomType.Setter
        public Builder templateName(String templateName) {
            this.templateName = Objects.requireNonNull(templateName);
            return this;
        }
        public GetInstallationTemplateResult build() {
            final var o = new GetInstallationTemplateResult();
            o.availableLanguages = availableLanguages;
            o.beta = beta;
            o.bitFormat = bitFormat;
            o.category = category;
            o.customizations = customizations;
            o.defaultLanguage = defaultLanguage;
            o.deprecated = deprecated;
            o.description = description;
            o.distribution = distribution;
            o.family = family;
            o.filesystems = filesystems;
            o.hardRaidConfiguration = hardRaidConfiguration;
            o.id = id;
            o.lastModification = lastModification;
            o.lvmReady = lvmReady;
            o.partitionSchemes = partitionSchemes;
            o.supportsDistributionKernel = supportsDistributionKernel;
            o.supportsRtm = supportsRtm;
            o.supportsSqlServer = supportsSqlServer;
            o.templateName = templateName;
            return o;
        }
    }
}
