@pulumi/fastly 3.13.0 → 4.0.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.
Files changed (44) hide show
  1. package/config/index.js +5 -1
  2. package/config/index.js.map +1 -1
  3. package/getDatacenters.d.ts +19 -0
  4. package/getDatacenters.js +19 -0
  5. package/getDatacenters.js.map +1 -0
  6. package/index.d.ts +6 -5
  7. package/index.js +31 -26
  8. package/index.js.map +1 -1
  9. package/package.json +2 -2
  10. package/package.json.dev +2 -2
  11. package/serviceACLEntries.d.ts +96 -0
  12. package/{serviceACLEntriesv1.js → serviceACLEntries.js} +16 -12
  13. package/serviceACLEntries.js.map +1 -0
  14. package/serviceCompute.d.ts +30 -30
  15. package/serviceCompute.js +20 -20
  16. package/serviceCompute.js.map +1 -1
  17. package/serviceDictionaryItems.d.ts +103 -0
  18. package/serviceDictionaryItems.js +74 -0
  19. package/serviceDictionaryItems.js.map +1 -0
  20. package/{serviceDynamicSnippetContentv1.d.ts → serviceDynamicSnippetContent.d.ts} +27 -21
  21. package/{serviceDynamicSnippetContentv1.js → serviceDynamicSnippetContent.js} +16 -20
  22. package/serviceDynamicSnippetContent.js.map +1 -0
  23. package/{servicev1.d.ts → serviceVcl.d.ts} +145 -144
  24. package/{servicev1.js → serviceVcl.js} +40 -39
  25. package/serviceVcl.js.map +1 -0
  26. package/serviceWafConfiguration.d.ts +11 -11
  27. package/serviceWafConfiguration.js +11 -11
  28. package/tlsActivation.d.ts +2 -2
  29. package/tlsActivation.js +2 -2
  30. package/tlsSubscriptionValidation.d.ts +2 -2
  31. package/tlsSubscriptionValidation.js +2 -2
  32. package/types/input.d.ts +767 -777
  33. package/types/output.d.ts +772 -776
  34. package/{userv1.d.ts → user.d.ts} +13 -13
  35. package/{userv1.js → user.js} +12 -12
  36. package/user.js.map +1 -0
  37. package/serviceACLEntriesv1.d.ts +0 -82
  38. package/serviceACLEntriesv1.js.map +0 -1
  39. package/serviceDictionaryItemsv1.d.ts +0 -121
  40. package/serviceDictionaryItemsv1.js +0 -102
  41. package/serviceDictionaryItemsv1.js.map +0 -1
  42. package/serviceDynamicSnippetContentv1.js.map +0 -1
  43. package/servicev1.js.map +0 -1
  44. package/userv1.js.map +0 -1
package/types/output.d.ts CHANGED
@@ -1,3 +1,9 @@
1
+ export interface GetDatacentersPop {
2
+ code: string;
3
+ group: string;
4
+ name: string;
5
+ shield: string;
6
+ }
1
7
  export interface GetTlsConfigurationDnsRecord {
2
8
  recordType: string;
3
9
  recordValue: string;
@@ -17,7 +23,7 @@ export interface GetWafRulesRule {
17
23
  */
18
24
  type: string;
19
25
  }
20
- export interface ServiceACLEntriesv1Entry {
26
+ export interface ServiceACLEntriesEntry {
21
27
  /**
22
28
  * A personal freeform descriptive note
23
29
  */
@@ -45,7 +51,7 @@ export interface ServiceComputeBackend {
45
51
  */
46
52
  address: string;
47
53
  /**
48
- * Denotes if this Backend should be included in the pool of backends that requests are load balanced against. Default `true`
54
+ * Denotes if this Backend should be included in the pool of backends that requests are load balanced against. Default `false`
49
55
  */
50
56
  autoLoadbalance?: boolean;
51
57
  /**
@@ -139,86 +145,6 @@ export interface ServiceComputeBackend {
139
145
  */
140
146
  weight?: number;
141
147
  }
142
- export interface ServiceComputeBigquerylogging {
143
- /**
144
- * The ID of your BigQuery dataset
145
- */
146
- dataset: string;
147
- /**
148
- * The email for the service account with write access to your BigQuery dataset. If not provided, this will be pulled from a `FASTLY_BQ_EMAIL` environment variable
149
- */
150
- email: string;
151
- /**
152
- * A unique name to identify this BigQuery logging endpoint. It is important to note that changing this attribute will delete and recreate the resource
153
- */
154
- name: string;
155
- /**
156
- * The ID of your GCP project
157
- */
158
- projectId: string;
159
- /**
160
- * The secret key associated with the service account that has write access to your BigQuery table. If not provided, this will be pulled from the `FASTLY_BQ_SECRET_KEY` environment variable. Typical format for this is a private key in a string with newlines
161
- */
162
- secretKey: string;
163
- /**
164
- * The ID of your BigQuery table
165
- */
166
- table: string;
167
- /**
168
- * BigQuery table name suffix template
169
- */
170
- template?: string;
171
- }
172
- export interface ServiceComputeBlobstoragelogging {
173
- /**
174
- * The unique Azure Blob Storage namespace in which your data objects are stored
175
- */
176
- accountName: string;
177
- /**
178
- * The codec used for compression of your logs. Valid values are zstd, snappy, and gzip. If the specified codec is "gzip", gzip*level will default to 3. To specify a different level, leave compression*codec blank and explicitly set the level using gzip*level. Specifying both compression*codec and gzipLevel in the same API request will result in an error.
179
- */
180
- compressionCodec?: string;
181
- /**
182
- * The name of the Azure Blob Storage container in which to store logs
183
- */
184
- container: string;
185
- /**
186
- * Maximum size of an uploaded log file, if non-zero.
187
- */
188
- fileMaxBytes?: number;
189
- /**
190
- * Level of Gzip compression from `0-9`. `0` means no compression. `1` is the fastest and the least compressed version, `9` is the slowest and the most compressed version. Default `0`
191
- */
192
- gzipLevel?: number;
193
- /**
194
- * How the message should be formatted. Can be either `classic`, `loggly`, `logplex` or `blank`. Default is `classic`
195
- */
196
- messageType?: string;
197
- /**
198
- * A unique name to identify the Azure Blob Storage endpoint. It is important to note that changing this attribute will delete and recreate the resource
199
- */
200
- name: string;
201
- /**
202
- * The path to upload logs to. Must end with a trailing slash. If this field is left empty, the files will be saved in the container's root path
203
- */
204
- path?: string;
205
- /**
206
- * How frequently the logs should be transferred in seconds. Default `3600`
207
- */
208
- period?: number;
209
- /**
210
- * A PGP public key that Fastly will use to encrypt your log files before writing them to disk
211
- */
212
- publicKey?: string;
213
- /**
214
- * The Azure shared access signature providing write access to the blob service objects. Be sure to update your token before it expires or the logging functionality will not work
215
- */
216
- sasToken: string;
217
- /**
218
- * The `strftime` specified timestamp formatting (default `%Y-%m-%dT%H:%M:%S.000`)
219
- */
220
- timestampFormat?: string;
221
- }
222
148
  export interface ServiceComputeDictionary {
223
149
  /**
224
150
  * The ID of the dictionary
@@ -232,9 +158,6 @@ export interface ServiceComputeDictionary {
232
158
  * A unique name to identify this dictionary. It is important to note that changing this attribute will delete and recreate the dictionary, and discard the current items in the dictionary
233
159
  */
234
160
  name: string;
235
- /**
236
- * If `true`, the dictionary is a [private dictionary](https://docs.fastly.com/en/guides/private-dictionaries). Default is `false`. Please note that changing this attribute will delete and recreate the dictionary, and discard the current items in the dictionary. `fastly.Servicev1` resource will only manage the dictionary object itself, and items under private dictionaries can not be managed using `fastly.ServiceDictionaryItemsv1` resource. Therefore, using a write-only/private dictionary should only be done if the items are managed outside of the provider
237
- */
238
161
  writeOnly?: boolean;
239
162
  }
240
163
  export interface ServiceComputeDirector {
@@ -242,10 +165,6 @@ export interface ServiceComputeDirector {
242
165
  * Names of defined backends to map the director to. Example: `[ "origin1", "origin2" ]`
243
166
  */
244
167
  backends: string[];
245
- /**
246
- * Load balancing weight for the backends. Default `100`
247
- */
248
- capacity?: number;
249
168
  /**
250
169
  * An optional comment about the Director
251
170
  */
@@ -281,48 +200,6 @@ export interface ServiceComputeDomain {
281
200
  */
282
201
  name: string;
283
202
  }
284
- export interface ServiceComputeGcslogging {
285
- /**
286
- * The name of the bucket in which to store the logs
287
- */
288
- bucketName: string;
289
- /**
290
- * The codec used for compression of your logs. Valid values are zstd, snappy, and gzip. If the specified codec is "gzip", gzip*level will default to 3. To specify a different level, leave compression*codec blank and explicitly set the level using gzip*level. Specifying both compression*codec and gzipLevel in the same API request will result in an error.
291
- */
292
- compressionCodec?: string;
293
- /**
294
- * The email address associated with the target GCS bucket on your account. You may optionally provide this secret via an environment variable, `FASTLY_GCS_EMAIL`
295
- */
296
- email?: string;
297
- /**
298
- * Level of Gzip compression from `0-9`. `0` means no compression. `1` is the fastest and the least compressed version, `9` is the slowest and the most compressed version. Default `0`
299
- */
300
- gzipLevel?: number;
301
- /**
302
- * How the message should be formatted. Can be either `classic`, `loggly`, `logplex` or `blank`. Default is `classic`
303
- */
304
- messageType?: string;
305
- /**
306
- * A unique name to identify this GCS endpoint. It is important to note that changing this attribute will delete and recreate the resource
307
- */
308
- name: string;
309
- /**
310
- * Path to store the files. Must end with a trailing slash. If this field is left empty, the files will be saved in the bucket's root path
311
- */
312
- path?: string;
313
- /**
314
- * How frequently the logs should be transferred, in seconds (Default 3600)
315
- */
316
- period?: number;
317
- /**
318
- * The secret key associated with the target gcs bucket on your account. You may optionally provide this secret via an environment variable, `FASTLY_GCS_SECRET_KEY`. A typical format for the key is PEM format, containing actual newline characters where required
319
- */
320
- secretKey?: string;
321
- /**
322
- * The `strftime` specified timestamp formatting (default `%Y-%m-%dT%H:%M:%S.000`)
323
- */
324
- timestampFormat?: string;
325
- }
326
203
  export interface ServiceComputeHealthcheck {
327
204
  /**
328
205
  * How often to run the Healthcheck in milliseconds. Default `5000`
@@ -369,81 +246,85 @@ export interface ServiceComputeHealthcheck {
369
246
  */
370
247
  window?: number;
371
248
  }
372
- export interface ServiceComputeHttpslogging {
249
+ export interface ServiceComputeLoggingBigquery {
373
250
  /**
374
- * Value of the `Content-Type` header sent with the request
251
+ * The ID of your BigQuery dataset
375
252
  */
376
- contentType?: string;
253
+ dataset: string;
377
254
  /**
378
- * Custom header sent with the request
255
+ * The email for the service account with write access to your BigQuery dataset. If not provided, this will be pulled from a `FASTLY_BQ_EMAIL` environment variable
379
256
  */
380
- headerName?: string;
257
+ email: string;
381
258
  /**
382
- * Value of the custom header sent with the request
259
+ * A unique name to identify this BigQuery logging endpoint. It is important to note that changing this attribute will delete and recreate the resource
383
260
  */
384
- headerValue?: string;
261
+ name: string;
385
262
  /**
386
- * Formats log entries as JSON. Can be either disabled (`0`), array of json (`1`), or newline delimited json (`2`)
263
+ * The ID of your GCP project
387
264
  */
388
- jsonFormat?: string;
265
+ projectId: string;
389
266
  /**
390
- * How the message should be formatted. Can be either `classic`, `loggly`, `logplex` or `blank`. Default is `classic`
267
+ * The secret key associated with the service account that has write access to your BigQuery table. If not provided, this will be pulled from the `FASTLY_BQ_SECRET_KEY` environment variable. Typical format for this is a private key in a string with newlines
391
268
  */
392
- messageType?: string;
269
+ secretKey: string;
393
270
  /**
394
- * HTTP method used for request. Can be either `POST` or `PUT`. Default `POST`
271
+ * The ID of your BigQuery table
395
272
  */
396
- method?: string;
273
+ table: string;
397
274
  /**
398
- * The unique name of the HTTPS logging endpoint. It is important to note that changing this attribute will delete and recreate the resource
275
+ * BigQuery table name suffix template
399
276
  */
400
- name: string;
277
+ template?: string;
278
+ }
279
+ export interface ServiceComputeLoggingBlobstorage {
401
280
  /**
402
- * The maximum number of bytes sent in one request
281
+ * The unique Azure Blob Storage namespace in which your data objects are stored
403
282
  */
404
- requestMaxBytes?: number;
283
+ accountName: string;
405
284
  /**
406
- * The maximum number of logs sent in one request
285
+ * The codec used for compression of your logs. Valid values are zstd, snappy, and gzip. If the specified codec is "gzip", gzip*level will default to 3. To specify a different level, leave compression*codec blank and explicitly set the level using gzip*level. Specifying both compression*codec and gzipLevel in the same API request will result in an error.
407
286
  */
408
- requestMaxEntries?: number;
287
+ compressionCodec?: string;
409
288
  /**
410
- * A secure certificate to authenticate the server with. Must be in PEM format
289
+ * The name of the Azure Blob Storage container in which to store logs
411
290
  */
412
- tlsCaCert?: string;
291
+ container: string;
413
292
  /**
414
- * The client certificate used to make authenticated requests. Must be in PEM format
293
+ * Maximum size of an uploaded log file, if non-zero.
415
294
  */
416
- tlsClientCert?: string;
295
+ fileMaxBytes?: number;
417
296
  /**
418
- * The client private key used to make authenticated requests. Must be in PEM format
297
+ * Level of Gzip compression from `0-9`. `0` means no compression. `1` is the fastest and the least compressed version, `9` is the slowest and the most compressed version. Default `0`
419
298
  */
420
- tlsClientKey?: string;
299
+ gzipLevel?: number;
421
300
  /**
422
- * Used during the TLS handshake to validate the certificate
301
+ * How the message should be formatted. Can be either `classic`, `loggly`, `logplex` or `blank`. Default is `classic`
423
302
  */
424
- tlsHostname?: string;
303
+ messageType?: string;
425
304
  /**
426
- * URL that log data will be sent to. Must use the https protocol
305
+ * A unique name to identify the Azure Blob Storage endpoint. It is important to note that changing this attribute will delete and recreate the resource
427
306
  */
428
- url: string;
429
- }
430
- export interface ServiceComputeLogentry {
307
+ name: string;
431
308
  /**
432
- * The unique name of the Logentries logging endpoint. It is important to note that changing this attribute will delete and recreate the resource
309
+ * The path to upload logs to. Must end with a trailing slash. If this field is left empty, the files will be saved in the container's root path
433
310
  */
434
- name: string;
311
+ path?: string;
435
312
  /**
436
- * The port number configured in Logentries
313
+ * How frequently the logs should be transferred in seconds. Default `3600`
437
314
  */
438
- port?: number;
315
+ period?: number;
439
316
  /**
440
- * Use token based authentication (https://logentries.com/doc/input-token/)
317
+ * A PGP public key that Fastly will use to encrypt your log files before writing them to disk
441
318
  */
442
- token: string;
319
+ publicKey?: string;
443
320
  /**
444
- * Whether to use TLS for secure logging
321
+ * The Azure shared access signature providing write access to the blob service objects. Be sure to update your token before it expires or the logging functionality will not work
445
322
  */
446
- useTls?: boolean;
323
+ sasToken: string;
324
+ /**
325
+ * The `strftime` specified timestamp formatting (default `%Y-%m-%dT%H:%M:%S.000`)
326
+ */
327
+ timestampFormat?: string;
447
328
  }
448
329
  export interface ServiceComputeLoggingCloudfile {
449
330
  /**
@@ -659,6 +540,48 @@ export interface ServiceComputeLoggingFtp {
659
540
  */
660
541
  user: string;
661
542
  }
543
+ export interface ServiceComputeLoggingGc {
544
+ /**
545
+ * The name of the bucket in which to store the logs
546
+ */
547
+ bucketName: string;
548
+ /**
549
+ * The codec used for compression of your logs. Valid values are zstd, snappy, and gzip. If the specified codec is "gzip", gzip*level will default to 3. To specify a different level, leave compression*codec blank and explicitly set the level using gzip*level. Specifying both compression*codec and gzipLevel in the same API request will result in an error.
550
+ */
551
+ compressionCodec?: string;
552
+ /**
553
+ * Level of Gzip compression from `0-9`. `0` means no compression. `1` is the fastest and the least compressed version, `9` is the slowest and the most compressed version. Default `0`
554
+ */
555
+ gzipLevel?: number;
556
+ /**
557
+ * How the message should be formatted. Can be either `classic`, `loggly`, `logplex` or `blank`. Default is `classic`
558
+ */
559
+ messageType?: string;
560
+ /**
561
+ * A unique name to identify this GCS endpoint. It is important to note that changing this attribute will delete and recreate the resource
562
+ */
563
+ name: string;
564
+ /**
565
+ * Path to store the files. Must end with a trailing slash. If this field is left empty, the files will be saved in the bucket's root path
566
+ */
567
+ path?: string;
568
+ /**
569
+ * How frequently the logs should be transferred, in seconds (Default 3600)
570
+ */
571
+ period?: number;
572
+ /**
573
+ * The secret key associated with the target gcs bucket on your account. You may optionally provide this secret via an environment variable, `FASTLY_GCS_SECRET_KEY`. A typical format for the key is PEM format, containing actual newline characters where required
574
+ */
575
+ secretKey?: string;
576
+ /**
577
+ * The `strftime` specified timestamp formatting (default `%Y-%m-%dT%H:%M:%S.000`)
578
+ */
579
+ timestampFormat?: string;
580
+ /**
581
+ * Your Google Cloud Platform service account email address. The `clientEmail` field in your service account authentication JSON. You may optionally provide this via an environment variable, `FASTLY_GCS_EMAIL`.
582
+ */
583
+ user?: string;
584
+ }
662
585
  export interface ServiceComputeLoggingGooglepubsub {
663
586
  /**
664
587
  * The unique name of the Google Cloud Pub/Sub logging endpoint. It is important to note that changing this attribute will delete and recreate the resource
@@ -709,21 +632,79 @@ export interface ServiceComputeLoggingHoneycomb {
709
632
  */
710
633
  token: string;
711
634
  }
712
- export interface ServiceComputeLoggingKafka {
635
+ export interface ServiceComputeLoggingHttp {
713
636
  /**
714
- * SASL authentication method. One of: plain, scram-sha-256, scram-sha-512
637
+ * Value of the `Content-Type` header sent with the request
715
638
  */
716
- authMethod?: string;
639
+ contentType?: string;
717
640
  /**
718
- * A comma-separated list of IP addresses or hostnames of Kafka brokers
641
+ * Custom header sent with the request
719
642
  */
720
- brokers: string;
643
+ headerName?: string;
721
644
  /**
722
- * The codec used for compression of your logs. One of: `gzip`, `snappy`, `lz4`
645
+ * Value of the custom header sent with the request
723
646
  */
724
- compressionCodec?: string;
647
+ headerValue?: string;
725
648
  /**
726
- * The unique name of the Kafka logging endpoint. It is important to note that changing this attribute will delete and recreate the resource
649
+ * Formats log entries as JSON. Can be either disabled (`0`), array of json (`1`), or newline delimited json (`2`)
650
+ */
651
+ jsonFormat?: string;
652
+ /**
653
+ * How the message should be formatted. Can be either `classic`, `loggly`, `logplex` or `blank`. Default is `classic`
654
+ */
655
+ messageType?: string;
656
+ /**
657
+ * HTTP method used for request. Can be either `POST` or `PUT`. Default `POST`
658
+ */
659
+ method?: string;
660
+ /**
661
+ * The unique name of the HTTPS logging endpoint. It is important to note that changing this attribute will delete and recreate the resource
662
+ */
663
+ name: string;
664
+ /**
665
+ * The maximum number of bytes sent in one request
666
+ */
667
+ requestMaxBytes?: number;
668
+ /**
669
+ * The maximum number of logs sent in one request
670
+ */
671
+ requestMaxEntries?: number;
672
+ /**
673
+ * A secure certificate to authenticate the server with. Must be in PEM format
674
+ */
675
+ tlsCaCert?: string;
676
+ /**
677
+ * The client certificate used to make authenticated requests. Must be in PEM format
678
+ */
679
+ tlsClientCert?: string;
680
+ /**
681
+ * The client private key used to make authenticated requests. Must be in PEM format
682
+ */
683
+ tlsClientKey?: string;
684
+ /**
685
+ * Used during the TLS handshake to validate the certificate
686
+ */
687
+ tlsHostname?: string;
688
+ /**
689
+ * URL that log data will be sent to. Must use the https protocol
690
+ */
691
+ url: string;
692
+ }
693
+ export interface ServiceComputeLoggingKafka {
694
+ /**
695
+ * SASL authentication method. One of: plain, scram-sha-256, scram-sha-512
696
+ */
697
+ authMethod?: string;
698
+ /**
699
+ * A comma-separated list of IP addresses or hostnames of Kafka brokers
700
+ */
701
+ brokers: string;
702
+ /**
703
+ * The codec used for compression of your logs. One of: `gzip`, `snappy`, `lz4`
704
+ */
705
+ compressionCodec?: string;
706
+ /**
707
+ * The unique name of the Kafka logging endpoint. It is important to note that changing this attribute will delete and recreate the resource
727
708
  */
728
709
  name: string;
729
710
  /**
@@ -797,6 +778,24 @@ export interface ServiceComputeLoggingKinese {
797
778
  */
798
779
  topic: string;
799
780
  }
781
+ export interface ServiceComputeLoggingLogentry {
782
+ /**
783
+ * The unique name of the Logentries logging endpoint. It is important to note that changing this attribute will delete and recreate the resource
784
+ */
785
+ name: string;
786
+ /**
787
+ * The port number configured in Logentries
788
+ */
789
+ port?: number;
790
+ /**
791
+ * Use token based authentication (https://logentries.com/doc/input-token/)
792
+ */
793
+ token: string;
794
+ /**
795
+ * Whether to use TLS for secure logging
796
+ */
797
+ useTls?: boolean;
798
+ }
800
799
  export interface ServiceComputeLoggingLoggly {
801
800
  /**
802
801
  * The unique name of the Loggly logging endpoint. It is important to note that changing this attribute will delete and recreate the resource
@@ -885,29 +884,37 @@ export interface ServiceComputeLoggingOpenstack {
885
884
  */
886
885
  user: string;
887
886
  }
888
- export interface ServiceComputeLoggingScalyr {
887
+ export interface ServiceComputeLoggingPapertrail {
889
888
  /**
890
- * The unique name of the Scalyr logging endpoint. It is important to note that changing this attribute will delete and recreate the resource
889
+ * The address of the Papertrail endpoint
891
890
  */
892
- name: string;
891
+ address: string;
893
892
  /**
894
- * The region that log data will be sent to. One of `US` or `EU`. Defaults to `US` if undefined
893
+ * A unique name to identify this Papertrail endpoint. It is important to note that changing this attribute will delete and recreate the resource
895
894
  */
896
- region?: string;
895
+ name: string;
897
896
  /**
898
- * The token to use for authentication (https://www.scalyr.com/keys)
897
+ * The port associated with the address where the Papertrail endpoint can be accessed
899
898
  */
900
- token: string;
899
+ port: number;
901
900
  }
902
- export interface ServiceComputeLoggingSftp {
901
+ export interface ServiceComputeLoggingS3 {
903
902
  /**
904
- * The SFTP address to stream logs to
903
+ * The AWS [Canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl) to use for objects uploaded to the S3 bucket. Options are: `private`, `public-read`, `public-read-write`, `aws-exec-read`, `authenticated-read`, `bucket-owner-read`, `bucket-owner-full-control`
905
904
  */
906
- address: string;
905
+ acl?: string;
906
+ /**
907
+ * The name of the bucket in which to store the logs
908
+ */
909
+ bucketName: string;
907
910
  /**
908
911
  * The codec used for compression of your logs. Valid values are zstd, snappy, and gzip. If the specified codec is "gzip", gzip*level will default to 3. To specify a different level, leave compression*codec blank and explicitly set the level using gzip*level. Specifying both compression*codec and gzipLevel in the same API request will result in an error.
909
912
  */
910
913
  compressionCodec?: string;
914
+ /**
915
+ * If you created the S3 bucket outside of `us-east-1`, then specify the corresponding bucket endpoint. Example: `s3-us-west-2.amazonaws.com`
916
+ */
917
+ domain?: string;
911
918
  /**
912
919
  * Level of Gzip compression from `0-9`. `0` means no compression. `1` is the fastest and the least compressed version, `9` is the slowest and the most compressed version. Default `0`
913
920
  */
@@ -917,87 +924,73 @@ export interface ServiceComputeLoggingSftp {
917
924
  */
918
925
  messageType?: string;
919
926
  /**
920
- * The unique name of the SFTP logging endpoint. It is important to note that changing this attribute will delete and recreate the resource
927
+ * The unique name of the S3 logging endpoint. It is important to note that changing this attribute will delete and recreate the resource
921
928
  */
922
929
  name: string;
923
930
  /**
924
- * The password for the server. If both `password` and `secretKey` are passed, `secretKey` will be preferred
925
- */
926
- password?: string;
927
- /**
928
- * The path to upload log files to. If the path ends in `/` then it is treated as a directory
931
+ * Path to store the files. Must end with a trailing slash. If this field is left empty, the files will be saved in the bucket's root path
929
932
  */
930
- path: string;
933
+ path?: string;
931
934
  /**
932
- * How frequently log files are finalized so they can be available for reading (in seconds, default `3600`)
935
+ * How frequently the logs should be transferred, in seconds. Default `3600`
933
936
  */
934
937
  period?: number;
935
- /**
936
- * The port the SFTP service listens on. (Default: `22`)
937
- */
938
- port?: number;
939
938
  /**
940
939
  * A PGP public key that Fastly will use to encrypt your log files before writing them to disk
941
940
  */
942
941
  publicKey?: string;
943
942
  /**
944
- * The SSH private key for the server. If both `password` and `secretKey` are passed, `secretKey` will be preferred
943
+ * The S3 storage class (redundancy level). Should be one of: `standard`, `reducedRedundancy`, `standardIa`, or `onezoneIa`
945
944
  */
946
- secretKey?: string;
945
+ redundancy?: string;
947
946
  /**
948
- * A list of host keys for all hosts we can connect to over SFTP
947
+ * AWS Access Key of an account with the required permissions to post logs. It is **strongly** recommended you create a separate IAM user with permissions to only operate on this Bucket. This key will be not be encrypted. Not required if `iamRole` is provided. You can provide this key via an environment variable, `FASTLY_S3_ACCESS_KEY`
949
948
  */
950
- sshKnownHosts: string;
949
+ s3AccessKey?: string;
951
950
  /**
952
- * The `strftime` specified timestamp formatting (default `%Y-%m-%dT%H:%M:%S.000`)
951
+ * The Amazon Resource Name (ARN) for the IAM role granting Fastly access to S3. Not required if `accessKey` and `secretKey` are provided. You can provide this value via an environment variable, `FASTLY_S3_IAM_ROLE`
953
952
  */
954
- timestampFormat?: string;
953
+ s3IamRole?: string;
955
954
  /**
956
- * The username for the server
955
+ * AWS Secret Key of an account with the required permissions to post logs. It is **strongly** recommended you create a separate IAM user with permissions to only operate on this Bucket. This secret will be not be encrypted. Not required if `iamRole` is provided. You can provide this secret via an environment variable, `FASTLY_S3_SECRET_KEY`
957
956
  */
958
- user: string;
959
- }
960
- export interface ServiceComputePackage {
957
+ s3SecretKey?: string;
961
958
  /**
962
- * The path to the Wasm deployment package within your local filesystem
959
+ * Specify what type of server side encryption should be used. Can be either `AES256` or `aws:kms`
963
960
  */
964
- filename: string;
961
+ serverSideEncryption?: string;
965
962
  /**
966
- * Used to trigger updates. Must be set to a SHA512 hash of the package file specified with the filename.
963
+ * Optional server-side KMS Key Id. Must be set if server*side*encryption is set to `aws:kms`
967
964
  */
968
- sourceCodeHash: string;
969
- }
970
- export interface ServiceComputePapertrail {
965
+ serverSideEncryptionKmsKeyId?: string;
971
966
  /**
972
- * The address of the Papertrail endpoint
967
+ * The `strftime` specified timestamp formatting (default `%Y-%m-%dT%H:%M:%S.000`)
973
968
  */
974
- address: string;
969
+ timestampFormat?: string;
970
+ }
971
+ export interface ServiceComputeLoggingScalyr {
975
972
  /**
976
- * A unique name to identify this Papertrail endpoint. It is important to note that changing this attribute will delete and recreate the resource
973
+ * The unique name of the Scalyr logging endpoint. It is important to note that changing this attribute will delete and recreate the resource
977
974
  */
978
975
  name: string;
979
976
  /**
980
- * The port associated with the address where the Papertrail endpoint can be accessed
977
+ * The region that log data will be sent to. One of `US` or `EU`. Defaults to `US` if undefined
981
978
  */
982
- port: number;
983
- }
984
- export interface ServiceComputeS3logging {
979
+ region?: string;
985
980
  /**
986
- * The AWS [Canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl) to use for objects uploaded to the S3 bucket. Options are: `private`, `public-read`, `public-read-write`, `aws-exec-read`, `authenticated-read`, `bucket-owner-read`, `bucket-owner-full-control`
981
+ * The token to use for authentication (https://www.scalyr.com/keys)
987
982
  */
988
- acl?: string;
983
+ token: string;
984
+ }
985
+ export interface ServiceComputeLoggingSftp {
989
986
  /**
990
- * The name of the bucket in which to store the logs
987
+ * The SFTP address to stream logs to
991
988
  */
992
- bucketName: string;
989
+ address: string;
993
990
  /**
994
991
  * The codec used for compression of your logs. Valid values are zstd, snappy, and gzip. If the specified codec is "gzip", gzip*level will default to 3. To specify a different level, leave compression*codec blank and explicitly set the level using gzip*level. Specifying both compression*codec and gzipLevel in the same API request will result in an error.
995
992
  */
996
993
  compressionCodec?: string;
997
- /**
998
- * If you created the S3 bucket outside of `us-east-1`, then specify the corresponding bucket endpoint. Example: `s3-us-west-2.amazonaws.com`
999
- */
1000
- domain?: string;
1001
994
  /**
1002
995
  * Level of Gzip compression from `0-9`. `0` means no compression. `1` is the fastest and the least compressed version, `9` is the slowest and the most compressed version. Default `0`
1003
996
  */
@@ -1007,51 +1000,47 @@ export interface ServiceComputeS3logging {
1007
1000
  */
1008
1001
  messageType?: string;
1009
1002
  /**
1010
- * The unique name of the S3 logging endpoint. It is important to note that changing this attribute will delete and recreate the resource
1003
+ * The unique name of the SFTP logging endpoint. It is important to note that changing this attribute will delete and recreate the resource
1011
1004
  */
1012
1005
  name: string;
1013
1006
  /**
1014
- * Path to store the files. Must end with a trailing slash. If this field is left empty, the files will be saved in the bucket's root path
1015
- */
1016
- path?: string;
1017
- /**
1018
- * How frequently the logs should be transferred, in seconds. Default `3600`
1019
- */
1020
- period?: number;
1021
- /**
1022
- * A PGP public key that Fastly will use to encrypt your log files before writing them to disk
1007
+ * The password for the server. If both `password` and `secretKey` are passed, `secretKey` will be preferred
1023
1008
  */
1024
- publicKey?: string;
1009
+ password?: string;
1025
1010
  /**
1026
- * The S3 storage class (redundancy level). Should be one of: `standard`, `reducedRedundancy`, `standardIa`, or `onezoneIa`
1011
+ * The path to upload log files to. If the path ends in `/` then it is treated as a directory
1027
1012
  */
1028
- redundancy?: string;
1013
+ path: string;
1029
1014
  /**
1030
- * AWS Access Key of an account with the required permissions to post logs. It is **strongly** recommended you create a separate IAM user with permissions to only operate on this Bucket. This key will be not be encrypted. Not required if `iamRole` is provided. You can provide this key via an environment variable, `FASTLY_S3_ACCESS_KEY`
1015
+ * How frequently log files are finalized so they can be available for reading (in seconds, default `3600`)
1031
1016
  */
1032
- s3AccessKey?: string;
1017
+ period?: number;
1033
1018
  /**
1034
- * The Amazon Resource Name (ARN) for the IAM role granting Fastly access to S3. Not required if `accessKey` and `secretKey` are provided. You can provide this value via an environment variable, `FASTLY_S3_IAM_ROLE`
1019
+ * The port the SFTP service listens on. (Default: `22`)
1035
1020
  */
1036
- s3IamRole?: string;
1021
+ port?: number;
1037
1022
  /**
1038
- * AWS Secret Key of an account with the required permissions to post logs. It is **strongly** recommended you create a separate IAM user with permissions to only operate on this Bucket. This secret will be not be encrypted. Not required if `iamRole` is provided. You can provide this secret via an environment variable, `FASTLY_S3_SECRET_KEY`
1023
+ * A PGP public key that Fastly will use to encrypt your log files before writing them to disk
1039
1024
  */
1040
- s3SecretKey?: string;
1025
+ publicKey?: string;
1041
1026
  /**
1042
- * Specify what type of server side encryption should be used. Can be either `AES256` or `aws:kms`
1027
+ * The SSH private key for the server. If both `password` and `secretKey` are passed, `secretKey` will be preferred
1043
1028
  */
1044
- serverSideEncryption?: string;
1029
+ secretKey?: string;
1045
1030
  /**
1046
- * Optional server-side KMS Key Id. Must be set if server*side*encryption is set to `aws:kms`
1031
+ * A list of host keys for all hosts we can connect to over SFTP
1047
1032
  */
1048
- serverSideEncryptionKmsKeyId?: string;
1033
+ sshKnownHosts: string;
1049
1034
  /**
1050
1035
  * The `strftime` specified timestamp formatting (default `%Y-%m-%dT%H:%M:%S.000`)
1051
1036
  */
1052
1037
  timestampFormat?: string;
1038
+ /**
1039
+ * The username for the server
1040
+ */
1041
+ user: string;
1053
1042
  }
1054
- export interface ServiceComputeSplunk {
1043
+ export interface ServiceComputeLoggingSplunk {
1055
1044
  /**
1056
1045
  * A unique name to identify the Splunk endpoint. It is important to note that changing this attribute will delete and recreate the resource
1057
1046
  */
@@ -1085,7 +1074,7 @@ export interface ServiceComputeSplunk {
1085
1074
  */
1086
1075
  useTls?: boolean;
1087
1076
  }
1088
- export interface ServiceComputeSumologic {
1077
+ export interface ServiceComputeLoggingSumologic {
1089
1078
  /**
1090
1079
  * How the message should be formatted. Can be either `classic`, `loggly`, `logplex` or `blank`. Default is `classic`
1091
1080
  */
@@ -1099,7 +1088,7 @@ export interface ServiceComputeSumologic {
1099
1088
  */
1100
1089
  url: string;
1101
1090
  }
1102
- export interface ServiceComputeSyslog {
1091
+ export interface ServiceComputeLoggingSyslog {
1103
1092
  /**
1104
1093
  * A hostname or IPv4 address of the Syslog endpoint
1105
1094
  */
@@ -1141,43 +1130,17 @@ export interface ServiceComputeSyslog {
1141
1130
  */
1142
1131
  useTls?: boolean;
1143
1132
  }
1144
- export interface ServiceWafConfigurationRule {
1145
- /**
1146
- * The Web Application Firewall rule's modsecurity ID
1147
- */
1148
- modsecRuleId: number;
1149
- /**
1150
- * The Web Application Firewall rule's revision. The latest revision will be used if this is not provided
1151
- */
1152
- revision: number;
1153
- /**
1154
- * The Web Application Firewall rule's status. Allowed values are (`log`, `block` and `score`)
1155
- */
1156
- status: string;
1157
- }
1158
- export interface ServiceWafConfigurationRuleExclusion {
1159
- /**
1160
- * A conditional expression in VCL used to determine if the condition is met
1161
- */
1162
- condition: string;
1163
- /**
1164
- * The type of rule exclusion. Values are `rule` to exclude the specified rule(s), or `waf` to disable the Web Application Firewall
1165
- */
1166
- exclusionType: string;
1167
- /**
1168
- * Set of modsecurity IDs to be excluded. No rules should be provided when `exclusionType` is `waf`. The rules need to be configured on the Web Application Firewall to be excluded
1169
- */
1170
- modsecRuleIds?: number[];
1133
+ export interface ServiceComputePackage {
1171
1134
  /**
1172
- * The name of rule exclusion
1135
+ * The path to the Wasm deployment package within your local filesystem
1173
1136
  */
1174
- name: string;
1137
+ filename: string;
1175
1138
  /**
1176
- * The numeric ID assigned to the WAF Rule Exclusion
1139
+ * Used to trigger updates. Must be set to a SHA512 hash of the package file specified with the filename.
1177
1140
  */
1178
- number: number;
1141
+ sourceCodeHash: string;
1179
1142
  }
1180
- export interface Servicev1Acl {
1143
+ export interface ServiceVclAcl {
1181
1144
  /**
1182
1145
  * The ID of the ACL
1183
1146
  */
@@ -1191,13 +1154,13 @@ export interface Servicev1Acl {
1191
1154
  */
1192
1155
  name: string;
1193
1156
  }
1194
- export interface Servicev1Backend {
1157
+ export interface ServiceVclBackend {
1195
1158
  /**
1196
1159
  * An IPv4, hostname, or IPv6 address for the Backend
1197
1160
  */
1198
1161
  address: string;
1199
1162
  /**
1200
- * Denotes if this Backend should be included in the pool of backends that requests are load balanced against. Default `true`
1163
+ * Denotes if this Backend should be included in the pool of backends that requests are load balanced against. Default `false`
1201
1164
  */
1202
1165
  autoLoadbalance?: boolean;
1203
1166
  /**
@@ -1295,121 +1258,13 @@ export interface Servicev1Backend {
1295
1258
  */
1296
1259
  weight?: number;
1297
1260
  }
1298
- export interface Servicev1Bigquerylogging {
1261
+ export interface ServiceVclCacheSetting {
1299
1262
  /**
1300
- * The ID of your BigQuery dataset
1263
+ * One of cache, pass, or restart, as defined on Fastly's documentation under "[Caching action descriptions](https://docs.fastly.com/en/guides/controlling-caching#caching-action-descriptions)"
1301
1264
  */
1302
- dataset: string;
1265
+ action?: string;
1303
1266
  /**
1304
- * The email for the service account with write access to your BigQuery dataset. If not provided, this will be pulled from a `FASTLY_BQ_EMAIL` environment variable
1305
- */
1306
- email: string;
1307
- /**
1308
- * The logging format desired.
1309
- */
1310
- format?: string;
1311
- /**
1312
- * A unique name to identify this BigQuery logging endpoint. It is important to note that changing this attribute will delete and recreate the resource
1313
- */
1314
- name: string;
1315
- /**
1316
- * Where in the generated VCL the logging call should be placed.
1317
- */
1318
- placement?: string;
1319
- /**
1320
- * The ID of your GCP project
1321
- */
1322
- projectId: string;
1323
- /**
1324
- * Name of a condition to apply this logging.
1325
- */
1326
- responseCondition?: string;
1327
- /**
1328
- * The secret key associated with the service account that has write access to your BigQuery table. If not provided, this will be pulled from the `FASTLY_BQ_SECRET_KEY` environment variable. Typical format for this is a private key in a string with newlines
1329
- */
1330
- secretKey: string;
1331
- /**
1332
- * The ID of your BigQuery table
1333
- */
1334
- table: string;
1335
- /**
1336
- * BigQuery table name suffix template
1337
- */
1338
- template?: string;
1339
- }
1340
- export interface Servicev1Blobstoragelogging {
1341
- /**
1342
- * The unique Azure Blob Storage namespace in which your data objects are stored
1343
- */
1344
- accountName: string;
1345
- /**
1346
- * The codec used for compression of your logs. Valid values are zstd, snappy, and gzip. If the specified codec is "gzip", gzip*level will default to 3. To specify a different level, leave compression*codec blank and explicitly set the level using gzip*level. Specifying both compression*codec and gzipLevel in the same API request will result in an error.
1347
- */
1348
- compressionCodec?: string;
1349
- /**
1350
- * The name of the Azure Blob Storage container in which to store logs
1351
- */
1352
- container: string;
1353
- /**
1354
- * Maximum size of an uploaded log file, if non-zero.
1355
- */
1356
- fileMaxBytes?: number;
1357
- /**
1358
- * Apache-style string or VCL variables to use for log formatting (default: `%h %l %u %t "%r" %>s %b`)
1359
- */
1360
- format?: string;
1361
- /**
1362
- * The version of the custom logging format used for the configured endpoint. Can be either 1 or 2. (default: 2)
1363
- */
1364
- formatVersion?: number;
1365
- /**
1366
- * Level of Gzip compression from `0-9`. `0` means no compression. `1` is the fastest and the least compressed version, `9` is the slowest and the most compressed version. Default `0`
1367
- */
1368
- gzipLevel?: number;
1369
- /**
1370
- * How the message should be formatted. Can be either `classic`, `loggly`, `logplex` or `blank`. Default is `classic`
1371
- */
1372
- messageType?: string;
1373
- /**
1374
- * A unique name to identify the Azure Blob Storage endpoint. It is important to note that changing this attribute will delete and recreate the resource
1375
- */
1376
- name: string;
1377
- /**
1378
- * The path to upload logs to. Must end with a trailing slash. If this field is left empty, the files will be saved in the container's root path
1379
- */
1380
- path?: string;
1381
- /**
1382
- * How frequently the logs should be transferred in seconds. Default `3600`
1383
- */
1384
- period?: number;
1385
- /**
1386
- * Where in the generated VCL the logging call should be placed
1387
- */
1388
- placement?: string;
1389
- /**
1390
- * A PGP public key that Fastly will use to encrypt your log files before writing them to disk
1391
- */
1392
- publicKey?: string;
1393
- /**
1394
- * The name of the condition to apply
1395
- */
1396
- responseCondition?: string;
1397
- /**
1398
- * The Azure shared access signature providing write access to the blob service objects. Be sure to update your token before it expires or the logging functionality will not work
1399
- */
1400
- sasToken: string;
1401
- /**
1402
- * The `strftime` specified timestamp formatting (default `%Y-%m-%dT%H:%M:%S.000`)
1403
- */
1404
- timestampFormat?: string;
1405
- }
1406
- export interface Servicev1CacheSetting {
1407
- /**
1408
- * One of cache, pass, or restart, as defined on Fastly's documentation under "[Caching action descriptions](https://docs.fastly.com/en/guides/controlling-caching#caching-action-descriptions)"
1409
- */
1410
- action?: string;
1411
- /**
1412
- * Name of already defined `condition` used to test whether this settings object should be used. This `condition` must be of type `CACHE`
1267
+ * Name of already defined `condition` used to test whether this settings object should be used. This `condition` must be of type `CACHE`
1413
1268
  */
1414
1269
  cacheCondition?: string;
1415
1270
  /**
@@ -1425,7 +1280,7 @@ export interface Servicev1CacheSetting {
1425
1280
  */
1426
1281
  ttl?: number;
1427
1282
  }
1428
- export interface Servicev1Condition {
1283
+ export interface ServiceVclCondition {
1429
1284
  /**
1430
1285
  * The unique name for the condition. It is important to note that changing this attribute will delete and recreate the resource
1431
1286
  */
@@ -1443,7 +1298,7 @@ export interface Servicev1Condition {
1443
1298
  */
1444
1299
  type: string;
1445
1300
  }
1446
- export interface Servicev1Dictionary {
1301
+ export interface ServiceVclDictionary {
1447
1302
  /**
1448
1303
  * The ID of the dictionary
1449
1304
  */
@@ -1456,20 +1311,13 @@ export interface Servicev1Dictionary {
1456
1311
  * A unique name to identify this dictionary. It is important to note that changing this attribute will delete and recreate the dictionary, and discard the current items in the dictionary
1457
1312
  */
1458
1313
  name: string;
1459
- /**
1460
- * If `true`, the dictionary is a [private dictionary](https://docs.fastly.com/en/guides/private-dictionaries). Default is `false`. Please note that changing this attribute will delete and recreate the dictionary, and discard the current items in the dictionary. `fastly.Servicev1` resource will only manage the dictionary object itself, and items under private dictionaries can not be managed using `fastly.ServiceDictionaryItemsv1` resource. Therefore, using a write-only/private dictionary should only be done if the items are managed outside of his provider.
1461
- */
1462
1314
  writeOnly?: boolean;
1463
1315
  }
1464
- export interface Servicev1Director {
1316
+ export interface ServiceVclDirector {
1465
1317
  /**
1466
1318
  * Names of defined backends to map the director to. Example: `[ "origin1", "origin2" ]`
1467
1319
  */
1468
1320
  backends: string[];
1469
- /**
1470
- * Load balancing weight for the backends. Default `100`
1471
- */
1472
- capacity?: number;
1473
1321
  /**
1474
1322
  * An optional comment about the Director
1475
1323
  */
@@ -1495,7 +1343,7 @@ export interface Servicev1Director {
1495
1343
  */
1496
1344
  type?: number;
1497
1345
  }
1498
- export interface Servicev1Domain {
1346
+ export interface ServiceVclDomain {
1499
1347
  /**
1500
1348
  * An optional comment about the Domain.
1501
1349
  */
@@ -1505,7 +1353,7 @@ export interface Servicev1Domain {
1505
1353
  */
1506
1354
  name: string;
1507
1355
  }
1508
- export interface Servicev1Dynamicsnippet {
1356
+ export interface ServiceVclDynamicsnippet {
1509
1357
  /**
1510
1358
  * A name that is unique across "regular" and "dynamic" VCL Snippet configuration blocks. It is important to note that changing this attribute will delete and recreate the resource
1511
1359
  */
@@ -1523,61 +1371,7 @@ export interface Servicev1Dynamicsnippet {
1523
1371
  */
1524
1372
  type: string;
1525
1373
  }
1526
- export interface Servicev1Gcslogging {
1527
- /**
1528
- * The name of the bucket in which to store the logs
1529
- */
1530
- bucketName: string;
1531
- /**
1532
- * The codec used for compression of your logs. Valid values are zstd, snappy, and gzip. If the specified codec is "gzip", gzip*level will default to 3. To specify a different level, leave compression*codec blank and explicitly set the level using gzip*level. Specifying both compression*codec and gzipLevel in the same API request will result in an error.
1533
- */
1534
- compressionCodec?: string;
1535
- /**
1536
- * The email address associated with the target GCS bucket on your account. You may optionally provide this secret via an environment variable, `FASTLY_GCS_EMAIL`
1537
- */
1538
- email?: string;
1539
- /**
1540
- * Apache-style string or VCL variables to use for log formatting
1541
- */
1542
- format?: string;
1543
- /**
1544
- * Level of Gzip compression from `0-9`. `0` means no compression. `1` is the fastest and the least compressed version, `9` is the slowest and the most compressed version. Default `0`
1545
- */
1546
- gzipLevel?: number;
1547
- /**
1548
- * How the message should be formatted. Can be either `classic`, `loggly`, `logplex` or `blank`. Default is `classic`
1549
- */
1550
- messageType?: string;
1551
- /**
1552
- * A unique name to identify this GCS endpoint. It is important to note that changing this attribute will delete and recreate the resource
1553
- */
1554
- name: string;
1555
- /**
1556
- * Path to store the files. Must end with a trailing slash. If this field is left empty, the files will be saved in the bucket's root path
1557
- */
1558
- path?: string;
1559
- /**
1560
- * How frequently the logs should be transferred, in seconds (Default 3600)
1561
- */
1562
- period?: number;
1563
- /**
1564
- * Where in the generated VCL the logging call should be placed.
1565
- */
1566
- placement?: string;
1567
- /**
1568
- * Name of a condition to apply this logging.
1569
- */
1570
- responseCondition?: string;
1571
- /**
1572
- * The secret key associated with the target gcs bucket on your account. You may optionally provide this secret via an environment variable, `FASTLY_GCS_SECRET_KEY`. A typical format for the key is PEM format, containing actual newline characters where required
1573
- */
1574
- secretKey?: string;
1575
- /**
1576
- * The `strftime` specified timestamp formatting (default `%Y-%m-%dT%H:%M:%S.000`)
1577
- */
1578
- timestampFormat?: string;
1579
- }
1580
- export interface Servicev1Gzip {
1374
+ export interface ServiceVclGzip {
1581
1375
  /**
1582
1376
  * Name of already defined `condition` controlling when this gzip configuration applies. This `condition` must be of type `CACHE`. For detailed information about Conditionals, see [Fastly's Documentation on Conditionals](https://docs.fastly.com/en/guides/using-conditions)
1583
1377
  */
@@ -1595,7 +1389,7 @@ export interface Servicev1Gzip {
1595
1389
  */
1596
1390
  name: string;
1597
1391
  }
1598
- export interface Servicev1Header {
1392
+ export interface ServiceVclHeader {
1599
1393
  /**
1600
1394
  * The Header manipulation action to take; must be one of `set`, `append`, `delete`, `regex`, or `regexRepeat`
1601
1395
  */
@@ -1645,7 +1439,7 @@ export interface Servicev1Header {
1645
1439
  */
1646
1440
  type: string;
1647
1441
  }
1648
- export interface Servicev1Healthcheck {
1442
+ export interface ServiceVclHealthcheck {
1649
1443
  /**
1650
1444
  * How often to run the Healthcheck in milliseconds. Default `5000`
1651
1445
  */
@@ -1691,115 +1485,115 @@ export interface Servicev1Healthcheck {
1691
1485
  */
1692
1486
  window?: number;
1693
1487
  }
1694
- export interface Servicev1Httpslogging {
1488
+ export interface ServiceVclLoggingBigquery {
1695
1489
  /**
1696
- * Value of the `Content-Type` header sent with the request
1490
+ * The ID of your BigQuery dataset
1697
1491
  */
1698
- contentType?: string;
1492
+ dataset: string;
1699
1493
  /**
1700
- * Apache-style string or VCL variables to use for log formatting.
1494
+ * The email for the service account with write access to your BigQuery dataset. If not provided, this will be pulled from a `FASTLY_BQ_EMAIL` environment variable
1701
1495
  */
1702
- format?: string;
1496
+ email: string;
1703
1497
  /**
1704
- * The version of the custom logging format used for the configured endpoint. Can be either 1 or 2. (default: 2)
1498
+ * The logging format desired.
1705
1499
  */
1706
- formatVersion?: number;
1500
+ format?: string;
1707
1501
  /**
1708
- * Custom header sent with the request
1502
+ * A unique name to identify this BigQuery logging endpoint. It is important to note that changing this attribute will delete and recreate the resource
1709
1503
  */
1710
- headerName?: string;
1504
+ name: string;
1711
1505
  /**
1712
- * Value of the custom header sent with the request
1506
+ * Where in the generated VCL the logging call should be placed.
1713
1507
  */
1714
- headerValue?: string;
1508
+ placement?: string;
1715
1509
  /**
1716
- * Formats log entries as JSON. Can be either disabled (`0`), array of json (`1`), or newline delimited json (`2`)
1510
+ * The ID of your GCP project
1717
1511
  */
1718
- jsonFormat?: string;
1512
+ projectId: string;
1719
1513
  /**
1720
- * How the message should be formatted. Can be either `classic`, `loggly`, `logplex` or `blank`. Default is `classic`
1514
+ * Name of a condition to apply this logging.
1721
1515
  */
1722
- messageType?: string;
1516
+ responseCondition?: string;
1723
1517
  /**
1724
- * HTTP method used for request. Can be either `POST` or `PUT`. Default `POST`
1518
+ * The secret key associated with the service account that has write access to your BigQuery table. If not provided, this will be pulled from the `FASTLY_BQ_SECRET_KEY` environment variable. Typical format for this is a private key in a string with newlines
1725
1519
  */
1726
- method?: string;
1520
+ secretKey: string;
1727
1521
  /**
1728
- * The unique name of the HTTPS logging endpoint. It is important to note that changing this attribute will delete and recreate the resource
1522
+ * The ID of your BigQuery table
1729
1523
  */
1730
- name: string;
1524
+ table: string;
1731
1525
  /**
1732
- * Where in the generated VCL the logging call should be placed
1526
+ * BigQuery table name suffix template
1733
1527
  */
1734
- placement?: string;
1528
+ template?: string;
1529
+ }
1530
+ export interface ServiceVclLoggingBlobstorage {
1735
1531
  /**
1736
- * The maximum number of bytes sent in one request
1532
+ * The unique Azure Blob Storage namespace in which your data objects are stored
1737
1533
  */
1738
- requestMaxBytes?: number;
1534
+ accountName: string;
1739
1535
  /**
1740
- * The maximum number of logs sent in one request
1536
+ * The codec used for compression of your logs. Valid values are zstd, snappy, and gzip. If the specified codec is "gzip", gzip*level will default to 3. To specify a different level, leave compression*codec blank and explicitly set the level using gzip*level. Specifying both compression*codec and gzipLevel in the same API request will result in an error.
1741
1537
  */
1742
- requestMaxEntries?: number;
1538
+ compressionCodec?: string;
1743
1539
  /**
1744
- * The name of the condition to apply
1540
+ * The name of the Azure Blob Storage container in which to store logs
1745
1541
  */
1746
- responseCondition?: string;
1542
+ container: string;
1747
1543
  /**
1748
- * A secure certificate to authenticate the server with. Must be in PEM format
1544
+ * Maximum size of an uploaded log file, if non-zero.
1749
1545
  */
1750
- tlsCaCert?: string;
1546
+ fileMaxBytes?: number;
1751
1547
  /**
1752
- * The client certificate used to make authenticated requests. Must be in PEM format
1548
+ * Apache-style string or VCL variables to use for log formatting (default: `%h %l %u %t "%r" %>s %b`)
1753
1549
  */
1754
- tlsClientCert?: string;
1550
+ format?: string;
1755
1551
  /**
1756
- * The client private key used to make authenticated requests. Must be in PEM format
1552
+ * The version of the custom logging format used for the configured endpoint. Can be either 1 or 2. (default: 2)
1757
1553
  */
1758
- tlsClientKey?: string;
1554
+ formatVersion?: number;
1759
1555
  /**
1760
- * Used during the TLS handshake to validate the certificate
1556
+ * Level of Gzip compression from `0-9`. `0` means no compression. `1` is the fastest and the least compressed version, `9` is the slowest and the most compressed version. Default `0`
1761
1557
  */
1762
- tlsHostname?: string;
1558
+ gzipLevel?: number;
1763
1559
  /**
1764
- * URL that log data will be sent to. Must use the https protocol
1560
+ * How the message should be formatted. Can be either `classic`, `loggly`, `logplex` or `blank`. Default is `classic`
1765
1561
  */
1766
- url: string;
1767
- }
1768
- export interface Servicev1Logentry {
1562
+ messageType?: string;
1769
1563
  /**
1770
- * Apache-style string or VCL variables to use for log formatting
1564
+ * A unique name to identify the Azure Blob Storage endpoint. It is important to note that changing this attribute will delete and recreate the resource
1771
1565
  */
1772
- format?: string;
1566
+ name: string;
1773
1567
  /**
1774
- * The version of the custom logging format used for the configured endpoint. Can be either 1 or 2. (Default: 1)
1568
+ * The path to upload logs to. Must end with a trailing slash. If this field is left empty, the files will be saved in the container's root path
1775
1569
  */
1776
- formatVersion?: number;
1570
+ path?: string;
1777
1571
  /**
1778
- * The unique name of the Logentries logging endpoint. It is important to note that changing this attribute will delete and recreate the resource
1572
+ * How frequently the logs should be transferred in seconds. Default `3600`
1779
1573
  */
1780
- name: string;
1574
+ period?: number;
1781
1575
  /**
1782
- * Where in the generated VCL the logging call should be placed.
1576
+ * Where in the generated VCL the logging call should be placed
1783
1577
  */
1784
1578
  placement?: string;
1785
1579
  /**
1786
- * The port number configured in Logentries
1580
+ * A PGP public key that Fastly will use to encrypt your log files before writing them to disk
1787
1581
  */
1788
- port?: number;
1582
+ publicKey?: string;
1789
1583
  /**
1790
- * Name of blockAttributes condition to apply this logging.
1584
+ * The name of the condition to apply
1791
1585
  */
1792
1586
  responseCondition?: string;
1793
1587
  /**
1794
- * Use token based authentication (https://logentries.com/doc/input-token/)
1588
+ * The Azure shared access signature providing write access to the blob service objects. Be sure to update your token before it expires or the logging functionality will not work
1795
1589
  */
1796
- token: string;
1590
+ sasToken: string;
1797
1591
  /**
1798
- * Whether to use TLS for secure logging
1592
+ * The `strftime` specified timestamp formatting (default `%Y-%m-%dT%H:%M:%S.000`)
1799
1593
  */
1800
- useTls?: boolean;
1594
+ timestampFormat?: string;
1801
1595
  }
1802
- export interface Servicev1LoggingCloudfile {
1596
+ export interface ServiceVclLoggingCloudfile {
1803
1597
  /**
1804
1598
  * Your Cloud File account access key
1805
1599
  */
@@ -1865,7 +1659,7 @@ export interface Servicev1LoggingCloudfile {
1865
1659
  */
1866
1660
  user: string;
1867
1661
  }
1868
- export interface Servicev1LoggingDatadog {
1662
+ export interface ServiceVclLoggingDatadog {
1869
1663
  /**
1870
1664
  * Apache-style string or VCL variables to use for log formatting.
1871
1665
  */
@@ -1895,7 +1689,7 @@ export interface Servicev1LoggingDatadog {
1895
1689
  */
1896
1690
  token: string;
1897
1691
  }
1898
- export interface Servicev1LoggingDigitalocean {
1692
+ export interface ServiceVclLoggingDigitalocean {
1899
1693
  /**
1900
1694
  * Your DigitalOcean Spaces account access key
1901
1695
  */
@@ -1961,7 +1755,7 @@ export interface Servicev1LoggingDigitalocean {
1961
1755
  */
1962
1756
  timestampFormat?: string;
1963
1757
  }
1964
- export interface Servicev1LoggingElasticsearch {
1758
+ export interface ServiceVclLoggingElasticsearch {
1965
1759
  /**
1966
1760
  * Apache-style string or VCL variables to use for log formatting.
1967
1761
  */
@@ -2027,7 +1821,7 @@ export interface Servicev1LoggingElasticsearch {
2027
1821
  */
2028
1822
  user?: string;
2029
1823
  }
2030
- export interface Servicev1LoggingFtp {
1824
+ export interface ServiceVclLoggingFtp {
2031
1825
  /**
2032
1826
  * The FTP address to stream logs to
2033
1827
  */
@@ -2093,7 +1887,65 @@ export interface Servicev1LoggingFtp {
2093
1887
  */
2094
1888
  user: string;
2095
1889
  }
2096
- export interface Servicev1LoggingGooglepubsub {
1890
+ export interface ServiceVclLoggingGc {
1891
+ /**
1892
+ * The name of the bucket in which to store the logs
1893
+ */
1894
+ bucketName: string;
1895
+ /**
1896
+ * The codec used for compression of your logs. Valid values are zstd, snappy, and gzip. If the specified codec is "gzip", gzip*level will default to 3. To specify a different level, leave compression*codec blank and explicitly set the level using gzip*level. Specifying both compression*codec and gzipLevel in the same API request will result in an error.
1897
+ */
1898
+ compressionCodec?: string;
1899
+ /**
1900
+ * Apache-style string or VCL variables to use for log formatting
1901
+ */
1902
+ format?: string;
1903
+ /**
1904
+ * The version of the custom logging format used for the configured endpoint. Can be either 1 or 2. (Default: 2)
1905
+ */
1906
+ formatVersion?: number;
1907
+ /**
1908
+ * Level of Gzip compression from `0-9`. `0` means no compression. `1` is the fastest and the least compressed version, `9` is the slowest and the most compressed version. Default `0`
1909
+ */
1910
+ gzipLevel?: number;
1911
+ /**
1912
+ * How the message should be formatted. Can be either `classic`, `loggly`, `logplex` or `blank`. Default is `classic`
1913
+ */
1914
+ messageType?: string;
1915
+ /**
1916
+ * A unique name to identify this GCS endpoint. It is important to note that changing this attribute will delete and recreate the resource
1917
+ */
1918
+ name: string;
1919
+ /**
1920
+ * Path to store the files. Must end with a trailing slash. If this field is left empty, the files will be saved in the bucket's root path
1921
+ */
1922
+ path?: string;
1923
+ /**
1924
+ * How frequently the logs should be transferred, in seconds (Default 3600)
1925
+ */
1926
+ period?: number;
1927
+ /**
1928
+ * Where in the generated VCL the logging call should be placed.
1929
+ */
1930
+ placement?: string;
1931
+ /**
1932
+ * Name of a condition to apply this logging.
1933
+ */
1934
+ responseCondition?: string;
1935
+ /**
1936
+ * The secret key associated with the target gcs bucket on your account. You may optionally provide this secret via an environment variable, `FASTLY_GCS_SECRET_KEY`. A typical format for the key is PEM format, containing actual newline characters where required
1937
+ */
1938
+ secretKey?: string;
1939
+ /**
1940
+ * The `strftime` specified timestamp formatting (default `%Y-%m-%dT%H:%M:%S.000`)
1941
+ */
1942
+ timestampFormat?: string;
1943
+ /**
1944
+ * Your Google Cloud Platform service account email address. The `clientEmail` field in your service account authentication JSON. You may optionally provide this via an environment variable, `FASTLY_GCS_EMAIL`.
1945
+ */
1946
+ user?: string;
1947
+ }
1948
+ export interface ServiceVclLoggingGooglepubsub {
2097
1949
  /**
2098
1950
  * Apache style log formatting.
2099
1951
  */
@@ -2131,7 +1983,7 @@ export interface Servicev1LoggingGooglepubsub {
2131
1983
  */
2132
1984
  user: string;
2133
1985
  }
2134
- export interface Servicev1LoggingHeroku {
1986
+ export interface ServiceVclLoggingHerokus {
2135
1987
  /**
2136
1988
  * Apache-style string or VCL variables to use for log formatting.
2137
1989
  */
@@ -2149,49 +2001,123 @@ export interface Servicev1LoggingHeroku {
2149
2001
  */
2150
2002
  placement?: string;
2151
2003
  /**
2152
- * The name of an existing condition in the configured endpoint, or leave blank to always execute.
2004
+ * The name of an existing condition in the configured endpoint, or leave blank to always execute.
2005
+ */
2006
+ responseCondition?: string;
2007
+ /**
2008
+ * The token to use for authentication (https://www.heroku.com/docs/customer-token-authentication-token/)
2009
+ */
2010
+ token: string;
2011
+ /**
2012
+ * The URL to stream logs to
2013
+ */
2014
+ url: string;
2015
+ }
2016
+ export interface ServiceVclLoggingHoneycomb {
2017
+ /**
2018
+ * The Honeycomb Dataset you want to log to
2019
+ */
2020
+ dataset: string;
2021
+ /**
2022
+ * Apache style log formatting. Your log must produce valid JSON that Honeycomb can ingest.
2023
+ */
2024
+ format?: string;
2025
+ /**
2026
+ * The version of the custom logging format used for the configured endpoint. Can be either `1` or `2`. (default: `2`).
2027
+ */
2028
+ formatVersion?: number;
2029
+ /**
2030
+ * The unique name of the Honeycomb logging endpoint. It is important to note that changing this attribute will delete and recreate the resource
2031
+ */
2032
+ name: string;
2033
+ /**
2034
+ * Where in the generated VCL the logging call should be placed. Can be `none` or `wafDebug`.
2035
+ */
2036
+ placement?: string;
2037
+ /**
2038
+ * The name of an existing condition in the configured endpoint, or leave blank to always execute.
2039
+ */
2040
+ responseCondition?: string;
2041
+ /**
2042
+ * The Write Key from the Account page of your Honeycomb account
2043
+ */
2044
+ token: string;
2045
+ }
2046
+ export interface ServiceVclLoggingHttp {
2047
+ /**
2048
+ * Value of the `Content-Type` header sent with the request
2049
+ */
2050
+ contentType?: string;
2051
+ /**
2052
+ * Apache-style string or VCL variables to use for log formatting.
2053
+ */
2054
+ format?: string;
2055
+ /**
2056
+ * The version of the custom logging format used for the configured endpoint. Can be either 1 or 2. (default: 2)
2057
+ */
2058
+ formatVersion?: number;
2059
+ /**
2060
+ * Custom header sent with the request
2061
+ */
2062
+ headerName?: string;
2063
+ /**
2064
+ * Value of the custom header sent with the request
2065
+ */
2066
+ headerValue?: string;
2067
+ /**
2068
+ * Formats log entries as JSON. Can be either disabled (`0`), array of json (`1`), or newline delimited json (`2`)
2069
+ */
2070
+ jsonFormat?: string;
2071
+ /**
2072
+ * How the message should be formatted. Can be either `classic`, `loggly`, `logplex` or `blank`. Default is `classic`
2073
+ */
2074
+ messageType?: string;
2075
+ /**
2076
+ * HTTP method used for request. Can be either `POST` or `PUT`. Default `POST`
2077
+ */
2078
+ method?: string;
2079
+ /**
2080
+ * The unique name of the HTTPS logging endpoint. It is important to note that changing this attribute will delete and recreate the resource
2153
2081
  */
2154
- responseCondition?: string;
2082
+ name: string;
2155
2083
  /**
2156
- * The token to use for authentication (https://www.heroku.com/docs/customer-token-authentication-token/)
2084
+ * Where in the generated VCL the logging call should be placed
2157
2085
  */
2158
- token: string;
2086
+ placement?: string;
2159
2087
  /**
2160
- * The URL to stream logs to
2088
+ * The maximum number of bytes sent in one request
2161
2089
  */
2162
- url: string;
2163
- }
2164
- export interface Servicev1LoggingHoneycomb {
2090
+ requestMaxBytes?: number;
2165
2091
  /**
2166
- * The Honeycomb Dataset you want to log to
2092
+ * The maximum number of logs sent in one request
2167
2093
  */
2168
- dataset: string;
2094
+ requestMaxEntries?: number;
2169
2095
  /**
2170
- * Apache style log formatting. Your log must produce valid JSON that Honeycomb can ingest.
2096
+ * The name of the condition to apply
2171
2097
  */
2172
- format?: string;
2098
+ responseCondition?: string;
2173
2099
  /**
2174
- * The version of the custom logging format used for the configured endpoint. Can be either `1` or `2`. (default: `2`).
2100
+ * A secure certificate to authenticate the server with. Must be in PEM format
2175
2101
  */
2176
- formatVersion?: number;
2102
+ tlsCaCert?: string;
2177
2103
  /**
2178
- * The unique name of the Honeycomb logging endpoint. It is important to note that changing this attribute will delete and recreate the resource
2104
+ * The client certificate used to make authenticated requests. Must be in PEM format
2179
2105
  */
2180
- name: string;
2106
+ tlsClientCert?: string;
2181
2107
  /**
2182
- * Where in the generated VCL the logging call should be placed. Can be `none` or `wafDebug`.
2108
+ * The client private key used to make authenticated requests. Must be in PEM format
2183
2109
  */
2184
- placement?: string;
2110
+ tlsClientKey?: string;
2185
2111
  /**
2186
- * The name of an existing condition in the configured endpoint, or leave blank to always execute.
2112
+ * Used during the TLS handshake to validate the certificate
2187
2113
  */
2188
- responseCondition?: string;
2114
+ tlsHostname?: string;
2189
2115
  /**
2190
- * The Write Key from the Account page of your Honeycomb account
2116
+ * URL that log data will be sent to. Must use the https protocol
2191
2117
  */
2192
- token: string;
2118
+ url: string;
2193
2119
  }
2194
- export interface Servicev1LoggingKafka {
2120
+ export interface ServiceVclLoggingKafka {
2195
2121
  /**
2196
2122
  * SASL authentication method. One of: plain, scram-sha-256, scram-sha-512
2197
2123
  */
@@ -2269,7 +2195,7 @@ export interface Servicev1LoggingKafka {
2269
2195
  */
2270
2196
  user?: string;
2271
2197
  }
2272
- export interface Servicev1LoggingKinese {
2198
+ export interface ServiceVclLoggingKinese {
2273
2199
  /**
2274
2200
  * The AWS access key to be used to write to the stream
2275
2201
  */
@@ -2311,7 +2237,41 @@ export interface Servicev1LoggingKinese {
2311
2237
  */
2312
2238
  topic: string;
2313
2239
  }
2314
- export interface Servicev1LoggingLoggly {
2240
+ export interface ServiceVclLoggingLogentry {
2241
+ /**
2242
+ * Apache-style string or VCL variables to use for log formatting
2243
+ */
2244
+ format?: string;
2245
+ /**
2246
+ * The version of the custom logging format used for the configured endpoint. Can be either 1 or 2. (Default: 2)
2247
+ */
2248
+ formatVersion?: number;
2249
+ /**
2250
+ * The unique name of the Logentries logging endpoint. It is important to note that changing this attribute will delete and recreate the resource
2251
+ */
2252
+ name: string;
2253
+ /**
2254
+ * Where in the generated VCL the logging call should be placed.
2255
+ */
2256
+ placement?: string;
2257
+ /**
2258
+ * The port number configured in Logentries
2259
+ */
2260
+ port?: number;
2261
+ /**
2262
+ * Name of blockAttributes condition to apply this logging.
2263
+ */
2264
+ responseCondition?: string;
2265
+ /**
2266
+ * Use token based authentication (https://logentries.com/doc/input-token/)
2267
+ */
2268
+ token: string;
2269
+ /**
2270
+ * Whether to use TLS for secure logging
2271
+ */
2272
+ useTls?: boolean;
2273
+ }
2274
+ export interface ServiceVclLoggingLoggly {
2315
2275
  /**
2316
2276
  * Apache-style string or VCL variables to use for log formatting.
2317
2277
  */
@@ -2337,7 +2297,7 @@ export interface Servicev1LoggingLoggly {
2337
2297
  */
2338
2298
  token: string;
2339
2299
  }
2340
- export interface Servicev1LoggingLogshuttle {
2300
+ export interface ServiceVclLoggingLogshuttle {
2341
2301
  /**
2342
2302
  * Apache style log formatting.
2343
2303
  */
@@ -2367,7 +2327,7 @@ export interface Servicev1LoggingLogshuttle {
2367
2327
  */
2368
2328
  url: string;
2369
2329
  }
2370
- export interface Servicev1LoggingNewrelic {
2330
+ export interface ServiceVclLoggingNewrelic {
2371
2331
  /**
2372
2332
  * Apache style log formatting. Your log must produce valid JSON that New Relic Logs can ingest.
2373
2333
  */
@@ -2397,7 +2357,7 @@ export interface Servicev1LoggingNewrelic {
2397
2357
  */
2398
2358
  token: string;
2399
2359
  }
2400
- export interface Servicev1LoggingOpenstack {
2360
+ export interface ServiceVclLoggingOpenstack {
2401
2361
  /**
2402
2362
  * Your OpenStack account access key
2403
2363
  */
@@ -2463,223 +2423,37 @@ export interface Servicev1LoggingOpenstack {
2463
2423
  */
2464
2424
  user: string;
2465
2425
  }
2466
- export interface Servicev1LoggingScalyr {
2467
- /**
2468
- * Apache style log formatting.
2469
- */
2470
- format?: string;
2471
- /**
2472
- * The version of the custom logging format used for the configured endpoint. Can be either 1 or 2. (default: 2).
2473
- */
2474
- formatVersion?: number;
2475
- /**
2476
- * The unique name of the Scalyr logging endpoint. It is important to note that changing this attribute will delete and recreate the resource
2477
- */
2478
- name: string;
2479
- /**
2480
- * Where in the generated VCL the logging call should be placed.
2481
- */
2482
- placement?: string;
2483
- /**
2484
- * The region that log data will be sent to. One of `US` or `EU`. Defaults to `US` if undefined
2485
- */
2486
- region?: string;
2487
- /**
2488
- * The name of an existing condition in the configured endpoint, or leave blank to always execute.
2489
- */
2490
- responseCondition?: string;
2491
- /**
2492
- * The token to use for authentication (https://www.scalyr.com/keys)
2493
- */
2494
- token: string;
2495
- }
2496
- export interface Servicev1LoggingSftp {
2497
- /**
2498
- * The SFTP address to stream logs to
2499
- */
2500
- address: string;
2501
- /**
2502
- * The codec used for compression of your logs. Valid values are zstd, snappy, and gzip. If the specified codec is "gzip", gzip*level will default to 3. To specify a different level, leave compression*codec blank and explicitly set the level using gzip*level. Specifying both compression*codec and gzipLevel in the same API request will result in an error.
2503
- */
2504
- compressionCodec?: string;
2505
- /**
2506
- * Apache-style string or VCL variables to use for log formatting.
2507
- */
2508
- format?: string;
2509
- /**
2510
- * The version of the custom logging format used for the configured endpoint. Can be either 1 or 2. (default: 2).
2511
- */
2512
- formatVersion?: number;
2513
- /**
2514
- * Level of Gzip compression from `0-9`. `0` means no compression. `1` is the fastest and the least compressed version, `9` is the slowest and the most compressed version. Default `0`
2515
- */
2516
- gzipLevel?: number;
2517
- /**
2518
- * How the message should be formatted. Can be either `classic`, `loggly`, `logplex` or `blank`. Default is `classic`
2519
- */
2520
- messageType?: string;
2521
- /**
2522
- * The unique name of the SFTP logging endpoint. It is important to note that changing this attribute will delete and recreate the resource
2523
- */
2524
- name: string;
2525
- /**
2526
- * The password for the server. If both `password` and `secretKey` are passed, `secretKey` will be preferred
2527
- */
2528
- password?: string;
2529
- /**
2530
- * The path to upload log files to. If the path ends in `/` then it is treated as a directory
2531
- */
2532
- path: string;
2533
- /**
2534
- * How frequently log files are finalized so they can be available for reading (in seconds, default `3600`)
2535
- */
2536
- period?: number;
2537
- /**
2538
- * Where in the generated VCL the logging call should be placed.
2539
- */
2540
- placement?: string;
2541
- /**
2542
- * The port the SFTP service listens on. (Default: `22`)
2543
- */
2544
- port?: number;
2545
- /**
2546
- * A PGP public key that Fastly will use to encrypt your log files before writing them to disk
2547
- */
2548
- publicKey?: string;
2549
- /**
2550
- * The name of the condition to apply.
2551
- */
2552
- responseCondition?: string;
2553
- /**
2554
- * The SSH private key for the server. If both `password` and `secretKey` are passed, `secretKey` will be preferred
2555
- */
2556
- secretKey?: string;
2557
- /**
2558
- * A list of host keys for all hosts we can connect to over SFTP
2559
- */
2560
- sshKnownHosts: string;
2561
- /**
2562
- * The `strftime` specified timestamp formatting (default `%Y-%m-%dT%H:%M:%S.000`)
2563
- */
2564
- timestampFormat?: string;
2565
- /**
2566
- * The username for the server
2567
- */
2568
- user: string;
2569
- }
2570
- export interface Servicev1Papertrail {
2426
+ export interface ServiceVclLoggingPapertrail {
2571
2427
  /**
2572
2428
  * The address of the Papertrail endpoint
2573
2429
  */
2574
- address: string;
2575
- /**
2576
- * A Fastly [log format string](https://docs.fastly.com/en/guides/custom-log-formats)
2577
- */
2578
- format?: string;
2579
- /**
2580
- * The version of the custom logging format used for the configured endpoint. The logging call gets placed by default in `vclLog` if `formatVersion` is set to `2` and in `vclDeliver` if `formatVersion` is set to `1`
2581
- */
2582
- formatVersion?: number;
2583
- /**
2584
- * A unique name to identify this Papertrail endpoint. It is important to note that changing this attribute will delete and recreate the resource
2585
- */
2586
- name: string;
2587
- /**
2588
- * Where in the generated VCL the logging call should be placed. If not set, endpoints with `formatVersion` of 2 are placed in `vclLog` and those with `formatVersion` of 1 are placed in `vclDeliver`
2589
- */
2590
- placement?: string;
2591
- /**
2592
- * The port associated with the address where the Papertrail endpoint can be accessed
2593
- */
2594
- port: number;
2595
- /**
2596
- * The name of an existing condition in the configured endpoint, or leave blank to always execute
2597
- */
2598
- responseCondition?: string;
2599
- }
2600
- export interface Servicev1RequestSetting {
2601
- /**
2602
- * Allows you to terminate request handling and immediately perform an action. When set it can be `lookup` or `pass` (Ignore the cache completely)
2603
- */
2604
- action?: string;
2605
- /**
2606
- * Disable collapsed forwarding, so you don't wait for other objects to origin
2607
- */
2608
- bypassBusyWait?: boolean;
2609
- /**
2610
- * Sets the host header
2611
- */
2612
- defaultHost?: string;
2613
- /**
2614
- * Force a cache miss for the request. If specified, can be `true` or `false`
2615
- */
2616
- forceMiss?: boolean;
2617
- /**
2618
- * Forces the request to use SSL (Redirects a non-SSL request to SSL)
2619
- */
2620
- forceSsl?: boolean;
2621
- /**
2622
- * Injects Fastly-Geo-Country, Fastly-Geo-City, and Fastly-Geo-Region into the request headers
2623
- *
2624
- * @deprecated 'geo_headers' attribute has been deprecated and will be removed in the next major version release
2625
- */
2626
- geoHeaders?: boolean;
2627
- /**
2628
- * Comma separated list of varnish request object fields that should be in the hash key
2629
- */
2630
- hashKeys?: string;
2631
- /**
2632
- * How old an object is allowed to be to serve `stale-if-error` or `stale-while-revalidate`, in seconds
2633
- */
2634
- maxStaleAge?: number;
2635
- /**
2636
- * Unique name to refer to this Request Setting. It is important to note that changing this attribute will delete and recreate the resource
2637
- */
2638
- name: string;
2639
- /**
2640
- * Name of already defined `condition` to determine if this request setting should be applied
2641
- */
2642
- requestCondition?: string;
2643
- /**
2644
- * Injects the X-Timer info into the request for viewing origin fetch durations
2645
- */
2646
- timerSupport?: boolean;
2647
- /**
2648
- * X-Forwarded-For, should be `clear`, `leave`, `append`, `appendAll`, or `overwrite`. Default `append`
2649
- */
2650
- xff?: string;
2651
- }
2652
- export interface Servicev1ResponseObject {
2653
- /**
2654
- * Name of already defined `condition` to check after we have retrieved an object. If the condition passes then deliver this Request Object instead. This `condition` must be of type `CACHE`. For detailed information about Conditionals, see [Fastly's Documentation on Conditionals](https://docs.fastly.com/en/guides/using-conditions)
2655
- */
2656
- cacheCondition?: string;
2430
+ address: string;
2657
2431
  /**
2658
- * The content to deliver for the response object
2432
+ * A Fastly [log format string](https://docs.fastly.com/en/guides/custom-log-formats)
2659
2433
  */
2660
- content?: string;
2434
+ format?: string;
2661
2435
  /**
2662
- * The MIME type of the content
2436
+ * The version of the custom logging format used for the configured endpoint. The logging call gets placed by default in `vclLog` if `formatVersion` is set to `2` and in `vclDeliver` if `formatVersion` is set to `1`
2663
2437
  */
2664
- contentType?: string;
2438
+ formatVersion?: number;
2665
2439
  /**
2666
- * A unique name to identify this Response Object. It is important to note that changing this attribute will delete and recreate the resource
2440
+ * A unique name to identify this Papertrail endpoint. It is important to note that changing this attribute will delete and recreate the resource
2667
2441
  */
2668
2442
  name: string;
2669
2443
  /**
2670
- * Name of already defined `condition` to be checked during the request phase. If the condition passes then this object will be delivered. This `condition` must be of type `REQUEST`
2444
+ * Where in the generated VCL the logging call should be placed. If not set, endpoints with `formatVersion` of 2 are placed in `vclLog` and those with `formatVersion` of 1 are placed in `vclDeliver`
2671
2445
  */
2672
- requestCondition?: string;
2446
+ placement?: string;
2673
2447
  /**
2674
- * The HTTP Response. Default `OK`
2448
+ * The port associated with the address where the Papertrail endpoint can be accessed
2675
2449
  */
2676
- response?: string;
2450
+ port: number;
2677
2451
  /**
2678
- * The HTTP Status Code. Default `200`
2452
+ * The name of an existing condition in the configured endpoint, or leave blank to always execute
2679
2453
  */
2680
- status?: number;
2454
+ responseCondition?: string;
2681
2455
  }
2682
- export interface Servicev1S3logging {
2456
+ export interface ServiceVclLoggingS3 {
2683
2457
  /**
2684
2458
  * The AWS [Canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl) to use for objects uploaded to the S3 bucket. Options are: `private`, `public-read`, `public-read-write`, `aws-exec-read`, `authenticated-read`, `bucket-owner-read`, `bucket-owner-full-control`
2685
2459
  */
@@ -2701,7 +2475,7 @@ export interface Servicev1S3logging {
2701
2475
  */
2702
2476
  format?: string;
2703
2477
  /**
2704
- * The version of the custom logging format used for the configured endpoint. Can be either 1 or 2. (Default: 1).
2478
+ * The version of the custom logging format used for the configured endpoint. Can be either 1 or 2. (Default: 2).
2705
2479
  */
2706
2480
  formatVersion?: number;
2707
2481
  /**
@@ -2765,25 +2539,111 @@ export interface Servicev1S3logging {
2765
2539
  */
2766
2540
  timestampFormat?: string;
2767
2541
  }
2768
- export interface Servicev1Snippet {
2542
+ export interface ServiceVclLoggingScalyr {
2769
2543
  /**
2770
- * The VCL code that specifies exactly what the snippet does
2544
+ * Apache style log formatting.
2771
2545
  */
2772
- content: string;
2546
+ format?: string;
2773
2547
  /**
2774
- * A name that is unique across "regular" and "dynamic" VCL Snippet configuration blocks. It is important to note that changing this attribute will delete and recreate the resource
2548
+ * The version of the custom logging format used for the configured endpoint. Can be either 1 or 2. (default: 2).
2549
+ */
2550
+ formatVersion?: number;
2551
+ /**
2552
+ * The unique name of the Scalyr logging endpoint. It is important to note that changing this attribute will delete and recreate the resource
2775
2553
  */
2776
2554
  name: string;
2777
2555
  /**
2778
- * Priority determines the ordering for multiple snippets. Lower numbers execute first. Defaults to `100`
2556
+ * Where in the generated VCL the logging call should be placed.
2779
2557
  */
2780
- priority?: number;
2558
+ placement?: string;
2781
2559
  /**
2782
- * The location in generated VCL where the snippet should be placed (can be one of `init`, `recv`, `hash`, `hit`, `miss`, `pass`, `fetch`, `error`, `deliver`, `log` or `none`)
2560
+ * The region that log data will be sent to. One of `US` or `EU`. Defaults to `US` if undefined
2783
2561
  */
2784
- type: string;
2562
+ region?: string;
2563
+ /**
2564
+ * The name of an existing condition in the configured endpoint, or leave blank to always execute.
2565
+ */
2566
+ responseCondition?: string;
2567
+ /**
2568
+ * The token to use for authentication (https://www.scalyr.com/keys)
2569
+ */
2570
+ token: string;
2571
+ }
2572
+ export interface ServiceVclLoggingSftp {
2573
+ /**
2574
+ * The SFTP address to stream logs to
2575
+ */
2576
+ address: string;
2577
+ /**
2578
+ * The codec used for compression of your logs. Valid values are zstd, snappy, and gzip. If the specified codec is "gzip", gzip*level will default to 3. To specify a different level, leave compression*codec blank and explicitly set the level using gzip*level. Specifying both compression*codec and gzipLevel in the same API request will result in an error.
2579
+ */
2580
+ compressionCodec?: string;
2581
+ /**
2582
+ * Apache-style string or VCL variables to use for log formatting.
2583
+ */
2584
+ format?: string;
2585
+ /**
2586
+ * The version of the custom logging format used for the configured endpoint. Can be either 1 or 2. (default: 2).
2587
+ */
2588
+ formatVersion?: number;
2589
+ /**
2590
+ * Level of Gzip compression from `0-9`. `0` means no compression. `1` is the fastest and the least compressed version, `9` is the slowest and the most compressed version. Default `0`
2591
+ */
2592
+ gzipLevel?: number;
2593
+ /**
2594
+ * How the message should be formatted. Can be either `classic`, `loggly`, `logplex` or `blank`. Default is `classic`
2595
+ */
2596
+ messageType?: string;
2597
+ /**
2598
+ * The unique name of the SFTP logging endpoint. It is important to note that changing this attribute will delete and recreate the resource
2599
+ */
2600
+ name: string;
2601
+ /**
2602
+ * The password for the server. If both `password` and `secretKey` are passed, `secretKey` will be preferred
2603
+ */
2604
+ password?: string;
2605
+ /**
2606
+ * The path to upload log files to. If the path ends in `/` then it is treated as a directory
2607
+ */
2608
+ path: string;
2609
+ /**
2610
+ * How frequently log files are finalized so they can be available for reading (in seconds, default `3600`)
2611
+ */
2612
+ period?: number;
2613
+ /**
2614
+ * Where in the generated VCL the logging call should be placed.
2615
+ */
2616
+ placement?: string;
2617
+ /**
2618
+ * The port the SFTP service listens on. (Default: `22`)
2619
+ */
2620
+ port?: number;
2621
+ /**
2622
+ * A PGP public key that Fastly will use to encrypt your log files before writing them to disk
2623
+ */
2624
+ publicKey?: string;
2625
+ /**
2626
+ * The name of the condition to apply.
2627
+ */
2628
+ responseCondition?: string;
2629
+ /**
2630
+ * The SSH private key for the server. If both `password` and `secretKey` are passed, `secretKey` will be preferred
2631
+ */
2632
+ secretKey?: string;
2633
+ /**
2634
+ * A list of host keys for all hosts we can connect to over SFTP
2635
+ */
2636
+ sshKnownHosts: string;
2637
+ /**
2638
+ * The `strftime` specified timestamp formatting (default `%Y-%m-%dT%H:%M:%S.000`)
2639
+ */
2640
+ timestampFormat?: string;
2641
+ /**
2642
+ * The username for the server
2643
+ */
2644
+ user: string;
2785
2645
  }
2786
- export interface Servicev1Splunk {
2646
+ export interface ServiceVclLoggingSplunk {
2787
2647
  /**
2788
2648
  * Apache-style string or VCL variables to use for log formatting (default: `%h %l %u %t "%r" %>s %b`)
2789
2649
  */
@@ -2833,13 +2693,13 @@ export interface Servicev1Splunk {
2833
2693
  */
2834
2694
  useTls?: boolean;
2835
2695
  }
2836
- export interface Servicev1Sumologic {
2696
+ export interface ServiceVclLoggingSumologic {
2837
2697
  /**
2838
2698
  * Apache-style string or VCL variables to use for log formatting
2839
2699
  */
2840
2700
  format?: string;
2841
2701
  /**
2842
- * The version of the custom logging format used for the configured endpoint. Can be either 1 or 2. (Default: 1)
2702
+ * The version of the custom logging format used for the configured endpoint. Can be either 1 or 2. (Default: 2)
2843
2703
  */
2844
2704
  formatVersion?: number;
2845
2705
  /**
@@ -2863,7 +2723,7 @@ export interface Servicev1Sumologic {
2863
2723
  */
2864
2724
  url: string;
2865
2725
  }
2866
- export interface Servicev1Syslog {
2726
+ export interface ServiceVclLoggingSyslog {
2867
2727
  /**
2868
2728
  * A hostname or IPv4 address of the Syslog endpoint
2869
2729
  */
@@ -2873,7 +2733,7 @@ export interface Servicev1Syslog {
2873
2733
  */
2874
2734
  format?: string;
2875
2735
  /**
2876
- * The version of the custom logging format. Can be either 1 or 2. (Default: 1)
2736
+ * The version of the custom logging format. Can be either 1 or 2. (Default: 2)
2877
2737
  */
2878
2738
  formatVersion?: number;
2879
2739
  /**
@@ -2921,7 +2781,107 @@ export interface Servicev1Syslog {
2921
2781
  */
2922
2782
  useTls?: boolean;
2923
2783
  }
2924
- export interface Servicev1Vcl {
2784
+ export interface ServiceVclRequestSetting {
2785
+ /**
2786
+ * Allows you to terminate request handling and immediately perform an action. When set it can be `lookup` or `pass` (Ignore the cache completely)
2787
+ */
2788
+ action?: string;
2789
+ /**
2790
+ * Disable collapsed forwarding, so you don't wait for other objects to origin
2791
+ */
2792
+ bypassBusyWait?: boolean;
2793
+ /**
2794
+ * Sets the host header
2795
+ */
2796
+ defaultHost?: string;
2797
+ /**
2798
+ * Force a cache miss for the request. If specified, can be `true` or `false`
2799
+ */
2800
+ forceMiss?: boolean;
2801
+ /**
2802
+ * Forces the request to use SSL (Redirects a non-SSL request to SSL)
2803
+ */
2804
+ forceSsl?: boolean;
2805
+ /**
2806
+ * Injects Fastly-Geo-Country, Fastly-Geo-City, and Fastly-Geo-Region into the request headers
2807
+ *
2808
+ * @deprecated 'geo_headers' attribute has been deprecated and will be removed in the next major version release
2809
+ */
2810
+ geoHeaders?: boolean;
2811
+ /**
2812
+ * Comma separated list of varnish request object fields that should be in the hash key
2813
+ */
2814
+ hashKeys?: string;
2815
+ /**
2816
+ * How old an object is allowed to be to serve `stale-if-error` or `stale-while-revalidate`, in seconds
2817
+ */
2818
+ maxStaleAge?: number;
2819
+ /**
2820
+ * Unique name to refer to this Request Setting. It is important to note that changing this attribute will delete and recreate the resource
2821
+ */
2822
+ name: string;
2823
+ /**
2824
+ * Name of already defined `condition` to determine if this request setting should be applied
2825
+ */
2826
+ requestCondition?: string;
2827
+ /**
2828
+ * Injects the X-Timer info into the request for viewing origin fetch durations
2829
+ */
2830
+ timerSupport?: boolean;
2831
+ /**
2832
+ * X-Forwarded-For, should be `clear`, `leave`, `append`, `appendAll`, or `overwrite`. Default `append`
2833
+ */
2834
+ xff?: string;
2835
+ }
2836
+ export interface ServiceVclResponseObject {
2837
+ /**
2838
+ * Name of already defined `condition` to check after we have retrieved an object. If the condition passes then deliver this Request Object instead. This `condition` must be of type `CACHE`. For detailed information about Conditionals, see [Fastly's Documentation on Conditionals](https://docs.fastly.com/en/guides/using-conditions)
2839
+ */
2840
+ cacheCondition?: string;
2841
+ /**
2842
+ * The content to deliver for the response object
2843
+ */
2844
+ content?: string;
2845
+ /**
2846
+ * The MIME type of the content
2847
+ */
2848
+ contentType?: string;
2849
+ /**
2850
+ * A unique name to identify this Response Object. It is important to note that changing this attribute will delete and recreate the resource
2851
+ */
2852
+ name: string;
2853
+ /**
2854
+ * Name of already defined `condition` to be checked during the request phase. If the condition passes then this object will be delivered. This `condition` must be of type `REQUEST`
2855
+ */
2856
+ requestCondition?: string;
2857
+ /**
2858
+ * The HTTP Response. Default `OK`
2859
+ */
2860
+ response?: string;
2861
+ /**
2862
+ * The HTTP Status Code. Default `200`
2863
+ */
2864
+ status?: number;
2865
+ }
2866
+ export interface ServiceVclSnippet {
2867
+ /**
2868
+ * The VCL code that specifies exactly what the snippet does
2869
+ */
2870
+ content: string;
2871
+ /**
2872
+ * A name that is unique across "regular" and "dynamic" VCL Snippet configuration blocks. It is important to note that changing this attribute will delete and recreate the resource
2873
+ */
2874
+ name: string;
2875
+ /**
2876
+ * Priority determines the ordering for multiple snippets. Lower numbers execute first. Defaults to `100`
2877
+ */
2878
+ priority?: number;
2879
+ /**
2880
+ * The location in generated VCL where the snippet should be placed (can be one of `init`, `recv`, `hash`, `hit`, `miss`, `pass`, `fetch`, `error`, `deliver`, `log` or `none`)
2881
+ */
2882
+ type: string;
2883
+ }
2884
+ export interface ServiceVclVcl {
2925
2885
  /**
2926
2886
  * The custom VCL code to upload
2927
2887
  */
@@ -2935,7 +2895,7 @@ export interface Servicev1Vcl {
2935
2895
  */
2936
2896
  name: string;
2937
2897
  }
2938
- export interface Servicev1Waf {
2898
+ export interface ServiceVclWaf {
2939
2899
  /**
2940
2900
  * A flag used to completely disable a Web Application Firewall. This is intended to only be used in an emergency
2941
2901
  */
@@ -2953,6 +2913,42 @@ export interface Servicev1Waf {
2953
2913
  */
2954
2914
  wafId: string;
2955
2915
  }
2916
+ export interface ServiceWafConfigurationRule {
2917
+ /**
2918
+ * The Web Application Firewall rule's modsecurity ID
2919
+ */
2920
+ modsecRuleId: number;
2921
+ /**
2922
+ * The Web Application Firewall rule's revision. The latest revision will be used if this is not provided
2923
+ */
2924
+ revision: number;
2925
+ /**
2926
+ * The Web Application Firewall rule's status. Allowed values are (`log`, `block` and `score`)
2927
+ */
2928
+ status: string;
2929
+ }
2930
+ export interface ServiceWafConfigurationRuleExclusion {
2931
+ /**
2932
+ * A conditional expression in VCL used to determine if the condition is met
2933
+ */
2934
+ condition: string;
2935
+ /**
2936
+ * The type of rule exclusion. Values are `rule` to exclude the specified rule(s), or `waf` to disable the Web Application Firewall
2937
+ */
2938
+ exclusionType: string;
2939
+ /**
2940
+ * Set of modsecurity IDs to be excluded. No rules should be provided when `exclusionType` is `waf`. The rules need to be configured on the Web Application Firewall to be excluded
2941
+ */
2942
+ modsecRuleIds?: number[];
2943
+ /**
2944
+ * The name of rule exclusion
2945
+ */
2946
+ name: string;
2947
+ /**
2948
+ * The numeric ID assigned to the WAF Rule Exclusion
2949
+ */
2950
+ number: number;
2951
+ }
2956
2952
  export interface TlsSubscriptionManagedDnsChallenge {
2957
2953
  /**
2958
2954
  * The name of the DNS record to add. For example `example.com`. Best accessed through a `for` expression to filter the relevant record.