// *** WARNING: this file was generated by pulumi-language-nodejs. *** // *** Do not edit by hand unless you're certain you know what you are doing! *** import * as pulumi from "@pulumi/pulumi"; import * as utilities from "./utilities"; export class S3BucketSubdomain extends pulumi.CustomResource { /** * Get an existing S3BucketSubdomain 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. */ public static get(name: string, id: pulumi.Input, state?: S3BucketSubdomainState, opts?: pulumi.CustomResourceOptions): S3BucketSubdomain { return new S3BucketSubdomain(name, state, { ...opts, id: id }); } /** @internal */ public static readonly __pulumiType = 'timeweb-cloud:index/s3BucketSubdomain:S3BucketSubdomain'; /** * Returns true if the given object is an instance of S3BucketSubdomain. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ public static isInstance(obj: any): obj is S3BucketSubdomain { if (obj === undefined || obj === null) { return false; } return obj['__pulumiType'] === S3BucketSubdomain.__pulumiType; } /** * S3 Bucket ID for which file should be created */ declare public readonly bucketId: pulumi.Output; /** * Flag that ensures releasing SSL certificate for subdomain */ declare public readonly releaseCert: pulumi.Output; declare public readonly s3BucketSubdomainId: pulumi.Output; /** * Subdomain status (`ssl_released`, `ssl_not_requested`, `ssl_re_release_error`) */ declare public /*out*/ readonly status: pulumi.Output; /** * Subdomain for serving files from S3 bucket. Subdomain should be valid domain name (and unique between buckets) with * CNAME record that pointing to `s3.timeweb.com` */ declare public readonly subdomain: pulumi.Output; /** * Create a S3BucketSubdomain 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: S3BucketSubdomainArgs, opts?: pulumi.CustomResourceOptions) constructor(name: string, argsOrState?: S3BucketSubdomainArgs | S3BucketSubdomainState, opts?: pulumi.CustomResourceOptions) { let resourceInputs: pulumi.Inputs = {}; opts = opts || {}; if (opts.id) { const state = argsOrState as S3BucketSubdomainState | undefined; resourceInputs["bucketId"] = state?.bucketId; resourceInputs["releaseCert"] = state?.releaseCert; resourceInputs["s3BucketSubdomainId"] = state?.s3BucketSubdomainId; resourceInputs["status"] = state?.status; resourceInputs["subdomain"] = state?.subdomain; } else { const args = argsOrState as S3BucketSubdomainArgs | undefined; if (args?.bucketId === undefined && !opts.urn) { throw new Error("Missing required property 'bucketId'"); } if (args?.subdomain === undefined && !opts.urn) { throw new Error("Missing required property 'subdomain'"); } resourceInputs["bucketId"] = args?.bucketId; resourceInputs["releaseCert"] = args?.releaseCert; resourceInputs["s3BucketSubdomainId"] = args?.s3BucketSubdomainId; resourceInputs["subdomain"] = args?.subdomain; resourceInputs["status"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); super(S3BucketSubdomain.__pulumiType, name, resourceInputs, opts, false /*dependency*/, utilities.getPackage()); } } /** * Input properties used for looking up and filtering S3BucketSubdomain resources. */ export interface S3BucketSubdomainState { /** * S3 Bucket ID for which file should be created */ bucketId?: pulumi.Input; /** * Flag that ensures releasing SSL certificate for subdomain */ releaseCert?: pulumi.Input; s3BucketSubdomainId?: pulumi.Input; /** * Subdomain status (`ssl_released`, `ssl_not_requested`, `ssl_re_release_error`) */ status?: pulumi.Input; /** * Subdomain for serving files from S3 bucket. Subdomain should be valid domain name (and unique between buckets) with * CNAME record that pointing to `s3.timeweb.com` */ subdomain?: pulumi.Input; } /** * The set of arguments for constructing a S3BucketSubdomain resource. */ export interface S3BucketSubdomainArgs { /** * S3 Bucket ID for which file should be created */ bucketId: pulumi.Input; /** * Flag that ensures releasing SSL certificate for subdomain */ releaseCert?: pulumi.Input; s3BucketSubdomainId?: pulumi.Input; /** * Subdomain for serving files from S3 bucket. Subdomain should be valid domain name (and unique between buckets) with * CNAME record that pointing to `s3.timeweb.com` */ subdomain: pulumi.Input; }