Harikrishna Patnala created CLOUDSTACK-10448:
------------------------------------------------

             Summary: GSoC 2022: CloudStack Terraform Provider - Add 
datasources for the existing resources
                 Key: CLOUDSTACK-10448
                 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-10448
             Project: CloudStack
          Issue Type: Bug
      Security Level: Public (Anyone can view this level - this is the default.)
            Reporter: Harikrishna Patnala


h2. Background

Terraform is an Infrastructure as Code (IaC) software that provides a 
consistent CLI workflow to manage resources in
many cloud services. Cloudstack Terraform provider integrates with Cloudstack 
to aid in managing and automating the deployment of resources in cloudstack. We 
have recently made the first release of CloudStack Terraform Provider v0.4.0 
[https://github.com/apache/cloudstack-terraform-provider]
h2. Requirement

Terraform defines a *datasource* as, "something that allows Terraform to use 
the information defined outside of Terraform, defined by another separate 
Terraform configuration, or modified by functions". Most resources offer data 
sources alongside their set of resource types. However, currently Cloudstack 
Terraform Provider only has one datasource for template. Hence, we propose an 
idea for students to get involved in enhancing the features of the Cloudstack 
Terraform Provider by adding support for datasources.

[!https://user-images.githubusercontent.com/3348673/154947206-d110a18d-21cd-4f8b-981b-26970c1b2069.png!|https://user-images.githubusercontent.com/3348673/154947206-d110a18d-21cd-4f8b-981b-26970c1b2069.png]

If the students are enjoying the project, the scope can be extended to support 
adding further resources in Terraform such that the CloudStack Terraform 
Provider may become a de-facto tool for automating CloudStack deployments.

The current set of resources Cloudstack terraform provider supports are:
[https://registry.terraform.io/providers/cloudstack/cloudstack/latest/docs] , 
where as its counterpart Ansible boasts of a more evolved list of resources - 
[https://docs.ansible.com/ansible/latest/collections/ngine_io/cloudstack/index.html]
 - mainly zones, clusters, accounts, domains, etc. It would be great if 
students interested want to go a step ahead and help add support for these too.
h2. Relevant Skills:

GoLang (basic)
h2. Difficulty:

Medium
h2. Potential Mentors:

Harikrishna Patnala
Pearl Dsilva
h2. Example and references

[https://registry.terraform.io/providers/cloudstack/cloudstack/latest/docs] : 
check *Resources* and *Data Sources* section under CloudStack Provider
Depends on CloudStack Go SDK - [https://github.com/apache/cloudstack-go]

Github issue: https://github.com/apache/cloudstack/issues/6016



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to