ianc769 opened a new pull request, #181:
URL: https://github.com/apache/cloudstack-terraform-provider/pull/181

   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:
   ```hcl
   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
   }
   ```
   
   ```bash
   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)
   ```
   ```bash
   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]
   ```
   
   
![{3CCB38DD-0B3C-453D-B89C-D9C4D1552090}](https://github.com/user-attachments/assets/841e351b-f2d8-4eb9-af3d-bee4f5512456)
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@cloudstack.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to