@pulumi/azure 5.66.0-alpha.1707545401 → 5.66.0-alpha.1707859387

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/appplatform/index.d.ts +3 -0
  2. package/appplatform/index.js +6 -1
  3. package/appplatform/index.js.map +1 -1
  4. package/appplatform/springCloudAppDynamicsApplicationPerformanceMonitoring.d.ts +220 -0
  5. package/appplatform/springCloudAppDynamicsApplicationPerformanceMonitoring.js +125 -0
  6. package/appplatform/springCloudAppDynamicsApplicationPerformanceMonitoring.js.map +1 -0
  7. package/appservice/environmentV3.d.ts +3 -0
  8. package/appservice/environmentV3.js +2 -0
  9. package/appservice/environmentV3.js.map +1 -1
  10. package/appservice/getEnvironmentV3.d.ts +1 -0
  11. package/appservice/getEnvironmentV3.js.map +1 -1
  12. package/chaosstudio/capability.d.ts +116 -0
  13. package/chaosstudio/capability.js +107 -0
  14. package/chaosstudio/capability.js.map +1 -0
  15. package/chaosstudio/experiment.d.ts +207 -0
  16. package/chaosstudio/experiment.js +165 -0
  17. package/chaosstudio/experiment.js.map +1 -0
  18. package/chaosstudio/index.d.ts +6 -0
  19. package/chaosstudio/index.js +11 -1
  20. package/chaosstudio/index.js.map +1 -1
  21. package/containerservice/fleetMember.d.ts +138 -0
  22. package/containerservice/fleetMember.js +115 -0
  23. package/containerservice/fleetMember.js.map +1 -0
  24. package/containerservice/fleetUpdateStrategy.d.ts +1 -1
  25. package/containerservice/fleetUpdateStrategy.js +1 -1
  26. package/containerservice/index.d.ts +3 -0
  27. package/containerservice/index.js +6 -1
  28. package/containerservice/index.js.map +1 -1
  29. package/databricks/getAccessConnector.d.ts +87 -0
  30. package/databricks/getAccessConnector.js +52 -0
  31. package/databricks/getAccessConnector.js.map +1 -0
  32. package/databricks/index.d.ts +3 -0
  33. package/databricks/index.js +4 -1
  34. package/databricks/index.js.map +1 -1
  35. package/dataprotection/backupPolicyKubernetesCluster.d.ts +133 -0
  36. package/dataprotection/backupPolicyKubernetesCluster.js +84 -0
  37. package/dataprotection/backupPolicyKubernetesCluster.js.map +1 -0
  38. package/dataprotection/backupPolicyPostgresql.d.ts +3 -3
  39. package/dataprotection/index.d.ts +3 -0
  40. package/dataprotection/index.js +6 -1
  41. package/dataprotection/index.js.map +1 -1
  42. package/devcenter/gallery.d.ts +120 -0
  43. package/devcenter/gallery.js +107 -0
  44. package/devcenter/gallery.js.map +1 -0
  45. package/devcenter/index.d.ts +3 -0
  46. package/devcenter/index.js +6 -1
  47. package/devcenter/index.js.map +1 -1
  48. package/iotcentral/index.d.ts +3 -0
  49. package/iotcentral/index.js +6 -1
  50. package/iotcentral/index.js.map +1 -1
  51. package/iotcentral/organization.d.ts +126 -0
  52. package/iotcentral/organization.js +106 -0
  53. package/iotcentral/organization.js.map +1 -0
  54. package/lb/rule.d.ts +12 -12
  55. package/loganalytics/workspaceTable.d.ts +19 -6
  56. package/loganalytics/workspaceTable.js +3 -0
  57. package/loganalytics/workspaceTable.js.map +1 -1
  58. package/machinelearning/workspace.d.ts +24 -0
  59. package/machinelearning/workspace.js +4 -0
  60. package/machinelearning/workspace.js.map +1 -1
  61. package/network/trafficManagerAzureEndpoint.d.ts +13 -0
  62. package/network/trafficManagerAzureEndpoint.js +3 -0
  63. package/network/trafficManagerAzureEndpoint.js.map +1 -1
  64. package/network/trafficManagerExternalEndpoint.d.ts +13 -0
  65. package/network/trafficManagerExternalEndpoint.js +3 -0
  66. package/network/trafficManagerExternalEndpoint.js.map +1 -1
  67. package/package.json +1 -1
  68. package/storage/account.d.ts +12 -0
  69. package/storage/account.js +2 -0
  70. package/storage/account.js.map +1 -1
  71. package/types/input.d.ts +162 -4
  72. package/types/output.d.ts +180 -4
@@ -0,0 +1,116 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ /**
3
+ * Manages a Chaos Studio Capability.
4
+ *
5
+ * ## Example Usage
6
+ *
7
+ * ```typescript
8
+ * import * as pulumi from "@pulumi/pulumi";
9
+ * import * as azure from "@pulumi/azure";
10
+ *
11
+ * const exampleResourceGroup = new azure.core.ResourceGroup("exampleResourceGroup", {location: "West Europe"});
12
+ * const exampleKubernetesCluster = new azure.containerservice.KubernetesCluster("exampleKubernetesCluster", {
13
+ * location: exampleResourceGroup.location,
14
+ * resourceGroupName: exampleResourceGroup.name,
15
+ * dnsPrefix: "acctestaksexample",
16
+ * defaultNodePool: {
17
+ * name: "example-value",
18
+ * nodeCount: "example-value",
19
+ * vmSize: "example-value",
20
+ * },
21
+ * identity: {
22
+ * type: "example-value",
23
+ * },
24
+ * });
25
+ * const exampleTarget = new azure.chaosstudio.Target("exampleTarget", {
26
+ * location: exampleResourceGroup.location,
27
+ * targetResourceId: exampleKubernetesCluster.id,
28
+ * targetType: "example-value",
29
+ * });
30
+ * const exampleCapability = new azure.chaosstudio.Capability("exampleCapability", {
31
+ * capabilityType: "example-value",
32
+ * chaosStudioTargetId: exampleTarget.id,
33
+ * });
34
+ * ```
35
+ *
36
+ * ## Import
37
+ *
38
+ * An existing Chaos Studio Target can be imported into Terraform using the `resource id`, e.g.
39
+ *
40
+ * ```sh
41
+ * $ pulumi import azure:chaosstudio/capability:Capability example /{scope}/providers/Microsoft.Chaos/targets/{targetName}/capabilities/{capabilityName}
42
+ * ```
43
+ *
44
+ * * 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`.
45
+ *
46
+ * * Where `{targetName}` is the name of the Target. For example `targetValue`.
47
+ *
48
+ * * Where `{capabilityName}` is the name of the Capability. For example `capabilityName`.
49
+ */
50
+ export declare class Capability extends pulumi.CustomResource {
51
+ /**
52
+ * Get an existing Capability resource's state with the given name, ID, and optional extra
53
+ * properties used to qualify the lookup.
54
+ *
55
+ * @param name The _unique_ name of the resulting resource.
56
+ * @param id The _unique_ provider ID of the resource to lookup.
57
+ * @param state Any extra arguments used during the lookup.
58
+ * @param opts Optional settings to control the behavior of the CustomResource.
59
+ */
60
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: CapabilityState, opts?: pulumi.CustomResourceOptions): Capability;
61
+ /**
62
+ * Returns true if the given object is an instance of Capability. This is designed to work even
63
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
64
+ */
65
+ static isInstance(obj: any): obj is Capability;
66
+ /**
67
+ * 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.
68
+ */
69
+ readonly capabilityType: pulumi.Output<string>;
70
+ /**
71
+ * The Unique Resource Name of the Capability.
72
+ */
73
+ readonly capabilityUrn: pulumi.Output<string>;
74
+ /**
75
+ * The Chaos Studio Target that the capability should be applied to. Changing this forces a new Chaos Studio Capability to be created.
76
+ */
77
+ readonly chaosStudioTargetId: pulumi.Output<string>;
78
+ /**
79
+ * Create a Capability resource with the given unique name, arguments, and options.
80
+ *
81
+ * @param name The _unique_ name of the resource.
82
+ * @param args The arguments to use to populate this resource's properties.
83
+ * @param opts A bag of options that control this resource's behavior.
84
+ */
85
+ constructor(name: string, args: CapabilityArgs, opts?: pulumi.CustomResourceOptions);
86
+ }
87
+ /**
88
+ * Input properties used for looking up and filtering Capability resources.
89
+ */
90
+ export interface CapabilityState {
91
+ /**
92
+ * 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.
93
+ */
94
+ capabilityType?: pulumi.Input<string>;
95
+ /**
96
+ * The Unique Resource Name of the Capability.
97
+ */
98
+ capabilityUrn?: pulumi.Input<string>;
99
+ /**
100
+ * The Chaos Studio Target that the capability should be applied to. Changing this forces a new Chaos Studio Capability to be created.
101
+ */
102
+ chaosStudioTargetId?: pulumi.Input<string>;
103
+ }
104
+ /**
105
+ * The set of arguments for constructing a Capability resource.
106
+ */
107
+ export interface CapabilityArgs {
108
+ /**
109
+ * 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.
110
+ */
111
+ capabilityType: pulumi.Input<string>;
112
+ /**
113
+ * The Chaos Studio Target that the capability should be applied to. Changing this forces a new Chaos Studio Capability to be created.
114
+ */
115
+ chaosStudioTargetId: pulumi.Input<string>;
116
+ }
@@ -0,0 +1,107 @@
1
+ "use strict";
2
+ // *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ // *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.Capability = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("../utilities");
8
+ /**
9
+ * Manages a Chaos Studio Capability.
10
+ *
11
+ * ## Example Usage
12
+ *
13
+ * ```typescript
14
+ * import * as pulumi from "@pulumi/pulumi";
15
+ * import * as azure from "@pulumi/azure";
16
+ *
17
+ * const exampleResourceGroup = new azure.core.ResourceGroup("exampleResourceGroup", {location: "West Europe"});
18
+ * const exampleKubernetesCluster = new azure.containerservice.KubernetesCluster("exampleKubernetesCluster", {
19
+ * location: exampleResourceGroup.location,
20
+ * resourceGroupName: exampleResourceGroup.name,
21
+ * dnsPrefix: "acctestaksexample",
22
+ * defaultNodePool: {
23
+ * name: "example-value",
24
+ * nodeCount: "example-value",
25
+ * vmSize: "example-value",
26
+ * },
27
+ * identity: {
28
+ * type: "example-value",
29
+ * },
30
+ * });
31
+ * const exampleTarget = new azure.chaosstudio.Target("exampleTarget", {
32
+ * location: exampleResourceGroup.location,
33
+ * targetResourceId: exampleKubernetesCluster.id,
34
+ * targetType: "example-value",
35
+ * });
36
+ * const exampleCapability = new azure.chaosstudio.Capability("exampleCapability", {
37
+ * capabilityType: "example-value",
38
+ * chaosStudioTargetId: exampleTarget.id,
39
+ * });
40
+ * ```
41
+ *
42
+ * ## Import
43
+ *
44
+ * An existing Chaos Studio Target can be imported into Terraform using the `resource id`, e.g.
45
+ *
46
+ * ```sh
47
+ * $ pulumi import azure:chaosstudio/capability:Capability example /{scope}/providers/Microsoft.Chaos/targets/{targetName}/capabilities/{capabilityName}
48
+ * ```
49
+ *
50
+ * * 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`.
51
+ *
52
+ * * Where `{targetName}` is the name of the Target. For example `targetValue`.
53
+ *
54
+ * * Where `{capabilityName}` is the name of the Capability. For example `capabilityName`.
55
+ */
56
+ class Capability extends pulumi.CustomResource {
57
+ constructor(name, argsOrState, opts) {
58
+ let resourceInputs = {};
59
+ opts = opts || {};
60
+ if (opts.id) {
61
+ const state = argsOrState;
62
+ resourceInputs["capabilityType"] = state ? state.capabilityType : undefined;
63
+ resourceInputs["capabilityUrn"] = state ? state.capabilityUrn : undefined;
64
+ resourceInputs["chaosStudioTargetId"] = state ? state.chaosStudioTargetId : undefined;
65
+ }
66
+ else {
67
+ const args = argsOrState;
68
+ if ((!args || args.capabilityType === undefined) && !opts.urn) {
69
+ throw new Error("Missing required property 'capabilityType'");
70
+ }
71
+ if ((!args || args.chaosStudioTargetId === undefined) && !opts.urn) {
72
+ throw new Error("Missing required property 'chaosStudioTargetId'");
73
+ }
74
+ resourceInputs["capabilityType"] = args ? args.capabilityType : undefined;
75
+ resourceInputs["chaosStudioTargetId"] = args ? args.chaosStudioTargetId : undefined;
76
+ resourceInputs["capabilityUrn"] = undefined /*out*/;
77
+ }
78
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
79
+ super(Capability.__pulumiType, name, resourceInputs, opts);
80
+ }
81
+ /**
82
+ * Get an existing Capability resource's state with the given name, ID, and optional extra
83
+ * properties used to qualify the lookup.
84
+ *
85
+ * @param name The _unique_ name of the resulting resource.
86
+ * @param id The _unique_ provider ID of the resource to lookup.
87
+ * @param state Any extra arguments used during the lookup.
88
+ * @param opts Optional settings to control the behavior of the CustomResource.
89
+ */
90
+ static get(name, id, state, opts) {
91
+ return new Capability(name, state, Object.assign(Object.assign({}, opts), { id: id }));
92
+ }
93
+ /**
94
+ * Returns true if the given object is an instance of Capability. This is designed to work even
95
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
96
+ */
97
+ static isInstance(obj) {
98
+ if (obj === undefined || obj === null) {
99
+ return false;
100
+ }
101
+ return obj['__pulumiType'] === Capability.__pulumiType;
102
+ }
103
+ }
104
+ exports.Capability = Capability;
105
+ /** @internal */
106
+ Capability.__pulumiType = 'azure:chaosstudio/capability:Capability';
107
+ //# sourceMappingURL=capability.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capability.js","sourceRoot":"","sources":["../../chaosstudio/capability.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AACzC,0CAA0C;AAE1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,MAAa,UAAW,SAAQ,MAAM,CAAC,cAAc;IAiDjD,YAAY,IAAY,EAAE,WAA8C,EAAE,IAAmC;QACzG,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAA0C,CAAC;YACzD,cAAc,CAAC,gBAAgB,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5E,cAAc,CAAC,eAAe,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;YAC1E,cAAc,CAAC,qBAAqB,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,SAAS,CAAC;SACzF;aAAM;YACH,MAAM,IAAI,GAAG,WAAyC,CAAC;YACvD,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC3D,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;aACjE;YACD,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,mBAAmB,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBAChE,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;aACtE;YACD,cAAc,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC;YAC1E,cAAc,CAAC,qBAAqB,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,SAAS,CAAC;YACpF,cAAc,CAAC,eAAe,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;SACvD;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,UAAU,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IAC/D,CAAC;IAtED;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAAuB,EAAE,IAAmC;QACrH,OAAO,IAAI,UAAU,CAAC,IAAI,EAAO,KAAK,kCAAO,IAAI,KAAE,EAAE,EAAE,EAAE,IAAG,CAAC;IACjE,CAAC;IAKD;;;OAGG;IACI,MAAM,CAAC,UAAU,CAAC,GAAQ;QAC7B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE;YACnC,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,GAAG,CAAC,cAAc,CAAC,KAAK,UAAU,CAAC,YAAY,CAAC;IAC3D,CAAC;;AA1BL,gCAwEC;AA1DG,gBAAgB;AACO,uBAAY,GAAG,yCAAyC,CAAC"}
@@ -0,0 +1,207 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ import * as inputs from "../types/input";
3
+ import * as outputs from "../types/output";
4
+ /**
5
+ * Manages a Chaos Studio Experiment.
6
+ *
7
+ * ## Example Usage
8
+ *
9
+ * ```typescript
10
+ * import * as pulumi from "@pulumi/pulumi";
11
+ * import * as azure from "@pulumi/azure";
12
+ *
13
+ * const exampleResourceGroup = new azure.core.ResourceGroup("exampleResourceGroup", {location: "westeurope"});
14
+ * const exampleUserAssignedIdentity = new azure.authorization.UserAssignedIdentity("exampleUserAssignedIdentity", {
15
+ * resourceGroupName: exampleResourceGroup.name,
16
+ * location: exampleResourceGroup.location,
17
+ * });
18
+ * const exampleVirtualNetwork = new azure.network.VirtualNetwork("exampleVirtualNetwork", {
19
+ * addressSpaces: ["10.0.0.0/16"],
20
+ * location: exampleResourceGroup.location,
21
+ * resourceGroupName: exampleResourceGroup.name,
22
+ * });
23
+ * const exampleSubnet = new azure.network.Subnet("exampleSubnet", {
24
+ * resourceGroupName: exampleResourceGroup.name,
25
+ * virtualNetworkName: exampleVirtualNetwork.name,
26
+ * addressPrefixes: ["10.0.2.0/24"],
27
+ * });
28
+ * const exampleNetworkInterface = new azure.network.NetworkInterface("exampleNetworkInterface", {
29
+ * location: exampleResourceGroup.location,
30
+ * resourceGroupName: exampleResourceGroup.name,
31
+ * ipConfigurations: [{
32
+ * name: "example",
33
+ * subnetId: exampleSubnet.id,
34
+ * privateIpAddressAllocation: "Dynamic",
35
+ * }],
36
+ * });
37
+ * const exampleLinuxVirtualMachine = new azure.compute.LinuxVirtualMachine("exampleLinuxVirtualMachine", {
38
+ * resourceGroupName: exampleResourceGroup.name,
39
+ * location: exampleResourceGroup.location,
40
+ * size: "Standard_F2",
41
+ * adminUsername: "adminuser",
42
+ * adminPassword: "example",
43
+ * disablePasswordAuthentication: false,
44
+ * networkInterfaceIds: [exampleNetworkInterface.id],
45
+ * osDisk: {
46
+ * caching: "ReadWrite",
47
+ * storageAccountType: "Standard_LRS",
48
+ * },
49
+ * sourceImageReference: {
50
+ * publisher: "Canonical",
51
+ * offer: "0001-com-ubuntu-server-jammy",
52
+ * sku: "22_04-lts",
53
+ * version: "latest",
54
+ * },
55
+ * });
56
+ * const exampleTarget = new azure.chaosstudio.Target("exampleTarget", {
57
+ * location: exampleResourceGroup.location,
58
+ * targetResourceId: exampleLinuxVirtualMachine.id,
59
+ * targetType: "Microsoft-VirtualMachine",
60
+ * });
61
+ * const exampleCapability = new azure.chaosstudio.Capability("exampleCapability", {
62
+ * chaosStudioTargetId: exampleTarget.id,
63
+ * capabilityType: "Shutdown-1.0",
64
+ * });
65
+ * const exampleExperiment = new azure.chaosstudio.Experiment("exampleExperiment", {
66
+ * location: exampleResourceGroup.location,
67
+ * resourceGroupName: exampleResourceGroup.name,
68
+ * identity: {
69
+ * type: "SystemAssigned",
70
+ * },
71
+ * selectors: [{
72
+ * name: "Selector1",
73
+ * chaosStudioTargetIds: [exampleTarget.id],
74
+ * }],
75
+ * steps: [{
76
+ * name: "example",
77
+ * branches: [{
78
+ * name: "example",
79
+ * actions: [{
80
+ * urn: exampleCapability.capabilityUrn,
81
+ * selectorName: "Selector1",
82
+ * parameters: {
83
+ * abruptShutdown: "false",
84
+ * },
85
+ * actionType: "continuous",
86
+ * duration: "PT10M",
87
+ * }],
88
+ * }],
89
+ * }],
90
+ * });
91
+ * ```
92
+ *
93
+ * ## Import
94
+ *
95
+ * Chaos Studio Experiments can be imported using the `resource id`, e.g.
96
+ *
97
+ * ```sh
98
+ * $ pulumi import azure:chaosstudio/experiment:Experiment example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Chaos/experiments/experiment1
99
+ * ```
100
+ */
101
+ export declare class Experiment extends pulumi.CustomResource {
102
+ /**
103
+ * Get an existing Experiment resource's state with the given name, ID, and optional extra
104
+ * properties used to qualify the lookup.
105
+ *
106
+ * @param name The _unique_ name of the resulting resource.
107
+ * @param id The _unique_ provider ID of the resource to lookup.
108
+ * @param state Any extra arguments used during the lookup.
109
+ * @param opts Optional settings to control the behavior of the CustomResource.
110
+ */
111
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ExperimentState, opts?: pulumi.CustomResourceOptions): Experiment;
112
+ /**
113
+ * Returns true if the given object is an instance of Experiment. This is designed to work even
114
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
115
+ */
116
+ static isInstance(obj: any): obj is Experiment;
117
+ /**
118
+ * A `identity` block as defined below.
119
+ */
120
+ readonly identity: pulumi.Output<outputs.chaosstudio.ExperimentIdentity | undefined>;
121
+ /**
122
+ * The Azure Region where the Chaos Studio Experiment should exist. Changing this forces a new Chaos Studio Experiment to be created.
123
+ */
124
+ readonly location: pulumi.Output<string>;
125
+ /**
126
+ * The name which should be used for this Chaos Studio Experiment. Changing this forces a new Chaos Studio Experiment to be created.
127
+ */
128
+ readonly name: pulumi.Output<string>;
129
+ /**
130
+ * The name of the Resource Group where the Chaos Studio Experiment should exist. Changing this forces a new Chaos Studio Experiment to be created.
131
+ */
132
+ readonly resourceGroupName: pulumi.Output<string>;
133
+ /**
134
+ * One or more `selectors` blocks as defined below.
135
+ */
136
+ readonly selectors: pulumi.Output<outputs.chaosstudio.ExperimentSelector[]>;
137
+ /**
138
+ * One or more `steps` blocks as defined below.
139
+ */
140
+ readonly steps: pulumi.Output<outputs.chaosstudio.ExperimentStep[]>;
141
+ /**
142
+ * Create a Experiment resource with the given unique name, arguments, and options.
143
+ *
144
+ * @param name The _unique_ name of the resource.
145
+ * @param args The arguments to use to populate this resource's properties.
146
+ * @param opts A bag of options that control this resource's behavior.
147
+ */
148
+ constructor(name: string, args: ExperimentArgs, opts?: pulumi.CustomResourceOptions);
149
+ }
150
+ /**
151
+ * Input properties used for looking up and filtering Experiment resources.
152
+ */
153
+ export interface ExperimentState {
154
+ /**
155
+ * A `identity` block as defined below.
156
+ */
157
+ identity?: pulumi.Input<inputs.chaosstudio.ExperimentIdentity>;
158
+ /**
159
+ * The Azure Region where the Chaos Studio Experiment should exist. Changing this forces a new Chaos Studio Experiment to be created.
160
+ */
161
+ location?: pulumi.Input<string>;
162
+ /**
163
+ * The name which should be used for this Chaos Studio Experiment. Changing this forces a new Chaos Studio Experiment to be created.
164
+ */
165
+ name?: pulumi.Input<string>;
166
+ /**
167
+ * The name of the Resource Group where the Chaos Studio Experiment should exist. Changing this forces a new Chaos Studio Experiment to be created.
168
+ */
169
+ resourceGroupName?: pulumi.Input<string>;
170
+ /**
171
+ * One or more `selectors` blocks as defined below.
172
+ */
173
+ selectors?: pulumi.Input<pulumi.Input<inputs.chaosstudio.ExperimentSelector>[]>;
174
+ /**
175
+ * One or more `steps` blocks as defined below.
176
+ */
177
+ steps?: pulumi.Input<pulumi.Input<inputs.chaosstudio.ExperimentStep>[]>;
178
+ }
179
+ /**
180
+ * The set of arguments for constructing a Experiment resource.
181
+ */
182
+ export interface ExperimentArgs {
183
+ /**
184
+ * A `identity` block as defined below.
185
+ */
186
+ identity?: pulumi.Input<inputs.chaosstudio.ExperimentIdentity>;
187
+ /**
188
+ * The Azure Region where the Chaos Studio Experiment should exist. Changing this forces a new Chaos Studio Experiment to be created.
189
+ */
190
+ location?: pulumi.Input<string>;
191
+ /**
192
+ * The name which should be used for this Chaos Studio Experiment. Changing this forces a new Chaos Studio Experiment to be created.
193
+ */
194
+ name?: pulumi.Input<string>;
195
+ /**
196
+ * The name of the Resource Group where the Chaos Studio Experiment should exist. Changing this forces a new Chaos Studio Experiment to be created.
197
+ */
198
+ resourceGroupName: pulumi.Input<string>;
199
+ /**
200
+ * One or more `selectors` blocks as defined below.
201
+ */
202
+ selectors: pulumi.Input<pulumi.Input<inputs.chaosstudio.ExperimentSelector>[]>;
203
+ /**
204
+ * One or more `steps` blocks as defined below.
205
+ */
206
+ steps: pulumi.Input<pulumi.Input<inputs.chaosstudio.ExperimentStep>[]>;
207
+ }
@@ -0,0 +1,165 @@
1
+ "use strict";
2
+ // *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ // *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.Experiment = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("../utilities");
8
+ /**
9
+ * Manages a Chaos Studio Experiment.
10
+ *
11
+ * ## Example Usage
12
+ *
13
+ * ```typescript
14
+ * import * as pulumi from "@pulumi/pulumi";
15
+ * import * as azure from "@pulumi/azure";
16
+ *
17
+ * const exampleResourceGroup = new azure.core.ResourceGroup("exampleResourceGroup", {location: "westeurope"});
18
+ * const exampleUserAssignedIdentity = new azure.authorization.UserAssignedIdentity("exampleUserAssignedIdentity", {
19
+ * resourceGroupName: exampleResourceGroup.name,
20
+ * location: exampleResourceGroup.location,
21
+ * });
22
+ * const exampleVirtualNetwork = new azure.network.VirtualNetwork("exampleVirtualNetwork", {
23
+ * addressSpaces: ["10.0.0.0/16"],
24
+ * location: exampleResourceGroup.location,
25
+ * resourceGroupName: exampleResourceGroup.name,
26
+ * });
27
+ * const exampleSubnet = new azure.network.Subnet("exampleSubnet", {
28
+ * resourceGroupName: exampleResourceGroup.name,
29
+ * virtualNetworkName: exampleVirtualNetwork.name,
30
+ * addressPrefixes: ["10.0.2.0/24"],
31
+ * });
32
+ * const exampleNetworkInterface = new azure.network.NetworkInterface("exampleNetworkInterface", {
33
+ * location: exampleResourceGroup.location,
34
+ * resourceGroupName: exampleResourceGroup.name,
35
+ * ipConfigurations: [{
36
+ * name: "example",
37
+ * subnetId: exampleSubnet.id,
38
+ * privateIpAddressAllocation: "Dynamic",
39
+ * }],
40
+ * });
41
+ * const exampleLinuxVirtualMachine = new azure.compute.LinuxVirtualMachine("exampleLinuxVirtualMachine", {
42
+ * resourceGroupName: exampleResourceGroup.name,
43
+ * location: exampleResourceGroup.location,
44
+ * size: "Standard_F2",
45
+ * adminUsername: "adminuser",
46
+ * adminPassword: "example",
47
+ * disablePasswordAuthentication: false,
48
+ * networkInterfaceIds: [exampleNetworkInterface.id],
49
+ * osDisk: {
50
+ * caching: "ReadWrite",
51
+ * storageAccountType: "Standard_LRS",
52
+ * },
53
+ * sourceImageReference: {
54
+ * publisher: "Canonical",
55
+ * offer: "0001-com-ubuntu-server-jammy",
56
+ * sku: "22_04-lts",
57
+ * version: "latest",
58
+ * },
59
+ * });
60
+ * const exampleTarget = new azure.chaosstudio.Target("exampleTarget", {
61
+ * location: exampleResourceGroup.location,
62
+ * targetResourceId: exampleLinuxVirtualMachine.id,
63
+ * targetType: "Microsoft-VirtualMachine",
64
+ * });
65
+ * const exampleCapability = new azure.chaosstudio.Capability("exampleCapability", {
66
+ * chaosStudioTargetId: exampleTarget.id,
67
+ * capabilityType: "Shutdown-1.0",
68
+ * });
69
+ * const exampleExperiment = new azure.chaosstudio.Experiment("exampleExperiment", {
70
+ * location: exampleResourceGroup.location,
71
+ * resourceGroupName: exampleResourceGroup.name,
72
+ * identity: {
73
+ * type: "SystemAssigned",
74
+ * },
75
+ * selectors: [{
76
+ * name: "Selector1",
77
+ * chaosStudioTargetIds: [exampleTarget.id],
78
+ * }],
79
+ * steps: [{
80
+ * name: "example",
81
+ * branches: [{
82
+ * name: "example",
83
+ * actions: [{
84
+ * urn: exampleCapability.capabilityUrn,
85
+ * selectorName: "Selector1",
86
+ * parameters: {
87
+ * abruptShutdown: "false",
88
+ * },
89
+ * actionType: "continuous",
90
+ * duration: "PT10M",
91
+ * }],
92
+ * }],
93
+ * }],
94
+ * });
95
+ * ```
96
+ *
97
+ * ## Import
98
+ *
99
+ * Chaos Studio Experiments can be imported using the `resource id`, e.g.
100
+ *
101
+ * ```sh
102
+ * $ pulumi import azure:chaosstudio/experiment:Experiment example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Chaos/experiments/experiment1
103
+ * ```
104
+ */
105
+ class Experiment extends pulumi.CustomResource {
106
+ constructor(name, argsOrState, opts) {
107
+ let resourceInputs = {};
108
+ opts = opts || {};
109
+ if (opts.id) {
110
+ const state = argsOrState;
111
+ resourceInputs["identity"] = state ? state.identity : undefined;
112
+ resourceInputs["location"] = state ? state.location : undefined;
113
+ resourceInputs["name"] = state ? state.name : undefined;
114
+ resourceInputs["resourceGroupName"] = state ? state.resourceGroupName : undefined;
115
+ resourceInputs["selectors"] = state ? state.selectors : undefined;
116
+ resourceInputs["steps"] = state ? state.steps : undefined;
117
+ }
118
+ else {
119
+ const args = argsOrState;
120
+ if ((!args || args.resourceGroupName === undefined) && !opts.urn) {
121
+ throw new Error("Missing required property 'resourceGroupName'");
122
+ }
123
+ if ((!args || args.selectors === undefined) && !opts.urn) {
124
+ throw new Error("Missing required property 'selectors'");
125
+ }
126
+ if ((!args || args.steps === undefined) && !opts.urn) {
127
+ throw new Error("Missing required property 'steps'");
128
+ }
129
+ resourceInputs["identity"] = args ? args.identity : undefined;
130
+ resourceInputs["location"] = args ? args.location : undefined;
131
+ resourceInputs["name"] = args ? args.name : undefined;
132
+ resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined;
133
+ resourceInputs["selectors"] = args ? args.selectors : undefined;
134
+ resourceInputs["steps"] = args ? args.steps : undefined;
135
+ }
136
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
137
+ super(Experiment.__pulumiType, name, resourceInputs, opts);
138
+ }
139
+ /**
140
+ * Get an existing Experiment resource's state with the given name, ID, and optional extra
141
+ * properties used to qualify the lookup.
142
+ *
143
+ * @param name The _unique_ name of the resulting resource.
144
+ * @param id The _unique_ provider ID of the resource to lookup.
145
+ * @param state Any extra arguments used during the lookup.
146
+ * @param opts Optional settings to control the behavior of the CustomResource.
147
+ */
148
+ static get(name, id, state, opts) {
149
+ return new Experiment(name, state, Object.assign(Object.assign({}, opts), { id: id }));
150
+ }
151
+ /**
152
+ * Returns true if the given object is an instance of Experiment. This is designed to work even
153
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
154
+ */
155
+ static isInstance(obj) {
156
+ if (obj === undefined || obj === null) {
157
+ return false;
158
+ }
159
+ return obj['__pulumiType'] === Experiment.__pulumiType;
160
+ }
161
+ }
162
+ exports.Experiment = Experiment;
163
+ /** @internal */
164
+ Experiment.__pulumiType = 'azure:chaosstudio/experiment:Experiment';
165
+ //# sourceMappingURL=experiment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"experiment.js","sourceRoot":"","sources":["../../chaosstudio/experiment.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,9 @@
1
+ export { CapabilityArgs, CapabilityState } from "./capability";
2
+ export declare type Capability = import("./capability").Capability;
3
+ export declare const Capability: typeof import("./capability").Capability;
4
+ export { ExperimentArgs, ExperimentState } from "./experiment";
5
+ export declare type Experiment = import("./experiment").Experiment;
6
+ export declare const Experiment: typeof import("./experiment").Experiment;
1
7
  export { TargetArgs, TargetState } from "./target";
2
8
  export declare type Target = import("./target").Target;
3
9
  export declare const Target: typeof import("./target").Target;
@@ -2,15 +2,23 @@
2
2
  // *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
3
  // *** Do not edit by hand unless you're certain you know what you are doing! ***
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.Target = void 0;
5
+ exports.Target = exports.Experiment = exports.Capability = void 0;
6
6
  const pulumi = require("@pulumi/pulumi");
7
7
  const utilities = require("../utilities");
8
+ exports.Capability = null;
9
+ utilities.lazyLoad(exports, ["Capability"], () => require("./capability"));
10
+ exports.Experiment = null;
11
+ utilities.lazyLoad(exports, ["Experiment"], () => require("./experiment"));
8
12
  exports.Target = null;
9
13
  utilities.lazyLoad(exports, ["Target"], () => require("./target"));
10
14
  const _module = {
11
15
  version: utilities.getVersion(),
12
16
  construct: (name, type, urn) => {
13
17
  switch (type) {
18
+ case "azure:chaosstudio/capability:Capability":
19
+ return new exports.Capability(name, undefined, { urn });
20
+ case "azure:chaosstudio/experiment:Experiment":
21
+ return new exports.Experiment(name, undefined, { urn });
14
22
  case "azure:chaosstudio/target:Target":
15
23
  return new exports.Target(name, undefined, { urn });
16
24
  default:
@@ -18,5 +26,7 @@ const _module = {
18
26
  }
19
27
  },
20
28
  };
29
+ pulumi.runtime.registerResourceModule("azure", "chaosstudio/capability", _module);
30
+ pulumi.runtime.registerResourceModule("azure", "chaosstudio/experiment", _module);
21
31
  pulumi.runtime.registerResourceModule("azure", "chaosstudio/target", _module);
22
32
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../chaosstudio/index.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AACzC,0CAA0C;AAK7B,QAAA,MAAM,GAAqC,IAAW,CAAC;AACpE,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;AAGnE,MAAM,OAAO,GAAG;IACZ,OAAO,EAAE,SAAS,CAAC,UAAU,EAAE;IAC/B,SAAS,EAAE,CAAC,IAAY,EAAE,IAAY,EAAE,GAAW,EAAmB,EAAE;QACpE,QAAQ,IAAI,EAAE;YACV,KAAK,iCAAiC;gBAClC,OAAO,IAAI,cAAM,CAAC,IAAI,EAAO,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;YACpD;gBACI,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAC;SACxD;IACL,CAAC;CACJ,CAAC;AACF,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,OAAO,EAAE,oBAAoB,EAAE,OAAO,CAAC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../chaosstudio/index.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AACzC,0CAA0C;AAK7B,QAAA,UAAU,GAA6C,IAAW,CAAC;AAChF,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,YAAY,CAAC,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC;AAI9D,QAAA,UAAU,GAA6C,IAAW,CAAC;AAChF,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,YAAY,CAAC,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC;AAI9D,QAAA,MAAM,GAAqC,IAAW,CAAC;AACpE,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;AAGnE,MAAM,OAAO,GAAG;IACZ,OAAO,EAAE,SAAS,CAAC,UAAU,EAAE;IAC/B,SAAS,EAAE,CAAC,IAAY,EAAE,IAAY,EAAE,GAAW,EAAmB,EAAE;QACpE,QAAQ,IAAI,EAAE;YACV,KAAK,yCAAyC;gBAC1C,OAAO,IAAI,kBAAU,CAAC,IAAI,EAAO,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;YACxD,KAAK,yCAAyC;gBAC1C,OAAO,IAAI,kBAAU,CAAC,IAAI,EAAO,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;YACxD,KAAK,iCAAiC;gBAClC,OAAO,IAAI,cAAM,CAAC,IAAI,EAAO,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;YACpD;gBACI,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAC;SACxD;IACL,CAAC;CACJ,CAAC;AACF,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,OAAO,EAAE,wBAAwB,EAAE,OAAO,CAAC,CAAA;AACjF,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,OAAO,EAAE,wBAAwB,EAAE,OAAO,CAAC,CAAA;AACjF,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,OAAO,EAAE,oBAAoB,EAAE,OAAO,CAAC,CAAA"}