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

com.pulumi.vsphere.VirtualMachineSnapshotArgs Maven / Gradle / Ivy

There is a newer version: 4.13.0-alpha.1731738919
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.vsphere;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


public final class VirtualMachineSnapshotArgs extends com.pulumi.resources.ResourceArgs {

    public static final VirtualMachineSnapshotArgs Empty = new VirtualMachineSnapshotArgs();

    /**
     * If set to `true`, the delta disks involved in this
     * snapshot will be consolidated into the parent when this resource is
     * destroyed.
     * 
     */
    @Import(name="consolidate")
    private @Nullable Output consolidate;

    /**
     * @return If set to `true`, the delta disks involved in this
     * snapshot will be consolidated into the parent when this resource is
     * destroyed.
     * 
     */
    public Optional> consolidate() {
        return Optional.ofNullable(this.consolidate);
    }

    /**
     * A description for the snapshot.
     * 
     */
    @Import(name="description", required=true)
    private Output description;

    /**
     * @return A description for the snapshot.
     * 
     */
    public Output description() {
        return this.description;
    }

    /**
     * If set to `true`, a dump of the internal state of the
     * virtual machine is included in the snapshot.
     * 
     */
    @Import(name="memory", required=true)
    private Output memory;

    /**
     * @return If set to `true`, a dump of the internal state of the
     * virtual machine is included in the snapshot.
     * 
     */
    public Output memory() {
        return this.memory;
    }

    /**
     * If set to `true`, and the virtual machine is powered
     * on when the snapshot is taken, VMware Tools is used to quiesce the file
     * system in the virtual machine.
     * 
     */
    @Import(name="quiesce", required=true)
    private Output quiesce;

    /**
     * @return If set to `true`, and the virtual machine is powered
     * on when the snapshot is taken, VMware Tools is used to quiesce the file
     * system in the virtual machine.
     * 
     */
    public Output quiesce() {
        return this.quiesce;
    }

    /**
     * If set to `true`, the entire snapshot subtree
     * is removed when this resource is destroyed.
     * 
     */
    @Import(name="removeChildren")
    private @Nullable Output removeChildren;

    /**
     * @return If set to `true`, the entire snapshot subtree
     * is removed when this resource is destroyed.
     * 
     */
    public Optional> removeChildren() {
        return Optional.ofNullable(this.removeChildren);
    }

    /**
     * The name of the snapshot.
     * 
     */
    @Import(name="snapshotName", required=true)
    private Output snapshotName;

    /**
     * @return The name of the snapshot.
     * 
     */
    public Output snapshotName() {
        return this.snapshotName;
    }

    /**
     * The virtual machine UUID.
     * 
     */
    @Import(name="virtualMachineUuid", required=true)
    private Output virtualMachineUuid;

    /**
     * @return The virtual machine UUID.
     * 
     */
    public Output virtualMachineUuid() {
        return this.virtualMachineUuid;
    }

    private VirtualMachineSnapshotArgs() {}

    private VirtualMachineSnapshotArgs(VirtualMachineSnapshotArgs $) {
        this.consolidate = $.consolidate;
        this.description = $.description;
        this.memory = $.memory;
        this.quiesce = $.quiesce;
        this.removeChildren = $.removeChildren;
        this.snapshotName = $.snapshotName;
        this.virtualMachineUuid = $.virtualMachineUuid;
    }

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

    public static final class Builder {
        private VirtualMachineSnapshotArgs $;

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

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

        /**
         * @param consolidate If set to `true`, the delta disks involved in this
         * snapshot will be consolidated into the parent when this resource is
         * destroyed.
         * 
         * @return builder
         * 
         */
        public Builder consolidate(@Nullable Output consolidate) {
            $.consolidate = consolidate;
            return this;
        }

        /**
         * @param consolidate If set to `true`, the delta disks involved in this
         * snapshot will be consolidated into the parent when this resource is
         * destroyed.
         * 
         * @return builder
         * 
         */
        public Builder consolidate(Boolean consolidate) {
            return consolidate(Output.of(consolidate));
        }

        /**
         * @param description A description for the snapshot.
         * 
         * @return builder
         * 
         */
        public Builder description(Output description) {
            $.description = description;
            return this;
        }

        /**
         * @param description A description for the snapshot.
         * 
         * @return builder
         * 
         */
        public Builder description(String description) {
            return description(Output.of(description));
        }

        /**
         * @param memory If set to `true`, a dump of the internal state of the
         * virtual machine is included in the snapshot.
         * 
         * @return builder
         * 
         */
        public Builder memory(Output memory) {
            $.memory = memory;
            return this;
        }

        /**
         * @param memory If set to `true`, a dump of the internal state of the
         * virtual machine is included in the snapshot.
         * 
         * @return builder
         * 
         */
        public Builder memory(Boolean memory) {
            return memory(Output.of(memory));
        }

        /**
         * @param quiesce If set to `true`, and the virtual machine is powered
         * on when the snapshot is taken, VMware Tools is used to quiesce the file
         * system in the virtual machine.
         * 
         * @return builder
         * 
         */
        public Builder quiesce(Output quiesce) {
            $.quiesce = quiesce;
            return this;
        }

        /**
         * @param quiesce If set to `true`, and the virtual machine is powered
         * on when the snapshot is taken, VMware Tools is used to quiesce the file
         * system in the virtual machine.
         * 
         * @return builder
         * 
         */
        public Builder quiesce(Boolean quiesce) {
            return quiesce(Output.of(quiesce));
        }

        /**
         * @param removeChildren If set to `true`, the entire snapshot subtree
         * is removed when this resource is destroyed.
         * 
         * @return builder
         * 
         */
        public Builder removeChildren(@Nullable Output removeChildren) {
            $.removeChildren = removeChildren;
            return this;
        }

        /**
         * @param removeChildren If set to `true`, the entire snapshot subtree
         * is removed when this resource is destroyed.
         * 
         * @return builder
         * 
         */
        public Builder removeChildren(Boolean removeChildren) {
            return removeChildren(Output.of(removeChildren));
        }

        /**
         * @param snapshotName The name of the snapshot.
         * 
         * @return builder
         * 
         */
        public Builder snapshotName(Output snapshotName) {
            $.snapshotName = snapshotName;
            return this;
        }

        /**
         * @param snapshotName The name of the snapshot.
         * 
         * @return builder
         * 
         */
        public Builder snapshotName(String snapshotName) {
            return snapshotName(Output.of(snapshotName));
        }

        /**
         * @param virtualMachineUuid The virtual machine UUID.
         * 
         * @return builder
         * 
         */
        public Builder virtualMachineUuid(Output virtualMachineUuid) {
            $.virtualMachineUuid = virtualMachineUuid;
            return this;
        }

        /**
         * @param virtualMachineUuid The virtual machine UUID.
         * 
         * @return builder
         * 
         */
        public Builder virtualMachineUuid(String virtualMachineUuid) {
            return virtualMachineUuid(Output.of(virtualMachineUuid));
        }

        public VirtualMachineSnapshotArgs build() {
            if ($.description == null) {
                throw new MissingRequiredPropertyException("VirtualMachineSnapshotArgs", "description");
            }
            if ($.memory == null) {
                throw new MissingRequiredPropertyException("VirtualMachineSnapshotArgs", "memory");
            }
            if ($.quiesce == null) {
                throw new MissingRequiredPropertyException("VirtualMachineSnapshotArgs", "quiesce");
            }
            if ($.snapshotName == null) {
                throw new MissingRequiredPropertyException("VirtualMachineSnapshotArgs", "snapshotName");
            }
            if ($.virtualMachineUuid == null) {
                throw new MissingRequiredPropertyException("VirtualMachineSnapshotArgs", "virtualMachineUuid");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy