github.com/koding/terraform@v0.6.4-0.20170608090606-5d7e0339779d/website/source/docs/providers/rundeck/r/job.html.md (about) 1 --- 2 layout: "rundeck" 3 page_title: "Rundeck: rundeck_job" 4 sidebar_current: "docs-rundeck-resource-job" 5 description: |- 6 The rundeck_job resource allows Rundeck jobs to be managed by Terraform. 7 --- 8 9 # rundeck\_job 10 11 The job resource allows Rundeck jobs to be managed by Terraform. In Rundeck a job is a particular 12 named set of steps that can be executed against one or more of the nodes configured for its 13 associated project. 14 15 Each job belongs to a project. A project can be created with the `rundeck_project` resource. 16 17 ## Example Usage 18 19 ```hcl 20 resource "rundeck_job" "bounceweb" { 21 name = "Bounce Web Servers" 22 project_name = "anvils" 23 node_filter_query = "tags: web" 24 description = "Restart the service daemons on all the web servers" 25 26 command { 27 shell_command = "sudo service anvils restart" 28 } 29 } 30 ``` 31 32 ## Argument Reference 33 34 The following arguments are supported: 35 36 * `name` - (Required) The name of the job, used to describe the job in the Rundeck UI. 37 38 * `description` - (Required) A longer description of the job, describing the job in the Rundeck UI. 39 40 * `project_name` - (Required) The name of the project that this job should belong to. 41 42 * `group_name` - (Optional) The name of a group within the project in which to place the job. 43 Setting this creates collapsable subcategories within the Rundeck UI's project job index. 44 45 * `log_level` - (Optional) The log level that Rundeck should use for this job. Defaults to "INFO". 46 47 * `allow_concurrent_executions` - (Optional) Boolean defining whether two or more executions of 48 this job can run concurrently. The default is `false`, meaning that jobs will only run 49 sequentially. 50 51 * `max_thread_count` - (Optional) The maximum number of threads to use to execute this job, which 52 controls on how many nodes the commands can be run simulateneously. Defaults to 1, meaning that 53 the nodes will be visited sequentially. 54 55 * `continue_on_error` - (Optional) Boolean defining whether Rundeck will continue to run 56 subsequent steps if any intermediate step fails. Defaults to `false`, meaning that execution 57 will stop and the execution will be considered to have failed. 58 59 * `rank_attribute` - (Optional) The name of the attribute that will be used to decide in which 60 order the nodes will be visited while executing the job across multiple nodes. 61 62 * `rank_order` - (Optional) Keyword deciding which direction the nodes are sorted in terms of 63 the chosen `rank_attribute`. May be either "ascending" (the default) or "descending". 64 65 * `preserve_options_order`: (Optional) Boolean controlling whether the configured options will 66 be presented in their configuration order when shown in the Rundeck UI. The default is `false`, 67 which means that the options will be displayed in alphabetical order by name. 68 69 * `command_ordering_strategy`: (Optional) The name of the strategy used to describe how to 70 traverse the matrix of nodes and commands. The default is "node-first", meaning that all commands 71 will be executed on a single node before moving on to the next. May also be set to "step-first", 72 meaning that a single step will be executed across all nodes before moving on to the next step. 73 74 * `node_filter_query` - (Optional) A query string using 75 [Rundeck's node filter language](http://rundeck.org/docs/manual/node-filters.html#node-filter-syntax) 76 that defines which subset of the project's nodes will be used to execute this job. 77 78 * `node_filter_exclude_precedence`: (Optional) Boolean controlling a deprecated Rundeck feature that controls 79 whether node exclusions take priority over inclusions. 80 81 * `option`: (Optional) Nested block defining an option a user may set when executing this job. A 82 job may have any number of options. The structure of this nested block is described below. 83 84 * `command`: (Required) Nested block defining one step in the job workflow. A job must have one or 85 more commands. The structure of this nested block is described below. 86 87 `option` blocks have the following structure: 88 89 * `name`: (Required) Unique name that will be shown in the UI when entering values and used as 90 a variable name for template substitutions. 91 92 * `default_value`: (Optional) A default value for the option. 93 94 * `value_choices`: (Optional) A list of strings giving a set of predefined values that the user 95 may choose from when entering a value for the option. 96 97 * `value_choices_url`: (Optional) Can be used instead of `value_choices` to cause Rundeck to 98 obtain a list of choices dynamically by fetching this URL. 99 100 * `require_predefined_choice`: (Optional) Boolean controlling whether the user is allowed to 101 enter values not included in the predefined set of choices (`false`, the default) or whether 102 a predefined choice is required (`true`). 103 104 * `validation_regex`: (Optional) A regular expression that a provided value must match in order 105 to be accepted. 106 107 * `description`: (Optional) A longer description of the option to be shown in the UI. 108 109 * `required`: (Optional) Boolean defining whether the user must provide a value for the option. 110 Defaults to `false`. 111 112 * `allow_multiple_values`: (Optional) Boolean defining whether the user may select multiple values 113 from the set of predefined values. Defaults to `false`, meaning that the user may choose only 114 one value. 115 116 * `multi_value_delimiter`: (Optional) Delimiter used to join together multiple values into a single 117 string when `allow_multiple_values` is set and the user chooses multiple values. 118 119 * `obscure_input`: (Optional) Boolean controlling whether the value of this option should be obscured 120 during entry and in execution logs. Defaults to `false`, but should be set to `true` when the 121 requested value is a password, private key or any other secret value. 122 123 * `exposed_to_scripts`: (Optional) Boolean controlling whether the value of this option is available 124 to scripts executed by job commands. Defaults to `false`. 125 126 `command` blocks must have any one of the following combinations of arguments as contents: 127 128 * `description`: (Optional) gives a description to the command block. 129 130 * `shell_command` gives a single shell command to execute on the nodes. 131 132 * `inline_script` gives a whole shell script, inline in the configuration, to execute on the nodes. 133 134 * `script_file` and `script_file_args` together describe a script that is already pre-installed 135 on the nodes which is to be executed. 136 137 * A `job` block, described below, causes another job within the same project to be executed as 138 a command. 139 140 * A `step_plugin` block, described below, causes a step plugin to be executed as a command. 141 142 * A `node_step_plugin` block, described below, causes a node step plugin to be executed once for 143 each node. 144 145 A command's `job` block has the following structure: 146 147 * `name`: (Required) The name of the job to execute. The target job must be in the same project 148 as the current job. 149 150 * `group_name`: (Optional) The name of the group that the target job belongs to, if any. 151 152 * `run_for_each_node`: (Optional) Boolean controlling whether the job is run only once (`false`, 153 the default) or whether it is run once for each node (`true`). 154 155 * `args`: (Optional) A string giving the arguments to pass to the target job, using 156 [Rundeck's job arguments syntax](http://rundeck.org/docs/manual/jobs.html#job-reference-step). 157 158 A command's `step_plugin` or `node_step_plugin` block both have the following structure: 159 160 * `type`: (Required) The name of the plugin to execute. 161 162 * `config`: (Optional) Map of arbitrary configuration parameters for the selected plugin. 163 164 ## Attributes Reference 165 166 The following attribute is exported: 167 168 * `id` - A unique identifier for the job.