Questo documento descrive come Google Cloud supporta BYOL (Bring Your Own License) con requisiti hardware dedicati per Compute Engine. Prima di tentare di importare immagini con licenze esistenti in Google Cloud, rivedi i termini e le condizioni della licenza.
Per utilizzare le licenze esistenti per core fisico o processore fisico che hanno requisiti hardware dedicati, devi portare i tuoi supporti ed eseguirli su configurazioni hardware, ad esempio nodi single-tenant, conformi alle tue licenze. Puoi importare immagini con licenze esistenti in qualsiasi regione che supporta i nodi sole-tenant e, sebbene non siano previsti costi aggiuntivi per l'importazione di immagini con licenze esistenti, devi comunque pagare le licenze in base ai tuoi contratti.
Gli scenari di licenza, come le licenze relative a Linux BYOS con RHEL o SLES, nonché le applicazioni Microsoft non richiedono nodi sole-tenant. Se stai valutando di utilizzare licenze di applicazioni Microsoft come SharePoint Server e SQL Server, utilizza Microsoft License Mobility.
I nodi single-tenant sono server fisici dedicati all'hosting di istanze di macchine virtuali (VM) solo per il tuo progetto. Puoi configurare i nodi single-tenant per supportare vari requisiti dei carichi di lavoro, ad esempio i requisiti per ridurre al minimo il numero di server fisici e core. Consulta i tuoi contratti di licenza per determinare quali opzioni di configurazione sono più adatte ai tuoi workload.
Per supportare l'utilizzo delle tue licenze e aiutarti a gestire i requisiti di conformità correlati alle tue licenze, Google Cloud fornisce strumenti per importare immagini, gestire le VM su hardware dedicato utilizzando nodi single-tenant, ridurre al minimo l'utilizzo dei core fisici e monitorare l'utilizzo dei core fisici a fini di reportistica.
Per importare immagini con licenze esistenti in Google Cloud, devi procedere nel seguente modo:
Prepara le immagini in base ai contratti di licenza.
Attiva le tue licenze.
Importa file di dischi virtuali e crea immagini da questi file.
Crea modelli di nodi single-tenant.
Crea gruppi di nodi single-tenant dai modelli di nodo.
Esegui il provisioning delle VM sui gruppi di nodi con i file del disco virtuale importati.
Monitora l'utilizzo delle licenze delle tue VM. Per aiutarti a generare report sul consumo delle licenze, Google fornisce strumenti per monitorare sia l'utilizzo delle licenze sia l'utilizzo di core fisici e processori.
Segnala il consumo di licenze al tuo fornitore.
Se hai bisogno di assistenza o hai domande sulle licenze, contatta il tuo rivenditore di licenze. Se hai bisogno di assistenza o hai domande su come portare le immagini con licenze esistenti in Google Cloud, contatta Google Cloud l'assistenza.
Prima di iniziare
-
Esamina il criterio di manutenzione dell'host del gruppo di nodi:
per BYOL esistono due opzioni per il criterio di manutenzione dell'host che riducono al minimo il
numero di server fisici utilizzati a fini di licenza. Queste opzioni sono
restart-in-place
emigrate-within-node-group
. - Richiedi una quota CPU aggiuntiva:
I nuovi progetti ricevono una quota CPU di 72. Assicurati di disporre di una quota CPU sufficiente per supportare il gruppo di nodi. Ad esempio, il
tipo di nodo
n1-node-96-624
contiene 96 CPU e, se il tuo gruppo di nodi utilizza il numero minimo di nodi (2), la quota di CPU deve essere almeno 192. A seconda della configurazione e delle esigenze dei carichi di lavoro, potresti anche dover richiedere una modifica della quota per le VM o gli indirizzi IP. -
Abilita l'API Cloud Build:
Per importare l'immagine del sistema operativo, devi abilitare l'API Cloud Build. Quando abiliti
questa API, Compute Engine concede al tuo progetto i ruoli IAM appropriati in modo che tu possa importare
le immagini nel tuo progetto. Per elencare i ruoli concessi al tuo progetto, utilizza il
comando
gcloud projects get-iam-policy
. Per informazioni su come concedere ruoli al tuo progetto, consulta Gestione dell'accesso alle risorse Compute Engine. - Abilita l'API Cloud Logging: abilita questa API se i tuoi contratti di licenza richiedono di monitorare l'utilizzo del server fisico. Con questa API abilitata, puoi importare e visualizzare le informazioni sull'utilizzo del server, ad esempio il conteggio dei core fisici, utilizzando BigQuery, che Google consiglia vivamente. Per informazioni su come determinare il conteggio dei core fisici, vedi Analisi dell'utilizzo dei nodi single-tenant.
-
Se non l'hai ancora fatto, configura l'autenticazione.
L'autenticazione è
il processo mediante il quale la tua identità viene verificata per l'accesso ai Google Cloud servizi e alle API.
Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti su
Compute Engine selezionando una delle seguenti opzioni:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
- Set a default region and zone.
Importa i dischi virtuali personalizzati con un sistema operativo supportato e crea immagini basate su questi dischi.
Configura la configurazione della licenza appropriata.
Installa i pacchetti e i driver necessari per la compatibilità con Google Cloud.
Vai alla pagina Immagini.
Fai clic su Crea immagine.
Specifica un nome per l'immagine.
In Origine, scegli Disco virtuale (VMDK, VHD).
In File Cloud Storage, scegli Sfoglia e vai alla posizione Cloud Storage dell'immagine da importare.
In Sistema operativo sul disco virtuale, scegli il sistema operativo dell'immagine che stai importando.
Assicurati che l'opzione Installa pacchetti guest sia selezionata, in modo che l'immagine che stai importando sia avviabile.
Espandi Opzioni del codice di licenza. In Licenza del sistema operativo, scegli Utilizza il tuo codice licenza.
Fai clic su Crea per importare l'immagine.
IMAGE_NAME
: il nome da assegnare all'immagine creata dal file del disco virtuale.VMDK_NAME
: il nome del disco virtuale da importare e da cui creare un'immagine. Puoi importare un file VMDK da:- Un file locale: se esegui l'importazione da un file locale, utilizza un percorso assoluto o un percorso relativo al file. A seconda delle dimensioni del disco virtuale e della velocità della connessione di rete, il caricamento potrebbe richiedere decine di minuti.
- Cloud Storage: se importi da
Cloud Storage, il bucket Cloud Storage
deve trovarsi nello stesso progetto che utilizzi per importare il
disco virtuale e devi specificare il percorso completo del file come
gs://BUCKET_NAME/OBJECT_NAME
. SostituisciBUCKET_NAME
con il nome del bucket Cloud Storage eOBJECT_NAME
con il nome dell'oggetto Cloud Storage.
Vai alla pagina Nodi single-tenant.
Fai clic su Crea gruppo di nodi.
Inserisci un nome per il gruppo di nodi.
Seleziona la regione e la zona per il gruppo di nodi.
Prendi nota della regione e della zona che hai utilizzato. Quando in un secondo momento crei un gruppo di nodi basato su questo template di nodi, il gruppo di nodi deve trovarsi in una zona all'interno della regione in cui hai creato il template di nodi.
In Proprietà del modello di nodo, seleziona Crea modello di nodo.
Nella finestra di dialogo Crea un modello di nodo, specifica un Nome, un Tipo di nodo, un SSD locale e un Acceleratore GPU.
In Overcommit della CPU, scegli se abilitare l'overcommit della CPU.
(Facoltativo) Nella sezione Etichette di affinità, fai clic su Aggiungi etichetta di affinità per aggiungere una coppia chiave-valore come etichetta di affinità del nodo.
Fai clic su Crea per completare la creazione del template di nodo.
Fai clic su Annulla per annullare la creazione di un gruppo di nodi.
TEMPLATE_NAME
: il nome del modello di nodo da creare.NODE_TYPE
: Tipo di nodo single-tenant per i nodi di un gruppo di nodi. Tutti i nodi di un gruppo di nodi sono identici e vengono creati dai parametri specificati da un modello di nodo.REGION
: la regione in cui creare il modello di nodo.PROJECT_ID
: l'ID del tuo progetto.REGION
: la regione in cui creare il modello di nodo.TEMPLATE_NAME
: il nome del modello di nodo da creare.NODE_TYPE
: Tipo di nodo single-tenant per i nodi di un gruppo di nodi. Tutti i nodi di un gruppo di nodi sono identici e vengono creati dai parametri specificati da un modello di nodo."KEY": "VALUE"
: elenco separato da virgole di etichette di affinità rappresentate come coppie chiave-valore. Puoi specificare le etichette di affinità per un modello di nodo solo quando lo crei.- Se le licenze vengono assegnate per core fisici, utilizza il criterio di manutenzione host
restart-in-place
omigrate-within-node-group
per ridurre al minimo il numero di server fisici utilizzati. - Se le licenze vengono assegnate in base all'utente/dispositivo, un modello in genere utilizzato per le licenze Virtual Desktop, utilizza il criterio di manutenzione host
default
. Queste licenze non vengono assegnate per core fisici e pertanto non richiedono un criterio di manutenzione host speciale per limitare l'utilizzo del server fisico. Vai alla pagina Nodi single-tenant.
Fai clic su Crea gruppo di nodi.
In Proprietà del gruppo di nodi, inserisci un nome per il gruppo di nodi.
Seleziona la regione e la zona per il gruppo di nodi.
Se sono disponibili modelli in quella regione o zona, questi vengono elencati in Proprietà del modello di nodo dopo aver fatto clic su Continua.
Fai clic su Continua.
In Proprietà del modello di nodo, seleziona il modello di nodo su cui basare il gruppo di nodi. I gruppi di nodi devono trovarsi in una zona all'interno della regione in cui hai creato il modello di nodo, quindi quando selezioni il modello per un gruppo di nodi, seleziona un modello della regione che contiene la zona in cui stai creando il gruppo di nodi. Se non esiste un modello di nodo, puoi crearne uno.
Fai clic su Continua.
In Configura scalabilità automatica, imposta la Modalità di scalabilità automatica su uno dei seguenti valori. Per saperne di più, consulta Gruppi di nodi a scalabilità automatica.
- On: i nodi vengono aggiunti o rimossi automaticamente dal gruppo di nodi.
- Solo scale out: aggiungi nodi al gruppo di nodi quando è necessaria una maggiore capacità.
- Off: gestisci manualmente le dimensioni del gruppo di nodi.
Specifica il numero minimo di nodi per il gruppo. Se abiliti il gestore della scalabilità automatica del gruppo di nodi, specifica un intervallo (numero minimo e massimo di nodi) per le dimensioni del gruppo di nodi oppure specifica il numero di nodi per il gruppo. Puoi modificare manualmente uno dei due valori in un secondo momento.
Fai clic su Continua.
(Facoltativo) In Configura le impostazioni di manutenzione, imposta la policy di manutenzione su uno dei seguenti valori. I criteri di manutenzione consentono di configurare il comportamento delle VM nel gruppo di nodi durante gli eventi di manutenzione dell'host. Per maggiori informazioni, consulta Policy di manutenzione dell'host.
- Predefinito
- Riavvia in loco
- Esegui la migrazione all'interno del gruppo di nodi
Fai clic su Crea.
GROUP_NAME
: il nome del gruppo di nodi single-tenant da creare.TEMPLATE_NAME
: il nome del modello di nodo da cui creare il gruppo di nodi.GROUP_SIZE
: la dimensione iniziale del gruppo di nodi. Il gestore della scalabilità automatica dei gruppi di nodi gestisce automaticamente le dimensioni dei gruppi di nodi con tenancy esclusiva oppure puoi gestirle manualmente.ZONE
: la zona in cui creare il gruppo di nodi. Deve trovarsi nella stessa regione del modello di nodo.MAINTENANCE_POLICY
: il criterio di manutenzione del gruppo di nodi. Imposta la policy di manutenzione su uno dei seguenti valori. Se non viene impostato alcun valore,default
viene utilizzato per la policy di manutenzione.default
migrate-within-node-group
restart-in-place
PROJECT_ID
: l'ID del progetto in cui creare il gruppo di nodi.ZONE
: la zona in cui creare il gruppo di nodi. Deve trovarsi nella stessa regione del modello di nodo.GROUP_SIZE
: la dimensione iniziale del gruppo di nodi. Il gestore della scalabilità automatica dei gruppi di nodi gestisce automaticamente le dimensioni dei gruppi di nodi con tenancy esclusiva oppure puoi gestirle manualmente.REGION
: la regione contenente il modello di nodo.TEMPLATE_NAME
: il nome del modello di nodo da cui creare il gruppo di nodi.GROUP_NAME
: il nome del gruppo di nodi single-tenant da creare.MAINTENANCE_POLICY
: il criterio di manutenzione del gruppo di nodi. Imposta la policy di manutenzione su uno dei seguenti valori. Se non viene impostato alcun valore,DEFAULT
viene utilizzato per la policy di manutenzione.DEFAULT
RESTART_IN_PLACE
MIGRATE_WITHIN_NODE_GROUP
- Per il provisioning nei gruppi di nodi con policy di manutenzione dell'host
restart-in-place
, assicurati che la VM abbia il valoreTERMINATE
per l'opzione Host in manutenzione. - Per eseguire il provisioning nei gruppi di nodi con criteri di manutenzione
migrate-within-node-group
, assicurati che la VM abbia come target un singolo gruppo di nodi con l'etichetta di affinitànode-group-name
e che non abbia come target singoli nodi con l'etichetta di affinitànode-name
. Qualsiasi tipo di opzione di manutenzione dell'host è valida, ma è consigliabile utilizzareMIGRATE
. Vai alla pagina Nodi single-tenant.
Fai clic sul nome del gruppo di nodi su cui eseguire il provisioning di una VM.
Crea una VM su un nodo single-tenant in uno dei seguenti modi:
- Per creare una VM in qualsiasi punto del gruppo di nodi con tenancy esclusiva, fai clic su Crea istanza.
- Per creare una VM su un nodo sole-tenant specifico, fai clic sul nome di un gruppo di nodi sole-tenant, poi sul nome di un nodo sole-tenant e infine su Crea istanza.
Configura la VM single-tenant. Poiché hai già selezionato il gruppo di nodi o un nodo specifico, Regione, Zona ed Etichette di affinità dei nodi sono già specificati dal modello.
Seleziona una configurazione macchina specificando la famiglia di macchine, la serie e il tipo di macchina. Scegli la serie che corrisponde al tipo di nodo single-tenant.
Seleziona il disco di avvio per la VM con tenancy esclusiva, ovvero l'immagine disco virtuale importata in precedenza.
Seleziona la scheda Gestione:
- In Policy di disponibilità > Host in manutenzione, seleziona il comportamento di riavvio della VM.
- In Riavvio automatico, seleziona On (consigliato) o Off.
Fai clic su Crea.
VM_NAME
: il nome della VM da creare.MACHINE_TYPE
: il tipo di macchina per la nuova VM.IMAGE_NAME
: l'immagine da cui creare una VM. Questa è l'immagine creata durante il processo di importazione.ZONE
: la zona in cui creare la VM.GROUP_NAME
: il nome del gruppo di nodi in cui eseguire il provisioning della VM.RESTART_BEHAVIOR
: il comportamento di riavvio di questa VM. Imposta il comportamento di riavvio su uno dei seguenti valori:--restart-on-failure
--no-restart-on-failure
MAINTENANCE_POLICY
: comportamento della VM durante gli eventi di manutenzione. Imposta la policy di manutenzione su uno dei seguenti valori:MIGRATE
TERMINATE
PROJECT_ID
: l'ID del progetto in cui creare la VM.VM_ZONE
: la zona in cui creare la VM.VM_NAME
: il nome della nuova VM.MACHINE_TYPE_ZONE
: la zona contenente il tipo di macchina.MACHINE_TYPE
: il tipo di macchina su cui eseguire il provisioning della VM.GROUP_NAME
: il nome del gruppo di nodi in cui eseguire il provisioning della VM.MAINTENANCE_POLICY
: comportamento della VM durante gli eventi di manutenzione, impostato suMIGRATE
oTERMINATE
.AUTOMATIC_RESTART
: specifica se la VM viene riavviata automaticamente se Compute Engine la arresta. Il valore predefinito ètrue
.NETWORK
: il nome della rete a cui connettere la VM.SUBNETWORK
: il nome della subnet a cui connettere la VM.IMAGE_PROJECT
: il progetto di immagine contenente l'immagine di origine.IMAGE_FAMILY
: la famiglia di immagini dell'immagine di origine.Consulta le domande frequenti sull'utilizzo delle licenze Bring Your Own License in Google Cloud.
Scopri di più su Windows su Compute Engine.
REST
Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, utilizzi le credenziali che fornisci a gcloud CLI.
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
Per saperne di più, consulta la sezione Autenticarsi per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud .
Importazione e creazione di un'immagine da un disco virtuale offline
Per eseguire il provisioning delle VM con le tue licenze esistenti, devi portare i tuoi contenuti multimediali. Le immagini basate su un'immagine premium non sono idonee per BYOL perché le immagini premium richiedono licenze pay-as-you-go di Google. Per informazioni sulle immagini premium, vedi Dettagli del sistema operativo.
Se nel tuo ambiente on-premise hai dischi virtuali (golden disk o golden image) con configurazioni software o licenze di cui hai bisogno, lo strumento di importazione del disco virtuale può aiutarti a:
Prima di importare il file del disco virtuale per la tua VM, verifica che non siano presenti incompatibilità nel file scaricando ed eseguendo lo strumento di pre-controllo dall'interno della VM. Inoltre, poiché il software di terze parti potrebbe interferire con l'installazione dei driver Compute Engine, Google consiglia di rimuovere il software di terze parti prima di importare l'immagine.
Per avviare una VM con la tua licenza, importa un disco virtuale con il sistema operativo che vuoi utilizzare. Puoi importare dischi virtuali da bucket Cloud Storage e workstation locali. Quando importi un file del disco virtuale da una workstation locale, lo strumento di importazione delle immagini carica il file immagine in Cloud Storage e, se necessario, crea un nuovo bucket Cloud Storage. Poi, lo strumento di importazione copia il file in Compute Engine e crea un'immagine avviabile dal file del disco virtuale.
I file archiviati su Cloud Storage e le immagini in Compute Engine comportano addebiti. Dopo aver verificato che l'importazione e l'avvio dell'immagine avvengano correttamente come VM, puoi eliminare il file del disco virtuale da Cloud Storage.
Console
gcloud
Esegui
gcloud compute images import
per importare un file di disco virtuale e creare un'immagine disco dal file di disco virtuale:gcloud compute images import IMAGE_NAME \ --source-file VMDK_NAME \ --byol
Sostituisci quanto segue:
Attivare le licenze
Dopo aver verificato di importare un sistema operativo compatibile, è tua responsabilità controllare che i tuoi contratti di licenza ti consentano di utilizzare le tue licenze e che tu sia autorizzato a utilizzare l'immagine del sistema operativo guest e l'ambiente di importazione delle licenze fornito da Google. È inoltre tua responsabilità preparare l'immagine del sistema operativo guest per l'importazione in base ai contratti di licenza.
Per attivare una licenza, utilizza gli script di avvio con la tua chiave di attivazione multipla (MAK) o configura l'accesso al servizio di gestione delle chiavi Microsoft della tua organizzazione. Non puoi attivare immagini con licenze esistenti rispetto al server delle licenze Compute Engine.
Dopo aver importato l'immagine e attivato la licenza, esegui il provisioning di una VM basata sull'immagine importata su un nodo single-tenant.
Creazione di un modello di nodo single-tenant
Dopo aver importato l'immagine, crea un modello di nodo single-tenant. Utilizzerai questo modello di nodo per creare un gruppo di nodi single-tenant su cui eseguire l'immagine.
La pagina dei modelli di nodi non elenca la regione e la zona del modello, ma i gruppi di nodi devono essere creati in una zona all'interno della regione in cui hai creato il modello di nodo. Per creare un modello, devi prima creare un gruppo di nodi, ma devi completare i passaggi solo fino alla scelta della regione e della zona. Dopodiché, puoi creare il modello e non continuare a creare il gruppo di nodi, se vuoi.
Quando crei il modello di nodo single-tenant, imposti le etichette di affinità dei nodi.
Console
gcloud
Crea un modello di nodo single-tenant utilizzando
gcloud compute sole-tenancy node-templates create
.gcloud compute sole-tenancy node-templates create TEMPLATE_NAME \ --node-type NODE_TYPE \ --region REGION
Sostituisci quanto segue:
REST
Crea un modello di nodo single-tenant utilizzando nodeTemplates.insert.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/nodeTemplates { "name": "TEMPLATE_NAME", "nodeType": "NODE_TYPE" "nodeAffinityLabels": { "KEY": "VALUE" } }
Sostituisci quanto segue:
Creazione di un gruppo di nodi single-tenant
Per creare un gruppo di nodi basato su un modello di nodo, il gruppo di nodi deve trovarsi in una zona all'interno della regione in cui hai creato il modello di nodo. Un gruppo di nodi single-tenant eredita le proprietà specificate dal modello di nodo single-tenant. Il gruppo di nodi single-tenant ha valori aggiuntivi che devi specificare. Per BYOL, a seconda dei requisiti di licenza, valuta le diverse opzioni per la policy di manutenzione host:
Console
gcloud
Crea un gruppo di nodi sole-tenant utilizzando il comando
gcloud compute sole-tenancy node-groups create
.gcloud compute sole-tenancy node-groups create GROUP_NAME \ --node-template TEMPLATE_NAME \ --target-size GROUP_SIZE \ --zone ZONE \ --maintenance-policy MAINTENANCE_POLICY
Sostituisci quanto segue:
REST
Crea un gruppo di nodi single-tenant utilizzando
nodeGroups.insert
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/nodeGroups?initialNodeCount=GROUP_SIZE { "nodeTemplate": "/regions/REGION/nodeTemplates/TEMPLATE_NAME", "name": "GROUP_NAME", "maintenancePolicy": "MAINTENANCE_POLICY" }
Sostituisci quanto segue:
Provisioning di una VM single-tenant
Esegui il provisioning di una VM nel gruppo di nodi e specifica la relativa policy di manutenzione dell'host. Tieni presenti i seguenti requisiti:
Console
Se hai utilizzato etichette di affinità dei nodi nel modello, puoi creare più VM utilizzando i gruppi di istanze gestite e specificando le etichette di affinità dei nodi nelle impostazioni Nodi sole-tenant oppure creare singole VM dalla pagina dei dettagli del gruppo di nodi:
gcloud
Esegui il provisioning di una VM single-tenant su un gruppo di nodi single-tenant utilizzando il comando
gcloud compute instances create
.gcloud compute instances create VM_NAME \ --machine-type MACHINE_TYPE --image IMAGE_NAME \ --zone ZONE \ --node-group GROUP_NAME \ RESTART_BEHAVIOR \ --maintenance-policy MAINTENANCE_POLICY
Sostituisci quanto segue:
REST
Esegui il provisioning di una VM single-tenant su un gruppo di nodi single-tenant utilizzando il metodo
instances.insert
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/VM_ZONE/instances { "name": "VM_NAME", "machineType": "/zones/MACHINE_TYPE_ZONE/machineTypes/MACHINE_TYPE", "scheduling": { "nodeAffinities": [ { "key": "node-group", "operator": "IN", "values": [ "GROUP_NAME" ] } ], "onHostMaintenance": "MAINTENANCE_POLICY", "automaticRestart": "AUTOMATIC_RESTART" }, "networkInterfaces": [ { "network": "/global/networks/NETWORK", "subnetwork": "/regions/region/subnetworks/SUBNETWORK" } ], "disks": [ { "boot": true, "initializeParams": { "sourceImage": "/projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY" } } ] }
Sostituisci quanto segue:
Passaggi successivi
Salvo quando diversamente specificato, i contenuti di questa pagina sono concessi in base alla licenza Creative Commons Attribution 4.0, mentre gli esempi di codice sono concessi in base alla licenza Apache 2.0. Per ulteriori dettagli, consulta le norme del sito di Google Developers. Java è un marchio registrato di Oracle e/o delle sue consociate.
Ultimo aggiornamento 2025-07-11 UTC.
-