import * as pulumi from "@pulumi/pulumi"; /** * Mute Findings is a volume management feature in Security Command Center * that lets you manually or programmatically hide irrelevant findings, * and create filters to automatically silence existing and future * findings based on criteria you specify. * * To get more information about MuteConfig, see: * * * [API documentation](https://cloud.google.com/security-command-center/docs/reference/rest/v1/organizations.muteConfigs) * * ## Example Usage * * ### Scc Mute Config * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as gcp from "@pulumi/gcp"; * * const _default = new gcp.securitycenter.MuteConfig("default", { * muteConfigId: "my-config", * parent: "organizations/123456789", * filter: "category: \"OS_VULNERABILITY\"", * description: "My Mute Config", * type: "DYNAMIC", * expiryTime: "2215-02-03T15:01:23Z", * }); * ``` * * ## Import * * MuteConfig can be imported using any of these accepted formats: * * * `{{name}}` * * When using the `pulumi import` command, MuteConfig can be imported using one of the formats above. For example: * * ```sh * $ pulumi import gcp:securitycenter/muteConfig:MuteConfig default {{name}} * ``` */ export declare class MuteConfig extends pulumi.CustomResource { /** * Get an existing MuteConfig 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?: MuteConfigState, opts?: pulumi.CustomResourceOptions): MuteConfig; /** * Returns true if the given object is an instance of MuteConfig. 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 MuteConfig; /** * The time at which the mute config was created. This field is set by * the server and will be ignored if provided on config creation. */ readonly createTime: pulumi.Output; /** * A description of the mute config. */ readonly description: pulumi.Output; /** * Optional. The expiry of the mute config. Only applicable for dynamic configs. * If the expiry is set, when the config expires, it is removed from all findings. * A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to * nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z". */ readonly expiryTime: pulumi.Output; /** * An expression that defines the filter to apply across create/update * events of findings. While creating a filter string, be mindful of * the scope in which the mute configuration is being created. E.g., * If a filter contains project = X but is created under the * project = Y scope, it might not match any findings. */ readonly filter: pulumi.Output; /** * Email address of the user who last edited the mute config. This * field is set by the server and will be ignored if provided on * config creation or update. */ readonly mostRecentEditor: pulumi.Output; /** * Unique identifier provided by the client within the parent scope. */ readonly muteConfigId: pulumi.Output; /** * Name of the mute config. Its format is * organizations/{organization}/muteConfigs/{configId}, * folders/{folder}/muteConfigs/{configId}, * or projects/{project}/muteConfigs/{configId} */ readonly name: pulumi.Output; /** * Resource name of the new mute configs's parent. Its format is * "organizations/[organizationId]", "folders/[folderId]", or * "projects/[projectId]". */ readonly parent: pulumi.Output; /** * The type of the mute config, which determines what type of mute state the config affects. * Default value is `DYNAMIC`. * Possible values are: `MUTE_CONFIG_TYPE_UNSPECIFIED`, `STATIC`, `DYNAMIC`. */ readonly type: pulumi.Output; /** * Output only. The most recent time at which the mute config was * updated. This field is set by the server and will be ignored if * provided on config creation or update. */ readonly updateTime: pulumi.Output; /** * Create a MuteConfig 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: MuteConfigArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering MuteConfig resources. */ export interface MuteConfigState { /** * The time at which the mute config was created. This field is set by * the server and will be ignored if provided on config creation. */ createTime?: pulumi.Input; /** * A description of the mute config. */ description?: pulumi.Input; /** * Optional. The expiry of the mute config. Only applicable for dynamic configs. * If the expiry is set, when the config expires, it is removed from all findings. * A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to * nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z". */ expiryTime?: pulumi.Input; /** * An expression that defines the filter to apply across create/update * events of findings. While creating a filter string, be mindful of * the scope in which the mute configuration is being created. E.g., * If a filter contains project = X but is created under the * project = Y scope, it might not match any findings. */ filter?: pulumi.Input; /** * Email address of the user who last edited the mute config. This * field is set by the server and will be ignored if provided on * config creation or update. */ mostRecentEditor?: pulumi.Input; /** * Unique identifier provided by the client within the parent scope. */ muteConfigId?: pulumi.Input; /** * Name of the mute config. Its format is * organizations/{organization}/muteConfigs/{configId}, * folders/{folder}/muteConfigs/{configId}, * or projects/{project}/muteConfigs/{configId} */ name?: pulumi.Input; /** * Resource name of the new mute configs's parent. Its format is * "organizations/[organizationId]", "folders/[folderId]", or * "projects/[projectId]". */ parent?: pulumi.Input; /** * The type of the mute config, which determines what type of mute state the config affects. * Default value is `DYNAMIC`. * Possible values are: `MUTE_CONFIG_TYPE_UNSPECIFIED`, `STATIC`, `DYNAMIC`. */ type?: pulumi.Input; /** * Output only. The most recent time at which the mute config was * updated. This field is set by the server and will be ignored if * provided on config creation or update. */ updateTime?: pulumi.Input; } /** * The set of arguments for constructing a MuteConfig resource. */ export interface MuteConfigArgs { /** * A description of the mute config. */ description?: pulumi.Input; /** * Optional. The expiry of the mute config. Only applicable for dynamic configs. * If the expiry is set, when the config expires, it is removed from all findings. * A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to * nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z". */ expiryTime?: pulumi.Input; /** * An expression that defines the filter to apply across create/update * events of findings. While creating a filter string, be mindful of * the scope in which the mute configuration is being created. E.g., * If a filter contains project = X but is created under the * project = Y scope, it might not match any findings. */ filter: pulumi.Input; /** * Unique identifier provided by the client within the parent scope. */ muteConfigId: pulumi.Input; /** * Resource name of the new mute configs's parent. Its format is * "organizations/[organizationId]", "folders/[folderId]", or * "projects/[projectId]". */ parent: pulumi.Input; /** * The type of the mute config, which determines what type of mute state the config affects. * Default value is `DYNAMIC`. * Possible values are: `MUTE_CONFIG_TYPE_UNSPECIFIED`, `STATIC`, `DYNAMIC`. */ type?: pulumi.Input; }