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

com.pulumi.azurenative.containerregistry.inputs.PlatformPropertiesArgs 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.containerregistry.inputs;

import com.pulumi.azurenative.containerregistry.enums.Architecture;
import com.pulumi.azurenative.containerregistry.enums.OS;
import com.pulumi.azurenative.containerregistry.enums.Variant;
import com.pulumi.core.Either;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * The platform properties against which the run has to happen.
 * 
 */
public final class PlatformPropertiesArgs extends com.pulumi.resources.ResourceArgs {

    public static final PlatformPropertiesArgs Empty = new PlatformPropertiesArgs();

    /**
     * The OS architecture.
     * 
     */
    @Import(name="architecture")
    private @Nullable Output> architecture;

    /**
     * @return The OS architecture.
     * 
     */
    public Optional>> architecture() {
        return Optional.ofNullable(this.architecture);
    }

    /**
     * The operating system type required for the run.
     * 
     */
    @Import(name="os", required=true)
    private Output> os;

    /**
     * @return The operating system type required for the run.
     * 
     */
    public Output> os() {
        return this.os;
    }

    /**
     * Variant of the CPU.
     * 
     */
    @Import(name="variant")
    private @Nullable Output> variant;

    /**
     * @return Variant of the CPU.
     * 
     */
    public Optional>> variant() {
        return Optional.ofNullable(this.variant);
    }

    private PlatformPropertiesArgs() {}

    private PlatformPropertiesArgs(PlatformPropertiesArgs $) {
        this.architecture = $.architecture;
        this.os = $.os;
        this.variant = $.variant;
    }

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

    public static final class Builder {
        private PlatformPropertiesArgs $;

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

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

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

        /**
         * @param architecture The OS architecture.
         * 
         * @return builder
         * 
         */
        public Builder architecture(Either architecture) {
            return architecture(Output.of(architecture));
        }

        /**
         * @param architecture The OS architecture.
         * 
         * @return builder
         * 
         */
        public Builder architecture(String architecture) {
            return architecture(Either.ofLeft(architecture));
        }

        /**
         * @param architecture The OS architecture.
         * 
         * @return builder
         * 
         */
        public Builder architecture(Architecture architecture) {
            return architecture(Either.ofRight(architecture));
        }

        /**
         * @param os The operating system type required for the run.
         * 
         * @return builder
         * 
         */
        public Builder os(Output> os) {
            $.os = os;
            return this;
        }

        /**
         * @param os The operating system type required for the run.
         * 
         * @return builder
         * 
         */
        public Builder os(Either os) {
            return os(Output.of(os));
        }

        /**
         * @param os The operating system type required for the run.
         * 
         * @return builder
         * 
         */
        public Builder os(String os) {
            return os(Either.ofLeft(os));
        }

        /**
         * @param os The operating system type required for the run.
         * 
         * @return builder
         * 
         */
        public Builder os(OS os) {
            return os(Either.ofRight(os));
        }

        /**
         * @param variant Variant of the CPU.
         * 
         * @return builder
         * 
         */
        public Builder variant(@Nullable Output> variant) {
            $.variant = variant;
            return this;
        }

        /**
         * @param variant Variant of the CPU.
         * 
         * @return builder
         * 
         */
        public Builder variant(Either variant) {
            return variant(Output.of(variant));
        }

        /**
         * @param variant Variant of the CPU.
         * 
         * @return builder
         * 
         */
        public Builder variant(String variant) {
            return variant(Either.ofLeft(variant));
        }

        /**
         * @param variant Variant of the CPU.
         * 
         * @return builder
         * 
         */
        public Builder variant(Variant variant) {
            return variant(Either.ofRight(variant));
        }

        public PlatformPropertiesArgs build() {
            if ($.os == null) {
                throw new MissingRequiredPropertyException("PlatformPropertiesArgs", "os");
            }
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy