Skip to content

Commit e294c31

Browse files
OAS Update
1 parent fe4d722 commit e294c31

File tree

1 file changed

+182
-5
lines changed

1 file changed

+182
-5
lines changed

services/cdn/v1beta/cdn.json

Lines changed: 182 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,20 @@
116116
"type": "string",
117117
"x-go-type": "string"
118118
},
119+
"logSink": {
120+
"discriminator": {
121+
"mapping": {
122+
"loki": "#/components/schemas/PatchLokiLogSink"
123+
},
124+
"propertyName": "type"
125+
},
126+
"nullable": true,
127+
"oneOf": [
128+
{
129+
"$ref": "#/components/schemas/PatchLokiLogSink"
130+
}
131+
]
132+
},
119133
"monthlyLimitBytes": {
120134
"description": "Sets the monthly limit of bandwidth in bytes that the pullzone is allowed to use.\n",
121135
"format": "int64",
@@ -161,6 +175,18 @@
161175
"type": "string",
162176
"x-go-type": "string"
163177
},
178+
"geofencing": {
179+
"additionalProperties": {
180+
"items": {
181+
"description": "ISO 3166-1 alpha-2 country code (e.g., DE, ES, GB)",
182+
"type": "string"
183+
},
184+
"type": "array",
185+
"uniqueItems": true
186+
},
187+
"description": "An object mapping multiple alternative origins to country codes.\n\nAny request from one of those country codes will route to the alternative origin. Do note that\ncountry codes may only be used once. You can not have a country be assigned to multiple alternative origins.\n",
188+
"type": "object"
189+
},
164190
"intentId": {
165191
"description": "While optional, it is greatly encouraged to provide an `intentId`. \nThis is used to deduplicate requests. \nIf multiple POST-Requests with the same `intentId` for a given `projectId` are received, all but the first request are dropped.\n",
166192
"type": "string"
@@ -749,6 +775,19 @@
749775
"logs"
750776
]
751777
},
778+
"GetLogsSearchFiltersResponse": {
779+
"properties": {
780+
"filters": {
781+
"items": {
782+
"type": "string"
783+
},
784+
"type": "array"
785+
}
786+
},
787+
"required": [
788+
"filters"
789+
]
790+
},
752791
"GetStatisticsResponse": {
753792
"properties": {
754793
"records": {
@@ -764,6 +803,18 @@
764803
},
765804
"HttpBackend": {
766805
"properties": {
806+
"geofencing": {
807+
"additionalProperties": {
808+
"items": {
809+
"description": "ISO 3166-1 alpha-2 country code (e.g., DE, ES, GB)",
810+
"type": "string"
811+
},
812+
"type": "array",
813+
"uniqueItems": true
814+
},
815+
"description": "An object mapping multiple alternative origins to country codes.\n\nAny request from one of those country codes will route to the alternative origin. Do note that\ncountry codes may only be used once. You cannot have a country be assigned to multiple alternative origins.\n",
816+
"type": "object"
817+
},
767818
"originRequestHeaders": {
768819
"additionalProperties": {
769820
"type": "string"
@@ -781,13 +832,26 @@
781832
"required": [
782833
"type",
783834
"originUrl",
784-
"originRequestHeaders"
835+
"originRequestHeaders",
836+
"geofencing"
785837
],
786838
"type": "object"
787839
},
788840
"HttpBackendPatch": {
789841
"description": "A partial HTTP Backend",
790842
"properties": {
843+
"geofencing": {
844+
"additionalProperties": {
845+
"items": {
846+
"description": "ISO 3166-1 alpha-2 country code (e.g., DE, ES, GB)",
847+
"type": "string"
848+
},
849+
"type": "array",
850+
"uniqueItems": true
851+
},
852+
"description": "An object mapping multiple alternative origins to country codes.\n\nAny request from one of those country codes will route to the alternative origin. Do note that\ncountry codes may only be used once. You cannot have a country be assigned to multiple alternative origins.\n",
853+
"type": "object"
854+
},
791855
"originRequestHeaders": {
792856
"additionalProperties": {
793857
"type": "string"
@@ -927,11 +991,11 @@
927991
"description": "Returned if a custom certificate is used. Response does not contain the certificate or key.",
928992
"properties": {
929993
"certificate": {
930-
"description": "base64-encoded certificate",
994+
"description": "base64-encoded PEM-encoded certificate",
931995
"type": "string"
932996
},
933997
"key": {
934-
"description": "base64-encoded key",
998+
"description": "base64-encoded PEM encoded key",
935999
"type": "string"
9361000
},
9371001
"type": {
@@ -2689,13 +2753,20 @@
26892753
}
26902754
},
26912755
{
2692-
"description": "The following sort options exist. We default to `timestamp`\n- `timestamp` - Sort by log message time stamp.\n",
2756+
"description": "Sorts the log messages by a specific field. Defaults to `timestamp`.\n\nSupported sort options:\n- `timestamp`\n- `dataCenterRegion`\n- `requestCountryCode`\n- `statusCode`\n- `cacheHit`\n- `size`\n- `path`\n- `host`\n",
26932757
"in": "query",
26942758
"name": "sortBy",
26952759
"schema": {
26962760
"default": "timestamp",
26972761
"enum": [
2698-
"timestamp"
2762+
"timestamp",
2763+
"dataCenterRegion",
2764+
"requestCountryCode",
2765+
"statusCode",
2766+
"cacheHit",
2767+
"size",
2768+
"path",
2769+
"host"
26992770
],
27002771
"format": "enum",
27012772
"type": "string"
@@ -2814,6 +2885,112 @@
28142885
}
28152886
}
28162887
},
2888+
"/v1beta/projects/{projectId}/distributions/{distributionId}/logs/searchFilters": {
2889+
"get": {
2890+
"operationId": "GetLogsSearchFilters",
2891+
"parameters": [
2892+
{
2893+
"description": "Your STACKIT Project ID",
2894+
"in": "path",
2895+
"name": "projectId",
2896+
"required": true,
2897+
"schema": {
2898+
"type": "string"
2899+
}
2900+
},
2901+
{
2902+
"description": "Your CDN distribution ID",
2903+
"in": "path",
2904+
"name": "distributionId",
2905+
"required": true,
2906+
"schema": {
2907+
"format": "uuid",
2908+
"type": "string"
2909+
}
2910+
},
2911+
{
2912+
"description": "Required filter for search suggestions (e.g., status=4, requestCountry, cacheHit=tru, dataCenterRegion). The filter query cannot be empty.",
2913+
"in": "query",
2914+
"name": "filter",
2915+
"required": true,
2916+
"schema": {
2917+
"type": "string"
2918+
}
2919+
}
2920+
],
2921+
"responses": {
2922+
"200": {
2923+
"content": {
2924+
"application/json": {
2925+
"schema": {
2926+
"$ref": "#/components/schemas/GetLogsSearchFiltersResponse"
2927+
}
2928+
}
2929+
},
2930+
"description": "OK"
2931+
},
2932+
"400": {
2933+
"content": {
2934+
"application/json": {
2935+
"schema": {
2936+
"$ref": "#/components/schemas/GenericJSONResponse"
2937+
}
2938+
}
2939+
},
2940+
"description": "Invalid request. Please check your queries or parameters."
2941+
},
2942+
"401": {
2943+
"content": {
2944+
"text/plain": {
2945+
"schema": {
2946+
"type": "string"
2947+
}
2948+
}
2949+
},
2950+
"description": "unauthorized - please make sure the \"Authorization\" header is set and uses correct credentials"
2951+
},
2952+
"422": {
2953+
"content": {
2954+
"application/json": {
2955+
"schema": {
2956+
"$ref": "#/components/schemas/GenericJSONResponse"
2957+
}
2958+
}
2959+
},
2960+
"description": "unprocessable entity - please make sure the body you provided is constructed according to spec"
2961+
},
2962+
"500": {
2963+
"content": {
2964+
"application/json": {
2965+
"schema": {
2966+
"$ref": "#/components/schemas/GenericJSONResponse"
2967+
}
2968+
}
2969+
},
2970+
"description": "internal error - please try again later or contact support if the issue persists"
2971+
},
2972+
"default": {
2973+
"content": {
2974+
"application/json": {
2975+
"schema": {
2976+
"$ref": "#/components/schemas/GenericJSONResponse"
2977+
}
2978+
}
2979+
},
2980+
"description": "Default error response"
2981+
}
2982+
},
2983+
"summary": "Get relevant search filters for this distribution based on user input",
2984+
"x-stackit-authorization": {
2985+
"actions": [
2986+
"cdn.distribution.get"
2987+
],
2988+
"resource-id": "projectId",
2989+
"resource-id-type": "dynamic",
2990+
"resource-type": "project"
2991+
}
2992+
}
2993+
},
28172994
"/v1beta/projects/{projectId}/distributions/{distributionId}/statistics": {
28182995
"get": {
28192996
"description": "Returns the statistics of the distribution in the given\ntime range. The response is a list of statistics records. Each record aggregates the statistics for its time interval.\nIn case no statistics for a time interval exist, no record is returned.\nThe time range for which statistics should be returned can be configured using query parameters.\n\nTimestamps are assumed to be UTC. This is especially important for the \"buckets\" when you, for example, return daily information. A day always starts and ends at 00:00Z.\n\n**Important Note:** Lower bounds are inclusive, upper bounds are exclusive. If you, for example, want a daily grouped which starts on the 1st Jan and also contains the full 10th Jan day, you would define `2025-01-01T00:00:00Z` as the lower and `2025-01-11T00:00:00Z` as the upper bound.\n\nThe upper bound is optional. If you omit it, the API will use the start of the next interval as the upper bound. \nExample: if `interval` is `hourly`, `from` would default to the start of the next hour, if it's `daily`, `from` would default to the start of the next day, etc.\n",

0 commit comments

Comments
 (0)