import * as pulumi from "@pulumi/pulumi"; /** * Generates a temporary presigned S3 URLs to download or upload an object. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as ovh from "@ovhcloud/pulumi-ovh"; * * export = async () => { * const presignedUrl = new ovh.cloudproject.RegionStoragePresign("presigned_url", { * serviceName: "xxxxxxxxxxxxxxxxx", * regionName: "GRA", * name: "s3-bucket-name", * expire: 3600, * method: "GET", * object: "an-object-in-the-bucket", * }); * return { * presignedUrl: presignedUrl.url, * }; * } * ``` */ export declare class RegionStoragePresign extends pulumi.CustomResource { /** * Get an existing RegionStoragePresign resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, state?: RegionStoragePresignState, opts?: pulumi.CustomResourceOptions): RegionStoragePresign; /** * Returns true if the given object is an instance of RegionStoragePresign. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is RegionStoragePresign; /** * Define, in seconds, for how long your URL will be valid. */ readonly expire: pulumi.Output; /** * The method you want to use to interact with your object. Can be either 'GET' or 'PUT'. */ readonly method: pulumi.Output; /** * The name of your S3 storage container/bucket. */ readonly name: pulumi.Output; /** * The name of the object in your S3 bucket. */ readonly object: pulumi.Output; /** * The region in which your storage is located. Must be in **uppercase**. Ex.: "GRA". */ readonly regionName: pulumi.Output; /** * The id of the public cloud project. If omitted, the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. */ readonly serviceName: pulumi.Output; /** * Map of signed headers. */ readonly signedHeaders: pulumi.Output<{ [key: string]: string; }>; /** * Computed URL result. */ readonly url: pulumi.Output; /** * Version ID of the object to download or delete */ readonly versionId: pulumi.Output; /** * Create a RegionStoragePresign resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: RegionStoragePresignArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering RegionStoragePresign resources. */ export interface RegionStoragePresignState { /** * Define, in seconds, for how long your URL will be valid. */ expire?: pulumi.Input; /** * The method you want to use to interact with your object. Can be either 'GET' or 'PUT'. */ method?: pulumi.Input; /** * The name of your S3 storage container/bucket. */ name?: pulumi.Input; /** * The name of the object in your S3 bucket. */ object?: pulumi.Input; /** * The region in which your storage is located. Must be in **uppercase**. Ex.: "GRA". */ regionName?: pulumi.Input; /** * The id of the public cloud project. If omitted, the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. */ serviceName?: pulumi.Input; /** * Map of signed headers. */ signedHeaders?: pulumi.Input<{ [key: string]: pulumi.Input; }>; /** * Computed URL result. */ url?: pulumi.Input; /** * Version ID of the object to download or delete */ versionId?: pulumi.Input; } /** * The set of arguments for constructing a RegionStoragePresign resource. */ export interface RegionStoragePresignArgs { /** * Define, in seconds, for how long your URL will be valid. */ expire: pulumi.Input; /** * The method you want to use to interact with your object. Can be either 'GET' or 'PUT'. */ method: pulumi.Input; /** * The name of your S3 storage container/bucket. */ name?: pulumi.Input; /** * The name of the object in your S3 bucket. */ object: pulumi.Input; /** * The region in which your storage is located. Must be in **uppercase**. Ex.: "GRA". */ regionName: pulumi.Input; /** * The id of the public cloud project. If omitted, the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. */ serviceName?: pulumi.Input; /** * Version ID of the object to download or delete */ versionId?: pulumi.Input; }