Skip to content

Commit f3e8490

Browse files
authored
feat: small refactor type definitions (#212)
1 parent 16599bd commit f3e8490

File tree

5 files changed

+243
-250
lines changed

5 files changed

+243
-250
lines changed

README.md

Lines changed: 100 additions & 97 deletions
Original file line numberDiff line numberDiff line change
@@ -73,86 +73,85 @@ Type:
7373
object({
7474
name = string
7575
type = string
76-
resource_group_name = optional(string, null)
77-
location = optional(string, null)
76+
resource_group_name = optional(string)
77+
location = optional(string)
7878
size = optional(string, "Standard_D2s_v3")
79-
computer_name = optional(string, null)
79+
computer_name = optional(string)
8080
username = optional(string, "adminuser")
81-
admin_username = optional(string, "adminuser")
82-
password = optional(string, null)
83-
public_key = optional(string, null)
84-
license_type = optional(string, null)
81+
password = optional(string)
82+
public_key = optional(string)
83+
license_type = optional(string)
8584
allow_extension_operations = optional(bool, true)
86-
availability_set_id = optional(string, null)
87-
custom_data = optional(string, null)
88-
user_data = optional(string, null)
89-
capacity_reservation_group_id = optional(string, null)
90-
virtual_machine_scale_set_id = optional(string, null)
91-
proximity_placement_group_id = optional(string, null)
92-
dedicated_host_group_id = optional(string, null)
93-
platform_fault_domain = optional(number, null)
94-
source_image_id = optional(string, null)
95-
dedicated_host_id = optional(string, null)
96-
max_bid_price = optional(number, null)
97-
edge_zone = optional(string, null)
85+
availability_set_id = optional(string)
86+
custom_data = optional(string)
87+
user_data = optional(string)
88+
capacity_reservation_group_id = optional(string)
89+
virtual_machine_scale_set_id = optional(string)
90+
proximity_placement_group_id = optional(string)
91+
dedicated_host_group_id = optional(string)
92+
platform_fault_domain = optional(number)
93+
source_image_id = optional(string)
94+
dedicated_host_id = optional(string)
95+
max_bid_price = optional(number)
96+
edge_zone = optional(string)
9897
disable_password_authentication = optional(bool, true)
9998
encryption_at_host_enabled = optional(bool, false)
100-
extensions_time_budget = optional(string, null)
99+
extensions_time_budget = optional(string)
101100
patch_assessment_mode = optional(string, "ImageDefault")
102-
patch_mode = optional(string, null)
101+
patch_mode = optional(string)
103102
priority = optional(string, "Regular")
104103
provision_vm_agent = optional(bool, true)
105-
reboot_setting = optional(string, null)
104+
reboot_setting = optional(string)
106105
secure_boot_enabled = optional(bool, false)
107106
vtpm_enabled = optional(bool, false)
108-
zone = optional(string, null)
107+
zone = optional(string)
109108
bypass_platform_safety_checks_on_user_schedule_enabled = optional(bool, false)
110-
provisioning_vm_agent = optional(bool, true)
111-
disk_controller_type = optional(string, null)
112-
eviction_policy = optional(string, null)
109+
disk_controller_type = optional(string)
110+
eviction_policy = optional(string)
111+
os_managed_disk_id = optional(string)
113112
tags = optional(map(string))
114113
additional_capabilities = optional(object({
115114
ultra_ssd_enabled = optional(bool, false)
116115
hibernation_enabled = optional(bool, false)
117116
}), null)
118117
boot_diagnostics = optional(object({
119-
storage_account_uri = optional(string, null)
120-
}), null)
118+
storage_account_uri = optional(string)
119+
}))
121120
interfaces = map(object({
122121
name = optional(string)
123122
dns_servers = optional(list(string), [])
124123
accelerated_networking_enabled = optional(bool, false)
125124
ip_forwarding_enabled = optional(bool, false)
126125
ip_config_name = optional(string, "ipconfig")
127126
private_ip_address_allocation = optional(string, "Dynamic")
128-
private_ip_address = optional(string, null)
127+
private_ip_address = optional(string)
129128
private_ip_address_version = optional(string, "IPv4")
130-
public_ip_address_id = optional(string, null)
131-
auxiliary_sku = optional(string, null)
132-
auxiliary_mode = optional(string, null)
133-
internal_dns_name_label = optional(string, null)
134-
edge_zone = optional(string, null)
129+
public_ip_address_id = optional(string)
130+
auxiliary_sku = optional(string)
131+
auxiliary_mode = optional(string)
132+
internal_dns_name_label = optional(string)
133+
edge_zone = optional(string)
135134
tags = optional(map(string))
136135
ip_configurations = map(object({
137136
name = optional(string)
138-
private_ip_address = optional(string, null)
139-
public_ip_address_id = optional(string, null)
137+
private_ip_address = optional(string)
138+
public_ip_address_id = optional(string)
140139
private_ip_address_version = optional(string, "IPv4")
141-
subnet_id = optional(string, null)
140+
subnet_id = optional(string)
142141
primary = optional(bool, false)
143-
gateway_load_balancer_frontend_ip_configuration_id = optional(string, null)
142+
gateway_load_balancer_frontend_ip_configuration_id = optional(string)
144143
}))
145144
}))
146145
generate_ssh_key = optional(object({
147146
enable = optional(bool, false)
148147
algorithm = optional(string, "RSA")
149148
rsa_bits = optional(number, 4096)
150-
ecdsa_curve = optional(string, null)
151-
expiration_date = optional(string, null)
152-
not_before_date = optional(string, null)
153-
value_wo_version = optional(number, null)
154-
value_wo = optional(string, null)
155-
content_type = optional(string, null)
149+
ecdsa_curve = optional(string)
150+
expiration_date = optional(string)
151+
not_before_date = optional(string)
152+
value_wo_version = optional(number)
153+
value_wo = optional(string)
154+
content_type = optional(string)
156155
}), { enable = false })
157156
generate_password = optional(object({
158157
enable = optional(bool, false)
@@ -162,29 +161,29 @@ object({
162161
min_upper = optional(number, 7)
163162
min_special = optional(number, 4)
164163
min_numeric = optional(number, 5)
165-
numeric = optional(bool, null)
166-
upper = optional(bool, null)
167-
lower = optional(bool, null)
168-
override_special = optional(string, null)
169-
expiration_date = optional(string, null)
170-
not_before_date = optional(string, null)
171-
value_wo_version = optional(number, null)
172-
value_wo = optional(string, null)
173-
content_type = optional(string, null)
174-
keepers = optional(map(string), null)
164+
numeric = optional(bool)
165+
upper = optional(bool)
166+
lower = optional(bool)
167+
override_special = optional(string)
168+
expiration_date = optional(string)
169+
not_before_date = optional(string)
170+
value_wo_version = optional(number)
171+
value_wo = optional(string)
172+
content_type = optional(string)
173+
keepers = optional(map(string))
175174
}), { enable = false })
176175
os_disk = optional(object({
177-
name = optional(string, null)
176+
name = optional(string)
178177
storage_account_type = optional(string, "StandardSSD_LRS")
179178
caching = optional(string, "ReadWrite")
180-
disk_size_gb = optional(number, null)
181-
security_encryption_type = optional(string, null)
179+
disk_size_gb = optional(number)
180+
security_encryption_type = optional(string)
182181
write_accelerator_enabled = optional(bool, false)
183-
disk_encryption_set_id = optional(string, null)
184-
secure_vm_disk_encryption_set_id = optional(string, null)
182+
disk_encryption_set_id = optional(string)
183+
secure_vm_disk_encryption_set_id = optional(string)
185184
diff_disk_settings = optional(object({
186185
option = string
187-
placement = optional(string, null)
186+
placement = optional(string)
188187
}), null)
189188
}), {})
190189
source_image_reference = optional(object({
@@ -200,65 +199,69 @@ object({
200199
}), null)
201200
identity = optional(object({
202201
type = string
203-
identity_ids = optional(list(string), null)
202+
identity_ids = optional(list(string))
204203
}), null)
205204
disks = optional(map(object({
206-
name = optional(string, null)
205+
name = optional(string)
207206
create_option_disk_attachment = optional(string, "Attach")
208207
create_option = optional(string, "Empty")
209208
disk_size_gb = optional(number, 10)
210209
storage_account_type = optional(string, "Standard_LRS")
211210
caching = optional(string, "ReadWrite")
212211
tags = optional(map(string))
213212
lun = number
214-
tier = optional(string, null)
215-
zone = optional(string, null)
216-
os_type = optional(string, null)
217-
edge_zone = optional(string, null)
218-
max_shares = optional(number, null)
219-
source_uri = optional(string, null)
220-
optimized_frequent_attach_enabled = optional(bool, null)
221-
public_network_access_enabled = optional(bool, null)
213+
tier = optional(string)
214+
zone = optional(string)
215+
os_type = optional(string)
216+
edge_zone = optional(string)
217+
max_shares = optional(number)
218+
source_uri = optional(string)
219+
optimized_frequent_attach_enabled = optional(bool)
220+
public_network_access_enabled = optional(bool)
222221
on_demand_bursting_enabled = optional(bool, false)
223-
gallery_image_reference_id = optional(string, null)
224-
performance_plus_enabled = optional(bool, null)
222+
gallery_image_reference_id = optional(string)
223+
performance_plus_enabled = optional(bool)
225224
trusted_launch_enabled = optional(bool, false)
226-
network_access_policy = optional(string, null)
227-
logical_sector_size = optional(number, null)
228-
source_resource_id = optional(string, null)
229-
image_reference_id = optional(string, null)
230-
secure_vm_disk_encryption_set_id = optional(string, null)
231-
disk_encryption_set_id = optional(string, null)
232-
security_type = optional(string, null)
233-
disk_access_id = optional(string, null)
234-
hyper_v_generation = optional(string, null)
235-
disk_iops_read_write = optional(number, null)
236-
disk_mbps_read_write = optional(number, null)
237-
storage_account_id = optional(string, null)
225+
network_access_policy = optional(string)
226+
logical_sector_size = optional(number)
227+
source_resource_id = optional(string)
228+
image_reference_id = optional(string)
229+
secure_vm_disk_encryption_set_id = optional(string)
230+
disk_encryption_set_id = optional(string)
231+
security_type = optional(string)
232+
disk_access_id = optional(string)
233+
hyper_v_generation = optional(string)
234+
disk_iops_read_write = optional(number)
235+
disk_mbps_read_write = optional(number)
236+
storage_account_id = optional(string)
238237
write_accelerator_enabled = optional(bool, false)
239-
disk_iops_read_only = optional(number, null)
240-
disk_mbps_read_only = optional(number, null)
241-
upload_size_bytes = optional(number, null)
238+
disk_iops_read_only = optional(number)
239+
disk_mbps_read_only = optional(number)
240+
upload_size_bytes = optional(number)
242241
})), {})
243242
extensions = optional(map(object({
244-
name = optional(string, null)
243+
name = optional(string)
245244
publisher = string
246245
type = string
247246
type_handler_version = string
248-
settings = optional(map(string), {})
247+
settings = optional(map(any), {})
249248
protected_settings = optional(map(string), {})
250249
auto_upgrade_minor_version = optional(bool, true)
251250
automatic_upgrade_enabled = optional(bool, false)
252251
failure_suppression_enabled = optional(bool, false)
253252
provision_after_extensions = optional(list(string), [])
254-
tags = optional(map(string))
253+
protected_settings_from_key_vault = optional(object({
254+
secret_url = string
255+
source_vault_id = string
256+
}))
257+
tags = optional(map(string))
255258
})), {})
256259
enable_automatic_updates = optional(bool, true)
257260
hotpatching_enabled = optional(bool, false)
258-
timezone = optional(string, null)
261+
timezone = optional(string)
259262
winrm_listeners = optional(map(object({
260263
protocol = string
261-
certificate_url = optional(string, null)
264+
certificate_url = optional(string)
262265
})), {})
263266
secrets = optional(map(object({
264267
key_vault_id = string
@@ -271,18 +274,18 @@ object({
271274
timeout = string
272275
}), null)
273276
gallery_applications = optional(map(object({
274-
tag = optional(string, null)
275-
order = optional(number, null)
277+
tag = optional(string)
278+
order = optional(number)
276279
version_id = string
277-
configuration_blob_uri = optional(string, null)
280+
configuration_blob_uri = optional(string)
278281
automatic_upgrade_enabled = optional(bool, false)
279282
treat_failure_as_deployment_failure_enabled = optional(bool, false)
280283
})), {})
281284
termination_notification = optional(object({
282285
enabled = bool
283-
timeout = optional(string, null)
286+
timeout = optional(string)
284287
}), null)
285-
addtional_unattend_contents = optional(map(object({
288+
additional_unattend_content = optional(map(object({
286289
content = string
287290
setting = string
288291
})), {})

examples/custom-data/main.tf

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -84,9 +84,8 @@ EOF
8484
int = {
8585
ip_configurations = {
8686
config1 = {
87-
subnet_id = module.network.subnets.int.id
88-
private_ip_address_allocation = "Dynamic"
89-
primary = true
87+
subnet_id = module.network.subnets.int.id
88+
primary = true
9089
}
9190
}
9291
}

examples/extensions/extensions.tf

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -6,19 +6,5 @@ locals {
66
type_handler_version = "1.1"
77
autoUpgradeMinorVersion = true
88
}
9-
encryption = {
10-
name = "AzureDiskEncryption"
11-
publisher = "Microsoft.Azure.Security"
12-
type = "AzureDiskEncryption"
13-
type_handler_version = "2.2"
14-
auto_upgrade_minor_version = true
15-
settings = {
16-
"EncryptionOperation" : "EnableEncryption"
17-
"KeyVaultURL" : module.kv.vault.vault_uri
18-
"KeyVaultResourceId" : module.kv.vault.id
19-
"KeyEncryptionAlgorithm" : "RSA-OAEP"
20-
"VolumeType" : "all"
21-
}
22-
}
239
}
2410
}

0 commit comments

Comments
 (0)