@pulumi/newrelic 4.20.0 → 5.1.0-alpha.1663018157

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 (88) hide show
  1. package/README.md +2 -2
  2. package/alertPolicyChannel.d.ts +1 -1
  3. package/alertPolicyChannel.js +1 -1
  4. package/cloud/awsIntegrations.d.ts +24 -0
  5. package/cloud/awsIntegrations.js +4 -0
  6. package/cloud/awsIntegrations.js.map +1 -1
  7. package/getAlertChannel.d.ts +9 -0
  8. package/getAlertChannel.js +1 -0
  9. package/getAlertChannel.js.map +1 -1
  10. package/getAlertPolicy.d.ts +6 -0
  11. package/getAlertPolicy.js.map +1 -1
  12. package/index.d.ts +1 -1
  13. package/index.js +5 -5
  14. package/index.js.map +1 -1
  15. package/notificationChannel.d.ts +143 -28
  16. package/notificationChannel.js +112 -17
  17. package/notificationChannel.js.map +1 -1
  18. package/notificationDestination.d.ts +124 -50
  19. package/notificationDestination.js +67 -32
  20. package/notificationDestination.js.map +1 -1
  21. package/nrqlAlertCondition.d.ts +12 -15
  22. package/nrqlAlertCondition.js +0 -3
  23. package/nrqlAlertCondition.js.map +1 -1
  24. package/package.json +2 -2
  25. package/package.json.dev +2 -2
  26. package/plugins/index.d.ts +0 -3
  27. package/plugins/index.js +0 -7
  28. package/plugins/index.js.map +1 -1
  29. package/synthetics/alertCondition.d.ts +3 -19
  30. package/synthetics/alertCondition.js +0 -16
  31. package/synthetics/alertCondition.js.map +1 -1
  32. package/synthetics/brokenLinksMonitor.d.ts +198 -0
  33. package/synthetics/brokenLinksMonitor.js +131 -0
  34. package/synthetics/brokenLinksMonitor.js.map +1 -0
  35. package/synthetics/certCheckMonitor.d.ts +203 -0
  36. package/synthetics/certCheckMonitor.js +135 -0
  37. package/synthetics/certCheckMonitor.js.map +1 -0
  38. package/synthetics/getPrivateLocation.d.ts +34 -0
  39. package/synthetics/getPrivateLocation.js +25 -0
  40. package/synthetics/getPrivateLocation.js.map +1 -0
  41. package/synthetics/getSecureCredential.d.ts +0 -4
  42. package/synthetics/getSecureCredential.js.map +1 -1
  43. package/synthetics/index.d.ts +6 -3
  44. package/synthetics/index.js +26 -7
  45. package/synthetics/index.js.map +1 -1
  46. package/synthetics/monitor.d.ts +221 -77
  47. package/synthetics/monitor.js +114 -47
  48. package/synthetics/monitor.js.map +1 -1
  49. package/synthetics/multiLocationAlertCondition.d.ts +32 -3
  50. package/synthetics/multiLocationAlertCondition.js +29 -0
  51. package/synthetics/multiLocationAlertCondition.js.map +1 -1
  52. package/synthetics/privateLocation.d.ts +139 -0
  53. package/synthetics/privateLocation.js +89 -0
  54. package/synthetics/privateLocation.js.map +1 -0
  55. package/synthetics/scriptMonitor.d.ts +341 -0
  56. package/synthetics/scriptMonitor.js +224 -0
  57. package/synthetics/scriptMonitor.js.map +1 -0
  58. package/synthetics/secureCredential.d.ts +6 -6
  59. package/synthetics/secureCredential.js +2 -2
  60. package/synthetics/stepMonitor.d.ts +192 -0
  61. package/synthetics/stepMonitor.js +115 -0
  62. package/synthetics/stepMonitor.js.map +1 -0
  63. package/types/input.d.ts +213 -126
  64. package/types/output.d.ts +213 -126
  65. package/workflow.d.ts +291 -0
  66. package/workflow.js +208 -0
  67. package/workflow.js.map +1 -0
  68. package/dashboard.d.ts +0 -139
  69. package/dashboard.js +0 -73
  70. package/dashboard.js.map +0 -1
  71. package/plugins/alertCondition.d.ts +0 -167
  72. package/plugins/alertCondition.js +0 -100
  73. package/plugins/alertCondition.js.map +0 -1
  74. package/plugins/getPlugin.d.ts +0 -29
  75. package/plugins/getPlugin.js +0 -29
  76. package/plugins/getPlugin.js.map +0 -1
  77. package/plugins/getPluginComponent.d.ts +0 -33
  78. package/plugins/getPluginComponent.js +0 -30
  79. package/plugins/getPluginComponent.js.map +0 -1
  80. package/synthetics/getMonitor.d.ts +0 -54
  81. package/synthetics/getMonitor.js +0 -41
  82. package/synthetics/getMonitor.js.map +0 -1
  83. package/synthetics/getMonitorLocation.d.ts +0 -71
  84. package/synthetics/getMonitorLocation.js +0 -46
  85. package/synthetics/getMonitorLocation.js.map +0 -1
  86. package/synthetics/monitorScript.d.ts +0 -107
  87. package/synthetics/monitorScript.js +0 -93
  88. package/synthetics/monitorScript.js.map +0 -1
@@ -0,0 +1,198 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ import { input as inputs, output as outputs } from "../types";
3
+ /**
4
+ * Use this resource to create, update, and delete the synthetics broken links monitor in New Relic.
5
+ *
6
+ * ## Example Usage
7
+ *
8
+ * ```typescript
9
+ * import * as pulumi from "@pulumi/pulumi";
10
+ * import * as newrelic from "@pulumi/newrelic";
11
+ *
12
+ * const monitor = new newrelic.synthetics.BrokenLinksMonitor("monitor", {
13
+ * locationsPublics: ["AP_SOUTH_1"],
14
+ * period: "EVERY_6_HOURS",
15
+ * status: "ENABLED",
16
+ * tags: [{
17
+ * key: "some_key",
18
+ * values: ["some_value"],
19
+ * }],
20
+ * uri: "https://www.one.example.com",
21
+ * });
22
+ * ```
23
+ * See additional examples.
24
+ * ## Additional Examples
25
+ *
26
+ * ### Create a monitor with a private location
27
+ *
28
+ * The below example shows how you can define a private location and attach it to a monitor.
29
+ *
30
+ * > **NOTE:** It can take up to 10 minutes for a private location to become available.
31
+ *
32
+ * ```typescript
33
+ * import * as pulumi from "@pulumi/pulumi";
34
+ * import * as newrelic from "@pulumi/newrelic";
35
+ *
36
+ * const bar1 = new newrelic.synthetics.PrivateLocation("bar1", {
37
+ * description: "Test Description",
38
+ * verifiedScriptExecution: false,
39
+ * });
40
+ * const bar = new newrelic.synthetics.BrokenLinksMonitor("bar", {
41
+ * locationsPrivates: ["newrelic_synthetics_private_location.private_location.id"],
42
+ * period: "EVERY_6_HOURS",
43
+ * status: "ENABLED",
44
+ * tags: [{
45
+ * key: "some_key",
46
+ * values: ["some_value"],
47
+ * }],
48
+ * uri: "https://www.one.example.com",
49
+ * });
50
+ * ```
51
+ *
52
+ * ## Import
53
+ *
54
+ * Synthetics broken links monitor scripts can be imported using the `guid`, e.g. bash
55
+ *
56
+ * ```sh
57
+ * $ pulumi import newrelic:synthetics/brokenLinksMonitor:BrokenLinksMonitor foo <guid>
58
+ * ```
59
+ */
60
+ export declare class BrokenLinksMonitor extends pulumi.CustomResource {
61
+ /**
62
+ * Get an existing BrokenLinksMonitor resource's state with the given name, ID, and optional extra
63
+ * properties used to qualify the lookup.
64
+ *
65
+ * @param name The _unique_ name of the resulting resource.
66
+ * @param id The _unique_ provider ID of the resource to lookup.
67
+ * @param state Any extra arguments used during the lookup.
68
+ * @param opts Optional settings to control the behavior of the CustomResource.
69
+ */
70
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: BrokenLinksMonitorState, opts?: pulumi.CustomResourceOptions): BrokenLinksMonitor;
71
+ /**
72
+ * Returns true if the given object is an instance of BrokenLinksMonitor. This is designed to work even
73
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
74
+ */
75
+ static isInstance(obj: any): obj is BrokenLinksMonitor;
76
+ /**
77
+ * The account in which the Synthetics monitor will be created.
78
+ */
79
+ readonly accountId: pulumi.Output<number>;
80
+ /**
81
+ * The unique entity identifier of the monitor in New Relic.
82
+ */
83
+ readonly guid: pulumi.Output<string>;
84
+ /**
85
+ * The location the monitor will run from. At least one of either `locationsPublic` or `locationPrivate` is required.
86
+ */
87
+ readonly locationsPrivates: pulumi.Output<string[] | undefined>;
88
+ /**
89
+ * The location the monitor will run from. Valid public locations are https://docs.newrelic.com/docs/synthetics/synthetic-monitoring/administration/synthetic-public-minion-ips/. At least one of either `locationsPublic` or `locationPrivate` is required.
90
+ */
91
+ readonly locationsPublics: pulumi.Output<string[] | undefined>;
92
+ /**
93
+ * The name for the monitor.
94
+ */
95
+ readonly name: pulumi.Output<string>;
96
+ /**
97
+ * The interval at which this monitor should run. Valid values are EVERY_MINUTE, EVERY_5_MINUTES, EVERY_10_MINUTES, EVERY_15_MINUTES, EVERY_30_MINUTES, EVERY_HOUR, EVERY_6_HOURS, EVERY_12_HOURS, or EVERY_DAY.
98
+ */
99
+ readonly period: pulumi.Output<string>;
100
+ /**
101
+ * The run state of the monitor. (i.e. `ENABLED`, `DISABLED`, `MUTED`).
102
+ */
103
+ readonly status: pulumi.Output<string>;
104
+ /**
105
+ * The tags that will be associated with the monitor. See See Nested tag blocks below for details
106
+ */
107
+ readonly tags: pulumi.Output<outputs.synthetics.BrokenLinksMonitorTag[] | undefined>;
108
+ /**
109
+ * The uri the monitor runs against.
110
+ */
111
+ readonly uri: pulumi.Output<string>;
112
+ /**
113
+ * Create a BrokenLinksMonitor resource with the given unique name, arguments, and options.
114
+ *
115
+ * @param name The _unique_ name of the resource.
116
+ * @param args The arguments to use to populate this resource's properties.
117
+ * @param opts A bag of options that control this resource's behavior.
118
+ */
119
+ constructor(name: string, args: BrokenLinksMonitorArgs, opts?: pulumi.CustomResourceOptions);
120
+ }
121
+ /**
122
+ * Input properties used for looking up and filtering BrokenLinksMonitor resources.
123
+ */
124
+ export interface BrokenLinksMonitorState {
125
+ /**
126
+ * The account in which the Synthetics monitor will be created.
127
+ */
128
+ accountId?: pulumi.Input<number>;
129
+ /**
130
+ * The unique entity identifier of the monitor in New Relic.
131
+ */
132
+ guid?: pulumi.Input<string>;
133
+ /**
134
+ * The location the monitor will run from. At least one of either `locationsPublic` or `locationPrivate` is required.
135
+ */
136
+ locationsPrivates?: pulumi.Input<pulumi.Input<string>[]>;
137
+ /**
138
+ * The location the monitor will run from. Valid public locations are https://docs.newrelic.com/docs/synthetics/synthetic-monitoring/administration/synthetic-public-minion-ips/. At least one of either `locationsPublic` or `locationPrivate` is required.
139
+ */
140
+ locationsPublics?: pulumi.Input<pulumi.Input<string>[]>;
141
+ /**
142
+ * The name for the monitor.
143
+ */
144
+ name?: pulumi.Input<string>;
145
+ /**
146
+ * The interval at which this monitor should run. Valid values are EVERY_MINUTE, EVERY_5_MINUTES, EVERY_10_MINUTES, EVERY_15_MINUTES, EVERY_30_MINUTES, EVERY_HOUR, EVERY_6_HOURS, EVERY_12_HOURS, or EVERY_DAY.
147
+ */
148
+ period?: pulumi.Input<string>;
149
+ /**
150
+ * The run state of the monitor. (i.e. `ENABLED`, `DISABLED`, `MUTED`).
151
+ */
152
+ status?: pulumi.Input<string>;
153
+ /**
154
+ * The tags that will be associated with the monitor. See See Nested tag blocks below for details
155
+ */
156
+ tags?: pulumi.Input<pulumi.Input<inputs.synthetics.BrokenLinksMonitorTag>[]>;
157
+ /**
158
+ * The uri the monitor runs against.
159
+ */
160
+ uri?: pulumi.Input<string>;
161
+ }
162
+ /**
163
+ * The set of arguments for constructing a BrokenLinksMonitor resource.
164
+ */
165
+ export interface BrokenLinksMonitorArgs {
166
+ /**
167
+ * The account in which the Synthetics monitor will be created.
168
+ */
169
+ accountId?: pulumi.Input<number>;
170
+ /**
171
+ * The location the monitor will run from. At least one of either `locationsPublic` or `locationPrivate` is required.
172
+ */
173
+ locationsPrivates?: pulumi.Input<pulumi.Input<string>[]>;
174
+ /**
175
+ * The location the monitor will run from. Valid public locations are https://docs.newrelic.com/docs/synthetics/synthetic-monitoring/administration/synthetic-public-minion-ips/. At least one of either `locationsPublic` or `locationPrivate` is required.
176
+ */
177
+ locationsPublics?: pulumi.Input<pulumi.Input<string>[]>;
178
+ /**
179
+ * The name for the monitor.
180
+ */
181
+ name?: pulumi.Input<string>;
182
+ /**
183
+ * The interval at which this monitor should run. Valid values are EVERY_MINUTE, EVERY_5_MINUTES, EVERY_10_MINUTES, EVERY_15_MINUTES, EVERY_30_MINUTES, EVERY_HOUR, EVERY_6_HOURS, EVERY_12_HOURS, or EVERY_DAY.
184
+ */
185
+ period: pulumi.Input<string>;
186
+ /**
187
+ * The run state of the monitor. (i.e. `ENABLED`, `DISABLED`, `MUTED`).
188
+ */
189
+ status: pulumi.Input<string>;
190
+ /**
191
+ * The tags that will be associated with the monitor. See See Nested tag blocks below for details
192
+ */
193
+ tags?: pulumi.Input<pulumi.Input<inputs.synthetics.BrokenLinksMonitorTag>[]>;
194
+ /**
195
+ * The uri the monitor runs against.
196
+ */
197
+ uri: pulumi.Input<string>;
198
+ }
@@ -0,0 +1,131 @@
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.BrokenLinksMonitor = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("../utilities");
8
+ /**
9
+ * Use this resource to create, update, and delete the synthetics broken links monitor in New Relic.
10
+ *
11
+ * ## Example Usage
12
+ *
13
+ * ```typescript
14
+ * import * as pulumi from "@pulumi/pulumi";
15
+ * import * as newrelic from "@pulumi/newrelic";
16
+ *
17
+ * const monitor = new newrelic.synthetics.BrokenLinksMonitor("monitor", {
18
+ * locationsPublics: ["AP_SOUTH_1"],
19
+ * period: "EVERY_6_HOURS",
20
+ * status: "ENABLED",
21
+ * tags: [{
22
+ * key: "some_key",
23
+ * values: ["some_value"],
24
+ * }],
25
+ * uri: "https://www.one.example.com",
26
+ * });
27
+ * ```
28
+ * See additional examples.
29
+ * ## Additional Examples
30
+ *
31
+ * ### Create a monitor with a private location
32
+ *
33
+ * The below example shows how you can define a private location and attach it to a monitor.
34
+ *
35
+ * > **NOTE:** It can take up to 10 minutes for a private location to become available.
36
+ *
37
+ * ```typescript
38
+ * import * as pulumi from "@pulumi/pulumi";
39
+ * import * as newrelic from "@pulumi/newrelic";
40
+ *
41
+ * const bar1 = new newrelic.synthetics.PrivateLocation("bar1", {
42
+ * description: "Test Description",
43
+ * verifiedScriptExecution: false,
44
+ * });
45
+ * const bar = new newrelic.synthetics.BrokenLinksMonitor("bar", {
46
+ * locationsPrivates: ["newrelic_synthetics_private_location.private_location.id"],
47
+ * period: "EVERY_6_HOURS",
48
+ * status: "ENABLED",
49
+ * tags: [{
50
+ * key: "some_key",
51
+ * values: ["some_value"],
52
+ * }],
53
+ * uri: "https://www.one.example.com",
54
+ * });
55
+ * ```
56
+ *
57
+ * ## Import
58
+ *
59
+ * Synthetics broken links monitor scripts can be imported using the `guid`, e.g. bash
60
+ *
61
+ * ```sh
62
+ * $ pulumi import newrelic:synthetics/brokenLinksMonitor:BrokenLinksMonitor foo <guid>
63
+ * ```
64
+ */
65
+ class BrokenLinksMonitor extends pulumi.CustomResource {
66
+ constructor(name, argsOrState, opts) {
67
+ let resourceInputs = {};
68
+ opts = opts || {};
69
+ if (opts.id) {
70
+ const state = argsOrState;
71
+ resourceInputs["accountId"] = state ? state.accountId : undefined;
72
+ resourceInputs["guid"] = state ? state.guid : undefined;
73
+ resourceInputs["locationsPrivates"] = state ? state.locationsPrivates : undefined;
74
+ resourceInputs["locationsPublics"] = state ? state.locationsPublics : undefined;
75
+ resourceInputs["name"] = state ? state.name : undefined;
76
+ resourceInputs["period"] = state ? state.period : undefined;
77
+ resourceInputs["status"] = state ? state.status : undefined;
78
+ resourceInputs["tags"] = state ? state.tags : undefined;
79
+ resourceInputs["uri"] = state ? state.uri : undefined;
80
+ }
81
+ else {
82
+ const args = argsOrState;
83
+ if ((!args || args.period === undefined) && !opts.urn) {
84
+ throw new Error("Missing required property 'period'");
85
+ }
86
+ if ((!args || args.status === undefined) && !opts.urn) {
87
+ throw new Error("Missing required property 'status'");
88
+ }
89
+ if ((!args || args.uri === undefined) && !opts.urn) {
90
+ throw new Error("Missing required property 'uri'");
91
+ }
92
+ resourceInputs["accountId"] = args ? args.accountId : undefined;
93
+ resourceInputs["locationsPrivates"] = args ? args.locationsPrivates : undefined;
94
+ resourceInputs["locationsPublics"] = args ? args.locationsPublics : undefined;
95
+ resourceInputs["name"] = args ? args.name : undefined;
96
+ resourceInputs["period"] = args ? args.period : undefined;
97
+ resourceInputs["status"] = args ? args.status : undefined;
98
+ resourceInputs["tags"] = args ? args.tags : undefined;
99
+ resourceInputs["uri"] = args ? args.uri : undefined;
100
+ resourceInputs["guid"] = undefined /*out*/;
101
+ }
102
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
103
+ super(BrokenLinksMonitor.__pulumiType, name, resourceInputs, opts);
104
+ }
105
+ /**
106
+ * Get an existing BrokenLinksMonitor resource's state with the given name, ID, and optional extra
107
+ * properties used to qualify the lookup.
108
+ *
109
+ * @param name The _unique_ name of the resulting resource.
110
+ * @param id The _unique_ provider ID of the resource to lookup.
111
+ * @param state Any extra arguments used during the lookup.
112
+ * @param opts Optional settings to control the behavior of the CustomResource.
113
+ */
114
+ static get(name, id, state, opts) {
115
+ return new BrokenLinksMonitor(name, state, Object.assign(Object.assign({}, opts), { id: id }));
116
+ }
117
+ /**
118
+ * Returns true if the given object is an instance of BrokenLinksMonitor. This is designed to work even
119
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
120
+ */
121
+ static isInstance(obj) {
122
+ if (obj === undefined || obj === null) {
123
+ return false;
124
+ }
125
+ return obj['__pulumiType'] === BrokenLinksMonitor.__pulumiType;
126
+ }
127
+ }
128
+ exports.BrokenLinksMonitor = BrokenLinksMonitor;
129
+ /** @internal */
130
+ BrokenLinksMonitor.__pulumiType = 'newrelic:synthetics/brokenLinksMonitor:BrokenLinksMonitor';
131
+ //# sourceMappingURL=brokenLinksMonitor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"brokenLinksMonitor.js","sourceRoot":"","sources":["../../synthetics/brokenLinksMonitor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,203 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ import { input as inputs, output as outputs } from "../types";
3
+ /**
4
+ * Use this resource to create, update, and delete a synthetics certificate check monitor in New Relic.
5
+ *
6
+ * ## Example Usage
7
+ *
8
+ * ```typescript
9
+ * import * as pulumi from "@pulumi/pulumi";
10
+ * import * as newrelic from "@pulumi/newrelic";
11
+ *
12
+ * const cert_check_monitor = new newrelic.synthetics.CertCheckMonitor("cert-check-monitor", {
13
+ * certificateExpiration: 10,
14
+ * domain: "http://www.example.com",
15
+ * locationsPublics: ["AP_SOUTH_1"],
16
+ * period: "EVERY_6_HOURS",
17
+ * status: "ENABLED",
18
+ * tags: [{
19
+ * key: "some_key",
20
+ * values: ["some_value"],
21
+ * }],
22
+ * });
23
+ * ```
24
+ * See additional examples.
25
+ * ## Additional Examples
26
+ *
27
+ * ### Create a monitor with a private location
28
+ *
29
+ * The below example shows how you can define a private location and attach it to a monitor.
30
+ *
31
+ * > **NOTE:** It can take up to 10 minutes for a private location to become available.
32
+ *
33
+ * ```typescript
34
+ * import * as pulumi from "@pulumi/pulumi";
35
+ * import * as newrelic from "@pulumi/newrelic";
36
+ *
37
+ * const privateLocation = new newrelic.synthetics.PrivateLocation("private_location", {
38
+ * description: "Test Description",
39
+ * verifiedScriptExecution: false,
40
+ * });
41
+ * const bar = new newrelic.synthetics.CertCheckMonitor("bar", {
42
+ * locationsPrivates: ["newrelic_synthetics_private_location.private_location.id"],
43
+ * period: "EVERY_6_HOURS",
44
+ * status: "ENABLED",
45
+ * tags: [{
46
+ * key: "some_key",
47
+ * values: ["some_value"],
48
+ * }],
49
+ * uri: "https://www.one.example.com",
50
+ * });
51
+ * ```
52
+ *
53
+ * ## Import
54
+ *
55
+ * Synthetics certificate check monitor scripts can be imported using the `guid`, e.g. bash
56
+ *
57
+ * ```sh
58
+ * $ pulumi import newrelic:synthetics/certCheckMonitor:CertCheckMonitor monitor <guid>
59
+ * ```
60
+ */
61
+ export declare class CertCheckMonitor extends pulumi.CustomResource {
62
+ /**
63
+ * Get an existing CertCheckMonitor resource's state with the given name, ID, and optional extra
64
+ * properties used to qualify the lookup.
65
+ *
66
+ * @param name The _unique_ name of the resulting resource.
67
+ * @param id The _unique_ provider ID of the resource to lookup.
68
+ * @param state Any extra arguments used during the lookup.
69
+ * @param opts Optional settings to control the behavior of the CustomResource.
70
+ */
71
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: CertCheckMonitorState, opts?: pulumi.CustomResourceOptions): CertCheckMonitor;
72
+ /**
73
+ * Returns true if the given object is an instance of CertCheckMonitor. This is designed to work even
74
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
75
+ */
76
+ static isInstance(obj: any): obj is CertCheckMonitor;
77
+ /**
78
+ * The account in which the Synthetics monitor will be created.
79
+ */
80
+ readonly accountId: pulumi.Output<number>;
81
+ /**
82
+ * The desired number of remaining days until the certificate expires to trigger a monitor failure.
83
+ */
84
+ readonly certificateExpiration: pulumi.Output<number>;
85
+ /**
86
+ * The domain of the host that will have its certificate checked.
87
+ */
88
+ readonly domain: pulumi.Output<string>;
89
+ /**
90
+ * The location the monitor will run from. At least one of either `locationsPublic` or `locationPrivate` is required.
91
+ */
92
+ readonly locationsPrivates: pulumi.Output<string[] | undefined>;
93
+ /**
94
+ * The location the monitor will run from. Valid public locations are https://docs.newrelic.com/docs/synthetics/synthetic-monitoring/administration/synthetic-public-minion-ips/. At least one of either `locationsPublic` or `locationPrivate` is required.
95
+ */
96
+ readonly locationsPublics: pulumi.Output<string[] | undefined>;
97
+ /**
98
+ * The name for the monitor.
99
+ */
100
+ readonly name: pulumi.Output<string>;
101
+ /**
102
+ * The interval at which this monitor should run. Valid values are EVERY_MINUTE, EVERY_5_MINUTES, EVERY_10_MINUTES, EVERY_15_MINUTES, EVERY_30_MINUTES, EVERY_HOUR, EVERY_6_HOURS, EVERY_12_HOURS, or EVERY_DAY.
103
+ */
104
+ readonly period: pulumi.Output<string>;
105
+ /**
106
+ * The run state of the monitor. (i.e. `ENABLED`, `DISABLED`, `MUTED`).
107
+ */
108
+ readonly status: pulumi.Output<string>;
109
+ /**
110
+ * The tags that will be associated with the monitor. See See Nested tag blocks below for details
111
+ */
112
+ readonly tags: pulumi.Output<outputs.synthetics.CertCheckMonitorTag[] | undefined>;
113
+ /**
114
+ * Create a CertCheckMonitor resource with the given unique name, arguments, and options.
115
+ *
116
+ * @param name The _unique_ name of the resource.
117
+ * @param args The arguments to use to populate this resource's properties.
118
+ * @param opts A bag of options that control this resource's behavior.
119
+ */
120
+ constructor(name: string, args: CertCheckMonitorArgs, opts?: pulumi.CustomResourceOptions);
121
+ }
122
+ /**
123
+ * Input properties used for looking up and filtering CertCheckMonitor resources.
124
+ */
125
+ export interface CertCheckMonitorState {
126
+ /**
127
+ * The account in which the Synthetics monitor will be created.
128
+ */
129
+ accountId?: pulumi.Input<number>;
130
+ /**
131
+ * The desired number of remaining days until the certificate expires to trigger a monitor failure.
132
+ */
133
+ certificateExpiration?: pulumi.Input<number>;
134
+ /**
135
+ * The domain of the host that will have its certificate checked.
136
+ */
137
+ domain?: pulumi.Input<string>;
138
+ /**
139
+ * The location the monitor will run from. At least one of either `locationsPublic` or `locationPrivate` is required.
140
+ */
141
+ locationsPrivates?: pulumi.Input<pulumi.Input<string>[]>;
142
+ /**
143
+ * The location the monitor will run from. Valid public locations are https://docs.newrelic.com/docs/synthetics/synthetic-monitoring/administration/synthetic-public-minion-ips/. At least one of either `locationsPublic` or `locationPrivate` is required.
144
+ */
145
+ locationsPublics?: pulumi.Input<pulumi.Input<string>[]>;
146
+ /**
147
+ * The name for the monitor.
148
+ */
149
+ name?: pulumi.Input<string>;
150
+ /**
151
+ * The interval at which this monitor should run. Valid values are EVERY_MINUTE, EVERY_5_MINUTES, EVERY_10_MINUTES, EVERY_15_MINUTES, EVERY_30_MINUTES, EVERY_HOUR, EVERY_6_HOURS, EVERY_12_HOURS, or EVERY_DAY.
152
+ */
153
+ period?: pulumi.Input<string>;
154
+ /**
155
+ * The run state of the monitor. (i.e. `ENABLED`, `DISABLED`, `MUTED`).
156
+ */
157
+ status?: pulumi.Input<string>;
158
+ /**
159
+ * The tags that will be associated with the monitor. See See Nested tag blocks below for details
160
+ */
161
+ tags?: pulumi.Input<pulumi.Input<inputs.synthetics.CertCheckMonitorTag>[]>;
162
+ }
163
+ /**
164
+ * The set of arguments for constructing a CertCheckMonitor resource.
165
+ */
166
+ export interface CertCheckMonitorArgs {
167
+ /**
168
+ * The account in which the Synthetics monitor will be created.
169
+ */
170
+ accountId?: pulumi.Input<number>;
171
+ /**
172
+ * The desired number of remaining days until the certificate expires to trigger a monitor failure.
173
+ */
174
+ certificateExpiration: pulumi.Input<number>;
175
+ /**
176
+ * The domain of the host that will have its certificate checked.
177
+ */
178
+ domain: pulumi.Input<string>;
179
+ /**
180
+ * The location the monitor will run from. At least one of either `locationsPublic` or `locationPrivate` is required.
181
+ */
182
+ locationsPrivates?: pulumi.Input<pulumi.Input<string>[]>;
183
+ /**
184
+ * The location the monitor will run from. Valid public locations are https://docs.newrelic.com/docs/synthetics/synthetic-monitoring/administration/synthetic-public-minion-ips/. At least one of either `locationsPublic` or `locationPrivate` is required.
185
+ */
186
+ locationsPublics?: pulumi.Input<pulumi.Input<string>[]>;
187
+ /**
188
+ * The name for the monitor.
189
+ */
190
+ name?: pulumi.Input<string>;
191
+ /**
192
+ * The interval at which this monitor should run. Valid values are EVERY_MINUTE, EVERY_5_MINUTES, EVERY_10_MINUTES, EVERY_15_MINUTES, EVERY_30_MINUTES, EVERY_HOUR, EVERY_6_HOURS, EVERY_12_HOURS, or EVERY_DAY.
193
+ */
194
+ period: pulumi.Input<string>;
195
+ /**
196
+ * The run state of the monitor. (i.e. `ENABLED`, `DISABLED`, `MUTED`).
197
+ */
198
+ status: pulumi.Input<string>;
199
+ /**
200
+ * The tags that will be associated with the monitor. See See Nested tag blocks below for details
201
+ */
202
+ tags?: pulumi.Input<pulumi.Input<inputs.synthetics.CertCheckMonitorTag>[]>;
203
+ }
@@ -0,0 +1,135 @@
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.CertCheckMonitor = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("../utilities");
8
+ /**
9
+ * Use this resource to create, update, and delete a synthetics certificate check monitor in New Relic.
10
+ *
11
+ * ## Example Usage
12
+ *
13
+ * ```typescript
14
+ * import * as pulumi from "@pulumi/pulumi";
15
+ * import * as newrelic from "@pulumi/newrelic";
16
+ *
17
+ * const cert_check_monitor = new newrelic.synthetics.CertCheckMonitor("cert-check-monitor", {
18
+ * certificateExpiration: 10,
19
+ * domain: "http://www.example.com",
20
+ * locationsPublics: ["AP_SOUTH_1"],
21
+ * period: "EVERY_6_HOURS",
22
+ * status: "ENABLED",
23
+ * tags: [{
24
+ * key: "some_key",
25
+ * values: ["some_value"],
26
+ * }],
27
+ * });
28
+ * ```
29
+ * See additional examples.
30
+ * ## Additional Examples
31
+ *
32
+ * ### Create a monitor with a private location
33
+ *
34
+ * The below example shows how you can define a private location and attach it to a monitor.
35
+ *
36
+ * > **NOTE:** It can take up to 10 minutes for a private location to become available.
37
+ *
38
+ * ```typescript
39
+ * import * as pulumi from "@pulumi/pulumi";
40
+ * import * as newrelic from "@pulumi/newrelic";
41
+ *
42
+ * const privateLocation = new newrelic.synthetics.PrivateLocation("private_location", {
43
+ * description: "Test Description",
44
+ * verifiedScriptExecution: false,
45
+ * });
46
+ * const bar = new newrelic.synthetics.CertCheckMonitor("bar", {
47
+ * locationsPrivates: ["newrelic_synthetics_private_location.private_location.id"],
48
+ * period: "EVERY_6_HOURS",
49
+ * status: "ENABLED",
50
+ * tags: [{
51
+ * key: "some_key",
52
+ * values: ["some_value"],
53
+ * }],
54
+ * uri: "https://www.one.example.com",
55
+ * });
56
+ * ```
57
+ *
58
+ * ## Import
59
+ *
60
+ * Synthetics certificate check monitor scripts can be imported using the `guid`, e.g. bash
61
+ *
62
+ * ```sh
63
+ * $ pulumi import newrelic:synthetics/certCheckMonitor:CertCheckMonitor monitor <guid>
64
+ * ```
65
+ */
66
+ class CertCheckMonitor extends pulumi.CustomResource {
67
+ constructor(name, argsOrState, opts) {
68
+ let resourceInputs = {};
69
+ opts = opts || {};
70
+ if (opts.id) {
71
+ const state = argsOrState;
72
+ resourceInputs["accountId"] = state ? state.accountId : undefined;
73
+ resourceInputs["certificateExpiration"] = state ? state.certificateExpiration : undefined;
74
+ resourceInputs["domain"] = state ? state.domain : undefined;
75
+ resourceInputs["locationsPrivates"] = state ? state.locationsPrivates : undefined;
76
+ resourceInputs["locationsPublics"] = state ? state.locationsPublics : undefined;
77
+ resourceInputs["name"] = state ? state.name : undefined;
78
+ resourceInputs["period"] = state ? state.period : undefined;
79
+ resourceInputs["status"] = state ? state.status : undefined;
80
+ resourceInputs["tags"] = state ? state.tags : undefined;
81
+ }
82
+ else {
83
+ const args = argsOrState;
84
+ if ((!args || args.certificateExpiration === undefined) && !opts.urn) {
85
+ throw new Error("Missing required property 'certificateExpiration'");
86
+ }
87
+ if ((!args || args.domain === undefined) && !opts.urn) {
88
+ throw new Error("Missing required property 'domain'");
89
+ }
90
+ if ((!args || args.period === undefined) && !opts.urn) {
91
+ throw new Error("Missing required property 'period'");
92
+ }
93
+ if ((!args || args.status === undefined) && !opts.urn) {
94
+ throw new Error("Missing required property 'status'");
95
+ }
96
+ resourceInputs["accountId"] = args ? args.accountId : undefined;
97
+ resourceInputs["certificateExpiration"] = args ? args.certificateExpiration : undefined;
98
+ resourceInputs["domain"] = args ? args.domain : undefined;
99
+ resourceInputs["locationsPrivates"] = args ? args.locationsPrivates : undefined;
100
+ resourceInputs["locationsPublics"] = args ? args.locationsPublics : undefined;
101
+ resourceInputs["name"] = args ? args.name : undefined;
102
+ resourceInputs["period"] = args ? args.period : undefined;
103
+ resourceInputs["status"] = args ? args.status : undefined;
104
+ resourceInputs["tags"] = args ? args.tags : undefined;
105
+ }
106
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
107
+ super(CertCheckMonitor.__pulumiType, name, resourceInputs, opts);
108
+ }
109
+ /**
110
+ * Get an existing CertCheckMonitor resource's state with the given name, ID, and optional extra
111
+ * properties used to qualify the lookup.
112
+ *
113
+ * @param name The _unique_ name of the resulting resource.
114
+ * @param id The _unique_ provider ID of the resource to lookup.
115
+ * @param state Any extra arguments used during the lookup.
116
+ * @param opts Optional settings to control the behavior of the CustomResource.
117
+ */
118
+ static get(name, id, state, opts) {
119
+ return new CertCheckMonitor(name, state, Object.assign(Object.assign({}, opts), { id: id }));
120
+ }
121
+ /**
122
+ * Returns true if the given object is an instance of CertCheckMonitor. This is designed to work even
123
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
124
+ */
125
+ static isInstance(obj) {
126
+ if (obj === undefined || obj === null) {
127
+ return false;
128
+ }
129
+ return obj['__pulumiType'] === CertCheckMonitor.__pulumiType;
130
+ }
131
+ }
132
+ exports.CertCheckMonitor = CertCheckMonitor;
133
+ /** @internal */
134
+ CertCheckMonitor.__pulumiType = 'newrelic:synthetics/certCheckMonitor:CertCheckMonitor';
135
+ //# sourceMappingURL=certCheckMonitor.js.map