svix 2.4.0 → 2.6.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 (58) hide show
  1. package/dist/index.d.mts +245 -81
  2. package/dist/index.d.mts.map +1 -1
  3. package/dist/index.mjs +261 -119
  4. package/dist/index.mjs.map +1 -1
  5. package/package.json +1 -1
  6. package/src/api/autoconfigSubscription.ts +53 -0
  7. package/src/api/endpoint.ts +39 -0
  8. package/src/api/eventType.ts +4 -1
  9. package/src/api/message.ts +6 -3
  10. package/src/api/messageAttempt.ts +6 -3
  11. package/src/api_internal/autoconfigSubscription.ts +40 -0
  12. package/src/api_internal/{destinationAutoconfig.ts → autoconfigSubscriptionDestination.ts} +1 -1
  13. package/src/api_internal/{endpointAutoconfig.ts → autoconfigSubscriptionEndpoint.ts} +1 -24
  14. package/src/api_internal/endpoint.ts +0 -5
  15. package/src/autoconfig.ts +2 -1
  16. package/src/autoconfigConsumer.ts +4 -4
  17. package/src/index.ts +5 -0
  18. package/src/models/appPortalAccessIn.ts +4 -2
  19. package/src/models/appUsageStatsOut.ts +7 -7
  20. package/src/models/applicationTokenExpireIn.ts +2 -1
  21. package/src/models/autoConfigOut.ts +27 -0
  22. package/src/models/autoConfigSubscriptionOut.ts +1 -0
  23. package/src/models/azureBlobStorageConfigIn.ts +2 -1
  24. package/src/models/clickhouseConfigIn.ts +4 -2
  25. package/src/models/createStreamEventsIn.ts +2 -1
  26. package/src/models/destinationIn.ts +14 -5
  27. package/src/models/endpointAttemptStats.ts +25 -0
  28. package/src/models/endpointMessageOut.ts +4 -1
  29. package/src/models/endpointSecretRotateIn.ts +2 -1
  30. package/src/models/eventBridgeConfigIn.ts +16 -3
  31. package/src/models/eventBridgeConfigOut.ts +7 -1
  32. package/src/models/eventBridgeConfigPatch.ts +6 -0
  33. package/src/models/eventTypeImportOpenApiIn.ts +3 -1
  34. package/src/models/index.ts +3 -0
  35. package/src/models/ingestEndpointSecretIn.ts +2 -1
  36. package/src/models/ingestSourceConsumerPortalAccessIn.ts +2 -1
  37. package/src/models/messageIn.ts +12 -4
  38. package/src/models/operationalWebhookEndpointSecretIn.ts +2 -1
  39. package/src/models/postgresConfigIn.ts +7 -3
  40. package/src/models/rabbitMqConfigOut.ts +3 -0
  41. package/src/models/redshiftConfigIn.ts +18 -4
  42. package/src/models/redshiftConfigOut.ts +7 -1
  43. package/src/models/redshiftConfigPatch.ts +6 -0
  44. package/src/models/rotatePollerTokenIn.ts +2 -1
  45. package/src/models/rotateSubscriptionIn2.ts +29 -0
  46. package/src/models/s3ConfigIn.ts +2 -1
  47. package/src/models/snowflakeConfigIn.ts +8 -3
  48. package/src/models/snsConfigIn.ts +16 -3
  49. package/src/models/snsConfigOut.ts +7 -1
  50. package/src/models/snsConfigPatch.ts +6 -0
  51. package/src/models/sqsConfigIn.ts +16 -3
  52. package/src/models/sqsConfigOut.ts +7 -1
  53. package/src/models/sqsConfigPatch.ts +6 -0
  54. package/src/models/streamPortalAccessIn.ts +4 -2
  55. package/src/models/streamSinkIn.ts +6 -2
  56. package/src/models/streamTokenExpireIn.ts +2 -1
  57. package/src/request.ts +1 -1
  58. package/src/api_internal/destination.ts +0 -12
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "svix",
3
- "version": "2.4.0",
3
+ "version": "2.6.0",
4
4
  "description": "Svix webhooks API client and webhook verification library",
5
5
  "author": "svix",
6
6
  "repository": "https://github.com/svix/svix-webhooks",
@@ -0,0 +1,53 @@
1
+ // this file is @generated
2
+
3
+ import { type AutoConfigOut, AutoConfigOutSerializer } from "../models/autoConfigOut";
4
+ import {
5
+ type RotateSubscriptionIn2,
6
+ RotateSubscriptionIn2Serializer,
7
+ } from "../models/rotateSubscriptionIn2";
8
+ import { HttpMethod, SvixRequest, type SvixRequestContext } from "../request";
9
+
10
+ export interface AutoconfigSubscriptionCreateOptions {
11
+ idempotencyKey?: string;
12
+ }
13
+
14
+ export interface AutoconfigSubscriptionRotateOptions {
15
+ idempotencyKey?: string;
16
+ }
17
+
18
+ export class AutoconfigSubscription {
19
+ public constructor(private readonly requestCtx: SvixRequestContext) {}
20
+
21
+ /** Create an AutoConfig subscription. */
22
+ public async create(
23
+ appId: string,
24
+ options?: AutoconfigSubscriptionCreateOptions
25
+ ): Promise<AutoConfigOut> {
26
+ const request = new SvixRequest(HttpMethod.POST, "/api/v1/app/{app_id}/autoconfig");
27
+
28
+ request.setPathParam("app_id", appId);
29
+ request.setHeaderParam("idempotency-key", options?.idempotencyKey);
30
+
31
+ return await request.send(this.requestCtx, AutoConfigOutSerializer._fromJsonObject);
32
+ }
33
+
34
+ /** Rotate the auth token and signing secret for an AutoConfig subscription. */
35
+ public async rotate(
36
+ appId: string,
37
+ autoconfigId: string,
38
+ rotateSubscriptionIn2: RotateSubscriptionIn2 = {},
39
+ options?: AutoconfigSubscriptionRotateOptions
40
+ ): Promise<AutoConfigOut> {
41
+ const request = new SvixRequest(
42
+ HttpMethod.POST,
43
+ "/api/v1/app/{app_id}/autoconfig/{autoconfig_id}/rotate"
44
+ );
45
+
46
+ request.setPathParam("app_id", appId);
47
+ request.setPathParam("autoconfig_id", autoconfigId);
48
+ request.setHeaderParam("idempotency-key", options?.idempotencyKey);
49
+ request.setBody(RotateSubscriptionIn2Serializer._toJsonObject(rotateSubscriptionIn2));
50
+
51
+ return await request.send(this.requestCtx, AutoConfigOutSerializer._fromJsonObject);
52
+ }
53
+ }
@@ -1,6 +1,10 @@
1
1
  // this file is @generated
2
2
 
3
3
  import { type BulkReplayIn, BulkReplayInSerializer } from "../models/bulkReplayIn";
4
+ import {
5
+ type EndpointAttemptStats,
6
+ EndpointAttemptStatsSerializer,
7
+ } from "../models/endpointAttemptStats";
4
8
  import {
5
9
  type EndpointHeadersIn,
6
10
  EndpointHeadersInSerializer,
@@ -79,6 +83,13 @@ export interface EndpointGetStatsOptions {
79
83
  until?: Date | null;
80
84
  }
81
85
 
86
+ export interface EndpointGetAttemptStatsOptions {
87
+ /** Filter the range to data starting from this date. */
88
+ since?: Date | null;
89
+ /** Filter the range to data ending by this date. */
90
+ until?: Date | null;
91
+ }
92
+
82
93
  export interface EndpointRecoverOptions {
83
94
  idempotencyKey?: string;
84
95
  }
@@ -394,6 +405,34 @@ export class Endpoint {
394
405
  return await request.send(this.requestCtx, EndpointStatsSerializer._fromJsonObject);
395
406
  }
396
407
 
408
+ /**
409
+ * Get basic statistics about attempted deliveries for the endpoint.
410
+ *
411
+ * Time windows are always rounded to hour granularity
412
+ */
413
+ public async getAttemptStats(
414
+ appId: string,
415
+ endpointId: string,
416
+ options?: EndpointGetAttemptStatsOptions
417
+ ): Promise<EndpointAttemptStats> {
418
+ const request = new SvixRequest(
419
+ HttpMethod.GET,
420
+ "/api/v1/app/{app_id}/endpoint/{endpoint_id}/attempt-stats"
421
+ );
422
+
423
+ request.setPathParam("app_id", appId);
424
+ request.setPathParam("endpoint_id", endpointId);
425
+ request.setQueryParams({
426
+ since: options?.since,
427
+ until: options?.until,
428
+ });
429
+
430
+ return await request.send(
431
+ this.requestCtx,
432
+ EndpointAttemptStatsSerializer._fromJsonObject
433
+ );
434
+ }
435
+
397
436
  /**
398
437
  * Resend all failed messages since a given time.
399
438
  *
@@ -44,7 +44,10 @@ export interface EventTypeImportOpenapiOptions {
44
44
  }
45
45
 
46
46
  export interface EventTypeDeleteOptions {
47
- /** By default event types are archived when "deleted". Passing this to `true` deletes them entirely. */
47
+ /**
48
+ * By default event types are archived when "deleted". Passing this to `true` deletes them
49
+ * entirely.
50
+ */
48
51
  expunge?: boolean;
49
52
  }
50
53
 
@@ -43,7 +43,8 @@ export interface MessageListOptions {
43
43
  /**
44
44
  * When `true` message payloads are included in the response.
45
45
  *
46
- * Defaults to `false` in v2+ of the Svix SDKs, `true` in v1 or when manually making a request without specifying this parameter.
46
+ * Defaults to `false` in v2+ of the Svix SDKs, `true` in v1 or when manually making a request
47
+ * without specifying this parameter.
47
48
  */
48
49
  withContent?: boolean;
49
50
  /** Filter messages matching the provided tag. */
@@ -56,7 +57,8 @@ export interface MessageCreateOptions {
56
57
  /**
57
58
  * When `true`, message payloads are included in the response.
58
59
  *
59
- * Defaults to `false` in v2+ of the Svix SDKs, `true` in v1 or when manually making a request without specifying this parameter.
60
+ * Defaults to `false` in v2+ of the Svix SDKs, `true` in v1 or when manually making a request
61
+ * without specifying this parameter.
60
62
  */
61
63
  withContent?: boolean;
62
64
  idempotencyKey?: string;
@@ -70,7 +72,8 @@ export interface MessageGetOptions {
70
72
  /**
71
73
  * When `true` message payloads are included in the response.
72
74
  *
73
- * Defaults to `false` in v2+ of the Svix SDKs, `true` in v1 or when manually making a request without specifying this parameter.
75
+ * Defaults to `false` in v2+ of the Svix SDKs, `true` in v1 or when manually making a request
76
+ * without specifying this parameter.
74
77
  */
75
78
  withContent?: boolean;
76
79
  }
@@ -41,7 +41,8 @@ export interface MessageAttemptListByEndpointOptions {
41
41
  /**
42
42
  * When `true` attempt content is included in the response.
43
43
  *
44
- * Defaults to `false` in v2+ of the Svix SDKs, `true` in v1 or when manually making a request without specifying this parameter.
44
+ * Defaults to `false` in v2+ of the Svix SDKs, `true` in v1 or when manually making a request
45
+ * without specifying this parameter.
45
46
  */
46
47
  withContent?: boolean;
47
48
  /**
@@ -82,7 +83,8 @@ export interface MessageAttemptListByMsgOptions {
82
83
  /**
83
84
  * When `true` attempt content is included in the response.
84
85
  *
85
- * Defaults to `false` in v2+ of the Svix SDKs, `true` in v1 or when manually making a request without specifying this parameter.
86
+ * Defaults to `false` in v2+ of the Svix SDKs, `true` in v1 or when manually making a request
87
+ * without specifying this parameter.
86
88
  */
87
89
  withContent?: boolean;
88
90
  /**
@@ -113,7 +115,8 @@ export interface MessageAttemptListAttemptedMessagesOptions {
113
115
  /**
114
116
  * When `true` message payloads are included in the response.
115
117
  *
116
- * Defaults to `false` in v2+ of the Svix SDKs, `true` in v1 or when manually making a request without specifying this parameter.
118
+ * Defaults to `false` in v2+ of the Svix SDKs, `true` in v1 or when manually making a request
119
+ * without specifying this parameter.
117
120
  */
118
121
  withContent?: boolean;
119
122
  /**
@@ -0,0 +1,40 @@
1
+ // this file is @generated
2
+
3
+ import {
4
+ type AutoConfigSubscriptionOut,
5
+ AutoConfigSubscriptionOutSerializer,
6
+ } from "../models/autoConfigSubscriptionOut";
7
+ import { AutoconfigSubscriptionDestination } from "./autoconfigSubscriptionDestination";
8
+ import { AutoconfigSubscriptionEndpoint } from "./autoconfigSubscriptionEndpoint";
9
+ import { HttpMethod, SvixRequest, type SvixRequestContext } from "../request";
10
+
11
+ export class AutoconfigSubscription {
12
+ public constructor(private readonly requestCtx: SvixRequestContext) {}
13
+
14
+ public get destination() {
15
+ return new AutoconfigSubscriptionDestination(this.requestCtx);
16
+ }
17
+
18
+ public get endpoint() {
19
+ return new AutoconfigSubscriptionEndpoint(this.requestCtx);
20
+ }
21
+
22
+ /** Get an AutoConfig subscription, including the bound endpoint or destination if any. */
23
+ public async get(
24
+ appId: string,
25
+ autoconfigId: string
26
+ ): Promise<AutoConfigSubscriptionOut> {
27
+ const request = new SvixRequest(
28
+ HttpMethod.GET,
29
+ "/api/v1/app/{app_id}/autoconfig/{autoconfig_id}"
30
+ );
31
+
32
+ request.setPathParam("app_id", appId);
33
+ request.setPathParam("autoconfig_id", autoconfigId);
34
+
35
+ return await request.send(
36
+ this.requestCtx,
37
+ AutoConfigSubscriptionOutSerializer._fromJsonObject
38
+ );
39
+ }
40
+ }
@@ -4,7 +4,7 @@ import { type DestinationIn, DestinationInSerializer } from "../models/destinati
4
4
  import { type DestinationOut, DestinationOutSerializer } from "../models/destinationOut";
5
5
  import { HttpMethod, SvixRequest, type SvixRequestContext } from "../request";
6
6
 
7
- export class DestinationAutoconfig {
7
+ export class AutoconfigSubscriptionDestination {
8
8
  public constructor(private readonly requestCtx: SvixRequestContext) {}
9
9
 
10
10
  /** Create or update the destination for an AutoConfig subscription. */
@@ -1,35 +1,12 @@
1
1
  // this file is @generated
2
2
 
3
- import {
4
- type AutoConfigSubscriptionOut,
5
- AutoConfigSubscriptionOutSerializer,
6
- } from "../models/autoConfigSubscriptionOut";
7
3
  import { type EndpointIn, EndpointInSerializer } from "../models/endpointIn";
8
4
  import { type EndpointOut, EndpointOutSerializer } from "../models/endpointOut";
9
5
  import { HttpMethod, SvixRequest, type SvixRequestContext } from "../request";
10
6
 
11
- export class EndpointAutoconfig {
7
+ export class AutoconfigSubscriptionEndpoint {
12
8
  public constructor(private readonly requestCtx: SvixRequestContext) {}
13
9
 
14
- /** Get an AutoConfig subscription, including the bound endpoint or destination if any. */
15
- public async get(
16
- appId: string,
17
- autoconfigId: string
18
- ): Promise<AutoConfigSubscriptionOut> {
19
- const request = new SvixRequest(
20
- HttpMethod.GET,
21
- "/api/v1/app/{app_id}/autoconfig/{autoconfig_id}"
22
- );
23
-
24
- request.setPathParam("app_id", appId);
25
- request.setPathParam("autoconfig_id", autoconfigId);
26
-
27
- return await request.send(
28
- this.requestCtx,
29
- AutoConfigSubscriptionOutSerializer._fromJsonObject
30
- );
31
- }
32
-
33
10
  /** Create or update the HTTP endpoint for an AutoConfig subscription. */
34
11
  public async subscribe(
35
12
  appId: string,
@@ -5,7 +5,6 @@ import {
5
5
  EndpointTransformationInSerializer,
6
6
  } from "../models/endpointTransformationIn";
7
7
  import { EndpointAutoConfigDeprecated } from "./endpointAutoConfigDeprecated";
8
- import { EndpointAutoconfig } from "./endpointAutoconfig";
9
8
  import { HttpMethod, SvixRequest, type SvixRequestContext } from "../request";
10
9
 
11
10
  export class Endpoint {
@@ -15,10 +14,6 @@ export class Endpoint {
15
14
  return new EndpointAutoConfigDeprecated(this.requestCtx);
16
15
  }
17
16
 
18
- public get autoconfig() {
19
- return new EndpointAutoconfig(this.requestCtx);
20
- }
21
-
22
17
  /**
23
18
  * This operation was renamed to `set-transformation`.
24
19
  *
package/src/autoconfig.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import { SvixInternal } from "./api_internal";
2
+ import { AutoconfigSubscription } from "./api_internal/autoconfigSubscription";
2
3
  import { Endpoint as InternalEndpoint } from "./api_internal/endpoint";
3
4
  import type { EndpointIn } from "./models/endpointIn";
4
5
  import type { EndpointOut } from "./models/endpointOut";
@@ -157,7 +158,7 @@ export class AutoConfig {
157
158
  public subscribe(): Promise<EndpointOut> {
158
159
  const endpoint = new InternalEndpoint(this.requestCtx);
159
160
  if (this.autoconfigId != null) {
160
- return endpoint.autoconfig.subscribe(
161
+ return new AutoconfigSubscription(this.requestCtx).endpoint.subscribe(
161
162
  this.appId,
162
163
  this.autoconfigId,
163
164
  this.endpointIn
@@ -1,5 +1,5 @@
1
1
  import { SvixInternal } from "./api_internal";
2
- import { Destination as InternalDestination } from "./api_internal/destination";
2
+ import { AutoconfigSubscription } from "./api_internal/autoconfigSubscription";
3
3
  import { Endpoint as InternalEndpoint } from "./api_internal/endpoint";
4
4
  import {
5
5
  MessagePollerv2 as InternalMessagePollerv2,
@@ -44,9 +44,9 @@ export class AutoConfigConsumer {
44
44
  const endpoint = new InternalEndpoint(this.requestCtx);
45
45
  if (this.autoconfigId != null) {
46
46
  // v2
47
- const destination = await new InternalDestination(
47
+ const destination = await new AutoconfigSubscription(
48
48
  this.requestCtx
49
- ).autoconfig.subscribe(
49
+ ).destination.subscribe(
50
50
  this.appId,
51
51
  this.autoconfigId,
52
52
  sinkInCommonToPollingDestination(this.sinkIn)
@@ -74,7 +74,7 @@ export class AutoConfigConsumer {
74
74
 
75
75
  // Get the sink id from the autoconfig id (v2)
76
76
  const destId = (
77
- await new InternalEndpoint(this.requestCtx).autoconfig.get(
77
+ await new AutoconfigSubscription(this.requestCtx).get(
78
78
  this.appId,
79
79
  this.autoconfigId as string
80
80
  )
package/src/index.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  // this file is @generated
2
2
  import { Application } from "./api/application";
3
3
  import { Authentication } from "./api/authentication";
4
+ import { AutoconfigSubscription } from "./api/autoconfigSubscription";
4
5
  import { BackgroundTask } from "./api/backgroundTask";
5
6
  import { Connector } from "./api/connector";
6
7
  import { Destination } from "./api/destination";
@@ -70,6 +71,10 @@ export class Svix {
70
71
  return new Authentication(this.requestCtx);
71
72
  }
72
73
 
74
+ public get autoconfigSubscription() {
75
+ return new AutoconfigSubscription(this.requestCtx);
76
+ }
77
+
73
78
  public get backgroundTask() {
74
79
  return new BackgroundTask(this.requestCtx);
75
80
  }
@@ -43,13 +43,15 @@ export interface AppPortalAccessIn {
43
43
  /**
44
44
  * How long the token will be valid for, in seconds.
45
45
  *
46
- * Valid values are between 1 hour and 7 days. The default is 7 days.
46
+ * Valid values are between 1 hour and 7 days.
47
+ * The default is 7 days.
47
48
  */
48
49
  expiry?: number | null;
49
50
  /**
50
51
  * An optional session ID to attach to the token.
51
52
  *
52
- * When expiring tokens with "Expire All", you can include the session ID to only expire tokens that were created with that session ID.
53
+ * When expiring tokens with "Expire All", you can include the session ID
54
+ * to only expire tokens that were created with that session ID.
53
55
  */
54
56
  sessionId?: string | null;
55
57
  }
@@ -9,37 +9,37 @@ import {
9
9
  } from "./backgroundTaskType";
10
10
 
11
11
  export interface AppUsageStatsOut {
12
+ /** The QueueBackgroundTask's ID. */
13
+ id: string;
14
+ status: BackgroundTaskStatus;
15
+ task: BackgroundTaskType;
16
+ updatedAt: Date;
12
17
  /**
13
18
  * Any app IDs or UIDs received in the request that weren't found.
14
19
  *
15
20
  * Stats will be produced for all the others.
16
21
  */
17
22
  unresolvedAppIds: string[];
18
- /** The QueueBackgroundTask's ID. */
19
- id: string;
20
- status: BackgroundTaskStatus;
21
- task: BackgroundTaskType;
22
- updatedAt: Date;
23
23
  }
24
24
 
25
25
  export const AppUsageStatsOutSerializer = {
26
26
  _fromJsonObject(object: any): AppUsageStatsOut {
27
27
  return {
28
- unresolvedAppIds: object["unresolvedAppIds"],
29
28
  id: object["id"],
30
29
  status: BackgroundTaskStatusSerializer._fromJsonObject(object["status"]),
31
30
  task: BackgroundTaskTypeSerializer._fromJsonObject(object["task"]),
32
31
  updatedAt: new Date(object["updatedAt"]),
32
+ unresolvedAppIds: object["unresolvedAppIds"],
33
33
  };
34
34
  },
35
35
 
36
36
  _toJsonObject(self: AppUsageStatsOut): any {
37
37
  return {
38
- unresolvedAppIds: self.unresolvedAppIds,
39
38
  id: self.id,
40
39
  status: BackgroundTaskStatusSerializer._toJsonObject(self.status),
41
40
  task: BackgroundTaskTypeSerializer._toJsonObject(self.task),
42
41
  updatedAt: self.updatedAt,
42
+ unresolvedAppIds: self.unresolvedAppIds,
43
43
  };
44
44
  },
45
45
  };
@@ -6,7 +6,8 @@ export interface ApplicationTokenExpireIn {
6
6
  /**
7
7
  * An optional list of session ids.
8
8
  *
9
- * If any session ids are specified, only Application tokens created with that session id will be expired.
9
+ * If any session ids are specified, only Application tokens created with that
10
+ * session id will be expired.
10
11
  */
11
12
  sessionIds?: string[];
12
13
  }
@@ -0,0 +1,27 @@
1
+ // this file is @generated
2
+
3
+ export interface AutoConfigOut {
4
+ createdAt: Date;
5
+ /** The AutoConfig token */
6
+ token: string;
7
+ /** The AutoConfigSubscription's ID. */
8
+ id: string;
9
+ }
10
+
11
+ export const AutoConfigOutSerializer = {
12
+ _fromJsonObject(object: any): AutoConfigOut {
13
+ return {
14
+ createdAt: new Date(object["createdAt"]),
15
+ token: object["token"],
16
+ id: object["id"],
17
+ };
18
+ },
19
+
20
+ _toJsonObject(self: AutoConfigOut): any {
21
+ return {
22
+ createdAt: self.createdAt,
23
+ token: self.token,
24
+ id: self.id,
25
+ };
26
+ },
27
+ };
@@ -3,6 +3,7 @@ import { type Status, StatusSerializer } from "./status";
3
3
 
4
4
  export interface AutoConfigSubscriptionOut {
5
5
  createdAt: Date;
6
+ /** The censored AutoConfig token */
6
7
  tokenCensored: string;
7
8
  /** The AutoConfigSubscription's ID. */
8
9
  id: string;
@@ -6,7 +6,8 @@ export interface AzureBlobStorageConfigIn {
6
6
  /**
7
7
  * Access key.
8
8
  *
9
- * Currently a required field, but marked as optional because we may add different authentication in the future.
9
+ * Currently a required field, but marked as optional because we may add
10
+ * different authentication in the future.
10
11
  */
11
12
  accessKey?: string | null;
12
13
  }
@@ -6,13 +6,15 @@ export interface ClickhouseConfigIn {
6
6
  /**
7
7
  * Username to access Clickhouse.
8
8
  *
9
- * Currently a required field, but marked as optional because we may add different authentication in the future.
9
+ * Currently a required field, but marked as optional because we may add
10
+ * different authentication in the future.
10
11
  */
11
12
  username?: string | null;
12
13
  /**
13
14
  * Password to access Clickhouse.
14
15
  *
15
- * Currently a required field, but marked as optional because we may add different authentication in the future.
16
+ * Currently a required field, but marked as optional because we may add
17
+ * different authentication in the future.
16
18
  */
17
19
  password?: string | null;
18
20
  /** The Clickhouse database to connect to. */
@@ -7,7 +7,8 @@ export interface CreateStreamEventsIn {
7
7
  /**
8
8
  * Optionally creates a new Stream alongside the events.
9
9
  *
10
- * If the stream id or uid that is used in the path already exists, this argument is ignored.
10
+ * If the stream id or uid that is used in the path already exists,
11
+ * this argument is ignored.
11
12
  */
12
13
  stream?: StreamIn | null;
13
14
  }
@@ -46,9 +46,11 @@ interface _DestinationInFields {
46
46
  /**
47
47
  * Whether the destination will receive events.
48
48
  *
49
- * If the destination is `enabled`, events sent to the application will be dispatched to the destination in order.
49
+ * If the destination is `enabled`, events sent to the application will be
50
+ * dispatched to the destination in order.
50
51
  *
51
- * If the destination is `disabled`, events will not be dispatched until the destination is reenabled.
52
+ * If the destination is `disabled`, events will not be dispatched until the
53
+ * destination is reenabled.
52
54
  */
53
55
  status?: DestinationStatusIn;
54
56
  /** How many events will be batched in a request to the destination. */
@@ -56,14 +58,21 @@ interface _DestinationInFields {
56
58
  /**
57
59
  * How long to wait before a batch of events is sent, if the `batchSize` is not reached.
58
60
  *
59
- * For example, with a `batchSize` of 100 and `maxWaitSecs` of 10, a request is sent after 10 seconds or 100 events, whichever comes first.
61
+ * For example, with a `batchSize` of 100 and `maxWaitSecs` of 10, a request is sent after
62
+ * 10 seconds or 100 events, whichever comes first.
60
63
  *
61
64
  * Note that an empty batch is never sent to the destination.
62
65
  */
63
66
  maxWaitSecs?: number;
64
- /** A list of event types that filter which events are dispatched to the destination. An empty list (or null) will not filter out any events. */
67
+ /**
68
+ * A list of event types that filter which events are dispatched to the destination.
69
+ * An empty list (or null) will not filter out any events.
70
+ */
65
71
  eventTypes?: string[];
66
- /** A list of channels that filter which events are dispatched to the destination. An empty list (or null) will not filter out any events. */
72
+ /**
73
+ * A list of channels that filter which events are dispatched to the destination.
74
+ * An empty list (or null) will not filter out any events.
75
+ */
67
76
  channels?: string[];
68
77
  metadata?: { [key: string]: string };
69
78
  }
@@ -0,0 +1,25 @@
1
+ // this file is @generated
2
+
3
+ export interface EndpointAttemptStats {
4
+ success: number;
5
+ fail: number;
6
+ canceled: number;
7
+ }
8
+
9
+ export const EndpointAttemptStatsSerializer = {
10
+ _fromJsonObject(object: any): EndpointAttemptStats {
11
+ return {
12
+ success: object["success"],
13
+ fail: object["fail"],
14
+ canceled: object["canceled"],
15
+ };
16
+ },
17
+
18
+ _toJsonObject(self: EndpointAttemptStats): any {
19
+ return {
20
+ success: self.success,
21
+ fail: self.fail,
22
+ canceled: self.canceled,
23
+ };
24
+ },
25
+ };
@@ -2,7 +2,10 @@
2
2
  import { type MessageStatus, MessageStatusSerializer } from "./messageStatus";
3
3
  import { type MessageStatusText, MessageStatusTextSerializer } from "./messageStatusText";
4
4
 
5
- /** A model containing information on a given message plus additional fields on the last attempt for that message. */
5
+ /**
6
+ * A model containing information on a given message plus additional fields on the last attempt for
7
+ * that message.
8
+ */
6
9
  export interface EndpointMessageOut {
7
10
  status: MessageStatus;
8
11
  statusText: MessageStatusText;
@@ -11,7 +11,8 @@ export interface EndpointSecretRotateIn {
11
11
  /**
12
12
  * How long the old secret will be valid for, in seconds.
13
13
  *
14
- * Valid values are between 0 (immediate expiry) and 7 days. The default is 24 hours.
14
+ * Valid values are between 0 (immediate expiry) and 7 days.
15
+ * The default is 24 hours.
15
16
  */
16
17
  gracePeriodSeconds?: number | null;
17
18
  }
@@ -8,19 +8,28 @@ export interface EventBridgeConfigIn {
8
8
  /**
9
9
  * Access key ID.
10
10
  *
11
- * Currently a required field, but marked as optional because we may add different authentication in the future.
11
+ * Required (along with `secret_access_key`) if `role_arn` is blank.
12
12
  */
13
13
  accessKeyId?: string | null;
14
14
  /**
15
15
  * Secret access key.
16
16
  *
17
- * Currently a required field, but marked as optional because we may add different authentication in the future.
17
+ * Required (along with `access_key_id`) if `role_arn` is blank.
18
18
  */
19
19
  secretAccessKey?: string | null;
20
+ /** Role ARN for delegated authentication */
21
+ roleArn?: string | null;
22
+ /**
23
+ * Shared secret passed as the STS ExternalId.
24
+ *
25
+ * Can only be set if `role_arn` is Some
26
+ */
27
+ externalId?: string | null;
20
28
  /**
21
29
  * The region of the EventBridge bus.
22
30
  *
23
- * Currently a required field, but marked as optional because we may infer it from other fields in the future.
31
+ * Currently a required field, but marked as optional because we may infer
32
+ * it from other fields in the future.
24
33
  */
25
34
  region?: string | null;
26
35
  }
@@ -32,6 +41,8 @@ export const EventBridgeConfigInSerializer = {
32
41
  detailType: object["detailType"],
33
42
  accessKeyId: object["accessKeyId"],
34
43
  secretAccessKey: object["secretAccessKey"],
44
+ roleArn: object["roleArn"],
45
+ externalId: object["externalId"],
35
46
  region: object["region"],
36
47
  };
37
48
  },
@@ -42,6 +53,8 @@ export const EventBridgeConfigInSerializer = {
42
53
  detailType: self.detailType,
43
54
  accessKeyId: self.accessKeyId,
44
55
  secretAccessKey: self.secretAccessKey,
56
+ roleArn: self.roleArn,
57
+ externalId: self.externalId,
45
58
  region: self.region,
46
59
  };
47
60
  },