diff --git a/api/types/common/constants.go b/api/types/common/constants.go index 0c9b541e19bb..431393e706fe 100644 --- a/api/types/common/constants.go +++ b/api/types/common/constants.go @@ -69,6 +69,11 @@ const ( // OriginEntraID indicates that the resource was imported // from the Entra ID directory. OriginEntraID = "entra-id" + + // OriginAWSIdentityCenter indicates that the resource was + // imported from the AWS Identity Center or created from + // the AWS Identity Center plugin. + OriginAWSIdentityCenter = "aws-identity-center" ) // OriginValues lists all possible origin values. @@ -82,4 +87,5 @@ var OriginValues = []string{ OriginSCIM, OriginDiscoveryKubernetes, OriginEntraID, + OriginAWSIdentityCenter, } diff --git a/api/types/plugin.go b/api/types/plugin.go index 2645c7b39f0d..c598856960bf 100644 --- a/api/types/plugin.go +++ b/api/types/plugin.go @@ -42,6 +42,7 @@ var AllPluginTypes = []PluginType{ PluginTypeEntraID, PluginTypeSCIM, PluginTypeDatadog, + PluginTypeAWSIdentityCenter, } const ( @@ -75,6 +76,8 @@ const ( PluginTypeSCIM = "scim" // PluginTypeDatadog indicates the Datadog Incident Management plugin PluginTypeDatadog = "datadog" + // PluginTypeAWSIdentityCenter indicates AWS Identity Center plugin + PluginTypeAWSIdentityCenter = "aws-identity-center" ) // PluginSubkind represents the type of the plugin, e.g., access request, MDM etc. diff --git a/api/types/saml_idp_service_provider.go b/api/types/saml_idp_service_provider.go index 0a274e0fec54..f04a7434585a 100644 --- a/api/types/saml_idp_service_provider.go +++ b/api/types/saml_idp_service_provider.go @@ -387,7 +387,7 @@ func (am *SAMLAttributeMapping) CheckAndSetDefaults() error { // preset can be either empty or one of the supported type. func (s *SAMLIdPServiceProviderV1) checkAndSetPresetDefaults(preset string) bool { switch preset { - case "", samlsp.Unspecified: + case "", samlsp.Unspecified, samlsp.AWSIdentityCenter: return true case samlsp.GCPWorkforce: if s.GetRelayState() == "" { diff --git a/api/types/saml_idp_service_provider_test.go b/api/types/saml_idp_service_provider_test.go index 1b00aeebd78d..dd70d78b9e97 100644 --- a/api/types/saml_idp_service_provider_test.go +++ b/api/types/saml_idp_service_provider_test.go @@ -196,6 +196,15 @@ func TestNewSAMLIdPServiceProvider(t *testing.T) { errAssertion: require.NoError, preset: samlsp.Unspecified, }, + { + name: "aws-identity-center preset", + entityDescriptor: "", + entityID: "IAMShowcase", + acsURL: acsURL, + expectedEntityID: "IAMShowcase", + errAssertion: require.NoError, + preset: samlsp.AWSIdentityCenter, + }, { name: "unsupported preset value", entityDescriptor: "", diff --git a/api/types/samlsp/samlsp.go b/api/types/samlsp/samlsp.go index fa552cc75c00..1a94cc81c49d 100644 --- a/api/types/samlsp/samlsp.go +++ b/api/types/samlsp/samlsp.go @@ -23,6 +23,9 @@ const ( // Unspecified preset type is used in the Web UI to denote a generic SAML service // provider preset. Unspecified = "unspecified" + // AWSIdentityCenter is a SAML service provider preset name for AWS + // Identity Center. + AWSIdentityCenter = "aws-identity-center" ) const (