Categorygithub.com/gomorpheus/terraform-provider-morpheus
repositorypackage
0.12.0
Repository: https://github.com/gomorpheus/terraform-provider-morpheus.git
Documentation: pkg.go.dev

# Packages

No description provided by the author
No description provided by the author

# README

Terraform Provider for Morpheus

GitHub tag (latest SemVer) license

This is the Terraform provider for the Morpheus Data Cloud Management Platform (CMP). It interfaces with the Morpheus API using the morpheus-go-sdk client. Like all Terraform Providers, it is written in Go.

This is being developed in conjunction with morpheus-go-sdk.

Support


The Morpheus Terraform provider uses a community support model. Morpheus welcomes pull requests and responds to issues on a best-effort basis.

Reporting an issue

If you an encounter an issue with the Terraform provider, create a new issue in this GitHub repository.

https://github.com/gomorpheus/terraform-provider-morpheus/issues

Requirements


  • Terraform | 0.13+
  • Go 1.22 (to build the provider plugin)

Getting Started


The best way to get started using the Morpheus Terraform provider is by following the getting started guide.

Supported Resources


The following list of resources are supported by the Morpheus Terraform provider:

Resource NameDescription
morpheus_active_directory_identity_sourceMorpheus active directory identity source resource
morpheus_ansible_integrationMorpheus ansible_integration resource
morpheus_ansible_playbook_taskMorpheus ansible playbook automation task resource
morpheus_ansible_tower_integrationMorpheus ansible tower integration resource
morpheus_ansible_tower_taskMorpheus ansible tower task resource
morpheus_api_option_listMorpheus api_option_list resource
morpheus_app_blueprint_catalog_itemMorpheus app_blueprint_catalog_item resource
morpheus_arm_app_blueprintMorpheus ARM app blueprint resource
morpheus_arm_spec_templateMorpheus ARM spec template resource
morpheus_aws_cloudMorpheus AWS cloud integration resource
morpheus_backup_creation_policyMorpheus backup creation policy resource
morpheus_backup_settingMorpheus backup setting resource
morpheus_boot_scriptMorpheus boot script resource
morpheus_budget_policyMorpheus budget policy resource
morpheus_checkbox_option_typeMorpheus checkbox option type resource
morpheus_cloud_formation_app_blueprintMorpheus Cloud Formation app blueprint resource
morpheus_cloud_formation_spec_templateMorpheus Cloud Formation spec template resource
morpheus_cluster_layoutMorpheus cluster layout resource
morpheus_cluster_resource_name_policyMorpheus cluster resource name policy resource
morpheus_contactMorpheus contact resource
morpheus_docker_registry_integrationMorpheus docker_registry_integration resource
morpheus_cypher_access_policyMorpheus cypher access policy resource
morpheus_delayed_delete_policyMorpheus delayed delete policy resource
morpheus_email_taskMorpheus email task resource
morpheus_environmentMorpheus environment resource
morpheus_execute_scheduleMorpheus execute schedule resource
morpheus_file_templateMorpheus file template resource
morpheus_git_integrationMorpheus git_integration resource
morpheus_groovy_taskMorpheus groovy script task resource
morpheus_groupMorpheus group resource
morpheus_guidance_settingMorpheus guidance setting resource
morpheus_helm_app_blueprintMorpheus HELM app blueprint resource
morpheus_helm_spec_templateMorpheus HELM spec template resource
morpheus_hidden_option_typeMorpheus hidden option type resource
morpheus_hostname_policyMorpheus hostname policy resource
morpheus_instance_catalog_itemMorpheus instance_catalog_item resource
morpheus_instance_layoutMorpheus instance_layout resource
morpheus_instance_typeMorpheus instance_type resource
morpheus_kubernetes_app_blueprintMorpheus Kubernetes app blueprint resource
morpheus_kubernetes_spec_templateMorpheus Kubernetes spec template resource
morpheus_javascript_taskMorpheus javascript task resource
morpheus_library_script_taskMorpheus library script task resource
morpheus_library_template_taskMorpheus library template task resource
morpheus_manual_option_listMorpheus manual option list resource
morpheus_max_containers_policyMorpheus max containers policy resource
morpheus_max_cores_policyMorpheus max cores policy resource
morpheus_max_hosts_policyMorpheus max hosts policy resource
morpheus_max_memory_policyMorpheus max memory policy resource
morpheus_max_storage_policyMorpheus max storage policy resource
morpheus_max_vms_policyMorpheus max vms policy resource
morpheus_monitoring_settingMorpheus monitoring setting resource
morpheus_motd_policyMorpheus message of the day policy resource
morpheus_network_domainMorpheus network domain resource
morpheus_network_quota_policyMorpheus network quota policy resource
morpheus_node_typeMorpheus node_type resource
morpheus_number_option_typeMorpheus number option type resource
morpheus_operational_workflowMorpheus operational automation workflow resource
morpheus_password_option_typeMorpheus password option type resource
morpheus_power_schedule_policyMorpheus power schedule policy resource
morpheus_powershell_script_taskMorpheus powershell script task resource
morpheus_preseed_scriptMorpheus preseed script resource
morpheus_priceMorpheus price resource
morpheus_price_setMorpheus price set resource
morpheus_provisiong_settingMorpheus provisioning setting resource
morpheus_provisiong_workflowMorpheus provisioning automation workflow resource
morpheus_puppet_integrationMorpheus puppet integration resource
morpheus_python_script_taskMorpheus python script automation task resource
morpheus_radio_list_option_typeMorpheus radio list option type resource
morpheus_resource_pool_groupMorpheus resource pool group resource
morpheus_rest_option_listMorpheus REST API option list resource
morpheus_restart_taskMorpheus restart task resource
morpheus_router_quota_policyMorpheus router quota policy resource for configuring router quotas based upon the group, cloud, role, user or globally
morpheus_ruby_script_taskMorpheus ruby script task resource
morpheus_scale_thresholdMorpheus scale threshold resource
morpheus_script_templateMorpheus script template resource
morpheus_select_list_option_typeMorpheus select list option type resource
morpheus_service_planMorpheus service plan resource
morpheus_shell_script_taskMorpheus shell script task resource
morpheus_tag_policyMorpheus tag policy resource
morpheus_task_jobMorpheus task job resource for scheduling automation tasks
morpheus_tenantMorpheus tenant resource
morpheus_terraform_app_blueprintMorpheus Terraform app blueprint resource
morpheus_terraform_spec_templateMorpheus Terraform spec template resource
morpheus_text_option_typeMorpheus text option type resource
morpheus_textarea_option_typeMorpheus text area option type resource
morpheus_typeahead_option_typeMorpheus typeahead option type resource
morpheus_user_creation_policyMorpheus user creation policy resource for configuring user creation based upon the group, cloud, role, user or globally
morpheus_user_group_creation_policyMorpheus user group creation policy resource for configuring user group creation based upon the group, cloud, role, user or globally
morpheus_user_roleMorpheus user role resource
morpheus_vro_integrationMorpheus VMware vRealize Orchestrator integration resource
morpheus_vro_taskMorpheus VMware vRealize Orchestrator task resource
morpheus_vsphere_cloudMorpheus VMware vSphere cloud resource
morpheus_vsphere_instanceMorpheus VMware vSphere instance resource
morpheus_wiki_pageMorpheus wiki page resource for creating and managing wiki pages
morpheus_workflow_catalog_itemMorpheus workflow catalog item resource for creating and managing operational workflow catalog items
morpheus_workflow_policyMorpheus workflow policy resource for assigning a workflow to a group, cloud, role, user or globally
morpheus_write_attributes_taskMorpheus write attributes task resource for storing values from XaaS instance phases

Supported Data Sources


The following list of data sources are supported by the Morpheus Terraform provider:

Data Source NameDescription
morpheus_ansible_tower_inventoryMorpheus ansible tower inventory data source
morpheus_ansible_tower_job_templateMorpheus ansible tower job template data source
morpheus_blueprintMorpheus blueprint data source
morpheus_budgetMorpheus budget data source
morpheus_cloudMorpheus cloud data source
morpheus_contactMorpheus contact data source
morpheus_credentialMorpheus credential data source
morpheus_environmentMorpheus environment data source
morpheus_execute_scheduleMorpheus execute schedule data source
morpheus_file_templateMorpheus file template data source
morpheus_groupMorpheus group data source
morpheus_instance_layoutMorpheus isntance layout data source
morpheus_instance_typeMorpheus instance type data source
morpheus_integrationMorpheus integration data source
morpheus_jobMorpheus job data source
morpheus_networkMorpheus network data source
morpheus_network_groupMorpheus network group data source
morpheus_node_typeMorpheus node type data source
morpheus_option_listMorpheus option list data source
morpheus_option_typeMorpheus option type data source
morpheus_planMorpheus plan data source
morpheus_policyMorpheus policy data source
morpheus_power_scheduleMorpheus power schedule data source
morpheus_priceMorpheus price data source
morpheus_price_setMorpheus price set data source
morpheus_resource_poolMorpheus resources pool data source
morpheus_script_templateMorpheus script template data source
morpheus_spec_templateMorpheus spec template data source
morpheus_storage_bucketMorpheus storage bucket data source
morpheus_taskMorpheus automation task data source
morpheus_tenant_roleMorpheus automation tenant role data source
morpheus_tenantMorpheus automation tenant data source
morpheus_user_groupMorpheus user group data source
morpheus_virtual_imageMorpheus virtual image data source
morpheus_vro_workflowMorpheus VMware vRealize Orchestrator workflow data source
morpheus_workflowMorpheus workflow data source

Building the provider


Clone repository to: $GOPATH/src/github.com/gomorpheus/terraform-provider-morpheus

mkdir -p $GOPATH/src/github.com/gomorpheus; cd $GOPATH/src/github.com/gomorpheus
git clone [email protected]:gomorpheus/terraform-provider-morpheus

As an alternative to cloning manually, you can use go get:

go get -v github.com/gomorpheus/terraform-provider-morpheus/...

Enter the provider directory.

cd $GOPATH/src/github.com/gomorpheus/terraform-provider-morpheus

Build the provider using make dev. This will place the provider onto your system in a Terraform 0.13-compliant manner.

make dev

You'll need to ensure that your Terraform file contains the information necessary to find the plugin when running terraform init. make dev will use a version number of 0.0.1, so the following block will work:

terraform {
  required_providers {
    morpheus = {
      source = "localhost/providers/morpheus"
      version = "0.0.1"
    }
  }
}

Generating Docs


From the root of the repo run:

go run github.com/hashicorp/terraform-plugin-docs/cmd/tfplugindocs

Developing the provider


See the contributing directory for more developer documentation.