@pulumi/fastly 11.5.0-alpha.1774890180 → 11.5.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.
- package/apiSecurityOperation.d.ts +221 -0
- package/apiSecurityOperation.js +148 -0
- package/apiSecurityOperation.js.map +1 -0
- package/apiSecurityOperationTag.d.ts +138 -0
- package/apiSecurityOperationTag.js +98 -0
- package/apiSecurityOperationTag.js.map +1 -0
- package/getApiSecurityDiscoveredOperations.d.ts +153 -0
- package/getApiSecurityDiscoveredOperations.js +92 -0
- package/getApiSecurityDiscoveredOperations.js.map +1 -0
- package/getApiSecurityOperationTags.d.ts +103 -0
- package/getApiSecurityOperationTags.js +82 -0
- package/getApiSecurityOperationTags.js.map +1 -0
- package/getApiSecurityOperations.d.ts +161 -0
- package/getApiSecurityOperations.js +100 -0
- package/getApiSecurityOperations.js.map +1 -0
- package/index.d.ts +15 -0
- package/index.js +22 -3
- package/index.js.map +1 -1
- package/package.json +2 -2
- package/types/output.d.ts +106 -0
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
import * as pulumi from "@pulumi/pulumi";
|
|
2
|
+
/**
|
|
3
|
+
* Manages an API Security operation for a Fastly service. Operations represent API endpoints (method + domain + path) and can optionally be associated with operation tags.
|
|
4
|
+
*
|
|
5
|
+
* ## Example Usage
|
|
6
|
+
*
|
|
7
|
+
* Basic usage:
|
|
8
|
+
*
|
|
9
|
+
* ```typescript
|
|
10
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
11
|
+
* import * as fastly from "@pulumi/fastly";
|
|
12
|
+
*
|
|
13
|
+
* const svc1 = new fastly.ServiceVcl("svc1", {
|
|
14
|
+
* name: "test-svc-1-example",
|
|
15
|
+
* forceDestroy: true,
|
|
16
|
+
* backends: [{
|
|
17
|
+
* address: "example.com",
|
|
18
|
+
* name: "tf-test-backend-1",
|
|
19
|
+
* }],
|
|
20
|
+
* });
|
|
21
|
+
* const example = new fastly.ApiSecurityOperation("example", {
|
|
22
|
+
* serviceId: svc1.id,
|
|
23
|
+
* method: "GET",
|
|
24
|
+
* domain: "api.example.com",
|
|
25
|
+
* path: "/v1/things",
|
|
26
|
+
* description: "Retrieve things",
|
|
27
|
+
* });
|
|
28
|
+
* ```
|
|
29
|
+
*
|
|
30
|
+
* With tags:
|
|
31
|
+
*
|
|
32
|
+
* ```typescript
|
|
33
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
34
|
+
* import * as fastly from "@pulumi/fastly";
|
|
35
|
+
*
|
|
36
|
+
* const svc1 = new fastly.ServiceVcl("svc1", {
|
|
37
|
+
* name: "test-svc-1-example",
|
|
38
|
+
* forceDestroy: true,
|
|
39
|
+
* backends: [{
|
|
40
|
+
* address: "example.com",
|
|
41
|
+
* name: "tf-test-backend-1",
|
|
42
|
+
* }],
|
|
43
|
+
* });
|
|
44
|
+
* const tag = new fastly.ApiSecurityOperationTag("tag", {
|
|
45
|
+
* serviceId: svc1.id,
|
|
46
|
+
* name: "production",
|
|
47
|
+
* description: "Production endpoints",
|
|
48
|
+
* });
|
|
49
|
+
* const example = new fastly.ApiSecurityOperation("example", {
|
|
50
|
+
* serviceId: svc1.id,
|
|
51
|
+
* method: "GET",
|
|
52
|
+
* domain: "api.example.com",
|
|
53
|
+
* path: "/v1/things",
|
|
54
|
+
* description: "Retrieve things",
|
|
55
|
+
* tagIds: [tag.tagId],
|
|
56
|
+
* });
|
|
57
|
+
* ```
|
|
58
|
+
*
|
|
59
|
+
* ## Import
|
|
60
|
+
*
|
|
61
|
+
* API Security operations can be imported using a composite ID of the form `<service_id>/<operation_id>`, e.g.
|
|
62
|
+
*
|
|
63
|
+
* ```sh
|
|
64
|
+
* $ pulumi import fastly:index/apiSecurityOperation:ApiSecurityOperation example <service_id>/<operation_id>
|
|
65
|
+
* ```
|
|
66
|
+
*/
|
|
67
|
+
export declare class ApiSecurityOperation extends pulumi.CustomResource {
|
|
68
|
+
/**
|
|
69
|
+
* Get an existing ApiSecurityOperation resource's state with the given name, ID, and optional extra
|
|
70
|
+
* properties used to qualify the lookup.
|
|
71
|
+
*
|
|
72
|
+
* @param name The _unique_ name of the resulting resource.
|
|
73
|
+
* @param id The _unique_ provider ID of the resource to lookup.
|
|
74
|
+
* @param state Any extra arguments used during the lookup.
|
|
75
|
+
* @param opts Optional settings to control the behavior of the CustomResource.
|
|
76
|
+
*/
|
|
77
|
+
static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ApiSecurityOperationState, opts?: pulumi.CustomResourceOptions): ApiSecurityOperation;
|
|
78
|
+
/**
|
|
79
|
+
* Returns true if the given object is an instance of ApiSecurityOperation. This is designed to work even
|
|
80
|
+
* when multiple copies of the Pulumi SDK have been loaded into the same process.
|
|
81
|
+
*/
|
|
82
|
+
static isInstance(obj: any): obj is ApiSecurityOperation;
|
|
83
|
+
/**
|
|
84
|
+
* Created timestamp (when present).
|
|
85
|
+
*/
|
|
86
|
+
readonly createdAt: pulumi.Output<string>;
|
|
87
|
+
/**
|
|
88
|
+
* A description of the operation.
|
|
89
|
+
*/
|
|
90
|
+
readonly description: pulumi.Output<string | undefined>;
|
|
91
|
+
/**
|
|
92
|
+
* Domain for the operation (exact match). Can be created, but not updated.
|
|
93
|
+
*/
|
|
94
|
+
readonly domain: pulumi.Output<string>;
|
|
95
|
+
/**
|
|
96
|
+
* Last seen timestamp (when present).
|
|
97
|
+
*/
|
|
98
|
+
readonly lastSeenAt: pulumi.Output<string>;
|
|
99
|
+
/**
|
|
100
|
+
* HTTP method for the operation (e.g. GET, POST). Can be created, but not updated.
|
|
101
|
+
*/
|
|
102
|
+
readonly method: pulumi.Output<string>;
|
|
103
|
+
/**
|
|
104
|
+
* The operation ID.
|
|
105
|
+
*/
|
|
106
|
+
readonly operationId: pulumi.Output<string>;
|
|
107
|
+
/**
|
|
108
|
+
* Path for the operation (exact match). Can be created, but not updated.
|
|
109
|
+
*/
|
|
110
|
+
readonly path: pulumi.Output<string>;
|
|
111
|
+
/**
|
|
112
|
+
* Observed requests per second (when present).
|
|
113
|
+
*/
|
|
114
|
+
readonly rps: pulumi.Output<number>;
|
|
115
|
+
/**
|
|
116
|
+
* Service ID the operation belongs to. To import, use: \n\n/\n\n.
|
|
117
|
+
*/
|
|
118
|
+
readonly serviceId: pulumi.Output<string>;
|
|
119
|
+
/**
|
|
120
|
+
* Discovery status (when present).
|
|
121
|
+
*/
|
|
122
|
+
readonly status: pulumi.Output<string>;
|
|
123
|
+
/**
|
|
124
|
+
* Associated operation tag IDs.
|
|
125
|
+
*/
|
|
126
|
+
readonly tagIds: pulumi.Output<string[] | undefined>;
|
|
127
|
+
/**
|
|
128
|
+
* Updated timestamp (when present).
|
|
129
|
+
*/
|
|
130
|
+
readonly updatedAt: pulumi.Output<string>;
|
|
131
|
+
/**
|
|
132
|
+
* Create a ApiSecurityOperation resource with the given unique name, arguments, and options.
|
|
133
|
+
*
|
|
134
|
+
* @param name The _unique_ name of the resource.
|
|
135
|
+
* @param args The arguments to use to populate this resource's properties.
|
|
136
|
+
* @param opts A bag of options that control this resource's behavior.
|
|
137
|
+
*/
|
|
138
|
+
constructor(name: string, args: ApiSecurityOperationArgs, opts?: pulumi.CustomResourceOptions);
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Input properties used for looking up and filtering ApiSecurityOperation resources.
|
|
142
|
+
*/
|
|
143
|
+
export interface ApiSecurityOperationState {
|
|
144
|
+
/**
|
|
145
|
+
* Created timestamp (when present).
|
|
146
|
+
*/
|
|
147
|
+
createdAt?: pulumi.Input<string>;
|
|
148
|
+
/**
|
|
149
|
+
* A description of the operation.
|
|
150
|
+
*/
|
|
151
|
+
description?: pulumi.Input<string>;
|
|
152
|
+
/**
|
|
153
|
+
* Domain for the operation (exact match). Can be created, but not updated.
|
|
154
|
+
*/
|
|
155
|
+
domain?: pulumi.Input<string>;
|
|
156
|
+
/**
|
|
157
|
+
* Last seen timestamp (when present).
|
|
158
|
+
*/
|
|
159
|
+
lastSeenAt?: pulumi.Input<string>;
|
|
160
|
+
/**
|
|
161
|
+
* HTTP method for the operation (e.g. GET, POST). Can be created, but not updated.
|
|
162
|
+
*/
|
|
163
|
+
method?: pulumi.Input<string>;
|
|
164
|
+
/**
|
|
165
|
+
* The operation ID.
|
|
166
|
+
*/
|
|
167
|
+
operationId?: pulumi.Input<string>;
|
|
168
|
+
/**
|
|
169
|
+
* Path for the operation (exact match). Can be created, but not updated.
|
|
170
|
+
*/
|
|
171
|
+
path?: pulumi.Input<string>;
|
|
172
|
+
/**
|
|
173
|
+
* Observed requests per second (when present).
|
|
174
|
+
*/
|
|
175
|
+
rps?: pulumi.Input<number>;
|
|
176
|
+
/**
|
|
177
|
+
* Service ID the operation belongs to. To import, use: \n\n/\n\n.
|
|
178
|
+
*/
|
|
179
|
+
serviceId?: pulumi.Input<string>;
|
|
180
|
+
/**
|
|
181
|
+
* Discovery status (when present).
|
|
182
|
+
*/
|
|
183
|
+
status?: pulumi.Input<string>;
|
|
184
|
+
/**
|
|
185
|
+
* Associated operation tag IDs.
|
|
186
|
+
*/
|
|
187
|
+
tagIds?: pulumi.Input<pulumi.Input<string>[]>;
|
|
188
|
+
/**
|
|
189
|
+
* Updated timestamp (when present).
|
|
190
|
+
*/
|
|
191
|
+
updatedAt?: pulumi.Input<string>;
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* The set of arguments for constructing a ApiSecurityOperation resource.
|
|
195
|
+
*/
|
|
196
|
+
export interface ApiSecurityOperationArgs {
|
|
197
|
+
/**
|
|
198
|
+
* A description of the operation.
|
|
199
|
+
*/
|
|
200
|
+
description?: pulumi.Input<string>;
|
|
201
|
+
/**
|
|
202
|
+
* Domain for the operation (exact match). Can be created, but not updated.
|
|
203
|
+
*/
|
|
204
|
+
domain: pulumi.Input<string>;
|
|
205
|
+
/**
|
|
206
|
+
* HTTP method for the operation (e.g. GET, POST). Can be created, but not updated.
|
|
207
|
+
*/
|
|
208
|
+
method: pulumi.Input<string>;
|
|
209
|
+
/**
|
|
210
|
+
* Path for the operation (exact match). Can be created, but not updated.
|
|
211
|
+
*/
|
|
212
|
+
path: pulumi.Input<string>;
|
|
213
|
+
/**
|
|
214
|
+
* Service ID the operation belongs to. To import, use: \n\n/\n\n.
|
|
215
|
+
*/
|
|
216
|
+
serviceId: pulumi.Input<string>;
|
|
217
|
+
/**
|
|
218
|
+
* Associated operation tag IDs.
|
|
219
|
+
*/
|
|
220
|
+
tagIds?: pulumi.Input<pulumi.Input<string>[]>;
|
|
221
|
+
}
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *** WARNING: this file was generated by pulumi-language-nodejs. ***
|
|
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.ApiSecurityOperation = void 0;
|
|
6
|
+
const pulumi = require("@pulumi/pulumi");
|
|
7
|
+
const utilities = require("./utilities");
|
|
8
|
+
/**
|
|
9
|
+
* Manages an API Security operation for a Fastly service. Operations represent API endpoints (method + domain + path) and can optionally be associated with operation tags.
|
|
10
|
+
*
|
|
11
|
+
* ## Example Usage
|
|
12
|
+
*
|
|
13
|
+
* Basic usage:
|
|
14
|
+
*
|
|
15
|
+
* ```typescript
|
|
16
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
17
|
+
* import * as fastly from "@pulumi/fastly";
|
|
18
|
+
*
|
|
19
|
+
* const svc1 = new fastly.ServiceVcl("svc1", {
|
|
20
|
+
* name: "test-svc-1-example",
|
|
21
|
+
* forceDestroy: true,
|
|
22
|
+
* backends: [{
|
|
23
|
+
* address: "example.com",
|
|
24
|
+
* name: "tf-test-backend-1",
|
|
25
|
+
* }],
|
|
26
|
+
* });
|
|
27
|
+
* const example = new fastly.ApiSecurityOperation("example", {
|
|
28
|
+
* serviceId: svc1.id,
|
|
29
|
+
* method: "GET",
|
|
30
|
+
* domain: "api.example.com",
|
|
31
|
+
* path: "/v1/things",
|
|
32
|
+
* description: "Retrieve things",
|
|
33
|
+
* });
|
|
34
|
+
* ```
|
|
35
|
+
*
|
|
36
|
+
* With tags:
|
|
37
|
+
*
|
|
38
|
+
* ```typescript
|
|
39
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
40
|
+
* import * as fastly from "@pulumi/fastly";
|
|
41
|
+
*
|
|
42
|
+
* const svc1 = new fastly.ServiceVcl("svc1", {
|
|
43
|
+
* name: "test-svc-1-example",
|
|
44
|
+
* forceDestroy: true,
|
|
45
|
+
* backends: [{
|
|
46
|
+
* address: "example.com",
|
|
47
|
+
* name: "tf-test-backend-1",
|
|
48
|
+
* }],
|
|
49
|
+
* });
|
|
50
|
+
* const tag = new fastly.ApiSecurityOperationTag("tag", {
|
|
51
|
+
* serviceId: svc1.id,
|
|
52
|
+
* name: "production",
|
|
53
|
+
* description: "Production endpoints",
|
|
54
|
+
* });
|
|
55
|
+
* const example = new fastly.ApiSecurityOperation("example", {
|
|
56
|
+
* serviceId: svc1.id,
|
|
57
|
+
* method: "GET",
|
|
58
|
+
* domain: "api.example.com",
|
|
59
|
+
* path: "/v1/things",
|
|
60
|
+
* description: "Retrieve things",
|
|
61
|
+
* tagIds: [tag.tagId],
|
|
62
|
+
* });
|
|
63
|
+
* ```
|
|
64
|
+
*
|
|
65
|
+
* ## Import
|
|
66
|
+
*
|
|
67
|
+
* API Security operations can be imported using a composite ID of the form `<service_id>/<operation_id>`, e.g.
|
|
68
|
+
*
|
|
69
|
+
* ```sh
|
|
70
|
+
* $ pulumi import fastly:index/apiSecurityOperation:ApiSecurityOperation example <service_id>/<operation_id>
|
|
71
|
+
* ```
|
|
72
|
+
*/
|
|
73
|
+
class ApiSecurityOperation extends pulumi.CustomResource {
|
|
74
|
+
/**
|
|
75
|
+
* Get an existing ApiSecurityOperation resource's state with the given name, ID, and optional extra
|
|
76
|
+
* properties used to qualify the lookup.
|
|
77
|
+
*
|
|
78
|
+
* @param name The _unique_ name of the resulting resource.
|
|
79
|
+
* @param id The _unique_ provider ID of the resource to lookup.
|
|
80
|
+
* @param state Any extra arguments used during the lookup.
|
|
81
|
+
* @param opts Optional settings to control the behavior of the CustomResource.
|
|
82
|
+
*/
|
|
83
|
+
static get(name, id, state, opts) {
|
|
84
|
+
return new ApiSecurityOperation(name, state, { ...opts, id: id });
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Returns true if the given object is an instance of ApiSecurityOperation. This is designed to work even
|
|
88
|
+
* when multiple copies of the Pulumi SDK have been loaded into the same process.
|
|
89
|
+
*/
|
|
90
|
+
static isInstance(obj) {
|
|
91
|
+
if (obj === undefined || obj === null) {
|
|
92
|
+
return false;
|
|
93
|
+
}
|
|
94
|
+
return obj['__pulumiType'] === ApiSecurityOperation.__pulumiType;
|
|
95
|
+
}
|
|
96
|
+
constructor(name, argsOrState, opts) {
|
|
97
|
+
let resourceInputs = {};
|
|
98
|
+
opts = opts || {};
|
|
99
|
+
if (opts.id) {
|
|
100
|
+
const state = argsOrState;
|
|
101
|
+
resourceInputs["createdAt"] = state?.createdAt;
|
|
102
|
+
resourceInputs["description"] = state?.description;
|
|
103
|
+
resourceInputs["domain"] = state?.domain;
|
|
104
|
+
resourceInputs["lastSeenAt"] = state?.lastSeenAt;
|
|
105
|
+
resourceInputs["method"] = state?.method;
|
|
106
|
+
resourceInputs["operationId"] = state?.operationId;
|
|
107
|
+
resourceInputs["path"] = state?.path;
|
|
108
|
+
resourceInputs["rps"] = state?.rps;
|
|
109
|
+
resourceInputs["serviceId"] = state?.serviceId;
|
|
110
|
+
resourceInputs["status"] = state?.status;
|
|
111
|
+
resourceInputs["tagIds"] = state?.tagIds;
|
|
112
|
+
resourceInputs["updatedAt"] = state?.updatedAt;
|
|
113
|
+
}
|
|
114
|
+
else {
|
|
115
|
+
const args = argsOrState;
|
|
116
|
+
if (args?.domain === undefined && !opts.urn) {
|
|
117
|
+
throw new Error("Missing required property 'domain'");
|
|
118
|
+
}
|
|
119
|
+
if (args?.method === undefined && !opts.urn) {
|
|
120
|
+
throw new Error("Missing required property 'method'");
|
|
121
|
+
}
|
|
122
|
+
if (args?.path === undefined && !opts.urn) {
|
|
123
|
+
throw new Error("Missing required property 'path'");
|
|
124
|
+
}
|
|
125
|
+
if (args?.serviceId === undefined && !opts.urn) {
|
|
126
|
+
throw new Error("Missing required property 'serviceId'");
|
|
127
|
+
}
|
|
128
|
+
resourceInputs["description"] = args?.description;
|
|
129
|
+
resourceInputs["domain"] = args?.domain;
|
|
130
|
+
resourceInputs["method"] = args?.method;
|
|
131
|
+
resourceInputs["path"] = args?.path;
|
|
132
|
+
resourceInputs["serviceId"] = args?.serviceId;
|
|
133
|
+
resourceInputs["tagIds"] = args?.tagIds;
|
|
134
|
+
resourceInputs["createdAt"] = undefined /*out*/;
|
|
135
|
+
resourceInputs["lastSeenAt"] = undefined /*out*/;
|
|
136
|
+
resourceInputs["operationId"] = undefined /*out*/;
|
|
137
|
+
resourceInputs["rps"] = undefined /*out*/;
|
|
138
|
+
resourceInputs["status"] = undefined /*out*/;
|
|
139
|
+
resourceInputs["updatedAt"] = undefined /*out*/;
|
|
140
|
+
}
|
|
141
|
+
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
|
|
142
|
+
super(ApiSecurityOperation.__pulumiType, name, resourceInputs, opts);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
exports.ApiSecurityOperation = ApiSecurityOperation;
|
|
146
|
+
/** @internal */
|
|
147
|
+
ApiSecurityOperation.__pulumiType = 'fastly:index/apiSecurityOperation:ApiSecurityOperation';
|
|
148
|
+
//# sourceMappingURL=apiSecurityOperation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apiSecurityOperation.js","sourceRoot":"","sources":["../apiSecurityOperation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import * as pulumi from "@pulumi/pulumi";
|
|
2
|
+
/**
|
|
3
|
+
* Manages an API Security operation tag for a Fastly service. Operation tags can be used to group and organize operations.
|
|
4
|
+
*
|
|
5
|
+
* ## Example Usage
|
|
6
|
+
*
|
|
7
|
+
* Basic usage:
|
|
8
|
+
*
|
|
9
|
+
* ```typescript
|
|
10
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
11
|
+
* import * as fastly from "@pulumi/fastly";
|
|
12
|
+
*
|
|
13
|
+
* const svc1 = new fastly.ServiceVcl("svc1", {
|
|
14
|
+
* name: "test-svc-1-example",
|
|
15
|
+
* forceDestroy: true,
|
|
16
|
+
* backends: [{
|
|
17
|
+
* address: "example.com",
|
|
18
|
+
* name: "tf-test-backend-1",
|
|
19
|
+
* }],
|
|
20
|
+
* });
|
|
21
|
+
* const example = new fastly.ApiSecurityOperationTag("example", {
|
|
22
|
+
* serviceId: svc1.id,
|
|
23
|
+
* name: "production",
|
|
24
|
+
* description: "Tag for production endpoints",
|
|
25
|
+
* });
|
|
26
|
+
* ```
|
|
27
|
+
*
|
|
28
|
+
* ## Import
|
|
29
|
+
*
|
|
30
|
+
* API Security operation tags can be imported using a composite ID of the form `<service_id>/<tag_id>`, e.g.
|
|
31
|
+
*
|
|
32
|
+
* ```sh
|
|
33
|
+
* $ pulumi import fastly:index/apiSecurityOperationTag:ApiSecurityOperationTag example <service_id>/<tag_id>
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
36
|
+
export declare class ApiSecurityOperationTag extends pulumi.CustomResource {
|
|
37
|
+
/**
|
|
38
|
+
* Get an existing ApiSecurityOperationTag resource's state with the given name, ID, and optional extra
|
|
39
|
+
* properties used to qualify the lookup.
|
|
40
|
+
*
|
|
41
|
+
* @param name The _unique_ name of the resulting resource.
|
|
42
|
+
* @param id The _unique_ provider ID of the resource to lookup.
|
|
43
|
+
* @param state Any extra arguments used during the lookup.
|
|
44
|
+
* @param opts Optional settings to control the behavior of the CustomResource.
|
|
45
|
+
*/
|
|
46
|
+
static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ApiSecurityOperationTagState, opts?: pulumi.CustomResourceOptions): ApiSecurityOperationTag;
|
|
47
|
+
/**
|
|
48
|
+
* Returns true if the given object is an instance of ApiSecurityOperationTag. This is designed to work even
|
|
49
|
+
* when multiple copies of the Pulumi SDK have been loaded into the same process.
|
|
50
|
+
*/
|
|
51
|
+
static isInstance(obj: any): obj is ApiSecurityOperationTag;
|
|
52
|
+
/**
|
|
53
|
+
* Created timestamp (when present).
|
|
54
|
+
*/
|
|
55
|
+
readonly createdAt: pulumi.Output<string>;
|
|
56
|
+
/**
|
|
57
|
+
* The description of the operation tag.
|
|
58
|
+
*/
|
|
59
|
+
readonly description: pulumi.Output<string | undefined>;
|
|
60
|
+
/**
|
|
61
|
+
* The name of the operation tag.
|
|
62
|
+
*/
|
|
63
|
+
readonly name: pulumi.Output<string>;
|
|
64
|
+
/**
|
|
65
|
+
* Number of operations associated with this tag (when present).
|
|
66
|
+
*/
|
|
67
|
+
readonly operationCount: pulumi.Output<number>;
|
|
68
|
+
/**
|
|
69
|
+
* Service ID the tag belongs to. To import, use: \n\n/\n\n.
|
|
70
|
+
*/
|
|
71
|
+
readonly serviceId: pulumi.Output<string>;
|
|
72
|
+
/**
|
|
73
|
+
* The tag ID.
|
|
74
|
+
*/
|
|
75
|
+
readonly tagId: pulumi.Output<string>;
|
|
76
|
+
/**
|
|
77
|
+
* Updated timestamp (when present).
|
|
78
|
+
*/
|
|
79
|
+
readonly updatedAt: pulumi.Output<string>;
|
|
80
|
+
/**
|
|
81
|
+
* Create a ApiSecurityOperationTag resource with the given unique name, arguments, and options.
|
|
82
|
+
*
|
|
83
|
+
* @param name The _unique_ name of the resource.
|
|
84
|
+
* @param args The arguments to use to populate this resource's properties.
|
|
85
|
+
* @param opts A bag of options that control this resource's behavior.
|
|
86
|
+
*/
|
|
87
|
+
constructor(name: string, args: ApiSecurityOperationTagArgs, opts?: pulumi.CustomResourceOptions);
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Input properties used for looking up and filtering ApiSecurityOperationTag resources.
|
|
91
|
+
*/
|
|
92
|
+
export interface ApiSecurityOperationTagState {
|
|
93
|
+
/**
|
|
94
|
+
* Created timestamp (when present).
|
|
95
|
+
*/
|
|
96
|
+
createdAt?: pulumi.Input<string>;
|
|
97
|
+
/**
|
|
98
|
+
* The description of the operation tag.
|
|
99
|
+
*/
|
|
100
|
+
description?: pulumi.Input<string>;
|
|
101
|
+
/**
|
|
102
|
+
* The name of the operation tag.
|
|
103
|
+
*/
|
|
104
|
+
name?: pulumi.Input<string>;
|
|
105
|
+
/**
|
|
106
|
+
* Number of operations associated with this tag (when present).
|
|
107
|
+
*/
|
|
108
|
+
operationCount?: pulumi.Input<number>;
|
|
109
|
+
/**
|
|
110
|
+
* Service ID the tag belongs to. To import, use: \n\n/\n\n.
|
|
111
|
+
*/
|
|
112
|
+
serviceId?: pulumi.Input<string>;
|
|
113
|
+
/**
|
|
114
|
+
* The tag ID.
|
|
115
|
+
*/
|
|
116
|
+
tagId?: pulumi.Input<string>;
|
|
117
|
+
/**
|
|
118
|
+
* Updated timestamp (when present).
|
|
119
|
+
*/
|
|
120
|
+
updatedAt?: pulumi.Input<string>;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* The set of arguments for constructing a ApiSecurityOperationTag resource.
|
|
124
|
+
*/
|
|
125
|
+
export interface ApiSecurityOperationTagArgs {
|
|
126
|
+
/**
|
|
127
|
+
* The description of the operation tag.
|
|
128
|
+
*/
|
|
129
|
+
description?: pulumi.Input<string>;
|
|
130
|
+
/**
|
|
131
|
+
* The name of the operation tag.
|
|
132
|
+
*/
|
|
133
|
+
name?: pulumi.Input<string>;
|
|
134
|
+
/**
|
|
135
|
+
* Service ID the tag belongs to. To import, use: \n\n/\n\n.
|
|
136
|
+
*/
|
|
137
|
+
serviceId: pulumi.Input<string>;
|
|
138
|
+
}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *** WARNING: this file was generated by pulumi-language-nodejs. ***
|
|
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.ApiSecurityOperationTag = void 0;
|
|
6
|
+
const pulumi = require("@pulumi/pulumi");
|
|
7
|
+
const utilities = require("./utilities");
|
|
8
|
+
/**
|
|
9
|
+
* Manages an API Security operation tag for a Fastly service. Operation tags can be used to group and organize operations.
|
|
10
|
+
*
|
|
11
|
+
* ## Example Usage
|
|
12
|
+
*
|
|
13
|
+
* Basic usage:
|
|
14
|
+
*
|
|
15
|
+
* ```typescript
|
|
16
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
17
|
+
* import * as fastly from "@pulumi/fastly";
|
|
18
|
+
*
|
|
19
|
+
* const svc1 = new fastly.ServiceVcl("svc1", {
|
|
20
|
+
* name: "test-svc-1-example",
|
|
21
|
+
* forceDestroy: true,
|
|
22
|
+
* backends: [{
|
|
23
|
+
* address: "example.com",
|
|
24
|
+
* name: "tf-test-backend-1",
|
|
25
|
+
* }],
|
|
26
|
+
* });
|
|
27
|
+
* const example = new fastly.ApiSecurityOperationTag("example", {
|
|
28
|
+
* serviceId: svc1.id,
|
|
29
|
+
* name: "production",
|
|
30
|
+
* description: "Tag for production endpoints",
|
|
31
|
+
* });
|
|
32
|
+
* ```
|
|
33
|
+
*
|
|
34
|
+
* ## Import
|
|
35
|
+
*
|
|
36
|
+
* API Security operation tags can be imported using a composite ID of the form `<service_id>/<tag_id>`, e.g.
|
|
37
|
+
*
|
|
38
|
+
* ```sh
|
|
39
|
+
* $ pulumi import fastly:index/apiSecurityOperationTag:ApiSecurityOperationTag example <service_id>/<tag_id>
|
|
40
|
+
* ```
|
|
41
|
+
*/
|
|
42
|
+
class ApiSecurityOperationTag extends pulumi.CustomResource {
|
|
43
|
+
/**
|
|
44
|
+
* Get an existing ApiSecurityOperationTag resource's state with the given name, ID, and optional extra
|
|
45
|
+
* properties used to qualify the lookup.
|
|
46
|
+
*
|
|
47
|
+
* @param name The _unique_ name of the resulting resource.
|
|
48
|
+
* @param id The _unique_ provider ID of the resource to lookup.
|
|
49
|
+
* @param state Any extra arguments used during the lookup.
|
|
50
|
+
* @param opts Optional settings to control the behavior of the CustomResource.
|
|
51
|
+
*/
|
|
52
|
+
static get(name, id, state, opts) {
|
|
53
|
+
return new ApiSecurityOperationTag(name, state, { ...opts, id: id });
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Returns true if the given object is an instance of ApiSecurityOperationTag. This is designed to work even
|
|
57
|
+
* when multiple copies of the Pulumi SDK have been loaded into the same process.
|
|
58
|
+
*/
|
|
59
|
+
static isInstance(obj) {
|
|
60
|
+
if (obj === undefined || obj === null) {
|
|
61
|
+
return false;
|
|
62
|
+
}
|
|
63
|
+
return obj['__pulumiType'] === ApiSecurityOperationTag.__pulumiType;
|
|
64
|
+
}
|
|
65
|
+
constructor(name, argsOrState, opts) {
|
|
66
|
+
let resourceInputs = {};
|
|
67
|
+
opts = opts || {};
|
|
68
|
+
if (opts.id) {
|
|
69
|
+
const state = argsOrState;
|
|
70
|
+
resourceInputs["createdAt"] = state?.createdAt;
|
|
71
|
+
resourceInputs["description"] = state?.description;
|
|
72
|
+
resourceInputs["name"] = state?.name;
|
|
73
|
+
resourceInputs["operationCount"] = state?.operationCount;
|
|
74
|
+
resourceInputs["serviceId"] = state?.serviceId;
|
|
75
|
+
resourceInputs["tagId"] = state?.tagId;
|
|
76
|
+
resourceInputs["updatedAt"] = state?.updatedAt;
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
const args = argsOrState;
|
|
80
|
+
if (args?.serviceId === undefined && !opts.urn) {
|
|
81
|
+
throw new Error("Missing required property 'serviceId'");
|
|
82
|
+
}
|
|
83
|
+
resourceInputs["description"] = args?.description;
|
|
84
|
+
resourceInputs["name"] = args?.name;
|
|
85
|
+
resourceInputs["serviceId"] = args?.serviceId;
|
|
86
|
+
resourceInputs["createdAt"] = undefined /*out*/;
|
|
87
|
+
resourceInputs["operationCount"] = undefined /*out*/;
|
|
88
|
+
resourceInputs["tagId"] = undefined /*out*/;
|
|
89
|
+
resourceInputs["updatedAt"] = undefined /*out*/;
|
|
90
|
+
}
|
|
91
|
+
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
|
|
92
|
+
super(ApiSecurityOperationTag.__pulumiType, name, resourceInputs, opts);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
exports.ApiSecurityOperationTag = ApiSecurityOperationTag;
|
|
96
|
+
/** @internal */
|
|
97
|
+
ApiSecurityOperationTag.__pulumiType = 'fastly:index/apiSecurityOperationTag:ApiSecurityOperationTag';
|
|
98
|
+
//# sourceMappingURL=apiSecurityOperationTag.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apiSecurityOperationTag.js","sourceRoot":"","sources":["../apiSecurityOperationTag.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AACzC,yCAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAa,uBAAwB,SAAQ,MAAM,CAAC,cAAc;IAC9D;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAAoC,EAAE,IAAmC;QAClI,OAAO,IAAI,uBAAuB,CAAC,IAAI,EAAO,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC9E,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,uBAAuB,CAAC,YAAY,CAAC;IACxE,CAAC;IAuCD,YAAY,IAAY,EAAE,WAAwE,EAAE,IAAmC;QACnI,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAAuD,CAAC;YACtE,cAAc,CAAC,WAAW,CAAC,GAAG,KAAK,EAAE,SAAS,CAAC;YAC/C,cAAc,CAAC,aAAa,CAAC,GAAG,KAAK,EAAE,WAAW,CAAC;YACnD,cAAc,CAAC,MAAM,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC;YACrC,cAAc,CAAC,gBAAgB,CAAC,GAAG,KAAK,EAAE,cAAc,CAAC;YACzD,cAAc,CAAC,WAAW,CAAC,GAAG,KAAK,EAAE,SAAS,CAAC;YAC/C,cAAc,CAAC,OAAO,CAAC,GAAG,KAAK,EAAE,KAAK,CAAC;YACvC,cAAc,CAAC,WAAW,CAAC,GAAG,KAAK,EAAE,SAAS,CAAC;SAClD;aAAM;YACH,MAAM,IAAI,GAAG,WAAsD,CAAC;YACpE,IAAI,IAAI,EAAE,SAAS,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC5C,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;aAC5D;YACD,cAAc,CAAC,aAAa,CAAC,GAAG,IAAI,EAAE,WAAW,CAAC;YAClD,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC;YACpC,cAAc,CAAC,WAAW,CAAC,GAAG,IAAI,EAAE,SAAS,CAAC;YAC9C,cAAc,CAAC,WAAW,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YAChD,cAAc,CAAC,gBAAgB,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YACrD,cAAc,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YAC5C,cAAc,CAAC,WAAW,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;SACnD;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,uBAAuB,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IAC5E,CAAC;;AA5FL,0DA6FC;AA/EG,gBAAgB;AACO,oCAAY,GAAG,8DAA8D,CAAC"}
|