Skip to content

Commit 09b9724

Browse files
committed
Run make generate after pulling the main branch
1 parent 51a2daf commit 09b9724

3 files changed

Lines changed: 424 additions & 342 deletions

File tree

docs/rest-apis/gateway/schemas.md

Lines changed: 159 additions & 93 deletions
Original file line numberDiff line numberDiff line change
@@ -648,68 +648,82 @@ xor
648648
"main": "api.example.com",
649649
"sandbox": "sandbox-api.example.com"
650650
},
651-
"policies": {
652-
"on_subscription": [
653-
{
654-
"name": "cors",
655-
"version": "v1",
656-
"executionCondition": "request.metadata[authenticated] != true",
657-
"params": {}
658-
}
659-
],
660-
"on_unsubscription": [
661-
{
662-
"name": "cors",
663-
"version": "v1",
664-
"executionCondition": "request.metadata[authenticated] != true",
665-
"params": {}
666-
}
667-
],
668-
"on_message_received": [
669-
{
670-
"name": "cors",
671-
"version": "v1",
672-
"executionCondition": "request.metadata[authenticated] != true",
673-
"params": {}
674-
}
675-
],
676-
"on_message_delivery": [
677-
{
678-
"name": "cors",
679-
"version": "v1",
680-
"executionCondition": "request.metadata[authenticated] != true",
681-
"params": {}
682-
}
683-
]
651+
"allChannels": {
652+
"on_subscription": {
653+
"policies": [
654+
{
655+
"name": "cors",
656+
"version": "v1",
657+
"executionCondition": "request.metadata[authenticated] != true",
658+
"params": {}
659+
}
660+
]
661+
},
662+
"on_unsubscription": {
663+
"policies": [
664+
{
665+
"name": "cors",
666+
"version": "v1",
667+
"executionCondition": "request.metadata[authenticated] != true",
668+
"params": {}
669+
}
670+
]
671+
},
672+
"on_message_received": {
673+
"policies": [
674+
{
675+
"name": "cors",
676+
"version": "v1",
677+
"executionCondition": "request.metadata[authenticated] != true",
678+
"params": {}
679+
}
680+
]
681+
},
682+
"on_message_delivery": {
683+
"policies": [
684+
{
685+
"name": "cors",
686+
"version": "v1",
687+
"executionCondition": "request.metadata[authenticated] != true",
688+
"params": {}
689+
}
690+
]
691+
}
684692
},
685693
"channels": {
686694
"property1": {
687-
"policies": {
688-
"on_subscription": [
695+
"on_subscription": {
696+
"policies": [
689697
{
690698
"name": "cors",
691699
"version": "v1",
692700
"executionCondition": "request.metadata[authenticated] != true",
693701
"params": {}
694702
}
695-
],
696-
"on_unsubscription": [
703+
]
704+
},
705+
"on_unsubscription": {
706+
"policies": [
697707
{
698708
"name": "cors",
699709
"version": "v1",
700710
"executionCondition": "request.metadata[authenticated] != true",
701711
"params": {}
702712
}
703-
],
704-
"on_message_received": [
713+
]
714+
},
715+
"on_message_received": {
716+
"policies": [
705717
{
706718
"name": "cors",
707719
"version": "v1",
708720
"executionCondition": "request.metadata[authenticated] != true",
709721
"params": {}
710722
}
711-
],
712-
"on_message_delivery": [
723+
]
724+
},
725+
"on_message_delivery": {
726+
"policies": [
713727
{
714728
"name": "cors",
715729
"version": "v1",
@@ -720,32 +734,38 @@ xor
720734
}
721735
},
722736
"property2": {
723-
"policies": {
724-
"on_subscription": [
737+
"on_subscription": {
738+
"policies": [
725739
{
726740
"name": "cors",
727741
"version": "v1",
728742
"executionCondition": "request.metadata[authenticated] != true",
729743
"params": {}
730744
}
731-
],
732-
"on_unsubscription": [
745+
]
746+
},
747+
"on_unsubscription": {
748+
"policies": [
733749
{
734750
"name": "cors",
735751
"version": "v1",
736752
"executionCondition": "request.metadata[authenticated] != true",
737753
"params": {}
738754
}
739-
],
740-
"on_message_received": [
755+
]
756+
},
757+
"on_message_received": {
758+
"policies": [
741759
{
742760
"name": "cors",
743761
"version": "v1",
744762
"executionCondition": "request.metadata[authenticated] != true",
745763
"params": {}
746764
}
747-
],
748-
"on_message_delivery": [
765+
]
766+
},
767+
"on_message_delivery": {
768+
"policies": [
749769
{
750770
"name": "cors",
751771
"version": "v1",
@@ -771,7 +791,7 @@ xor
771791
|vhosts|object|false|none|Custom virtual hosts/domains for the API|
772792
|» main|string|true|none|Custom virtual host/domain for production traffic|
773793
|» sandbox|string|false|none|Custom virtual host/domain for sandbox traffic|
774-
|policies|[WebSubAllChannelPolicies](#schemawebsuballchannelpolicies)|false|none|Policies applied to all channels, organized by event type.|
794+
|allChannels|[WebSubAllChannelPolicies](#schemawebsuballchannelpolicies)|false|none|Policies applied to all channels, organized by event type.|
775795
|channels|object|false|none|Per-channel configuration keyed by channel name. Each key is a channel name and defines policies applied only to that channel.|
776796
|» **additionalProperties**|[WebSubChannel](#schemawebsubchannel)|false|none|A single channel definition with optional per-channel policy overrides.|
777797
|deploymentState|string|false|none|Desired deployment state - 'deployed' (default) or 'undeployed'. When set to 'undeployed', the API is removed from router traffic but configuration, API keys, and policies are preserved for potential redeployment.|
@@ -792,32 +812,38 @@ xor
792812

793813
```json
794814
{
795-
"policies": {
796-
"on_subscription": [
815+
"on_subscription": {
816+
"policies": [
797817
{
798818
"name": "cors",
799819
"version": "v1",
800820
"executionCondition": "request.metadata[authenticated] != true",
801821
"params": {}
802822
}
803-
],
804-
"on_unsubscription": [
823+
]
824+
},
825+
"on_unsubscription": {
826+
"policies": [
805827
{
806828
"name": "cors",
807829
"version": "v1",
808830
"executionCondition": "request.metadata[authenticated] != true",
809831
"params": {}
810832
}
811-
],
812-
"on_message_received": [
833+
]
834+
},
835+
"on_message_received": {
836+
"policies": [
813837
{
814838
"name": "cors",
815839
"version": "v1",
816840
"executionCondition": "request.metadata[authenticated] != true",
817841
"params": {}
818842
}
819-
],
820-
"on_message_delivery": [
843+
]
844+
},
845+
"on_message_delivery": {
846+
"policies": [
821847
{
822848
"name": "cors",
823849
"version": "v1",
@@ -836,42 +862,21 @@ A single channel definition with optional per-channel policy overrides.
836862

837863
|Name|Type|Required|Restrictions|Description|
838864
|---|---|---|---|---|
839-
|policies|[WebSubChannelPolicies](#schemawebsubchannelpolicies)|false|none|Policies applied to a specific channel, organized by event type.|
865+
|on_subscription|[WebSubEventPolicies](#schemawebsubeventpolicies)|false|none|Policies for a single event type.|
866+
|on_unsubscription|[WebSubEventPolicies](#schemawebsubeventpolicies)|false|none|Policies for a single event type.|
867+
|on_message_received|[WebSubEventPolicies](#schemawebsubeventpolicies)|false|none|Policies for a single event type.|
868+
|on_message_delivery|[WebSubEventPolicies](#schemawebsubeventpolicies)|false|none|Policies for a single event type.|
840869

841-
<h2 id="tocS_WebSubAllChannelPolicies">WebSubAllChannelPolicies</h2>
870+
<h2 id="tocS_WebSubEventPolicies">WebSubEventPolicies</h2>
842871

843-
<a id="schemawebsuballchannelpolicies"></a>
844-
<a id="schema_WebSubAllChannelPolicies"></a>
845-
<a id="tocSwebsuballchannelpolicies"></a>
846-
<a id="tocswebsuballchannelpolicies"></a>
872+
<a id="schemawebsubeventpolicies"></a>
873+
<a id="schema_WebSubEventPolicies"></a>
874+
<a id="tocSwebsubeventpolicies"></a>
875+
<a id="tocswebsubeventpolicies"></a>
847876

848877
```json
849878
{
850-
"on_subscription": [
851-
{
852-
"name": "cors",
853-
"version": "v1",
854-
"executionCondition": "request.metadata[authenticated] != true",
855-
"params": {}
856-
}
857-
],
858-
"on_unsubscription": [
859-
{
860-
"name": "cors",
861-
"version": "v1",
862-
"executionCondition": "request.metadata[authenticated] != true",
863-
"params": {}
864-
}
865-
],
866-
"on_message_received": [
867-
{
868-
"name": "cors",
869-
"version": "v1",
870-
"executionCondition": "request.metadata[authenticated] != true",
871-
"params": {}
872-
}
873-
],
874-
"on_message_delivery": [
879+
"policies": [
875880
{
876881
"name": "cors",
877882
"version": "v1",
@@ -883,16 +888,77 @@ A single channel definition with optional per-channel policy overrides.
883888

884889
```
885890

891+
Policies for a single event type.
892+
893+
### Properties
894+
895+
|Name|Type|Required|Restrictions|Description|
896+
|---|---|---|---|---|
897+
|policies|[[Policy](#schemapolicy)]|false|none|List of policies applied for this event type.|
898+
899+
<h2 id="tocS_WebSubAllChannelPolicies">WebSubAllChannelPolicies</h2>
900+
901+
<a id="schemawebsuballchannelpolicies"></a>
902+
<a id="schema_WebSubAllChannelPolicies"></a>
903+
<a id="tocSwebsuballchannelpolicies"></a>
904+
<a id="tocswebsuballchannelpolicies"></a>
905+
906+
```json
907+
{
908+
"on_subscription": {
909+
"policies": [
910+
{
911+
"name": "cors",
912+
"version": "v1",
913+
"executionCondition": "request.metadata[authenticated] != true",
914+
"params": {}
915+
}
916+
]
917+
},
918+
"on_unsubscription": {
919+
"policies": [
920+
{
921+
"name": "cors",
922+
"version": "v1",
923+
"executionCondition": "request.metadata[authenticated] != true",
924+
"params": {}
925+
}
926+
]
927+
},
928+
"on_message_received": {
929+
"policies": [
930+
{
931+
"name": "cors",
932+
"version": "v1",
933+
"executionCondition": "request.metadata[authenticated] != true",
934+
"params": {}
935+
}
936+
]
937+
},
938+
"on_message_delivery": {
939+
"policies": [
940+
{
941+
"name": "cors",
942+
"version": "v1",
943+
"executionCondition": "request.metadata[authenticated] != true",
944+
"params": {}
945+
}
946+
]
947+
}
948+
}
949+
950+
```
951+
886952
Policies applied to all channels, organized by event type.
887953

888954
### Properties
889955

890956
|Name|Type|Required|Restrictions|Description|
891957
|---|---|---|---|---|
892-
|on_subscription|[[Policy](#schemapolicy)]|false|none|Policies applied when a client subscribes to a channel (e.g., api-key-auth)|
893-
|on_unsubscription|[[Policy](#schemapolicy)]|false|none|Policies applied when a client unsubscribes from a channel (e.g., api-key-auth)|
894-
|on_message_received|[[Policy](#schemapolicy)]|false|none|Policies applied when a message is received from the publisher via webhook (e.g., hmac-signature-validation)|
895-
|on_message_delivery|[[Policy](#schemapolicy)]|false|none|Policies applied when delivering a message to a subscriber callback URL (e.g., hmac-sign-messages)|
958+
|on_subscription|[WebSubEventPolicies](#schemawebsubeventpolicies)|false|none|Policies for a single event type.|
959+
|on_unsubscription|[WebSubEventPolicies](#schemawebsubeventpolicies)|false|none|Policies for a single event type.|
960+
|on_message_received|[WebSubEventPolicies](#schemawebsubeventpolicies)|false|none|Policies for a single event type.|
961+
|on_message_delivery|[WebSubEventPolicies](#schemawebsubeventpolicies)|false|none|Policies for a single event type.|
896962

897963
<h2 id="tocS_WebSubChannelPolicies">WebSubChannelPolicies</h2>
898964

docs/rest-apis/gateway/websub-api-management.md

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -229,22 +229,22 @@ Status Code **200**
229229
|»»»» vhosts|object|false|none|Custom virtual hosts/domains for the API|
230230
|»»»»» main|string|true|none|Custom virtual host/domain for production traffic|
231231
|»»»»» sandbox|string|false|none|Custom virtual host/domain for sandbox traffic|
232-
|»»»» policies|[WebSubAllChannelPolicies](schemas.md#schemawebsuballchannelpolicies)|false|none|Policies applied to all channels, organized by event type.|
233-
|»»»»» on_subscription|[[Policy](schemas.md#schemapolicy)]|false|none|Policies applied when a client subscribes to a channel (e.g., api-key-auth)|
234-
|»»»»»» name|string|true|none|Name of the policy|
235-
|»»»»»» version|string|true|none|Version of the policy. Only major-only version is allowed (e.g., v0, v1). Full semantic version (e.g., v1.0.0) is not accepted and will be rejected. The Gateway Controller resolves the major version to the single matching full version installed in the gateway image.|
236-
|»»»»»» executionCondition|string|false|none|Expression controlling conditional execution of the policy|
237-
|»»»»»» params|object|false|none|Arbitrary parameters for the policy (free-form key/value structure)|
238-
|»»»»» on_unsubscription|[[Policy](schemas.md#schemapolicy)]|false|none|Policies applied when a client unsubscribes from a channel (e.g., api-key-auth)|
239-
|»»»»» on_message_received|[[Policy](schemas.md#schemapolicy)]|false|none|Policies applied when a message is received from the publisher via webhook (e.g., hmac-signature-validation)|
240-
|»»»»» on_message_delivery|[[Policy](schemas.md#schemapolicy)]|false|none|Policies applied when delivering a message to a subscriber callback URL (e.g., hmac-sign-messages)|
232+
|»»»» allChannels|[WebSubAllChannelPolicies](schemas.md#schemawebsuballchannelpolicies)|false|none|Policies applied to all channels, organized by event type.|
233+
|»»»»» on_subscription|[WebSubEventPolicies](schemas.md#schemawebsubeventpolicies)|false|none|Policies for a single event type.|
234+
|»»»»»» policies|[[Policy](schemas.md#schemapolicy)]|false|none|List of policies applied for this event type.|
235+
|»»»»»»» name|string|true|none|Name of the policy|
236+
|»»»»»»» version|string|true|none|Version of the policy. Only major-only version is allowed (e.g., v0, v1). Full semantic version (e.g., v1.0.0) is not accepted and will be rejected. The Gateway Controller resolves the major version to the single matching full version installed in the gateway image.|
237+
|»»»»»»» executionCondition|string|false|none|Expression controlling conditional execution of the policy|
238+
|»»»»»»» params|object|false|none|Arbitrary parameters for the policy (free-form key/value structure)|
239+
|»»»»» on_unsubscription|[WebSubEventPolicies](schemas.md#schemawebsubeventpolicies)|false|none|Policies for a single event type.|
240+
|»»»»» on_message_received|[WebSubEventPolicies](schemas.md#schemawebsubeventpolicies)|false|none|Policies for a single event type.|
241+
|»»»»» on_message_delivery|[WebSubEventPolicies](schemas.md#schemawebsubeventpolicies)|false|none|Policies for a single event type.|
241242
|»»»» channels|object|false|none|Per-channel configuration keyed by channel name. Each key is a channel name and defines policies applied only to that channel.|
242243
|»»»»» **additionalProperties**|[WebSubChannel](schemas.md#schemawebsubchannel)|false|none|A single channel definition with optional per-channel policy overrides.|
243-
|»»»»»» policies|[WebSubChannelPolicies](schemas.md#schemawebsubchannelpolicies)|false|none|Policies applied to a specific channel, organized by event type.|
244-
|»»»»»»» on_subscription|[[Policy](schemas.md#schemapolicy)]|false|none|Policies applied when a client subscribes to this channel (e.g., rbac)|
245-
|»»»»»»» on_unsubscription|[[Policy](schemas.md#schemapolicy)]|false|none|Policies applied when a client unsubscribes from this channel|
246-
|»»»»»»» on_message_received|[[Policy](schemas.md#schemapolicy)]|false|none|Policies applied when a message is received for this channel|
247-
|»»»»»»» on_message_delivery|[[Policy](schemas.md#schemapolicy)]|false|none|Policies applied when delivering a message for this channel|
244+
|»»»»»» on_subscription|[WebSubEventPolicies](schemas.md#schemawebsubeventpolicies)|false|none|Policies for a single event type.|
245+
|»»»»»» on_unsubscription|[WebSubEventPolicies](schemas.md#schemawebsubeventpolicies)|false|none|Policies for a single event type.|
246+
|»»»»»» on_message_received|[WebSubEventPolicies](schemas.md#schemawebsubeventpolicies)|false|none|Policies for a single event type.|
247+
|»»»»»» on_message_delivery|[WebSubEventPolicies](schemas.md#schemawebsubeventpolicies)|false|none|Policies for a single event type.|
248248
|»»»» deploymentState|string|false|none|Desired deployment state - 'deployed' (default) or 'undeployed'. When set to 'undeployed', the API is removed from router traffic but configuration, API keys, and policies are preserved for potential redeployment.|
249249

250250
*and*

0 commit comments

Comments
 (0)