import * as pulumi from "@pulumi/pulumi"; /** * Manages a Chaos Studio Capability. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as azure from "@pulumi/azure"; * * const exampleResourceGroup = new azure.core.ResourceGroup("example", { * name: "example-resources", * location: "West Europe", * }); * const example = new azure.containerservice.KubernetesCluster("example", { * name: "example", * location: exampleResourceGroup.location, * resourceGroupName: exampleResourceGroup.name, * dnsPrefix: "acctestaksexample", * defaultNodePool: { * name: "example-value", * nodeCount: "example-value", * vmSize: "example-value", * }, * identity: { * type: "example-value", * }, * }); * const exampleTarget = new azure.chaosstudio.Target("example", { * location: exampleResourceGroup.location, * targetResourceId: example.id, * targetType: "example-value", * }); * const exampleCapability = new azure.chaosstudio.Capability("example", { * capabilityType: "example-value", * chaosStudioTargetId: exampleTarget.id, * }); * ``` * * ## API Providers * * * This resource uses the following Azure API Providers: * * * `Microsoft.Chaos` - 2023-11-01 * * ## Import * * An existing Chaos Studio Target can be imported into Pulumi using the `resource id`, e.g. * * ```sh * $ pulumi import azure:chaosstudio/capability:Capability example /{scope}/providers/Microsoft.Chaos/targets/{targetName}/capabilities/{capabilityName} * ``` * * * Where `{scope}` is the ID of the Azure Resource under which the Chaos Studio Target exists. For example `/subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/some-resource-group`. * * Where `{targetName}` is the name of the Target. For example `targetValue`. * * Where `{capabilityName}` is the name of the Capability. For example `capabilityName`. */ export declare class Capability extends pulumi.CustomResource { /** * Get an existing Capability 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?: CapabilityState, opts?: pulumi.CustomResourceOptions): Capability; /** * Returns true if the given object is an instance of Capability. 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 Capability; /** * The capability that should be applied to the Chaos Studio Target. For supported values please see this Chaos Studio [Fault Library](https://learn.microsoft.com/azure/chaos-studio/chaos-studio-fault-library). Changing this forces a new Chaos Studio Capability to be created. */ readonly capabilityType: pulumi.Output; /** * The Unique Resource Name of the Capability. */ readonly capabilityUrn: pulumi.Output; /** * The Chaos Studio Target that the capability should be applied to. Changing this forces a new Chaos Studio Capability to be created. */ readonly chaosStudioTargetId: pulumi.Output; /** * Create a Capability 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: CapabilityArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering Capability resources. */ export interface CapabilityState { /** * The capability that should be applied to the Chaos Studio Target. For supported values please see this Chaos Studio [Fault Library](https://learn.microsoft.com/azure/chaos-studio/chaos-studio-fault-library). Changing this forces a new Chaos Studio Capability to be created. */ capabilityType?: pulumi.Input; /** * The Unique Resource Name of the Capability. */ capabilityUrn?: pulumi.Input; /** * The Chaos Studio Target that the capability should be applied to. Changing this forces a new Chaos Studio Capability to be created. */ chaosStudioTargetId?: pulumi.Input; } /** * The set of arguments for constructing a Capability resource. */ export interface CapabilityArgs { /** * The capability that should be applied to the Chaos Studio Target. For supported values please see this Chaos Studio [Fault Library](https://learn.microsoft.com/azure/chaos-studio/chaos-studio-fault-library). Changing this forces a new Chaos Studio Capability to be created. */ capabilityType: pulumi.Input; /** * The Chaos Studio Target that the capability should be applied to. Changing this forces a new Chaos Studio Capability to be created. */ chaosStudioTargetId: pulumi.Input; }