You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cloudstack.apache.org by "Harikrishna Patnala (Jira)" <ji...@apache.org> on 2022/02/28 10:57:00 UTC

[jira] [Created] (CLOUDSTACK-10448) GSoC 2022: CloudStack Terraform Provider - Add datasources for the existing resources

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)