UNPKG

@cloudtoolkit/aws

Version:

The Cloud Toolkit AWS provider for Pulumi provision well-architected solutions in [AWS](https://aws.amazon.com/). With Cloud Toolkit AWS you can use your preferred programming language to manage your platform with Infrastructure as Code.

104 lines (103 loc) 3.78 kB
import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as enums from "../types/enums"; import * as pulumiAws from "@pulumi/aws"; /** * Cloud Toolkit component for Bcukets. Creates a Simple Bucket for object storage */ export declare class Bucket extends pulumi.ComponentResource { /** * Returns true if the given object is an instance of Bucket. 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 Bucket; /** * Instance of our Bucket */ readonly bucket: pulumi.Output<pulumiAws.s3.BucketV2>; /** * Configuration for controlling bucket encryption */ readonly bucketEncryption: pulumi.Output<pulumiAws.s3.BucketServerSideEncryptionConfigurationV2 | undefined>; /** * Enforce that bucket owner is all bucket objects */ readonly bucketOwnership: pulumi.Output<pulumiAws.s3.BucketOwnershipControls>; /** * Controls that IAM policies complies with bucket visibility (public or private) */ readonly bucketPublicAccess: pulumi.Output<pulumiAws.s3.BucketPublicAccessBlock>; /** * Policy to make public all objects if bucket visibility is public */ readonly bucketPublicAccessPolicy: pulumi.Output<pulumiAws.s3.BucketPolicy | undefined>; /** * Configuration for controlling bucket versioning */ readonly bucketVersioning: pulumi.Output<pulumiAws.s3.BucketVersioningV2>; /** * Policy for read-only users */ readonly readOnlyBucketPolicy: pulumi.Output<pulumiAws.iam.Policy>; /** * Configuration to perform bucket replication */ readonly replicationConfig: pulumi.Output<pulumiAws.s3.BucketReplicationConfig | undefined>; /** * Policy attachments to perform bucket replication */ readonly replicationPolicyAttachment: pulumi.Output<pulumiAws.iam.RolePolicyAttachment | undefined>; /** * Required role for managing bucket */ readonly role: pulumi.Output<pulumiAws.iam.Role>; /** * Configuration to setup a website */ readonly website: pulumi.Output<pulumiAws.s3.BucketWebsiteConfigurationV2 | undefined>; /** * Policy for write users */ readonly writeBucketPolicy: pulumi.Output<pulumiAws.iam.Policy>; /** * Create a Bucket 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?: BucketArgs, opts?: pulumi.ComponentResourceOptions); } /** * The set of arguments for constructing a Bucket resource. */ export interface BucketArgs { /** * Configures bucket name in AWS. */ bucketName?: pulumi.Input<string>; /** * Configures a random bucket name in AWS but specifying a prefix name. */ bucketNamePrefix?: pulumi.Input<string>; /** * Configures encryption parameters for the bucket */ encryption?: pulumi.Input<inputs.storage.BucketEncryptionArgs>; /** * Set to true to allow policies that may provide access to anyone. */ public?: pulumi.Input<boolean>; /** * Configures replication parameters for the bucket */ replication?: pulumi.Input<inputs.storage.BucketReplicationArgs>; /** * Set a certain versioning mode for bucket objects */ versioning?: pulumi.Input<enums.storage.BucketVersioningState>; /** * Configures a static webpage using bucket files */ website?: pulumi.Input<inputs.storage.BucketWebsiteArgs>; }