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

com.pulumi.azurenative.virtualmachineimages.outputs.ImageTemplateWindowsUpdateCustomizerResponse 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.virtualmachineimages.outputs;

import com.pulumi.core.annotations.CustomType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Integer;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;

@CustomType
public final class ImageTemplateWindowsUpdateCustomizerResponse {
    /**
     * @return Array of filters to select updates to apply. Omit or specify empty array to use the default (no filter). Refer to above link for examples and detailed description of this field.
     * 
     */
    private @Nullable List filters;
    /**
     * @return Friendly Name to provide context on what this customization step does
     * 
     */
    private @Nullable String name;
    /**
     * @return Criteria to search updates. Omit or specify empty string to use the default (search all). Refer to above link for examples and detailed description of this field.
     * 
     */
    private @Nullable String searchCriteria;
    /**
     * @return The type of customization tool you want to use on the Image. For example, "Shell" can be shell customizer
     * Expected value is 'WindowsUpdate'.
     * 
     */
    private String type;
    /**
     * @return Maximum number of updates to apply at a time. Omit or specify 0 to use the default (1000)
     * 
     */
    private @Nullable Integer updateLimit;

    private ImageTemplateWindowsUpdateCustomizerResponse() {}
    /**
     * @return Array of filters to select updates to apply. Omit or specify empty array to use the default (no filter). Refer to above link for examples and detailed description of this field.
     * 
     */
    public List filters() {
        return this.filters == null ? List.of() : this.filters;
    }
    /**
     * @return Friendly Name to provide context on what this customization step does
     * 
     */
    public Optional name() {
        return Optional.ofNullable(this.name);
    }
    /**
     * @return Criteria to search updates. Omit or specify empty string to use the default (search all). Refer to above link for examples and detailed description of this field.
     * 
     */
    public Optional searchCriteria() {
        return Optional.ofNullable(this.searchCriteria);
    }
    /**
     * @return The type of customization tool you want to use on the Image. For example, "Shell" can be shell customizer
     * Expected value is 'WindowsUpdate'.
     * 
     */
    public String type() {
        return this.type;
    }
    /**
     * @return Maximum number of updates to apply at a time. Omit or specify 0 to use the default (1000)
     * 
     */
    public Optional updateLimit() {
        return Optional.ofNullable(this.updateLimit);
    }

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

    public static Builder builder(ImageTemplateWindowsUpdateCustomizerResponse defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private @Nullable List filters;
        private @Nullable String name;
        private @Nullable String searchCriteria;
        private String type;
        private @Nullable Integer updateLimit;
        public Builder() {}
        public Builder(ImageTemplateWindowsUpdateCustomizerResponse defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.filters = defaults.filters;
    	      this.name = defaults.name;
    	      this.searchCriteria = defaults.searchCriteria;
    	      this.type = defaults.type;
    	      this.updateLimit = defaults.updateLimit;
        }

        @CustomType.Setter
        public Builder filters(@Nullable List filters) {

            this.filters = filters;
            return this;
        }
        public Builder filters(String... filters) {
            return filters(List.of(filters));
        }
        @CustomType.Setter
        public Builder name(@Nullable String name) {

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

            this.searchCriteria = searchCriteria;
            return this;
        }
        @CustomType.Setter
        public Builder type(String type) {
            if (type == null) {
              throw new MissingRequiredPropertyException("ImageTemplateWindowsUpdateCustomizerResponse", "type");
            }
            this.type = type;
            return this;
        }
        @CustomType.Setter
        public Builder updateLimit(@Nullable Integer updateLimit) {

            this.updateLimit = updateLimit;
            return this;
        }
        public ImageTemplateWindowsUpdateCustomizerResponse build() {
            final var _resultValue = new ImageTemplateWindowsUpdateCustomizerResponse();
            _resultValue.filters = filters;
            _resultValue.name = name;
            _resultValue.searchCriteria = searchCriteria;
            _resultValue.type = type;
            _resultValue.updateLimit = updateLimit;
            return _resultValue;
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy