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

com.pulumi.azurenative.compute.outputs.GetVirtualMachineExtensionResult 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.compute.outputs;

import com.pulumi.azurenative.compute.outputs.KeyVaultSecretReferenceResponse;
import com.pulumi.azurenative.compute.outputs.VirtualMachineExtensionInstanceViewResponse;
import com.pulumi.core.annotations.CustomType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.Object;
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 GetVirtualMachineExtensionResult {
    /**
     * @return Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true.
     * 
     */
    private @Nullable Boolean autoUpgradeMinorVersion;
    /**
     * @return Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available.
     * 
     */
    private @Nullable Boolean enableAutomaticUpgrade;
    /**
     * @return How the extension handler should be forced to update even if the extension configuration has not changed.
     * 
     */
    private @Nullable String forceUpdateTag;
    /**
     * @return Resource Id
     * 
     */
    private String id;
    /**
     * @return The virtual machine extension instance view.
     * 
     */
    private @Nullable VirtualMachineExtensionInstanceViewResponse instanceView;
    /**
     * @return Resource location
     * 
     */
    private @Nullable String location;
    /**
     * @return Resource name
     * 
     */
    private String name;
    /**
     * @return The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all.
     * 
     */
    private @Nullable Object protectedSettings;
    /**
     * @return The extensions protected settings that are passed by reference, and consumed from key vault
     * 
     */
    private @Nullable KeyVaultSecretReferenceResponse protectedSettingsFromKeyVault;
    /**
     * @return Collection of extension names after which this extension needs to be provisioned.
     * 
     */
    private @Nullable List provisionAfterExtensions;
    /**
     * @return The provisioning state, which only appears in the response.
     * 
     */
    private String provisioningState;
    /**
     * @return The name of the extension handler publisher.
     * 
     */
    private @Nullable String publisher;
    /**
     * @return Json formatted public settings for the extension.
     * 
     */
    private @Nullable Object settings;
    /**
     * @return Indicates whether failures stemming from the extension will be suppressed (Operational failures such as not connecting to the VM will not be suppressed regardless of this value). The default is false.
     * 
     */
    private @Nullable Boolean suppressFailures;
    /**
     * @return Resource tags
     * 
     */
    private @Nullable Map tags;
    /**
     * @return Resource type
     * 
     */
    private String type;
    /**
     * @return Specifies the version of the script handler.
     * 
     */
    private @Nullable String typeHandlerVersion;

    private GetVirtualMachineExtensionResult() {}
    /**
     * @return Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true.
     * 
     */
    public Optional autoUpgradeMinorVersion() {
        return Optional.ofNullable(this.autoUpgradeMinorVersion);
    }
    /**
     * @return Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available.
     * 
     */
    public Optional enableAutomaticUpgrade() {
        return Optional.ofNullable(this.enableAutomaticUpgrade);
    }
    /**
     * @return How the extension handler should be forced to update even if the extension configuration has not changed.
     * 
     */
    public Optional forceUpdateTag() {
        return Optional.ofNullable(this.forceUpdateTag);
    }
    /**
     * @return Resource Id
     * 
     */
    public String id() {
        return this.id;
    }
    /**
     * @return The virtual machine extension instance view.
     * 
     */
    public Optional instanceView() {
        return Optional.ofNullable(this.instanceView);
    }
    /**
     * @return Resource location
     * 
     */
    public Optional location() {
        return Optional.ofNullable(this.location);
    }
    /**
     * @return Resource name
     * 
     */
    public String name() {
        return this.name;
    }
    /**
     * @return The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all.
     * 
     */
    public Optional protectedSettings() {
        return Optional.ofNullable(this.protectedSettings);
    }
    /**
     * @return The extensions protected settings that are passed by reference, and consumed from key vault
     * 
     */
    public Optional protectedSettingsFromKeyVault() {
        return Optional.ofNullable(this.protectedSettingsFromKeyVault);
    }
    /**
     * @return Collection of extension names after which this extension needs to be provisioned.
     * 
     */
    public List provisionAfterExtensions() {
        return this.provisionAfterExtensions == null ? List.of() : this.provisionAfterExtensions;
    }
    /**
     * @return The provisioning state, which only appears in the response.
     * 
     */
    public String provisioningState() {
        return this.provisioningState;
    }
    /**
     * @return The name of the extension handler publisher.
     * 
     */
    public Optional publisher() {
        return Optional.ofNullable(this.publisher);
    }
    /**
     * @return Json formatted public settings for the extension.
     * 
     */
    public Optional settings() {
        return Optional.ofNullable(this.settings);
    }
    /**
     * @return Indicates whether failures stemming from the extension will be suppressed (Operational failures such as not connecting to the VM will not be suppressed regardless of this value). The default is false.
     * 
     */
    public Optional suppressFailures() {
        return Optional.ofNullable(this.suppressFailures);
    }
    /**
     * @return Resource tags
     * 
     */
    public Map tags() {
        return this.tags == null ? Map.of() : this.tags;
    }
    /**
     * @return Resource type
     * 
     */
    public String type() {
        return this.type;
    }
    /**
     * @return Specifies the version of the script handler.
     * 
     */
    public Optional typeHandlerVersion() {
        return Optional.ofNullable(this.typeHandlerVersion);
    }

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

    public static Builder builder(GetVirtualMachineExtensionResult defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private @Nullable Boolean autoUpgradeMinorVersion;
        private @Nullable Boolean enableAutomaticUpgrade;
        private @Nullable String forceUpdateTag;
        private String id;
        private @Nullable VirtualMachineExtensionInstanceViewResponse instanceView;
        private @Nullable String location;
        private String name;
        private @Nullable Object protectedSettings;
        private @Nullable KeyVaultSecretReferenceResponse protectedSettingsFromKeyVault;
        private @Nullable List provisionAfterExtensions;
        private String provisioningState;
        private @Nullable String publisher;
        private @Nullable Object settings;
        private @Nullable Boolean suppressFailures;
        private @Nullable Map tags;
        private String type;
        private @Nullable String typeHandlerVersion;
        public Builder() {}
        public Builder(GetVirtualMachineExtensionResult defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.autoUpgradeMinorVersion = defaults.autoUpgradeMinorVersion;
    	      this.enableAutomaticUpgrade = defaults.enableAutomaticUpgrade;
    	      this.forceUpdateTag = defaults.forceUpdateTag;
    	      this.id = defaults.id;
    	      this.instanceView = defaults.instanceView;
    	      this.location = defaults.location;
    	      this.name = defaults.name;
    	      this.protectedSettings = defaults.protectedSettings;
    	      this.protectedSettingsFromKeyVault = defaults.protectedSettingsFromKeyVault;
    	      this.provisionAfterExtensions = defaults.provisionAfterExtensions;
    	      this.provisioningState = defaults.provisioningState;
    	      this.publisher = defaults.publisher;
    	      this.settings = defaults.settings;
    	      this.suppressFailures = defaults.suppressFailures;
    	      this.tags = defaults.tags;
    	      this.type = defaults.type;
    	      this.typeHandlerVersion = defaults.typeHandlerVersion;
        }

        @CustomType.Setter
        public Builder autoUpgradeMinorVersion(@Nullable Boolean autoUpgradeMinorVersion) {

            this.autoUpgradeMinorVersion = autoUpgradeMinorVersion;
            return this;
        }
        @CustomType.Setter
        public Builder enableAutomaticUpgrade(@Nullable Boolean enableAutomaticUpgrade) {

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

            this.forceUpdateTag = forceUpdateTag;
            return this;
        }
        @CustomType.Setter
        public Builder id(String id) {
            if (id == null) {
              throw new MissingRequiredPropertyException("GetVirtualMachineExtensionResult", "id");
            }
            this.id = id;
            return this;
        }
        @CustomType.Setter
        public Builder instanceView(@Nullable VirtualMachineExtensionInstanceViewResponse instanceView) {

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

            this.location = location;
            return this;
        }
        @CustomType.Setter
        public Builder name(String name) {
            if (name == null) {
              throw new MissingRequiredPropertyException("GetVirtualMachineExtensionResult", "name");
            }
            this.name = name;
            return this;
        }
        @CustomType.Setter
        public Builder protectedSettings(@Nullable Object protectedSettings) {

            this.protectedSettings = protectedSettings;
            return this;
        }
        @CustomType.Setter
        public Builder protectedSettingsFromKeyVault(@Nullable KeyVaultSecretReferenceResponse protectedSettingsFromKeyVault) {

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

            this.provisionAfterExtensions = provisionAfterExtensions;
            return this;
        }
        public Builder provisionAfterExtensions(String... provisionAfterExtensions) {
            return provisionAfterExtensions(List.of(provisionAfterExtensions));
        }
        @CustomType.Setter
        public Builder provisioningState(String provisioningState) {
            if (provisioningState == null) {
              throw new MissingRequiredPropertyException("GetVirtualMachineExtensionResult", "provisioningState");
            }
            this.provisioningState = provisioningState;
            return this;
        }
        @CustomType.Setter
        public Builder publisher(@Nullable String publisher) {

            this.publisher = publisher;
            return this;
        }
        @CustomType.Setter
        public Builder settings(@Nullable Object settings) {

            this.settings = settings;
            return this;
        }
        @CustomType.Setter
        public Builder suppressFailures(@Nullable Boolean suppressFailures) {

            this.suppressFailures = suppressFailures;
            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("GetVirtualMachineExtensionResult", "type");
            }
            this.type = type;
            return this;
        }
        @CustomType.Setter
        public Builder typeHandlerVersion(@Nullable String typeHandlerVersion) {

            this.typeHandlerVersion = typeHandlerVersion;
            return this;
        }
        public GetVirtualMachineExtensionResult build() {
            final var _resultValue = new GetVirtualMachineExtensionResult();
            _resultValue.autoUpgradeMinorVersion = autoUpgradeMinorVersion;
            _resultValue.enableAutomaticUpgrade = enableAutomaticUpgrade;
            _resultValue.forceUpdateTag = forceUpdateTag;
            _resultValue.id = id;
            _resultValue.instanceView = instanceView;
            _resultValue.location = location;
            _resultValue.name = name;
            _resultValue.protectedSettings = protectedSettings;
            _resultValue.protectedSettingsFromKeyVault = protectedSettingsFromKeyVault;
            _resultValue.provisionAfterExtensions = provisionAfterExtensions;
            _resultValue.provisioningState = provisioningState;
            _resultValue.publisher = publisher;
            _resultValue.settings = settings;
            _resultValue.suppressFailures = suppressFailures;
            _resultValue.tags = tags;
            _resultValue.type = type;
            _resultValue.typeHandlerVersion = typeHandlerVersion;
            return _resultValue;
        }
    }
}