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

com.pulumi.azurenative.compute.outputs.VirtualMachineScaleSetExtensionResponse Maven / Gradle / Ivy

There is a newer version: 2.82.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.compute.outputs;

import com.pulumi.azurenative.compute.outputs.KeyVaultSecretReferenceResponse;
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.Objects;
import java.util.Optional;
import javax.annotation.Nullable;

@CustomType
public final class VirtualMachineScaleSetExtensionResponse {
    /**
     * @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 If a value is provided and is different from the previous value, the extension handler will be forced to update even if the extension configuration has not changed.
     * 
     */
    private @Nullable String forceUpdateTag;
    /**
     * @return Resource Id
     * 
     */
    private String id;
    /**
     * @return The name of the extension.
     * 
     */
    private @Nullable 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 type
     * 
     */
    private String type;
    /**
     * @return Specifies the version of the script handler.
     * 
     */
    private @Nullable String typeHandlerVersion;

    private VirtualMachineScaleSetExtensionResponse() {}
    /**
     * @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 If a value is provided and is different from the previous value, the extension handler will 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 name of the extension.
     * 
     */
    public Optional name() {
        return Optional.ofNullable(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 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(VirtualMachineScaleSetExtensionResponse 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 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 String type;
        private @Nullable String typeHandlerVersion;
        public Builder() {}
        public Builder(VirtualMachineScaleSetExtensionResponse defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.autoUpgradeMinorVersion = defaults.autoUpgradeMinorVersion;
    	      this.enableAutomaticUpgrade = defaults.enableAutomaticUpgrade;
    	      this.forceUpdateTag = defaults.forceUpdateTag;
    	      this.id = defaults.id;
    	      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.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("VirtualMachineScaleSetExtensionResponse", "id");
            }
            this.id = id;
            return this;
        }
        @CustomType.Setter
        public Builder name(@Nullable String 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("VirtualMachineScaleSetExtensionResponse", "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 type(String type) {
            if (type == null) {
              throw new MissingRequiredPropertyException("VirtualMachineScaleSetExtensionResponse", "type");
            }
            this.type = type;
            return this;
        }
        @CustomType.Setter
        public Builder typeHandlerVersion(@Nullable String typeHandlerVersion) {

            this.typeHandlerVersion = typeHandlerVersion;
            return this;
        }
        public VirtualMachineScaleSetExtensionResponse build() {
            final var _resultValue = new VirtualMachineScaleSetExtensionResponse();
            _resultValue.autoUpgradeMinorVersion = autoUpgradeMinorVersion;
            _resultValue.enableAutomaticUpgrade = enableAutomaticUpgrade;
            _resultValue.forceUpdateTag = forceUpdateTag;
            _resultValue.id = id;
            _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.type = type;
            _resultValue.typeHandlerVersion = typeHandlerVersion;
            return _resultValue;
        }
    }
}