UNPKG

@pulumi/gcp

Version:

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

295 lines (294 loc) • 11.5 kB
import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * Reference lists are user-defined lists of values which users can use in multiple Rules. * * To get more information about ReferenceList, see: * * * [API documentation](https://cloud.google.com/chronicle/docs/reference/rest/v1/projects.locations.instances.referenceLists) * * How-to Guides * * [Google SecOps Guides](https://cloud.google.com/chronicle/docs/secops/secops-overview) * * ## Example Usage * * ### Chronicle Referencelist Basic * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as gcp from "@pulumi/gcp"; * * const testScope = new gcp.chronicle.DataAccessScope("test_scope", { * location: "us", * instance: "00000000-0000-0000-0000-000000000000", * dataAccessScopeId: "scope-id", * description: "test scope description", * allowedDataAccessLabels: [{ * logType: "GCP_CLOUDAUDIT", * }], * }); * const example = new gcp.chronicle.ReferenceList("example", { * location: "us", * instance: "00000000-0000-0000-0000-000000000000", * referenceListId: "reference_list_id", * description: "referencelist-description", * entries: [{ * value: "referencelist-entry-value", * }], * syntaxType: "REFERENCE_LIST_SYNTAX_TYPE_PLAIN_TEXT_STRING", * scopeInfos: [{ * referenceListScope: { * scopeNames: [testScope.name], * }, * }], * }); * ``` * * ## Import * * ReferenceList can be imported using any of these accepted formats: * * * `projects/{{project}}/locations/{{location}}/instances/{{instance}}/referenceLists/{{reference_list_id}}` * * * `{{project}}/{{location}}/{{instance}}/{{reference_list_id}}` * * * `{{location}}/{{instance}}/{{reference_list_id}}` * * When using the `pulumi import` command, ReferenceList can be imported using one of the formats above. For example: * * ```sh * $ pulumi import gcp:chronicle/referenceList:ReferenceList default projects/{{project}}/locations/{{location}}/instances/{{instance}}/referenceLists/{{reference_list_id}} * ``` * * ```sh * $ pulumi import gcp:chronicle/referenceList:ReferenceList default {{project}}/{{location}}/{{instance}}/{{reference_list_id}} * ``` * * ```sh * $ pulumi import gcp:chronicle/referenceList:ReferenceList default {{location}}/{{instance}}/{{reference_list_id}} * ``` */ export declare class ReferenceList extends pulumi.CustomResource { /** * Get an existing ReferenceList 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?: ReferenceListState, opts?: pulumi.CustomResourceOptions): ReferenceList; /** * Returns true if the given object is an instance of ReferenceList. 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 ReferenceList; /** * Required. A user-provided description of the reference list. */ readonly description: pulumi.Output<string>; /** * Output only. The unique display name of the reference list. */ readonly displayName: pulumi.Output<string>; /** * Required. The entries of the reference list. * When listed, they are returned in the order that was specified at creation * or update. The combined size of the values of the reference list may not * exceed 6MB. * This is returned only when the view is REFERENCE_LIST_VIEW_FULL. * Structure is documented below. */ readonly entries: pulumi.Output<outputs.chronicle.ReferenceListEntry[]>; /** * The unique identifier for the Chronicle instance, which is the same as the customer ID. */ readonly instance: pulumi.Output<string>; /** * The location of the resource. This is the geographical region where the Chronicle instance resides, such as "us" or "europe-west2". */ readonly location: pulumi.Output<string>; /** * Output only. The resource name of the reference list. * Format: * projects/{project}/locations/{location}/instances/{instance}/referenceLists/{reference_list} */ readonly name: pulumi.Output<string>; /** * 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>; /** * Required. The ID to use for the reference list. This is also the display name for * the reference list. It must satisfy the following requirements: * - Starts with letter. * - Contains only letters, numbers and underscore. * - Has length < 256. * - Must be unique. */ readonly referenceListId: pulumi.Output<string>; /** * Output only. The timestamp when the reference list was last updated. */ readonly revisionCreateTime: pulumi.Output<string>; /** * Output only. The count of self-authored rules using the reference list. */ readonly ruleAssociationsCount: pulumi.Output<number>; /** * Output only. The resource names for the associated self-authored Rules that use this * reference list. * This is returned only when the view is REFERENCE_LIST_VIEW_FULL. */ readonly rules: pulumi.Output<string[]>; /** * ScopeInfo specifies the scope info of the reference list. * Structure is documented below. */ readonly scopeInfos: pulumi.Output<outputs.chronicle.ReferenceListScopeInfo[] | undefined>; /** * Possible values: * REFERENCE_LIST_SYNTAX_TYPE_PLAIN_TEXT_STRING * REFERENCE_LIST_SYNTAX_TYPE_REGEX * REFERENCE_LIST_SYNTAX_TYPE_CIDR */ readonly syntaxType: pulumi.Output<string>; /** * Create a ReferenceList 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: ReferenceListArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering ReferenceList resources. */ export interface ReferenceListState { /** * Required. A user-provided description of the reference list. */ description?: pulumi.Input<string>; /** * Output only. The unique display name of the reference list. */ displayName?: pulumi.Input<string>; /** * Required. The entries of the reference list. * When listed, they are returned in the order that was specified at creation * or update. The combined size of the values of the reference list may not * exceed 6MB. * This is returned only when the view is REFERENCE_LIST_VIEW_FULL. * Structure is documented below. */ entries?: pulumi.Input<pulumi.Input<inputs.chronicle.ReferenceListEntry>[]>; /** * The unique identifier for the Chronicle instance, which is the same as the customer ID. */ instance?: pulumi.Input<string>; /** * The location of the resource. This is the geographical region where the Chronicle instance resides, such as "us" or "europe-west2". */ location?: pulumi.Input<string>; /** * Output only. The resource name of the reference list. * Format: * projects/{project}/locations/{location}/instances/{instance}/referenceLists/{reference_list} */ name?: pulumi.Input<string>; /** * The ID of the project in which the resource belongs. * If it is not provided, the provider project is used. */ project?: pulumi.Input<string>; /** * Required. The ID to use for the reference list. This is also the display name for * the reference list. It must satisfy the following requirements: * - Starts with letter. * - Contains only letters, numbers and underscore. * - Has length < 256. * - Must be unique. */ referenceListId?: pulumi.Input<string>; /** * Output only. The timestamp when the reference list was last updated. */ revisionCreateTime?: pulumi.Input<string>; /** * Output only. The count of self-authored rules using the reference list. */ ruleAssociationsCount?: pulumi.Input<number>; /** * Output only. The resource names for the associated self-authored Rules that use this * reference list. * This is returned only when the view is REFERENCE_LIST_VIEW_FULL. */ rules?: pulumi.Input<pulumi.Input<string>[]>; /** * ScopeInfo specifies the scope info of the reference list. * Structure is documented below. */ scopeInfos?: pulumi.Input<pulumi.Input<inputs.chronicle.ReferenceListScopeInfo>[]>; /** * Possible values: * REFERENCE_LIST_SYNTAX_TYPE_PLAIN_TEXT_STRING * REFERENCE_LIST_SYNTAX_TYPE_REGEX * REFERENCE_LIST_SYNTAX_TYPE_CIDR */ syntaxType?: pulumi.Input<string>; } /** * The set of arguments for constructing a ReferenceList resource. */ export interface ReferenceListArgs { /** * Required. A user-provided description of the reference list. */ description: pulumi.Input<string>; /** * Required. The entries of the reference list. * When listed, they are returned in the order that was specified at creation * or update. The combined size of the values of the reference list may not * exceed 6MB. * This is returned only when the view is REFERENCE_LIST_VIEW_FULL. * Structure is documented below. */ entries: pulumi.Input<pulumi.Input<inputs.chronicle.ReferenceListEntry>[]>; /** * The unique identifier for the Chronicle instance, which is the same as the customer ID. */ instance: pulumi.Input<string>; /** * The location of the resource. This is the geographical region where the Chronicle instance resides, such as "us" or "europe-west2". */ location: pulumi.Input<string>; /** * The ID of the project in which the resource belongs. * If it is not provided, the provider project is used. */ project?: pulumi.Input<string>; /** * Required. The ID to use for the reference list. This is also the display name for * the reference list. It must satisfy the following requirements: * - Starts with letter. * - Contains only letters, numbers and underscore. * - Has length < 256. * - Must be unique. */ referenceListId: pulumi.Input<string>; /** * ScopeInfo specifies the scope info of the reference list. * Structure is documented below. */ scopeInfos?: pulumi.Input<pulumi.Input<inputs.chronicle.ReferenceListScopeInfo>[]>; /** * Possible values: * REFERENCE_LIST_SYNTAX_TYPE_PLAIN_TEXT_STRING * REFERENCE_LIST_SYNTAX_TYPE_REGEX * REFERENCE_LIST_SYNTAX_TYPE_CIDR */ syntaxType: pulumi.Input<string>; }