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

com.pulumi.libvirt.inputs.GetNodeDeviceInfoCapability Maven / Gradle / Ivy

There is a newer version: 0.6.0-alpha.1732600491
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.libvirt.inputs;

import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import com.pulumi.libvirt.inputs.GetNodeDeviceInfoCapabilityIommuGroup;
import java.lang.String;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


public final class GetNodeDeviceInfoCapability extends com.pulumi.resources.InvokeArgs {

    public static final GetNodeDeviceInfoCapability Empty = new GetNodeDeviceInfoCapability();

    /**
     * If present, the MAC address of the device
     * 
     */
    @Import(name="address")
    private @Nullable String address;

    /**
     * @return If present, the MAC address of the device
     * 
     */
    public Optional address() {
        return Optional.ofNullable(this.address);
    }

    /**
     * Block device name
     * 
     */
    @Import(name="block", required=true)
    private String block;

    /**
     * @return Block device name
     * 
     */
    public String block() {
        return this.block;
    }

    /**
     * The bus within the host
     * 
     */
    @Import(name="bus", required=true)
    private String bus;

    /**
     * @return The bus within the host
     * 
     */
    public String bus() {
        return this.bus;
    }

    /**
     * Holds key `type` that describes the type of network interface: `80203` for IEEE 802.3 or `80211` for IEEE 802.11
     * 
     */
    @Import(name="capability")
    private @Nullable Map capability;

    /**
     * @return Holds key `type` that describes the type of network interface: `80203` for IEEE 802.3 or `80211` for IEEE 802.11
     * 
     */
    public Optional> capability() {
        return Optional.ofNullable(this.capability);
    }

    /**
     * Device class
     * 
     */
    @Import(name="class", required=true)
    private String class_;

    /**
     * @return Device class
     * 
     */
    public String class_() {
        return this.class_;
    }

    @Import(name="description", required=true)
    private String description;

    public String description() {
        return this.description;
    }

    /**
     * Which device within the \
     * 
     */
    @Import(name="device", required=true)
    private String device;

    /**
     * @return Which device within the \
     * 
     */
    public String device() {
        return this.device;
    }

    /**
     * Device PCI domain
     * 
     */
    @Import(name="domain", required=true)
    private String domain;

    /**
     * @return Device PCI domain
     * 
     */
    public String domain() {
        return this.domain;
    }

    /**
     * Device drive type
     * 
     */
    @Import(name="driveType", required=true)
    private String driveType;

    /**
     * @return Device drive type
     * 
     */
    public String driveType() {
        return this.driveType;
    }

    /**
     * Type of DRM device: `render` or `card`
     * 
     */
    @Import(name="drmType", required=true)
    private String drmType;

    /**
     * @return Type of DRM device: `render` or `card`
     * 
     */
    public String drmType() {
        return this.drmType;
    }

    @Import(name="features")
    private @Nullable List features;

    public Optional> features() {
        return Optional.ofNullable(this.features);
    }

    @Import(name="firmware")
    private @Nullable Map firmware;

    public Optional> firmware() {
        return Optional.ofNullable(this.firmware);
    }

    /**
     * Device PCI function
     * 
     */
    @Import(name="function", required=true)
    private String function;

    /**
     * @return Device PCI function
     * 
     */
    public String function() {
        return this.function;
    }

    @Import(name="hardware")
    private @Nullable Map hardware;

    public Optional> hardware() {
        return Optional.ofNullable(this.hardware);
    }

    /**
     * The SCSI host containing the device
     * 
     */
    @Import(name="host", required=true)
    private String host;

    /**
     * @return The SCSI host containing the device
     * 
     */
    public String host() {
        return this.host;
    }

    /**
     * The interface name tied to this device
     * 
     */
    @Import(name="interface")
    private @Nullable String interface_;

    /**
     * @return The interface name tied to this device
     * 
     */
    public Optional interface_() {
        return Optional.ofNullable(this.interface_);
    }

    /**
     * Structure that holds IOMMU Group `number` and the list of devices that are part of the group
     * 
     */
    @Import(name="iommuGroup", required=true)
    private GetNodeDeviceInfoCapabilityIommuGroup iommuGroup;

    /**
     * @return Structure that holds IOMMU Group `number` and the list of devices that are part of the group
     * 
     */
    public GetNodeDeviceInfoCapabilityIommuGroup iommuGroup() {
        return this.iommuGroup;
    }

    /**
     * Optional to reflect the status of the link via `speed` and `state` keys
     * 
     */
    @Import(name="link")
    private @Nullable Map link;

    /**
     * @return Optional to reflect the status of the link via `speed` and `state` keys
     * 
     */
    public Optional> link() {
        return Optional.ofNullable(this.link);
    }

    /**
     * Device logical block size
     * 
     */
    @Import(name="logicalBlockSize", required=true)
    private String logicalBlockSize;

    /**
     * @return Device logical block size
     * 
     */
    public String logicalBlockSize() {
        return this.logicalBlockSize;
    }

    /**
     * The lun within the target
     * 
     */
    @Import(name="lun", required=true)
    private String lun;

    /**
     * @return The lun within the target
     * 
     */
    public String lun() {
        return this.lun;
    }

    /**
     * Device model
     * 
     */
    @Import(name="model", required=true)
    private String model;

    /**
     * @return Device model
     * 
     */
    public String model() {
        return this.model;
    }

    /**
     * Number of blocks on the device
     * 
     */
    @Import(name="numBlocks", required=true)
    private String numBlocks;

    /**
     * @return Number of blocks on the device
     * 
     */
    public String numBlocks() {
        return this.numBlocks;
    }

    /**
     * Device number
     * 
     */
    @Import(name="number", required=true)
    private String number;

    /**
     * @return Device number
     * 
     */
    public String number() {
        return this.number;
    }

    /**
     * If present, the product `id` and `name` from the device ROM
     * 
     */
    @Import(name="product")
    private @Nullable Map product;

    /**
     * @return If present, the product `id` and `name` from the device ROM
     * 
     */
    public Optional> product() {
        return Optional.ofNullable(this.product);
    }

    /**
     * Device protocol
     * 
     */
    @Import(name="protocol", required=true)
    private String protocol;

    /**
     * @return Device protocol
     * 
     */
    public String protocol() {
        return this.protocol;
    }

    /**
     * The type of SCSI device
     * 
     */
    @Import(name="scsiType", required=true)
    private String scsiType;

    /**
     * @return The type of SCSI device
     * 
     */
    public String scsiType() {
        return this.scsiType;
    }

    /**
     * Device serial number
     * 
     */
    @Import(name="serial", required=true)
    private String serial;

    /**
     * @return Device serial number
     * 
     */
    public String serial() {
        return this.serial;
    }

    /**
     * Device size in bytes
     * 
     */
    @Import(name="size", required=true)
    private String size;

    /**
     * @return Device size in bytes
     * 
     */
    public String size() {
        return this.size;
    }

    /**
     * Device PCI slot
     * 
     */
    @Import(name="slot", required=true)
    private String slot;

    /**
     * @return Device PCI slot
     * 
     */
    public String slot() {
        return this.slot;
    }

    /**
     * Device subclass
     * 
     */
    @Import(name="subclass", required=true)
    private String subclass;

    /**
     * @return Device subclass
     * 
     */
    public String subclass() {
        return this.subclass;
    }

    /**
     * The target within the bus
     * 
     */
    @Import(name="target", required=true)
    private String target;

    /**
     * @return The target within the bus
     * 
     */
    public String target() {
        return this.target;
    }

    /**
     * Device type: `pci`, `storage`, `usb`
     * 
     */
    @Import(name="type", required=true)
    private String type;

    /**
     * @return Device type: `pci`, `storage`, `usb`
     * 
     */
    public String type() {
        return this.type;
    }

    /**
     * This optionally provides the value from the 'unique_id' file found in the scsi_host's directory
     * 
     */
    @Import(name="uniqueId", required=true)
    private String uniqueId;

    /**
     * @return This optionally provides the value from the 'unique_id' file found in the scsi_host's directory
     * 
     */
    public String uniqueId() {
        return this.uniqueId;
    }

    /**
     * If present, the vendor `id` and `name` from the device ROM
     * 
     */
    @Import(name="vendor")
    private @Nullable Map vendor;

    /**
     * @return If present, the vendor `id` and `name` from the device ROM
     * 
     */
    public Optional> vendor() {
        return Optional.ofNullable(this.vendor);
    }

    private GetNodeDeviceInfoCapability() {}

    private GetNodeDeviceInfoCapability(GetNodeDeviceInfoCapability $) {
        this.address = $.address;
        this.block = $.block;
        this.bus = $.bus;
        this.capability = $.capability;
        this.class_ = $.class_;
        this.description = $.description;
        this.device = $.device;
        this.domain = $.domain;
        this.driveType = $.driveType;
        this.drmType = $.drmType;
        this.features = $.features;
        this.firmware = $.firmware;
        this.function = $.function;
        this.hardware = $.hardware;
        this.host = $.host;
        this.interface_ = $.interface_;
        this.iommuGroup = $.iommuGroup;
        this.link = $.link;
        this.logicalBlockSize = $.logicalBlockSize;
        this.lun = $.lun;
        this.model = $.model;
        this.numBlocks = $.numBlocks;
        this.number = $.number;
        this.product = $.product;
        this.protocol = $.protocol;
        this.scsiType = $.scsiType;
        this.serial = $.serial;
        this.size = $.size;
        this.slot = $.slot;
        this.subclass = $.subclass;
        this.target = $.target;
        this.type = $.type;
        this.uniqueId = $.uniqueId;
        this.vendor = $.vendor;
    }

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

    public static final class Builder {
        private GetNodeDeviceInfoCapability $;

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

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

        /**
         * @param address If present, the MAC address of the device
         * 
         * @return builder
         * 
         */
        public Builder address(@Nullable String address) {
            $.address = address;
            return this;
        }

        /**
         * @param block Block device name
         * 
         * @return builder
         * 
         */
        public Builder block(String block) {
            $.block = block;
            return this;
        }

        /**
         * @param bus The bus within the host
         * 
         * @return builder
         * 
         */
        public Builder bus(String bus) {
            $.bus = bus;
            return this;
        }

        /**
         * @param capability Holds key `type` that describes the type of network interface: `80203` for IEEE 802.3 or `80211` for IEEE 802.11
         * 
         * @return builder
         * 
         */
        public Builder capability(@Nullable Map capability) {
            $.capability = capability;
            return this;
        }

        /**
         * @param class_ Device class
         * 
         * @return builder
         * 
         */
        public Builder class_(String class_) {
            $.class_ = class_;
            return this;
        }

        public Builder description(String description) {
            $.description = description;
            return this;
        }

        /**
         * @param device Which device within the \
         * 
         * @return builder
         * 
         */
        public Builder device(String device) {
            $.device = device;
            return this;
        }

        /**
         * @param domain Device PCI domain
         * 
         * @return builder
         * 
         */
        public Builder domain(String domain) {
            $.domain = domain;
            return this;
        }

        /**
         * @param driveType Device drive type
         * 
         * @return builder
         * 
         */
        public Builder driveType(String driveType) {
            $.driveType = driveType;
            return this;
        }

        /**
         * @param drmType Type of DRM device: `render` or `card`
         * 
         * @return builder
         * 
         */
        public Builder drmType(String drmType) {
            $.drmType = drmType;
            return this;
        }

        public Builder features(@Nullable List features) {
            $.features = features;
            return this;
        }

        public Builder features(String... features) {
            return features(List.of(features));
        }

        public Builder firmware(@Nullable Map firmware) {
            $.firmware = firmware;
            return this;
        }

        /**
         * @param function Device PCI function
         * 
         * @return builder
         * 
         */
        public Builder function(String function) {
            $.function = function;
            return this;
        }

        public Builder hardware(@Nullable Map hardware) {
            $.hardware = hardware;
            return this;
        }

        /**
         * @param host The SCSI host containing the device
         * 
         * @return builder
         * 
         */
        public Builder host(String host) {
            $.host = host;
            return this;
        }

        /**
         * @param interface_ The interface name tied to this device
         * 
         * @return builder
         * 
         */
        public Builder interface_(@Nullable String interface_) {
            $.interface_ = interface_;
            return this;
        }

        /**
         * @param iommuGroup Structure that holds IOMMU Group `number` and the list of devices that are part of the group
         * 
         * @return builder
         * 
         */
        public Builder iommuGroup(GetNodeDeviceInfoCapabilityIommuGroup iommuGroup) {
            $.iommuGroup = iommuGroup;
            return this;
        }

        /**
         * @param link Optional to reflect the status of the link via `speed` and `state` keys
         * 
         * @return builder
         * 
         */
        public Builder link(@Nullable Map link) {
            $.link = link;
            return this;
        }

        /**
         * @param logicalBlockSize Device logical block size
         * 
         * @return builder
         * 
         */
        public Builder logicalBlockSize(String logicalBlockSize) {
            $.logicalBlockSize = logicalBlockSize;
            return this;
        }

        /**
         * @param lun The lun within the target
         * 
         * @return builder
         * 
         */
        public Builder lun(String lun) {
            $.lun = lun;
            return this;
        }

        /**
         * @param model Device model
         * 
         * @return builder
         * 
         */
        public Builder model(String model) {
            $.model = model;
            return this;
        }

        /**
         * @param numBlocks Number of blocks on the device
         * 
         * @return builder
         * 
         */
        public Builder numBlocks(String numBlocks) {
            $.numBlocks = numBlocks;
            return this;
        }

        /**
         * @param number Device number
         * 
         * @return builder
         * 
         */
        public Builder number(String number) {
            $.number = number;
            return this;
        }

        /**
         * @param product If present, the product `id` and `name` from the device ROM
         * 
         * @return builder
         * 
         */
        public Builder product(@Nullable Map product) {
            $.product = product;
            return this;
        }

        /**
         * @param protocol Device protocol
         * 
         * @return builder
         * 
         */
        public Builder protocol(String protocol) {
            $.protocol = protocol;
            return this;
        }

        /**
         * @param scsiType The type of SCSI device
         * 
         * @return builder
         * 
         */
        public Builder scsiType(String scsiType) {
            $.scsiType = scsiType;
            return this;
        }

        /**
         * @param serial Device serial number
         * 
         * @return builder
         * 
         */
        public Builder serial(String serial) {
            $.serial = serial;
            return this;
        }

        /**
         * @param size Device size in bytes
         * 
         * @return builder
         * 
         */
        public Builder size(String size) {
            $.size = size;
            return this;
        }

        /**
         * @param slot Device PCI slot
         * 
         * @return builder
         * 
         */
        public Builder slot(String slot) {
            $.slot = slot;
            return this;
        }

        /**
         * @param subclass Device subclass
         * 
         * @return builder
         * 
         */
        public Builder subclass(String subclass) {
            $.subclass = subclass;
            return this;
        }

        /**
         * @param target The target within the bus
         * 
         * @return builder
         * 
         */
        public Builder target(String target) {
            $.target = target;
            return this;
        }

        /**
         * @param type Device type: `pci`, `storage`, `usb`
         * 
         * @return builder
         * 
         */
        public Builder type(String type) {
            $.type = type;
            return this;
        }

        /**
         * @param uniqueId This optionally provides the value from the 'unique_id' file found in the scsi_host's directory
         * 
         * @return builder
         * 
         */
        public Builder uniqueId(String uniqueId) {
            $.uniqueId = uniqueId;
            return this;
        }

        /**
         * @param vendor If present, the vendor `id` and `name` from the device ROM
         * 
         * @return builder
         * 
         */
        public Builder vendor(@Nullable Map vendor) {
            $.vendor = vendor;
            return this;
        }

        public GetNodeDeviceInfoCapability build() {
            if ($.block == null) {
                throw new MissingRequiredPropertyException("GetNodeDeviceInfoCapability", "block");
            }
            if ($.bus == null) {
                throw new MissingRequiredPropertyException("GetNodeDeviceInfoCapability", "bus");
            }
            if ($.class_ == null) {
                throw new MissingRequiredPropertyException("GetNodeDeviceInfoCapability", "class_");
            }
            if ($.description == null) {
                throw new MissingRequiredPropertyException("GetNodeDeviceInfoCapability", "description");
            }
            if ($.device == null) {
                throw new MissingRequiredPropertyException("GetNodeDeviceInfoCapability", "device");
            }
            if ($.domain == null) {
                throw new MissingRequiredPropertyException("GetNodeDeviceInfoCapability", "domain");
            }
            if ($.driveType == null) {
                throw new MissingRequiredPropertyException("GetNodeDeviceInfoCapability", "driveType");
            }
            if ($.drmType == null) {
                throw new MissingRequiredPropertyException("GetNodeDeviceInfoCapability", "drmType");
            }
            if ($.function == null) {
                throw new MissingRequiredPropertyException("GetNodeDeviceInfoCapability", "function");
            }
            if ($.host == null) {
                throw new MissingRequiredPropertyException("GetNodeDeviceInfoCapability", "host");
            }
            if ($.iommuGroup == null) {
                throw new MissingRequiredPropertyException("GetNodeDeviceInfoCapability", "iommuGroup");
            }
            if ($.logicalBlockSize == null) {
                throw new MissingRequiredPropertyException("GetNodeDeviceInfoCapability", "logicalBlockSize");
            }
            if ($.lun == null) {
                throw new MissingRequiredPropertyException("GetNodeDeviceInfoCapability", "lun");
            }
            if ($.model == null) {
                throw new MissingRequiredPropertyException("GetNodeDeviceInfoCapability", "model");
            }
            if ($.numBlocks == null) {
                throw new MissingRequiredPropertyException("GetNodeDeviceInfoCapability", "numBlocks");
            }
            if ($.number == null) {
                throw new MissingRequiredPropertyException("GetNodeDeviceInfoCapability", "number");
            }
            if ($.protocol == null) {
                throw new MissingRequiredPropertyException("GetNodeDeviceInfoCapability", "protocol");
            }
            if ($.scsiType == null) {
                throw new MissingRequiredPropertyException("GetNodeDeviceInfoCapability", "scsiType");
            }
            if ($.serial == null) {
                throw new MissingRequiredPropertyException("GetNodeDeviceInfoCapability", "serial");
            }
            if ($.size == null) {
                throw new MissingRequiredPropertyException("GetNodeDeviceInfoCapability", "size");
            }
            if ($.slot == null) {
                throw new MissingRequiredPropertyException("GetNodeDeviceInfoCapability", "slot");
            }
            if ($.subclass == null) {
                throw new MissingRequiredPropertyException("GetNodeDeviceInfoCapability", "subclass");
            }
            if ($.target == null) {
                throw new MissingRequiredPropertyException("GetNodeDeviceInfoCapability", "target");
            }
            if ($.type == null) {
                throw new MissingRequiredPropertyException("GetNodeDeviceInfoCapability", "type");
            }
            if ($.uniqueId == null) {
                throw new MissingRequiredPropertyException("GetNodeDeviceInfoCapability", "uniqueId");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy