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

com.pulumi.aws.devicefarm.UploadArgs 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.aws.devicefarm;

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;


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

    public static final UploadArgs Empty = new UploadArgs();

    /**
     * The upload's content type (for example, application/octet-stream).
     * 
     */
    @Import(name="contentType")
    private @Nullable Output contentType;

    /**
     * @return The upload's content type (for example, application/octet-stream).
     * 
     */
    public Optional> contentType() {
        return Optional.ofNullable(this.contentType);
    }

    /**
     * The upload's file name. The name should not contain any forward slashes (/). If you are uploading an iOS app, the file name must end with the .ipa extension. If you are uploading an Android app, the file name must end with the .apk extension. For all others, the file name must end with the .zip file extension.
     * 
     */
    @Import(name="name")
    private @Nullable Output name;

    /**
     * @return The upload's file name. The name should not contain any forward slashes (/). If you are uploading an iOS app, the file name must end with the .ipa extension. If you are uploading an Android app, the file name must end with the .apk extension. For all others, the file name must end with the .zip file extension.
     * 
     */
    public Optional> name() {
        return Optional.ofNullable(this.name);
    }

    /**
     * The ARN of the project for the upload.
     * 
     */
    @Import(name="projectArn", required=true)
    private Output projectArn;

    /**
     * @return The ARN of the project for the upload.
     * 
     */
    public Output projectArn() {
        return this.projectArn;
    }

    /**
     * The upload's upload type. See [AWS Docs](https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_CreateUpload.html#API_CreateUpload_RequestSyntax) for valid list of values.
     * 
     */
    @Import(name="type", required=true)
    private Output type;

    /**
     * @return The upload's upload type. See [AWS Docs](https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_CreateUpload.html#API_CreateUpload_RequestSyntax) for valid list of values.
     * 
     */
    public Output type() {
        return this.type;
    }

    private UploadArgs() {}

    private UploadArgs(UploadArgs $) {
        this.contentType = $.contentType;
        this.name = $.name;
        this.projectArn = $.projectArn;
        this.type = $.type;
    }

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

    public static final class Builder {
        private UploadArgs $;

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

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

        /**
         * @param contentType The upload's content type (for example, application/octet-stream).
         * 
         * @return builder
         * 
         */
        public Builder contentType(@Nullable Output contentType) {
            $.contentType = contentType;
            return this;
        }

        /**
         * @param contentType The upload's content type (for example, application/octet-stream).
         * 
         * @return builder
         * 
         */
        public Builder contentType(String contentType) {
            return contentType(Output.of(contentType));
        }

        /**
         * @param name The upload's file name. The name should not contain any forward slashes (/). If you are uploading an iOS app, the file name must end with the .ipa extension. If you are uploading an Android app, the file name must end with the .apk extension. For all others, the file name must end with the .zip file extension.
         * 
         * @return builder
         * 
         */
        public Builder name(@Nullable Output name) {
            $.name = name;
            return this;
        }

        /**
         * @param name The upload's file name. The name should not contain any forward slashes (/). If you are uploading an iOS app, the file name must end with the .ipa extension. If you are uploading an Android app, the file name must end with the .apk extension. For all others, the file name must end with the .zip file extension.
         * 
         * @return builder
         * 
         */
        public Builder name(String name) {
            return name(Output.of(name));
        }

        /**
         * @param projectArn The ARN of the project for the upload.
         * 
         * @return builder
         * 
         */
        public Builder projectArn(Output projectArn) {
            $.projectArn = projectArn;
            return this;
        }

        /**
         * @param projectArn The ARN of the project for the upload.
         * 
         * @return builder
         * 
         */
        public Builder projectArn(String projectArn) {
            return projectArn(Output.of(projectArn));
        }

        /**
         * @param type The upload's upload type. See [AWS Docs](https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_CreateUpload.html#API_CreateUpload_RequestSyntax) for valid list of values.
         * 
         * @return builder
         * 
         */
        public Builder type(Output type) {
            $.type = type;
            return this;
        }

        /**
         * @param type The upload's upload type. See [AWS Docs](https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_CreateUpload.html#API_CreateUpload_RequestSyntax) for valid list of values.
         * 
         * @return builder
         * 
         */
        public Builder type(String type) {
            return type(Output.of(type));
        }

        public UploadArgs build() {
            if ($.projectArn == null) {
                throw new MissingRequiredPropertyException("UploadArgs", "projectArn");
            }
            if ($.type == null) {
                throw new MissingRequiredPropertyException("UploadArgs", "type");
            }
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy