import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * Resource for managing a Harness Chaos Security Governance Condition * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as harness from "@pulumi/harness"; * * // Example of a Kubernetes Security Governance Condition * const k8sCondition = new harness.chaos.SecurityGovernanceCondition("k8s_condition", { * orgId: orgId, * projectId: projectId, * name: "k8s-security-condition", * description: "Security governance condition for Kubernetes workloads", * infraType: "KubernetesV2", * faultSpec: { * operator: "NOT_EQUAL_TO", * faults: [ * { * faultType: "FAULT", * name: "pod-delete", * }, * { * faultType: "FAULT", * name: "pod-dns", * }, * ], * }, * k8sSpec: { * infraSpec: { * operator: "EQUAL_TO", * infraIds: [k8sInfraId], * }, * applicationSpec: { * operator: "EQUAL_TO", * workloads: [{ * namespace: "default", * kind: "deployment", * label: "app=nginx", * services: ["nginx-service"], * applicationMapId: "nginx-app", * }], * }, * chaosServiceAccountSpec: { * operator: "EQUAL_TO", * serviceAccounts: [ * "default", * "chaos-service-account", * ], * }, * }, * tags: [ * "env:prod", * "team:security", * "platform:k8s", * ], * }); * // Example of a Windows Security Governance Condition * const windowsCondition = new harness.chaos.SecurityGovernanceCondition("windows_condition", { * orgId: orgId, * projectId: projectId, * name: "windows-security-condition", * description: "Security governance condition for Windows hosts", * infraType: "Windows", * faultSpec: { * operator: "NOT_EQUAL_TO", * faults: [ * { * faultType: "FAULT", * name: "process-kill", * }, * { * faultType: "FAULT", * name: "cpu-hog", * }, * ], * }, * machineSpec: { * infraSpec: { * operator: "EQUAL_TO", * infraIds: [windowsInfraId], * }, * }, * tags: [ * "env:prod", * "team:security", * "platform:windows", * ], * }); * // Example of a Linux Security Governance Condition * const linuxCondition = new harness.chaos.SecurityGovernanceCondition("linux_condition", { * orgId: orgId, * projectId: projectId, * name: "linux-security-condition", * description: "Security governance condition for Linux hosts", * infraType: "Linux", * faultSpec: { * operator: "NOT_EQUAL_TO", * faults: [ * { * faultType: "FAULT", * name: "process-kill", * }, * { * faultType: "FAULT", * name: "memory-hog", * }, * ], * }, * machineSpec: { * infraSpec: { * operator: "EQUAL_TO", * infraIds: [linuxInfraId], * }, * }, * tags: [ * "env:prod", * "team:security", * "platform:linux", * ], * }); * export const k8sConditionId = k8sCondition.id; * export const windowsConditionId = windowsCondition.id; * export const linuxConditionId = linuxCondition.id; * ``` * * ## Import * * The `pulumi import` command can be used, for example: * * Import Project level Chaos Security Governance Condition * * ```sh * $ pulumi import harness:chaos/securityGovernanceCondition:SecurityGovernanceCondition example org_id/project_id/condition_id * ``` */ export declare class SecurityGovernanceCondition extends pulumi.CustomResource { /** * Get an existing SecurityGovernanceCondition 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?: SecurityGovernanceConditionState, opts?: pulumi.CustomResourceOptions): SecurityGovernanceCondition; /** * Returns true if the given object is an instance of SecurityGovernanceCondition. 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 SecurityGovernanceCondition; /** * Description of the security governance condition */ readonly description: pulumi.Output; /** * Specification for faults to be included in the condition */ readonly faultSpec: pulumi.Output; /** * Type of infrastructure (Kubernetes, KubernetesV2, Linux, Windows, CloudFoundry, Container) */ readonly infraType: pulumi.Output; /** * Kubernetes specific configuration (required when infra*type is KUBERNETES or KUBERNETESV2) */ readonly k8sSpec: pulumi.Output; /** * Machine specific configuration (required when infra*type is LINUX or WINDOWS) */ readonly machineSpec: pulumi.Output; /** * Name of the security governance condition */ readonly name: pulumi.Output; /** * The organization ID of the security governance condition */ readonly orgId: pulumi.Output; /** * The project ID of the security governance condition */ readonly projectId: pulumi.Output; /** * Tags for the security governance condition */ readonly tags: pulumi.Output; /** * Create a SecurityGovernanceCondition 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: SecurityGovernanceConditionArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering SecurityGovernanceCondition resources. */ export interface SecurityGovernanceConditionState { /** * Description of the security governance condition */ description?: pulumi.Input; /** * Specification for faults to be included in the condition */ faultSpec?: pulumi.Input; /** * Type of infrastructure (Kubernetes, KubernetesV2, Linux, Windows, CloudFoundry, Container) */ infraType?: pulumi.Input; /** * Kubernetes specific configuration (required when infra*type is KUBERNETES or KUBERNETESV2) */ k8sSpec?: pulumi.Input; /** * Machine specific configuration (required when infra*type is LINUX or WINDOWS) */ machineSpec?: pulumi.Input; /** * Name of the security governance condition */ name?: pulumi.Input; /** * The organization ID of the security governance condition */ orgId?: pulumi.Input; /** * The project ID of the security governance condition */ projectId?: pulumi.Input; /** * Tags for the security governance condition */ tags?: pulumi.Input[] | undefined>; } /** * The set of arguments for constructing a SecurityGovernanceCondition resource. */ export interface SecurityGovernanceConditionArgs { /** * Description of the security governance condition */ description?: pulumi.Input; /** * Specification for faults to be included in the condition */ faultSpec: pulumi.Input; /** * Type of infrastructure (Kubernetes, KubernetesV2, Linux, Windows, CloudFoundry, Container) */ infraType: pulumi.Input; /** * Kubernetes specific configuration (required when infra*type is KUBERNETES or KUBERNETESV2) */ k8sSpec?: pulumi.Input; /** * Machine specific configuration (required when infra*type is LINUX or WINDOWS) */ machineSpec?: pulumi.Input; /** * Name of the security governance condition */ name?: pulumi.Input; /** * The organization ID of the security governance condition */ orgId: pulumi.Input; /** * The project ID of the security governance condition */ projectId: pulumi.Input; /** * Tags for the security governance condition */ tags?: pulumi.Input[] | undefined>; } //# sourceMappingURL=securityGovernanceCondition.d.ts.map