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

com.pulumi.azure.storage.inputs.GetAccountSASArgs 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.GetAccountSASPermissionsArgs;
import com.pulumi.azure.storage.inputs.GetAccountSASResourceTypesArgs;
import com.pulumi.azure.storage.inputs.GetAccountSASServicesArgs;
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 GetAccountSASArgs extends com.pulumi.resources.InvokeArgs {

    public static final GetAccountSASArgs Empty = new GetAccountSASArgs();

    /**
     * The connection string for the storage account to which this SAS applies. Typically directly from the `primary_connection_string` attribute of a `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 a `azure.storage.Account` resource.
     * 
     */
    public Output connectionString() {
        return this.connectionString;
    }

    /**
     * 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);
    }

    /**
     * IP address, or a range of IP addresses, from which to accept requests. When specifying a range, note that the range is inclusive.
     * 
     */
    @Import(name="ipAddresses")
    private @Nullable Output ipAddresses;

    /**
     * @return IP address, or a range of IP addresses, from which to accept requests. When specifying a range, note that the range is inclusive.
     * 
     */
    public Optional> ipAddresses() {
        return Optional.ofNullable(this.ipAddresses);
    }

    /**
     * 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;
    }

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

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

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

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

    /**
     * Specifies the signed storage service version to use to authorize requests made with this account SAS. Defaults to `2017-07-29`.
     * 
     */
    @Import(name="signedVersion")
    private @Nullable Output signedVersion;

    /**
     * @return Specifies the signed storage service version to use to authorize requests made with this account SAS. Defaults to `2017-07-29`.
     * 
     */
    public Optional> signedVersion() {
        return Optional.ofNullable(this.signedVersion);
    }

    /**
     * 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 GetAccountSASArgs() {}

    private GetAccountSASArgs(GetAccountSASArgs $) {
        this.connectionString = $.connectionString;
        this.expiry = $.expiry;
        this.httpsOnly = $.httpsOnly;
        this.ipAddresses = $.ipAddresses;
        this.permissions = $.permissions;
        this.resourceTypes = $.resourceTypes;
        this.services = $.services;
        this.signedVersion = $.signedVersion;
        this.start = $.start;
    }

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

    public static final class Builder {
        private GetAccountSASArgs $;

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

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

        /**
         * @param connectionString The connection string for the storage account to which this SAS applies. Typically directly from the `primary_connection_string` attribute of a `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 a `azure.storage.Account` resource.
         * 
         * @return builder
         * 
         */
        public Builder connectionString(String connectionString) {
            return connectionString(Output.of(connectionString));
        }

        /**
         * @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 ipAddresses IP address, or a range of IP addresses, from which to accept requests. When specifying a range, note that the range is inclusive.
         * 
         * @return builder
         * 
         */
        public Builder ipAddresses(@Nullable Output ipAddresses) {
            $.ipAddresses = ipAddresses;
            return this;
        }

        /**
         * @param ipAddresses IP address, or a range of IP addresses, from which to accept requests. When specifying a range, note that the range is inclusive.
         * 
         * @return builder
         * 
         */
        public Builder ipAddresses(String ipAddresses) {
            return ipAddresses(Output.of(ipAddresses));
        }

        /**
         * @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(GetAccountSASPermissionsArgs permissions) {
            return permissions(Output.of(permissions));
        }

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

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

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

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

        /**
         * @param signedVersion Specifies the signed storage service version to use to authorize requests made with this account SAS. Defaults to `2017-07-29`.
         * 
         * @return builder
         * 
         */
        public Builder signedVersion(@Nullable Output signedVersion) {
            $.signedVersion = signedVersion;
            return this;
        }

        /**
         * @param signedVersion Specifies the signed storage service version to use to authorize requests made with this account SAS. Defaults to `2017-07-29`.
         * 
         * @return builder
         * 
         */
        public Builder signedVersion(String signedVersion) {
            return signedVersion(Output.of(signedVersion));
        }

        /**
         * @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 GetAccountSASArgs build() {
            if ($.connectionString == null) {
                throw new MissingRequiredPropertyException("GetAccountSASArgs", "connectionString");
            }
            if ($.expiry == null) {
                throw new MissingRequiredPropertyException("GetAccountSASArgs", "expiry");
            }
            if ($.permissions == null) {
                throw new MissingRequiredPropertyException("GetAccountSASArgs", "permissions");
            }
            if ($.resourceTypes == null) {
                throw new MissingRequiredPropertyException("GetAccountSASArgs", "resourceTypes");
            }
            if ($.services == null) {
                throw new MissingRequiredPropertyException("GetAccountSASArgs", "services");
            }
            if ($.start == null) {
                throw new MissingRequiredPropertyException("GetAccountSASArgs", "start");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy