@@ -2577,6 +2577,20 @@ type OrganizationSecuritySettings struct {
25772577 MaxLoginSessionDuration * scw.Duration `json:"max_login_session_duration"`
25782578}
25792579
2580+ // ParseSamlMetadataRequest: parse saml metadata request.
2581+ type ParseSamlMetadataRequest struct {
2582+ File scw.File `json:"file"`
2583+ }
2584+
2585+ // ParseSamlMetadataResponse: parse saml metadata response.
2586+ type ParseSamlMetadataResponse struct {
2587+ SingleSignOnURL string `json:"single_sign_on_url"`
2588+
2589+ EntityID string `json:"entity_id"`
2590+
2591+ SigningCertificates []string `json:"signing_certificates"`
2592+ }
2593+
25802594// RemoveGroupMemberRequest: remove group member request.
25812595type RemoveGroupMemberRequest struct {
25822596 // GroupID: ID of the group.
@@ -4691,6 +4705,29 @@ func (s *API) DeleteSaml(req *DeleteSamlRequest, opts ...scw.RequestOption) erro
46914705 return nil
46924706}
46934707
4708+ // ParseSamlMetadata: Parse SAML xml metadata file.
4709+ func (s * API ) ParseSamlMetadata (req * ParseSamlMetadataRequest , opts ... scw.RequestOption ) (* ParseSamlMetadataResponse , error ) {
4710+ var err error
4711+
4712+ scwReq := & scw.ScalewayRequest {
4713+ Method : "POST" ,
4714+ Path : "/iam/v1alpha1/parse-saml-metadata" ,
4715+ }
4716+
4717+ err = scwReq .SetBody (req )
4718+ if err != nil {
4719+ return nil , err
4720+ }
4721+
4722+ var resp ParseSamlMetadataResponse
4723+
4724+ err = s .client .Do (scwReq , & resp , opts ... )
4725+ if err != nil {
4726+ return nil , err
4727+ }
4728+ return & resp , nil
4729+ }
4730+
46944731// ListSamlCertificates: List SAML certificates.
46954732func (s * API ) ListSamlCertificates (req * ListSamlCertificatesRequest , opts ... scw.RequestOption ) (* ListSamlCertificatesResponse , error ) {
46964733 var err error
0 commit comments