@pulumi/aws
Version:
A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources.
186 lines (185 loc) • 7.09 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
* Resource for managing an AWS Security Lake Data Lake.
*
* > **NOTE:** The underlying `aws.securitylake.DataLake` must be configured before creating other Security Lake resources. Use a `dependsOn` statement.
*
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as aws from "@pulumi/aws";
*
* const example = new aws.securitylake.DataLake("example", {
* metaStoreManagerRoleArn: metaStoreManager.arn,
* configuration: {
* region: "eu-west-1",
* encryptionConfigurations: [{
* kmsKeyId: "S3_MANAGED_KEY",
* }],
* lifecycleConfiguration: {
* transitions: [
* {
* days: 31,
* storageClass: "STANDARD_IA",
* },
* {
* days: 80,
* storageClass: "ONEZONE_IA",
* },
* ],
* expiration: {
* days: 300,
* },
* },
* },
* });
* ```
*
* ### Basic Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as aws from "@pulumi/aws";
*
* const example = new aws.securitylake.DataLake("example", {
* metaStoreManagerRoleArn: metaStoreManager.arn,
* configuration: {
* region: "eu-west-1",
* encryptionConfigurations: [{
* kmsKeyId: "S3_MANAGED_KEY",
* }],
* },
* });
* ```
*
* ## Import
*
* Using `pulumi import`, import Security Hub standards subscriptions using the standards subscription ARN. For example:
*
* ```sh
* $ pulumi import aws:securitylake/dataLake:DataLake example arn:aws:securitylake:eu-west-1:123456789012:data-lake/default
* ```
*/
export declare class DataLake extends pulumi.CustomResource {
/**
* Get an existing DataLake 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<pulumi.ID>, state?: DataLakeState, opts?: pulumi.CustomResourceOptions): DataLake;
/**
* Returns true if the given object is an instance of DataLake. 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 DataLake;
/**
* ARN of the Data Lake.
*/
readonly arn: pulumi.Output<string>;
/**
* Specify the Region or Regions that will contribute data to the rollup region.
*/
readonly configuration: pulumi.Output<outputs.securitylake.DataLakeConfiguration | undefined>;
/**
* The Amazon Resource Name (ARN) used to create and update the AWS Glue table. This table contains partitions generated by the ingestion and normalization of AWS log sources and custom sources.
*/
readonly metaStoreManagerRoleArn: pulumi.Output<string>;
/**
* The AWS Regions where Security Lake is automatically enabled.
*/
readonly region: pulumi.Output<string>;
/**
* The ARN for the Amazon Security Lake Amazon S3 bucket.
*/
readonly s3BucketArn: pulumi.Output<string>;
/**
* Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
*/
readonly tags: pulumi.Output<{
[key: string]: string;
} | undefined>;
/**
* A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
*/
readonly tagsAll: pulumi.Output<{
[key: string]: string;
}>;
readonly timeouts: pulumi.Output<outputs.securitylake.DataLakeTimeouts | undefined>;
/**
* Create a DataLake 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: DataLakeArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* Input properties used for looking up and filtering DataLake resources.
*/
export interface DataLakeState {
/**
* ARN of the Data Lake.
*/
arn?: pulumi.Input<string>;
/**
* Specify the Region or Regions that will contribute data to the rollup region.
*/
configuration?: pulumi.Input<inputs.securitylake.DataLakeConfiguration>;
/**
* The Amazon Resource Name (ARN) used to create and update the AWS Glue table. This table contains partitions generated by the ingestion and normalization of AWS log sources and custom sources.
*/
metaStoreManagerRoleArn?: pulumi.Input<string>;
/**
* The AWS Regions where Security Lake is automatically enabled.
*/
region?: pulumi.Input<string>;
/**
* The ARN for the Amazon Security Lake Amazon S3 bucket.
*/
s3BucketArn?: pulumi.Input<string>;
/**
* Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
*/
tags?: pulumi.Input<{
[key: string]: pulumi.Input<string>;
}>;
/**
* A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
*/
tagsAll?: pulumi.Input<{
[key: string]: pulumi.Input<string>;
}>;
timeouts?: pulumi.Input<inputs.securitylake.DataLakeTimeouts>;
}
/**
* The set of arguments for constructing a DataLake resource.
*/
export interface DataLakeArgs {
/**
* Specify the Region or Regions that will contribute data to the rollup region.
*/
configuration?: pulumi.Input<inputs.securitylake.DataLakeConfiguration>;
/**
* The Amazon Resource Name (ARN) used to create and update the AWS Glue table. This table contains partitions generated by the ingestion and normalization of AWS log sources and custom sources.
*/
metaStoreManagerRoleArn: pulumi.Input<string>;
/**
* The AWS Regions where Security Lake is automatically enabled.
*/
region?: pulumi.Input<string>;
/**
* Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
*/
tags?: pulumi.Input<{
[key: string]: pulumi.Input<string>;
}>;
timeouts?: pulumi.Input<inputs.securitylake.DataLakeTimeouts>;
}