Cloud resource ☁️
Last updated
Was this helpful?
Last updated
Was this helpful?
Cloud resource is any resource available at the cloud provider that has either a Terraform resource or data source associated with it.
This resource can be drag & dropped from the left bar.
Every cloud resource has a set of configuration parameters that you can customize on the ID card of that resource.
There are 5 types of nodes:
Cloud resource: this resource will be created when you provision the infrastructure.
Data source: it refers to an existing cloud resource.
Module: Terraform module.
Container: it can contain other resource and give them its properties. E.g. AWS VPC, or Azure virtual network.
Icon only: this resource is just graphic and has no Terraform representation.
Refer to the page for more information on how to configure resources.
Brainboard supports all the supported types by Terraform. You have the possibility to switch between the 2 types of resource from the switch in the left bar.
They represent resources available at the Terraform provider for a specific version.
As per Terraform definition: Data sources allow Terraform to use information defined outside of Terraform, defined by another separate Terraform configuration, or modified by functions.
They are used in architecture to reference and/or get information about a resource already deployed. Data resources could be:
A common resource shared between multiple architectures.
For security reasons (read-only access) resources.
Managed by another team.
Agnostic nodes
Nodes like Text, or generic icons have no cloud configuration and will not be deployed into the target cloud provider.
When you drag-&-drop any resource, for any cloud provider, the id-card of this resource will be open to allow you to configure its cloud parameters. Brainboard generates the Terraform code instantly when you close the id-card.
There is a special type of resource called containers
, which means you can drop resources inside them, Brainboard detects the relationship between them and automatically the added resource and populate the information in the right direction.
For example:
AWS VPC & subnet: when you add a subnet inside the VPC, Brainboard detects the relationship between them and automatically adds VPC information in the subnet resources.
Azure Virtual Network & subnet: when you add a subnet inside a virtual network, Brainboard automatically detects their relationship and updates the code accordingly.
GCP network & subnetwork: when you have a subnetwork inside a network, Brainboard understands it and populates the inherited information automatically.
The connector links two components together and can exist in 2 forms:
Automatically added: this connector is added when you use a specific property of one node into the configuration of another one:
In this example, Azure firewall uses in its public IP parameter the exported attribute ID
of the resource public IP. Brainboard automatically generated this connect when the configuration is updated.
Manually added: This type of connector has no equivalent cloud configuration and it is just a graphical representation of the link that may exist outside of Terraform.
When you add a resource into the design area, Brainboard generates its Terraform code instantly and automatically, and highlights it in the embedded VS Code editor.
When you click on any resource, Brainboard highlights it in the code and vice versa, when you click on the name of the resource in the code, Brainboard automatically selects the resource and opens its configuration menu.
Always start by adding containers first into the design, this way Brainboard will detect automatically any resource you insert inside them, whatever the number of layers.
If you want to stay compliant with Terraform, always put the Terraform resource name you choose as a text of the resource as well.
Use the native auto-inheritance mechanism of Brainboard when you add resources. It saves you a lot of time.
Refer to the page for more details.