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

com.pulumi.azure.storage.inputs.GetAccountBlobContainerSASArgs Maven / Gradle / Ivy

Go to download

A Pulumi package for creating and managing Microsoft Azure cloud resources, based on the Terraform azurerm provider. We recommend using the [Azure Native provider](https://github.com/pulumi/pulumi-azure-native) to provision Azure infrastructure. Azure Native provides complete coverage of Azure resources and same-day access to new resources and resource updates.

There is a newer version: 6.10.0-alpha.1731737215
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.azure.storage.inputs;

import com.pulumi.azure.storage.inputs.GetAccountBlobContainerSASPermissionsArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


public final class GetAccountBlobContainerSASArgs extends com.pulumi.resources.InvokeArgs {

    public static final GetAccountBlobContainerSASArgs Empty = new GetAccountBlobContainerSASArgs();

    /**
     * The `Cache-Control` response header that is sent when this SAS token is used.
     * 
     */
    @Import(name="cacheControl")
    private @Nullable Output cacheControl;

    /**
     * @return The `Cache-Control` response header that is sent when this SAS token is used.
     * 
     */
    public Optional> cacheControl() {
        return Optional.ofNullable(this.cacheControl);
    }

    /**
     * The connection string for the storage account to which this SAS applies. Typically directly from the `primary_connection_string` attribute of an `azure.storage.Account` resource.
     * 
     */
    @Import(name="connectionString", required=true)
    private Output connectionString;

    /**
     * @return The connection string for the storage account to which this SAS applies. Typically directly from the `primary_connection_string` attribute of an `azure.storage.Account` resource.
     * 
     */
    public Output connectionString() {
        return this.connectionString;
    }

    /**
     * Name of the container.
     * 
     */
    @Import(name="containerName", required=true)
    private Output containerName;

    /**
     * @return Name of the container.
     * 
     */
    public Output containerName() {
        return this.containerName;
    }

    /**
     * The `Content-Disposition` response header that is sent when this SAS token is used.
     * 
     */
    @Import(name="contentDisposition")
    private @Nullable Output contentDisposition;

    /**
     * @return The `Content-Disposition` response header that is sent when this SAS token is used.
     * 
     */
    public Optional> contentDisposition() {
        return Optional.ofNullable(this.contentDisposition);
    }

    /**
     * The `Content-Encoding` response header that is sent when this SAS token is used.
     * 
     */
    @Import(name="contentEncoding")
    private @Nullable Output contentEncoding;

    /**
     * @return The `Content-Encoding` response header that is sent when this SAS token is used.
     * 
     */
    public Optional> contentEncoding() {
        return Optional.ofNullable(this.contentEncoding);
    }

    /**
     * The `Content-Language` response header that is sent when this SAS token is used.
     * 
     */
    @Import(name="contentLanguage")
    private @Nullable Output contentLanguage;

    /**
     * @return The `Content-Language` response header that is sent when this SAS token is used.
     * 
     */
    public Optional> contentLanguage() {
        return Optional.ofNullable(this.contentLanguage);
    }

    /**
     * The `Content-Type` response header that is sent when this SAS token is used.
     * 
     */
    @Import(name="contentType")
    private @Nullable Output contentType;

    /**
     * @return The `Content-Type` response header that is sent when this SAS token is used.
     * 
     */
    public Optional> contentType() {
        return Optional.ofNullable(this.contentType);
    }

    /**
     * The expiration time and date of this SAS. Must be a valid ISO-8601 format time/date string.
     * 
     * > **NOTE:** The [ISO-8601 Time offset from UTC](https://en.wikipedia.org/wiki/ISO_8601#Time_offsets_from_UTC) is currently not supported by the service, which will result into 409 error.
     * 
     */
    @Import(name="expiry", required=true)
    private Output expiry;

    /**
     * @return The expiration time and date of this SAS. Must be a valid ISO-8601 format time/date string.
     * 
     * > **NOTE:** The [ISO-8601 Time offset from UTC](https://en.wikipedia.org/wiki/ISO_8601#Time_offsets_from_UTC) is currently not supported by the service, which will result into 409 error.
     * 
     */
    public Output expiry() {
        return this.expiry;
    }

    /**
     * Only permit `https` access. If `false`, both `http` and `https` are permitted. Defaults to `true`.
     * 
     */
    @Import(name="httpsOnly")
    private @Nullable Output httpsOnly;

    /**
     * @return Only permit `https` access. If `false`, both `http` and `https` are permitted. Defaults to `true`.
     * 
     */
    public Optional> httpsOnly() {
        return Optional.ofNullable(this.httpsOnly);
    }

    /**
     * Single IPv4 address or range (connected with a dash) of IPv4 addresses.
     * 
     */
    @Import(name="ipAddress")
    private @Nullable Output ipAddress;

    /**
     * @return Single IPv4 address or range (connected with a dash) of IPv4 addresses.
     * 
     */
    public Optional> ipAddress() {
        return Optional.ofNullable(this.ipAddress);
    }

    /**
     * A `permissions` block as defined below.
     * 
     */
    @Import(name="permissions", required=true)
    private Output permissions;

    /**
     * @return A `permissions` block as defined below.
     * 
     */
    public Output permissions() {
        return this.permissions;
    }

    /**
     * The starting time and date of validity of this SAS. Must be a valid ISO-8601 format time/date string.
     * 
     */
    @Import(name="start", required=true)
    private Output start;

    /**
     * @return The starting time and date of validity of this SAS. Must be a valid ISO-8601 format time/date string.
     * 
     */
    public Output start() {
        return this.start;
    }

    private GetAccountBlobContainerSASArgs() {}

    private GetAccountBlobContainerSASArgs(GetAccountBlobContainerSASArgs $) {
        this.cacheControl = $.cacheControl;
        this.connectionString = $.connectionString;
        this.containerName = $.containerName;
        this.contentDisposition = $.contentDisposition;
        this.contentEncoding = $.contentEncoding;
        this.contentLanguage = $.contentLanguage;
        this.contentType = $.contentType;
        this.expiry = $.expiry;
        this.httpsOnly = $.httpsOnly;
        this.ipAddress = $.ipAddress;
        this.permissions = $.permissions;
        this.start = $.start;
    }

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

    public static final class Builder {
        private GetAccountBlobContainerSASArgs $;

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

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

        /**
         * @param cacheControl The `Cache-Control` response header that is sent when this SAS token is used.
         * 
         * @return builder
         * 
         */
        public Builder cacheControl(@Nullable Output cacheControl) {
            $.cacheControl = cacheControl;
            return this;
        }

        /**
         * @param cacheControl The `Cache-Control` response header that is sent when this SAS token is used.
         * 
         * @return builder
         * 
         */
        public Builder cacheControl(String cacheControl) {
            return cacheControl(Output.of(cacheControl));
        }

        /**
         * @param connectionString The connection string for the storage account to which this SAS applies. Typically directly from the `primary_connection_string` attribute of an `azure.storage.Account` resource.
         * 
         * @return builder
         * 
         */
        public Builder connectionString(Output connectionString) {
            $.connectionString = connectionString;
            return this;
        }

        /**
         * @param connectionString The connection string for the storage account to which this SAS applies. Typically directly from the `primary_connection_string` attribute of an `azure.storage.Account` resource.
         * 
         * @return builder
         * 
         */
        public Builder connectionString(String connectionString) {
            return connectionString(Output.of(connectionString));
        }

        /**
         * @param containerName Name of the container.
         * 
         * @return builder
         * 
         */
        public Builder containerName(Output containerName) {
            $.containerName = containerName;
            return this;
        }

        /**
         * @param containerName Name of the container.
         * 
         * @return builder
         * 
         */
        public Builder containerName(String containerName) {
            return containerName(Output.of(containerName));
        }

        /**
         * @param contentDisposition The `Content-Disposition` response header that is sent when this SAS token is used.
         * 
         * @return builder
         * 
         */
        public Builder contentDisposition(@Nullable Output contentDisposition) {
            $.contentDisposition = contentDisposition;
            return this;
        }

        /**
         * @param contentDisposition The `Content-Disposition` response header that is sent when this SAS token is used.
         * 
         * @return builder
         * 
         */
        public Builder contentDisposition(String contentDisposition) {
            return contentDisposition(Output.of(contentDisposition));
        }

        /**
         * @param contentEncoding The `Content-Encoding` response header that is sent when this SAS token is used.
         * 
         * @return builder
         * 
         */
        public Builder contentEncoding(@Nullable Output contentEncoding) {
            $.contentEncoding = contentEncoding;
            return this;
        }

        /**
         * @param contentEncoding The `Content-Encoding` response header that is sent when this SAS token is used.
         * 
         * @return builder
         * 
         */
        public Builder contentEncoding(String contentEncoding) {
            return contentEncoding(Output.of(contentEncoding));
        }

        /**
         * @param contentLanguage The `Content-Language` response header that is sent when this SAS token is used.
         * 
         * @return builder
         * 
         */
        public Builder contentLanguage(@Nullable Output contentLanguage) {
            $.contentLanguage = contentLanguage;
            return this;
        }

        /**
         * @param contentLanguage The `Content-Language` response header that is sent when this SAS token is used.
         * 
         * @return builder
         * 
         */
        public Builder contentLanguage(String contentLanguage) {
            return contentLanguage(Output.of(contentLanguage));
        }

        /**
         * @param contentType The `Content-Type` response header that is sent when this SAS token is used.
         * 
         * @return builder
         * 
         */
        public Builder contentType(@Nullable Output contentType) {
            $.contentType = contentType;
            return this;
        }

        /**
         * @param contentType The `Content-Type` response header that is sent when this SAS token is used.
         * 
         * @return builder
         * 
         */
        public Builder contentType(String contentType) {
            return contentType(Output.of(contentType));
        }

        /**
         * @param expiry The expiration time and date of this SAS. Must be a valid ISO-8601 format time/date string.
         * 
         * > **NOTE:** The [ISO-8601 Time offset from UTC](https://en.wikipedia.org/wiki/ISO_8601#Time_offsets_from_UTC) is currently not supported by the service, which will result into 409 error.
         * 
         * @return builder
         * 
         */
        public Builder expiry(Output expiry) {
            $.expiry = expiry;
            return this;
        }

        /**
         * @param expiry The expiration time and date of this SAS. Must be a valid ISO-8601 format time/date string.
         * 
         * > **NOTE:** The [ISO-8601 Time offset from UTC](https://en.wikipedia.org/wiki/ISO_8601#Time_offsets_from_UTC) is currently not supported by the service, which will result into 409 error.
         * 
         * @return builder
         * 
         */
        public Builder expiry(String expiry) {
            return expiry(Output.of(expiry));
        }

        /**
         * @param httpsOnly Only permit `https` access. If `false`, both `http` and `https` are permitted. Defaults to `true`.
         * 
         * @return builder
         * 
         */
        public Builder httpsOnly(@Nullable Output httpsOnly) {
            $.httpsOnly = httpsOnly;
            return this;
        }

        /**
         * @param httpsOnly Only permit `https` access. If `false`, both `http` and `https` are permitted. Defaults to `true`.
         * 
         * @return builder
         * 
         */
        public Builder httpsOnly(Boolean httpsOnly) {
            return httpsOnly(Output.of(httpsOnly));
        }

        /**
         * @param ipAddress Single IPv4 address or range (connected with a dash) of IPv4 addresses.
         * 
         * @return builder
         * 
         */
        public Builder ipAddress(@Nullable Output ipAddress) {
            $.ipAddress = ipAddress;
            return this;
        }

        /**
         * @param ipAddress Single IPv4 address or range (connected with a dash) of IPv4 addresses.
         * 
         * @return builder
         * 
         */
        public Builder ipAddress(String ipAddress) {
            return ipAddress(Output.of(ipAddress));
        }

        /**
         * @param permissions A `permissions` block as defined below.
         * 
         * @return builder
         * 
         */
        public Builder permissions(Output permissions) {
            $.permissions = permissions;
            return this;
        }

        /**
         * @param permissions A `permissions` block as defined below.
         * 
         * @return builder
         * 
         */
        public Builder permissions(GetAccountBlobContainerSASPermissionsArgs permissions) {
            return permissions(Output.of(permissions));
        }

        /**
         * @param start The starting time and date of validity of this SAS. Must be a valid ISO-8601 format time/date string.
         * 
         * @return builder
         * 
         */
        public Builder start(Output start) {
            $.start = start;
            return this;
        }

        /**
         * @param start The starting time and date of validity of this SAS. Must be a valid ISO-8601 format time/date string.
         * 
         * @return builder
         * 
         */
        public Builder start(String start) {
            return start(Output.of(start));
        }

        public GetAccountBlobContainerSASArgs build() {
            if ($.connectionString == null) {
                throw new MissingRequiredPropertyException("GetAccountBlobContainerSASArgs", "connectionString");
            }
            if ($.containerName == null) {
                throw new MissingRequiredPropertyException("GetAccountBlobContainerSASArgs", "containerName");
            }
            if ($.expiry == null) {
                throw new MissingRequiredPropertyException("GetAccountBlobContainerSASArgs", "expiry");
            }
            if ($.permissions == null) {
                throw new MissingRequiredPropertyException("GetAccountBlobContainerSASArgs", "permissions");
            }
            if ($.start == null) {
                throw new MissingRequiredPropertyException("GetAccountBlobContainerSASArgs", "start");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy