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

com.pulumi.azurenative.azurestackhci.outputs.GetExtensionResult Maven / Gradle / Ivy

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

import com.pulumi.azurenative.azurestackhci.outputs.PerNodeExtensionStateResponse;
import com.pulumi.azurenative.azurestackhci.outputs.SystemDataResponse;
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 GetExtensionResult {
    /**
     * @return Aggregate state of Arc Extensions across the nodes in this HCI cluster.
     * 
     */
    private String aggregateState;
    /**
     * @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 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 Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
     * 
     */
    private String id;
    /**
     * @return Indicates if the extension is managed by azure or the user.
     * 
     */
    private String managedBy;
    /**
     * @return The name of the resource
     * 
     */
    private String name;
    /**
     * @return State of Arc Extension in each of the nodes.
     * 
     */
    private List perNodeExtensionDetails;
    /**
     * @return Protected settings (may contain secrets).
     * 
     */
    private @Nullable Object protectedSettings;
    /**
     * @return Provisioning state of the Extension proxy resource.
     * 
     */
    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 Azure Resource Manager metadata containing createdBy and modifiedBy information.
     * 
     */
    private SystemDataResponse systemData;
    /**
     * @return The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
     * 
     */
    private String type;
    /**
     * @return Specifies the version of the script handler. Latest version would be used if not specified.
     * 
     */
    private @Nullable String typeHandlerVersion;

    private GetExtensionResult() {}
    /**
     * @return Aggregate state of Arc Extensions across the nodes in this HCI cluster.
     * 
     */
    public String aggregateState() {
        return this.aggregateState;
    }
    /**
     * @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 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 Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
     * 
     */
    public String id() {
        return this.id;
    }
    /**
     * @return Indicates if the extension is managed by azure or the user.
     * 
     */
    public String managedBy() {
        return this.managedBy;
    }
    /**
     * @return The name of the resource
     * 
     */
    public String name() {
        return this.name;
    }
    /**
     * @return State of Arc Extension in each of the nodes.
     * 
     */
    public List perNodeExtensionDetails() {
        return this.perNodeExtensionDetails;
    }
    /**
     * @return Protected settings (may contain secrets).
     * 
     */
    public Optional protectedSettings() {
        return Optional.ofNullable(this.protectedSettings);
    }
    /**
     * @return Provisioning state of the Extension proxy resource.
     * 
     */
    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 Azure Resource Manager metadata containing createdBy and modifiedBy information.
     * 
     */
    public SystemDataResponse systemData() {
        return this.systemData;
    }
    /**
     * @return The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
     * 
     */
    public String type() {
        return this.type;
    }
    /**
     * @return Specifies the version of the script handler. Latest version would be used if not specified.
     * 
     */
    public Optional typeHandlerVersion() {
        return Optional.ofNullable(this.typeHandlerVersion);
    }

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

    public static Builder builder(GetExtensionResult defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private String aggregateState;
        private @Nullable Boolean autoUpgradeMinorVersion;
        private @Nullable Boolean enableAutomaticUpgrade;
        private @Nullable String forceUpdateTag;
        private String id;
        private String managedBy;
        private String name;
        private List perNodeExtensionDetails;
        private @Nullable Object protectedSettings;
        private String provisioningState;
        private @Nullable String publisher;
        private @Nullable Object settings;
        private SystemDataResponse systemData;
        private String type;
        private @Nullable String typeHandlerVersion;
        public Builder() {}
        public Builder(GetExtensionResult defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.aggregateState = defaults.aggregateState;
    	      this.autoUpgradeMinorVersion = defaults.autoUpgradeMinorVersion;
    	      this.enableAutomaticUpgrade = defaults.enableAutomaticUpgrade;
    	      this.forceUpdateTag = defaults.forceUpdateTag;
    	      this.id = defaults.id;
    	      this.managedBy = defaults.managedBy;
    	      this.name = defaults.name;
    	      this.perNodeExtensionDetails = defaults.perNodeExtensionDetails;
    	      this.protectedSettings = defaults.protectedSettings;
    	      this.provisioningState = defaults.provisioningState;
    	      this.publisher = defaults.publisher;
    	      this.settings = defaults.settings;
    	      this.systemData = defaults.systemData;
    	      this.type = defaults.type;
    	      this.typeHandlerVersion = defaults.typeHandlerVersion;
        }

        @CustomType.Setter
        public Builder aggregateState(String aggregateState) {
            if (aggregateState == null) {
              throw new MissingRequiredPropertyException("GetExtensionResult", "aggregateState");
            }
            this.aggregateState = aggregateState;
            return this;
        }
        @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("GetExtensionResult", "id");
            }
            this.id = id;
            return this;
        }
        @CustomType.Setter
        public Builder managedBy(String managedBy) {
            if (managedBy == null) {
              throw new MissingRequiredPropertyException("GetExtensionResult", "managedBy");
            }
            this.managedBy = managedBy;
            return this;
        }
        @CustomType.Setter
        public Builder name(String name) {
            if (name == null) {
              throw new MissingRequiredPropertyException("GetExtensionResult", "name");
            }
            this.name = name;
            return this;
        }
        @CustomType.Setter
        public Builder perNodeExtensionDetails(List perNodeExtensionDetails) {
            if (perNodeExtensionDetails == null) {
              throw new MissingRequiredPropertyException("GetExtensionResult", "perNodeExtensionDetails");
            }
            this.perNodeExtensionDetails = perNodeExtensionDetails;
            return this;
        }
        public Builder perNodeExtensionDetails(PerNodeExtensionStateResponse... perNodeExtensionDetails) {
            return perNodeExtensionDetails(List.of(perNodeExtensionDetails));
        }
        @CustomType.Setter
        public Builder protectedSettings(@Nullable Object protectedSettings) {

            this.protectedSettings = protectedSettings;
            return this;
        }
        @CustomType.Setter
        public Builder provisioningState(String provisioningState) {
            if (provisioningState == null) {
              throw new MissingRequiredPropertyException("GetExtensionResult", "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 systemData(SystemDataResponse systemData) {
            if (systemData == null) {
              throw new MissingRequiredPropertyException("GetExtensionResult", "systemData");
            }
            this.systemData = systemData;
            return this;
        }
        @CustomType.Setter
        public Builder type(String type) {
            if (type == null) {
              throw new MissingRequiredPropertyException("GetExtensionResult", "type");
            }
            this.type = type;
            return this;
        }
        @CustomType.Setter
        public Builder typeHandlerVersion(@Nullable String typeHandlerVersion) {

            this.typeHandlerVersion = typeHandlerVersion;
            return this;
        }
        public GetExtensionResult build() {
            final var _resultValue = new GetExtensionResult();
            _resultValue.aggregateState = aggregateState;
            _resultValue.autoUpgradeMinorVersion = autoUpgradeMinorVersion;
            _resultValue.enableAutomaticUpgrade = enableAutomaticUpgrade;
            _resultValue.forceUpdateTag = forceUpdateTag;
            _resultValue.id = id;
            _resultValue.managedBy = managedBy;
            _resultValue.name = name;
            _resultValue.perNodeExtensionDetails = perNodeExtensionDetails;
            _resultValue.protectedSettings = protectedSettings;
            _resultValue.provisioningState = provisioningState;
            _resultValue.publisher = publisher;
            _resultValue.settings = settings;
            _resultValue.systemData = systemData;
            _resultValue.type = type;
            _resultValue.typeHandlerVersion = typeHandlerVersion;
            return _resultValue;
        }
    }
}