Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
Synopsis
Permet la gestion des fichiers d’état Terraform.
Syntaxe
advanced_state_management.sh [--parameterfile] <String>
[--type] <String>
[--operation] <String>
[--terraform_keyfile] <String>
[--subscription] <String>
[--storage_account_name] <String>
[--tf_resource_name] <String>
[--azure_resource_id] <String>
[--help]
Description
Vous pouvez utiliser ce script pour :
- répertorie les ressources dans le fichier d’état Terraform.
- ajoutez des ressources manquantes ou modifiées au fichier d’état Terraform.
- supprimez les ressources du fichier d’état Terraform.
Ce script est utile si les ressources sont modifiées ou créées sans utiliser Terraform.
Exemples
Exemple 1
Répertoriez le contenu du fichier d’état Terraform.
parameter_file_name="DEV-WEEU-SAP01-X00.tfvars"
deployment_type="sap_system"
subscriptionID="<subscriptionId>"
filepart=$(echo "${parameter_file_name}" | cut -d. -f1)
key_file=${filepart}.terraform.tfstate
#This is the name of the storage account containing the terraform state files
storage_accountname="<storageaccountname>"
$DEPLOYMENT_REPO_PATH/deploy/scripts/advanced_state_management.sh \
--parameterfile "${parameter_file_name}" \
--type "${deployment_type}" \
--operation list \
--subscription "${subscriptionID}" \
--storage_account_name "${storage_accountname}" \
--terraform_keyfile "${key_file}"
Exemple 2
Importation d'une machine virtuelle
parameter_file_name="DEV-WEEU-SAP01-X00.tfvars"
deployment_type="sap_system"
subscriptionID="<subscriptionId>"
filepart=$(echo "${parameter_file_name}" | cut -d. -f1)
key_file=${filepart}.terraform.tfstate
#This is the name of the storage account containing the terraform state files
storage_accountname="<storageaccountname>"
#Terraform Resource name of the first
tf_resource_name="module.hdb_node.azurerm_linux_virtual_machine.vm_dbnode[0]"
#Azure Resource id of the Virtual
azure_resource_id="/subscriptions/<subscriptionId>/resourceGroups/DEV-WEEU-SAP01-X00/providers/Microsoft.Compute/virtualMachines/xxxxx"
$DEPLOYMENT_REPO_PATH/deploy/scripts/advanced_state_management.sh \
--parameterfile "${parameter_file_name}" \
--type "${deployment_type}" \
--operation import \
--subscription "${subscriptionID}" \
--storage_account_name "${storage_accountname}" \
--terraform_keyfile "${key_file}" \
--tf_resource_name "${tf_resource_name}" \
--azure_resource_id "${azure_resource_id}"
Exemple 3
Suppression d’un compte de stockage du fichier d’état
parameter_file_name="DEV-WEEU-SAP01-X00.tfvars"
deployment_type="sap_system"
subscriptionID="<subscriptionId>"
filepart=$(echo "${parameter_file_name}" | cut -d. -f1)
key_file=${filepart}.terraform.tfstate
#This is the name of the storage account containing the terraform state files
storage_accountname="<storageaccountname>"
#Terraform Resource name of the first
tf_resource_name="module.common_infrastructure.azurerm_storage_account.sapmnt[0]"
$DEPLOYMENT_REPO_PATH/deploy/scripts/advanced_state_management.sh \
--parameterfile "${parameter_file_name}" \
--type "${deployment_type}" \
--operation remove \
--subscription "${subscriptionID}" \
--storage_account_name "${storage_accountname}" \
--terraform_keyfile "${key_file}" \
--tf_resource_name "${tf_resource_name}"
Paramètres
--parameterfile
Définit le fichier de paramètres pour le système.
Type: String
Aliases: `-p`
Required: True
--type
Définit le type de système. Les valeurs valides sont sap_deployer, sap_library, sap_landscape et sap_system.
Type: String
Aliases: `-t`
Accepted values: sap_deployer, sap_landscape, sap_library, sap_system
Required: True
--operation
Définit l’opération à effectuer. Les valeurs valides sont sap_deployer, import, list et remove.
Type: String
Aliases: `-t`
Accepted values: import, list, remove
Required: True
--terraform_keyfile
Définit le nom du fichier d’état Terraform.
Type: String
Aliases: `-k`
Required: True
--subscription
Définit l’abonnement Azure cible.
Type: String
Aliases: `-s`
Required: False
--storageaccountname
Définit le nom du compte de stockage qui contient les fichiers d’état Terraform.
Type: String
Aliases: `-a`
Required: False
--tf_resource_name
Définit le nom de la ressource dans le fichier d’état Terraform.
Type: String
Aliases: `-n`
Required: False
--azure_resource_id
Définit l’ID de la ressource Azure à importer.
Type: String
Aliases: `-i`
Required: False
Notes
v 0.9 - Version initiale
Copyright (c) Microsoft Corporation. Sous licence du MIT.
Liens connexes
Référentiel GitHub : Infrastructure d’automatisation du déploiement de SAP sur Azure