IONOS Virtual Data Center Building Block
Module that creates a Virtual Data Center in IONOS Cloud and assigns users in meshStack with Project permissions in the newly created Virtual Data Center. You can use it as a self-built platform integration in meshStack.
How to create this Platform Integration in meshStack
- Go to your meshStack Admin Area and click on "Platforms > Platforms" from the left pane
- Click on "Create Platform"
- For Platform Type, click the dropdown and hit "Create new Platform Type"
- In this modal, enter a fitting name and identifier for your new IONOS platform
- For an icon, you can use the file under
./icon.png
.
- For an icon, you can use the file under
- Continue the Platform Creation process.
- Next, you will have to create a Building Block that will connect the Terraform and the newly created Platform.
- On the left-hand side go to "Marketplace > Building Blocks" and click "Definitions".
- Click "Create new Definition" and fill in some general information like name and description.
- On the next page, set the following:
- Supported Platforms -> Pick the Platform Type you created in Step 3.
- How often assigned -> Once
- Implementation Type -> Terraform
- Terraform Version -> 1.5
- Git Repository URL -> This repository, or, if you fork the code, your own repository
- Git Repository Path ->
other-providers/ionos/virtual-data-center
- Enter a SSH Key if you are running from a private repository.
- Enter a known host (if you are running from a self-hosted Git provider)
- Deletion Mode -> pick "Delete Resources" if you want a
tf destroy
to run upon deletion in meshStack.
- Go to the next page and skip the Dependency selection
- For the Inputs, create the following Inputs:
IONOS_TOKEN
(if you don't use an API token but username & password instead, you can do so as well withIONOS_USERNAME
andIONOS_PASSWORD
)- Set Source -> Static
- Provide as -> Environment Variable
- Set the variable to encryped
- Enter your IONOS API Token as a value
- Generate the necessary Terraform variables. To do so, at the top right click "Generate Inputs > Load Inputs" and paste in the content from
./variables.tf
- Set the
workspace_id
Source -> Workspace Identifier - Set the
project_id
Source -> Project Identifier - Set the
users
Source -> User Permissions
- Set the
- Backend configuration:
- Select "File" as input type and upload the backend.tf file.
- Add related environment variables based on your backend configuration (e.g. client_id and client_secret for azure, SA_ID and SA_EMAIL for GCS)
- Go to the next page, which is Outputs, and create the following output:
tenant_id
- Set the Assignment Type -> Platform Tenant ID
- Create the new Building Block Definition
- As a last step, we have to hook the new Building Block definition into a new landing zone so it will be rolled out on tenant creation.
- On the left-hand side navigate to "Platforms > Platforms" and open your newly created IONOS platform.
- Go to the Landing Zones tab and click "Create new Landing Zone"
- Enter a fitting name, description and tags.
- Under "Building Blocks" pick your newly created Building Block Definition and set it to "Mandatory".
- Click Save
- ✅ Your platform integration is successfully set up and workspaces can now freely book new tenants (Virtual Data Centers) for your platform.
Requirements
Name | Version |
---|---|
ionoscloud | = 6.4.10 |
Modules
No modules.
Resources
Name | Type |
---|---|
ionoscloud_datacenter.this | resource |
ionoscloud_group.admin | resource |
ionoscloud_group.editor | resource |
ionoscloud_group.reader | resource |
ionoscloud_share.admin | resource |
ionoscloud_share.editor | resource |
ionoscloud_share.reader | resource |
ionoscloud_user.admins | data source |
ionoscloud_user.editors | data source |
ionoscloud_user.readers | data source |
Inputs
Name | Description | Type | Default | Required |
---|---|---|---|---|
dc_description | Virtual Data Center description | string | n/a | yes |
dc_location | Virtual Data Center location, e.g. de/fra, de/txl, es/vit, fr/par, gb/lhr, us/ewr, us/las, us/mci | string | n/a | yes |
project_id | Virtual Data Center last block in name | string | n/a | yes |
users | Users and their roles provided by meshStack (Note that users must exist in IONOS) | list(object( | n/a | yes |
workspace_id | Virtual Data Center first block in name | string | n/a | yes |
Outputs
Name | Description |
---|---|
tenant_id | n/a |
Source code & Installation
The source code of this kit module can be found here
Run the following command to install the kit module:
collie kit import ionos/virtual-data-center
1