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

com.pulumi.azurenative.batch.outputs.ResourceFileResponse Maven / Gradle / Ivy

There is a newer version: 2.78.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.batch.outputs;

import com.pulumi.azurenative.batch.outputs.ComputeNodeIdentityReferenceResponse;
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 ResourceFileResponse {
    /**
     * @return The autoStorageContainerName, storageContainerUrl and httpUrl properties are mutually exclusive and one of them must be specified.
     * 
     */
    private @Nullable String autoStorageContainerName;
    /**
     * @return The property is valid only when autoStorageContainerName or storageContainerUrl 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 This property applies only to files being downloaded to Linux compute nodes. It will be ignored if it is specified for a resourceFile 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 If the httpUrl property is specified, the filePath is required and describes the path which the file will be downloaded to, including the filename. Otherwise, if the autoStorageContainerName or storageContainerUrl property is specified, filePath is optional and is the directory to download the files to. In the case where filePath 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 autoStorageContainerName, storageContainerUrl and httpUrl properties are mutually exclusive and one of them must be specified. If the URL points to Azure Blob Storage, it must be readable from compute nodes. There are three ways to get such a URL for a blob in Azure storage: include a Shared Access Signature (SAS) granting read permissions on the blob, use a managed identity with read permission, or set the ACL for the blob or its container to allow public access.
     * 
     */
    private @Nullable String httpUrl;
    /**
     * @return The reference to a user assigned identity associated with the Batch pool which a compute node will use.
     * 
     */
    private @Nullable ComputeNodeIdentityReferenceResponse identityReference;
    /**
     * @return The autoStorageContainerName, storageContainerUrl and httpUrl properties are mutually exclusive and one of them must be specified. This URL must be readable and listable from compute nodes. There are three ways to get such a URL for a container in Azure storage: include a Shared Access Signature (SAS) granting read and list permissions on the container, use a managed identity with read and list permissions, or set the ACL for the container to allow public access.
     * 
     */
    private @Nullable String storageContainerUrl;

    private ResourceFileResponse() {}
    /**
     * @return The autoStorageContainerName, storageContainerUrl and httpUrl properties are mutually exclusive and one of them must be specified.
     * 
     */
    public Optional autoStorageContainerName() {
        return Optional.ofNullable(this.autoStorageContainerName);
    }
    /**
     * @return The property is valid only when autoStorageContainerName or storageContainerUrl 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 This property applies only to files being downloaded to Linux compute nodes. It will be ignored if it is specified for a resourceFile 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 If the httpUrl property is specified, the filePath is required and describes the path which the file will be downloaded to, including the filename. Otherwise, if the autoStorageContainerName or storageContainerUrl property is specified, filePath is optional and is the directory to download the files to. In the case where filePath 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 autoStorageContainerName, storageContainerUrl and httpUrl properties are mutually exclusive and one of them must be specified. If the URL points to Azure Blob Storage, it must be readable from compute nodes. There are three ways to get such a URL for a blob in Azure storage: include a Shared Access Signature (SAS) granting read permissions on the blob, use a managed identity with read permission, or set the ACL for the blob or its container to allow public access.
     * 
     */
    public Optional httpUrl() {
        return Optional.ofNullable(this.httpUrl);
    }
    /**
     * @return The reference to a user assigned identity associated with the Batch pool which a compute node will use.
     * 
     */
    public Optional identityReference() {
        return Optional.ofNullable(this.identityReference);
    }
    /**
     * @return The autoStorageContainerName, storageContainerUrl and httpUrl properties are mutually exclusive and one of them must be specified. This URL must be readable and listable from compute nodes. There are three ways to get such a URL for a container in Azure storage: include a Shared Access Signature (SAS) granting read and list permissions on the container, use a managed identity with read and list permissions, or set the ACL for the container to allow public access.
     * 
     */
    public Optional storageContainerUrl() {
        return Optional.ofNullable(this.storageContainerUrl);
    }

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

    public static Builder builder(ResourceFileResponse 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 ComputeNodeIdentityReferenceResponse identityReference;
        private @Nullable String storageContainerUrl;
        public Builder() {}
        public Builder(ResourceFileResponse 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.identityReference = defaults.identityReference;
    	      this.storageContainerUrl = defaults.storageContainerUrl;
        }

        @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 identityReference(@Nullable ComputeNodeIdentityReferenceResponse identityReference) {

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

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




© 2015 - 2024 Weber Informatics LLC | Privacy Policy