pulumi-vsphere 4.8.1__py3-none-any.whl → 4.9.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
pulumi_vsphere/outputs.py CHANGED
@@ -12,6 +12,9 @@ from . import outputs
12
12
 
13
13
  __all__ = [
14
14
  'ComputeClusterVsanDiskGroup',
15
+ 'ComputeClusterVsanFaultDomain',
16
+ 'ComputeClusterVsanFaultDomainFaultDomain',
17
+ 'ComputeClusterVsanStretchedCluster',
15
18
  'ContentLibraryPublication',
16
19
  'ContentLibrarySubscription',
17
20
  'DistributedPortGroupVlanRange',
@@ -19,9 +22,14 @@ __all__ = [
19
22
  'DistributedVirtualSwitchPvlanMapping',
20
23
  'DistributedVirtualSwitchVlanRange',
21
24
  'EntityPermissionsPermission',
25
+ 'GuestOsCustomizationSpec',
26
+ 'GuestOsCustomizationSpecLinuxOptions',
27
+ 'GuestOsCustomizationSpecNetworkInterface',
28
+ 'GuestOsCustomizationSpecWindowsOptions',
22
29
  'HostPortGroupPort',
23
30
  'VirtualMachineCdrom',
24
31
  'VirtualMachineClone',
32
+ 'VirtualMachineCloneCustomizationSpec',
25
33
  'VirtualMachineCloneCustomize',
26
34
  'VirtualMachineCloneCustomizeLinuxOptions',
27
35
  'VirtualMachineCloneCustomizeNetworkInterface',
@@ -33,6 +41,10 @@ __all__ = [
33
41
  'VmStoragePolicyTagRule',
34
42
  'VnicIpv4',
35
43
  'VnicIpv6',
44
+ 'GetGuestOsCustomizationSpecResult',
45
+ 'GetGuestOsCustomizationSpecLinuxOptionResult',
46
+ 'GetGuestOsCustomizationSpecNetworkInterfaceResult',
47
+ 'GetGuestOsCustomizationSpecWindowsOptionResult',
36
48
  'GetVirtualMachineDiskResult',
37
49
  'GetVirtualMachineNetworkInterfaceResult',
38
50
  'GetVirtualMachineVappResult',
@@ -46,6 +58,150 @@ class ComputeClusterVsanDiskGroup(dict):
46
58
  """
47
59
  :param str cache: The canonical name of the disk to use for vSAN cache.
48
60
  :param Sequence[str] storages: An array of disk canonical names for vSAN storage.
61
+ """
62
+ if cache is not None:
63
+ pulumi.set(__self__, "cache", cache)
64
+ if storages is not None:
65
+ pulumi.set(__self__, "storages", storages)
66
+
67
+ @property
68
+ @pulumi.getter
69
+ def cache(self) -> Optional[str]:
70
+ """
71
+ The canonical name of the disk to use for vSAN cache.
72
+ """
73
+ return pulumi.get(self, "cache")
74
+
75
+ @property
76
+ @pulumi.getter
77
+ def storages(self) -> Optional[Sequence[str]]:
78
+ """
79
+ An array of disk canonical names for vSAN storage.
80
+ """
81
+ return pulumi.get(self, "storages")
82
+
83
+
84
+ @pulumi.output_type
85
+ class ComputeClusterVsanFaultDomain(dict):
86
+ @staticmethod
87
+ def __key_warning(key: str):
88
+ suggest = None
89
+ if key == "faultDomains":
90
+ suggest = "fault_domains"
91
+
92
+ if suggest:
93
+ pulumi.log.warn(f"Key '{key}' not found in ComputeClusterVsanFaultDomain. Access the value via the '{suggest}' property getter instead.")
94
+
95
+ def __getitem__(self, key: str) -> Any:
96
+ ComputeClusterVsanFaultDomain.__key_warning(key)
97
+ return super().__getitem__(key)
98
+
99
+ def get(self, key: str, default = None) -> Any:
100
+ ComputeClusterVsanFaultDomain.__key_warning(key)
101
+ return super().get(key, default)
102
+
103
+ def __init__(__self__, *,
104
+ fault_domains: Optional[Sequence['outputs.ComputeClusterVsanFaultDomainFaultDomain']] = None):
105
+ """
106
+ :param Sequence['ComputeClusterVsanFaultDomainFaultDomainArgs'] fault_domains: The configuration for single fault domain.
107
+ """
108
+ if fault_domains is not None:
109
+ pulumi.set(__self__, "fault_domains", fault_domains)
110
+
111
+ @property
112
+ @pulumi.getter(name="faultDomains")
113
+ def fault_domains(self) -> Optional[Sequence['outputs.ComputeClusterVsanFaultDomainFaultDomain']]:
114
+ """
115
+ The configuration for single fault domain.
116
+ """
117
+ return pulumi.get(self, "fault_domains")
118
+
119
+
120
+ @pulumi.output_type
121
+ class ComputeClusterVsanFaultDomainFaultDomain(dict):
122
+ @staticmethod
123
+ def __key_warning(key: str):
124
+ suggest = None
125
+ if key == "hostIds":
126
+ suggest = "host_ids"
127
+
128
+ if suggest:
129
+ pulumi.log.warn(f"Key '{key}' not found in ComputeClusterVsanFaultDomainFaultDomain. Access the value via the '{suggest}' property getter instead.")
130
+
131
+ def __getitem__(self, key: str) -> Any:
132
+ ComputeClusterVsanFaultDomainFaultDomain.__key_warning(key)
133
+ return super().__getitem__(key)
134
+
135
+ def get(self, key: str, default = None) -> Any:
136
+ ComputeClusterVsanFaultDomainFaultDomain.__key_warning(key)
137
+ return super().get(key, default)
138
+
139
+ def __init__(__self__, *,
140
+ host_ids: Sequence[str],
141
+ name: str):
142
+ """
143
+ :param Sequence[str] host_ids: The managed object IDs of the hosts to put in the fault domain.
144
+ :param str name: The name of the cluster.
145
+ """
146
+ pulumi.set(__self__, "host_ids", host_ids)
147
+ pulumi.set(__self__, "name", name)
148
+
149
+ @property
150
+ @pulumi.getter(name="hostIds")
151
+ def host_ids(self) -> Sequence[str]:
152
+ """
153
+ The managed object IDs of the hosts to put in the fault domain.
154
+ """
155
+ return pulumi.get(self, "host_ids")
156
+
157
+ @property
158
+ @pulumi.getter
159
+ def name(self) -> str:
160
+ """
161
+ The name of the cluster.
162
+ """
163
+ return pulumi.get(self, "name")
164
+
165
+
166
+ @pulumi.output_type
167
+ class ComputeClusterVsanStretchedCluster(dict):
168
+ @staticmethod
169
+ def __key_warning(key: str):
170
+ suggest = None
171
+ if key == "preferredFaultDomainHostIds":
172
+ suggest = "preferred_fault_domain_host_ids"
173
+ elif key == "secondaryFaultDomainHostIds":
174
+ suggest = "secondary_fault_domain_host_ids"
175
+ elif key == "witnessNode":
176
+ suggest = "witness_node"
177
+ elif key == "preferredFaultDomainName":
178
+ suggest = "preferred_fault_domain_name"
179
+ elif key == "secondaryFaultDomainName":
180
+ suggest = "secondary_fault_domain_name"
181
+
182
+ if suggest:
183
+ pulumi.log.warn(f"Key '{key}' not found in ComputeClusterVsanStretchedCluster. Access the value via the '{suggest}' property getter instead.")
184
+
185
+ def __getitem__(self, key: str) -> Any:
186
+ ComputeClusterVsanStretchedCluster.__key_warning(key)
187
+ return super().__getitem__(key)
188
+
189
+ def get(self, key: str, default = None) -> Any:
190
+ ComputeClusterVsanStretchedCluster.__key_warning(key)
191
+ return super().get(key, default)
192
+
193
+ def __init__(__self__, *,
194
+ preferred_fault_domain_host_ids: Sequence[str],
195
+ secondary_fault_domain_host_ids: Sequence[str],
196
+ witness_node: str,
197
+ preferred_fault_domain_name: Optional[str] = None,
198
+ secondary_fault_domain_name: Optional[str] = None):
199
+ """
200
+ :param Sequence[str] preferred_fault_domain_host_ids: The managed object IDs of the hosts to put in the first fault domain.
201
+ :param Sequence[str] secondary_fault_domain_host_ids: The managed object IDs of the hosts to put in the second fault domain.
202
+ :param str witness_node: The managed object IDs of the host selected as witness node when enable stretched cluster.
203
+ :param str preferred_fault_domain_name: The name of first fault domain. Default is `Preferred`.
204
+ :param str secondary_fault_domain_name: The name of second fault domain. Default is `Secondary`.
49
205
 
50
206
  > **NOTE:** You must disable vSphere HA before you enable vSAN on the cluster.
51
207
  You can enable or re-enable vSphere HA after vSAN is configured.
@@ -61,6 +217,7 @@ class ComputeClusterVsanDiskGroup(dict):
61
217
  drs_automation_level="fullyAutomated",
62
218
  ha_enabled=False,
63
219
  vsan_enabled=True,
220
+ vsan_esa_enabled=True,
64
221
  vsan_dedup_enabled=True,
65
222
  vsan_compression_enabled=True,
66
223
  vsan_performance_enabled=True,
@@ -72,27 +229,71 @@ class ComputeClusterVsanDiskGroup(dict):
72
229
  vsan_disk_groups=[vsphere.ComputeClusterVsanDiskGroupArgs(
73
230
  cache=data["vsphere_vmfs_disks"]["cache_disks"],
74
231
  storages=data["vsphere_vmfs_disks"]["storage_disks"],
75
- )])
232
+ )],
233
+ vsan_fault_domains=[vsphere.ComputeClusterVsanFaultDomainArgs(
234
+ fault_domains=[
235
+ vsphere.ComputeClusterVsanFaultDomainFaultDomainArgs(
236
+ name="fd1",
237
+ host_ids=[[__item["id"] for __item in data["vsphere_host"]["faultdomain1_hosts"]]],
238
+ ),
239
+ vsphere.ComputeClusterVsanFaultDomainFaultDomainArgs(
240
+ name="fd2",
241
+ host_ids=[[__item["id"] for __item in data["vsphere_host"]["faultdomain2_hosts"]]],
242
+ ),
243
+ ],
244
+ )],
245
+ vsan_stretched_cluster=vsphere.ComputeClusterVsanStretchedClusterArgs(
246
+ preferred_fault_domain_host_ids=[[__item["id"] for __item in data["vsphere_host"]["preferred_fault_domain_host"]]],
247
+ secondary_fault_domain_host_ids=[[__item["id"] for __item in data["vsphere_host"]["secondary_fault_domain_host"]]],
248
+ witness_node=data["vsphere_host"]["witness_host"]["id"],
249
+ ))
76
250
  ```
77
251
  """
78
- if cache is not None:
79
- pulumi.set(__self__, "cache", cache)
80
- if storages is not None:
81
- pulumi.set(__self__, "storages", storages)
252
+ pulumi.set(__self__, "preferred_fault_domain_host_ids", preferred_fault_domain_host_ids)
253
+ pulumi.set(__self__, "secondary_fault_domain_host_ids", secondary_fault_domain_host_ids)
254
+ pulumi.set(__self__, "witness_node", witness_node)
255
+ if preferred_fault_domain_name is not None:
256
+ pulumi.set(__self__, "preferred_fault_domain_name", preferred_fault_domain_name)
257
+ if secondary_fault_domain_name is not None:
258
+ pulumi.set(__self__, "secondary_fault_domain_name", secondary_fault_domain_name)
82
259
 
83
260
  @property
84
- @pulumi.getter
85
- def cache(self) -> Optional[str]:
261
+ @pulumi.getter(name="preferredFaultDomainHostIds")
262
+ def preferred_fault_domain_host_ids(self) -> Sequence[str]:
86
263
  """
87
- The canonical name of the disk to use for vSAN cache.
264
+ The managed object IDs of the hosts to put in the first fault domain.
88
265
  """
89
- return pulumi.get(self, "cache")
266
+ return pulumi.get(self, "preferred_fault_domain_host_ids")
90
267
 
91
268
  @property
92
- @pulumi.getter
93
- def storages(self) -> Optional[Sequence[str]]:
269
+ @pulumi.getter(name="secondaryFaultDomainHostIds")
270
+ def secondary_fault_domain_host_ids(self) -> Sequence[str]:
94
271
  """
95
- An array of disk canonical names for vSAN storage.
272
+ The managed object IDs of the hosts to put in the second fault domain.
273
+ """
274
+ return pulumi.get(self, "secondary_fault_domain_host_ids")
275
+
276
+ @property
277
+ @pulumi.getter(name="witnessNode")
278
+ def witness_node(self) -> str:
279
+ """
280
+ The managed object IDs of the host selected as witness node when enable stretched cluster.
281
+ """
282
+ return pulumi.get(self, "witness_node")
283
+
284
+ @property
285
+ @pulumi.getter(name="preferredFaultDomainName")
286
+ def preferred_fault_domain_name(self) -> Optional[str]:
287
+ """
288
+ The name of first fault domain. Default is `Preferred`.
289
+ """
290
+ return pulumi.get(self, "preferred_fault_domain_name")
291
+
292
+ @property
293
+ @pulumi.getter(name="secondaryFaultDomainName")
294
+ def secondary_fault_domain_name(self) -> Optional[str]:
295
+ """
296
+ The name of second fault domain. Default is `Secondary`.
96
297
 
97
298
  > **NOTE:** You must disable vSphere HA before you enable vSAN on the cluster.
98
299
  You can enable or re-enable vSphere HA after vSAN is configured.
@@ -108,6 +309,7 @@ class ComputeClusterVsanDiskGroup(dict):
108
309
  drs_automation_level="fullyAutomated",
109
310
  ha_enabled=False,
110
311
  vsan_enabled=True,
312
+ vsan_esa_enabled=True,
111
313
  vsan_dedup_enabled=True,
112
314
  vsan_compression_enabled=True,
113
315
  vsan_performance_enabled=True,
@@ -119,10 +321,27 @@ class ComputeClusterVsanDiskGroup(dict):
119
321
  vsan_disk_groups=[vsphere.ComputeClusterVsanDiskGroupArgs(
120
322
  cache=data["vsphere_vmfs_disks"]["cache_disks"],
121
323
  storages=data["vsphere_vmfs_disks"]["storage_disks"],
122
- )])
324
+ )],
325
+ vsan_fault_domains=[vsphere.ComputeClusterVsanFaultDomainArgs(
326
+ fault_domains=[
327
+ vsphere.ComputeClusterVsanFaultDomainFaultDomainArgs(
328
+ name="fd1",
329
+ host_ids=[[__item["id"] for __item in data["vsphere_host"]["faultdomain1_hosts"]]],
330
+ ),
331
+ vsphere.ComputeClusterVsanFaultDomainFaultDomainArgs(
332
+ name="fd2",
333
+ host_ids=[[__item["id"] for __item in data["vsphere_host"]["faultdomain2_hosts"]]],
334
+ ),
335
+ ],
336
+ )],
337
+ vsan_stretched_cluster=vsphere.ComputeClusterVsanStretchedClusterArgs(
338
+ preferred_fault_domain_host_ids=[[__item["id"] for __item in data["vsphere_host"]["preferred_fault_domain_host"]]],
339
+ secondary_fault_domain_host_ids=[[__item["id"] for __item in data["vsphere_host"]["secondary_fault_domain_host"]]],
340
+ witness_node=data["vsphere_host"]["witness_host"]["id"],
341
+ ))
123
342
  ```
124
343
  """
125
- return pulumi.get(self, "storages")
344
+ return pulumi.get(self, "secondary_fault_domain_name")
126
345
 
127
346
 
128
347
  @pulumi.output_type
@@ -502,81 +721,474 @@ class DistributedVirtualSwitchVlanRange(dict):
502
721
  return pulumi.get(self, "max_vlan")
503
722
 
504
723
  @property
505
- @pulumi.getter(name="minVlan")
506
- def min_vlan(self) -> int:
507
- return pulumi.get(self, "min_vlan")
508
-
724
+ @pulumi.getter(name="minVlan")
725
+ def min_vlan(self) -> int:
726
+ return pulumi.get(self, "min_vlan")
727
+
728
+
729
+ @pulumi.output_type
730
+ class EntityPermissionsPermission(dict):
731
+ @staticmethod
732
+ def __key_warning(key: str):
733
+ suggest = None
734
+ if key == "isGroup":
735
+ suggest = "is_group"
736
+ elif key == "roleId":
737
+ suggest = "role_id"
738
+ elif key == "userOrGroup":
739
+ suggest = "user_or_group"
740
+
741
+ if suggest:
742
+ pulumi.log.warn(f"Key '{key}' not found in EntityPermissionsPermission. Access the value via the '{suggest}' property getter instead.")
743
+
744
+ def __getitem__(self, key: str) -> Any:
745
+ EntityPermissionsPermission.__key_warning(key)
746
+ return super().__getitem__(key)
747
+
748
+ def get(self, key: str, default = None) -> Any:
749
+ EntityPermissionsPermission.__key_warning(key)
750
+ return super().get(key, default)
751
+
752
+ def __init__(__self__, *,
753
+ is_group: bool,
754
+ propagate: bool,
755
+ role_id: str,
756
+ user_or_group: str):
757
+ """
758
+ :param bool is_group: Whether user_or_group field refers to a user or a group. True for a group and false for a user.
759
+ :param bool propagate: Whether or not this permission propagates down the hierarchy to sub-entities.
760
+ :param str role_id: The role id of the role to be given to the user on the specified entity.
761
+ :param str user_or_group: The user/group getting the permission.
762
+ """
763
+ pulumi.set(__self__, "is_group", is_group)
764
+ pulumi.set(__self__, "propagate", propagate)
765
+ pulumi.set(__self__, "role_id", role_id)
766
+ pulumi.set(__self__, "user_or_group", user_or_group)
767
+
768
+ @property
769
+ @pulumi.getter(name="isGroup")
770
+ def is_group(self) -> bool:
771
+ """
772
+ Whether user_or_group field refers to a user or a group. True for a group and false for a user.
773
+ """
774
+ return pulumi.get(self, "is_group")
775
+
776
+ @property
777
+ @pulumi.getter
778
+ def propagate(self) -> bool:
779
+ """
780
+ Whether or not this permission propagates down the hierarchy to sub-entities.
781
+ """
782
+ return pulumi.get(self, "propagate")
783
+
784
+ @property
785
+ @pulumi.getter(name="roleId")
786
+ def role_id(self) -> str:
787
+ """
788
+ The role id of the role to be given to the user on the specified entity.
789
+ """
790
+ return pulumi.get(self, "role_id")
791
+
792
+ @property
793
+ @pulumi.getter(name="userOrGroup")
794
+ def user_or_group(self) -> str:
795
+ """
796
+ The user/group getting the permission.
797
+ """
798
+ return pulumi.get(self, "user_or_group")
799
+
800
+
801
+ @pulumi.output_type
802
+ class GuestOsCustomizationSpec(dict):
803
+ @staticmethod
804
+ def __key_warning(key: str):
805
+ suggest = None
806
+ if key == "dnsServerLists":
807
+ suggest = "dns_server_lists"
808
+ elif key == "dnsSuffixLists":
809
+ suggest = "dns_suffix_lists"
810
+ elif key == "ipv4Gateway":
811
+ suggest = "ipv4_gateway"
812
+ elif key == "ipv6Gateway":
813
+ suggest = "ipv6_gateway"
814
+ elif key == "linuxOptions":
815
+ suggest = "linux_options"
816
+ elif key == "networkInterfaces":
817
+ suggest = "network_interfaces"
818
+ elif key == "windowsOptions":
819
+ suggest = "windows_options"
820
+ elif key == "windowsSysprepText":
821
+ suggest = "windows_sysprep_text"
822
+
823
+ if suggest:
824
+ pulumi.log.warn(f"Key '{key}' not found in GuestOsCustomizationSpec. Access the value via the '{suggest}' property getter instead.")
825
+
826
+ def __getitem__(self, key: str) -> Any:
827
+ GuestOsCustomizationSpec.__key_warning(key)
828
+ return super().__getitem__(key)
829
+
830
+ def get(self, key: str, default = None) -> Any:
831
+ GuestOsCustomizationSpec.__key_warning(key)
832
+ return super().get(key, default)
833
+
834
+ def __init__(__self__, *,
835
+ dns_server_lists: Optional[Sequence[str]] = None,
836
+ dns_suffix_lists: Optional[Sequence[str]] = None,
837
+ ipv4_gateway: Optional[str] = None,
838
+ ipv6_gateway: Optional[str] = None,
839
+ linux_options: Optional['outputs.GuestOsCustomizationSpecLinuxOptions'] = None,
840
+ network_interfaces: Optional[Sequence['outputs.GuestOsCustomizationSpecNetworkInterface']] = None,
841
+ windows_options: Optional['outputs.GuestOsCustomizationSpecWindowsOptions'] = None,
842
+ windows_sysprep_text: Optional[str] = None):
843
+ if dns_server_lists is not None:
844
+ pulumi.set(__self__, "dns_server_lists", dns_server_lists)
845
+ if dns_suffix_lists is not None:
846
+ pulumi.set(__self__, "dns_suffix_lists", dns_suffix_lists)
847
+ if ipv4_gateway is not None:
848
+ pulumi.set(__self__, "ipv4_gateway", ipv4_gateway)
849
+ if ipv6_gateway is not None:
850
+ pulumi.set(__self__, "ipv6_gateway", ipv6_gateway)
851
+ if linux_options is not None:
852
+ pulumi.set(__self__, "linux_options", linux_options)
853
+ if network_interfaces is not None:
854
+ pulumi.set(__self__, "network_interfaces", network_interfaces)
855
+ if windows_options is not None:
856
+ pulumi.set(__self__, "windows_options", windows_options)
857
+ if windows_sysprep_text is not None:
858
+ pulumi.set(__self__, "windows_sysprep_text", windows_sysprep_text)
859
+
860
+ @property
861
+ @pulumi.getter(name="dnsServerLists")
862
+ def dns_server_lists(self) -> Optional[Sequence[str]]:
863
+ return pulumi.get(self, "dns_server_lists")
864
+
865
+ @property
866
+ @pulumi.getter(name="dnsSuffixLists")
867
+ def dns_suffix_lists(self) -> Optional[Sequence[str]]:
868
+ return pulumi.get(self, "dns_suffix_lists")
869
+
870
+ @property
871
+ @pulumi.getter(name="ipv4Gateway")
872
+ def ipv4_gateway(self) -> Optional[str]:
873
+ return pulumi.get(self, "ipv4_gateway")
874
+
875
+ @property
876
+ @pulumi.getter(name="ipv6Gateway")
877
+ def ipv6_gateway(self) -> Optional[str]:
878
+ return pulumi.get(self, "ipv6_gateway")
879
+
880
+ @property
881
+ @pulumi.getter(name="linuxOptions")
882
+ def linux_options(self) -> Optional['outputs.GuestOsCustomizationSpecLinuxOptions']:
883
+ return pulumi.get(self, "linux_options")
884
+
885
+ @property
886
+ @pulumi.getter(name="networkInterfaces")
887
+ def network_interfaces(self) -> Optional[Sequence['outputs.GuestOsCustomizationSpecNetworkInterface']]:
888
+ return pulumi.get(self, "network_interfaces")
889
+
890
+ @property
891
+ @pulumi.getter(name="windowsOptions")
892
+ def windows_options(self) -> Optional['outputs.GuestOsCustomizationSpecWindowsOptions']:
893
+ return pulumi.get(self, "windows_options")
894
+
895
+ @property
896
+ @pulumi.getter(name="windowsSysprepText")
897
+ def windows_sysprep_text(self) -> Optional[str]:
898
+ return pulumi.get(self, "windows_sysprep_text")
899
+
900
+
901
+ @pulumi.output_type
902
+ class GuestOsCustomizationSpecLinuxOptions(dict):
903
+ @staticmethod
904
+ def __key_warning(key: str):
905
+ suggest = None
906
+ if key == "hostName":
907
+ suggest = "host_name"
908
+ elif key == "hwClockUtc":
909
+ suggest = "hw_clock_utc"
910
+ elif key == "scriptText":
911
+ suggest = "script_text"
912
+ elif key == "timeZone":
913
+ suggest = "time_zone"
914
+
915
+ if suggest:
916
+ pulumi.log.warn(f"Key '{key}' not found in GuestOsCustomizationSpecLinuxOptions. Access the value via the '{suggest}' property getter instead.")
917
+
918
+ def __getitem__(self, key: str) -> Any:
919
+ GuestOsCustomizationSpecLinuxOptions.__key_warning(key)
920
+ return super().__getitem__(key)
921
+
922
+ def get(self, key: str, default = None) -> Any:
923
+ GuestOsCustomizationSpecLinuxOptions.__key_warning(key)
924
+ return super().get(key, default)
925
+
926
+ def __init__(__self__, *,
927
+ domain: str,
928
+ host_name: str,
929
+ hw_clock_utc: Optional[bool] = None,
930
+ script_text: Optional[str] = None,
931
+ time_zone: Optional[str] = None):
932
+ pulumi.set(__self__, "domain", domain)
933
+ pulumi.set(__self__, "host_name", host_name)
934
+ if hw_clock_utc is not None:
935
+ pulumi.set(__self__, "hw_clock_utc", hw_clock_utc)
936
+ if script_text is not None:
937
+ pulumi.set(__self__, "script_text", script_text)
938
+ if time_zone is not None:
939
+ pulumi.set(__self__, "time_zone", time_zone)
940
+
941
+ @property
942
+ @pulumi.getter
943
+ def domain(self) -> str:
944
+ return pulumi.get(self, "domain")
945
+
946
+ @property
947
+ @pulumi.getter(name="hostName")
948
+ def host_name(self) -> str:
949
+ return pulumi.get(self, "host_name")
950
+
951
+ @property
952
+ @pulumi.getter(name="hwClockUtc")
953
+ def hw_clock_utc(self) -> Optional[bool]:
954
+ return pulumi.get(self, "hw_clock_utc")
955
+
956
+ @property
957
+ @pulumi.getter(name="scriptText")
958
+ def script_text(self) -> Optional[str]:
959
+ return pulumi.get(self, "script_text")
960
+
961
+ @property
962
+ @pulumi.getter(name="timeZone")
963
+ def time_zone(self) -> Optional[str]:
964
+ return pulumi.get(self, "time_zone")
965
+
966
+
967
+ @pulumi.output_type
968
+ class GuestOsCustomizationSpecNetworkInterface(dict):
969
+ @staticmethod
970
+ def __key_warning(key: str):
971
+ suggest = None
972
+ if key == "dnsDomain":
973
+ suggest = "dns_domain"
974
+ elif key == "dnsServerLists":
975
+ suggest = "dns_server_lists"
976
+ elif key == "ipv4Address":
977
+ suggest = "ipv4_address"
978
+ elif key == "ipv4Netmask":
979
+ suggest = "ipv4_netmask"
980
+ elif key == "ipv6Address":
981
+ suggest = "ipv6_address"
982
+ elif key == "ipv6Netmask":
983
+ suggest = "ipv6_netmask"
984
+
985
+ if suggest:
986
+ pulumi.log.warn(f"Key '{key}' not found in GuestOsCustomizationSpecNetworkInterface. Access the value via the '{suggest}' property getter instead.")
987
+
988
+ def __getitem__(self, key: str) -> Any:
989
+ GuestOsCustomizationSpecNetworkInterface.__key_warning(key)
990
+ return super().__getitem__(key)
991
+
992
+ def get(self, key: str, default = None) -> Any:
993
+ GuestOsCustomizationSpecNetworkInterface.__key_warning(key)
994
+ return super().get(key, default)
995
+
996
+ def __init__(__self__, *,
997
+ dns_domain: Optional[str] = None,
998
+ dns_server_lists: Optional[Sequence[str]] = None,
999
+ ipv4_address: Optional[str] = None,
1000
+ ipv4_netmask: Optional[int] = None,
1001
+ ipv6_address: Optional[str] = None,
1002
+ ipv6_netmask: Optional[int] = None):
1003
+ if dns_domain is not None:
1004
+ pulumi.set(__self__, "dns_domain", dns_domain)
1005
+ if dns_server_lists is not None:
1006
+ pulumi.set(__self__, "dns_server_lists", dns_server_lists)
1007
+ if ipv4_address is not None:
1008
+ pulumi.set(__self__, "ipv4_address", ipv4_address)
1009
+ if ipv4_netmask is not None:
1010
+ pulumi.set(__self__, "ipv4_netmask", ipv4_netmask)
1011
+ if ipv6_address is not None:
1012
+ pulumi.set(__self__, "ipv6_address", ipv6_address)
1013
+ if ipv6_netmask is not None:
1014
+ pulumi.set(__self__, "ipv6_netmask", ipv6_netmask)
1015
+
1016
+ @property
1017
+ @pulumi.getter(name="dnsDomain")
1018
+ def dns_domain(self) -> Optional[str]:
1019
+ return pulumi.get(self, "dns_domain")
1020
+
1021
+ @property
1022
+ @pulumi.getter(name="dnsServerLists")
1023
+ def dns_server_lists(self) -> Optional[Sequence[str]]:
1024
+ return pulumi.get(self, "dns_server_lists")
1025
+
1026
+ @property
1027
+ @pulumi.getter(name="ipv4Address")
1028
+ def ipv4_address(self) -> Optional[str]:
1029
+ return pulumi.get(self, "ipv4_address")
1030
+
1031
+ @property
1032
+ @pulumi.getter(name="ipv4Netmask")
1033
+ def ipv4_netmask(self) -> Optional[int]:
1034
+ return pulumi.get(self, "ipv4_netmask")
1035
+
1036
+ @property
1037
+ @pulumi.getter(name="ipv6Address")
1038
+ def ipv6_address(self) -> Optional[str]:
1039
+ return pulumi.get(self, "ipv6_address")
1040
+
1041
+ @property
1042
+ @pulumi.getter(name="ipv6Netmask")
1043
+ def ipv6_netmask(self) -> Optional[int]:
1044
+ return pulumi.get(self, "ipv6_netmask")
1045
+
1046
+
1047
+ @pulumi.output_type
1048
+ class GuestOsCustomizationSpecWindowsOptions(dict):
1049
+ @staticmethod
1050
+ def __key_warning(key: str):
1051
+ suggest = None
1052
+ if key == "computerName":
1053
+ suggest = "computer_name"
1054
+ elif key == "adminPassword":
1055
+ suggest = "admin_password"
1056
+ elif key == "autoLogon":
1057
+ suggest = "auto_logon"
1058
+ elif key == "autoLogonCount":
1059
+ suggest = "auto_logon_count"
1060
+ elif key == "domainAdminPassword":
1061
+ suggest = "domain_admin_password"
1062
+ elif key == "domainAdminUser":
1063
+ suggest = "domain_admin_user"
1064
+ elif key == "fullName":
1065
+ suggest = "full_name"
1066
+ elif key == "joinDomain":
1067
+ suggest = "join_domain"
1068
+ elif key == "organizationName":
1069
+ suggest = "organization_name"
1070
+ elif key == "productKey":
1071
+ suggest = "product_key"
1072
+ elif key == "runOnceCommandLists":
1073
+ suggest = "run_once_command_lists"
1074
+ elif key == "timeZone":
1075
+ suggest = "time_zone"
1076
+
1077
+ if suggest:
1078
+ pulumi.log.warn(f"Key '{key}' not found in GuestOsCustomizationSpecWindowsOptions. Access the value via the '{suggest}' property getter instead.")
1079
+
1080
+ def __getitem__(self, key: str) -> Any:
1081
+ GuestOsCustomizationSpecWindowsOptions.__key_warning(key)
1082
+ return super().__getitem__(key)
1083
+
1084
+ def get(self, key: str, default = None) -> Any:
1085
+ GuestOsCustomizationSpecWindowsOptions.__key_warning(key)
1086
+ return super().get(key, default)
1087
+
1088
+ def __init__(__self__, *,
1089
+ computer_name: str,
1090
+ admin_password: Optional[str] = None,
1091
+ auto_logon: Optional[bool] = None,
1092
+ auto_logon_count: Optional[int] = None,
1093
+ domain_admin_password: Optional[str] = None,
1094
+ domain_admin_user: Optional[str] = None,
1095
+ full_name: Optional[str] = None,
1096
+ join_domain: Optional[str] = None,
1097
+ organization_name: Optional[str] = None,
1098
+ product_key: Optional[str] = None,
1099
+ run_once_command_lists: Optional[Sequence[str]] = None,
1100
+ time_zone: Optional[int] = None,
1101
+ workgroup: Optional[str] = None):
1102
+ pulumi.set(__self__, "computer_name", computer_name)
1103
+ if admin_password is not None:
1104
+ pulumi.set(__self__, "admin_password", admin_password)
1105
+ if auto_logon is not None:
1106
+ pulumi.set(__self__, "auto_logon", auto_logon)
1107
+ if auto_logon_count is not None:
1108
+ pulumi.set(__self__, "auto_logon_count", auto_logon_count)
1109
+ if domain_admin_password is not None:
1110
+ pulumi.set(__self__, "domain_admin_password", domain_admin_password)
1111
+ if domain_admin_user is not None:
1112
+ pulumi.set(__self__, "domain_admin_user", domain_admin_user)
1113
+ if full_name is not None:
1114
+ pulumi.set(__self__, "full_name", full_name)
1115
+ if join_domain is not None:
1116
+ pulumi.set(__self__, "join_domain", join_domain)
1117
+ if organization_name is not None:
1118
+ pulumi.set(__self__, "organization_name", organization_name)
1119
+ if product_key is not None:
1120
+ pulumi.set(__self__, "product_key", product_key)
1121
+ if run_once_command_lists is not None:
1122
+ pulumi.set(__self__, "run_once_command_lists", run_once_command_lists)
1123
+ if time_zone is not None:
1124
+ pulumi.set(__self__, "time_zone", time_zone)
1125
+ if workgroup is not None:
1126
+ pulumi.set(__self__, "workgroup", workgroup)
1127
+
1128
+ @property
1129
+ @pulumi.getter(name="computerName")
1130
+ def computer_name(self) -> str:
1131
+ return pulumi.get(self, "computer_name")
1132
+
1133
+ @property
1134
+ @pulumi.getter(name="adminPassword")
1135
+ def admin_password(self) -> Optional[str]:
1136
+ return pulumi.get(self, "admin_password")
1137
+
1138
+ @property
1139
+ @pulumi.getter(name="autoLogon")
1140
+ def auto_logon(self) -> Optional[bool]:
1141
+ return pulumi.get(self, "auto_logon")
1142
+
1143
+ @property
1144
+ @pulumi.getter(name="autoLogonCount")
1145
+ def auto_logon_count(self) -> Optional[int]:
1146
+ return pulumi.get(self, "auto_logon_count")
509
1147
 
510
- @pulumi.output_type
511
- class EntityPermissionsPermission(dict):
512
- @staticmethod
513
- def __key_warning(key: str):
514
- suggest = None
515
- if key == "isGroup":
516
- suggest = "is_group"
517
- elif key == "roleId":
518
- suggest = "role_id"
519
- elif key == "userOrGroup":
520
- suggest = "user_or_group"
1148
+ @property
1149
+ @pulumi.getter(name="domainAdminPassword")
1150
+ def domain_admin_password(self) -> Optional[str]:
1151
+ return pulumi.get(self, "domain_admin_password")
521
1152
 
522
- if suggest:
523
- pulumi.log.warn(f"Key '{key}' not found in EntityPermissionsPermission. Access the value via the '{suggest}' property getter instead.")
1153
+ @property
1154
+ @pulumi.getter(name="domainAdminUser")
1155
+ def domain_admin_user(self) -> Optional[str]:
1156
+ return pulumi.get(self, "domain_admin_user")
524
1157
 
525
- def __getitem__(self, key: str) -> Any:
526
- EntityPermissionsPermission.__key_warning(key)
527
- return super().__getitem__(key)
1158
+ @property
1159
+ @pulumi.getter(name="fullName")
1160
+ def full_name(self) -> Optional[str]:
1161
+ return pulumi.get(self, "full_name")
528
1162
 
529
- def get(self, key: str, default = None) -> Any:
530
- EntityPermissionsPermission.__key_warning(key)
531
- return super().get(key, default)
1163
+ @property
1164
+ @pulumi.getter(name="joinDomain")
1165
+ def join_domain(self) -> Optional[str]:
1166
+ return pulumi.get(self, "join_domain")
532
1167
 
533
- def __init__(__self__, *,
534
- is_group: bool,
535
- propagate: bool,
536
- role_id: str,
537
- user_or_group: str):
538
- """
539
- :param bool is_group: Whether user_or_group field refers to a user or a group. True for a group and false for a user.
540
- :param bool propagate: Whether or not this permission propagates down the hierarchy to sub-entities.
541
- :param str role_id: The role id of the role to be given to the user on the specified entity.
542
- :param str user_or_group: The user/group getting the permission.
543
- """
544
- pulumi.set(__self__, "is_group", is_group)
545
- pulumi.set(__self__, "propagate", propagate)
546
- pulumi.set(__self__, "role_id", role_id)
547
- pulumi.set(__self__, "user_or_group", user_or_group)
1168
+ @property
1169
+ @pulumi.getter(name="organizationName")
1170
+ def organization_name(self) -> Optional[str]:
1171
+ return pulumi.get(self, "organization_name")
548
1172
 
549
1173
  @property
550
- @pulumi.getter(name="isGroup")
551
- def is_group(self) -> bool:
552
- """
553
- Whether user_or_group field refers to a user or a group. True for a group and false for a user.
554
- """
555
- return pulumi.get(self, "is_group")
1174
+ @pulumi.getter(name="productKey")
1175
+ def product_key(self) -> Optional[str]:
1176
+ return pulumi.get(self, "product_key")
556
1177
 
557
1178
  @property
558
- @pulumi.getter
559
- def propagate(self) -> bool:
560
- """
561
- Whether or not this permission propagates down the hierarchy to sub-entities.
562
- """
563
- return pulumi.get(self, "propagate")
1179
+ @pulumi.getter(name="runOnceCommandLists")
1180
+ def run_once_command_lists(self) -> Optional[Sequence[str]]:
1181
+ return pulumi.get(self, "run_once_command_lists")
564
1182
 
565
1183
  @property
566
- @pulumi.getter(name="roleId")
567
- def role_id(self) -> str:
568
- """
569
- The role id of the role to be given to the user on the specified entity.
570
- """
571
- return pulumi.get(self, "role_id")
1184
+ @pulumi.getter(name="timeZone")
1185
+ def time_zone(self) -> Optional[int]:
1186
+ return pulumi.get(self, "time_zone")
572
1187
 
573
1188
  @property
574
- @pulumi.getter(name="userOrGroup")
575
- def user_or_group(self) -> str:
576
- """
577
- The user/group getting the permission.
578
- """
579
- return pulumi.get(self, "user_or_group")
1189
+ @pulumi.getter
1190
+ def workgroup(self) -> Optional[str]:
1191
+ return pulumi.get(self, "workgroup")
580
1192
 
581
1193
 
582
1194
  @pulumi.output_type
@@ -730,6 +1342,8 @@ class VirtualMachineClone(dict):
730
1342
  suggest = None
731
1343
  if key == "templateUuid":
732
1344
  suggest = "template_uuid"
1345
+ elif key == "customizationSpec":
1346
+ suggest = "customization_spec"
733
1347
  elif key == "linkedClone":
734
1348
  suggest = "linked_clone"
735
1349
  elif key == "ovfNetworkMap":
@@ -750,12 +1364,15 @@ class VirtualMachineClone(dict):
750
1364
 
751
1365
  def __init__(__self__, *,
752
1366
  template_uuid: str,
1367
+ customization_spec: Optional['outputs.VirtualMachineCloneCustomizationSpec'] = None,
753
1368
  customize: Optional['outputs.VirtualMachineCloneCustomize'] = None,
754
1369
  linked_clone: Optional[bool] = None,
755
1370
  ovf_network_map: Optional[Mapping[str, str]] = None,
756
1371
  ovf_storage_map: Optional[Mapping[str, str]] = None,
757
1372
  timeout: Optional[int] = None):
758
1373
  pulumi.set(__self__, "template_uuid", template_uuid)
1374
+ if customization_spec is not None:
1375
+ pulumi.set(__self__, "customization_spec", customization_spec)
759
1376
  if customize is not None:
760
1377
  pulumi.set(__self__, "customize", customize)
761
1378
  if linked_clone is not None:
@@ -772,6 +1389,11 @@ class VirtualMachineClone(dict):
772
1389
  def template_uuid(self) -> str:
773
1390
  return pulumi.get(self, "template_uuid")
774
1391
 
1392
+ @property
1393
+ @pulumi.getter(name="customizationSpec")
1394
+ def customization_spec(self) -> Optional['outputs.VirtualMachineCloneCustomizationSpec']:
1395
+ return pulumi.get(self, "customization_spec")
1396
+
775
1397
  @property
776
1398
  @pulumi.getter
777
1399
  def customize(self) -> Optional['outputs.VirtualMachineCloneCustomize']:
@@ -798,6 +1420,32 @@ class VirtualMachineClone(dict):
798
1420
  return pulumi.get(self, "timeout")
799
1421
 
800
1422
 
1423
+ @pulumi.output_type
1424
+ class VirtualMachineCloneCustomizationSpec(dict):
1425
+ def __init__(__self__, *,
1426
+ id: str,
1427
+ timeout: Optional[int] = None):
1428
+ """
1429
+ :param str id: The UUID of the virtual machine.
1430
+ """
1431
+ pulumi.set(__self__, "id", id)
1432
+ if timeout is not None:
1433
+ pulumi.set(__self__, "timeout", timeout)
1434
+
1435
+ @property
1436
+ @pulumi.getter
1437
+ def id(self) -> str:
1438
+ """
1439
+ The UUID of the virtual machine.
1440
+ """
1441
+ return pulumi.get(self, "id")
1442
+
1443
+ @property
1444
+ @pulumi.getter
1445
+ def timeout(self) -> Optional[int]:
1446
+ return pulumi.get(self, "timeout")
1447
+
1448
+
801
1449
  @pulumi.output_type
802
1450
  class VirtualMachineCloneCustomize(dict):
803
1451
  @staticmethod
@@ -1543,6 +2191,8 @@ class VirtualMachineNetworkInterface(dict):
1543
2191
  suggest = "mac_address"
1544
2192
  elif key == "ovfMapping":
1545
2193
  suggest = "ovf_mapping"
2194
+ elif key == "physicalFunction":
2195
+ suggest = "physical_function"
1546
2196
  elif key == "useStaticMac":
1547
2197
  suggest = "use_static_mac"
1548
2198
 
@@ -1568,14 +2218,15 @@ class VirtualMachineNetworkInterface(dict):
1568
2218
  key: Optional[int] = None,
1569
2219
  mac_address: Optional[str] = None,
1570
2220
  ovf_mapping: Optional[str] = None,
2221
+ physical_function: Optional[str] = None,
1571
2222
  use_static_mac: Optional[bool] = None):
1572
2223
  """
1573
2224
  :param str network_id: The [managed object reference ID][docs-about-morefs] of the network on which to connect the virtual machine network interface.
1574
- :param str adapter_type: The network interface type. One of `e1000`, `e1000e`, or `vmxnet3`. Default: `vmxnet3`.
1575
- :param int bandwidth_limit: The upper bandwidth limit of the network interface, in Mbits/sec. The default is no limit.
2225
+ :param str adapter_type: The network interface type. One of `e1000`, `e1000e`, `sriov`, or `vmxnet3`. Default: `vmxnet3`.
2226
+ :param int bandwidth_limit: The upper bandwidth limit of the network interface, in Mbits/sec. The default is no limit. Ignored if `adapter_type` is set to `sriov`.
1576
2227
  :param int bandwidth_reservation: The bandwidth reservation of the network interface, in Mbits/sec. The default is no reservation.
1577
- :param int bandwidth_share_count: The share count for the network interface when the share level is `custom`.
1578
- :param str bandwidth_share_level: The bandwidth share allocation level for the network interface. One of `low`, `normal`, `high`, or `custom`. Default: `normal`.
2228
+ :param int bandwidth_share_count: The share count for the network interface when the share level is `custom`. Ignored if `adapter_type` is set to `sriov`.
2229
+ :param str bandwidth_share_level: The bandwidth share allocation level for the network interface. One of `low`, `normal`, `high`, or `custom`. Default: `normal`. Ignored if `adapter_type` is set to `sriov`.
1579
2230
  :param int key: The ID of the device within the virtual machine.
1580
2231
  :param str mac_address: The MAC address of the network interface. Can only be manually set if `use_static_mac` is `true`. Otherwise, the value is computed and presents the assigned MAC address for the interface.
1581
2232
  :param str ovf_mapping: Specifies which NIC in an OVF/OVA the `network_interface` should be associated. Only applies at creation when deploying from an OVF/OVA.
@@ -1600,6 +2251,8 @@ class VirtualMachineNetworkInterface(dict):
1600
2251
  pulumi.set(__self__, "mac_address", mac_address)
1601
2252
  if ovf_mapping is not None:
1602
2253
  pulumi.set(__self__, "ovf_mapping", ovf_mapping)
2254
+ if physical_function is not None:
2255
+ pulumi.set(__self__, "physical_function", physical_function)
1603
2256
  if use_static_mac is not None:
1604
2257
  pulumi.set(__self__, "use_static_mac", use_static_mac)
1605
2258
 
@@ -1615,7 +2268,7 @@ class VirtualMachineNetworkInterface(dict):
1615
2268
  @pulumi.getter(name="adapterType")
1616
2269
  def adapter_type(self) -> Optional[str]:
1617
2270
  """
1618
- The network interface type. One of `e1000`, `e1000e`, or `vmxnet3`. Default: `vmxnet3`.
2271
+ The network interface type. One of `e1000`, `e1000e`, `sriov`, or `vmxnet3`. Default: `vmxnet3`.
1619
2272
  """
1620
2273
  return pulumi.get(self, "adapter_type")
1621
2274
 
@@ -1623,7 +2276,7 @@ class VirtualMachineNetworkInterface(dict):
1623
2276
  @pulumi.getter(name="bandwidthLimit")
1624
2277
  def bandwidth_limit(self) -> Optional[int]:
1625
2278
  """
1626
- The upper bandwidth limit of the network interface, in Mbits/sec. The default is no limit.
2279
+ The upper bandwidth limit of the network interface, in Mbits/sec. The default is no limit. Ignored if `adapter_type` is set to `sriov`.
1627
2280
  """
1628
2281
  return pulumi.get(self, "bandwidth_limit")
1629
2282
 
@@ -1639,7 +2292,7 @@ class VirtualMachineNetworkInterface(dict):
1639
2292
  @pulumi.getter(name="bandwidthShareCount")
1640
2293
  def bandwidth_share_count(self) -> Optional[int]:
1641
2294
  """
1642
- The share count for the network interface when the share level is `custom`.
2295
+ The share count for the network interface when the share level is `custom`. Ignored if `adapter_type` is set to `sriov`.
1643
2296
  """
1644
2297
  return pulumi.get(self, "bandwidth_share_count")
1645
2298
 
@@ -1647,7 +2300,7 @@ class VirtualMachineNetworkInterface(dict):
1647
2300
  @pulumi.getter(name="bandwidthShareLevel")
1648
2301
  def bandwidth_share_level(self) -> Optional[str]:
1649
2302
  """
1650
- The bandwidth share allocation level for the network interface. One of `low`, `normal`, `high`, or `custom`. Default: `normal`.
2303
+ The bandwidth share allocation level for the network interface. One of `low`, `normal`, `high`, or `custom`. Default: `normal`. Ignored if `adapter_type` is set to `sriov`.
1651
2304
  """
1652
2305
  return pulumi.get(self, "bandwidth_share_level")
1653
2306
 
@@ -1680,6 +2333,11 @@ class VirtualMachineNetworkInterface(dict):
1680
2333
  """
1681
2334
  return pulumi.get(self, "ovf_mapping")
1682
2335
 
2336
+ @property
2337
+ @pulumi.getter(name="physicalFunction")
2338
+ def physical_function(self) -> Optional[str]:
2339
+ return pulumi.get(self, "physical_function")
2340
+
1683
2341
  @property
1684
2342
  @pulumi.getter(name="useStaticMac")
1685
2343
  def use_static_mac(self) -> Optional[bool]:
@@ -1982,6 +2640,216 @@ class VnicIpv6(dict):
1982
2640
  return pulumi.get(self, "gw")
1983
2641
 
1984
2642
 
2643
+ @pulumi.output_type
2644
+ class GetGuestOsCustomizationSpecResult(dict):
2645
+ def __init__(__self__, *,
2646
+ dns_server_lists: Sequence[str],
2647
+ dns_suffix_lists: Sequence[str],
2648
+ linux_options: Sequence['outputs.GetGuestOsCustomizationSpecLinuxOptionResult'],
2649
+ network_interfaces: Sequence['outputs.GetGuestOsCustomizationSpecNetworkInterfaceResult'],
2650
+ windows_options: Sequence['outputs.GetGuestOsCustomizationSpecWindowsOptionResult'],
2651
+ windows_sysprep_text: str):
2652
+ pulumi.set(__self__, "dns_server_lists", dns_server_lists)
2653
+ pulumi.set(__self__, "dns_suffix_lists", dns_suffix_lists)
2654
+ pulumi.set(__self__, "linux_options", linux_options)
2655
+ pulumi.set(__self__, "network_interfaces", network_interfaces)
2656
+ pulumi.set(__self__, "windows_options", windows_options)
2657
+ pulumi.set(__self__, "windows_sysprep_text", windows_sysprep_text)
2658
+
2659
+ @property
2660
+ @pulumi.getter(name="dnsServerLists")
2661
+ def dns_server_lists(self) -> Sequence[str]:
2662
+ return pulumi.get(self, "dns_server_lists")
2663
+
2664
+ @property
2665
+ @pulumi.getter(name="dnsSuffixLists")
2666
+ def dns_suffix_lists(self) -> Sequence[str]:
2667
+ return pulumi.get(self, "dns_suffix_lists")
2668
+
2669
+ @property
2670
+ @pulumi.getter(name="linuxOptions")
2671
+ def linux_options(self) -> Sequence['outputs.GetGuestOsCustomizationSpecLinuxOptionResult']:
2672
+ return pulumi.get(self, "linux_options")
2673
+
2674
+ @property
2675
+ @pulumi.getter(name="networkInterfaces")
2676
+ def network_interfaces(self) -> Sequence['outputs.GetGuestOsCustomizationSpecNetworkInterfaceResult']:
2677
+ return pulumi.get(self, "network_interfaces")
2678
+
2679
+ @property
2680
+ @pulumi.getter(name="windowsOptions")
2681
+ def windows_options(self) -> Sequence['outputs.GetGuestOsCustomizationSpecWindowsOptionResult']:
2682
+ return pulumi.get(self, "windows_options")
2683
+
2684
+ @property
2685
+ @pulumi.getter(name="windowsSysprepText")
2686
+ def windows_sysprep_text(self) -> str:
2687
+ return pulumi.get(self, "windows_sysprep_text")
2688
+
2689
+
2690
+ @pulumi.output_type
2691
+ class GetGuestOsCustomizationSpecLinuxOptionResult(dict):
2692
+ def __init__(__self__, *,
2693
+ domain: str,
2694
+ host_name: str,
2695
+ hw_clock_utc: bool,
2696
+ script_text: str,
2697
+ time_zone: str):
2698
+ pulumi.set(__self__, "domain", domain)
2699
+ pulumi.set(__self__, "host_name", host_name)
2700
+ pulumi.set(__self__, "hw_clock_utc", hw_clock_utc)
2701
+ pulumi.set(__self__, "script_text", script_text)
2702
+ pulumi.set(__self__, "time_zone", time_zone)
2703
+
2704
+ @property
2705
+ @pulumi.getter
2706
+ def domain(self) -> str:
2707
+ return pulumi.get(self, "domain")
2708
+
2709
+ @property
2710
+ @pulumi.getter(name="hostName")
2711
+ def host_name(self) -> str:
2712
+ return pulumi.get(self, "host_name")
2713
+
2714
+ @property
2715
+ @pulumi.getter(name="hwClockUtc")
2716
+ def hw_clock_utc(self) -> bool:
2717
+ return pulumi.get(self, "hw_clock_utc")
2718
+
2719
+ @property
2720
+ @pulumi.getter(name="scriptText")
2721
+ def script_text(self) -> str:
2722
+ return pulumi.get(self, "script_text")
2723
+
2724
+ @property
2725
+ @pulumi.getter(name="timeZone")
2726
+ def time_zone(self) -> str:
2727
+ return pulumi.get(self, "time_zone")
2728
+
2729
+
2730
+ @pulumi.output_type
2731
+ class GetGuestOsCustomizationSpecNetworkInterfaceResult(dict):
2732
+ def __init__(__self__, *,
2733
+ dns_domain: str,
2734
+ dns_server_lists: Sequence[str],
2735
+ ipv4_address: str,
2736
+ ipv4_netmask: int,
2737
+ ipv6_address: str,
2738
+ ipv6_netmask: int):
2739
+ pulumi.set(__self__, "dns_domain", dns_domain)
2740
+ pulumi.set(__self__, "dns_server_lists", dns_server_lists)
2741
+ pulumi.set(__self__, "ipv4_address", ipv4_address)
2742
+ pulumi.set(__self__, "ipv4_netmask", ipv4_netmask)
2743
+ pulumi.set(__self__, "ipv6_address", ipv6_address)
2744
+ pulumi.set(__self__, "ipv6_netmask", ipv6_netmask)
2745
+
2746
+ @property
2747
+ @pulumi.getter(name="dnsDomain")
2748
+ def dns_domain(self) -> str:
2749
+ return pulumi.get(self, "dns_domain")
2750
+
2751
+ @property
2752
+ @pulumi.getter(name="dnsServerLists")
2753
+ def dns_server_lists(self) -> Sequence[str]:
2754
+ return pulumi.get(self, "dns_server_lists")
2755
+
2756
+ @property
2757
+ @pulumi.getter(name="ipv4Address")
2758
+ def ipv4_address(self) -> str:
2759
+ return pulumi.get(self, "ipv4_address")
2760
+
2761
+ @property
2762
+ @pulumi.getter(name="ipv4Netmask")
2763
+ def ipv4_netmask(self) -> int:
2764
+ return pulumi.get(self, "ipv4_netmask")
2765
+
2766
+ @property
2767
+ @pulumi.getter(name="ipv6Address")
2768
+ def ipv6_address(self) -> str:
2769
+ return pulumi.get(self, "ipv6_address")
2770
+
2771
+ @property
2772
+ @pulumi.getter(name="ipv6Netmask")
2773
+ def ipv6_netmask(self) -> int:
2774
+ return pulumi.get(self, "ipv6_netmask")
2775
+
2776
+
2777
+ @pulumi.output_type
2778
+ class GetGuestOsCustomizationSpecWindowsOptionResult(dict):
2779
+ def __init__(__self__, *,
2780
+ admin_password: str,
2781
+ auto_logon: bool,
2782
+ auto_logon_count: int,
2783
+ computer_name: str,
2784
+ domain_admin_user: str,
2785
+ join_domain: str,
2786
+ run_once_command_lists: Sequence[str],
2787
+ time_zone: int,
2788
+ workgroup: str,
2789
+ domain_admin_password: Optional[str] = None):
2790
+ pulumi.set(__self__, "admin_password", admin_password)
2791
+ pulumi.set(__self__, "auto_logon", auto_logon)
2792
+ pulumi.set(__self__, "auto_logon_count", auto_logon_count)
2793
+ pulumi.set(__self__, "computer_name", computer_name)
2794
+ pulumi.set(__self__, "domain_admin_user", domain_admin_user)
2795
+ pulumi.set(__self__, "join_domain", join_domain)
2796
+ pulumi.set(__self__, "run_once_command_lists", run_once_command_lists)
2797
+ pulumi.set(__self__, "time_zone", time_zone)
2798
+ pulumi.set(__self__, "workgroup", workgroup)
2799
+ if domain_admin_password is not None:
2800
+ pulumi.set(__self__, "domain_admin_password", domain_admin_password)
2801
+
2802
+ @property
2803
+ @pulumi.getter(name="adminPassword")
2804
+ def admin_password(self) -> str:
2805
+ return pulumi.get(self, "admin_password")
2806
+
2807
+ @property
2808
+ @pulumi.getter(name="autoLogon")
2809
+ def auto_logon(self) -> bool:
2810
+ return pulumi.get(self, "auto_logon")
2811
+
2812
+ @property
2813
+ @pulumi.getter(name="autoLogonCount")
2814
+ def auto_logon_count(self) -> int:
2815
+ return pulumi.get(self, "auto_logon_count")
2816
+
2817
+ @property
2818
+ @pulumi.getter(name="computerName")
2819
+ def computer_name(self) -> str:
2820
+ return pulumi.get(self, "computer_name")
2821
+
2822
+ @property
2823
+ @pulumi.getter(name="domainAdminUser")
2824
+ def domain_admin_user(self) -> str:
2825
+ return pulumi.get(self, "domain_admin_user")
2826
+
2827
+ @property
2828
+ @pulumi.getter(name="joinDomain")
2829
+ def join_domain(self) -> str:
2830
+ return pulumi.get(self, "join_domain")
2831
+
2832
+ @property
2833
+ @pulumi.getter(name="runOnceCommandLists")
2834
+ def run_once_command_lists(self) -> Sequence[str]:
2835
+ return pulumi.get(self, "run_once_command_lists")
2836
+
2837
+ @property
2838
+ @pulumi.getter(name="timeZone")
2839
+ def time_zone(self) -> int:
2840
+ return pulumi.get(self, "time_zone")
2841
+
2842
+ @property
2843
+ @pulumi.getter
2844
+ def workgroup(self) -> str:
2845
+ return pulumi.get(self, "workgroup")
2846
+
2847
+ @property
2848
+ @pulumi.getter(name="domainAdminPassword")
2849
+ def domain_admin_password(self) -> Optional[str]:
2850
+ return pulumi.get(self, "domain_admin_password")
2851
+
2852
+
1985
2853
  @pulumi.output_type
1986
2854
  class GetVirtualMachineDiskResult(dict):
1987
2855
  def __init__(__self__, *,