REST Resource: customers.v2.Schemas

Recurso: esquema

Da seção 7 da RFC 7643. Especifica os metadados sobre um esquema.

Representação JSON
{
  "attributes": [
    {
      object (Attribute)
    }
  ],
  "id": string,
  "name": string,
  "description": string
}
Campos
attributes[]

object (Attribute)

Obrigatório. Lista de atributos do esquema.

id

string

Obrigatório. O URI exclusivo do esquema. Quando aplicável, os provedores de serviços precisam especificar o URI, por exemplo, urn:ietf:params:scim:schemas:core:2.0:User. Ao contrário da maioria dos outros esquemas, que usam algum tipo de identificador exclusivo global (GUID, na sigla em inglês) para o id, o esquema id é um URI para que possa ser registrado e seja portátil entre diferentes provedores de serviços e clientes.

name

string

Opcional. O nome legível do esquema. Quando aplicável, os provedores de serviços precisam especificar o nome, por exemplo, User ou Group.

description

string

Opcional. A descrição legível do esquema. Quando aplicável, os provedores de serviços precisam especificar a descrição.

Atributo

Da seção 7 da RFC 7643. Define as características de um atributo.

Representação JSON
{
  "subAttributes": [
    {
      object (Attribute)
    }
  ],
  "canonicalValues": [
    string
  ],
  "referenceTypes": [
    string
  ],
  "name": string,
  "type": string,
  "multiValued": boolean,
  "description": string,
  "required": boolean,
  "caseExact": boolean,
  "mutability": string,
  "returned": string,
  "uniqueness": string
}
Campos
subAttributes[]

object (Attribute)

Quando um atributo é do tipo complex, subAttributes define um conjunto de subatributos. subAttributes tem os mesmos subatributos de esquema que attributes.

canonicalValues[]

string

Opcional. Uma coleção de valores canônicos sugeridos que podem ser usados (por exemplo, work e home). Em alguns casos, os provedores de serviços podem optar por ignorar valores não aceitos.

referenceTypes[]

string

Uma matriz de vários valores de strings JSON que indicam os tipos de recursos SCIM que podem ser referenciados. Estes são os valores válidos:

  • Um tipo de recurso SCIM (por exemplo, User ou Group),
  • external - indicando que o recurso é externo (por exemplo, uma foto) ou
  • uri - indica que a referência é para um endpoint de serviço ou um identificador (por exemplo, um URN de esquema).

Esse atributo só é aplicável a atributos do tipo reference (seção 2.3.7).

name

string

O nome do atributo.

type

string

O tipo de dados do atributo. Os valores válidos são string, boolean, decimal, integer, dateTime, reference e complex. Quando um atributo é do tipo complex, precisa haver um atributo de esquema subAttributes correspondente definido, listando os subatributos do atributo.

multiValued

boolean

Indica a pluralidade do atributo.

description

string

A descrição legível do atributo. Quando aplicável, os provedores de serviços precisam especificar a descrição.

required

boolean

Especifica se o atributo é obrigatório.

caseExact

boolean

Especifica se um atributo de string diferencia maiúsculas de minúsculas. O servidor usa a diferenciação de maiúsculas e minúsculas ao avaliar filtros. Para atributos que diferenciam maiúsculas de minúsculas, o servidor preserva o caso de qualquer valor enviado. Se o atributo não diferenciar maiúsculas de minúsculas, o servidor poderá alterar o caso de um valor enviado. A diferenciação de maiúsculas e minúsculas também afeta como os valores de atributos podem ser comparados com os valores de filtro (consulte a seção 3.4.2.2 da RFC 7644).

De acordo com a seção 2.3.6 da RFC 7643 e a seção 2.3.7 da RFC 7643, os tipos binary e reference são caseExact.

mutability

string

Uma única palavra-chave que indica as circunstâncias em que o valor do atributo pode ser (re)definido:

  • readOnly: o atributo não pode ser modificado.
  • readWrite: padrão. O atributo pode ser atualizado e lido a qualquer momento.
  • immutable: o atributo pode ser definido na criação do recurso (por exemplo, POST) ou na substituição do registro por uma solicitação (por exemplo, um PUT). O atributo não pode ser modificado após a definição inicial.
  • writeOnly: o atributo pode ser atualizado a qualquer momento. Os valores de atributos não são retornados (por exemplo, porque o valor é um hash armazenado). Observação: um atributo com uma mutabilidade de writeOnly geralmente também tem uma configuração retornada de never.
returned

string

Uma única palavra-chave que indica quando um atributo e os valores associados são retornados em resposta a uma solicitação GET ou em resposta a uma solicitação PUT, POST ou PATCH. As palavras-chave válidas são as seguintes:

  • always: o atributo é sempre retornado, independente do conteúdo do parâmetro attributes. Por exemplo, id é sempre retornado para identificar um recurso SCIM.
  • never: o atributo nunca é retornado. Isso pode ocorrer porque o valor do atributo original (por exemplo, um valor com hash) não é retido pelo provedor de serviços. Um provedor de serviços pode permitir que atributos sejam usados em um filtro de pesquisa.
  • default: padrão. O atributo é retornado por padrão em todas as respostas de operação SCIM em que os valores de atributos são retornados. Se o parâmetro attributes da solicitação GET for especificado, os valores de atributos só serão retornados se o atributo for nomeado no parâmetro attributes.
  • request: o atributo é retornado em resposta a qualquer operação PUT, POST ou PATCH se o atributo foi especificado pelo cliente (por exemplo, o atributo foi modificado). O atributo é retornado em uma operação de consulta SCIM somente se especificado no parâmetro attributes.
uniqueness

string

Um único valor de palavra-chave que especifica como o provedor de serviços aplica a exclusividade dos valores de atributos. Um servidor pode rejeitar um valor inválido com base na exclusividade retornando o código de resposta HTTP 400 Bad Request. Um cliente pode aplicar a exclusividade no lado do cliente em um grau maior do que o provedor de serviços. Por exemplo, um cliente pode tornar um valor exclusivo, enquanto o servidor tem exclusividade de none. As palavras-chave válidas são as seguintes:

  • none: padrão. Os valores não devem ser exclusivos de forma alguma.
  • server: o valor precisa ser exclusivo no contexto do endpoint SCIM atual (ou locatário) e pode ser globalmente exclusivo (por exemplo, um nome de usuário, endereço de e-mail ou outra chave ou contador gerado pelo servidor). Dois recursos no mesmo servidor não podem ter o mesmo valor.
  • global: o valor precisa ser globalmente exclusivo (por exemplo, um endereço de e-mail, um GUID ou outro valor). Dois recursos em qualquer servidor não podem ter o mesmo valor.

Conforme especificado na seção 2.3 da RFC 7643, os tipos de dados Boolean, DateTime, Binary e Complex não têm exclusividade.

Métodos

get

Recupera um esquema.

list

Recupera todos os esquemas.