import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * The Project Storage Intelligence Config resource represents GCS Storage Intelligence operating on individual GCP project. Storage Intelligence Config is a singleton resource and individual instance exists on each GCP project. * * Storage Intelligence is for Storage Admins to manage GCP storage assets at scale for performance, cost, security & compliance. * * > **Warning:** Storage Intelligence Config is a singleton resource which cannot be created or deleted. A single instance of Storage Intelligence Config exist for each GCP Project. Terraform does not create or destroy this resource. * Terraform resource creation for this resource is simply an update operation on existing resource with specified properties, absence of any optional field in the create operation will result in clearance of that field. Terraform deletion won't have any effect on this resource rather it will only remove it from the state file. * * ## Example Usage * * ### Storage Control Project Intelligence Config Basic * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as gcp from "@pulumi/gcp"; * * const example = new gcp.storage.ControlProjectIntelligenceConfig("example", { * name: "test-project", * editionConfig: "TRIAL", * filter: { * includedCloudStorageBuckets: { * bucketIdRegexes: [ * "test-id-1*", * "test-id-2*", * ], * }, * }, * }); * ``` * * ## Import * * ProjectIntelligenceConfig can be imported using any of these accepted formats: * * * `projects/{{name}}/locations/global/intelligenceConfig` * * `{{name}}` * * When using the `pulumi import` command, ProjectIntelligenceConfig can be imported using one of the formats above. For example: * * ```sh * $ pulumi import gcp:storage/controlProjectIntelligenceConfig:ControlProjectIntelligenceConfig default projects/{{name}}/locations/global/intelligenceConfig * $ pulumi import gcp:storage/controlProjectIntelligenceConfig:ControlProjectIntelligenceConfig default {{name}} * ``` */ export declare class ControlProjectIntelligenceConfig extends pulumi.CustomResource { /** * Get an existing ControlProjectIntelligenceConfig 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?: ControlProjectIntelligenceConfigState, opts?: pulumi.CustomResourceOptions): ControlProjectIntelligenceConfig; /** * Returns true if the given object is an instance of ControlProjectIntelligenceConfig. 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 ControlProjectIntelligenceConfig; /** * Edition configuration of the Storage Intelligence resource. Valid values are INHERIT, TRIAL, DISABLED and STANDARD. */ readonly editionConfig: pulumi.Output; /** * The Intelligence config that is effective for the resource. * Structure is documented below. */ readonly effectiveIntelligenceConfigs: pulumi.Output; /** * Filter over location and bucket using include or exclude semantics. Resources that match the include or exclude filter are exclusively included or excluded from the Storage Intelligence plan. * Structure is documented below. */ readonly filter: pulumi.Output; /** * Identifier of the GCP project. For GCP project, this field can be project name or project number. */ readonly name: pulumi.Output; /** * The trial configuration of the Storage Intelligence resource. * Structure is documented below. */ readonly trialConfigs: pulumi.Output; /** * The time at which the Storage Intelligence Config resource is last updated. */ readonly updateTime: pulumi.Output; /** * Create a ControlProjectIntelligenceConfig 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?: ControlProjectIntelligenceConfigArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering ControlProjectIntelligenceConfig resources. */ export interface ControlProjectIntelligenceConfigState { /** * Edition configuration of the Storage Intelligence resource. Valid values are INHERIT, TRIAL, DISABLED and STANDARD. */ editionConfig?: pulumi.Input; /** * The Intelligence config that is effective for the resource. * Structure is documented below. */ effectiveIntelligenceConfigs?: pulumi.Input[]>; /** * Filter over location and bucket using include or exclude semantics. Resources that match the include or exclude filter are exclusively included or excluded from the Storage Intelligence plan. * Structure is documented below. */ filter?: pulumi.Input; /** * Identifier of the GCP project. For GCP project, this field can be project name or project number. */ name?: pulumi.Input; /** * The trial configuration of the Storage Intelligence resource. * Structure is documented below. */ trialConfigs?: pulumi.Input[]>; /** * The time at which the Storage Intelligence Config resource is last updated. */ updateTime?: pulumi.Input; } /** * The set of arguments for constructing a ControlProjectIntelligenceConfig resource. */ export interface ControlProjectIntelligenceConfigArgs { /** * Edition configuration of the Storage Intelligence resource. Valid values are INHERIT, TRIAL, DISABLED and STANDARD. */ editionConfig?: pulumi.Input; /** * Filter over location and bucket using include or exclude semantics. Resources that match the include or exclude filter are exclusively included or excluded from the Storage Intelligence plan. * Structure is documented below. */ filter?: pulumi.Input; /** * Identifier of the GCP project. For GCP project, this field can be project name or project number. */ name?: pulumi.Input; }