From 6ba06efe08de00beee65a16796357f261fe6c8bb Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Wed, 29 Sep 2021 14:35:40 +0200 Subject: [PATCH] kubernetes: export API types Signed-off-by: Patrik Oldsberg --- .changeset/rotten-dryers-bathe.md | 5 +++ plugins/kubernetes/api-report.md | 35 ++++++++++++++++++- plugins/kubernetes/src/api/index.ts | 18 ++++++++++ plugins/kubernetes/src/index.ts | 1 + .../src/kubernetes-auth-provider/index.ts | 1 + 5 files changed, 59 insertions(+), 1 deletion(-) create mode 100644 .changeset/rotten-dryers-bathe.md create mode 100644 plugins/kubernetes/src/api/index.ts diff --git a/.changeset/rotten-dryers-bathe.md b/.changeset/rotten-dryers-bathe.md new file mode 100644 index 0000000000..abded27f06 --- /dev/null +++ b/.changeset/rotten-dryers-bathe.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-kubernetes': patch +--- + +Exported `KubernetesApi`, `kubernetesApiRef`, and `KubernetesAuthProvidersApi`. diff --git a/plugins/kubernetes/api-report.md b/plugins/kubernetes/api-report.md index fcbf349d7e..f7afc7af9d 100644 --- a/plugins/kubernetes/api-report.md +++ b/plugins/kubernetes/api-report.md @@ -10,6 +10,7 @@ import { BackstagePlugin } from '@backstage/core-plugin-api'; import { Entity } from '@backstage/catalog-model'; import { KubernetesRequestBody } from '@backstage/plugin-kubernetes-common'; import { OAuthApi } from '@backstage/core-plugin-api'; +import { ObjectsByEntityResponse } from '@backstage/plugin-kubernetes-common'; import { RouteRef } from '@backstage/core-plugin-api'; // Warning: (ae-forgotten-export) The symbol "ClusterLinksFormatter" needs to be exported by the entry point index.d.ts @@ -38,7 +39,28 @@ export function formatClusterLink( // @public (undocumented) export const isKubernetesAvailable: (entity: Entity) => boolean; -// Warning: (ae-forgotten-export) The symbol "KubernetesAuthProvidersApi" needs to be exported by the entry point index.d.ts +// Warning: (ae-missing-release-tag) "KubernetesApi" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export interface KubernetesApi { + // (undocumented) + getClusters(): Promise< + { + name: string; + authProvider: string; + }[] + >; + // (undocumented) + getObjectsByEntity( + requestBody: KubernetesRequestBody, + ): Promise; +} + +// Warning: (ae-missing-release-tag) "kubernetesApiRef" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export const kubernetesApiRef: ApiRef; + // Warning: (ae-missing-release-tag) "KubernetesAuthProviders" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) @@ -51,6 +73,17 @@ export class KubernetesAuthProviders implements KubernetesAuthProvidersApi { ): Promise; } +// Warning: (ae-missing-release-tag) "KubernetesAuthProvidersApi" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export interface KubernetesAuthProvidersApi { + // (undocumented) + decorateRequestBodyForAuth( + authProvider: string, + requestBody: KubernetesRequestBody, + ): Promise; +} + // Warning: (ae-missing-release-tag) "kubernetesAuthProvidersApiRef" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) diff --git a/plugins/kubernetes/src/api/index.ts b/plugins/kubernetes/src/api/index.ts new file mode 100644 index 0000000000..33c49db099 --- /dev/null +++ b/plugins/kubernetes/src/api/index.ts @@ -0,0 +1,18 @@ +/* + * Copyright 2021 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +export { kubernetesApiRef } from './types'; +export type { KubernetesApi } from './types'; diff --git a/plugins/kubernetes/src/index.ts b/plugins/kubernetes/src/index.ts index 08af757d47..71e1779c84 100644 --- a/plugins/kubernetes/src/index.ts +++ b/plugins/kubernetes/src/index.ts @@ -26,5 +26,6 @@ export { EntityKubernetesContent, } from './plugin'; export { Router, isKubernetesAvailable } from './Router'; +export * from './api'; export * from './kubernetes-auth-provider'; export * from './utils/clusterLinks'; diff --git a/plugins/kubernetes/src/kubernetes-auth-provider/index.ts b/plugins/kubernetes/src/kubernetes-auth-provider/index.ts index 4edb9c19e0..f6a07d44a9 100644 --- a/plugins/kubernetes/src/kubernetes-auth-provider/index.ts +++ b/plugins/kubernetes/src/kubernetes-auth-provider/index.ts @@ -15,4 +15,5 @@ */ export { kubernetesAuthProvidersApiRef } from './types'; +export type { KubernetesAuthProvidersApi } from './types'; export { KubernetesAuthProviders } from './KubernetesAuthProviders';