pulumi-vsphere 4.10.0a1710245029__py3-none-any.whl → 4.13.0a1736836157__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.

Potentially problematic release.


This version of pulumi-vsphere might be problematic. Click here for more details.

Files changed (85) hide show
  1. pulumi_vsphere/__init__.py +28 -0
  2. pulumi_vsphere/_inputs.py +1816 -277
  3. pulumi_vsphere/_utilities.py +41 -5
  4. pulumi_vsphere/compute_cluster.py +937 -1488
  5. pulumi_vsphere/compute_cluster_host_group.py +67 -2
  6. pulumi_vsphere/compute_cluster_vm_affinity_rule.py +69 -34
  7. pulumi_vsphere/compute_cluster_vm_anti_affinity_rule.py +41 -2
  8. pulumi_vsphere/compute_cluster_vm_dependency_rule.py +205 -2
  9. pulumi_vsphere/compute_cluster_vm_group.py +198 -2
  10. pulumi_vsphere/compute_cluster_vm_host_rule.py +73 -2
  11. pulumi_vsphere/config/__init__.pyi +5 -0
  12. pulumi_vsphere/config/vars.py +5 -0
  13. pulumi_vsphere/content_library.py +113 -12
  14. pulumi_vsphere/content_library_item.py +143 -2
  15. pulumi_vsphere/custom_attribute.py +77 -2
  16. pulumi_vsphere/datacenter.py +48 -40
  17. pulumi_vsphere/datastore_cluster.py +217 -366
  18. pulumi_vsphere/datastore_cluster_vm_anti_affinity_rule.py +159 -2
  19. pulumi_vsphere/distributed_port_group.py +416 -189
  20. pulumi_vsphere/distributed_virtual_switch.py +571 -830
  21. pulumi_vsphere/dpm_host_override.py +63 -2
  22. pulumi_vsphere/drs_vm_override.py +67 -2
  23. pulumi_vsphere/entity_permissions.py +64 -38
  24. pulumi_vsphere/file.py +21 -24
  25. pulumi_vsphere/folder.py +148 -30
  26. pulumi_vsphere/get_compute_cluster.py +16 -9
  27. pulumi_vsphere/get_compute_cluster_host_group.py +36 -25
  28. pulumi_vsphere/get_content_library.py +23 -15
  29. pulumi_vsphere/get_content_library_item.py +29 -13
  30. pulumi_vsphere/get_custom_attribute.py +14 -9
  31. pulumi_vsphere/get_datacenter.py +30 -12
  32. pulumi_vsphere/get_datastore.py +29 -21
  33. pulumi_vsphere/get_datastore_cluster.py +31 -10
  34. pulumi_vsphere/get_datastore_stats.py +63 -57
  35. pulumi_vsphere/get_distributed_virtual_switch.py +18 -9
  36. pulumi_vsphere/get_dynamic.py +35 -25
  37. pulumi_vsphere/get_folder.py +23 -11
  38. pulumi_vsphere/get_guest_os_customization.py +26 -52
  39. pulumi_vsphere/get_host.py +16 -9
  40. pulumi_vsphere/get_host_base_images.py +104 -0
  41. pulumi_vsphere/get_host_pci_device.py +28 -19
  42. pulumi_vsphere/get_host_thumbprint.py +41 -25
  43. pulumi_vsphere/get_host_vgpu_profile.py +20 -15
  44. pulumi_vsphere/get_license.py +20 -10
  45. pulumi_vsphere/get_network.py +80 -24
  46. pulumi_vsphere/get_ovf_vm_template.py +56 -5
  47. pulumi_vsphere/get_policy.py +13 -9
  48. pulumi_vsphere/get_resource_pool.py +29 -23
  49. pulumi_vsphere/get_role.py +23 -13
  50. pulumi_vsphere/get_tag.py +16 -9
  51. pulumi_vsphere/get_tag_category.py +16 -9
  52. pulumi_vsphere/get_vapp_container.py +15 -9
  53. pulumi_vsphere/get_virtual_machine.py +205 -48
  54. pulumi_vsphere/get_vmfs_disks.py +18 -9
  55. pulumi_vsphere/guest_os_customization.py +60 -5
  56. pulumi_vsphere/ha_vm_override.py +352 -380
  57. pulumi_vsphere/host.py +244 -64
  58. pulumi_vsphere/host_port_group.py +27 -24
  59. pulumi_vsphere/host_virtual_switch.py +209 -289
  60. pulumi_vsphere/license.py +5 -32
  61. pulumi_vsphere/nas_datastore.py +74 -9
  62. pulumi_vsphere/offline_software_depot.py +185 -0
  63. pulumi_vsphere/outputs.py +717 -270
  64. pulumi_vsphere/provider.py +7 -6
  65. pulumi_vsphere/pulumi-plugin.json +2 -1
  66. pulumi_vsphere/resource_pool.py +168 -411
  67. pulumi_vsphere/role.py +33 -2
  68. pulumi_vsphere/storage_drs_vm_override.py +133 -2
  69. pulumi_vsphere/supervisor.py +967 -0
  70. pulumi_vsphere/tag.py +159 -2
  71. pulumi_vsphere/tag_category.py +83 -2
  72. pulumi_vsphere/vapp_container.py +163 -2
  73. pulumi_vsphere/vapp_entity.py +147 -2
  74. pulumi_vsphere/virtual_disk.py +123 -36
  75. pulumi_vsphere/virtual_machine.py +698 -829
  76. pulumi_vsphere/virtual_machine_class.py +447 -0
  77. pulumi_vsphere/virtual_machine_snapshot.py +13 -12
  78. pulumi_vsphere/vm_storage_policy.py +120 -127
  79. pulumi_vsphere/vmfs_datastore.py +271 -2
  80. pulumi_vsphere/vnic.py +104 -105
  81. {pulumi_vsphere-4.10.0a1710245029.dist-info → pulumi_vsphere-4.13.0a1736836157.dist-info}/METADATA +7 -6
  82. pulumi_vsphere-4.13.0a1736836157.dist-info/RECORD +86 -0
  83. {pulumi_vsphere-4.10.0a1710245029.dist-info → pulumi_vsphere-4.13.0a1736836157.dist-info}/WHEEL +1 -1
  84. pulumi_vsphere-4.10.0a1710245029.dist-info/RECORD +0 -82
  85. {pulumi_vsphere-4.10.0a1710245029.dist-info → pulumi_vsphere-4.13.0a1736836157.dist-info}/top_level.txt +0 -0
pulumi_vsphere/license.py CHANGED
@@ -4,9 +4,14 @@
4
4
 
5
5
  import copy
6
6
  import warnings
7
+ import sys
7
8
  import pulumi
8
9
  import pulumi.runtime
9
10
  from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
10
15
  from . import _utilities
11
16
 
12
17
  __all__ = ['LicenseArgs', 'License']
@@ -165,22 +170,6 @@ class License(pulumi.CustomResource):
165
170
  """
166
171
  Provides a VMware vSphere license resource. This can be used to add and remove license keys.
167
172
 
168
- ## Example Usage
169
-
170
- <!--Start PulumiCodeChooser -->
171
- ```python
172
- import pulumi
173
- import pulumi_vsphere as vsphere
174
-
175
- license_key = vsphere.License("licenseKey",
176
- labels={
177
- "VpxClientLicenseLabel": "Hello World",
178
- "Workflow": "Hello World",
179
- },
180
- license_key="452CQ-2EK54-K8742-00000-00000")
181
- ```
182
- <!--End PulumiCodeChooser -->
183
-
184
173
  :param str resource_name: The name of the resource.
185
174
  :param pulumi.ResourceOptions opts: Options for the resource.
186
175
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: A map of key/value pairs to be attached as labels (tags) to the license key.
@@ -195,22 +184,6 @@ class License(pulumi.CustomResource):
195
184
  """
196
185
  Provides a VMware vSphere license resource. This can be used to add and remove license keys.
197
186
 
198
- ## Example Usage
199
-
200
- <!--Start PulumiCodeChooser -->
201
- ```python
202
- import pulumi
203
- import pulumi_vsphere as vsphere
204
-
205
- license_key = vsphere.License("licenseKey",
206
- labels={
207
- "VpxClientLicenseLabel": "Hello World",
208
- "Workflow": "Hello World",
209
- },
210
- license_key="452CQ-2EK54-K8742-00000-00000")
211
- ```
212
- <!--End PulumiCodeChooser -->
213
-
214
187
  :param str resource_name: The name of the resource.
215
188
  :param LicenseArgs args: The arguments to use to populate this resource's properties.
216
189
  :param pulumi.ResourceOptions opts: Options for the resource.
@@ -4,9 +4,14 @@
4
4
 
5
5
  import copy
6
6
  import warnings
7
+ import sys
7
8
  import pulumi
8
9
  import pulumi.runtime
9
10
  from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
10
15
  from . import _utilities
11
16
 
12
17
  __all__ = ['NasDatastoreArgs', 'NasDatastore']
@@ -30,7 +35,7 @@ class NasDatastoreArgs:
30
35
  :param pulumi.Input[Sequence[pulumi.Input[str]]] host_system_ids: The managed object IDs of
31
36
  the hosts to mount the datastore on.
32
37
  :param pulumi.Input[Sequence[pulumi.Input[str]]] remote_hosts: The hostnames or IP addresses of the remote
33
- server or servers. Only one element should be present for NFS v3 but multiple
38
+ servers. Only one element should be present for NFS v3 but multiple
34
39
  can be present for NFS v4.1. Forces a new resource if changed.
35
40
  :param pulumi.Input[str] remote_path: The remote path of the mount point. Forces a new
36
41
  resource if changed.
@@ -104,7 +109,7 @@ class NasDatastoreArgs:
104
109
  def remote_hosts(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]:
105
110
  """
106
111
  The hostnames or IP addresses of the remote
107
- server or servers. Only one element should be present for NFS v3 but multiple
112
+ servers. Only one element should be present for NFS v3 but multiple
108
113
  can be present for NFS v4.1. Forces a new resource if changed.
109
114
  """
110
115
  return pulumi.get(self, "remote_hosts")
@@ -303,7 +308,7 @@ class _NasDatastoreState:
303
308
  :param pulumi.Input[bool] protocol_endpoint: Indicates that this NAS volume is a protocol endpoint.
304
309
  This field is only populated if the host supports virtual datastores.
305
310
  :param pulumi.Input[Sequence[pulumi.Input[str]]] remote_hosts: The hostnames or IP addresses of the remote
306
- server or servers. Only one element should be present for NFS v3 but multiple
311
+ servers. Only one element should be present for NFS v3 but multiple
307
312
  can be present for NFS v4.1. Forces a new resource if changed.
308
313
  :param pulumi.Input[str] remote_path: The remote path of the mount point. Forces a new
309
314
  resource if changed.
@@ -529,7 +534,7 @@ class _NasDatastoreState:
529
534
  def remote_hosts(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
530
535
  """
531
536
  The hostnames or IP addresses of the remote
532
- server or servers. Only one element should be present for NFS v3 but multiple
537
+ servers. Only one element should be present for NFS v3 but multiple
533
538
  can be present for NFS v4.1. Forces a new resource if changed.
534
539
  """
535
540
  return pulumi.get(self, "remote_hosts")
@@ -638,7 +643,37 @@ class NasDatastore(pulumi.CustomResource):
638
643
  type: Optional[pulumi.Input[str]] = None,
639
644
  __props__=None):
640
645
  """
641
- Create a NasDatastore resource with the given unique name, props, and options.
646
+ The `NasDatastore` resource can be used to create and manage NAS
647
+ datastores on an ESXi host or a set of hosts. The resource supports mounting
648
+ NFS v3 and v4.1 shares to be used as datastores.
649
+
650
+ > **NOTE:** Unlike `VmfsDatastore`, a NAS
651
+ datastore is only mounted on the hosts you choose to mount it on. To mount on
652
+ multiple hosts, you must specify each host that you want to add in the
653
+ `host_system_ids` argument.
654
+
655
+ ## Import
656
+
657
+ An existing NAS datastore can be imported into this resource via
658
+
659
+ its managed object ID, via the following command:
660
+
661
+ ```sh
662
+ $ pulumi import vsphere:index/nasDatastore:NasDatastore datastore datastore-123
663
+ ```
664
+
665
+ You need a tool like [`govc`][ext-govc] that can display managed object IDs.
666
+
667
+ [ext-govc]: https://github.com/vmware/govmomi/tree/master/govc
668
+
669
+ In the case of govc, you can locate a managed object ID from an inventory path
670
+
671
+ by doing the following:
672
+
673
+ $ govc ls -i /dc/datastore/terraform-test
674
+
675
+ Datastore:datastore-123
676
+
642
677
  :param str resource_name: The name of the resource.
643
678
  :param pulumi.ResourceOptions opts: Options for the resource.
644
679
  :param pulumi.Input[str] access_mode: Access mode for the mount point. Can be one of
@@ -665,7 +700,7 @@ class NasDatastore(pulumi.CustomResource):
665
700
  :param pulumi.Input[str] name: The name of the datastore. Forces a new resource if
666
701
  changed.
667
702
  :param pulumi.Input[Sequence[pulumi.Input[str]]] remote_hosts: The hostnames or IP addresses of the remote
668
- server or servers. Only one element should be present for NFS v3 but multiple
703
+ servers. Only one element should be present for NFS v3 but multiple
669
704
  can be present for NFS v4.1. Forces a new resource if changed.
670
705
  :param pulumi.Input[str] remote_path: The remote path of the mount point. Forces a new
671
706
  resource if changed.
@@ -687,7 +722,37 @@ class NasDatastore(pulumi.CustomResource):
687
722
  args: NasDatastoreArgs,
688
723
  opts: Optional[pulumi.ResourceOptions] = None):
689
724
  """
690
- Create a NasDatastore resource with the given unique name, props, and options.
725
+ The `NasDatastore` resource can be used to create and manage NAS
726
+ datastores on an ESXi host or a set of hosts. The resource supports mounting
727
+ NFS v3 and v4.1 shares to be used as datastores.
728
+
729
+ > **NOTE:** Unlike `VmfsDatastore`, a NAS
730
+ datastore is only mounted on the hosts you choose to mount it on. To mount on
731
+ multiple hosts, you must specify each host that you want to add in the
732
+ `host_system_ids` argument.
733
+
734
+ ## Import
735
+
736
+ An existing NAS datastore can be imported into this resource via
737
+
738
+ its managed object ID, via the following command:
739
+
740
+ ```sh
741
+ $ pulumi import vsphere:index/nasDatastore:NasDatastore datastore datastore-123
742
+ ```
743
+
744
+ You need a tool like [`govc`][ext-govc] that can display managed object IDs.
745
+
746
+ [ext-govc]: https://github.com/vmware/govmomi/tree/master/govc
747
+
748
+ In the case of govc, you can locate a managed object ID from an inventory path
749
+
750
+ by doing the following:
751
+
752
+ $ govc ls -i /dc/datastore/terraform-test
753
+
754
+ Datastore:datastore-123
755
+
691
756
  :param str resource_name: The name of the resource.
692
757
  :param NasDatastoreArgs args: The arguments to use to populate this resource's properties.
693
758
  :param pulumi.ResourceOptions opts: Options for the resource.
@@ -817,7 +882,7 @@ class NasDatastore(pulumi.CustomResource):
817
882
  :param pulumi.Input[bool] protocol_endpoint: Indicates that this NAS volume is a protocol endpoint.
818
883
  This field is only populated if the host supports virtual datastores.
819
884
  :param pulumi.Input[Sequence[pulumi.Input[str]]] remote_hosts: The hostnames or IP addresses of the remote
820
- server or servers. Only one element should be present for NFS v3 but multiple
885
+ servers. Only one element should be present for NFS v3 but multiple
821
886
  can be present for NFS v4.1. Forces a new resource if changed.
822
887
  :param pulumi.Input[str] remote_path: The remote path of the mount point. Forces a new
823
888
  resource if changed.
@@ -981,7 +1046,7 @@ class NasDatastore(pulumi.CustomResource):
981
1046
  def remote_hosts(self) -> pulumi.Output[Sequence[str]]:
982
1047
  """
983
1048
  The hostnames or IP addresses of the remote
984
- server or servers. Only one element should be present for NFS v3 but multiple
1049
+ servers. Only one element should be present for NFS v3 but multiple
985
1050
  can be present for NFS v4.1. Forces a new resource if changed.
986
1051
  """
987
1052
  return pulumi.get(self, "remote_hosts")
@@ -0,0 +1,185 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from . import _utilities
16
+ from . import outputs
17
+ from ._inputs import *
18
+
19
+ __all__ = ['OfflineSoftwareDepotArgs', 'OfflineSoftwareDepot']
20
+
21
+ @pulumi.input_type
22
+ class OfflineSoftwareDepotArgs:
23
+ def __init__(__self__, *,
24
+ location: pulumi.Input[str]):
25
+ """
26
+ The set of arguments for constructing a OfflineSoftwareDepot resource.
27
+ :param pulumi.Input[str] location: The URL where the depot source is hosted.
28
+ """
29
+ pulumi.set(__self__, "location", location)
30
+
31
+ @property
32
+ @pulumi.getter
33
+ def location(self) -> pulumi.Input[str]:
34
+ """
35
+ The URL where the depot source is hosted.
36
+ """
37
+ return pulumi.get(self, "location")
38
+
39
+ @location.setter
40
+ def location(self, value: pulumi.Input[str]):
41
+ pulumi.set(self, "location", value)
42
+
43
+
44
+ @pulumi.input_type
45
+ class _OfflineSoftwareDepotState:
46
+ def __init__(__self__, *,
47
+ components: Optional[pulumi.Input[Sequence[pulumi.Input['OfflineSoftwareDepotComponentArgs']]]] = None,
48
+ location: Optional[pulumi.Input[str]] = None):
49
+ """
50
+ Input properties used for looking up and filtering OfflineSoftwareDepot resources.
51
+ :param pulumi.Input[Sequence[pulumi.Input['OfflineSoftwareDepotComponentArgs']]] components: The list of custom components in the depot.
52
+ :param pulumi.Input[str] location: The URL where the depot source is hosted.
53
+ """
54
+ if components is not None:
55
+ pulumi.set(__self__, "components", components)
56
+ if location is not None:
57
+ pulumi.set(__self__, "location", location)
58
+
59
+ @property
60
+ @pulumi.getter
61
+ def components(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OfflineSoftwareDepotComponentArgs']]]]:
62
+ """
63
+ The list of custom components in the depot.
64
+ """
65
+ return pulumi.get(self, "components")
66
+
67
+ @components.setter
68
+ def components(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OfflineSoftwareDepotComponentArgs']]]]):
69
+ pulumi.set(self, "components", value)
70
+
71
+ @property
72
+ @pulumi.getter
73
+ def location(self) -> Optional[pulumi.Input[str]]:
74
+ """
75
+ The URL where the depot source is hosted.
76
+ """
77
+ return pulumi.get(self, "location")
78
+
79
+ @location.setter
80
+ def location(self, value: Optional[pulumi.Input[str]]):
81
+ pulumi.set(self, "location", value)
82
+
83
+
84
+ class OfflineSoftwareDepot(pulumi.CustomResource):
85
+ @overload
86
+ def __init__(__self__,
87
+ resource_name: str,
88
+ opts: Optional[pulumi.ResourceOptions] = None,
89
+ location: Optional[pulumi.Input[str]] = None,
90
+ __props__=None):
91
+ """
92
+ Provides a VMware vSphere offline software depot resource.
93
+
94
+ ## Example Usage
95
+
96
+ :param str resource_name: The name of the resource.
97
+ :param pulumi.ResourceOptions opts: Options for the resource.
98
+ :param pulumi.Input[str] location: The URL where the depot source is hosted.
99
+ """
100
+ ...
101
+ @overload
102
+ def __init__(__self__,
103
+ resource_name: str,
104
+ args: OfflineSoftwareDepotArgs,
105
+ opts: Optional[pulumi.ResourceOptions] = None):
106
+ """
107
+ Provides a VMware vSphere offline software depot resource.
108
+
109
+ ## Example Usage
110
+
111
+ :param str resource_name: The name of the resource.
112
+ :param OfflineSoftwareDepotArgs args: The arguments to use to populate this resource's properties.
113
+ :param pulumi.ResourceOptions opts: Options for the resource.
114
+ """
115
+ ...
116
+ def __init__(__self__, resource_name: str, *args, **kwargs):
117
+ resource_args, opts = _utilities.get_resource_args_opts(OfflineSoftwareDepotArgs, pulumi.ResourceOptions, *args, **kwargs)
118
+ if resource_args is not None:
119
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
120
+ else:
121
+ __self__._internal_init(resource_name, *args, **kwargs)
122
+
123
+ def _internal_init(__self__,
124
+ resource_name: str,
125
+ opts: Optional[pulumi.ResourceOptions] = None,
126
+ location: Optional[pulumi.Input[str]] = None,
127
+ __props__=None):
128
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
129
+ if not isinstance(opts, pulumi.ResourceOptions):
130
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
131
+ if opts.id is None:
132
+ if __props__ is not None:
133
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
134
+ __props__ = OfflineSoftwareDepotArgs.__new__(OfflineSoftwareDepotArgs)
135
+
136
+ if location is None and not opts.urn:
137
+ raise TypeError("Missing required property 'location'")
138
+ __props__.__dict__["location"] = location
139
+ __props__.__dict__["components"] = None
140
+ super(OfflineSoftwareDepot, __self__).__init__(
141
+ 'vsphere:index/offlineSoftwareDepot:OfflineSoftwareDepot',
142
+ resource_name,
143
+ __props__,
144
+ opts)
145
+
146
+ @staticmethod
147
+ def get(resource_name: str,
148
+ id: pulumi.Input[str],
149
+ opts: Optional[pulumi.ResourceOptions] = None,
150
+ components: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OfflineSoftwareDepotComponentArgs', 'OfflineSoftwareDepotComponentArgsDict']]]]] = None,
151
+ location: Optional[pulumi.Input[str]] = None) -> 'OfflineSoftwareDepot':
152
+ """
153
+ Get an existing OfflineSoftwareDepot resource's state with the given name, id, and optional extra
154
+ properties used to qualify the lookup.
155
+
156
+ :param str resource_name: The unique name of the resulting resource.
157
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
158
+ :param pulumi.ResourceOptions opts: Options for the resource.
159
+ :param pulumi.Input[Sequence[pulumi.Input[Union['OfflineSoftwareDepotComponentArgs', 'OfflineSoftwareDepotComponentArgsDict']]]] components: The list of custom components in the depot.
160
+ :param pulumi.Input[str] location: The URL where the depot source is hosted.
161
+ """
162
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
163
+
164
+ __props__ = _OfflineSoftwareDepotState.__new__(_OfflineSoftwareDepotState)
165
+
166
+ __props__.__dict__["components"] = components
167
+ __props__.__dict__["location"] = location
168
+ return OfflineSoftwareDepot(resource_name, opts=opts, __props__=__props__)
169
+
170
+ @property
171
+ @pulumi.getter
172
+ def components(self) -> pulumi.Output[Sequence['outputs.OfflineSoftwareDepotComponent']]:
173
+ """
174
+ The list of custom components in the depot.
175
+ """
176
+ return pulumi.get(self, "components")
177
+
178
+ @property
179
+ @pulumi.getter
180
+ def location(self) -> pulumi.Output[str]:
181
+ """
182
+ The URL where the depot source is hosted.
183
+ """
184
+ return pulumi.get(self, "location")
185
+