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

com.pulumi.azure.batch.kotlin.outputs.PoolStartTaskResourceFile.kt Maven / Gradle / Ivy

Go to download

Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.

There is a newer version: 6.14.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.azure.batch.kotlin.outputs

import kotlin.String
import kotlin.Suppress

/**
 *
 * @property autoStorageContainerName The storage container name in the auto storage account.
 * @property blobPrefix 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.
 * @property fileMode 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.
 * @property filePath 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 '..').
 * @property httpUrl 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.
 * @property storageContainerUrl 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.
 * @property userAssignedIdentityId 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 data class PoolStartTaskResourceFile(
    public val autoStorageContainerName: String? = null,
    public val blobPrefix: String? = null,
    public val fileMode: String? = null,
    public val filePath: String? = null,
    public val httpUrl: String? = null,
    public val storageContainerUrl: String? = null,
    public val userAssignedIdentityId: String? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.azure.batch.outputs.PoolStartTaskResourceFile):
            PoolStartTaskResourceFile = PoolStartTaskResourceFile(
            autoStorageContainerName = javaType.autoStorageContainerName().map({ args0 -> args0 }).orElse(null),
            blobPrefix = javaType.blobPrefix().map({ args0 -> args0 }).orElse(null),
            fileMode = javaType.fileMode().map({ args0 -> args0 }).orElse(null),
            filePath = javaType.filePath().map({ args0 -> args0 }).orElse(null),
            httpUrl = javaType.httpUrl().map({ args0 -> args0 }).orElse(null),
            storageContainerUrl = javaType.storageContainerUrl().map({ args0 -> args0 }).orElse(null),
            userAssignedIdentityId = javaType.userAssignedIdentityId().map({ args0 -> args0 }).orElse(null),
        )
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy