import * as pulumi from "@pulumi/pulumi"; /** * Resource for creating, updating, and managing rule enforcement. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as harness from "@pulumi/harness"; * * const example = new harness.governance.RuleEnforcement("example", { * identifier: "identifier", * name: "name", * cloudProvider: "AWS/AZURE/GCP", * ruleIds: ["rule_id1"], * ruleSetIds: ["rule_set_id1"], * executionSchedule: "0 0 * * * *", * executionTimezone: "UTC", * isEnabled: true, * targetAccounts: ["awsAccountId/azureSubscriptionId/gcpProjectId"], * targetRegions: ["us-east-1/eastus"], * isDryRun: false, * description: "description", * }); * ``` * * ## Import * * The `pulumi import` command can be used, for example: * * Import governance enforcement * * ```sh * $ pulumi import harness:governance/ruleEnforcement:RuleEnforcement example * ``` */ export declare class RuleEnforcement extends pulumi.CustomResource { /** * Get an existing RuleEnforcement 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?: RuleEnforcementState, opts?: pulumi.CustomResourceOptions): RuleEnforcement; /** * Returns true if the given object is an instance of RuleEnforcement. 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 RuleEnforcement; /** * The cloud provider for the rule enforcement. It should be either AWS, AZURE or GCP. */ readonly cloudProvider: pulumi.Output; /** * Description for rule enforcement. */ readonly description: pulumi.Output; /** * Id of the rule enforcement. */ readonly enforcementId: pulumi.Output; /** * Execution schedule in cron format. */ readonly executionSchedule: pulumi.Output; /** * Timezone for the execution schedule. */ readonly executionTimezone: pulumi.Output; /** * Indicates if the rule enforcement is a dry run. This by default is set to false. */ readonly isDryRun: pulumi.Output; /** * Indicates if the rule enforcement is enabled. This by default is set to true. */ readonly isEnabled: pulumi.Output; /** * Name of the rule enforcement. */ readonly name: pulumi.Output; /** * List of rule IDs. Either rule*ids or rule*set_ids should be provided. */ readonly ruleIds: pulumi.Output; /** * List of rule set IDs. Either rule*ids or rule*set_ids should be provided. */ readonly ruleSetIds: pulumi.Output; /** * List of target account which can be either AWS Account Ids or Azure Subscription Ids or Gcp Project Ids. */ readonly targetAccounts: pulumi.Output; /** * List of target regions. For GCP it should be left empty but is required in case of AWS or Azure. */ readonly targetRegions: pulumi.Output; /** * Create a RuleEnforcement 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: RuleEnforcementArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering RuleEnforcement resources. */ export interface RuleEnforcementState { /** * The cloud provider for the rule enforcement. It should be either AWS, AZURE or GCP. */ cloudProvider?: pulumi.Input; /** * Description for rule enforcement. */ description?: pulumi.Input; /** * Id of the rule enforcement. */ enforcementId?: pulumi.Input; /** * Execution schedule in cron format. */ executionSchedule?: pulumi.Input; /** * Timezone for the execution schedule. */ executionTimezone?: pulumi.Input; /** * Indicates if the rule enforcement is a dry run. This by default is set to false. */ isDryRun?: pulumi.Input; /** * Indicates if the rule enforcement is enabled. This by default is set to true. */ isEnabled?: pulumi.Input; /** * Name of the rule enforcement. */ name?: pulumi.Input; /** * List of rule IDs. Either rule*ids or rule*set_ids should be provided. */ ruleIds?: pulumi.Input[] | undefined>; /** * List of rule set IDs. Either rule*ids or rule*set_ids should be provided. */ ruleSetIds?: pulumi.Input[] | undefined>; /** * List of target account which can be either AWS Account Ids or Azure Subscription Ids or Gcp Project Ids. */ targetAccounts?: pulumi.Input[] | undefined>; /** * List of target regions. For GCP it should be left empty but is required in case of AWS or Azure. */ targetRegions?: pulumi.Input[] | undefined>; } /** * The set of arguments for constructing a RuleEnforcement resource. */ export interface RuleEnforcementArgs { /** * The cloud provider for the rule enforcement. It should be either AWS, AZURE or GCP. */ cloudProvider: pulumi.Input; /** * Description for rule enforcement. */ description?: pulumi.Input; /** * Execution schedule in cron format. */ executionSchedule: pulumi.Input; /** * Timezone for the execution schedule. */ executionTimezone: pulumi.Input; /** * Indicates if the rule enforcement is a dry run. This by default is set to false. */ isDryRun?: pulumi.Input; /** * Indicates if the rule enforcement is enabled. This by default is set to true. */ isEnabled?: pulumi.Input; /** * Name of the rule enforcement. */ name?: pulumi.Input; /** * List of rule IDs. Either rule*ids or rule*set_ids should be provided. */ ruleIds?: pulumi.Input[] | undefined>; /** * List of rule set IDs. Either rule*ids or rule*set_ids should be provided. */ ruleSetIds?: pulumi.Input[] | undefined>; /** * List of target account which can be either AWS Account Ids or Azure Subscription Ids or Gcp Project Ids. */ targetAccounts: pulumi.Input[]>; /** * List of target regions. For GCP it should be left empty but is required in case of AWS or Azure. */ targetRegions?: pulumi.Input[] | undefined>; } //# sourceMappingURL=ruleEnforcement.d.ts.map