From 73742c92f432eedc48300244ffbeca7c034a2cf6 Mon Sep 17 00:00:00 2001 From: kong-apiops <122612077+kong-apiops@users.noreply.github.com> Date: Tue, 12 Nov 2024 11:20:07 +0000 Subject: [PATCH] feat(sdk): automated oas update --- .../control-planes-config.yaml | 621 ++++++++++++++++-- .../Konnect/v0/yaml/mesh-control-planes.yaml | 38 +- api-specs/Konnect/v1/yaml/ksearch.yaml | 38 +- api-specs/Konnect/v2/yaml/api-products.yaml | 40 +- .../v2/yaml/application-auth-strategies.yaml | 38 +- api-specs/Konnect/v2/yaml/audit-logs.yaml | 38 +- api-specs/Konnect/v2/yaml/control-planes.yaml | 62 +- .../Konnect/v2/yaml/portal-management.yaml | 41 +- api-specs/Konnect/v3/yaml/identity.yaml | 42 +- api-specs/portal.yaml | 38 +- 10 files changed, 929 insertions(+), 67 deletions(-) diff --git a/api-specs/Konnect/control-planes-config/control-planes-config.yaml b/api-specs/Konnect/control-planes-config/control-planes-config.yaml index 62aa53d0f923..59eb5c71df33 100644 --- a/api-specs/Konnect/control-planes-config/control-planes-config.yaml +++ b/api-specs/Konnect/control-planes-config/control-planes-config.yaml @@ -26,7 +26,7 @@ paths: description: Retrieve the expected config hash for this control plane. The expected config hash can be used to verify if the config hash of a data plane node is up to date with the control plane. The config hash will be the same if they are in sync. responses: '200': - $ref: '#/components/responses/get-expected-config-hash' + $ref: '#/components/responses/GetExpectedConfigHashResponse' tags: - DP Nodes parameters: @@ -730,6 +730,32 @@ paths: tags: - Consumer Groups '/control-planes/{controlPlaneId}/core-entities/consumer_groups/{ConsumerGroupId}/consumers': + get: + operationId: list-consumers-for-consumer-group + summary: List all Consumers in a Consumer Group + description: List all consumers in a consumer group + parameters: + - $ref: '#/components/parameters/PaginationSize' + - $ref: '#/components/parameters/PaginationOffset' + - $ref: '#/components/parameters/PaginationTagsFilter' + responses: + '200': + description: A successful response listing of consumers + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/Consumer' + next: + $ref: '#/components/schemas/PaginationNextResponse' + offset: + $ref: '#/components/schemas/PaginationOffsetResponse' + tags: + - Consumer Groups parameters: - $ref: '#/components/parameters/ConsumerGroupIdManageConsumers' - $ref: '#/components/parameters/controlPlaneId' @@ -780,6 +806,114 @@ paths: schema: type: string - $ref: '#/components/parameters/controlPlaneId' + '/control-planes/{controlPlaneId}/core-entities/consumer_groups/{ConsumerGroupId}/plugins': + get: + operationId: list-plugin-with-consumer_group + summary: List all Plugins associated with a Consumer Group + description: List all Plugins associated with a Consumer Group + parameters: + - $ref: '#/components/parameters/ConsumerGroupId' + - $ref: '#/components/parameters/PaginationSize' + - $ref: '#/components/parameters/PaginationOffset' + - $ref: '#/components/parameters/PaginationTagsFilter' + responses: + '200': + description: A successful response listing Plugins + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/Plugin' + next: + $ref: '#/components/schemas/PaginationNextResponse' + offset: + $ref: '#/components/schemas/PaginationOffsetResponse' + tags: + - Plugins + parameters: + - $ref: '#/components/parameters/controlPlaneId' + post: + operationId: create-plugin-with-consumer_group + summary: Create a new Plugin associated with a Consumer Group + description: Create a new Plugin associated with a Consumer Group + parameters: + - $ref: '#/components/parameters/ConsumerGroupId' + requestBody: + description: Description of new Plugin for creation + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PluginWithoutParents' + responses: + '201': + description: Successfully created Plugin + content: + application/json: + schema: + $ref: '#/components/schemas/Plugin' + tags: + - Plugins + '/control-planes/{controlPlaneId}/core-entities/consumer_groups/{ConsumerGroupId}/plugins/{PluginId}': + delete: + operationId: delete-plugin-with-consumer_group + summary: Delete a a Plugin associated with a Consumer Group + description: Delete a a Plugin associated with a Consumer Group using ID. + parameters: + - $ref: '#/components/parameters/ConsumerGroupId' + - $ref: '#/components/parameters/PluginId' + responses: + '204': + description: Successfully deleted Plugin or the resource didn't exist + tags: + - Plugins + get: + operationId: get-plugin-with-consumer_group + summary: Fetch a Plugin associated with a Consumer Group + description: Get a Plugin associated with a Consumer Group using ID. + parameters: + - $ref: '#/components/parameters/ConsumerGroupId' + - $ref: '#/components/parameters/PluginId' + responses: + '200': + description: Successfully fetched Plugin + content: + application/json: + schema: + $ref: '#/components/schemas/Plugin' + '404': + description: Resource does not exist + tags: + - Plugins + parameters: + - $ref: '#/components/parameters/controlPlaneId' + put: + operationId: upsert-plugin-with-consumer_group + summary: Upsert a Plugin associated with a Consumer Group + description: Create or Update a Plugin associated with a Consumer Group using ID. + parameters: + - $ref: '#/components/parameters/ConsumerGroupId' + - $ref: '#/components/parameters/PluginId' + requestBody: + description: Description of the Plugin + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PluginWithoutParents' + responses: + '200': + description: Successfully upserted Plugin + content: + application/json: + schema: + $ref: '#/components/schemas/Plugin' + tags: + - Plugins '/control-planes/{controlPlaneId}/core-entities/consumers': get: operationId: list-consumer @@ -919,6 +1053,52 @@ paths: - Consumer Groups parameters: - $ref: '#/components/parameters/controlPlaneId' + post: + operationId: add-consumer-to-specific-consumer-group + summary: Add consumer to a specific consumer group + description: Add a consumer to a consumer group + parameters: + - $ref: '#/components/parameters/ConsumerId' + requestBody: + content: + application/json: + schema: + type: object + properties: + group: + type: string + example: fedee695-2ae2-4e45-877a-776d9b2fc793 + responses: + '201': + description: Consumer added to a specific group + content: + application/json: + schema: + type: object + properties: + consumer: + $ref: '#/components/schemas/Consumer' + consumer_groups: + type: array + items: + $ref: '#/components/schemas/ConsumerGroup' + tags: + - Consumer Groups + '/control-planes/{controlPlaneId}/core-entities/consumers/{ConsumerId}/consumer_groups/{ConsumerGroupId}': + delete: + operationId: remove-consumer-from-consumer-group + summary: Remove consumer from consumer group + description: Removes a consumer from a consumer group. This operation does not delete the consumer group. + parameters: + - $ref: '#/components/parameters/ConsumerId' + - $ref: '#/components/parameters/ConsumerGroupId' + responses: + '204': + description: Consumer removed from group + tags: + - Consumer Groups + parameters: + - $ref: '#/components/parameters/controlPlaneId' '/control-planes/{controlPlaneId}/core-entities/consumers/{ConsumerIdForNestedEntities}/acls': get: operationId: list-acl-with-consumer @@ -1459,6 +1639,222 @@ paths: $ref: '#/components/schemas/KeyAuth' tags: - API-keys + '/control-planes/{controlPlaneId}/core-entities/consumers/{ConsumerIdForNestedEntities}/mtls-auth': + get: + operationId: list-mtls-auth-with-consumer + summary: List all MTLS-auth credentials associated with a Consumer + description: List all MTLS-auth credentials associated with a Consumer + parameters: + - $ref: '#/components/parameters/ConsumerIdForNestedEntities' + - $ref: '#/components/parameters/PaginationSize' + - $ref: '#/components/parameters/PaginationOffset' + - $ref: '#/components/parameters/PaginationTagsFilter' + responses: + '200': + description: A successful response listing MTLS-auth credentials + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/MTLSAuth' + next: + $ref: '#/components/schemas/PaginationNextResponse' + offset: + $ref: '#/components/schemas/PaginationOffsetResponse' + tags: + - MTLS-auth credentials + parameters: + - $ref: '#/components/parameters/controlPlaneId' + post: + operationId: create-mtls-auth-with-consumer + summary: Create a new MTLS-auth credential associated with a Consumer + description: Create a new MTLS-auth credential associated with a Consumer + parameters: + - $ref: '#/components/parameters/ConsumerIdForNestedEntities' + requestBody: + description: Description of new MTLS-auth credential for creation + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/MTLSAuthWithoutParents' + responses: + '201': + description: Successfully created MTLS-auth credential + content: + application/json: + schema: + $ref: '#/components/schemas/MTLSAuth' + tags: + - MTLS-auth credentials + '/control-planes/{controlPlaneId}/core-entities/consumers/{ConsumerIdForNestedEntities}/mtls-auth/{MTLSAuthId}': + delete: + operationId: delete-mtls-auth-with-consumer + summary: Delete a a MTLS-auth credential associated with a Consumer + description: Delete a a MTLS-auth credential associated with a Consumer using ID. + parameters: + - $ref: '#/components/parameters/ConsumerIdForNestedEntities' + - $ref: '#/components/parameters/MTLSAuthId' + responses: + '204': + description: Successfully deleted MTLS-auth credential or the resource didn't exist + tags: + - MTLS-auth credentials + get: + operationId: get-mtls-auth-with-consumer + summary: Fetch a MTLS-auth credential associated with a Consumer + description: Get a MTLS-auth credential associated with a Consumer using ID. + parameters: + - $ref: '#/components/parameters/ConsumerIdForNestedEntities' + - $ref: '#/components/parameters/MTLSAuthId' + responses: + '200': + description: Successfully fetched MTLS-auth credential + content: + application/json: + schema: + $ref: '#/components/schemas/MTLSAuth' + '404': + description: Resource does not exist + tags: + - MTLS-auth credentials + parameters: + - $ref: '#/components/parameters/controlPlaneId' + put: + operationId: upsert-mtls-auth-with-consumer + summary: Upsert a MTLS-auth credential associated with a Consumer + description: Create or Update a MTLS-auth credential associated with a Consumer using ID. + parameters: + - $ref: '#/components/parameters/ConsumerIdForNestedEntities' + - $ref: '#/components/parameters/MTLSAuthId' + requestBody: + description: Description of the MTLS-auth credential + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/MTLSAuthWithoutParents' + responses: + '200': + description: Successfully upserted MTLS-auth credential + content: + application/json: + schema: + $ref: '#/components/schemas/MTLSAuth' + tags: + - MTLS-auth credentials + '/control-planes/{controlPlaneId}/core-entities/consumers/{ConsumerIdForNestedEntities}/plugins': + get: + operationId: list-plugin-with-consumer + summary: List all Plugins associated with a Consumer + description: List all Plugins associated with a Consumer + parameters: + - $ref: '#/components/parameters/ConsumerIdForNestedEntities' + - $ref: '#/components/parameters/PaginationSize' + - $ref: '#/components/parameters/PaginationOffset' + - $ref: '#/components/parameters/PaginationTagsFilter' + responses: + '200': + description: A successful response listing Plugins + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/Plugin' + next: + $ref: '#/components/schemas/PaginationNextResponse' + offset: + $ref: '#/components/schemas/PaginationOffsetResponse' + tags: + - Plugins + parameters: + - $ref: '#/components/parameters/controlPlaneId' + post: + operationId: create-plugin-with-consumer + summary: Create a new Plugin associated with a Consumer + description: Create a new Plugin associated with a Consumer + parameters: + - $ref: '#/components/parameters/ConsumerIdForNestedEntities' + requestBody: + description: Description of new Plugin for creation + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PluginWithoutParents' + responses: + '201': + description: Successfully created Plugin + content: + application/json: + schema: + $ref: '#/components/schemas/Plugin' + tags: + - Plugins + '/control-planes/{controlPlaneId}/core-entities/consumers/{ConsumerIdForNestedEntities}/plugins/{PluginId}': + delete: + operationId: delete-plugin-with-consumer + summary: Delete a a Plugin associated with a Consumer + description: Delete a a Plugin associated with a Consumer using ID. + parameters: + - $ref: '#/components/parameters/ConsumerIdForNestedEntities' + - $ref: '#/components/parameters/PluginId' + responses: + '204': + description: Successfully deleted Plugin or the resource didn't exist + tags: + - Plugins + get: + operationId: get-plugin-with-consumer + summary: Fetch a Plugin associated with a Consumer + description: Get a Plugin associated with a Consumer using ID. + parameters: + - $ref: '#/components/parameters/ConsumerIdForNestedEntities' + - $ref: '#/components/parameters/PluginId' + responses: + '200': + description: Successfully fetched Plugin + content: + application/json: + schema: + $ref: '#/components/schemas/Plugin' + '404': + description: Resource does not exist + tags: + - Plugins + parameters: + - $ref: '#/components/parameters/controlPlaneId' + put: + operationId: upsert-plugin-with-consumer + summary: Upsert a Plugin associated with a Consumer + description: Create or Update a Plugin associated with a Consumer using ID. + parameters: + - $ref: '#/components/parameters/ConsumerIdForNestedEntities' + - $ref: '#/components/parameters/PluginId' + requestBody: + description: Description of the Plugin + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PluginWithoutParents' + responses: + '200': + description: Successfully upserted Plugin + content: + application/json: + schema: + $ref: '#/components/schemas/Plugin' + tags: + - Plugins '/control-planes/{controlPlaneId}/core-entities/hmac-auths': get: operationId: list-hmac-auth @@ -1878,6 +2274,37 @@ paths: $ref: '#/components/responses/HTTP401Error' tags: - Keys + '/control-planes/{controlPlaneId}/core-entities/mtls-auths': + get: + operationId: list-mtls-auth + summary: List all MTLS-auth credentials + description: List all MTLS-auth credentials + parameters: + - $ref: '#/components/parameters/PaginationSize' + - $ref: '#/components/parameters/PaginationOffset' + - $ref: '#/components/parameters/PaginationTagsFilter' + responses: + '200': + description: A successful response listing MTLS-auth credentials + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/MTLSAuth' + next: + $ref: '#/components/schemas/PaginationNextResponse' + offset: + $ref: '#/components/schemas/PaginationOffsetResponse' + '401': + $ref: '#/components/responses/HTTP401Error' + tags: + - MTLS-auth credentials + parameters: + - $ref: '#/components/parameters/controlPlaneId' '/control-planes/{controlPlaneId}/core-entities/plugins': get: operationId: list-plugin @@ -3041,8 +3468,8 @@ components: schema: type: string ConsumerId: - description: ID of the Consumer to lookup - example: c1059869-6fa7-4329-a5f5-5946d14ca2c5 + description: The UUID of the consumer. + example: 123e4567-e89b-12d3-a456-426614174000 in: path name: ConsumerId required: true @@ -3102,6 +3529,14 @@ components: required: true schema: type: string + MTLSAuthId: + description: ID of the MTLS-auth credential to lookup + example: '' + in: path + name: MTLSAuthId + required: true + schema: + type: string PageAfter: name: 'page[after]' description: 'Request the next page of data, starting with the item after this parameter.' @@ -3267,7 +3702,6 @@ components: readOnly: true group: type: string - nullable: true id: type: string nullable: true @@ -3275,13 +3709,14 @@ components: type: array items: type: string - nullable: true example: consumer: id: 84a73fb8-50fc-44a7-a4d5-aa17728ee83f group: foo id: b1f34145-0343-41a4-9602-4c69dec2f269 additionalProperties: false + required: + - group ACLWithoutParents: type: object properties: @@ -3291,7 +3726,6 @@ components: readOnly: true group: type: string - nullable: true id: type: string nullable: true @@ -3299,11 +3733,12 @@ components: type: array items: type: string - nullable: true example: group: foo id: b1f34145-0343-41a4-9602-4c69dec2f269 additionalProperties: false + required: + - group BasicAuth: type: object properties: @@ -3324,15 +3759,12 @@ components: nullable: true password: type: string - nullable: true tags: type: array items: type: string - nullable: true username: type: string - nullable: true example: consumer: id: 84a73fb8-50fc-44a7-a4d5-aa17728ee83f @@ -3340,6 +3772,9 @@ components: password: hashedsoopersecretvalue username: darius additionalProperties: false + required: + - username + - password BasicAuthWithoutParents: type: object properties: @@ -3352,20 +3787,20 @@ components: nullable: true password: type: string - nullable: true tags: type: array items: type: string - nullable: true username: type: string - nullable: true example: id: b2f34145-0343-41a4-9602-4c69dec2f269 password: hashedsoopersecretvalue username: darius additionalProperties: false + required: + - username + - password CACertificate: description: A CA certificate object represents a trusted CA. These objects are used by Kong to verify the validity of a client or server certificate. type: object @@ -3389,7 +3824,6 @@ components: type: array items: type: string - nullable: true updated_at: description: Unix epoch when the resource was last updated. type: integer @@ -3428,12 +3862,16 @@ components: description: 'PEM-encoded private key of the alternate SSL key pair. This should only be set if you have both RSA and ECDSA types of certificate available and would like Kong to prefer serving using ECDSA certs when client advertises support for it. This field is _referenceable_, which means it can be securely stored as a [secret](/gateway/latest/plan-and-deploy/security/secrets-management/getting-started) in a vault. References must follow a [specific format](/gateway/latest/plan-and-deploy/security/secrets-management/reference-format).' type: string nullable: true + snis: + type: array + items: + type: string + nullable: true tags: description: An optional set of strings associated with the Certificate for grouping and filtering. type: array items: type: string - nullable: true updated_at: description: Unix epoch when the resource was last updated. type: integer @@ -3472,7 +3910,6 @@ components: type: array items: type: string - nullable: true updated_at: description: Unix epoch when the resource was last updated. type: integer @@ -3504,7 +3941,6 @@ components: type: array items: type: string - nullable: true updated_at: description: Unix epoch when the resource was last updated. type: integer @@ -3552,10 +3988,8 @@ components: type: array items: type: string - nullable: true username: type: string - nullable: true example: consumer: id: 84a73fb8-50fc-44a7-a4d5-aa17728ee83f @@ -3563,6 +3997,8 @@ components: secret: wQazJ304DW5huJklHgUfjfiSyCyTAEDZ username: xerxes additionalProperties: false + required: + - username HMACAuthWithoutParents: type: object properties: @@ -3580,15 +4016,15 @@ components: type: array items: type: string - nullable: true username: type: string - nullable: true example: id: 75695322-e8a0-4109-aed4-5416b0308d85 secret: wQazJ304DW5huJklHgUfjfiSyCyTAEDZ username: xerxes additionalProperties: false + required: + - username JWT: type: object properties: @@ -3638,7 +4074,6 @@ components: type: array items: type: string - nullable: true example: algorithm: HS256 consumer: @@ -3688,7 +4123,6 @@ components: type: array items: type: string - nullable: true example: algorithm: HS256 id: 75695322-e8a0-4109-aed4-5416b0308d85 @@ -3740,7 +4174,6 @@ components: type: array items: type: string - nullable: true updated_at: description: Unix epoch when the resource was last updated. type: integer @@ -3778,18 +4211,18 @@ components: nullable: true key: type: string - nullable: true tags: type: array items: type: string - nullable: true example: consumer: id: 84a73fb8-50fc-44a7-a4d5-aa17728ee83f id: b2f34145-0343-41a4-9602-4c69dec2f269 key: IL1deIyHyQA40WpeLeA1bIUXuvTwlGjo additionalProperties: false + required: + - key KeyAuthWithoutParents: type: object properties: @@ -3802,16 +4235,16 @@ components: nullable: true key: type: string - nullable: true tags: type: array items: type: string - nullable: true example: id: b2f34145-0343-41a4-9602-4c69dec2f269 key: IL1deIyHyQA40WpeLeA1bIUXuvTwlGjo additionalProperties: false + required: + - key KeySet: type: object properties: @@ -3829,7 +4262,6 @@ components: type: array items: type: string - nullable: true updated_at: description: Unix epoch when the resource was last updated. type: integer @@ -3885,7 +4317,6 @@ components: type: array items: type: string - nullable: true updated_at: description: Unix epoch when the resource was last updated. type: integer @@ -3903,6 +4334,80 @@ components: additionalProperties: false required: - kid + MTLSAuth: + type: object + properties: + ca_certificate: + type: object + additionalProperties: false + nullable: true + properties: + id: + type: string + x-foreign: true + consumer: + type: object + additionalProperties: false + nullable: true + properties: + id: + type: string + x-foreign: true + created_at: + description: Unix epoch when the resource was created. + type: integer + readOnly: true + id: + type: string + nullable: true + subject_name: + type: string + tags: + type: array + items: + type: string + example: + ca_certificate: + id: b2f34145-0343-41a4-9602-4c69dec2f260 + consumer: + id: 84a73fb8-50fc-44a7-a4d5-aa17728ee83f + id: b2f34145-0343-41a4-9602-4c69dec2f269 + subject_name: CA_Subject_Name + additionalProperties: false + required: + - subject_name + MTLSAuthWithoutParents: + type: object + properties: + ca_certificate: + type: object + additionalProperties: false + nullable: true + properties: + id: + type: string + x-foreign: true + created_at: + description: Unix epoch when the resource was created. + type: integer + readOnly: true + id: + type: string + nullable: true + subject_name: + type: string + tags: + type: array + items: + type: string + example: + ca_certificate: + id: b2f34145-0343-41a4-9602-4c69dec2f260 + id: b2f34145-0343-41a4-9602-4c69dec2f269 + subject_name: CA_Subject_Name + additionalProperties: false + required: + - subject_name PaginationNextResponse: description: URI to the next page (may be null) type: string @@ -4015,7 +4520,6 @@ components: type: array items: type: string - nullable: true updated_at: description: Unix epoch when the resource was last updated. type: integer @@ -4113,7 +4617,6 @@ components: type: array items: type: string - nullable: true updated_at: description: Unix epoch when the resource was last updated. type: integer @@ -4285,7 +4788,6 @@ components: type: array items: type: string - nullable: true updated_at: description: Unix epoch when the resource was last updated. type: integer @@ -4438,7 +4940,6 @@ components: type: array items: type: string - nullable: true updated_at: description: Unix epoch when the resource was last updated. type: integer @@ -4480,7 +4981,6 @@ components: type: array items: type: string - nullable: true updated_at: description: Unix epoch when the resource was last updated. type: integer @@ -4513,7 +5013,6 @@ components: type: array items: type: string - nullable: true updated_at: description: Unix epoch when the resource was last updated. type: integer @@ -4605,7 +5104,6 @@ components: type: array items: type: string - nullable: true tls_verify: description: 'Whether to enable verification of upstream server TLS certificate. If set to `null`, then the Nginx default is respected.' type: boolean @@ -4655,7 +5153,6 @@ components: type: array items: type: string - nullable: true target: description: 'The target address (ip or hostname) and port. If the hostname resolves to an SRV record, the `port` value will be overridden by the value from the DNS record.' type: string @@ -4700,7 +5197,6 @@ components: type: array items: type: string - nullable: true target: description: 'The target address (ip or hostname) and port. If the hostname resolves to an SRV record, the `port` value will be overridden by the value from the DNS record.' type: string @@ -4970,7 +5466,6 @@ components: type: array items: type: string - nullable: true updated_at: description: Unix epoch when the resource was last updated. type: integer @@ -5082,7 +5577,6 @@ components: type: array items: type: string - nullable: true updated_at: description: Unix epoch when the resource was last updated. type: integer @@ -5148,7 +5642,6 @@ components: type: string enum: - required - - max_length - is_array - is_base64 - is_boolean @@ -5206,6 +5699,8 @@ components: - min_lowercase - min_uppercase - min_symbols + - min_items + - min nullable: false readOnly: true minimum: @@ -5216,7 +5711,7 @@ components: example: body reason: type: string - example: is a required field + example: must have at least 8 characters readOnly: true additionalProperties: false required: @@ -5224,6 +5719,38 @@ components: - reason - rule - minimum + InvalidParameterMaximumLength: + type: object + properties: + field: + type: string + example: name + readOnly: true + rule: + description: invalid parameters rules + type: string + enum: + - max_length + - max_items + - max + nullable: false + readOnly: true + maximum: + type: integer + example: 8 + source: + type: string + example: body + reason: + type: string + example: must not have more than 8 characters + readOnly: true + additionalProperties: false + required: + - field + - reason + - rule + - maximum InvalidParameterChoiceItem: type: object properties: @@ -5298,6 +5825,7 @@ components: oneOf: - $ref: '#/components/schemas/InvalidParameterStandard' - $ref: '#/components/schemas/InvalidParameterMinimumLength' + - $ref: '#/components/schemas/InvalidParameterMaximumLength' - $ref: '#/components/schemas/InvalidParameterChoiceItem' - $ref: '#/components/schemas/InvalidParameterDependentItem' minItems: 1 @@ -5431,7 +5959,7 @@ components: application/json: schema: $ref: '#/components/schemas/DataPlaneClientCertificate' - get-expected-config-hash: + GetExpectedConfigHashResponse: description: Response body for retrieving the expected config hash of the control plane. content: application/json: @@ -5447,6 +5975,10 @@ components: updated_at: description: Date the control plane configuration was last updated. type: integer + required: + - expected_hash + - created_at + - updated_at ListDataPlaneCertificatesResponse: description: Example response content: @@ -5783,6 +6315,7 @@ tags: - name: Basic-auth credentials - name: JWTs - name: HMAC-auth credentials + - name: MTLS-auth credentials - name: ACLs externalDocs: description: Documentation for Kong Gateway and its APIs diff --git a/api-specs/Konnect/v0/yaml/mesh-control-planes.yaml b/api-specs/Konnect/v0/yaml/mesh-control-planes.yaml index dbafacd43f06..334fd240e805 100644 --- a/api-specs/Konnect/v0/yaml/mesh-control-planes.yaml +++ b/api-specs/Konnect/v0/yaml/mesh-control-planes.yaml @@ -330,7 +330,6 @@ components: type: string enum: - required - - max_length - is_array - is_base64 - is_boolean @@ -388,6 +387,8 @@ components: - min_lowercase - min_uppercase - min_symbols + - min_items + - min nullable: false readOnly: true minimum: @@ -398,7 +399,7 @@ components: example: body reason: type: string - example: is a required field + example: must have at least 8 characters readOnly: true additionalProperties: false required: @@ -406,6 +407,38 @@ components: - reason - rule - minimum + InvalidParameterMaximumLength: + type: object + properties: + field: + type: string + example: name + readOnly: true + rule: + description: invalid parameters rules + type: string + enum: + - max_length + - max_items + - max + nullable: false + readOnly: true + maximum: + type: integer + example: 8 + source: + type: string + example: body + reason: + type: string + example: must not have more than 8 characters + readOnly: true + additionalProperties: false + required: + - field + - reason + - rule + - maximum InvalidParameterChoiceItem: type: object properties: @@ -480,6 +513,7 @@ components: oneOf: - $ref: '#/components/schemas/InvalidParameterStandard' - $ref: '#/components/schemas/InvalidParameterMinimumLength' + - $ref: '#/components/schemas/InvalidParameterMaximumLength' - $ref: '#/components/schemas/InvalidParameterChoiceItem' - $ref: '#/components/schemas/InvalidParameterDependentItem' minItems: 1 diff --git a/api-specs/Konnect/v1/yaml/ksearch.yaml b/api-specs/Konnect/v1/yaml/ksearch.yaml index 55a268ffc2ff..9582236710aa 100644 --- a/api-specs/Konnect/v1/yaml/ksearch.yaml +++ b/api-specs/Konnect/v1/yaml/ksearch.yaml @@ -257,7 +257,6 @@ components: type: string enum: - required - - max_length - is_array - is_base64 - is_boolean @@ -315,6 +314,8 @@ components: - min_lowercase - min_uppercase - min_symbols + - min_items + - min nullable: false readOnly: true minimum: @@ -325,7 +326,7 @@ components: example: body reason: type: string - example: is a required field + example: must have at least 8 characters readOnly: true additionalProperties: false required: @@ -333,6 +334,38 @@ components: - reason - rule - minimum + InvalidParameterMaximumLength: + type: object + properties: + field: + type: string + example: name + readOnly: true + rule: + description: invalid parameters rules + type: string + enum: + - max_length + - max_items + - max + nullable: false + readOnly: true + maximum: + type: integer + example: 8 + source: + type: string + example: body + reason: + type: string + example: must not have more than 8 characters + readOnly: true + additionalProperties: false + required: + - field + - reason + - rule + - maximum InvalidParameterChoiceItem: type: object properties: @@ -407,6 +440,7 @@ components: oneOf: - $ref: '#/components/schemas/InvalidParameterStandard' - $ref: '#/components/schemas/InvalidParameterMinimumLength' + - $ref: '#/components/schemas/InvalidParameterMaximumLength' - $ref: '#/components/schemas/InvalidParameterChoiceItem' - $ref: '#/components/schemas/InvalidParameterDependentItem' minItems: 1 diff --git a/api-specs/Konnect/v2/yaml/api-products.yaml b/api-specs/Konnect/v2/yaml/api-products.yaml index d7890ee5d81c..c6cd19c1f423 100644 --- a/api-specs/Konnect/v2/yaml/api-products.yaml +++ b/api-specs/Konnect/v2/yaml/api-products.yaml @@ -1038,7 +1038,7 @@ components: description: The name of the API product version specification type: string example: oas.yaml - pattern: .+(\.yaml|\.yml|\.json) + pattern: '^.+(?:\.yaml|\.yml|\.json)$' content: description: The contents of the API product version specification example: My YAML or JSON formatted OAS content @@ -1539,7 +1539,6 @@ components: type: string enum: - required - - max_length - is_array - is_base64 - is_boolean @@ -1597,6 +1596,8 @@ components: - min_lowercase - min_uppercase - min_symbols + - min_items + - min nullable: false readOnly: true minimum: @@ -1607,7 +1608,7 @@ components: example: body reason: type: string - example: is a required field + example: must have at least 8 characters readOnly: true additionalProperties: false required: @@ -1615,6 +1616,38 @@ components: - reason - rule - minimum + InvalidParameterMaximumLength: + type: object + properties: + field: + type: string + example: name + readOnly: true + rule: + description: invalid parameters rules + type: string + enum: + - max_length + - max_items + - max + nullable: false + readOnly: true + maximum: + type: integer + example: 8 + source: + type: string + example: body + reason: + type: string + example: must not have more than 8 characters + readOnly: true + additionalProperties: false + required: + - field + - reason + - rule + - maximum InvalidParameterChoiceItem: type: object properties: @@ -1689,6 +1722,7 @@ components: oneOf: - $ref: '#/components/schemas/InvalidParameterStandard' - $ref: '#/components/schemas/InvalidParameterMinimumLength' + - $ref: '#/components/schemas/InvalidParameterMaximumLength' - $ref: '#/components/schemas/InvalidParameterChoiceItem' - $ref: '#/components/schemas/InvalidParameterDependentItem' minItems: 1 diff --git a/api-specs/Konnect/v2/yaml/application-auth-strategies.yaml b/api-specs/Konnect/v2/yaml/application-auth-strategies.yaml index 50f63d3c7b08..1140738e6be8 100644 --- a/api-specs/Konnect/v2/yaml/application-auth-strategies.yaml +++ b/api-specs/Konnect/v2/yaml/application-auth-strategies.yaml @@ -1514,7 +1514,6 @@ components: type: string enum: - required - - max_length - is_array - is_base64 - is_boolean @@ -1572,6 +1571,8 @@ components: - min_lowercase - min_uppercase - min_symbols + - min_items + - min nullable: false readOnly: true minimum: @@ -1582,7 +1583,7 @@ components: example: body reason: type: string - example: is a required field + example: must have at least 8 characters readOnly: true additionalProperties: false required: @@ -1590,6 +1591,38 @@ components: - reason - rule - minimum + InvalidParameterMaximumLength: + type: object + properties: + field: + type: string + example: name + readOnly: true + rule: + description: invalid parameters rules + type: string + enum: + - max_length + - max_items + - max + nullable: false + readOnly: true + maximum: + type: integer + example: 8 + source: + type: string + example: body + reason: + type: string + example: must not have more than 8 characters + readOnly: true + additionalProperties: false + required: + - field + - reason + - rule + - maximum InvalidParameterChoiceItem: type: object properties: @@ -1664,6 +1697,7 @@ components: oneOf: - $ref: '#/components/schemas/InvalidParameterStandard' - $ref: '#/components/schemas/InvalidParameterMinimumLength' + - $ref: '#/components/schemas/InvalidParameterMaximumLength' - $ref: '#/components/schemas/InvalidParameterChoiceItem' - $ref: '#/components/schemas/InvalidParameterDependentItem' minItems: 1 diff --git a/api-specs/Konnect/v2/yaml/audit-logs.yaml b/api-specs/Konnect/v2/yaml/audit-logs.yaml index 245511834650..f1b345782012 100644 --- a/api-specs/Konnect/v2/yaml/audit-logs.yaml +++ b/api-specs/Konnect/v2/yaml/audit-logs.yaml @@ -396,7 +396,6 @@ components: type: string enum: - required - - max_length - is_array - is_base64 - is_boolean @@ -454,6 +453,8 @@ components: - min_lowercase - min_uppercase - min_symbols + - min_items + - min nullable: false readOnly: true minimum: @@ -464,7 +465,7 @@ components: example: body reason: type: string - example: is a required field + example: must have at least 8 characters readOnly: true additionalProperties: false required: @@ -472,6 +473,38 @@ components: - reason - rule - minimum + InvalidParameterMaximumLength: + type: object + properties: + field: + type: string + example: name + readOnly: true + rule: + description: invalid parameters rules + type: string + enum: + - max_length + - max_items + - max + nullable: false + readOnly: true + maximum: + type: integer + example: 8 + source: + type: string + example: body + reason: + type: string + example: must not have more than 8 characters + readOnly: true + additionalProperties: false + required: + - field + - reason + - rule + - maximum InvalidParameterChoiceItem: type: object properties: @@ -546,6 +579,7 @@ components: oneOf: - $ref: '#/components/schemas/InvalidParameterStandard' - $ref: '#/components/schemas/InvalidParameterMinimumLength' + - $ref: '#/components/schemas/InvalidParameterMaximumLength' - $ref: '#/components/schemas/InvalidParameterChoiceItem' - $ref: '#/components/schemas/InvalidParameterDependentItem' minItems: 1 diff --git a/api-specs/Konnect/v2/yaml/control-planes.yaml b/api-specs/Konnect/v2/yaml/control-planes.yaml index e1bd922f3e16..1401e9352e17 100644 --- a/api-specs/Konnect/v2/yaml/control-planes.yaml +++ b/api-specs/Konnect/v2/yaml/control-planes.yaml @@ -184,7 +184,7 @@ paths: summary: Upsert Control Plane Group Members description: Adds one or more control planes as a member of a control plane group. requestBody: - $ref: '#/components/requestBodies/GroupMemebershipUpsert' + $ref: '#/components/requestBodies/GroupMembershipUpsert' responses: '204': description: No Content @@ -213,7 +213,7 @@ paths: summary: Add Control Plane Group Members description: Adds one or more control planes as a member of a control plane group. requestBody: - $ref: '#/components/requestBodies/GroupMemebershipAdd' + $ref: '#/components/requestBodies/GroupMembershipAdd' responses: '204': description: No Content @@ -374,9 +374,13 @@ components: type: array items: type: object + required: + - id properties: id: type: string + required: + - members CreateControlPlaneRequest: description: The request schema for the create control plane request. type: object @@ -583,6 +587,11 @@ components: - CONFLICT - UNKNOWN readOnly: true + required: + - id + - created_at + - updated_at + - state title: GroupStatus GroupConflict: description: The Group Conflict object contains information about a conflict in a control plane group. @@ -601,6 +610,10 @@ components: readOnly: true resource: $ref: '#/components/schemas/GroupConflictResource' + required: + - cluster_id + - description + - resource title: GroupConflict GroupConflictResource: description: A resource causing a conflict in a control plane group. @@ -842,7 +855,6 @@ components: type: string enum: - required - - max_length - is_array - is_base64 - is_boolean @@ -900,6 +912,8 @@ components: - min_lowercase - min_uppercase - min_symbols + - min_items + - min nullable: false readOnly: true minimum: @@ -910,7 +924,7 @@ components: example: body reason: type: string - example: is a required field + example: must have at least 8 characters readOnly: true additionalProperties: false required: @@ -918,6 +932,38 @@ components: - reason - rule - minimum + InvalidParameterMaximumLength: + type: object + properties: + field: + type: string + example: name + readOnly: true + rule: + description: invalid parameters rules + type: string + enum: + - max_length + - max_items + - max + nullable: false + readOnly: true + maximum: + type: integer + example: 8 + source: + type: string + example: body + reason: + type: string + example: must not have more than 8 characters + readOnly: true + additionalProperties: false + required: + - field + - reason + - rule + - maximum InvalidParameterChoiceItem: type: object properties: @@ -992,6 +1038,7 @@ components: oneOf: - $ref: '#/components/schemas/InvalidParameterStandard' - $ref: '#/components/schemas/InvalidParameterMinimumLength' + - $ref: '#/components/schemas/InvalidParameterMaximumLength' - $ref: '#/components/schemas/InvalidParameterChoiceItem' - $ref: '#/components/schemas/InvalidParameterDependentItem' minItems: 1 @@ -1309,7 +1356,7 @@ components: instance: 'kong:trace:6816496025408232265' detail: Not Found requestBodies: - GroupMemebershipAdd: + GroupMembershipAdd: content: application/json: schema: @@ -1335,7 +1382,7 @@ components: - id: 778a0474-687d-41af-8e51-a0488d790586 - id: fa85f8e8-2e5a-496e-b6d0-4e534eaab459 description: Request body for removing a list of child control planes from a control plane group membership. - GroupMemebershipUpsert: + GroupMembershipUpsert: content: application/json: schema: @@ -1529,6 +1576,9 @@ components: type: array items: $ref: '#/components/schemas/ControlPlane' + required: + - meta + - data examples: List Group Memberships Example: $ref: '#/components/examples/ListGroupMembershipsExample' diff --git a/api-specs/Konnect/v2/yaml/portal-management.yaml b/api-specs/Konnect/v2/yaml/portal-management.yaml index 530c1fda07cd..6caf018bdcef 100644 --- a/api-specs/Konnect/v2/yaml/portal-management.yaml +++ b/api-specs/Konnect/v2/yaml/portal-management.yaml @@ -4472,7 +4472,6 @@ components: type: string enum: - required - - max_length - is_array - is_base64 - is_boolean @@ -4530,6 +4529,8 @@ components: - min_lowercase - min_uppercase - min_symbols + - min_items + - min nullable: false readOnly: true minimum: @@ -4540,7 +4541,7 @@ components: example: body reason: type: string - example: is a required field + example: must have at least 8 characters readOnly: true additionalProperties: false required: @@ -4548,6 +4549,38 @@ components: - reason - rule - minimum + InvalidParameterMaximumLength: + type: object + properties: + field: + type: string + example: name + readOnly: true + rule: + description: invalid parameters rules + type: string + enum: + - max_length + - max_items + - max + nullable: false + readOnly: true + maximum: + type: integer + example: 8 + source: + type: string + example: body + reason: + type: string + example: must not have more than 8 characters + readOnly: true + additionalProperties: false + required: + - field + - reason + - rule + - maximum InvalidParameterChoiceItem: type: object properties: @@ -4622,6 +4655,7 @@ components: oneOf: - $ref: '#/components/schemas/InvalidParameterStandard' - $ref: '#/components/schemas/InvalidParameterMinimumLength' + - $ref: '#/components/schemas/InvalidParameterMaximumLength' - $ref: '#/components/schemas/InvalidParameterChoiceItem' - $ref: '#/components/schemas/InvalidParameterDependentItem' minItems: 1 @@ -6088,6 +6122,7 @@ components: rule: max_length reason: value of "custom_domain" must not exceed 1024 characters source: body + maximum: 1024 UpdatePortalBadRequestExample7: value: status: 400 @@ -6099,6 +6134,7 @@ components: rule: max_length reason: value of "custom_client_domain" must not exceed 1024 characters source: body + maximum: 1024 DeletePortalBadRequestExample1: value: status: 400 @@ -6475,6 +6511,7 @@ components: rule: max_length reason: value of "description" must not exceed 250 characters source: body + maximum: 250 AddDeveloperToTeamBadRequestExample1: value: status: 400 diff --git a/api-specs/Konnect/v3/yaml/identity.yaml b/api-specs/Konnect/v3/yaml/identity.yaml index 957e7cb8a4e9..164632c8ec26 100644 --- a/api-specs/Konnect/v3/yaml/identity.yaml +++ b/api-specs/Konnect/v3/yaml/identity.yaml @@ -322,6 +322,8 @@ paths: $ref: '#/components/responses/IdentityBadRequest' '404': $ref: '#/components/responses/IdentityNotFound' + '409': + $ref: '#/components/responses/IdentityConflict' tags: - Team Membership '/teams/{teamId}': @@ -1572,7 +1574,6 @@ components: type: string enum: - required - - max_length - is_array - is_base64 - is_boolean @@ -1630,6 +1631,8 @@ components: - min_lowercase - min_uppercase - min_symbols + - min_items + - min nullable: false readOnly: true minimum: @@ -1640,7 +1643,7 @@ components: example: body reason: type: string - example: is a required field + example: must have at least 8 characters readOnly: true additionalProperties: false required: @@ -1648,6 +1651,38 @@ components: - reason - rule - minimum + InvalidParameterMaximumLength: + type: object + properties: + field: + type: string + example: name + readOnly: true + rule: + description: invalid parameters rules + type: string + enum: + - max_length + - max_items + - max + nullable: false + readOnly: true + maximum: + type: integer + example: 8 + source: + type: string + example: body + reason: + type: string + example: must not have more than 8 characters + readOnly: true + additionalProperties: false + required: + - field + - reason + - rule + - maximum InvalidParameterChoiceItem: type: object properties: @@ -1722,6 +1757,7 @@ components: oneOf: - $ref: '#/components/schemas/InvalidParameterStandard' - $ref: '#/components/schemas/InvalidParameterMinimumLength' + - $ref: '#/components/schemas/InvalidParameterMaximumLength' - $ref: '#/components/schemas/InvalidParameterChoiceItem' - $ref: '#/components/schemas/InvalidParameterDependentItem' minItems: 1 @@ -3704,6 +3740,8 @@ components: enum: - active - inactive + - deleting + - deleted retention_period_days: description: The number of days an organization spends inactive before being deleted. type: integer diff --git a/api-specs/portal.yaml b/api-specs/portal.yaml index 3569cae5d8a0..ce733fbfb519 100644 --- a/api-specs/portal.yaml +++ b/api-specs/portal.yaml @@ -2040,7 +2040,6 @@ components: type: string enum: - required - - max_length - is_array - is_base64 - is_boolean @@ -2098,6 +2097,8 @@ components: - min_lowercase - min_uppercase - min_symbols + - min_items + - min nullable: false readOnly: true minimum: @@ -2108,7 +2109,7 @@ components: example: body reason: type: string - example: is a required field + example: must have at least 8 characters readOnly: true additionalProperties: false required: @@ -2116,6 +2117,38 @@ components: - reason - rule - minimum + InvalidParameterMaximumLength: + type: object + properties: + field: + type: string + example: name + readOnly: true + rule: + description: invalid parameters rules + type: string + enum: + - max_length + - max_items + - max + nullable: false + readOnly: true + maximum: + type: integer + example: 8 + source: + type: string + example: body + reason: + type: string + example: must not have more than 8 characters + readOnly: true + additionalProperties: false + required: + - field + - reason + - rule + - maximum InvalidParameterChoiceItem: type: object properties: @@ -2190,6 +2223,7 @@ components: oneOf: - $ref: '#/components/schemas/InvalidParameterStandard' - $ref: '#/components/schemas/InvalidParameterMinimumLength' + - $ref: '#/components/schemas/InvalidParameterMaximumLength' - $ref: '#/components/schemas/InvalidParameterChoiceItem' - $ref: '#/components/schemas/InvalidParameterDependentItem' minItems: 1