Gestisci le appliance con l'API AWS Panorama - AWS Panorama

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Gestisci le appliance con l'API AWS Panorama

Puoi automatizzare le attività di gestione degli appliance con l'API AWS Panorama.

Visualizzazione dei dispositivi

Per ottenere un elenco di dispositivi con ID di dispositivo, utilizza l'ListDevicesAPI.

$ aws panorama list-devices "Devices": [ { "DeviceId": "device-4tafxmplhtmzabv5lsacba4ere", "Name": "my-appliance", "CreatedTime": 1652409973.613, "ProvisioningStatus": "SUCCEEDED", "LastUpdatedTime": 1652410973.052, "LeaseExpirationTime": 1652842940.0 } ] }

Per ottenere maggiori dettagli su un dispositivo, utilizza l'DescribeDeviceAPI.

$ aws panorama describe-device --device-id device-4tafxmplhtmzabv5lsacba4ere { "DeviceId": "device-4tafxmplhtmzabv5lsacba4ere", "Name": "my-appliance", "Arn": "arn:aws:panorama:us-west-2:123456789012:device/device-4tafxmplhtmzabv5lsacba4ere", "Type": "PANORAMA_APPLIANCE", "DeviceConnectionStatus": "ONLINE", "CreatedTime": 1648232043.421, "ProvisioningStatus": "SUCCEEDED", "LatestSoftware": "4.3.55", "CurrentSoftware": "4.3.45", "SerialNumber": "GFXMPL0013023708", "Tags": {}, "CurrentNetworkingStatus": { "Ethernet0Status": { "IpAddress": "192.168.0.1/24", "ConnectionStatus": "CONNECTED", "HwAddress": "8C:XM:PL:60:C5:88" }, "Ethernet1Status": { "IpAddress": "--", "ConnectionStatus": "NOT_CONNECTED", "HwAddress": "8C:XM:PL:60:C5:89" } }, "LeaseExpirationTime": 1652746098.0 }

Aggiornamento del software dell'appliance

Se laLatestSoftware versione è più recente dellaCurrentSoftware, puoi aggiornare il dispositivo. Usa l'CreateJobForDevicesAPI per creare un processo di aggiornamento over-the-air (OTA).

$ aws panorama create-job-for-devices --device-ids device-4tafxmplhtmzabv5lsacba4ere \ --device-job-config '{"OTAJobConfig": {"ImageVersion": "4.3.55"}}' --job-type OTA { "Jobs": [ { "JobId": "device-4tafxmplhtmzabv5lsacba4ere-0", "DeviceId": "device-4tafxmplhtmzabv5lsacba4ere" } ] }

In uno script, puoi compilare il campo della versione dell'immagine nel file di configurazione del lavoro con la manipolazione delle stringhe Bash.

Esempio check-updates.sh
apply_update() { DEVICE_ID=$1 NEW_VERSION=$2 CONFIG='{"OTAJobConfig": {"ImageVersion": "NEW_VERSION"}}' CONFIG=${CONFIG/NEW_VERSION/$NEW_VERSION} aws panorama create-job-for-devices --device-ids ${DEVICE_ID} --device-job-config "${CONFIG}" --job-type OTA }

L'appliance scarica la versione del software specificata e si aggiorna automaticamente. Guarda i progressi dell'aggiornamento con l'DescribeDeviceJobAPI.

$ aws panorama describe-device-job --job-id device-4tafxmplhtmzabv5lsacba4ere-0 { "JobId": "device-4tafxmplhtmzabv5lsacba4ere-0", "DeviceId": "device-4tafxmplhtmzabv5lsacba4ere", "DeviceArn": "arn:aws:panorama:us-west-2:559823168634:device/device-4tafxmplhtmzabv5lsacba4ere", "DeviceName": "my-appliance", "DeviceType": "PANORAMA_APPLIANCE", "ImageVersion": "4.3.55", "Status": "REBOOTING", "CreatedTime": 1652410232.465 }

Per ottenere un elenco di tutti i processi in esecuzione, utilizza il ListDevicesJobs.

$ aws panorama list-devices-jobs { "DeviceJobs": [ { "DeviceName": "my-appliance", "DeviceId": "device-4tafxmplhtmzabv5lsacba4ere", "JobId": "device-4tafxmplhtmzabv5lsacba4ere-0", "CreatedTime": 1652410232.465 } ] }

Per uno script di esempio che verifica e applica gli aggiornamenti, vedi check-updates.sh nel GitHub repository di questa guida.

Riavvio delle appliance

Per riavviare un dispositivo, usa l'CreateJobForDevicesAPI.

$ aws panorama create-job-for-devices --device-ids device-4tafxmplhtmzabv5lsacba4ere --job-type REBOOT { "Jobs": [ { "JobId": "device-4tafxmplhtmzabv5lsacba4ere-0", "DeviceId": "device-4tafxmplhtmzabv5lsacba4ere" } ] }

In uno script, puoi ottenere un elenco di dispositivi e sceglierne uno da riavviare in modo interattivo.

Esempio reboot-device.sh — utilizzo
$ ./reboot-device.sh Getting devices... 0: device-53amxmplyn3gmj72epzanacniy my-se70-1 1: device-6talxmpl5mmik6qh5moba6jium my-manh-24 Choose a device 1 Reboot device device-6talxmpl5mmik6qh5moba6jium? (y/n)y { "Jobs": [ { "DeviceId": "device-6talxmpl5mmik6qh5moba6jium", "JobId": "device-6talxmpl5mmik6qh5moba6jium-8" } ] }