sparkle_formation 3.0.32 → 3.0.34

Sign up to get free protection for your applications and to get access to all the features.
Files changed (108) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +8 -0
  3. data/LICENSE +1 -1
  4. data/lib/sparkle_formation/provider/terraform.rb +9 -1
  5. data/lib/sparkle_formation/resources.rb +7 -0
  6. data/lib/sparkle_formation/resources/aws.rb +18 -24
  7. data/lib/sparkle_formation/resources/aws_resources.json +2107 -186
  8. data/lib/sparkle_formation/resources/azure_resources.json +16497 -5796
  9. data/lib/sparkle_formation/resources/heat_resources.json +190 -4
  10. data/lib/sparkle_formation/resources/terraform.rb +16 -0
  11. data/lib/sparkle_formation/resources/terraform_account_resources.json +24 -0
  12. data/lib/sparkle_formation/resources/terraform_acme_resources.json +59 -0
  13. data/lib/sparkle_formation/resources/terraform_alicloud_resources.json +4023 -0
  14. data/lib/sparkle_formation/resources/terraform_arukas_resources.json +49 -0
  15. data/lib/sparkle_formation/resources/terraform_aws_resources.json +15899 -0
  16. data/lib/sparkle_formation/resources/terraform_azure_resources.json +572 -0
  17. data/lib/sparkle_formation/resources/terraform_azurerm_resources.json +6632 -0
  18. data/lib/sparkle_formation/resources/terraform_azurestack_resources.json +1231 -0
  19. data/lib/sparkle_formation/resources/terraform_bigip_resources.json +1004 -0
  20. data/lib/sparkle_formation/resources/terraform_bitbucket_resources.json +123 -0
  21. data/lib/sparkle_formation/resources/terraform_brightbox_resources.json +283 -0
  22. data/lib/sparkle_formation/resources/terraform_bucket_resources.json +24 -0
  23. data/lib/sparkle_formation/resources/terraform_chef_resources.json +132 -0
  24. data/lib/sparkle_formation/resources/terraform_circonus_resources.json +406 -0
  25. data/lib/sparkle_formation/resources/terraform_clc_resources.json +222 -0
  26. data/lib/sparkle_formation/resources/terraform_cloudflare_resources.json +638 -0
  27. data/lib/sparkle_formation/resources/terraform_cloudscale_resources.json +96 -0
  28. data/lib/sparkle_formation/resources/terraform_cloudstack_resources.json +888 -0
  29. data/lib/sparkle_formation/resources/terraform_cobbler_resources.json +589 -0
  30. data/lib/sparkle_formation/resources/terraform_consul_resources.json +297 -0
  31. data/lib/sparkle_formation/resources/terraform_databases_resources.json +14 -0
  32. data/lib/sparkle_formation/resources/terraform_datadog_resources.json +385 -0
  33. data/lib/sparkle_formation/resources/terraform_digitalocean_resources.json +408 -0
  34. data/lib/sparkle_formation/resources/terraform_dme_resources.json +29 -0
  35. data/lib/sparkle_formation/resources/terraform_dns_resources.json +137 -0
  36. data/lib/sparkle_formation/resources/terraform_dnsimple_resources.json +39 -0
  37. data/lib/sparkle_formation/resources/terraform_docker_resources.json +266 -0
  38. data/lib/sparkle_formation/resources/terraform_dyn_resources.json +34 -0
  39. data/lib/sparkle_formation/resources/terraform_fastly_resources.json +124 -0
  40. data/lib/sparkle_formation/resources/terraform_flexibleengine_resources.json +2915 -0
  41. data/lib/sparkle_formation/resources/terraform_github_resources.json +449 -0
  42. data/lib/sparkle_formation/resources/terraform_gitlab_resources.json +267 -0
  43. data/lib/sparkle_formation/resources/terraform_google_resources.json +2485 -0
  44. data/lib/sparkle_formation/resources/terraform_grafana_resources.json +135 -0
  45. data/lib/sparkle_formation/resources/terraform_hcloud_resources.json +201 -0
  46. data/lib/sparkle_formation/resources/terraform_heroku_resources.json +447 -0
  47. data/lib/sparkle_formation/resources/terraform_huaweicloud_resources.json +2508 -0
  48. data/lib/sparkle_formation/resources/terraform_icinga2_resources.json +100 -0
  49. data/lib/sparkle_formation/resources/terraform_influxdb_resources.json +68 -0
  50. data/lib/sparkle_formation/resources/terraform_kubernetes_resources.json +277 -0
  51. data/lib/sparkle_formation/resources/terraform_librato_resources.json +167 -0
  52. data/lib/sparkle_formation/resources/terraform_linode_resources.json +252 -0
  53. data/lib/sparkle_formation/resources/terraform_local_resources.json +19 -0
  54. data/lib/sparkle_formation/resources/terraform_logentries_resources.json +56 -0
  55. data/lib/sparkle_formation/resources/terraform_logicmonitor_resources.json +140 -0
  56. data/lib/sparkle_formation/resources/terraform_mailgun_resources.json +29 -0
  57. data/lib/sparkle_formation/resources/terraform_mysql_resources.json +143 -0
  58. data/lib/sparkle_formation/resources/terraform_netlify_resources.json +90 -0
  59. data/lib/sparkle_formation/resources/terraform_newrelic_resources.json +298 -0
  60. data/lib/sparkle_formation/resources/terraform_nomad_resources.json +149 -0
  61. data/lib/sparkle_formation/resources/terraform_ns1_resources.json +320 -0
  62. data/lib/sparkle_formation/resources/terraform_nsxt_resources.json +813 -0
  63. data/lib/sparkle_formation/resources/terraform_nutanix_resources.json +596 -0
  64. data/lib/sparkle_formation/resources/terraform_oci_resources.json +3567 -0
  65. data/lib/sparkle_formation/resources/terraform_oneandone_resources.json +221 -0
  66. data/lib/sparkle_formation/resources/terraform_opc_resources.json +1224 -0
  67. data/lib/sparkle_formation/resources/terraform_openstack_resources.json +3293 -0
  68. data/lib/sparkle_formation/resources/terraform_opentelekomcloud_resources.json +2881 -0
  69. data/lib/sparkle_formation/resources/terraform_opsgenie_resources.json +56 -0
  70. data/lib/sparkle_formation/resources/terraform_oraclepaas_resources.json +551 -0
  71. data/lib/sparkle_formation/resources/terraform_ovh_resources.json +541 -0
  72. data/lib/sparkle_formation/resources/terraform_packet_resources.json +295 -0
  73. data/lib/sparkle_formation/resources/terraform_pagerduty_resources.json +329 -0
  74. data/lib/sparkle_formation/resources/terraform_panos_resources.json +2686 -0
  75. data/lib/sparkle_formation/resources/terraform_postgresql_resources.json +181 -0
  76. data/lib/sparkle_formation/resources/terraform_powerdns_resources.json +34 -0
  77. data/lib/sparkle_formation/resources/terraform_profitbricks_resources.json +523 -0
  78. data/lib/sparkle_formation/resources/terraform_projects_resources.json +24 -0
  79. data/lib/sparkle_formation/resources/terraform_rabbitmq_resources.json +161 -0
  80. data/lib/sparkle_formation/resources/terraform_rancher_resources.json +310 -0
  81. data/lib/sparkle_formation/resources/terraform_random_resources.json +167 -0
  82. data/lib/sparkle_formation/resources/terraform_rightscale_resources.json +796 -0
  83. data/lib/sparkle_formation/resources/terraform_ring_resources.json +24 -0
  84. data/lib/sparkle_formation/resources/terraform_rundeck_resources.json +175 -0
  85. data/lib/sparkle_formation/resources/terraform_runscope_resources.json +167 -0
  86. data/lib/sparkle_formation/resources/terraform_scaleway_resources.json +267 -0
  87. data/lib/sparkle_formation/resources/terraform_ses_resources.json +24 -0
  88. data/lib/sparkle_formation/resources/terraform_sfn_resources.json +36 -0
  89. data/lib/sparkle_formation/resources/terraform_softlayer_resources.json +136 -0
  90. data/lib/sparkle_formation/resources/terraform_spotinst_resources.json +237 -0
  91. data/lib/sparkle_formation/resources/terraform_statuscake_resources.json +159 -0
  92. data/lib/sparkle_formation/resources/terraform_subnetwork_resources.json +24 -0
  93. data/lib/sparkle_formation/resources/terraform_telefonicaopencloud_resources.json +1558 -0
  94. data/lib/sparkle_formation/resources/terraform_template_resources.json +24 -0
  95. data/lib/sparkle_formation/resources/terraform_tencentcloud_resources.json +656 -0
  96. data/lib/sparkle_formation/resources/terraform_tfe_resources.json +306 -0
  97. data/lib/sparkle_formation/resources/terraform_tls_resources.json +120 -0
  98. data/lib/sparkle_formation/resources/terraform_triton_resources.json +291 -0
  99. data/lib/sparkle_formation/resources/terraform_ultradns_resources.json +222 -0
  100. data/lib/sparkle_formation/resources/terraform_vault_resources.json +1414 -0
  101. data/lib/sparkle_formation/resources/terraform_vcd_resources.json +311 -0
  102. data/lib/sparkle_formation/resources/terraform_vsphere_resources.json +1076 -0
  103. data/lib/sparkle_formation/sparkle_attribute/aws.rb +78 -32
  104. data/lib/sparkle_formation/sparkle_attribute/terraform.rb +24 -5
  105. data/lib/sparkle_formation/sparkle_formation.rb +18 -4
  106. data/lib/sparkle_formation/version.rb +1 -1
  107. data/sparkle_formation.gemspec +23 -23
  108. metadata +97 -5
@@ -0,0 +1,181 @@
1
+ {
2
+ "postgresql_database": {
3
+ "full_properties": {
4
+ "allow_connections": {
5
+ "description": "If false then no one can connect to this",
6
+ "required": false
7
+ },
8
+ "connection_limit": {
9
+ "description": "How many concurrent connections can be",
10
+ "required": false
11
+ },
12
+ "encoding": {
13
+ "description": "Character set encoding to use in the database.",
14
+ "required": false
15
+ },
16
+ "is_template": {
17
+ "description": "If true, then this database can be cloned by any",
18
+ "required": false
19
+ },
20
+ "lc_collate": {
21
+ "description": "Collation order (LC_COLLATE) to use in the",
22
+ "required": false
23
+ },
24
+ "lc_ctype": {
25
+ "description": "Character classification (LC_CTYPE) to use in the",
26
+ "required": false
27
+ },
28
+ "name": {
29
+ "description": "The name of the database. Must be unique on the PostgreSQL",
30
+ "required": true
31
+ },
32
+ "owner": {
33
+ "description": "The role name of the user who will own the database, or",
34
+ "required": false
35
+ },
36
+ "tablespace_name": {
37
+ "description": "The name of the tablespace that will be",
38
+ "required": false
39
+ },
40
+ "template": {
41
+ "description": "The name of the template database from which to create",
42
+ "required": false
43
+ }
44
+ },
45
+ "path": "/docs/providers/postgresql/r/postgresql_database.html",
46
+ "properties": [
47
+ "name",
48
+ "owner",
49
+ "tablespace_name",
50
+ "connection_limit",
51
+ "allow_connections",
52
+ "is_template",
53
+ "template",
54
+ "encoding",
55
+ "lc_collate",
56
+ "lc_ctype"
57
+ ]
58
+ },
59
+ "postgresql_extension": {
60
+ "full_properties": {
61
+ "name": {
62
+ "description": "The name of the extension.",
63
+ "required": true
64
+ },
65
+ "schema": {
66
+ "description": "Sets the schema of an extension.",
67
+ "required": false
68
+ },
69
+ "version": {
70
+ "description": "Sets the version number of the extension.",
71
+ "required": false
72
+ }
73
+ },
74
+ "path": "/docs/providers/postgresql/r/postgresql_extension.html",
75
+ "properties": [
76
+ "name",
77
+ "schema",
78
+ "version"
79
+ ]
80
+ },
81
+ "postgresql_role": {
82
+ "full_properties": {
83
+ "bypass_row_level_security": {
84
+ "description": "Defines whether a role bypasses every",
85
+ "required": false
86
+ },
87
+ "connection_limit": {
88
+ "description": "If this role can log in, this specifies how",
89
+ "required": false
90
+ },
91
+ "create_database": {
92
+ "description": "Defines a role's ability to execute CREATE",
93
+ "required": false
94
+ },
95
+ "create_role": {
96
+ "description": "Defines a role's ability to execute CREATE ROLE.",
97
+ "required": false
98
+ },
99
+ "encrypted_passwordpassword_encryption": {
100
+ },
101
+ "inherit": {
102
+ "description": "Defines whether a role \"inherits\" the privileges of",
103
+ "required": false
104
+ },
105
+ "login": {
106
+ "description": "Defines whether role is allowed to log in. Roles without",
107
+ "required": false
108
+ },
109
+ "name": {
110
+ "description": "The name of the role. Must be unique on the PostgreSQL",
111
+ "required": true
112
+ },
113
+ "password": {
114
+ "description": "Sets the role's password. (A password is only of use",
115
+ "required": false
116
+ },
117
+ "replication": {
118
+ "description": "Defines whether a role is allowed to initiate",
119
+ "required": false
120
+ },
121
+ "skip_drop_role": {
122
+ "description": "When a PostgreSQL ROLE exists in multiple",
123
+ "required": false
124
+ },
125
+ "skip_reassign_ownedREASSIGN OWNEDDROP OWNED": {
126
+ },
127
+ "superuser": {
128
+ "description": "Defines whether the role is a \"superuser\", and",
129
+ "required": false
130
+ },
131
+ "valid_until": {
132
+ "description": "Defines the date and time after which the role's",
133
+ "required": false
134
+ }
135
+ },
136
+ "path": "/docs/providers/postgresql/r/postgresql_role.html",
137
+ "properties": [
138
+ "name",
139
+ "superuser",
140
+ "create_database",
141
+ "create_role",
142
+ "inherit",
143
+ "login",
144
+ "replication",
145
+ "bypass_row_level_security",
146
+ "connection_limit",
147
+ "encrypted_passwordpassword_encryption",
148
+ "password",
149
+ "valid_until",
150
+ "skip_drop_role",
151
+ "skip_reassign_ownedREASSIGN OWNEDDROP OWNED"
152
+ ]
153
+ },
154
+ "postgresql_schema": {
155
+ "full_properties": {
156
+ "if_not_exists": {
157
+ "description": "When true, use the existing schema if it exists. (Default: true)",
158
+ "required": false
159
+ },
160
+ "name": {
161
+ "description": "The name of the schema. Must be unique in the PostgreSQL",
162
+ "required": true
163
+ },
164
+ "owner": {
165
+ "description": "The ROLE who owns the schema.",
166
+ "required": false
167
+ },
168
+ "policy": {
169
+ "description": "Can be specified multiple times for each policy. Each",
170
+ "required": false
171
+ }
172
+ },
173
+ "path": "/docs/providers/postgresql/r/postgresql_schema.html",
174
+ "properties": [
175
+ "name",
176
+ "owner",
177
+ "if_not_exists",
178
+ "policy"
179
+ ]
180
+ }
181
+ }
@@ -0,0 +1,34 @@
1
+ {
2
+ "powerdns_record": {
3
+ "full_properties": {
4
+ "name": {
5
+ "description": "The name of the record.",
6
+ "required": true
7
+ },
8
+ "records": {
9
+ "description": "A string list of records.",
10
+ "required": true
11
+ },
12
+ "ttl": {
13
+ "description": "The TTL of the record.",
14
+ "required": true
15
+ },
16
+ "type": {
17
+ "description": "The record type.",
18
+ "required": true
19
+ },
20
+ "zone": {
21
+ "description": "The name of zone to contain this record.",
22
+ "required": true
23
+ }
24
+ },
25
+ "path": "/docs/providers/powerdns/r/record.html",
26
+ "properties": [
27
+ "zone",
28
+ "name",
29
+ "type",
30
+ "ttl",
31
+ "records"
32
+ ]
33
+ }
34
+ }
@@ -0,0 +1,523 @@
1
+ {
2
+ "profitbricks_datacenter": {
3
+ "full_properties": {
4
+ "description": {
5
+ "description": "[string] Description for the Virtual Data Center.",
6
+ "required": false
7
+ },
8
+ "location": {
9
+ "description": "[string] The regional location where the Virtual Data Center will be created.",
10
+ "required": true
11
+ },
12
+ "name": {
13
+ "description": "[string] The name of the Virtual Data Center.",
14
+ "required": true
15
+ }
16
+ },
17
+ "path": "/docs/providers/profitbricks/r/profitbricks_datacenter.html",
18
+ "properties": [
19
+ "name",
20
+ "location",
21
+ "description"
22
+ ]
23
+ },
24
+ "profitbricks_firewall": {
25
+ "full_properties": {
26
+ "datacenter_id": {
27
+ "description": "[string] The Virtual Data Center ID.",
28
+ "required": true
29
+ },
30
+ "icmp_code": {
31
+ "description": "[string] Defines the allowed code (from 0 to 254) if protocol ICMP is chosen.",
32
+ "required": false
33
+ },
34
+ "icmp_type": {
35
+ "description": "[string] Defines the allowed type (from 0 to 254) if the protocol ICMP is chosen.",
36
+ "required": false
37
+ },
38
+ "name": {
39
+ "description": "[string] The name of the firewall rule.",
40
+ "required": false
41
+ },
42
+ "nic_id": {
43
+ "description": "[string] The NIC ID.",
44
+ "required": true
45
+ },
46
+ "port_range_end": {
47
+ "description": "[string] Defines the end range of the allowed port (from 1 to 65534) if the protocol TCP or UDP is chosen.",
48
+ "required": false
49
+ },
50
+ "port_range_start": {
51
+ "description": "[string] Defines the start range of the allowed port (from 1 to 65534) if protocol TCP or UDP is chosen.",
52
+ "required": false
53
+ },
54
+ "protocol": {
55
+ "description": "[string] The protocol for the rule: TCP, UDP, ICMP, ANY.",
56
+ "required": true
57
+ },
58
+ "server_id": {
59
+ "description": "[string] The Server ID.",
60
+ "required": true
61
+ },
62
+ "source_ip": {
63
+ "description": "[string] Only traffic originating from the respective IPv4 address is allowed.",
64
+ "required": false
65
+ },
66
+ "source_mac": {
67
+ "description": "[string] Only traffic originating from the respective MAC address is allowed. Valid format: aa:bb:cc:dd:ee:ff.",
68
+ "required": false
69
+ },
70
+ "target_ip": {
71
+ "description": "[string] Only traffic directed to the respective IP address of the NIC is allowed.",
72
+ "required": false
73
+ }
74
+ },
75
+ "path": "/docs/providers/profitbricks/r/profitbricks_firewall.html",
76
+ "properties": [
77
+ "datacenter_id",
78
+ "server_id",
79
+ "nic_id",
80
+ "protocol",
81
+ "name",
82
+ "source_mac",
83
+ "source_ip",
84
+ "target_ip",
85
+ "port_range_start",
86
+ "port_range_end",
87
+ "icmp_type",
88
+ "icmp_code"
89
+ ]
90
+ },
91
+ "profitbricks_group": {
92
+ "full_properties": {
93
+ "access_activity_log": {
94
+ "description": "[Boolean] The group will be allowed to access the activity log.",
95
+ "required": true
96
+ },
97
+ "create_datacenter": {
98
+ "description": "[Boolean] The group will be allowed to create virtual data centers.",
99
+ "required": false
100
+ },
101
+ "create_snapshot": {
102
+ "description": "[Boolean] The group will be allowed to create snapshots.",
103
+ "required": false
104
+ },
105
+ "name": {
106
+ "description": "[string] A name for the group.",
107
+ "required": false
108
+ },
109
+ "reserve_ip": {
110
+ "description": "[Boolean] The group will be allowed to reserve IP addresses.",
111
+ "required": false
112
+ },
113
+ "user_id": {
114
+ "description": "[string] The ID of the specific user to add to the group.",
115
+ "required": false
116
+ }
117
+ },
118
+ "path": "/docs/providers/profitbricks/r/profitbricks_group.html",
119
+ "properties": [
120
+ "access_activity_log",
121
+ "create_datacenter",
122
+ "create_snapshot",
123
+ "name",
124
+ "reserve_ip",
125
+ "user_id"
126
+ ]
127
+ },
128
+ "profitbricks_ipblock": {
129
+ "full_properties": {
130
+ "ips": {
131
+ "description": "[integer] The list of IP addresses associated with this block.",
132
+ "required": false
133
+ },
134
+ "location": {
135
+ "description": "[string] The regional location for this IP Block: us/las, us/ewr, de/fra, de/fkb.",
136
+ "required": true
137
+ },
138
+ "size": {
139
+ "description": "[integer] The number of IP addresses to reserve for this block.",
140
+ "required": true
141
+ }
142
+ },
143
+ "path": "/docs/providers/profitbricks/r/profitbricks_ipblock.html",
144
+ "properties": [
145
+ "location",
146
+ "size",
147
+ "ips"
148
+ ]
149
+ },
150
+ "profitbricks_ipfailover": {
151
+ "full_properties": {
152
+ "datacenter_id": {
153
+ "description": "[string] The ID of a Virtual Data Center.",
154
+ "required": true
155
+ },
156
+ "ip": {
157
+ "description": "[string] The reserved IP address to be used in the IP failover group.",
158
+ "required": true
159
+ },
160
+ "lan_id": {
161
+ "description": "[string] The ID of a LAN.",
162
+ "required": true
163
+ },
164
+ "nicuuid": {
165
+ "description": "[string] The ID of a NIC.",
166
+ "required": true
167
+ }
168
+ },
169
+ "path": "/docs/providers/profitbricks/r/profitbricks_ipfailover.html",
170
+ "properties": [
171
+ "datacenter_id",
172
+ "ip",
173
+ "lan_id",
174
+ "nicuuid"
175
+ ]
176
+ },
177
+ "profitbricks_lan": {
178
+ "full_properties": {
179
+ "datacenter_id": {
180
+ "description": "[string] The ID of a Virtual Data Center.",
181
+ "required": true
182
+ },
183
+ "name": {
184
+ "description": "[string] The name of the LAN.",
185
+ "required": false
186
+ },
187
+ "public": {
188
+ "description": "[Boolean] Indicates if the LAN faces the public Internet (true) or not (false).",
189
+ "required": false
190
+ }
191
+ },
192
+ "path": "/docs/providers/profitbricks/r/profitbricks_lan.html",
193
+ "properties": [
194
+ "datacenter_id",
195
+ "name",
196
+ "public"
197
+ ]
198
+ },
199
+ "profitbricks_loadbalancer": {
200
+ "full_properties": {
201
+ "datacenter_id": {
202
+ "description": "[string] The ID of a Virtual Data Center.",
203
+ "required": true
204
+ },
205
+ "dhcp": {
206
+ "description": "[Boolean] Indicates if the load balancer will reserve an IP using DHCP.",
207
+ "required": false
208
+ },
209
+ "ip": {
210
+ "description": "[string] IPv4 address of the load balancer.",
211
+ "required": false
212
+ },
213
+ "name": {
214
+ "description": "[string] The name of the load balancer.",
215
+ "required": true
216
+ },
217
+ "nic_ids": {
218
+ "description": "[list] A list of NIC IDs that are part of the load balancer.",
219
+ "required": true
220
+ }
221
+ },
222
+ "path": "/docs/providers/profitbricks/r/profitbricks_loadbalancer.html",
223
+ "properties": [
224
+ "name",
225
+ "datacenter_id",
226
+ "nic_ids",
227
+ "dhcp",
228
+ "ip"
229
+ ]
230
+ },
231
+ "profitbricks_nic": {
232
+ "full_properties": {
233
+ "datacenter_id": {
234
+ "description": "[string] The ID of a Virtual Data Center.",
235
+ "required": true
236
+ },
237
+ "dhcp": {
238
+ "description": "[Boolean] Indicates if the NIC should get an IP address using DHCP (true) or not (false).",
239
+ "required": false
240
+ },
241
+ "firewall_active": {
242
+ "description": "[Boolean] If this resource is set to true and is nested under a server resource firewall, with open SSH port, resource must be nested under the NIC.",
243
+ "required": false
244
+ },
245
+ "ip": {
246
+ "description": "[string] IP assigned to the NIC.",
247
+ "required": false
248
+ },
249
+ "ips": {
250
+ "description": "The IP address or addresses assigned to the NIC.",
251
+ "required": false
252
+ },
253
+ "lan": {
254
+ "description": "[integer] The LAN ID the NIC will sit on.",
255
+ "required": true
256
+ },
257
+ "name": {
258
+ "description": "[string] The name of the LAN.",
259
+ "required": false
260
+ },
261
+ "nat": {
262
+ "description": "[Boolean] Boolean value indicating if the private IP address has outbound access to the public internet.",
263
+ "required": false
264
+ },
265
+ "server_id": {
266
+ "description": "[string] The ID of a server.",
267
+ "required": true
268
+ }
269
+ },
270
+ "path": "/docs/providers/profitbricks/r/profitbricks_nic.html",
271
+ "properties": [
272
+ "datacenter_id",
273
+ "server_id",
274
+ "lan",
275
+ "name",
276
+ "dhcp",
277
+ "ip",
278
+ "firewall_active",
279
+ "nat",
280
+ "ips"
281
+ ]
282
+ },
283
+ "profitbricks_server": {
284
+ "full_properties": {
285
+ "availability_zone": {
286
+ "description": "[string] The availability zone in which the server should exist.",
287
+ "required": false
288
+ },
289
+ "boot_cdrom": {
290
+ "description": "The associated boot drive, if any.",
291
+ "required": false
292
+ },
293
+ "boot_image": {
294
+ "description": "[string] The image or snapshot UUID. May also be an image alias. It is required if licence_type is not provided.",
295
+ "required": false
296
+ },
297
+ "boot_volume": {
298
+ "description": "The associated boot volume.",
299
+ "required": false
300
+ },
301
+ "cores": {
302
+ "description": "[integer] Number of server CPU cores.",
303
+ "required": true
304
+ },
305
+ "cpu_family": {
306
+ "description": "[string] Sets the CPU type. \"AMD_OPTERON\" or \"INTEL_XEON\". Defaults to \"AMD_OPTERON\".",
307
+ "required": false
308
+ },
309
+ "datacenter_id": {
310
+ "description": "[string] The ID of a Virtual Data Center.",
311
+ "required": true
312
+ },
313
+ "image_password": {
314
+ "description": "[string] Required if sshkey_path is not provided.",
315
+ "required": false
316
+ },
317
+ "licence_type": {
318
+ "description": "[string] Sets the OS type of the server.",
319
+ "required": false
320
+ },
321
+ "name": {
322
+ "description": "[string] The name of the server.",
323
+ "required": true
324
+ },
325
+ "nic": {
326
+ "description": "See the NIC section.",
327
+ "required": true
328
+ },
329
+ "primary_ip": {
330
+ "description": "The associated IP address.",
331
+ "required": false
332
+ },
333
+ "primary_nic": {
334
+ "description": "The associated NIC.",
335
+ "required": false
336
+ },
337
+ "ram": {
338
+ "description": "[integer] The amount of memory for the server in MB.",
339
+ "required": true
340
+ },
341
+ "ssh_key_path": {
342
+ "description": "[list] List of paths to files containing a public SSH key that will be injected into ProfitBricks provided Linux images. Required for ProfitBricks Linux images. Required if image_password is not provided.",
343
+ "required": true
344
+ },
345
+ "volume": {
346
+ "description": "See the Volume section.",
347
+ "required": true
348
+ }
349
+ },
350
+ "path": "/docs/providers/profitbricks/r/profitbricks_server.html",
351
+ "properties": [
352
+ "name",
353
+ "datacenter_id",
354
+ "cores",
355
+ "ram",
356
+ "availability_zone",
357
+ "licence_type",
358
+ "cpu_family",
359
+ "volume",
360
+ "nic",
361
+ "boot_volume",
362
+ "boot_cdrom",
363
+ "boot_image",
364
+ "primary_nic",
365
+ "primary_ip",
366
+ "image_password",
367
+ "ssh_key_path"
368
+ ]
369
+ },
370
+ "profitbricks_share": {
371
+ "full_properties": {
372
+ "edit_privilege": {
373
+ "description": "[Boolean] The group has permission to edit privileges on this resource.",
374
+ "required": true
375
+ },
376
+ "group_id": {
377
+ "description": "[string] The ID of the specific group containing the resource to update.",
378
+ "required": true
379
+ },
380
+ "resource_id": {
381
+ "description": "[string] The ID of the specific resource to update.",
382
+ "required": true
383
+ },
384
+ "share_privilege": {
385
+ "description": "[Boolean] The group has permission to share this resource.",
386
+ "required": true
387
+ }
388
+ },
389
+ "path": "/docs/providers/profitbricks/r/profitbricks_share.html",
390
+ "properties": [
391
+ "edit_privilege",
392
+ "group_id",
393
+ "resource_id",
394
+ "share_privilege"
395
+ ]
396
+ },
397
+ "profitbricks_snapshot": {
398
+ "full_properties": {
399
+ "datacenter_id": {
400
+ "description": "[string] The ID of the Virtual Data Center.",
401
+ "required": true
402
+ },
403
+ "name": {
404
+ "description": "[string] The name of the snapshot.",
405
+ "required": true
406
+ },
407
+ "volume_id": {
408
+ "description": "[string] The ID of the specific volume to take the snapshot from.",
409
+ "required": true
410
+ }
411
+ },
412
+ "path": "/docs/providers/profitbricks/r/profitbricks_snapshot.html",
413
+ "properties": [
414
+ "datacenter_id",
415
+ "name",
416
+ "volume_id"
417
+ ]
418
+ },
419
+ "profitbricks_user": {
420
+ "full_properties": {
421
+ "administrator": {
422
+ "description": "[Boolean] The group has permission to edit privileges on this resource.",
423
+ "required": true
424
+ },
425
+ "email": {
426
+ "description": "[string] An e-mail address for the user.",
427
+ "required": true
428
+ },
429
+ "first_name": {
430
+ "description": "[string] A first name for the user.",
431
+ "required": true
432
+ },
433
+ "force_sec_auth": {
434
+ "description": "[Boolean] Indicates if secure (two-factor) authentication should be enabled for the user (true) or not (false).",
435
+ "required": true
436
+ },
437
+ "last_name": {
438
+ "description": "[string] A last name for the user.",
439
+ "required": true
440
+ },
441
+ "password": {
442
+ "description": "[string] A password for the user.",
443
+ "required": true
444
+ }
445
+ },
446
+ "path": "/docs/providers/profitbricks/r/profitbricks_user.html",
447
+ "properties": [
448
+ "administrator",
449
+ "email",
450
+ "first_name",
451
+ "force_sec_auth",
452
+ "last_name",
453
+ "password"
454
+ ]
455
+ },
456
+ "profitbricks_volume": {
457
+ "full_properties": {
458
+ "availability_zone": {
459
+ "description": "[string] The storage availability zone assigned to the volume: AUTO, ZONE_1, ZONE_2, or ZONE_3.",
460
+ "required": false
461
+ },
462
+ "bus": {
463
+ "description": "[Boolean] The bus type of the volume: VIRTIO or IDE.",
464
+ "required": true
465
+ },
466
+ "datacenter_id": {
467
+ "description": "[string] The ID of a Virtual Data Center.",
468
+ "required": true
469
+ },
470
+ "disk_type": {
471
+ "description": "[string] The volume type: HDD or SSD.",
472
+ "required": true
473
+ },
474
+ "image_name": {
475
+ "description": "[string] The image or snapshot UUID. May also be an image alias. It is required if licence_type is not provided.",
476
+ "required": false
477
+ },
478
+ "image_password": {
479
+ "description": "[string] Required if sshkey_path is not provided.",
480
+ "required": false
481
+ },
482
+ "licence_type": {
483
+ "description": "[string] Required if image_name is not provided.",
484
+ "required": false
485
+ },
486
+ "name": {
487
+ "description": "[string] The name of the volume.",
488
+ "required": false
489
+ },
490
+ "server_id": {
491
+ "description": "[string] The ID of a server.",
492
+ "required": true
493
+ },
494
+ "size": {
495
+ "description": "[integer] The size of the volume in GB.",
496
+ "required": true
497
+ },
498
+ "ssh_key_path": {
499
+ "description": "[list] List of paths to files containing a public SSH key that will be injected into ProfitBricks provided Linux images. Required for ProfitBricks Linux images. Required if image_password is not provided.",
500
+ "required": true
501
+ },
502
+ "sshkey": {
503
+ "description": "The associated public SSH key.",
504
+ "required": false
505
+ }
506
+ },
507
+ "path": "/docs/providers/profitbricks/r/profitbricks_volume.html",
508
+ "properties": [
509
+ "datacenter_id",
510
+ "server_id",
511
+ "disk_type",
512
+ "bus",
513
+ "size",
514
+ "ssh_key_path",
515
+ "sshkey",
516
+ "image_password",
517
+ "image_name",
518
+ "licence_type",
519
+ "name",
520
+ "availability_zone"
521
+ ]
522
+ }
523
+ }