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", { * configuration: { * lifecycleConfiguration: { * expiration: { * days: 300, * }, * transitions: [ * { * days: 31, * storageClass: "STANDARD_IA", * }, * { * days: 80, * storageClass: "ONEZONE_IA", * }, * ], * }, * encryptionConfigurations: [{ * kmsKeyId: "S3_MANAGED_KEY", * }], * region: "eu-west-1", * }, * metaStoreManagerRoleArn: metaStoreManager.arn, * }); * ``` * * ### Basic Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * * const example = new aws.securitylake.DataLake("example", { * configuration: { * encryptionConfigurations: [{ * kmsKeyId: "S3_MANAGED_KEY", * }], * region: "eu-west-1", * }, * metaStoreManagerRoleArn: metaStoreManager.arn, * }); * ``` * * ## Import * * ### Identity Schema * * #### Required * * - `arn` (String) ARN of the Security Lake data lake. * * 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, 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; /** * Specify the Region or Regions that will contribute data to the rollup region. */ readonly configuration: pulumi.Output; /** * 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; /** * The AWS Regions where Security Lake is automatically enabled. */ readonly region: pulumi.Output; /** * The ARN for the Amazon Security Lake Amazon S3 bucket. */ readonly s3BucketArn: pulumi.Output; /** * 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; /** * 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; /** * Specify the Region or Regions that will contribute data to the rollup region. */ configuration?: pulumi.Input; /** * 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; /** * The AWS Regions where Security Lake is automatically enabled. */ region?: pulumi.Input; /** * The ARN for the Amazon Security Lake Amazon S3 bucket. */ s3BucketArn?: pulumi.Input; /** * 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; } | undefined>; /** * A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. */ tagsAll?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; timeouts?: pulumi.Input; } /** * 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; /** * 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; /** * The AWS Regions where Security Lake is automatically enabled. */ region?: pulumi.Input; /** * 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; } | undefined>; timeouts?: pulumi.Input; } //# sourceMappingURL=dataLake.d.ts.map