@pulumi/spotinst 3.78.0-alpha.1716318757 → 3.78.0

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.
@@ -1,6 +1,12 @@
1
+ export { RolloutSpecArgs, RolloutSpecState } from "./rolloutSpec";
2
+ export type RolloutSpec = import("./rolloutSpec").RolloutSpec;
3
+ export declare const RolloutSpec: typeof import("./rolloutSpec").RolloutSpec;
1
4
  export { StrategyArgs, StrategyState } from "./strategy";
2
5
  export type Strategy = import("./strategy").Strategy;
3
6
  export declare const Strategy: typeof import("./strategy").Strategy;
4
7
  export { VerificationProviderArgs, VerificationProviderState } from "./verificationProvider";
5
8
  export type VerificationProvider = import("./verificationProvider").VerificationProvider;
6
9
  export declare const VerificationProvider: typeof import("./verificationProvider").VerificationProvider;
10
+ export { VerificationTemplateArgs, VerificationTemplateState } from "./verificationTemplate";
11
+ export type VerificationTemplate = import("./verificationTemplate").VerificationTemplate;
12
+ export declare const VerificationTemplate: typeof import("./verificationTemplate").VerificationTemplate;
package/oceancd/index.js CHANGED
@@ -2,26 +2,36 @@
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.VerificationProvider = exports.Strategy = void 0;
5
+ exports.VerificationTemplate = exports.VerificationProvider = exports.Strategy = exports.RolloutSpec = void 0;
6
6
  const pulumi = require("@pulumi/pulumi");
7
7
  const utilities = require("../utilities");
8
+ exports.RolloutSpec = null;
9
+ utilities.lazyLoad(exports, ["RolloutSpec"], () => require("./rolloutSpec"));
8
10
  exports.Strategy = null;
9
11
  utilities.lazyLoad(exports, ["Strategy"], () => require("./strategy"));
10
12
  exports.VerificationProvider = null;
11
13
  utilities.lazyLoad(exports, ["VerificationProvider"], () => require("./verificationProvider"));
14
+ exports.VerificationTemplate = null;
15
+ utilities.lazyLoad(exports, ["VerificationTemplate"], () => require("./verificationTemplate"));
12
16
  const _module = {
13
17
  version: utilities.getVersion(),
14
18
  construct: (name, type, urn) => {
15
19
  switch (type) {
20
+ case "spotinst:oceancd/rolloutSpec:RolloutSpec":
21
+ return new exports.RolloutSpec(name, undefined, { urn });
16
22
  case "spotinst:oceancd/strategy:Strategy":
17
23
  return new exports.Strategy(name, undefined, { urn });
18
24
  case "spotinst:oceancd/verificationProvider:VerificationProvider":
19
25
  return new exports.VerificationProvider(name, undefined, { urn });
26
+ case "spotinst:oceancd/verificationTemplate:VerificationTemplate":
27
+ return new exports.VerificationTemplate(name, undefined, { urn });
20
28
  default:
21
29
  throw new Error(`unknown resource type ${type}`);
22
30
  }
23
31
  },
24
32
  };
33
+ pulumi.runtime.registerResourceModule("spotinst", "oceancd/rolloutSpec", _module);
25
34
  pulumi.runtime.registerResourceModule("spotinst", "oceancd/strategy", _module);
26
35
  pulumi.runtime.registerResourceModule("spotinst", "oceancd/verificationProvider", _module);
36
+ pulumi.runtime.registerResourceModule("spotinst", "oceancd/verificationTemplate", _module);
27
37
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../oceancd/index.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AACzC,0CAA0C;AAK7B,QAAA,QAAQ,GAAyC,IAAW,CAAC;AAC1E,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,UAAU,CAAC,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;AAI1D,QAAA,oBAAoB,GAAiE,IAAW,CAAC;AAC9G,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,sBAAsB,CAAC,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC,CAAC;AAG/F,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,oCAAoC;gBACrC,OAAO,IAAI,gBAAQ,CAAC,IAAI,EAAO,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;YACtD,KAAK,4DAA4D;gBAC7D,OAAO,IAAI,4BAAoB,CAAC,IAAI,EAAO,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;YAClE;gBACI,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAC;SACxD;IACL,CAAC;CACJ,CAAC;AACF,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,UAAU,EAAE,kBAAkB,EAAE,OAAO,CAAC,CAAA;AAC9E,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,UAAU,EAAE,8BAA8B,EAAE,OAAO,CAAC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../oceancd/index.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AACzC,0CAA0C;AAK7B,QAAA,WAAW,GAA+C,IAAW,CAAC;AACnF,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,aAAa,CAAC,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC;AAIhE,QAAA,QAAQ,GAAyC,IAAW,CAAC;AAC1E,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,UAAU,CAAC,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;AAI1D,QAAA,oBAAoB,GAAiE,IAAW,CAAC;AAC9G,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,sBAAsB,CAAC,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC,CAAC;AAIlF,QAAA,oBAAoB,GAAiE,IAAW,CAAC;AAC9G,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,sBAAsB,CAAC,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC,CAAC;AAG/F,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,0CAA0C;gBAC3C,OAAO,IAAI,mBAAW,CAAC,IAAI,EAAO,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;YACzD,KAAK,oCAAoC;gBACrC,OAAO,IAAI,gBAAQ,CAAC,IAAI,EAAO,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;YACtD,KAAK,4DAA4D;gBAC7D,OAAO,IAAI,4BAAoB,CAAC,IAAI,EAAO,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;YAClE,KAAK,4DAA4D;gBAC7D,OAAO,IAAI,4BAAoB,CAAC,IAAI,EAAO,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;YAClE;gBACI,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAC;SACxD;IACL,CAAC;CACJ,CAAC;AACF,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,UAAU,EAAE,qBAAqB,EAAE,OAAO,CAAC,CAAA;AACjF,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,UAAU,EAAE,kBAAkB,EAAE,OAAO,CAAC,CAAA;AAC9E,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,UAAU,EAAE,8BAA8B,EAAE,OAAO,CAAC,CAAA;AAC1F,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,UAAU,EAAE,8BAA8B,EAAE,OAAO,CAAC,CAAA"}
@@ -0,0 +1,113 @@
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 Spotinst OceanCD Rollout Spec resource.
6
+ */
7
+ export declare class RolloutSpec extends pulumi.CustomResource {
8
+ /**
9
+ * Get an existing RolloutSpec resource's state with the given name, ID, and optional extra
10
+ * properties used to qualify the lookup.
11
+ *
12
+ * @param name The _unique_ name of the resulting resource.
13
+ * @param id The _unique_ provider ID of the resource to lookup.
14
+ * @param state Any extra arguments used during the lookup.
15
+ * @param opts Optional settings to control the behavior of the CustomResource.
16
+ */
17
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: RolloutSpecState, opts?: pulumi.CustomResourceOptions): RolloutSpec;
18
+ /**
19
+ * Returns true if the given object is an instance of RolloutSpec. This is designed to work even
20
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
21
+ */
22
+ static isInstance(obj: any): obj is RolloutSpec;
23
+ /**
24
+ * Holds information on how to react when failure happens.
25
+ */
26
+ readonly failurePolicy: pulumi.Output<outputs.oceancd.RolloutSpecFailurePolicy | undefined>;
27
+ /**
28
+ * Identifier name for Ocean CD Rollout Spec. Must be unique
29
+ */
30
+ readonly rolloutSpecName: pulumi.Output<string>;
31
+ /**
32
+ * Represents the SpotDeployment selector.
33
+ */
34
+ readonly spotDeployment: pulumi.Output<outputs.oceancd.RolloutSpecSpotDeployment | undefined>;
35
+ /**
36
+ * You must specify either `spotDeployment` OR `spotDeployments` but not both. Every SpotDeployment has to be unique. If more than one `SpotDeployment` has been configured, no `traffic` managers can be set as part of the RolloutSpec.For such case ensure that each of the chosen SpotDeployments are being exposed with different Kubernetes services.
37
+ */
38
+ readonly spotDeployments: pulumi.Output<outputs.oceancd.RolloutSpecSpotDeployment[] | undefined>;
39
+ /**
40
+ * Determines the Ocean CD strategy
41
+ */
42
+ readonly strategy: pulumi.Output<outputs.oceancd.RolloutSpecStrategy>;
43
+ /**
44
+ * Hosts all of the supported service meshes needed to enable more fine-grained traffic routing. In case `SpotDeployments` contains more than one SpotDeployment the `traffic` manager may not be configured.
45
+ */
46
+ readonly traffic: pulumi.Output<outputs.oceancd.RolloutSpecTraffic | undefined>;
47
+ /**
48
+ * Create a RolloutSpec resource with the given unique name, arguments, and options.
49
+ *
50
+ * @param name The _unique_ name of the resource.
51
+ * @param args The arguments to use to populate this resource's properties.
52
+ * @param opts A bag of options that control this resource's behavior.
53
+ */
54
+ constructor(name: string, args: RolloutSpecArgs, opts?: pulumi.CustomResourceOptions);
55
+ }
56
+ /**
57
+ * Input properties used for looking up and filtering RolloutSpec resources.
58
+ */
59
+ export interface RolloutSpecState {
60
+ /**
61
+ * Holds information on how to react when failure happens.
62
+ */
63
+ failurePolicy?: pulumi.Input<inputs.oceancd.RolloutSpecFailurePolicy>;
64
+ /**
65
+ * Identifier name for Ocean CD Rollout Spec. Must be unique
66
+ */
67
+ rolloutSpecName?: pulumi.Input<string>;
68
+ /**
69
+ * Represents the SpotDeployment selector.
70
+ */
71
+ spotDeployment?: pulumi.Input<inputs.oceancd.RolloutSpecSpotDeployment>;
72
+ /**
73
+ * You must specify either `spotDeployment` OR `spotDeployments` but not both. Every SpotDeployment has to be unique. If more than one `SpotDeployment` has been configured, no `traffic` managers can be set as part of the RolloutSpec.For such case ensure that each of the chosen SpotDeployments are being exposed with different Kubernetes services.
74
+ */
75
+ spotDeployments?: pulumi.Input<pulumi.Input<inputs.oceancd.RolloutSpecSpotDeployment>[]>;
76
+ /**
77
+ * Determines the Ocean CD strategy
78
+ */
79
+ strategy?: pulumi.Input<inputs.oceancd.RolloutSpecStrategy>;
80
+ /**
81
+ * Hosts all of the supported service meshes needed to enable more fine-grained traffic routing. In case `SpotDeployments` contains more than one SpotDeployment the `traffic` manager may not be configured.
82
+ */
83
+ traffic?: pulumi.Input<inputs.oceancd.RolloutSpecTraffic>;
84
+ }
85
+ /**
86
+ * The set of arguments for constructing a RolloutSpec resource.
87
+ */
88
+ export interface RolloutSpecArgs {
89
+ /**
90
+ * Holds information on how to react when failure happens.
91
+ */
92
+ failurePolicy?: pulumi.Input<inputs.oceancd.RolloutSpecFailurePolicy>;
93
+ /**
94
+ * Identifier name for Ocean CD Rollout Spec. Must be unique
95
+ */
96
+ rolloutSpecName: pulumi.Input<string>;
97
+ /**
98
+ * Represents the SpotDeployment selector.
99
+ */
100
+ spotDeployment?: pulumi.Input<inputs.oceancd.RolloutSpecSpotDeployment>;
101
+ /**
102
+ * You must specify either `spotDeployment` OR `spotDeployments` but not both. Every SpotDeployment has to be unique. If more than one `SpotDeployment` has been configured, no `traffic` managers can be set as part of the RolloutSpec.For such case ensure that each of the chosen SpotDeployments are being exposed with different Kubernetes services.
103
+ */
104
+ spotDeployments?: pulumi.Input<pulumi.Input<inputs.oceancd.RolloutSpecSpotDeployment>[]>;
105
+ /**
106
+ * Determines the Ocean CD strategy
107
+ */
108
+ strategy: pulumi.Input<inputs.oceancd.RolloutSpecStrategy>;
109
+ /**
110
+ * Hosts all of the supported service meshes needed to enable more fine-grained traffic routing. In case `SpotDeployments` contains more than one SpotDeployment the `traffic` manager may not be configured.
111
+ */
112
+ traffic?: pulumi.Input<inputs.oceancd.RolloutSpecTraffic>;
113
+ }
@@ -0,0 +1,68 @@
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.RolloutSpec = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("../utilities");
8
+ /**
9
+ * Manages a Spotinst OceanCD Rollout Spec resource.
10
+ */
11
+ class RolloutSpec extends pulumi.CustomResource {
12
+ /**
13
+ * Get an existing RolloutSpec resource's state with the given name, ID, and optional extra
14
+ * properties used to qualify the lookup.
15
+ *
16
+ * @param name The _unique_ name of the resulting resource.
17
+ * @param id The _unique_ provider ID of the resource to lookup.
18
+ * @param state Any extra arguments used during the lookup.
19
+ * @param opts Optional settings to control the behavior of the CustomResource.
20
+ */
21
+ static get(name, id, state, opts) {
22
+ return new RolloutSpec(name, state, Object.assign(Object.assign({}, opts), { id: id }));
23
+ }
24
+ /**
25
+ * Returns true if the given object is an instance of RolloutSpec. This is designed to work even
26
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
27
+ */
28
+ static isInstance(obj) {
29
+ if (obj === undefined || obj === null) {
30
+ return false;
31
+ }
32
+ return obj['__pulumiType'] === RolloutSpec.__pulumiType;
33
+ }
34
+ constructor(name, argsOrState, opts) {
35
+ let resourceInputs = {};
36
+ opts = opts || {};
37
+ if (opts.id) {
38
+ const state = argsOrState;
39
+ resourceInputs["failurePolicy"] = state ? state.failurePolicy : undefined;
40
+ resourceInputs["rolloutSpecName"] = state ? state.rolloutSpecName : undefined;
41
+ resourceInputs["spotDeployment"] = state ? state.spotDeployment : undefined;
42
+ resourceInputs["spotDeployments"] = state ? state.spotDeployments : undefined;
43
+ resourceInputs["strategy"] = state ? state.strategy : undefined;
44
+ resourceInputs["traffic"] = state ? state.traffic : undefined;
45
+ }
46
+ else {
47
+ const args = argsOrState;
48
+ if ((!args || args.rolloutSpecName === undefined) && !opts.urn) {
49
+ throw new Error("Missing required property 'rolloutSpecName'");
50
+ }
51
+ if ((!args || args.strategy === undefined) && !opts.urn) {
52
+ throw new Error("Missing required property 'strategy'");
53
+ }
54
+ resourceInputs["failurePolicy"] = args ? args.failurePolicy : undefined;
55
+ resourceInputs["rolloutSpecName"] = args ? args.rolloutSpecName : undefined;
56
+ resourceInputs["spotDeployment"] = args ? args.spotDeployment : undefined;
57
+ resourceInputs["spotDeployments"] = args ? args.spotDeployments : undefined;
58
+ resourceInputs["strategy"] = args ? args.strategy : undefined;
59
+ resourceInputs["traffic"] = args ? args.traffic : undefined;
60
+ }
61
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
62
+ super(RolloutSpec.__pulumiType, name, resourceInputs, opts);
63
+ }
64
+ }
65
+ exports.RolloutSpec = RolloutSpec;
66
+ /** @internal */
67
+ RolloutSpec.__pulumiType = 'spotinst:oceancd/rolloutSpec:RolloutSpec';
68
+ //# sourceMappingURL=rolloutSpec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rolloutSpec.js","sourceRoot":"","sources":["../../oceancd/rolloutSpec.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AAGzC,0CAA0C;AAE1C;;GAEG;AACH,MAAa,WAAY,SAAQ,MAAM,CAAC,cAAc;IAClD;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAAwB,EAAE,IAAmC;QACtH,OAAO,IAAI,WAAW,CAAC,IAAI,EAAO,KAAK,kCAAO,IAAI,KAAE,EAAE,EAAE,EAAE,IAAG,CAAC;IAClE,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,WAAW,CAAC,YAAY,CAAC;IAC5D,CAAC;IAmCD,YAAY,IAAY,EAAE,WAAgD,EAAE,IAAmC;QAC3G,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAA2C,CAAC;YAC1D,cAAc,CAAC,eAAe,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;YAC1E,cAAc,CAAC,iBAAiB,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9E,cAAc,CAAC,gBAAgB,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5E,cAAc,CAAC,iBAAiB,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9E,cAAc,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;YAChE,cAAc,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;SACjE;aAAM;YACH,MAAM,IAAI,GAAG,WAA0C,CAAC;YACxD,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,eAAe,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC5D,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;aAClE;YACD,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACrD,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;aAC3D;YACD,cAAc,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;YACxE,cAAc,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5E,cAAc,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC;YAC1E,cAAc,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5E,cAAc,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9D,cAAc,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;SAC/D;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,WAAW,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IAChE,CAAC;;AAzFL,kCA0FC;AA5EG,gBAAgB;AACO,wBAAY,GAAG,0CAA0C,CAAC"}
@@ -0,0 +1,203 @@
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 Spotinst OceanCD Verfification Template resource.
6
+ *
7
+ * ## Example Usage
8
+ *
9
+ * ```typescript
10
+ * import * as pulumi from "@pulumi/pulumi";
11
+ * import * as spotinst from "@pulumi/spotinst";
12
+ *
13
+ * const test = new spotinst.oceancd.VerificationTemplate("test", {
14
+ * name: "test-verification-template-tes",
15
+ * args: [{
16
+ * argName: "test-arg",
17
+ * value: "test",
18
+ * valueFrom: {
19
+ * secretKeyRef: {
20
+ * name: "test_key",
21
+ * key: "key-value-test",
22
+ * },
23
+ * },
24
+ * }],
25
+ * metrics: [{
26
+ * metricsName: "test-metrics-names",
27
+ * dryRun: false,
28
+ * interval: "10m",
29
+ * initialDelay: "1m",
30
+ * count: 10,
31
+ * successCondition: "result[0] <= 0.95",
32
+ * failureCondition: "result[0] >= 0.95",
33
+ * failureLimit: 2,
34
+ * consecutiveErrorLimit: 1,
35
+ * providers: [{
36
+ * prometheus: {
37
+ * prometheusQuery: "http_requests_new",
38
+ * },
39
+ * datadog: {
40
+ * duration: "1m",
41
+ * datadogQuery: "avg:kubernetes.cpu.user.total",
42
+ * },
43
+ * newRelic: {
44
+ * profile: "test",
45
+ * newRelicQuery: "FROM Metric SELECT count",
46
+ * },
47
+ * cloudWatch: {
48
+ * duration: "5m",
49
+ * metricDataQueries: [{
50
+ * id: "utilization",
51
+ * metricStat: {
52
+ * metric: {
53
+ * metricName: "Test",
54
+ * namespace: "AWS/EC2",
55
+ * dimensions: [{
56
+ * dimensionName: "instandId",
57
+ * dimensionValue: "i-123044",
58
+ * }],
59
+ * },
60
+ * metricPeriod: 400,
61
+ * stat: "average",
62
+ * unit: "None",
63
+ * },
64
+ * expression: "SELECT AVG(CPUUtilization) FROM SCHEMA",
65
+ * label: "TestLabel",
66
+ * returnData: false,
67
+ * period: 300,
68
+ * }],
69
+ * },
70
+ * web: {
71
+ * method: "GET",
72
+ * url: "https://oceancd.com/api/v1/metrics?clusterId= args.clusterId",
73
+ * webHeaders: [{
74
+ * webHeaderKey: "Autorization",
75
+ * webHeaderValue: "Bearer=args.token",
76
+ * }],
77
+ * body: "{\"key\": \"test\"}",
78
+ * timeoutSeconds: 20,
79
+ * jsonPath: "$.data",
80
+ * insecure: false,
81
+ * },
82
+ * job: {
83
+ * specs: [{
84
+ * backoffLimit: 1,
85
+ * jobTemplates: [{
86
+ * templateSpecs: [{
87
+ * containers: [{
88
+ * containerName: "hello",
89
+ * commands: [
90
+ * "sh",
91
+ * "-c",
92
+ * ],
93
+ * image: "nginx.2.1",
94
+ * }],
95
+ * restartPolicy: "never",
96
+ * }],
97
+ * }],
98
+ * }],
99
+ * },
100
+ * jenkins: {
101
+ * pipelineName: "testPipelineName",
102
+ * tlsVerification: true,
103
+ * timeout: "2m",
104
+ * jenkinsInterval: "5s",
105
+ * jenkinsParameters: {
106
+ * parameterKey: "app",
107
+ * parameterValue: "my-app",
108
+ * },
109
+ * },
110
+ * }],
111
+ * baseline: {
112
+ * baselineProviders: [{
113
+ * prometheus: {
114
+ * prometheusQuery: "http_requests_total.status!",
115
+ * },
116
+ * datadog: {
117
+ * duration: "2m",
118
+ * datadogQuery: "avg:kubernetes.cpu.user",
119
+ * },
120
+ * newRelic: {
121
+ * profile: "test",
122
+ * newRelicQuery: "FROM Metric SELECT count*",
123
+ * },
124
+ * }],
125
+ * minRange: 40,
126
+ * maxRange: 50,
127
+ * threshold: "range",
128
+ * },
129
+ * }],
130
+ * });
131
+ * ```
132
+ */
133
+ export declare class VerificationTemplate extends pulumi.CustomResource {
134
+ /**
135
+ * Get an existing VerificationTemplate resource's state with the given name, ID, and optional extra
136
+ * properties used to qualify the lookup.
137
+ *
138
+ * @param name The _unique_ name of the resulting resource.
139
+ * @param id The _unique_ provider ID of the resource to lookup.
140
+ * @param state Any extra arguments used during the lookup.
141
+ * @param opts Optional settings to control the behavior of the CustomResource.
142
+ */
143
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: VerificationTemplateState, opts?: pulumi.CustomResourceOptions): VerificationTemplate;
144
+ /**
145
+ * Returns true if the given object is an instance of VerificationTemplate. This is designed to work even
146
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
147
+ */
148
+ static isInstance(obj: any): obj is VerificationTemplate;
149
+ /**
150
+ * List of verification arguments. You may specify either `value` OR `valueFrom` but not both.In case `args`:`value` is already defined in the RolloutSpec entity, there is no need to also specify it in the VerificationTemplate entity.
151
+ */
152
+ readonly args: pulumi.Output<outputs.oceancd.VerificationTemplateArg[] | undefined>;
153
+ /**
154
+ * List of verification metrics.
155
+ */
156
+ readonly metrics: pulumi.Output<outputs.oceancd.VerificationTemplateMetric[] | undefined>;
157
+ /**
158
+ * Identifier name for Ocean CD Verification Template. Must be unique.
159
+ */
160
+ readonly name: pulumi.Output<string>;
161
+ /**
162
+ * Create a VerificationTemplate resource with the given unique name, arguments, and options.
163
+ *
164
+ * @param name The _unique_ name of the resource.
165
+ * @param args The arguments to use to populate this resource's properties.
166
+ * @param opts A bag of options that control this resource's behavior.
167
+ */
168
+ constructor(name: string, args?: VerificationTemplateArgs, opts?: pulumi.CustomResourceOptions);
169
+ }
170
+ /**
171
+ * Input properties used for looking up and filtering VerificationTemplate resources.
172
+ */
173
+ export interface VerificationTemplateState {
174
+ /**
175
+ * List of verification arguments. You may specify either `value` OR `valueFrom` but not both.In case `args`:`value` is already defined in the RolloutSpec entity, there is no need to also specify it in the VerificationTemplate entity.
176
+ */
177
+ args?: pulumi.Input<pulumi.Input<inputs.oceancd.VerificationTemplateArg>[]>;
178
+ /**
179
+ * List of verification metrics.
180
+ */
181
+ metrics?: pulumi.Input<pulumi.Input<inputs.oceancd.VerificationTemplateMetric>[]>;
182
+ /**
183
+ * Identifier name for Ocean CD Verification Template. Must be unique.
184
+ */
185
+ name?: pulumi.Input<string>;
186
+ }
187
+ /**
188
+ * The set of arguments for constructing a VerificationTemplate resource.
189
+ */
190
+ export interface VerificationTemplateArgs {
191
+ /**
192
+ * List of verification arguments. You may specify either `value` OR `valueFrom` but not both.In case `args`:`value` is already defined in the RolloutSpec entity, there is no need to also specify it in the VerificationTemplate entity.
193
+ */
194
+ args?: pulumi.Input<pulumi.Input<inputs.oceancd.VerificationTemplateArg>[]>;
195
+ /**
196
+ * List of verification metrics.
197
+ */
198
+ metrics?: pulumi.Input<pulumi.Input<inputs.oceancd.VerificationTemplateMetric>[]>;
199
+ /**
200
+ * Identifier name for Ocean CD Verification Template. Must be unique.
201
+ */
202
+ name?: pulumi.Input<string>;
203
+ }
@@ -0,0 +1,182 @@
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.VerificationTemplate = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("../utilities");
8
+ /**
9
+ * Manages a Spotinst OceanCD Verfification Template resource.
10
+ *
11
+ * ## Example Usage
12
+ *
13
+ * ```typescript
14
+ * import * as pulumi from "@pulumi/pulumi";
15
+ * import * as spotinst from "@pulumi/spotinst";
16
+ *
17
+ * const test = new spotinst.oceancd.VerificationTemplate("test", {
18
+ * name: "test-verification-template-tes",
19
+ * args: [{
20
+ * argName: "test-arg",
21
+ * value: "test",
22
+ * valueFrom: {
23
+ * secretKeyRef: {
24
+ * name: "test_key",
25
+ * key: "key-value-test",
26
+ * },
27
+ * },
28
+ * }],
29
+ * metrics: [{
30
+ * metricsName: "test-metrics-names",
31
+ * dryRun: false,
32
+ * interval: "10m",
33
+ * initialDelay: "1m",
34
+ * count: 10,
35
+ * successCondition: "result[0] <= 0.95",
36
+ * failureCondition: "result[0] >= 0.95",
37
+ * failureLimit: 2,
38
+ * consecutiveErrorLimit: 1,
39
+ * providers: [{
40
+ * prometheus: {
41
+ * prometheusQuery: "http_requests_new",
42
+ * },
43
+ * datadog: {
44
+ * duration: "1m",
45
+ * datadogQuery: "avg:kubernetes.cpu.user.total",
46
+ * },
47
+ * newRelic: {
48
+ * profile: "test",
49
+ * newRelicQuery: "FROM Metric SELECT count",
50
+ * },
51
+ * cloudWatch: {
52
+ * duration: "5m",
53
+ * metricDataQueries: [{
54
+ * id: "utilization",
55
+ * metricStat: {
56
+ * metric: {
57
+ * metricName: "Test",
58
+ * namespace: "AWS/EC2",
59
+ * dimensions: [{
60
+ * dimensionName: "instandId",
61
+ * dimensionValue: "i-123044",
62
+ * }],
63
+ * },
64
+ * metricPeriod: 400,
65
+ * stat: "average",
66
+ * unit: "None",
67
+ * },
68
+ * expression: "SELECT AVG(CPUUtilization) FROM SCHEMA",
69
+ * label: "TestLabel",
70
+ * returnData: false,
71
+ * period: 300,
72
+ * }],
73
+ * },
74
+ * web: {
75
+ * method: "GET",
76
+ * url: "https://oceancd.com/api/v1/metrics?clusterId= args.clusterId",
77
+ * webHeaders: [{
78
+ * webHeaderKey: "Autorization",
79
+ * webHeaderValue: "Bearer=args.token",
80
+ * }],
81
+ * body: "{\"key\": \"test\"}",
82
+ * timeoutSeconds: 20,
83
+ * jsonPath: "$.data",
84
+ * insecure: false,
85
+ * },
86
+ * job: {
87
+ * specs: [{
88
+ * backoffLimit: 1,
89
+ * jobTemplates: [{
90
+ * templateSpecs: [{
91
+ * containers: [{
92
+ * containerName: "hello",
93
+ * commands: [
94
+ * "sh",
95
+ * "-c",
96
+ * ],
97
+ * image: "nginx.2.1",
98
+ * }],
99
+ * restartPolicy: "never",
100
+ * }],
101
+ * }],
102
+ * }],
103
+ * },
104
+ * jenkins: {
105
+ * pipelineName: "testPipelineName",
106
+ * tlsVerification: true,
107
+ * timeout: "2m",
108
+ * jenkinsInterval: "5s",
109
+ * jenkinsParameters: {
110
+ * parameterKey: "app",
111
+ * parameterValue: "my-app",
112
+ * },
113
+ * },
114
+ * }],
115
+ * baseline: {
116
+ * baselineProviders: [{
117
+ * prometheus: {
118
+ * prometheusQuery: "http_requests_total.status!",
119
+ * },
120
+ * datadog: {
121
+ * duration: "2m",
122
+ * datadogQuery: "avg:kubernetes.cpu.user",
123
+ * },
124
+ * newRelic: {
125
+ * profile: "test",
126
+ * newRelicQuery: "FROM Metric SELECT count*",
127
+ * },
128
+ * }],
129
+ * minRange: 40,
130
+ * maxRange: 50,
131
+ * threshold: "range",
132
+ * },
133
+ * }],
134
+ * });
135
+ * ```
136
+ */
137
+ class VerificationTemplate extends pulumi.CustomResource {
138
+ /**
139
+ * Get an existing VerificationTemplate resource's state with the given name, ID, and optional extra
140
+ * properties used to qualify the lookup.
141
+ *
142
+ * @param name The _unique_ name of the resulting resource.
143
+ * @param id The _unique_ provider ID of the resource to lookup.
144
+ * @param state Any extra arguments used during the lookup.
145
+ * @param opts Optional settings to control the behavior of the CustomResource.
146
+ */
147
+ static get(name, id, state, opts) {
148
+ return new VerificationTemplate(name, state, Object.assign(Object.assign({}, opts), { id: id }));
149
+ }
150
+ /**
151
+ * Returns true if the given object is an instance of VerificationTemplate. This is designed to work even
152
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
153
+ */
154
+ static isInstance(obj) {
155
+ if (obj === undefined || obj === null) {
156
+ return false;
157
+ }
158
+ return obj['__pulumiType'] === VerificationTemplate.__pulumiType;
159
+ }
160
+ constructor(name, argsOrState, opts) {
161
+ let resourceInputs = {};
162
+ opts = opts || {};
163
+ if (opts.id) {
164
+ const state = argsOrState;
165
+ resourceInputs["args"] = state ? state.args : undefined;
166
+ resourceInputs["metrics"] = state ? state.metrics : undefined;
167
+ resourceInputs["name"] = state ? state.name : undefined;
168
+ }
169
+ else {
170
+ const args = argsOrState;
171
+ resourceInputs["args"] = args ? args.args : undefined;
172
+ resourceInputs["metrics"] = args ? args.metrics : undefined;
173
+ resourceInputs["name"] = args ? args.name : undefined;
174
+ }
175
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
176
+ super(VerificationTemplate.__pulumiType, name, resourceInputs, opts);
177
+ }
178
+ }
179
+ exports.VerificationTemplate = VerificationTemplate;
180
+ /** @internal */
181
+ VerificationTemplate.__pulumiType = 'spotinst:oceancd/verificationTemplate:VerificationTemplate';
182
+ //# sourceMappingURL=verificationTemplate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verificationTemplate.js","sourceRoot":"","sources":["../../oceancd/verificationTemplate.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AAGzC,0CAA0C;AAE1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgIG;AACH,MAAa,oBAAqB,SAAQ,MAAM,CAAC,cAAc;IAC3D;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAAiC,EAAE,IAAmC;QAC/H,OAAO,IAAI,oBAAoB,CAAC,IAAI,EAAO,KAAK,kCAAO,IAAI,KAAE,EAAE,EAAE,EAAE,IAAG,CAAC;IAC3E,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,oBAAoB,CAAC,YAAY,CAAC;IACrE,CAAC;IAuBD,YAAY,IAAY,EAAE,WAAkE,EAAE,IAAmC;QAC7H,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAAoD,CAAC;YACnE,cAAc,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YACxD,cAAc,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9D,cAAc,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;SAC3D;aAAM;YACH,MAAM,IAAI,GAAG,WAAmD,CAAC;YACjE,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YACtD,cAAc,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5D,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;SACzD;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,oBAAoB,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IACzE,CAAC;;AAjEL,oDAkEC;AApDG,gBAAgB;AACO,iCAAY,GAAG,4DAA4D,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pulumi/spotinst",
3
- "version": "3.78.0-alpha.1716318757",
3
+ "version": "3.78.0",
4
4
  "description": "A Pulumi package for creating and managing spotinst cloud resources.",
5
5
  "keywords": [
6
6
  "pulumi",
@@ -23,6 +23,6 @@
23
23
  "pulumi": {
24
24
  "resource": true,
25
25
  "name": "spotinst",
26
- "version": "3.78.0-alpha.1716318757"
26
+ "version": "3.78.0"
27
27
  }
28
28
  }
package/types/input.d.ts CHANGED
@@ -3218,6 +3218,130 @@ export declare namespace gke {
3218
3218
  }
3219
3219
  }
3220
3220
  export declare namespace oceancd {
3221
+ interface RolloutSpecFailurePolicy {
3222
+ /**
3223
+ * Choose an action to perform on failure. Default is `abort`. Enum: "abort" "pause" "promote".
3224
+ */
3225
+ action: pulumi.Input<string>;
3226
+ }
3227
+ interface RolloutSpecSpotDeployment {
3228
+ /**
3229
+ * Ocean CD cluster identifier for the references `SpotDeployment`.
3230
+ */
3231
+ spotDeploymentsClusterId?: pulumi.Input<string>;
3232
+ /**
3233
+ * The name of the `SpotDeployment` resource
3234
+ */
3235
+ spotDeploymentsName?: pulumi.Input<string>;
3236
+ /**
3237
+ * The namespace which the `SpotDeployment` resource exists within.
3238
+ */
3239
+ spotDeploymentsNamespace?: pulumi.Input<string>;
3240
+ }
3241
+ interface RolloutSpecStrategy {
3242
+ /**
3243
+ * Arguments defined in Verification Templates.
3244
+ */
3245
+ args?: pulumi.Input<pulumi.Input<inputs.oceancd.RolloutSpecStrategyArg>[]>;
3246
+ /**
3247
+ * Ocean CD strategy name identifier.
3248
+ */
3249
+ strategyName: pulumi.Input<string>;
3250
+ }
3251
+ interface RolloutSpecStrategyArg {
3252
+ argName: pulumi.Input<string>;
3253
+ argValue?: pulumi.Input<string>;
3254
+ valueFrom?: pulumi.Input<inputs.oceancd.RolloutSpecStrategyArgValueFrom>;
3255
+ }
3256
+ interface RolloutSpecStrategyArgValueFrom {
3257
+ fieldRef: pulumi.Input<inputs.oceancd.RolloutSpecStrategyArgValueFromFieldRef>;
3258
+ }
3259
+ interface RolloutSpecStrategyArgValueFromFieldRef {
3260
+ fieldPath: pulumi.Input<string>;
3261
+ }
3262
+ interface RolloutSpecTraffic {
3263
+ /**
3264
+ * Holds ALB Ingress specific configuration to route traffic.
3265
+ */
3266
+ alb?: pulumi.Input<inputs.oceancd.RolloutSpecTrafficAlb>;
3267
+ /**
3268
+ * Holds specific configuration to use Ambassador to route traffic.
3269
+ */
3270
+ ambassador?: pulumi.Input<inputs.oceancd.RolloutSpecTrafficAmbassador>;
3271
+ /**
3272
+ * The canary service name.
3273
+ */
3274
+ canaryService?: pulumi.Input<string>;
3275
+ /**
3276
+ * Holds Istio specific configuration to route traffic.
3277
+ */
3278
+ istio?: pulumi.Input<inputs.oceancd.RolloutSpecTrafficIstio>;
3279
+ /**
3280
+ * Holds Nginx Ingress specific configuration to route traffic.
3281
+ */
3282
+ nginx?: pulumi.Input<inputs.oceancd.RolloutSpecTrafficNginx>;
3283
+ /**
3284
+ * Holds the ping and pong services. You can use `pingPong` field only when using ALB as a traffic manager with the IP Mode approach.
3285
+ */
3286
+ pingPong?: pulumi.Input<inputs.oceancd.RolloutSpecTrafficPingPong>;
3287
+ /**
3288
+ * Holds TrafficSplit specific configuration to route traffic.
3289
+ */
3290
+ smi?: pulumi.Input<inputs.oceancd.RolloutSpecTrafficSmi>;
3291
+ /**
3292
+ * The stable service name.
3293
+ */
3294
+ stableService?: pulumi.Input<string>;
3295
+ }
3296
+ interface RolloutSpecTrafficAlb {
3297
+ albAnnotationPrefix?: pulumi.Input<string>;
3298
+ albIngress: pulumi.Input<string>;
3299
+ albRootService: pulumi.Input<string>;
3300
+ servicePort: pulumi.Input<number>;
3301
+ stickinessConfig?: pulumi.Input<inputs.oceancd.RolloutSpecTrafficAlbStickinessConfig>;
3302
+ }
3303
+ interface RolloutSpecTrafficAlbStickinessConfig {
3304
+ durationSeconds?: pulumi.Input<number>;
3305
+ enabled?: pulumi.Input<boolean>;
3306
+ }
3307
+ interface RolloutSpecTrafficAmbassador {
3308
+ mappings: pulumi.Input<pulumi.Input<string>[]>;
3309
+ }
3310
+ interface RolloutSpecTrafficIstio {
3311
+ destinationRule?: pulumi.Input<inputs.oceancd.RolloutSpecTrafficIstioDestinationRule>;
3312
+ virtualServices: pulumi.Input<pulumi.Input<inputs.oceancd.RolloutSpecTrafficIstioVirtualService>[]>;
3313
+ }
3314
+ interface RolloutSpecTrafficIstioDestinationRule {
3315
+ canarySubsetName: pulumi.Input<string>;
3316
+ destinationRuleName: pulumi.Input<string>;
3317
+ stableSubsetName: pulumi.Input<string>;
3318
+ }
3319
+ interface RolloutSpecTrafficIstioVirtualService {
3320
+ tlsRoutes?: pulumi.Input<pulumi.Input<inputs.oceancd.RolloutSpecTrafficIstioVirtualServiceTlsRoute>[]>;
3321
+ virtualServiceName: pulumi.Input<string>;
3322
+ virtualServiceRoutes?: pulumi.Input<pulumi.Input<string>[]>;
3323
+ }
3324
+ interface RolloutSpecTrafficIstioVirtualServiceTlsRoute {
3325
+ port?: pulumi.Input<number>;
3326
+ sniHosts?: pulumi.Input<pulumi.Input<string>[]>;
3327
+ }
3328
+ interface RolloutSpecTrafficNginx {
3329
+ additionalIngressAnnotation?: pulumi.Input<inputs.oceancd.RolloutSpecTrafficNginxAdditionalIngressAnnotation>;
3330
+ nginxAnnotationPrefix?: pulumi.Input<string>;
3331
+ stableIngress: pulumi.Input<string>;
3332
+ }
3333
+ interface RolloutSpecTrafficNginxAdditionalIngressAnnotation {
3334
+ canaryByHeader?: pulumi.Input<string>;
3335
+ key1?: pulumi.Input<string>;
3336
+ }
3337
+ interface RolloutSpecTrafficPingPong {
3338
+ pingService: pulumi.Input<string>;
3339
+ pongService: pulumi.Input<string>;
3340
+ }
3341
+ interface RolloutSpecTrafficSmi {
3342
+ smiRootService?: pulumi.Input<string>;
3343
+ trafficSplitName?: pulumi.Input<string>;
3344
+ }
3221
3345
  interface StrategyCanary {
3222
3346
  /**
3223
3347
  * A list of background verifications.
@@ -3339,6 +3463,188 @@ export declare namespace oceancd {
3339
3463
  */
3340
3464
  address: pulumi.Input<string>;
3341
3465
  }
3466
+ interface VerificationTemplateArg {
3467
+ /**
3468
+ * Name of an argument.
3469
+ */
3470
+ argName: pulumi.Input<string>;
3471
+ /**
3472
+ * String representation of data.
3473
+ */
3474
+ value?: pulumi.Input<string>;
3475
+ /**
3476
+ * ValueFrom object.
3477
+ */
3478
+ valueFrom?: pulumi.Input<inputs.oceancd.VerificationTemplateArgValueFrom>;
3479
+ }
3480
+ interface VerificationTemplateArgValueFrom {
3481
+ secretKeyRef?: pulumi.Input<inputs.oceancd.VerificationTemplateArgValueFromSecretKeyRef>;
3482
+ }
3483
+ interface VerificationTemplateArgValueFromSecretKeyRef {
3484
+ key: pulumi.Input<string>;
3485
+ /**
3486
+ * Identifier name for Ocean CD Verification Template. Must be unique.
3487
+ */
3488
+ name: pulumi.Input<string>;
3489
+ }
3490
+ interface VerificationTemplateMetric {
3491
+ /**
3492
+ * Baseline Object.
3493
+ */
3494
+ baseline?: pulumi.Input<inputs.oceancd.VerificationTemplateMetricBaseline>;
3495
+ /**
3496
+ * The maximum number of times the measurement is allowed to error in succession, before the metric is considered error.Default is 4.When choosing `Jenkins` as the provider, there is no need to send this variable.
3497
+ */
3498
+ consecutiveErrorLimit?: pulumi.Input<number>;
3499
+ /**
3500
+ * The number of times to run the measurement. If both interval and count are omitted, the effective count is 1. If only interval is specified, metric runs indefinitely. If count > 1, interval must be specified. When choosing `Jenkins` as the provider, there is no need to send this variable.
3501
+ */
3502
+ count?: pulumi.Input<number>;
3503
+ /**
3504
+ * Defines whether the metric should have an impact on the result of the rollout.
3505
+ */
3506
+ dryRun?: pulumi.Input<boolean>;
3507
+ /**
3508
+ * An expression which determines if a measurement is considered failed.If failureCondition is set, then successCondition is not allowed. When choosing Jenkins as the provider, there is no need to send this variable.
3509
+ */
3510
+ failureCondition?: pulumi.Input<string>;
3511
+ /**
3512
+ * The maximum number of times the measurement is allowed to fail, before the entire metric is considered failed.Default is 0. When choosing `Jenkins` as the provider, there is no need to send this variable.
3513
+ */
3514
+ failureLimit?: pulumi.Input<number>;
3515
+ /**
3516
+ * How long to wait before starting this metric measurements. When choosing Jenkins as the provider, there is no need to send this variable.
3517
+ */
3518
+ initialDelay?: pulumi.Input<string>;
3519
+ /**
3520
+ * Defines an interval string (30s, 5m, 1h) between each verification measurements. If omitted, will perform a single measurement.When choosing Jenkins as the provider, there is no need to send this variable.
3521
+ */
3522
+ interval?: pulumi.Input<string>;
3523
+ /**
3524
+ * The name of the verification metric.
3525
+ */
3526
+ metricsName: pulumi.Input<string>;
3527
+ /**
3528
+ * The name of the monitoring tool chosen for the metric.
3529
+ */
3530
+ providers: pulumi.Input<pulumi.Input<inputs.oceancd.VerificationTemplateMetricProvider>[]>;
3531
+ /**
3532
+ * An expression which determines if a measurement is considered successful. The keyword `result` is a variable reference to the value of measurement. Results can be both structured data or primitive. If successCondition is set, then failureCondition is not allowed. When choosing `Jenkins` as the provider, there is no need to send this variable.
3533
+ */
3534
+ successCondition?: pulumi.Input<string>;
3535
+ }
3536
+ interface VerificationTemplateMetricBaseline {
3537
+ baselineProviders: pulumi.Input<pulumi.Input<inputs.oceancd.VerificationTemplateMetricBaselineBaselineProvider>[]>;
3538
+ maxRange?: pulumi.Input<number>;
3539
+ minRange?: pulumi.Input<number>;
3540
+ threshold: pulumi.Input<string>;
3541
+ }
3542
+ interface VerificationTemplateMetricBaselineBaselineProvider {
3543
+ datadog?: pulumi.Input<inputs.oceancd.VerificationTemplateMetricBaselineBaselineProviderDatadog>;
3544
+ newRelic?: pulumi.Input<inputs.oceancd.VerificationTemplateMetricBaselineBaselineProviderNewRelic>;
3545
+ prometheus?: pulumi.Input<inputs.oceancd.VerificationTemplateMetricBaselineBaselineProviderPrometheus>;
3546
+ }
3547
+ interface VerificationTemplateMetricBaselineBaselineProviderDatadog {
3548
+ datadogQuery: pulumi.Input<string>;
3549
+ duration?: pulumi.Input<string>;
3550
+ }
3551
+ interface VerificationTemplateMetricBaselineBaselineProviderNewRelic {
3552
+ newRelicQuery: pulumi.Input<string>;
3553
+ profile?: pulumi.Input<string>;
3554
+ }
3555
+ interface VerificationTemplateMetricBaselineBaselineProviderPrometheus {
3556
+ prometheusQuery: pulumi.Input<string>;
3557
+ }
3558
+ interface VerificationTemplateMetricProvider {
3559
+ cloudWatch?: pulumi.Input<inputs.oceancd.VerificationTemplateMetricProviderCloudWatch>;
3560
+ datadog?: pulumi.Input<inputs.oceancd.VerificationTemplateMetricProviderDatadog>;
3561
+ jenkins?: pulumi.Input<inputs.oceancd.VerificationTemplateMetricProviderJenkins>;
3562
+ job?: pulumi.Input<inputs.oceancd.VerificationTemplateMetricProviderJob>;
3563
+ newRelic?: pulumi.Input<inputs.oceancd.VerificationTemplateMetricProviderNewRelic>;
3564
+ prometheus?: pulumi.Input<inputs.oceancd.VerificationTemplateMetricProviderPrometheus>;
3565
+ web?: pulumi.Input<inputs.oceancd.VerificationTemplateMetricProviderWeb>;
3566
+ }
3567
+ interface VerificationTemplateMetricProviderCloudWatch {
3568
+ duration?: pulumi.Input<string>;
3569
+ metricDataQueries: pulumi.Input<pulumi.Input<inputs.oceancd.VerificationTemplateMetricProviderCloudWatchMetricDataQuery>[]>;
3570
+ }
3571
+ interface VerificationTemplateMetricProviderCloudWatchMetricDataQuery {
3572
+ expression?: pulumi.Input<string>;
3573
+ id: pulumi.Input<string>;
3574
+ label?: pulumi.Input<string>;
3575
+ metricStat?: pulumi.Input<inputs.oceancd.VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStat>;
3576
+ period?: pulumi.Input<number>;
3577
+ returnData?: pulumi.Input<boolean>;
3578
+ }
3579
+ interface VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStat {
3580
+ metric?: pulumi.Input<inputs.oceancd.VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetric>;
3581
+ metricPeriod?: pulumi.Input<number>;
3582
+ stat?: pulumi.Input<string>;
3583
+ unit?: pulumi.Input<string>;
3584
+ }
3585
+ interface VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetric {
3586
+ dimensions?: pulumi.Input<pulumi.Input<inputs.oceancd.VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimension>[]>;
3587
+ metricName: pulumi.Input<string>;
3588
+ namespace?: pulumi.Input<string>;
3589
+ }
3590
+ interface VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimension {
3591
+ dimensionName: pulumi.Input<string>;
3592
+ dimensionValue: pulumi.Input<string>;
3593
+ }
3594
+ interface VerificationTemplateMetricProviderDatadog {
3595
+ datadogQuery?: pulumi.Input<string>;
3596
+ duration?: pulumi.Input<string>;
3597
+ }
3598
+ interface VerificationTemplateMetricProviderJenkins {
3599
+ jenkinsInterval: pulumi.Input<string>;
3600
+ jenkinsParameters?: pulumi.Input<inputs.oceancd.VerificationTemplateMetricProviderJenkinsJenkinsParameters>;
3601
+ pipelineName: pulumi.Input<string>;
3602
+ timeout: pulumi.Input<string>;
3603
+ tlsVerification?: pulumi.Input<boolean>;
3604
+ }
3605
+ interface VerificationTemplateMetricProviderJenkinsJenkinsParameters {
3606
+ parameterKey: pulumi.Input<string>;
3607
+ parameterValue: pulumi.Input<string>;
3608
+ }
3609
+ interface VerificationTemplateMetricProviderJob {
3610
+ specs: pulumi.Input<pulumi.Input<inputs.oceancd.VerificationTemplateMetricProviderJobSpec>[]>;
3611
+ }
3612
+ interface VerificationTemplateMetricProviderJobSpec {
3613
+ backoffLimit?: pulumi.Input<number>;
3614
+ jobTemplates: pulumi.Input<pulumi.Input<inputs.oceancd.VerificationTemplateMetricProviderJobSpecJobTemplate>[]>;
3615
+ }
3616
+ interface VerificationTemplateMetricProviderJobSpecJobTemplate {
3617
+ templateSpecs: pulumi.Input<pulumi.Input<inputs.oceancd.VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpec>[]>;
3618
+ }
3619
+ interface VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpec {
3620
+ containers: pulumi.Input<pulumi.Input<inputs.oceancd.VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainer>[]>;
3621
+ restartPolicy: pulumi.Input<string>;
3622
+ }
3623
+ interface VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainer {
3624
+ commands: pulumi.Input<pulumi.Input<string>[]>;
3625
+ containerName: pulumi.Input<string>;
3626
+ image: pulumi.Input<string>;
3627
+ }
3628
+ interface VerificationTemplateMetricProviderNewRelic {
3629
+ newRelicQuery: pulumi.Input<string>;
3630
+ profile?: pulumi.Input<string>;
3631
+ }
3632
+ interface VerificationTemplateMetricProviderPrometheus {
3633
+ prometheusQuery: pulumi.Input<string>;
3634
+ }
3635
+ interface VerificationTemplateMetricProviderWeb {
3636
+ body?: pulumi.Input<string>;
3637
+ insecure?: pulumi.Input<boolean>;
3638
+ jsonPath?: pulumi.Input<string>;
3639
+ method?: pulumi.Input<string>;
3640
+ timeoutSeconds?: pulumi.Input<number>;
3641
+ url: pulumi.Input<string>;
3642
+ webHeaders?: pulumi.Input<pulumi.Input<inputs.oceancd.VerificationTemplateMetricProviderWebWebHeader>[]>;
3643
+ }
3644
+ interface VerificationTemplateMetricProviderWebWebHeader {
3645
+ webHeaderKey: pulumi.Input<string>;
3646
+ webHeaderValue: pulumi.Input<string>;
3647
+ }
3342
3648
  }
3343
3649
  export declare namespace organization {
3344
3650
  interface PolicyPolicyContent {
package/types/output.d.ts CHANGED
@@ -3217,6 +3217,130 @@ export declare namespace gke {
3217
3217
  }
3218
3218
  }
3219
3219
  export declare namespace oceancd {
3220
+ interface RolloutSpecFailurePolicy {
3221
+ /**
3222
+ * Choose an action to perform on failure. Default is `abort`. Enum: "abort" "pause" "promote".
3223
+ */
3224
+ action: string;
3225
+ }
3226
+ interface RolloutSpecSpotDeployment {
3227
+ /**
3228
+ * Ocean CD cluster identifier for the references `SpotDeployment`.
3229
+ */
3230
+ spotDeploymentsClusterId?: string;
3231
+ /**
3232
+ * The name of the `SpotDeployment` resource
3233
+ */
3234
+ spotDeploymentsName?: string;
3235
+ /**
3236
+ * The namespace which the `SpotDeployment` resource exists within.
3237
+ */
3238
+ spotDeploymentsNamespace?: string;
3239
+ }
3240
+ interface RolloutSpecStrategy {
3241
+ /**
3242
+ * Arguments defined in Verification Templates.
3243
+ */
3244
+ args?: outputs.oceancd.RolloutSpecStrategyArg[];
3245
+ /**
3246
+ * Ocean CD strategy name identifier.
3247
+ */
3248
+ strategyName: string;
3249
+ }
3250
+ interface RolloutSpecStrategyArg {
3251
+ argName: string;
3252
+ argValue?: string;
3253
+ valueFrom?: outputs.oceancd.RolloutSpecStrategyArgValueFrom;
3254
+ }
3255
+ interface RolloutSpecStrategyArgValueFrom {
3256
+ fieldRef: outputs.oceancd.RolloutSpecStrategyArgValueFromFieldRef;
3257
+ }
3258
+ interface RolloutSpecStrategyArgValueFromFieldRef {
3259
+ fieldPath: string;
3260
+ }
3261
+ interface RolloutSpecTraffic {
3262
+ /**
3263
+ * Holds ALB Ingress specific configuration to route traffic.
3264
+ */
3265
+ alb?: outputs.oceancd.RolloutSpecTrafficAlb;
3266
+ /**
3267
+ * Holds specific configuration to use Ambassador to route traffic.
3268
+ */
3269
+ ambassador?: outputs.oceancd.RolloutSpecTrafficAmbassador;
3270
+ /**
3271
+ * The canary service name.
3272
+ */
3273
+ canaryService?: string;
3274
+ /**
3275
+ * Holds Istio specific configuration to route traffic.
3276
+ */
3277
+ istio?: outputs.oceancd.RolloutSpecTrafficIstio;
3278
+ /**
3279
+ * Holds Nginx Ingress specific configuration to route traffic.
3280
+ */
3281
+ nginx?: outputs.oceancd.RolloutSpecTrafficNginx;
3282
+ /**
3283
+ * Holds the ping and pong services. You can use `pingPong` field only when using ALB as a traffic manager with the IP Mode approach.
3284
+ */
3285
+ pingPong?: outputs.oceancd.RolloutSpecTrafficPingPong;
3286
+ /**
3287
+ * Holds TrafficSplit specific configuration to route traffic.
3288
+ */
3289
+ smi?: outputs.oceancd.RolloutSpecTrafficSmi;
3290
+ /**
3291
+ * The stable service name.
3292
+ */
3293
+ stableService?: string;
3294
+ }
3295
+ interface RolloutSpecTrafficAlb {
3296
+ albAnnotationPrefix?: string;
3297
+ albIngress: string;
3298
+ albRootService: string;
3299
+ servicePort: number;
3300
+ stickinessConfig?: outputs.oceancd.RolloutSpecTrafficAlbStickinessConfig;
3301
+ }
3302
+ interface RolloutSpecTrafficAlbStickinessConfig {
3303
+ durationSeconds?: number;
3304
+ enabled?: boolean;
3305
+ }
3306
+ interface RolloutSpecTrafficAmbassador {
3307
+ mappings: string[];
3308
+ }
3309
+ interface RolloutSpecTrafficIstio {
3310
+ destinationRule?: outputs.oceancd.RolloutSpecTrafficIstioDestinationRule;
3311
+ virtualServices: outputs.oceancd.RolloutSpecTrafficIstioVirtualService[];
3312
+ }
3313
+ interface RolloutSpecTrafficIstioDestinationRule {
3314
+ canarySubsetName: string;
3315
+ destinationRuleName: string;
3316
+ stableSubsetName: string;
3317
+ }
3318
+ interface RolloutSpecTrafficIstioVirtualService {
3319
+ tlsRoutes?: outputs.oceancd.RolloutSpecTrafficIstioVirtualServiceTlsRoute[];
3320
+ virtualServiceName: string;
3321
+ virtualServiceRoutes?: string[];
3322
+ }
3323
+ interface RolloutSpecTrafficIstioVirtualServiceTlsRoute {
3324
+ port?: number;
3325
+ sniHosts?: string[];
3326
+ }
3327
+ interface RolloutSpecTrafficNginx {
3328
+ additionalIngressAnnotation?: outputs.oceancd.RolloutSpecTrafficNginxAdditionalIngressAnnotation;
3329
+ nginxAnnotationPrefix?: string;
3330
+ stableIngress: string;
3331
+ }
3332
+ interface RolloutSpecTrafficNginxAdditionalIngressAnnotation {
3333
+ canaryByHeader?: string;
3334
+ key1?: string;
3335
+ }
3336
+ interface RolloutSpecTrafficPingPong {
3337
+ pingService: string;
3338
+ pongService: string;
3339
+ }
3340
+ interface RolloutSpecTrafficSmi {
3341
+ smiRootService?: string;
3342
+ trafficSplitName?: string;
3343
+ }
3220
3344
  interface StrategyCanary {
3221
3345
  /**
3222
3346
  * A list of background verifications.
@@ -3338,6 +3462,188 @@ export declare namespace oceancd {
3338
3462
  */
3339
3463
  address: string;
3340
3464
  }
3465
+ interface VerificationTemplateArg {
3466
+ /**
3467
+ * Name of an argument.
3468
+ */
3469
+ argName: string;
3470
+ /**
3471
+ * String representation of data.
3472
+ */
3473
+ value?: string;
3474
+ /**
3475
+ * ValueFrom object.
3476
+ */
3477
+ valueFrom?: outputs.oceancd.VerificationTemplateArgValueFrom;
3478
+ }
3479
+ interface VerificationTemplateArgValueFrom {
3480
+ secretKeyRef?: outputs.oceancd.VerificationTemplateArgValueFromSecretKeyRef;
3481
+ }
3482
+ interface VerificationTemplateArgValueFromSecretKeyRef {
3483
+ key: string;
3484
+ /**
3485
+ * Identifier name for Ocean CD Verification Template. Must be unique.
3486
+ */
3487
+ name: string;
3488
+ }
3489
+ interface VerificationTemplateMetric {
3490
+ /**
3491
+ * Baseline Object.
3492
+ */
3493
+ baseline?: outputs.oceancd.VerificationTemplateMetricBaseline;
3494
+ /**
3495
+ * The maximum number of times the measurement is allowed to error in succession, before the metric is considered error.Default is 4.When choosing `Jenkins` as the provider, there is no need to send this variable.
3496
+ */
3497
+ consecutiveErrorLimit?: number;
3498
+ /**
3499
+ * The number of times to run the measurement. If both interval and count are omitted, the effective count is 1. If only interval is specified, metric runs indefinitely. If count > 1, interval must be specified. When choosing `Jenkins` as the provider, there is no need to send this variable.
3500
+ */
3501
+ count?: number;
3502
+ /**
3503
+ * Defines whether the metric should have an impact on the result of the rollout.
3504
+ */
3505
+ dryRun?: boolean;
3506
+ /**
3507
+ * An expression which determines if a measurement is considered failed.If failureCondition is set, then successCondition is not allowed. When choosing Jenkins as the provider, there is no need to send this variable.
3508
+ */
3509
+ failureCondition?: string;
3510
+ /**
3511
+ * The maximum number of times the measurement is allowed to fail, before the entire metric is considered failed.Default is 0. When choosing `Jenkins` as the provider, there is no need to send this variable.
3512
+ */
3513
+ failureLimit?: number;
3514
+ /**
3515
+ * How long to wait before starting this metric measurements. When choosing Jenkins as the provider, there is no need to send this variable.
3516
+ */
3517
+ initialDelay?: string;
3518
+ /**
3519
+ * Defines an interval string (30s, 5m, 1h) between each verification measurements. If omitted, will perform a single measurement.When choosing Jenkins as the provider, there is no need to send this variable.
3520
+ */
3521
+ interval?: string;
3522
+ /**
3523
+ * The name of the verification metric.
3524
+ */
3525
+ metricsName: string;
3526
+ /**
3527
+ * The name of the monitoring tool chosen for the metric.
3528
+ */
3529
+ providers: outputs.oceancd.VerificationTemplateMetricProvider[];
3530
+ /**
3531
+ * An expression which determines if a measurement is considered successful. The keyword `result` is a variable reference to the value of measurement. Results can be both structured data or primitive. If successCondition is set, then failureCondition is not allowed. When choosing `Jenkins` as the provider, there is no need to send this variable.
3532
+ */
3533
+ successCondition?: string;
3534
+ }
3535
+ interface VerificationTemplateMetricBaseline {
3536
+ baselineProviders: outputs.oceancd.VerificationTemplateMetricBaselineBaselineProvider[];
3537
+ maxRange?: number;
3538
+ minRange?: number;
3539
+ threshold: string;
3540
+ }
3541
+ interface VerificationTemplateMetricBaselineBaselineProvider {
3542
+ datadog?: outputs.oceancd.VerificationTemplateMetricBaselineBaselineProviderDatadog;
3543
+ newRelic?: outputs.oceancd.VerificationTemplateMetricBaselineBaselineProviderNewRelic;
3544
+ prometheus?: outputs.oceancd.VerificationTemplateMetricBaselineBaselineProviderPrometheus;
3545
+ }
3546
+ interface VerificationTemplateMetricBaselineBaselineProviderDatadog {
3547
+ datadogQuery: string;
3548
+ duration?: string;
3549
+ }
3550
+ interface VerificationTemplateMetricBaselineBaselineProviderNewRelic {
3551
+ newRelicQuery: string;
3552
+ profile?: string;
3553
+ }
3554
+ interface VerificationTemplateMetricBaselineBaselineProviderPrometheus {
3555
+ prometheusQuery: string;
3556
+ }
3557
+ interface VerificationTemplateMetricProvider {
3558
+ cloudWatch?: outputs.oceancd.VerificationTemplateMetricProviderCloudWatch;
3559
+ datadog?: outputs.oceancd.VerificationTemplateMetricProviderDatadog;
3560
+ jenkins?: outputs.oceancd.VerificationTemplateMetricProviderJenkins;
3561
+ job?: outputs.oceancd.VerificationTemplateMetricProviderJob;
3562
+ newRelic?: outputs.oceancd.VerificationTemplateMetricProviderNewRelic;
3563
+ prometheus?: outputs.oceancd.VerificationTemplateMetricProviderPrometheus;
3564
+ web?: outputs.oceancd.VerificationTemplateMetricProviderWeb;
3565
+ }
3566
+ interface VerificationTemplateMetricProviderCloudWatch {
3567
+ duration?: string;
3568
+ metricDataQueries: outputs.oceancd.VerificationTemplateMetricProviderCloudWatchMetricDataQuery[];
3569
+ }
3570
+ interface VerificationTemplateMetricProviderCloudWatchMetricDataQuery {
3571
+ expression?: string;
3572
+ id: string;
3573
+ label?: string;
3574
+ metricStat?: outputs.oceancd.VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStat;
3575
+ period?: number;
3576
+ returnData?: boolean;
3577
+ }
3578
+ interface VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStat {
3579
+ metric?: outputs.oceancd.VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetric;
3580
+ metricPeriod?: number;
3581
+ stat?: string;
3582
+ unit?: string;
3583
+ }
3584
+ interface VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetric {
3585
+ dimensions?: outputs.oceancd.VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimension[];
3586
+ metricName: string;
3587
+ namespace?: string;
3588
+ }
3589
+ interface VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimension {
3590
+ dimensionName: string;
3591
+ dimensionValue: string;
3592
+ }
3593
+ interface VerificationTemplateMetricProviderDatadog {
3594
+ datadogQuery?: string;
3595
+ duration?: string;
3596
+ }
3597
+ interface VerificationTemplateMetricProviderJenkins {
3598
+ jenkinsInterval: string;
3599
+ jenkinsParameters?: outputs.oceancd.VerificationTemplateMetricProviderJenkinsJenkinsParameters;
3600
+ pipelineName: string;
3601
+ timeout: string;
3602
+ tlsVerification?: boolean;
3603
+ }
3604
+ interface VerificationTemplateMetricProviderJenkinsJenkinsParameters {
3605
+ parameterKey: string;
3606
+ parameterValue: string;
3607
+ }
3608
+ interface VerificationTemplateMetricProviderJob {
3609
+ specs: outputs.oceancd.VerificationTemplateMetricProviderJobSpec[];
3610
+ }
3611
+ interface VerificationTemplateMetricProviderJobSpec {
3612
+ backoffLimit?: number;
3613
+ jobTemplates: outputs.oceancd.VerificationTemplateMetricProviderJobSpecJobTemplate[];
3614
+ }
3615
+ interface VerificationTemplateMetricProviderJobSpecJobTemplate {
3616
+ templateSpecs: outputs.oceancd.VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpec[];
3617
+ }
3618
+ interface VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpec {
3619
+ containers: outputs.oceancd.VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainer[];
3620
+ restartPolicy: string;
3621
+ }
3622
+ interface VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainer {
3623
+ commands: string[];
3624
+ containerName: string;
3625
+ image: string;
3626
+ }
3627
+ interface VerificationTemplateMetricProviderNewRelic {
3628
+ newRelicQuery: string;
3629
+ profile?: string;
3630
+ }
3631
+ interface VerificationTemplateMetricProviderPrometheus {
3632
+ prometheusQuery: string;
3633
+ }
3634
+ interface VerificationTemplateMetricProviderWeb {
3635
+ body?: string;
3636
+ insecure?: boolean;
3637
+ jsonPath?: string;
3638
+ method?: string;
3639
+ timeoutSeconds?: number;
3640
+ url: string;
3641
+ webHeaders?: outputs.oceancd.VerificationTemplateMetricProviderWebWebHeader[];
3642
+ }
3643
+ interface VerificationTemplateMetricProviderWebWebHeader {
3644
+ webHeaderKey: string;
3645
+ webHeaderValue: string;
3646
+ }
3341
3647
  }
3342
3648
  export declare namespace organization {
3343
3649
  interface PolicyPolicyContent {