vcenter identity providers: update
Update a vCenter Server identity provider. This operation was added in vSphere API 7.0.0.0.
Request:
HTTP request
PATCH https://{server}/rest/vcenter/identity/providers/{provider}
Path Parameters
Name | Type | Description |
---|---|---|
Required | ||
provider | string | the identifier of the provider to update. |
Request Body Structure:
{
"spec" : {
"idm_protocol" : "REST",
"reset_upn_claim" : true,
"config_tag" : "Oauth2",
"org_ids" : [
"string",
"string"
],
"upn_claim" : "string",
"oauth2" : {
"authentication_method" : "CLIENT_SECRET_BASIC",
"public_key_uri" : "http://myurl.com",
"claim_map" : [
{
"value" : [
{
"value" : [
"string",
"string"
],
"key" : "string"
}
],
"key" : "string"
}
],
"auth_endpoint" : "http://myurl.com",
"client_secret" : "string",
"auth_query_params" : [
{
"value" : [
"string",
"string"
],
"key" : "string"
}
],
"client_id" : "string",
"issuer" : "string",
"token_endpoint" : "http://myurl.com"
},
"auth_query_params" : [
{
"value" : [
"string",
"string"
],
"key" : "string"
}
],
"oidc" : {
"claim_map" : [
{
"value" : [
{
"value" : [
"string",
"string"
],
"key" : "string"
}
],
"key" : "string"
}
],
"client_secret" : "string",
"discovery_endpoint" : "http://myurl.com",
"client_id" : "string"
},
"idm_endpoints" : [
"http://myurl.com",
"http://myurl.com"
],
"domain_names" : [
"string",
"string"
],
"make_default" : true,
"reset_groups_claim" : true,
"groups_claim" : "string",
"active_directory_over_ldap" : {
"groups_base_dn" : "string",
"password" : "secret string",
"user_name" : "string",
"users_base_dn" : "string",
"server_endpoints" : [
"http://myurl.com",
"http://myurl.com"
],
"cert_chain" : {
"cert_chain" : [
"string",
"string"
]
}
},
"name" : "string"
}
}
"spec" : {
"idm_protocol" : "REST",
"reset_upn_claim" : true,
"config_tag" : "Oauth2",
"org_ids" : [
"string",
"string"
],
"upn_claim" : "string",
"oauth2" : {
"authentication_method" : "CLIENT_SECRET_BASIC",
"public_key_uri" : "http://myurl.com",
"claim_map" : [
{
"value" : [
{
"value" : [
"string",
"string"
],
"key" : "string"
}
],
"key" : "string"
}
],
"auth_endpoint" : "http://myurl.com",
"client_secret" : "string",
"auth_query_params" : [
{
"value" : [
"string",
"string"
],
"key" : "string"
}
],
"client_id" : "string",
"issuer" : "string",
"token_endpoint" : "http://myurl.com"
},
"auth_query_params" : [
{
"value" : [
"string",
"string"
],
"key" : "string"
}
],
"oidc" : {
"claim_map" : [
{
"value" : [
{
"value" : [
"string",
"string"
],
"key" : "string"
}
],
"key" : "string"
}
],
"client_secret" : "string",
"discovery_endpoint" : "http://myurl.com",
"client_id" : "string"
},
"idm_endpoints" : [
"http://myurl.com",
"http://myurl.com"
],
"domain_names" : [
"string",
"string"
],
"make_default" : true,
"reset_groups_claim" : true,
"groups_claim" : "string",
"active_directory_over_ldap" : {
"groups_base_dn" : "string",
"password" : "secret string",
"user_name" : "string",
"users_base_dn" : "string",
"server_endpoints" : [
"http://myurl.com",
"http://myurl.com"
],
"cert_chain" : {
"cert_chain" : [
"string",
"string"
]
}
},
"name" : "string"
}
}
Request Body Parameters:
Name | Type | Description |
---|---|---|
bold = required | ||
spec | update_spec | the UpdateSpec contains the information used to update the provider. |
spec.config_tag | string | The config type of the identity provider. This attribute was added in vSphere API 7.0.0.0. The config_type structure contains the possible types of vCenter Server identity providers. This enumeration was added in vSphere API 7.0.0.0. Value is one of:Oauth2: Config for OAuth2. This constant was added in vSphere API 7.0.0.0. Oidc: Config for OIDC. This constant was added in vSphere API 7.0.0.0. |
spec.oauth2 | oauth2_update_spec | OAuth2 UpdateSpec. This attribute was added in vSphere API 7.0.0.0. Optional. It is only relevant when config_tag has value Oauth2. This field is optional and it is only relevant when the value of config_tag is oauth2. |
spec.oauth2.auth_endpoint | URI | Authentication/authorization endpoint of the provider. This attribute was added in vSphere API 7.0.0.0. Optional. If unset, leaves value unchanged. |
spec.oauth2.token_endpoint | URI | Token endpoint of the provider. This attribute was added in vSphere API 7.0.0.0. Optional. If unset, leaves value unchanged. |
spec.oauth2.public_key_uri | URI | Endpoint to retrieve the provider public key for validation. This attribute was added in vSphere API 7.0.0.0. Optional. If unset, leaves value unchanged. |
spec.oauth2.client_id | string | Client identifier to connect to the provider. This attribute was added in vSphere API 7.0.0.0. Optional. If unset, leaves value unchanged. |
spec.oauth2.client_secret | string | Shared secret between identity provider and client. This attribute was added in vSphere API 7.0.0.0. Optional. If unset, leaves value unchanged. |
spec.oauth2.claim_map | list | The map used to transform an OAuth2 claim to a corresponding claim that vCenter Server understands. Currently only the key "perms" is supported. The key "perms" is used for mapping the "perms" claim of incoming JWT. The value is another map with an external group as the key and a vCenter Server group as value. This attribute was added in vSphere API 7.0.0.0. Optional. If unset, leaves value unchanged. |
spec.oauth2.claim_map[].key | string | |
spec.oauth2.claim_map[].value | list | List of {"key": string, "value": string[]} |
spec.oauth2.claim_map[].value[].key | string | |
spec.oauth2.claim_map[].value[].value | string[] | |
spec.oauth2.issuer | string | The identity provider namespace. It is used to validate the issuer in the acquired OAuth2 token. This attribute was added in vSphere API 7.0.0.0. Optional. If unset, leaves value unchanged. |
spec.oauth2.authentication_method | string | Authentication method used by the provider. This attribute was added in vSphere API 7.0.0.0. Optional. If unset, leaves value unchanged. |
spec.oauth2.auth_query_params | list | key/value pairs that are to be appended to the authEndpoint request. How to append to authEndpoint request: If the map is not empty, a "?" is added to the endpoint URL, and combination of each k and each string in the v is added with an "&" delimiter. Details: If the value contains only one string, then the key is added with "k=v". If the value is an empty list, then the key is added without a "=v". If the value contains multiple strings, then the key is repeated in the query-string for each string in the value. If the map is empty, deletes all params. This attribute was added in vSphere API 7.0.0.0. Optional. If unset, leaves value unchanged. |
spec.oidc | oidc_update_spec | OIDC UpdateSpec. This attribute was added in vSphere API 7.0.0.0. Optional. It is only relevant when config_tag has value Oidc. This field is optional and it is only relevant when the value of config_tag is oidc. |
spec.oidc.discovery_endpoint | URI | Endpoint to retrieve the provider metadata. This attribute was added in vSphere API 7.0.0.0. Optional. If unset, leaves value unchanged. |
spec.oidc.client_id | string | Client identifier to connect to the provider. This attribute was added in vSphere API 7.0.0.0. Optional. If unset, leaves value unchanged. |
spec.oidc.client_secret | string | The secret shared between the client and the provider. This attribute was added in vSphere API 7.0.0.0. Optional. If unset, leaves value unchanged. |
spec.oidc.claim_map | list | The map used to transform an OAuth2 claim to a corresponding claim that vCenter Server understands. Currently only the key "perms" is supported. The key "perms" is used for mapping the "perms" claim of incoming JWT. The value is another map with an external group as the key and a vCenter Server group as value. This attribute was added in vSphere API 7.0.0.0. Optional. If unset, leaves value unchanged. |
spec.org_ids | string[] | The set orgIds as part of SDDC creation which provides the basis for tenancy. This attribute was added in vSphere API 7.0.0.0. Optional. If unset, leaves value unchanged. |
spec.make_default | boolean | Specifies whether to make this the default provider. If make_default is set to true, this provider will be flagged as the default provider and any other providers that had previously been flagged as the default will be made non-default. If make_default is set to false, this provider's default flag will not be modified. This attribute was added in vSphere API 7.0.0.0. Optional. If unset, leaves value unchanged. |
spec.name | string | The user friendly name for the provider. This name can be used for human-readable identification purposes, but it does not have to be unique, as the system will use internal UUIDs to differentiate providers. This attribute was added in vSphere API 7.0.0.0. Optional. If unset, leaves value unchanged. |
spec.domain_names | string[] | Set of fully qualified domain names to trust when federating with this identity provider. Tokens from this identity provider will only be validated if the user belongs to one of these domains, and any domain-qualified groups in the tokens will be filtered to include only those groups that belong to one of these domains. This attribute was added in vSphere API 7.0.0.0. Optional. If unset, leaves value unchanged. If domainNames is an empty set, domain validation behavior at login with this identity provider will be as follows: the user's domain will be parsed from the User Principal Name (UPN) value that is found in the tokens returned by the identity provider. This domain will then be implicitly trusted and used to filter any groups that are also provided in the tokens. |
spec.auth_query_params | list | key/value pairs that are to be appended to the authEndpoint request. How to append to authEndpoint request: If the map is not empty, a "?" is added to the endpoint URL, and combination of each k and each string in the v is added with an "&" delimiter. Details: If the value contains only one string, then the key is added with "k=v". If the value is an empty list, then the key is added without a "=v". If the value contains multiple strings, then the key is repeated in the query-string for each string in the value. If the map is empty, deletes all params. This attribute was added in vSphere API 7.0.0.0. Optional. If unset, leaves value unchanged. |
spec.idm_protocol | string | The protocol to communicate to the identity management endpoints. This attribute was added in vSphere API 7.0.0.0. Optional. If unset, leave value unchanged. |
spec.idm_endpoints | URI[] | Identity management endpoints. When specified, at least one endpoint must be provided. This attribute was added in vSphere API 7.0.0.0. Optional. It is only relevant when idm_protocol has value [REST, SCIM, SCIM2_0]. This field is optional and it is only relevant when the value of idm_protocol is one of REST, SCIM, or scim2_0. |
spec.active_directory_over_ldap | active_directory_over_ldap | Identity management configuration. If the protocol is LDAP, the configuration must be set, else InvalidArgument is thrown. This attribute was added in vSphere API 7.0.0.0. Optional. It is only relevant when idm_protocol has value LDAP. This field is optional and it is only relevant when the value of idm_protocol is LDAP. |
spec.active_directory_over_ldap.user_name | string | User name to connect to the active directory server. This attribute was added in vSphere API 7.0.0.0. |
spec.active_directory_over_ldap.password | secret | Password to connect to the active directory server. This attribute was added in vSphere API 7.0.0.0. |
spec.active_directory_over_ldap.users_base_dn | string | Base distinguished name for users. This attribute was added in vSphere API 7.0.0.0. |
spec.active_directory_over_ldap.groups_base_dn | string | Base distinguished name for groups. This attribute was added in vSphere API 7.0.0.0. |
spec.active_directory_over_ldap.server_endpoints | URI[] | Active directory server endpoints. At least one active directory server endpoint must be set. This attribute was added in vSphere API 7.0.0.0. |
spec.active_directory_over_ldap.cert_chain | x509_cert_chain | SSL certificate chain in base64 encoding. This attribute was added in vSphere API 7.0.0.0. Optional. This field can be unset only, if all the active directory server endpoints use the LDAP (not LDAPS) protocol. |
spec.active_directory_over_ldap.cert_chain.cert_chain | string[] | Certificate chain in base64 format. This attribute was added in vSphere API 6.7.2. |
spec.upn_claim | string | Specifies which claim provides the user principal name (UPN) for the subject of the token. This attribute was added in vSphere API 7.0.0.0. Optional. If unset, leaves value unchanged. |
spec.reset_upn_claim | boolean | Flag indicating whether the user principal name (UPN) claim should be set back to its default value. If this field is set to true , the user principal name (UPN) claim will be set to 'acct', which is used for backwards compatibility with CSP. If this field is set to false , the existing user principal name (UPN) claim will be changed to the value specified in vcenter.identity.providers.update_spec.upn_claim, if any. This attribute was added in vSphere API 7.0.0.0. Optional. If unset, the existing user principal name (UPN) claim will be changed to the value specified in vcenter.identity.providers.update_spec.upn_claim, if any. |
spec.groups_claim | string | Specifies which claim provides the group membership for the token subject. This attribute was added in vSphere API 7.0.0.0. Optional. If unset, leaves value unchanged. |
spec.reset_groups_claim | boolean | Flag indicating whether any existing groups claim value should be removed. If this field is set to true , the existing groups claim value is removed which defaults to backwards compatibility with CSP. In this case, the groups for the subject will be comprised of the groups in 'group_names' and 'group_ids' claims. If this field is set to false , the existing groups claim will be changed to the value specified in vcenter.identity.providers.update_spec.groups_claim, if any. This attribute was added in vSphere API 7.0.0.0. Optional. If unset, the existing groups claim will be changed to the value specified in vcenter.identity.providers.update_spec.groups_claim, if any. |
Response:
HTTP Status Code: 200
NoneErrors:
HTTP Status Code | Type | Description |
---|---|---|
403 | unauthorized | if authorization is not given to caller. |
400 | invalid_argument | if invalid arguments are provided in updateSpec. |
404 | not_found | if no provider found with the given provider identifier. |