cloudstack-terraform-provider
cloudstack-terraform-provider copied to clipboard
[WIP] Add CloudStack `role` resource
Adding role as a terraform managed resource option -> https://cloudstack.apache.org/api/apidocs-4.20/apis/createRole.html
Contributes to #82
Using this code for example:
resource "cloudstack_role" "admin" {
name = "foo"
type = "Admin"
description = "Administrator role"
is_public = true
}
data "cloudstack_role" "role_name" {
filter {
name = "name"
value = cloudstack_role.admin.name
}
}
data "cloudstack_role" "role_id" {
filter {
name = "id"
value = cloudstack_role.admin.id
}
}
output "id_filter" {
value = data.cloudstack_role.role_name.name
}
output "name_filter" {
value = data.cloudstack_role.role_id.name
}
Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols:
+ create
<= read (data resources)
Terraform will perform the following actions:
# data.cloudstack_role.role_id will be read during apply
# (config refers to values not yet known)
<= data "cloudstack_role" "role_id" {
+ description = (known after apply)
+ id = (known after apply)
+ is_public = (known after apply)
+ name = (known after apply)
+ type = (known after apply)
+ filter {
+ name = "id"
+ value = (known after apply)
}
}
# data.cloudstack_role.role_name will be read during apply
# (depends on a resource or a module with changes pending)
<= data "cloudstack_role" "role_name" {
+ description = (known after apply)
+ id = (known after apply)
+ is_public = (known after apply)
+ name = (known after apply)
+ type = (known after apply)
+ filter {
+ name = "name"
+ value = "foo"
}
}
# cloudstack_role.admin will be created
+ resource "cloudstack_role" "admin" {
+ description = "Administrator role"
+ id = (known after apply)
+ is_public = true
+ name = "foo"
+ type = "Admin"
}
Plan: 1 to add, 0 to change, 0 to destroy.
Changes to Outputs:
+ id_filter = (known after apply)
+ name_filter = (known after apply)
cloudstack_role.admin: Creating...
cloudstack_role.admin: Creation complete after 0s [id=ae39c5ba-e457-4483-b1b1-4a05f5b9990b]
data.cloudstack_role.role_name: Reading...
data.cloudstack_role.role_id: Reading...
data.cloudstack_role.role_id: Read complete after 1s [id=ae39c5ba-e457-4483-b1b1-4a05f5b9990b]
data.cloudstack_role.role_name: Read complete after 1s [id=ae39c5ba-e457-4483-b1b1-4a05f5b9990b]