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

com.pulumi.azure.batch.outputs.PoolStartTaskResourceFile 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.azure.batch.outputs;

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

@CustomType
public final class PoolStartTaskResourceFile {
    /**
     * @return The storage container name in the auto storage account.
     * 
     */
    private @Nullable String autoStorageContainerName;
    /**
     * @return The blob prefix to use when downloading blobs from an Azure Storage container. Only the blobs whose names begin with the specified prefix will be downloaded. The property is valid only when `auto_storage_container_name` or `storage_container_url` is used. This prefix can be a partial filename or a subdirectory. If a prefix is not specified, all the files in the container will be downloaded.
     * 
     */
    private @Nullable String blobPrefix;
    /**
     * @return The file permission mode represented as a string in octal format (e.g. `"0644"`). This property applies only to files being downloaded to Linux compute nodes. It will be ignored if it is specified for a `resource_file` which will be downloaded to a Windows node. If this property is not specified for a Linux node, then a default value of 0770 is applied to the file.
     * 
     */
    private @Nullable String fileMode;
    /**
     * @return The location on the compute node to which to download the file, relative to the task's working directory. If the `http_url` property is specified, the `file_path` is required and describes the path which the file will be downloaded to, including the filename. Otherwise, if the `auto_storage_container_name` or `storage_container_url` property is specified, `file_path` is optional and is the directory to download the files to. In the case where `file_path` is used as a directory, any directory structure already associated with the input data will be retained in full and appended to the specified filePath directory. The specified relative path cannot break out of the task's working directory (for example by using '..').
     * 
     */
    private @Nullable String filePath;
    /**
     * @return The URL of the file to download. If the URL is Azure Blob Storage, it must be readable using anonymous access; that is, the Batch service does not present any credentials when downloading the blob. There are two ways to get such a URL for a blob in Azure storage: include a Shared Access Signature (SAS) granting read permissions on the blob, or set the ACL for the blob or its container to allow public access.
     * 
     */
    private @Nullable String httpUrl;
    /**
     * @return The URL of the blob container within Azure Blob Storage. This URL must be readable and listable using anonymous access; that is, the Batch service does not present any credentials when downloading the blob. There are two ways to get such a URL for a blob in Azure storage: include a Shared Access Signature (SAS) granting read and list permissions on the blob, or set the ACL for the blob or its container to allow public access.
     * 
     */
    private @Nullable String storageContainerUrl;
    /**
     * @return An identity reference from pool's user assigned managed identity list.
     * 
     * > **Please Note:** Exactly one of `auto_storage_container_name`, `storage_container_url` and `auto_user` must be specified.
     * 
     */
    private @Nullable String userAssignedIdentityId;

    private PoolStartTaskResourceFile() {}
    /**
     * @return The storage container name in the auto storage account.
     * 
     */
    public Optional autoStorageContainerName() {
        return Optional.ofNullable(this.autoStorageContainerName);
    }
    /**
     * @return The blob prefix to use when downloading blobs from an Azure Storage container. Only the blobs whose names begin with the specified prefix will be downloaded. The property is valid only when `auto_storage_container_name` or `storage_container_url` is used. This prefix can be a partial filename or a subdirectory. If a prefix is not specified, all the files in the container will be downloaded.
     * 
     */
    public Optional blobPrefix() {
        return Optional.ofNullable(this.blobPrefix);
    }
    /**
     * @return The file permission mode represented as a string in octal format (e.g. `"0644"`). This property applies only to files being downloaded to Linux compute nodes. It will be ignored if it is specified for a `resource_file` which will be downloaded to a Windows node. If this property is not specified for a Linux node, then a default value of 0770 is applied to the file.
     * 
     */
    public Optional fileMode() {
        return Optional.ofNullable(this.fileMode);
    }
    /**
     * @return The location on the compute node to which to download the file, relative to the task's working directory. If the `http_url` property is specified, the `file_path` is required and describes the path which the file will be downloaded to, including the filename. Otherwise, if the `auto_storage_container_name` or `storage_container_url` property is specified, `file_path` is optional and is the directory to download the files to. In the case where `file_path` is used as a directory, any directory structure already associated with the input data will be retained in full and appended to the specified filePath directory. The specified relative path cannot break out of the task's working directory (for example by using '..').
     * 
     */
    public Optional filePath() {
        return Optional.ofNullable(this.filePath);
    }
    /**
     * @return The URL of the file to download. If the URL is Azure Blob Storage, it must be readable using anonymous access; that is, the Batch service does not present any credentials when downloading the blob. There are two ways to get such a URL for a blob in Azure storage: include a Shared Access Signature (SAS) granting read permissions on the blob, or set the ACL for the blob or its container to allow public access.
     * 
     */
    public Optional httpUrl() {
        return Optional.ofNullable(this.httpUrl);
    }
    /**
     * @return The URL of the blob container within Azure Blob Storage. This URL must be readable and listable using anonymous access; that is, the Batch service does not present any credentials when downloading the blob. There are two ways to get such a URL for a blob in Azure storage: include a Shared Access Signature (SAS) granting read and list permissions on the blob, or set the ACL for the blob or its container to allow public access.
     * 
     */
    public Optional storageContainerUrl() {
        return Optional.ofNullable(this.storageContainerUrl);
    }
    /**
     * @return An identity reference from pool's user assigned managed identity list.
     * 
     * > **Please Note:** Exactly one of `auto_storage_container_name`, `storage_container_url` and `auto_user` must be specified.
     * 
     */
    public Optional userAssignedIdentityId() {
        return Optional.ofNullable(this.userAssignedIdentityId);
    }

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

    public static Builder builder(PoolStartTaskResourceFile defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private @Nullable String autoStorageContainerName;
        private @Nullable String blobPrefix;
        private @Nullable String fileMode;
        private @Nullable String filePath;
        private @Nullable String httpUrl;
        private @Nullable String storageContainerUrl;
        private @Nullable String userAssignedIdentityId;
        public Builder() {}
        public Builder(PoolStartTaskResourceFile defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.autoStorageContainerName = defaults.autoStorageContainerName;
    	      this.blobPrefix = defaults.blobPrefix;
    	      this.fileMode = defaults.fileMode;
    	      this.filePath = defaults.filePath;
    	      this.httpUrl = defaults.httpUrl;
    	      this.storageContainerUrl = defaults.storageContainerUrl;
    	      this.userAssignedIdentityId = defaults.userAssignedIdentityId;
        }

        @CustomType.Setter
        public Builder autoStorageContainerName(@Nullable String autoStorageContainerName) {

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

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

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

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

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

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

            this.userAssignedIdentityId = userAssignedIdentityId;
            return this;
        }
        public PoolStartTaskResourceFile build() {
            final var _resultValue = new PoolStartTaskResourceFile();
            _resultValue.autoStorageContainerName = autoStorageContainerName;
            _resultValue.blobPrefix = blobPrefix;
            _resultValue.fileMode = fileMode;
            _resultValue.filePath = filePath;
            _resultValue.httpUrl = httpUrl;
            _resultValue.storageContainerUrl = storageContainerUrl;
            _resultValue.userAssignedIdentityId = userAssignedIdentityId;
            return _resultValue;
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy