import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * The Folder Storage Intelligence resource represents GCS Storage Intelligence operating on individual GCP Folder. Storage Intelligence is a singleton resource and individual instance exists on each GCP Folder. * * 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 Folder. 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, absense 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 Folder Intelligence Config Basic * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as gcp from "@pulumi/gcp"; * * const example = new gcp.storage.ControlFolderIntelligenceConfig("example", { * name: "12345678", * editionConfig: "STANDARD", * filter: { * includedCloudStorageBuckets: { * bucketIdRegexes: [ * "test-id-1*", * "test-id-2*", * ], * }, * excludedCloudStorageLocations: { * locations: [ * "test-location-1*", * "test-locations-2*", * ], * }, * }, * }); * ``` * * ## Import * * FolderIntelligenceConfig can be imported using any of these accepted formats: * * * `folders/{{name}}/locations/global/intelligenceConfig` * * `{{name}}` * * When using the `pulumi import` command, FolderIntelligenceConfig can be imported using one of the formats above. For example: * * ```sh * $ pulumi import gcp:storage/controlFolderIntelligenceConfig:ControlFolderIntelligenceConfig default folders/{{name}}/locations/global/intelligenceConfig * $ pulumi import gcp:storage/controlFolderIntelligenceConfig:ControlFolderIntelligenceConfig default {{name}} * ``` */ export declare class ControlFolderIntelligenceConfig extends pulumi.CustomResource { /** * Get an existing ControlFolderIntelligenceConfig 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?: ControlFolderIntelligenceConfigState, opts?: pulumi.CustomResourceOptions): ControlFolderIntelligenceConfig; /** * Returns true if the given object is an instance of ControlFolderIntelligenceConfig. 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 ControlFolderIntelligenceConfig; /** * 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 Folder. For GCP Folder, this field can be folder 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 ControlFolderIntelligenceConfig 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?: ControlFolderIntelligenceConfigArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering ControlFolderIntelligenceConfig resources. */ export interface ControlFolderIntelligenceConfigState { /** * 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 Folder. For GCP Folder, this field can be folder 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 ControlFolderIntelligenceConfig resource. */ export interface ControlFolderIntelligenceConfigArgs { /** * 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 Folder. For GCP Folder, this field can be folder number. */ name?: pulumi.Input; }