UNPKG

@pulumi/gcp

Version:

A Pulumi package for creating and managing Google Cloud Platform resources.

291 lines • 10.4 kB
import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * DataExport resource represents a request to export data from Chronicle to a GCS bucket. * * To get more information about DataExport, see: * * * [API documentation](https://cloud.google.com/chronicle/docs/reference/rest/v1beta/projects.locations.instances.dataExports) * * How-to Guides * * [Data Export Overview](https://cloud.google.com/chronicle/docs/secops/data-export-overview) * * ## Example Usage * * ### Chronicle Data Export Basic * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as gcp from "@pulumi/gcp"; * * const project = gcp.organizations.getProject({ * projectId: "my-project-name", * }); * const testBucket = new gcp.storage.Bucket("test_bucket", { * name: "chronicle-test-bucket-my-project-name-_91042", * project: "my-project-name", * location: "us", * forceDestroy: true, * }); * const example = new gcp.chronicle.DataExport("example", { * location: "us", * instance: "00000000-0000-0000-0000-000000000000", * gcsBucket: pulumi.all([project, testBucket.name]).apply(([project, name]) => `projects/${project.number}/buckets/${name}`), * startTime: "2025-01-01T00:00:00Z", * endTime: "2025-01-01T12:00:00Z", * }); * ``` * ### Chronicle Data Export Full * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as gcp from "@pulumi/gcp"; * * const project = gcp.organizations.getProject({ * projectId: "my-project-name", * }); * const testBucket = new gcp.storage.Bucket("test_bucket", { * name: "chronicle-test-bucket-my-project-name-_72490", * project: "my-project-name", * location: "us", * forceDestroy: true, * }); * const example = new gcp.chronicle.DataExport("example", { * location: "us", * instance: "00000000-0000-0000-0000-000000000000", * gcsBucket: pulumi.all([project, testBucket.name]).apply(([project, name]) => `projects/${project.number}/buckets/${name}`), * startTime: "2025-01-01T00:00:00Z", * endTime: "2025-01-01T12:00:00Z", * includeLogTypes: ["projects/my-project-name/locations/us/instances/00000000-0000-0000-0000-000000000000/logTypes/GCP_CLOUDAUDIT"], * ingestionLabels: [{ * key: "key1", * value: "val1", * }], * namespaces: ["my-namespace"], * }); * ``` * * ## Import * * DataExport can be imported using any of these accepted formats: * * * `projects/{{project}}/locations/{{location}}/instances/{{instance}}/dataExports/{{data_export_id}}` * * `{{project}}/{{location}}/{{instance}}/{{data_export_id}}` * * `{{location}}/{{instance}}/{{data_export_id}}` * * When using the `pulumi import` command, DataExport can be imported using one of the formats above. For example: * * ```sh * $ pulumi import gcp:chronicle/dataExport:DataExport default projects/{{project}}/locations/{{location}}/instances/{{instance}}/dataExports/{{data_export_id}} * $ pulumi import gcp:chronicle/dataExport:DataExport default {{project}}/{{location}}/{{instance}}/{{data_export_id}} * $ pulumi import gcp:chronicle/dataExport:DataExport default {{location}}/{{instance}}/{{data_export_id}} * ``` */ export declare class DataExport extends pulumi.CustomResource { /** * Get an existing DataExport 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?: DataExportState, opts?: pulumi.CustomResourceOptions): DataExport; /** * Returns true if the given object is an instance of DataExport. 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 DataExport; /** * Timestamp indicating when the DataExport resource was created. */ readonly createTime: pulumi.Output<string>; /** * The unique identifier for the data export. */ readonly dataExportId: pulumi.Output<string>; /** * Status of the current export. * Structure is documented below. */ readonly dataExportStatuses: pulumi.Output<outputs.chronicle.DataExportDataExportStatus[]>; /** * Last, exclusive time from the range. */ readonly endTime: pulumi.Output<string>; /** * The estimated export volume in bytes. */ readonly estimatedVolume: pulumi.Output<number>; /** * Actual volume of data exported. */ readonly exportedVolume: pulumi.Output<number>; /** * Link to the destination Cloud Storage bucket. */ readonly gcsBucket: pulumi.Output<string>; /** * The specific log types to include in the Data Export request. */ readonly includeLogTypes: pulumi.Output<string[]>; /** * The ingestion labels used to filter the export. * Structure is documented below. */ readonly ingestionLabels: pulumi.Output<outputs.chronicle.DataExportIngestionLabel[] | undefined>; /** * The unique identifier for the Chronicle instance. */ readonly instance: pulumi.Output<string>; /** * The location of the resource. */ readonly location: pulumi.Output<string>; /** * The resource name of the data export. */ readonly name: pulumi.Output<string>; /** * The namespaces used to filter the export. */ readonly namespaces: pulumi.Output<string[] | undefined>; /** * The ID of the project in which the resource belongs. * If it is not provided, the provider project is used. */ readonly project: pulumi.Output<string>; /** * Start, inclusive time from the range. */ readonly startTime: pulumi.Output<string>; /** * Timestamp indicating the last time the DataExport resource was updated. */ readonly updateTime: pulumi.Output<string>; /** * Create a DataExport 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: DataExportArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering DataExport resources. */ export interface DataExportState { /** * Timestamp indicating when the DataExport resource was created. */ createTime?: pulumi.Input<string | undefined>; /** * The unique identifier for the data export. */ dataExportId?: pulumi.Input<string | undefined>; /** * Status of the current export. * Structure is documented below. */ dataExportStatuses?: pulumi.Input<pulumi.Input<inputs.chronicle.DataExportDataExportStatus>[] | undefined>; /** * Last, exclusive time from the range. */ endTime?: pulumi.Input<string | undefined>; /** * The estimated export volume in bytes. */ estimatedVolume?: pulumi.Input<number | undefined>; /** * Actual volume of data exported. */ exportedVolume?: pulumi.Input<number | undefined>; /** * Link to the destination Cloud Storage bucket. */ gcsBucket?: pulumi.Input<string | undefined>; /** * The specific log types to include in the Data Export request. */ includeLogTypes?: pulumi.Input<pulumi.Input<string>[] | undefined>; /** * The ingestion labels used to filter the export. * Structure is documented below. */ ingestionLabels?: pulumi.Input<pulumi.Input<inputs.chronicle.DataExportIngestionLabel>[] | undefined>; /** * The unique identifier for the Chronicle instance. */ instance?: pulumi.Input<string | undefined>; /** * The location of the resource. */ location?: pulumi.Input<string | undefined>; /** * The resource name of the data export. */ name?: pulumi.Input<string | undefined>; /** * The namespaces used to filter the export. */ namespaces?: pulumi.Input<pulumi.Input<string>[] | undefined>; /** * The ID of the project in which the resource belongs. * If it is not provided, the provider project is used. */ project?: pulumi.Input<string | undefined>; /** * Start, inclusive time from the range. */ startTime?: pulumi.Input<string | undefined>; /** * Timestamp indicating the last time the DataExport resource was updated. */ updateTime?: pulumi.Input<string | undefined>; } /** * The set of arguments for constructing a DataExport resource. */ export interface DataExportArgs { /** * Last, exclusive time from the range. */ endTime: pulumi.Input<string>; /** * Link to the destination Cloud Storage bucket. */ gcsBucket: pulumi.Input<string>; /** * The specific log types to include in the Data Export request. */ includeLogTypes?: pulumi.Input<pulumi.Input<string>[] | undefined>; /** * The ingestion labels used to filter the export. * Structure is documented below. */ ingestionLabels?: pulumi.Input<pulumi.Input<inputs.chronicle.DataExportIngestionLabel>[] | undefined>; /** * The unique identifier for the Chronicle instance. */ instance: pulumi.Input<string>; /** * The location of the resource. */ location: pulumi.Input<string>; /** * The namespaces used to filter the export. */ namespaces?: pulumi.Input<pulumi.Input<string>[] | undefined>; /** * The ID of the project in which the resource belongs. * If it is not provided, the provider project is used. */ project?: pulumi.Input<string | undefined>; /** * Start, inclusive time from the range. */ startTime: pulumi.Input<string>; } //# sourceMappingURL=dataExport.d.ts.map