From 79fc2131c58a01785898765a53ada26b4e960d14 Mon Sep 17 00:00:00 2001 From: kong-apiops <122612077+kong-apiops@users.noreply.github.com> Date: Tue, 3 Dec 2024 15:16:27 +0000 Subject: [PATCH] feat(sdk): automated oas update --- .../control-planes-config.yaml | 163 ++- .../Konnect/v0/yaml/mesh-control-planes.yaml | 8 +- api-specs/Konnect/v1/yaml/ksearch.yaml | 10 +- .../Konnect/v2/yaml/analytics-reports.yaml | 8 +- .../Konnect/v2/yaml/analytics-requests.yaml | 8 +- api-specs/Konnect/v2/yaml/api-products.yaml | 64 +- .../v2/yaml/application-auth-strategies.yaml | 8 +- api-specs/Konnect/v2/yaml/audit-logs.yaml | 8 +- api-specs/Konnect/v2/yaml/control-planes.yaml | 75 +- .../Konnect/v2/yaml/portal-management.yaml | 28 +- api-specs/Konnect/v3/yaml/identity.yaml | 2 + api-specs/portal.yaml | 1092 +++++++++-------- 12 files changed, 878 insertions(+), 596 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 59eb5c71df33..5a23189486a4 100644 --- a/api-specs/Konnect/control-planes-config/control-planes-config.yaml +++ b/api-specs/Konnect/control-planes-config/control-planes-config.yaml @@ -16,8 +16,13 @@ info: version: 0.0.1 servers: - url: 'https://us.api.konghq.com/v2' + description: United-States Production region - url: 'https://eu.api.konghq.com/v2' + description: Europe Production region - url: 'https://au.api.konghq.com/v2' + description: Australia Production region + - url: 'https://me.api.konghq.com/v2' + description: Middle-East Production region paths: '/control-planes/{controlPlaneId}/expected-config-hash': get: @@ -263,6 +268,27 @@ paths: - ACLs parameters: - $ref: '#/components/parameters/controlPlaneId' + '/control-planes/{controlPlaneId}/core-entities/acls/{ACLId}': + get: + operationId: get-acl + summary: Fetch an ACL + description: Get an ACL using ID. + responses: + '200': + description: Successfully fetched ACL + content: + application/json: + schema: + $ref: '#/components/schemas/ACL' + '401': + $ref: '#/components/responses/HTTP401Error' + '404': + description: Resource does not exist + tags: + - ACLs + parameters: + - $ref: '#/components/parameters/ACLId' + - $ref: '#/components/parameters/controlPlaneId' '/control-planes/{controlPlaneId}/core-entities/basic-auths': get: operationId: list-basic-auth @@ -294,6 +320,27 @@ paths: - Basic-auth credentials parameters: - $ref: '#/components/parameters/controlPlaneId' + '/control-planes/{controlPlaneId}/core-entities/basic-auths/{BasicAuthId}': + get: + operationId: get-basic-auth + summary: Fetch a Basic-auth credential + description: Get a Basic-auth credential using ID. + responses: + '200': + description: Successfully fetched Basic-auth credential + content: + application/json: + schema: + $ref: '#/components/schemas/BasicAuth' + '401': + $ref: '#/components/responses/HTTP401Error' + '404': + description: Resource does not exist + tags: + - Basic-auth credentials + parameters: + - $ref: '#/components/parameters/BasicAuthId' + - $ref: '#/components/parameters/controlPlaneId' '/control-planes/{controlPlaneId}/core-entities/ca_certificates': get: operationId: list-ca_certificate @@ -730,6 +777,21 @@ paths: tags: - Consumer Groups '/control-planes/{controlPlaneId}/core-entities/consumer_groups/{ConsumerGroupId}/consumers': + delete: + operationId: remove-all-consumers-from-consumer-group + summary: Remove consumers from consumer group + description: |- + **Pre-release Endpoint** + This endpoint is currently in beta and is subject to change. + + Removes all consumers from a consumer groups. This operation does not delete the consumer group. + responses: + '204': + description: Consumers removed from group + '404': + description: Consumer group or consumer association does not exist + tags: + - Consumer Groups get: operationId: list-consumers-for-consumer-group summary: List all Consumers in a Consumer Group @@ -1024,6 +1086,19 @@ paths: tags: - Consumers '/control-planes/{controlPlaneId}/core-entities/consumers/{ConsumerId}/consumer_groups': + delete: + operationId: remove-consumer-from-all-consumer-groups + summary: Remove consumer from consumer group + description: Removes a consumer from all consumer groups. This operation does not delete the consumer group. + parameters: + - $ref: '#/components/parameters/ConsumerId' + responses: + '204': + description: Consumer removed from all groups + '404': + description: Consumer does not exist + tags: + - Consumer Groups get: operationId: list-consumer-groups-for-consumer summary: List all Consumer Groups a Consumer belongs to @@ -1886,6 +1961,27 @@ paths: - HMAC-auth credentials parameters: - $ref: '#/components/parameters/controlPlaneId' + '/control-planes/{controlPlaneId}/core-entities/hmac-auths/{HMACAuthId}': + get: + operationId: get-hmac-auth + summary: Fetch a HMAC-auth credential + description: Get a HMAC-auth credential using ID. + responses: + '200': + description: Successfully fetched HMAC-auth credential + content: + application/json: + schema: + $ref: '#/components/schemas/HMACAuth' + '401': + $ref: '#/components/responses/HTTP401Error' + '404': + description: Resource does not exist + tags: + - HMAC-auth credentials + parameters: + - $ref: '#/components/parameters/HMACAuthId' + - $ref: '#/components/parameters/controlPlaneId' '/control-planes/{controlPlaneId}/core-entities/jwts': get: operationId: list-jwt @@ -1917,6 +2013,27 @@ paths: - JWTs parameters: - $ref: '#/components/parameters/controlPlaneId' + '/control-planes/{controlPlaneId}/core-entities/jwts/{JWTId}': + get: + operationId: get-jwt + summary: Fetch a JWT + description: Get a JWT using ID. + responses: + '200': + description: Successfully fetched JWT + content: + application/json: + schema: + $ref: '#/components/schemas/JWT' + '401': + $ref: '#/components/responses/HTTP401Error' + '404': + description: Resource does not exist + tags: + - JWTs + parameters: + - $ref: '#/components/parameters/JWTId' + - $ref: '#/components/parameters/controlPlaneId' '/control-planes/{controlPlaneId}/core-entities/key-auths': get: operationId: list-key-auth @@ -1948,6 +2065,27 @@ paths: - API-keys parameters: - $ref: '#/components/parameters/controlPlaneId' + '/control-planes/{controlPlaneId}/core-entities/key-auths/{KeyAuthId}': + get: + operationId: get-key-auth + summary: Fetch an API-key + description: Get an API-key using ID. + responses: + '200': + description: Successfully fetched API-key + content: + application/json: + schema: + $ref: '#/components/schemas/KeyAuth' + '401': + $ref: '#/components/responses/HTTP401Error' + '404': + description: Resource does not exist + tags: + - API-keys + parameters: + - $ref: '#/components/parameters/KeyAuthId' + - $ref: '#/components/parameters/controlPlaneId' '/control-planes/{controlPlaneId}/core-entities/key-sets': get: operationId: list-key-set @@ -2305,6 +2443,27 @@ paths: - MTLS-auth credentials parameters: - $ref: '#/components/parameters/controlPlaneId' + '/control-planes/{controlPlaneId}/core-entities/mtls-auths/{MTLSAuthId}': + get: + operationId: get-mtls-auth + summary: Fetch a MTLS-auth credential + description: Get a MTLS-auth credential using ID. + responses: + '200': + description: Successfully fetched MTLS-auth credential + content: + application/json: + schema: + $ref: '#/components/schemas/MTLSAuth' + '401': + $ref: '#/components/responses/HTTP401Error' + '404': + description: Resource does not exist + tags: + - MTLS-auth credentials + parameters: + - $ref: '#/components/parameters/MTLSAuthId' + - $ref: '#/components/parameters/controlPlaneId' '/control-planes/{controlPlaneId}/core-entities/plugins': get: operationId: list-plugin @@ -4340,7 +4499,6 @@ components: ca_certificate: type: object additionalProperties: false - nullable: true properties: id: type: string @@ -4382,7 +4540,6 @@ components: ca_certificate: type: object additionalProperties: false - nullable: true properties: id: type: string @@ -5554,7 +5711,6 @@ components: description: The configuration properties for the Vault which can be found on the vaults' documentation page. type: object additionalProperties: true - nullable: true created_at: description: Unix epoch when the resource was created. type: integer @@ -5595,6 +5751,7 @@ components: required: - name - prefix + - config BaseError: description: standard error type: object diff --git a/api-specs/Konnect/v0/yaml/mesh-control-planes.yaml b/api-specs/Konnect/v0/yaml/mesh-control-planes.yaml index 334fd240e805..0d7eb726e092 100644 --- a/api-specs/Konnect/v0/yaml/mesh-control-planes.yaml +++ b/api-specs/Konnect/v0/yaml/mesh-control-planes.yaml @@ -8,11 +8,13 @@ info: url: 'https://konghq.com' servers: - url: 'https://us.api.konghq.com/v1' - description: US Public API + description: United-States Production region - url: 'https://eu.api.konghq.com/v1' - description: EU Public API + description: Europe Production region - url: 'https://au.api.konghq.com/v1' - description: AU Public API + description: Australia Production region + - url: 'https://me.api.konghq.com/v1' + description: Middle-East Production region paths: /mesh/control-planes: get: diff --git a/api-specs/Konnect/v1/yaml/ksearch.yaml b/api-specs/Konnect/v1/yaml/ksearch.yaml index 9582236710aa..cd030d0b1654 100644 --- a/api-specs/Konnect/v1/yaml/ksearch.yaml +++ b/api-specs/Konnect/v1/yaml/ksearch.yaml @@ -7,14 +7,14 @@ info: name: Kong url: 'https://konghq.com' servers: - - url: 'https://global.api.konghq.com/v1' - description: Global Base URL - url: 'https://us.api.konghq.com/v1' - description: US Region Base URL + description: United-States Production region - url: 'https://eu.api.konghq.com/v1' - description: EU Region Base URL + description: Europe Production region - url: 'https://au.api.konghq.com/v1' - description: AU Region Base URL + description: Australia Production region + - url: 'https://me.api.konghq.com/v1' + description: Middle-East Production region paths: /search: get: diff --git a/api-specs/Konnect/v2/yaml/analytics-reports.yaml b/api-specs/Konnect/v2/yaml/analytics-reports.yaml index c4ccbdb5e15b..36a2661692cc 100644 --- a/api-specs/Konnect/v2/yaml/analytics-reports.yaml +++ b/api-specs/Konnect/v2/yaml/analytics-reports.yaml @@ -8,11 +8,13 @@ info: url: 'https://cloud.konghq.com' servers: - url: 'https://us.api.konghq.com/v2' - description: US Region Konnect Platform Base URL + description: United-States Production region - url: 'https://eu.api.konghq.com/v2' - description: EU Region Konnect Platform Base URL + description: Europe Production region - url: 'https://au.api.konghq.com/v2' - description: AU Region Konnect Platform Base URL + description: Australia Production region + - url: 'https://me.api.konghq.com/v2' + description: Middle-East Production region paths: /reports: get: diff --git a/api-specs/Konnect/v2/yaml/analytics-requests.yaml b/api-specs/Konnect/v2/yaml/analytics-requests.yaml index 58359a95e059..2825fc94d6e6 100644 --- a/api-specs/Konnect/v2/yaml/analytics-requests.yaml +++ b/api-specs/Konnect/v2/yaml/analytics-requests.yaml @@ -8,11 +8,13 @@ info: url: 'https://cloud.konghq.com' servers: - url: 'https://us.api.konghq.com/v2' - description: US Region Konnect Platform Base URL + description: United-States Production region - url: 'https://eu.api.konghq.com/v2' - description: EU Region Konnect Platform Base URL + description: Europe Production region - url: 'https://au.api.konghq.com/v2' - description: AU Region Konnect Platform Base URL + description: Australia Production region + - url: 'https://me.api.konghq.com/v2' + description: Middle-East Production region paths: /api-requests: post: diff --git a/api-specs/Konnect/v2/yaml/api-products.yaml b/api-specs/Konnect/v2/yaml/api-products.yaml index c6cd19c1f423..af836cf1f41b 100644 --- a/api-specs/Konnect/v2/yaml/api-products.yaml +++ b/api-specs/Konnect/v2/yaml/api-products.yaml @@ -8,11 +8,13 @@ info: url: 'https://cloud.konghq.com' servers: - url: 'https://us.api.konghq.com/v2' - description: US Region Base URL + description: United-States Production region - url: 'https://eu.api.konghq.com/v2' - description: EU Region Base URL + description: Europe Production region - url: 'https://au.api.konghq.com/v2' - description: AU Region Base URL + description: Australia Production region + - url: 'https://me.api.konghq.com/v2' + description: Middle-East Production region paths: /api-products: post: @@ -53,6 +55,7 @@ paths: - $ref: '#/components/parameters/APIProductFilters' - $ref: '#/components/parameters/APIProductSort' - $ref: '#/components/parameters/LabelsFilter' + - $ref: '#/components/parameters/PublicLabelsFilter' responses: '200': $ref: '#/components/responses/ListAPIProductResponse' @@ -644,6 +647,14 @@ components: schema: type: integer example: 10 + PublicLabelsFilter: + name: public_labels + description: Filters requested resource by associated public labels. + required: false + in: query + schema: + type: string + example: 'key:value,keyExists' schemas: APIProductFilterParameters: type: object @@ -807,6 +818,8 @@ components: $ref: '#/components/schemas/UpdatedAt' labels: $ref: '#/components/schemas/Labels' + public_labels: + $ref: '#/components/schemas/PublicLabels' additionalProperties: false required: - id @@ -817,6 +830,7 @@ components: - created_at - updated_at - labels + - public_labels - version_count title: API Product APIProductDocumentSummary: @@ -1073,6 +1087,8 @@ components: nullable: true labels: $ref: '#/components/schemas/Labels' + public_labels: + $ref: '#/components/schemas/PublicLabels' portal_ids: description: The list of portal identifiers which this API product should be published to type: array @@ -1104,6 +1120,8 @@ components: nullable: true labels: $ref: '#/components/schemas/LabelsUpdate' + public_labels: + $ref: '#/components/schemas/PublicLabelsUpdate' portal_ids: description: The list of portal identifiers which this API product should be published to type: array @@ -1492,6 +1510,23 @@ components: maxLength: 63 maxProperties: 50 title: Labels + PublicLabels: + description: | + Public labels store information about an entity that can be used for filtering a list of objects. + + Public labels are intended to store **PUBLIC** metadata. + + Keys must be of length 1-63 characters, and cannot start with "kong", "konnect", "mesh", "kic", or "_". + type: object + example: + category: finance + additionalProperties: + type: string + pattern: '^[a-z0-9A-Z]{1}([a-z0-9A-Z-._]*[a-z0-9A-Z]+)?$' + minLength: 1 + maxLength: 63 + maxProperties: 50 + title: PublicLabels BaseError: description: standard error type: object @@ -1816,6 +1851,25 @@ components: maxProperties: 50 nullable: true writeOnly: true + PublicLabelsUpdate: + description: | + Public labels store information about an entity that can be used for filtering a list of objects. + + Public labels are intended to store **PUBLIC** metadata. + + Keys must be of length 1-63 characters, and cannot start with "kong", "konnect", "mesh", "kic", or "_". + type: object + example: + category: finance + additionalProperties: + type: string + pattern: '^[a-z0-9A-Z]{1}([a-z0-9A-Z-._]*[a-z0-9A-Z]+)?$' + minLength: 1 + maxLength: 63 + nullable: true + maxProperties: 50 + title: PublicLabelsUpdate + writeOnly: true PublishStatus: type: string enum: @@ -2221,6 +2275,8 @@ components: version_count: 10 labels: env: test + public_labels: + label: value APIProductVersionExample: value: id: 9f5061ce-78f6-4452-9108-ad7c02821fd5 @@ -2745,6 +2801,8 @@ components: version_count: 10 labels: env: test + public_labels: + label: value meta: page: number: 1 diff --git a/api-specs/Konnect/v2/yaml/application-auth-strategies.yaml b/api-specs/Konnect/v2/yaml/application-auth-strategies.yaml index 1140738e6be8..723987b1c114 100644 --- a/api-specs/Konnect/v2/yaml/application-auth-strategies.yaml +++ b/api-specs/Konnect/v2/yaml/application-auth-strategies.yaml @@ -8,11 +8,13 @@ info: url: 'https://cloud.konghq.com' servers: - url: 'https://us.api.konghq.com/v2' - description: US Region Base URL + description: United-States Production region - url: 'https://eu.api.konghq.com/v2' - description: EU Region Base URL + description: Europe Production region - url: 'https://au.api.konghq.com/v2' - description: AU Region Base URL + description: Australia Production region + - url: 'https://me.api.konghq.com/v2' + description: Middle-East Production region paths: /dcr-providers: post: diff --git a/api-specs/Konnect/v2/yaml/audit-logs.yaml b/api-specs/Konnect/v2/yaml/audit-logs.yaml index f1b345782012..118ebfd0c9ef 100644 --- a/api-specs/Konnect/v2/yaml/audit-logs.yaml +++ b/api-specs/Konnect/v2/yaml/audit-logs.yaml @@ -8,11 +8,13 @@ info: url: 'https://konghq.com' servers: - url: 'https://us.api.konghq.com/v2' - description: US URL + description: United-States Production region - url: 'https://eu.api.konghq.com/v2' - description: EU URL + description: Europe Production region - url: 'https://au.api.konghq.com/v2' - description: AU URL + description: Australia Production region + - url: 'https://me.api.konghq.com/v2' + description: Middle-East Production region paths: /audit-log-replay-job: put: diff --git a/api-specs/Konnect/v2/yaml/control-planes.yaml b/api-specs/Konnect/v2/yaml/control-planes.yaml index 1401e9352e17..628ebbf62d3b 100644 --- a/api-specs/Konnect/v2/yaml/control-planes.yaml +++ b/api-specs/Konnect/v2/yaml/control-planes.yaml @@ -8,11 +8,13 @@ info: url: 'https://cloud.konghq.com' servers: - url: 'https://us.api.konghq.com/v2' - description: US Region Base URL + description: United-States Production region - url: 'https://eu.api.konghq.com/v2' - description: EU Region Base URL + description: Europe Production region - url: 'https://au.api.konghq.com/v2' - description: AU Region Base URL + description: Australia Production region + - url: 'https://me.api.konghq.com/v2' + description: Middle-East Production region paths: /control-planes: get: @@ -1262,38 +1264,40 @@ components: updated_at: '2022-11-04T20:10:06.927Z' GroupConflictStatusExample: value: - id: 7f9fd312-a987-4628-b4c5-bb4f4fddd5f7 - conflicts: - - cluster_id: 57fdf779-7935-476f-ab2b-7fa1323b70e6 - description: 'conflicting entity found: ID=df43b088-cace-4119-9e2a-d83e5fbb0c48, Name=svc1' - resource: - id: df43b088-cace-4119-9e2a-d83e5fbb0c48 - type: service - - cluster_id: 38ceea96-fe39-11ed-be56-0242ac120002 - description: 'conflicting entity found: ID=15f3ab7d-7202-498a-95b4-334f783dbcdd, Name=svc1' - resource: - id: 15f3ab7d-7202-498a-95b4-334f783dbcdd - type: service - state: CONFLICT - created_at: '2022-11-04T20:10:06.927Z' - updated_at: '2022-11-04T20:10:06.927Z' + item: + id: 7f9fd312-a987-4628-b4c5-bb4f4fddd5f7 + conflicts: + - cluster_id: 57fdf779-7935-476f-ab2b-7fa1323b70e6 + description: 'conflicting entity found: ID=df43b088-cace-4119-9e2a-d83e5fbb0c48, Name=svc1' + resource: + id: df43b088-cace-4119-9e2a-d83e5fbb0c48 + type: service + - cluster_id: 38ceea96-fe39-11ed-be56-0242ac120002 + description: 'conflicting entity found: ID=15f3ab7d-7202-498a-95b4-334f783dbcdd, Name=svc1' + resource: + id: 15f3ab7d-7202-498a-95b4-334f783dbcdd + type: service + state: CONFLICT + created_at: '2022-11-04T20:10:06.927Z' + updated_at: '2022-11-04T20:10:06.927Z' GroupNoConflictStatusExample: value: - id: 7f9fd312-a987-4628-b4c5-bb4f4fddd5f7 - conflicts: - - cluster_id: 57fdf779-7935-476f-ab2b-7fa1323b70e6 - description: 'conflicting entity found: ID=df43b088-cace-4119-9e2a-d83e5fbb0c48, Name=svc1' - resource: - id: df43b088-cace-4119-9e2a-d83e5fbb0c48 - type: service - - cluster_id: 38ceea96-fe39-11ed-be56-0242ac120002 - description: 'conflicting entity found: ID=15f3ab7d-7202-498a-95b4-334f783dbcdd, Name=svc1' - resource: - id: 15f3ab7d-7202-498a-95b4-334f783dbcdd - type: service - state: CONFLICT - created_at: '2022-11-04T20:10:06.927Z' - updated_at: '2022-11-04T20:10:06.927Z' + item: + id: 7f9fd312-a987-4628-b4c5-bb4f4fddd5f7 + conflicts: + - cluster_id: 57fdf779-7935-476f-ab2b-7fa1323b70e6 + description: 'conflicting entity found: ID=df43b088-cace-4119-9e2a-d83e5fbb0c48, Name=svc1' + resource: + id: df43b088-cace-4119-9e2a-d83e5fbb0c48 + type: service + - cluster_id: 38ceea96-fe39-11ed-be56-0242ac120002 + description: 'conflicting entity found: ID=15f3ab7d-7202-498a-95b4-334f783dbcdd, Name=svc1' + resource: + id: 15f3ab7d-7202-498a-95b4-334f783dbcdd + type: service + state: CONFLICT + created_at: '2022-11-04T20:10:06.927Z' + updated_at: '2022-11-04T20:10:06.927Z' ListGroupMembershipsExample: value: meta: @@ -1587,7 +1591,10 @@ components: content: application/json: schema: - $ref: '#/components/schemas/GroupStatus' + type: object + properties: + item: + $ref: '#/components/schemas/GroupStatus' examples: Group Conflict Status Example: $ref: '#/components/examples/GroupConflictStatusExample' diff --git a/api-specs/Konnect/v2/yaml/portal-management.yaml b/api-specs/Konnect/v2/yaml/portal-management.yaml index 6caf018bdcef..7630476fc655 100644 --- a/api-specs/Konnect/v2/yaml/portal-management.yaml +++ b/api-specs/Konnect/v2/yaml/portal-management.yaml @@ -8,11 +8,13 @@ info: url: 'https://konghq.com' servers: - url: 'https://us.api.konghq.com/v2' - description: US Region Base URL + description: United-States Production region - url: 'https://eu.api.konghq.com/v2' - description: EU Region Base URL + description: Europe Production region - url: 'https://au.api.konghq.com/v2' - description: AU Region Base URL + description: Australia Production region + - url: 'https://me.api.konghq.com/v2' + description: Middle-East Production region paths: /portals: get: @@ -1187,6 +1189,22 @@ paths: parameters: - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageNumber' + - name: filter + in: query + description: Filter developers returned in the response. + required: false + schema: + type: object + properties: + email: + $ref: '#/components/schemas/StringFieldFilter' + full_name: + $ref: '#/components/schemas/StringFieldFilter' + attributes: + $ref: '#/components/schemas/StringFieldFilter' + active: + $ref: '#/components/schemas/BooleanFieldFilter' + style: deepObject responses: '200': $ref: '#/components/responses/ListBasicDevelopers' @@ -1224,6 +1242,8 @@ paths: $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' + '409': + $ref: '#/components/responses/Conflict' tags: - Portal Team Membership '/portals/{portalId}/teams/{teamId}/developers/{developerId}': @@ -1912,6 +1932,7 @@ components: - us - eu - au + - me - '*' example: role_name: API Viewer @@ -2141,6 +2162,7 @@ components: - us - eu - au + - me - '*' example: id: 1a3c2169-27f8-4594-926b-41df3432d5dc diff --git a/api-specs/Konnect/v3/yaml/identity.yaml b/api-specs/Konnect/v3/yaml/identity.yaml index 164632c8ec26..8a727abc5142 100644 --- a/api-specs/Konnect/v3/yaml/identity.yaml +++ b/api-specs/Konnect/v3/yaml/identity.yaml @@ -1439,6 +1439,7 @@ components: - us - eu - au + - me - '*' example: id: 54cc6168-ebb1-4300-8168-d62a0dd08fc8 @@ -2439,6 +2440,7 @@ components: - us - eu - au + - me - '*' examples: Assigned Roles US: diff --git a/api-specs/portal.yaml b/api-specs/portal.yaml index ce733fbfb519..006619f8225e 100644 --- a/api-specs/portal.yaml +++ b/api-specs/portal.yaml @@ -965,13 +965,14 @@ components: type: string format: uuid DocumentId: - name: documentId - in: path - required: true - description: Contains a unique identifier used by the Portal API for this resource. schema: type: string format: uuid + example: d32d905a-ed33-46a3-a093-d8f536af9a8a + name: documentId + in: path + required: true + description: ID of the document. FilterByAuthStrategyEquality: name: 'filter[auth_strategy_id][eq]' description: Filter by the id of the auth strategy supported by the application. @@ -1633,141 +1634,492 @@ components: example: 'kong:trace:1234567890' detail: example: Invalid credentials - AuthStrategyId: - description: 'ID of the auth strategy to use for the application. If null or not included, the default application auth strategy will be used.' + UUID: + description: Contains a unique identifier used by the API for this resource. type: string format: uuid - nullable: true - Scopes: - description: |- - **Pre-release Endpoint** - This endpoint is currently in beta and is subject to change. - - The granted scopes for the application. Will only be included if supported by the application's auth strategy. + example: 5f9fd312-a987-4628-b4c5-bb4f4fddd5f7 + readOnly: true + CreatedAt: + description: An ISO-8601 timestamp representation of entity creation date. + type: string + format: date-time + example: '2022-11-04T20:10:06.927Z' + readOnly: true + UpdatedAt: + description: An ISO-8601 timestamp representation of entity update date. + type: string + format: date-time + example: '2022-11-04T20:10:06.927Z' + readOnly: true + AvailableScopes: + description: Possible developer selectable scopes for an application. Only present when using DCR Provider that supports it. type: array items: type: string - CreateCredentialPayload: + example: + - scope1 + - scope2 + InvalidRules: + description: invalid parameters rules + type: string + enum: + - required + - is_array + - is_base64 + - is_boolean + - is_date_time + - is_integer + - is_null + - is_number + - is_object + - is_string + - is_uuid + - is_fqdn + - is_arn + - unknown_property + - is_label + - matches_regex + - invalid + - is_supported_network_availability_zone_list + - is_supported_network_cidr_block + - is_supported_provider_region + nullable: true + readOnly: true + InvalidParameterStandard: type: object properties: - display_name: + field: type: string - maxLength: 255 - additionalProperties: false - UpdateCredentialPayload: - type: object - properties: - display_name: + example: name + readOnly: true + rule: + $ref: '#/components/schemas/InvalidRules' + source: type: string - maxLength: 255 - additionalProperties: false - required: - - display_name - ListApplicationsResponse: - type: object - properties: - meta: - $ref: '#/components/schemas/PaginatedMeta' - data: - type: array - items: - $ref: '#/components/schemas/GetApplicationResponse' + example: body + reason: + type: string + example: is a required field + readOnly: true additionalProperties: false required: - - data - - meta - GetApplicationResponse: + - field + - reason + InvalidParameterMinimumLength: type: object properties: - id: - $ref: '#/components/schemas/UUID' - name: + field: type: string - reference_id: - $ref: '#/components/schemas/ApplicationReferenceId' - description: + example: name + readOnly: true + rule: + description: invalid parameters rules type: string - nullable: true - redirect_uri: + enum: + - min_length + - min_digits + - min_lowercase + - min_uppercase + - min_symbols + - min_items + - min + nullable: false + readOnly: true + minimum: + type: integer + example: 8 + source: type: string - nullable: true - auth_strategy: - $ref: '#/components/schemas/PortalAuthStrategy' - scopes: - $ref: '#/components/schemas/Scopes' - created_at: - $ref: '#/components/schemas/CreatedAt' - updated_at: - $ref: '#/components/schemas/UpdatedAt' - additionalProperties: false - required: - - id - - name - - reference_id - - description - - updated_at - - created_at - ListCredentialsResponse: - type: object - properties: - meta: - $ref: '#/components/schemas/PaginatedMeta' - data: - type: array - items: - type: object - additionalProperties: false - properties: - id: - $ref: '#/components/schemas/UUID' - display_name: - type: string - required: - - id - - display_name + example: body + reason: + type: string + example: must have at least 8 characters + readOnly: true additionalProperties: false required: - - data - - meta - CredentialCreationResponse: + - field + - reason + - rule + - minimum + InvalidParameterMaximumLength: type: object properties: - credential: + field: type: string - id: - $ref: '#/components/schemas/UUID' - display_name: + 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: - - credential - - id - - display_name - RefreshTokenResponse: - description: Refresh token response + - field + - reason + - rule + - maximum + InvalidParameterChoiceItem: type: object properties: - client_id: + field: type: string - client_secret: + example: name + readOnly: true + rule: + description: invalid parameters rules + type: string + enum: + - enum + nullable: false + readOnly: true + reason: + type: string + example: is a required field + readOnly: true + choices: + type: array + items: {} + minItems: 1 + nullable: false + readOnly: true + uniqueItems: true + source: type: string + example: body additionalProperties: false required: - - client_id - - client_secret - title: Refresh token response - CreateApplicationPayload: - description: Application creation payload + - field + - reason + - rule + - choices + InvalidParameterDependentItem: type: object properties: - name: - description: The name of the application - type: string - maxLength: 255 - reference_id: - $ref: '#/components/schemas/ApplicationReferenceId' - redirect_uri: - description: URL to redirect to after completing an OIDC auth flow + field: + type: string + example: name + readOnly: true + rule: + description: invalid parameters rules + type: string + enum: + - dependent_fields + nullable: true + readOnly: true + reason: + type: string + example: is a required field + readOnly: true + dependents: + type: array + items: {} + nullable: true + readOnly: true + uniqueItems: true + source: + type: string + example: body + additionalProperties: false + required: + - field + - rule + - reason + - dependents + InvalidParameters: + description: invalid parameters + type: array + items: + oneOf: + - $ref: '#/components/schemas/InvalidParameterStandard' + - $ref: '#/components/schemas/InvalidParameterMinimumLength' + - $ref: '#/components/schemas/InvalidParameterMaximumLength' + - $ref: '#/components/schemas/InvalidParameterChoiceItem' + - $ref: '#/components/schemas/InvalidParameterDependentItem' + minItems: 1 + nullable: false + uniqueItems: true + BadRequestError: + allOf: + - $ref: '#/components/schemas/BaseError' + - type: object + required: + - invalid_parameters + properties: + invalid_parameters: + $ref: '#/components/schemas/InvalidParameters' + NotFoundError: + allOf: + - $ref: '#/components/schemas/BaseError' + - type: object + properties: + status: + example: 404 + title: + example: Not Found + type: + example: 'https://httpstatuses.com/404' + instance: + example: 'kong:trace:1234567890' + detail: + example: Not found + PageMeta: + description: Contains pagination query parameters and the total number of objects returned. + type: object + properties: + number: + type: number + example: 1 + size: + type: number + example: 10 + total: + type: number + example: 100 + required: + - number + - size + - total + PaginatedMeta: + description: returns the pagination information + type: object + properties: + page: + $ref: '#/components/schemas/PageMeta' + required: + - page + title: PaginatedMeta + DocumentContentTypeEnum: + type: string + default: application/json + enum: + - application/json + - application/vnd.konnect.document-tree+json + DocumentFormatContentTypeEnum: + type: string + default: application/json + enum: + - text/markdown + - application/json + - application/vnd.konnect.document-nodes+json + NullableUUID: + description: Contains a unique identifier for a resource. + type: string + format: uuid + example: 5f9fd312-a987-4628-b4c5-bb4f4fddd5f7 + nullable: true + AuthStrategyKeyAuth: + description: KeyAuth Auth strategy that the application uses. + type: object + properties: + id: + description: The Application Auth Strategy ID. + type: string + format: uuid + example: b9e81174-b5bb-4638-a3c3-8afe61a0abf8 + readOnly: true + name: + type: string + example: name + default: name + credential_type: + type: string + enum: + - key_auth + required: + - id + - name + - credential_type + AuthMethods: + type: array + items: + description: Auth Methods enabled for this strategy + type: string + example: + - bearer + AuthStrategyClientCredentials: + description: Client Credential Auth strategy that the application uses. + type: object + properties: + id: + description: The Application Auth Strategy ID. + type: string + format: uuid + example: b9e81174-b5bb-4638-a3c3-8afe61a0abf8 + readOnly: true + name: + type: string + example: name + default: name + credential_type: + type: string + enum: + - client_credentials + - self_managed_client_credentials + auth_methods: + $ref: '#/components/schemas/AuthMethods' + required: + - id + - name + - credential_type + - auth_methods + AuthStrategy: + type: object + discriminator: + propertyName: credential_type + oneOf: + - $ref: '#/components/schemas/AuthStrategyKeyAuth' + - $ref: '#/components/schemas/AuthStrategyClientCredentials' + AuthStrategyId: + description: 'ID of the auth strategy to use for the application. If null or not included, the default application auth strategy will be used.' + type: string + format: uuid + nullable: true + Scopes: + description: |- + **Pre-release Endpoint** + This endpoint is currently in beta and is subject to change. + + The granted scopes for the application. Will only be included if supported by the application's auth strategy. + type: array + items: + type: string + CreateCredentialPayload: + type: object + properties: + display_name: + type: string + maxLength: 255 + additionalProperties: false + UpdateCredentialPayload: + type: object + properties: + display_name: + type: string + maxLength: 255 + additionalProperties: false + required: + - display_name + ListApplicationsResponse: + type: object + properties: + meta: + $ref: '#/components/schemas/PaginatedMeta' + data: + type: array + items: + $ref: '#/components/schemas/GetApplicationResponse' + additionalProperties: false + required: + - data + - meta + GetApplicationResponse: + type: object + properties: + id: + $ref: '#/components/schemas/UUID' + name: + type: string + reference_id: + $ref: '#/components/schemas/ApplicationReferenceId' + description: + type: string + nullable: true + redirect_uri: + type: string + nullable: true + auth_strategy: + $ref: '#/components/schemas/PortalAuthStrategy' + scopes: + $ref: '#/components/schemas/Scopes' + created_at: + $ref: '#/components/schemas/CreatedAt' + updated_at: + $ref: '#/components/schemas/UpdatedAt' + additionalProperties: false + required: + - id + - name + - reference_id + - description + - updated_at + - created_at + ListCredentialsResponse: + type: object + properties: + meta: + $ref: '#/components/schemas/PaginatedMeta' + data: + type: array + items: + type: object + additionalProperties: false + properties: + id: + $ref: '#/components/schemas/UUID' + display_name: + type: string + required: + - id + - display_name + additionalProperties: false + required: + - data + - meta + CredentialCreationResponse: + type: object + properties: + credential: + type: string + id: + $ref: '#/components/schemas/UUID' + display_name: + type: string + additionalProperties: false + required: + - credential + - id + - display_name + RefreshTokenResponse: + description: Refresh token response + type: object + properties: + client_id: + type: string + client_secret: + type: string + additionalProperties: false + required: + - client_id + - client_secret + title: Refresh token response + CreateApplicationPayload: + description: Application creation payload + type: object + properties: + name: + description: The name of the application + type: string + maxLength: 255 + reference_id: + $ref: '#/components/schemas/ApplicationReferenceId' + redirect_uri: + description: URL to redirect to after completing an OIDC auth flow type: string format: uri description: @@ -1905,38 +2257,6 @@ components: required: - data - meta - PageMeta: - description: Contains pagination query parameters and the total number of objects returned. - type: object - properties: - number: - type: number - example: 1 - size: - type: number - example: 10 - total: - type: number - example: 100 - required: - - number - - size - - total - PaginatedMeta: - description: returns the pagination information - type: object - properties: - page: - $ref: '#/components/schemas/PageMeta' - required: - - page - title: PaginatedMeta - UUID: - description: Contains a unique identifier used by the API for this resource. - type: string - format: uuid - example: 5f9fd312-a987-4628-b4c5-bb4f4fddd5f7 - readOnly: true ApplicationReferenceId: description: | An identifier to correlate the application with an external system. @@ -1959,300 +2279,55 @@ components: default: name credential_type: type: string - enum: - - key_auth - key_names: - type: array - items: - type: string - example: - - apikey - required: - - id - - name - - credential_type - - key_names - AvailableScopes: - description: Possible developer selectable scopes for an application. Only present when using DCR Provider that supports it. - type: array - items: - type: string - example: - - scope1 - - scope2 - AuthMethods: - type: array - items: - description: Auth Methods enabled for this strategy - type: string - example: - - bearer - PortalAuthStrategyClientCredentials: - description: Client Credential Auth strategy that the application uses. - type: object - properties: - id: - description: The Application Auth Strategy ID. - type: string - format: uuid - example: b9e81174-b5bb-4638-a3c3-8afe61a0abf8 - readOnly: true - available_scopes: - $ref: '#/components/schemas/AvailableScopes' - name: - type: string - example: name - default: name - credential_type: - type: string - enum: - - client_credentials - - self_managed_client_credentials - auth_methods: - $ref: '#/components/schemas/AuthMethods' - required: - - id - - name - - credential_type - - auth_methods - PortalAuthStrategy: - type: object - discriminator: - propertyName: credential_type - nullable: true - oneOf: - - $ref: '#/components/schemas/PortalAuthStrategyKeyAuth' - - $ref: '#/components/schemas/PortalAuthStrategyClientCredentials' - CreatedAt: - description: An ISO-8601 timestamp representation of entity creation date. - type: string - format: date-time - example: '2022-11-04T20:10:06.927Z' - readOnly: true - UpdatedAt: - description: An ISO-8601 timestamp representation of entity update date. - type: string - format: date-time - example: '2022-11-04T20:10:06.927Z' - readOnly: true - InvalidRules: - description: invalid parameters rules - type: string - enum: - - required - - is_array - - is_base64 - - is_boolean - - is_date_time - - is_integer - - is_null - - is_number - - is_object - - is_string - - is_uuid - - is_fqdn - - is_arn - - unknown_property - - is_label - - matches_regex - - invalid - - is_supported_network_availability_zone_list - - is_supported_network_cidr_block - - is_supported_provider_region - nullable: true - readOnly: true - InvalidParameterStandard: - type: object - properties: - field: - type: string - example: name - readOnly: true - rule: - $ref: '#/components/schemas/InvalidRules' - source: - type: string - example: body - reason: - type: string - example: is a required field - readOnly: true - additionalProperties: false - required: - - field - - reason - InvalidParameterMinimumLength: - type: object - properties: - field: - type: string - example: name - readOnly: true - rule: - description: invalid parameters rules - type: string - enum: - - min_length - - min_digits - - min_lowercase - - min_uppercase - - min_symbols - - min_items - - min - nullable: false - readOnly: true - minimum: - type: integer - example: 8 - source: - type: string - example: body - reason: - type: string - example: must have at least 8 characters - readOnly: true - additionalProperties: false - required: - - field - - 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: - field: - type: string - example: name - readOnly: true - rule: - description: invalid parameters rules - type: string - enum: - - enum - nullable: false - readOnly: true - reason: - type: string - example: is a required field - readOnly: true - choices: - type: array - items: {} - minItems: 1 - nullable: false - readOnly: true - uniqueItems: true - source: - type: string - example: body - additionalProperties: false + enum: + - key_auth + key_names: + type: array + items: + type: string + example: + - apikey required: - - field - - reason - - rule - - choices - InvalidParameterDependentItem: + - id + - name + - credential_type + - key_names + PortalAuthStrategyClientCredentials: + description: Client Credential Auth strategy that the application uses. type: object properties: - field: - type: string - example: name - readOnly: true - rule: - description: invalid parameters rules + id: + description: The Application Auth Strategy ID. type: string - enum: - - dependent_fields - nullable: true + format: uuid + example: b9e81174-b5bb-4638-a3c3-8afe61a0abf8 readOnly: true - reason: + available_scopes: + $ref: '#/components/schemas/AvailableScopes' + name: type: string - example: is a required field - readOnly: true - dependents: - type: array - items: {} - nullable: true - readOnly: true - uniqueItems: true - source: + example: name + default: name + credential_type: type: string - example: body - additionalProperties: false + enum: + - client_credentials + - self_managed_client_credentials + auth_methods: + $ref: '#/components/schemas/AuthMethods' required: - - field - - rule - - reason - - dependents - InvalidParameters: - description: invalid parameters - type: array - items: - oneOf: - - $ref: '#/components/schemas/InvalidParameterStandard' - - $ref: '#/components/schemas/InvalidParameterMinimumLength' - - $ref: '#/components/schemas/InvalidParameterMaximumLength' - - $ref: '#/components/schemas/InvalidParameterChoiceItem' - - $ref: '#/components/schemas/InvalidParameterDependentItem' - minItems: 1 - nullable: false - uniqueItems: true - BadRequestError: - allOf: - - $ref: '#/components/schemas/BaseError' - - type: object - required: - - invalid_parameters - properties: - invalid_parameters: - $ref: '#/components/schemas/InvalidParameters' - NotFoundError: - allOf: - - $ref: '#/components/schemas/BaseError' - - type: object - properties: - status: - example: 404 - title: - example: Not Found - type: - example: 'https://httpstatuses.com/404' - instance: - example: 'kong:trace:1234567890' - detail: - example: Not found + - id + - name + - credential_type + - auth_methods + PortalAuthStrategy: + type: object + discriminator: + propertyName: credential_type + nullable: true + oneOf: + - $ref: '#/components/schemas/PortalAuthStrategyKeyAuth' + - $ref: '#/components/schemas/PortalAuthStrategyClientCredentials' ConflictError: allOf: - $ref: '#/components/schemas/BaseError' @@ -2609,9 +2684,12 @@ components: readOnly: true latest_version: $ref: '#/components/schemas/LatestVersion' + public_labels: + $ref: '#/components/schemas/PublicLabels' additionalProperties: false required: - id + - public_labels - created_at - updated_at - name @@ -2892,73 +2970,23 @@ components: - title - content title: ProductDocumentRaw - NullableUUID: - description: Contains a unique identifier for a resource. - type: string - format: uuid - example: 5f9fd312-a987-4628-b4c5-bb4f4fddd5f7 - nullable: true - AuthStrategyKeyAuth: - description: KeyAuth Auth strategy that the application uses. - type: object - properties: - id: - description: The Application Auth Strategy ID. - type: string - format: uuid - example: b9e81174-b5bb-4638-a3c3-8afe61a0abf8 - readOnly: true - name: - type: string - example: name - default: name - credential_type: - type: string - enum: - - key_auth - required: - - id - - name - - credential_type - AuthStrategyClientCredentials: - description: Client Credential Auth strategy that the application uses. - type: object - properties: - id: - description: The Application Auth Strategy ID. - type: string - format: uuid - example: b9e81174-b5bb-4638-a3c3-8afe61a0abf8 - readOnly: true - name: - type: string - example: name - default: name - credential_type: - type: string - enum: - - client_credentials - - self_managed_client_credentials - auth_methods: - $ref: '#/components/schemas/AuthMethods' - required: - - id - - name - - credential_type - - auth_methods - AuthStrategy: + PublicLabels: + description: | + Public labels store information about an entity that can be used for filtering a list of objects. + + Public labels are intended to store **PUBLIC** metadata. + + Keys must be of length 1-63 characters, and cannot start with "kong", "konnect", "mesh", "kic", or "_". type: object - discriminator: - propertyName: credential_type - oneOf: - - $ref: '#/components/schemas/AuthStrategyKeyAuth' - - $ref: '#/components/schemas/AuthStrategyClientCredentials' - DocumentContentTypeEnum: - type: string - default: application/json - enum: - - application/json - - application/vnd.konnect.document-tree+json + example: + category: finance + additionalProperties: + type: string + pattern: '^[a-z0-9A-Z]{1}([a-z0-9A-Z-._]*[a-z0-9A-Z]+)?$' + minLength: 1 + maxLength: 63 + maxProperties: 50 + title: PublicLabels Metadata: description: Contains key value pairs information about entity's metadata. type: object @@ -3062,13 +3090,6 @@ components: required: - meta - data - DocumentFormatContentTypeEnum: - type: string - default: application/json - enum: - - text/markdown - - application/json - - application/vnd.konnect.document-nodes+json NodeChildren: description: List of children nodes of the current node type: array @@ -3557,6 +3578,8 @@ components: required: - name - id + public_labels: + $ref: '#/components/schemas/PublicLabels' additionalProperties: false required: - id @@ -3566,6 +3589,7 @@ components: - document_count - version_count - latest_version + - public_labels title: ProductCatalogIndexSource SearchIndicesParameters: type: string @@ -3785,6 +3809,12 @@ components: title: Forbidden instance: 'kong:trace:2723154947768991354' detail: You do not have permission to perform this action + NotFoundExample: + value: + status: 404 + title: Not Found + instance: 'kong:trace:6816496025408232265' + detail: Not Found GetGrantedScopesProductVersion200Response: value: scopes: @@ -3802,12 +3832,6 @@ components: title: Forbidden detail: 'Maximum number of Credentials exceeded. Max Allowed: 20' instance: 'kong:trace:2724154947768991355' - NotFoundExample: - value: - status: 404 - title: Not Found - instance: 'kong:trace:6816496025408232265' - detail: Not Found Authenticate-Request: value: username: developer@example.com @@ -3893,6 +3917,8 @@ components: description: Great products are built with great care document_count: 5 version_count: 5 + public_labels: + env: test latest_version: name: v5 id: 455b0beb-c3f7-4f8f-95f7-cd8ff0ee478e @@ -4019,6 +4045,34 @@ components: $ref: '#/components/examples/401-Unauthorized' 401-Account-Not-Approved: $ref: '#/components/examples/401-Account-Not-Approved' + BadRequest: + description: Bad Request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/BadRequestError' + examples: + 400-Invalid-Token: + $ref: '#/components/examples/400-Invalid-Token' + 400-Login-Failed: + $ref: '#/components/examples/400-Login-Failed' + NotFound: + description: Not Found + content: + application/problem+json: + schema: + $ref: '#/components/schemas/NotFoundError' + examples: + NotFoundExample: + $ref: '#/components/examples/NotFoundExample' + 404-Token-Not-Found: + $ref: '#/components/examples/404-Token-Not-Found' + NotAvailable: + description: Service not available + content: + application/problem+json: + schema: + $ref: '#/components/schemas/BaseError' ListApplications: description: Get applications response content: @@ -4094,28 +4148,6 @@ components: application/json: schema: $ref: '#/components/schemas/ListAuthStrategiesResponse' - BadRequest: - description: Bad Request - content: - application/problem+json: - schema: - $ref: '#/components/schemas/BadRequestError' - examples: - 400-Invalid-Token: - $ref: '#/components/examples/400-Invalid-Token' - 400-Login-Failed: - $ref: '#/components/examples/400-Login-Failed' - NotFound: - description: Not Found - content: - application/problem+json: - schema: - $ref: '#/components/schemas/NotFoundError' - examples: - NotFoundExample: - $ref: '#/components/examples/NotFoundExample' - 404-Token-Not-Found: - $ref: '#/components/examples/404-Token-Not-Found' Conflict: description: Conflict content: @@ -4255,12 +4287,6 @@ components: application/vnd.konnect.document-nodes+json: schema: $ref: '#/components/schemas/ProductDocument' - NotAvailable: - description: Service not available - content: - application/problem+json: - schema: - $ref: '#/components/schemas/BaseError' CreateRegistration: description: Registration creation response. content: @@ -4326,7 +4352,7 @@ tags: - name: versions description: The API for Konnect Portal Product Versions. - name: documentation - description: The API for Konnect Portal Product Documentation. + description: The API for Konnect Portal API Documentation. - name: registrations description: | The API for Konnect Portal application registrations. If the portal is public