Nos exemplos a seguir, presumimos que você já recebeu um token com sua conta de serviço:
TOKEN=$(gcloud auth print-access-token)
Também presumimos que você já definiu ${CLIENT_PROJECT}
como o ID do projeto do Google Cloud.
Listar clientes atuais
O comando a seguir retorna todos os clientes a que o autor da chamada tem acesso:
curl -X GET -H "X-Goog-User-Project: ${CLIENT_PROJECT}" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer ${TOKEN}" \"https://sasportal.googleapis.com/v1alpha1/customers"
Para facilitar, salve o nome do cliente retornado em uma variável:
CUSTOMER_NAME=customers/...
Criar uma configuração de dispositivo
Primeiro, defina o ${FCCID}
e o ${SN}
do dispositivo
que você quer criar:
FCCID=f1 SN=sn1
Em seguida, crie a configuração do dispositivo com o seguinte comando:
curl -X POST -H "X-Goog-User-Project: ${CLIENT_PROJECT}" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer ${TOKEN}" \ "https://sasportal.googleapis.com/v1alpha1/${CUSTOMER_NAME}/devices" \ -d "{ \"fcc_id\": \"$FCCID\", \"serial_number\": \"$SN\", \"preloaded_config\": { \"call_sign\": \"cs1\", \"category\": \"DEVICE_CATEGORY_A\"}}"
O comando retorna uma configuração de dispositivo recém-criada. Para facilitar, salve o nome do dispositivo em uma variável:
DEVICE_NAME=customers/.../devices/...
Listar dispositivos atuais
O comando a seguir lista os dispositivos existentes.
curl -X GET -H "X-Goog-User-Project: ${CLIENT_PROJECT}" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $TOKEN" \ "https://sasportal.googleapis.com/v1alpha1/${CUSTOMER_NAME}/devices"
Recuperar dispositivo por nome
O comando a seguir recupera dispositivos por nome.
curl -X GET -H "X-Goog-User-Project: ${CLIENT_PROJECT}" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $TOKEN" \ "https://sasportal.googleapis.com/v1alpha1/${DEVICE_NAME}"
Atualizar dispositivo
O comando a seguir atualiza os dispositivos atuais.
curl -X PATCH -H "X-Goog-User-Project: ${CLIENT_PROJECT}" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $TOKEN" \ "https://sasportal.googleapis.com/v1alpha1/${DEVICE_NAME}" \
Validar sua identidade e certificação de CPI
Use o exemplo a seguir para gerar a string secreta:
curl -X POST -H "X-Goog-User-Project: ${CLIENT_PROJECT}" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $TOKEN" \ "https://sasportal.googleapis.com/v1alpha1/installer:generateSecret" \ -d "{}"
Isso retorna um valor com o seguinte formato:
{ "secret": "<generated secret>" }
Em seguida, a string secreta precisa ser codificada em um JWT. Use o formato JSON Web Token. Presumimos que você definiu ${SECRET}
como a string secreta, ${ENCODED_SECRET}
como a string JWT e ${CPI_ID}
como o ID do CPI a ser validado.
O comando a seguir valida a identidade e a certificação do CPI.
curl -X POST -H "X-Goog-User-Project: ${CLIENT_PROJECT}" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $TOKEN" \ "https://sasportal.googleapis.com/v1alpha1/installer:validate" \ -d "{ \"installer_id\": \"${CPI_ID}\", \"secret\": \"${SECRET}\", \"encoded_secret\": \"${ENCODED_SECRET}\" }"
O CPI agora pode instalar um CBSD com todos os parâmetros necessários.
Registro de CBSD em várias etapas
Há duas maneiras de fazer o registro CBSD de várias etapas, que são abordadas nas duas seções a seguir. É possível fazer um registro de CBSD em várias etapas com parâmetros assinados anteriormente por um CPI ou com uma conta de CPI.
Com parâmetros de dispositivo assinados anteriormente por um CPI
Este exemplo mostra como criar uma configuração de dispositivo inativo com parâmetros de instalação de CBSD
codificados anteriormente por um CPI. Assim, a configuração pode ser criada mesmo por usuários que não são CPIs.
Use a chave privada do CPI para codificar os parâmetros do CBSD. Usamos o formato JSON Web Token para isso.
Presumimos que você definiu
${ENCODED_DEVICE}
como a string JWT e
${CPI_ID}
como o ID do CPI.
A configuração de dispositivo inativo pode ser criada com o seguinte comando:
curl -X POST -H "X-Goog-User-Project: ${CLIENT_PROJECT}" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer ${TOKEN}" \ "https://sasportal.googleapis.com/v1alpha1/${CUSTOMER_NAME}/devices:createSigned" \ -d "{ \"installer_id\": \"${CPI_ID}\", \"encoded_device\": \"${ENCODED_DEVICE}\", \"parent\": \"${CUSTOMER_NAME}\" }"
Em seguida, o CBSD precisa enviar uma solicitação de registro ao SAS para concluir o registro.
Com uma conta de CPI
Primeiro, a identidade do CPI precisa ser validada antes de você tentar validar uma configuração de dispositivo. Depois disso, use o comando a seguir para criar uma configuração de dispositivo inativo:
curl -X POST -H "X-Goog-User-Project: ${CLIENT_PROJECT}" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $TOKEN" \ "https://sasportal.googleapis.com/v1alpha1/${DEVICE_NAME}:signDevice" \ -d "${DEVICE}"
Presumimos que você definiu ${DEVICE} como a representação JSON dos parâmetros de registro do CBSD neste formato.
Em seguida, o CBSD precisa enviar uma solicitação de registro ao SAS para concluir o registro.