Skip to content

Commit 23c9014

Browse files
feat(api): add allow_unverified_email_scim_fallback_match to scim_configurations
1 parent a13f7fe commit 23c9014

3 files changed

Lines changed: 35 additions & 20 deletions

File tree

.stats.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
configured_endpoints: 193
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/gitpod/gitpod-8eb16dd2e26c8fd1ca37ef960aca95069f457ff8bdeca2347a2b157ae096ccd4.yml
3-
openapi_spec_hash: 6c5882382583c7db5824d6438a489724
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/gitpod/gitpod-17898495c070ff2b83528ccf268ff3a7426ccabe697c19ca5fe034daa7f76ed0.yml
3+
openapi_spec_hash: fc0b1da285521ddbb5293a228b31b51f
44
config_hash: e7d6e90c037f5d495ae913f3806471fd

organizationscimconfiguration.go

Lines changed: 23 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -257,6 +257,10 @@ type ScimConfiguration struct {
257257
TokenExpiresAt time.Time `json:"tokenExpiresAt" api:"required" format:"date-time"`
258258
// updated_at is when the SCIM configuration was last updated
259259
UpdatedAt time.Time `json:"updatedAt" api:"required" format:"date-time"`
260+
// allow_unverified_email_account_linking allows SCIM to link provisioned users to
261+
// existing accounts when the identity provider does not mark the email address as
262+
// verified
263+
AllowUnverifiedEmailAccountLinking bool `json:"allowUnverifiedEmailAccountLinking"`
260264
// enabled indicates if SCIM provisioning is active
261265
Enabled bool `json:"enabled"`
262266
// name is a human-readable name for the SCIM configuration
@@ -269,16 +273,17 @@ type ScimConfiguration struct {
269273
// scimConfigurationJSON contains the JSON metadata for the struct
270274
// [ScimConfiguration]
271275
type scimConfigurationJSON struct {
272-
ID apijson.Field
273-
CreatedAt apijson.Field
274-
OrganizationID apijson.Field
275-
TokenExpiresAt apijson.Field
276-
UpdatedAt apijson.Field
277-
Enabled apijson.Field
278-
Name apijson.Field
279-
SSOConfigurationID apijson.Field
280-
raw string
281-
ExtraFields map[string]apijson.Field
276+
ID apijson.Field
277+
CreatedAt apijson.Field
278+
OrganizationID apijson.Field
279+
TokenExpiresAt apijson.Field
280+
UpdatedAt apijson.Field
281+
AllowUnverifiedEmailAccountLinking apijson.Field
282+
Enabled apijson.Field
283+
Name apijson.Field
284+
SSOConfigurationID apijson.Field
285+
raw string
286+
ExtraFields map[string]apijson.Field
282287
}
283288

284289
func (r *ScimConfiguration) UnmarshalJSON(data []byte) (err error) {
@@ -397,6 +402,10 @@ type OrganizationScimConfigurationNewParams struct {
397402
// sso_configuration_id is the SSO configuration to link (required for user
398403
// provisioning)
399404
SSOConfigurationID param.Field[string] `json:"ssoConfigurationId" api:"required" format:"uuid"`
405+
// allow_unverified_email_account_linking allows SCIM to link provisioned users to
406+
// existing accounts when the identity provider does not mark the email address as
407+
// verified
408+
AllowUnverifiedEmailAccountLinking param.Field[bool] `json:"allowUnverifiedEmailAccountLinking"`
400409
// name is a human-readable name for the SCIM configuration
401410
Name param.Field[string] `json:"name"`
402411
// token_expires_in is the duration until the token expires. Defaults to 1 year.
@@ -420,6 +429,10 @@ func (r OrganizationScimConfigurationGetParams) MarshalJSON() (data []byte, err
420429
type OrganizationScimConfigurationUpdateParams struct {
421430
// scim_configuration_id is the ID of the SCIM configuration to update
422431
ScimConfigurationID param.Field[string] `json:"scimConfigurationId" api:"required" format:"uuid"`
432+
// allow_unverified_email_account_linking allows SCIM to link provisioned users to
433+
// existing accounts when the identity provider does not mark the email address as
434+
// verified
435+
AllowUnverifiedEmailAccountLinking param.Field[bool] `json:"allowUnverifiedEmailAccountLinking"`
423436
// enabled controls whether SCIM provisioning is active
424437
Enabled param.Field[bool] `json:"enabled"`
425438
// name is a human-readable name for the SCIM configuration

organizationscimconfiguration_test.go

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,11 @@ func TestOrganizationScimConfigurationNewWithOptionalParams(t *testing.T) {
2727
option.WithBearerToken("My Bearer Token"),
2828
)
2929
_, err := client.Organizations.ScimConfigurations.New(context.TODO(), gitpod.OrganizationScimConfigurationNewParams{
30-
OrganizationID: gitpod.F("b0e12f6c-4c67-429d-a4a6-d9838b5da047"),
31-
SSOConfigurationID: gitpod.F("d2c94c27-3b76-4a42-b88c-95a85e392c68"),
32-
Name: gitpod.F("name"),
33-
TokenExpiresIn: gitpod.F("+9125115.360s"),
30+
OrganizationID: gitpod.F("b0e12f6c-4c67-429d-a4a6-d9838b5da047"),
31+
SSOConfigurationID: gitpod.F("d2c94c27-3b76-4a42-b88c-95a85e392c68"),
32+
AllowUnverifiedEmailAccountLinking: gitpod.F(true),
33+
Name: gitpod.F("name"),
34+
TokenExpiresIn: gitpod.F("+9125115.360s"),
3435
})
3536
if err != nil {
3637
var apierr *gitpod.Error
@@ -80,10 +81,11 @@ func TestOrganizationScimConfigurationUpdateWithOptionalParams(t *testing.T) {
8081
option.WithBearerToken("My Bearer Token"),
8182
)
8283
_, err := client.Organizations.ScimConfigurations.Update(context.TODO(), gitpod.OrganizationScimConfigurationUpdateParams{
83-
ScimConfigurationID: gitpod.F("d2c94c27-3b76-4a42-b88c-95a85e392c68"),
84-
Enabled: gitpod.F(false),
85-
Name: gitpod.F("name"),
86-
SSOConfigurationID: gitpod.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
84+
ScimConfigurationID: gitpod.F("d2c94c27-3b76-4a42-b88c-95a85e392c68"),
85+
AllowUnverifiedEmailAccountLinking: gitpod.F(true),
86+
Enabled: gitpod.F(false),
87+
Name: gitpod.F("name"),
88+
SSOConfigurationID: gitpod.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
8789
})
8890
if err != nil {
8991
var apierr *gitpod.Error

0 commit comments

Comments
 (0)