github.com/atsaki/terraform@v0.4.3-0.20150919165407-25bba5967654/website/source/docs/providers/rundeck/r/project.html.md (about) 1 --- 2 layout: "rundeck" 3 page_title: "Rundeck: rundeck_project" 4 sidebar_current: "docs-rundeck-resource-project" 5 description: |- 6 The rundeck_project resource allows Rundeck projects to be managed by Terraform. 7 --- 8 9 # rundeck\_project 10 11 The project resource allows Rundeck projects to be managed by Terraform. In Rundeck a project 12 is the container object for a set of jobs and the configuration for which servers those jobs 13 can be run on. 14 15 ## Example Usage 16 17 ``` 18 resource "rundeck_project" "anvils" { 19 name = "anvils" 20 description = "Application for managing Anvils" 21 22 ssh_key_storage_path = "anvils/id_rsa" 23 24 resource_model_source { 25 type = "file" 26 config = { 27 format = "resourcexml" 28 # This path is interpreted on the Rundeck server. 29 file = "/var/rundeck/projects/anvils/resources.xml" 30 } 31 } 32 } 33 ``` 34 35 Note that the above configuration assumes the existence of a ``resources.xml`` file in the 36 filesystem on the Rundeck server. The Rundeck provider does not itself support creating such a file, 37 but one way to place it would be to use the ``file`` provisioner to copy a configuration file 38 from the module directory. 39 40 ## Argument Reference 41 42 The following arguments are supported: 43 44 * `name` - (Required) The name of the project, used both in the UI and to uniquely identify 45 the project. Must therefore be unique across a single Rundeck installation. 46 47 * `resource_model_source` - (Required) Nested block instructing Rundeck on how to determine the 48 set of resources (nodes) for this project. The nested block structure is described below. 49 50 * `description` - (Optional) A description of the project, to be displayed in the Rundeck UI. 51 Defaults to "Managed by Terraform". 52 53 * `default_node_file_copier_plugin` - (Optional) The name of a plugin to use to copy files onto 54 nodes within this project. Defaults to `jsch-scp`, which uses the "Secure Copy" protocol 55 to send files over SSH. 56 57 * `default_node_executor_plugin` - (Optional) The name of a plugin to use to run commands on 58 nodes within this project. Defaults to `jsch-ssh`, which uses the SSH protocol to access the 59 nodes. 60 61 * `ssh_authentication_type` - (Optional) When the SSH-based file copier and executor plugins are 62 used, the type of SSH authentication to use. Defaults to `privateKey`. 63 64 * `ssh_key_storage_path` - (Optional) When the SSH-based file copier and executor plugins are 65 used, the location within Rundeck's key store where the SSH private key can be found. Private 66 keys can be uploaded to rundeck using the `rundeck_private_key` resource. 67 68 * `ssh_key_file_path` - (Optional) Like `ssh_key_storage_path` except that the key is read from 69 the Rundeck server's local filesystem, rather than from the key store. 70 71 * `extra_config` - (Optional) Behind the scenes a Rundeck project is really an arbitrary set of 72 key/value pairs. This map argument allows setting any configuration properties that aren't 73 explicitly supported by the other arguments described above, but due to limitations of Terraform 74 the key names must be written with slashes in place of dots. Do not use this argument to set 75 properties that the above arguments set, or undefined behavior will result. 76 77 `resource_model_source` blocks have the following nested arguments: 78 79 * `type` - (Required) The name of the resource model plugin to use. 80 81 * `config` - (Required) Map of arbitrary configuration properties for the selected resource model 82 plugin. 83 84 ## Attributes Reference 85 86 The following attributes are exported: 87 88 * `name` - The unique name that identifies the project, as set in the arguments. 89 * `ui_url` - The URL of the index page for this project in the Rundeck UI. 90