From dcf0d1bea1fc5def4ae54197fb79ef0db5217a74 Mon Sep 17 00:00:00 2001 From: Sakshyam Shah Date: Tue, 12 Mar 2024 09:59:41 -0400 Subject: [PATCH] feat: add `samlMeta` field with `SAMLServiceProviderPresets` to `ResourceSpec` (#39208) * feat: SAMLServiceProviderPresets enum to define SAML app config profile * SAMLServiceProviderPresets to SamlServiceProviderPreset --- .../teleport/src/Discover/SelectResource/resourcesE.tsx | 4 +++- .../teleport/src/Discover/SelectResource/types.ts | 9 +++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/web/packages/teleport/src/Discover/SelectResource/resourcesE.tsx b/web/packages/teleport/src/Discover/SelectResource/resourcesE.tsx index 6a0305ec41e..08c6103df64 100644 --- a/web/packages/teleport/src/Discover/SelectResource/resourcesE.tsx +++ b/web/packages/teleport/src/Discover/SelectResource/resourcesE.tsx @@ -20,12 +20,13 @@ import { DiscoverEventResource } from 'teleport/services/userEvent'; import { ResourceKind } from '../Shared'; -import { ResourceSpec } from './types'; +import { ResourceSpec, SamlServiceProviderPreset } from './types'; export const SAML_APPLICATIONS: ResourceSpec[] = [ { name: 'SAML Application', kind: ResourceKind.SamlApplication, + samlMeta: { preset: SamlServiceProviderPreset.Unspecified }, keywords: 'saml sso application idp', icon: 'Application', event: DiscoverEventResource.SamlApplication, @@ -33,6 +34,7 @@ export const SAML_APPLICATIONS: ResourceSpec[] = [ { name: 'Grafana', kind: ResourceKind.SamlApplication, + samlMeta: { preset: SamlServiceProviderPreset.Grafana }, keywords: 'saml sso application idp grafana', icon: 'Grafana', event: DiscoverEventResource.SamlApplication, diff --git a/web/packages/teleport/src/Discover/SelectResource/types.ts b/web/packages/teleport/src/Discover/SelectResource/types.ts index 67decc82fb9..443eb6f6634 100644 --- a/web/packages/teleport/src/Discover/SelectResource/types.ts +++ b/web/packages/teleport/src/Discover/SelectResource/types.ts @@ -66,10 +66,19 @@ export enum KubeLocation { Aws, } +/** SamlServiceProviderPreset defines SAML service provider preset types. + * Used to define custom or pre-defined configuration flow. + */ +export enum SamlServiceProviderPreset { + Unspecified = 'unspecified', + Grafana = 'grafana', +} + export interface ResourceSpec { dbMeta?: { location: DatabaseLocation; engine: DatabaseEngine }; nodeMeta?: { location: ServerLocation }; kubeMeta?: { location: KubeLocation }; + samlMeta?: { preset: SamlServiceProviderPreset }; name: string; popular?: boolean; kind: ResourceKind;