This document describes how the SAP Library infrastructure is configured.
The configuration of the SAP Library infrastructure is achieved using a json formatted parameter file. The key section is the infrastructure section which is used to define the Azure region. The key_vault section is used to specify the Azure Resource Identifiers for existing key vaults if the customer wants to use existing vaults.
{ <-- JSON opening tag
"infrastructure": {
"environment" : "NP", <-- Required Parameter
"region" : "eastus2" <-- Required Parameter
"resource_group": {
"name" : "" <-- Optional Parameter
"arm_id" : "" <-- Optional Identifier
}
},
"deployer": {
"environment" : "NP", <-- Required Parameter
"region" : "eastus2", <-- Required Parameter
"vnet" : "DEP00" <-- Required Parameter
"use" : true <-- Optional parameter
},
"key_vault":{
"kv_user_id" : "", <-- Optional
"kv_prvt_id" : "" <-- Optional
"kv_spn_id" : "" <-- Optional
}
"storage_account_sapbits": {
"arm_id" : "", <-- Optional
"file_share" :{
"is_existing" : true <-- Optional
},
"sapbits_blob_container" :{
"is_existing" : true <-- Optional
}
},
"storage_account_tfstate": {
"arm_id" : "", <-- Optional
"tfstate_blob_container" : {
"is_existing" : true <-- Optional
},
"ansible_blob_container" : {
"is_existing" : true <-- Optional
}
},
"tfstate_resource_id", : "" <-- On reinitialization for Remote Statefile usage.
"deployer_statefile_foldername" : "" <-- Optional relative part to the folder containing the deployer state file.
} <-- JSON Closing tag
Node | Attribute | Type | Default | Description |
---|---|---|---|---|
infrastructure. | environment |
required | -------- | The Environment is a 5 Character designator used for identifying the workload zone. An example of partitioning would be, PROD / NP (Production and Non-Production). Environments may also be tied to a unique SPN or Subscription. |
infrastructure. | region |
required | This specifies the Azure Region in which to deploy. | |
infrastructure.resource_group. | arm_id |
optional | If specified the Azure Resource ID of Resource Group to use for the deployment | |
infrastructure.resource_group. | name |
optional | If specified the name of the resource group to be created | |
deployer. | environment |
required | -------- | This represents the environment of the deployer. Typically this will be the same as the infrastructure.environment . When multi-subscription is supported, this can be set to a different value. |
deployer. | region |
required | -------- | Azure Region in which the Deployer was deployed. |
deployer. | vnet |
required | -------- | Designator used for the Deployer VNET. |
deployer. | use |
optional | -------- | Flag to control if the deployment will include a "Deployer" |
key_vault. | kv_user_id |
optional | If provided, the Key Vault resource ID of the user Key Vault to be used. | |
key_vault. | kv_prvt_id |
optional | If provided, the Key Vault resource ID of the private Key Vault to be used. | |
key_vault. | kv_spn_id |
optional | If provided, the Key Vault resource ID of the private Key Vault containing the SPN details. | |
storage_account_sapbits. | arm_id |
optional | - | If provided, the Azure Resource Identifier for the storage account to use for storing the SAP binaries |
storage_account_sapbits.file_share. | is_existing |
true/false | - | If true then the file share for the SAP media already exists |
storage_account_sapbits.sapbits_blob_container. | is_existing |
true/false | - | If true then the container already exists |
storage_account_tfstate. | arm_id |
optional | - | If provided, the Azure Resource Identifier for the storage account to use for storing the Terraform state files |
storage_account_tfstate.tfstate_blob_container. | is_existing |
true/false | - | If true then the container already exists |
tfstate_resource_id |
Remote State | - This parameter is introduced when transitioning from a LOCAL deployment to a REMOTE Statefile deployment, during Reinitialization. - This is the Azure Resource ID for the Storage Account in which the Statefiles are stored. Typically this is deployed by the SAP Library execution unit. Case-sensitive |
||
deployer_statefile_foldername |
Local State | Defines the relative path from the folder containing the SAP Library json file to the folder containing the deployer terraform state file |
{
"infrastructure": {
"environment" : "NP",
"region" : "eastus2"
},
"deployer": {
"environment" : "NP",
"region" : "eastus2",
"vnet" : "DEP00"
}
}
{
"infrastructure": {
"environment" : "NP",
"region" : "eastus2"
},
"deployer": {
"environment" : "NP",
"region" : "eastus2",
"vnet" : "DEP00"
"use" : true
},
"key_vault":{
"kv_user_id" : "",
"kv_snp_id" : "",
"kv_prvt_id" : ""
},
"storage_account_sapbits": {
"arm_id" : "",
"file_share" :{
"is_existing" : false
},
"sapbits_blob_container" :{
"is_existing" : false
}
},
"storage_account_tfstate": {
"arm_id" : "",
"tfstate_blob_container" : {
"is_existing" : false
},
"ansible_blob_container" : {
"is_existing" : false
}
},
"tfstate_resource_id", : ""
"deployer_statefile_foldername", : ""
}