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

com.pulumi.azurenative.testbase.DraftPackageArgs Maven / Gradle / Ivy

There is a newer version: 2.72.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.testbase;

import com.pulumi.azurenative.testbase.enums.DraftPackageSourceType;
import com.pulumi.azurenative.testbase.enums.TestType;
import com.pulumi.azurenative.testbase.inputs.DraftPackageIntuneAppMetadataArgs;
import com.pulumi.azurenative.testbase.inputs.FirstPartyAppDefinitionArgs;
import com.pulumi.azurenative.testbase.inputs.GalleryAppDefinitionArgs;
import com.pulumi.azurenative.testbase.inputs.HighlightedFileArgs;
import com.pulumi.azurenative.testbase.inputs.InplaceUpgradeOSInfoArgs;
import com.pulumi.azurenative.testbase.inputs.IntuneEnrollmentMetadataArgs;
import com.pulumi.azurenative.testbase.inputs.TabStateArgs;
import com.pulumi.azurenative.testbase.inputs.TargetOSInfoArgs;
import com.pulumi.azurenative.testbase.inputs.TestArgs;
import com.pulumi.core.Either;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.core.internal.Codegen;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.String;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final DraftPackageArgs Empty = new DraftPackageArgs();

    /**
     * The name of the app file.
     * 
     */
    @Import(name="appFileName")
    private @Nullable Output appFileName;

    /**
     * @return The name of the app file.
     * 
     */
    public Optional> appFileName() {
        return Optional.ofNullable(this.appFileName);
    }

    /**
     * Application name
     * 
     */
    @Import(name="applicationName")
    private @Nullable Output applicationName;

    /**
     * @return Application name
     * 
     */
    public Optional> applicationName() {
        return Optional.ofNullable(this.applicationName);
    }

    /**
     * Comments added by user.
     * 
     */
    @Import(name="comments")
    private @Nullable Output comments;

    /**
     * @return Comments added by user.
     * 
     */
    public Optional> comments() {
        return Optional.ofNullable(this.comments);
    }

    /**
     * The resource name of the Test Base Draft Package.
     * 
     */
    @Import(name="draftPackageName")
    private @Nullable Output draftPackageName;

    /**
     * @return The resource name of the Test Base Draft Package.
     * 
     */
    public Optional> draftPackageName() {
        return Optional.ofNullable(this.draftPackageName);
    }

    /**
     * Specifies whether this draft package is used to edit a package.
     * 
     */
    @Import(name="editPackage")
    private @Nullable Output editPackage;

    /**
     * @return Specifies whether this draft package is used to edit a package.
     * 
     */
    public Optional> editPackage() {
        return Optional.ofNullable(this.editPackage);
    }

    /**
     * The executable launch command for script auto-fill. Will be used to run the application.
     * 
     */
    @Import(name="executableLaunchCommand")
    private @Nullable Output executableLaunchCommand;

    /**
     * @return The executable launch command for script auto-fill. Will be used to run the application.
     * 
     */
    public Optional> executableLaunchCommand() {
        return Optional.ofNullable(this.executableLaunchCommand);
    }

    /**
     * The list of first party applications to test along with user application.
     * 
     */
    @Import(name="firstPartyApps")
    private @Nullable Output> firstPartyApps;

    /**
     * @return The list of first party applications to test along with user application.
     * 
     */
    public Optional>> firstPartyApps() {
        return Optional.ofNullable(this.firstPartyApps);
    }

    /**
     * The flighting ring for feature update.
     * 
     */
    @Import(name="flightingRing")
    private @Nullable Output flightingRing;

    /**
     * @return The flighting ring for feature update.
     * 
     */
    public Optional> flightingRing() {
        return Optional.ofNullable(this.flightingRing);
    }

    /**
     * The list of gallery apps to test along with user application.
     * 
     */
    @Import(name="galleryApps")
    private @Nullable Output> galleryApps;

    /**
     * @return The list of gallery apps to test along with user application.
     * 
     */
    public Optional>> galleryApps() {
        return Optional.ofNullable(this.galleryApps);
    }

    /**
     * The highlight files in the package.
     * 
     */
    @Import(name="highlightedFiles")
    private @Nullable Output> highlightedFiles;

    /**
     * @return The highlight files in the package.
     * 
     */
    public Optional>> highlightedFiles() {
        return Optional.ofNullable(this.highlightedFiles);
    }

    /**
     * Specifies the baseline os and target os for inplace upgrade.
     * 
     */
    @Import(name="inplaceUpgradeOSPair")
    private @Nullable Output inplaceUpgradeOSPair;

    /**
     * @return Specifies the baseline os and target os for inplace upgrade.
     * 
     */
    public Optional> inplaceUpgradeOSPair() {
        return Optional.ofNullable(this.inplaceUpgradeOSPair);
    }

    /**
     * The metadata of Intune enrollment.
     * 
     */
    @Import(name="intuneEnrollmentMetadata")
    private @Nullable Output intuneEnrollmentMetadata;

    /**
     * @return The metadata of Intune enrollment.
     * 
     */
    public Optional> intuneEnrollmentMetadata() {
        return Optional.ofNullable(this.intuneEnrollmentMetadata);
    }

    /**
     * Metadata used to generate draft package folder and scripts.
     * 
     */
    @Import(name="intuneMetadata")
    private @Nullable Output intuneMetadata;

    /**
     * @return Metadata used to generate draft package folder and scripts.
     * 
     */
    public Optional> intuneMetadata() {
        return Optional.ofNullable(this.intuneMetadata);
    }

    /**
     * Specifies the package id from which the draft package copied.
     * 
     */
    @Import(name="packageId")
    private @Nullable Output packageId;

    /**
     * @return Specifies the package id from which the draft package copied.
     * 
     */
    public Optional> packageId() {
        return Optional.ofNullable(this.packageId);
    }

    /**
     * Tags of the package to be created.
     * 
     */
    @Import(name="packageTags")
    private @Nullable Output> packageTags;

    /**
     * @return Tags of the package to be created.
     * 
     */
    public Optional>> packageTags() {
        return Optional.ofNullable(this.packageTags);
    }

    /**
     * The process name for script auto-fill. Will be used to identify the application process.
     * 
     */
    @Import(name="processName")
    private @Nullable Output processName;

    /**
     * @return The process name for script auto-fill. Will be used to identify the application process.
     * 
     */
    public Optional> processName() {
        return Optional.ofNullable(this.processName);
    }

    /**
     * The name of the resource group. The name is case insensitive.
     * 
     */
    @Import(name="resourceGroupName", required=true)
    private Output resourceGroupName;

    /**
     * @return The name of the resource group. The name is case insensitive.
     * 
     */
    public Output resourceGroupName() {
        return this.resourceGroupName;
    }

    /**
     * The source type.
     * 
     */
    @Import(name="sourceType")
    private @Nullable Output> sourceType;

    /**
     * @return The source type.
     * 
     */
    public Optional>> sourceType() {
        return Optional.ofNullable(this.sourceType);
    }

    /**
     * Tab state.
     * 
     */
    @Import(name="tabState")
    private @Nullable Output tabState;

    /**
     * @return Tab state.
     * 
     */
    public Optional> tabState() {
        return Optional.ofNullable(this.tabState);
    }

    /**
     * Specifies the target OSs of specific OS Update types.
     * 
     */
    @Import(name="targetOSList")
    private @Nullable Output> targetOSList;

    /**
     * @return Specifies the target OSs of specific OS Update types.
     * 
     */
    public Optional>> targetOSList() {
        return Optional.ofNullable(this.targetOSList);
    }

    /**
     * The resource name of the Test Base Account.
     * 
     */
    @Import(name="testBaseAccountName", required=true)
    private Output testBaseAccountName;

    /**
     * @return The resource name of the Test Base Account.
     * 
     */
    public Output testBaseAccountName() {
        return this.testBaseAccountName;
    }

    /**
     * OOB, functional or flow driven. Mapped to the data in 'tests' property.
     * 
     */
    @Import(name="testTypes")
    private @Nullable Output>> testTypes;

    /**
     * @return OOB, functional or flow driven. Mapped to the data in 'tests' property.
     * 
     */
    public Optional>>> testTypes() {
        return Optional.ofNullable(this.testTypes);
    }

    /**
     * The detailed test information.
     * 
     */
    @Import(name="tests")
    private @Nullable Output> tests;

    /**
     * @return The detailed test information.
     * 
     */
    public Optional>> tests() {
        return Optional.ofNullable(this.tests);
    }

    /**
     * Indicates whether user choose to enable script auto-fill.
     * 
     */
    @Import(name="useAutofill")
    private @Nullable Output useAutofill;

    /**
     * @return Indicates whether user choose to enable script auto-fill.
     * 
     */
    public Optional> useAutofill() {
        return Optional.ofNullable(this.useAutofill);
    }

    /**
     * Specifies whether a sample package should be used instead of the one uploaded by the user.
     * 
     */
    @Import(name="useSample")
    private @Nullable Output useSample;

    /**
     * @return Specifies whether a sample package should be used instead of the one uploaded by the user.
     * 
     */
    public Optional> useSample() {
        return Optional.ofNullable(this.useSample);
    }

    /**
     * Application version
     * 
     */
    @Import(name="version")
    private @Nullable Output version;

    /**
     * @return Application version
     * 
     */
    public Optional> version() {
        return Optional.ofNullable(this.version);
    }

    private DraftPackageArgs() {}

    private DraftPackageArgs(DraftPackageArgs $) {
        this.appFileName = $.appFileName;
        this.applicationName = $.applicationName;
        this.comments = $.comments;
        this.draftPackageName = $.draftPackageName;
        this.editPackage = $.editPackage;
        this.executableLaunchCommand = $.executableLaunchCommand;
        this.firstPartyApps = $.firstPartyApps;
        this.flightingRing = $.flightingRing;
        this.galleryApps = $.galleryApps;
        this.highlightedFiles = $.highlightedFiles;
        this.inplaceUpgradeOSPair = $.inplaceUpgradeOSPair;
        this.intuneEnrollmentMetadata = $.intuneEnrollmentMetadata;
        this.intuneMetadata = $.intuneMetadata;
        this.packageId = $.packageId;
        this.packageTags = $.packageTags;
        this.processName = $.processName;
        this.resourceGroupName = $.resourceGroupName;
        this.sourceType = $.sourceType;
        this.tabState = $.tabState;
        this.targetOSList = $.targetOSList;
        this.testBaseAccountName = $.testBaseAccountName;
        this.testTypes = $.testTypes;
        this.tests = $.tests;
        this.useAutofill = $.useAutofill;
        this.useSample = $.useSample;
        this.version = $.version;
    }

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

    public static final class Builder {
        private DraftPackageArgs $;

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

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

        /**
         * @param appFileName The name of the app file.
         * 
         * @return builder
         * 
         */
        public Builder appFileName(@Nullable Output appFileName) {
            $.appFileName = appFileName;
            return this;
        }

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

        /**
         * @param applicationName Application name
         * 
         * @return builder
         * 
         */
        public Builder applicationName(@Nullable Output applicationName) {
            $.applicationName = applicationName;
            return this;
        }

        /**
         * @param applicationName Application name
         * 
         * @return builder
         * 
         */
        public Builder applicationName(String applicationName) {
            return applicationName(Output.of(applicationName));
        }

        /**
         * @param comments Comments added by user.
         * 
         * @return builder
         * 
         */
        public Builder comments(@Nullable Output comments) {
            $.comments = comments;
            return this;
        }

        /**
         * @param comments Comments added by user.
         * 
         * @return builder
         * 
         */
        public Builder comments(String comments) {
            return comments(Output.of(comments));
        }

        /**
         * @param draftPackageName The resource name of the Test Base Draft Package.
         * 
         * @return builder
         * 
         */
        public Builder draftPackageName(@Nullable Output draftPackageName) {
            $.draftPackageName = draftPackageName;
            return this;
        }

        /**
         * @param draftPackageName The resource name of the Test Base Draft Package.
         * 
         * @return builder
         * 
         */
        public Builder draftPackageName(String draftPackageName) {
            return draftPackageName(Output.of(draftPackageName));
        }

        /**
         * @param editPackage Specifies whether this draft package is used to edit a package.
         * 
         * @return builder
         * 
         */
        public Builder editPackage(@Nullable Output editPackage) {
            $.editPackage = editPackage;
            return this;
        }

        /**
         * @param editPackage Specifies whether this draft package is used to edit a package.
         * 
         * @return builder
         * 
         */
        public Builder editPackage(Boolean editPackage) {
            return editPackage(Output.of(editPackage));
        }

        /**
         * @param executableLaunchCommand The executable launch command for script auto-fill. Will be used to run the application.
         * 
         * @return builder
         * 
         */
        public Builder executableLaunchCommand(@Nullable Output executableLaunchCommand) {
            $.executableLaunchCommand = executableLaunchCommand;
            return this;
        }

        /**
         * @param executableLaunchCommand The executable launch command for script auto-fill. Will be used to run the application.
         * 
         * @return builder
         * 
         */
        public Builder executableLaunchCommand(String executableLaunchCommand) {
            return executableLaunchCommand(Output.of(executableLaunchCommand));
        }

        /**
         * @param firstPartyApps The list of first party applications to test along with user application.
         * 
         * @return builder
         * 
         */
        public Builder firstPartyApps(@Nullable Output> firstPartyApps) {
            $.firstPartyApps = firstPartyApps;
            return this;
        }

        /**
         * @param firstPartyApps The list of first party applications to test along with user application.
         * 
         * @return builder
         * 
         */
        public Builder firstPartyApps(List firstPartyApps) {
            return firstPartyApps(Output.of(firstPartyApps));
        }

        /**
         * @param firstPartyApps The list of first party applications to test along with user application.
         * 
         * @return builder
         * 
         */
        public Builder firstPartyApps(FirstPartyAppDefinitionArgs... firstPartyApps) {
            return firstPartyApps(List.of(firstPartyApps));
        }

        /**
         * @param flightingRing The flighting ring for feature update.
         * 
         * @return builder
         * 
         */
        public Builder flightingRing(@Nullable Output flightingRing) {
            $.flightingRing = flightingRing;
            return this;
        }

        /**
         * @param flightingRing The flighting ring for feature update.
         * 
         * @return builder
         * 
         */
        public Builder flightingRing(String flightingRing) {
            return flightingRing(Output.of(flightingRing));
        }

        /**
         * @param galleryApps The list of gallery apps to test along with user application.
         * 
         * @return builder
         * 
         */
        public Builder galleryApps(@Nullable Output> galleryApps) {
            $.galleryApps = galleryApps;
            return this;
        }

        /**
         * @param galleryApps The list of gallery apps to test along with user application.
         * 
         * @return builder
         * 
         */
        public Builder galleryApps(List galleryApps) {
            return galleryApps(Output.of(galleryApps));
        }

        /**
         * @param galleryApps The list of gallery apps to test along with user application.
         * 
         * @return builder
         * 
         */
        public Builder galleryApps(GalleryAppDefinitionArgs... galleryApps) {
            return galleryApps(List.of(galleryApps));
        }

        /**
         * @param highlightedFiles The highlight files in the package.
         * 
         * @return builder
         * 
         */
        public Builder highlightedFiles(@Nullable Output> highlightedFiles) {
            $.highlightedFiles = highlightedFiles;
            return this;
        }

        /**
         * @param highlightedFiles The highlight files in the package.
         * 
         * @return builder
         * 
         */
        public Builder highlightedFiles(List highlightedFiles) {
            return highlightedFiles(Output.of(highlightedFiles));
        }

        /**
         * @param highlightedFiles The highlight files in the package.
         * 
         * @return builder
         * 
         */
        public Builder highlightedFiles(HighlightedFileArgs... highlightedFiles) {
            return highlightedFiles(List.of(highlightedFiles));
        }

        /**
         * @param inplaceUpgradeOSPair Specifies the baseline os and target os for inplace upgrade.
         * 
         * @return builder
         * 
         */
        public Builder inplaceUpgradeOSPair(@Nullable Output inplaceUpgradeOSPair) {
            $.inplaceUpgradeOSPair = inplaceUpgradeOSPair;
            return this;
        }

        /**
         * @param inplaceUpgradeOSPair Specifies the baseline os and target os for inplace upgrade.
         * 
         * @return builder
         * 
         */
        public Builder inplaceUpgradeOSPair(InplaceUpgradeOSInfoArgs inplaceUpgradeOSPair) {
            return inplaceUpgradeOSPair(Output.of(inplaceUpgradeOSPair));
        }

        /**
         * @param intuneEnrollmentMetadata The metadata of Intune enrollment.
         * 
         * @return builder
         * 
         */
        public Builder intuneEnrollmentMetadata(@Nullable Output intuneEnrollmentMetadata) {
            $.intuneEnrollmentMetadata = intuneEnrollmentMetadata;
            return this;
        }

        /**
         * @param intuneEnrollmentMetadata The metadata of Intune enrollment.
         * 
         * @return builder
         * 
         */
        public Builder intuneEnrollmentMetadata(IntuneEnrollmentMetadataArgs intuneEnrollmentMetadata) {
            return intuneEnrollmentMetadata(Output.of(intuneEnrollmentMetadata));
        }

        /**
         * @param intuneMetadata Metadata used to generate draft package folder and scripts.
         * 
         * @return builder
         * 
         */
        public Builder intuneMetadata(@Nullable Output intuneMetadata) {
            $.intuneMetadata = intuneMetadata;
            return this;
        }

        /**
         * @param intuneMetadata Metadata used to generate draft package folder and scripts.
         * 
         * @return builder
         * 
         */
        public Builder intuneMetadata(DraftPackageIntuneAppMetadataArgs intuneMetadata) {
            return intuneMetadata(Output.of(intuneMetadata));
        }

        /**
         * @param packageId Specifies the package id from which the draft package copied.
         * 
         * @return builder
         * 
         */
        public Builder packageId(@Nullable Output packageId) {
            $.packageId = packageId;
            return this;
        }

        /**
         * @param packageId Specifies the package id from which the draft package copied.
         * 
         * @return builder
         * 
         */
        public Builder packageId(String packageId) {
            return packageId(Output.of(packageId));
        }

        /**
         * @param packageTags Tags of the package to be created.
         * 
         * @return builder
         * 
         */
        public Builder packageTags(@Nullable Output> packageTags) {
            $.packageTags = packageTags;
            return this;
        }

        /**
         * @param packageTags Tags of the package to be created.
         * 
         * @return builder
         * 
         */
        public Builder packageTags(Map packageTags) {
            return packageTags(Output.of(packageTags));
        }

        /**
         * @param processName The process name for script auto-fill. Will be used to identify the application process.
         * 
         * @return builder
         * 
         */
        public Builder processName(@Nullable Output processName) {
            $.processName = processName;
            return this;
        }

        /**
         * @param processName The process name for script auto-fill. Will be used to identify the application process.
         * 
         * @return builder
         * 
         */
        public Builder processName(String processName) {
            return processName(Output.of(processName));
        }

        /**
         * @param resourceGroupName The name of the resource group. The name is case insensitive.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(Output resourceGroupName) {
            $.resourceGroupName = resourceGroupName;
            return this;
        }

        /**
         * @param resourceGroupName The name of the resource group. The name is case insensitive.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(String resourceGroupName) {
            return resourceGroupName(Output.of(resourceGroupName));
        }

        /**
         * @param sourceType The source type.
         * 
         * @return builder
         * 
         */
        public Builder sourceType(@Nullable Output> sourceType) {
            $.sourceType = sourceType;
            return this;
        }

        /**
         * @param sourceType The source type.
         * 
         * @return builder
         * 
         */
        public Builder sourceType(Either sourceType) {
            return sourceType(Output.of(sourceType));
        }

        /**
         * @param sourceType The source type.
         * 
         * @return builder
         * 
         */
        public Builder sourceType(String sourceType) {
            return sourceType(Either.ofLeft(sourceType));
        }

        /**
         * @param sourceType The source type.
         * 
         * @return builder
         * 
         */
        public Builder sourceType(DraftPackageSourceType sourceType) {
            return sourceType(Either.ofRight(sourceType));
        }

        /**
         * @param tabState Tab state.
         * 
         * @return builder
         * 
         */
        public Builder tabState(@Nullable Output tabState) {
            $.tabState = tabState;
            return this;
        }

        /**
         * @param tabState Tab state.
         * 
         * @return builder
         * 
         */
        public Builder tabState(TabStateArgs tabState) {
            return tabState(Output.of(tabState));
        }

        /**
         * @param targetOSList Specifies the target OSs of specific OS Update types.
         * 
         * @return builder
         * 
         */
        public Builder targetOSList(@Nullable Output> targetOSList) {
            $.targetOSList = targetOSList;
            return this;
        }

        /**
         * @param targetOSList Specifies the target OSs of specific OS Update types.
         * 
         * @return builder
         * 
         */
        public Builder targetOSList(List targetOSList) {
            return targetOSList(Output.of(targetOSList));
        }

        /**
         * @param targetOSList Specifies the target OSs of specific OS Update types.
         * 
         * @return builder
         * 
         */
        public Builder targetOSList(TargetOSInfoArgs... targetOSList) {
            return targetOSList(List.of(targetOSList));
        }

        /**
         * @param testBaseAccountName The resource name of the Test Base Account.
         * 
         * @return builder
         * 
         */
        public Builder testBaseAccountName(Output testBaseAccountName) {
            $.testBaseAccountName = testBaseAccountName;
            return this;
        }

        /**
         * @param testBaseAccountName The resource name of the Test Base Account.
         * 
         * @return builder
         * 
         */
        public Builder testBaseAccountName(String testBaseAccountName) {
            return testBaseAccountName(Output.of(testBaseAccountName));
        }

        /**
         * @param testTypes OOB, functional or flow driven. Mapped to the data in 'tests' property.
         * 
         * @return builder
         * 
         */
        public Builder testTypes(@Nullable Output>> testTypes) {
            $.testTypes = testTypes;
            return this;
        }

        /**
         * @param testTypes OOB, functional or flow driven. Mapped to the data in 'tests' property.
         * 
         * @return builder
         * 
         */
        public Builder testTypes(List> testTypes) {
            return testTypes(Output.of(testTypes));
        }

        /**
         * @param testTypes OOB, functional or flow driven. Mapped to the data in 'tests' property.
         * 
         * @return builder
         * 
         */
        public Builder testTypes(Either... testTypes) {
            return testTypes(List.of(testTypes));
        }

        /**
         * @param tests The detailed test information.
         * 
         * @return builder
         * 
         */
        public Builder tests(@Nullable Output> tests) {
            $.tests = tests;
            return this;
        }

        /**
         * @param tests The detailed test information.
         * 
         * @return builder
         * 
         */
        public Builder tests(List tests) {
            return tests(Output.of(tests));
        }

        /**
         * @param tests The detailed test information.
         * 
         * @return builder
         * 
         */
        public Builder tests(TestArgs... tests) {
            return tests(List.of(tests));
        }

        /**
         * @param useAutofill Indicates whether user choose to enable script auto-fill.
         * 
         * @return builder
         * 
         */
        public Builder useAutofill(@Nullable Output useAutofill) {
            $.useAutofill = useAutofill;
            return this;
        }

        /**
         * @param useAutofill Indicates whether user choose to enable script auto-fill.
         * 
         * @return builder
         * 
         */
        public Builder useAutofill(Boolean useAutofill) {
            return useAutofill(Output.of(useAutofill));
        }

        /**
         * @param useSample Specifies whether a sample package should be used instead of the one uploaded by the user.
         * 
         * @return builder
         * 
         */
        public Builder useSample(@Nullable Output useSample) {
            $.useSample = useSample;
            return this;
        }

        /**
         * @param useSample Specifies whether a sample package should be used instead of the one uploaded by the user.
         * 
         * @return builder
         * 
         */
        public Builder useSample(Boolean useSample) {
            return useSample(Output.of(useSample));
        }

        /**
         * @param version Application version
         * 
         * @return builder
         * 
         */
        public Builder version(@Nullable Output version) {
            $.version = version;
            return this;
        }

        /**
         * @param version Application version
         * 
         * @return builder
         * 
         */
        public Builder version(String version) {
            return version(Output.of(version));
        }

        public DraftPackageArgs build() {
            $.editPackage = Codegen.booleanProp("editPackage").output().arg($.editPackage).def(false).getNullable();
            if ($.resourceGroupName == null) {
                throw new MissingRequiredPropertyException("DraftPackageArgs", "resourceGroupName");
            }
            $.sourceType = Codegen.stringProp("sourceType").left(DraftPackageSourceType.class).output().arg($.sourceType).def("Native").getNullable();
            if ($.testBaseAccountName == null) {
                throw new MissingRequiredPropertyException("DraftPackageArgs", "testBaseAccountName");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy