Dans les exemples suivants, nous partons du principe que vous avez déjà obtenu un jeton avec votre compte de service:
TOKEN=$(gcloud auth print-access-token)
Nous partons également du principe que vous avez déjà défini ${CLIENT_PROJECT}
sur l'ID du projet Google Cloud.
Répertorier les clients actuels
La commande suivante renvoie tous les clients auxquels l'appelant a accès:
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"
Pour plus de commodité, enregistrez le nom du client renvoyé dans une variable:
CUSTOMER_NAME=customers/...
Créer une configuration d'appareil
Commencez par définir les valeurs ${FCCID}
et ${SN}
de l'appareil que vous souhaitez créer:
FCCID=f1 SN=sn1
Créez ensuite la configuration de l'appareil à l'aide de la commande suivante:
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\"}}"
La commande renvoie une configuration d'appareil nouvellement créée. Pour plus de commodité, enregistrez le nom de l'appareil dans une variable:
DEVICE_NAME=customers/.../devices/...
Lister les appareils actuels
La commande suivante répertorie les appareils existants.
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"
Récupérer le nom de l'appareil
La commande suivante récupère les appareils par nom.
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}"
Mettre à jour l'appareil existant
La commande suivante met à jour les appareils existants.
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}" \
Valider votre identité et votre certification CPI
Utilisez l'exemple suivant pour générer la chaîne secrète:
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 "{}"
Cette opération renvoie une valeur au format suivant:
{ "secret": "<generated secret>" }
La chaîne secrète doit ensuite être encodée au format JWT. Utilisez le format des jetons Web JSON. Nous partons du principe que vous avez défini ${SECRET}
sur la chaîne secrète, ${ENCODED_SECRET}
sur la chaîne JWT et ${CPI_ID}
sur l'ID du CPI à valider.
La commande suivante valide l'identité et la certification du 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}\" }"
Le CPI peut désormais installer un CBSD contenant tous les paramètres requis.
Enregistrement CBSD en plusieurs étapes
Il existe deux façons d'effectuer l'enregistrement CBSD en plusieurs étapes dans les deux sections suivantes. Vous pouvez effectuer l'enregistrement CBSD en plusieurs étapes avec des paramètres précédemment signés par un CPI ou avec un compte CPI.
Avec des paramètres d'appareil précédemment signés par un CPI
Cet exemple montre comment créer une configuration d'appareil inactive avec les paramètres d'installation CBSD précédemment encodés par un CPI, afin que la configuration puisse être créée même par des utilisateurs sans CPI.
Encodez les paramètres CBSD à l'aide de la clé privée CPI. Pour ce faire, nous utilisons le format des jetons Web JSON.
Nous partons du principe que vous avez défini ${ENCODED_DEVICE}
sur la chaîne JWT et ${CPI_ID}
sur l'ID du CPI.
Vous pouvez ensuite créer la configuration d'appareil inactive à l'aide de la commande suivante:
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}\" }"
Le CBSD doit ensuite envoyer une demande d'enregistrement au SAS pour finaliser son enregistrement.
Avec un compte au CPI
Tout d'abord, l'identité du CPI doit être validée avant d'essayer de valider la configuration d'un appareil. Ensuite, utilisez la commande suivante pour créer une configuration d'appareil inactive:
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}"
Nous partons du principe que vous avez défini ${DEVICE} comme représentation JSON des paramètres d'enregistrement CBSD dans ce format.
Le CBSD doit ensuite envoyer une demande d'enregistrement au SAS pour finaliser son enregistrement.