Cette page a été traduite de l'anglais avec l'aide de l'IA. En cas de divergence, la version anglaise fait référence.
Créer des modèles d'infrastructure
Voir aussi :
[exec] [INSERT] [SHOW] [ Utiliser des variables ]
Les ressources cloud sont déployées avec StackQL au moyen d'instructions INSERT. Les modèles INSERT des différentes ressources cloud sont générés avec la commande SHOW INSERT.
Générer un modèle INSERT avec la commande SHOW INSERT
Voici un exemple de génération d'un modèle :
SHOW INSERT INTO google.compute.addresses;
Cette instruction peut être exécutée dans le shell ou avec une commande exec, comme illustré ici :
./stackql exec 'show insert into google.compute.addresses' --output text --hideheaders
Renvoie :
INSERT INTO google.compute.addresses(
project,
region,
data__address,
data__addressType,
data__description,
data__ipVersion,
data__name,
data__network,
data__networkTier,
data__prefixLength,
data__purpose,
data__subnetwork
)
SELECT
'{{ .values.project }}',
'{{ .values.region }}',
'{{ .values.data__address }}',
'{{ .values.data__addressType }}',
'{{ .values.data__description }}',
'{{ .values.data__ipVersion }}',
'{{ .values.data__name }}',
'{{ .values.data__network }}',
'{{ .values.data__networkTier }}',
{{ .values.data__prefixLength }},
'{{ .values.data__purpose }}',
'{{ .values.data__subnetwork }}'
Ce modèle peut ensuite être utilisé avec un fichier de données
jsonoujsonnetpour fournir les valeurs à l'exécution. Pour plus d'informations, consultez Utiliser des variables.
Générer un modèle INSERT avec uniquement les paramètres obligatoires
Pour générer un modèle INSERT StackQL ne contenant que les attributs obligatoires, utilisez l'indication de requête /*+ REQUIRED */, comme illustré ici :
SHOW INSERT /*+ REQUIRED */ INTO google.compute.instances;
Cette instruction peut être exécutée dans le shell ou avec une commande exec, comme illustré ici :
./stackql exec 'show insert /*+ REQUIRED */ into compute.instances' --output text -H
Renvoie :
INSERT INTO google.compute.instances(
project,
zone,
data__machineType,
data__name
)
SELECT
'{{ .values.project }}',
'{{ .values.zone }}',
'{{ .values.data__machineType }}',
'{{ .values.data__name }}'
;