From c4a25377c34ac1180d6c411db9b58c19d153d195 Mon Sep 17 00:00:00 2001 From: pulumi-bot Date: Tue, 3 Oct 2023 01:45:18 +0000 Subject: [PATCH 1/2] make tfgen --- examples/go.mod | 6 +-- examples/go.sum | 20 ++++------ .../cmd/pulumi-resource-vsphere/schema.json | 38 +++++++++---------- provider/go.mod | 8 ++-- provider/go.sum | 23 +++++------ sdk/go.mod | 2 +- sdk/go.sum | 4 +- 7 files changed, 46 insertions(+), 55 deletions(-) diff --git a/examples/go.mod b/examples/go.mod index 59aeac1e..a5a43b3a 100644 --- a/examples/go.mod +++ b/examples/go.mod @@ -2,7 +2,7 @@ module github.com/pulumi/pulumi-vsphere/examples/v4 go 1.21 -require github.com/pulumi/pulumi/pkg/v3 v3.81.0 +require github.com/pulumi/pulumi/pkg/v3 v3.86.0 require ( cloud.google.com/go v0.110.4 // indirect @@ -13,7 +13,7 @@ require ( cloud.google.com/go/logging v1.7.0 // indirect cloud.google.com/go/longrunning v0.5.1 // indirect cloud.google.com/go/storage v1.30.1 // indirect - github.com/AlecAivazis/survey/v2 v2.0.5 // indirect + github.com/AlecAivazis/survey/v2 v2.3.7 // indirect github.com/Azure/azure-sdk-for-go v66.0.0+incompatible // indirect github.com/Azure/azure-sdk-for-go/sdk/azcore v1.1.1 // indirect github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.0.0 // indirect @@ -155,7 +155,7 @@ require ( github.com/pkg/errors v0.9.1 // indirect github.com/pkg/term v1.1.0 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/pulumi/pulumi/sdk/v3 v3.81.0 // indirect + github.com/pulumi/pulumi/sdk/v3 v3.86.0 // indirect github.com/rivo/uniseg v0.4.4 // indirect github.com/rogpeppe/go-internal v1.9.0 // indirect github.com/ryanuber/go-glob v1.0.0 // indirect diff --git a/examples/go.sum b/examples/go.sum index 51fe6788..277bc91b 100644 --- a/examples/go.sum +++ b/examples/go.sum @@ -93,8 +93,8 @@ contrib.go.opencensus.io/exporter/stackdriver v0.13.13/go.mod h1:5pSSGY0Bhuk7waT contrib.go.opencensus.io/integrations/ocsql v0.1.7/go.mod h1:8DsSdjz3F+APR+0z0WkU1aRorQCFfRxvqjUUPMbF3fE= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= github.com/AdaLogics/go-fuzz-headers v0.0.0-20210715213245-6c3934b029d8/go.mod h1:CzsSbkDixRphAF5hS6wbMKq0eI6ccJRb7/A0M6JBnwg= -github.com/AlecAivazis/survey/v2 v2.0.5 h1:xpZp+Q55wi5C7Iaze+40onHnEkex1jSc34CltJjOoPM= -github.com/AlecAivazis/survey/v2 v2.0.5/go.mod h1:WYBhg6f0y/fNYUuesWQc0PKbJcEliGcYHB9sNT3Bg74= +github.com/AlecAivazis/survey/v2 v2.3.7 h1:6I/u8FvytdGsgonrYsVn2t8t4QiRnh6QSTqkkhIiSjQ= +github.com/AlecAivazis/survey/v2 v2.3.7/go.mod h1:xUTIdE4KCOIjsBAE1JYsUPoCqYdZ1reCfTwbto0Fduo= github.com/Azure/azure-amqp-common-go/v3 v3.2.3/go.mod h1:7rPmbSfszeovxGfc5fSAXE4ehlXQZHpMja2OtxC2Tas= github.com/Azure/azure-sdk-for-go v16.2.1+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= github.com/Azure/azure-sdk-for-go v63.0.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= @@ -192,7 +192,6 @@ github.com/Microsoft/hcsshim/test v0.0.0-20201218223536-d3e5debf77da/go.mod h1:5 github.com/Microsoft/hcsshim/test v0.0.0-20210227013316-43a75bb4edd3/go.mod h1:mw7qgWloBUl75W/gVH3cQszUg1+gUITj7D6NY7ywVnY= github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ= github.com/NYTimes/gziphandler v1.1.1/go.mod h1:n/CVRwUEOgIxrgPvAQhUUr9oeUtvrhMomdKFjzJNB0c= -github.com/Netflix/go-expect v0.0.0-20180615182759-c93bf25de8e8/go.mod h1:oX5x61PbNXchhh0oikYAH+4Pcfw5LKv21+Jnpr6r6Pc= github.com/Netflix/go-expect v0.0.0-20220104043353-73e0943537d2 h1:+vx7roKuyA63nhn5WAunQHLTznkw5W8b1Xc0dNjp83s= github.com/Netflix/go-expect v0.0.0-20220104043353-73e0943537d2/go.mod h1:HBCaDeC1lPdgDeDbhX8XFpy1jqjK0IBG8W5K+xYqA0w= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= @@ -512,6 +511,7 @@ github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46t github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/creack/pty v1.1.11/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= +github.com/creack/pty v1.1.17/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= github.com/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY= github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= github.com/cyphar/filepath-securejoin v0.2.2/go.mod h1:FpkQEhXnPnOthhzymB7CGsFk2G9VLXONKD9G7QGMM+4= @@ -1017,7 +1017,7 @@ github.com/hashicorp/yamux v0.1.1 h1:yrQxtgseBDrq9Y652vSRDvsKCJKOUD+GzTS4Y0Y8pvE github.com/hashicorp/yamux v0.1.1/go.mod h1:CtWFDAQgb7dxtzFs4tWbplKIe2jSi3+5vKbgIO0SLnQ= github.com/hetznercloud/hcloud-go v1.33.1/go.mod h1:XX/TQub3ge0yWR2yHWmnDVIrB+MQbda1pHxkUmDlUME= github.com/hetznercloud/hcloud-go v1.35.0/go.mod h1:mepQwR6va27S3UQthaEPGS86jtzSY9xWL1e9dyxXpgA= -github.com/hinshun/vt10x v0.0.0-20180616224451-1954e6464174/go.mod h1:DqJ97dSdRW1W22yXSB90986pcOyQ7r45iio1KN2ez1A= +github.com/hinshun/vt10x v0.0.0-20220119200601-820417d04eec/go.mod h1:Q48J4R4DvxnHolD5P8pOtXigYlRuPLGl6moFx3ulM68= github.com/hinshun/vt10x v0.0.0-20220301184237-5011da428d02 h1:AgcIVYPa6XJnU3phs104wLj8l5GEththEw6+F79YsIY= github.com/hinshun/vt10x v0.0.0-20220301184237-5011da428d02/go.mod h1:Q48J4R4DvxnHolD5P8pOtXigYlRuPLGl6moFx3ulM68= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= @@ -1142,7 +1142,6 @@ github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NB github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/pty v1.1.4/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/pty v1.1.5/go.mod h1:9r2w37qlBe7rQ6e1fg1S/9xpWHSnaqNdHD3WcMdbPDA= github.com/kr/pty v1.1.8/go.mod h1:O1sed60cT9XZ5uDucP5qwvh+TE3NnUj51EiZO/lmSfw= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= @@ -1464,10 +1463,10 @@ github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1 github.com/prometheus/prometheus v0.35.0/go.mod h1:7HaLx5kEPKJ0GDgbODG0fZgXbQ8K/XjZNJXQmbmgQlY= github.com/prometheus/prometheus v0.37.0/go.mod h1:egARUgz+K93zwqsVIAneFlLZefyGOON44WyAp4Xqbbk= github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= -github.com/pulumi/pulumi/pkg/v3 v3.81.0 h1:6rf2farQLszi8inHCu9YdJtDvK0fqNguix51b3FEDRQ= -github.com/pulumi/pulumi/pkg/v3 v3.81.0/go.mod h1:URXozJB/abhxb2yOwa5ywHjT2dqt9SmAX2iLkdcOOl0= -github.com/pulumi/pulumi/sdk/v3 v3.81.0 h1:d711GUpjZK1beNpIKFReC1LBmHXYE684sYWntJWQ4Q0= -github.com/pulumi/pulumi/sdk/v3 v3.81.0/go.mod h1:RMilNNVMlmK1h4Nl/qylb9vzbgh4F3mufZoUOnPy98o= +github.com/pulumi/pulumi/pkg/v3 v3.86.0 h1:G4spuT89ZN8lSxT9WkMF/JaP7n+wu7ubEly7Yy8uza0= +github.com/pulumi/pulumi/pkg/v3 v3.86.0/go.mod h1:Qs55gPhUwM/Dua3VRtHXLLlpY8uEe+llDBIZc+1pvHM= +github.com/pulumi/pulumi/sdk/v3 v3.86.0 h1:Cxg0rGdvMt9GqGvesFTj8+WaO/ihmALYlQf4zm1GzFw= +github.com/pulumi/pulumi/sdk/v3 v3.86.0/go.mod h1:vexSGJ5L834l3T7Fo/KpdywjGAgZ2CvChuqGFl+ebS0= github.com/rakyll/embedmd v0.0.0-20171029212350-c8060a0752a2/go.mod h1:7jOTMgqac46PZcF54q6l2hkLEG8op93fZu61KmxWDV4= github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= github.com/rivo/uniseg v0.1.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= @@ -1570,7 +1569,6 @@ github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSS github.com/stretchr/objx v0.5.0 h1:1zr/of2m5FGMsad5YfcqgdqdWrIhu+EBEJRhR1U7z/c= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/testify v0.0.0-20180303142811-b89eecf5ca5d/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= -github.com/stretchr/testify v1.2.1/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= @@ -1759,7 +1757,6 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk golang.org/x/crypto v0.0.0-20190411191339-88737f569e3a/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE= golang.org/x/crypto v0.0.0-20190422162423-af44ce270edf/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190530122614-20be4c3c3ed5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= @@ -1980,7 +1977,6 @@ golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190514135907-3a4b5fb9f71f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190522044717-8097e1b27ff5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190530182044-ad28b68e88f1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190531175056-4c3a928424d2/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190602015325-4c4f7f33c9ed/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= diff --git a/provider/cmd/pulumi-resource-vsphere/schema.json b/provider/cmd/pulumi-resource-vsphere/schema.json index 700a3615..42c56aee 100644 --- a/provider/cmd/pulumi-resource-vsphere/schema.json +++ b/provider/cmd/pulumi-resource-vsphere/schema.json @@ -385,7 +385,7 @@ }, "datastoreId": { "type": "string", - "description": "The managed object reference ID of the datastore in which to place the virtual machine. The virtual machine configuration files is placed here, along with any virtual disks that are created where a datastore is not explicitly specified. See the section on virtual machine migration for more information on modifying this value.\n\n\u003e **NOTE:** Datastores cannot be assigned to individual disks when `datastore_cluster_id` is used.\n" + "description": "The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `client_device`.\n" }, "deviceAddress": { "type": "string" @@ -396,7 +396,7 @@ }, "path": { "type": "string", - "description": "When using `attach`, this parameter controls the path of a virtual disk to attach externally. Otherwise, it is a computed attribute that contains the virtual disk filename.\n\n\u003e **NOTE:** Either `client_device` (for a remote backed CD-ROM) or `datastore_id` and `path` (for a datastore ISO backed CD-ROM) are required to .\n\n\u003e **NOTE:** Some CD-ROM drive types are not supported by this resource, such as pass-through devices. If these drives are present in a cloned template, or added outside of the provider, the desired state will be corrected to the defined device, or removed if no `cdrom` block is present.\n" + "description": "The path to the ISO file. Required for using a datastore ISO. Conflicts with `client_device`.\n\n\u003e **NOTE:** Either `client_device` (for a remote backed CD-ROM) or `datastore_id` and `path` (for a datastore ISO backed CD-ROM) are required to .\n\n\u003e **NOTE:** Some CD-ROM drive types are not supported by this resource, such as pass-through devices. If these drives are present in a cloned template, or added outside of the provider, the desired state will be corrected to the defined device, or removed if no `cdrom` block is present.\n" } }, "type": "object", @@ -600,7 +600,7 @@ }, "datastoreId": { "type": "string", - "description": "The managed object reference ID of the datastore in which to place the virtual machine. The virtual machine configuration files is placed here, along with any virtual disks that are created where a datastore is not explicitly specified. See the section on virtual machine migration for more information on modifying this value.\n\n\u003e **NOTE:** Datastores cannot be assigned to individual disks when `datastore_cluster_id` is used.\n" + "description": "The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `client_device`.\n" }, "deviceAddress": { "type": "string" @@ -646,7 +646,7 @@ }, "path": { "type": "string", - "description": "When using `attach`, this parameter controls the path of a virtual disk to attach externally. Otherwise, it is a computed attribute that contains the virtual disk filename.\n\n\u003e **NOTE:** Either `client_device` (for a remote backed CD-ROM) or `datastore_id` and `path` (for a datastore ISO backed CD-ROM) are required to .\n\n\u003e **NOTE:** Some CD-ROM drive types are not supported by this resource, such as pass-through devices. If these drives are present in a cloned template, or added outside of the provider, the desired state will be corrected to the defined device, or removed if no `cdrom` block is present.\n" + "description": "The path to the ISO file. Required for using a datastore ISO. Conflicts with `client_device`.\n\n\u003e **NOTE:** Either `client_device` (for a remote backed CD-ROM) or `datastore_id` and `path` (for a datastore ISO backed CD-ROM) are required to .\n\n\u003e **NOTE:** Some CD-ROM drive types are not supported by this resource, such as pass-through devices. If these drives are present in a cloned template, or added outside of the provider, the desired state will be corrected to the defined device, or removed if no `cdrom` block is present.\n" }, "size": { "type": "integer", @@ -654,7 +654,7 @@ }, "storagePolicyId": { "type": "string", - "description": "The ID of the storage policy to assign to the home directory of a virtual machine.\n" + "description": "The UUID of the storage policy to assign to the virtual disk.\n" }, "thinProvisioned": { "type": "boolean", @@ -840,7 +840,7 @@ }, "gw": { "type": "string", - "description": "IP address of the default gateway, if DHCP is not set.\n" + "description": "IP address of the default gateway, if DHCP or autoconfig is not set.\n" }, "ip": { "type": "string", @@ -872,7 +872,7 @@ }, "gw": { "type": "string", - "description": "IP address of the default gateway, if DHCP is not set.\n" + "description": "IP address of the default gateway, if DHCP or autoconfig is not set.\n" } }, "type": "object" @@ -2938,7 +2938,7 @@ }, "sdrsFreeSpaceThreshold": { "type": "integer", - "description": "The threshold, in GB, that storage\nDRS uses to make decisions to migrate VMs out of a datastore. Default: `50`\nGB.\nWhen set to `utilization`, `drs_space_utilization_threshold` is used, and\nwhen set to `freeSpace`, `drs_free_space_threshold` is used. Default:\n`utilization`.\n" + "description": "The free space threshold to use.\nWhen set to `utilization`, `drs_space_utilization_threshold` is used, and\nwhen set to `freeSpace`, `drs_free_space_threshold` is used. Default:\n`utilization`.\n" }, "sdrsFreeSpaceThresholdMode": { "type": "string", @@ -2946,7 +2946,7 @@ }, "sdrsFreeSpaceUtilizationDifference": { "type": "integer", - "description": "The threshold, in\npercent of used space, that storage DRS uses to make decisions to migrate VMs\nout of a datastore. Default: `80` percent.\npercent, of difference between space utilization in datastores before storage\nDRS makes decisions to balance the space. Default: `5` percent.\n" + "description": "The threshold, in\npercent, of difference between space utilization in datastores before storage\nDRS makes decisions to balance the space. Default: `5` percent.\n" }, "sdrsIoBalanceAutomationLevel": { "type": "string", @@ -3054,7 +3054,7 @@ }, "sdrsFreeSpaceThreshold": { "type": "integer", - "description": "The threshold, in GB, that storage\nDRS uses to make decisions to migrate VMs out of a datastore. Default: `50`\nGB.\nWhen set to `utilization`, `drs_space_utilization_threshold` is used, and\nwhen set to `freeSpace`, `drs_free_space_threshold` is used. Default:\n`utilization`.\n" + "description": "The free space threshold to use.\nWhen set to `utilization`, `drs_space_utilization_threshold` is used, and\nwhen set to `freeSpace`, `drs_free_space_threshold` is used. Default:\n`utilization`.\n" }, "sdrsFreeSpaceThresholdMode": { "type": "string", @@ -3062,7 +3062,7 @@ }, "sdrsFreeSpaceUtilizationDifference": { "type": "integer", - "description": "The threshold, in\npercent of used space, that storage DRS uses to make decisions to migrate VMs\nout of a datastore. Default: `80` percent.\npercent, of difference between space utilization in datastores before storage\nDRS makes decisions to balance the space. Default: `5` percent.\n" + "description": "The threshold, in\npercent, of difference between space utilization in datastores before storage\nDRS makes decisions to balance the space. Default: `5` percent.\n" }, "sdrsIoBalanceAutomationLevel": { "type": "string", @@ -3171,7 +3171,7 @@ }, "sdrsFreeSpaceThreshold": { "type": "integer", - "description": "The threshold, in GB, that storage\nDRS uses to make decisions to migrate VMs out of a datastore. Default: `50`\nGB.\nWhen set to `utilization`, `drs_space_utilization_threshold` is used, and\nwhen set to `freeSpace`, `drs_free_space_threshold` is used. Default:\n`utilization`.\n" + "description": "The free space threshold to use.\nWhen set to `utilization`, `drs_space_utilization_threshold` is used, and\nwhen set to `freeSpace`, `drs_free_space_threshold` is used. Default:\n`utilization`.\n" }, "sdrsFreeSpaceThresholdMode": { "type": "string", @@ -3179,7 +3179,7 @@ }, "sdrsFreeSpaceUtilizationDifference": { "type": "integer", - "description": "The threshold, in\npercent of used space, that storage DRS uses to make decisions to migrate VMs\nout of a datastore. Default: `80` percent.\npercent, of difference between space utilization in datastores before storage\nDRS makes decisions to balance the space. Default: `5` percent.\n" + "description": "The threshold, in\npercent, of difference between space utilization in datastores before storage\nDRS makes decisions to balance the space. Default: `5` percent.\n" }, "sdrsIoBalanceAutomationLevel": { "type": "string", @@ -8184,7 +8184,7 @@ }, "datastoreId": { "type": "string", - "description": "The managed object reference ID of the datastore in which to place the virtual machine. The virtual machine configuration files is placed here, along with any virtual disks that are created where a datastore is not explicitly specified. See the section on virtual machine migration for more information on modifying this value.\n\n\u003e **NOTE:** Datastores cannot be assigned to individual disks when `datastore_cluster_id` is used.\n" + "description": "The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `client_device`.\n" }, "defaultIpAddress": { "type": "string", @@ -8406,7 +8406,7 @@ }, "storagePolicyId": { "type": "string", - "description": "The ID of the storage policy to assign to the home directory of a virtual machine.\n" + "description": "The UUID of the storage policy to assign to the virtual disk.\n" }, "swapPlacementPolicy": { "type": "string", @@ -8576,7 +8576,7 @@ }, "datastoreId": { "type": "string", - "description": "The managed object reference ID of the datastore in which to place the virtual machine. The virtual machine configuration files is placed here, along with any virtual disks that are created where a datastore is not explicitly specified. See the section on virtual machine migration for more information on modifying this value.\n\n\u003e **NOTE:** Datastores cannot be assigned to individual disks when `datastore_cluster_id` is used.\n" + "description": "The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `client_device`.\n" }, "disks": { "type": "array", @@ -8772,7 +8772,7 @@ }, "storagePolicyId": { "type": "string", - "description": "The ID of the storage policy to assign to the home directory of a virtual machine.\n" + "description": "The UUID of the storage policy to assign to the virtual disk.\n" }, "swapPlacementPolicy": { "type": "string", @@ -8908,7 +8908,7 @@ }, "datastoreId": { "type": "string", - "description": "The managed object reference ID of the datastore in which to place the virtual machine. The virtual machine configuration files is placed here, along with any virtual disks that are created where a datastore is not explicitly specified. See the section on virtual machine migration for more information on modifying this value.\n\n\u003e **NOTE:** Datastores cannot be assigned to individual disks when `datastore_cluster_id` is used.\n" + "description": "The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `client_device`.\n" }, "defaultIpAddress": { "type": "string", @@ -9131,7 +9131,7 @@ }, "storagePolicyId": { "type": "string", - "description": "The ID of the storage policy to assign to the home directory of a virtual machine.\n" + "description": "The UUID of the storage policy to assign to the virtual disk.\n" }, "swapPlacementPolicy": { "type": "string", diff --git a/provider/go.mod b/provider/go.mod index 4345ebe2..cb3c951b 100644 --- a/provider/go.mod +++ b/provider/go.mod @@ -11,8 +11,8 @@ replace ( require ( github.com/hashicorp/terraform-provider-vsphere v2.3.1+incompatible - github.com/pulumi/pulumi-terraform-bridge/v3 v3.60.0 - github.com/pulumi/pulumi/sdk/v3 v3.81.0 + github.com/pulumi/pulumi-terraform-bridge/v3 v3.61.0 + github.com/pulumi/pulumi/sdk/v3 v3.86.0 ) require ( @@ -25,7 +25,7 @@ require ( cloud.google.com/go/longrunning v0.5.1 // indirect cloud.google.com/go/storage v1.30.1 // indirect dario.cat/mergo v1.0.0 // indirect - github.com/AlecAivazis/survey/v2 v2.0.5 // indirect + github.com/AlecAivazis/survey/v2 v2.3.7 // indirect github.com/Azure/azure-sdk-for-go v66.0.0+incompatible // indirect github.com/Azure/azure-sdk-for-go/sdk/azcore v1.1.1 // indirect github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.0.0 // indirect @@ -200,7 +200,7 @@ require ( github.com/pulumi/pulumi-java/pkg v0.9.6 // indirect github.com/pulumi/pulumi-terraform-bridge/x/muxer v0.0.4 // indirect github.com/pulumi/pulumi-yaml v1.2.2 // indirect - github.com/pulumi/pulumi/pkg/v3 v3.81.0 // indirect + github.com/pulumi/pulumi/pkg/v3 v3.86.0 // indirect github.com/pulumi/schema-tools v0.1.2 // indirect github.com/pulumi/terraform-diff-reader v0.0.2 // indirect github.com/rivo/uniseg v0.4.4 // indirect diff --git a/provider/go.sum b/provider/go.sum index 97fc4d16..eb5436bb 100644 --- a/provider/go.sum +++ b/provider/go.sum @@ -629,8 +629,8 @@ dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7 gioui.org v0.0.0-20210308172011-57750fc8a0a6/go.mod h1:RSH6KIUZ0p2xy5zHDxgAM4zumjgTw83q2ge/PI+yyw8= git.sr.ht/~sbinet/gg v0.3.1/go.mod h1:KGYtlADtqsqANL9ueOFkWymvzUvLMQllU5Ixo+8v3pc= github.com/AdaLogics/go-fuzz-headers v0.0.0-20210715213245-6c3934b029d8/go.mod h1:CzsSbkDixRphAF5hS6wbMKq0eI6ccJRb7/A0M6JBnwg= -github.com/AlecAivazis/survey/v2 v2.0.5 h1:xpZp+Q55wi5C7Iaze+40onHnEkex1jSc34CltJjOoPM= -github.com/AlecAivazis/survey/v2 v2.0.5/go.mod h1:WYBhg6f0y/fNYUuesWQc0PKbJcEliGcYHB9sNT3Bg74= +github.com/AlecAivazis/survey/v2 v2.3.7 h1:6I/u8FvytdGsgonrYsVn2t8t4QiRnh6QSTqkkhIiSjQ= +github.com/AlecAivazis/survey/v2 v2.3.7/go.mod h1:xUTIdE4KCOIjsBAE1JYsUPoCqYdZ1reCfTwbto0Fduo= github.com/Azure/azure-amqp-common-go/v3 v3.2.3/go.mod h1:7rPmbSfszeovxGfc5fSAXE4ehlXQZHpMja2OtxC2Tas= github.com/Azure/azure-sdk-for-go v16.2.1+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= github.com/Azure/azure-sdk-for-go v63.0.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= @@ -740,7 +740,6 @@ github.com/Microsoft/hcsshim/test v0.0.0-20201218223536-d3e5debf77da/go.mod h1:5 github.com/Microsoft/hcsshim/test v0.0.0-20210227013316-43a75bb4edd3/go.mod h1:mw7qgWloBUl75W/gVH3cQszUg1+gUITj7D6NY7ywVnY= github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ= github.com/NYTimes/gziphandler v1.1.1/go.mod h1:n/CVRwUEOgIxrgPvAQhUUr9oeUtvrhMomdKFjzJNB0c= -github.com/Netflix/go-expect v0.0.0-20180615182759-c93bf25de8e8/go.mod h1:oX5x61PbNXchhh0oikYAH+4Pcfw5LKv21+Jnpr6r6Pc= github.com/Netflix/go-expect v0.0.0-20220104043353-73e0943537d2 h1:+vx7roKuyA63nhn5WAunQHLTznkw5W8b1Xc0dNjp83s= github.com/Netflix/go-expect v0.0.0-20220104043353-73e0943537d2/go.mod h1:HBCaDeC1lPdgDeDbhX8XFpy1jqjK0IBG8W5K+xYqA0w= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= @@ -1684,7 +1683,7 @@ github.com/hexops/gotextdiff v1.0.3 h1:gitA9+qJrrTCsiCl7+kh75nPqQt1cx4ZkudSTLoUq github.com/hexops/gotextdiff v1.0.3/go.mod h1:pSWU5MAI3yDq+fZBTazCSJysOMbxWL1BSow5/V2vxeg= github.com/hexops/valast v1.4.0 h1:sFzyxPDP0riFQUzSBXTCCrAbbIndHPWMndxuEjXdZlc= github.com/hexops/valast v1.4.0/go.mod h1:uVjKZ0smVuYlgCSPz9NRi5A04sl7lp6GtFWsROKDgEs= -github.com/hinshun/vt10x v0.0.0-20180616224451-1954e6464174/go.mod h1:DqJ97dSdRW1W22yXSB90986pcOyQ7r45iio1KN2ez1A= +github.com/hinshun/vt10x v0.0.0-20220119200601-820417d04eec/go.mod h1:Q48J4R4DvxnHolD5P8pOtXigYlRuPLGl6moFx3ulM68= github.com/hinshun/vt10x v0.0.0-20220301184237-5011da428d02 h1:AgcIVYPa6XJnU3phs104wLj8l5GEththEw6+F79YsIY= github.com/hinshun/vt10x v0.0.0-20220301184237-5011da428d02/go.mod h1:Q48J4R4DvxnHolD5P8pOtXigYlRuPLGl6moFx3ulM68= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= @@ -1827,7 +1826,6 @@ github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NB github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/pty v1.1.4/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/pty v1.1.5/go.mod h1:9r2w37qlBe7rQ6e1fg1S/9xpWHSnaqNdHD3WcMdbPDA= github.com/kr/pty v1.1.8/go.mod h1:O1sed60cT9XZ5uDucP5qwvh+TE3NnUj51EiZO/lmSfw= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= @@ -2178,16 +2176,16 @@ github.com/pulumi/pulumi-java/pkg v0.9.6 h1:UJrOAsYHRchwb4QlfI9Q224qg1TOI3rIsI6D github.com/pulumi/pulumi-java/pkg v0.9.6/go.mod h1:c6rSw/+q4O0IImgJ9axxoC6QesbPYWBaG5gimbHouUQ= github.com/pulumi/pulumi-terraform-bridge/testing v0.0.1 h1:SCg1gjfY9N4yn8U8peIUYATifjoDABkyR7H9lmefsfc= github.com/pulumi/pulumi-terraform-bridge/testing v0.0.1/go.mod h1:7OeUPH8rpt5ipyj9EFcnXpuzQ8SHL0dyqdfa8nOacdk= -github.com/pulumi/pulumi-terraform-bridge/v3 v3.60.0 h1:MPhSwNLJJlqLFHGfrXIRXZHzFIu05YLQldAJRYpOHRs= -github.com/pulumi/pulumi-terraform-bridge/v3 v3.60.0/go.mod h1:o0Vfch2UXtHOnGYpNElzGg4htT6B8X8hS9fa5AguP7g= +github.com/pulumi/pulumi-terraform-bridge/v3 v3.61.0 h1:ryRfPhwm78Ni+U1uaAsITAI6dD2tLtb3suhJXGWb9cM= +github.com/pulumi/pulumi-terraform-bridge/v3 v3.61.0/go.mod h1:k6iVhOWqTkMWxMdd7njoSkPXBJC/T2Rs44Iif3yDgXw= github.com/pulumi/pulumi-terraform-bridge/x/muxer v0.0.4 h1:rIzMmtcVpPX8ynaz6/nW5AHNY63DiNfCohqmxWvMpM4= github.com/pulumi/pulumi-terraform-bridge/x/muxer v0.0.4/go.mod h1:Kt8RIZWa/N8rW3+0g6NrqCBmF3o+HuIhFaZpssEkG6w= github.com/pulumi/pulumi-yaml v1.2.2 h1:W6BeUBLhDrJ2GSU0em1AUVelG9PBI4ABY61DdhJOO3E= github.com/pulumi/pulumi-yaml v1.2.2/go.mod h1:EgakC7b/4+VBNnlgM1RZIea2gUstV8s/7bdFJZt0P64= -github.com/pulumi/pulumi/pkg/v3 v3.81.0 h1:6rf2farQLszi8inHCu9YdJtDvK0fqNguix51b3FEDRQ= -github.com/pulumi/pulumi/pkg/v3 v3.81.0/go.mod h1:URXozJB/abhxb2yOwa5ywHjT2dqt9SmAX2iLkdcOOl0= -github.com/pulumi/pulumi/sdk/v3 v3.81.0 h1:d711GUpjZK1beNpIKFReC1LBmHXYE684sYWntJWQ4Q0= -github.com/pulumi/pulumi/sdk/v3 v3.81.0/go.mod h1:RMilNNVMlmK1h4Nl/qylb9vzbgh4F3mufZoUOnPy98o= +github.com/pulumi/pulumi/pkg/v3 v3.86.0 h1:G4spuT89ZN8lSxT9WkMF/JaP7n+wu7ubEly7Yy8uza0= +github.com/pulumi/pulumi/pkg/v3 v3.86.0/go.mod h1:Qs55gPhUwM/Dua3VRtHXLLlpY8uEe+llDBIZc+1pvHM= +github.com/pulumi/pulumi/sdk/v3 v3.86.0 h1:Cxg0rGdvMt9GqGvesFTj8+WaO/ihmALYlQf4zm1GzFw= +github.com/pulumi/pulumi/sdk/v3 v3.86.0/go.mod h1:vexSGJ5L834l3T7Fo/KpdywjGAgZ2CvChuqGFl+ebS0= github.com/pulumi/schema-tools v0.1.2 h1:Fd9xvUjgck4NA+7/jSk7InqCUT4Kj940+EcnbQKpfZo= github.com/pulumi/schema-tools v0.1.2/go.mod h1:62lgj52Tzq11eqWTIaKd+EVyYAu5dEcDJxMhTjvMO/k= github.com/pulumi/terraform-diff-reader v0.0.2 h1:kTE4nEXU3/SYXESvAIem+wyHMI3abqkI3OhJ0G04LLI= @@ -2315,7 +2313,6 @@ github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSS github.com/stretchr/objx v0.5.0 h1:1zr/of2m5FGMsad5YfcqgdqdWrIhu+EBEJRhR1U7z/c= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/testify v0.0.0-20180303142811-b89eecf5ca5d/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= -github.com/stretchr/testify v1.2.1/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= @@ -2533,7 +2530,6 @@ golang.org/x/crypto v0.0.0-20190411191339-88737f569e3a/go.mod h1:WFFai1msRO1wXaE golang.org/x/crypto v0.0.0-20190422162423-af44ce270edf/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE= golang.org/x/crypto v0.0.0-20190426145343-a29dc8fdc734/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190530122614-20be4c3c3ed5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= @@ -2807,7 +2803,6 @@ golang.org/x/sys v0.0.0-20190502175342-a43fa875dd82/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190514135907-3a4b5fb9f71f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190522044717-8097e1b27ff5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190530182044-ad28b68e88f1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190531175056-4c3a928424d2/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190602015325-4c4f7f33c9ed/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= diff --git a/sdk/go.mod b/sdk/go.mod index f5b7ed82..8c9f4b5c 100644 --- a/sdk/go.mod +++ b/sdk/go.mod @@ -4,7 +4,7 @@ go 1.21 require ( github.com/blang/semver v3.5.1+incompatible - github.com/pulumi/pulumi/sdk/v3 v3.81.0 + github.com/pulumi/pulumi/sdk/v3 v3.86.0 ) require ( diff --git a/sdk/go.sum b/sdk/go.sum index 56907d59..3b27b671 100644 --- a/sdk/go.sum +++ b/sdk/go.sum @@ -143,8 +143,8 @@ github.com/pkg/term v1.1.0 h1:xIAAdCMh3QIAy+5FrE8Ad8XoDhEU4ufwbaSozViP9kk= github.com/pkg/term v1.1.0/go.mod h1:E25nymQcrSllhX42Ok8MRm1+hyBdHY0dCeiKZ9jpNGw= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/pulumi/pulumi/sdk/v3 v3.81.0 h1:d711GUpjZK1beNpIKFReC1LBmHXYE684sYWntJWQ4Q0= -github.com/pulumi/pulumi/sdk/v3 v3.81.0/go.mod h1:RMilNNVMlmK1h4Nl/qylb9vzbgh4F3mufZoUOnPy98o= +github.com/pulumi/pulumi/sdk/v3 v3.86.0 h1:Cxg0rGdvMt9GqGvesFTj8+WaO/ihmALYlQf4zm1GzFw= +github.com/pulumi/pulumi/sdk/v3 v3.86.0/go.mod h1:vexSGJ5L834l3T7Fo/KpdywjGAgZ2CvChuqGFl+ebS0= github.com/rivo/uniseg v0.1.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.4.4 h1:8TfxU8dW6PdqD27gjM8MVNuicgxIjxpm4K7x4jp8sis= From 759665b7e594d434d45bd8e9b9d1e646de98fcbe Mon Sep 17 00:00:00 2001 From: pulumi-bot Date: Tue, 3 Oct 2023 01:47:01 +0000 Subject: [PATCH 2/2] make build_sdks --- sdk/dotnet/Config/Config.cs | 2 +- sdk/dotnet/DatastoreCluster.cs | 18 +- sdk/dotnet/Inputs/VirtualMachineCdromArgs.cs | 6 +- .../Inputs/VirtualMachineCdromGetArgs.cs | 6 +- sdk/dotnet/Inputs/VirtualMachineDiskArgs.cs | 8 +- .../Inputs/VirtualMachineDiskGetArgs.cs | 8 +- sdk/dotnet/Inputs/VnicIpv4Args.cs | 2 +- sdk/dotnet/Inputs/VnicIpv4GetArgs.cs | 2 +- sdk/dotnet/Inputs/VnicIpv6Args.cs | 2 +- sdk/dotnet/Inputs/VnicIpv6GetArgs.cs | 2 +- sdk/dotnet/Outputs/VirtualMachineCdrom.cs | 6 +- sdk/dotnet/Outputs/VirtualMachineDisk.cs | 8 +- sdk/dotnet/Outputs/VnicIpv4.cs | 2 +- sdk/dotnet/Outputs/VnicIpv6.cs | 2 +- sdk/dotnet/VirtualMachine.cs | 18 +- sdk/go/vsphere/datastoreCluster.go | 36 +- sdk/go/vsphere/pulumiTypes.go | 58 +- sdk/go/vsphere/virtualMachine.go | 36 +- .../com/pulumi/vsphere/DatastoreCluster.java | 12 +- .../pulumi/vsphere/DatastoreClusterArgs.java | 24 +- .../com/pulumi/vsphere/VirtualMachine.java | 12 +- .../pulumi/vsphere/VirtualMachineArgs.java | 24 +- .../vsphere/inputs/DatastoreClusterState.java | 24 +- .../inputs/VirtualMachineCdromArgs.java | 24 +- .../inputs/VirtualMachineDiskArgs.java | 32 +- .../vsphere/inputs/VirtualMachineState.java | 24 +- .../pulumi/vsphere/inputs/VnicIpv4Args.java | 8 +- .../pulumi/vsphere/inputs/VnicIpv6Args.java | 8 +- .../vsphere/outputs/VirtualMachineCdrom.java | 12 +- .../vsphere/outputs/VirtualMachineDisk.java | 16 +- .../com/pulumi/vsphere/outputs/VnicIpv4.java | 4 +- .../com/pulumi/vsphere/outputs/VnicIpv6.java | 4 +- sdk/nodejs/datastoreCluster.ts | 18 +- sdk/nodejs/types/input.ts | 18 +- sdk/nodejs/types/output.ts | 18 +- sdk/nodejs/virtualMachine.ts | 18 +- sdk/python/pulumi_vsphere/_inputs.py | 709 ++++++++++++---- sdk/python/pulumi_vsphere/compute_cluster.py | 544 +++++++++--- .../compute_cluster_host_group.py | 44 +- .../compute_cluster_vm_affinity_rule.py | 60 +- .../compute_cluster_vm_anti_affinity_rule.py | 60 +- .../compute_cluster_vm_dependency_rule.py | 68 +- .../compute_cluster_vm_group.py | 44 +- .../compute_cluster_vm_host_rule.py | 76 +- sdk/python/pulumi_vsphere/config/__init__.pyi | 2 +- sdk/python/pulumi_vsphere/config/vars.py | 2 +- sdk/python/pulumi_vsphere/content_library.py | 70 +- .../pulumi_vsphere/content_library_item.py | 68 +- sdk/python/pulumi_vsphere/custom_attribute.py | 36 +- sdk/python/pulumi_vsphere/datacenter.py | 56 +- .../pulumi_vsphere/datastore_cluster.py | 262 ++++-- ...datastore_cluster_vm_anti_affinity_rule.py | 60 +- .../pulumi_vsphere/distributed_port_group.py | 396 ++++++--- .../distributed_virtual_switch.py | 776 +++++++++++++----- .../pulumi_vsphere/dpm_host_override.py | 52 +- sdk/python/pulumi_vsphere/drs_vm_override.py | 52 +- .../pulumi_vsphere/entity_permissions.py | 44 +- sdk/python/pulumi_vsphere/file.py | 76 +- sdk/python/pulumi_vsphere/folder.py | 60 +- .../pulumi_vsphere/get_compute_cluster.py | 2 +- .../get_compute_cluster_host_group.py | 2 +- .../pulumi_vsphere/get_content_library.py | 2 +- .../get_content_library_item.py | 2 +- .../pulumi_vsphere/get_custom_attribute.py | 2 +- sdk/python/pulumi_vsphere/get_datacenter.py | 2 +- sdk/python/pulumi_vsphere/get_datastore.py | 2 +- .../pulumi_vsphere/get_datastore_cluster.py | 2 +- .../get_distributed_virtual_switch.py | 2 +- sdk/python/pulumi_vsphere/get_dynamic.py | 2 +- sdk/python/pulumi_vsphere/get_folder.py | 2 +- sdk/python/pulumi_vsphere/get_host.py | 2 +- .../pulumi_vsphere/get_host_pci_device.py | 2 +- .../pulumi_vsphere/get_host_thumbprint.py | 2 +- sdk/python/pulumi_vsphere/get_license.py | 2 +- sdk/python/pulumi_vsphere/get_network.py | 2 +- .../pulumi_vsphere/get_ovf_vm_template.py | 2 +- sdk/python/pulumi_vsphere/get_policy.py | 2 +- .../pulumi_vsphere/get_resource_pool.py | 2 +- sdk/python/pulumi_vsphere/get_role.py | 2 +- sdk/python/pulumi_vsphere/get_tag.py | 2 +- sdk/python/pulumi_vsphere/get_tag_category.py | 2 +- .../pulumi_vsphere/get_vapp_container.py | 2 +- .../pulumi_vsphere/get_virtual_machine.py | 2 +- sdk/python/pulumi_vsphere/get_vmfs_disks.py | 2 +- sdk/python/pulumi_vsphere/ha_vm_override.py | 140 +++- sdk/python/pulumi_vsphere/host.py | 132 ++- sdk/python/pulumi_vsphere/host_port_group.py | 168 +++- .../pulumi_vsphere/host_virtual_switch.py | 188 ++++- sdk/python/pulumi_vsphere/license.py | 52 +- sdk/python/pulumi_vsphere/nas_datastore.py | 140 +++- sdk/python/pulumi_vsphere/outputs.py | 771 +++++++++++++---- sdk/python/pulumi_vsphere/provider.py | 68 +- sdk/python/pulumi_vsphere/resource_pool.py | 140 +++- sdk/python/pulumi_vsphere/role.py | 40 +- .../pulumi_vsphere/storage_drs_vm_override.py | 60 +- sdk/python/pulumi_vsphere/tag.py | 44 +- sdk/python/pulumi_vsphere/tag_category.py | 52 +- sdk/python/pulumi_vsphere/vapp_container.py | 140 +++- sdk/python/pulumi_vsphere/vapp_entity.py | 100 ++- sdk/python/pulumi_vsphere/virtual_disk.py | 79 +- sdk/python/pulumi_vsphere/virtual_machine.py | 713 +++++++++++----- .../virtual_machine_snapshot.py | 76 +- .../pulumi_vsphere/vm_storage_policy.py | 44 +- sdk/python/pulumi_vsphere/vmfs_datastore.py | 104 ++- sdk/python/pulumi_vsphere/vnic.py | 110 ++- 105 files changed, 5601 insertions(+), 1949 deletions(-) diff --git a/sdk/dotnet/Config/Config.cs b/sdk/dotnet/Config/Config.cs index 3f44e0d2..01c95d8f 100644 --- a/sdk/dotnet/Config/Config.cs +++ b/sdk/dotnet/Config/Config.cs @@ -8,7 +8,7 @@ namespace Pulumi.VSphere { public static class Config { - [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "IDE1006", Justification = + [global::System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "IDE1006", Justification = "Double underscore prefix used to avoid conflicts with variable names.")] private sealed class __Value { diff --git a/sdk/dotnet/DatastoreCluster.cs b/sdk/dotnet/DatastoreCluster.cs index 4fcdd87f..5286484c 100644 --- a/sdk/dotnet/DatastoreCluster.cs +++ b/sdk/dotnet/DatastoreCluster.cs @@ -81,9 +81,7 @@ public partial class DatastoreCluster : global::Pulumi.CustomResource public Output SdrsEnabled { get; private set; } = null!; /// - /// The threshold, in GB, that storage - /// DRS uses to make decisions to migrate VMs out of a datastore. Default: `50` - /// GB. + /// The free space threshold to use. /// When set to `utilization`, `drs_space_utilization_threshold` is used, and /// when set to `freeSpace`, `drs_free_space_threshold` is used. Default: /// `utilization`. @@ -100,8 +98,6 @@ public partial class DatastoreCluster : global::Pulumi.CustomResource /// /// The threshold, in - /// percent of used space, that storage DRS uses to make decisions to migrate VMs - /// out of a datastore. Default: `80` percent. /// percent, of difference between space utilization in datastores before storage /// DRS makes decisions to balance the space. Default: `5` percent. /// @@ -345,9 +341,7 @@ public InputMap SdrsAdvancedOptions public Input? SdrsEnabled { get; set; } /// - /// The threshold, in GB, that storage - /// DRS uses to make decisions to migrate VMs out of a datastore. Default: `50` - /// GB. + /// The free space threshold to use. /// When set to `utilization`, `drs_space_utilization_threshold` is used, and /// when set to `freeSpace`, `drs_free_space_threshold` is used. Default: /// `utilization`. @@ -364,8 +358,6 @@ public InputMap SdrsAdvancedOptions /// /// The threshold, in - /// percent of used space, that storage DRS uses to make decisions to migrate VMs - /// out of a datastore. Default: `80` percent. /// percent, of difference between space utilization in datastores before storage /// DRS makes decisions to balance the space. Default: `5` percent. /// @@ -577,9 +569,7 @@ public InputMap SdrsAdvancedOptions public Input? SdrsEnabled { get; set; } /// - /// The threshold, in GB, that storage - /// DRS uses to make decisions to migrate VMs out of a datastore. Default: `50` - /// GB. + /// The free space threshold to use. /// When set to `utilization`, `drs_space_utilization_threshold` is used, and /// when set to `freeSpace`, `drs_free_space_threshold` is used. Default: /// `utilization`. @@ -596,8 +586,6 @@ public InputMap SdrsAdvancedOptions /// /// The threshold, in - /// percent of used space, that storage DRS uses to make decisions to migrate VMs - /// out of a datastore. Default: `80` percent. /// percent, of difference between space utilization in datastores before storage /// DRS makes decisions to balance the space. Default: `5` percent. /// diff --git a/sdk/dotnet/Inputs/VirtualMachineCdromArgs.cs b/sdk/dotnet/Inputs/VirtualMachineCdromArgs.cs index 1a41c735..8e546983 100644 --- a/sdk/dotnet/Inputs/VirtualMachineCdromArgs.cs +++ b/sdk/dotnet/Inputs/VirtualMachineCdromArgs.cs @@ -19,9 +19,7 @@ public sealed class VirtualMachineCdromArgs : global::Pulumi.ResourceArgs public Input? ClientDevice { get; set; } /// - /// The managed object reference ID of the datastore in which to place the virtual machine. The virtual machine configuration files is placed here, along with any virtual disks that are created where a datastore is not explicitly specified. See the section on virtual machine migration for more information on modifying this value. - /// - /// > **NOTE:** Datastores cannot be assigned to individual disks when `datastore_cluster_id` is used. + /// The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `client_device`. /// [Input("datastoreId")] public Input? DatastoreId { get; set; } @@ -36,7 +34,7 @@ public sealed class VirtualMachineCdromArgs : global::Pulumi.ResourceArgs public Input? Key { get; set; } /// - /// When using `attach`, this parameter controls the path of a virtual disk to attach externally. Otherwise, it is a computed attribute that contains the virtual disk filename. + /// The path to the ISO file. Required for using a datastore ISO. Conflicts with `client_device`. /// /// > **NOTE:** Either `client_device` (for a remote backed CD-ROM) or `datastore_id` and `path` (for a datastore ISO backed CD-ROM) are required to . /// diff --git a/sdk/dotnet/Inputs/VirtualMachineCdromGetArgs.cs b/sdk/dotnet/Inputs/VirtualMachineCdromGetArgs.cs index 2dc0ead1..fb6bf25b 100644 --- a/sdk/dotnet/Inputs/VirtualMachineCdromGetArgs.cs +++ b/sdk/dotnet/Inputs/VirtualMachineCdromGetArgs.cs @@ -19,9 +19,7 @@ public sealed class VirtualMachineCdromGetArgs : global::Pulumi.ResourceArgs public Input? ClientDevice { get; set; } /// - /// The managed object reference ID of the datastore in which to place the virtual machine. The virtual machine configuration files is placed here, along with any virtual disks that are created where a datastore is not explicitly specified. See the section on virtual machine migration for more information on modifying this value. - /// - /// > **NOTE:** Datastores cannot be assigned to individual disks when `datastore_cluster_id` is used. + /// The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `client_device`. /// [Input("datastoreId")] public Input? DatastoreId { get; set; } @@ -36,7 +34,7 @@ public sealed class VirtualMachineCdromGetArgs : global::Pulumi.ResourceArgs public Input? Key { get; set; } /// - /// When using `attach`, this parameter controls the path of a virtual disk to attach externally. Otherwise, it is a computed attribute that contains the virtual disk filename. + /// The path to the ISO file. Required for using a datastore ISO. Conflicts with `client_device`. /// /// > **NOTE:** Either `client_device` (for a remote backed CD-ROM) or `datastore_id` and `path` (for a datastore ISO backed CD-ROM) are required to . /// diff --git a/sdk/dotnet/Inputs/VirtualMachineDiskArgs.cs b/sdk/dotnet/Inputs/VirtualMachineDiskArgs.cs index 81763b76..694f2af1 100644 --- a/sdk/dotnet/Inputs/VirtualMachineDiskArgs.cs +++ b/sdk/dotnet/Inputs/VirtualMachineDiskArgs.cs @@ -27,9 +27,7 @@ public sealed class VirtualMachineDiskArgs : global::Pulumi.ResourceArgs public Input? ControllerType { get; set; } /// - /// The managed object reference ID of the datastore in which to place the virtual machine. The virtual machine configuration files is placed here, along with any virtual disks that are created where a datastore is not explicitly specified. See the section on virtual machine migration for more information on modifying this value. - /// - /// > **NOTE:** Datastores cannot be assigned to individual disks when `datastore_cluster_id` is used. + /// The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `client_device`. /// [Input("datastoreId")] public Input? DatastoreId { get; set; } @@ -99,7 +97,7 @@ public sealed class VirtualMachineDiskArgs : global::Pulumi.ResourceArgs public Input Label { get; set; } = null!; /// - /// When using `attach`, this parameter controls the path of a virtual disk to attach externally. Otherwise, it is a computed attribute that contains the virtual disk filename. + /// The path to the ISO file. Required for using a datastore ISO. Conflicts with `client_device`. /// /// > **NOTE:** Either `client_device` (for a remote backed CD-ROM) or `datastore_id` and `path` (for a datastore ISO backed CD-ROM) are required to . /// @@ -115,7 +113,7 @@ public sealed class VirtualMachineDiskArgs : global::Pulumi.ResourceArgs public Input? Size { get; set; } /// - /// The ID of the storage policy to assign to the home directory of a virtual machine. + /// The UUID of the storage policy to assign to the virtual disk. /// [Input("storagePolicyId")] public Input? StoragePolicyId { get; set; } diff --git a/sdk/dotnet/Inputs/VirtualMachineDiskGetArgs.cs b/sdk/dotnet/Inputs/VirtualMachineDiskGetArgs.cs index 9b504384..cb162fbf 100644 --- a/sdk/dotnet/Inputs/VirtualMachineDiskGetArgs.cs +++ b/sdk/dotnet/Inputs/VirtualMachineDiskGetArgs.cs @@ -27,9 +27,7 @@ public sealed class VirtualMachineDiskGetArgs : global::Pulumi.ResourceArgs public Input? ControllerType { get; set; } /// - /// The managed object reference ID of the datastore in which to place the virtual machine. The virtual machine configuration files is placed here, along with any virtual disks that are created where a datastore is not explicitly specified. See the section on virtual machine migration for more information on modifying this value. - /// - /// > **NOTE:** Datastores cannot be assigned to individual disks when `datastore_cluster_id` is used. + /// The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `client_device`. /// [Input("datastoreId")] public Input? DatastoreId { get; set; } @@ -99,7 +97,7 @@ public sealed class VirtualMachineDiskGetArgs : global::Pulumi.ResourceArgs public Input Label { get; set; } = null!; /// - /// When using `attach`, this parameter controls the path of a virtual disk to attach externally. Otherwise, it is a computed attribute that contains the virtual disk filename. + /// The path to the ISO file. Required for using a datastore ISO. Conflicts with `client_device`. /// /// > **NOTE:** Either `client_device` (for a remote backed CD-ROM) or `datastore_id` and `path` (for a datastore ISO backed CD-ROM) are required to . /// @@ -115,7 +113,7 @@ public sealed class VirtualMachineDiskGetArgs : global::Pulumi.ResourceArgs public Input? Size { get; set; } /// - /// The ID of the storage policy to assign to the home directory of a virtual machine. + /// The UUID of the storage policy to assign to the virtual disk. /// [Input("storagePolicyId")] public Input? StoragePolicyId { get; set; } diff --git a/sdk/dotnet/Inputs/VnicIpv4Args.cs b/sdk/dotnet/Inputs/VnicIpv4Args.cs index b84bb26f..597a1b34 100644 --- a/sdk/dotnet/Inputs/VnicIpv4Args.cs +++ b/sdk/dotnet/Inputs/VnicIpv4Args.cs @@ -19,7 +19,7 @@ public sealed class VnicIpv4Args : global::Pulumi.ResourceArgs public Input? Dhcp { get; set; } /// - /// IP address of the default gateway, if DHCP is not set. + /// IP address of the default gateway, if DHCP or autoconfig is not set. /// [Input("gw")] public Input? Gw { get; set; } diff --git a/sdk/dotnet/Inputs/VnicIpv4GetArgs.cs b/sdk/dotnet/Inputs/VnicIpv4GetArgs.cs index 976fe14f..9e987a76 100644 --- a/sdk/dotnet/Inputs/VnicIpv4GetArgs.cs +++ b/sdk/dotnet/Inputs/VnicIpv4GetArgs.cs @@ -19,7 +19,7 @@ public sealed class VnicIpv4GetArgs : global::Pulumi.ResourceArgs public Input? Dhcp { get; set; } /// - /// IP address of the default gateway, if DHCP is not set. + /// IP address of the default gateway, if DHCP or autoconfig is not set. /// [Input("gw")] public Input? Gw { get; set; } diff --git a/sdk/dotnet/Inputs/VnicIpv6Args.cs b/sdk/dotnet/Inputs/VnicIpv6Args.cs index 2e0e8d32..349ecbaa 100644 --- a/sdk/dotnet/Inputs/VnicIpv6Args.cs +++ b/sdk/dotnet/Inputs/VnicIpv6Args.cs @@ -37,7 +37,7 @@ public InputList Addresses public Input? Dhcp { get; set; } /// - /// IP address of the default gateway, if DHCP is not set. + /// IP address of the default gateway, if DHCP or autoconfig is not set. /// [Input("gw")] public Input? Gw { get; set; } diff --git a/sdk/dotnet/Inputs/VnicIpv6GetArgs.cs b/sdk/dotnet/Inputs/VnicIpv6GetArgs.cs index af0f754a..67bac855 100644 --- a/sdk/dotnet/Inputs/VnicIpv6GetArgs.cs +++ b/sdk/dotnet/Inputs/VnicIpv6GetArgs.cs @@ -37,7 +37,7 @@ public InputList Addresses public Input? Dhcp { get; set; } /// - /// IP address of the default gateway, if DHCP is not set. + /// IP address of the default gateway, if DHCP or autoconfig is not set. /// [Input("gw")] public Input? Gw { get; set; } diff --git a/sdk/dotnet/Outputs/VirtualMachineCdrom.cs b/sdk/dotnet/Outputs/VirtualMachineCdrom.cs index e491cf74..d52b2901 100644 --- a/sdk/dotnet/Outputs/VirtualMachineCdrom.cs +++ b/sdk/dotnet/Outputs/VirtualMachineCdrom.cs @@ -18,9 +18,7 @@ public sealed class VirtualMachineCdrom /// public readonly bool? ClientDevice; /// - /// The managed object reference ID of the datastore in which to place the virtual machine. The virtual machine configuration files is placed here, along with any virtual disks that are created where a datastore is not explicitly specified. See the section on virtual machine migration for more information on modifying this value. - /// - /// > **NOTE:** Datastores cannot be assigned to individual disks when `datastore_cluster_id` is used. + /// The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `client_device`. /// public readonly string? DatastoreId; public readonly string? DeviceAddress; @@ -29,7 +27,7 @@ public sealed class VirtualMachineCdrom /// public readonly int? Key; /// - /// When using `attach`, this parameter controls the path of a virtual disk to attach externally. Otherwise, it is a computed attribute that contains the virtual disk filename. + /// The path to the ISO file. Required for using a datastore ISO. Conflicts with `client_device`. /// /// > **NOTE:** Either `client_device` (for a remote backed CD-ROM) or `datastore_id` and `path` (for a datastore ISO backed CD-ROM) are required to . /// diff --git a/sdk/dotnet/Outputs/VirtualMachineDisk.cs b/sdk/dotnet/Outputs/VirtualMachineDisk.cs index 659c57db..cbe8368c 100644 --- a/sdk/dotnet/Outputs/VirtualMachineDisk.cs +++ b/sdk/dotnet/Outputs/VirtualMachineDisk.cs @@ -24,9 +24,7 @@ public sealed class VirtualMachineDisk /// public readonly string? ControllerType; /// - /// The managed object reference ID of the datastore in which to place the virtual machine. The virtual machine configuration files is placed here, along with any virtual disks that are created where a datastore is not explicitly specified. See the section on virtual machine migration for more information on modifying this value. - /// - /// > **NOTE:** Datastores cannot be assigned to individual disks when `datastore_cluster_id` is used. + /// The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `client_device`. /// public readonly string? DatastoreId; public readonly string? DeviceAddress; @@ -72,7 +70,7 @@ public sealed class VirtualMachineDisk public readonly int? Key; public readonly string Label; /// - /// When using `attach`, this parameter controls the path of a virtual disk to attach externally. Otherwise, it is a computed attribute that contains the virtual disk filename. + /// The path to the ISO file. Required for using a datastore ISO. Conflicts with `client_device`. /// /// > **NOTE:** Either `client_device` (for a remote backed CD-ROM) or `datastore_id` and `path` (for a datastore ISO backed CD-ROM) are required to . /// @@ -84,7 +82,7 @@ public sealed class VirtualMachineDisk /// public readonly int? Size; /// - /// The ID of the storage policy to assign to the home directory of a virtual machine. + /// The UUID of the storage policy to assign to the virtual disk. /// public readonly string? StoragePolicyId; /// diff --git a/sdk/dotnet/Outputs/VnicIpv4.cs b/sdk/dotnet/Outputs/VnicIpv4.cs index e2d3e5b4..8e504b17 100644 --- a/sdk/dotnet/Outputs/VnicIpv4.cs +++ b/sdk/dotnet/Outputs/VnicIpv4.cs @@ -18,7 +18,7 @@ public sealed class VnicIpv4 /// public readonly bool? Dhcp; /// - /// IP address of the default gateway, if DHCP is not set. + /// IP address of the default gateway, if DHCP or autoconfig is not set. /// public readonly string? Gw; /// diff --git a/sdk/dotnet/Outputs/VnicIpv6.cs b/sdk/dotnet/Outputs/VnicIpv6.cs index 1df65086..e3272e2c 100644 --- a/sdk/dotnet/Outputs/VnicIpv6.cs +++ b/sdk/dotnet/Outputs/VnicIpv6.cs @@ -26,7 +26,7 @@ public sealed class VnicIpv6 /// public readonly bool? Dhcp; /// - /// IP address of the default gateway, if DHCP is not set. + /// IP address of the default gateway, if DHCP or autoconfig is not set. /// public readonly string? Gw; diff --git a/sdk/dotnet/VirtualMachine.cs b/sdk/dotnet/VirtualMachine.cs index c78e2fd3..3ffce042 100644 --- a/sdk/dotnet/VirtualMachine.cs +++ b/sdk/dotnet/VirtualMachine.cs @@ -129,9 +129,7 @@ public partial class VirtualMachine : global::Pulumi.CustomResource public Output DatastoreClusterId { get; private set; } = null!; /// - /// The managed object reference ID of the datastore in which to place the virtual machine. The virtual machine configuration files is placed here, along with any virtual disks that are created where a datastore is not explicitly specified. See the section on virtual machine migration for more information on modifying this value. - /// - /// > **NOTE:** Datastores cannot be assigned to individual disks when `datastore_cluster_id` is used. + /// The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `client_device`. /// [Output("datastoreId")] public Output DatastoreId { get; private set; } = null!; @@ -465,7 +463,7 @@ public partial class VirtualMachine : global::Pulumi.CustomResource public Output ShutdownWaitTimeout { get; private set; } = null!; /// - /// The ID of the storage policy to assign to the home directory of a virtual machine. + /// The UUID of the storage policy to assign to the virtual disk. /// [Output("storagePolicyId")] public Output StoragePolicyId { get; private set; } = null!; @@ -731,9 +729,7 @@ public InputMap CustomAttributes public Input? DatastoreClusterId { get; set; } /// - /// The managed object reference ID of the datastore in which to place the virtual machine. The virtual machine configuration files is placed here, along with any virtual disks that are created where a datastore is not explicitly specified. See the section on virtual machine migration for more information on modifying this value. - /// - /// > **NOTE:** Datastores cannot be assigned to individual disks when `datastore_cluster_id` is used. + /// The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `client_device`. /// [Input("datastoreId")] public Input? DatastoreId { get; set; } @@ -1061,7 +1057,7 @@ public InputList PciDeviceIds public Input? ShutdownWaitTimeout { get; set; } /// - /// The ID of the storage policy to assign to the home directory of a virtual machine. + /// The UUID of the storage policy to assign to the virtual disk. /// [Input("storagePolicyId")] public Input? StoragePolicyId { get; set; } @@ -1277,9 +1273,7 @@ public InputMap CustomAttributes public Input? DatastoreClusterId { get; set; } /// - /// The managed object reference ID of the datastore in which to place the virtual machine. The virtual machine configuration files is placed here, along with any virtual disks that are created where a datastore is not explicitly specified. See the section on virtual machine migration for more information on modifying this value. - /// - /// > **NOTE:** Datastores cannot be assigned to individual disks when `datastore_cluster_id` is used. + /// The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `client_device`. /// [Input("datastoreId")] public Input? DatastoreId { get; set; } @@ -1649,7 +1643,7 @@ public InputList PciDeviceIds public Input? ShutdownWaitTimeout { get; set; } /// - /// The ID of the storage policy to assign to the home directory of a virtual machine. + /// The UUID of the storage policy to assign to the virtual disk. /// [Input("storagePolicyId")] public Input? StoragePolicyId { get; set; } diff --git a/sdk/go/vsphere/datastoreCluster.go b/sdk/go/vsphere/datastoreCluster.go index 4a705aa4..560d75c2 100644 --- a/sdk/go/vsphere/datastoreCluster.go +++ b/sdk/go/vsphere/datastoreCluster.go @@ -52,9 +52,7 @@ type DatastoreCluster struct { // Enable Storage DRS for this datastore cluster. // Default: `false`. SdrsEnabled pulumi.BoolPtrOutput `pulumi:"sdrsEnabled"` - // The threshold, in GB, that storage - // DRS uses to make decisions to migrate VMs out of a datastore. Default: `50` - // GB. + // The free space threshold to use. // When set to `utilization`, `drsSpaceUtilizationThreshold` is used, and // when set to `freeSpace`, `drsFreeSpaceThreshold` is used. Default: // `utilization`. @@ -63,8 +61,6 @@ type DatastoreCluster struct { // freeSpace, drs_free_space_threshold is used. SdrsFreeSpaceThresholdMode pulumi.StringPtrOutput `pulumi:"sdrsFreeSpaceThresholdMode"` // The threshold, in - // percent of used space, that storage DRS uses to make decisions to migrate VMs - // out of a datastore. Default: `80` percent. // percent, of difference between space utilization in datastores before storage // DRS makes decisions to balance the space. Default: `5` percent. SdrsFreeSpaceUtilizationDifference pulumi.IntPtrOutput `pulumi:"sdrsFreeSpaceUtilizationDifference"` @@ -193,9 +189,7 @@ type datastoreClusterState struct { // Enable Storage DRS for this datastore cluster. // Default: `false`. SdrsEnabled *bool `pulumi:"sdrsEnabled"` - // The threshold, in GB, that storage - // DRS uses to make decisions to migrate VMs out of a datastore. Default: `50` - // GB. + // The free space threshold to use. // When set to `utilization`, `drsSpaceUtilizationThreshold` is used, and // when set to `freeSpace`, `drsFreeSpaceThreshold` is used. Default: // `utilization`. @@ -204,8 +198,6 @@ type datastoreClusterState struct { // freeSpace, drs_free_space_threshold is used. SdrsFreeSpaceThresholdMode *string `pulumi:"sdrsFreeSpaceThresholdMode"` // The threshold, in - // percent of used space, that storage DRS uses to make decisions to migrate VMs - // out of a datastore. Default: `80` percent. // percent, of difference between space utilization in datastores before storage // DRS makes decisions to balance the space. Default: `5` percent. SdrsFreeSpaceUtilizationDifference *int `pulumi:"sdrsFreeSpaceUtilizationDifference"` @@ -302,9 +294,7 @@ type DatastoreClusterState struct { // Enable Storage DRS for this datastore cluster. // Default: `false`. SdrsEnabled pulumi.BoolPtrInput - // The threshold, in GB, that storage - // DRS uses to make decisions to migrate VMs out of a datastore. Default: `50` - // GB. + // The free space threshold to use. // When set to `utilization`, `drsSpaceUtilizationThreshold` is used, and // when set to `freeSpace`, `drsFreeSpaceThreshold` is used. Default: // `utilization`. @@ -313,8 +303,6 @@ type DatastoreClusterState struct { // freeSpace, drs_free_space_threshold is used. SdrsFreeSpaceThresholdMode pulumi.StringPtrInput // The threshold, in - // percent of used space, that storage DRS uses to make decisions to migrate VMs - // out of a datastore. Default: `80` percent. // percent, of difference between space utilization in datastores before storage // DRS makes decisions to balance the space. Default: `5` percent. SdrsFreeSpaceUtilizationDifference pulumi.IntPtrInput @@ -415,9 +403,7 @@ type datastoreClusterArgs struct { // Enable Storage DRS for this datastore cluster. // Default: `false`. SdrsEnabled *bool `pulumi:"sdrsEnabled"` - // The threshold, in GB, that storage - // DRS uses to make decisions to migrate VMs out of a datastore. Default: `50` - // GB. + // The free space threshold to use. // When set to `utilization`, `drsSpaceUtilizationThreshold` is used, and // when set to `freeSpace`, `drsFreeSpaceThreshold` is used. Default: // `utilization`. @@ -426,8 +412,6 @@ type datastoreClusterArgs struct { // freeSpace, drs_free_space_threshold is used. SdrsFreeSpaceThresholdMode *string `pulumi:"sdrsFreeSpaceThresholdMode"` // The threshold, in - // percent of used space, that storage DRS uses to make decisions to migrate VMs - // out of a datastore. Default: `80` percent. // percent, of difference between space utilization in datastores before storage // DRS makes decisions to balance the space. Default: `5` percent. SdrsFreeSpaceUtilizationDifference *int `pulumi:"sdrsFreeSpaceUtilizationDifference"` @@ -525,9 +509,7 @@ type DatastoreClusterArgs struct { // Enable Storage DRS for this datastore cluster. // Default: `false`. SdrsEnabled pulumi.BoolPtrInput - // The threshold, in GB, that storage - // DRS uses to make decisions to migrate VMs out of a datastore. Default: `50` - // GB. + // The free space threshold to use. // When set to `utilization`, `drsSpaceUtilizationThreshold` is used, and // when set to `freeSpace`, `drsFreeSpaceThreshold` is used. Default: // `utilization`. @@ -536,8 +518,6 @@ type DatastoreClusterArgs struct { // freeSpace, drs_free_space_threshold is used. SdrsFreeSpaceThresholdMode pulumi.StringPtrInput // The threshold, in - // percent of used space, that storage DRS uses to make decisions to migrate VMs - // out of a datastore. Default: `80` percent. // percent, of difference between space utilization in datastores before storage // DRS makes decisions to balance the space. Default: `5` percent. SdrsFreeSpaceUtilizationDifference pulumi.IntPtrInput @@ -768,9 +748,7 @@ func (o DatastoreClusterOutput) SdrsEnabled() pulumi.BoolPtrOutput { return o.ApplyT(func(v *DatastoreCluster) pulumi.BoolPtrOutput { return v.SdrsEnabled }).(pulumi.BoolPtrOutput) } -// The threshold, in GB, that storage -// DRS uses to make decisions to migrate VMs out of a datastore. Default: `50` -// GB. +// The free space threshold to use. // When set to `utilization`, `drsSpaceUtilizationThreshold` is used, and // when set to `freeSpace`, `drsFreeSpaceThreshold` is used. Default: // `utilization`. @@ -785,8 +763,6 @@ func (o DatastoreClusterOutput) SdrsFreeSpaceThresholdMode() pulumi.StringPtrOut } // The threshold, in -// percent of used space, that storage DRS uses to make decisions to migrate VMs -// out of a datastore. Default: `80` percent. // percent, of difference between space utilization in datastores before storage // DRS makes decisions to balance the space. Default: `5` percent. func (o DatastoreClusterOutput) SdrsFreeSpaceUtilizationDifference() pulumi.IntPtrOutput { diff --git a/sdk/go/vsphere/pulumiTypes.go b/sdk/go/vsphere/pulumiTypes.go index eec739ef..351de32b 100644 --- a/sdk/go/vsphere/pulumiTypes.go +++ b/sdk/go/vsphere/pulumiTypes.go @@ -1587,14 +1587,12 @@ func (o HostPortGroupPortArrayOutput) Index(i pulumi.IntInput) HostPortGroupPort type VirtualMachineCdrom struct { // Indicates whether the device should be backed by remote client device. Conflicts with `datastoreId` and `path`. ClientDevice *bool `pulumi:"clientDevice"` - // The managed object reference ID of the datastore in which to place the virtual machine. The virtual machine configuration files is placed here, along with any virtual disks that are created where a datastore is not explicitly specified. See the section on virtual machine migration for more information on modifying this value. - // - // > **NOTE:** Datastores cannot be assigned to individual disks when `datastoreClusterId` is used. + // The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `clientDevice`. DatastoreId *string `pulumi:"datastoreId"` DeviceAddress *string `pulumi:"deviceAddress"` // The ID of the device within the virtual machine. Key *int `pulumi:"key"` - // When using `attach`, this parameter controls the path of a virtual disk to attach externally. Otherwise, it is a computed attribute that contains the virtual disk filename. + // The path to the ISO file. Required for using a datastore ISO. Conflicts with `clientDevice`. // // > **NOTE:** Either `clientDevice` (for a remote backed CD-ROM) or `datastoreId` and `path` (for a datastore ISO backed CD-ROM) are required to . // @@ -1616,14 +1614,12 @@ type VirtualMachineCdromInput interface { type VirtualMachineCdromArgs struct { // Indicates whether the device should be backed by remote client device. Conflicts with `datastoreId` and `path`. ClientDevice pulumi.BoolPtrInput `pulumi:"clientDevice"` - // The managed object reference ID of the datastore in which to place the virtual machine. The virtual machine configuration files is placed here, along with any virtual disks that are created where a datastore is not explicitly specified. See the section on virtual machine migration for more information on modifying this value. - // - // > **NOTE:** Datastores cannot be assigned to individual disks when `datastoreClusterId` is used. + // The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `clientDevice`. DatastoreId pulumi.StringPtrInput `pulumi:"datastoreId"` DeviceAddress pulumi.StringPtrInput `pulumi:"deviceAddress"` // The ID of the device within the virtual machine. Key pulumi.IntPtrInput `pulumi:"key"` - // When using `attach`, this parameter controls the path of a virtual disk to attach externally. Otherwise, it is a computed attribute that contains the virtual disk filename. + // The path to the ISO file. Required for using a datastore ISO. Conflicts with `clientDevice`. // // > **NOTE:** Either `clientDevice` (for a remote backed CD-ROM) or `datastoreId` and `path` (for a datastore ISO backed CD-ROM) are required to . // @@ -1705,9 +1701,7 @@ func (o VirtualMachineCdromOutput) ClientDevice() pulumi.BoolPtrOutput { return o.ApplyT(func(v VirtualMachineCdrom) *bool { return v.ClientDevice }).(pulumi.BoolPtrOutput) } -// The managed object reference ID of the datastore in which to place the virtual machine. The virtual machine configuration files is placed here, along with any virtual disks that are created where a datastore is not explicitly specified. See the section on virtual machine migration for more information on modifying this value. -// -// > **NOTE:** Datastores cannot be assigned to individual disks when `datastoreClusterId` is used. +// The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `clientDevice`. func (o VirtualMachineCdromOutput) DatastoreId() pulumi.StringPtrOutput { return o.ApplyT(func(v VirtualMachineCdrom) *string { return v.DatastoreId }).(pulumi.StringPtrOutput) } @@ -1721,7 +1715,7 @@ func (o VirtualMachineCdromOutput) Key() pulumi.IntPtrOutput { return o.ApplyT(func(v VirtualMachineCdrom) *int { return v.Key }).(pulumi.IntPtrOutput) } -// When using `attach`, this parameter controls the path of a virtual disk to attach externally. Otherwise, it is a computed attribute that contains the virtual disk filename. +// The path to the ISO file. Required for using a datastore ISO. Conflicts with `clientDevice`. // // > **NOTE:** Either `clientDevice` (for a remote backed CD-ROM) or `datastoreId` and `path` (for a datastore ISO backed CD-ROM) are required to . // @@ -2982,9 +2976,7 @@ type VirtualMachineDisk struct { Attach *bool `pulumi:"attach"` // The type of storage controller to attach the disk to. Can be `scsi`, `sata`, or `ide`. You must have the appropriate number of controllers enabled for the selected type. Default `scsi`. ControllerType *string `pulumi:"controllerType"` - // The managed object reference ID of the datastore in which to place the virtual machine. The virtual machine configuration files is placed here, along with any virtual disks that are created where a datastore is not explicitly specified. See the section on virtual machine migration for more information on modifying this value. - // - // > **NOTE:** Datastores cannot be assigned to individual disks when `datastoreClusterId` is used. + // The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `clientDevice`. DatastoreId *string `pulumi:"datastoreId"` DeviceAddress *string `pulumi:"deviceAddress"` // The mode of this this virtual disk for purposes of writes and snapshots. One of `append`, `independentNonpersistent`, `independentPersistent`, `nonpersistent`, `persistent`, or `undoable`. Default: `persistent`. For more information on these option, please refer to the [product documentation][vmware-docs-disk-mode]. @@ -3010,7 +3002,7 @@ type VirtualMachineDisk struct { // The ID of the device within the virtual machine. Key *int `pulumi:"key"` Label string `pulumi:"label"` - // When using `attach`, this parameter controls the path of a virtual disk to attach externally. Otherwise, it is a computed attribute that contains the virtual disk filename. + // The path to the ISO file. Required for using a datastore ISO. Conflicts with `clientDevice`. // // > **NOTE:** Either `clientDevice` (for a remote backed CD-ROM) or `datastoreId` and `path` (for a datastore ISO backed CD-ROM) are required to . // @@ -3018,7 +3010,7 @@ type VirtualMachineDisk struct { Path *string `pulumi:"path"` // The size of the disk, in GB. Must be a whole number. Size *int `pulumi:"size"` - // The ID of the storage policy to assign to the home directory of a virtual machine. + // The UUID of the storage policy to assign to the virtual disk. StoragePolicyId *string `pulumi:"storagePolicyId"` // If `true`, the disk is thin provisioned, with space for the file being allocated on an as-needed basis. Cannot be set to `true` when `eagerlyScrub` is `true`. See the section on selecting a disk type for more information. Default: `true`. ThinProvisioned *bool `pulumi:"thinProvisioned"` @@ -3048,9 +3040,7 @@ type VirtualMachineDiskArgs struct { Attach pulumi.BoolPtrInput `pulumi:"attach"` // The type of storage controller to attach the disk to. Can be `scsi`, `sata`, or `ide`. You must have the appropriate number of controllers enabled for the selected type. Default `scsi`. ControllerType pulumi.StringPtrInput `pulumi:"controllerType"` - // The managed object reference ID of the datastore in which to place the virtual machine. The virtual machine configuration files is placed here, along with any virtual disks that are created where a datastore is not explicitly specified. See the section on virtual machine migration for more information on modifying this value. - // - // > **NOTE:** Datastores cannot be assigned to individual disks when `datastoreClusterId` is used. + // The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `clientDevice`. DatastoreId pulumi.StringPtrInput `pulumi:"datastoreId"` DeviceAddress pulumi.StringPtrInput `pulumi:"deviceAddress"` // The mode of this this virtual disk for purposes of writes and snapshots. One of `append`, `independentNonpersistent`, `independentPersistent`, `nonpersistent`, `persistent`, or `undoable`. Default: `persistent`. For more information on these option, please refer to the [product documentation][vmware-docs-disk-mode]. @@ -3076,7 +3066,7 @@ type VirtualMachineDiskArgs struct { // The ID of the device within the virtual machine. Key pulumi.IntPtrInput `pulumi:"key"` Label pulumi.StringInput `pulumi:"label"` - // When using `attach`, this parameter controls the path of a virtual disk to attach externally. Otherwise, it is a computed attribute that contains the virtual disk filename. + // The path to the ISO file. Required for using a datastore ISO. Conflicts with `clientDevice`. // // > **NOTE:** Either `clientDevice` (for a remote backed CD-ROM) or `datastoreId` and `path` (for a datastore ISO backed CD-ROM) are required to . // @@ -3084,7 +3074,7 @@ type VirtualMachineDiskArgs struct { Path pulumi.StringPtrInput `pulumi:"path"` // The size of the disk, in GB. Must be a whole number. Size pulumi.IntPtrInput `pulumi:"size"` - // The ID of the storage policy to assign to the home directory of a virtual machine. + // The UUID of the storage policy to assign to the virtual disk. StoragePolicyId pulumi.StringPtrInput `pulumi:"storagePolicyId"` // If `true`, the disk is thin provisioned, with space for the file being allocated on an as-needed basis. Cannot be set to `true` when `eagerlyScrub` is `true`. See the section on selecting a disk type for more information. Default: `true`. ThinProvisioned pulumi.BoolPtrInput `pulumi:"thinProvisioned"` @@ -3177,9 +3167,7 @@ func (o VirtualMachineDiskOutput) ControllerType() pulumi.StringPtrOutput { return o.ApplyT(func(v VirtualMachineDisk) *string { return v.ControllerType }).(pulumi.StringPtrOutput) } -// The managed object reference ID of the datastore in which to place the virtual machine. The virtual machine configuration files is placed here, along with any virtual disks that are created where a datastore is not explicitly specified. See the section on virtual machine migration for more information on modifying this value. -// -// > **NOTE:** Datastores cannot be assigned to individual disks when `datastoreClusterId` is used. +// The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `clientDevice`. func (o VirtualMachineDiskOutput) DatastoreId() pulumi.StringPtrOutput { return o.ApplyT(func(v VirtualMachineDisk) *string { return v.DatastoreId }).(pulumi.StringPtrOutput) } @@ -3241,7 +3229,7 @@ func (o VirtualMachineDiskOutput) Label() pulumi.StringOutput { return o.ApplyT(func(v VirtualMachineDisk) string { return v.Label }).(pulumi.StringOutput) } -// When using `attach`, this parameter controls the path of a virtual disk to attach externally. Otherwise, it is a computed attribute that contains the virtual disk filename. +// The path to the ISO file. Required for using a datastore ISO. Conflicts with `clientDevice`. // // > **NOTE:** Either `clientDevice` (for a remote backed CD-ROM) or `datastoreId` and `path` (for a datastore ISO backed CD-ROM) are required to . // @@ -3255,7 +3243,7 @@ func (o VirtualMachineDiskOutput) Size() pulumi.IntPtrOutput { return o.ApplyT(func(v VirtualMachineDisk) *int { return v.Size }).(pulumi.IntPtrOutput) } -// The ID of the storage policy to assign to the home directory of a virtual machine. +// The UUID of the storage policy to assign to the virtual disk. func (o VirtualMachineDiskOutput) StoragePolicyId() pulumi.StringPtrOutput { return o.ApplyT(func(v VirtualMachineDisk) *string { return v.StoragePolicyId }).(pulumi.StringPtrOutput) } @@ -4090,7 +4078,7 @@ func (o VmStoragePolicyTagRuleArrayOutput) Index(i pulumi.IntInput) VmStoragePol type VnicIpv4 struct { // Use DHCP to configure the interface's IPv4 stack. Dhcp *bool `pulumi:"dhcp"` - // IP address of the default gateway, if DHCP is not set. + // IP address of the default gateway, if DHCP or autoconfig is not set. Gw *string `pulumi:"gw"` // Address of the interface, if DHCP is not set. Ip *string `pulumi:"ip"` @@ -4112,7 +4100,7 @@ type VnicIpv4Input interface { type VnicIpv4Args struct { // Use DHCP to configure the interface's IPv4 stack. Dhcp pulumi.BoolPtrInput `pulumi:"dhcp"` - // IP address of the default gateway, if DHCP is not set. + // IP address of the default gateway, if DHCP or autoconfig is not set. Gw pulumi.StringPtrInput `pulumi:"gw"` // Address of the interface, if DHCP is not set. Ip pulumi.StringPtrInput `pulumi:"ip"` @@ -4220,7 +4208,7 @@ func (o VnicIpv4Output) Dhcp() pulumi.BoolPtrOutput { return o.ApplyT(func(v VnicIpv4) *bool { return v.Dhcp }).(pulumi.BoolPtrOutput) } -// IP address of the default gateway, if DHCP is not set. +// IP address of the default gateway, if DHCP or autoconfig is not set. func (o VnicIpv4Output) Gw() pulumi.StringPtrOutput { return o.ApplyT(func(v VnicIpv4) *string { return v.Gw }).(pulumi.StringPtrOutput) } @@ -4275,7 +4263,7 @@ func (o VnicIpv4PtrOutput) Dhcp() pulumi.BoolPtrOutput { }).(pulumi.BoolPtrOutput) } -// IP address of the default gateway, if DHCP is not set. +// IP address of the default gateway, if DHCP or autoconfig is not set. func (o VnicIpv4PtrOutput) Gw() pulumi.StringPtrOutput { return o.ApplyT(func(v *VnicIpv4) *string { if v == nil { @@ -4312,7 +4300,7 @@ type VnicIpv6 struct { Autoconfig *bool `pulumi:"autoconfig"` // Use DHCP to configure the interface's IPv4 stack. Dhcp *bool `pulumi:"dhcp"` - // IP address of the default gateway, if DHCP is not set. + // IP address of the default gateway, if DHCP or autoconfig is not set. Gw *string `pulumi:"gw"` } @@ -4334,7 +4322,7 @@ type VnicIpv6Args struct { Autoconfig pulumi.BoolPtrInput `pulumi:"autoconfig"` // Use DHCP to configure the interface's IPv4 stack. Dhcp pulumi.BoolPtrInput `pulumi:"dhcp"` - // IP address of the default gateway, if DHCP is not set. + // IP address of the default gateway, if DHCP or autoconfig is not set. Gw pulumi.StringPtrInput `pulumi:"gw"` } @@ -4448,7 +4436,7 @@ func (o VnicIpv6Output) Dhcp() pulumi.BoolPtrOutput { return o.ApplyT(func(v VnicIpv6) *bool { return v.Dhcp }).(pulumi.BoolPtrOutput) } -// IP address of the default gateway, if DHCP is not set. +// IP address of the default gateway, if DHCP or autoconfig is not set. func (o VnicIpv6Output) Gw() pulumi.StringPtrOutput { return o.ApplyT(func(v VnicIpv6) *string { return v.Gw }).(pulumi.StringPtrOutput) } @@ -4513,7 +4501,7 @@ func (o VnicIpv6PtrOutput) Dhcp() pulumi.BoolPtrOutput { }).(pulumi.BoolPtrOutput) } -// IP address of the default gateway, if DHCP is not set. +// IP address of the default gateway, if DHCP or autoconfig is not set. func (o VnicIpv6PtrOutput) Gw() pulumi.StringPtrOutput { return o.ApplyT(func(v *VnicIpv6) *string { if v == nil { diff --git a/sdk/go/vsphere/virtualMachine.go b/sdk/go/vsphere/virtualMachine.go index 5db86f97..cbb9725b 100644 --- a/sdk/go/vsphere/virtualMachine.go +++ b/sdk/go/vsphere/virtualMachine.go @@ -60,9 +60,7 @@ type VirtualMachine struct { // // > **NOTE:** The `datastoreClusterId` setting applies to the entire virtual machine resource. You cannot assign individual individual disks to datastore clusters. In addition, you cannot use the `attach` setting to attach external disks on virtual machines that are assigned to datastore clusters. DatastoreClusterId pulumi.StringPtrOutput `pulumi:"datastoreClusterId"` - // The managed object reference ID of the datastore in which to place the virtual machine. The virtual machine configuration files is placed here, along with any virtual disks that are created where a datastore is not explicitly specified. See the section on virtual machine migration for more information on modifying this value. - // - // > **NOTE:** Datastores cannot be assigned to individual disks when `datastoreClusterId` is used. + // The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `clientDevice`. DatastoreId pulumi.StringOutput `pulumi:"datastoreId"` // The IP address selected by the provider to be used with any provisioners configured on this resource. When possible, this is the first IPv4 address that is reachable through the default gateway configured on the machine, then the first reachable IPv6 address, and then the first general discovered address if neither exists. If VMware Tools is not running on the virtual machine, or if the virtual machine is powered off, this value will be blank. DefaultIpAddress pulumi.StringOutput `pulumi:"defaultIpAddress"` @@ -192,7 +190,7 @@ type VirtualMachine struct { ScsiType pulumi.StringPtrOutput `pulumi:"scsiType"` // The amount of time, in minutes, to wait for a graceful guest shutdown when making necessary updates to the virtual machine. If `forcePowerOff` is set to `true`, the virtual machine will be forced to power-off after the timeout, otherwise an error is returned. Default: `3` minutes. ShutdownWaitTimeout pulumi.IntPtrOutput `pulumi:"shutdownWaitTimeout"` - // The ID of the storage policy to assign to the home directory of a virtual machine. + // The UUID of the storage policy to assign to the virtual disk. StoragePolicyId pulumi.StringOutput `pulumi:"storagePolicyId"` // The swap file placement policy for the virtual machine. One of `inherit`, `hostLocal`, or `vmDirectory`. Default: `inherit`. SwapPlacementPolicy pulumi.StringPtrOutput `pulumi:"swapPlacementPolicy"` @@ -305,9 +303,7 @@ type virtualMachineState struct { // // > **NOTE:** The `datastoreClusterId` setting applies to the entire virtual machine resource. You cannot assign individual individual disks to datastore clusters. In addition, you cannot use the `attach` setting to attach external disks on virtual machines that are assigned to datastore clusters. DatastoreClusterId *string `pulumi:"datastoreClusterId"` - // The managed object reference ID of the datastore in which to place the virtual machine. The virtual machine configuration files is placed here, along with any virtual disks that are created where a datastore is not explicitly specified. See the section on virtual machine migration for more information on modifying this value. - // - // > **NOTE:** Datastores cannot be assigned to individual disks when `datastoreClusterId` is used. + // The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `clientDevice`. DatastoreId *string `pulumi:"datastoreId"` // The IP address selected by the provider to be used with any provisioners configured on this resource. When possible, this is the first IPv4 address that is reachable through the default gateway configured on the machine, then the first reachable IPv6 address, and then the first general discovered address if neither exists. If VMware Tools is not running on the virtual machine, or if the virtual machine is powered off, this value will be blank. DefaultIpAddress *string `pulumi:"defaultIpAddress"` @@ -437,7 +433,7 @@ type virtualMachineState struct { ScsiType *string `pulumi:"scsiType"` // The amount of time, in minutes, to wait for a graceful guest shutdown when making necessary updates to the virtual machine. If `forcePowerOff` is set to `true`, the virtual machine will be forced to power-off after the timeout, otherwise an error is returned. Default: `3` minutes. ShutdownWaitTimeout *int `pulumi:"shutdownWaitTimeout"` - // The ID of the storage policy to assign to the home directory of a virtual machine. + // The UUID of the storage policy to assign to the virtual disk. StoragePolicyId *string `pulumi:"storagePolicyId"` // The swap file placement policy for the virtual machine. One of `inherit`, `hostLocal`, or `vmDirectory`. Default: `inherit`. SwapPlacementPolicy *string `pulumi:"swapPlacementPolicy"` @@ -518,9 +514,7 @@ type VirtualMachineState struct { // // > **NOTE:** The `datastoreClusterId` setting applies to the entire virtual machine resource. You cannot assign individual individual disks to datastore clusters. In addition, you cannot use the `attach` setting to attach external disks on virtual machines that are assigned to datastore clusters. DatastoreClusterId pulumi.StringPtrInput - // The managed object reference ID of the datastore in which to place the virtual machine. The virtual machine configuration files is placed here, along with any virtual disks that are created where a datastore is not explicitly specified. See the section on virtual machine migration for more information on modifying this value. - // - // > **NOTE:** Datastores cannot be assigned to individual disks when `datastoreClusterId` is used. + // The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `clientDevice`. DatastoreId pulumi.StringPtrInput // The IP address selected by the provider to be used with any provisioners configured on this resource. When possible, this is the first IPv4 address that is reachable through the default gateway configured on the machine, then the first reachable IPv6 address, and then the first general discovered address if neither exists. If VMware Tools is not running on the virtual machine, or if the virtual machine is powered off, this value will be blank. DefaultIpAddress pulumi.StringPtrInput @@ -650,7 +644,7 @@ type VirtualMachineState struct { ScsiType pulumi.StringPtrInput // The amount of time, in minutes, to wait for a graceful guest shutdown when making necessary updates to the virtual machine. If `forcePowerOff` is set to `true`, the virtual machine will be forced to power-off after the timeout, otherwise an error is returned. Default: `3` minutes. ShutdownWaitTimeout pulumi.IntPtrInput - // The ID of the storage policy to assign to the home directory of a virtual machine. + // The UUID of the storage policy to assign to the virtual disk. StoragePolicyId pulumi.StringPtrInput // The swap file placement policy for the virtual machine. One of `inherit`, `hostLocal`, or `vmDirectory`. Default: `inherit`. SwapPlacementPolicy pulumi.StringPtrInput @@ -733,9 +727,7 @@ type virtualMachineArgs struct { // // > **NOTE:** The `datastoreClusterId` setting applies to the entire virtual machine resource. You cannot assign individual individual disks to datastore clusters. In addition, you cannot use the `attach` setting to attach external disks on virtual machines that are assigned to datastore clusters. DatastoreClusterId *string `pulumi:"datastoreClusterId"` - // The managed object reference ID of the datastore in which to place the virtual machine. The virtual machine configuration files is placed here, along with any virtual disks that are created where a datastore is not explicitly specified. See the section on virtual machine migration for more information on modifying this value. - // - // > **NOTE:** Datastores cannot be assigned to individual disks when `datastoreClusterId` is used. + // The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `clientDevice`. DatastoreId *string `pulumi:"datastoreId"` // A specification for a virtual disk device on the virtual machine. See disk options for more information. Disks []VirtualMachineDisk `pulumi:"disks"` @@ -853,7 +845,7 @@ type virtualMachineArgs struct { ScsiType *string `pulumi:"scsiType"` // The amount of time, in minutes, to wait for a graceful guest shutdown when making necessary updates to the virtual machine. If `forcePowerOff` is set to `true`, the virtual machine will be forced to power-off after the timeout, otherwise an error is returned. Default: `3` minutes. ShutdownWaitTimeout *int `pulumi:"shutdownWaitTimeout"` - // The ID of the storage policy to assign to the home directory of a virtual machine. + // The UUID of the storage policy to assign to the virtual disk. StoragePolicyId *string `pulumi:"storagePolicyId"` // The swap file placement policy for the virtual machine. One of `inherit`, `hostLocal`, or `vmDirectory`. Default: `inherit`. SwapPlacementPolicy *string `pulumi:"swapPlacementPolicy"` @@ -925,9 +917,7 @@ type VirtualMachineArgs struct { // // > **NOTE:** The `datastoreClusterId` setting applies to the entire virtual machine resource. You cannot assign individual individual disks to datastore clusters. In addition, you cannot use the `attach` setting to attach external disks on virtual machines that are assigned to datastore clusters. DatastoreClusterId pulumi.StringPtrInput - // The managed object reference ID of the datastore in which to place the virtual machine. The virtual machine configuration files is placed here, along with any virtual disks that are created where a datastore is not explicitly specified. See the section on virtual machine migration for more information on modifying this value. - // - // > **NOTE:** Datastores cannot be assigned to individual disks when `datastoreClusterId` is used. + // The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `clientDevice`. DatastoreId pulumi.StringPtrInput // A specification for a virtual disk device on the virtual machine. See disk options for more information. Disks VirtualMachineDiskArrayInput @@ -1045,7 +1035,7 @@ type VirtualMachineArgs struct { ScsiType pulumi.StringPtrInput // The amount of time, in minutes, to wait for a graceful guest shutdown when making necessary updates to the virtual machine. If `forcePowerOff` is set to `true`, the virtual machine will be forced to power-off after the timeout, otherwise an error is returned. Default: `3` minutes. ShutdownWaitTimeout pulumi.IntPtrInput - // The ID of the storage policy to assign to the home directory of a virtual machine. + // The UUID of the storage policy to assign to the virtual disk. StoragePolicyId pulumi.StringPtrInput // The swap file placement policy for the virtual machine. One of `inherit`, `hostLocal`, or `vmDirectory`. Default: `inherit`. SwapPlacementPolicy pulumi.StringPtrInput @@ -1282,9 +1272,7 @@ func (o VirtualMachineOutput) DatastoreClusterId() pulumi.StringPtrOutput { return o.ApplyT(func(v *VirtualMachine) pulumi.StringPtrOutput { return v.DatastoreClusterId }).(pulumi.StringPtrOutput) } -// The managed object reference ID of the datastore in which to place the virtual machine. The virtual machine configuration files is placed here, along with any virtual disks that are created where a datastore is not explicitly specified. See the section on virtual machine migration for more information on modifying this value. -// -// > **NOTE:** Datastores cannot be assigned to individual disks when `datastoreClusterId` is used. +// The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `clientDevice`. func (o VirtualMachineOutput) DatastoreId() pulumi.StringOutput { return o.ApplyT(func(v *VirtualMachine) pulumi.StringOutput { return v.DatastoreId }).(pulumi.StringOutput) } @@ -1566,7 +1554,7 @@ func (o VirtualMachineOutput) ShutdownWaitTimeout() pulumi.IntPtrOutput { return o.ApplyT(func(v *VirtualMachine) pulumi.IntPtrOutput { return v.ShutdownWaitTimeout }).(pulumi.IntPtrOutput) } -// The ID of the storage policy to assign to the home directory of a virtual machine. +// The UUID of the storage policy to assign to the virtual disk. func (o VirtualMachineOutput) StoragePolicyId() pulumi.StringOutput { return o.ApplyT(func(v *VirtualMachine) pulumi.StringOutput { return v.StoragePolicyId }).(pulumi.StringOutput) } diff --git a/sdk/java/src/main/java/com/pulumi/vsphere/DatastoreCluster.java b/sdk/java/src/main/java/com/pulumi/vsphere/DatastoreCluster.java index 8c828f89..e119f096 100644 --- a/sdk/java/src/main/java/com/pulumi/vsphere/DatastoreCluster.java +++ b/sdk/java/src/main/java/com/pulumi/vsphere/DatastoreCluster.java @@ -173,9 +173,7 @@ public Output> sdrsEnabled() { return Codegen.optional(this.sdrsEnabled); } /** - * The threshold, in GB, that storage - * DRS uses to make decisions to migrate VMs out of a datastore. Default: `50` - * GB. + * The free space threshold to use. * When set to `utilization`, `drs_space_utilization_threshold` is used, and * when set to `freeSpace`, `drs_free_space_threshold` is used. Default: * `utilization`. @@ -185,9 +183,7 @@ public Output> sdrsEnabled() { private Output sdrsFreeSpaceThreshold; /** - * @return The threshold, in GB, that storage - * DRS uses to make decisions to migrate VMs out of a datastore. Default: `50` - * GB. + * @return The free space threshold to use. * When set to `utilization`, `drs_space_utilization_threshold` is used, and * when set to `freeSpace`, `drs_free_space_threshold` is used. Default: * `utilization`. @@ -214,8 +210,6 @@ public Output> sdrsFreeSpaceThresholdMode() { } /** * The threshold, in - * percent of used space, that storage DRS uses to make decisions to migrate VMs - * out of a datastore. Default: `80` percent. * percent, of difference between space utilization in datastores before storage * DRS makes decisions to balance the space. Default: `5` percent. * @@ -225,8 +219,6 @@ public Output> sdrsFreeSpaceThresholdMode() { /** * @return The threshold, in - * percent of used space, that storage DRS uses to make decisions to migrate VMs - * out of a datastore. Default: `80` percent. * percent, of difference between space utilization in datastores before storage * DRS makes decisions to balance the space. Default: `5` percent. * diff --git a/sdk/java/src/main/java/com/pulumi/vsphere/DatastoreClusterArgs.java b/sdk/java/src/main/java/com/pulumi/vsphere/DatastoreClusterArgs.java index fdf591c4..0dec943a 100644 --- a/sdk/java/src/main/java/com/pulumi/vsphere/DatastoreClusterArgs.java +++ b/sdk/java/src/main/java/com/pulumi/vsphere/DatastoreClusterArgs.java @@ -180,9 +180,7 @@ public Optional> sdrsEnabled() { } /** - * The threshold, in GB, that storage - * DRS uses to make decisions to migrate VMs out of a datastore. Default: `50` - * GB. + * The free space threshold to use. * When set to `utilization`, `drs_space_utilization_threshold` is used, and * when set to `freeSpace`, `drs_free_space_threshold` is used. Default: * `utilization`. @@ -192,9 +190,7 @@ public Optional> sdrsEnabled() { private @Nullable Output sdrsFreeSpaceThreshold; /** - * @return The threshold, in GB, that storage - * DRS uses to make decisions to migrate VMs out of a datastore. Default: `50` - * GB. + * @return The free space threshold to use. * When set to `utilization`, `drs_space_utilization_threshold` is used, and * when set to `freeSpace`, `drs_free_space_threshold` is used. Default: * `utilization`. @@ -223,8 +219,6 @@ public Optional> sdrsFreeSpaceThresholdMode() { /** * The threshold, in - * percent of used space, that storage DRS uses to make decisions to migrate VMs - * out of a datastore. Default: `80` percent. * percent, of difference between space utilization in datastores before storage * DRS makes decisions to balance the space. Default: `5` percent. * @@ -234,8 +228,6 @@ public Optional> sdrsFreeSpaceThresholdMode() { /** * @return The threshold, in - * percent of used space, that storage DRS uses to make decisions to migrate VMs - * out of a datastore. Default: `80` percent. * percent, of difference between space utilization in datastores before storage * DRS makes decisions to balance the space. Default: `5` percent. * @@ -763,9 +755,7 @@ public Builder sdrsEnabled(Boolean sdrsEnabled) { } /** - * @param sdrsFreeSpaceThreshold The threshold, in GB, that storage - * DRS uses to make decisions to migrate VMs out of a datastore. Default: `50` - * GB. + * @param sdrsFreeSpaceThreshold The free space threshold to use. * When set to `utilization`, `drs_space_utilization_threshold` is used, and * when set to `freeSpace`, `drs_free_space_threshold` is used. Default: * `utilization`. @@ -779,9 +769,7 @@ public Builder sdrsFreeSpaceThreshold(@Nullable Output sdrsFreeSpaceThr } /** - * @param sdrsFreeSpaceThreshold The threshold, in GB, that storage - * DRS uses to make decisions to migrate VMs out of a datastore. Default: `50` - * GB. + * @param sdrsFreeSpaceThreshold The free space threshold to use. * When set to `utilization`, `drs_space_utilization_threshold` is used, and * when set to `freeSpace`, `drs_free_space_threshold` is used. Default: * `utilization`. @@ -818,8 +806,6 @@ public Builder sdrsFreeSpaceThresholdMode(String sdrsFreeSpaceThresholdMode) { /** * @param sdrsFreeSpaceUtilizationDifference The threshold, in - * percent of used space, that storage DRS uses to make decisions to migrate VMs - * out of a datastore. Default: `80` percent. * percent, of difference between space utilization in datastores before storage * DRS makes decisions to balance the space. Default: `5` percent. * @@ -833,8 +819,6 @@ public Builder sdrsFreeSpaceUtilizationDifference(@Nullable Output sdrs /** * @param sdrsFreeSpaceUtilizationDifference The threshold, in - * percent of used space, that storage DRS uses to make decisions to migrate VMs - * out of a datastore. Default: `80` percent. * percent, of difference between space utilization in datastores before storage * DRS makes decisions to balance the space. Default: `5` percent. * diff --git a/sdk/java/src/main/java/com/pulumi/vsphere/VirtualMachine.java b/sdk/java/src/main/java/com/pulumi/vsphere/VirtualMachine.java index 8c9df190..ddb6e5d4 100644 --- a/sdk/java/src/main/java/com/pulumi/vsphere/VirtualMachine.java +++ b/sdk/java/src/main/java/com/pulumi/vsphere/VirtualMachine.java @@ -295,18 +295,14 @@ public Output> datastoreClusterId() { return Codegen.optional(this.datastoreClusterId); } /** - * The managed object reference ID of the datastore in which to place the virtual machine. The virtual machine configuration files is placed here, along with any virtual disks that are created where a datastore is not explicitly specified. See the section on virtual machine migration for more information on modifying this value. - * - * > **NOTE:** Datastores cannot be assigned to individual disks when `datastore_cluster_id` is used. + * The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `client_device`. * */ @Export(name="datastoreId", type=String.class, parameters={}) private Output datastoreId; /** - * @return The managed object reference ID of the datastore in which to place the virtual machine. The virtual machine configuration files is placed here, along with any virtual disks that are created where a datastore is not explicitly specified. See the section on virtual machine migration for more information on modifying this value. - * - * > **NOTE:** Datastores cannot be assigned to individual disks when `datastore_cluster_id` is used. + * @return The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `client_device`. * */ public Output datastoreId() { @@ -1069,14 +1065,14 @@ public Output> shutdownWaitTimeout() { return Codegen.optional(this.shutdownWaitTimeout); } /** - * The ID of the storage policy to assign to the home directory of a virtual machine. + * The UUID of the storage policy to assign to the virtual disk. * */ @Export(name="storagePolicyId", type=String.class, parameters={}) private Output storagePolicyId; /** - * @return The ID of the storage policy to assign to the home directory of a virtual machine. + * @return The UUID of the storage policy to assign to the virtual disk. * */ public Output storagePolicyId() { diff --git a/sdk/java/src/main/java/com/pulumi/vsphere/VirtualMachineArgs.java b/sdk/java/src/main/java/com/pulumi/vsphere/VirtualMachineArgs.java index 40a79d2b..c419efea 100644 --- a/sdk/java/src/main/java/com/pulumi/vsphere/VirtualMachineArgs.java +++ b/sdk/java/src/main/java/com/pulumi/vsphere/VirtualMachineArgs.java @@ -297,18 +297,14 @@ public Optional> datastoreClusterId() { } /** - * The managed object reference ID of the datastore in which to place the virtual machine. The virtual machine configuration files is placed here, along with any virtual disks that are created where a datastore is not explicitly specified. See the section on virtual machine migration for more information on modifying this value. - * - * > **NOTE:** Datastores cannot be assigned to individual disks when `datastore_cluster_id` is used. + * The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `client_device`. * */ @Import(name="datastoreId") private @Nullable Output datastoreId; /** - * @return The managed object reference ID of the datastore in which to place the virtual machine. The virtual machine configuration files is placed here, along with any virtual disks that are created where a datastore is not explicitly specified. See the section on virtual machine migration for more information on modifying this value. - * - * > **NOTE:** Datastores cannot be assigned to individual disks when `datastore_cluster_id` is used. + * @return The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `client_device`. * */ public Optional> datastoreId() { @@ -1032,14 +1028,14 @@ public Optional> shutdownWaitTimeout() { } /** - * The ID of the storage policy to assign to the home directory of a virtual machine. + * The UUID of the storage policy to assign to the virtual disk. * */ @Import(name="storagePolicyId") private @Nullable Output storagePolicyId; /** - * @return The ID of the storage policy to assign to the home directory of a virtual machine. + * @return The UUID of the storage policy to assign to the virtual disk. * */ public Optional> storagePolicyId() { @@ -1696,9 +1692,7 @@ public Builder datastoreClusterId(String datastoreClusterId) { } /** - * @param datastoreId The managed object reference ID of the datastore in which to place the virtual machine. The virtual machine configuration files is placed here, along with any virtual disks that are created where a datastore is not explicitly specified. See the section on virtual machine migration for more information on modifying this value. - * - * > **NOTE:** Datastores cannot be assigned to individual disks when `datastore_cluster_id` is used. + * @param datastoreId The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `client_device`. * * @return builder * @@ -1709,9 +1703,7 @@ public Builder datastoreId(@Nullable Output datastoreId) { } /** - * @param datastoreId The managed object reference ID of the datastore in which to place the virtual machine. The virtual machine configuration files is placed here, along with any virtual disks that are created where a datastore is not explicitly specified. See the section on virtual machine migration for more information on modifying this value. - * - * > **NOTE:** Datastores cannot be assigned to individual disks when `datastore_cluster_id` is used. + * @param datastoreId The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `client_device`. * * @return builder * @@ -2743,7 +2735,7 @@ public Builder shutdownWaitTimeout(Integer shutdownWaitTimeout) { } /** - * @param storagePolicyId The ID of the storage policy to assign to the home directory of a virtual machine. + * @param storagePolicyId The UUID of the storage policy to assign to the virtual disk. * * @return builder * @@ -2754,7 +2746,7 @@ public Builder storagePolicyId(@Nullable Output storagePolicyId) { } /** - * @param storagePolicyId The ID of the storage policy to assign to the home directory of a virtual machine. + * @param storagePolicyId The UUID of the storage policy to assign to the virtual disk. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/vsphere/inputs/DatastoreClusterState.java b/sdk/java/src/main/java/com/pulumi/vsphere/inputs/DatastoreClusterState.java index 18e7a494..957801dd 100644 --- a/sdk/java/src/main/java/com/pulumi/vsphere/inputs/DatastoreClusterState.java +++ b/sdk/java/src/main/java/com/pulumi/vsphere/inputs/DatastoreClusterState.java @@ -180,9 +180,7 @@ public Optional> sdrsEnabled() { } /** - * The threshold, in GB, that storage - * DRS uses to make decisions to migrate VMs out of a datastore. Default: `50` - * GB. + * The free space threshold to use. * When set to `utilization`, `drs_space_utilization_threshold` is used, and * when set to `freeSpace`, `drs_free_space_threshold` is used. Default: * `utilization`. @@ -192,9 +190,7 @@ public Optional> sdrsEnabled() { private @Nullable Output sdrsFreeSpaceThreshold; /** - * @return The threshold, in GB, that storage - * DRS uses to make decisions to migrate VMs out of a datastore. Default: `50` - * GB. + * @return The free space threshold to use. * When set to `utilization`, `drs_space_utilization_threshold` is used, and * when set to `freeSpace`, `drs_free_space_threshold` is used. Default: * `utilization`. @@ -223,8 +219,6 @@ public Optional> sdrsFreeSpaceThresholdMode() { /** * The threshold, in - * percent of used space, that storage DRS uses to make decisions to migrate VMs - * out of a datastore. Default: `80` percent. * percent, of difference between space utilization in datastores before storage * DRS makes decisions to balance the space. Default: `5` percent. * @@ -234,8 +228,6 @@ public Optional> sdrsFreeSpaceThresholdMode() { /** * @return The threshold, in - * percent of used space, that storage DRS uses to make decisions to migrate VMs - * out of a datastore. Default: `80` percent. * percent, of difference between space utilization in datastores before storage * DRS makes decisions to balance the space. Default: `5` percent. * @@ -763,9 +755,7 @@ public Builder sdrsEnabled(Boolean sdrsEnabled) { } /** - * @param sdrsFreeSpaceThreshold The threshold, in GB, that storage - * DRS uses to make decisions to migrate VMs out of a datastore. Default: `50` - * GB. + * @param sdrsFreeSpaceThreshold The free space threshold to use. * When set to `utilization`, `drs_space_utilization_threshold` is used, and * when set to `freeSpace`, `drs_free_space_threshold` is used. Default: * `utilization`. @@ -779,9 +769,7 @@ public Builder sdrsFreeSpaceThreshold(@Nullable Output sdrsFreeSpaceThr } /** - * @param sdrsFreeSpaceThreshold The threshold, in GB, that storage - * DRS uses to make decisions to migrate VMs out of a datastore. Default: `50` - * GB. + * @param sdrsFreeSpaceThreshold The free space threshold to use. * When set to `utilization`, `drs_space_utilization_threshold` is used, and * when set to `freeSpace`, `drs_free_space_threshold` is used. Default: * `utilization`. @@ -818,8 +806,6 @@ public Builder sdrsFreeSpaceThresholdMode(String sdrsFreeSpaceThresholdMode) { /** * @param sdrsFreeSpaceUtilizationDifference The threshold, in - * percent of used space, that storage DRS uses to make decisions to migrate VMs - * out of a datastore. Default: `80` percent. * percent, of difference between space utilization in datastores before storage * DRS makes decisions to balance the space. Default: `5` percent. * @@ -833,8 +819,6 @@ public Builder sdrsFreeSpaceUtilizationDifference(@Nullable Output sdrs /** * @param sdrsFreeSpaceUtilizationDifference The threshold, in - * percent of used space, that storage DRS uses to make decisions to migrate VMs - * out of a datastore. Default: `80` percent. * percent, of difference between space utilization in datastores before storage * DRS makes decisions to balance the space. Default: `5` percent. * diff --git a/sdk/java/src/main/java/com/pulumi/vsphere/inputs/VirtualMachineCdromArgs.java b/sdk/java/src/main/java/com/pulumi/vsphere/inputs/VirtualMachineCdromArgs.java index ff6fb6a0..9b3eaca4 100644 --- a/sdk/java/src/main/java/com/pulumi/vsphere/inputs/VirtualMachineCdromArgs.java +++ b/sdk/java/src/main/java/com/pulumi/vsphere/inputs/VirtualMachineCdromArgs.java @@ -33,18 +33,14 @@ public Optional> clientDevice() { } /** - * The managed object reference ID of the datastore in which to place the virtual machine. The virtual machine configuration files is placed here, along with any virtual disks that are created where a datastore is not explicitly specified. See the section on virtual machine migration for more information on modifying this value. - * - * > **NOTE:** Datastores cannot be assigned to individual disks when `datastore_cluster_id` is used. + * The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `client_device`. * */ @Import(name="datastoreId") private @Nullable Output datastoreId; /** - * @return The managed object reference ID of the datastore in which to place the virtual machine. The virtual machine configuration files is placed here, along with any virtual disks that are created where a datastore is not explicitly specified. See the section on virtual machine migration for more information on modifying this value. - * - * > **NOTE:** Datastores cannot be assigned to individual disks when `datastore_cluster_id` is used. + * @return The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `client_device`. * */ public Optional> datastoreId() { @@ -74,7 +70,7 @@ public Optional> key() { } /** - * When using `attach`, this parameter controls the path of a virtual disk to attach externally. Otherwise, it is a computed attribute that contains the virtual disk filename. + * The path to the ISO file. Required for using a datastore ISO. Conflicts with `client_device`. * * > **NOTE:** Either `client_device` (for a remote backed CD-ROM) or `datastore_id` and `path` (for a datastore ISO backed CD-ROM) are required to . * @@ -85,7 +81,7 @@ public Optional> key() { private @Nullable Output path; /** - * @return When using `attach`, this parameter controls the path of a virtual disk to attach externally. Otherwise, it is a computed attribute that contains the virtual disk filename. + * @return The path to the ISO file. Required for using a datastore ISO. Conflicts with `client_device`. * * > **NOTE:** Either `client_device` (for a remote backed CD-ROM) or `datastore_id` and `path` (for a datastore ISO backed CD-ROM) are required to . * @@ -146,9 +142,7 @@ public Builder clientDevice(Boolean clientDevice) { } /** - * @param datastoreId The managed object reference ID of the datastore in which to place the virtual machine. The virtual machine configuration files is placed here, along with any virtual disks that are created where a datastore is not explicitly specified. See the section on virtual machine migration for more information on modifying this value. - * - * > **NOTE:** Datastores cannot be assigned to individual disks when `datastore_cluster_id` is used. + * @param datastoreId The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `client_device`. * * @return builder * @@ -159,9 +153,7 @@ public Builder datastoreId(@Nullable Output datastoreId) { } /** - * @param datastoreId The managed object reference ID of the datastore in which to place the virtual machine. The virtual machine configuration files is placed here, along with any virtual disks that are created where a datastore is not explicitly specified. See the section on virtual machine migration for more information on modifying this value. - * - * > **NOTE:** Datastores cannot be assigned to individual disks when `datastore_cluster_id` is used. + * @param datastoreId The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `client_device`. * * @return builder * @@ -201,7 +193,7 @@ public Builder key(Integer key) { } /** - * @param path When using `attach`, this parameter controls the path of a virtual disk to attach externally. Otherwise, it is a computed attribute that contains the virtual disk filename. + * @param path The path to the ISO file. Required for using a datastore ISO. Conflicts with `client_device`. * * > **NOTE:** Either `client_device` (for a remote backed CD-ROM) or `datastore_id` and `path` (for a datastore ISO backed CD-ROM) are required to . * @@ -216,7 +208,7 @@ public Builder path(@Nullable Output path) { } /** - * @param path When using `attach`, this parameter controls the path of a virtual disk to attach externally. Otherwise, it is a computed attribute that contains the virtual disk filename. + * @param path The path to the ISO file. Required for using a datastore ISO. Conflicts with `client_device`. * * > **NOTE:** Either `client_device` (for a remote backed CD-ROM) or `datastore_id` and `path` (for a datastore ISO backed CD-ROM) are required to . * diff --git a/sdk/java/src/main/java/com/pulumi/vsphere/inputs/VirtualMachineDiskArgs.java b/sdk/java/src/main/java/com/pulumi/vsphere/inputs/VirtualMachineDiskArgs.java index 896629b6..3fc6296b 100644 --- a/sdk/java/src/main/java/com/pulumi/vsphere/inputs/VirtualMachineDiskArgs.java +++ b/sdk/java/src/main/java/com/pulumi/vsphere/inputs/VirtualMachineDiskArgs.java @@ -52,18 +52,14 @@ public Optional> controllerType() { } /** - * The managed object reference ID of the datastore in which to place the virtual machine. The virtual machine configuration files is placed here, along with any virtual disks that are created where a datastore is not explicitly specified. See the section on virtual machine migration for more information on modifying this value. - * - * > **NOTE:** Datastores cannot be assigned to individual disks when `datastore_cluster_id` is used. + * The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `client_device`. * */ @Import(name="datastoreId") private @Nullable Output datastoreId; /** - * @return The managed object reference ID of the datastore in which to place the virtual machine. The virtual machine configuration files is placed here, along with any virtual disks that are created where a datastore is not explicitly specified. See the section on virtual machine migration for more information on modifying this value. - * - * > **NOTE:** Datastores cannot be assigned to individual disks when `datastore_cluster_id` is used. + * @return The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `client_device`. * */ public Optional> datastoreId() { @@ -228,7 +224,7 @@ public Output label() { } /** - * When using `attach`, this parameter controls the path of a virtual disk to attach externally. Otherwise, it is a computed attribute that contains the virtual disk filename. + * The path to the ISO file. Required for using a datastore ISO. Conflicts with `client_device`. * * > **NOTE:** Either `client_device` (for a remote backed CD-ROM) or `datastore_id` and `path` (for a datastore ISO backed CD-ROM) are required to . * @@ -239,7 +235,7 @@ public Output label() { private @Nullable Output path; /** - * @return When using `attach`, this parameter controls the path of a virtual disk to attach externally. Otherwise, it is a computed attribute that contains the virtual disk filename. + * @return The path to the ISO file. Required for using a datastore ISO. Conflicts with `client_device`. * * > **NOTE:** Either `client_device` (for a remote backed CD-ROM) or `datastore_id` and `path` (for a datastore ISO backed CD-ROM) are required to . * @@ -266,14 +262,14 @@ public Optional> size() { } /** - * The ID of the storage policy to assign to the home directory of a virtual machine. + * The UUID of the storage policy to assign to the virtual disk. * */ @Import(name="storagePolicyId") private @Nullable Output storagePolicyId; /** - * @return The ID of the storage policy to assign to the home directory of a virtual machine. + * @return The UUID of the storage policy to assign to the virtual disk. * */ public Optional> storagePolicyId() { @@ -431,9 +427,7 @@ public Builder controllerType(String controllerType) { } /** - * @param datastoreId The managed object reference ID of the datastore in which to place the virtual machine. The virtual machine configuration files is placed here, along with any virtual disks that are created where a datastore is not explicitly specified. See the section on virtual machine migration for more information on modifying this value. - * - * > **NOTE:** Datastores cannot be assigned to individual disks when `datastore_cluster_id` is used. + * @param datastoreId The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `client_device`. * * @return builder * @@ -444,9 +438,7 @@ public Builder datastoreId(@Nullable Output datastoreId) { } /** - * @param datastoreId The managed object reference ID of the datastore in which to place the virtual machine. The virtual machine configuration files is placed here, along with any virtual disks that are created where a datastore is not explicitly specified. See the section on virtual machine migration for more information on modifying this value. - * - * > **NOTE:** Datastores cannot be assigned to individual disks when `datastore_cluster_id` is used. + * @param datastoreId The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `client_device`. * * @return builder * @@ -671,7 +663,7 @@ public Builder label(String label) { } /** - * @param path When using `attach`, this parameter controls the path of a virtual disk to attach externally. Otherwise, it is a computed attribute that contains the virtual disk filename. + * @param path The path to the ISO file. Required for using a datastore ISO. Conflicts with `client_device`. * * > **NOTE:** Either `client_device` (for a remote backed CD-ROM) or `datastore_id` and `path` (for a datastore ISO backed CD-ROM) are required to . * @@ -686,7 +678,7 @@ public Builder path(@Nullable Output path) { } /** - * @param path When using `attach`, this parameter controls the path of a virtual disk to attach externally. Otherwise, it is a computed attribute that contains the virtual disk filename. + * @param path The path to the ISO file. Required for using a datastore ISO. Conflicts with `client_device`. * * > **NOTE:** Either `client_device` (for a remote backed CD-ROM) or `datastore_id` and `path` (for a datastore ISO backed CD-ROM) are required to . * @@ -721,7 +713,7 @@ public Builder size(Integer size) { } /** - * @param storagePolicyId The ID of the storage policy to assign to the home directory of a virtual machine. + * @param storagePolicyId The UUID of the storage policy to assign to the virtual disk. * * @return builder * @@ -732,7 +724,7 @@ public Builder storagePolicyId(@Nullable Output storagePolicyId) { } /** - * @param storagePolicyId The ID of the storage policy to assign to the home directory of a virtual machine. + * @param storagePolicyId The UUID of the storage policy to assign to the virtual disk. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/vsphere/inputs/VirtualMachineState.java b/sdk/java/src/main/java/com/pulumi/vsphere/inputs/VirtualMachineState.java index f8802407..1046796f 100644 --- a/sdk/java/src/main/java/com/pulumi/vsphere/inputs/VirtualMachineState.java +++ b/sdk/java/src/main/java/com/pulumi/vsphere/inputs/VirtualMachineState.java @@ -312,18 +312,14 @@ public Optional> datastoreClusterId() { } /** - * The managed object reference ID of the datastore in which to place the virtual machine. The virtual machine configuration files is placed here, along with any virtual disks that are created where a datastore is not explicitly specified. See the section on virtual machine migration for more information on modifying this value. - * - * > **NOTE:** Datastores cannot be assigned to individual disks when `datastore_cluster_id` is used. + * The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `client_device`. * */ @Import(name="datastoreId") private @Nullable Output datastoreId; /** - * @return The managed object reference ID of the datastore in which to place the virtual machine. The virtual machine configuration files is placed here, along with any virtual disks that are created where a datastore is not explicitly specified. See the section on virtual machine migration for more information on modifying this value. - * - * > **NOTE:** Datastores cannot be assigned to individual disks when `datastore_cluster_id` is used. + * @return The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `client_device`. * */ public Optional> datastoreId() { @@ -1137,14 +1133,14 @@ public Optional> shutdownWaitTimeout() { } /** - * The ID of the storage policy to assign to the home directory of a virtual machine. + * The UUID of the storage policy to assign to the virtual disk. * */ @Import(name="storagePolicyId") private @Nullable Output storagePolicyId; /** - * @return The ID of the storage policy to assign to the home directory of a virtual machine. + * @return The UUID of the storage policy to assign to the virtual disk. * */ public Optional> storagePolicyId() { @@ -1893,9 +1889,7 @@ public Builder datastoreClusterId(String datastoreClusterId) { } /** - * @param datastoreId The managed object reference ID of the datastore in which to place the virtual machine. The virtual machine configuration files is placed here, along with any virtual disks that are created where a datastore is not explicitly specified. See the section on virtual machine migration for more information on modifying this value. - * - * > **NOTE:** Datastores cannot be assigned to individual disks when `datastore_cluster_id` is used. + * @param datastoreId The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `client_device`. * * @return builder * @@ -1906,9 +1900,7 @@ public Builder datastoreId(@Nullable Output datastoreId) { } /** - * @param datastoreId The managed object reference ID of the datastore in which to place the virtual machine. The virtual machine configuration files is placed here, along with any virtual disks that are created where a datastore is not explicitly specified. See the section on virtual machine migration for more information on modifying this value. - * - * > **NOTE:** Datastores cannot be assigned to individual disks when `datastore_cluster_id` is used. + * @param datastoreId The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `client_device`. * * @return builder * @@ -3076,7 +3068,7 @@ public Builder shutdownWaitTimeout(Integer shutdownWaitTimeout) { } /** - * @param storagePolicyId The ID of the storage policy to assign to the home directory of a virtual machine. + * @param storagePolicyId The UUID of the storage policy to assign to the virtual disk. * * @return builder * @@ -3087,7 +3079,7 @@ public Builder storagePolicyId(@Nullable Output storagePolicyId) { } /** - * @param storagePolicyId The ID of the storage policy to assign to the home directory of a virtual machine. + * @param storagePolicyId The UUID of the storage policy to assign to the virtual disk. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/vsphere/inputs/VnicIpv4Args.java b/sdk/java/src/main/java/com/pulumi/vsphere/inputs/VnicIpv4Args.java index 846919c6..8bf37f03 100644 --- a/sdk/java/src/main/java/com/pulumi/vsphere/inputs/VnicIpv4Args.java +++ b/sdk/java/src/main/java/com/pulumi/vsphere/inputs/VnicIpv4Args.java @@ -32,14 +32,14 @@ public Optional> dhcp() { } /** - * IP address of the default gateway, if DHCP is not set. + * IP address of the default gateway, if DHCP or autoconfig is not set. * */ @Import(name="gw") private @Nullable Output gw; /** - * @return IP address of the default gateway, if DHCP is not set. + * @return IP address of the default gateway, if DHCP or autoconfig is not set. * */ public Optional> gw() { @@ -125,7 +125,7 @@ public Builder dhcp(Boolean dhcp) { } /** - * @param gw IP address of the default gateway, if DHCP is not set. + * @param gw IP address of the default gateway, if DHCP or autoconfig is not set. * * @return builder * @@ -136,7 +136,7 @@ public Builder gw(@Nullable Output gw) { } /** - * @param gw IP address of the default gateway, if DHCP is not set. + * @param gw IP address of the default gateway, if DHCP or autoconfig is not set. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/vsphere/inputs/VnicIpv6Args.java b/sdk/java/src/main/java/com/pulumi/vsphere/inputs/VnicIpv6Args.java index c92fe625..a331d624 100644 --- a/sdk/java/src/main/java/com/pulumi/vsphere/inputs/VnicIpv6Args.java +++ b/sdk/java/src/main/java/com/pulumi/vsphere/inputs/VnicIpv6Args.java @@ -63,14 +63,14 @@ public Optional> dhcp() { } /** - * IP address of the default gateway, if DHCP is not set. + * IP address of the default gateway, if DHCP or autoconfig is not set. * */ @Import(name="gw") private @Nullable Output gw; /** - * @return IP address of the default gateway, if DHCP is not set. + * @return IP address of the default gateway, if DHCP or autoconfig is not set. * */ public Optional> gw() { @@ -178,7 +178,7 @@ public Builder dhcp(Boolean dhcp) { } /** - * @param gw IP address of the default gateway, if DHCP is not set. + * @param gw IP address of the default gateway, if DHCP or autoconfig is not set. * * @return builder * @@ -189,7 +189,7 @@ public Builder gw(@Nullable Output gw) { } /** - * @param gw IP address of the default gateway, if DHCP is not set. + * @param gw IP address of the default gateway, if DHCP or autoconfig is not set. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/vsphere/outputs/VirtualMachineCdrom.java b/sdk/java/src/main/java/com/pulumi/vsphere/outputs/VirtualMachineCdrom.java index 4744a0ac..d082ebcd 100644 --- a/sdk/java/src/main/java/com/pulumi/vsphere/outputs/VirtualMachineCdrom.java +++ b/sdk/java/src/main/java/com/pulumi/vsphere/outputs/VirtualMachineCdrom.java @@ -19,9 +19,7 @@ public final class VirtualMachineCdrom { */ private @Nullable Boolean clientDevice; /** - * @return The managed object reference ID of the datastore in which to place the virtual machine. The virtual machine configuration files is placed here, along with any virtual disks that are created where a datastore is not explicitly specified. See the section on virtual machine migration for more information on modifying this value. - * - * > **NOTE:** Datastores cannot be assigned to individual disks when `datastore_cluster_id` is used. + * @return The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `client_device`. * */ private @Nullable String datastoreId; @@ -32,7 +30,7 @@ public final class VirtualMachineCdrom { */ private @Nullable Integer key; /** - * @return When using `attach`, this parameter controls the path of a virtual disk to attach externally. Otherwise, it is a computed attribute that contains the virtual disk filename. + * @return The path to the ISO file. Required for using a datastore ISO. Conflicts with `client_device`. * * > **NOTE:** Either `client_device` (for a remote backed CD-ROM) or `datastore_id` and `path` (for a datastore ISO backed CD-ROM) are required to . * @@ -50,9 +48,7 @@ public Optional clientDevice() { return Optional.ofNullable(this.clientDevice); } /** - * @return The managed object reference ID of the datastore in which to place the virtual machine. The virtual machine configuration files is placed here, along with any virtual disks that are created where a datastore is not explicitly specified. See the section on virtual machine migration for more information on modifying this value. - * - * > **NOTE:** Datastores cannot be assigned to individual disks when `datastore_cluster_id` is used. + * @return The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `client_device`. * */ public Optional datastoreId() { @@ -69,7 +65,7 @@ public Optional key() { return Optional.ofNullable(this.key); } /** - * @return When using `attach`, this parameter controls the path of a virtual disk to attach externally. Otherwise, it is a computed attribute that contains the virtual disk filename. + * @return The path to the ISO file. Required for using a datastore ISO. Conflicts with `client_device`. * * > **NOTE:** Either `client_device` (for a remote backed CD-ROM) or `datastore_id` and `path` (for a datastore ISO backed CD-ROM) are required to . * diff --git a/sdk/java/src/main/java/com/pulumi/vsphere/outputs/VirtualMachineDisk.java b/sdk/java/src/main/java/com/pulumi/vsphere/outputs/VirtualMachineDisk.java index aada38f6..416cc7ca 100644 --- a/sdk/java/src/main/java/com/pulumi/vsphere/outputs/VirtualMachineDisk.java +++ b/sdk/java/src/main/java/com/pulumi/vsphere/outputs/VirtualMachineDisk.java @@ -26,9 +26,7 @@ public final class VirtualMachineDisk { */ private @Nullable String controllerType; /** - * @return The managed object reference ID of the datastore in which to place the virtual machine. The virtual machine configuration files is placed here, along with any virtual disks that are created where a datastore is not explicitly specified. See the section on virtual machine migration for more information on modifying this value. - * - * > **NOTE:** Datastores cannot be assigned to individual disks when `datastore_cluster_id` is used. + * @return The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `client_device`. * */ private @Nullable String datastoreId; @@ -84,7 +82,7 @@ public final class VirtualMachineDisk { private @Nullable Integer key; private String label; /** - * @return When using `attach`, this parameter controls the path of a virtual disk to attach externally. Otherwise, it is a computed attribute that contains the virtual disk filename. + * @return The path to the ISO file. Required for using a datastore ISO. Conflicts with `client_device`. * * > **NOTE:** Either `client_device` (for a remote backed CD-ROM) or `datastore_id` and `path` (for a datastore ISO backed CD-ROM) are required to . * @@ -98,7 +96,7 @@ public final class VirtualMachineDisk { */ private @Nullable Integer size; /** - * @return The ID of the storage policy to assign to the home directory of a virtual machine. + * @return The UUID of the storage policy to assign to the virtual disk. * */ private @Nullable String storagePolicyId; @@ -141,9 +139,7 @@ public Optional controllerType() { return Optional.ofNullable(this.controllerType); } /** - * @return The managed object reference ID of the datastore in which to place the virtual machine. The virtual machine configuration files is placed here, along with any virtual disks that are created where a datastore is not explicitly specified. See the section on virtual machine migration for more information on modifying this value. - * - * > **NOTE:** Datastores cannot be assigned to individual disks when `datastore_cluster_id` is used. + * @return The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `client_device`. * */ public Optional datastoreId() { @@ -223,7 +219,7 @@ public String label() { return this.label; } /** - * @return When using `attach`, this parameter controls the path of a virtual disk to attach externally. Otherwise, it is a computed attribute that contains the virtual disk filename. + * @return The path to the ISO file. Required for using a datastore ISO. Conflicts with `client_device`. * * > **NOTE:** Either `client_device` (for a remote backed CD-ROM) or `datastore_id` and `path` (for a datastore ISO backed CD-ROM) are required to . * @@ -241,7 +237,7 @@ public Optional size() { return Optional.ofNullable(this.size); } /** - * @return The ID of the storage policy to assign to the home directory of a virtual machine. + * @return The UUID of the storage policy to assign to the virtual disk. * */ public Optional storagePolicyId() { diff --git a/sdk/java/src/main/java/com/pulumi/vsphere/outputs/VnicIpv4.java b/sdk/java/src/main/java/com/pulumi/vsphere/outputs/VnicIpv4.java index df6363d0..03bcf698 100644 --- a/sdk/java/src/main/java/com/pulumi/vsphere/outputs/VnicIpv4.java +++ b/sdk/java/src/main/java/com/pulumi/vsphere/outputs/VnicIpv4.java @@ -18,7 +18,7 @@ public final class VnicIpv4 { */ private @Nullable Boolean dhcp; /** - * @return IP address of the default gateway, if DHCP is not set. + * @return IP address of the default gateway, if DHCP or autoconfig is not set. * */ private @Nullable String gw; @@ -42,7 +42,7 @@ public Optional dhcp() { return Optional.ofNullable(this.dhcp); } /** - * @return IP address of the default gateway, if DHCP is not set. + * @return IP address of the default gateway, if DHCP or autoconfig is not set. * */ public Optional gw() { diff --git a/sdk/java/src/main/java/com/pulumi/vsphere/outputs/VnicIpv6.java b/sdk/java/src/main/java/com/pulumi/vsphere/outputs/VnicIpv6.java index 80cf7855..a4b3a524 100644 --- a/sdk/java/src/main/java/com/pulumi/vsphere/outputs/VnicIpv6.java +++ b/sdk/java/src/main/java/com/pulumi/vsphere/outputs/VnicIpv6.java @@ -29,7 +29,7 @@ public final class VnicIpv6 { */ private @Nullable Boolean dhcp; /** - * @return IP address of the default gateway, if DHCP is not set. + * @return IP address of the default gateway, if DHCP or autoconfig is not set. * */ private @Nullable String gw; @@ -57,7 +57,7 @@ public Optional dhcp() { return Optional.ofNullable(this.dhcp); } /** - * @return IP address of the default gateway, if DHCP is not set. + * @return IP address of the default gateway, if DHCP or autoconfig is not set. * */ public Optional gw() { diff --git a/sdk/nodejs/datastoreCluster.ts b/sdk/nodejs/datastoreCluster.ts index 552358b2..1bd8eabe 100644 --- a/sdk/nodejs/datastoreCluster.ts +++ b/sdk/nodejs/datastoreCluster.ts @@ -85,9 +85,7 @@ export class DatastoreCluster extends pulumi.CustomResource { */ public readonly sdrsEnabled!: pulumi.Output; /** - * The threshold, in GB, that storage - * DRS uses to make decisions to migrate VMs out of a datastore. Default: `50` - * GB. + * The free space threshold to use. * When set to `utilization`, `drsSpaceUtilizationThreshold` is used, and * when set to `freeSpace`, `drsFreeSpaceThreshold` is used. Default: * `utilization`. @@ -100,8 +98,6 @@ export class DatastoreCluster extends pulumi.CustomResource { public readonly sdrsFreeSpaceThresholdMode!: pulumi.Output; /** * The threshold, in - * percent of used space, that storage DRS uses to make decisions to migrate VMs - * out of a datastore. Default: `80` percent. * percent, of difference between space utilization in datastores before storage * DRS makes decisions to balance the space. Default: `5` percent. */ @@ -320,9 +316,7 @@ export interface DatastoreClusterState { */ sdrsEnabled?: pulumi.Input; /** - * The threshold, in GB, that storage - * DRS uses to make decisions to migrate VMs out of a datastore. Default: `50` - * GB. + * The free space threshold to use. * When set to `utilization`, `drsSpaceUtilizationThreshold` is used, and * when set to `freeSpace`, `drsFreeSpaceThreshold` is used. Default: * `utilization`. @@ -335,8 +329,6 @@ export interface DatastoreClusterState { sdrsFreeSpaceThresholdMode?: pulumi.Input; /** * The threshold, in - * percent of used space, that storage DRS uses to make decisions to migrate VMs - * out of a datastore. Default: `80` percent. * percent, of difference between space utilization in datastores before storage * DRS makes decisions to balance the space. Default: `5` percent. */ @@ -482,9 +474,7 @@ export interface DatastoreClusterArgs { */ sdrsEnabled?: pulumi.Input; /** - * The threshold, in GB, that storage - * DRS uses to make decisions to migrate VMs out of a datastore. Default: `50` - * GB. + * The free space threshold to use. * When set to `utilization`, `drsSpaceUtilizationThreshold` is used, and * when set to `freeSpace`, `drsFreeSpaceThreshold` is used. Default: * `utilization`. @@ -497,8 +487,6 @@ export interface DatastoreClusterArgs { sdrsFreeSpaceThresholdMode?: pulumi.Input; /** * The threshold, in - * percent of used space, that storage DRS uses to make decisions to migrate VMs - * out of a datastore. Default: `80` percent. * percent, of difference between space utilization in datastores before storage * DRS makes decisions to balance the space. Default: `5` percent. */ diff --git a/sdk/nodejs/types/input.ts b/sdk/nodejs/types/input.ts index 4f8577f0..e7354c12 100644 --- a/sdk/nodejs/types/input.ts +++ b/sdk/nodejs/types/input.ts @@ -178,9 +178,7 @@ export interface VirtualMachineCdrom { */ clientDevice?: pulumi.Input; /** - * The managed object reference ID of the datastore in which to place the virtual machine. The virtual machine configuration files is placed here, along with any virtual disks that are created where a datastore is not explicitly specified. See the section on virtual machine migration for more information on modifying this value. - * - * > **NOTE:** Datastores cannot be assigned to individual disks when `datastoreClusterId` is used. + * The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `clientDevice`. */ datastoreId?: pulumi.Input; deviceAddress?: pulumi.Input; @@ -189,7 +187,7 @@ export interface VirtualMachineCdrom { */ key?: pulumi.Input; /** - * When using `attach`, this parameter controls the path of a virtual disk to attach externally. Otherwise, it is a computed attribute that contains the virtual disk filename. + * The path to the ISO file. Required for using a datastore ISO. Conflicts with `clientDevice`. * * > **NOTE:** Either `clientDevice` (for a remote backed CD-ROM) or `datastoreId` and `path` (for a datastore ISO backed CD-ROM) are required to . * @@ -267,9 +265,7 @@ export interface VirtualMachineDisk { */ controllerType?: pulumi.Input; /** - * The managed object reference ID of the datastore in which to place the virtual machine. The virtual machine configuration files is placed here, along with any virtual disks that are created where a datastore is not explicitly specified. See the section on virtual machine migration for more information on modifying this value. - * - * > **NOTE:** Datastores cannot be assigned to individual disks when `datastoreClusterId` is used. + * The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `clientDevice`. */ datastoreId?: pulumi.Input; deviceAddress?: pulumi.Input; @@ -315,7 +311,7 @@ export interface VirtualMachineDisk { key?: pulumi.Input; label: pulumi.Input; /** - * When using `attach`, this parameter controls the path of a virtual disk to attach externally. Otherwise, it is a computed attribute that contains the virtual disk filename. + * The path to the ISO file. Required for using a datastore ISO. Conflicts with `clientDevice`. * * > **NOTE:** Either `clientDevice` (for a remote backed CD-ROM) or `datastoreId` and `path` (for a datastore ISO backed CD-ROM) are required to . * @@ -327,7 +323,7 @@ export interface VirtualMachineDisk { */ size?: pulumi.Input; /** - * The ID of the storage policy to assign to the home directory of a virtual machine. + * The UUID of the storage policy to assign to the virtual disk. */ storagePolicyId?: pulumi.Input; /** @@ -429,7 +425,7 @@ export interface VnicIpv4 { */ dhcp?: pulumi.Input; /** - * IP address of the default gateway, if DHCP is not set. + * IP address of the default gateway, if DHCP or autoconfig is not set. */ gw?: pulumi.Input; /** @@ -456,7 +452,7 @@ export interface VnicIpv6 { */ dhcp?: pulumi.Input; /** - * IP address of the default gateway, if DHCP is not set. + * IP address of the default gateway, if DHCP or autoconfig is not set. */ gw?: pulumi.Input; } diff --git a/sdk/nodejs/types/output.ts b/sdk/nodejs/types/output.ts index 82d182c8..bcd85691 100644 --- a/sdk/nodejs/types/output.ts +++ b/sdk/nodejs/types/output.ts @@ -235,9 +235,7 @@ export interface VirtualMachineCdrom { */ clientDevice?: boolean; /** - * The managed object reference ID of the datastore in which to place the virtual machine. The virtual machine configuration files is placed here, along with any virtual disks that are created where a datastore is not explicitly specified. See the section on virtual machine migration for more information on modifying this value. - * - * > **NOTE:** Datastores cannot be assigned to individual disks when `datastoreClusterId` is used. + * The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `clientDevice`. */ datastoreId?: string; deviceAddress: string; @@ -246,7 +244,7 @@ export interface VirtualMachineCdrom { */ key: number; /** - * When using `attach`, this parameter controls the path of a virtual disk to attach externally. Otherwise, it is a computed attribute that contains the virtual disk filename. + * The path to the ISO file. Required for using a datastore ISO. Conflicts with `clientDevice`. * * > **NOTE:** Either `clientDevice` (for a remote backed CD-ROM) or `datastoreId` and `path` (for a datastore ISO backed CD-ROM) are required to . * @@ -324,9 +322,7 @@ export interface VirtualMachineDisk { */ controllerType?: string; /** - * The managed object reference ID of the datastore in which to place the virtual machine. The virtual machine configuration files is placed here, along with any virtual disks that are created where a datastore is not explicitly specified. See the section on virtual machine migration for more information on modifying this value. - * - * > **NOTE:** Datastores cannot be assigned to individual disks when `datastoreClusterId` is used. + * The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `clientDevice`. */ datastoreId: string; deviceAddress: string; @@ -372,7 +368,7 @@ export interface VirtualMachineDisk { key: number; label: string; /** - * When using `attach`, this parameter controls the path of a virtual disk to attach externally. Otherwise, it is a computed attribute that contains the virtual disk filename. + * The path to the ISO file. Required for using a datastore ISO. Conflicts with `clientDevice`. * * > **NOTE:** Either `clientDevice` (for a remote backed CD-ROM) or `datastoreId` and `path` (for a datastore ISO backed CD-ROM) are required to . * @@ -384,7 +380,7 @@ export interface VirtualMachineDisk { */ size?: number; /** - * The ID of the storage policy to assign to the home directory of a virtual machine. + * The UUID of the storage policy to assign to the virtual disk. */ storagePolicyId: string; /** @@ -486,7 +482,7 @@ export interface VnicIpv4 { */ dhcp?: boolean; /** - * IP address of the default gateway, if DHCP is not set. + * IP address of the default gateway, if DHCP or autoconfig is not set. */ gw?: string; /** @@ -513,7 +509,7 @@ export interface VnicIpv6 { */ dhcp?: boolean; /** - * IP address of the default gateway, if DHCP is not set. + * IP address of the default gateway, if DHCP or autoconfig is not set. */ gw?: string; } diff --git a/sdk/nodejs/virtualMachine.ts b/sdk/nodejs/virtualMachine.ts index e9e3f009..ce82ed2d 100644 --- a/sdk/nodejs/virtualMachine.ts +++ b/sdk/nodejs/virtualMachine.ts @@ -115,9 +115,7 @@ export class VirtualMachine extends pulumi.CustomResource { */ public readonly datastoreClusterId!: pulumi.Output; /** - * The managed object reference ID of the datastore in which to place the virtual machine. The virtual machine configuration files is placed here, along with any virtual disks that are created where a datastore is not explicitly specified. See the section on virtual machine migration for more information on modifying this value. - * - * > **NOTE:** Datastores cannot be assigned to individual disks when `datastoreClusterId` is used. + * The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `clientDevice`. */ public readonly datastoreId!: pulumi.Output; /** @@ -349,7 +347,7 @@ export class VirtualMachine extends pulumi.CustomResource { */ public readonly shutdownWaitTimeout!: pulumi.Output; /** - * The ID of the storage policy to assign to the home directory of a virtual machine. + * The UUID of the storage policy to assign to the virtual disk. */ public readonly storagePolicyId!: pulumi.Output; /** @@ -694,9 +692,7 @@ export interface VirtualMachineState { */ datastoreClusterId?: pulumi.Input; /** - * The managed object reference ID of the datastore in which to place the virtual machine. The virtual machine configuration files is placed here, along with any virtual disks that are created where a datastore is not explicitly specified. See the section on virtual machine migration for more information on modifying this value. - * - * > **NOTE:** Datastores cannot be assigned to individual disks when `datastoreClusterId` is used. + * The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `clientDevice`. */ datastoreId?: pulumi.Input; /** @@ -928,7 +924,7 @@ export interface VirtualMachineState { */ shutdownWaitTimeout?: pulumi.Input; /** - * The ID of the storage policy to assign to the home directory of a virtual machine. + * The UUID of the storage policy to assign to the virtual disk. */ storagePolicyId?: pulumi.Input; /** @@ -1076,9 +1072,7 @@ export interface VirtualMachineArgs { */ datastoreClusterId?: pulumi.Input; /** - * The managed object reference ID of the datastore in which to place the virtual machine. The virtual machine configuration files is placed here, along with any virtual disks that are created where a datastore is not explicitly specified. See the section on virtual machine migration for more information on modifying this value. - * - * > **NOTE:** Datastores cannot be assigned to individual disks when `datastoreClusterId` is used. + * The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `clientDevice`. */ datastoreId?: pulumi.Input; /** @@ -1286,7 +1280,7 @@ export interface VirtualMachineArgs { */ shutdownWaitTimeout?: pulumi.Input; /** - * The ID of the storage policy to assign to the home directory of a virtual machine. + * The UUID of the storage policy to assign to the virtual disk. */ storagePolicyId?: pulumi.Input; /** diff --git a/sdk/python/pulumi_vsphere/_inputs.py b/sdk/python/pulumi_vsphere/_inputs.py index 6aa30f0e..2490c3d1 100644 --- a/sdk/python/pulumi_vsphere/_inputs.py +++ b/sdk/python/pulumi_vsphere/_inputs.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities __all__ = [ @@ -72,10 +72,21 @@ def __init__(__self__, *, )]) ``` """ + ComputeClusterVsanDiskGroupArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + cache=cache, + storages=storages, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + cache: Optional[pulumi.Input[str]] = None, + storages: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + opts: Optional[pulumi.ResourceOptions]=None): if cache is not None: - pulumi.set(__self__, "cache", cache) + _setter("cache", cache) if storages is not None: - pulumi.set(__self__, "storages", storages) + _setter("storages", storages) @property @pulumi.getter @@ -145,16 +156,33 @@ def __init__(__self__, *, :param pulumi.Input[bool] published: Publish the content library. Default `false`. :param pulumi.Input[str] username: Username used for authentication. """ + ContentLibraryPublicationArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + authentication_method=authentication_method, + password=password, + publish_url=publish_url, + published=published, + username=username, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + authentication_method: Optional[pulumi.Input[str]] = None, + password: Optional[pulumi.Input[str]] = None, + publish_url: Optional[pulumi.Input[str]] = None, + published: Optional[pulumi.Input[bool]] = None, + username: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None): if authentication_method is not None: - pulumi.set(__self__, "authentication_method", authentication_method) + _setter("authentication_method", authentication_method) if password is not None: - pulumi.set(__self__, "password", password) + _setter("password", password) if publish_url is not None: - pulumi.set(__self__, "publish_url", publish_url) + _setter("publish_url", publish_url) if published is not None: - pulumi.set(__self__, "published", published) + _setter("published", published) if username is not None: - pulumi.set(__self__, "username", username) + _setter("username", username) @property @pulumi.getter(name="authenticationMethod") @@ -234,18 +262,37 @@ def __init__(__self__, *, :param pulumi.Input[str] subscription_url: URL of the published content library. :param pulumi.Input[str] username: Username used for authentication. """ + ContentLibrarySubscriptionArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + authentication_method=authentication_method, + automatic_sync=automatic_sync, + on_demand=on_demand, + password=password, + subscription_url=subscription_url, + username=username, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + authentication_method: Optional[pulumi.Input[str]] = None, + automatic_sync: Optional[pulumi.Input[bool]] = None, + on_demand: Optional[pulumi.Input[bool]] = None, + password: Optional[pulumi.Input[str]] = None, + subscription_url: Optional[pulumi.Input[str]] = None, + username: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None): if authentication_method is not None: - pulumi.set(__self__, "authentication_method", authentication_method) + _setter("authentication_method", authentication_method) if automatic_sync is not None: - pulumi.set(__self__, "automatic_sync", automatic_sync) + _setter("automatic_sync", automatic_sync) if on_demand is not None: - pulumi.set(__self__, "on_demand", on_demand) + _setter("on_demand", on_demand) if password is not None: - pulumi.set(__self__, "password", password) + _setter("password", password) if subscription_url is not None: - pulumi.set(__self__, "subscription_url", subscription_url) + _setter("subscription_url", subscription_url) if username is not None: - pulumi.set(__self__, "username", username) + _setter("username", username) @property @pulumi.getter(name="authenticationMethod") @@ -325,8 +372,19 @@ class DistributedPortGroupVlanRangeArgs: def __init__(__self__, *, max_vlan: pulumi.Input[int], min_vlan: pulumi.Input[int]): - pulumi.set(__self__, "max_vlan", max_vlan) - pulumi.set(__self__, "min_vlan", min_vlan) + DistributedPortGroupVlanRangeArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + max_vlan=max_vlan, + min_vlan=min_vlan, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + max_vlan: pulumi.Input[int], + min_vlan: pulumi.Input[int], + opts: Optional[pulumi.ResourceOptions]=None): + _setter("max_vlan", max_vlan) + _setter("min_vlan", min_vlan) @property @pulumi.getter(name="maxVlan") @@ -358,9 +416,20 @@ def __init__(__self__, *, :param pulumi.Input[Sequence[pulumi.Input[str]]] devices: The list of NIC devices to map to uplinks on the VDS, added in order they are specified. """ - pulumi.set(__self__, "host_system_id", host_system_id) + DistributedVirtualSwitchHostArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + host_system_id=host_system_id, + devices=devices, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + host_system_id: pulumi.Input[str], + devices: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("host_system_id", host_system_id) if devices is not None: - pulumi.set(__self__, "devices", devices) + _setter("devices", devices) @property @pulumi.getter(name="hostSystemId") @@ -403,9 +472,22 @@ def __init__(__self__, *, :param pulumi.Input[int] secondary_vlan_id: The secondary VLAN ID. The VLAN IDs of 0 and 4095 are reserved and cannot be used in this property. """ - pulumi.set(__self__, "primary_vlan_id", primary_vlan_id) - pulumi.set(__self__, "pvlan_type", pvlan_type) - pulumi.set(__self__, "secondary_vlan_id", secondary_vlan_id) + DistributedVirtualSwitchPvlanMappingArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + primary_vlan_id=primary_vlan_id, + pvlan_type=pvlan_type, + secondary_vlan_id=secondary_vlan_id, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + primary_vlan_id: pulumi.Input[int], + pvlan_type: pulumi.Input[str], + secondary_vlan_id: pulumi.Input[int], + opts: Optional[pulumi.ResourceOptions]=None): + _setter("primary_vlan_id", primary_vlan_id) + _setter("pvlan_type", pvlan_type) + _setter("secondary_vlan_id", secondary_vlan_id) @property @pulumi.getter(name="primaryVlanId") @@ -452,8 +534,19 @@ class DistributedVirtualSwitchVlanRangeArgs: def __init__(__self__, *, max_vlan: pulumi.Input[int], min_vlan: pulumi.Input[int]): - pulumi.set(__self__, "max_vlan", max_vlan) - pulumi.set(__self__, "min_vlan", min_vlan) + DistributedVirtualSwitchVlanRangeArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + max_vlan=max_vlan, + min_vlan=min_vlan, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + max_vlan: pulumi.Input[int], + min_vlan: pulumi.Input[int], + opts: Optional[pulumi.ResourceOptions]=None): + _setter("max_vlan", max_vlan) + _setter("min_vlan", min_vlan) @property @pulumi.getter(name="maxVlan") @@ -487,10 +580,25 @@ def __init__(__self__, *, :param pulumi.Input[str] role_id: The role id of the role to be given to the user on the specified entity. :param pulumi.Input[str] user_or_group: The user/group getting the permission. """ - pulumi.set(__self__, "is_group", is_group) - pulumi.set(__self__, "propagate", propagate) - pulumi.set(__self__, "role_id", role_id) - pulumi.set(__self__, "user_or_group", user_or_group) + EntityPermissionsPermissionArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + is_group=is_group, + propagate=propagate, + role_id=role_id, + user_or_group=user_or_group, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + is_group: pulumi.Input[bool], + propagate: pulumi.Input[bool], + role_id: pulumi.Input[str], + user_or_group: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions]=None): + _setter("is_group", is_group) + _setter("propagate", propagate) + _setter("role_id", role_id) + _setter("user_or_group", user_or_group) @property @pulumi.getter(name="isGroup") @@ -550,12 +658,25 @@ def __init__(__self__, *, """ :param pulumi.Input[str] key: The key for this port group as returned from the vSphere API. """ + HostPortGroupPortArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + key=key, + mac_addresses=mac_addresses, + type=type, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + key: Optional[pulumi.Input[str]] = None, + mac_addresses: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + type: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None): if key is not None: - pulumi.set(__self__, "key", key) + _setter("key", key) if mac_addresses is not None: - pulumi.set(__self__, "mac_addresses", mac_addresses) + _setter("mac_addresses", mac_addresses) if type is not None: - pulumi.set(__self__, "type", type) + _setter("type", type) @property @pulumi.getter @@ -598,26 +719,41 @@ def __init__(__self__, *, path: Optional[pulumi.Input[str]] = None): """ :param pulumi.Input[bool] client_device: Indicates whether the device should be backed by remote client device. Conflicts with `datastore_id` and `path`. - :param pulumi.Input[str] datastore_id: The managed object reference ID of the datastore in which to place the virtual machine. The virtual machine configuration files is placed here, along with any virtual disks that are created where a datastore is not explicitly specified. See the section on virtual machine migration for more information on modifying this value. - - > **NOTE:** Datastores cannot be assigned to individual disks when `datastore_cluster_id` is used. + :param pulumi.Input[str] datastore_id: The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `client_device`. :param pulumi.Input[int] key: The ID of the device within the virtual machine. - :param pulumi.Input[str] path: When using `attach`, this parameter controls the path of a virtual disk to attach externally. Otherwise, it is a computed attribute that contains the virtual disk filename. + :param pulumi.Input[str] path: The path to the ISO file. Required for using a datastore ISO. Conflicts with `client_device`. > **NOTE:** Either `client_device` (for a remote backed CD-ROM) or `datastore_id` and `path` (for a datastore ISO backed CD-ROM) are required to . > **NOTE:** Some CD-ROM drive types are not supported by this resource, such as pass-through devices. If these drives are present in a cloned template, or added outside of the provider, the desired state will be corrected to the defined device, or removed if no `cdrom` block is present. """ + VirtualMachineCdromArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + client_device=client_device, + datastore_id=datastore_id, + device_address=device_address, + key=key, + path=path, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + client_device: Optional[pulumi.Input[bool]] = None, + datastore_id: Optional[pulumi.Input[str]] = None, + device_address: Optional[pulumi.Input[str]] = None, + key: Optional[pulumi.Input[int]] = None, + path: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None): if client_device is not None: - pulumi.set(__self__, "client_device", client_device) + _setter("client_device", client_device) if datastore_id is not None: - pulumi.set(__self__, "datastore_id", datastore_id) + _setter("datastore_id", datastore_id) if device_address is not None: - pulumi.set(__self__, "device_address", device_address) + _setter("device_address", device_address) if key is not None: - pulumi.set(__self__, "key", key) + _setter("key", key) if path is not None: - pulumi.set(__self__, "path", path) + _setter("path", path) @property @pulumi.getter(name="clientDevice") @@ -635,9 +771,7 @@ def client_device(self, value: Optional[pulumi.Input[bool]]): @pulumi.getter(name="datastoreId") def datastore_id(self) -> Optional[pulumi.Input[str]]: """ - The managed object reference ID of the datastore in which to place the virtual machine. The virtual machine configuration files is placed here, along with any virtual disks that are created where a datastore is not explicitly specified. See the section on virtual machine migration for more information on modifying this value. - - > **NOTE:** Datastores cannot be assigned to individual disks when `datastore_cluster_id` is used. + The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `client_device`. """ return pulumi.get(self, "datastore_id") @@ -670,7 +804,7 @@ def key(self, value: Optional[pulumi.Input[int]]): @pulumi.getter def path(self) -> Optional[pulumi.Input[str]]: """ - When using `attach`, this parameter controls the path of a virtual disk to attach externally. Otherwise, it is a computed attribute that contains the virtual disk filename. + The path to the ISO file. Required for using a datastore ISO. Conflicts with `client_device`. > **NOTE:** Either `client_device` (for a remote backed CD-ROM) or `datastore_id` and `path` (for a datastore ISO backed CD-ROM) are required to . @@ -692,17 +826,36 @@ def __init__(__self__, *, ovf_network_map: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, ovf_storage_map: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, timeout: Optional[pulumi.Input[int]] = None): - pulumi.set(__self__, "template_uuid", template_uuid) + VirtualMachineCloneArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + template_uuid=template_uuid, + customize=customize, + linked_clone=linked_clone, + ovf_network_map=ovf_network_map, + ovf_storage_map=ovf_storage_map, + timeout=timeout, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + template_uuid: pulumi.Input[str], + customize: Optional[pulumi.Input['VirtualMachineCloneCustomizeArgs']] = None, + linked_clone: Optional[pulumi.Input[bool]] = None, + ovf_network_map: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + ovf_storage_map: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + timeout: Optional[pulumi.Input[int]] = None, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("template_uuid", template_uuid) if customize is not None: - pulumi.set(__self__, "customize", customize) + _setter("customize", customize) if linked_clone is not None: - pulumi.set(__self__, "linked_clone", linked_clone) + _setter("linked_clone", linked_clone) if ovf_network_map is not None: - pulumi.set(__self__, "ovf_network_map", ovf_network_map) + _setter("ovf_network_map", ovf_network_map) if ovf_storage_map is not None: - pulumi.set(__self__, "ovf_storage_map", ovf_storage_map) + _setter("ovf_storage_map", ovf_storage_map) if timeout is not None: - pulumi.set(__self__, "timeout", timeout) + _setter("timeout", timeout) @property @pulumi.getter(name="templateUuid") @@ -774,24 +927,49 @@ def __init__(__self__, *, """ :param pulumi.Input[Sequence[pulumi.Input['VirtualMachineCloneCustomizeNetworkInterfaceArgs']]] network_interfaces: A specification for a virtual NIC on the virtual machine. See network interface options for more information. """ + VirtualMachineCloneCustomizeArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + dns_server_lists=dns_server_lists, + dns_suffix_lists=dns_suffix_lists, + ipv4_gateway=ipv4_gateway, + ipv6_gateway=ipv6_gateway, + linux_options=linux_options, + network_interfaces=network_interfaces, + timeout=timeout, + windows_options=windows_options, + windows_sysprep_text=windows_sysprep_text, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + dns_server_lists: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + dns_suffix_lists: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + ipv4_gateway: Optional[pulumi.Input[str]] = None, + ipv6_gateway: Optional[pulumi.Input[str]] = None, + linux_options: Optional[pulumi.Input['VirtualMachineCloneCustomizeLinuxOptionsArgs']] = None, + network_interfaces: Optional[pulumi.Input[Sequence[pulumi.Input['VirtualMachineCloneCustomizeNetworkInterfaceArgs']]]] = None, + timeout: Optional[pulumi.Input[int]] = None, + windows_options: Optional[pulumi.Input['VirtualMachineCloneCustomizeWindowsOptionsArgs']] = None, + windows_sysprep_text: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None): if dns_server_lists is not None: - pulumi.set(__self__, "dns_server_lists", dns_server_lists) + _setter("dns_server_lists", dns_server_lists) if dns_suffix_lists is not None: - pulumi.set(__self__, "dns_suffix_lists", dns_suffix_lists) + _setter("dns_suffix_lists", dns_suffix_lists) if ipv4_gateway is not None: - pulumi.set(__self__, "ipv4_gateway", ipv4_gateway) + _setter("ipv4_gateway", ipv4_gateway) if ipv6_gateway is not None: - pulumi.set(__self__, "ipv6_gateway", ipv6_gateway) + _setter("ipv6_gateway", ipv6_gateway) if linux_options is not None: - pulumi.set(__self__, "linux_options", linux_options) + _setter("linux_options", linux_options) if network_interfaces is not None: - pulumi.set(__self__, "network_interfaces", network_interfaces) + _setter("network_interfaces", network_interfaces) if timeout is not None: - pulumi.set(__self__, "timeout", timeout) + _setter("timeout", timeout) if windows_options is not None: - pulumi.set(__self__, "windows_options", windows_options) + _setter("windows_options", windows_options) if windows_sysprep_text is not None: - pulumi.set(__self__, "windows_sysprep_text", windows_sysprep_text) + _setter("windows_sysprep_text", windows_sysprep_text) @property @pulumi.getter(name="dnsServerLists") @@ -886,14 +1064,31 @@ def __init__(__self__, *, hw_clock_utc: Optional[pulumi.Input[bool]] = None, script_text: Optional[pulumi.Input[str]] = None, time_zone: Optional[pulumi.Input[str]] = None): - pulumi.set(__self__, "domain", domain) - pulumi.set(__self__, "host_name", host_name) + VirtualMachineCloneCustomizeLinuxOptionsArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + domain=domain, + host_name=host_name, + hw_clock_utc=hw_clock_utc, + script_text=script_text, + time_zone=time_zone, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + domain: pulumi.Input[str], + host_name: pulumi.Input[str], + hw_clock_utc: Optional[pulumi.Input[bool]] = None, + script_text: Optional[pulumi.Input[str]] = None, + time_zone: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("domain", domain) + _setter("host_name", host_name) if hw_clock_utc is not None: - pulumi.set(__self__, "hw_clock_utc", hw_clock_utc) + _setter("hw_clock_utc", hw_clock_utc) if script_text is not None: - pulumi.set(__self__, "script_text", script_text) + _setter("script_text", script_text) if time_zone is not None: - pulumi.set(__self__, "time_zone", time_zone) + _setter("time_zone", time_zone) @property @pulumi.getter @@ -950,18 +1145,37 @@ def __init__(__self__, *, ipv4_netmask: Optional[pulumi.Input[int]] = None, ipv6_address: Optional[pulumi.Input[str]] = None, ipv6_netmask: Optional[pulumi.Input[int]] = None): + VirtualMachineCloneCustomizeNetworkInterfaceArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + dns_domain=dns_domain, + dns_server_lists=dns_server_lists, + ipv4_address=ipv4_address, + ipv4_netmask=ipv4_netmask, + ipv6_address=ipv6_address, + ipv6_netmask=ipv6_netmask, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + dns_domain: Optional[pulumi.Input[str]] = None, + dns_server_lists: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + ipv4_address: Optional[pulumi.Input[str]] = None, + ipv4_netmask: Optional[pulumi.Input[int]] = None, + ipv6_address: Optional[pulumi.Input[str]] = None, + ipv6_netmask: Optional[pulumi.Input[int]] = None, + opts: Optional[pulumi.ResourceOptions]=None): if dns_domain is not None: - pulumi.set(__self__, "dns_domain", dns_domain) + _setter("dns_domain", dns_domain) if dns_server_lists is not None: - pulumi.set(__self__, "dns_server_lists", dns_server_lists) + _setter("dns_server_lists", dns_server_lists) if ipv4_address is not None: - pulumi.set(__self__, "ipv4_address", ipv4_address) + _setter("ipv4_address", ipv4_address) if ipv4_netmask is not None: - pulumi.set(__self__, "ipv4_netmask", ipv4_netmask) + _setter("ipv4_netmask", ipv4_netmask) if ipv6_address is not None: - pulumi.set(__self__, "ipv6_address", ipv6_address) + _setter("ipv6_address", ipv6_address) if ipv6_netmask is not None: - pulumi.set(__self__, "ipv6_netmask", ipv6_netmask) + _setter("ipv6_netmask", ipv6_netmask) @property @pulumi.getter(name="dnsDomain") @@ -1034,31 +1248,64 @@ def __init__(__self__, *, run_once_command_lists: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, time_zone: Optional[pulumi.Input[int]] = None, workgroup: Optional[pulumi.Input[str]] = None): - pulumi.set(__self__, "computer_name", computer_name) + VirtualMachineCloneCustomizeWindowsOptionsArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + computer_name=computer_name, + admin_password=admin_password, + auto_logon=auto_logon, + auto_logon_count=auto_logon_count, + domain_admin_password=domain_admin_password, + domain_admin_user=domain_admin_user, + full_name=full_name, + join_domain=join_domain, + organization_name=organization_name, + product_key=product_key, + run_once_command_lists=run_once_command_lists, + time_zone=time_zone, + workgroup=workgroup, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + computer_name: pulumi.Input[str], + admin_password: Optional[pulumi.Input[str]] = None, + auto_logon: Optional[pulumi.Input[bool]] = None, + auto_logon_count: Optional[pulumi.Input[int]] = None, + domain_admin_password: Optional[pulumi.Input[str]] = None, + domain_admin_user: Optional[pulumi.Input[str]] = None, + full_name: Optional[pulumi.Input[str]] = None, + join_domain: Optional[pulumi.Input[str]] = None, + organization_name: Optional[pulumi.Input[str]] = None, + product_key: Optional[pulumi.Input[str]] = None, + run_once_command_lists: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + time_zone: Optional[pulumi.Input[int]] = None, + workgroup: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("computer_name", computer_name) if admin_password is not None: - pulumi.set(__self__, "admin_password", admin_password) + _setter("admin_password", admin_password) if auto_logon is not None: - pulumi.set(__self__, "auto_logon", auto_logon) + _setter("auto_logon", auto_logon) if auto_logon_count is not None: - pulumi.set(__self__, "auto_logon_count", auto_logon_count) + _setter("auto_logon_count", auto_logon_count) if domain_admin_password is not None: - pulumi.set(__self__, "domain_admin_password", domain_admin_password) + _setter("domain_admin_password", domain_admin_password) if domain_admin_user is not None: - pulumi.set(__self__, "domain_admin_user", domain_admin_user) + _setter("domain_admin_user", domain_admin_user) if full_name is not None: - pulumi.set(__self__, "full_name", full_name) + _setter("full_name", full_name) if join_domain is not None: - pulumi.set(__self__, "join_domain", join_domain) + _setter("join_domain", join_domain) if organization_name is not None: - pulumi.set(__self__, "organization_name", organization_name) + _setter("organization_name", organization_name) if product_key is not None: - pulumi.set(__self__, "product_key", product_key) + _setter("product_key", product_key) if run_once_command_lists is not None: - pulumi.set(__self__, "run_once_command_lists", run_once_command_lists) + _setter("run_once_command_lists", run_once_command_lists) if time_zone is not None: - pulumi.set(__self__, "time_zone", time_zone) + _setter("time_zone", time_zone) if workgroup is not None: - pulumi.set(__self__, "workgroup", workgroup) + _setter("workgroup", workgroup) @property @pulumi.getter(name="computerName") @@ -1207,9 +1454,7 @@ def __init__(__self__, *, > **NOTE:** External disks cannot be attached when `datastore_cluster_id` is used. :param pulumi.Input[str] controller_type: The type of storage controller to attach the disk to. Can be `scsi`, `sata`, or `ide`. You must have the appropriate number of controllers enabled for the selected type. Default `scsi`. - :param pulumi.Input[str] datastore_id: The managed object reference ID of the datastore in which to place the virtual machine. The virtual machine configuration files is placed here, along with any virtual disks that are created where a datastore is not explicitly specified. See the section on virtual machine migration for more information on modifying this value. - - > **NOTE:** Datastores cannot be assigned to individual disks when `datastore_cluster_id` is used. + :param pulumi.Input[str] datastore_id: The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `client_device`. :param pulumi.Input[str] disk_mode: The mode of this this virtual disk for purposes of writes and snapshots. One of `append`, `independent_nonpersistent`, `independent_persistent`, `nonpersistent`, `persistent`, or `undoable`. Default: `persistent`. For more information on these option, please refer to the [product documentation][vmware-docs-disk-mode]. [vmware-docs-disk-mode]: https://vdc-download.vmware.com/vmwb-repository/dcr-public/da47f910-60ac-438b-8b9b-6122f4d14524/16b7274a-bf8b-4b4c-a05e-746f2aa93c8c/doc/vim.vm.device.VirtualDiskOption.DiskMode.html @@ -1223,59 +1468,108 @@ def __init__(__self__, *, :param pulumi.Input[str] io_share_level: The share allocation level for the virtual disk. One of `low`, `normal`, `high`, or `custom`. Default: `normal`. :param pulumi.Input[bool] keep_on_remove: Keep this disk when removing the device or destroying the virtual machine. Default: `false`. :param pulumi.Input[int] key: The ID of the device within the virtual machine. - :param pulumi.Input[str] path: When using `attach`, this parameter controls the path of a virtual disk to attach externally. Otherwise, it is a computed attribute that contains the virtual disk filename. + :param pulumi.Input[str] path: The path to the ISO file. Required for using a datastore ISO. Conflicts with `client_device`. > **NOTE:** Either `client_device` (for a remote backed CD-ROM) or `datastore_id` and `path` (for a datastore ISO backed CD-ROM) are required to . > **NOTE:** Some CD-ROM drive types are not supported by this resource, such as pass-through devices. If these drives are present in a cloned template, or added outside of the provider, the desired state will be corrected to the defined device, or removed if no `cdrom` block is present. :param pulumi.Input[int] size: The size of the disk, in GB. Must be a whole number. - :param pulumi.Input[str] storage_policy_id: The ID of the storage policy to assign to the home directory of a virtual machine. + :param pulumi.Input[str] storage_policy_id: The UUID of the storage policy to assign to the virtual disk. :param pulumi.Input[bool] thin_provisioned: If `true`, the disk is thin provisioned, with space for the file being allocated on an as-needed basis. Cannot be set to `true` when `eagerly_scrub` is `true`. See the section on selecting a disk type for more information. Default: `true`. :param pulumi.Input[int] unit_number: The disk number on the storage bus. The maximum value for this setting is the value of the controller count times the controller capacity (15 for SCSI, 30 for SATA, and 2 for IDE). Duplicate unit numbers are not allowed. Default `0`, for which one disk must be set to. :param pulumi.Input[str] uuid: The UUID of the virtual disk VMDK file. This is used to track the virtual disk on the virtual machine. :param pulumi.Input[bool] write_through: If `true`, writes for this disk are sent directly to the filesystem immediately instead of being buffered. Default: `false`. """ - pulumi.set(__self__, "label", label) + VirtualMachineDiskArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + label=label, + attach=attach, + controller_type=controller_type, + datastore_id=datastore_id, + device_address=device_address, + disk_mode=disk_mode, + disk_sharing=disk_sharing, + eagerly_scrub=eagerly_scrub, + io_limit=io_limit, + io_reservation=io_reservation, + io_share_count=io_share_count, + io_share_level=io_share_level, + keep_on_remove=keep_on_remove, + key=key, + path=path, + size=size, + storage_policy_id=storage_policy_id, + thin_provisioned=thin_provisioned, + unit_number=unit_number, + uuid=uuid, + write_through=write_through, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + label: pulumi.Input[str], + attach: Optional[pulumi.Input[bool]] = None, + controller_type: Optional[pulumi.Input[str]] = None, + datastore_id: Optional[pulumi.Input[str]] = None, + device_address: Optional[pulumi.Input[str]] = None, + disk_mode: Optional[pulumi.Input[str]] = None, + disk_sharing: Optional[pulumi.Input[str]] = None, + eagerly_scrub: Optional[pulumi.Input[bool]] = None, + io_limit: Optional[pulumi.Input[int]] = None, + io_reservation: Optional[pulumi.Input[int]] = None, + io_share_count: Optional[pulumi.Input[int]] = None, + io_share_level: Optional[pulumi.Input[str]] = None, + keep_on_remove: Optional[pulumi.Input[bool]] = None, + key: Optional[pulumi.Input[int]] = None, + path: Optional[pulumi.Input[str]] = None, + size: Optional[pulumi.Input[int]] = None, + storage_policy_id: Optional[pulumi.Input[str]] = None, + thin_provisioned: Optional[pulumi.Input[bool]] = None, + unit_number: Optional[pulumi.Input[int]] = None, + uuid: Optional[pulumi.Input[str]] = None, + write_through: Optional[pulumi.Input[bool]] = None, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("label", label) if attach is not None: - pulumi.set(__self__, "attach", attach) + _setter("attach", attach) if controller_type is not None: - pulumi.set(__self__, "controller_type", controller_type) + _setter("controller_type", controller_type) if datastore_id is not None: - pulumi.set(__self__, "datastore_id", datastore_id) + _setter("datastore_id", datastore_id) if device_address is not None: - pulumi.set(__self__, "device_address", device_address) + _setter("device_address", device_address) if disk_mode is not None: - pulumi.set(__self__, "disk_mode", disk_mode) + _setter("disk_mode", disk_mode) if disk_sharing is not None: - pulumi.set(__self__, "disk_sharing", disk_sharing) + _setter("disk_sharing", disk_sharing) if eagerly_scrub is not None: - pulumi.set(__self__, "eagerly_scrub", eagerly_scrub) + _setter("eagerly_scrub", eagerly_scrub) if io_limit is not None: - pulumi.set(__self__, "io_limit", io_limit) + _setter("io_limit", io_limit) if io_reservation is not None: - pulumi.set(__self__, "io_reservation", io_reservation) + _setter("io_reservation", io_reservation) if io_share_count is not None: - pulumi.set(__self__, "io_share_count", io_share_count) + _setter("io_share_count", io_share_count) if io_share_level is not None: - pulumi.set(__self__, "io_share_level", io_share_level) + _setter("io_share_level", io_share_level) if keep_on_remove is not None: - pulumi.set(__self__, "keep_on_remove", keep_on_remove) + _setter("keep_on_remove", keep_on_remove) if key is not None: - pulumi.set(__self__, "key", key) + _setter("key", key) if path is not None: - pulumi.set(__self__, "path", path) + _setter("path", path) if size is not None: - pulumi.set(__self__, "size", size) + _setter("size", size) if storage_policy_id is not None: - pulumi.set(__self__, "storage_policy_id", storage_policy_id) + _setter("storage_policy_id", storage_policy_id) if thin_provisioned is not None: - pulumi.set(__self__, "thin_provisioned", thin_provisioned) + _setter("thin_provisioned", thin_provisioned) if unit_number is not None: - pulumi.set(__self__, "unit_number", unit_number) + _setter("unit_number", unit_number) if uuid is not None: - pulumi.set(__self__, "uuid", uuid) + _setter("uuid", uuid) if write_through is not None: - pulumi.set(__self__, "write_through", write_through) + _setter("write_through", write_through) @property @pulumi.getter @@ -1316,9 +1610,7 @@ def controller_type(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="datastoreId") def datastore_id(self) -> Optional[pulumi.Input[str]]: """ - The managed object reference ID of the datastore in which to place the virtual machine. The virtual machine configuration files is placed here, along with any virtual disks that are created where a datastore is not explicitly specified. See the section on virtual machine migration for more information on modifying this value. - - > **NOTE:** Datastores cannot be assigned to individual disks when `datastore_cluster_id` is used. + The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `client_device`. """ return pulumi.get(self, "datastore_id") @@ -1451,7 +1743,7 @@ def key(self, value: Optional[pulumi.Input[int]]): @pulumi.getter def path(self) -> Optional[pulumi.Input[str]]: """ - When using `attach`, this parameter controls the path of a virtual disk to attach externally. Otherwise, it is a computed attribute that contains the virtual disk filename. + The path to the ISO file. Required for using a datastore ISO. Conflicts with `client_device`. > **NOTE:** Either `client_device` (for a remote backed CD-ROM) or `datastore_id` and `path` (for a datastore ISO backed CD-ROM) are required to . @@ -1479,7 +1771,7 @@ def size(self, value: Optional[pulumi.Input[int]]): @pulumi.getter(name="storagePolicyId") def storage_policy_id(self) -> Optional[pulumi.Input[str]]: """ - The ID of the storage policy to assign to the home directory of a virtual machine. + The UUID of the storage policy to assign to the virtual disk. """ return pulumi.get(self, "storage_policy_id") @@ -1562,27 +1854,56 @@ def __init__(__self__, *, :param pulumi.Input[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. :param pulumi.Input[bool] use_static_mac: If true, the `mac_address` field is treated as a static MAC address and set accordingly. Setting this to `true` requires `mac_address` to be set. Default: `false`. """ - pulumi.set(__self__, "network_id", network_id) + VirtualMachineNetworkInterfaceArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + network_id=network_id, + adapter_type=adapter_type, + bandwidth_limit=bandwidth_limit, + bandwidth_reservation=bandwidth_reservation, + bandwidth_share_count=bandwidth_share_count, + bandwidth_share_level=bandwidth_share_level, + device_address=device_address, + key=key, + mac_address=mac_address, + ovf_mapping=ovf_mapping, + use_static_mac=use_static_mac, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + network_id: pulumi.Input[str], + adapter_type: Optional[pulumi.Input[str]] = None, + bandwidth_limit: Optional[pulumi.Input[int]] = None, + bandwidth_reservation: Optional[pulumi.Input[int]] = None, + bandwidth_share_count: Optional[pulumi.Input[int]] = None, + bandwidth_share_level: Optional[pulumi.Input[str]] = None, + device_address: Optional[pulumi.Input[str]] = None, + key: Optional[pulumi.Input[int]] = None, + mac_address: Optional[pulumi.Input[str]] = None, + ovf_mapping: Optional[pulumi.Input[str]] = None, + use_static_mac: Optional[pulumi.Input[bool]] = None, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("network_id", network_id) if adapter_type is not None: - pulumi.set(__self__, "adapter_type", adapter_type) + _setter("adapter_type", adapter_type) if bandwidth_limit is not None: - pulumi.set(__self__, "bandwidth_limit", bandwidth_limit) + _setter("bandwidth_limit", bandwidth_limit) if bandwidth_reservation is not None: - pulumi.set(__self__, "bandwidth_reservation", bandwidth_reservation) + _setter("bandwidth_reservation", bandwidth_reservation) if bandwidth_share_count is not None: - pulumi.set(__self__, "bandwidth_share_count", bandwidth_share_count) + _setter("bandwidth_share_count", bandwidth_share_count) if bandwidth_share_level is not None: - pulumi.set(__self__, "bandwidth_share_level", bandwidth_share_level) + _setter("bandwidth_share_level", bandwidth_share_level) if device_address is not None: - pulumi.set(__self__, "device_address", device_address) + _setter("device_address", device_address) if key is not None: - pulumi.set(__self__, "key", key) + _setter("key", key) if mac_address is not None: - pulumi.set(__self__, "mac_address", mac_address) + _setter("mac_address", mac_address) if ovf_mapping is not None: - pulumi.set(__self__, "ovf_mapping", ovf_mapping) + _setter("ovf_mapping", ovf_mapping) if use_static_mac is not None: - pulumi.set(__self__, "use_static_mac", use_static_mac) + _setter("use_static_mac", use_static_mac) @property @pulumi.getter(name="networkId") @@ -1726,24 +2047,49 @@ def __init__(__self__, *, local_ovf_path: Optional[pulumi.Input[str]] = None, ovf_network_map: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, remote_ovf_url: Optional[pulumi.Input[str]] = None): + VirtualMachineOvfDeployArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + allow_unverified_ssl_cert=allow_unverified_ssl_cert, + deployment_option=deployment_option, + disk_provisioning=disk_provisioning, + enable_hidden_properties=enable_hidden_properties, + ip_allocation_policy=ip_allocation_policy, + ip_protocol=ip_protocol, + local_ovf_path=local_ovf_path, + ovf_network_map=ovf_network_map, + remote_ovf_url=remote_ovf_url, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + allow_unverified_ssl_cert: Optional[pulumi.Input[bool]] = None, + deployment_option: Optional[pulumi.Input[str]] = None, + disk_provisioning: Optional[pulumi.Input[str]] = None, + enable_hidden_properties: Optional[pulumi.Input[bool]] = None, + ip_allocation_policy: Optional[pulumi.Input[str]] = None, + ip_protocol: Optional[pulumi.Input[str]] = None, + local_ovf_path: Optional[pulumi.Input[str]] = None, + ovf_network_map: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + remote_ovf_url: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None): if allow_unverified_ssl_cert is not None: - pulumi.set(__self__, "allow_unverified_ssl_cert", allow_unverified_ssl_cert) + _setter("allow_unverified_ssl_cert", allow_unverified_ssl_cert) if deployment_option is not None: - pulumi.set(__self__, "deployment_option", deployment_option) + _setter("deployment_option", deployment_option) if disk_provisioning is not None: - pulumi.set(__self__, "disk_provisioning", disk_provisioning) + _setter("disk_provisioning", disk_provisioning) if enable_hidden_properties is not None: - pulumi.set(__self__, "enable_hidden_properties", enable_hidden_properties) + _setter("enable_hidden_properties", enable_hidden_properties) if ip_allocation_policy is not None: - pulumi.set(__self__, "ip_allocation_policy", ip_allocation_policy) + _setter("ip_allocation_policy", ip_allocation_policy) if ip_protocol is not None: - pulumi.set(__self__, "ip_protocol", ip_protocol) + _setter("ip_protocol", ip_protocol) if local_ovf_path is not None: - pulumi.set(__self__, "local_ovf_path", local_ovf_path) + _setter("local_ovf_path", local_ovf_path) if ovf_network_map is not None: - pulumi.set(__self__, "ovf_network_map", ovf_network_map) + _setter("ovf_network_map", ovf_network_map) if remote_ovf_url is not None: - pulumi.set(__self__, "remote_ovf_url", remote_ovf_url) + _setter("remote_ovf_url", remote_ovf_url) @property @pulumi.getter(name="allowUnverifiedSslCert") @@ -1831,8 +2177,17 @@ def remote_ovf_url(self, value: Optional[pulumi.Input[str]]): class VirtualMachineVappArgs: def __init__(__self__, *, properties: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + VirtualMachineVappArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + properties=properties, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + properties: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + opts: Optional[pulumi.ResourceOptions]=None): if properties is not None: - pulumi.set(__self__, "properties", properties) + _setter("properties", properties) @property @pulumi.getter @@ -1855,10 +2210,23 @@ def __init__(__self__, *, :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: List of Name of tags to select from the given category. :param pulumi.Input[bool] include_datastores_with_tags: Include datastores with the given tags or exclude. Default `true`. """ - pulumi.set(__self__, "tag_category", tag_category) - pulumi.set(__self__, "tags", tags) + VmStoragePolicyTagRuleArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + tag_category=tag_category, + tags=tags, + include_datastores_with_tags=include_datastores_with_tags, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + tag_category: pulumi.Input[str], + tags: pulumi.Input[Sequence[pulumi.Input[str]]], + include_datastores_with_tags: Optional[pulumi.Input[bool]] = None, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("tag_category", tag_category) + _setter("tags", tags) if include_datastores_with_tags is not None: - pulumi.set(__self__, "include_datastores_with_tags", include_datastores_with_tags) + _setter("include_datastores_with_tags", include_datastores_with_tags) @property @pulumi.getter(name="tagCategory") @@ -1906,18 +2274,33 @@ def __init__(__self__, *, netmask: Optional[pulumi.Input[str]] = None): """ :param pulumi.Input[bool] dhcp: Use DHCP to configure the interface's IPv4 stack. - :param pulumi.Input[str] gw: IP address of the default gateway, if DHCP is not set. + :param pulumi.Input[str] gw: IP address of the default gateway, if DHCP or autoconfig is not set. :param pulumi.Input[str] ip: Address of the interface, if DHCP is not set. :param pulumi.Input[str] netmask: Netmask of the interface, if DHCP is not set. """ + VnicIpv4Args._configure( + lambda key, value: pulumi.set(__self__, key, value), + dhcp=dhcp, + gw=gw, + ip=ip, + netmask=netmask, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + dhcp: Optional[pulumi.Input[bool]] = None, + gw: Optional[pulumi.Input[str]] = None, + ip: Optional[pulumi.Input[str]] = None, + netmask: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None): if dhcp is not None: - pulumi.set(__self__, "dhcp", dhcp) + _setter("dhcp", dhcp) if gw is not None: - pulumi.set(__self__, "gw", gw) + _setter("gw", gw) if ip is not None: - pulumi.set(__self__, "ip", ip) + _setter("ip", ip) if netmask is not None: - pulumi.set(__self__, "netmask", netmask) + _setter("netmask", netmask) @property @pulumi.getter @@ -1935,7 +2318,7 @@ def dhcp(self, value: Optional[pulumi.Input[bool]]): @pulumi.getter def gw(self) -> Optional[pulumi.Input[str]]: """ - IP address of the default gateway, if DHCP is not set. + IP address of the default gateway, if DHCP or autoconfig is not set. """ return pulumi.get(self, "gw") @@ -1979,16 +2362,31 @@ def __init__(__self__, *, :param pulumi.Input[Sequence[pulumi.Input[str]]] addresses: List of IPv6 addresses :param pulumi.Input[bool] autoconfig: Use IPv6 Autoconfiguration (RFC2462). :param pulumi.Input[bool] dhcp: Use DHCP to configure the interface's IPv4 stack. - :param pulumi.Input[str] gw: IP address of the default gateway, if DHCP is not set. - """ + :param pulumi.Input[str] gw: IP address of the default gateway, if DHCP or autoconfig is not set. + """ + VnicIpv6Args._configure( + lambda key, value: pulumi.set(__self__, key, value), + addresses=addresses, + autoconfig=autoconfig, + dhcp=dhcp, + gw=gw, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + addresses: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + autoconfig: Optional[pulumi.Input[bool]] = None, + dhcp: Optional[pulumi.Input[bool]] = None, + gw: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None): if addresses is not None: - pulumi.set(__self__, "addresses", addresses) + _setter("addresses", addresses) if autoconfig is not None: - pulumi.set(__self__, "autoconfig", autoconfig) + _setter("autoconfig", autoconfig) if dhcp is not None: - pulumi.set(__self__, "dhcp", dhcp) + _setter("dhcp", dhcp) if gw is not None: - pulumi.set(__self__, "gw", gw) + _setter("gw", gw) @property @pulumi.getter @@ -2030,7 +2428,7 @@ def dhcp(self, value: Optional[pulumi.Input[bool]]): @pulumi.getter def gw(self) -> Optional[pulumi.Input[str]]: """ - IP address of the default gateway, if DHCP is not set. + IP address of the default gateway, if DHCP or autoconfig is not set. """ return pulumi.get(self, "gw") @@ -2043,8 +2441,17 @@ def gw(self, value: Optional[pulumi.Input[str]]): class GetVirtualMachineVappArgs: def __init__(__self__, *, properties: Optional[Mapping[str, str]] = None): + GetVirtualMachineVappArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + properties=properties, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + properties: Optional[Mapping[str, str]] = None, + opts: Optional[pulumi.ResourceOptions]=None): if properties is not None: - pulumi.set(__self__, "properties", properties) + _setter("properties", properties) @property @pulumi.getter diff --git a/sdk/python/pulumi_vsphere/compute_cluster.py b/sdk/python/pulumi_vsphere/compute_cluster.py index e0551fd9..5aa59a46 100644 --- a/sdk/python/pulumi_vsphere/compute_cluster.py +++ b/sdk/python/pulumi_vsphere/compute_cluster.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities from . import outputs from ._inputs import * @@ -306,135 +306,272 @@ def __init__(__self__, *, :param pulumi.Input[bool] vsan_verbose_mode_enabled: Enables verbose mode for vSAN performance service on the cluster. """ - pulumi.set(__self__, "datacenter_id", datacenter_id) + ComputeClusterArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + datacenter_id=datacenter_id, + custom_attributes=custom_attributes, + dpm_automation_level=dpm_automation_level, + dpm_enabled=dpm_enabled, + dpm_threshold=dpm_threshold, + drs_advanced_options=drs_advanced_options, + drs_automation_level=drs_automation_level, + drs_enable_predictive_drs=drs_enable_predictive_drs, + drs_enable_vm_overrides=drs_enable_vm_overrides, + drs_enabled=drs_enabled, + drs_migration_threshold=drs_migration_threshold, + drs_scale_descendants_shares=drs_scale_descendants_shares, + folder=folder, + force_evacuate_on_destroy=force_evacuate_on_destroy, + ha_admission_control_failover_host_system_ids=ha_admission_control_failover_host_system_ids, + ha_admission_control_host_failure_tolerance=ha_admission_control_host_failure_tolerance, + ha_admission_control_performance_tolerance=ha_admission_control_performance_tolerance, + ha_admission_control_policy=ha_admission_control_policy, + ha_admission_control_resource_percentage_auto_compute=ha_admission_control_resource_percentage_auto_compute, + ha_admission_control_resource_percentage_cpu=ha_admission_control_resource_percentage_cpu, + ha_admission_control_resource_percentage_memory=ha_admission_control_resource_percentage_memory, + ha_admission_control_slot_policy_explicit_cpu=ha_admission_control_slot_policy_explicit_cpu, + ha_admission_control_slot_policy_explicit_memory=ha_admission_control_slot_policy_explicit_memory, + ha_admission_control_slot_policy_use_explicit_size=ha_admission_control_slot_policy_use_explicit_size, + ha_advanced_options=ha_advanced_options, + ha_datastore_apd_recovery_action=ha_datastore_apd_recovery_action, + ha_datastore_apd_response=ha_datastore_apd_response, + ha_datastore_apd_response_delay=ha_datastore_apd_response_delay, + ha_datastore_pdl_response=ha_datastore_pdl_response, + ha_enabled=ha_enabled, + ha_heartbeat_datastore_ids=ha_heartbeat_datastore_ids, + ha_heartbeat_datastore_policy=ha_heartbeat_datastore_policy, + ha_host_isolation_response=ha_host_isolation_response, + ha_host_monitoring=ha_host_monitoring, + ha_vm_component_protection=ha_vm_component_protection, + ha_vm_dependency_restart_condition=ha_vm_dependency_restart_condition, + ha_vm_failure_interval=ha_vm_failure_interval, + ha_vm_maximum_failure_window=ha_vm_maximum_failure_window, + ha_vm_maximum_resets=ha_vm_maximum_resets, + ha_vm_minimum_uptime=ha_vm_minimum_uptime, + ha_vm_monitoring=ha_vm_monitoring, + ha_vm_restart_additional_delay=ha_vm_restart_additional_delay, + ha_vm_restart_priority=ha_vm_restart_priority, + ha_vm_restart_timeout=ha_vm_restart_timeout, + host_cluster_exit_timeout=host_cluster_exit_timeout, + host_managed=host_managed, + host_system_ids=host_system_ids, + name=name, + proactive_ha_automation_level=proactive_ha_automation_level, + proactive_ha_enabled=proactive_ha_enabled, + proactive_ha_moderate_remediation=proactive_ha_moderate_remediation, + proactive_ha_provider_ids=proactive_ha_provider_ids, + proactive_ha_severe_remediation=proactive_ha_severe_remediation, + tags=tags, + vsan_compression_enabled=vsan_compression_enabled, + vsan_dedup_enabled=vsan_dedup_enabled, + vsan_disk_groups=vsan_disk_groups, + vsan_dit_encryption_enabled=vsan_dit_encryption_enabled, + vsan_dit_rekey_interval=vsan_dit_rekey_interval, + vsan_enabled=vsan_enabled, + vsan_network_diagnostic_mode_enabled=vsan_network_diagnostic_mode_enabled, + vsan_performance_enabled=vsan_performance_enabled, + vsan_remote_datastore_ids=vsan_remote_datastore_ids, + vsan_unmap_enabled=vsan_unmap_enabled, + vsan_verbose_mode_enabled=vsan_verbose_mode_enabled, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + datacenter_id: pulumi.Input[str], + custom_attributes: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + dpm_automation_level: Optional[pulumi.Input[str]] = None, + dpm_enabled: Optional[pulumi.Input[bool]] = None, + dpm_threshold: Optional[pulumi.Input[int]] = None, + drs_advanced_options: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + drs_automation_level: Optional[pulumi.Input[str]] = None, + drs_enable_predictive_drs: Optional[pulumi.Input[bool]] = None, + drs_enable_vm_overrides: Optional[pulumi.Input[bool]] = None, + drs_enabled: Optional[pulumi.Input[bool]] = None, + drs_migration_threshold: Optional[pulumi.Input[int]] = None, + drs_scale_descendants_shares: Optional[pulumi.Input[str]] = None, + folder: Optional[pulumi.Input[str]] = None, + force_evacuate_on_destroy: Optional[pulumi.Input[bool]] = None, + ha_admission_control_failover_host_system_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + ha_admission_control_host_failure_tolerance: Optional[pulumi.Input[int]] = None, + ha_admission_control_performance_tolerance: Optional[pulumi.Input[int]] = None, + ha_admission_control_policy: Optional[pulumi.Input[str]] = None, + ha_admission_control_resource_percentage_auto_compute: Optional[pulumi.Input[bool]] = None, + ha_admission_control_resource_percentage_cpu: Optional[pulumi.Input[int]] = None, + ha_admission_control_resource_percentage_memory: Optional[pulumi.Input[int]] = None, + ha_admission_control_slot_policy_explicit_cpu: Optional[pulumi.Input[int]] = None, + ha_admission_control_slot_policy_explicit_memory: Optional[pulumi.Input[int]] = None, + ha_admission_control_slot_policy_use_explicit_size: Optional[pulumi.Input[bool]] = None, + ha_advanced_options: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + ha_datastore_apd_recovery_action: Optional[pulumi.Input[str]] = None, + ha_datastore_apd_response: Optional[pulumi.Input[str]] = None, + ha_datastore_apd_response_delay: Optional[pulumi.Input[int]] = None, + ha_datastore_pdl_response: Optional[pulumi.Input[str]] = None, + ha_enabled: Optional[pulumi.Input[bool]] = None, + ha_heartbeat_datastore_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + ha_heartbeat_datastore_policy: Optional[pulumi.Input[str]] = None, + ha_host_isolation_response: Optional[pulumi.Input[str]] = None, + ha_host_monitoring: Optional[pulumi.Input[str]] = None, + ha_vm_component_protection: Optional[pulumi.Input[str]] = None, + ha_vm_dependency_restart_condition: Optional[pulumi.Input[str]] = None, + ha_vm_failure_interval: Optional[pulumi.Input[int]] = None, + ha_vm_maximum_failure_window: Optional[pulumi.Input[int]] = None, + ha_vm_maximum_resets: Optional[pulumi.Input[int]] = None, + ha_vm_minimum_uptime: Optional[pulumi.Input[int]] = None, + ha_vm_monitoring: Optional[pulumi.Input[str]] = None, + ha_vm_restart_additional_delay: Optional[pulumi.Input[int]] = None, + ha_vm_restart_priority: Optional[pulumi.Input[str]] = None, + ha_vm_restart_timeout: Optional[pulumi.Input[int]] = None, + host_cluster_exit_timeout: Optional[pulumi.Input[int]] = None, + host_managed: Optional[pulumi.Input[bool]] = None, + host_system_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + name: Optional[pulumi.Input[str]] = None, + proactive_ha_automation_level: Optional[pulumi.Input[str]] = None, + proactive_ha_enabled: Optional[pulumi.Input[bool]] = None, + proactive_ha_moderate_remediation: Optional[pulumi.Input[str]] = None, + proactive_ha_provider_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + proactive_ha_severe_remediation: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + vsan_compression_enabled: Optional[pulumi.Input[bool]] = None, + vsan_dedup_enabled: Optional[pulumi.Input[bool]] = None, + vsan_disk_groups: Optional[pulumi.Input[Sequence[pulumi.Input['ComputeClusterVsanDiskGroupArgs']]]] = None, + vsan_dit_encryption_enabled: Optional[pulumi.Input[bool]] = None, + vsan_dit_rekey_interval: Optional[pulumi.Input[int]] = None, + vsan_enabled: Optional[pulumi.Input[bool]] = None, + vsan_network_diagnostic_mode_enabled: Optional[pulumi.Input[bool]] = None, + vsan_performance_enabled: Optional[pulumi.Input[bool]] = None, + vsan_remote_datastore_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + vsan_unmap_enabled: Optional[pulumi.Input[bool]] = None, + vsan_verbose_mode_enabled: Optional[pulumi.Input[bool]] = None, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("datacenter_id", datacenter_id) if custom_attributes is not None: - pulumi.set(__self__, "custom_attributes", custom_attributes) + _setter("custom_attributes", custom_attributes) if dpm_automation_level is not None: - pulumi.set(__self__, "dpm_automation_level", dpm_automation_level) + _setter("dpm_automation_level", dpm_automation_level) if dpm_enabled is not None: - pulumi.set(__self__, "dpm_enabled", dpm_enabled) + _setter("dpm_enabled", dpm_enabled) if dpm_threshold is not None: - pulumi.set(__self__, "dpm_threshold", dpm_threshold) + _setter("dpm_threshold", dpm_threshold) if drs_advanced_options is not None: - pulumi.set(__self__, "drs_advanced_options", drs_advanced_options) + _setter("drs_advanced_options", drs_advanced_options) if drs_automation_level is not None: - pulumi.set(__self__, "drs_automation_level", drs_automation_level) + _setter("drs_automation_level", drs_automation_level) if drs_enable_predictive_drs is not None: - pulumi.set(__self__, "drs_enable_predictive_drs", drs_enable_predictive_drs) + _setter("drs_enable_predictive_drs", drs_enable_predictive_drs) if drs_enable_vm_overrides is not None: - pulumi.set(__self__, "drs_enable_vm_overrides", drs_enable_vm_overrides) + _setter("drs_enable_vm_overrides", drs_enable_vm_overrides) if drs_enabled is not None: - pulumi.set(__self__, "drs_enabled", drs_enabled) + _setter("drs_enabled", drs_enabled) if drs_migration_threshold is not None: - pulumi.set(__self__, "drs_migration_threshold", drs_migration_threshold) + _setter("drs_migration_threshold", drs_migration_threshold) if drs_scale_descendants_shares is not None: - pulumi.set(__self__, "drs_scale_descendants_shares", drs_scale_descendants_shares) + _setter("drs_scale_descendants_shares", drs_scale_descendants_shares) if folder is not None: - pulumi.set(__self__, "folder", folder) + _setter("folder", folder) if force_evacuate_on_destroy is not None: - pulumi.set(__self__, "force_evacuate_on_destroy", force_evacuate_on_destroy) + _setter("force_evacuate_on_destroy", force_evacuate_on_destroy) if ha_admission_control_failover_host_system_ids is not None: - pulumi.set(__self__, "ha_admission_control_failover_host_system_ids", ha_admission_control_failover_host_system_ids) + _setter("ha_admission_control_failover_host_system_ids", ha_admission_control_failover_host_system_ids) if ha_admission_control_host_failure_tolerance is not None: - pulumi.set(__self__, "ha_admission_control_host_failure_tolerance", ha_admission_control_host_failure_tolerance) + _setter("ha_admission_control_host_failure_tolerance", ha_admission_control_host_failure_tolerance) if ha_admission_control_performance_tolerance is not None: - pulumi.set(__self__, "ha_admission_control_performance_tolerance", ha_admission_control_performance_tolerance) + _setter("ha_admission_control_performance_tolerance", ha_admission_control_performance_tolerance) if ha_admission_control_policy is not None: - pulumi.set(__self__, "ha_admission_control_policy", ha_admission_control_policy) + _setter("ha_admission_control_policy", ha_admission_control_policy) if ha_admission_control_resource_percentage_auto_compute is not None: - pulumi.set(__self__, "ha_admission_control_resource_percentage_auto_compute", ha_admission_control_resource_percentage_auto_compute) + _setter("ha_admission_control_resource_percentage_auto_compute", ha_admission_control_resource_percentage_auto_compute) if ha_admission_control_resource_percentage_cpu is not None: - pulumi.set(__self__, "ha_admission_control_resource_percentage_cpu", ha_admission_control_resource_percentage_cpu) + _setter("ha_admission_control_resource_percentage_cpu", ha_admission_control_resource_percentage_cpu) if ha_admission_control_resource_percentage_memory is not None: - pulumi.set(__self__, "ha_admission_control_resource_percentage_memory", ha_admission_control_resource_percentage_memory) + _setter("ha_admission_control_resource_percentage_memory", ha_admission_control_resource_percentage_memory) if ha_admission_control_slot_policy_explicit_cpu is not None: - pulumi.set(__self__, "ha_admission_control_slot_policy_explicit_cpu", ha_admission_control_slot_policy_explicit_cpu) + _setter("ha_admission_control_slot_policy_explicit_cpu", ha_admission_control_slot_policy_explicit_cpu) if ha_admission_control_slot_policy_explicit_memory is not None: - pulumi.set(__self__, "ha_admission_control_slot_policy_explicit_memory", ha_admission_control_slot_policy_explicit_memory) + _setter("ha_admission_control_slot_policy_explicit_memory", ha_admission_control_slot_policy_explicit_memory) if ha_admission_control_slot_policy_use_explicit_size is not None: - pulumi.set(__self__, "ha_admission_control_slot_policy_use_explicit_size", ha_admission_control_slot_policy_use_explicit_size) + _setter("ha_admission_control_slot_policy_use_explicit_size", ha_admission_control_slot_policy_use_explicit_size) if ha_advanced_options is not None: - pulumi.set(__self__, "ha_advanced_options", ha_advanced_options) + _setter("ha_advanced_options", ha_advanced_options) if ha_datastore_apd_recovery_action is not None: - pulumi.set(__self__, "ha_datastore_apd_recovery_action", ha_datastore_apd_recovery_action) + _setter("ha_datastore_apd_recovery_action", ha_datastore_apd_recovery_action) if ha_datastore_apd_response is not None: - pulumi.set(__self__, "ha_datastore_apd_response", ha_datastore_apd_response) + _setter("ha_datastore_apd_response", ha_datastore_apd_response) if ha_datastore_apd_response_delay is not None: - pulumi.set(__self__, "ha_datastore_apd_response_delay", ha_datastore_apd_response_delay) + _setter("ha_datastore_apd_response_delay", ha_datastore_apd_response_delay) if ha_datastore_pdl_response is not None: - pulumi.set(__self__, "ha_datastore_pdl_response", ha_datastore_pdl_response) + _setter("ha_datastore_pdl_response", ha_datastore_pdl_response) if ha_enabled is not None: - pulumi.set(__self__, "ha_enabled", ha_enabled) + _setter("ha_enabled", ha_enabled) if ha_heartbeat_datastore_ids is not None: - pulumi.set(__self__, "ha_heartbeat_datastore_ids", ha_heartbeat_datastore_ids) + _setter("ha_heartbeat_datastore_ids", ha_heartbeat_datastore_ids) if ha_heartbeat_datastore_policy is not None: - pulumi.set(__self__, "ha_heartbeat_datastore_policy", ha_heartbeat_datastore_policy) + _setter("ha_heartbeat_datastore_policy", ha_heartbeat_datastore_policy) if ha_host_isolation_response is not None: - pulumi.set(__self__, "ha_host_isolation_response", ha_host_isolation_response) + _setter("ha_host_isolation_response", ha_host_isolation_response) if ha_host_monitoring is not None: - pulumi.set(__self__, "ha_host_monitoring", ha_host_monitoring) + _setter("ha_host_monitoring", ha_host_monitoring) if ha_vm_component_protection is not None: - pulumi.set(__self__, "ha_vm_component_protection", ha_vm_component_protection) + _setter("ha_vm_component_protection", ha_vm_component_protection) if ha_vm_dependency_restart_condition is not None: - pulumi.set(__self__, "ha_vm_dependency_restart_condition", ha_vm_dependency_restart_condition) + _setter("ha_vm_dependency_restart_condition", ha_vm_dependency_restart_condition) if ha_vm_failure_interval is not None: - pulumi.set(__self__, "ha_vm_failure_interval", ha_vm_failure_interval) + _setter("ha_vm_failure_interval", ha_vm_failure_interval) if ha_vm_maximum_failure_window is not None: - pulumi.set(__self__, "ha_vm_maximum_failure_window", ha_vm_maximum_failure_window) + _setter("ha_vm_maximum_failure_window", ha_vm_maximum_failure_window) if ha_vm_maximum_resets is not None: - pulumi.set(__self__, "ha_vm_maximum_resets", ha_vm_maximum_resets) + _setter("ha_vm_maximum_resets", ha_vm_maximum_resets) if ha_vm_minimum_uptime is not None: - pulumi.set(__self__, "ha_vm_minimum_uptime", ha_vm_minimum_uptime) + _setter("ha_vm_minimum_uptime", ha_vm_minimum_uptime) if ha_vm_monitoring is not None: - pulumi.set(__self__, "ha_vm_monitoring", ha_vm_monitoring) + _setter("ha_vm_monitoring", ha_vm_monitoring) if ha_vm_restart_additional_delay is not None: - pulumi.set(__self__, "ha_vm_restart_additional_delay", ha_vm_restart_additional_delay) + _setter("ha_vm_restart_additional_delay", ha_vm_restart_additional_delay) if ha_vm_restart_priority is not None: - pulumi.set(__self__, "ha_vm_restart_priority", ha_vm_restart_priority) + _setter("ha_vm_restart_priority", ha_vm_restart_priority) if ha_vm_restart_timeout is not None: - pulumi.set(__self__, "ha_vm_restart_timeout", ha_vm_restart_timeout) + _setter("ha_vm_restart_timeout", ha_vm_restart_timeout) if host_cluster_exit_timeout is not None: - pulumi.set(__self__, "host_cluster_exit_timeout", host_cluster_exit_timeout) + _setter("host_cluster_exit_timeout", host_cluster_exit_timeout) if host_managed is not None: - pulumi.set(__self__, "host_managed", host_managed) + _setter("host_managed", host_managed) if host_system_ids is not None: - pulumi.set(__self__, "host_system_ids", host_system_ids) + _setter("host_system_ids", host_system_ids) if name is not None: - pulumi.set(__self__, "name", name) + _setter("name", name) if proactive_ha_automation_level is not None: - pulumi.set(__self__, "proactive_ha_automation_level", proactive_ha_automation_level) + _setter("proactive_ha_automation_level", proactive_ha_automation_level) if proactive_ha_enabled is not None: - pulumi.set(__self__, "proactive_ha_enabled", proactive_ha_enabled) + _setter("proactive_ha_enabled", proactive_ha_enabled) if proactive_ha_moderate_remediation is not None: - pulumi.set(__self__, "proactive_ha_moderate_remediation", proactive_ha_moderate_remediation) + _setter("proactive_ha_moderate_remediation", proactive_ha_moderate_remediation) if proactive_ha_provider_ids is not None: - pulumi.set(__self__, "proactive_ha_provider_ids", proactive_ha_provider_ids) + _setter("proactive_ha_provider_ids", proactive_ha_provider_ids) if proactive_ha_severe_remediation is not None: - pulumi.set(__self__, "proactive_ha_severe_remediation", proactive_ha_severe_remediation) + _setter("proactive_ha_severe_remediation", proactive_ha_severe_remediation) if tags is not None: - pulumi.set(__self__, "tags", tags) + _setter("tags", tags) if vsan_compression_enabled is not None: - pulumi.set(__self__, "vsan_compression_enabled", vsan_compression_enabled) + _setter("vsan_compression_enabled", vsan_compression_enabled) if vsan_dedup_enabled is not None: - pulumi.set(__self__, "vsan_dedup_enabled", vsan_dedup_enabled) + _setter("vsan_dedup_enabled", vsan_dedup_enabled) if vsan_disk_groups is not None: - pulumi.set(__self__, "vsan_disk_groups", vsan_disk_groups) + _setter("vsan_disk_groups", vsan_disk_groups) if vsan_dit_encryption_enabled is not None: - pulumi.set(__self__, "vsan_dit_encryption_enabled", vsan_dit_encryption_enabled) + _setter("vsan_dit_encryption_enabled", vsan_dit_encryption_enabled) if vsan_dit_rekey_interval is not None: - pulumi.set(__self__, "vsan_dit_rekey_interval", vsan_dit_rekey_interval) + _setter("vsan_dit_rekey_interval", vsan_dit_rekey_interval) if vsan_enabled is not None: - pulumi.set(__self__, "vsan_enabled", vsan_enabled) + _setter("vsan_enabled", vsan_enabled) if vsan_network_diagnostic_mode_enabled is not None: - pulumi.set(__self__, "vsan_network_diagnostic_mode_enabled", vsan_network_diagnostic_mode_enabled) + _setter("vsan_network_diagnostic_mode_enabled", vsan_network_diagnostic_mode_enabled) if vsan_performance_enabled is not None: - pulumi.set(__self__, "vsan_performance_enabled", vsan_performance_enabled) + _setter("vsan_performance_enabled", vsan_performance_enabled) if vsan_remote_datastore_ids is not None: - pulumi.set(__self__, "vsan_remote_datastore_ids", vsan_remote_datastore_ids) + _setter("vsan_remote_datastore_ids", vsan_remote_datastore_ids) if vsan_unmap_enabled is not None: - pulumi.set(__self__, "vsan_unmap_enabled", vsan_unmap_enabled) + _setter("vsan_unmap_enabled", vsan_unmap_enabled) if vsan_verbose_mode_enabled is not None: - pulumi.set(__self__, "vsan_verbose_mode_enabled", vsan_verbose_mode_enabled) + _setter("vsan_verbose_mode_enabled", vsan_verbose_mode_enabled) @property @pulumi.getter(name="datacenterId") @@ -1673,138 +1810,277 @@ def __init__(__self__, *, :param pulumi.Input[bool] vsan_verbose_mode_enabled: Enables verbose mode for vSAN performance service on the cluster. """ + _ComputeClusterState._configure( + lambda key, value: pulumi.set(__self__, key, value), + custom_attributes=custom_attributes, + datacenter_id=datacenter_id, + dpm_automation_level=dpm_automation_level, + dpm_enabled=dpm_enabled, + dpm_threshold=dpm_threshold, + drs_advanced_options=drs_advanced_options, + drs_automation_level=drs_automation_level, + drs_enable_predictive_drs=drs_enable_predictive_drs, + drs_enable_vm_overrides=drs_enable_vm_overrides, + drs_enabled=drs_enabled, + drs_migration_threshold=drs_migration_threshold, + drs_scale_descendants_shares=drs_scale_descendants_shares, + folder=folder, + force_evacuate_on_destroy=force_evacuate_on_destroy, + ha_admission_control_failover_host_system_ids=ha_admission_control_failover_host_system_ids, + ha_admission_control_host_failure_tolerance=ha_admission_control_host_failure_tolerance, + ha_admission_control_performance_tolerance=ha_admission_control_performance_tolerance, + ha_admission_control_policy=ha_admission_control_policy, + ha_admission_control_resource_percentage_auto_compute=ha_admission_control_resource_percentage_auto_compute, + ha_admission_control_resource_percentage_cpu=ha_admission_control_resource_percentage_cpu, + ha_admission_control_resource_percentage_memory=ha_admission_control_resource_percentage_memory, + ha_admission_control_slot_policy_explicit_cpu=ha_admission_control_slot_policy_explicit_cpu, + ha_admission_control_slot_policy_explicit_memory=ha_admission_control_slot_policy_explicit_memory, + ha_admission_control_slot_policy_use_explicit_size=ha_admission_control_slot_policy_use_explicit_size, + ha_advanced_options=ha_advanced_options, + ha_datastore_apd_recovery_action=ha_datastore_apd_recovery_action, + ha_datastore_apd_response=ha_datastore_apd_response, + ha_datastore_apd_response_delay=ha_datastore_apd_response_delay, + ha_datastore_pdl_response=ha_datastore_pdl_response, + ha_enabled=ha_enabled, + ha_heartbeat_datastore_ids=ha_heartbeat_datastore_ids, + ha_heartbeat_datastore_policy=ha_heartbeat_datastore_policy, + ha_host_isolation_response=ha_host_isolation_response, + ha_host_monitoring=ha_host_monitoring, + ha_vm_component_protection=ha_vm_component_protection, + ha_vm_dependency_restart_condition=ha_vm_dependency_restart_condition, + ha_vm_failure_interval=ha_vm_failure_interval, + ha_vm_maximum_failure_window=ha_vm_maximum_failure_window, + ha_vm_maximum_resets=ha_vm_maximum_resets, + ha_vm_minimum_uptime=ha_vm_minimum_uptime, + ha_vm_monitoring=ha_vm_monitoring, + ha_vm_restart_additional_delay=ha_vm_restart_additional_delay, + ha_vm_restart_priority=ha_vm_restart_priority, + ha_vm_restart_timeout=ha_vm_restart_timeout, + host_cluster_exit_timeout=host_cluster_exit_timeout, + host_managed=host_managed, + host_system_ids=host_system_ids, + name=name, + proactive_ha_automation_level=proactive_ha_automation_level, + proactive_ha_enabled=proactive_ha_enabled, + proactive_ha_moderate_remediation=proactive_ha_moderate_remediation, + proactive_ha_provider_ids=proactive_ha_provider_ids, + proactive_ha_severe_remediation=proactive_ha_severe_remediation, + resource_pool_id=resource_pool_id, + tags=tags, + vsan_compression_enabled=vsan_compression_enabled, + vsan_dedup_enabled=vsan_dedup_enabled, + vsan_disk_groups=vsan_disk_groups, + vsan_dit_encryption_enabled=vsan_dit_encryption_enabled, + vsan_dit_rekey_interval=vsan_dit_rekey_interval, + vsan_enabled=vsan_enabled, + vsan_network_diagnostic_mode_enabled=vsan_network_diagnostic_mode_enabled, + vsan_performance_enabled=vsan_performance_enabled, + vsan_remote_datastore_ids=vsan_remote_datastore_ids, + vsan_unmap_enabled=vsan_unmap_enabled, + vsan_verbose_mode_enabled=vsan_verbose_mode_enabled, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + custom_attributes: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + datacenter_id: Optional[pulumi.Input[str]] = None, + dpm_automation_level: Optional[pulumi.Input[str]] = None, + dpm_enabled: Optional[pulumi.Input[bool]] = None, + dpm_threshold: Optional[pulumi.Input[int]] = None, + drs_advanced_options: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + drs_automation_level: Optional[pulumi.Input[str]] = None, + drs_enable_predictive_drs: Optional[pulumi.Input[bool]] = None, + drs_enable_vm_overrides: Optional[pulumi.Input[bool]] = None, + drs_enabled: Optional[pulumi.Input[bool]] = None, + drs_migration_threshold: Optional[pulumi.Input[int]] = None, + drs_scale_descendants_shares: Optional[pulumi.Input[str]] = None, + folder: Optional[pulumi.Input[str]] = None, + force_evacuate_on_destroy: Optional[pulumi.Input[bool]] = None, + ha_admission_control_failover_host_system_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + ha_admission_control_host_failure_tolerance: Optional[pulumi.Input[int]] = None, + ha_admission_control_performance_tolerance: Optional[pulumi.Input[int]] = None, + ha_admission_control_policy: Optional[pulumi.Input[str]] = None, + ha_admission_control_resource_percentage_auto_compute: Optional[pulumi.Input[bool]] = None, + ha_admission_control_resource_percentage_cpu: Optional[pulumi.Input[int]] = None, + ha_admission_control_resource_percentage_memory: Optional[pulumi.Input[int]] = None, + ha_admission_control_slot_policy_explicit_cpu: Optional[pulumi.Input[int]] = None, + ha_admission_control_slot_policy_explicit_memory: Optional[pulumi.Input[int]] = None, + ha_admission_control_slot_policy_use_explicit_size: Optional[pulumi.Input[bool]] = None, + ha_advanced_options: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + ha_datastore_apd_recovery_action: Optional[pulumi.Input[str]] = None, + ha_datastore_apd_response: Optional[pulumi.Input[str]] = None, + ha_datastore_apd_response_delay: Optional[pulumi.Input[int]] = None, + ha_datastore_pdl_response: Optional[pulumi.Input[str]] = None, + ha_enabled: Optional[pulumi.Input[bool]] = None, + ha_heartbeat_datastore_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + ha_heartbeat_datastore_policy: Optional[pulumi.Input[str]] = None, + ha_host_isolation_response: Optional[pulumi.Input[str]] = None, + ha_host_monitoring: Optional[pulumi.Input[str]] = None, + ha_vm_component_protection: Optional[pulumi.Input[str]] = None, + ha_vm_dependency_restart_condition: Optional[pulumi.Input[str]] = None, + ha_vm_failure_interval: Optional[pulumi.Input[int]] = None, + ha_vm_maximum_failure_window: Optional[pulumi.Input[int]] = None, + ha_vm_maximum_resets: Optional[pulumi.Input[int]] = None, + ha_vm_minimum_uptime: Optional[pulumi.Input[int]] = None, + ha_vm_monitoring: Optional[pulumi.Input[str]] = None, + ha_vm_restart_additional_delay: Optional[pulumi.Input[int]] = None, + ha_vm_restart_priority: Optional[pulumi.Input[str]] = None, + ha_vm_restart_timeout: Optional[pulumi.Input[int]] = None, + host_cluster_exit_timeout: Optional[pulumi.Input[int]] = None, + host_managed: Optional[pulumi.Input[bool]] = None, + host_system_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + name: Optional[pulumi.Input[str]] = None, + proactive_ha_automation_level: Optional[pulumi.Input[str]] = None, + proactive_ha_enabled: Optional[pulumi.Input[bool]] = None, + proactive_ha_moderate_remediation: Optional[pulumi.Input[str]] = None, + proactive_ha_provider_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + proactive_ha_severe_remediation: Optional[pulumi.Input[str]] = None, + resource_pool_id: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + vsan_compression_enabled: Optional[pulumi.Input[bool]] = None, + vsan_dedup_enabled: Optional[pulumi.Input[bool]] = None, + vsan_disk_groups: Optional[pulumi.Input[Sequence[pulumi.Input['ComputeClusterVsanDiskGroupArgs']]]] = None, + vsan_dit_encryption_enabled: Optional[pulumi.Input[bool]] = None, + vsan_dit_rekey_interval: Optional[pulumi.Input[int]] = None, + vsan_enabled: Optional[pulumi.Input[bool]] = None, + vsan_network_diagnostic_mode_enabled: Optional[pulumi.Input[bool]] = None, + vsan_performance_enabled: Optional[pulumi.Input[bool]] = None, + vsan_remote_datastore_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + vsan_unmap_enabled: Optional[pulumi.Input[bool]] = None, + vsan_verbose_mode_enabled: Optional[pulumi.Input[bool]] = None, + opts: Optional[pulumi.ResourceOptions]=None): if custom_attributes is not None: - pulumi.set(__self__, "custom_attributes", custom_attributes) + _setter("custom_attributes", custom_attributes) if datacenter_id is not None: - pulumi.set(__self__, "datacenter_id", datacenter_id) + _setter("datacenter_id", datacenter_id) if dpm_automation_level is not None: - pulumi.set(__self__, "dpm_automation_level", dpm_automation_level) + _setter("dpm_automation_level", dpm_automation_level) if dpm_enabled is not None: - pulumi.set(__self__, "dpm_enabled", dpm_enabled) + _setter("dpm_enabled", dpm_enabled) if dpm_threshold is not None: - pulumi.set(__self__, "dpm_threshold", dpm_threshold) + _setter("dpm_threshold", dpm_threshold) if drs_advanced_options is not None: - pulumi.set(__self__, "drs_advanced_options", drs_advanced_options) + _setter("drs_advanced_options", drs_advanced_options) if drs_automation_level is not None: - pulumi.set(__self__, "drs_automation_level", drs_automation_level) + _setter("drs_automation_level", drs_automation_level) if drs_enable_predictive_drs is not None: - pulumi.set(__self__, "drs_enable_predictive_drs", drs_enable_predictive_drs) + _setter("drs_enable_predictive_drs", drs_enable_predictive_drs) if drs_enable_vm_overrides is not None: - pulumi.set(__self__, "drs_enable_vm_overrides", drs_enable_vm_overrides) + _setter("drs_enable_vm_overrides", drs_enable_vm_overrides) if drs_enabled is not None: - pulumi.set(__self__, "drs_enabled", drs_enabled) + _setter("drs_enabled", drs_enabled) if drs_migration_threshold is not None: - pulumi.set(__self__, "drs_migration_threshold", drs_migration_threshold) + _setter("drs_migration_threshold", drs_migration_threshold) if drs_scale_descendants_shares is not None: - pulumi.set(__self__, "drs_scale_descendants_shares", drs_scale_descendants_shares) + _setter("drs_scale_descendants_shares", drs_scale_descendants_shares) if folder is not None: - pulumi.set(__self__, "folder", folder) + _setter("folder", folder) if force_evacuate_on_destroy is not None: - pulumi.set(__self__, "force_evacuate_on_destroy", force_evacuate_on_destroy) + _setter("force_evacuate_on_destroy", force_evacuate_on_destroy) if ha_admission_control_failover_host_system_ids is not None: - pulumi.set(__self__, "ha_admission_control_failover_host_system_ids", ha_admission_control_failover_host_system_ids) + _setter("ha_admission_control_failover_host_system_ids", ha_admission_control_failover_host_system_ids) if ha_admission_control_host_failure_tolerance is not None: - pulumi.set(__self__, "ha_admission_control_host_failure_tolerance", ha_admission_control_host_failure_tolerance) + _setter("ha_admission_control_host_failure_tolerance", ha_admission_control_host_failure_tolerance) if ha_admission_control_performance_tolerance is not None: - pulumi.set(__self__, "ha_admission_control_performance_tolerance", ha_admission_control_performance_tolerance) + _setter("ha_admission_control_performance_tolerance", ha_admission_control_performance_tolerance) if ha_admission_control_policy is not None: - pulumi.set(__self__, "ha_admission_control_policy", ha_admission_control_policy) + _setter("ha_admission_control_policy", ha_admission_control_policy) if ha_admission_control_resource_percentage_auto_compute is not None: - pulumi.set(__self__, "ha_admission_control_resource_percentage_auto_compute", ha_admission_control_resource_percentage_auto_compute) + _setter("ha_admission_control_resource_percentage_auto_compute", ha_admission_control_resource_percentage_auto_compute) if ha_admission_control_resource_percentage_cpu is not None: - pulumi.set(__self__, "ha_admission_control_resource_percentage_cpu", ha_admission_control_resource_percentage_cpu) + _setter("ha_admission_control_resource_percentage_cpu", ha_admission_control_resource_percentage_cpu) if ha_admission_control_resource_percentage_memory is not None: - pulumi.set(__self__, "ha_admission_control_resource_percentage_memory", ha_admission_control_resource_percentage_memory) + _setter("ha_admission_control_resource_percentage_memory", ha_admission_control_resource_percentage_memory) if ha_admission_control_slot_policy_explicit_cpu is not None: - pulumi.set(__self__, "ha_admission_control_slot_policy_explicit_cpu", ha_admission_control_slot_policy_explicit_cpu) + _setter("ha_admission_control_slot_policy_explicit_cpu", ha_admission_control_slot_policy_explicit_cpu) if ha_admission_control_slot_policy_explicit_memory is not None: - pulumi.set(__self__, "ha_admission_control_slot_policy_explicit_memory", ha_admission_control_slot_policy_explicit_memory) + _setter("ha_admission_control_slot_policy_explicit_memory", ha_admission_control_slot_policy_explicit_memory) if ha_admission_control_slot_policy_use_explicit_size is not None: - pulumi.set(__self__, "ha_admission_control_slot_policy_use_explicit_size", ha_admission_control_slot_policy_use_explicit_size) + _setter("ha_admission_control_slot_policy_use_explicit_size", ha_admission_control_slot_policy_use_explicit_size) if ha_advanced_options is not None: - pulumi.set(__self__, "ha_advanced_options", ha_advanced_options) + _setter("ha_advanced_options", ha_advanced_options) if ha_datastore_apd_recovery_action is not None: - pulumi.set(__self__, "ha_datastore_apd_recovery_action", ha_datastore_apd_recovery_action) + _setter("ha_datastore_apd_recovery_action", ha_datastore_apd_recovery_action) if ha_datastore_apd_response is not None: - pulumi.set(__self__, "ha_datastore_apd_response", ha_datastore_apd_response) + _setter("ha_datastore_apd_response", ha_datastore_apd_response) if ha_datastore_apd_response_delay is not None: - pulumi.set(__self__, "ha_datastore_apd_response_delay", ha_datastore_apd_response_delay) + _setter("ha_datastore_apd_response_delay", ha_datastore_apd_response_delay) if ha_datastore_pdl_response is not None: - pulumi.set(__self__, "ha_datastore_pdl_response", ha_datastore_pdl_response) + _setter("ha_datastore_pdl_response", ha_datastore_pdl_response) if ha_enabled is not None: - pulumi.set(__self__, "ha_enabled", ha_enabled) + _setter("ha_enabled", ha_enabled) if ha_heartbeat_datastore_ids is not None: - pulumi.set(__self__, "ha_heartbeat_datastore_ids", ha_heartbeat_datastore_ids) + _setter("ha_heartbeat_datastore_ids", ha_heartbeat_datastore_ids) if ha_heartbeat_datastore_policy is not None: - pulumi.set(__self__, "ha_heartbeat_datastore_policy", ha_heartbeat_datastore_policy) + _setter("ha_heartbeat_datastore_policy", ha_heartbeat_datastore_policy) if ha_host_isolation_response is not None: - pulumi.set(__self__, "ha_host_isolation_response", ha_host_isolation_response) + _setter("ha_host_isolation_response", ha_host_isolation_response) if ha_host_monitoring is not None: - pulumi.set(__self__, "ha_host_monitoring", ha_host_monitoring) + _setter("ha_host_monitoring", ha_host_monitoring) if ha_vm_component_protection is not None: - pulumi.set(__self__, "ha_vm_component_protection", ha_vm_component_protection) + _setter("ha_vm_component_protection", ha_vm_component_protection) if ha_vm_dependency_restart_condition is not None: - pulumi.set(__self__, "ha_vm_dependency_restart_condition", ha_vm_dependency_restart_condition) + _setter("ha_vm_dependency_restart_condition", ha_vm_dependency_restart_condition) if ha_vm_failure_interval is not None: - pulumi.set(__self__, "ha_vm_failure_interval", ha_vm_failure_interval) + _setter("ha_vm_failure_interval", ha_vm_failure_interval) if ha_vm_maximum_failure_window is not None: - pulumi.set(__self__, "ha_vm_maximum_failure_window", ha_vm_maximum_failure_window) + _setter("ha_vm_maximum_failure_window", ha_vm_maximum_failure_window) if ha_vm_maximum_resets is not None: - pulumi.set(__self__, "ha_vm_maximum_resets", ha_vm_maximum_resets) + _setter("ha_vm_maximum_resets", ha_vm_maximum_resets) if ha_vm_minimum_uptime is not None: - pulumi.set(__self__, "ha_vm_minimum_uptime", ha_vm_minimum_uptime) + _setter("ha_vm_minimum_uptime", ha_vm_minimum_uptime) if ha_vm_monitoring is not None: - pulumi.set(__self__, "ha_vm_monitoring", ha_vm_monitoring) + _setter("ha_vm_monitoring", ha_vm_monitoring) if ha_vm_restart_additional_delay is not None: - pulumi.set(__self__, "ha_vm_restart_additional_delay", ha_vm_restart_additional_delay) + _setter("ha_vm_restart_additional_delay", ha_vm_restart_additional_delay) if ha_vm_restart_priority is not None: - pulumi.set(__self__, "ha_vm_restart_priority", ha_vm_restart_priority) + _setter("ha_vm_restart_priority", ha_vm_restart_priority) if ha_vm_restart_timeout is not None: - pulumi.set(__self__, "ha_vm_restart_timeout", ha_vm_restart_timeout) + _setter("ha_vm_restart_timeout", ha_vm_restart_timeout) if host_cluster_exit_timeout is not None: - pulumi.set(__self__, "host_cluster_exit_timeout", host_cluster_exit_timeout) + _setter("host_cluster_exit_timeout", host_cluster_exit_timeout) if host_managed is not None: - pulumi.set(__self__, "host_managed", host_managed) + _setter("host_managed", host_managed) if host_system_ids is not None: - pulumi.set(__self__, "host_system_ids", host_system_ids) + _setter("host_system_ids", host_system_ids) if name is not None: - pulumi.set(__self__, "name", name) + _setter("name", name) if proactive_ha_automation_level is not None: - pulumi.set(__self__, "proactive_ha_automation_level", proactive_ha_automation_level) + _setter("proactive_ha_automation_level", proactive_ha_automation_level) if proactive_ha_enabled is not None: - pulumi.set(__self__, "proactive_ha_enabled", proactive_ha_enabled) + _setter("proactive_ha_enabled", proactive_ha_enabled) if proactive_ha_moderate_remediation is not None: - pulumi.set(__self__, "proactive_ha_moderate_remediation", proactive_ha_moderate_remediation) + _setter("proactive_ha_moderate_remediation", proactive_ha_moderate_remediation) if proactive_ha_provider_ids is not None: - pulumi.set(__self__, "proactive_ha_provider_ids", proactive_ha_provider_ids) + _setter("proactive_ha_provider_ids", proactive_ha_provider_ids) if proactive_ha_severe_remediation is not None: - pulumi.set(__self__, "proactive_ha_severe_remediation", proactive_ha_severe_remediation) + _setter("proactive_ha_severe_remediation", proactive_ha_severe_remediation) if resource_pool_id is not None: - pulumi.set(__self__, "resource_pool_id", resource_pool_id) + _setter("resource_pool_id", resource_pool_id) if tags is not None: - pulumi.set(__self__, "tags", tags) + _setter("tags", tags) if vsan_compression_enabled is not None: - pulumi.set(__self__, "vsan_compression_enabled", vsan_compression_enabled) + _setter("vsan_compression_enabled", vsan_compression_enabled) if vsan_dedup_enabled is not None: - pulumi.set(__self__, "vsan_dedup_enabled", vsan_dedup_enabled) + _setter("vsan_dedup_enabled", vsan_dedup_enabled) if vsan_disk_groups is not None: - pulumi.set(__self__, "vsan_disk_groups", vsan_disk_groups) + _setter("vsan_disk_groups", vsan_disk_groups) if vsan_dit_encryption_enabled is not None: - pulumi.set(__self__, "vsan_dit_encryption_enabled", vsan_dit_encryption_enabled) + _setter("vsan_dit_encryption_enabled", vsan_dit_encryption_enabled) if vsan_dit_rekey_interval is not None: - pulumi.set(__self__, "vsan_dit_rekey_interval", vsan_dit_rekey_interval) + _setter("vsan_dit_rekey_interval", vsan_dit_rekey_interval) if vsan_enabled is not None: - pulumi.set(__self__, "vsan_enabled", vsan_enabled) + _setter("vsan_enabled", vsan_enabled) if vsan_network_diagnostic_mode_enabled is not None: - pulumi.set(__self__, "vsan_network_diagnostic_mode_enabled", vsan_network_diagnostic_mode_enabled) + _setter("vsan_network_diagnostic_mode_enabled", vsan_network_diagnostic_mode_enabled) if vsan_performance_enabled is not None: - pulumi.set(__self__, "vsan_performance_enabled", vsan_performance_enabled) + _setter("vsan_performance_enabled", vsan_performance_enabled) if vsan_remote_datastore_ids is not None: - pulumi.set(__self__, "vsan_remote_datastore_ids", vsan_remote_datastore_ids) + _setter("vsan_remote_datastore_ids", vsan_remote_datastore_ids) if vsan_unmap_enabled is not None: - pulumi.set(__self__, "vsan_unmap_enabled", vsan_unmap_enabled) + _setter("vsan_unmap_enabled", vsan_unmap_enabled) if vsan_verbose_mode_enabled is not None: - pulumi.set(__self__, "vsan_verbose_mode_enabled", vsan_verbose_mode_enabled) + _setter("vsan_verbose_mode_enabled", vsan_verbose_mode_enabled) @property @pulumi.getter(name="customAttributes") @@ -3076,6 +3352,10 @@ def __init__(__self__, resource_name: str, *args, **kwargs): if resource_args is not None: __self__._internal_init(resource_name, opts, **resource_args.__dict__) else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + ComputeClusterArgs._configure(_setter, **kwargs) __self__._internal_init(resource_name, *args, **kwargs) def _internal_init(__self__, diff --git a/sdk/python/pulumi_vsphere/compute_cluster_host_group.py b/sdk/python/pulumi_vsphere/compute_cluster_host_group.py index bfaf16f1..67b0cb11 100644 --- a/sdk/python/pulumi_vsphere/compute_cluster_host_group.py +++ b/sdk/python/pulumi_vsphere/compute_cluster_host_group.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities __all__ = ['ComputeClusterHostGroupArgs', 'ComputeClusterHostGroup'] @@ -32,11 +32,24 @@ def __init__(__self__, *, :param pulumi.Input[str] name: The name of the host group. This must be unique in the cluster. Forces a new resource if changed. """ - pulumi.set(__self__, "compute_cluster_id", compute_cluster_id) + ComputeClusterHostGroupArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + compute_cluster_id=compute_cluster_id, + host_system_ids=host_system_ids, + name=name, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + compute_cluster_id: pulumi.Input[str], + host_system_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("compute_cluster_id", compute_cluster_id) if host_system_ids is not None: - pulumi.set(__self__, "host_system_ids", host_system_ids) + _setter("host_system_ids", host_system_ids) if name is not None: - pulumi.set(__self__, "name", name) + _setter("name", name) @property @pulumi.getter(name="computeClusterId") @@ -105,12 +118,25 @@ def __init__(__self__, *, :param pulumi.Input[str] name: The name of the host group. This must be unique in the cluster. Forces a new resource if changed. """ + _ComputeClusterHostGroupState._configure( + lambda key, value: pulumi.set(__self__, key, value), + compute_cluster_id=compute_cluster_id, + host_system_ids=host_system_ids, + name=name, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + compute_cluster_id: Optional[pulumi.Input[str]] = None, + host_system_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None): if compute_cluster_id is not None: - pulumi.set(__self__, "compute_cluster_id", compute_cluster_id) + _setter("compute_cluster_id", compute_cluster_id) if host_system_ids is not None: - pulumi.set(__self__, "host_system_ids", host_system_ids) + _setter("host_system_ids", host_system_ids) if name is not None: - pulumi.set(__self__, "name", name) + _setter("name", name) @property @pulumi.getter(name="computeClusterId") @@ -202,6 +228,10 @@ def __init__(__self__, resource_name: str, *args, **kwargs): if resource_args is not None: __self__._internal_init(resource_name, opts, **resource_args.__dict__) else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + ComputeClusterHostGroupArgs._configure(_setter, **kwargs) __self__._internal_init(resource_name, *args, **kwargs) def _internal_init(__self__, diff --git a/sdk/python/pulumi_vsphere/compute_cluster_vm_affinity_rule.py b/sdk/python/pulumi_vsphere/compute_cluster_vm_affinity_rule.py index 3d067826..14e230b4 100644 --- a/sdk/python/pulumi_vsphere/compute_cluster_vm_affinity_rule.py +++ b/sdk/python/pulumi_vsphere/compute_cluster_vm_affinity_rule.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities __all__ = ['ComputeClusterVmAffinityRuleArgs', 'ComputeClusterVmAffinityRule'] @@ -35,14 +35,31 @@ def __init__(__self__, *, this when naming your rules. :param pulumi.Input[str] name: The name of the rule. This must be unique in the cluster. """ - pulumi.set(__self__, "compute_cluster_id", compute_cluster_id) - pulumi.set(__self__, "virtual_machine_ids", virtual_machine_ids) + ComputeClusterVmAffinityRuleArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + compute_cluster_id=compute_cluster_id, + virtual_machine_ids=virtual_machine_ids, + enabled=enabled, + mandatory=mandatory, + name=name, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + compute_cluster_id: pulumi.Input[str], + virtual_machine_ids: pulumi.Input[Sequence[pulumi.Input[str]]], + enabled: Optional[pulumi.Input[bool]] = None, + mandatory: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("compute_cluster_id", compute_cluster_id) + _setter("virtual_machine_ids", virtual_machine_ids) if enabled is not None: - pulumi.set(__self__, "enabled", enabled) + _setter("enabled", enabled) if mandatory is not None: - pulumi.set(__self__, "mandatory", mandatory) + _setter("mandatory", mandatory) if name is not None: - pulumi.set(__self__, "name", name) + _setter("name", name) @property @pulumi.getter(name="computeClusterId") @@ -137,16 +154,33 @@ def __init__(__self__, *, :param pulumi.Input[Sequence[pulumi.Input[str]]] virtual_machine_ids: The UUIDs of the virtual machines to run on the same host together. """ + _ComputeClusterVmAffinityRuleState._configure( + lambda key, value: pulumi.set(__self__, key, value), + compute_cluster_id=compute_cluster_id, + enabled=enabled, + mandatory=mandatory, + name=name, + virtual_machine_ids=virtual_machine_ids, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + compute_cluster_id: Optional[pulumi.Input[str]] = None, + enabled: Optional[pulumi.Input[bool]] = None, + mandatory: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + virtual_machine_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + opts: Optional[pulumi.ResourceOptions]=None): if compute_cluster_id is not None: - pulumi.set(__self__, "compute_cluster_id", compute_cluster_id) + _setter("compute_cluster_id", compute_cluster_id) if enabled is not None: - pulumi.set(__self__, "enabled", enabled) + _setter("enabled", enabled) if mandatory is not None: - pulumi.set(__self__, "mandatory", mandatory) + _setter("mandatory", mandatory) if name is not None: - pulumi.set(__self__, "name", name) + _setter("name", name) if virtual_machine_ids is not None: - pulumi.set(__self__, "virtual_machine_ids", virtual_machine_ids) + _setter("virtual_machine_ids", virtual_machine_ids) @property @pulumi.getter(name="computeClusterId") @@ -432,6 +466,10 @@ def __init__(__self__, resource_name: str, *args, **kwargs): if resource_args is not None: __self__._internal_init(resource_name, opts, **resource_args.__dict__) else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + ComputeClusterVmAffinityRuleArgs._configure(_setter, **kwargs) __self__._internal_init(resource_name, *args, **kwargs) def _internal_init(__self__, diff --git a/sdk/python/pulumi_vsphere/compute_cluster_vm_anti_affinity_rule.py b/sdk/python/pulumi_vsphere/compute_cluster_vm_anti_affinity_rule.py index 126e2f91..28717e6e 100644 --- a/sdk/python/pulumi_vsphere/compute_cluster_vm_anti_affinity_rule.py +++ b/sdk/python/pulumi_vsphere/compute_cluster_vm_anti_affinity_rule.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities __all__ = ['ComputeClusterVmAntiAffinityRuleArgs', 'ComputeClusterVmAntiAffinityRule'] @@ -35,14 +35,31 @@ def __init__(__self__, *, this when naming your rules. :param pulumi.Input[str] name: The name of the rule. This must be unique in the cluster. """ - pulumi.set(__self__, "compute_cluster_id", compute_cluster_id) - pulumi.set(__self__, "virtual_machine_ids", virtual_machine_ids) + ComputeClusterVmAntiAffinityRuleArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + compute_cluster_id=compute_cluster_id, + virtual_machine_ids=virtual_machine_ids, + enabled=enabled, + mandatory=mandatory, + name=name, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + compute_cluster_id: pulumi.Input[str], + virtual_machine_ids: pulumi.Input[Sequence[pulumi.Input[str]]], + enabled: Optional[pulumi.Input[bool]] = None, + mandatory: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("compute_cluster_id", compute_cluster_id) + _setter("virtual_machine_ids", virtual_machine_ids) if enabled is not None: - pulumi.set(__self__, "enabled", enabled) + _setter("enabled", enabled) if mandatory is not None: - pulumi.set(__self__, "mandatory", mandatory) + _setter("mandatory", mandatory) if name is not None: - pulumi.set(__self__, "name", name) + _setter("name", name) @property @pulumi.getter(name="computeClusterId") @@ -137,16 +154,33 @@ def __init__(__self__, *, :param pulumi.Input[Sequence[pulumi.Input[str]]] virtual_machine_ids: The UUIDs of the virtual machines to run on hosts different from each other. """ + _ComputeClusterVmAntiAffinityRuleState._configure( + lambda key, value: pulumi.set(__self__, key, value), + compute_cluster_id=compute_cluster_id, + enabled=enabled, + mandatory=mandatory, + name=name, + virtual_machine_ids=virtual_machine_ids, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + compute_cluster_id: Optional[pulumi.Input[str]] = None, + enabled: Optional[pulumi.Input[bool]] = None, + mandatory: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + virtual_machine_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + opts: Optional[pulumi.ResourceOptions]=None): if compute_cluster_id is not None: - pulumi.set(__self__, "compute_cluster_id", compute_cluster_id) + _setter("compute_cluster_id", compute_cluster_id) if enabled is not None: - pulumi.set(__self__, "enabled", enabled) + _setter("enabled", enabled) if mandatory is not None: - pulumi.set(__self__, "mandatory", mandatory) + _setter("mandatory", mandatory) if name is not None: - pulumi.set(__self__, "name", name) + _setter("name", name) if virtual_machine_ids is not None: - pulumi.set(__self__, "virtual_machine_ids", virtual_machine_ids) + _setter("virtual_machine_ids", virtual_machine_ids) @property @pulumi.getter(name="computeClusterId") @@ -264,6 +298,10 @@ def __init__(__self__, resource_name: str, *args, **kwargs): if resource_args is not None: __self__._internal_init(resource_name, opts, **resource_args.__dict__) else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + ComputeClusterVmAntiAffinityRuleArgs._configure(_setter, **kwargs) __self__._internal_init(resource_name, *args, **kwargs) def _internal_init(__self__, diff --git a/sdk/python/pulumi_vsphere/compute_cluster_vm_dependency_rule.py b/sdk/python/pulumi_vsphere/compute_cluster_vm_dependency_rule.py index cabb231d..35b4e5e1 100644 --- a/sdk/python/pulumi_vsphere/compute_cluster_vm_dependency_rule.py +++ b/sdk/python/pulumi_vsphere/compute_cluster_vm_dependency_rule.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities __all__ = ['ComputeClusterVmDependencyRuleArgs', 'ComputeClusterVmDependencyRule'] @@ -43,15 +43,34 @@ def __init__(__self__, *, :param pulumi.Input[str] name: The name of the rule. This must be unique in the cluster. """ - pulumi.set(__self__, "compute_cluster_id", compute_cluster_id) - pulumi.set(__self__, "dependency_vm_group_name", dependency_vm_group_name) - pulumi.set(__self__, "vm_group_name", vm_group_name) + ComputeClusterVmDependencyRuleArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + compute_cluster_id=compute_cluster_id, + dependency_vm_group_name=dependency_vm_group_name, + vm_group_name=vm_group_name, + enabled=enabled, + mandatory=mandatory, + name=name, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + compute_cluster_id: pulumi.Input[str], + dependency_vm_group_name: pulumi.Input[str], + vm_group_name: pulumi.Input[str], + enabled: Optional[pulumi.Input[bool]] = None, + mandatory: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("compute_cluster_id", compute_cluster_id) + _setter("dependency_vm_group_name", dependency_vm_group_name) + _setter("vm_group_name", vm_group_name) if enabled is not None: - pulumi.set(__self__, "enabled", enabled) + _setter("enabled", enabled) if mandatory is not None: - pulumi.set(__self__, "mandatory", mandatory) + _setter("mandatory", mandatory) if name is not None: - pulumi.set(__self__, "name", name) + _setter("name", name) @property @pulumi.getter(name="computeClusterId") @@ -172,18 +191,37 @@ def __init__(__self__, *, the group specified by `dependency_vm_group_name` are started. """ + _ComputeClusterVmDependencyRuleState._configure( + lambda key, value: pulumi.set(__self__, key, value), + compute_cluster_id=compute_cluster_id, + dependency_vm_group_name=dependency_vm_group_name, + enabled=enabled, + mandatory=mandatory, + name=name, + vm_group_name=vm_group_name, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + compute_cluster_id: Optional[pulumi.Input[str]] = None, + dependency_vm_group_name: Optional[pulumi.Input[str]] = None, + enabled: Optional[pulumi.Input[bool]] = None, + mandatory: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + vm_group_name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None): if compute_cluster_id is not None: - pulumi.set(__self__, "compute_cluster_id", compute_cluster_id) + _setter("compute_cluster_id", compute_cluster_id) if dependency_vm_group_name is not None: - pulumi.set(__self__, "dependency_vm_group_name", dependency_vm_group_name) + _setter("dependency_vm_group_name", dependency_vm_group_name) if enabled is not None: - pulumi.set(__self__, "enabled", enabled) + _setter("enabled", enabled) if mandatory is not None: - pulumi.set(__self__, "mandatory", mandatory) + _setter("mandatory", mandatory) if name is not None: - pulumi.set(__self__, "name", name) + _setter("name", name) if vm_group_name is not None: - pulumi.set(__self__, "vm_group_name", vm_group_name) + _setter("vm_group_name", vm_group_name) @property @pulumi.getter(name="computeClusterId") @@ -327,6 +365,10 @@ def __init__(__self__, resource_name: str, *args, **kwargs): if resource_args is not None: __self__._internal_init(resource_name, opts, **resource_args.__dict__) else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + ComputeClusterVmDependencyRuleArgs._configure(_setter, **kwargs) __self__._internal_init(resource_name, *args, **kwargs) def _internal_init(__self__, diff --git a/sdk/python/pulumi_vsphere/compute_cluster_vm_group.py b/sdk/python/pulumi_vsphere/compute_cluster_vm_group.py index a39984e1..649ac775 100644 --- a/sdk/python/pulumi_vsphere/compute_cluster_vm_group.py +++ b/sdk/python/pulumi_vsphere/compute_cluster_vm_group.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities __all__ = ['ComputeClusterVmGroupArgs', 'ComputeClusterVmGroup'] @@ -32,11 +32,24 @@ def __init__(__self__, *, `ComputeClusterHostGroup` resource. Make sure your names are unique across both resources. """ - pulumi.set(__self__, "compute_cluster_id", compute_cluster_id) + ComputeClusterVmGroupArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + compute_cluster_id=compute_cluster_id, + name=name, + virtual_machine_ids=virtual_machine_ids, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + compute_cluster_id: pulumi.Input[str], + name: Optional[pulumi.Input[str]] = None, + virtual_machine_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("compute_cluster_id", compute_cluster_id) if name is not None: - pulumi.set(__self__, "name", name) + _setter("name", name) if virtual_machine_ids is not None: - pulumi.set(__self__, "virtual_machine_ids", virtual_machine_ids) + _setter("virtual_machine_ids", virtual_machine_ids) @property @pulumi.getter(name="computeClusterId") @@ -105,12 +118,25 @@ def __init__(__self__, *, `ComputeClusterHostGroup` resource. Make sure your names are unique across both resources. """ + _ComputeClusterVmGroupState._configure( + lambda key, value: pulumi.set(__self__, key, value), + compute_cluster_id=compute_cluster_id, + name=name, + virtual_machine_ids=virtual_machine_ids, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + compute_cluster_id: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + virtual_machine_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + opts: Optional[pulumi.ResourceOptions]=None): if compute_cluster_id is not None: - pulumi.set(__self__, "compute_cluster_id", compute_cluster_id) + _setter("compute_cluster_id", compute_cluster_id) if name is not None: - pulumi.set(__self__, "name", name) + _setter("name", name) if virtual_machine_ids is not None: - pulumi.set(__self__, "virtual_machine_ids", virtual_machine_ids) + _setter("virtual_machine_ids", virtual_machine_ids) @property @pulumi.getter(name="computeClusterId") @@ -202,6 +228,10 @@ def __init__(__self__, resource_name: str, *args, **kwargs): if resource_args is not None: __self__._internal_init(resource_name, opts, **resource_args.__dict__) else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + ComputeClusterVmGroupArgs._configure(_setter, **kwargs) __self__._internal_init(resource_name, *args, **kwargs) def _internal_init(__self__, diff --git a/sdk/python/pulumi_vsphere/compute_cluster_vm_host_rule.py b/sdk/python/pulumi_vsphere/compute_cluster_vm_host_rule.py index fbb5a2c5..4ab43046 100644 --- a/sdk/python/pulumi_vsphere/compute_cluster_vm_host_rule.py +++ b/sdk/python/pulumi_vsphere/compute_cluster_vm_host_rule.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities __all__ = ['ComputeClusterVmHostRuleArgs', 'ComputeClusterVmHostRule'] @@ -48,18 +48,39 @@ def __init__(__self__, *, :param pulumi.Input[str] name: The name of the rule. This must be unique in the cluster. """ - pulumi.set(__self__, "compute_cluster_id", compute_cluster_id) - pulumi.set(__self__, "vm_group_name", vm_group_name) + ComputeClusterVmHostRuleArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + compute_cluster_id=compute_cluster_id, + vm_group_name=vm_group_name, + affinity_host_group_name=affinity_host_group_name, + anti_affinity_host_group_name=anti_affinity_host_group_name, + enabled=enabled, + mandatory=mandatory, + name=name, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + compute_cluster_id: pulumi.Input[str], + vm_group_name: pulumi.Input[str], + affinity_host_group_name: Optional[pulumi.Input[str]] = None, + anti_affinity_host_group_name: Optional[pulumi.Input[str]] = None, + enabled: Optional[pulumi.Input[bool]] = None, + mandatory: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("compute_cluster_id", compute_cluster_id) + _setter("vm_group_name", vm_group_name) if affinity_host_group_name is not None: - pulumi.set(__self__, "affinity_host_group_name", affinity_host_group_name) + _setter("affinity_host_group_name", affinity_host_group_name) if anti_affinity_host_group_name is not None: - pulumi.set(__self__, "anti_affinity_host_group_name", anti_affinity_host_group_name) + _setter("anti_affinity_host_group_name", anti_affinity_host_group_name) if enabled is not None: - pulumi.set(__self__, "enabled", enabled) + _setter("enabled", enabled) if mandatory is not None: - pulumi.set(__self__, "mandatory", mandatory) + _setter("mandatory", mandatory) if name is not None: - pulumi.set(__self__, "name", name) + _setter("name", name) @property @pulumi.getter(name="computeClusterId") @@ -200,20 +221,41 @@ def __init__(__self__, *, :param pulumi.Input[str] vm_group_name: The name of the virtual machine group to use with this rule. """ + _ComputeClusterVmHostRuleState._configure( + lambda key, value: pulumi.set(__self__, key, value), + affinity_host_group_name=affinity_host_group_name, + anti_affinity_host_group_name=anti_affinity_host_group_name, + compute_cluster_id=compute_cluster_id, + enabled=enabled, + mandatory=mandatory, + name=name, + vm_group_name=vm_group_name, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + affinity_host_group_name: Optional[pulumi.Input[str]] = None, + anti_affinity_host_group_name: Optional[pulumi.Input[str]] = None, + compute_cluster_id: Optional[pulumi.Input[str]] = None, + enabled: Optional[pulumi.Input[bool]] = None, + mandatory: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + vm_group_name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None): if affinity_host_group_name is not None: - pulumi.set(__self__, "affinity_host_group_name", affinity_host_group_name) + _setter("affinity_host_group_name", affinity_host_group_name) if anti_affinity_host_group_name is not None: - pulumi.set(__self__, "anti_affinity_host_group_name", anti_affinity_host_group_name) + _setter("anti_affinity_host_group_name", anti_affinity_host_group_name) if compute_cluster_id is not None: - pulumi.set(__self__, "compute_cluster_id", compute_cluster_id) + _setter("compute_cluster_id", compute_cluster_id) if enabled is not None: - pulumi.set(__self__, "enabled", enabled) + _setter("enabled", enabled) if mandatory is not None: - pulumi.set(__self__, "mandatory", mandatory) + _setter("mandatory", mandatory) if name is not None: - pulumi.set(__self__, "name", name) + _setter("name", name) if vm_group_name is not None: - pulumi.set(__self__, "vm_group_name", vm_group_name) + _setter("vm_group_name", vm_group_name) @property @pulumi.getter(name="affinityHostGroupName") @@ -377,6 +419,10 @@ def __init__(__self__, resource_name: str, *args, **kwargs): if resource_args is not None: __self__._internal_init(resource_name, opts, **resource_args.__dict__) else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + ComputeClusterVmHostRuleArgs._configure(_setter, **kwargs) __self__._internal_init(resource_name, *args, **kwargs) def _internal_init(__self__, diff --git a/sdk/python/pulumi_vsphere/config/__init__.pyi b/sdk/python/pulumi_vsphere/config/__init__.pyi index 0b58393c..df3ec1f7 100644 --- a/sdk/python/pulumi_vsphere/config/__init__.pyi +++ b/sdk/python/pulumi_vsphere/config/__init__.pyi @@ -6,7 +6,7 @@ import copy import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from .. import _utilities allowUnverifiedSsl: Optional[bool] diff --git a/sdk/python/pulumi_vsphere/config/vars.py b/sdk/python/pulumi_vsphere/config/vars.py index 9ca9fbec..69913126 100644 --- a/sdk/python/pulumi_vsphere/config/vars.py +++ b/sdk/python/pulumi_vsphere/config/vars.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from .. import _utilities import types diff --git a/sdk/python/pulumi_vsphere/content_library.py b/sdk/python/pulumi_vsphere/content_library.py index 97bb6116..b9de6707 100644 --- a/sdk/python/pulumi_vsphere/content_library.py +++ b/sdk/python/pulumi_vsphere/content_library.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities from . import outputs from ._inputs import * @@ -29,15 +29,32 @@ def __init__(__self__, *, :param pulumi.Input['ContentLibraryPublicationArgs'] publication: Options to publish a local content library. :param pulumi.Input['ContentLibrarySubscriptionArgs'] subscription: Options subscribe to a published content library. """ - pulumi.set(__self__, "storage_backings", storage_backings) + ContentLibraryArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + storage_backings=storage_backings, + description=description, + name=name, + publication=publication, + subscription=subscription, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + storage_backings: pulumi.Input[Sequence[pulumi.Input[str]]], + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + publication: Optional[pulumi.Input['ContentLibraryPublicationArgs']] = None, + subscription: Optional[pulumi.Input['ContentLibrarySubscriptionArgs']] = None, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("storage_backings", storage_backings) if description is not None: - pulumi.set(__self__, "description", description) + _setter("description", description) if name is not None: - pulumi.set(__self__, "name", name) + _setter("name", name) if publication is not None: - pulumi.set(__self__, "publication", publication) + _setter("publication", publication) if subscription is not None: - pulumi.set(__self__, "subscription", subscription) + _setter("subscription", subscription) @property @pulumi.getter(name="storageBackings") @@ -116,16 +133,33 @@ def __init__(__self__, *, :param pulumi.Input[Sequence[pulumi.Input[str]]] storage_backings: The managed object reference ID of the datastore on which to store the content library items. :param pulumi.Input['ContentLibrarySubscriptionArgs'] subscription: Options subscribe to a published content library. """ + _ContentLibraryState._configure( + lambda key, value: pulumi.set(__self__, key, value), + description=description, + name=name, + publication=publication, + storage_backings=storage_backings, + subscription=subscription, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + publication: Optional[pulumi.Input['ContentLibraryPublicationArgs']] = None, + storage_backings: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + subscription: Optional[pulumi.Input['ContentLibrarySubscriptionArgs']] = None, + opts: Optional[pulumi.ResourceOptions]=None): if description is not None: - pulumi.set(__self__, "description", description) + _setter("description", description) if name is not None: - pulumi.set(__self__, "name", name) + _setter("name", name) if publication is not None: - pulumi.set(__self__, "publication", publication) + _setter("publication", publication) if storage_backings is not None: - pulumi.set(__self__, "storage_backings", storage_backings) + _setter("storage_backings", storage_backings) if subscription is not None: - pulumi.set(__self__, "subscription", subscription) + _setter("subscription", subscription) @property @pulumi.getter @@ -227,6 +261,10 @@ def __init__(__self__, resource_name: str, *args, **kwargs): if resource_args is not None: __self__._internal_init(resource_name, opts, **resource_args.__dict__) else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + ContentLibraryArgs._configure(_setter, **kwargs) __self__._internal_init(resource_name, *args, **kwargs) def _internal_init(__self__, @@ -248,10 +286,20 @@ def _internal_init(__self__, __props__.__dict__["description"] = description __props__.__dict__["name"] = name + if publication is not None and not isinstance(publication, ContentLibraryPublicationArgs): + publication = publication or {} + def _setter(key, value): + publication[key] = value + ContentLibraryPublicationArgs._configure(_setter, **publication) __props__.__dict__["publication"] = publication if storage_backings is None and not opts.urn: raise TypeError("Missing required property 'storage_backings'") __props__.__dict__["storage_backings"] = storage_backings + if subscription is not None and not isinstance(subscription, ContentLibrarySubscriptionArgs): + subscription = subscription or {} + def _setter(key, value): + subscription[key] = value + ContentLibrarySubscriptionArgs._configure(_setter, **subscription) __props__.__dict__["subscription"] = subscription super(ContentLibrary, __self__).__init__( 'vsphere:index/contentLibrary:ContentLibrary', diff --git a/sdk/python/pulumi_vsphere/content_library_item.py b/sdk/python/pulumi_vsphere/content_library_item.py index d37ebb49..dd854b49 100644 --- a/sdk/python/pulumi_vsphere/content_library_item.py +++ b/sdk/python/pulumi_vsphere/content_library_item.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities __all__ = ['ContentLibraryItemArgs', 'ContentLibraryItem'] @@ -30,17 +30,36 @@ def __init__(__self__, *, :param pulumi.Input[str] type: Type of content library item. One of "ovf", "iso", or "vm-template". Default: `ovf`. """ - pulumi.set(__self__, "library_id", library_id) + ContentLibraryItemArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + library_id=library_id, + description=description, + file_url=file_url, + name=name, + source_uuid=source_uuid, + type=type, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + library_id: pulumi.Input[str], + description: Optional[pulumi.Input[str]] = None, + file_url: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + source_uuid: Optional[pulumi.Input[str]] = None, + type: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("library_id", library_id) if description is not None: - pulumi.set(__self__, "description", description) + _setter("description", description) if file_url is not None: - pulumi.set(__self__, "file_url", file_url) + _setter("file_url", file_url) if name is not None: - pulumi.set(__self__, "name", name) + _setter("name", name) if source_uuid is not None: - pulumi.set(__self__, "source_uuid", source_uuid) + _setter("source_uuid", source_uuid) if type is not None: - pulumi.set(__self__, "type", type) + _setter("type", type) @property @pulumi.getter(name="libraryId") @@ -135,18 +154,37 @@ def __init__(__self__, *, :param pulumi.Input[str] type: Type of content library item. One of "ovf", "iso", or "vm-template". Default: `ovf`. """ + _ContentLibraryItemState._configure( + lambda key, value: pulumi.set(__self__, key, value), + description=description, + file_url=file_url, + library_id=library_id, + name=name, + source_uuid=source_uuid, + type=type, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + description: Optional[pulumi.Input[str]] = None, + file_url: Optional[pulumi.Input[str]] = None, + library_id: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + source_uuid: Optional[pulumi.Input[str]] = None, + type: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None): if description is not None: - pulumi.set(__self__, "description", description) + _setter("description", description) if file_url is not None: - pulumi.set(__self__, "file_url", file_url) + _setter("file_url", file_url) if library_id is not None: - pulumi.set(__self__, "library_id", library_id) + _setter("library_id", library_id) if name is not None: - pulumi.set(__self__, "name", name) + _setter("name", name) if source_uuid is not None: - pulumi.set(__self__, "source_uuid", source_uuid) + _setter("source_uuid", source_uuid) if type is not None: - pulumi.set(__self__, "type", type) + _setter("type", type) @property @pulumi.getter @@ -264,6 +302,10 @@ def __init__(__self__, resource_name: str, *args, **kwargs): if resource_args is not None: __self__._internal_init(resource_name, opts, **resource_args.__dict__) else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + ContentLibraryItemArgs._configure(_setter, **kwargs) __self__._internal_init(resource_name, *args, **kwargs) def _internal_init(__self__, diff --git a/sdk/python/pulumi_vsphere/custom_attribute.py b/sdk/python/pulumi_vsphere/custom_attribute.py index 49252d74..f7844f80 100644 --- a/sdk/python/pulumi_vsphere/custom_attribute.py +++ b/sdk/python/pulumi_vsphere/custom_attribute.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities __all__ = ['CustomAttributeArgs', 'CustomAttribute'] @@ -23,10 +23,21 @@ def __init__(__self__, *, type. For a full list, review the Managed Object Types. Forces a new resource if changed. :param pulumi.Input[str] name: The name of the custom attribute. """ + CustomAttributeArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + managed_object_type=managed_object_type, + name=name, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + managed_object_type: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None): if managed_object_type is not None: - pulumi.set(__self__, "managed_object_type", managed_object_type) + _setter("managed_object_type", managed_object_type) if name is not None: - pulumi.set(__self__, "name", name) + _setter("name", name) @property @pulumi.getter(name="managedObjectType") @@ -67,10 +78,21 @@ def __init__(__self__, *, type. For a full list, review the Managed Object Types. Forces a new resource if changed. :param pulumi.Input[str] name: The name of the custom attribute. """ + _CustomAttributeState._configure( + lambda key, value: pulumi.set(__self__, key, value), + managed_object_type=managed_object_type, + name=name, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + managed_object_type: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None): if managed_object_type is not None: - pulumi.set(__self__, "managed_object_type", managed_object_type) + _setter("managed_object_type", managed_object_type) if name is not None: - pulumi.set(__self__, "name", name) + _setter("name", name) @property @pulumi.getter(name="managedObjectType") @@ -134,6 +156,10 @@ def __init__(__self__, resource_name: str, *args, **kwargs): if resource_args is not None: __self__._internal_init(resource_name, opts, **resource_args.__dict__) else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + CustomAttributeArgs._configure(_setter, **kwargs) __self__._internal_init(resource_name, *args, **kwargs) def _internal_init(__self__, diff --git a/sdk/python/pulumi_vsphere/datacenter.py b/sdk/python/pulumi_vsphere/datacenter.py index 7e6afb74..bafdf762 100644 --- a/sdk/python/pulumi_vsphere/datacenter.py +++ b/sdk/python/pulumi_vsphere/datacenter.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities __all__ = ['DatacenterArgs', 'Datacenter'] @@ -38,14 +38,29 @@ def __init__(__self__, *, > **NOTE:** Tagging support is unsupported on direct ESXi connections and requires vCenter 6.0 or higher. """ + DatacenterArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + custom_attributes=custom_attributes, + folder=folder, + name=name, + tags=tags, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + custom_attributes: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + folder: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + opts: Optional[pulumi.ResourceOptions]=None): if custom_attributes is not None: - pulumi.set(__self__, "custom_attributes", custom_attributes) + _setter("custom_attributes", custom_attributes) if folder is not None: - pulumi.set(__self__, "folder", folder) + _setter("folder", folder) if name is not None: - pulumi.set(__self__, "name", name) + _setter("name", name) if tags is not None: - pulumi.set(__self__, "tags", tags) + _setter("tags", tags) @property @pulumi.getter(name="customAttributes") @@ -138,16 +153,33 @@ def __init__(__self__, *, > **NOTE:** Tagging support is unsupported on direct ESXi connections and requires vCenter 6.0 or higher. """ + _DatacenterState._configure( + lambda key, value: pulumi.set(__self__, key, value), + custom_attributes=custom_attributes, + folder=folder, + moid=moid, + name=name, + tags=tags, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + custom_attributes: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + folder: Optional[pulumi.Input[str]] = None, + moid: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + opts: Optional[pulumi.ResourceOptions]=None): if custom_attributes is not None: - pulumi.set(__self__, "custom_attributes", custom_attributes) + _setter("custom_attributes", custom_attributes) if folder is not None: - pulumi.set(__self__, "folder", folder) + _setter("folder", folder) if moid is not None: - pulumi.set(__self__, "moid", moid) + _setter("moid", moid) if name is not None: - pulumi.set(__self__, "name", name) + _setter("name", name) if tags is not None: - pulumi.set(__self__, "tags", tags) + _setter("tags", tags) @property @pulumi.getter(name="customAttributes") @@ -313,6 +345,10 @@ def __init__(__self__, resource_name: str, *args, **kwargs): if resource_args is not None: __self__._internal_init(resource_name, opts, **resource_args.__dict__) else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + DatacenterArgs._configure(_setter, **kwargs) __self__._internal_init(resource_name, *args, **kwargs) def _internal_init(__self__, diff --git a/sdk/python/pulumi_vsphere/datastore_cluster.py b/sdk/python/pulumi_vsphere/datastore_cluster.py index 02ea8a99..9da42a5f 100644 --- a/sdk/python/pulumi_vsphere/datastore_cluster.py +++ b/sdk/python/pulumi_vsphere/datastore_cluster.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities __all__ = ['DatastoreClusterArgs', 'DatastoreCluster'] @@ -69,17 +69,13 @@ def __init__(__self__, *, single virtual machine will be kept on the same datastore. Default: `true`. :param pulumi.Input[bool] sdrs_enabled: Enable Storage DRS for this datastore cluster. Default: `false`. - :param pulumi.Input[int] sdrs_free_space_threshold: The threshold, in GB, that storage - DRS uses to make decisions to migrate VMs out of a datastore. Default: `50` - GB. + :param pulumi.Input[int] sdrs_free_space_threshold: The free space threshold to use. When set to `utilization`, `drs_space_utilization_threshold` is used, and when set to `freeSpace`, `drs_free_space_threshold` is used. Default: `utilization`. :param pulumi.Input[str] sdrs_free_space_threshold_mode: The free space threshold to use. When set to utilization, drs_space_utilization_threshold is used, and when set to freeSpace, drs_free_space_threshold is used. :param pulumi.Input[int] sdrs_free_space_utilization_difference: The threshold, in - percent of used space, that storage DRS uses to make decisions to migrate VMs - out of a datastore. Default: `80` percent. percent, of difference between space utilization in datastores before storage DRS makes decisions to balance the space. Default: `5` percent. :param pulumi.Input[str] sdrs_io_balance_automation_level: Overrides the default @@ -123,55 +119,112 @@ def __init__(__self__, *, > **NOTE:** Tagging support requires vCenter 6.0 or higher. """ - pulumi.set(__self__, "datacenter_id", datacenter_id) + DatastoreClusterArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + datacenter_id=datacenter_id, + custom_attributes=custom_attributes, + folder=folder, + name=name, + sdrs_advanced_options=sdrs_advanced_options, + sdrs_automation_level=sdrs_automation_level, + sdrs_default_intra_vm_affinity=sdrs_default_intra_vm_affinity, + sdrs_enabled=sdrs_enabled, + sdrs_free_space_threshold=sdrs_free_space_threshold, + sdrs_free_space_threshold_mode=sdrs_free_space_threshold_mode, + sdrs_free_space_utilization_difference=sdrs_free_space_utilization_difference, + sdrs_io_balance_automation_level=sdrs_io_balance_automation_level, + sdrs_io_latency_threshold=sdrs_io_latency_threshold, + sdrs_io_load_balance_enabled=sdrs_io_load_balance_enabled, + sdrs_io_load_imbalance_threshold=sdrs_io_load_imbalance_threshold, + sdrs_io_reservable_iops_threshold=sdrs_io_reservable_iops_threshold, + sdrs_io_reservable_percent_threshold=sdrs_io_reservable_percent_threshold, + sdrs_io_reservable_threshold_mode=sdrs_io_reservable_threshold_mode, + sdrs_load_balance_interval=sdrs_load_balance_interval, + sdrs_policy_enforcement_automation_level=sdrs_policy_enforcement_automation_level, + sdrs_rule_enforcement_automation_level=sdrs_rule_enforcement_automation_level, + sdrs_space_balance_automation_level=sdrs_space_balance_automation_level, + sdrs_space_utilization_threshold=sdrs_space_utilization_threshold, + sdrs_vm_evacuation_automation_level=sdrs_vm_evacuation_automation_level, + tags=tags, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + datacenter_id: pulumi.Input[str], + custom_attributes: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + folder: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + sdrs_advanced_options: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + sdrs_automation_level: Optional[pulumi.Input[str]] = None, + sdrs_default_intra_vm_affinity: Optional[pulumi.Input[bool]] = None, + sdrs_enabled: Optional[pulumi.Input[bool]] = None, + sdrs_free_space_threshold: Optional[pulumi.Input[int]] = None, + sdrs_free_space_threshold_mode: Optional[pulumi.Input[str]] = None, + sdrs_free_space_utilization_difference: Optional[pulumi.Input[int]] = None, + sdrs_io_balance_automation_level: Optional[pulumi.Input[str]] = None, + sdrs_io_latency_threshold: Optional[pulumi.Input[int]] = None, + sdrs_io_load_balance_enabled: Optional[pulumi.Input[bool]] = None, + sdrs_io_load_imbalance_threshold: Optional[pulumi.Input[int]] = None, + sdrs_io_reservable_iops_threshold: Optional[pulumi.Input[int]] = None, + sdrs_io_reservable_percent_threshold: Optional[pulumi.Input[int]] = None, + sdrs_io_reservable_threshold_mode: Optional[pulumi.Input[str]] = None, + sdrs_load_balance_interval: Optional[pulumi.Input[int]] = None, + sdrs_policy_enforcement_automation_level: Optional[pulumi.Input[str]] = None, + sdrs_rule_enforcement_automation_level: Optional[pulumi.Input[str]] = None, + sdrs_space_balance_automation_level: Optional[pulumi.Input[str]] = None, + sdrs_space_utilization_threshold: Optional[pulumi.Input[int]] = None, + sdrs_vm_evacuation_automation_level: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("datacenter_id", datacenter_id) if custom_attributes is not None: - pulumi.set(__self__, "custom_attributes", custom_attributes) + _setter("custom_attributes", custom_attributes) if folder is not None: - pulumi.set(__self__, "folder", folder) + _setter("folder", folder) if name is not None: - pulumi.set(__self__, "name", name) + _setter("name", name) if sdrs_advanced_options is not None: - pulumi.set(__self__, "sdrs_advanced_options", sdrs_advanced_options) + _setter("sdrs_advanced_options", sdrs_advanced_options) if sdrs_automation_level is not None: - pulumi.set(__self__, "sdrs_automation_level", sdrs_automation_level) + _setter("sdrs_automation_level", sdrs_automation_level) if sdrs_default_intra_vm_affinity is not None: - pulumi.set(__self__, "sdrs_default_intra_vm_affinity", sdrs_default_intra_vm_affinity) + _setter("sdrs_default_intra_vm_affinity", sdrs_default_intra_vm_affinity) if sdrs_enabled is not None: - pulumi.set(__self__, "sdrs_enabled", sdrs_enabled) + _setter("sdrs_enabled", sdrs_enabled) if sdrs_free_space_threshold is not None: - pulumi.set(__self__, "sdrs_free_space_threshold", sdrs_free_space_threshold) + _setter("sdrs_free_space_threshold", sdrs_free_space_threshold) if sdrs_free_space_threshold_mode is not None: - pulumi.set(__self__, "sdrs_free_space_threshold_mode", sdrs_free_space_threshold_mode) + _setter("sdrs_free_space_threshold_mode", sdrs_free_space_threshold_mode) if sdrs_free_space_utilization_difference is not None: - pulumi.set(__self__, "sdrs_free_space_utilization_difference", sdrs_free_space_utilization_difference) + _setter("sdrs_free_space_utilization_difference", sdrs_free_space_utilization_difference) if sdrs_io_balance_automation_level is not None: - pulumi.set(__self__, "sdrs_io_balance_automation_level", sdrs_io_balance_automation_level) + _setter("sdrs_io_balance_automation_level", sdrs_io_balance_automation_level) if sdrs_io_latency_threshold is not None: - pulumi.set(__self__, "sdrs_io_latency_threshold", sdrs_io_latency_threshold) + _setter("sdrs_io_latency_threshold", sdrs_io_latency_threshold) if sdrs_io_load_balance_enabled is not None: - pulumi.set(__self__, "sdrs_io_load_balance_enabled", sdrs_io_load_balance_enabled) + _setter("sdrs_io_load_balance_enabled", sdrs_io_load_balance_enabled) if sdrs_io_load_imbalance_threshold is not None: - pulumi.set(__self__, "sdrs_io_load_imbalance_threshold", sdrs_io_load_imbalance_threshold) + _setter("sdrs_io_load_imbalance_threshold", sdrs_io_load_imbalance_threshold) if sdrs_io_reservable_iops_threshold is not None: - pulumi.set(__self__, "sdrs_io_reservable_iops_threshold", sdrs_io_reservable_iops_threshold) + _setter("sdrs_io_reservable_iops_threshold", sdrs_io_reservable_iops_threshold) if sdrs_io_reservable_percent_threshold is not None: - pulumi.set(__self__, "sdrs_io_reservable_percent_threshold", sdrs_io_reservable_percent_threshold) + _setter("sdrs_io_reservable_percent_threshold", sdrs_io_reservable_percent_threshold) if sdrs_io_reservable_threshold_mode is not None: - pulumi.set(__self__, "sdrs_io_reservable_threshold_mode", sdrs_io_reservable_threshold_mode) + _setter("sdrs_io_reservable_threshold_mode", sdrs_io_reservable_threshold_mode) if sdrs_load_balance_interval is not None: - pulumi.set(__self__, "sdrs_load_balance_interval", sdrs_load_balance_interval) + _setter("sdrs_load_balance_interval", sdrs_load_balance_interval) if sdrs_policy_enforcement_automation_level is not None: - pulumi.set(__self__, "sdrs_policy_enforcement_automation_level", sdrs_policy_enforcement_automation_level) + _setter("sdrs_policy_enforcement_automation_level", sdrs_policy_enforcement_automation_level) if sdrs_rule_enforcement_automation_level is not None: - pulumi.set(__self__, "sdrs_rule_enforcement_automation_level", sdrs_rule_enforcement_automation_level) + _setter("sdrs_rule_enforcement_automation_level", sdrs_rule_enforcement_automation_level) if sdrs_space_balance_automation_level is not None: - pulumi.set(__self__, "sdrs_space_balance_automation_level", sdrs_space_balance_automation_level) + _setter("sdrs_space_balance_automation_level", sdrs_space_balance_automation_level) if sdrs_space_utilization_threshold is not None: - pulumi.set(__self__, "sdrs_space_utilization_threshold", sdrs_space_utilization_threshold) + _setter("sdrs_space_utilization_threshold", sdrs_space_utilization_threshold) if sdrs_vm_evacuation_automation_level is not None: - pulumi.set(__self__, "sdrs_vm_evacuation_automation_level", sdrs_vm_evacuation_automation_level) + _setter("sdrs_vm_evacuation_automation_level", sdrs_vm_evacuation_automation_level) if tags is not None: - pulumi.set(__self__, "tags", tags) + _setter("tags", tags) @property @pulumi.getter(name="datacenterId") @@ -293,9 +346,7 @@ def sdrs_enabled(self, value: Optional[pulumi.Input[bool]]): @pulumi.getter(name="sdrsFreeSpaceThreshold") def sdrs_free_space_threshold(self) -> Optional[pulumi.Input[int]]: """ - The threshold, in GB, that storage - DRS uses to make decisions to migrate VMs out of a datastore. Default: `50` - GB. + The free space threshold to use. When set to `utilization`, `drs_space_utilization_threshold` is used, and when set to `freeSpace`, `drs_free_space_threshold` is used. Default: `utilization`. @@ -324,8 +375,6 @@ def sdrs_free_space_threshold_mode(self, value: Optional[pulumi.Input[str]]): def sdrs_free_space_utilization_difference(self) -> Optional[pulumi.Input[int]]: """ The threshold, in - percent of used space, that storage DRS uses to make decisions to migrate VMs - out of a datastore. Default: `80` percent. percent, of difference between space utilization in datastores before storage DRS makes decisions to balance the space. Default: `5` percent. """ @@ -588,17 +637,13 @@ def __init__(__self__, *, single virtual machine will be kept on the same datastore. Default: `true`. :param pulumi.Input[bool] sdrs_enabled: Enable Storage DRS for this datastore cluster. Default: `false`. - :param pulumi.Input[int] sdrs_free_space_threshold: The threshold, in GB, that storage - DRS uses to make decisions to migrate VMs out of a datastore. Default: `50` - GB. + :param pulumi.Input[int] sdrs_free_space_threshold: The free space threshold to use. When set to `utilization`, `drs_space_utilization_threshold` is used, and when set to `freeSpace`, `drs_free_space_threshold` is used. Default: `utilization`. :param pulumi.Input[str] sdrs_free_space_threshold_mode: The free space threshold to use. When set to utilization, drs_space_utilization_threshold is used, and when set to freeSpace, drs_free_space_threshold is used. :param pulumi.Input[int] sdrs_free_space_utilization_difference: The threshold, in - percent of used space, that storage DRS uses to make decisions to migrate VMs - out of a datastore. Default: `80` percent. percent, of difference between space utilization in datastores before storage DRS makes decisions to balance the space. Default: `5` percent. :param pulumi.Input[str] sdrs_io_balance_automation_level: Overrides the default @@ -642,56 +687,113 @@ def __init__(__self__, *, > **NOTE:** Tagging support requires vCenter 6.0 or higher. """ + _DatastoreClusterState._configure( + lambda key, value: pulumi.set(__self__, key, value), + custom_attributes=custom_attributes, + datacenter_id=datacenter_id, + folder=folder, + name=name, + sdrs_advanced_options=sdrs_advanced_options, + sdrs_automation_level=sdrs_automation_level, + sdrs_default_intra_vm_affinity=sdrs_default_intra_vm_affinity, + sdrs_enabled=sdrs_enabled, + sdrs_free_space_threshold=sdrs_free_space_threshold, + sdrs_free_space_threshold_mode=sdrs_free_space_threshold_mode, + sdrs_free_space_utilization_difference=sdrs_free_space_utilization_difference, + sdrs_io_balance_automation_level=sdrs_io_balance_automation_level, + sdrs_io_latency_threshold=sdrs_io_latency_threshold, + sdrs_io_load_balance_enabled=sdrs_io_load_balance_enabled, + sdrs_io_load_imbalance_threshold=sdrs_io_load_imbalance_threshold, + sdrs_io_reservable_iops_threshold=sdrs_io_reservable_iops_threshold, + sdrs_io_reservable_percent_threshold=sdrs_io_reservable_percent_threshold, + sdrs_io_reservable_threshold_mode=sdrs_io_reservable_threshold_mode, + sdrs_load_balance_interval=sdrs_load_balance_interval, + sdrs_policy_enforcement_automation_level=sdrs_policy_enforcement_automation_level, + sdrs_rule_enforcement_automation_level=sdrs_rule_enforcement_automation_level, + sdrs_space_balance_automation_level=sdrs_space_balance_automation_level, + sdrs_space_utilization_threshold=sdrs_space_utilization_threshold, + sdrs_vm_evacuation_automation_level=sdrs_vm_evacuation_automation_level, + tags=tags, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + custom_attributes: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + datacenter_id: Optional[pulumi.Input[str]] = None, + folder: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + sdrs_advanced_options: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + sdrs_automation_level: Optional[pulumi.Input[str]] = None, + sdrs_default_intra_vm_affinity: Optional[pulumi.Input[bool]] = None, + sdrs_enabled: Optional[pulumi.Input[bool]] = None, + sdrs_free_space_threshold: Optional[pulumi.Input[int]] = None, + sdrs_free_space_threshold_mode: Optional[pulumi.Input[str]] = None, + sdrs_free_space_utilization_difference: Optional[pulumi.Input[int]] = None, + sdrs_io_balance_automation_level: Optional[pulumi.Input[str]] = None, + sdrs_io_latency_threshold: Optional[pulumi.Input[int]] = None, + sdrs_io_load_balance_enabled: Optional[pulumi.Input[bool]] = None, + sdrs_io_load_imbalance_threshold: Optional[pulumi.Input[int]] = None, + sdrs_io_reservable_iops_threshold: Optional[pulumi.Input[int]] = None, + sdrs_io_reservable_percent_threshold: Optional[pulumi.Input[int]] = None, + sdrs_io_reservable_threshold_mode: Optional[pulumi.Input[str]] = None, + sdrs_load_balance_interval: Optional[pulumi.Input[int]] = None, + sdrs_policy_enforcement_automation_level: Optional[pulumi.Input[str]] = None, + sdrs_rule_enforcement_automation_level: Optional[pulumi.Input[str]] = None, + sdrs_space_balance_automation_level: Optional[pulumi.Input[str]] = None, + sdrs_space_utilization_threshold: Optional[pulumi.Input[int]] = None, + sdrs_vm_evacuation_automation_level: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + opts: Optional[pulumi.ResourceOptions]=None): if custom_attributes is not None: - pulumi.set(__self__, "custom_attributes", custom_attributes) + _setter("custom_attributes", custom_attributes) if datacenter_id is not None: - pulumi.set(__self__, "datacenter_id", datacenter_id) + _setter("datacenter_id", datacenter_id) if folder is not None: - pulumi.set(__self__, "folder", folder) + _setter("folder", folder) if name is not None: - pulumi.set(__self__, "name", name) + _setter("name", name) if sdrs_advanced_options is not None: - pulumi.set(__self__, "sdrs_advanced_options", sdrs_advanced_options) + _setter("sdrs_advanced_options", sdrs_advanced_options) if sdrs_automation_level is not None: - pulumi.set(__self__, "sdrs_automation_level", sdrs_automation_level) + _setter("sdrs_automation_level", sdrs_automation_level) if sdrs_default_intra_vm_affinity is not None: - pulumi.set(__self__, "sdrs_default_intra_vm_affinity", sdrs_default_intra_vm_affinity) + _setter("sdrs_default_intra_vm_affinity", sdrs_default_intra_vm_affinity) if sdrs_enabled is not None: - pulumi.set(__self__, "sdrs_enabled", sdrs_enabled) + _setter("sdrs_enabled", sdrs_enabled) if sdrs_free_space_threshold is not None: - pulumi.set(__self__, "sdrs_free_space_threshold", sdrs_free_space_threshold) + _setter("sdrs_free_space_threshold", sdrs_free_space_threshold) if sdrs_free_space_threshold_mode is not None: - pulumi.set(__self__, "sdrs_free_space_threshold_mode", sdrs_free_space_threshold_mode) + _setter("sdrs_free_space_threshold_mode", sdrs_free_space_threshold_mode) if sdrs_free_space_utilization_difference is not None: - pulumi.set(__self__, "sdrs_free_space_utilization_difference", sdrs_free_space_utilization_difference) + _setter("sdrs_free_space_utilization_difference", sdrs_free_space_utilization_difference) if sdrs_io_balance_automation_level is not None: - pulumi.set(__self__, "sdrs_io_balance_automation_level", sdrs_io_balance_automation_level) + _setter("sdrs_io_balance_automation_level", sdrs_io_balance_automation_level) if sdrs_io_latency_threshold is not None: - pulumi.set(__self__, "sdrs_io_latency_threshold", sdrs_io_latency_threshold) + _setter("sdrs_io_latency_threshold", sdrs_io_latency_threshold) if sdrs_io_load_balance_enabled is not None: - pulumi.set(__self__, "sdrs_io_load_balance_enabled", sdrs_io_load_balance_enabled) + _setter("sdrs_io_load_balance_enabled", sdrs_io_load_balance_enabled) if sdrs_io_load_imbalance_threshold is not None: - pulumi.set(__self__, "sdrs_io_load_imbalance_threshold", sdrs_io_load_imbalance_threshold) + _setter("sdrs_io_load_imbalance_threshold", sdrs_io_load_imbalance_threshold) if sdrs_io_reservable_iops_threshold is not None: - pulumi.set(__self__, "sdrs_io_reservable_iops_threshold", sdrs_io_reservable_iops_threshold) + _setter("sdrs_io_reservable_iops_threshold", sdrs_io_reservable_iops_threshold) if sdrs_io_reservable_percent_threshold is not None: - pulumi.set(__self__, "sdrs_io_reservable_percent_threshold", sdrs_io_reservable_percent_threshold) + _setter("sdrs_io_reservable_percent_threshold", sdrs_io_reservable_percent_threshold) if sdrs_io_reservable_threshold_mode is not None: - pulumi.set(__self__, "sdrs_io_reservable_threshold_mode", sdrs_io_reservable_threshold_mode) + _setter("sdrs_io_reservable_threshold_mode", sdrs_io_reservable_threshold_mode) if sdrs_load_balance_interval is not None: - pulumi.set(__self__, "sdrs_load_balance_interval", sdrs_load_balance_interval) + _setter("sdrs_load_balance_interval", sdrs_load_balance_interval) if sdrs_policy_enforcement_automation_level is not None: - pulumi.set(__self__, "sdrs_policy_enforcement_automation_level", sdrs_policy_enforcement_automation_level) + _setter("sdrs_policy_enforcement_automation_level", sdrs_policy_enforcement_automation_level) if sdrs_rule_enforcement_automation_level is not None: - pulumi.set(__self__, "sdrs_rule_enforcement_automation_level", sdrs_rule_enforcement_automation_level) + _setter("sdrs_rule_enforcement_automation_level", sdrs_rule_enforcement_automation_level) if sdrs_space_balance_automation_level is not None: - pulumi.set(__self__, "sdrs_space_balance_automation_level", sdrs_space_balance_automation_level) + _setter("sdrs_space_balance_automation_level", sdrs_space_balance_automation_level) if sdrs_space_utilization_threshold is not None: - pulumi.set(__self__, "sdrs_space_utilization_threshold", sdrs_space_utilization_threshold) + _setter("sdrs_space_utilization_threshold", sdrs_space_utilization_threshold) if sdrs_vm_evacuation_automation_level is not None: - pulumi.set(__self__, "sdrs_vm_evacuation_automation_level", sdrs_vm_evacuation_automation_level) + _setter("sdrs_vm_evacuation_automation_level", sdrs_vm_evacuation_automation_level) if tags is not None: - pulumi.set(__self__, "tags", tags) + _setter("tags", tags) @property @pulumi.getter(name="customAttributes") @@ -813,9 +915,7 @@ def sdrs_enabled(self, value: Optional[pulumi.Input[bool]]): @pulumi.getter(name="sdrsFreeSpaceThreshold") def sdrs_free_space_threshold(self) -> Optional[pulumi.Input[int]]: """ - The threshold, in GB, that storage - DRS uses to make decisions to migrate VMs out of a datastore. Default: `50` - GB. + The free space threshold to use. When set to `utilization`, `drs_space_utilization_threshold` is used, and when set to `freeSpace`, `drs_free_space_threshold` is used. Default: `utilization`. @@ -844,8 +944,6 @@ def sdrs_free_space_threshold_mode(self, value: Optional[pulumi.Input[str]]): def sdrs_free_space_utilization_difference(self) -> Optional[pulumi.Input[int]]: """ The threshold, in - percent of used space, that storage DRS uses to make decisions to migrate VMs - out of a datastore. Default: `80` percent. percent, of difference between space utilization in datastores before storage DRS makes decisions to balance the space. Default: `5` percent. """ @@ -1113,17 +1211,13 @@ def __init__(__self__, single virtual machine will be kept on the same datastore. Default: `true`. :param pulumi.Input[bool] sdrs_enabled: Enable Storage DRS for this datastore cluster. Default: `false`. - :param pulumi.Input[int] sdrs_free_space_threshold: The threshold, in GB, that storage - DRS uses to make decisions to migrate VMs out of a datastore. Default: `50` - GB. + :param pulumi.Input[int] sdrs_free_space_threshold: The free space threshold to use. When set to `utilization`, `drs_space_utilization_threshold` is used, and when set to `freeSpace`, `drs_free_space_threshold` is used. Default: `utilization`. :param pulumi.Input[str] sdrs_free_space_threshold_mode: The free space threshold to use. When set to utilization, drs_space_utilization_threshold is used, and when set to freeSpace, drs_free_space_threshold is used. :param pulumi.Input[int] sdrs_free_space_utilization_difference: The threshold, in - percent of used space, that storage DRS uses to make decisions to migrate VMs - out of a datastore. Default: `80` percent. percent, of difference between space utilization in datastores before storage DRS makes decisions to balance the space. Default: `5` percent. :param pulumi.Input[str] sdrs_io_balance_automation_level: Overrides the default @@ -1185,6 +1279,10 @@ def __init__(__self__, resource_name: str, *args, **kwargs): if resource_args is not None: __self__._internal_init(resource_name, opts, **resource_args.__dict__) else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + DatastoreClusterArgs._configure(_setter, **kwargs) __self__._internal_init(resource_name, *args, **kwargs) def _internal_init(__self__, @@ -1321,17 +1419,13 @@ def get(resource_name: str, single virtual machine will be kept on the same datastore. Default: `true`. :param pulumi.Input[bool] sdrs_enabled: Enable Storage DRS for this datastore cluster. Default: `false`. - :param pulumi.Input[int] sdrs_free_space_threshold: The threshold, in GB, that storage - DRS uses to make decisions to migrate VMs out of a datastore. Default: `50` - GB. + :param pulumi.Input[int] sdrs_free_space_threshold: The free space threshold to use. When set to `utilization`, `drs_space_utilization_threshold` is used, and when set to `freeSpace`, `drs_free_space_threshold` is used. Default: `utilization`. :param pulumi.Input[str] sdrs_free_space_threshold_mode: The free space threshold to use. When set to utilization, drs_space_utilization_threshold is used, and when set to freeSpace, drs_free_space_threshold is used. :param pulumi.Input[int] sdrs_free_space_utilization_difference: The threshold, in - percent of used space, that storage DRS uses to make decisions to migrate VMs - out of a datastore. Default: `80` percent. percent, of difference between space utilization in datastores before storage DRS makes decisions to balance the space. Default: `5` percent. :param pulumi.Input[str] sdrs_io_balance_automation_level: Overrides the default @@ -1494,9 +1588,7 @@ def sdrs_enabled(self) -> pulumi.Output[Optional[bool]]: @pulumi.getter(name="sdrsFreeSpaceThreshold") def sdrs_free_space_threshold(self) -> pulumi.Output[Optional[int]]: """ - The threshold, in GB, that storage - DRS uses to make decisions to migrate VMs out of a datastore. Default: `50` - GB. + The free space threshold to use. When set to `utilization`, `drs_space_utilization_threshold` is used, and when set to `freeSpace`, `drs_free_space_threshold` is used. Default: `utilization`. @@ -1517,8 +1609,6 @@ def sdrs_free_space_threshold_mode(self) -> pulumi.Output[Optional[str]]: def sdrs_free_space_utilization_difference(self) -> pulumi.Output[Optional[int]]: """ The threshold, in - percent of used space, that storage DRS uses to make decisions to migrate VMs - out of a datastore. Default: `80` percent. percent, of difference between space utilization in datastores before storage DRS makes decisions to balance the space. Default: `5` percent. """ diff --git a/sdk/python/pulumi_vsphere/datastore_cluster_vm_anti_affinity_rule.py b/sdk/python/pulumi_vsphere/datastore_cluster_vm_anti_affinity_rule.py index 4fe75c8a..c532d2f3 100644 --- a/sdk/python/pulumi_vsphere/datastore_cluster_vm_anti_affinity_rule.py +++ b/sdk/python/pulumi_vsphere/datastore_cluster_vm_anti_affinity_rule.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities __all__ = ['DatastoreClusterVmAntiAffinityRuleArgs', 'DatastoreClusterVmAntiAffinityRule'] @@ -33,14 +33,31 @@ def __init__(__self__, *, machine operations that may violate this rule. Default: `false`. :param pulumi.Input[str] name: The name of the rule. This must be unique in the cluster. """ - pulumi.set(__self__, "datastore_cluster_id", datastore_cluster_id) - pulumi.set(__self__, "virtual_machine_ids", virtual_machine_ids) + DatastoreClusterVmAntiAffinityRuleArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + datastore_cluster_id=datastore_cluster_id, + virtual_machine_ids=virtual_machine_ids, + enabled=enabled, + mandatory=mandatory, + name=name, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + datastore_cluster_id: pulumi.Input[str], + virtual_machine_ids: pulumi.Input[Sequence[pulumi.Input[str]]], + enabled: Optional[pulumi.Input[bool]] = None, + mandatory: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("datastore_cluster_id", datastore_cluster_id) + _setter("virtual_machine_ids", virtual_machine_ids) if enabled is not None: - pulumi.set(__self__, "enabled", enabled) + _setter("enabled", enabled) if mandatory is not None: - pulumi.set(__self__, "mandatory", mandatory) + _setter("mandatory", mandatory) if name is not None: - pulumi.set(__self__, "name", name) + _setter("name", name) @property @pulumi.getter(name="datastoreClusterId") @@ -131,16 +148,33 @@ def __init__(__self__, *, > **NOTE:** The minimum length of `virtual_machine_ids` is 2. """ + _DatastoreClusterVmAntiAffinityRuleState._configure( + lambda key, value: pulumi.set(__self__, key, value), + datastore_cluster_id=datastore_cluster_id, + enabled=enabled, + mandatory=mandatory, + name=name, + virtual_machine_ids=virtual_machine_ids, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + datastore_cluster_id: Optional[pulumi.Input[str]] = None, + enabled: Optional[pulumi.Input[bool]] = None, + mandatory: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + virtual_machine_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + opts: Optional[pulumi.ResourceOptions]=None): if datastore_cluster_id is not None: - pulumi.set(__self__, "datastore_cluster_id", datastore_cluster_id) + _setter("datastore_cluster_id", datastore_cluster_id) if enabled is not None: - pulumi.set(__self__, "enabled", enabled) + _setter("enabled", enabled) if mandatory is not None: - pulumi.set(__self__, "mandatory", mandatory) + _setter("mandatory", mandatory) if name is not None: - pulumi.set(__self__, "name", name) + _setter("name", name) if virtual_machine_ids is not None: - pulumi.set(__self__, "virtual_machine_ids", virtual_machine_ids) + _setter("virtual_machine_ids", virtual_machine_ids) @property @pulumi.getter(name="datastoreClusterId") @@ -254,6 +288,10 @@ def __init__(__self__, resource_name: str, *args, **kwargs): if resource_args is not None: __self__._internal_init(resource_name, opts, **resource_args.__dict__) else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + DatastoreClusterVmAntiAffinityRuleArgs._configure(_setter, **kwargs) __self__._internal_init(resource_name, *args, **kwargs) def _internal_init(__self__, diff --git a/sdk/python/pulumi_vsphere/distributed_port_group.py b/sdk/python/pulumi_vsphere/distributed_port_group.py index 27bb28a7..68ea1a4e 100644 --- a/sdk/python/pulumi_vsphere/distributed_port_group.py +++ b/sdk/python/pulumi_vsphere/distributed_port_group.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities from . import outputs from ._inputs import * @@ -147,97 +147,196 @@ def __init__(__self__, *, individual port. :param pulumi.Input[Sequence[pulumi.Input['DistributedPortGroupVlanRangeArgs']]] vlan_ranges: The VLAN ID for single VLAN mode. 0 denotes no VLAN. """ - pulumi.set(__self__, "distributed_virtual_switch_uuid", distributed_virtual_switch_uuid) + DistributedPortGroupArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + distributed_virtual_switch_uuid=distributed_virtual_switch_uuid, + active_uplinks=active_uplinks, + allow_forged_transmits=allow_forged_transmits, + allow_mac_changes=allow_mac_changes, + allow_promiscuous=allow_promiscuous, + auto_expand=auto_expand, + block_all_ports=block_all_ports, + block_override_allowed=block_override_allowed, + check_beacon=check_beacon, + custom_attributes=custom_attributes, + description=description, + directpath_gen2_allowed=directpath_gen2_allowed, + egress_shaping_average_bandwidth=egress_shaping_average_bandwidth, + egress_shaping_burst_size=egress_shaping_burst_size, + egress_shaping_enabled=egress_shaping_enabled, + egress_shaping_peak_bandwidth=egress_shaping_peak_bandwidth, + failback=failback, + ingress_shaping_average_bandwidth=ingress_shaping_average_bandwidth, + ingress_shaping_burst_size=ingress_shaping_burst_size, + ingress_shaping_enabled=ingress_shaping_enabled, + ingress_shaping_peak_bandwidth=ingress_shaping_peak_bandwidth, + lacp_enabled=lacp_enabled, + lacp_mode=lacp_mode, + live_port_moving_allowed=live_port_moving_allowed, + name=name, + netflow_enabled=netflow_enabled, + netflow_override_allowed=netflow_override_allowed, + network_resource_pool_key=network_resource_pool_key, + network_resource_pool_override_allowed=network_resource_pool_override_allowed, + notify_switches=notify_switches, + number_of_ports=number_of_ports, + port_config_reset_at_disconnect=port_config_reset_at_disconnect, + port_name_format=port_name_format, + port_private_secondary_vlan_id=port_private_secondary_vlan_id, + security_policy_override_allowed=security_policy_override_allowed, + shaping_override_allowed=shaping_override_allowed, + standby_uplinks=standby_uplinks, + tags=tags, + teaming_policy=teaming_policy, + traffic_filter_override_allowed=traffic_filter_override_allowed, + tx_uplink=tx_uplink, + type=type, + uplink_teaming_override_allowed=uplink_teaming_override_allowed, + vlan_id=vlan_id, + vlan_override_allowed=vlan_override_allowed, + vlan_ranges=vlan_ranges, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + distributed_virtual_switch_uuid: pulumi.Input[str], + active_uplinks: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + allow_forged_transmits: Optional[pulumi.Input[bool]] = None, + allow_mac_changes: Optional[pulumi.Input[bool]] = None, + allow_promiscuous: Optional[pulumi.Input[bool]] = None, + auto_expand: Optional[pulumi.Input[bool]] = None, + block_all_ports: Optional[pulumi.Input[bool]] = None, + block_override_allowed: Optional[pulumi.Input[bool]] = None, + check_beacon: Optional[pulumi.Input[bool]] = None, + custom_attributes: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + description: Optional[pulumi.Input[str]] = None, + directpath_gen2_allowed: Optional[pulumi.Input[bool]] = None, + egress_shaping_average_bandwidth: Optional[pulumi.Input[int]] = None, + egress_shaping_burst_size: Optional[pulumi.Input[int]] = None, + egress_shaping_enabled: Optional[pulumi.Input[bool]] = None, + egress_shaping_peak_bandwidth: Optional[pulumi.Input[int]] = None, + failback: Optional[pulumi.Input[bool]] = None, + ingress_shaping_average_bandwidth: Optional[pulumi.Input[int]] = None, + ingress_shaping_burst_size: Optional[pulumi.Input[int]] = None, + ingress_shaping_enabled: Optional[pulumi.Input[bool]] = None, + ingress_shaping_peak_bandwidth: Optional[pulumi.Input[int]] = None, + lacp_enabled: Optional[pulumi.Input[bool]] = None, + lacp_mode: Optional[pulumi.Input[str]] = None, + live_port_moving_allowed: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + netflow_enabled: Optional[pulumi.Input[bool]] = None, + netflow_override_allowed: Optional[pulumi.Input[bool]] = None, + network_resource_pool_key: Optional[pulumi.Input[str]] = None, + network_resource_pool_override_allowed: Optional[pulumi.Input[bool]] = None, + notify_switches: Optional[pulumi.Input[bool]] = None, + number_of_ports: Optional[pulumi.Input[int]] = None, + port_config_reset_at_disconnect: Optional[pulumi.Input[bool]] = None, + port_name_format: Optional[pulumi.Input[str]] = None, + port_private_secondary_vlan_id: Optional[pulumi.Input[int]] = None, + security_policy_override_allowed: Optional[pulumi.Input[bool]] = None, + shaping_override_allowed: Optional[pulumi.Input[bool]] = None, + standby_uplinks: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + teaming_policy: Optional[pulumi.Input[str]] = None, + traffic_filter_override_allowed: Optional[pulumi.Input[bool]] = None, + tx_uplink: Optional[pulumi.Input[bool]] = None, + type: Optional[pulumi.Input[str]] = None, + uplink_teaming_override_allowed: Optional[pulumi.Input[bool]] = None, + vlan_id: Optional[pulumi.Input[int]] = None, + vlan_override_allowed: Optional[pulumi.Input[bool]] = None, + vlan_ranges: Optional[pulumi.Input[Sequence[pulumi.Input['DistributedPortGroupVlanRangeArgs']]]] = None, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("distributed_virtual_switch_uuid", distributed_virtual_switch_uuid) if active_uplinks is not None: - pulumi.set(__self__, "active_uplinks", active_uplinks) + _setter("active_uplinks", active_uplinks) if allow_forged_transmits is not None: - pulumi.set(__self__, "allow_forged_transmits", allow_forged_transmits) + _setter("allow_forged_transmits", allow_forged_transmits) if allow_mac_changes is not None: - pulumi.set(__self__, "allow_mac_changes", allow_mac_changes) + _setter("allow_mac_changes", allow_mac_changes) if allow_promiscuous is not None: - pulumi.set(__self__, "allow_promiscuous", allow_promiscuous) + _setter("allow_promiscuous", allow_promiscuous) if auto_expand is not None: - pulumi.set(__self__, "auto_expand", auto_expand) + _setter("auto_expand", auto_expand) if block_all_ports is not None: - pulumi.set(__self__, "block_all_ports", block_all_ports) + _setter("block_all_ports", block_all_ports) if block_override_allowed is not None: - pulumi.set(__self__, "block_override_allowed", block_override_allowed) + _setter("block_override_allowed", block_override_allowed) if check_beacon is not None: - pulumi.set(__self__, "check_beacon", check_beacon) + _setter("check_beacon", check_beacon) if custom_attributes is not None: - pulumi.set(__self__, "custom_attributes", custom_attributes) + _setter("custom_attributes", custom_attributes) if description is not None: - pulumi.set(__self__, "description", description) + _setter("description", description) if directpath_gen2_allowed is not None: - pulumi.set(__self__, "directpath_gen2_allowed", directpath_gen2_allowed) + _setter("directpath_gen2_allowed", directpath_gen2_allowed) if egress_shaping_average_bandwidth is not None: - pulumi.set(__self__, "egress_shaping_average_bandwidth", egress_shaping_average_bandwidth) + _setter("egress_shaping_average_bandwidth", egress_shaping_average_bandwidth) if egress_shaping_burst_size is not None: - pulumi.set(__self__, "egress_shaping_burst_size", egress_shaping_burst_size) + _setter("egress_shaping_burst_size", egress_shaping_burst_size) if egress_shaping_enabled is not None: - pulumi.set(__self__, "egress_shaping_enabled", egress_shaping_enabled) + _setter("egress_shaping_enabled", egress_shaping_enabled) if egress_shaping_peak_bandwidth is not None: - pulumi.set(__self__, "egress_shaping_peak_bandwidth", egress_shaping_peak_bandwidth) + _setter("egress_shaping_peak_bandwidth", egress_shaping_peak_bandwidth) if failback is not None: - pulumi.set(__self__, "failback", failback) + _setter("failback", failback) if ingress_shaping_average_bandwidth is not None: - pulumi.set(__self__, "ingress_shaping_average_bandwidth", ingress_shaping_average_bandwidth) + _setter("ingress_shaping_average_bandwidth", ingress_shaping_average_bandwidth) if ingress_shaping_burst_size is not None: - pulumi.set(__self__, "ingress_shaping_burst_size", ingress_shaping_burst_size) + _setter("ingress_shaping_burst_size", ingress_shaping_burst_size) if ingress_shaping_enabled is not None: - pulumi.set(__self__, "ingress_shaping_enabled", ingress_shaping_enabled) + _setter("ingress_shaping_enabled", ingress_shaping_enabled) if ingress_shaping_peak_bandwidth is not None: - pulumi.set(__self__, "ingress_shaping_peak_bandwidth", ingress_shaping_peak_bandwidth) + _setter("ingress_shaping_peak_bandwidth", ingress_shaping_peak_bandwidth) if lacp_enabled is not None: - pulumi.set(__self__, "lacp_enabled", lacp_enabled) + _setter("lacp_enabled", lacp_enabled) if lacp_mode is not None: - pulumi.set(__self__, "lacp_mode", lacp_mode) + _setter("lacp_mode", lacp_mode) if live_port_moving_allowed is not None: - pulumi.set(__self__, "live_port_moving_allowed", live_port_moving_allowed) + _setter("live_port_moving_allowed", live_port_moving_allowed) if name is not None: - pulumi.set(__self__, "name", name) + _setter("name", name) if netflow_enabled is not None: - pulumi.set(__self__, "netflow_enabled", netflow_enabled) + _setter("netflow_enabled", netflow_enabled) if netflow_override_allowed is not None: - pulumi.set(__self__, "netflow_override_allowed", netflow_override_allowed) + _setter("netflow_override_allowed", netflow_override_allowed) if network_resource_pool_key is not None: - pulumi.set(__self__, "network_resource_pool_key", network_resource_pool_key) + _setter("network_resource_pool_key", network_resource_pool_key) if network_resource_pool_override_allowed is not None: - pulumi.set(__self__, "network_resource_pool_override_allowed", network_resource_pool_override_allowed) + _setter("network_resource_pool_override_allowed", network_resource_pool_override_allowed) if notify_switches is not None: - pulumi.set(__self__, "notify_switches", notify_switches) + _setter("notify_switches", notify_switches) if number_of_ports is not None: - pulumi.set(__self__, "number_of_ports", number_of_ports) + _setter("number_of_ports", number_of_ports) if port_config_reset_at_disconnect is not None: - pulumi.set(__self__, "port_config_reset_at_disconnect", port_config_reset_at_disconnect) + _setter("port_config_reset_at_disconnect", port_config_reset_at_disconnect) if port_name_format is not None: - pulumi.set(__self__, "port_name_format", port_name_format) + _setter("port_name_format", port_name_format) if port_private_secondary_vlan_id is not None: - pulumi.set(__self__, "port_private_secondary_vlan_id", port_private_secondary_vlan_id) + _setter("port_private_secondary_vlan_id", port_private_secondary_vlan_id) if security_policy_override_allowed is not None: - pulumi.set(__self__, "security_policy_override_allowed", security_policy_override_allowed) + _setter("security_policy_override_allowed", security_policy_override_allowed) if shaping_override_allowed is not None: - pulumi.set(__self__, "shaping_override_allowed", shaping_override_allowed) + _setter("shaping_override_allowed", shaping_override_allowed) if standby_uplinks is not None: - pulumi.set(__self__, "standby_uplinks", standby_uplinks) + _setter("standby_uplinks", standby_uplinks) if tags is not None: - pulumi.set(__self__, "tags", tags) + _setter("tags", tags) if teaming_policy is not None: - pulumi.set(__self__, "teaming_policy", teaming_policy) + _setter("teaming_policy", teaming_policy) if traffic_filter_override_allowed is not None: - pulumi.set(__self__, "traffic_filter_override_allowed", traffic_filter_override_allowed) + _setter("traffic_filter_override_allowed", traffic_filter_override_allowed) if tx_uplink is not None: - pulumi.set(__self__, "tx_uplink", tx_uplink) + _setter("tx_uplink", tx_uplink) if type is not None: - pulumi.set(__self__, "type", type) + _setter("type", type) if uplink_teaming_override_allowed is not None: - pulumi.set(__self__, "uplink_teaming_override_allowed", uplink_teaming_override_allowed) + _setter("uplink_teaming_override_allowed", uplink_teaming_override_allowed) if vlan_id is not None: - pulumi.set(__self__, "vlan_id", vlan_id) + _setter("vlan_id", vlan_id) if vlan_override_allowed is not None: - pulumi.set(__self__, "vlan_override_allowed", vlan_override_allowed) + _setter("vlan_override_allowed", vlan_override_allowed) if vlan_ranges is not None: - pulumi.set(__self__, "vlan_ranges", vlan_ranges) + _setter("vlan_ranges", vlan_ranges) @property @pulumi.getter(name="distributedVirtualSwitchUuid") @@ -967,102 +1066,205 @@ def __init__(__self__, *, individual port. :param pulumi.Input[Sequence[pulumi.Input['DistributedPortGroupVlanRangeArgs']]] vlan_ranges: The VLAN ID for single VLAN mode. 0 denotes no VLAN. """ + _DistributedPortGroupState._configure( + lambda key, value: pulumi.set(__self__, key, value), + active_uplinks=active_uplinks, + allow_forged_transmits=allow_forged_transmits, + allow_mac_changes=allow_mac_changes, + allow_promiscuous=allow_promiscuous, + auto_expand=auto_expand, + block_all_ports=block_all_ports, + block_override_allowed=block_override_allowed, + check_beacon=check_beacon, + config_version=config_version, + custom_attributes=custom_attributes, + description=description, + directpath_gen2_allowed=directpath_gen2_allowed, + distributed_virtual_switch_uuid=distributed_virtual_switch_uuid, + egress_shaping_average_bandwidth=egress_shaping_average_bandwidth, + egress_shaping_burst_size=egress_shaping_burst_size, + egress_shaping_enabled=egress_shaping_enabled, + egress_shaping_peak_bandwidth=egress_shaping_peak_bandwidth, + failback=failback, + ingress_shaping_average_bandwidth=ingress_shaping_average_bandwidth, + ingress_shaping_burst_size=ingress_shaping_burst_size, + ingress_shaping_enabled=ingress_shaping_enabled, + ingress_shaping_peak_bandwidth=ingress_shaping_peak_bandwidth, + key=key, + lacp_enabled=lacp_enabled, + lacp_mode=lacp_mode, + live_port_moving_allowed=live_port_moving_allowed, + name=name, + netflow_enabled=netflow_enabled, + netflow_override_allowed=netflow_override_allowed, + network_resource_pool_key=network_resource_pool_key, + network_resource_pool_override_allowed=network_resource_pool_override_allowed, + notify_switches=notify_switches, + number_of_ports=number_of_ports, + port_config_reset_at_disconnect=port_config_reset_at_disconnect, + port_name_format=port_name_format, + port_private_secondary_vlan_id=port_private_secondary_vlan_id, + security_policy_override_allowed=security_policy_override_allowed, + shaping_override_allowed=shaping_override_allowed, + standby_uplinks=standby_uplinks, + tags=tags, + teaming_policy=teaming_policy, + traffic_filter_override_allowed=traffic_filter_override_allowed, + tx_uplink=tx_uplink, + type=type, + uplink_teaming_override_allowed=uplink_teaming_override_allowed, + vlan_id=vlan_id, + vlan_override_allowed=vlan_override_allowed, + vlan_ranges=vlan_ranges, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + active_uplinks: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + allow_forged_transmits: Optional[pulumi.Input[bool]] = None, + allow_mac_changes: Optional[pulumi.Input[bool]] = None, + allow_promiscuous: Optional[pulumi.Input[bool]] = None, + auto_expand: Optional[pulumi.Input[bool]] = None, + block_all_ports: Optional[pulumi.Input[bool]] = None, + block_override_allowed: Optional[pulumi.Input[bool]] = None, + check_beacon: Optional[pulumi.Input[bool]] = None, + config_version: Optional[pulumi.Input[str]] = None, + custom_attributes: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + description: Optional[pulumi.Input[str]] = None, + directpath_gen2_allowed: Optional[pulumi.Input[bool]] = None, + distributed_virtual_switch_uuid: Optional[pulumi.Input[str]] = None, + egress_shaping_average_bandwidth: Optional[pulumi.Input[int]] = None, + egress_shaping_burst_size: Optional[pulumi.Input[int]] = None, + egress_shaping_enabled: Optional[pulumi.Input[bool]] = None, + egress_shaping_peak_bandwidth: Optional[pulumi.Input[int]] = None, + failback: Optional[pulumi.Input[bool]] = None, + ingress_shaping_average_bandwidth: Optional[pulumi.Input[int]] = None, + ingress_shaping_burst_size: Optional[pulumi.Input[int]] = None, + ingress_shaping_enabled: Optional[pulumi.Input[bool]] = None, + ingress_shaping_peak_bandwidth: Optional[pulumi.Input[int]] = None, + key: Optional[pulumi.Input[str]] = None, + lacp_enabled: Optional[pulumi.Input[bool]] = None, + lacp_mode: Optional[pulumi.Input[str]] = None, + live_port_moving_allowed: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + netflow_enabled: Optional[pulumi.Input[bool]] = None, + netflow_override_allowed: Optional[pulumi.Input[bool]] = None, + network_resource_pool_key: Optional[pulumi.Input[str]] = None, + network_resource_pool_override_allowed: Optional[pulumi.Input[bool]] = None, + notify_switches: Optional[pulumi.Input[bool]] = None, + number_of_ports: Optional[pulumi.Input[int]] = None, + port_config_reset_at_disconnect: Optional[pulumi.Input[bool]] = None, + port_name_format: Optional[pulumi.Input[str]] = None, + port_private_secondary_vlan_id: Optional[pulumi.Input[int]] = None, + security_policy_override_allowed: Optional[pulumi.Input[bool]] = None, + shaping_override_allowed: Optional[pulumi.Input[bool]] = None, + standby_uplinks: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + teaming_policy: Optional[pulumi.Input[str]] = None, + traffic_filter_override_allowed: Optional[pulumi.Input[bool]] = None, + tx_uplink: Optional[pulumi.Input[bool]] = None, + type: Optional[pulumi.Input[str]] = None, + uplink_teaming_override_allowed: Optional[pulumi.Input[bool]] = None, + vlan_id: Optional[pulumi.Input[int]] = None, + vlan_override_allowed: Optional[pulumi.Input[bool]] = None, + vlan_ranges: Optional[pulumi.Input[Sequence[pulumi.Input['DistributedPortGroupVlanRangeArgs']]]] = None, + opts: Optional[pulumi.ResourceOptions]=None): if active_uplinks is not None: - pulumi.set(__self__, "active_uplinks", active_uplinks) + _setter("active_uplinks", active_uplinks) if allow_forged_transmits is not None: - pulumi.set(__self__, "allow_forged_transmits", allow_forged_transmits) + _setter("allow_forged_transmits", allow_forged_transmits) if allow_mac_changes is not None: - pulumi.set(__self__, "allow_mac_changes", allow_mac_changes) + _setter("allow_mac_changes", allow_mac_changes) if allow_promiscuous is not None: - pulumi.set(__self__, "allow_promiscuous", allow_promiscuous) + _setter("allow_promiscuous", allow_promiscuous) if auto_expand is not None: - pulumi.set(__self__, "auto_expand", auto_expand) + _setter("auto_expand", auto_expand) if block_all_ports is not None: - pulumi.set(__self__, "block_all_ports", block_all_ports) + _setter("block_all_ports", block_all_ports) if block_override_allowed is not None: - pulumi.set(__self__, "block_override_allowed", block_override_allowed) + _setter("block_override_allowed", block_override_allowed) if check_beacon is not None: - pulumi.set(__self__, "check_beacon", check_beacon) + _setter("check_beacon", check_beacon) if config_version is not None: - pulumi.set(__self__, "config_version", config_version) + _setter("config_version", config_version) if custom_attributes is not None: - pulumi.set(__self__, "custom_attributes", custom_attributes) + _setter("custom_attributes", custom_attributes) if description is not None: - pulumi.set(__self__, "description", description) + _setter("description", description) if directpath_gen2_allowed is not None: - pulumi.set(__self__, "directpath_gen2_allowed", directpath_gen2_allowed) + _setter("directpath_gen2_allowed", directpath_gen2_allowed) if distributed_virtual_switch_uuid is not None: - pulumi.set(__self__, "distributed_virtual_switch_uuid", distributed_virtual_switch_uuid) + _setter("distributed_virtual_switch_uuid", distributed_virtual_switch_uuid) if egress_shaping_average_bandwidth is not None: - pulumi.set(__self__, "egress_shaping_average_bandwidth", egress_shaping_average_bandwidth) + _setter("egress_shaping_average_bandwidth", egress_shaping_average_bandwidth) if egress_shaping_burst_size is not None: - pulumi.set(__self__, "egress_shaping_burst_size", egress_shaping_burst_size) + _setter("egress_shaping_burst_size", egress_shaping_burst_size) if egress_shaping_enabled is not None: - pulumi.set(__self__, "egress_shaping_enabled", egress_shaping_enabled) + _setter("egress_shaping_enabled", egress_shaping_enabled) if egress_shaping_peak_bandwidth is not None: - pulumi.set(__self__, "egress_shaping_peak_bandwidth", egress_shaping_peak_bandwidth) + _setter("egress_shaping_peak_bandwidth", egress_shaping_peak_bandwidth) if failback is not None: - pulumi.set(__self__, "failback", failback) + _setter("failback", failback) if ingress_shaping_average_bandwidth is not None: - pulumi.set(__self__, "ingress_shaping_average_bandwidth", ingress_shaping_average_bandwidth) + _setter("ingress_shaping_average_bandwidth", ingress_shaping_average_bandwidth) if ingress_shaping_burst_size is not None: - pulumi.set(__self__, "ingress_shaping_burst_size", ingress_shaping_burst_size) + _setter("ingress_shaping_burst_size", ingress_shaping_burst_size) if ingress_shaping_enabled is not None: - pulumi.set(__self__, "ingress_shaping_enabled", ingress_shaping_enabled) + _setter("ingress_shaping_enabled", ingress_shaping_enabled) if ingress_shaping_peak_bandwidth is not None: - pulumi.set(__self__, "ingress_shaping_peak_bandwidth", ingress_shaping_peak_bandwidth) + _setter("ingress_shaping_peak_bandwidth", ingress_shaping_peak_bandwidth) if key is not None: - pulumi.set(__self__, "key", key) + _setter("key", key) if lacp_enabled is not None: - pulumi.set(__self__, "lacp_enabled", lacp_enabled) + _setter("lacp_enabled", lacp_enabled) if lacp_mode is not None: - pulumi.set(__self__, "lacp_mode", lacp_mode) + _setter("lacp_mode", lacp_mode) if live_port_moving_allowed is not None: - pulumi.set(__self__, "live_port_moving_allowed", live_port_moving_allowed) + _setter("live_port_moving_allowed", live_port_moving_allowed) if name is not None: - pulumi.set(__self__, "name", name) + _setter("name", name) if netflow_enabled is not None: - pulumi.set(__self__, "netflow_enabled", netflow_enabled) + _setter("netflow_enabled", netflow_enabled) if netflow_override_allowed is not None: - pulumi.set(__self__, "netflow_override_allowed", netflow_override_allowed) + _setter("netflow_override_allowed", netflow_override_allowed) if network_resource_pool_key is not None: - pulumi.set(__self__, "network_resource_pool_key", network_resource_pool_key) + _setter("network_resource_pool_key", network_resource_pool_key) if network_resource_pool_override_allowed is not None: - pulumi.set(__self__, "network_resource_pool_override_allowed", network_resource_pool_override_allowed) + _setter("network_resource_pool_override_allowed", network_resource_pool_override_allowed) if notify_switches is not None: - pulumi.set(__self__, "notify_switches", notify_switches) + _setter("notify_switches", notify_switches) if number_of_ports is not None: - pulumi.set(__self__, "number_of_ports", number_of_ports) + _setter("number_of_ports", number_of_ports) if port_config_reset_at_disconnect is not None: - pulumi.set(__self__, "port_config_reset_at_disconnect", port_config_reset_at_disconnect) + _setter("port_config_reset_at_disconnect", port_config_reset_at_disconnect) if port_name_format is not None: - pulumi.set(__self__, "port_name_format", port_name_format) + _setter("port_name_format", port_name_format) if port_private_secondary_vlan_id is not None: - pulumi.set(__self__, "port_private_secondary_vlan_id", port_private_secondary_vlan_id) + _setter("port_private_secondary_vlan_id", port_private_secondary_vlan_id) if security_policy_override_allowed is not None: - pulumi.set(__self__, "security_policy_override_allowed", security_policy_override_allowed) + _setter("security_policy_override_allowed", security_policy_override_allowed) if shaping_override_allowed is not None: - pulumi.set(__self__, "shaping_override_allowed", shaping_override_allowed) + _setter("shaping_override_allowed", shaping_override_allowed) if standby_uplinks is not None: - pulumi.set(__self__, "standby_uplinks", standby_uplinks) + _setter("standby_uplinks", standby_uplinks) if tags is not None: - pulumi.set(__self__, "tags", tags) + _setter("tags", tags) if teaming_policy is not None: - pulumi.set(__self__, "teaming_policy", teaming_policy) + _setter("teaming_policy", teaming_policy) if traffic_filter_override_allowed is not None: - pulumi.set(__self__, "traffic_filter_override_allowed", traffic_filter_override_allowed) + _setter("traffic_filter_override_allowed", traffic_filter_override_allowed) if tx_uplink is not None: - pulumi.set(__self__, "tx_uplink", tx_uplink) + _setter("tx_uplink", tx_uplink) if type is not None: - pulumi.set(__self__, "type", type) + _setter("type", type) if uplink_teaming_override_allowed is not None: - pulumi.set(__self__, "uplink_teaming_override_allowed", uplink_teaming_override_allowed) + _setter("uplink_teaming_override_allowed", uplink_teaming_override_allowed) if vlan_id is not None: - pulumi.set(__self__, "vlan_id", vlan_id) + _setter("vlan_id", vlan_id) if vlan_override_allowed is not None: - pulumi.set(__self__, "vlan_override_allowed", vlan_override_allowed) + _setter("vlan_override_allowed", vlan_override_allowed) if vlan_ranges is not None: - pulumi.set(__self__, "vlan_ranges", vlan_ranges) + _setter("vlan_ranges", vlan_ranges) @property @pulumi.getter(name="activeUplinks") @@ -1835,6 +2037,10 @@ def __init__(__self__, resource_name: str, *args, **kwargs): if resource_args is not None: __self__._internal_init(resource_name, opts, **resource_args.__dict__) else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + DistributedPortGroupArgs._configure(_setter, **kwargs) __self__._internal_init(resource_name, *args, **kwargs) def _internal_init(__self__, diff --git a/sdk/python/pulumi_vsphere/distributed_virtual_switch.py b/sdk/python/pulumi_vsphere/distributed_virtual_switch.py index 12b7d331..9a612e8c 100644 --- a/sdk/python/pulumi_vsphere/distributed_virtual_switch.py +++ b/sdk/python/pulumi_vsphere/distributed_virtual_switch.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities from . import outputs from ._inputs import * @@ -299,193 +299,388 @@ def __init__(__self__, *, :param pulumi.Input[int] vsan_share_count: The amount of shares to allocate to the vsan traffic class for a custom share level. :param pulumi.Input[str] vsan_share_level: The allocation level for the vsan traffic class. Can be one of high, low, normal, or custom. """ - pulumi.set(__self__, "datacenter_id", datacenter_id) + DistributedVirtualSwitchArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + datacenter_id=datacenter_id, + active_uplinks=active_uplinks, + allow_forged_transmits=allow_forged_transmits, + allow_mac_changes=allow_mac_changes, + allow_promiscuous=allow_promiscuous, + backupnfc_maximum_mbit=backupnfc_maximum_mbit, + backupnfc_reservation_mbit=backupnfc_reservation_mbit, + backupnfc_share_count=backupnfc_share_count, + backupnfc_share_level=backupnfc_share_level, + block_all_ports=block_all_ports, + check_beacon=check_beacon, + contact_detail=contact_detail, + contact_name=contact_name, + custom_attributes=custom_attributes, + description=description, + directpath_gen2_allowed=directpath_gen2_allowed, + egress_shaping_average_bandwidth=egress_shaping_average_bandwidth, + egress_shaping_burst_size=egress_shaping_burst_size, + egress_shaping_enabled=egress_shaping_enabled, + egress_shaping_peak_bandwidth=egress_shaping_peak_bandwidth, + failback=failback, + faulttolerance_maximum_mbit=faulttolerance_maximum_mbit, + faulttolerance_reservation_mbit=faulttolerance_reservation_mbit, + faulttolerance_share_count=faulttolerance_share_count, + faulttolerance_share_level=faulttolerance_share_level, + folder=folder, + hbr_maximum_mbit=hbr_maximum_mbit, + hbr_reservation_mbit=hbr_reservation_mbit, + hbr_share_count=hbr_share_count, + hbr_share_level=hbr_share_level, + hosts=hosts, + ignore_other_pvlan_mappings=ignore_other_pvlan_mappings, + ingress_shaping_average_bandwidth=ingress_shaping_average_bandwidth, + ingress_shaping_burst_size=ingress_shaping_burst_size, + ingress_shaping_enabled=ingress_shaping_enabled, + ingress_shaping_peak_bandwidth=ingress_shaping_peak_bandwidth, + ipv4_address=ipv4_address, + iscsi_maximum_mbit=iscsi_maximum_mbit, + iscsi_reservation_mbit=iscsi_reservation_mbit, + iscsi_share_count=iscsi_share_count, + iscsi_share_level=iscsi_share_level, + lacp_api_version=lacp_api_version, + lacp_enabled=lacp_enabled, + lacp_mode=lacp_mode, + link_discovery_operation=link_discovery_operation, + link_discovery_protocol=link_discovery_protocol, + management_maximum_mbit=management_maximum_mbit, + management_reservation_mbit=management_reservation_mbit, + management_share_count=management_share_count, + management_share_level=management_share_level, + max_mtu=max_mtu, + multicast_filtering_mode=multicast_filtering_mode, + name=name, + netflow_active_flow_timeout=netflow_active_flow_timeout, + netflow_collector_ip_address=netflow_collector_ip_address, + netflow_collector_port=netflow_collector_port, + netflow_enabled=netflow_enabled, + netflow_idle_flow_timeout=netflow_idle_flow_timeout, + netflow_internal_flows_only=netflow_internal_flows_only, + netflow_observation_domain_id=netflow_observation_domain_id, + netflow_sampling_rate=netflow_sampling_rate, + network_resource_control_enabled=network_resource_control_enabled, + network_resource_control_version=network_resource_control_version, + nfs_maximum_mbit=nfs_maximum_mbit, + nfs_reservation_mbit=nfs_reservation_mbit, + nfs_share_count=nfs_share_count, + nfs_share_level=nfs_share_level, + notify_switches=notify_switches, + port_private_secondary_vlan_id=port_private_secondary_vlan_id, + pvlan_mappings=pvlan_mappings, + standby_uplinks=standby_uplinks, + tags=tags, + teaming_policy=teaming_policy, + tx_uplink=tx_uplink, + uplinks=uplinks, + vdp_maximum_mbit=vdp_maximum_mbit, + vdp_reservation_mbit=vdp_reservation_mbit, + vdp_share_count=vdp_share_count, + vdp_share_level=vdp_share_level, + version=version, + virtualmachine_maximum_mbit=virtualmachine_maximum_mbit, + virtualmachine_reservation_mbit=virtualmachine_reservation_mbit, + virtualmachine_share_count=virtualmachine_share_count, + virtualmachine_share_level=virtualmachine_share_level, + vlan_id=vlan_id, + vlan_ranges=vlan_ranges, + vmotion_maximum_mbit=vmotion_maximum_mbit, + vmotion_reservation_mbit=vmotion_reservation_mbit, + vmotion_share_count=vmotion_share_count, + vmotion_share_level=vmotion_share_level, + vsan_maximum_mbit=vsan_maximum_mbit, + vsan_reservation_mbit=vsan_reservation_mbit, + vsan_share_count=vsan_share_count, + vsan_share_level=vsan_share_level, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + datacenter_id: pulumi.Input[str], + active_uplinks: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + allow_forged_transmits: Optional[pulumi.Input[bool]] = None, + allow_mac_changes: Optional[pulumi.Input[bool]] = None, + allow_promiscuous: Optional[pulumi.Input[bool]] = None, + backupnfc_maximum_mbit: Optional[pulumi.Input[int]] = None, + backupnfc_reservation_mbit: Optional[pulumi.Input[int]] = None, + backupnfc_share_count: Optional[pulumi.Input[int]] = None, + backupnfc_share_level: Optional[pulumi.Input[str]] = None, + block_all_ports: Optional[pulumi.Input[bool]] = None, + check_beacon: Optional[pulumi.Input[bool]] = None, + contact_detail: Optional[pulumi.Input[str]] = None, + contact_name: Optional[pulumi.Input[str]] = None, + custom_attributes: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + description: Optional[pulumi.Input[str]] = None, + directpath_gen2_allowed: Optional[pulumi.Input[bool]] = None, + egress_shaping_average_bandwidth: Optional[pulumi.Input[int]] = None, + egress_shaping_burst_size: Optional[pulumi.Input[int]] = None, + egress_shaping_enabled: Optional[pulumi.Input[bool]] = None, + egress_shaping_peak_bandwidth: Optional[pulumi.Input[int]] = None, + failback: Optional[pulumi.Input[bool]] = None, + faulttolerance_maximum_mbit: Optional[pulumi.Input[int]] = None, + faulttolerance_reservation_mbit: Optional[pulumi.Input[int]] = None, + faulttolerance_share_count: Optional[pulumi.Input[int]] = None, + faulttolerance_share_level: Optional[pulumi.Input[str]] = None, + folder: Optional[pulumi.Input[str]] = None, + hbr_maximum_mbit: Optional[pulumi.Input[int]] = None, + hbr_reservation_mbit: Optional[pulumi.Input[int]] = None, + hbr_share_count: Optional[pulumi.Input[int]] = None, + hbr_share_level: Optional[pulumi.Input[str]] = None, + hosts: Optional[pulumi.Input[Sequence[pulumi.Input['DistributedVirtualSwitchHostArgs']]]] = None, + ignore_other_pvlan_mappings: Optional[pulumi.Input[bool]] = None, + ingress_shaping_average_bandwidth: Optional[pulumi.Input[int]] = None, + ingress_shaping_burst_size: Optional[pulumi.Input[int]] = None, + ingress_shaping_enabled: Optional[pulumi.Input[bool]] = None, + ingress_shaping_peak_bandwidth: Optional[pulumi.Input[int]] = None, + ipv4_address: Optional[pulumi.Input[str]] = None, + iscsi_maximum_mbit: Optional[pulumi.Input[int]] = None, + iscsi_reservation_mbit: Optional[pulumi.Input[int]] = None, + iscsi_share_count: Optional[pulumi.Input[int]] = None, + iscsi_share_level: Optional[pulumi.Input[str]] = None, + lacp_api_version: Optional[pulumi.Input[str]] = None, + lacp_enabled: Optional[pulumi.Input[bool]] = None, + lacp_mode: Optional[pulumi.Input[str]] = None, + link_discovery_operation: Optional[pulumi.Input[str]] = None, + link_discovery_protocol: Optional[pulumi.Input[str]] = None, + management_maximum_mbit: Optional[pulumi.Input[int]] = None, + management_reservation_mbit: Optional[pulumi.Input[int]] = None, + management_share_count: Optional[pulumi.Input[int]] = None, + management_share_level: Optional[pulumi.Input[str]] = None, + max_mtu: Optional[pulumi.Input[int]] = None, + multicast_filtering_mode: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + netflow_active_flow_timeout: Optional[pulumi.Input[int]] = None, + netflow_collector_ip_address: Optional[pulumi.Input[str]] = None, + netflow_collector_port: Optional[pulumi.Input[int]] = None, + netflow_enabled: Optional[pulumi.Input[bool]] = None, + netflow_idle_flow_timeout: Optional[pulumi.Input[int]] = None, + netflow_internal_flows_only: Optional[pulumi.Input[bool]] = None, + netflow_observation_domain_id: Optional[pulumi.Input[int]] = None, + netflow_sampling_rate: Optional[pulumi.Input[int]] = None, + network_resource_control_enabled: Optional[pulumi.Input[bool]] = None, + network_resource_control_version: Optional[pulumi.Input[str]] = None, + nfs_maximum_mbit: Optional[pulumi.Input[int]] = None, + nfs_reservation_mbit: Optional[pulumi.Input[int]] = None, + nfs_share_count: Optional[pulumi.Input[int]] = None, + nfs_share_level: Optional[pulumi.Input[str]] = None, + notify_switches: Optional[pulumi.Input[bool]] = None, + port_private_secondary_vlan_id: Optional[pulumi.Input[int]] = None, + pvlan_mappings: Optional[pulumi.Input[Sequence[pulumi.Input['DistributedVirtualSwitchPvlanMappingArgs']]]] = None, + standby_uplinks: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + teaming_policy: Optional[pulumi.Input[str]] = None, + tx_uplink: Optional[pulumi.Input[bool]] = None, + uplinks: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + vdp_maximum_mbit: Optional[pulumi.Input[int]] = None, + vdp_reservation_mbit: Optional[pulumi.Input[int]] = None, + vdp_share_count: Optional[pulumi.Input[int]] = None, + vdp_share_level: Optional[pulumi.Input[str]] = None, + version: Optional[pulumi.Input[str]] = None, + virtualmachine_maximum_mbit: Optional[pulumi.Input[int]] = None, + virtualmachine_reservation_mbit: Optional[pulumi.Input[int]] = None, + virtualmachine_share_count: Optional[pulumi.Input[int]] = None, + virtualmachine_share_level: Optional[pulumi.Input[str]] = None, + vlan_id: Optional[pulumi.Input[int]] = None, + vlan_ranges: Optional[pulumi.Input[Sequence[pulumi.Input['DistributedVirtualSwitchVlanRangeArgs']]]] = None, + vmotion_maximum_mbit: Optional[pulumi.Input[int]] = None, + vmotion_reservation_mbit: Optional[pulumi.Input[int]] = None, + vmotion_share_count: Optional[pulumi.Input[int]] = None, + vmotion_share_level: Optional[pulumi.Input[str]] = None, + vsan_maximum_mbit: Optional[pulumi.Input[int]] = None, + vsan_reservation_mbit: Optional[pulumi.Input[int]] = None, + vsan_share_count: Optional[pulumi.Input[int]] = None, + vsan_share_level: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("datacenter_id", datacenter_id) if active_uplinks is not None: - pulumi.set(__self__, "active_uplinks", active_uplinks) + _setter("active_uplinks", active_uplinks) if allow_forged_transmits is not None: - pulumi.set(__self__, "allow_forged_transmits", allow_forged_transmits) + _setter("allow_forged_transmits", allow_forged_transmits) if allow_mac_changes is not None: - pulumi.set(__self__, "allow_mac_changes", allow_mac_changes) + _setter("allow_mac_changes", allow_mac_changes) if allow_promiscuous is not None: - pulumi.set(__self__, "allow_promiscuous", allow_promiscuous) + _setter("allow_promiscuous", allow_promiscuous) if backupnfc_maximum_mbit is not None: - pulumi.set(__self__, "backupnfc_maximum_mbit", backupnfc_maximum_mbit) + _setter("backupnfc_maximum_mbit", backupnfc_maximum_mbit) if backupnfc_reservation_mbit is not None: - pulumi.set(__self__, "backupnfc_reservation_mbit", backupnfc_reservation_mbit) + _setter("backupnfc_reservation_mbit", backupnfc_reservation_mbit) if backupnfc_share_count is not None: - pulumi.set(__self__, "backupnfc_share_count", backupnfc_share_count) + _setter("backupnfc_share_count", backupnfc_share_count) if backupnfc_share_level is not None: - pulumi.set(__self__, "backupnfc_share_level", backupnfc_share_level) + _setter("backupnfc_share_level", backupnfc_share_level) if block_all_ports is not None: - pulumi.set(__self__, "block_all_ports", block_all_ports) + _setter("block_all_ports", block_all_ports) if check_beacon is not None: - pulumi.set(__self__, "check_beacon", check_beacon) + _setter("check_beacon", check_beacon) if contact_detail is not None: - pulumi.set(__self__, "contact_detail", contact_detail) + _setter("contact_detail", contact_detail) if contact_name is not None: - pulumi.set(__self__, "contact_name", contact_name) + _setter("contact_name", contact_name) if custom_attributes is not None: - pulumi.set(__self__, "custom_attributes", custom_attributes) + _setter("custom_attributes", custom_attributes) if description is not None: - pulumi.set(__self__, "description", description) + _setter("description", description) if directpath_gen2_allowed is not None: - pulumi.set(__self__, "directpath_gen2_allowed", directpath_gen2_allowed) + _setter("directpath_gen2_allowed", directpath_gen2_allowed) if egress_shaping_average_bandwidth is not None: - pulumi.set(__self__, "egress_shaping_average_bandwidth", egress_shaping_average_bandwidth) + _setter("egress_shaping_average_bandwidth", egress_shaping_average_bandwidth) if egress_shaping_burst_size is not None: - pulumi.set(__self__, "egress_shaping_burst_size", egress_shaping_burst_size) + _setter("egress_shaping_burst_size", egress_shaping_burst_size) if egress_shaping_enabled is not None: - pulumi.set(__self__, "egress_shaping_enabled", egress_shaping_enabled) + _setter("egress_shaping_enabled", egress_shaping_enabled) if egress_shaping_peak_bandwidth is not None: - pulumi.set(__self__, "egress_shaping_peak_bandwidth", egress_shaping_peak_bandwidth) + _setter("egress_shaping_peak_bandwidth", egress_shaping_peak_bandwidth) if failback is not None: - pulumi.set(__self__, "failback", failback) + _setter("failback", failback) if faulttolerance_maximum_mbit is not None: - pulumi.set(__self__, "faulttolerance_maximum_mbit", faulttolerance_maximum_mbit) + _setter("faulttolerance_maximum_mbit", faulttolerance_maximum_mbit) if faulttolerance_reservation_mbit is not None: - pulumi.set(__self__, "faulttolerance_reservation_mbit", faulttolerance_reservation_mbit) + _setter("faulttolerance_reservation_mbit", faulttolerance_reservation_mbit) if faulttolerance_share_count is not None: - pulumi.set(__self__, "faulttolerance_share_count", faulttolerance_share_count) + _setter("faulttolerance_share_count", faulttolerance_share_count) if faulttolerance_share_level is not None: - pulumi.set(__self__, "faulttolerance_share_level", faulttolerance_share_level) + _setter("faulttolerance_share_level", faulttolerance_share_level) if folder is not None: - pulumi.set(__self__, "folder", folder) + _setter("folder", folder) if hbr_maximum_mbit is not None: - pulumi.set(__self__, "hbr_maximum_mbit", hbr_maximum_mbit) + _setter("hbr_maximum_mbit", hbr_maximum_mbit) if hbr_reservation_mbit is not None: - pulumi.set(__self__, "hbr_reservation_mbit", hbr_reservation_mbit) + _setter("hbr_reservation_mbit", hbr_reservation_mbit) if hbr_share_count is not None: - pulumi.set(__self__, "hbr_share_count", hbr_share_count) + _setter("hbr_share_count", hbr_share_count) if hbr_share_level is not None: - pulumi.set(__self__, "hbr_share_level", hbr_share_level) + _setter("hbr_share_level", hbr_share_level) if hosts is not None: - pulumi.set(__self__, "hosts", hosts) + _setter("hosts", hosts) if ignore_other_pvlan_mappings is not None: - pulumi.set(__self__, "ignore_other_pvlan_mappings", ignore_other_pvlan_mappings) + _setter("ignore_other_pvlan_mappings", ignore_other_pvlan_mappings) if ingress_shaping_average_bandwidth is not None: - pulumi.set(__self__, "ingress_shaping_average_bandwidth", ingress_shaping_average_bandwidth) + _setter("ingress_shaping_average_bandwidth", ingress_shaping_average_bandwidth) if ingress_shaping_burst_size is not None: - pulumi.set(__self__, "ingress_shaping_burst_size", ingress_shaping_burst_size) + _setter("ingress_shaping_burst_size", ingress_shaping_burst_size) if ingress_shaping_enabled is not None: - pulumi.set(__self__, "ingress_shaping_enabled", ingress_shaping_enabled) + _setter("ingress_shaping_enabled", ingress_shaping_enabled) if ingress_shaping_peak_bandwidth is not None: - pulumi.set(__self__, "ingress_shaping_peak_bandwidth", ingress_shaping_peak_bandwidth) + _setter("ingress_shaping_peak_bandwidth", ingress_shaping_peak_bandwidth) if ipv4_address is not None: - pulumi.set(__self__, "ipv4_address", ipv4_address) + _setter("ipv4_address", ipv4_address) if iscsi_maximum_mbit is not None: - pulumi.set(__self__, "iscsi_maximum_mbit", iscsi_maximum_mbit) + _setter("iscsi_maximum_mbit", iscsi_maximum_mbit) if iscsi_reservation_mbit is not None: - pulumi.set(__self__, "iscsi_reservation_mbit", iscsi_reservation_mbit) + _setter("iscsi_reservation_mbit", iscsi_reservation_mbit) if iscsi_share_count is not None: - pulumi.set(__self__, "iscsi_share_count", iscsi_share_count) + _setter("iscsi_share_count", iscsi_share_count) if iscsi_share_level is not None: - pulumi.set(__self__, "iscsi_share_level", iscsi_share_level) + _setter("iscsi_share_level", iscsi_share_level) if lacp_api_version is not None: - pulumi.set(__self__, "lacp_api_version", lacp_api_version) + _setter("lacp_api_version", lacp_api_version) if lacp_enabled is not None: - pulumi.set(__self__, "lacp_enabled", lacp_enabled) + _setter("lacp_enabled", lacp_enabled) if lacp_mode is not None: - pulumi.set(__self__, "lacp_mode", lacp_mode) + _setter("lacp_mode", lacp_mode) if link_discovery_operation is not None: - pulumi.set(__self__, "link_discovery_operation", link_discovery_operation) + _setter("link_discovery_operation", link_discovery_operation) if link_discovery_protocol is not None: - pulumi.set(__self__, "link_discovery_protocol", link_discovery_protocol) + _setter("link_discovery_protocol", link_discovery_protocol) if management_maximum_mbit is not None: - pulumi.set(__self__, "management_maximum_mbit", management_maximum_mbit) + _setter("management_maximum_mbit", management_maximum_mbit) if management_reservation_mbit is not None: - pulumi.set(__self__, "management_reservation_mbit", management_reservation_mbit) + _setter("management_reservation_mbit", management_reservation_mbit) if management_share_count is not None: - pulumi.set(__self__, "management_share_count", management_share_count) + _setter("management_share_count", management_share_count) if management_share_level is not None: - pulumi.set(__self__, "management_share_level", management_share_level) + _setter("management_share_level", management_share_level) if max_mtu is not None: - pulumi.set(__self__, "max_mtu", max_mtu) + _setter("max_mtu", max_mtu) if multicast_filtering_mode is not None: - pulumi.set(__self__, "multicast_filtering_mode", multicast_filtering_mode) + _setter("multicast_filtering_mode", multicast_filtering_mode) if name is not None: - pulumi.set(__self__, "name", name) + _setter("name", name) if netflow_active_flow_timeout is not None: - pulumi.set(__self__, "netflow_active_flow_timeout", netflow_active_flow_timeout) + _setter("netflow_active_flow_timeout", netflow_active_flow_timeout) if netflow_collector_ip_address is not None: - pulumi.set(__self__, "netflow_collector_ip_address", netflow_collector_ip_address) + _setter("netflow_collector_ip_address", netflow_collector_ip_address) if netflow_collector_port is not None: - pulumi.set(__self__, "netflow_collector_port", netflow_collector_port) + _setter("netflow_collector_port", netflow_collector_port) if netflow_enabled is not None: - pulumi.set(__self__, "netflow_enabled", netflow_enabled) + _setter("netflow_enabled", netflow_enabled) if netflow_idle_flow_timeout is not None: - pulumi.set(__self__, "netflow_idle_flow_timeout", netflow_idle_flow_timeout) + _setter("netflow_idle_flow_timeout", netflow_idle_flow_timeout) if netflow_internal_flows_only is not None: - pulumi.set(__self__, "netflow_internal_flows_only", netflow_internal_flows_only) + _setter("netflow_internal_flows_only", netflow_internal_flows_only) if netflow_observation_domain_id is not None: - pulumi.set(__self__, "netflow_observation_domain_id", netflow_observation_domain_id) + _setter("netflow_observation_domain_id", netflow_observation_domain_id) if netflow_sampling_rate is not None: - pulumi.set(__self__, "netflow_sampling_rate", netflow_sampling_rate) + _setter("netflow_sampling_rate", netflow_sampling_rate) if network_resource_control_enabled is not None: - pulumi.set(__self__, "network_resource_control_enabled", network_resource_control_enabled) + _setter("network_resource_control_enabled", network_resource_control_enabled) if network_resource_control_version is not None: - pulumi.set(__self__, "network_resource_control_version", network_resource_control_version) + _setter("network_resource_control_version", network_resource_control_version) if nfs_maximum_mbit is not None: - pulumi.set(__self__, "nfs_maximum_mbit", nfs_maximum_mbit) + _setter("nfs_maximum_mbit", nfs_maximum_mbit) if nfs_reservation_mbit is not None: - pulumi.set(__self__, "nfs_reservation_mbit", nfs_reservation_mbit) + _setter("nfs_reservation_mbit", nfs_reservation_mbit) if nfs_share_count is not None: - pulumi.set(__self__, "nfs_share_count", nfs_share_count) + _setter("nfs_share_count", nfs_share_count) if nfs_share_level is not None: - pulumi.set(__self__, "nfs_share_level", nfs_share_level) + _setter("nfs_share_level", nfs_share_level) if notify_switches is not None: - pulumi.set(__self__, "notify_switches", notify_switches) + _setter("notify_switches", notify_switches) if port_private_secondary_vlan_id is not None: - pulumi.set(__self__, "port_private_secondary_vlan_id", port_private_secondary_vlan_id) + _setter("port_private_secondary_vlan_id", port_private_secondary_vlan_id) if pvlan_mappings is not None: - pulumi.set(__self__, "pvlan_mappings", pvlan_mappings) + _setter("pvlan_mappings", pvlan_mappings) if standby_uplinks is not None: - pulumi.set(__self__, "standby_uplinks", standby_uplinks) + _setter("standby_uplinks", standby_uplinks) if tags is not None: - pulumi.set(__self__, "tags", tags) + _setter("tags", tags) if teaming_policy is not None: - pulumi.set(__self__, "teaming_policy", teaming_policy) + _setter("teaming_policy", teaming_policy) if tx_uplink is not None: - pulumi.set(__self__, "tx_uplink", tx_uplink) + _setter("tx_uplink", tx_uplink) if uplinks is not None: - pulumi.set(__self__, "uplinks", uplinks) + _setter("uplinks", uplinks) if vdp_maximum_mbit is not None: - pulumi.set(__self__, "vdp_maximum_mbit", vdp_maximum_mbit) + _setter("vdp_maximum_mbit", vdp_maximum_mbit) if vdp_reservation_mbit is not None: - pulumi.set(__self__, "vdp_reservation_mbit", vdp_reservation_mbit) + _setter("vdp_reservation_mbit", vdp_reservation_mbit) if vdp_share_count is not None: - pulumi.set(__self__, "vdp_share_count", vdp_share_count) + _setter("vdp_share_count", vdp_share_count) if vdp_share_level is not None: - pulumi.set(__self__, "vdp_share_level", vdp_share_level) + _setter("vdp_share_level", vdp_share_level) if version is not None: - pulumi.set(__self__, "version", version) + _setter("version", version) if virtualmachine_maximum_mbit is not None: - pulumi.set(__self__, "virtualmachine_maximum_mbit", virtualmachine_maximum_mbit) + _setter("virtualmachine_maximum_mbit", virtualmachine_maximum_mbit) if virtualmachine_reservation_mbit is not None: - pulumi.set(__self__, "virtualmachine_reservation_mbit", virtualmachine_reservation_mbit) + _setter("virtualmachine_reservation_mbit", virtualmachine_reservation_mbit) if virtualmachine_share_count is not None: - pulumi.set(__self__, "virtualmachine_share_count", virtualmachine_share_count) + _setter("virtualmachine_share_count", virtualmachine_share_count) if virtualmachine_share_level is not None: - pulumi.set(__self__, "virtualmachine_share_level", virtualmachine_share_level) + _setter("virtualmachine_share_level", virtualmachine_share_level) if vlan_id is not None: - pulumi.set(__self__, "vlan_id", vlan_id) + _setter("vlan_id", vlan_id) if vlan_ranges is not None: - pulumi.set(__self__, "vlan_ranges", vlan_ranges) + _setter("vlan_ranges", vlan_ranges) if vmotion_maximum_mbit is not None: - pulumi.set(__self__, "vmotion_maximum_mbit", vmotion_maximum_mbit) + _setter("vmotion_maximum_mbit", vmotion_maximum_mbit) if vmotion_reservation_mbit is not None: - pulumi.set(__self__, "vmotion_reservation_mbit", vmotion_reservation_mbit) + _setter("vmotion_reservation_mbit", vmotion_reservation_mbit) if vmotion_share_count is not None: - pulumi.set(__self__, "vmotion_share_count", vmotion_share_count) + _setter("vmotion_share_count", vmotion_share_count) if vmotion_share_level is not None: - pulumi.set(__self__, "vmotion_share_level", vmotion_share_level) + _setter("vmotion_share_level", vmotion_share_level) if vsan_maximum_mbit is not None: - pulumi.set(__self__, "vsan_maximum_mbit", vsan_maximum_mbit) + _setter("vsan_maximum_mbit", vsan_maximum_mbit) if vsan_reservation_mbit is not None: - pulumi.set(__self__, "vsan_reservation_mbit", vsan_reservation_mbit) + _setter("vsan_reservation_mbit", vsan_reservation_mbit) if vsan_share_count is not None: - pulumi.set(__self__, "vsan_share_count", vsan_share_count) + _setter("vsan_share_count", vsan_share_count) if vsan_share_level is not None: - pulumi.set(__self__, "vsan_share_level", vsan_share_level) + _setter("vsan_share_level", vsan_share_level) @property @pulumi.getter(name="datacenterId") @@ -1997,196 +2192,393 @@ def __init__(__self__, *, :param pulumi.Input[int] vsan_share_count: The amount of shares to allocate to the vsan traffic class for a custom share level. :param pulumi.Input[str] vsan_share_level: The allocation level for the vsan traffic class. Can be one of high, low, normal, or custom. """ + _DistributedVirtualSwitchState._configure( + lambda key, value: pulumi.set(__self__, key, value), + active_uplinks=active_uplinks, + allow_forged_transmits=allow_forged_transmits, + allow_mac_changes=allow_mac_changes, + allow_promiscuous=allow_promiscuous, + backupnfc_maximum_mbit=backupnfc_maximum_mbit, + backupnfc_reservation_mbit=backupnfc_reservation_mbit, + backupnfc_share_count=backupnfc_share_count, + backupnfc_share_level=backupnfc_share_level, + block_all_ports=block_all_ports, + check_beacon=check_beacon, + config_version=config_version, + contact_detail=contact_detail, + contact_name=contact_name, + custom_attributes=custom_attributes, + datacenter_id=datacenter_id, + description=description, + directpath_gen2_allowed=directpath_gen2_allowed, + egress_shaping_average_bandwidth=egress_shaping_average_bandwidth, + egress_shaping_burst_size=egress_shaping_burst_size, + egress_shaping_enabled=egress_shaping_enabled, + egress_shaping_peak_bandwidth=egress_shaping_peak_bandwidth, + failback=failback, + faulttolerance_maximum_mbit=faulttolerance_maximum_mbit, + faulttolerance_reservation_mbit=faulttolerance_reservation_mbit, + faulttolerance_share_count=faulttolerance_share_count, + faulttolerance_share_level=faulttolerance_share_level, + folder=folder, + hbr_maximum_mbit=hbr_maximum_mbit, + hbr_reservation_mbit=hbr_reservation_mbit, + hbr_share_count=hbr_share_count, + hbr_share_level=hbr_share_level, + hosts=hosts, + ignore_other_pvlan_mappings=ignore_other_pvlan_mappings, + ingress_shaping_average_bandwidth=ingress_shaping_average_bandwidth, + ingress_shaping_burst_size=ingress_shaping_burst_size, + ingress_shaping_enabled=ingress_shaping_enabled, + ingress_shaping_peak_bandwidth=ingress_shaping_peak_bandwidth, + ipv4_address=ipv4_address, + iscsi_maximum_mbit=iscsi_maximum_mbit, + iscsi_reservation_mbit=iscsi_reservation_mbit, + iscsi_share_count=iscsi_share_count, + iscsi_share_level=iscsi_share_level, + lacp_api_version=lacp_api_version, + lacp_enabled=lacp_enabled, + lacp_mode=lacp_mode, + link_discovery_operation=link_discovery_operation, + link_discovery_protocol=link_discovery_protocol, + management_maximum_mbit=management_maximum_mbit, + management_reservation_mbit=management_reservation_mbit, + management_share_count=management_share_count, + management_share_level=management_share_level, + max_mtu=max_mtu, + multicast_filtering_mode=multicast_filtering_mode, + name=name, + netflow_active_flow_timeout=netflow_active_flow_timeout, + netflow_collector_ip_address=netflow_collector_ip_address, + netflow_collector_port=netflow_collector_port, + netflow_enabled=netflow_enabled, + netflow_idle_flow_timeout=netflow_idle_flow_timeout, + netflow_internal_flows_only=netflow_internal_flows_only, + netflow_observation_domain_id=netflow_observation_domain_id, + netflow_sampling_rate=netflow_sampling_rate, + network_resource_control_enabled=network_resource_control_enabled, + network_resource_control_version=network_resource_control_version, + nfs_maximum_mbit=nfs_maximum_mbit, + nfs_reservation_mbit=nfs_reservation_mbit, + nfs_share_count=nfs_share_count, + nfs_share_level=nfs_share_level, + notify_switches=notify_switches, + port_private_secondary_vlan_id=port_private_secondary_vlan_id, + pvlan_mappings=pvlan_mappings, + standby_uplinks=standby_uplinks, + tags=tags, + teaming_policy=teaming_policy, + tx_uplink=tx_uplink, + uplinks=uplinks, + vdp_maximum_mbit=vdp_maximum_mbit, + vdp_reservation_mbit=vdp_reservation_mbit, + vdp_share_count=vdp_share_count, + vdp_share_level=vdp_share_level, + version=version, + virtualmachine_maximum_mbit=virtualmachine_maximum_mbit, + virtualmachine_reservation_mbit=virtualmachine_reservation_mbit, + virtualmachine_share_count=virtualmachine_share_count, + virtualmachine_share_level=virtualmachine_share_level, + vlan_id=vlan_id, + vlan_ranges=vlan_ranges, + vmotion_maximum_mbit=vmotion_maximum_mbit, + vmotion_reservation_mbit=vmotion_reservation_mbit, + vmotion_share_count=vmotion_share_count, + vmotion_share_level=vmotion_share_level, + vsan_maximum_mbit=vsan_maximum_mbit, + vsan_reservation_mbit=vsan_reservation_mbit, + vsan_share_count=vsan_share_count, + vsan_share_level=vsan_share_level, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + active_uplinks: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + allow_forged_transmits: Optional[pulumi.Input[bool]] = None, + allow_mac_changes: Optional[pulumi.Input[bool]] = None, + allow_promiscuous: Optional[pulumi.Input[bool]] = None, + backupnfc_maximum_mbit: Optional[pulumi.Input[int]] = None, + backupnfc_reservation_mbit: Optional[pulumi.Input[int]] = None, + backupnfc_share_count: Optional[pulumi.Input[int]] = None, + backupnfc_share_level: Optional[pulumi.Input[str]] = None, + block_all_ports: Optional[pulumi.Input[bool]] = None, + check_beacon: Optional[pulumi.Input[bool]] = None, + config_version: Optional[pulumi.Input[str]] = None, + contact_detail: Optional[pulumi.Input[str]] = None, + contact_name: Optional[pulumi.Input[str]] = None, + custom_attributes: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + datacenter_id: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + directpath_gen2_allowed: Optional[pulumi.Input[bool]] = None, + egress_shaping_average_bandwidth: Optional[pulumi.Input[int]] = None, + egress_shaping_burst_size: Optional[pulumi.Input[int]] = None, + egress_shaping_enabled: Optional[pulumi.Input[bool]] = None, + egress_shaping_peak_bandwidth: Optional[pulumi.Input[int]] = None, + failback: Optional[pulumi.Input[bool]] = None, + faulttolerance_maximum_mbit: Optional[pulumi.Input[int]] = None, + faulttolerance_reservation_mbit: Optional[pulumi.Input[int]] = None, + faulttolerance_share_count: Optional[pulumi.Input[int]] = None, + faulttolerance_share_level: Optional[pulumi.Input[str]] = None, + folder: Optional[pulumi.Input[str]] = None, + hbr_maximum_mbit: Optional[pulumi.Input[int]] = None, + hbr_reservation_mbit: Optional[pulumi.Input[int]] = None, + hbr_share_count: Optional[pulumi.Input[int]] = None, + hbr_share_level: Optional[pulumi.Input[str]] = None, + hosts: Optional[pulumi.Input[Sequence[pulumi.Input['DistributedVirtualSwitchHostArgs']]]] = None, + ignore_other_pvlan_mappings: Optional[pulumi.Input[bool]] = None, + ingress_shaping_average_bandwidth: Optional[pulumi.Input[int]] = None, + ingress_shaping_burst_size: Optional[pulumi.Input[int]] = None, + ingress_shaping_enabled: Optional[pulumi.Input[bool]] = None, + ingress_shaping_peak_bandwidth: Optional[pulumi.Input[int]] = None, + ipv4_address: Optional[pulumi.Input[str]] = None, + iscsi_maximum_mbit: Optional[pulumi.Input[int]] = None, + iscsi_reservation_mbit: Optional[pulumi.Input[int]] = None, + iscsi_share_count: Optional[pulumi.Input[int]] = None, + iscsi_share_level: Optional[pulumi.Input[str]] = None, + lacp_api_version: Optional[pulumi.Input[str]] = None, + lacp_enabled: Optional[pulumi.Input[bool]] = None, + lacp_mode: Optional[pulumi.Input[str]] = None, + link_discovery_operation: Optional[pulumi.Input[str]] = None, + link_discovery_protocol: Optional[pulumi.Input[str]] = None, + management_maximum_mbit: Optional[pulumi.Input[int]] = None, + management_reservation_mbit: Optional[pulumi.Input[int]] = None, + management_share_count: Optional[pulumi.Input[int]] = None, + management_share_level: Optional[pulumi.Input[str]] = None, + max_mtu: Optional[pulumi.Input[int]] = None, + multicast_filtering_mode: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + netflow_active_flow_timeout: Optional[pulumi.Input[int]] = None, + netflow_collector_ip_address: Optional[pulumi.Input[str]] = None, + netflow_collector_port: Optional[pulumi.Input[int]] = None, + netflow_enabled: Optional[pulumi.Input[bool]] = None, + netflow_idle_flow_timeout: Optional[pulumi.Input[int]] = None, + netflow_internal_flows_only: Optional[pulumi.Input[bool]] = None, + netflow_observation_domain_id: Optional[pulumi.Input[int]] = None, + netflow_sampling_rate: Optional[pulumi.Input[int]] = None, + network_resource_control_enabled: Optional[pulumi.Input[bool]] = None, + network_resource_control_version: Optional[pulumi.Input[str]] = None, + nfs_maximum_mbit: Optional[pulumi.Input[int]] = None, + nfs_reservation_mbit: Optional[pulumi.Input[int]] = None, + nfs_share_count: Optional[pulumi.Input[int]] = None, + nfs_share_level: Optional[pulumi.Input[str]] = None, + notify_switches: Optional[pulumi.Input[bool]] = None, + port_private_secondary_vlan_id: Optional[pulumi.Input[int]] = None, + pvlan_mappings: Optional[pulumi.Input[Sequence[pulumi.Input['DistributedVirtualSwitchPvlanMappingArgs']]]] = None, + standby_uplinks: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + teaming_policy: Optional[pulumi.Input[str]] = None, + tx_uplink: Optional[pulumi.Input[bool]] = None, + uplinks: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + vdp_maximum_mbit: Optional[pulumi.Input[int]] = None, + vdp_reservation_mbit: Optional[pulumi.Input[int]] = None, + vdp_share_count: Optional[pulumi.Input[int]] = None, + vdp_share_level: Optional[pulumi.Input[str]] = None, + version: Optional[pulumi.Input[str]] = None, + virtualmachine_maximum_mbit: Optional[pulumi.Input[int]] = None, + virtualmachine_reservation_mbit: Optional[pulumi.Input[int]] = None, + virtualmachine_share_count: Optional[pulumi.Input[int]] = None, + virtualmachine_share_level: Optional[pulumi.Input[str]] = None, + vlan_id: Optional[pulumi.Input[int]] = None, + vlan_ranges: Optional[pulumi.Input[Sequence[pulumi.Input['DistributedVirtualSwitchVlanRangeArgs']]]] = None, + vmotion_maximum_mbit: Optional[pulumi.Input[int]] = None, + vmotion_reservation_mbit: Optional[pulumi.Input[int]] = None, + vmotion_share_count: Optional[pulumi.Input[int]] = None, + vmotion_share_level: Optional[pulumi.Input[str]] = None, + vsan_maximum_mbit: Optional[pulumi.Input[int]] = None, + vsan_reservation_mbit: Optional[pulumi.Input[int]] = None, + vsan_share_count: Optional[pulumi.Input[int]] = None, + vsan_share_level: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None): if active_uplinks is not None: - pulumi.set(__self__, "active_uplinks", active_uplinks) + _setter("active_uplinks", active_uplinks) if allow_forged_transmits is not None: - pulumi.set(__self__, "allow_forged_transmits", allow_forged_transmits) + _setter("allow_forged_transmits", allow_forged_transmits) if allow_mac_changes is not None: - pulumi.set(__self__, "allow_mac_changes", allow_mac_changes) + _setter("allow_mac_changes", allow_mac_changes) if allow_promiscuous is not None: - pulumi.set(__self__, "allow_promiscuous", allow_promiscuous) + _setter("allow_promiscuous", allow_promiscuous) if backupnfc_maximum_mbit is not None: - pulumi.set(__self__, "backupnfc_maximum_mbit", backupnfc_maximum_mbit) + _setter("backupnfc_maximum_mbit", backupnfc_maximum_mbit) if backupnfc_reservation_mbit is not None: - pulumi.set(__self__, "backupnfc_reservation_mbit", backupnfc_reservation_mbit) + _setter("backupnfc_reservation_mbit", backupnfc_reservation_mbit) if backupnfc_share_count is not None: - pulumi.set(__self__, "backupnfc_share_count", backupnfc_share_count) + _setter("backupnfc_share_count", backupnfc_share_count) if backupnfc_share_level is not None: - pulumi.set(__self__, "backupnfc_share_level", backupnfc_share_level) + _setter("backupnfc_share_level", backupnfc_share_level) if block_all_ports is not None: - pulumi.set(__self__, "block_all_ports", block_all_ports) + _setter("block_all_ports", block_all_ports) if check_beacon is not None: - pulumi.set(__self__, "check_beacon", check_beacon) + _setter("check_beacon", check_beacon) if config_version is not None: - pulumi.set(__self__, "config_version", config_version) + _setter("config_version", config_version) if contact_detail is not None: - pulumi.set(__self__, "contact_detail", contact_detail) + _setter("contact_detail", contact_detail) if contact_name is not None: - pulumi.set(__self__, "contact_name", contact_name) + _setter("contact_name", contact_name) if custom_attributes is not None: - pulumi.set(__self__, "custom_attributes", custom_attributes) + _setter("custom_attributes", custom_attributes) if datacenter_id is not None: - pulumi.set(__self__, "datacenter_id", datacenter_id) + _setter("datacenter_id", datacenter_id) if description is not None: - pulumi.set(__self__, "description", description) + _setter("description", description) if directpath_gen2_allowed is not None: - pulumi.set(__self__, "directpath_gen2_allowed", directpath_gen2_allowed) + _setter("directpath_gen2_allowed", directpath_gen2_allowed) if egress_shaping_average_bandwidth is not None: - pulumi.set(__self__, "egress_shaping_average_bandwidth", egress_shaping_average_bandwidth) + _setter("egress_shaping_average_bandwidth", egress_shaping_average_bandwidth) if egress_shaping_burst_size is not None: - pulumi.set(__self__, "egress_shaping_burst_size", egress_shaping_burst_size) + _setter("egress_shaping_burst_size", egress_shaping_burst_size) if egress_shaping_enabled is not None: - pulumi.set(__self__, "egress_shaping_enabled", egress_shaping_enabled) + _setter("egress_shaping_enabled", egress_shaping_enabled) if egress_shaping_peak_bandwidth is not None: - pulumi.set(__self__, "egress_shaping_peak_bandwidth", egress_shaping_peak_bandwidth) + _setter("egress_shaping_peak_bandwidth", egress_shaping_peak_bandwidth) if failback is not None: - pulumi.set(__self__, "failback", failback) + _setter("failback", failback) if faulttolerance_maximum_mbit is not None: - pulumi.set(__self__, "faulttolerance_maximum_mbit", faulttolerance_maximum_mbit) + _setter("faulttolerance_maximum_mbit", faulttolerance_maximum_mbit) if faulttolerance_reservation_mbit is not None: - pulumi.set(__self__, "faulttolerance_reservation_mbit", faulttolerance_reservation_mbit) + _setter("faulttolerance_reservation_mbit", faulttolerance_reservation_mbit) if faulttolerance_share_count is not None: - pulumi.set(__self__, "faulttolerance_share_count", faulttolerance_share_count) + _setter("faulttolerance_share_count", faulttolerance_share_count) if faulttolerance_share_level is not None: - pulumi.set(__self__, "faulttolerance_share_level", faulttolerance_share_level) + _setter("faulttolerance_share_level", faulttolerance_share_level) if folder is not None: - pulumi.set(__self__, "folder", folder) + _setter("folder", folder) if hbr_maximum_mbit is not None: - pulumi.set(__self__, "hbr_maximum_mbit", hbr_maximum_mbit) + _setter("hbr_maximum_mbit", hbr_maximum_mbit) if hbr_reservation_mbit is not None: - pulumi.set(__self__, "hbr_reservation_mbit", hbr_reservation_mbit) + _setter("hbr_reservation_mbit", hbr_reservation_mbit) if hbr_share_count is not None: - pulumi.set(__self__, "hbr_share_count", hbr_share_count) + _setter("hbr_share_count", hbr_share_count) if hbr_share_level is not None: - pulumi.set(__self__, "hbr_share_level", hbr_share_level) + _setter("hbr_share_level", hbr_share_level) if hosts is not None: - pulumi.set(__self__, "hosts", hosts) + _setter("hosts", hosts) if ignore_other_pvlan_mappings is not None: - pulumi.set(__self__, "ignore_other_pvlan_mappings", ignore_other_pvlan_mappings) + _setter("ignore_other_pvlan_mappings", ignore_other_pvlan_mappings) if ingress_shaping_average_bandwidth is not None: - pulumi.set(__self__, "ingress_shaping_average_bandwidth", ingress_shaping_average_bandwidth) + _setter("ingress_shaping_average_bandwidth", ingress_shaping_average_bandwidth) if ingress_shaping_burst_size is not None: - pulumi.set(__self__, "ingress_shaping_burst_size", ingress_shaping_burst_size) + _setter("ingress_shaping_burst_size", ingress_shaping_burst_size) if ingress_shaping_enabled is not None: - pulumi.set(__self__, "ingress_shaping_enabled", ingress_shaping_enabled) + _setter("ingress_shaping_enabled", ingress_shaping_enabled) if ingress_shaping_peak_bandwidth is not None: - pulumi.set(__self__, "ingress_shaping_peak_bandwidth", ingress_shaping_peak_bandwidth) + _setter("ingress_shaping_peak_bandwidth", ingress_shaping_peak_bandwidth) if ipv4_address is not None: - pulumi.set(__self__, "ipv4_address", ipv4_address) + _setter("ipv4_address", ipv4_address) if iscsi_maximum_mbit is not None: - pulumi.set(__self__, "iscsi_maximum_mbit", iscsi_maximum_mbit) + _setter("iscsi_maximum_mbit", iscsi_maximum_mbit) if iscsi_reservation_mbit is not None: - pulumi.set(__self__, "iscsi_reservation_mbit", iscsi_reservation_mbit) + _setter("iscsi_reservation_mbit", iscsi_reservation_mbit) if iscsi_share_count is not None: - pulumi.set(__self__, "iscsi_share_count", iscsi_share_count) + _setter("iscsi_share_count", iscsi_share_count) if iscsi_share_level is not None: - pulumi.set(__self__, "iscsi_share_level", iscsi_share_level) + _setter("iscsi_share_level", iscsi_share_level) if lacp_api_version is not None: - pulumi.set(__self__, "lacp_api_version", lacp_api_version) + _setter("lacp_api_version", lacp_api_version) if lacp_enabled is not None: - pulumi.set(__self__, "lacp_enabled", lacp_enabled) + _setter("lacp_enabled", lacp_enabled) if lacp_mode is not None: - pulumi.set(__self__, "lacp_mode", lacp_mode) + _setter("lacp_mode", lacp_mode) if link_discovery_operation is not None: - pulumi.set(__self__, "link_discovery_operation", link_discovery_operation) + _setter("link_discovery_operation", link_discovery_operation) if link_discovery_protocol is not None: - pulumi.set(__self__, "link_discovery_protocol", link_discovery_protocol) + _setter("link_discovery_protocol", link_discovery_protocol) if management_maximum_mbit is not None: - pulumi.set(__self__, "management_maximum_mbit", management_maximum_mbit) + _setter("management_maximum_mbit", management_maximum_mbit) if management_reservation_mbit is not None: - pulumi.set(__self__, "management_reservation_mbit", management_reservation_mbit) + _setter("management_reservation_mbit", management_reservation_mbit) if management_share_count is not None: - pulumi.set(__self__, "management_share_count", management_share_count) + _setter("management_share_count", management_share_count) if management_share_level is not None: - pulumi.set(__self__, "management_share_level", management_share_level) + _setter("management_share_level", management_share_level) if max_mtu is not None: - pulumi.set(__self__, "max_mtu", max_mtu) + _setter("max_mtu", max_mtu) if multicast_filtering_mode is not None: - pulumi.set(__self__, "multicast_filtering_mode", multicast_filtering_mode) + _setter("multicast_filtering_mode", multicast_filtering_mode) if name is not None: - pulumi.set(__self__, "name", name) + _setter("name", name) if netflow_active_flow_timeout is not None: - pulumi.set(__self__, "netflow_active_flow_timeout", netflow_active_flow_timeout) + _setter("netflow_active_flow_timeout", netflow_active_flow_timeout) if netflow_collector_ip_address is not None: - pulumi.set(__self__, "netflow_collector_ip_address", netflow_collector_ip_address) + _setter("netflow_collector_ip_address", netflow_collector_ip_address) if netflow_collector_port is not None: - pulumi.set(__self__, "netflow_collector_port", netflow_collector_port) + _setter("netflow_collector_port", netflow_collector_port) if netflow_enabled is not None: - pulumi.set(__self__, "netflow_enabled", netflow_enabled) + _setter("netflow_enabled", netflow_enabled) if netflow_idle_flow_timeout is not None: - pulumi.set(__self__, "netflow_idle_flow_timeout", netflow_idle_flow_timeout) + _setter("netflow_idle_flow_timeout", netflow_idle_flow_timeout) if netflow_internal_flows_only is not None: - pulumi.set(__self__, "netflow_internal_flows_only", netflow_internal_flows_only) + _setter("netflow_internal_flows_only", netflow_internal_flows_only) if netflow_observation_domain_id is not None: - pulumi.set(__self__, "netflow_observation_domain_id", netflow_observation_domain_id) + _setter("netflow_observation_domain_id", netflow_observation_domain_id) if netflow_sampling_rate is not None: - pulumi.set(__self__, "netflow_sampling_rate", netflow_sampling_rate) + _setter("netflow_sampling_rate", netflow_sampling_rate) if network_resource_control_enabled is not None: - pulumi.set(__self__, "network_resource_control_enabled", network_resource_control_enabled) + _setter("network_resource_control_enabled", network_resource_control_enabled) if network_resource_control_version is not None: - pulumi.set(__self__, "network_resource_control_version", network_resource_control_version) + _setter("network_resource_control_version", network_resource_control_version) if nfs_maximum_mbit is not None: - pulumi.set(__self__, "nfs_maximum_mbit", nfs_maximum_mbit) + _setter("nfs_maximum_mbit", nfs_maximum_mbit) if nfs_reservation_mbit is not None: - pulumi.set(__self__, "nfs_reservation_mbit", nfs_reservation_mbit) + _setter("nfs_reservation_mbit", nfs_reservation_mbit) if nfs_share_count is not None: - pulumi.set(__self__, "nfs_share_count", nfs_share_count) + _setter("nfs_share_count", nfs_share_count) if nfs_share_level is not None: - pulumi.set(__self__, "nfs_share_level", nfs_share_level) + _setter("nfs_share_level", nfs_share_level) if notify_switches is not None: - pulumi.set(__self__, "notify_switches", notify_switches) + _setter("notify_switches", notify_switches) if port_private_secondary_vlan_id is not None: - pulumi.set(__self__, "port_private_secondary_vlan_id", port_private_secondary_vlan_id) + _setter("port_private_secondary_vlan_id", port_private_secondary_vlan_id) if pvlan_mappings is not None: - pulumi.set(__self__, "pvlan_mappings", pvlan_mappings) + _setter("pvlan_mappings", pvlan_mappings) if standby_uplinks is not None: - pulumi.set(__self__, "standby_uplinks", standby_uplinks) + _setter("standby_uplinks", standby_uplinks) if tags is not None: - pulumi.set(__self__, "tags", tags) + _setter("tags", tags) if teaming_policy is not None: - pulumi.set(__self__, "teaming_policy", teaming_policy) + _setter("teaming_policy", teaming_policy) if tx_uplink is not None: - pulumi.set(__self__, "tx_uplink", tx_uplink) + _setter("tx_uplink", tx_uplink) if uplinks is not None: - pulumi.set(__self__, "uplinks", uplinks) + _setter("uplinks", uplinks) if vdp_maximum_mbit is not None: - pulumi.set(__self__, "vdp_maximum_mbit", vdp_maximum_mbit) + _setter("vdp_maximum_mbit", vdp_maximum_mbit) if vdp_reservation_mbit is not None: - pulumi.set(__self__, "vdp_reservation_mbit", vdp_reservation_mbit) + _setter("vdp_reservation_mbit", vdp_reservation_mbit) if vdp_share_count is not None: - pulumi.set(__self__, "vdp_share_count", vdp_share_count) + _setter("vdp_share_count", vdp_share_count) if vdp_share_level is not None: - pulumi.set(__self__, "vdp_share_level", vdp_share_level) + _setter("vdp_share_level", vdp_share_level) if version is not None: - pulumi.set(__self__, "version", version) + _setter("version", version) if virtualmachine_maximum_mbit is not None: - pulumi.set(__self__, "virtualmachine_maximum_mbit", virtualmachine_maximum_mbit) + _setter("virtualmachine_maximum_mbit", virtualmachine_maximum_mbit) if virtualmachine_reservation_mbit is not None: - pulumi.set(__self__, "virtualmachine_reservation_mbit", virtualmachine_reservation_mbit) + _setter("virtualmachine_reservation_mbit", virtualmachine_reservation_mbit) if virtualmachine_share_count is not None: - pulumi.set(__self__, "virtualmachine_share_count", virtualmachine_share_count) + _setter("virtualmachine_share_count", virtualmachine_share_count) if virtualmachine_share_level is not None: - pulumi.set(__self__, "virtualmachine_share_level", virtualmachine_share_level) + _setter("virtualmachine_share_level", virtualmachine_share_level) if vlan_id is not None: - pulumi.set(__self__, "vlan_id", vlan_id) + _setter("vlan_id", vlan_id) if vlan_ranges is not None: - pulumi.set(__self__, "vlan_ranges", vlan_ranges) + _setter("vlan_ranges", vlan_ranges) if vmotion_maximum_mbit is not None: - pulumi.set(__self__, "vmotion_maximum_mbit", vmotion_maximum_mbit) + _setter("vmotion_maximum_mbit", vmotion_maximum_mbit) if vmotion_reservation_mbit is not None: - pulumi.set(__self__, "vmotion_reservation_mbit", vmotion_reservation_mbit) + _setter("vmotion_reservation_mbit", vmotion_reservation_mbit) if vmotion_share_count is not None: - pulumi.set(__self__, "vmotion_share_count", vmotion_share_count) + _setter("vmotion_share_count", vmotion_share_count) if vmotion_share_level is not None: - pulumi.set(__self__, "vmotion_share_level", vmotion_share_level) + _setter("vmotion_share_level", vmotion_share_level) if vsan_maximum_mbit is not None: - pulumi.set(__self__, "vsan_maximum_mbit", vsan_maximum_mbit) + _setter("vsan_maximum_mbit", vsan_maximum_mbit) if vsan_reservation_mbit is not None: - pulumi.set(__self__, "vsan_reservation_mbit", vsan_reservation_mbit) + _setter("vsan_reservation_mbit", vsan_reservation_mbit) if vsan_share_count is not None: - pulumi.set(__self__, "vsan_share_count", vsan_share_count) + _setter("vsan_share_count", vsan_share_count) if vsan_share_level is not None: - pulumi.set(__self__, "vsan_share_level", vsan_share_level) + _setter("vsan_share_level", vsan_share_level) @property @pulumi.getter(name="activeUplinks") @@ -3731,6 +4123,10 @@ def __init__(__self__, resource_name: str, *args, **kwargs): if resource_args is not None: __self__._internal_init(resource_name, opts, **resource_args.__dict__) else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + DistributedVirtualSwitchArgs._configure(_setter, **kwargs) __self__._internal_init(resource_name, *args, **kwargs) def _internal_init(__self__, diff --git a/sdk/python/pulumi_vsphere/dpm_host_override.py b/sdk/python/pulumi_vsphere/dpm_host_override.py index 1e894678..5681e9ad 100644 --- a/sdk/python/pulumi_vsphere/dpm_host_override.py +++ b/sdk/python/pulumi_vsphere/dpm_host_override.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities __all__ = ['DpmHostOverrideArgs', 'DpmHostOverride'] @@ -34,12 +34,27 @@ def __init__(__self__, *, :param pulumi.Input[bool] dpm_enabled: Enable DPM support for this host. Default: `false`. """ - pulumi.set(__self__, "compute_cluster_id", compute_cluster_id) - pulumi.set(__self__, "host_system_id", host_system_id) + DpmHostOverrideArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + compute_cluster_id=compute_cluster_id, + host_system_id=host_system_id, + dpm_automation_level=dpm_automation_level, + dpm_enabled=dpm_enabled, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + compute_cluster_id: pulumi.Input[str], + host_system_id: pulumi.Input[str], + dpm_automation_level: Optional[pulumi.Input[str]] = None, + dpm_enabled: Optional[pulumi.Input[bool]] = None, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("compute_cluster_id", compute_cluster_id) + _setter("host_system_id", host_system_id) if dpm_automation_level is not None: - pulumi.set(__self__, "dpm_automation_level", dpm_automation_level) + _setter("dpm_automation_level", dpm_automation_level) if dpm_enabled is not None: - pulumi.set(__self__, "dpm_enabled", dpm_enabled) + _setter("dpm_enabled", dpm_enabled) @property @pulumi.getter(name="computeClusterId") @@ -122,14 +137,29 @@ def __init__(__self__, *, `false`. :param pulumi.Input[str] host_system_id: The managed object ID of the host. """ + _DpmHostOverrideState._configure( + lambda key, value: pulumi.set(__self__, key, value), + compute_cluster_id=compute_cluster_id, + dpm_automation_level=dpm_automation_level, + dpm_enabled=dpm_enabled, + host_system_id=host_system_id, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + compute_cluster_id: Optional[pulumi.Input[str]] = None, + dpm_automation_level: Optional[pulumi.Input[str]] = None, + dpm_enabled: Optional[pulumi.Input[bool]] = None, + host_system_id: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None): if compute_cluster_id is not None: - pulumi.set(__self__, "compute_cluster_id", compute_cluster_id) + _setter("compute_cluster_id", compute_cluster_id) if dpm_automation_level is not None: - pulumi.set(__self__, "dpm_automation_level", dpm_automation_level) + _setter("dpm_automation_level", dpm_automation_level) if dpm_enabled is not None: - pulumi.set(__self__, "dpm_enabled", dpm_enabled) + _setter("dpm_enabled", dpm_enabled) if host_system_id is not None: - pulumi.set(__self__, "host_system_id", host_system_id) + _setter("host_system_id", host_system_id) @property @pulumi.getter(name="computeClusterId") @@ -235,6 +265,10 @@ def __init__(__self__, resource_name: str, *args, **kwargs): if resource_args is not None: __self__._internal_init(resource_name, opts, **resource_args.__dict__) else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + DpmHostOverrideArgs._configure(_setter, **kwargs) __self__._internal_init(resource_name, *args, **kwargs) def _internal_init(__self__, diff --git a/sdk/python/pulumi_vsphere/drs_vm_override.py b/sdk/python/pulumi_vsphere/drs_vm_override.py index b4ea785b..05d1903b 100644 --- a/sdk/python/pulumi_vsphere/drs_vm_override.py +++ b/sdk/python/pulumi_vsphere/drs_vm_override.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities __all__ = ['DrsVmOverrideArgs', 'DrsVmOverride'] @@ -35,12 +35,27 @@ def __init__(__self__, *, :param pulumi.Input[bool] drs_enabled: Overrides the default DRS setting for this virtual machine. Can be either `true` or `false`. Default: `false`. """ - pulumi.set(__self__, "compute_cluster_id", compute_cluster_id) - pulumi.set(__self__, "virtual_machine_id", virtual_machine_id) + DrsVmOverrideArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + compute_cluster_id=compute_cluster_id, + virtual_machine_id=virtual_machine_id, + drs_automation_level=drs_automation_level, + drs_enabled=drs_enabled, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + compute_cluster_id: pulumi.Input[str], + virtual_machine_id: pulumi.Input[str], + drs_automation_level: Optional[pulumi.Input[str]] = None, + drs_enabled: Optional[pulumi.Input[bool]] = None, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("compute_cluster_id", compute_cluster_id) + _setter("virtual_machine_id", virtual_machine_id) if drs_automation_level is not None: - pulumi.set(__self__, "drs_automation_level", drs_automation_level) + _setter("drs_automation_level", drs_automation_level) if drs_enabled is not None: - pulumi.set(__self__, "drs_enabled", drs_enabled) + _setter("drs_enabled", drs_enabled) @property @pulumi.getter(name="computeClusterId") @@ -125,14 +140,29 @@ def __init__(__self__, *, :param pulumi.Input[str] virtual_machine_id: The UUID of the virtual machine to create the override for. Forces a new resource if changed. """ + _DrsVmOverrideState._configure( + lambda key, value: pulumi.set(__self__, key, value), + compute_cluster_id=compute_cluster_id, + drs_automation_level=drs_automation_level, + drs_enabled=drs_enabled, + virtual_machine_id=virtual_machine_id, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + compute_cluster_id: Optional[pulumi.Input[str]] = None, + drs_automation_level: Optional[pulumi.Input[str]] = None, + drs_enabled: Optional[pulumi.Input[bool]] = None, + virtual_machine_id: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None): if compute_cluster_id is not None: - pulumi.set(__self__, "compute_cluster_id", compute_cluster_id) + _setter("compute_cluster_id", compute_cluster_id) if drs_automation_level is not None: - pulumi.set(__self__, "drs_automation_level", drs_automation_level) + _setter("drs_automation_level", drs_automation_level) if drs_enabled is not None: - pulumi.set(__self__, "drs_enabled", drs_enabled) + _setter("drs_enabled", drs_enabled) if virtual_machine_id is not None: - pulumi.set(__self__, "virtual_machine_id", virtual_machine_id) + _setter("virtual_machine_id", virtual_machine_id) @property @pulumi.getter(name="computeClusterId") @@ -240,6 +270,10 @@ def __init__(__self__, resource_name: str, *args, **kwargs): if resource_args is not None: __self__._internal_init(resource_name, opts, **resource_args.__dict__) else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + DrsVmOverrideArgs._configure(_setter, **kwargs) __self__._internal_init(resource_name, *args, **kwargs) def _internal_init(__self__, diff --git a/sdk/python/pulumi_vsphere/entity_permissions.py b/sdk/python/pulumi_vsphere/entity_permissions.py index 11b6732c..51d41d02 100644 --- a/sdk/python/pulumi_vsphere/entity_permissions.py +++ b/sdk/python/pulumi_vsphere/entity_permissions.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities from . import outputs from ._inputs import * @@ -27,9 +27,22 @@ def __init__(__self__, *, :param pulumi.Input[Sequence[pulumi.Input['EntityPermissionsPermissionArgs']]] permissions: The permissions to be given on this entity. Keep the permissions sorted alphabetically on `user_or_group` for a better user experience. """ - pulumi.set(__self__, "entity_id", entity_id) - pulumi.set(__self__, "entity_type", entity_type) - pulumi.set(__self__, "permissions", permissions) + EntityPermissionsArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + entity_id=entity_id, + entity_type=entity_type, + permissions=permissions, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + entity_id: pulumi.Input[str], + entity_type: pulumi.Input[str], + permissions: pulumi.Input[Sequence[pulumi.Input['EntityPermissionsPermissionArgs']]], + opts: Optional[pulumi.ResourceOptions]=None): + _setter("entity_id", entity_id) + _setter("entity_type", entity_type) + _setter("permissions", permissions) @property @pulumi.getter(name="entityId") @@ -84,12 +97,25 @@ def __init__(__self__, *, :param pulumi.Input[Sequence[pulumi.Input['EntityPermissionsPermissionArgs']]] permissions: The permissions to be given on this entity. Keep the permissions sorted alphabetically on `user_or_group` for a better user experience. """ + _EntityPermissionsState._configure( + lambda key, value: pulumi.set(__self__, key, value), + entity_id=entity_id, + entity_type=entity_type, + permissions=permissions, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + entity_id: Optional[pulumi.Input[str]] = None, + entity_type: Optional[pulumi.Input[str]] = None, + permissions: Optional[pulumi.Input[Sequence[pulumi.Input['EntityPermissionsPermissionArgs']]]] = None, + opts: Optional[pulumi.ResourceOptions]=None): if entity_id is not None: - pulumi.set(__self__, "entity_id", entity_id) + _setter("entity_id", entity_id) if entity_type is not None: - pulumi.set(__self__, "entity_type", entity_type) + _setter("entity_type", entity_type) if permissions is not None: - pulumi.set(__self__, "permissions", permissions) + _setter("permissions", permissions) @property @pulumi.getter(name="entityId") @@ -167,6 +193,10 @@ def __init__(__self__, resource_name: str, *args, **kwargs): if resource_args is not None: __self__._internal_init(resource_name, opts, **resource_args.__dict__) else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + EntityPermissionsArgs._configure(_setter, **kwargs) __self__._internal_init(resource_name, *args, **kwargs) def _internal_init(__self__, diff --git a/sdk/python/pulumi_vsphere/file.py b/sdk/python/pulumi_vsphere/file.py index 1339ac7f..2c3d3363 100644 --- a/sdk/python/pulumi_vsphere/file.py +++ b/sdk/python/pulumi_vsphere/file.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities __all__ = ['FileArgs', 'File'] @@ -40,17 +40,38 @@ def __init__(__self__, *, :param pulumi.Input[str] source_datastore: The name of the datastore from which file will be copied. Forces a new resource if changed. """ - pulumi.set(__self__, "datastore", datastore) - pulumi.set(__self__, "destination_file", destination_file) - pulumi.set(__self__, "source_file", source_file) + FileArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + datastore=datastore, + destination_file=destination_file, + source_file=source_file, + create_directories=create_directories, + datacenter=datacenter, + source_datacenter=source_datacenter, + source_datastore=source_datastore, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + datastore: pulumi.Input[str], + destination_file: pulumi.Input[str], + source_file: pulumi.Input[str], + create_directories: Optional[pulumi.Input[bool]] = None, + datacenter: Optional[pulumi.Input[str]] = None, + source_datacenter: Optional[pulumi.Input[str]] = None, + source_datastore: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("datastore", datastore) + _setter("destination_file", destination_file) + _setter("source_file", source_file) if create_directories is not None: - pulumi.set(__self__, "create_directories", create_directories) + _setter("create_directories", create_directories) if datacenter is not None: - pulumi.set(__self__, "datacenter", datacenter) + _setter("datacenter", datacenter) if source_datacenter is not None: - pulumi.set(__self__, "source_datacenter", source_datacenter) + _setter("source_datacenter", source_datacenter) if source_datastore is not None: - pulumi.set(__self__, "source_datastore", source_datastore) + _setter("source_datastore", source_datastore) @property @pulumi.getter @@ -173,20 +194,41 @@ def __init__(__self__, *, :param pulumi.Input[str] source_datastore: The name of the datastore from which file will be copied. Forces a new resource if changed. """ + _FileState._configure( + lambda key, value: pulumi.set(__self__, key, value), + create_directories=create_directories, + datacenter=datacenter, + datastore=datastore, + destination_file=destination_file, + source_datacenter=source_datacenter, + source_datastore=source_datastore, + source_file=source_file, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + create_directories: Optional[pulumi.Input[bool]] = None, + datacenter: Optional[pulumi.Input[str]] = None, + datastore: Optional[pulumi.Input[str]] = None, + destination_file: Optional[pulumi.Input[str]] = None, + source_datacenter: Optional[pulumi.Input[str]] = None, + source_datastore: Optional[pulumi.Input[str]] = None, + source_file: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None): if create_directories is not None: - pulumi.set(__self__, "create_directories", create_directories) + _setter("create_directories", create_directories) if datacenter is not None: - pulumi.set(__self__, "datacenter", datacenter) + _setter("datacenter", datacenter) if datastore is not None: - pulumi.set(__self__, "datastore", datastore) + _setter("datastore", datastore) if destination_file is not None: - pulumi.set(__self__, "destination_file", destination_file) + _setter("destination_file", destination_file) if source_datacenter is not None: - pulumi.set(__self__, "source_datacenter", source_datacenter) + _setter("source_datacenter", source_datacenter) if source_datastore is not None: - pulumi.set(__self__, "source_datastore", source_datastore) + _setter("source_datastore", source_datastore) if source_file is not None: - pulumi.set(__self__, "source_file", source_file) + _setter("source_file", source_file) @property @pulumi.getter(name="createDirectories") @@ -390,6 +432,10 @@ def __init__(__self__, resource_name: str, *args, **kwargs): if resource_args is not None: __self__._internal_init(resource_name, opts, **resource_args.__dict__) else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + FileArgs._configure(_setter, **kwargs) __self__._internal_init(resource_name, *args, **kwargs) def _internal_init(__self__, diff --git a/sdk/python/pulumi_vsphere/folder.py b/sdk/python/pulumi_vsphere/folder.py index 749a22a3..6057f097 100644 --- a/sdk/python/pulumi_vsphere/folder.py +++ b/sdk/python/pulumi_vsphere/folder.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities __all__ = ['FolderArgs', 'Folder'] @@ -52,14 +52,31 @@ def __init__(__self__, *, > **NOTE:** Tagging support is unsupported on direct ESXi connections and requires vCenter 6.0 or higher. """ - pulumi.set(__self__, "path", path) - pulumi.set(__self__, "type", type) + FolderArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + path=path, + type=type, + custom_attributes=custom_attributes, + datacenter_id=datacenter_id, + tags=tags, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + path: pulumi.Input[str], + type: pulumi.Input[str], + custom_attributes: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + datacenter_id: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("path", path) + _setter("type", type) if custom_attributes is not None: - pulumi.set(__self__, "custom_attributes", custom_attributes) + _setter("custom_attributes", custom_attributes) if datacenter_id is not None: - pulumi.set(__self__, "datacenter_id", datacenter_id) + _setter("datacenter_id", datacenter_id) if tags is not None: - pulumi.set(__self__, "tags", tags) + _setter("tags", tags) @property @pulumi.getter @@ -188,16 +205,33 @@ def __init__(__self__, *, `vm` for virtual machine folders, `datastore` for datastore folders, and `network` for network folders. Forces a new resource if changed. """ + _FolderState._configure( + lambda key, value: pulumi.set(__self__, key, value), + custom_attributes=custom_attributes, + datacenter_id=datacenter_id, + path=path, + tags=tags, + type=type, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + custom_attributes: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + datacenter_id: Optional[pulumi.Input[str]] = None, + path: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + type: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None): if custom_attributes is not None: - pulumi.set(__self__, "custom_attributes", custom_attributes) + _setter("custom_attributes", custom_attributes) if datacenter_id is not None: - pulumi.set(__self__, "datacenter_id", datacenter_id) + _setter("datacenter_id", datacenter_id) if path is not None: - pulumi.set(__self__, "path", path) + _setter("path", path) if tags is not None: - pulumi.set(__self__, "tags", tags) + _setter("tags", tags) if type is not None: - pulumi.set(__self__, "type", type) + _setter("type", type) @property @pulumi.getter(name="customAttributes") @@ -349,6 +383,10 @@ def __init__(__self__, resource_name: str, *args, **kwargs): if resource_args is not None: __self__._internal_init(resource_name, opts, **resource_args.__dict__) else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + FolderArgs._configure(_setter, **kwargs) __self__._internal_init(resource_name, *args, **kwargs) def _internal_init(__self__, diff --git a/sdk/python/pulumi_vsphere/get_compute_cluster.py b/sdk/python/pulumi_vsphere/get_compute_cluster.py index 7add99a1..ab21e86c 100644 --- a/sdk/python/pulumi_vsphere/get_compute_cluster.py +++ b/sdk/python/pulumi_vsphere/get_compute_cluster.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities __all__ = [ diff --git a/sdk/python/pulumi_vsphere/get_compute_cluster_host_group.py b/sdk/python/pulumi_vsphere/get_compute_cluster_host_group.py index 7002a08a..706a26f6 100644 --- a/sdk/python/pulumi_vsphere/get_compute_cluster_host_group.py +++ b/sdk/python/pulumi_vsphere/get_compute_cluster_host_group.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities __all__ = [ diff --git a/sdk/python/pulumi_vsphere/get_content_library.py b/sdk/python/pulumi_vsphere/get_content_library.py index 697b9dff..12fd14ca 100644 --- a/sdk/python/pulumi_vsphere/get_content_library.py +++ b/sdk/python/pulumi_vsphere/get_content_library.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities __all__ = [ diff --git a/sdk/python/pulumi_vsphere/get_content_library_item.py b/sdk/python/pulumi_vsphere/get_content_library_item.py index 9356e5f3..a52ed20f 100644 --- a/sdk/python/pulumi_vsphere/get_content_library_item.py +++ b/sdk/python/pulumi_vsphere/get_content_library_item.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities __all__ = [ diff --git a/sdk/python/pulumi_vsphere/get_custom_attribute.py b/sdk/python/pulumi_vsphere/get_custom_attribute.py index eb738aaa..eb5f075e 100644 --- a/sdk/python/pulumi_vsphere/get_custom_attribute.py +++ b/sdk/python/pulumi_vsphere/get_custom_attribute.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities __all__ = [ diff --git a/sdk/python/pulumi_vsphere/get_datacenter.py b/sdk/python/pulumi_vsphere/get_datacenter.py index 42e67534..1fb70cb7 100644 --- a/sdk/python/pulumi_vsphere/get_datacenter.py +++ b/sdk/python/pulumi_vsphere/get_datacenter.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities __all__ = [ diff --git a/sdk/python/pulumi_vsphere/get_datastore.py b/sdk/python/pulumi_vsphere/get_datastore.py index 44a7afaf..6d63a307 100644 --- a/sdk/python/pulumi_vsphere/get_datastore.py +++ b/sdk/python/pulumi_vsphere/get_datastore.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities __all__ = [ diff --git a/sdk/python/pulumi_vsphere/get_datastore_cluster.py b/sdk/python/pulumi_vsphere/get_datastore_cluster.py index 82bd9c81..dcac8e70 100644 --- a/sdk/python/pulumi_vsphere/get_datastore_cluster.py +++ b/sdk/python/pulumi_vsphere/get_datastore_cluster.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities __all__ = [ diff --git a/sdk/python/pulumi_vsphere/get_distributed_virtual_switch.py b/sdk/python/pulumi_vsphere/get_distributed_virtual_switch.py index d67e206f..778397d3 100644 --- a/sdk/python/pulumi_vsphere/get_distributed_virtual_switch.py +++ b/sdk/python/pulumi_vsphere/get_distributed_virtual_switch.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities __all__ = [ diff --git a/sdk/python/pulumi_vsphere/get_dynamic.py b/sdk/python/pulumi_vsphere/get_dynamic.py index e27048a9..098d83eb 100644 --- a/sdk/python/pulumi_vsphere/get_dynamic.py +++ b/sdk/python/pulumi_vsphere/get_dynamic.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities __all__ = [ diff --git a/sdk/python/pulumi_vsphere/get_folder.py b/sdk/python/pulumi_vsphere/get_folder.py index 70bd84c8..ab7fe73d 100644 --- a/sdk/python/pulumi_vsphere/get_folder.py +++ b/sdk/python/pulumi_vsphere/get_folder.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities __all__ = [ diff --git a/sdk/python/pulumi_vsphere/get_host.py b/sdk/python/pulumi_vsphere/get_host.py index f2c28dac..81beea6e 100644 --- a/sdk/python/pulumi_vsphere/get_host.py +++ b/sdk/python/pulumi_vsphere/get_host.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities __all__ = [ diff --git a/sdk/python/pulumi_vsphere/get_host_pci_device.py b/sdk/python/pulumi_vsphere/get_host_pci_device.py index 47350683..0a682c89 100644 --- a/sdk/python/pulumi_vsphere/get_host_pci_device.py +++ b/sdk/python/pulumi_vsphere/get_host_pci_device.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities __all__ = [ diff --git a/sdk/python/pulumi_vsphere/get_host_thumbprint.py b/sdk/python/pulumi_vsphere/get_host_thumbprint.py index c066dced..0e206092 100644 --- a/sdk/python/pulumi_vsphere/get_host_thumbprint.py +++ b/sdk/python/pulumi_vsphere/get_host_thumbprint.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities __all__ = [ diff --git a/sdk/python/pulumi_vsphere/get_license.py b/sdk/python/pulumi_vsphere/get_license.py index 0acb4dfe..4d7fe06e 100644 --- a/sdk/python/pulumi_vsphere/get_license.py +++ b/sdk/python/pulumi_vsphere/get_license.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities __all__ = [ diff --git a/sdk/python/pulumi_vsphere/get_network.py b/sdk/python/pulumi_vsphere/get_network.py index d0016610..1b3a2a97 100644 --- a/sdk/python/pulumi_vsphere/get_network.py +++ b/sdk/python/pulumi_vsphere/get_network.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities __all__ = [ diff --git a/sdk/python/pulumi_vsphere/get_ovf_vm_template.py b/sdk/python/pulumi_vsphere/get_ovf_vm_template.py index 51b880e9..2ad10dff 100644 --- a/sdk/python/pulumi_vsphere/get_ovf_vm_template.py +++ b/sdk/python/pulumi_vsphere/get_ovf_vm_template.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities __all__ = [ diff --git a/sdk/python/pulumi_vsphere/get_policy.py b/sdk/python/pulumi_vsphere/get_policy.py index e666bc69..85f0641d 100644 --- a/sdk/python/pulumi_vsphere/get_policy.py +++ b/sdk/python/pulumi_vsphere/get_policy.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities __all__ = [ diff --git a/sdk/python/pulumi_vsphere/get_resource_pool.py b/sdk/python/pulumi_vsphere/get_resource_pool.py index a178fec5..d900773d 100644 --- a/sdk/python/pulumi_vsphere/get_resource_pool.py +++ b/sdk/python/pulumi_vsphere/get_resource_pool.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities __all__ = [ diff --git a/sdk/python/pulumi_vsphere/get_role.py b/sdk/python/pulumi_vsphere/get_role.py index 3ac9ffed..ade2852c 100644 --- a/sdk/python/pulumi_vsphere/get_role.py +++ b/sdk/python/pulumi_vsphere/get_role.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities __all__ = [ diff --git a/sdk/python/pulumi_vsphere/get_tag.py b/sdk/python/pulumi_vsphere/get_tag.py index c0421c4b..14e64fd7 100644 --- a/sdk/python/pulumi_vsphere/get_tag.py +++ b/sdk/python/pulumi_vsphere/get_tag.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities __all__ = [ diff --git a/sdk/python/pulumi_vsphere/get_tag_category.py b/sdk/python/pulumi_vsphere/get_tag_category.py index 5d97d3de..368dfb8d 100644 --- a/sdk/python/pulumi_vsphere/get_tag_category.py +++ b/sdk/python/pulumi_vsphere/get_tag_category.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities __all__ = [ diff --git a/sdk/python/pulumi_vsphere/get_vapp_container.py b/sdk/python/pulumi_vsphere/get_vapp_container.py index e394ea9e..c78fa1d9 100644 --- a/sdk/python/pulumi_vsphere/get_vapp_container.py +++ b/sdk/python/pulumi_vsphere/get_vapp_container.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities __all__ = [ diff --git a/sdk/python/pulumi_vsphere/get_virtual_machine.py b/sdk/python/pulumi_vsphere/get_virtual_machine.py index 6fa173e4..8b3878c7 100644 --- a/sdk/python/pulumi_vsphere/get_virtual_machine.py +++ b/sdk/python/pulumi_vsphere/get_virtual_machine.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities from . import outputs from ._inputs import * diff --git a/sdk/python/pulumi_vsphere/get_vmfs_disks.py b/sdk/python/pulumi_vsphere/get_vmfs_disks.py index 8eec581c..e057cfe9 100644 --- a/sdk/python/pulumi_vsphere/get_vmfs_disks.py +++ b/sdk/python/pulumi_vsphere/get_vmfs_disks.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities __all__ = [ diff --git a/sdk/python/pulumi_vsphere/ha_vm_override.py b/sdk/python/pulumi_vsphere/ha_vm_override.py index 1f795073..490d9bdb 100644 --- a/sdk/python/pulumi_vsphere/ha_vm_override.py +++ b/sdk/python/pulumi_vsphere/ha_vm_override.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities __all__ = ['HaVmOverrideArgs', 'HaVmOverride'] @@ -86,34 +86,71 @@ def __init__(__self__, *, vSphere HA will wait for this virtual machine to be ready. Use `-1` to specify the cluster default. Default: `-1`. """ - pulumi.set(__self__, "compute_cluster_id", compute_cluster_id) - pulumi.set(__self__, "virtual_machine_id", virtual_machine_id) + HaVmOverrideArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + compute_cluster_id=compute_cluster_id, + virtual_machine_id=virtual_machine_id, + ha_datastore_apd_recovery_action=ha_datastore_apd_recovery_action, + ha_datastore_apd_response=ha_datastore_apd_response, + ha_datastore_apd_response_delay=ha_datastore_apd_response_delay, + ha_datastore_pdl_response=ha_datastore_pdl_response, + ha_host_isolation_response=ha_host_isolation_response, + ha_vm_failure_interval=ha_vm_failure_interval, + ha_vm_maximum_failure_window=ha_vm_maximum_failure_window, + ha_vm_maximum_resets=ha_vm_maximum_resets, + ha_vm_minimum_uptime=ha_vm_minimum_uptime, + ha_vm_monitoring=ha_vm_monitoring, + ha_vm_monitoring_use_cluster_defaults=ha_vm_monitoring_use_cluster_defaults, + ha_vm_restart_priority=ha_vm_restart_priority, + ha_vm_restart_timeout=ha_vm_restart_timeout, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + compute_cluster_id: pulumi.Input[str], + virtual_machine_id: pulumi.Input[str], + ha_datastore_apd_recovery_action: Optional[pulumi.Input[str]] = None, + ha_datastore_apd_response: Optional[pulumi.Input[str]] = None, + ha_datastore_apd_response_delay: Optional[pulumi.Input[int]] = None, + ha_datastore_pdl_response: Optional[pulumi.Input[str]] = None, + ha_host_isolation_response: Optional[pulumi.Input[str]] = None, + ha_vm_failure_interval: Optional[pulumi.Input[int]] = None, + ha_vm_maximum_failure_window: Optional[pulumi.Input[int]] = None, + ha_vm_maximum_resets: Optional[pulumi.Input[int]] = None, + ha_vm_minimum_uptime: Optional[pulumi.Input[int]] = None, + ha_vm_monitoring: Optional[pulumi.Input[str]] = None, + ha_vm_monitoring_use_cluster_defaults: Optional[pulumi.Input[bool]] = None, + ha_vm_restart_priority: Optional[pulumi.Input[str]] = None, + ha_vm_restart_timeout: Optional[pulumi.Input[int]] = None, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("compute_cluster_id", compute_cluster_id) + _setter("virtual_machine_id", virtual_machine_id) if ha_datastore_apd_recovery_action is not None: - pulumi.set(__self__, "ha_datastore_apd_recovery_action", ha_datastore_apd_recovery_action) + _setter("ha_datastore_apd_recovery_action", ha_datastore_apd_recovery_action) if ha_datastore_apd_response is not None: - pulumi.set(__self__, "ha_datastore_apd_response", ha_datastore_apd_response) + _setter("ha_datastore_apd_response", ha_datastore_apd_response) if ha_datastore_apd_response_delay is not None: - pulumi.set(__self__, "ha_datastore_apd_response_delay", ha_datastore_apd_response_delay) + _setter("ha_datastore_apd_response_delay", ha_datastore_apd_response_delay) if ha_datastore_pdl_response is not None: - pulumi.set(__self__, "ha_datastore_pdl_response", ha_datastore_pdl_response) + _setter("ha_datastore_pdl_response", ha_datastore_pdl_response) if ha_host_isolation_response is not None: - pulumi.set(__self__, "ha_host_isolation_response", ha_host_isolation_response) + _setter("ha_host_isolation_response", ha_host_isolation_response) if ha_vm_failure_interval is not None: - pulumi.set(__self__, "ha_vm_failure_interval", ha_vm_failure_interval) + _setter("ha_vm_failure_interval", ha_vm_failure_interval) if ha_vm_maximum_failure_window is not None: - pulumi.set(__self__, "ha_vm_maximum_failure_window", ha_vm_maximum_failure_window) + _setter("ha_vm_maximum_failure_window", ha_vm_maximum_failure_window) if ha_vm_maximum_resets is not None: - pulumi.set(__self__, "ha_vm_maximum_resets", ha_vm_maximum_resets) + _setter("ha_vm_maximum_resets", ha_vm_maximum_resets) if ha_vm_minimum_uptime is not None: - pulumi.set(__self__, "ha_vm_minimum_uptime", ha_vm_minimum_uptime) + _setter("ha_vm_minimum_uptime", ha_vm_minimum_uptime) if ha_vm_monitoring is not None: - pulumi.set(__self__, "ha_vm_monitoring", ha_vm_monitoring) + _setter("ha_vm_monitoring", ha_vm_monitoring) if ha_vm_monitoring_use_cluster_defaults is not None: - pulumi.set(__self__, "ha_vm_monitoring_use_cluster_defaults", ha_vm_monitoring_use_cluster_defaults) + _setter("ha_vm_monitoring_use_cluster_defaults", ha_vm_monitoring_use_cluster_defaults) if ha_vm_restart_priority is not None: - pulumi.set(__self__, "ha_vm_restart_priority", ha_vm_restart_priority) + _setter("ha_vm_restart_priority", ha_vm_restart_priority) if ha_vm_restart_timeout is not None: - pulumi.set(__self__, "ha_vm_restart_timeout", ha_vm_restart_timeout) + _setter("ha_vm_restart_timeout", ha_vm_restart_timeout) @property @pulumi.getter(name="computeClusterId") @@ -410,36 +447,73 @@ def __init__(__self__, *, :param pulumi.Input[str] virtual_machine_id: The UUID of the virtual machine to create the override for. Forces a new resource if changed. """ + _HaVmOverrideState._configure( + lambda key, value: pulumi.set(__self__, key, value), + compute_cluster_id=compute_cluster_id, + ha_datastore_apd_recovery_action=ha_datastore_apd_recovery_action, + ha_datastore_apd_response=ha_datastore_apd_response, + ha_datastore_apd_response_delay=ha_datastore_apd_response_delay, + ha_datastore_pdl_response=ha_datastore_pdl_response, + ha_host_isolation_response=ha_host_isolation_response, + ha_vm_failure_interval=ha_vm_failure_interval, + ha_vm_maximum_failure_window=ha_vm_maximum_failure_window, + ha_vm_maximum_resets=ha_vm_maximum_resets, + ha_vm_minimum_uptime=ha_vm_minimum_uptime, + ha_vm_monitoring=ha_vm_monitoring, + ha_vm_monitoring_use_cluster_defaults=ha_vm_monitoring_use_cluster_defaults, + ha_vm_restart_priority=ha_vm_restart_priority, + ha_vm_restart_timeout=ha_vm_restart_timeout, + virtual_machine_id=virtual_machine_id, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + compute_cluster_id: Optional[pulumi.Input[str]] = None, + ha_datastore_apd_recovery_action: Optional[pulumi.Input[str]] = None, + ha_datastore_apd_response: Optional[pulumi.Input[str]] = None, + ha_datastore_apd_response_delay: Optional[pulumi.Input[int]] = None, + ha_datastore_pdl_response: Optional[pulumi.Input[str]] = None, + ha_host_isolation_response: Optional[pulumi.Input[str]] = None, + ha_vm_failure_interval: Optional[pulumi.Input[int]] = None, + ha_vm_maximum_failure_window: Optional[pulumi.Input[int]] = None, + ha_vm_maximum_resets: Optional[pulumi.Input[int]] = None, + ha_vm_minimum_uptime: Optional[pulumi.Input[int]] = None, + ha_vm_monitoring: Optional[pulumi.Input[str]] = None, + ha_vm_monitoring_use_cluster_defaults: Optional[pulumi.Input[bool]] = None, + ha_vm_restart_priority: Optional[pulumi.Input[str]] = None, + ha_vm_restart_timeout: Optional[pulumi.Input[int]] = None, + virtual_machine_id: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None): if compute_cluster_id is not None: - pulumi.set(__self__, "compute_cluster_id", compute_cluster_id) + _setter("compute_cluster_id", compute_cluster_id) if ha_datastore_apd_recovery_action is not None: - pulumi.set(__self__, "ha_datastore_apd_recovery_action", ha_datastore_apd_recovery_action) + _setter("ha_datastore_apd_recovery_action", ha_datastore_apd_recovery_action) if ha_datastore_apd_response is not None: - pulumi.set(__self__, "ha_datastore_apd_response", ha_datastore_apd_response) + _setter("ha_datastore_apd_response", ha_datastore_apd_response) if ha_datastore_apd_response_delay is not None: - pulumi.set(__self__, "ha_datastore_apd_response_delay", ha_datastore_apd_response_delay) + _setter("ha_datastore_apd_response_delay", ha_datastore_apd_response_delay) if ha_datastore_pdl_response is not None: - pulumi.set(__self__, "ha_datastore_pdl_response", ha_datastore_pdl_response) + _setter("ha_datastore_pdl_response", ha_datastore_pdl_response) if ha_host_isolation_response is not None: - pulumi.set(__self__, "ha_host_isolation_response", ha_host_isolation_response) + _setter("ha_host_isolation_response", ha_host_isolation_response) if ha_vm_failure_interval is not None: - pulumi.set(__self__, "ha_vm_failure_interval", ha_vm_failure_interval) + _setter("ha_vm_failure_interval", ha_vm_failure_interval) if ha_vm_maximum_failure_window is not None: - pulumi.set(__self__, "ha_vm_maximum_failure_window", ha_vm_maximum_failure_window) + _setter("ha_vm_maximum_failure_window", ha_vm_maximum_failure_window) if ha_vm_maximum_resets is not None: - pulumi.set(__self__, "ha_vm_maximum_resets", ha_vm_maximum_resets) + _setter("ha_vm_maximum_resets", ha_vm_maximum_resets) if ha_vm_minimum_uptime is not None: - pulumi.set(__self__, "ha_vm_minimum_uptime", ha_vm_minimum_uptime) + _setter("ha_vm_minimum_uptime", ha_vm_minimum_uptime) if ha_vm_monitoring is not None: - pulumi.set(__self__, "ha_vm_monitoring", ha_vm_monitoring) + _setter("ha_vm_monitoring", ha_vm_monitoring) if ha_vm_monitoring_use_cluster_defaults is not None: - pulumi.set(__self__, "ha_vm_monitoring_use_cluster_defaults", ha_vm_monitoring_use_cluster_defaults) + _setter("ha_vm_monitoring_use_cluster_defaults", ha_vm_monitoring_use_cluster_defaults) if ha_vm_restart_priority is not None: - pulumi.set(__self__, "ha_vm_restart_priority", ha_vm_restart_priority) + _setter("ha_vm_restart_priority", ha_vm_restart_priority) if ha_vm_restart_timeout is not None: - pulumi.set(__self__, "ha_vm_restart_timeout", ha_vm_restart_timeout) + _setter("ha_vm_restart_timeout", ha_vm_restart_timeout) if virtual_machine_id is not None: - pulumi.set(__self__, "virtual_machine_id", virtual_machine_id) + _setter("virtual_machine_id", virtual_machine_id) @property @pulumi.getter(name="computeClusterId") @@ -759,6 +833,10 @@ def __init__(__self__, resource_name: str, *args, **kwargs): if resource_args is not None: __self__._internal_init(resource_name, opts, **resource_args.__dict__) else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + HaVmOverrideArgs._configure(_setter, **kwargs) __self__._internal_init(resource_name, *args, **kwargs) def _internal_init(__self__, diff --git a/sdk/python/pulumi_vsphere/host.py b/sdk/python/pulumi_vsphere/host.py index 725ed8e6..5bf9cb2f 100644 --- a/sdk/python/pulumi_vsphere/host.py +++ b/sdk/python/pulumi_vsphere/host.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities __all__ = ['HostArgs', 'Host'] @@ -74,31 +74,66 @@ def __init__(__self__, *, trusted and no thumbprint is set then the operation will fail. See data source [`get_host_thumbprint`][docs-host-thumbprint-data-source]. """ - pulumi.set(__self__, "hostname", hostname) - pulumi.set(__self__, "password", password) - pulumi.set(__self__, "username", username) + HostArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + hostname=hostname, + password=password, + username=username, + cluster=cluster, + cluster_managed=cluster_managed, + connected=connected, + custom_attributes=custom_attributes, + datacenter=datacenter, + force=force, + license=license, + lockdown=lockdown, + maintenance=maintenance, + tags=tags, + thumbprint=thumbprint, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + hostname: pulumi.Input[str], + password: pulumi.Input[str], + username: pulumi.Input[str], + cluster: Optional[pulumi.Input[str]] = None, + cluster_managed: Optional[pulumi.Input[bool]] = None, + connected: Optional[pulumi.Input[bool]] = None, + custom_attributes: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + datacenter: Optional[pulumi.Input[str]] = None, + force: Optional[pulumi.Input[bool]] = None, + license: Optional[pulumi.Input[str]] = None, + lockdown: Optional[pulumi.Input[str]] = None, + maintenance: Optional[pulumi.Input[bool]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + thumbprint: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("hostname", hostname) + _setter("password", password) + _setter("username", username) if cluster is not None: - pulumi.set(__self__, "cluster", cluster) + _setter("cluster", cluster) if cluster_managed is not None: - pulumi.set(__self__, "cluster_managed", cluster_managed) + _setter("cluster_managed", cluster_managed) if connected is not None: - pulumi.set(__self__, "connected", connected) + _setter("connected", connected) if custom_attributes is not None: - pulumi.set(__self__, "custom_attributes", custom_attributes) + _setter("custom_attributes", custom_attributes) if datacenter is not None: - pulumi.set(__self__, "datacenter", datacenter) + _setter("datacenter", datacenter) if force is not None: - pulumi.set(__self__, "force", force) + _setter("force", force) if license is not None: - pulumi.set(__self__, "license", license) + _setter("license", license) if lockdown is not None: - pulumi.set(__self__, "lockdown", lockdown) + _setter("lockdown", lockdown) if maintenance is not None: - pulumi.set(__self__, "maintenance", maintenance) + _setter("maintenance", maintenance) if tags is not None: - pulumi.set(__self__, "tags", tags) + _setter("tags", tags) if thumbprint is not None: - pulumi.set(__self__, "thumbprint", thumbprint) + _setter("thumbprint", thumbprint) @property @pulumi.getter @@ -361,34 +396,69 @@ def __init__(__self__, *, :param pulumi.Input[str] username: Username that will be used by vSphere to authenticate to the host. """ + _HostState._configure( + lambda key, value: pulumi.set(__self__, key, value), + cluster=cluster, + cluster_managed=cluster_managed, + connected=connected, + custom_attributes=custom_attributes, + datacenter=datacenter, + force=force, + hostname=hostname, + license=license, + lockdown=lockdown, + maintenance=maintenance, + password=password, + tags=tags, + thumbprint=thumbprint, + username=username, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + cluster: Optional[pulumi.Input[str]] = None, + cluster_managed: Optional[pulumi.Input[bool]] = None, + connected: Optional[pulumi.Input[bool]] = None, + custom_attributes: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + datacenter: Optional[pulumi.Input[str]] = None, + force: Optional[pulumi.Input[bool]] = None, + hostname: Optional[pulumi.Input[str]] = None, + license: Optional[pulumi.Input[str]] = None, + lockdown: Optional[pulumi.Input[str]] = None, + maintenance: Optional[pulumi.Input[bool]] = None, + password: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + thumbprint: Optional[pulumi.Input[str]] = None, + username: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None): if cluster is not None: - pulumi.set(__self__, "cluster", cluster) + _setter("cluster", cluster) if cluster_managed is not None: - pulumi.set(__self__, "cluster_managed", cluster_managed) + _setter("cluster_managed", cluster_managed) if connected is not None: - pulumi.set(__self__, "connected", connected) + _setter("connected", connected) if custom_attributes is not None: - pulumi.set(__self__, "custom_attributes", custom_attributes) + _setter("custom_attributes", custom_attributes) if datacenter is not None: - pulumi.set(__self__, "datacenter", datacenter) + _setter("datacenter", datacenter) if force is not None: - pulumi.set(__self__, "force", force) + _setter("force", force) if hostname is not None: - pulumi.set(__self__, "hostname", hostname) + _setter("hostname", hostname) if license is not None: - pulumi.set(__self__, "license", license) + _setter("license", license) if lockdown is not None: - pulumi.set(__self__, "lockdown", lockdown) + _setter("lockdown", lockdown) if maintenance is not None: - pulumi.set(__self__, "maintenance", maintenance) + _setter("maintenance", maintenance) if password is not None: - pulumi.set(__self__, "password", password) + _setter("password", password) if tags is not None: - pulumi.set(__self__, "tags", tags) + _setter("tags", tags) if thumbprint is not None: - pulumi.set(__self__, "thumbprint", thumbprint) + _setter("thumbprint", thumbprint) if username is not None: - pulumi.set(__self__, "username", username) + _setter("username", username) @property @pulumi.getter @@ -778,6 +848,10 @@ def __init__(__self__, resource_name: str, *args, **kwargs): if resource_args is not None: __self__._internal_init(resource_name, opts, **resource_args.__dict__) else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + HostArgs._configure(_setter, **kwargs) __self__._internal_init(resource_name, *args, **kwargs) def _internal_init(__self__, diff --git a/sdk/python/pulumi_vsphere/host_port_group.py b/sdk/python/pulumi_vsphere/host_port_group.py index 1486aa94..de45d50b 100644 --- a/sdk/python/pulumi_vsphere/host_port_group.py +++ b/sdk/python/pulumi_vsphere/host_port_group.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities from . import outputs from ._inputs import * @@ -62,38 +62,79 @@ def __init__(__self__, *, ID of `4095` enables trunk mode, allowing the guest to manage its own tagging. Default: `0`. """ - pulumi.set(__self__, "host_system_id", host_system_id) - pulumi.set(__self__, "virtual_switch_name", virtual_switch_name) + HostPortGroupArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + host_system_id=host_system_id, + virtual_switch_name=virtual_switch_name, + active_nics=active_nics, + allow_forged_transmits=allow_forged_transmits, + allow_mac_changes=allow_mac_changes, + allow_promiscuous=allow_promiscuous, + check_beacon=check_beacon, + failback=failback, + name=name, + notify_switches=notify_switches, + shaping_average_bandwidth=shaping_average_bandwidth, + shaping_burst_size=shaping_burst_size, + shaping_enabled=shaping_enabled, + shaping_peak_bandwidth=shaping_peak_bandwidth, + standby_nics=standby_nics, + teaming_policy=teaming_policy, + vlan_id=vlan_id, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + host_system_id: pulumi.Input[str], + virtual_switch_name: pulumi.Input[str], + active_nics: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + allow_forged_transmits: Optional[pulumi.Input[bool]] = None, + allow_mac_changes: Optional[pulumi.Input[bool]] = None, + allow_promiscuous: Optional[pulumi.Input[bool]] = None, + check_beacon: Optional[pulumi.Input[bool]] = None, + failback: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + notify_switches: Optional[pulumi.Input[bool]] = None, + shaping_average_bandwidth: Optional[pulumi.Input[int]] = None, + shaping_burst_size: Optional[pulumi.Input[int]] = None, + shaping_enabled: Optional[pulumi.Input[bool]] = None, + shaping_peak_bandwidth: Optional[pulumi.Input[int]] = None, + standby_nics: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + teaming_policy: Optional[pulumi.Input[str]] = None, + vlan_id: Optional[pulumi.Input[int]] = None, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("host_system_id", host_system_id) + _setter("virtual_switch_name", virtual_switch_name) if active_nics is not None: - pulumi.set(__self__, "active_nics", active_nics) + _setter("active_nics", active_nics) if allow_forged_transmits is not None: - pulumi.set(__self__, "allow_forged_transmits", allow_forged_transmits) + _setter("allow_forged_transmits", allow_forged_transmits) if allow_mac_changes is not None: - pulumi.set(__self__, "allow_mac_changes", allow_mac_changes) + _setter("allow_mac_changes", allow_mac_changes) if allow_promiscuous is not None: - pulumi.set(__self__, "allow_promiscuous", allow_promiscuous) + _setter("allow_promiscuous", allow_promiscuous) if check_beacon is not None: - pulumi.set(__self__, "check_beacon", check_beacon) + _setter("check_beacon", check_beacon) if failback is not None: - pulumi.set(__self__, "failback", failback) + _setter("failback", failback) if name is not None: - pulumi.set(__self__, "name", name) + _setter("name", name) if notify_switches is not None: - pulumi.set(__self__, "notify_switches", notify_switches) + _setter("notify_switches", notify_switches) if shaping_average_bandwidth is not None: - pulumi.set(__self__, "shaping_average_bandwidth", shaping_average_bandwidth) + _setter("shaping_average_bandwidth", shaping_average_bandwidth) if shaping_burst_size is not None: - pulumi.set(__self__, "shaping_burst_size", shaping_burst_size) + _setter("shaping_burst_size", shaping_burst_size) if shaping_enabled is not None: - pulumi.set(__self__, "shaping_enabled", shaping_enabled) + _setter("shaping_enabled", shaping_enabled) if shaping_peak_bandwidth is not None: - pulumi.set(__self__, "shaping_peak_bandwidth", shaping_peak_bandwidth) + _setter("shaping_peak_bandwidth", shaping_peak_bandwidth) if standby_nics is not None: - pulumi.set(__self__, "standby_nics", standby_nics) + _setter("standby_nics", standby_nics) if teaming_policy is not None: - pulumi.set(__self__, "teaming_policy", teaming_policy) + _setter("teaming_policy", teaming_policy) if vlan_id is not None: - pulumi.set(__self__, "vlan_id", vlan_id) + _setter("vlan_id", vlan_id) @property @pulumi.getter(name="hostSystemId") @@ -366,46 +407,93 @@ def __init__(__self__, *, ID of `4095` enables trunk mode, allowing the guest to manage its own tagging. Default: `0`. """ + _HostPortGroupState._configure( + lambda key, value: pulumi.set(__self__, key, value), + active_nics=active_nics, + allow_forged_transmits=allow_forged_transmits, + allow_mac_changes=allow_mac_changes, + allow_promiscuous=allow_promiscuous, + check_beacon=check_beacon, + computed_policy=computed_policy, + failback=failback, + host_system_id=host_system_id, + key=key, + name=name, + notify_switches=notify_switches, + ports=ports, + shaping_average_bandwidth=shaping_average_bandwidth, + shaping_burst_size=shaping_burst_size, + shaping_enabled=shaping_enabled, + shaping_peak_bandwidth=shaping_peak_bandwidth, + standby_nics=standby_nics, + teaming_policy=teaming_policy, + virtual_switch_name=virtual_switch_name, + vlan_id=vlan_id, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + active_nics: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + allow_forged_transmits: Optional[pulumi.Input[bool]] = None, + allow_mac_changes: Optional[pulumi.Input[bool]] = None, + allow_promiscuous: Optional[pulumi.Input[bool]] = None, + check_beacon: Optional[pulumi.Input[bool]] = None, + computed_policy: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + failback: Optional[pulumi.Input[bool]] = None, + host_system_id: Optional[pulumi.Input[str]] = None, + key: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + notify_switches: Optional[pulumi.Input[bool]] = None, + ports: Optional[pulumi.Input[Sequence[pulumi.Input['HostPortGroupPortArgs']]]] = None, + shaping_average_bandwidth: Optional[pulumi.Input[int]] = None, + shaping_burst_size: Optional[pulumi.Input[int]] = None, + shaping_enabled: Optional[pulumi.Input[bool]] = None, + shaping_peak_bandwidth: Optional[pulumi.Input[int]] = None, + standby_nics: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + teaming_policy: Optional[pulumi.Input[str]] = None, + virtual_switch_name: Optional[pulumi.Input[str]] = None, + vlan_id: Optional[pulumi.Input[int]] = None, + opts: Optional[pulumi.ResourceOptions]=None): if active_nics is not None: - pulumi.set(__self__, "active_nics", active_nics) + _setter("active_nics", active_nics) if allow_forged_transmits is not None: - pulumi.set(__self__, "allow_forged_transmits", allow_forged_transmits) + _setter("allow_forged_transmits", allow_forged_transmits) if allow_mac_changes is not None: - pulumi.set(__self__, "allow_mac_changes", allow_mac_changes) + _setter("allow_mac_changes", allow_mac_changes) if allow_promiscuous is not None: - pulumi.set(__self__, "allow_promiscuous", allow_promiscuous) + _setter("allow_promiscuous", allow_promiscuous) if check_beacon is not None: - pulumi.set(__self__, "check_beacon", check_beacon) + _setter("check_beacon", check_beacon) if computed_policy is not None: - pulumi.set(__self__, "computed_policy", computed_policy) + _setter("computed_policy", computed_policy) if failback is not None: - pulumi.set(__self__, "failback", failback) + _setter("failback", failback) if host_system_id is not None: - pulumi.set(__self__, "host_system_id", host_system_id) + _setter("host_system_id", host_system_id) if key is not None: - pulumi.set(__self__, "key", key) + _setter("key", key) if name is not None: - pulumi.set(__self__, "name", name) + _setter("name", name) if notify_switches is not None: - pulumi.set(__self__, "notify_switches", notify_switches) + _setter("notify_switches", notify_switches) if ports is not None: - pulumi.set(__self__, "ports", ports) + _setter("ports", ports) if shaping_average_bandwidth is not None: - pulumi.set(__self__, "shaping_average_bandwidth", shaping_average_bandwidth) + _setter("shaping_average_bandwidth", shaping_average_bandwidth) if shaping_burst_size is not None: - pulumi.set(__self__, "shaping_burst_size", shaping_burst_size) + _setter("shaping_burst_size", shaping_burst_size) if shaping_enabled is not None: - pulumi.set(__self__, "shaping_enabled", shaping_enabled) + _setter("shaping_enabled", shaping_enabled) if shaping_peak_bandwidth is not None: - pulumi.set(__self__, "shaping_peak_bandwidth", shaping_peak_bandwidth) + _setter("shaping_peak_bandwidth", shaping_peak_bandwidth) if standby_nics is not None: - pulumi.set(__self__, "standby_nics", standby_nics) + _setter("standby_nics", standby_nics) if teaming_policy is not None: - pulumi.set(__self__, "teaming_policy", teaming_policy) + _setter("teaming_policy", teaming_policy) if virtual_switch_name is not None: - pulumi.set(__self__, "virtual_switch_name", virtual_switch_name) + _setter("virtual_switch_name", virtual_switch_name) if vlan_id is not None: - pulumi.set(__self__, "vlan_id", vlan_id) + _setter("vlan_id", vlan_id) @property @pulumi.getter(name="activeNics") @@ -875,6 +963,10 @@ def __init__(__self__, resource_name: str, *args, **kwargs): if resource_args is not None: __self__._internal_init(resource_name, opts, **resource_args.__dict__) else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + HostPortGroupArgs._configure(_setter, **kwargs) __self__._internal_init(resource_name, *args, **kwargs) def _internal_init(__self__, diff --git a/sdk/python/pulumi_vsphere/host_virtual_switch.py b/sdk/python/pulumi_vsphere/host_virtual_switch.py index bfea4a3b..144922fe 100644 --- a/sdk/python/pulumi_vsphere/host_virtual_switch.py +++ b/sdk/python/pulumi_vsphere/host_virtual_switch.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities __all__ = ['HostVirtualSwitchArgs', 'HostVirtualSwitch'] @@ -90,45 +90,94 @@ def __init__(__self__, *, of `loadbalance_ip`, `loadbalance_srcmac`, `loadbalance_srcid`, or `failover_explicit`. Default: `loadbalance_srcid`. """ - pulumi.set(__self__, "active_nics", active_nics) - pulumi.set(__self__, "host_system_id", host_system_id) - pulumi.set(__self__, "network_adapters", network_adapters) + HostVirtualSwitchArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + active_nics=active_nics, + host_system_id=host_system_id, + network_adapters=network_adapters, + allow_forged_transmits=allow_forged_transmits, + allow_mac_changes=allow_mac_changes, + allow_promiscuous=allow_promiscuous, + beacon_interval=beacon_interval, + check_beacon=check_beacon, + failback=failback, + link_discovery_operation=link_discovery_operation, + link_discovery_protocol=link_discovery_protocol, + mtu=mtu, + name=name, + notify_switches=notify_switches, + number_of_ports=number_of_ports, + shaping_average_bandwidth=shaping_average_bandwidth, + shaping_burst_size=shaping_burst_size, + shaping_enabled=shaping_enabled, + shaping_peak_bandwidth=shaping_peak_bandwidth, + standby_nics=standby_nics, + teaming_policy=teaming_policy, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + active_nics: pulumi.Input[Sequence[pulumi.Input[str]]], + host_system_id: pulumi.Input[str], + network_adapters: pulumi.Input[Sequence[pulumi.Input[str]]], + allow_forged_transmits: Optional[pulumi.Input[bool]] = None, + allow_mac_changes: Optional[pulumi.Input[bool]] = None, + allow_promiscuous: Optional[pulumi.Input[bool]] = None, + beacon_interval: Optional[pulumi.Input[int]] = None, + check_beacon: Optional[pulumi.Input[bool]] = None, + failback: Optional[pulumi.Input[bool]] = None, + link_discovery_operation: Optional[pulumi.Input[str]] = None, + link_discovery_protocol: Optional[pulumi.Input[str]] = None, + mtu: Optional[pulumi.Input[int]] = None, + name: Optional[pulumi.Input[str]] = None, + notify_switches: Optional[pulumi.Input[bool]] = None, + number_of_ports: Optional[pulumi.Input[int]] = None, + shaping_average_bandwidth: Optional[pulumi.Input[int]] = None, + shaping_burst_size: Optional[pulumi.Input[int]] = None, + shaping_enabled: Optional[pulumi.Input[bool]] = None, + shaping_peak_bandwidth: Optional[pulumi.Input[int]] = None, + standby_nics: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + teaming_policy: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("active_nics", active_nics) + _setter("host_system_id", host_system_id) + _setter("network_adapters", network_adapters) if allow_forged_transmits is not None: - pulumi.set(__self__, "allow_forged_transmits", allow_forged_transmits) + _setter("allow_forged_transmits", allow_forged_transmits) if allow_mac_changes is not None: - pulumi.set(__self__, "allow_mac_changes", allow_mac_changes) + _setter("allow_mac_changes", allow_mac_changes) if allow_promiscuous is not None: - pulumi.set(__self__, "allow_promiscuous", allow_promiscuous) + _setter("allow_promiscuous", allow_promiscuous) if beacon_interval is not None: - pulumi.set(__self__, "beacon_interval", beacon_interval) + _setter("beacon_interval", beacon_interval) if check_beacon is not None: - pulumi.set(__self__, "check_beacon", check_beacon) + _setter("check_beacon", check_beacon) if failback is not None: - pulumi.set(__self__, "failback", failback) + _setter("failback", failback) if link_discovery_operation is not None: - pulumi.set(__self__, "link_discovery_operation", link_discovery_operation) + _setter("link_discovery_operation", link_discovery_operation) if link_discovery_protocol is not None: - pulumi.set(__self__, "link_discovery_protocol", link_discovery_protocol) + _setter("link_discovery_protocol", link_discovery_protocol) if mtu is not None: - pulumi.set(__self__, "mtu", mtu) + _setter("mtu", mtu) if name is not None: - pulumi.set(__self__, "name", name) + _setter("name", name) if notify_switches is not None: - pulumi.set(__self__, "notify_switches", notify_switches) + _setter("notify_switches", notify_switches) if number_of_ports is not None: - pulumi.set(__self__, "number_of_ports", number_of_ports) + _setter("number_of_ports", number_of_ports) if shaping_average_bandwidth is not None: - pulumi.set(__self__, "shaping_average_bandwidth", shaping_average_bandwidth) + _setter("shaping_average_bandwidth", shaping_average_bandwidth) if shaping_burst_size is not None: - pulumi.set(__self__, "shaping_burst_size", shaping_burst_size) + _setter("shaping_burst_size", shaping_burst_size) if shaping_enabled is not None: - pulumi.set(__self__, "shaping_enabled", shaping_enabled) + _setter("shaping_enabled", shaping_enabled) if shaping_peak_bandwidth is not None: - pulumi.set(__self__, "shaping_peak_bandwidth", shaping_peak_bandwidth) + _setter("shaping_peak_bandwidth", shaping_peak_bandwidth) if standby_nics is not None: - pulumi.set(__self__, "standby_nics", standby_nics) + _setter("standby_nics", standby_nics) if teaming_policy is not None: - pulumi.set(__self__, "teaming_policy", teaming_policy) + _setter("teaming_policy", teaming_policy) @property @pulumi.getter(name="activeNics") @@ -493,48 +542,97 @@ def __init__(__self__, *, of `loadbalance_ip`, `loadbalance_srcmac`, `loadbalance_srcid`, or `failover_explicit`. Default: `loadbalance_srcid`. """ + _HostVirtualSwitchState._configure( + lambda key, value: pulumi.set(__self__, key, value), + active_nics=active_nics, + allow_forged_transmits=allow_forged_transmits, + allow_mac_changes=allow_mac_changes, + allow_promiscuous=allow_promiscuous, + beacon_interval=beacon_interval, + check_beacon=check_beacon, + failback=failback, + host_system_id=host_system_id, + link_discovery_operation=link_discovery_operation, + link_discovery_protocol=link_discovery_protocol, + mtu=mtu, + name=name, + network_adapters=network_adapters, + notify_switches=notify_switches, + number_of_ports=number_of_ports, + shaping_average_bandwidth=shaping_average_bandwidth, + shaping_burst_size=shaping_burst_size, + shaping_enabled=shaping_enabled, + shaping_peak_bandwidth=shaping_peak_bandwidth, + standby_nics=standby_nics, + teaming_policy=teaming_policy, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + active_nics: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + allow_forged_transmits: Optional[pulumi.Input[bool]] = None, + allow_mac_changes: Optional[pulumi.Input[bool]] = None, + allow_promiscuous: Optional[pulumi.Input[bool]] = None, + beacon_interval: Optional[pulumi.Input[int]] = None, + check_beacon: Optional[pulumi.Input[bool]] = None, + failback: Optional[pulumi.Input[bool]] = None, + host_system_id: Optional[pulumi.Input[str]] = None, + link_discovery_operation: Optional[pulumi.Input[str]] = None, + link_discovery_protocol: Optional[pulumi.Input[str]] = None, + mtu: Optional[pulumi.Input[int]] = None, + name: Optional[pulumi.Input[str]] = None, + network_adapters: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + notify_switches: Optional[pulumi.Input[bool]] = None, + number_of_ports: Optional[pulumi.Input[int]] = None, + shaping_average_bandwidth: Optional[pulumi.Input[int]] = None, + shaping_burst_size: Optional[pulumi.Input[int]] = None, + shaping_enabled: Optional[pulumi.Input[bool]] = None, + shaping_peak_bandwidth: Optional[pulumi.Input[int]] = None, + standby_nics: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + teaming_policy: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None): if active_nics is not None: - pulumi.set(__self__, "active_nics", active_nics) + _setter("active_nics", active_nics) if allow_forged_transmits is not None: - pulumi.set(__self__, "allow_forged_transmits", allow_forged_transmits) + _setter("allow_forged_transmits", allow_forged_transmits) if allow_mac_changes is not None: - pulumi.set(__self__, "allow_mac_changes", allow_mac_changes) + _setter("allow_mac_changes", allow_mac_changes) if allow_promiscuous is not None: - pulumi.set(__self__, "allow_promiscuous", allow_promiscuous) + _setter("allow_promiscuous", allow_promiscuous) if beacon_interval is not None: - pulumi.set(__self__, "beacon_interval", beacon_interval) + _setter("beacon_interval", beacon_interval) if check_beacon is not None: - pulumi.set(__self__, "check_beacon", check_beacon) + _setter("check_beacon", check_beacon) if failback is not None: - pulumi.set(__self__, "failback", failback) + _setter("failback", failback) if host_system_id is not None: - pulumi.set(__self__, "host_system_id", host_system_id) + _setter("host_system_id", host_system_id) if link_discovery_operation is not None: - pulumi.set(__self__, "link_discovery_operation", link_discovery_operation) + _setter("link_discovery_operation", link_discovery_operation) if link_discovery_protocol is not None: - pulumi.set(__self__, "link_discovery_protocol", link_discovery_protocol) + _setter("link_discovery_protocol", link_discovery_protocol) if mtu is not None: - pulumi.set(__self__, "mtu", mtu) + _setter("mtu", mtu) if name is not None: - pulumi.set(__self__, "name", name) + _setter("name", name) if network_adapters is not None: - pulumi.set(__self__, "network_adapters", network_adapters) + _setter("network_adapters", network_adapters) if notify_switches is not None: - pulumi.set(__self__, "notify_switches", notify_switches) + _setter("notify_switches", notify_switches) if number_of_ports is not None: - pulumi.set(__self__, "number_of_ports", number_of_ports) + _setter("number_of_ports", number_of_ports) if shaping_average_bandwidth is not None: - pulumi.set(__self__, "shaping_average_bandwidth", shaping_average_bandwidth) + _setter("shaping_average_bandwidth", shaping_average_bandwidth) if shaping_burst_size is not None: - pulumi.set(__self__, "shaping_burst_size", shaping_burst_size) + _setter("shaping_burst_size", shaping_burst_size) if shaping_enabled is not None: - pulumi.set(__self__, "shaping_enabled", shaping_enabled) + _setter("shaping_enabled", shaping_enabled) if shaping_peak_bandwidth is not None: - pulumi.set(__self__, "shaping_peak_bandwidth", shaping_peak_bandwidth) + _setter("shaping_peak_bandwidth", shaping_peak_bandwidth) if standby_nics is not None: - pulumi.set(__self__, "standby_nics", standby_nics) + _setter("standby_nics", standby_nics) if teaming_policy is not None: - pulumi.set(__self__, "teaming_policy", teaming_policy) + _setter("teaming_policy", teaming_policy) @property @pulumi.getter(name="activeNics") @@ -922,6 +1020,10 @@ def __init__(__self__, resource_name: str, *args, **kwargs): if resource_args is not None: __self__._internal_init(resource_name, opts, **resource_args.__dict__) else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + HostVirtualSwitchArgs._configure(_setter, **kwargs) __self__._internal_init(resource_name, *args, **kwargs) def _internal_init(__self__, diff --git a/sdk/python/pulumi_vsphere/license.py b/sdk/python/pulumi_vsphere/license.py index 0c8e8ef4..66776bf8 100644 --- a/sdk/python/pulumi_vsphere/license.py +++ b/sdk/python/pulumi_vsphere/license.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities __all__ = ['LicenseArgs', 'License'] @@ -21,9 +21,20 @@ def __init__(__self__, *, :param pulumi.Input[str] license_key: The license key to add. :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. """ - pulumi.set(__self__, "license_key", license_key) + LicenseArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + license_key=license_key, + labels=labels, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + license_key: pulumi.Input[str], + labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("license_key", license_key) if labels is not None: - pulumi.set(__self__, "labels", labels) + _setter("labels", labels) @property @pulumi.getter(name="licenseKey") @@ -68,18 +79,37 @@ def __init__(__self__, *, :param pulumi.Input[int] total: Total number of units (example: CPUs) contained in the license. :param pulumi.Input[int] used: The number of units (example: CPUs) assigned to this license. """ + _LicenseState._configure( + lambda key, value: pulumi.set(__self__, key, value), + edition_key=edition_key, + labels=labels, + license_key=license_key, + name=name, + total=total, + used=used, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + edition_key: Optional[pulumi.Input[str]] = None, + labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + license_key: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + total: Optional[pulumi.Input[int]] = None, + used: Optional[pulumi.Input[int]] = None, + opts: Optional[pulumi.ResourceOptions]=None): if edition_key is not None: - pulumi.set(__self__, "edition_key", edition_key) + _setter("edition_key", edition_key) if labels is not None: - pulumi.set(__self__, "labels", labels) + _setter("labels", labels) if license_key is not None: - pulumi.set(__self__, "license_key", license_key) + _setter("license_key", license_key) if name is not None: - pulumi.set(__self__, "name", name) + _setter("name", name) if total is not None: - pulumi.set(__self__, "total", total) + _setter("total", total) if used is not None: - pulumi.set(__self__, "used", used) + _setter("used", used) @property @pulumi.getter(name="editionKey") @@ -217,6 +247,10 @@ def __init__(__self__, resource_name: str, *args, **kwargs): if resource_args is not None: __self__._internal_init(resource_name, opts, **resource_args.__dict__) else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + LicenseArgs._configure(_setter, **kwargs) __self__._internal_init(resource_name, *args, **kwargs) def _internal_init(__self__, diff --git a/sdk/python/pulumi_vsphere/nas_datastore.py b/sdk/python/pulumi_vsphere/nas_datastore.py index 76293c20..ede06c15 100644 --- a/sdk/python/pulumi_vsphere/nas_datastore.py +++ b/sdk/python/pulumi_vsphere/nas_datastore.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities __all__ = ['NasDatastoreArgs', 'NasDatastore'] @@ -66,25 +66,54 @@ def __init__(__self__, *, v3) or `NFS41` (to denote NFS v4.1). Default: `NFS`. Forces a new resource if changed. """ - pulumi.set(__self__, "host_system_ids", host_system_ids) - pulumi.set(__self__, "remote_hosts", remote_hosts) - pulumi.set(__self__, "remote_path", remote_path) + NasDatastoreArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + host_system_ids=host_system_ids, + remote_hosts=remote_hosts, + remote_path=remote_path, + access_mode=access_mode, + custom_attributes=custom_attributes, + datastore_cluster_id=datastore_cluster_id, + folder=folder, + name=name, + security_type=security_type, + tags=tags, + type=type, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + host_system_ids: pulumi.Input[Sequence[pulumi.Input[str]]], + remote_hosts: pulumi.Input[Sequence[pulumi.Input[str]]], + remote_path: pulumi.Input[str], + access_mode: Optional[pulumi.Input[str]] = None, + custom_attributes: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + datastore_cluster_id: Optional[pulumi.Input[str]] = None, + folder: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + security_type: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + type: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("host_system_ids", host_system_ids) + _setter("remote_hosts", remote_hosts) + _setter("remote_path", remote_path) if access_mode is not None: - pulumi.set(__self__, "access_mode", access_mode) + _setter("access_mode", access_mode) if custom_attributes is not None: - pulumi.set(__self__, "custom_attributes", custom_attributes) + _setter("custom_attributes", custom_attributes) if datastore_cluster_id is not None: - pulumi.set(__self__, "datastore_cluster_id", datastore_cluster_id) + _setter("datastore_cluster_id", datastore_cluster_id) if folder is not None: - pulumi.set(__self__, "folder", folder) + _setter("folder", folder) if name is not None: - pulumi.set(__self__, "name", name) + _setter("name", name) if security_type is not None: - pulumi.set(__self__, "security_type", security_type) + _setter("security_type", security_type) if tags is not None: - pulumi.set(__self__, "tags", tags) + _setter("tags", tags) if type is not None: - pulumi.set(__self__, "type", type) + _setter("type", type) @property @pulumi.getter(name="hostSystemIds") @@ -321,44 +350,89 @@ def __init__(__self__, *, potentially used by all virtual machines on this datastore. :param pulumi.Input[str] url: The unique locator for the datastore. """ + _NasDatastoreState._configure( + lambda key, value: pulumi.set(__self__, key, value), + access_mode=access_mode, + accessible=accessible, + capacity=capacity, + custom_attributes=custom_attributes, + datastore_cluster_id=datastore_cluster_id, + folder=folder, + free_space=free_space, + host_system_ids=host_system_ids, + maintenance_mode=maintenance_mode, + multiple_host_access=multiple_host_access, + name=name, + protocol_endpoint=protocol_endpoint, + remote_hosts=remote_hosts, + remote_path=remote_path, + security_type=security_type, + tags=tags, + type=type, + uncommitted_space=uncommitted_space, + url=url, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + access_mode: Optional[pulumi.Input[str]] = None, + accessible: Optional[pulumi.Input[bool]] = None, + capacity: Optional[pulumi.Input[int]] = None, + custom_attributes: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + datastore_cluster_id: Optional[pulumi.Input[str]] = None, + folder: Optional[pulumi.Input[str]] = None, + free_space: Optional[pulumi.Input[int]] = None, + host_system_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + maintenance_mode: Optional[pulumi.Input[str]] = None, + multiple_host_access: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + protocol_endpoint: Optional[pulumi.Input[bool]] = None, + remote_hosts: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + remote_path: Optional[pulumi.Input[str]] = None, + security_type: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + type: Optional[pulumi.Input[str]] = None, + uncommitted_space: Optional[pulumi.Input[int]] = None, + url: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None): if access_mode is not None: - pulumi.set(__self__, "access_mode", access_mode) + _setter("access_mode", access_mode) if accessible is not None: - pulumi.set(__self__, "accessible", accessible) + _setter("accessible", accessible) if capacity is not None: - pulumi.set(__self__, "capacity", capacity) + _setter("capacity", capacity) if custom_attributes is not None: - pulumi.set(__self__, "custom_attributes", custom_attributes) + _setter("custom_attributes", custom_attributes) if datastore_cluster_id is not None: - pulumi.set(__self__, "datastore_cluster_id", datastore_cluster_id) + _setter("datastore_cluster_id", datastore_cluster_id) if folder is not None: - pulumi.set(__self__, "folder", folder) + _setter("folder", folder) if free_space is not None: - pulumi.set(__self__, "free_space", free_space) + _setter("free_space", free_space) if host_system_ids is not None: - pulumi.set(__self__, "host_system_ids", host_system_ids) + _setter("host_system_ids", host_system_ids) if maintenance_mode is not None: - pulumi.set(__self__, "maintenance_mode", maintenance_mode) + _setter("maintenance_mode", maintenance_mode) if multiple_host_access is not None: - pulumi.set(__self__, "multiple_host_access", multiple_host_access) + _setter("multiple_host_access", multiple_host_access) if name is not None: - pulumi.set(__self__, "name", name) + _setter("name", name) if protocol_endpoint is not None: - pulumi.set(__self__, "protocol_endpoint", protocol_endpoint) + _setter("protocol_endpoint", protocol_endpoint) if remote_hosts is not None: - pulumi.set(__self__, "remote_hosts", remote_hosts) + _setter("remote_hosts", remote_hosts) if remote_path is not None: - pulumi.set(__self__, "remote_path", remote_path) + _setter("remote_path", remote_path) if security_type is not None: - pulumi.set(__self__, "security_type", security_type) + _setter("security_type", security_type) if tags is not None: - pulumi.set(__self__, "tags", tags) + _setter("tags", tags) if type is not None: - pulumi.set(__self__, "type", type) + _setter("type", type) if uncommitted_space is not None: - pulumi.set(__self__, "uncommitted_space", uncommitted_space) + _setter("uncommitted_space", uncommitted_space) if url is not None: - pulumi.set(__self__, "url", url) + _setter("url", url) @property @pulumi.getter(name="accessMode") @@ -698,6 +772,10 @@ def __init__(__self__, resource_name: str, *args, **kwargs): if resource_args is not None: __self__._internal_init(resource_name, opts, **resource_args.__dict__) else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + NasDatastoreArgs._configure(_setter, **kwargs) __self__._internal_init(resource_name, *args, **kwargs) def _internal_init(__self__, diff --git a/sdk/python/pulumi_vsphere/outputs.py b/sdk/python/pulumi_vsphere/outputs.py index 754e6612..5b233cae 100644 --- a/sdk/python/pulumi_vsphere/outputs.py +++ b/sdk/python/pulumi_vsphere/outputs.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities from . import outputs @@ -75,10 +75,21 @@ def __init__(__self__, *, )]) ``` """ + ComputeClusterVsanDiskGroup._configure( + lambda key, value: pulumi.set(__self__, key, value), + cache=cache, + storages=storages, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + cache: Optional[str] = None, + storages: Optional[Sequence[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None): if cache is not None: - pulumi.set(__self__, "cache", cache) + _setter("cache", cache) if storages is not None: - pulumi.set(__self__, "storages", storages) + _setter("storages", storages) @property @pulumi.getter @@ -159,16 +170,33 @@ def __init__(__self__, *, :param bool published: Publish the content library. Default `false`. :param str username: Username used for authentication. """ + ContentLibraryPublication._configure( + lambda key, value: pulumi.set(__self__, key, value), + authentication_method=authentication_method, + password=password, + publish_url=publish_url, + published=published, + username=username, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + authentication_method: Optional[str] = None, + password: Optional[str] = None, + publish_url: Optional[str] = None, + published: Optional[bool] = None, + username: Optional[str] = None, + opts: Optional[pulumi.ResourceOptions]=None): if authentication_method is not None: - pulumi.set(__self__, "authentication_method", authentication_method) + _setter("authentication_method", authentication_method) if password is not None: - pulumi.set(__self__, "password", password) + _setter("password", password) if publish_url is not None: - pulumi.set(__self__, "publish_url", publish_url) + _setter("publish_url", publish_url) if published is not None: - pulumi.set(__self__, "published", published) + _setter("published", published) if username is not None: - pulumi.set(__self__, "username", username) + _setter("username", username) @property @pulumi.getter(name="authenticationMethod") @@ -251,18 +279,37 @@ def __init__(__self__, *, :param str subscription_url: URL of the published content library. :param str username: Username used for authentication. """ + ContentLibrarySubscription._configure( + lambda key, value: pulumi.set(__self__, key, value), + authentication_method=authentication_method, + automatic_sync=automatic_sync, + on_demand=on_demand, + password=password, + subscription_url=subscription_url, + username=username, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + authentication_method: Optional[str] = None, + automatic_sync: Optional[bool] = None, + on_demand: Optional[bool] = None, + password: Optional[str] = None, + subscription_url: Optional[str] = None, + username: Optional[str] = None, + opts: Optional[pulumi.ResourceOptions]=None): if authentication_method is not None: - pulumi.set(__self__, "authentication_method", authentication_method) + _setter("authentication_method", authentication_method) if automatic_sync is not None: - pulumi.set(__self__, "automatic_sync", automatic_sync) + _setter("automatic_sync", automatic_sync) if on_demand is not None: - pulumi.set(__self__, "on_demand", on_demand) + _setter("on_demand", on_demand) if password is not None: - pulumi.set(__self__, "password", password) + _setter("password", password) if subscription_url is not None: - pulumi.set(__self__, "subscription_url", subscription_url) + _setter("subscription_url", subscription_url) if username is not None: - pulumi.set(__self__, "username", username) + _setter("username", username) @property @pulumi.getter(name="authenticationMethod") @@ -337,8 +384,19 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, max_vlan: int, min_vlan: int): - pulumi.set(__self__, "max_vlan", max_vlan) - pulumi.set(__self__, "min_vlan", min_vlan) + DistributedPortGroupVlanRange._configure( + lambda key, value: pulumi.set(__self__, key, value), + max_vlan=max_vlan, + min_vlan=min_vlan, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + max_vlan: int, + min_vlan: int, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("max_vlan", max_vlan) + _setter("min_vlan", min_vlan) @property @pulumi.getter(name="maxVlan") @@ -379,9 +437,20 @@ def __init__(__self__, *, :param Sequence[str] devices: The list of NIC devices to map to uplinks on the VDS, added in order they are specified. """ - pulumi.set(__self__, "host_system_id", host_system_id) + DistributedVirtualSwitchHost._configure( + lambda key, value: pulumi.set(__self__, key, value), + host_system_id=host_system_id, + devices=devices, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + host_system_id: str, + devices: Optional[Sequence[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("host_system_id", host_system_id) if devices is not None: - pulumi.set(__self__, "devices", devices) + _setter("devices", devices) @property @pulumi.getter(name="hostSystemId") @@ -437,9 +506,22 @@ def __init__(__self__, *, :param int secondary_vlan_id: The secondary VLAN ID. The VLAN IDs of 0 and 4095 are reserved and cannot be used in this property. """ - pulumi.set(__self__, "primary_vlan_id", primary_vlan_id) - pulumi.set(__self__, "pvlan_type", pvlan_type) - pulumi.set(__self__, "secondary_vlan_id", secondary_vlan_id) + DistributedVirtualSwitchPvlanMapping._configure( + lambda key, value: pulumi.set(__self__, key, value), + primary_vlan_id=primary_vlan_id, + pvlan_type=pvlan_type, + secondary_vlan_id=secondary_vlan_id, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + primary_vlan_id: int, + pvlan_type: str, + secondary_vlan_id: int, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("primary_vlan_id", primary_vlan_id) + _setter("pvlan_type", pvlan_type) + _setter("secondary_vlan_id", secondary_vlan_id) @property @pulumi.getter(name="primaryVlanId") @@ -493,8 +575,19 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, max_vlan: int, min_vlan: int): - pulumi.set(__self__, "max_vlan", max_vlan) - pulumi.set(__self__, "min_vlan", min_vlan) + DistributedVirtualSwitchVlanRange._configure( + lambda key, value: pulumi.set(__self__, key, value), + max_vlan=max_vlan, + min_vlan=min_vlan, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + max_vlan: int, + min_vlan: int, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("max_vlan", max_vlan) + _setter("min_vlan", min_vlan) @property @pulumi.getter(name="maxVlan") @@ -541,10 +634,25 @@ def __init__(__self__, *, :param str role_id: The role id of the role to be given to the user on the specified entity. :param str user_or_group: The user/group getting the permission. """ - pulumi.set(__self__, "is_group", is_group) - pulumi.set(__self__, "propagate", propagate) - pulumi.set(__self__, "role_id", role_id) - pulumi.set(__self__, "user_or_group", user_or_group) + EntityPermissionsPermission._configure( + lambda key, value: pulumi.set(__self__, key, value), + is_group=is_group, + propagate=propagate, + role_id=role_id, + user_or_group=user_or_group, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + is_group: bool, + propagate: bool, + role_id: str, + user_or_group: str, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("is_group", is_group) + _setter("propagate", propagate) + _setter("role_id", role_id) + _setter("user_or_group", user_or_group) @property @pulumi.getter(name="isGroup") @@ -605,12 +713,25 @@ def __init__(__self__, *, """ :param str key: The key for this port group as returned from the vSphere API. """ + HostPortGroupPort._configure( + lambda key, value: pulumi.set(__self__, key, value), + key=key, + mac_addresses=mac_addresses, + type=type, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + key: Optional[str] = None, + mac_addresses: Optional[Sequence[str]] = None, + type: Optional[str] = None, + opts: Optional[pulumi.ResourceOptions]=None): if key is not None: - pulumi.set(__self__, "key", key) + _setter("key", key) if mac_addresses is not None: - pulumi.set(__self__, "mac_addresses", mac_addresses) + _setter("mac_addresses", mac_addresses) if type is not None: - pulumi.set(__self__, "type", type) + _setter("type", type) @property @pulumi.getter @@ -662,26 +783,41 @@ def __init__(__self__, *, path: Optional[str] = None): """ :param bool client_device: Indicates whether the device should be backed by remote client device. Conflicts with `datastore_id` and `path`. - :param str datastore_id: The managed object reference ID of the datastore in which to place the virtual machine. The virtual machine configuration files is placed here, along with any virtual disks that are created where a datastore is not explicitly specified. See the section on virtual machine migration for more information on modifying this value. - - > **NOTE:** Datastores cannot be assigned to individual disks when `datastore_cluster_id` is used. + :param str datastore_id: The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `client_device`. :param int key: The ID of the device within the virtual machine. - :param str path: When using `attach`, this parameter controls the path of a virtual disk to attach externally. Otherwise, it is a computed attribute that contains the virtual disk filename. + :param str path: The path to the ISO file. Required for using a datastore ISO. Conflicts with `client_device`. > **NOTE:** Either `client_device` (for a remote backed CD-ROM) or `datastore_id` and `path` (for a datastore ISO backed CD-ROM) are required to . > **NOTE:** Some CD-ROM drive types are not supported by this resource, such as pass-through devices. If these drives are present in a cloned template, or added outside of the provider, the desired state will be corrected to the defined device, or removed if no `cdrom` block is present. """ + VirtualMachineCdrom._configure( + lambda key, value: pulumi.set(__self__, key, value), + client_device=client_device, + datastore_id=datastore_id, + device_address=device_address, + key=key, + path=path, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + client_device: Optional[bool] = None, + datastore_id: Optional[str] = None, + device_address: Optional[str] = None, + key: Optional[int] = None, + path: Optional[str] = None, + opts: Optional[pulumi.ResourceOptions]=None): if client_device is not None: - pulumi.set(__self__, "client_device", client_device) + _setter("client_device", client_device) if datastore_id is not None: - pulumi.set(__self__, "datastore_id", datastore_id) + _setter("datastore_id", datastore_id) if device_address is not None: - pulumi.set(__self__, "device_address", device_address) + _setter("device_address", device_address) if key is not None: - pulumi.set(__self__, "key", key) + _setter("key", key) if path is not None: - pulumi.set(__self__, "path", path) + _setter("path", path) @property @pulumi.getter(name="clientDevice") @@ -695,9 +831,7 @@ def client_device(self) -> Optional[bool]: @pulumi.getter(name="datastoreId") def datastore_id(self) -> Optional[str]: """ - The managed object reference ID of the datastore in which to place the virtual machine. The virtual machine configuration files is placed here, along with any virtual disks that are created where a datastore is not explicitly specified. See the section on virtual machine migration for more information on modifying this value. - - > **NOTE:** Datastores cannot be assigned to individual disks when `datastore_cluster_id` is used. + The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `client_device`. """ return pulumi.get(self, "datastore_id") @@ -718,7 +852,7 @@ def key(self) -> Optional[int]: @pulumi.getter def path(self) -> Optional[str]: """ - When using `attach`, this parameter controls the path of a virtual disk to attach externally. Otherwise, it is a computed attribute that contains the virtual disk filename. + The path to the ISO file. Required for using a datastore ISO. Conflicts with `client_device`. > **NOTE:** Either `client_device` (for a remote backed CD-ROM) or `datastore_id` and `path` (for a datastore ISO backed CD-ROM) are required to . @@ -759,17 +893,36 @@ def __init__(__self__, *, ovf_network_map: Optional[Mapping[str, str]] = None, ovf_storage_map: Optional[Mapping[str, str]] = None, timeout: Optional[int] = None): - pulumi.set(__self__, "template_uuid", template_uuid) + VirtualMachineClone._configure( + lambda key, value: pulumi.set(__self__, key, value), + template_uuid=template_uuid, + customize=customize, + linked_clone=linked_clone, + ovf_network_map=ovf_network_map, + ovf_storage_map=ovf_storage_map, + timeout=timeout, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + template_uuid: str, + customize: Optional['outputs.VirtualMachineCloneCustomize'] = None, + linked_clone: Optional[bool] = None, + ovf_network_map: Optional[Mapping[str, str]] = None, + ovf_storage_map: Optional[Mapping[str, str]] = None, + timeout: Optional[int] = None, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("template_uuid", template_uuid) if customize is not None: - pulumi.set(__self__, "customize", customize) + _setter("customize", customize) if linked_clone is not None: - pulumi.set(__self__, "linked_clone", linked_clone) + _setter("linked_clone", linked_clone) if ovf_network_map is not None: - pulumi.set(__self__, "ovf_network_map", ovf_network_map) + _setter("ovf_network_map", ovf_network_map) if ovf_storage_map is not None: - pulumi.set(__self__, "ovf_storage_map", ovf_storage_map) + _setter("ovf_storage_map", ovf_storage_map) if timeout is not None: - pulumi.set(__self__, "timeout", timeout) + _setter("timeout", timeout) @property @pulumi.getter(name="templateUuid") @@ -848,24 +1001,49 @@ def __init__(__self__, *, """ :param Sequence['VirtualMachineCloneCustomizeNetworkInterfaceArgs'] network_interfaces: A specification for a virtual NIC on the virtual machine. See network interface options for more information. """ + VirtualMachineCloneCustomize._configure( + lambda key, value: pulumi.set(__self__, key, value), + dns_server_lists=dns_server_lists, + dns_suffix_lists=dns_suffix_lists, + ipv4_gateway=ipv4_gateway, + ipv6_gateway=ipv6_gateway, + linux_options=linux_options, + network_interfaces=network_interfaces, + timeout=timeout, + windows_options=windows_options, + windows_sysprep_text=windows_sysprep_text, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + dns_server_lists: Optional[Sequence[str]] = None, + dns_suffix_lists: Optional[Sequence[str]] = None, + ipv4_gateway: Optional[str] = None, + ipv6_gateway: Optional[str] = None, + linux_options: Optional['outputs.VirtualMachineCloneCustomizeLinuxOptions'] = None, + network_interfaces: Optional[Sequence['outputs.VirtualMachineCloneCustomizeNetworkInterface']] = None, + timeout: Optional[int] = None, + windows_options: Optional['outputs.VirtualMachineCloneCustomizeWindowsOptions'] = None, + windows_sysprep_text: Optional[str] = None, + opts: Optional[pulumi.ResourceOptions]=None): if dns_server_lists is not None: - pulumi.set(__self__, "dns_server_lists", dns_server_lists) + _setter("dns_server_lists", dns_server_lists) if dns_suffix_lists is not None: - pulumi.set(__self__, "dns_suffix_lists", dns_suffix_lists) + _setter("dns_suffix_lists", dns_suffix_lists) if ipv4_gateway is not None: - pulumi.set(__self__, "ipv4_gateway", ipv4_gateway) + _setter("ipv4_gateway", ipv4_gateway) if ipv6_gateway is not None: - pulumi.set(__self__, "ipv6_gateway", ipv6_gateway) + _setter("ipv6_gateway", ipv6_gateway) if linux_options is not None: - pulumi.set(__self__, "linux_options", linux_options) + _setter("linux_options", linux_options) if network_interfaces is not None: - pulumi.set(__self__, "network_interfaces", network_interfaces) + _setter("network_interfaces", network_interfaces) if timeout is not None: - pulumi.set(__self__, "timeout", timeout) + _setter("timeout", timeout) if windows_options is not None: - pulumi.set(__self__, "windows_options", windows_options) + _setter("windows_options", windows_options) if windows_sysprep_text is not None: - pulumi.set(__self__, "windows_sysprep_text", windows_sysprep_text) + _setter("windows_sysprep_text", windows_sysprep_text) @property @pulumi.getter(name="dnsServerLists") @@ -947,14 +1125,31 @@ def __init__(__self__, *, hw_clock_utc: Optional[bool] = None, script_text: Optional[str] = None, time_zone: Optional[str] = None): - pulumi.set(__self__, "domain", domain) - pulumi.set(__self__, "host_name", host_name) + VirtualMachineCloneCustomizeLinuxOptions._configure( + lambda key, value: pulumi.set(__self__, key, value), + domain=domain, + host_name=host_name, + hw_clock_utc=hw_clock_utc, + script_text=script_text, + time_zone=time_zone, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + domain: str, + host_name: str, + hw_clock_utc: Optional[bool] = None, + script_text: Optional[str] = None, + time_zone: Optional[str] = None, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("domain", domain) + _setter("host_name", host_name) if hw_clock_utc is not None: - pulumi.set(__self__, "hw_clock_utc", hw_clock_utc) + _setter("hw_clock_utc", hw_clock_utc) if script_text is not None: - pulumi.set(__self__, "script_text", script_text) + _setter("script_text", script_text) if time_zone is not None: - pulumi.set(__self__, "time_zone", time_zone) + _setter("time_zone", time_zone) @property @pulumi.getter @@ -1018,18 +1213,37 @@ def __init__(__self__, *, ipv4_netmask: Optional[int] = None, ipv6_address: Optional[str] = None, ipv6_netmask: Optional[int] = None): + VirtualMachineCloneCustomizeNetworkInterface._configure( + lambda key, value: pulumi.set(__self__, key, value), + dns_domain=dns_domain, + dns_server_lists=dns_server_lists, + ipv4_address=ipv4_address, + ipv4_netmask=ipv4_netmask, + ipv6_address=ipv6_address, + ipv6_netmask=ipv6_netmask, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + dns_domain: Optional[str] = None, + dns_server_lists: Optional[Sequence[str]] = None, + ipv4_address: Optional[str] = None, + ipv4_netmask: Optional[int] = None, + ipv6_address: Optional[str] = None, + ipv6_netmask: Optional[int] = None, + opts: Optional[pulumi.ResourceOptions]=None): if dns_domain is not None: - pulumi.set(__self__, "dns_domain", dns_domain) + _setter("dns_domain", dns_domain) if dns_server_lists is not None: - pulumi.set(__self__, "dns_server_lists", dns_server_lists) + _setter("dns_server_lists", dns_server_lists) if ipv4_address is not None: - pulumi.set(__self__, "ipv4_address", ipv4_address) + _setter("ipv4_address", ipv4_address) if ipv4_netmask is not None: - pulumi.set(__self__, "ipv4_netmask", ipv4_netmask) + _setter("ipv4_netmask", ipv4_netmask) if ipv6_address is not None: - pulumi.set(__self__, "ipv6_address", ipv6_address) + _setter("ipv6_address", ipv6_address) if ipv6_netmask is not None: - pulumi.set(__self__, "ipv6_netmask", ipv6_netmask) + _setter("ipv6_netmask", ipv6_netmask) @property @pulumi.getter(name="dnsDomain") @@ -1117,31 +1331,64 @@ def __init__(__self__, *, run_once_command_lists: Optional[Sequence[str]] = None, time_zone: Optional[int] = None, workgroup: Optional[str] = None): - pulumi.set(__self__, "computer_name", computer_name) + VirtualMachineCloneCustomizeWindowsOptions._configure( + lambda key, value: pulumi.set(__self__, key, value), + computer_name=computer_name, + admin_password=admin_password, + auto_logon=auto_logon, + auto_logon_count=auto_logon_count, + domain_admin_password=domain_admin_password, + domain_admin_user=domain_admin_user, + full_name=full_name, + join_domain=join_domain, + organization_name=organization_name, + product_key=product_key, + run_once_command_lists=run_once_command_lists, + time_zone=time_zone, + workgroup=workgroup, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + computer_name: str, + admin_password: Optional[str] = None, + auto_logon: Optional[bool] = None, + auto_logon_count: Optional[int] = None, + domain_admin_password: Optional[str] = None, + domain_admin_user: Optional[str] = None, + full_name: Optional[str] = None, + join_domain: Optional[str] = None, + organization_name: Optional[str] = None, + product_key: Optional[str] = None, + run_once_command_lists: Optional[Sequence[str]] = None, + time_zone: Optional[int] = None, + workgroup: Optional[str] = None, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("computer_name", computer_name) if admin_password is not None: - pulumi.set(__self__, "admin_password", admin_password) + _setter("admin_password", admin_password) if auto_logon is not None: - pulumi.set(__self__, "auto_logon", auto_logon) + _setter("auto_logon", auto_logon) if auto_logon_count is not None: - pulumi.set(__self__, "auto_logon_count", auto_logon_count) + _setter("auto_logon_count", auto_logon_count) if domain_admin_password is not None: - pulumi.set(__self__, "domain_admin_password", domain_admin_password) + _setter("domain_admin_password", domain_admin_password) if domain_admin_user is not None: - pulumi.set(__self__, "domain_admin_user", domain_admin_user) + _setter("domain_admin_user", domain_admin_user) if full_name is not None: - pulumi.set(__self__, "full_name", full_name) + _setter("full_name", full_name) if join_domain is not None: - pulumi.set(__self__, "join_domain", join_domain) + _setter("join_domain", join_domain) if organization_name is not None: - pulumi.set(__self__, "organization_name", organization_name) + _setter("organization_name", organization_name) if product_key is not None: - pulumi.set(__self__, "product_key", product_key) + _setter("product_key", product_key) if run_once_command_lists is not None: - pulumi.set(__self__, "run_once_command_lists", run_once_command_lists) + _setter("run_once_command_lists", run_once_command_lists) if time_zone is not None: - pulumi.set(__self__, "time_zone", time_zone) + _setter("time_zone", time_zone) if workgroup is not None: - pulumi.set(__self__, "workgroup", workgroup) + _setter("workgroup", workgroup) @property @pulumi.getter(name="computerName") @@ -1283,9 +1530,7 @@ def __init__(__self__, *, > **NOTE:** External disks cannot be attached when `datastore_cluster_id` is used. :param str controller_type: The type of storage controller to attach the disk to. Can be `scsi`, `sata`, or `ide`. You must have the appropriate number of controllers enabled for the selected type. Default `scsi`. - :param str datastore_id: The managed object reference ID of the datastore in which to place the virtual machine. The virtual machine configuration files is placed here, along with any virtual disks that are created where a datastore is not explicitly specified. See the section on virtual machine migration for more information on modifying this value. - - > **NOTE:** Datastores cannot be assigned to individual disks when `datastore_cluster_id` is used. + :param str datastore_id: The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `client_device`. :param str disk_mode: The mode of this this virtual disk for purposes of writes and snapshots. One of `append`, `independent_nonpersistent`, `independent_persistent`, `nonpersistent`, `persistent`, or `undoable`. Default: `persistent`. For more information on these option, please refer to the [product documentation][vmware-docs-disk-mode]. [vmware-docs-disk-mode]: https://vdc-download.vmware.com/vmwb-repository/dcr-public/da47f910-60ac-438b-8b9b-6122f4d14524/16b7274a-bf8b-4b4c-a05e-746f2aa93c8c/doc/vim.vm.device.VirtualDiskOption.DiskMode.html @@ -1299,59 +1544,108 @@ def __init__(__self__, *, :param str io_share_level: The share allocation level for the virtual disk. One of `low`, `normal`, `high`, or `custom`. Default: `normal`. :param bool keep_on_remove: Keep this disk when removing the device or destroying the virtual machine. Default: `false`. :param int key: The ID of the device within the virtual machine. - :param str path: When using `attach`, this parameter controls the path of a virtual disk to attach externally. Otherwise, it is a computed attribute that contains the virtual disk filename. + :param str path: The path to the ISO file. Required for using a datastore ISO. Conflicts with `client_device`. > **NOTE:** Either `client_device` (for a remote backed CD-ROM) or `datastore_id` and `path` (for a datastore ISO backed CD-ROM) are required to . > **NOTE:** Some CD-ROM drive types are not supported by this resource, such as pass-through devices. If these drives are present in a cloned template, or added outside of the provider, the desired state will be corrected to the defined device, or removed if no `cdrom` block is present. :param int size: The size of the disk, in GB. Must be a whole number. - :param str storage_policy_id: The ID of the storage policy to assign to the home directory of a virtual machine. + :param str storage_policy_id: The UUID of the storage policy to assign to the virtual disk. :param bool thin_provisioned: If `true`, the disk is thin provisioned, with space for the file being allocated on an as-needed basis. Cannot be set to `true` when `eagerly_scrub` is `true`. See the section on selecting a disk type for more information. Default: `true`. :param int unit_number: The disk number on the storage bus. The maximum value for this setting is the value of the controller count times the controller capacity (15 for SCSI, 30 for SATA, and 2 for IDE). Duplicate unit numbers are not allowed. Default `0`, for which one disk must be set to. :param str uuid: The UUID of the virtual disk VMDK file. This is used to track the virtual disk on the virtual machine. :param bool write_through: If `true`, writes for this disk are sent directly to the filesystem immediately instead of being buffered. Default: `false`. """ - pulumi.set(__self__, "label", label) + VirtualMachineDisk._configure( + lambda key, value: pulumi.set(__self__, key, value), + label=label, + attach=attach, + controller_type=controller_type, + datastore_id=datastore_id, + device_address=device_address, + disk_mode=disk_mode, + disk_sharing=disk_sharing, + eagerly_scrub=eagerly_scrub, + io_limit=io_limit, + io_reservation=io_reservation, + io_share_count=io_share_count, + io_share_level=io_share_level, + keep_on_remove=keep_on_remove, + key=key, + path=path, + size=size, + storage_policy_id=storage_policy_id, + thin_provisioned=thin_provisioned, + unit_number=unit_number, + uuid=uuid, + write_through=write_through, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + label: str, + attach: Optional[bool] = None, + controller_type: Optional[str] = None, + datastore_id: Optional[str] = None, + device_address: Optional[str] = None, + disk_mode: Optional[str] = None, + disk_sharing: Optional[str] = None, + eagerly_scrub: Optional[bool] = None, + io_limit: Optional[int] = None, + io_reservation: Optional[int] = None, + io_share_count: Optional[int] = None, + io_share_level: Optional[str] = None, + keep_on_remove: Optional[bool] = None, + key: Optional[int] = None, + path: Optional[str] = None, + size: Optional[int] = None, + storage_policy_id: Optional[str] = None, + thin_provisioned: Optional[bool] = None, + unit_number: Optional[int] = None, + uuid: Optional[str] = None, + write_through: Optional[bool] = None, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("label", label) if attach is not None: - pulumi.set(__self__, "attach", attach) + _setter("attach", attach) if controller_type is not None: - pulumi.set(__self__, "controller_type", controller_type) + _setter("controller_type", controller_type) if datastore_id is not None: - pulumi.set(__self__, "datastore_id", datastore_id) + _setter("datastore_id", datastore_id) if device_address is not None: - pulumi.set(__self__, "device_address", device_address) + _setter("device_address", device_address) if disk_mode is not None: - pulumi.set(__self__, "disk_mode", disk_mode) + _setter("disk_mode", disk_mode) if disk_sharing is not None: - pulumi.set(__self__, "disk_sharing", disk_sharing) + _setter("disk_sharing", disk_sharing) if eagerly_scrub is not None: - pulumi.set(__self__, "eagerly_scrub", eagerly_scrub) + _setter("eagerly_scrub", eagerly_scrub) if io_limit is not None: - pulumi.set(__self__, "io_limit", io_limit) + _setter("io_limit", io_limit) if io_reservation is not None: - pulumi.set(__self__, "io_reservation", io_reservation) + _setter("io_reservation", io_reservation) if io_share_count is not None: - pulumi.set(__self__, "io_share_count", io_share_count) + _setter("io_share_count", io_share_count) if io_share_level is not None: - pulumi.set(__self__, "io_share_level", io_share_level) + _setter("io_share_level", io_share_level) if keep_on_remove is not None: - pulumi.set(__self__, "keep_on_remove", keep_on_remove) + _setter("keep_on_remove", keep_on_remove) if key is not None: - pulumi.set(__self__, "key", key) + _setter("key", key) if path is not None: - pulumi.set(__self__, "path", path) + _setter("path", path) if size is not None: - pulumi.set(__self__, "size", size) + _setter("size", size) if storage_policy_id is not None: - pulumi.set(__self__, "storage_policy_id", storage_policy_id) + _setter("storage_policy_id", storage_policy_id) if thin_provisioned is not None: - pulumi.set(__self__, "thin_provisioned", thin_provisioned) + _setter("thin_provisioned", thin_provisioned) if unit_number is not None: - pulumi.set(__self__, "unit_number", unit_number) + _setter("unit_number", unit_number) if uuid is not None: - pulumi.set(__self__, "uuid", uuid) + _setter("uuid", uuid) if write_through is not None: - pulumi.set(__self__, "write_through", write_through) + _setter("write_through", write_through) @property @pulumi.getter @@ -1380,9 +1674,7 @@ def controller_type(self) -> Optional[str]: @pulumi.getter(name="datastoreId") def datastore_id(self) -> Optional[str]: """ - The managed object reference ID of the datastore in which to place the virtual machine. The virtual machine configuration files is placed here, along with any virtual disks that are created where a datastore is not explicitly specified. See the section on virtual machine migration for more information on modifying this value. - - > **NOTE:** Datastores cannot be assigned to individual disks when `datastore_cluster_id` is used. + The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `client_device`. """ return pulumi.get(self, "datastore_id") @@ -1471,7 +1763,7 @@ def key(self) -> Optional[int]: @pulumi.getter def path(self) -> Optional[str]: """ - When using `attach`, this parameter controls the path of a virtual disk to attach externally. Otherwise, it is a computed attribute that contains the virtual disk filename. + The path to the ISO file. Required for using a datastore ISO. Conflicts with `client_device`. > **NOTE:** Either `client_device` (for a remote backed CD-ROM) or `datastore_id` and `path` (for a datastore ISO backed CD-ROM) are required to . @@ -1491,7 +1783,7 @@ def size(self) -> Optional[int]: @pulumi.getter(name="storagePolicyId") def storage_policy_id(self) -> Optional[str]: """ - The ID of the storage policy to assign to the home directory of a virtual machine. + The UUID of the storage policy to assign to the virtual disk. """ return pulumi.get(self, "storage_policy_id") @@ -1589,27 +1881,56 @@ def __init__(__self__, *, :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. :param bool use_static_mac: If true, the `mac_address` field is treated as a static MAC address and set accordingly. Setting this to `true` requires `mac_address` to be set. Default: `false`. """ - pulumi.set(__self__, "network_id", network_id) + VirtualMachineNetworkInterface._configure( + lambda key, value: pulumi.set(__self__, key, value), + network_id=network_id, + adapter_type=adapter_type, + bandwidth_limit=bandwidth_limit, + bandwidth_reservation=bandwidth_reservation, + bandwidth_share_count=bandwidth_share_count, + bandwidth_share_level=bandwidth_share_level, + device_address=device_address, + key=key, + mac_address=mac_address, + ovf_mapping=ovf_mapping, + use_static_mac=use_static_mac, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + network_id: str, + adapter_type: Optional[str] = None, + bandwidth_limit: Optional[int] = None, + bandwidth_reservation: Optional[int] = None, + bandwidth_share_count: Optional[int] = None, + bandwidth_share_level: Optional[str] = None, + device_address: Optional[str] = None, + key: Optional[int] = None, + mac_address: Optional[str] = None, + ovf_mapping: Optional[str] = None, + use_static_mac: Optional[bool] = None, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("network_id", network_id) if adapter_type is not None: - pulumi.set(__self__, "adapter_type", adapter_type) + _setter("adapter_type", adapter_type) if bandwidth_limit is not None: - pulumi.set(__self__, "bandwidth_limit", bandwidth_limit) + _setter("bandwidth_limit", bandwidth_limit) if bandwidth_reservation is not None: - pulumi.set(__self__, "bandwidth_reservation", bandwidth_reservation) + _setter("bandwidth_reservation", bandwidth_reservation) if bandwidth_share_count is not None: - pulumi.set(__self__, "bandwidth_share_count", bandwidth_share_count) + _setter("bandwidth_share_count", bandwidth_share_count) if bandwidth_share_level is not None: - pulumi.set(__self__, "bandwidth_share_level", bandwidth_share_level) + _setter("bandwidth_share_level", bandwidth_share_level) if device_address is not None: - pulumi.set(__self__, "device_address", device_address) + _setter("device_address", device_address) if key is not None: - pulumi.set(__self__, "key", key) + _setter("key", key) if mac_address is not None: - pulumi.set(__self__, "mac_address", mac_address) + _setter("mac_address", mac_address) if ovf_mapping is not None: - pulumi.set(__self__, "ovf_mapping", ovf_mapping) + _setter("ovf_mapping", ovf_mapping) if use_static_mac is not None: - pulumi.set(__self__, "use_static_mac", use_static_mac) + _setter("use_static_mac", use_static_mac) @property @pulumi.getter(name="networkId") @@ -1742,24 +2063,49 @@ def __init__(__self__, *, local_ovf_path: Optional[str] = None, ovf_network_map: Optional[Mapping[str, str]] = None, remote_ovf_url: Optional[str] = None): + VirtualMachineOvfDeploy._configure( + lambda key, value: pulumi.set(__self__, key, value), + allow_unverified_ssl_cert=allow_unverified_ssl_cert, + deployment_option=deployment_option, + disk_provisioning=disk_provisioning, + enable_hidden_properties=enable_hidden_properties, + ip_allocation_policy=ip_allocation_policy, + ip_protocol=ip_protocol, + local_ovf_path=local_ovf_path, + ovf_network_map=ovf_network_map, + remote_ovf_url=remote_ovf_url, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + allow_unverified_ssl_cert: Optional[bool] = None, + deployment_option: Optional[str] = None, + disk_provisioning: Optional[str] = None, + enable_hidden_properties: Optional[bool] = None, + ip_allocation_policy: Optional[str] = None, + ip_protocol: Optional[str] = None, + local_ovf_path: Optional[str] = None, + ovf_network_map: Optional[Mapping[str, str]] = None, + remote_ovf_url: Optional[str] = None, + opts: Optional[pulumi.ResourceOptions]=None): if allow_unverified_ssl_cert is not None: - pulumi.set(__self__, "allow_unverified_ssl_cert", allow_unverified_ssl_cert) + _setter("allow_unverified_ssl_cert", allow_unverified_ssl_cert) if deployment_option is not None: - pulumi.set(__self__, "deployment_option", deployment_option) + _setter("deployment_option", deployment_option) if disk_provisioning is not None: - pulumi.set(__self__, "disk_provisioning", disk_provisioning) + _setter("disk_provisioning", disk_provisioning) if enable_hidden_properties is not None: - pulumi.set(__self__, "enable_hidden_properties", enable_hidden_properties) + _setter("enable_hidden_properties", enable_hidden_properties) if ip_allocation_policy is not None: - pulumi.set(__self__, "ip_allocation_policy", ip_allocation_policy) + _setter("ip_allocation_policy", ip_allocation_policy) if ip_protocol is not None: - pulumi.set(__self__, "ip_protocol", ip_protocol) + _setter("ip_protocol", ip_protocol) if local_ovf_path is not None: - pulumi.set(__self__, "local_ovf_path", local_ovf_path) + _setter("local_ovf_path", local_ovf_path) if ovf_network_map is not None: - pulumi.set(__self__, "ovf_network_map", ovf_network_map) + _setter("ovf_network_map", ovf_network_map) if remote_ovf_url is not None: - pulumi.set(__self__, "remote_ovf_url", remote_ovf_url) + _setter("remote_ovf_url", remote_ovf_url) @property @pulumi.getter(name="allowUnverifiedSslCert") @@ -1811,8 +2157,17 @@ def remote_ovf_url(self) -> Optional[str]: class VirtualMachineVapp(dict): def __init__(__self__, *, properties: Optional[Mapping[str, str]] = None): + VirtualMachineVapp._configure( + lambda key, value: pulumi.set(__self__, key, value), + properties=properties, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + properties: Optional[Mapping[str, str]] = None, + opts: Optional[pulumi.ResourceOptions]=None): if properties is not None: - pulumi.set(__self__, "properties", properties) + _setter("properties", properties) @property @pulumi.getter @@ -1850,10 +2205,23 @@ def __init__(__self__, *, :param Sequence[str] tags: List of Name of tags to select from the given category. :param bool include_datastores_with_tags: Include datastores with the given tags or exclude. Default `true`. """ - pulumi.set(__self__, "tag_category", tag_category) - pulumi.set(__self__, "tags", tags) + VmStoragePolicyTagRule._configure( + lambda key, value: pulumi.set(__self__, key, value), + tag_category=tag_category, + tags=tags, + include_datastores_with_tags=include_datastores_with_tags, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + tag_category: str, + tags: Sequence[str], + include_datastores_with_tags: Optional[bool] = None, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("tag_category", tag_category) + _setter("tags", tags) if include_datastores_with_tags is not None: - pulumi.set(__self__, "include_datastores_with_tags", include_datastores_with_tags) + _setter("include_datastores_with_tags", include_datastores_with_tags) @property @pulumi.getter(name="tagCategory") @@ -1889,18 +2257,33 @@ def __init__(__self__, *, netmask: Optional[str] = None): """ :param bool dhcp: Use DHCP to configure the interface's IPv4 stack. - :param str gw: IP address of the default gateway, if DHCP is not set. + :param str gw: IP address of the default gateway, if DHCP or autoconfig is not set. :param str ip: Address of the interface, if DHCP is not set. :param str netmask: Netmask of the interface, if DHCP is not set. """ + VnicIpv4._configure( + lambda key, value: pulumi.set(__self__, key, value), + dhcp=dhcp, + gw=gw, + ip=ip, + netmask=netmask, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + dhcp: Optional[bool] = None, + gw: Optional[str] = None, + ip: Optional[str] = None, + netmask: Optional[str] = None, + opts: Optional[pulumi.ResourceOptions]=None): if dhcp is not None: - pulumi.set(__self__, "dhcp", dhcp) + _setter("dhcp", dhcp) if gw is not None: - pulumi.set(__self__, "gw", gw) + _setter("gw", gw) if ip is not None: - pulumi.set(__self__, "ip", ip) + _setter("ip", ip) if netmask is not None: - pulumi.set(__self__, "netmask", netmask) + _setter("netmask", netmask) @property @pulumi.getter @@ -1914,7 +2297,7 @@ def dhcp(self) -> Optional[bool]: @pulumi.getter def gw(self) -> Optional[str]: """ - IP address of the default gateway, if DHCP is not set. + IP address of the default gateway, if DHCP or autoconfig is not set. """ return pulumi.get(self, "gw") @@ -1946,16 +2329,31 @@ def __init__(__self__, *, :param Sequence[str] addresses: List of IPv6 addresses :param bool autoconfig: Use IPv6 Autoconfiguration (RFC2462). :param bool dhcp: Use DHCP to configure the interface's IPv4 stack. - :param str gw: IP address of the default gateway, if DHCP is not set. - """ + :param str gw: IP address of the default gateway, if DHCP or autoconfig is not set. + """ + VnicIpv6._configure( + lambda key, value: pulumi.set(__self__, key, value), + addresses=addresses, + autoconfig=autoconfig, + dhcp=dhcp, + gw=gw, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + addresses: Optional[Sequence[str]] = None, + autoconfig: Optional[bool] = None, + dhcp: Optional[bool] = None, + gw: Optional[str] = None, + opts: Optional[pulumi.ResourceOptions]=None): if addresses is not None: - pulumi.set(__self__, "addresses", addresses) + _setter("addresses", addresses) if autoconfig is not None: - pulumi.set(__self__, "autoconfig", autoconfig) + _setter("autoconfig", autoconfig) if dhcp is not None: - pulumi.set(__self__, "dhcp", dhcp) + _setter("dhcp", dhcp) if gw is not None: - pulumi.set(__self__, "gw", gw) + _setter("gw", gw) @property @pulumi.getter @@ -1985,7 +2383,7 @@ def dhcp(self) -> Optional[bool]: @pulumi.getter def gw(self) -> Optional[str]: """ - IP address of the default gateway, if DHCP is not set. + IP address of the default gateway, if DHCP or autoconfig is not set. """ return pulumi.get(self, "gw") @@ -2005,11 +2403,28 @@ def __init__(__self__, *, :param bool thin_provisioned: Set to `true` if the disk has been thin provisioned. :param int unit_number: The disk number on the storage bus. """ - pulumi.set(__self__, "eagerly_scrub", eagerly_scrub) - pulumi.set(__self__, "label", label) - pulumi.set(__self__, "size", size) - pulumi.set(__self__, "thin_provisioned", thin_provisioned) - pulumi.set(__self__, "unit_number", unit_number) + GetVirtualMachineDiskResult._configure( + lambda key, value: pulumi.set(__self__, key, value), + eagerly_scrub=eagerly_scrub, + label=label, + size=size, + thin_provisioned=thin_provisioned, + unit_number=unit_number, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + eagerly_scrub: bool, + label: str, + size: int, + thin_provisioned: bool, + unit_number: int, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("eagerly_scrub", eagerly_scrub) + _setter("label", label) + _setter("size", size) + _setter("thin_provisioned", thin_provisioned) + _setter("unit_number", unit_number) @property @pulumi.getter(name="eagerlyScrub") @@ -2078,16 +2493,37 @@ def __init__(__self__, *, :param str bandwidth_share_level: The bandwidth share allocation level for this interface. Can be one of `low`, `normal`, `high`, or `custom`. """ - pulumi.set(__self__, "adapter_type", adapter_type) - pulumi.set(__self__, "bandwidth_share_count", bandwidth_share_count) - pulumi.set(__self__, "mac_address", mac_address) - pulumi.set(__self__, "network_id", network_id) + GetVirtualMachineNetworkInterfaceResult._configure( + lambda key, value: pulumi.set(__self__, key, value), + adapter_type=adapter_type, + bandwidth_share_count=bandwidth_share_count, + mac_address=mac_address, + network_id=network_id, + bandwidth_limit=bandwidth_limit, + bandwidth_reservation=bandwidth_reservation, + bandwidth_share_level=bandwidth_share_level, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + adapter_type: str, + bandwidth_share_count: int, + mac_address: str, + network_id: str, + bandwidth_limit: Optional[int] = None, + bandwidth_reservation: Optional[int] = None, + bandwidth_share_level: Optional[str] = None, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("adapter_type", adapter_type) + _setter("bandwidth_share_count", bandwidth_share_count) + _setter("mac_address", mac_address) + _setter("network_id", network_id) if bandwidth_limit is not None: - pulumi.set(__self__, "bandwidth_limit", bandwidth_limit) + _setter("bandwidth_limit", bandwidth_limit) if bandwidth_reservation is not None: - pulumi.set(__self__, "bandwidth_reservation", bandwidth_reservation) + _setter("bandwidth_reservation", bandwidth_reservation) if bandwidth_share_level is not None: - pulumi.set(__self__, "bandwidth_share_level", bandwidth_share_level) + _setter("bandwidth_share_level", bandwidth_share_level) @property @pulumi.getter(name="adapterType") @@ -2157,8 +2593,17 @@ def bandwidth_share_level(self) -> Optional[str]: class GetVirtualMachineVappResult(dict): def __init__(__self__, *, properties: Optional[Mapping[str, str]] = None): + GetVirtualMachineVappResult._configure( + lambda key, value: pulumi.set(__self__, key, value), + properties=properties, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + properties: Optional[Mapping[str, str]] = None, + opts: Optional[pulumi.ResourceOptions]=None): if properties is not None: - pulumi.set(__self__, "properties", properties) + _setter("properties", properties) @property @pulumi.getter diff --git a/sdk/python/pulumi_vsphere/provider.py b/sdk/python/pulumi_vsphere/provider.py index 133663a6..eb7488a0 100644 --- a/sdk/python/pulumi_vsphere/provider.py +++ b/sdk/python/pulumi_vsphere/provider.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities __all__ = ['ProviderArgs', 'Provider'] @@ -42,49 +42,82 @@ def __init__(__self__, *, :param pulumi.Input[str] vim_session_path: The directory to save vSphere SOAP API sessions to :param pulumi.Input[str] vsphere_server: The vSphere Server name for vSphere API operations. """ - pulumi.set(__self__, "password", password) - pulumi.set(__self__, "user", user) + ProviderArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + password=password, + user=user, + allow_unverified_ssl=allow_unverified_ssl, + api_timeout=api_timeout, + client_debug=client_debug, + client_debug_path=client_debug_path, + client_debug_path_run=client_debug_path_run, + persist_session=persist_session, + rest_session_path=rest_session_path, + vcenter_server=vcenter_server, + vim_keep_alive=vim_keep_alive, + vim_session_path=vim_session_path, + vsphere_server=vsphere_server, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + password: pulumi.Input[str], + user: pulumi.Input[str], + allow_unverified_ssl: Optional[pulumi.Input[bool]] = None, + api_timeout: Optional[pulumi.Input[int]] = None, + client_debug: Optional[pulumi.Input[bool]] = None, + client_debug_path: Optional[pulumi.Input[str]] = None, + client_debug_path_run: Optional[pulumi.Input[str]] = None, + persist_session: Optional[pulumi.Input[bool]] = None, + rest_session_path: Optional[pulumi.Input[str]] = None, + vcenter_server: Optional[pulumi.Input[str]] = None, + vim_keep_alive: Optional[pulumi.Input[int]] = None, + vim_session_path: Optional[pulumi.Input[str]] = None, + vsphere_server: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("password", password) + _setter("user", user) if allow_unverified_ssl is None: allow_unverified_ssl = _utilities.get_env_bool('VSPHERE_ALLOW_UNVERIFIED_SSL') if allow_unverified_ssl is not None: - pulumi.set(__self__, "allow_unverified_ssl", allow_unverified_ssl) + _setter("allow_unverified_ssl", allow_unverified_ssl) if api_timeout is not None: - pulumi.set(__self__, "api_timeout", api_timeout) + _setter("api_timeout", api_timeout) if client_debug is None: client_debug = _utilities.get_env_bool('VSPHERE_CLIENT_DEBUG') if client_debug is not None: - pulumi.set(__self__, "client_debug", client_debug) + _setter("client_debug", client_debug) if client_debug_path is None: client_debug_path = _utilities.get_env('VSPHERE_CLIENT_DEBUG_PATH') if client_debug_path is not None: - pulumi.set(__self__, "client_debug_path", client_debug_path) + _setter("client_debug_path", client_debug_path) if client_debug_path_run is None: client_debug_path_run = _utilities.get_env('VSPHERE_CLIENT_DEBUG_PATH_RUN') if client_debug_path_run is not None: - pulumi.set(__self__, "client_debug_path_run", client_debug_path_run) + _setter("client_debug_path_run", client_debug_path_run) if persist_session is None: persist_session = _utilities.get_env_bool('VSPHERE_PERSIST_SESSION') if persist_session is not None: - pulumi.set(__self__, "persist_session", persist_session) + _setter("persist_session", persist_session) if rest_session_path is None: rest_session_path = _utilities.get_env('VSPHERE_REST_SESSION_PATH') if rest_session_path is not None: - pulumi.set(__self__, "rest_session_path", rest_session_path) + _setter("rest_session_path", rest_session_path) if vcenter_server is not None: warnings.warn("""This field has been renamed to vsphere_server.""", DeprecationWarning) pulumi.log.warn("""vcenter_server is deprecated: This field has been renamed to vsphere_server.""") if vcenter_server is not None: - pulumi.set(__self__, "vcenter_server", vcenter_server) + _setter("vcenter_server", vcenter_server) if vim_keep_alive is None: vim_keep_alive = _utilities.get_env_int('VSPHERE_VIM_KEEP_ALIVE') if vim_keep_alive is not None: - pulumi.set(__self__, "vim_keep_alive", vim_keep_alive) + _setter("vim_keep_alive", vim_keep_alive) if vim_session_path is None: vim_session_path = _utilities.get_env('VSPHERE_VIM_SESSION_PATH') if vim_session_path is not None: - pulumi.set(__self__, "vim_session_path", vim_session_path) + _setter("vim_session_path", vim_session_path) if vsphere_server is not None: - pulumi.set(__self__, "vsphere_server", vsphere_server) + _setter("vsphere_server", vsphere_server) @property @pulumi.getter @@ -305,6 +338,10 @@ def __init__(__self__, resource_name: str, *args, **kwargs): if resource_args is not None: __self__._internal_init(resource_name, opts, **resource_args.__dict__) else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + ProviderArgs._configure(_setter, **kwargs) __self__._internal_init(resource_name, *args, **kwargs) def _internal_init(__self__, @@ -357,9 +394,6 @@ def _internal_init(__self__, if user is None and not opts.urn: raise TypeError("Missing required property 'user'") __props__.__dict__["user"] = user - if vcenter_server is not None and not opts.urn: - warnings.warn("""This field has been renamed to vsphere_server.""", DeprecationWarning) - pulumi.log.warn("""vcenter_server is deprecated: This field has been renamed to vsphere_server.""") __props__.__dict__["vcenter_server"] = vcenter_server if vim_keep_alive is None: vim_keep_alive = _utilities.get_env_int('VSPHERE_VIM_KEEP_ALIVE') diff --git a/sdk/python/pulumi_vsphere/resource_pool.py b/sdk/python/pulumi_vsphere/resource_pool.py index ad93bc1e..8cc1146d 100644 --- a/sdk/python/pulumi_vsphere/resource_pool.py +++ b/sdk/python/pulumi_vsphere/resource_pool.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities __all__ = ['ResourcePoolArgs', 'ResourcePool'] @@ -76,35 +76,72 @@ def __init__(__self__, *, `scaleCpuAndMemoryShares`. Default: `disabled`. :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The IDs of any tags to attach to this resource. """ - pulumi.set(__self__, "parent_resource_pool_id", parent_resource_pool_id) + ResourcePoolArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + parent_resource_pool_id=parent_resource_pool_id, + cpu_expandable=cpu_expandable, + cpu_limit=cpu_limit, + cpu_reservation=cpu_reservation, + cpu_share_level=cpu_share_level, + cpu_shares=cpu_shares, + custom_attributes=custom_attributes, + memory_expandable=memory_expandable, + memory_limit=memory_limit, + memory_reservation=memory_reservation, + memory_share_level=memory_share_level, + memory_shares=memory_shares, + name=name, + scale_descendants_shares=scale_descendants_shares, + tags=tags, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + parent_resource_pool_id: pulumi.Input[str], + cpu_expandable: Optional[pulumi.Input[bool]] = None, + cpu_limit: Optional[pulumi.Input[int]] = None, + cpu_reservation: Optional[pulumi.Input[int]] = None, + cpu_share_level: Optional[pulumi.Input[str]] = None, + cpu_shares: Optional[pulumi.Input[int]] = None, + custom_attributes: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + memory_expandable: Optional[pulumi.Input[bool]] = None, + memory_limit: Optional[pulumi.Input[int]] = None, + memory_reservation: Optional[pulumi.Input[int]] = None, + memory_share_level: Optional[pulumi.Input[str]] = None, + memory_shares: Optional[pulumi.Input[int]] = None, + name: Optional[pulumi.Input[str]] = None, + scale_descendants_shares: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("parent_resource_pool_id", parent_resource_pool_id) if cpu_expandable is not None: - pulumi.set(__self__, "cpu_expandable", cpu_expandable) + _setter("cpu_expandable", cpu_expandable) if cpu_limit is not None: - pulumi.set(__self__, "cpu_limit", cpu_limit) + _setter("cpu_limit", cpu_limit) if cpu_reservation is not None: - pulumi.set(__self__, "cpu_reservation", cpu_reservation) + _setter("cpu_reservation", cpu_reservation) if cpu_share_level is not None: - pulumi.set(__self__, "cpu_share_level", cpu_share_level) + _setter("cpu_share_level", cpu_share_level) if cpu_shares is not None: - pulumi.set(__self__, "cpu_shares", cpu_shares) + _setter("cpu_shares", cpu_shares) if custom_attributes is not None: - pulumi.set(__self__, "custom_attributes", custom_attributes) + _setter("custom_attributes", custom_attributes) if memory_expandable is not None: - pulumi.set(__self__, "memory_expandable", memory_expandable) + _setter("memory_expandable", memory_expandable) if memory_limit is not None: - pulumi.set(__self__, "memory_limit", memory_limit) + _setter("memory_limit", memory_limit) if memory_reservation is not None: - pulumi.set(__self__, "memory_reservation", memory_reservation) + _setter("memory_reservation", memory_reservation) if memory_share_level is not None: - pulumi.set(__self__, "memory_share_level", memory_share_level) + _setter("memory_share_level", memory_share_level) if memory_shares is not None: - pulumi.set(__self__, "memory_shares", memory_shares) + _setter("memory_shares", memory_shares) if name is not None: - pulumi.set(__self__, "name", name) + _setter("name", name) if scale_descendants_shares is not None: - pulumi.set(__self__, "scale_descendants_shares", scale_descendants_shares) + _setter("scale_descendants_shares", scale_descendants_shares) if tags is not None: - pulumi.set(__self__, "tags", tags) + _setter("tags", tags) @property @pulumi.getter(name="parentResourcePoolId") @@ -381,36 +418,73 @@ def __init__(__self__, *, `scaleCpuAndMemoryShares`. Default: `disabled`. :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The IDs of any tags to attach to this resource. """ + _ResourcePoolState._configure( + lambda key, value: pulumi.set(__self__, key, value), + cpu_expandable=cpu_expandable, + cpu_limit=cpu_limit, + cpu_reservation=cpu_reservation, + cpu_share_level=cpu_share_level, + cpu_shares=cpu_shares, + custom_attributes=custom_attributes, + memory_expandable=memory_expandable, + memory_limit=memory_limit, + memory_reservation=memory_reservation, + memory_share_level=memory_share_level, + memory_shares=memory_shares, + name=name, + parent_resource_pool_id=parent_resource_pool_id, + scale_descendants_shares=scale_descendants_shares, + tags=tags, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + cpu_expandable: Optional[pulumi.Input[bool]] = None, + cpu_limit: Optional[pulumi.Input[int]] = None, + cpu_reservation: Optional[pulumi.Input[int]] = None, + cpu_share_level: Optional[pulumi.Input[str]] = None, + cpu_shares: Optional[pulumi.Input[int]] = None, + custom_attributes: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + memory_expandable: Optional[pulumi.Input[bool]] = None, + memory_limit: Optional[pulumi.Input[int]] = None, + memory_reservation: Optional[pulumi.Input[int]] = None, + memory_share_level: Optional[pulumi.Input[str]] = None, + memory_shares: Optional[pulumi.Input[int]] = None, + name: Optional[pulumi.Input[str]] = None, + parent_resource_pool_id: Optional[pulumi.Input[str]] = None, + scale_descendants_shares: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + opts: Optional[pulumi.ResourceOptions]=None): if cpu_expandable is not None: - pulumi.set(__self__, "cpu_expandable", cpu_expandable) + _setter("cpu_expandable", cpu_expandable) if cpu_limit is not None: - pulumi.set(__self__, "cpu_limit", cpu_limit) + _setter("cpu_limit", cpu_limit) if cpu_reservation is not None: - pulumi.set(__self__, "cpu_reservation", cpu_reservation) + _setter("cpu_reservation", cpu_reservation) if cpu_share_level is not None: - pulumi.set(__self__, "cpu_share_level", cpu_share_level) + _setter("cpu_share_level", cpu_share_level) if cpu_shares is not None: - pulumi.set(__self__, "cpu_shares", cpu_shares) + _setter("cpu_shares", cpu_shares) if custom_attributes is not None: - pulumi.set(__self__, "custom_attributes", custom_attributes) + _setter("custom_attributes", custom_attributes) if memory_expandable is not None: - pulumi.set(__self__, "memory_expandable", memory_expandable) + _setter("memory_expandable", memory_expandable) if memory_limit is not None: - pulumi.set(__self__, "memory_limit", memory_limit) + _setter("memory_limit", memory_limit) if memory_reservation is not None: - pulumi.set(__self__, "memory_reservation", memory_reservation) + _setter("memory_reservation", memory_reservation) if memory_share_level is not None: - pulumi.set(__self__, "memory_share_level", memory_share_level) + _setter("memory_share_level", memory_share_level) if memory_shares is not None: - pulumi.set(__self__, "memory_shares", memory_shares) + _setter("memory_shares", memory_shares) if name is not None: - pulumi.set(__self__, "name", name) + _setter("name", name) if parent_resource_pool_id is not None: - pulumi.set(__self__, "parent_resource_pool_id", parent_resource_pool_id) + _setter("parent_resource_pool_id", parent_resource_pool_id) if scale_descendants_shares is not None: - pulumi.set(__self__, "scale_descendants_shares", scale_descendants_shares) + _setter("scale_descendants_shares", scale_descendants_shares) if tags is not None: - pulumi.set(__self__, "tags", tags) + _setter("tags", tags) @property @pulumi.getter(name="cpuExpandable") @@ -818,6 +892,10 @@ def __init__(__self__, resource_name: str, *args, **kwargs): if resource_args is not None: __self__._internal_init(resource_name, opts, **resource_args.__dict__) else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + ResourcePoolArgs._configure(_setter, **kwargs) __self__._internal_init(resource_name, *args, **kwargs) def _internal_init(__self__, diff --git a/sdk/python/pulumi_vsphere/role.py b/sdk/python/pulumi_vsphere/role.py index e20b7223..4265053d 100644 --- a/sdk/python/pulumi_vsphere/role.py +++ b/sdk/python/pulumi_vsphere/role.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities __all__ = ['RoleArgs', 'Role'] @@ -21,10 +21,21 @@ def __init__(__self__, *, :param pulumi.Input[str] name: The name of the role. :param pulumi.Input[Sequence[pulumi.Input[str]]] role_privileges: The privileges to be associated with this role. """ + RoleArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + name=name, + role_privileges=role_privileges, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + name: Optional[pulumi.Input[str]] = None, + role_privileges: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + opts: Optional[pulumi.ResourceOptions]=None): if name is not None: - pulumi.set(__self__, "name", name) + _setter("name", name) if role_privileges is not None: - pulumi.set(__self__, "role_privileges", role_privileges) + _setter("role_privileges", role_privileges) @property @pulumi.getter @@ -63,12 +74,25 @@ def __init__(__self__, *, :param pulumi.Input[str] name: The name of the role. :param pulumi.Input[Sequence[pulumi.Input[str]]] role_privileges: The privileges to be associated with this role. """ + _RoleState._configure( + lambda key, value: pulumi.set(__self__, key, value), + label=label, + name=name, + role_privileges=role_privileges, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + label: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + role_privileges: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + opts: Optional[pulumi.ResourceOptions]=None): if label is not None: - pulumi.set(__self__, "label", label) + _setter("label", label) if name is not None: - pulumi.set(__self__, "name", name) + _setter("name", name) if role_privileges is not None: - pulumi.set(__self__, "role_privileges", role_privileges) + _setter("role_privileges", role_privileges) @property @pulumi.getter @@ -140,6 +164,10 @@ def __init__(__self__, resource_name: str, *args, **kwargs): if resource_args is not None: __self__._internal_init(resource_name, opts, **resource_args.__dict__) else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + RoleArgs._configure(_setter, **kwargs) __self__._internal_init(resource_name, *args, **kwargs) def _internal_init(__self__, diff --git a/sdk/python/pulumi_vsphere/storage_drs_vm_override.py b/sdk/python/pulumi_vsphere/storage_drs_vm_override.py index 4d438bea..18f35f8b 100644 --- a/sdk/python/pulumi_vsphere/storage_drs_vm_override.py +++ b/sdk/python/pulumi_vsphere/storage_drs_vm_override.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities __all__ = ['StorageDrsVmOverrideArgs', 'StorageDrsVmOverride'] @@ -39,14 +39,31 @@ def __init__(__self__, *, individual disks on different datastores if it helps satisfy cluster requirements. When not specified, the datastore cluster's settings are used. """ - pulumi.set(__self__, "datastore_cluster_id", datastore_cluster_id) - pulumi.set(__self__, "virtual_machine_id", virtual_machine_id) + StorageDrsVmOverrideArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + datastore_cluster_id=datastore_cluster_id, + virtual_machine_id=virtual_machine_id, + sdrs_automation_level=sdrs_automation_level, + sdrs_enabled=sdrs_enabled, + sdrs_intra_vm_affinity=sdrs_intra_vm_affinity, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + datastore_cluster_id: pulumi.Input[str], + virtual_machine_id: pulumi.Input[str], + sdrs_automation_level: Optional[pulumi.Input[str]] = None, + sdrs_enabled: Optional[pulumi.Input[str]] = None, + sdrs_intra_vm_affinity: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("datastore_cluster_id", datastore_cluster_id) + _setter("virtual_machine_id", virtual_machine_id) if sdrs_automation_level is not None: - pulumi.set(__self__, "sdrs_automation_level", sdrs_automation_level) + _setter("sdrs_automation_level", sdrs_automation_level) if sdrs_enabled is not None: - pulumi.set(__self__, "sdrs_enabled", sdrs_enabled) + _setter("sdrs_enabled", sdrs_enabled) if sdrs_intra_vm_affinity is not None: - pulumi.set(__self__, "sdrs_intra_vm_affinity", sdrs_intra_vm_affinity) + _setter("sdrs_intra_vm_affinity", sdrs_intra_vm_affinity) @property @pulumi.getter(name="datastoreClusterId") @@ -149,16 +166,33 @@ def __init__(__self__, *, :param pulumi.Input[str] virtual_machine_id: The UUID of the virtual machine to create the override for. Forces a new resource if changed. """ + _StorageDrsVmOverrideState._configure( + lambda key, value: pulumi.set(__self__, key, value), + datastore_cluster_id=datastore_cluster_id, + sdrs_automation_level=sdrs_automation_level, + sdrs_enabled=sdrs_enabled, + sdrs_intra_vm_affinity=sdrs_intra_vm_affinity, + virtual_machine_id=virtual_machine_id, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + datastore_cluster_id: Optional[pulumi.Input[str]] = None, + sdrs_automation_level: Optional[pulumi.Input[str]] = None, + sdrs_enabled: Optional[pulumi.Input[str]] = None, + sdrs_intra_vm_affinity: Optional[pulumi.Input[str]] = None, + virtual_machine_id: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None): if datastore_cluster_id is not None: - pulumi.set(__self__, "datastore_cluster_id", datastore_cluster_id) + _setter("datastore_cluster_id", datastore_cluster_id) if sdrs_automation_level is not None: - pulumi.set(__self__, "sdrs_automation_level", sdrs_automation_level) + _setter("sdrs_automation_level", sdrs_automation_level) if sdrs_enabled is not None: - pulumi.set(__self__, "sdrs_enabled", sdrs_enabled) + _setter("sdrs_enabled", sdrs_enabled) if sdrs_intra_vm_affinity is not None: - pulumi.set(__self__, "sdrs_intra_vm_affinity", sdrs_intra_vm_affinity) + _setter("sdrs_intra_vm_affinity", sdrs_intra_vm_affinity) if virtual_machine_id is not None: - pulumi.set(__self__, "virtual_machine_id", virtual_machine_id) + _setter("virtual_machine_id", virtual_machine_id) @property @pulumi.getter(name="datastoreClusterId") @@ -284,6 +318,10 @@ def __init__(__self__, resource_name: str, *args, **kwargs): if resource_args is not None: __self__._internal_init(resource_name, opts, **resource_args.__dict__) else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + StorageDrsVmOverrideArgs._configure(_setter, **kwargs) __self__._internal_init(resource_name, *args, **kwargs) def _internal_init(__self__, diff --git a/sdk/python/pulumi_vsphere/tag.py b/sdk/python/pulumi_vsphere/tag.py index 5a793835..032cad68 100644 --- a/sdk/python/pulumi_vsphere/tag.py +++ b/sdk/python/pulumi_vsphere/tag.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities __all__ = ['TagArgs', 'Tag'] @@ -25,11 +25,24 @@ def __init__(__self__, *, :param pulumi.Input[str] name: The display name of the tag. The name must be unique within its category. """ - pulumi.set(__self__, "category_id", category_id) + TagArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + category_id=category_id, + description=description, + name=name, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + category_id: pulumi.Input[str], + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("category_id", category_id) if description is not None: - pulumi.set(__self__, "description", description) + _setter("description", description) if name is not None: - pulumi.set(__self__, "name", name) + _setter("name", name) @property @pulumi.getter(name="categoryId") @@ -84,12 +97,25 @@ def __init__(__self__, *, :param pulumi.Input[str] name: The display name of the tag. The name must be unique within its category. """ + _TagState._configure( + lambda key, value: pulumi.set(__self__, key, value), + category_id=category_id, + description=description, + name=name, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + category_id: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None): if category_id is not None: - pulumi.set(__self__, "category_id", category_id) + _setter("category_id", category_id) if description is not None: - pulumi.set(__self__, "description", description) + _setter("description", description) if name is not None: - pulumi.set(__self__, "name", name) + _setter("name", name) @property @pulumi.getter(name="categoryId") @@ -167,6 +193,10 @@ def __init__(__self__, resource_name: str, *args, **kwargs): if resource_args is not None: __self__._internal_init(resource_name, opts, **resource_args.__dict__) else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + TagArgs._configure(_setter, **kwargs) __self__._internal_init(resource_name, *args, **kwargs) def _internal_init(__self__, diff --git a/sdk/python/pulumi_vsphere/tag_category.py b/sdk/python/pulumi_vsphere/tag_category.py index a597986b..76ed5155 100644 --- a/sdk/python/pulumi_vsphere/tag_category.py +++ b/sdk/python/pulumi_vsphere/tag_category.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities __all__ = ['TagCategoryArgs', 'TagCategory'] @@ -33,12 +33,27 @@ def __init__(__self__, *, them. Attempting to do so will result in an error. :param pulumi.Input[str] name: The name of the category. """ - pulumi.set(__self__, "associable_types", associable_types) - pulumi.set(__self__, "cardinality", cardinality) + TagCategoryArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + associable_types=associable_types, + cardinality=cardinality, + description=description, + name=name, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + associable_types: pulumi.Input[Sequence[pulumi.Input[str]]], + cardinality: pulumi.Input[str], + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("associable_types", associable_types) + _setter("cardinality", cardinality) if description is not None: - pulumi.set(__self__, "description", description) + _setter("description", description) if name is not None: - pulumi.set(__self__, "name", name) + _setter("name", name) @property @pulumi.getter(name="associableTypes") @@ -119,14 +134,29 @@ def __init__(__self__, *, them. Attempting to do so will result in an error. :param pulumi.Input[str] name: The name of the category. """ + _TagCategoryState._configure( + lambda key, value: pulumi.set(__self__, key, value), + associable_types=associable_types, + cardinality=cardinality, + description=description, + name=name, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + associable_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + cardinality: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None): if associable_types is not None: - pulumi.set(__self__, "associable_types", associable_types) + _setter("associable_types", associable_types) if cardinality is not None: - pulumi.set(__self__, "cardinality", cardinality) + _setter("cardinality", cardinality) if description is not None: - pulumi.set(__self__, "description", description) + _setter("description", description) if name is not None: - pulumi.set(__self__, "name", name) + _setter("name", name) @property @pulumi.getter(name="associableTypes") @@ -230,6 +260,10 @@ def __init__(__self__, resource_name: str, *args, **kwargs): if resource_args is not None: __self__._internal_init(resource_name, opts, **resource_args.__dict__) else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + TagCategoryArgs._configure(_setter, **kwargs) __self__._internal_init(resource_name, *args, **kwargs) def _internal_init(__self__, diff --git a/sdk/python/pulumi_vsphere/vapp_container.py b/sdk/python/pulumi_vsphere/vapp_container.py index f45b802b..a17e7106 100644 --- a/sdk/python/pulumi_vsphere/vapp_container.py +++ b/sdk/python/pulumi_vsphere/vapp_container.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities __all__ = ['VappContainerArgs', 'VappContainer'] @@ -75,35 +75,72 @@ def __init__(__self__, *, the vApp container's parent folder. :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The IDs of any tags to attach to this resource. """ - pulumi.set(__self__, "parent_resource_pool_id", parent_resource_pool_id) + VappContainerArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + parent_resource_pool_id=parent_resource_pool_id, + cpu_expandable=cpu_expandable, + cpu_limit=cpu_limit, + cpu_reservation=cpu_reservation, + cpu_share_level=cpu_share_level, + cpu_shares=cpu_shares, + custom_attributes=custom_attributes, + memory_expandable=memory_expandable, + memory_limit=memory_limit, + memory_reservation=memory_reservation, + memory_share_level=memory_share_level, + memory_shares=memory_shares, + name=name, + parent_folder_id=parent_folder_id, + tags=tags, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + parent_resource_pool_id: pulumi.Input[str], + cpu_expandable: Optional[pulumi.Input[bool]] = None, + cpu_limit: Optional[pulumi.Input[int]] = None, + cpu_reservation: Optional[pulumi.Input[int]] = None, + cpu_share_level: Optional[pulumi.Input[str]] = None, + cpu_shares: Optional[pulumi.Input[int]] = None, + custom_attributes: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + memory_expandable: Optional[pulumi.Input[bool]] = None, + memory_limit: Optional[pulumi.Input[int]] = None, + memory_reservation: Optional[pulumi.Input[int]] = None, + memory_share_level: Optional[pulumi.Input[str]] = None, + memory_shares: Optional[pulumi.Input[int]] = None, + name: Optional[pulumi.Input[str]] = None, + parent_folder_id: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("parent_resource_pool_id", parent_resource_pool_id) if cpu_expandable is not None: - pulumi.set(__self__, "cpu_expandable", cpu_expandable) + _setter("cpu_expandable", cpu_expandable) if cpu_limit is not None: - pulumi.set(__self__, "cpu_limit", cpu_limit) + _setter("cpu_limit", cpu_limit) if cpu_reservation is not None: - pulumi.set(__self__, "cpu_reservation", cpu_reservation) + _setter("cpu_reservation", cpu_reservation) if cpu_share_level is not None: - pulumi.set(__self__, "cpu_share_level", cpu_share_level) + _setter("cpu_share_level", cpu_share_level) if cpu_shares is not None: - pulumi.set(__self__, "cpu_shares", cpu_shares) + _setter("cpu_shares", cpu_shares) if custom_attributes is not None: - pulumi.set(__self__, "custom_attributes", custom_attributes) + _setter("custom_attributes", custom_attributes) if memory_expandable is not None: - pulumi.set(__self__, "memory_expandable", memory_expandable) + _setter("memory_expandable", memory_expandable) if memory_limit is not None: - pulumi.set(__self__, "memory_limit", memory_limit) + _setter("memory_limit", memory_limit) if memory_reservation is not None: - pulumi.set(__self__, "memory_reservation", memory_reservation) + _setter("memory_reservation", memory_reservation) if memory_share_level is not None: - pulumi.set(__self__, "memory_share_level", memory_share_level) + _setter("memory_share_level", memory_share_level) if memory_shares is not None: - pulumi.set(__self__, "memory_shares", memory_shares) + _setter("memory_shares", memory_shares) if name is not None: - pulumi.set(__self__, "name", name) + _setter("name", name) if parent_folder_id is not None: - pulumi.set(__self__, "parent_folder_id", parent_folder_id) + _setter("parent_folder_id", parent_folder_id) if tags is not None: - pulumi.set(__self__, "tags", tags) + _setter("tags", tags) @property @pulumi.getter(name="parentResourcePoolId") @@ -378,36 +415,73 @@ def __init__(__self__, *, resource pool or the move will fail. :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The IDs of any tags to attach to this resource. """ + _VappContainerState._configure( + lambda key, value: pulumi.set(__self__, key, value), + cpu_expandable=cpu_expandable, + cpu_limit=cpu_limit, + cpu_reservation=cpu_reservation, + cpu_share_level=cpu_share_level, + cpu_shares=cpu_shares, + custom_attributes=custom_attributes, + memory_expandable=memory_expandable, + memory_limit=memory_limit, + memory_reservation=memory_reservation, + memory_share_level=memory_share_level, + memory_shares=memory_shares, + name=name, + parent_folder_id=parent_folder_id, + parent_resource_pool_id=parent_resource_pool_id, + tags=tags, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + cpu_expandable: Optional[pulumi.Input[bool]] = None, + cpu_limit: Optional[pulumi.Input[int]] = None, + cpu_reservation: Optional[pulumi.Input[int]] = None, + cpu_share_level: Optional[pulumi.Input[str]] = None, + cpu_shares: Optional[pulumi.Input[int]] = None, + custom_attributes: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + memory_expandable: Optional[pulumi.Input[bool]] = None, + memory_limit: Optional[pulumi.Input[int]] = None, + memory_reservation: Optional[pulumi.Input[int]] = None, + memory_share_level: Optional[pulumi.Input[str]] = None, + memory_shares: Optional[pulumi.Input[int]] = None, + name: Optional[pulumi.Input[str]] = None, + parent_folder_id: Optional[pulumi.Input[str]] = None, + parent_resource_pool_id: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + opts: Optional[pulumi.ResourceOptions]=None): if cpu_expandable is not None: - pulumi.set(__self__, "cpu_expandable", cpu_expandable) + _setter("cpu_expandable", cpu_expandable) if cpu_limit is not None: - pulumi.set(__self__, "cpu_limit", cpu_limit) + _setter("cpu_limit", cpu_limit) if cpu_reservation is not None: - pulumi.set(__self__, "cpu_reservation", cpu_reservation) + _setter("cpu_reservation", cpu_reservation) if cpu_share_level is not None: - pulumi.set(__self__, "cpu_share_level", cpu_share_level) + _setter("cpu_share_level", cpu_share_level) if cpu_shares is not None: - pulumi.set(__self__, "cpu_shares", cpu_shares) + _setter("cpu_shares", cpu_shares) if custom_attributes is not None: - pulumi.set(__self__, "custom_attributes", custom_attributes) + _setter("custom_attributes", custom_attributes) if memory_expandable is not None: - pulumi.set(__self__, "memory_expandable", memory_expandable) + _setter("memory_expandable", memory_expandable) if memory_limit is not None: - pulumi.set(__self__, "memory_limit", memory_limit) + _setter("memory_limit", memory_limit) if memory_reservation is not None: - pulumi.set(__self__, "memory_reservation", memory_reservation) + _setter("memory_reservation", memory_reservation) if memory_share_level is not None: - pulumi.set(__self__, "memory_share_level", memory_share_level) + _setter("memory_share_level", memory_share_level) if memory_shares is not None: - pulumi.set(__self__, "memory_shares", memory_shares) + _setter("memory_shares", memory_shares) if name is not None: - pulumi.set(__self__, "name", name) + _setter("name", name) if parent_folder_id is not None: - pulumi.set(__self__, "parent_folder_id", parent_folder_id) + _setter("parent_folder_id", parent_folder_id) if parent_resource_pool_id is not None: - pulumi.set(__self__, "parent_resource_pool_id", parent_resource_pool_id) + _setter("parent_resource_pool_id", parent_resource_pool_id) if tags is not None: - pulumi.set(__self__, "tags", tags) + _setter("tags", tags) @property @pulumi.getter(name="cpuExpandable") @@ -705,6 +779,10 @@ def __init__(__self__, resource_name: str, *args, **kwargs): if resource_args is not None: __self__._internal_init(resource_name, opts, **resource_args.__dict__) else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + VappContainerArgs._configure(_setter, **kwargs) __self__._internal_init(resource_name, *args, **kwargs) def _internal_init(__self__, diff --git a/sdk/python/pulumi_vsphere/vapp_entity.py b/sdk/python/pulumi_vsphere/vapp_entity.py index 7698b491..6ccc7162 100644 --- a/sdk/python/pulumi_vsphere/vapp_entity.py +++ b/sdk/python/pulumi_vsphere/vapp_entity.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities __all__ = ['VappEntityArgs', 'VappEntity'] @@ -48,24 +48,51 @@ def __init__(__self__, *, started when VMware Tools are ready instead of waiting for `start_delay`. This property has no effect for vApps. Default: false """ - pulumi.set(__self__, "container_id", container_id) - pulumi.set(__self__, "target_id", target_id) + VappEntityArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + container_id=container_id, + target_id=target_id, + custom_attributes=custom_attributes, + start_action=start_action, + start_delay=start_delay, + start_order=start_order, + stop_action=stop_action, + stop_delay=stop_delay, + tags=tags, + wait_for_guest=wait_for_guest, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + container_id: pulumi.Input[str], + target_id: pulumi.Input[str], + custom_attributes: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + start_action: Optional[pulumi.Input[str]] = None, + start_delay: Optional[pulumi.Input[int]] = None, + start_order: Optional[pulumi.Input[int]] = None, + stop_action: Optional[pulumi.Input[str]] = None, + stop_delay: Optional[pulumi.Input[int]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + wait_for_guest: Optional[pulumi.Input[bool]] = None, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("container_id", container_id) + _setter("target_id", target_id) if custom_attributes is not None: - pulumi.set(__self__, "custom_attributes", custom_attributes) + _setter("custom_attributes", custom_attributes) if start_action is not None: - pulumi.set(__self__, "start_action", start_action) + _setter("start_action", start_action) if start_delay is not None: - pulumi.set(__self__, "start_delay", start_delay) + _setter("start_delay", start_delay) if start_order is not None: - pulumi.set(__self__, "start_order", start_order) + _setter("start_order", start_order) if stop_action is not None: - pulumi.set(__self__, "stop_action", stop_action) + _setter("stop_action", stop_action) if stop_delay is not None: - pulumi.set(__self__, "stop_delay", stop_delay) + _setter("stop_delay", stop_delay) if tags is not None: - pulumi.set(__self__, "tags", tags) + _setter("tags", tags) if wait_for_guest is not None: - pulumi.set(__self__, "wait_for_guest", wait_for_guest) + _setter("wait_for_guest", wait_for_guest) @property @pulumi.getter(name="containerId") @@ -236,26 +263,53 @@ def __init__(__self__, *, started when VMware Tools are ready instead of waiting for `start_delay`. This property has no effect for vApps. Default: false """ + _VappEntityState._configure( + lambda key, value: pulumi.set(__self__, key, value), + container_id=container_id, + custom_attributes=custom_attributes, + start_action=start_action, + start_delay=start_delay, + start_order=start_order, + stop_action=stop_action, + stop_delay=stop_delay, + tags=tags, + target_id=target_id, + wait_for_guest=wait_for_guest, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + container_id: Optional[pulumi.Input[str]] = None, + custom_attributes: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + start_action: Optional[pulumi.Input[str]] = None, + start_delay: Optional[pulumi.Input[int]] = None, + start_order: Optional[pulumi.Input[int]] = None, + stop_action: Optional[pulumi.Input[str]] = None, + stop_delay: Optional[pulumi.Input[int]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + target_id: Optional[pulumi.Input[str]] = None, + wait_for_guest: Optional[pulumi.Input[bool]] = None, + opts: Optional[pulumi.ResourceOptions]=None): if container_id is not None: - pulumi.set(__self__, "container_id", container_id) + _setter("container_id", container_id) if custom_attributes is not None: - pulumi.set(__self__, "custom_attributes", custom_attributes) + _setter("custom_attributes", custom_attributes) if start_action is not None: - pulumi.set(__self__, "start_action", start_action) + _setter("start_action", start_action) if start_delay is not None: - pulumi.set(__self__, "start_delay", start_delay) + _setter("start_delay", start_delay) if start_order is not None: - pulumi.set(__self__, "start_order", start_order) + _setter("start_order", start_order) if stop_action is not None: - pulumi.set(__self__, "stop_action", stop_action) + _setter("stop_action", stop_action) if stop_delay is not None: - pulumi.set(__self__, "stop_delay", stop_delay) + _setter("stop_delay", stop_delay) if tags is not None: - pulumi.set(__self__, "tags", tags) + _setter("tags", tags) if target_id is not None: - pulumi.set(__self__, "target_id", target_id) + _setter("target_id", target_id) if wait_for_guest is not None: - pulumi.set(__self__, "wait_for_guest", wait_for_guest) + _setter("wait_for_guest", wait_for_guest) @property @pulumi.getter(name="containerId") @@ -449,6 +503,10 @@ def __init__(__self__, resource_name: str, *args, **kwargs): if resource_args is not None: __self__._internal_init(resource_name, opts, **resource_args.__dict__) else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + VappEntityArgs._configure(_setter, **kwargs) __self__._internal_init(resource_name, *args, **kwargs) def _internal_init(__self__, diff --git a/sdk/python/pulumi_vsphere/virtual_disk.py b/sdk/python/pulumi_vsphere/virtual_disk.py index a781c12e..cf946437 100644 --- a/sdk/python/pulumi_vsphere/virtual_disk.py +++ b/sdk/python/pulumi_vsphere/virtual_disk.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities __all__ = ['VirtualDiskArgs', 'VirtualDisk'] @@ -54,20 +54,41 @@ def __init__(__self__, *, [docs-vmware-vm-disk-provisioning]: https://docs.vmware.com/en/VMware-vSphere/7.0/com.vmware.vsphere.vm_admin.doc/GUID-4C0F4D73-82F2-4B81-8AA7-1DD752A8A5AC.html """ - pulumi.set(__self__, "datastore", datastore) - pulumi.set(__self__, "size", size) - pulumi.set(__self__, "vmdk_path", vmdk_path) + VirtualDiskArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + datastore=datastore, + size=size, + vmdk_path=vmdk_path, + adapter_type=adapter_type, + create_directories=create_directories, + datacenter=datacenter, + type=type, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + datastore: pulumi.Input[str], + size: pulumi.Input[int], + vmdk_path: pulumi.Input[str], + adapter_type: Optional[pulumi.Input[str]] = None, + create_directories: Optional[pulumi.Input[bool]] = None, + datacenter: Optional[pulumi.Input[str]] = None, + type: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("datastore", datastore) + _setter("size", size) + _setter("vmdk_path", vmdk_path) if adapter_type is not None: warnings.warn("""this attribute has no effect on controller types - please use scsi_type in vsphere_virtual_machine instead""", DeprecationWarning) pulumi.log.warn("""adapter_type is deprecated: this attribute has no effect on controller types - please use scsi_type in vsphere_virtual_machine instead""") if adapter_type is not None: - pulumi.set(__self__, "adapter_type", adapter_type) + _setter("adapter_type", adapter_type) if create_directories is not None: - pulumi.set(__self__, "create_directories", create_directories) + _setter("create_directories", create_directories) if datacenter is not None: - pulumi.set(__self__, "datacenter", datacenter) + _setter("datacenter", datacenter) if type is not None: - pulumi.set(__self__, "type", type) + _setter("type", type) @property @pulumi.getter @@ -223,23 +244,44 @@ def __init__(__self__, *, :param pulumi.Input[str] vmdk_path: The path, including filename, of the virtual disk to be created. This needs to end in `.vmdk`. """ + _VirtualDiskState._configure( + lambda key, value: pulumi.set(__self__, key, value), + adapter_type=adapter_type, + create_directories=create_directories, + datacenter=datacenter, + datastore=datastore, + size=size, + type=type, + vmdk_path=vmdk_path, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + adapter_type: Optional[pulumi.Input[str]] = None, + create_directories: Optional[pulumi.Input[bool]] = None, + datacenter: Optional[pulumi.Input[str]] = None, + datastore: Optional[pulumi.Input[str]] = None, + size: Optional[pulumi.Input[int]] = None, + type: Optional[pulumi.Input[str]] = None, + vmdk_path: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None): if adapter_type is not None: warnings.warn("""this attribute has no effect on controller types - please use scsi_type in vsphere_virtual_machine instead""", DeprecationWarning) pulumi.log.warn("""adapter_type is deprecated: this attribute has no effect on controller types - please use scsi_type in vsphere_virtual_machine instead""") if adapter_type is not None: - pulumi.set(__self__, "adapter_type", adapter_type) + _setter("adapter_type", adapter_type) if create_directories is not None: - pulumi.set(__self__, "create_directories", create_directories) + _setter("create_directories", create_directories) if datacenter is not None: - pulumi.set(__self__, "datacenter", datacenter) + _setter("datacenter", datacenter) if datastore is not None: - pulumi.set(__self__, "datastore", datastore) + _setter("datastore", datastore) if size is not None: - pulumi.set(__self__, "size", size) + _setter("size", size) if type is not None: - pulumi.set(__self__, "type", type) + _setter("type", type) if vmdk_path is not None: - pulumi.set(__self__, "vmdk_path", vmdk_path) + _setter("vmdk_path", vmdk_path) @property @pulumi.getter(name="adapterType") @@ -418,6 +460,10 @@ def __init__(__self__, resource_name: str, *args, **kwargs): if resource_args is not None: __self__._internal_init(resource_name, opts, **resource_args.__dict__) else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + VirtualDiskArgs._configure(_setter, **kwargs) __self__._internal_init(resource_name, *args, **kwargs) def _internal_init(__self__, @@ -439,9 +485,6 @@ def _internal_init(__self__, raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') __props__ = VirtualDiskArgs.__new__(VirtualDiskArgs) - if adapter_type is not None and not opts.urn: - warnings.warn("""this attribute has no effect on controller types - please use scsi_type in vsphere_virtual_machine instead""", DeprecationWarning) - pulumi.log.warn("""adapter_type is deprecated: this attribute has no effect on controller types - please use scsi_type in vsphere_virtual_machine instead""") __props__.__dict__["adapter_type"] = adapter_type __props__.__dict__["create_directories"] = create_directories __props__.__dict__["datacenter"] = datacenter diff --git a/sdk/python/pulumi_vsphere/virtual_machine.py b/sdk/python/pulumi_vsphere/virtual_machine.py index 448d7af5..4b645724 100644 --- a/sdk/python/pulumi_vsphere/virtual_machine.py +++ b/sdk/python/pulumi_vsphere/virtual_machine.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities from . import outputs from ._inputs import * @@ -120,9 +120,7 @@ def __init__(__self__, *, > **NOTE:** Use of `datastore_cluster_id` requires vSphere Storage DRS to be enabled on the specified datastore cluster. > **NOTE:** The `datastore_cluster_id` setting applies to the entire virtual machine resource. You cannot assign individual individual disks to datastore clusters. In addition, you cannot use the `attach` setting to attach external disks on virtual machines that are assigned to datastore clusters. - :param pulumi.Input[str] datastore_id: The managed object reference ID of the datastore in which to place the virtual machine. The virtual machine configuration files is placed here, along with any virtual disks that are created where a datastore is not explicitly specified. See the section on virtual machine migration for more information on modifying this value. - - > **NOTE:** Datastores cannot be assigned to individual disks when `datastore_cluster_id` is used. + :param pulumi.Input[str] datastore_id: The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `client_device`. :param pulumi.Input[Sequence[pulumi.Input['VirtualMachineDiskArgs']]] disks: A specification for a virtual disk device on the virtual machine. See disk options for more information. :param pulumi.Input[bool] efi_secure_boot_enabled: Use this option to enable EFI secure boot when the `firmware` type is set to is `efi`. Default: `false`. @@ -192,7 +190,7 @@ def __init__(__self__, *, controllers. :param pulumi.Input[str] scsi_type: The SCSI controller type for the virtual machine. One of `lsilogic` (LSI Logic Parallel), `lsilogic-sas` (LSI Logic SAS) or `pvscsi` (VMware Paravirtual). Default: `pvscsi`. :param pulumi.Input[int] shutdown_wait_timeout: The amount of time, in minutes, to wait for a graceful guest shutdown when making necessary updates to the virtual machine. If `force_power_off` is set to `true`, the virtual machine will be forced to power-off after the timeout, otherwise an error is returned. Default: `3` minutes. - :param pulumi.Input[str] storage_policy_id: The ID of the storage policy to assign to the home directory of a virtual machine. + :param pulumi.Input[str] storage_policy_id: The UUID of the storage policy to assign to the virtual disk. :param pulumi.Input[str] swap_placement_policy: The swap file placement policy for the virtual machine. One of `inherit`, `hostLocal`, or `vmDirectory`. Default: `inherit`. :param pulumi.Input[bool] sync_time_with_host: Enable the guest operating system to synchronization its clock with the host when the virtual machine is powered on or resumed. Requires vSphere 7.0 Update 1 and later. Requires VMware Tools to be installed. Default: `false`. :param pulumi.Input[bool] sync_time_with_host_periodically: Enable the guest operating system to periodically synchronize its clock with the host. Requires vSphere 7.0 Update 1 and later. On previous versions, setting `sync_time_with_host` is will enable periodic synchronization. Requires VMware Tools to be installed. Default: `false`. @@ -207,153 +205,308 @@ def __init__(__self__, *, :param pulumi.Input[bool] wait_for_guest_net_routable: Controls whether or not the guest network waiter waits for a routable address. When `false`, the waiter does not wait for a default gateway, nor are IP addresses checked against any discovered default gateways as part of its success criteria. This property is ignored if the `wait_for_guest_ip_timeout` waiter is used. Default: `true`. :param pulumi.Input[int] wait_for_guest_net_timeout: The amount of time, in minutes, to wait for an available guest IP address on the virtual machine. Older versions of VMware Tools do not populate this property. In those cases, this waiter can be disabled and the `wait_for_guest_ip_timeout` waiter can be used instead. A value less than `1` disables the waiter. Default: `5` minutes. """ - pulumi.set(__self__, "resource_pool_id", resource_pool_id) + VirtualMachineArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + resource_pool_id=resource_pool_id, + alternate_guest_name=alternate_guest_name, + annotation=annotation, + boot_delay=boot_delay, + boot_retry_delay=boot_retry_delay, + boot_retry_enabled=boot_retry_enabled, + cdroms=cdroms, + clone=clone, + cpu_hot_add_enabled=cpu_hot_add_enabled, + cpu_hot_remove_enabled=cpu_hot_remove_enabled, + cpu_limit=cpu_limit, + cpu_performance_counters_enabled=cpu_performance_counters_enabled, + cpu_reservation=cpu_reservation, + cpu_share_count=cpu_share_count, + cpu_share_level=cpu_share_level, + custom_attributes=custom_attributes, + datacenter_id=datacenter_id, + datastore_cluster_id=datastore_cluster_id, + datastore_id=datastore_id, + disks=disks, + efi_secure_boot_enabled=efi_secure_boot_enabled, + enable_disk_uuid=enable_disk_uuid, + enable_logging=enable_logging, + ept_rvi_mode=ept_rvi_mode, + extra_config=extra_config, + extra_config_reboot_required=extra_config_reboot_required, + firmware=firmware, + folder=folder, + force_power_off=force_power_off, + guest_id=guest_id, + hardware_version=hardware_version, + host_system_id=host_system_id, + hv_mode=hv_mode, + ide_controller_count=ide_controller_count, + ignored_guest_ips=ignored_guest_ips, + latency_sensitivity=latency_sensitivity, + memory=memory, + memory_hot_add_enabled=memory_hot_add_enabled, + memory_limit=memory_limit, + memory_reservation=memory_reservation, + memory_share_count=memory_share_count, + memory_share_level=memory_share_level, + migrate_wait_timeout=migrate_wait_timeout, + name=name, + nested_hv_enabled=nested_hv_enabled, + network_interfaces=network_interfaces, + num_cores_per_socket=num_cores_per_socket, + num_cpus=num_cpus, + ovf_deploy=ovf_deploy, + pci_device_ids=pci_device_ids, + poweron_timeout=poweron_timeout, + replace_trigger=replace_trigger, + run_tools_scripts_after_power_on=run_tools_scripts_after_power_on, + run_tools_scripts_after_resume=run_tools_scripts_after_resume, + run_tools_scripts_before_guest_reboot=run_tools_scripts_before_guest_reboot, + run_tools_scripts_before_guest_shutdown=run_tools_scripts_before_guest_shutdown, + run_tools_scripts_before_guest_standby=run_tools_scripts_before_guest_standby, + sata_controller_count=sata_controller_count, + scsi_bus_sharing=scsi_bus_sharing, + scsi_controller_count=scsi_controller_count, + scsi_type=scsi_type, + shutdown_wait_timeout=shutdown_wait_timeout, + storage_policy_id=storage_policy_id, + swap_placement_policy=swap_placement_policy, + sync_time_with_host=sync_time_with_host, + sync_time_with_host_periodically=sync_time_with_host_periodically, + tags=tags, + tools_upgrade_policy=tools_upgrade_policy, + vapp=vapp, + vbs_enabled=vbs_enabled, + vvtd_enabled=vvtd_enabled, + wait_for_guest_ip_timeout=wait_for_guest_ip_timeout, + wait_for_guest_net_routable=wait_for_guest_net_routable, + wait_for_guest_net_timeout=wait_for_guest_net_timeout, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + resource_pool_id: pulumi.Input[str], + alternate_guest_name: Optional[pulumi.Input[str]] = None, + annotation: Optional[pulumi.Input[str]] = None, + boot_delay: Optional[pulumi.Input[int]] = None, + boot_retry_delay: Optional[pulumi.Input[int]] = None, + boot_retry_enabled: Optional[pulumi.Input[bool]] = None, + cdroms: Optional[pulumi.Input[Sequence[pulumi.Input['VirtualMachineCdromArgs']]]] = None, + clone: Optional[pulumi.Input['VirtualMachineCloneArgs']] = None, + cpu_hot_add_enabled: Optional[pulumi.Input[bool]] = None, + cpu_hot_remove_enabled: Optional[pulumi.Input[bool]] = None, + cpu_limit: Optional[pulumi.Input[int]] = None, + cpu_performance_counters_enabled: Optional[pulumi.Input[bool]] = None, + cpu_reservation: Optional[pulumi.Input[int]] = None, + cpu_share_count: Optional[pulumi.Input[int]] = None, + cpu_share_level: Optional[pulumi.Input[str]] = None, + custom_attributes: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + datacenter_id: Optional[pulumi.Input[str]] = None, + datastore_cluster_id: Optional[pulumi.Input[str]] = None, + datastore_id: Optional[pulumi.Input[str]] = None, + disks: Optional[pulumi.Input[Sequence[pulumi.Input['VirtualMachineDiskArgs']]]] = None, + efi_secure_boot_enabled: Optional[pulumi.Input[bool]] = None, + enable_disk_uuid: Optional[pulumi.Input[bool]] = None, + enable_logging: Optional[pulumi.Input[bool]] = None, + ept_rvi_mode: Optional[pulumi.Input[str]] = None, + extra_config: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + extra_config_reboot_required: Optional[pulumi.Input[bool]] = None, + firmware: Optional[pulumi.Input[str]] = None, + folder: Optional[pulumi.Input[str]] = None, + force_power_off: Optional[pulumi.Input[bool]] = None, + guest_id: Optional[pulumi.Input[str]] = None, + hardware_version: Optional[pulumi.Input[int]] = None, + host_system_id: Optional[pulumi.Input[str]] = None, + hv_mode: Optional[pulumi.Input[str]] = None, + ide_controller_count: Optional[pulumi.Input[int]] = None, + ignored_guest_ips: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + latency_sensitivity: Optional[pulumi.Input[str]] = None, + memory: Optional[pulumi.Input[int]] = None, + memory_hot_add_enabled: Optional[pulumi.Input[bool]] = None, + memory_limit: Optional[pulumi.Input[int]] = None, + memory_reservation: Optional[pulumi.Input[int]] = None, + memory_share_count: Optional[pulumi.Input[int]] = None, + memory_share_level: Optional[pulumi.Input[str]] = None, + migrate_wait_timeout: Optional[pulumi.Input[int]] = None, + name: Optional[pulumi.Input[str]] = None, + nested_hv_enabled: Optional[pulumi.Input[bool]] = None, + network_interfaces: Optional[pulumi.Input[Sequence[pulumi.Input['VirtualMachineNetworkInterfaceArgs']]]] = None, + num_cores_per_socket: Optional[pulumi.Input[int]] = None, + num_cpus: Optional[pulumi.Input[int]] = None, + ovf_deploy: Optional[pulumi.Input['VirtualMachineOvfDeployArgs']] = None, + pci_device_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + poweron_timeout: Optional[pulumi.Input[int]] = None, + replace_trigger: Optional[pulumi.Input[str]] = None, + run_tools_scripts_after_power_on: Optional[pulumi.Input[bool]] = None, + run_tools_scripts_after_resume: Optional[pulumi.Input[bool]] = None, + run_tools_scripts_before_guest_reboot: Optional[pulumi.Input[bool]] = None, + run_tools_scripts_before_guest_shutdown: Optional[pulumi.Input[bool]] = None, + run_tools_scripts_before_guest_standby: Optional[pulumi.Input[bool]] = None, + sata_controller_count: Optional[pulumi.Input[int]] = None, + scsi_bus_sharing: Optional[pulumi.Input[str]] = None, + scsi_controller_count: Optional[pulumi.Input[int]] = None, + scsi_type: Optional[pulumi.Input[str]] = None, + shutdown_wait_timeout: Optional[pulumi.Input[int]] = None, + storage_policy_id: Optional[pulumi.Input[str]] = None, + swap_placement_policy: Optional[pulumi.Input[str]] = None, + sync_time_with_host: Optional[pulumi.Input[bool]] = None, + sync_time_with_host_periodically: Optional[pulumi.Input[bool]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + tools_upgrade_policy: Optional[pulumi.Input[str]] = None, + vapp: Optional[pulumi.Input['VirtualMachineVappArgs']] = None, + vbs_enabled: Optional[pulumi.Input[bool]] = None, + vvtd_enabled: Optional[pulumi.Input[bool]] = None, + wait_for_guest_ip_timeout: Optional[pulumi.Input[int]] = None, + wait_for_guest_net_routable: Optional[pulumi.Input[bool]] = None, + wait_for_guest_net_timeout: Optional[pulumi.Input[int]] = None, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("resource_pool_id", resource_pool_id) if alternate_guest_name is not None: - pulumi.set(__self__, "alternate_guest_name", alternate_guest_name) + _setter("alternate_guest_name", alternate_guest_name) if annotation is not None: - pulumi.set(__self__, "annotation", annotation) + _setter("annotation", annotation) if boot_delay is not None: - pulumi.set(__self__, "boot_delay", boot_delay) + _setter("boot_delay", boot_delay) if boot_retry_delay is not None: - pulumi.set(__self__, "boot_retry_delay", boot_retry_delay) + _setter("boot_retry_delay", boot_retry_delay) if boot_retry_enabled is not None: - pulumi.set(__self__, "boot_retry_enabled", boot_retry_enabled) + _setter("boot_retry_enabled", boot_retry_enabled) if cdroms is not None: - pulumi.set(__self__, "cdroms", cdroms) + _setter("cdroms", cdroms) if clone is not None: - pulumi.set(__self__, "clone", clone) + _setter("clone", clone) if cpu_hot_add_enabled is not None: - pulumi.set(__self__, "cpu_hot_add_enabled", cpu_hot_add_enabled) + _setter("cpu_hot_add_enabled", cpu_hot_add_enabled) if cpu_hot_remove_enabled is not None: - pulumi.set(__self__, "cpu_hot_remove_enabled", cpu_hot_remove_enabled) + _setter("cpu_hot_remove_enabled", cpu_hot_remove_enabled) if cpu_limit is not None: - pulumi.set(__self__, "cpu_limit", cpu_limit) + _setter("cpu_limit", cpu_limit) if cpu_performance_counters_enabled is not None: - pulumi.set(__self__, "cpu_performance_counters_enabled", cpu_performance_counters_enabled) + _setter("cpu_performance_counters_enabled", cpu_performance_counters_enabled) if cpu_reservation is not None: - pulumi.set(__self__, "cpu_reservation", cpu_reservation) + _setter("cpu_reservation", cpu_reservation) if cpu_share_count is not None: - pulumi.set(__self__, "cpu_share_count", cpu_share_count) + _setter("cpu_share_count", cpu_share_count) if cpu_share_level is not None: - pulumi.set(__self__, "cpu_share_level", cpu_share_level) + _setter("cpu_share_level", cpu_share_level) if custom_attributes is not None: - pulumi.set(__self__, "custom_attributes", custom_attributes) + _setter("custom_attributes", custom_attributes) if datacenter_id is not None: - pulumi.set(__self__, "datacenter_id", datacenter_id) + _setter("datacenter_id", datacenter_id) if datastore_cluster_id is not None: - pulumi.set(__self__, "datastore_cluster_id", datastore_cluster_id) + _setter("datastore_cluster_id", datastore_cluster_id) if datastore_id is not None: - pulumi.set(__self__, "datastore_id", datastore_id) + _setter("datastore_id", datastore_id) if disks is not None: - pulumi.set(__self__, "disks", disks) + _setter("disks", disks) if efi_secure_boot_enabled is not None: - pulumi.set(__self__, "efi_secure_boot_enabled", efi_secure_boot_enabled) + _setter("efi_secure_boot_enabled", efi_secure_boot_enabled) if enable_disk_uuid is not None: - pulumi.set(__self__, "enable_disk_uuid", enable_disk_uuid) + _setter("enable_disk_uuid", enable_disk_uuid) if enable_logging is not None: - pulumi.set(__self__, "enable_logging", enable_logging) + _setter("enable_logging", enable_logging) if ept_rvi_mode is not None: - pulumi.set(__self__, "ept_rvi_mode", ept_rvi_mode) + _setter("ept_rvi_mode", ept_rvi_mode) if extra_config is not None: - pulumi.set(__self__, "extra_config", extra_config) + _setter("extra_config", extra_config) if extra_config_reboot_required is not None: - pulumi.set(__self__, "extra_config_reboot_required", extra_config_reboot_required) + _setter("extra_config_reboot_required", extra_config_reboot_required) if firmware is not None: - pulumi.set(__self__, "firmware", firmware) + _setter("firmware", firmware) if folder is not None: - pulumi.set(__self__, "folder", folder) + _setter("folder", folder) if force_power_off is not None: - pulumi.set(__self__, "force_power_off", force_power_off) + _setter("force_power_off", force_power_off) if guest_id is not None: - pulumi.set(__self__, "guest_id", guest_id) + _setter("guest_id", guest_id) if hardware_version is not None: - pulumi.set(__self__, "hardware_version", hardware_version) + _setter("hardware_version", hardware_version) if host_system_id is not None: - pulumi.set(__self__, "host_system_id", host_system_id) + _setter("host_system_id", host_system_id) if hv_mode is not None: - pulumi.set(__self__, "hv_mode", hv_mode) + _setter("hv_mode", hv_mode) if ide_controller_count is not None: - pulumi.set(__self__, "ide_controller_count", ide_controller_count) + _setter("ide_controller_count", ide_controller_count) if ignored_guest_ips is not None: - pulumi.set(__self__, "ignored_guest_ips", ignored_guest_ips) + _setter("ignored_guest_ips", ignored_guest_ips) if latency_sensitivity is not None: - pulumi.set(__self__, "latency_sensitivity", latency_sensitivity) + _setter("latency_sensitivity", latency_sensitivity) if memory is not None: - pulumi.set(__self__, "memory", memory) + _setter("memory", memory) if memory_hot_add_enabled is not None: - pulumi.set(__self__, "memory_hot_add_enabled", memory_hot_add_enabled) + _setter("memory_hot_add_enabled", memory_hot_add_enabled) if memory_limit is not None: - pulumi.set(__self__, "memory_limit", memory_limit) + _setter("memory_limit", memory_limit) if memory_reservation is not None: - pulumi.set(__self__, "memory_reservation", memory_reservation) + _setter("memory_reservation", memory_reservation) if memory_share_count is not None: - pulumi.set(__self__, "memory_share_count", memory_share_count) + _setter("memory_share_count", memory_share_count) if memory_share_level is not None: - pulumi.set(__self__, "memory_share_level", memory_share_level) + _setter("memory_share_level", memory_share_level) if migrate_wait_timeout is not None: - pulumi.set(__self__, "migrate_wait_timeout", migrate_wait_timeout) + _setter("migrate_wait_timeout", migrate_wait_timeout) if name is not None: - pulumi.set(__self__, "name", name) + _setter("name", name) if nested_hv_enabled is not None: - pulumi.set(__self__, "nested_hv_enabled", nested_hv_enabled) + _setter("nested_hv_enabled", nested_hv_enabled) if network_interfaces is not None: - pulumi.set(__self__, "network_interfaces", network_interfaces) + _setter("network_interfaces", network_interfaces) if num_cores_per_socket is not None: - pulumi.set(__self__, "num_cores_per_socket", num_cores_per_socket) + _setter("num_cores_per_socket", num_cores_per_socket) if num_cpus is not None: - pulumi.set(__self__, "num_cpus", num_cpus) + _setter("num_cpus", num_cpus) if ovf_deploy is not None: - pulumi.set(__self__, "ovf_deploy", ovf_deploy) + _setter("ovf_deploy", ovf_deploy) if pci_device_ids is not None: - pulumi.set(__self__, "pci_device_ids", pci_device_ids) + _setter("pci_device_ids", pci_device_ids) if poweron_timeout is not None: - pulumi.set(__self__, "poweron_timeout", poweron_timeout) + _setter("poweron_timeout", poweron_timeout) if replace_trigger is not None: - pulumi.set(__self__, "replace_trigger", replace_trigger) + _setter("replace_trigger", replace_trigger) if run_tools_scripts_after_power_on is not None: - pulumi.set(__self__, "run_tools_scripts_after_power_on", run_tools_scripts_after_power_on) + _setter("run_tools_scripts_after_power_on", run_tools_scripts_after_power_on) if run_tools_scripts_after_resume is not None: - pulumi.set(__self__, "run_tools_scripts_after_resume", run_tools_scripts_after_resume) + _setter("run_tools_scripts_after_resume", run_tools_scripts_after_resume) if run_tools_scripts_before_guest_reboot is not None: - pulumi.set(__self__, "run_tools_scripts_before_guest_reboot", run_tools_scripts_before_guest_reboot) + _setter("run_tools_scripts_before_guest_reboot", run_tools_scripts_before_guest_reboot) if run_tools_scripts_before_guest_shutdown is not None: - pulumi.set(__self__, "run_tools_scripts_before_guest_shutdown", run_tools_scripts_before_guest_shutdown) + _setter("run_tools_scripts_before_guest_shutdown", run_tools_scripts_before_guest_shutdown) if run_tools_scripts_before_guest_standby is not None: - pulumi.set(__self__, "run_tools_scripts_before_guest_standby", run_tools_scripts_before_guest_standby) + _setter("run_tools_scripts_before_guest_standby", run_tools_scripts_before_guest_standby) if sata_controller_count is not None: - pulumi.set(__self__, "sata_controller_count", sata_controller_count) + _setter("sata_controller_count", sata_controller_count) if scsi_bus_sharing is not None: - pulumi.set(__self__, "scsi_bus_sharing", scsi_bus_sharing) + _setter("scsi_bus_sharing", scsi_bus_sharing) if scsi_controller_count is not None: - pulumi.set(__self__, "scsi_controller_count", scsi_controller_count) + _setter("scsi_controller_count", scsi_controller_count) if scsi_type is not None: - pulumi.set(__self__, "scsi_type", scsi_type) + _setter("scsi_type", scsi_type) if shutdown_wait_timeout is not None: - pulumi.set(__self__, "shutdown_wait_timeout", shutdown_wait_timeout) + _setter("shutdown_wait_timeout", shutdown_wait_timeout) if storage_policy_id is not None: - pulumi.set(__self__, "storage_policy_id", storage_policy_id) + _setter("storage_policy_id", storage_policy_id) if swap_placement_policy is not None: - pulumi.set(__self__, "swap_placement_policy", swap_placement_policy) + _setter("swap_placement_policy", swap_placement_policy) if sync_time_with_host is not None: - pulumi.set(__self__, "sync_time_with_host", sync_time_with_host) + _setter("sync_time_with_host", sync_time_with_host) if sync_time_with_host_periodically is not None: - pulumi.set(__self__, "sync_time_with_host_periodically", sync_time_with_host_periodically) + _setter("sync_time_with_host_periodically", sync_time_with_host_periodically) if tags is not None: - pulumi.set(__self__, "tags", tags) + _setter("tags", tags) if tools_upgrade_policy is not None: - pulumi.set(__self__, "tools_upgrade_policy", tools_upgrade_policy) + _setter("tools_upgrade_policy", tools_upgrade_policy) if vapp is not None: - pulumi.set(__self__, "vapp", vapp) + _setter("vapp", vapp) if vbs_enabled is not None: - pulumi.set(__self__, "vbs_enabled", vbs_enabled) + _setter("vbs_enabled", vbs_enabled) if vvtd_enabled is not None: - pulumi.set(__self__, "vvtd_enabled", vvtd_enabled) + _setter("vvtd_enabled", vvtd_enabled) if wait_for_guest_ip_timeout is not None: - pulumi.set(__self__, "wait_for_guest_ip_timeout", wait_for_guest_ip_timeout) + _setter("wait_for_guest_ip_timeout", wait_for_guest_ip_timeout) if wait_for_guest_net_routable is not None: - pulumi.set(__self__, "wait_for_guest_net_routable", wait_for_guest_net_routable) + _setter("wait_for_guest_net_routable", wait_for_guest_net_routable) if wait_for_guest_net_timeout is not None: - pulumi.set(__self__, "wait_for_guest_net_timeout", wait_for_guest_net_timeout) + _setter("wait_for_guest_net_timeout", wait_for_guest_net_timeout) @property @pulumi.getter(name="resourcePoolId") @@ -585,9 +738,7 @@ def datastore_cluster_id(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="datastoreId") def datastore_id(self) -> Optional[pulumi.Input[str]]: """ - The managed object reference ID of the datastore in which to place the virtual machine. The virtual machine configuration files is placed here, along with any virtual disks that are created where a datastore is not explicitly specified. See the section on virtual machine migration for more information on modifying this value. - - > **NOTE:** Datastores cannot be assigned to individual disks when `datastore_cluster_id` is used. + The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `client_device`. """ return pulumi.get(self, "datastore_id") @@ -1141,7 +1292,7 @@ def shutdown_wait_timeout(self, value: Optional[pulumi.Input[int]]): @pulumi.getter(name="storagePolicyId") def storage_policy_id(self) -> Optional[pulumi.Input[str]]: """ - The ID of the storage policy to assign to the home directory of a virtual machine. + The UUID of the storage policy to assign to the virtual disk. """ return pulumi.get(self, "storage_policy_id") @@ -1400,9 +1551,7 @@ def __init__(__self__, *, > **NOTE:** Use of `datastore_cluster_id` requires vSphere Storage DRS to be enabled on the specified datastore cluster. > **NOTE:** The `datastore_cluster_id` setting applies to the entire virtual machine resource. You cannot assign individual individual disks to datastore clusters. In addition, you cannot use the `attach` setting to attach external disks on virtual machines that are assigned to datastore clusters. - :param pulumi.Input[str] datastore_id: The managed object reference ID of the datastore in which to place the virtual machine. The virtual machine configuration files is placed here, along with any virtual disks that are created where a datastore is not explicitly specified. See the section on virtual machine migration for more information on modifying this value. - - > **NOTE:** Datastores cannot be assigned to individual disks when `datastore_cluster_id` is used. + :param pulumi.Input[str] datastore_id: The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `client_device`. :param pulumi.Input[str] default_ip_address: The IP address selected by the provider to be used with any provisioners configured on this resource. When possible, this is the first IPv4 address that is reachable through the default gateway configured on the machine, then the first reachable IPv6 address, and then the first general discovered address if neither exists. If VMware Tools is not running on the virtual machine, or if the virtual machine is powered off, this value will be blank. :param pulumi.Input[Sequence[pulumi.Input['VirtualMachineDiskArgs']]] disks: A specification for a virtual disk device on the virtual machine. See disk options for more information. :param pulumi.Input[bool] efi_secure_boot_enabled: Use this option to enable EFI secure boot when the `firmware` type is set to is `efi`. Default: `false`. @@ -1481,7 +1630,7 @@ def __init__(__self__, *, controllers. :param pulumi.Input[str] scsi_type: The SCSI controller type for the virtual machine. One of `lsilogic` (LSI Logic Parallel), `lsilogic-sas` (LSI Logic SAS) or `pvscsi` (VMware Paravirtual). Default: `pvscsi`. :param pulumi.Input[int] shutdown_wait_timeout: The amount of time, in minutes, to wait for a graceful guest shutdown when making necessary updates to the virtual machine. If `force_power_off` is set to `true`, the virtual machine will be forced to power-off after the timeout, otherwise an error is returned. Default: `3` minutes. - :param pulumi.Input[str] storage_policy_id: The ID of the storage policy to assign to the home directory of a virtual machine. + :param pulumi.Input[str] storage_policy_id: The UUID of the storage policy to assign to the virtual disk. :param pulumi.Input[str] swap_placement_policy: The swap file placement policy for the virtual machine. One of `inherit`, `hostLocal`, or `vmDirectory`. Default: `inherit`. :param pulumi.Input[bool] sync_time_with_host: Enable the guest operating system to synchronization its clock with the host when the virtual machine is powered on or resumed. Requires vSphere 7.0 Update 1 and later. Requires VMware Tools to be installed. Default: `false`. :param pulumi.Input[bool] sync_time_with_host_periodically: Enable the guest operating system to periodically synchronize its clock with the host. Requires vSphere 7.0 Update 1 and later. On previous versions, setting `sync_time_with_host` is will enable periodic synchronization. Requires VMware Tools to be installed. Default: `false`. @@ -1500,176 +1649,353 @@ def __init__(__self__, *, :param pulumi.Input[bool] wait_for_guest_net_routable: Controls whether or not the guest network waiter waits for a routable address. When `false`, the waiter does not wait for a default gateway, nor are IP addresses checked against any discovered default gateways as part of its success criteria. This property is ignored if the `wait_for_guest_ip_timeout` waiter is used. Default: `true`. :param pulumi.Input[int] wait_for_guest_net_timeout: The amount of time, in minutes, to wait for an available guest IP address on the virtual machine. Older versions of VMware Tools do not populate this property. In those cases, this waiter can be disabled and the `wait_for_guest_ip_timeout` waiter can be used instead. A value less than `1` disables the waiter. Default: `5` minutes. """ + _VirtualMachineState._configure( + lambda key, value: pulumi.set(__self__, key, value), + alternate_guest_name=alternate_guest_name, + annotation=annotation, + boot_delay=boot_delay, + boot_retry_delay=boot_retry_delay, + boot_retry_enabled=boot_retry_enabled, + cdroms=cdroms, + change_version=change_version, + clone=clone, + cpu_hot_add_enabled=cpu_hot_add_enabled, + cpu_hot_remove_enabled=cpu_hot_remove_enabled, + cpu_limit=cpu_limit, + cpu_performance_counters_enabled=cpu_performance_counters_enabled, + cpu_reservation=cpu_reservation, + cpu_share_count=cpu_share_count, + cpu_share_level=cpu_share_level, + custom_attributes=custom_attributes, + datacenter_id=datacenter_id, + datastore_cluster_id=datastore_cluster_id, + datastore_id=datastore_id, + default_ip_address=default_ip_address, + disks=disks, + efi_secure_boot_enabled=efi_secure_boot_enabled, + enable_disk_uuid=enable_disk_uuid, + enable_logging=enable_logging, + ept_rvi_mode=ept_rvi_mode, + extra_config=extra_config, + extra_config_reboot_required=extra_config_reboot_required, + firmware=firmware, + folder=folder, + force_power_off=force_power_off, + guest_id=guest_id, + guest_ip_addresses=guest_ip_addresses, + hardware_version=hardware_version, + host_system_id=host_system_id, + hv_mode=hv_mode, + ide_controller_count=ide_controller_count, + ignored_guest_ips=ignored_guest_ips, + imported=imported, + latency_sensitivity=latency_sensitivity, + memory=memory, + memory_hot_add_enabled=memory_hot_add_enabled, + memory_limit=memory_limit, + memory_reservation=memory_reservation, + memory_share_count=memory_share_count, + memory_share_level=memory_share_level, + migrate_wait_timeout=migrate_wait_timeout, + moid=moid, + name=name, + nested_hv_enabled=nested_hv_enabled, + network_interfaces=network_interfaces, + num_cores_per_socket=num_cores_per_socket, + num_cpus=num_cpus, + ovf_deploy=ovf_deploy, + pci_device_ids=pci_device_ids, + power_state=power_state, + poweron_timeout=poweron_timeout, + reboot_required=reboot_required, + replace_trigger=replace_trigger, + resource_pool_id=resource_pool_id, + run_tools_scripts_after_power_on=run_tools_scripts_after_power_on, + run_tools_scripts_after_resume=run_tools_scripts_after_resume, + run_tools_scripts_before_guest_reboot=run_tools_scripts_before_guest_reboot, + run_tools_scripts_before_guest_shutdown=run_tools_scripts_before_guest_shutdown, + run_tools_scripts_before_guest_standby=run_tools_scripts_before_guest_standby, + sata_controller_count=sata_controller_count, + scsi_bus_sharing=scsi_bus_sharing, + scsi_controller_count=scsi_controller_count, + scsi_type=scsi_type, + shutdown_wait_timeout=shutdown_wait_timeout, + storage_policy_id=storage_policy_id, + swap_placement_policy=swap_placement_policy, + sync_time_with_host=sync_time_with_host, + sync_time_with_host_periodically=sync_time_with_host_periodically, + tags=tags, + tools_upgrade_policy=tools_upgrade_policy, + uuid=uuid, + vapp=vapp, + vapp_transports=vapp_transports, + vbs_enabled=vbs_enabled, + vmware_tools_status=vmware_tools_status, + vmx_path=vmx_path, + vvtd_enabled=vvtd_enabled, + wait_for_guest_ip_timeout=wait_for_guest_ip_timeout, + wait_for_guest_net_routable=wait_for_guest_net_routable, + wait_for_guest_net_timeout=wait_for_guest_net_timeout, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + alternate_guest_name: Optional[pulumi.Input[str]] = None, + annotation: Optional[pulumi.Input[str]] = None, + boot_delay: Optional[pulumi.Input[int]] = None, + boot_retry_delay: Optional[pulumi.Input[int]] = None, + boot_retry_enabled: Optional[pulumi.Input[bool]] = None, + cdroms: Optional[pulumi.Input[Sequence[pulumi.Input['VirtualMachineCdromArgs']]]] = None, + change_version: Optional[pulumi.Input[str]] = None, + clone: Optional[pulumi.Input['VirtualMachineCloneArgs']] = None, + cpu_hot_add_enabled: Optional[pulumi.Input[bool]] = None, + cpu_hot_remove_enabled: Optional[pulumi.Input[bool]] = None, + cpu_limit: Optional[pulumi.Input[int]] = None, + cpu_performance_counters_enabled: Optional[pulumi.Input[bool]] = None, + cpu_reservation: Optional[pulumi.Input[int]] = None, + cpu_share_count: Optional[pulumi.Input[int]] = None, + cpu_share_level: Optional[pulumi.Input[str]] = None, + custom_attributes: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + datacenter_id: Optional[pulumi.Input[str]] = None, + datastore_cluster_id: Optional[pulumi.Input[str]] = None, + datastore_id: Optional[pulumi.Input[str]] = None, + default_ip_address: Optional[pulumi.Input[str]] = None, + disks: Optional[pulumi.Input[Sequence[pulumi.Input['VirtualMachineDiskArgs']]]] = None, + efi_secure_boot_enabled: Optional[pulumi.Input[bool]] = None, + enable_disk_uuid: Optional[pulumi.Input[bool]] = None, + enable_logging: Optional[pulumi.Input[bool]] = None, + ept_rvi_mode: Optional[pulumi.Input[str]] = None, + extra_config: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + extra_config_reboot_required: Optional[pulumi.Input[bool]] = None, + firmware: Optional[pulumi.Input[str]] = None, + folder: Optional[pulumi.Input[str]] = None, + force_power_off: Optional[pulumi.Input[bool]] = None, + guest_id: Optional[pulumi.Input[str]] = None, + guest_ip_addresses: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + hardware_version: Optional[pulumi.Input[int]] = None, + host_system_id: Optional[pulumi.Input[str]] = None, + hv_mode: Optional[pulumi.Input[str]] = None, + ide_controller_count: Optional[pulumi.Input[int]] = None, + ignored_guest_ips: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + imported: Optional[pulumi.Input[bool]] = None, + latency_sensitivity: Optional[pulumi.Input[str]] = None, + memory: Optional[pulumi.Input[int]] = None, + memory_hot_add_enabled: Optional[pulumi.Input[bool]] = None, + memory_limit: Optional[pulumi.Input[int]] = None, + memory_reservation: Optional[pulumi.Input[int]] = None, + memory_share_count: Optional[pulumi.Input[int]] = None, + memory_share_level: Optional[pulumi.Input[str]] = None, + migrate_wait_timeout: Optional[pulumi.Input[int]] = None, + moid: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + nested_hv_enabled: Optional[pulumi.Input[bool]] = None, + network_interfaces: Optional[pulumi.Input[Sequence[pulumi.Input['VirtualMachineNetworkInterfaceArgs']]]] = None, + num_cores_per_socket: Optional[pulumi.Input[int]] = None, + num_cpus: Optional[pulumi.Input[int]] = None, + ovf_deploy: Optional[pulumi.Input['VirtualMachineOvfDeployArgs']] = None, + pci_device_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + power_state: Optional[pulumi.Input[str]] = None, + poweron_timeout: Optional[pulumi.Input[int]] = None, + reboot_required: Optional[pulumi.Input[bool]] = None, + replace_trigger: Optional[pulumi.Input[str]] = None, + resource_pool_id: Optional[pulumi.Input[str]] = None, + run_tools_scripts_after_power_on: Optional[pulumi.Input[bool]] = None, + run_tools_scripts_after_resume: Optional[pulumi.Input[bool]] = None, + run_tools_scripts_before_guest_reboot: Optional[pulumi.Input[bool]] = None, + run_tools_scripts_before_guest_shutdown: Optional[pulumi.Input[bool]] = None, + run_tools_scripts_before_guest_standby: Optional[pulumi.Input[bool]] = None, + sata_controller_count: Optional[pulumi.Input[int]] = None, + scsi_bus_sharing: Optional[pulumi.Input[str]] = None, + scsi_controller_count: Optional[pulumi.Input[int]] = None, + scsi_type: Optional[pulumi.Input[str]] = None, + shutdown_wait_timeout: Optional[pulumi.Input[int]] = None, + storage_policy_id: Optional[pulumi.Input[str]] = None, + swap_placement_policy: Optional[pulumi.Input[str]] = None, + sync_time_with_host: Optional[pulumi.Input[bool]] = None, + sync_time_with_host_periodically: Optional[pulumi.Input[bool]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + tools_upgrade_policy: Optional[pulumi.Input[str]] = None, + uuid: Optional[pulumi.Input[str]] = None, + vapp: Optional[pulumi.Input['VirtualMachineVappArgs']] = None, + vapp_transports: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + vbs_enabled: Optional[pulumi.Input[bool]] = None, + vmware_tools_status: Optional[pulumi.Input[str]] = None, + vmx_path: Optional[pulumi.Input[str]] = None, + vvtd_enabled: Optional[pulumi.Input[bool]] = None, + wait_for_guest_ip_timeout: Optional[pulumi.Input[int]] = None, + wait_for_guest_net_routable: Optional[pulumi.Input[bool]] = None, + wait_for_guest_net_timeout: Optional[pulumi.Input[int]] = None, + opts: Optional[pulumi.ResourceOptions]=None): if alternate_guest_name is not None: - pulumi.set(__self__, "alternate_guest_name", alternate_guest_name) + _setter("alternate_guest_name", alternate_guest_name) if annotation is not None: - pulumi.set(__self__, "annotation", annotation) + _setter("annotation", annotation) if boot_delay is not None: - pulumi.set(__self__, "boot_delay", boot_delay) + _setter("boot_delay", boot_delay) if boot_retry_delay is not None: - pulumi.set(__self__, "boot_retry_delay", boot_retry_delay) + _setter("boot_retry_delay", boot_retry_delay) if boot_retry_enabled is not None: - pulumi.set(__self__, "boot_retry_enabled", boot_retry_enabled) + _setter("boot_retry_enabled", boot_retry_enabled) if cdroms is not None: - pulumi.set(__self__, "cdroms", cdroms) + _setter("cdroms", cdroms) if change_version is not None: - pulumi.set(__self__, "change_version", change_version) + _setter("change_version", change_version) if clone is not None: - pulumi.set(__self__, "clone", clone) + _setter("clone", clone) if cpu_hot_add_enabled is not None: - pulumi.set(__self__, "cpu_hot_add_enabled", cpu_hot_add_enabled) + _setter("cpu_hot_add_enabled", cpu_hot_add_enabled) if cpu_hot_remove_enabled is not None: - pulumi.set(__self__, "cpu_hot_remove_enabled", cpu_hot_remove_enabled) + _setter("cpu_hot_remove_enabled", cpu_hot_remove_enabled) if cpu_limit is not None: - pulumi.set(__self__, "cpu_limit", cpu_limit) + _setter("cpu_limit", cpu_limit) if cpu_performance_counters_enabled is not None: - pulumi.set(__self__, "cpu_performance_counters_enabled", cpu_performance_counters_enabled) + _setter("cpu_performance_counters_enabled", cpu_performance_counters_enabled) if cpu_reservation is not None: - pulumi.set(__self__, "cpu_reservation", cpu_reservation) + _setter("cpu_reservation", cpu_reservation) if cpu_share_count is not None: - pulumi.set(__self__, "cpu_share_count", cpu_share_count) + _setter("cpu_share_count", cpu_share_count) if cpu_share_level is not None: - pulumi.set(__self__, "cpu_share_level", cpu_share_level) + _setter("cpu_share_level", cpu_share_level) if custom_attributes is not None: - pulumi.set(__self__, "custom_attributes", custom_attributes) + _setter("custom_attributes", custom_attributes) if datacenter_id is not None: - pulumi.set(__self__, "datacenter_id", datacenter_id) + _setter("datacenter_id", datacenter_id) if datastore_cluster_id is not None: - pulumi.set(__self__, "datastore_cluster_id", datastore_cluster_id) + _setter("datastore_cluster_id", datastore_cluster_id) if datastore_id is not None: - pulumi.set(__self__, "datastore_id", datastore_id) + _setter("datastore_id", datastore_id) if default_ip_address is not None: - pulumi.set(__self__, "default_ip_address", default_ip_address) + _setter("default_ip_address", default_ip_address) if disks is not None: - pulumi.set(__self__, "disks", disks) + _setter("disks", disks) if efi_secure_boot_enabled is not None: - pulumi.set(__self__, "efi_secure_boot_enabled", efi_secure_boot_enabled) + _setter("efi_secure_boot_enabled", efi_secure_boot_enabled) if enable_disk_uuid is not None: - pulumi.set(__self__, "enable_disk_uuid", enable_disk_uuid) + _setter("enable_disk_uuid", enable_disk_uuid) if enable_logging is not None: - pulumi.set(__self__, "enable_logging", enable_logging) + _setter("enable_logging", enable_logging) if ept_rvi_mode is not None: - pulumi.set(__self__, "ept_rvi_mode", ept_rvi_mode) + _setter("ept_rvi_mode", ept_rvi_mode) if extra_config is not None: - pulumi.set(__self__, "extra_config", extra_config) + _setter("extra_config", extra_config) if extra_config_reboot_required is not None: - pulumi.set(__self__, "extra_config_reboot_required", extra_config_reboot_required) + _setter("extra_config_reboot_required", extra_config_reboot_required) if firmware is not None: - pulumi.set(__self__, "firmware", firmware) + _setter("firmware", firmware) if folder is not None: - pulumi.set(__self__, "folder", folder) + _setter("folder", folder) if force_power_off is not None: - pulumi.set(__self__, "force_power_off", force_power_off) + _setter("force_power_off", force_power_off) if guest_id is not None: - pulumi.set(__self__, "guest_id", guest_id) + _setter("guest_id", guest_id) if guest_ip_addresses is not None: - pulumi.set(__self__, "guest_ip_addresses", guest_ip_addresses) + _setter("guest_ip_addresses", guest_ip_addresses) if hardware_version is not None: - pulumi.set(__self__, "hardware_version", hardware_version) + _setter("hardware_version", hardware_version) if host_system_id is not None: - pulumi.set(__self__, "host_system_id", host_system_id) + _setter("host_system_id", host_system_id) if hv_mode is not None: - pulumi.set(__self__, "hv_mode", hv_mode) + _setter("hv_mode", hv_mode) if ide_controller_count is not None: - pulumi.set(__self__, "ide_controller_count", ide_controller_count) + _setter("ide_controller_count", ide_controller_count) if ignored_guest_ips is not None: - pulumi.set(__self__, "ignored_guest_ips", ignored_guest_ips) + _setter("ignored_guest_ips", ignored_guest_ips) if imported is not None: - pulumi.set(__self__, "imported", imported) + _setter("imported", imported) if latency_sensitivity is not None: - pulumi.set(__self__, "latency_sensitivity", latency_sensitivity) + _setter("latency_sensitivity", latency_sensitivity) if memory is not None: - pulumi.set(__self__, "memory", memory) + _setter("memory", memory) if memory_hot_add_enabled is not None: - pulumi.set(__self__, "memory_hot_add_enabled", memory_hot_add_enabled) + _setter("memory_hot_add_enabled", memory_hot_add_enabled) if memory_limit is not None: - pulumi.set(__self__, "memory_limit", memory_limit) + _setter("memory_limit", memory_limit) if memory_reservation is not None: - pulumi.set(__self__, "memory_reservation", memory_reservation) + _setter("memory_reservation", memory_reservation) if memory_share_count is not None: - pulumi.set(__self__, "memory_share_count", memory_share_count) + _setter("memory_share_count", memory_share_count) if memory_share_level is not None: - pulumi.set(__self__, "memory_share_level", memory_share_level) + _setter("memory_share_level", memory_share_level) if migrate_wait_timeout is not None: - pulumi.set(__self__, "migrate_wait_timeout", migrate_wait_timeout) + _setter("migrate_wait_timeout", migrate_wait_timeout) if moid is not None: - pulumi.set(__self__, "moid", moid) + _setter("moid", moid) if name is not None: - pulumi.set(__self__, "name", name) + _setter("name", name) if nested_hv_enabled is not None: - pulumi.set(__self__, "nested_hv_enabled", nested_hv_enabled) + _setter("nested_hv_enabled", nested_hv_enabled) if network_interfaces is not None: - pulumi.set(__self__, "network_interfaces", network_interfaces) + _setter("network_interfaces", network_interfaces) if num_cores_per_socket is not None: - pulumi.set(__self__, "num_cores_per_socket", num_cores_per_socket) + _setter("num_cores_per_socket", num_cores_per_socket) if num_cpus is not None: - pulumi.set(__self__, "num_cpus", num_cpus) + _setter("num_cpus", num_cpus) if ovf_deploy is not None: - pulumi.set(__self__, "ovf_deploy", ovf_deploy) + _setter("ovf_deploy", ovf_deploy) if pci_device_ids is not None: - pulumi.set(__self__, "pci_device_ids", pci_device_ids) + _setter("pci_device_ids", pci_device_ids) if power_state is not None: - pulumi.set(__self__, "power_state", power_state) + _setter("power_state", power_state) if poweron_timeout is not None: - pulumi.set(__self__, "poweron_timeout", poweron_timeout) + _setter("poweron_timeout", poweron_timeout) if reboot_required is not None: - pulumi.set(__self__, "reboot_required", reboot_required) + _setter("reboot_required", reboot_required) if replace_trigger is not None: - pulumi.set(__self__, "replace_trigger", replace_trigger) + _setter("replace_trigger", replace_trigger) if resource_pool_id is not None: - pulumi.set(__self__, "resource_pool_id", resource_pool_id) + _setter("resource_pool_id", resource_pool_id) if run_tools_scripts_after_power_on is not None: - pulumi.set(__self__, "run_tools_scripts_after_power_on", run_tools_scripts_after_power_on) + _setter("run_tools_scripts_after_power_on", run_tools_scripts_after_power_on) if run_tools_scripts_after_resume is not None: - pulumi.set(__self__, "run_tools_scripts_after_resume", run_tools_scripts_after_resume) + _setter("run_tools_scripts_after_resume", run_tools_scripts_after_resume) if run_tools_scripts_before_guest_reboot is not None: - pulumi.set(__self__, "run_tools_scripts_before_guest_reboot", run_tools_scripts_before_guest_reboot) + _setter("run_tools_scripts_before_guest_reboot", run_tools_scripts_before_guest_reboot) if run_tools_scripts_before_guest_shutdown is not None: - pulumi.set(__self__, "run_tools_scripts_before_guest_shutdown", run_tools_scripts_before_guest_shutdown) + _setter("run_tools_scripts_before_guest_shutdown", run_tools_scripts_before_guest_shutdown) if run_tools_scripts_before_guest_standby is not None: - pulumi.set(__self__, "run_tools_scripts_before_guest_standby", run_tools_scripts_before_guest_standby) + _setter("run_tools_scripts_before_guest_standby", run_tools_scripts_before_guest_standby) if sata_controller_count is not None: - pulumi.set(__self__, "sata_controller_count", sata_controller_count) + _setter("sata_controller_count", sata_controller_count) if scsi_bus_sharing is not None: - pulumi.set(__self__, "scsi_bus_sharing", scsi_bus_sharing) + _setter("scsi_bus_sharing", scsi_bus_sharing) if scsi_controller_count is not None: - pulumi.set(__self__, "scsi_controller_count", scsi_controller_count) + _setter("scsi_controller_count", scsi_controller_count) if scsi_type is not None: - pulumi.set(__self__, "scsi_type", scsi_type) + _setter("scsi_type", scsi_type) if shutdown_wait_timeout is not None: - pulumi.set(__self__, "shutdown_wait_timeout", shutdown_wait_timeout) + _setter("shutdown_wait_timeout", shutdown_wait_timeout) if storage_policy_id is not None: - pulumi.set(__self__, "storage_policy_id", storage_policy_id) + _setter("storage_policy_id", storage_policy_id) if swap_placement_policy is not None: - pulumi.set(__self__, "swap_placement_policy", swap_placement_policy) + _setter("swap_placement_policy", swap_placement_policy) if sync_time_with_host is not None: - pulumi.set(__self__, "sync_time_with_host", sync_time_with_host) + _setter("sync_time_with_host", sync_time_with_host) if sync_time_with_host_periodically is not None: - pulumi.set(__self__, "sync_time_with_host_periodically", sync_time_with_host_periodically) + _setter("sync_time_with_host_periodically", sync_time_with_host_periodically) if tags is not None: - pulumi.set(__self__, "tags", tags) + _setter("tags", tags) if tools_upgrade_policy is not None: - pulumi.set(__self__, "tools_upgrade_policy", tools_upgrade_policy) + _setter("tools_upgrade_policy", tools_upgrade_policy) if uuid is not None: - pulumi.set(__self__, "uuid", uuid) + _setter("uuid", uuid) if vapp is not None: - pulumi.set(__self__, "vapp", vapp) + _setter("vapp", vapp) if vapp_transports is not None: - pulumi.set(__self__, "vapp_transports", vapp_transports) + _setter("vapp_transports", vapp_transports) if vbs_enabled is not None: - pulumi.set(__self__, "vbs_enabled", vbs_enabled) + _setter("vbs_enabled", vbs_enabled) if vmware_tools_status is not None: - pulumi.set(__self__, "vmware_tools_status", vmware_tools_status) + _setter("vmware_tools_status", vmware_tools_status) if vmx_path is not None: - pulumi.set(__self__, "vmx_path", vmx_path) + _setter("vmx_path", vmx_path) if vvtd_enabled is not None: - pulumi.set(__self__, "vvtd_enabled", vvtd_enabled) + _setter("vvtd_enabled", vvtd_enabled) if wait_for_guest_ip_timeout is not None: - pulumi.set(__self__, "wait_for_guest_ip_timeout", wait_for_guest_ip_timeout) + _setter("wait_for_guest_ip_timeout", wait_for_guest_ip_timeout) if wait_for_guest_net_routable is not None: - pulumi.set(__self__, "wait_for_guest_net_routable", wait_for_guest_net_routable) + _setter("wait_for_guest_net_routable", wait_for_guest_net_routable) if wait_for_guest_net_timeout is not None: - pulumi.set(__self__, "wait_for_guest_net_timeout", wait_for_guest_net_timeout) + _setter("wait_for_guest_net_timeout", wait_for_guest_net_timeout) @property @pulumi.getter(name="alternateGuestName") @@ -1899,9 +2225,7 @@ def datastore_cluster_id(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="datastoreId") def datastore_id(self) -> Optional[pulumi.Input[str]]: """ - The managed object reference ID of the datastore in which to place the virtual machine. The virtual machine configuration files is placed here, along with any virtual disks that are created where a datastore is not explicitly specified. See the section on virtual machine migration for more information on modifying this value. - - > **NOTE:** Datastores cannot be assigned to individual disks when `datastore_cluster_id` is used. + The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `client_device`. """ return pulumi.get(self, "datastore_id") @@ -2541,7 +2865,7 @@ def shutdown_wait_timeout(self, value: Optional[pulumi.Input[int]]): @pulumi.getter(name="storagePolicyId") def storage_policy_id(self) -> Optional[pulumi.Input[str]]: """ - The ID of the storage policy to assign to the home directory of a virtual machine. + The UUID of the storage policy to assign to the virtual disk. """ return pulumi.get(self, "storage_policy_id") @@ -2841,9 +3165,7 @@ def __init__(__self__, > **NOTE:** Use of `datastore_cluster_id` requires vSphere Storage DRS to be enabled on the specified datastore cluster. > **NOTE:** The `datastore_cluster_id` setting applies to the entire virtual machine resource. You cannot assign individual individual disks to datastore clusters. In addition, you cannot use the `attach` setting to attach external disks on virtual machines that are assigned to datastore clusters. - :param pulumi.Input[str] datastore_id: The managed object reference ID of the datastore in which to place the virtual machine. The virtual machine configuration files is placed here, along with any virtual disks that are created where a datastore is not explicitly specified. See the section on virtual machine migration for more information on modifying this value. - - > **NOTE:** Datastores cannot be assigned to individual disks when `datastore_cluster_id` is used. + :param pulumi.Input[str] datastore_id: The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `client_device`. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VirtualMachineDiskArgs']]]] disks: A specification for a virtual disk device on the virtual machine. See disk options for more information. :param pulumi.Input[bool] efi_secure_boot_enabled: Use this option to enable EFI secure boot when the `firmware` type is set to is `efi`. Default: `false`. @@ -2916,7 +3238,7 @@ def __init__(__self__, controllers. :param pulumi.Input[str] scsi_type: The SCSI controller type for the virtual machine. One of `lsilogic` (LSI Logic Parallel), `lsilogic-sas` (LSI Logic SAS) or `pvscsi` (VMware Paravirtual). Default: `pvscsi`. :param pulumi.Input[int] shutdown_wait_timeout: The amount of time, in minutes, to wait for a graceful guest shutdown when making necessary updates to the virtual machine. If `force_power_off` is set to `true`, the virtual machine will be forced to power-off after the timeout, otherwise an error is returned. Default: `3` minutes. - :param pulumi.Input[str] storage_policy_id: The ID of the storage policy to assign to the home directory of a virtual machine. + :param pulumi.Input[str] storage_policy_id: The UUID of the storage policy to assign to the virtual disk. :param pulumi.Input[str] swap_placement_policy: The swap file placement policy for the virtual machine. One of `inherit`, `hostLocal`, or `vmDirectory`. Default: `inherit`. :param pulumi.Input[bool] sync_time_with_host: Enable the guest operating system to synchronization its clock with the host when the virtual machine is powered on or resumed. Requires vSphere 7.0 Update 1 and later. Requires VMware Tools to be installed. Default: `false`. :param pulumi.Input[bool] sync_time_with_host_periodically: Enable the guest operating system to periodically synchronize its clock with the host. Requires vSphere 7.0 Update 1 and later. On previous versions, setting `sync_time_with_host` is will enable periodic synchronization. Requires VMware Tools to be installed. Default: `false`. @@ -2949,6 +3271,10 @@ def __init__(__self__, resource_name: str, *args, **kwargs): if resource_args is not None: __self__._internal_init(resource_name, opts, **resource_args.__dict__) else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + VirtualMachineArgs._configure(_setter, **kwargs) __self__._internal_init(resource_name, *args, **kwargs) def _internal_init(__self__, @@ -3043,6 +3369,11 @@ def _internal_init(__self__, __props__.__dict__["boot_retry_delay"] = boot_retry_delay __props__.__dict__["boot_retry_enabled"] = boot_retry_enabled __props__.__dict__["cdroms"] = cdroms + if clone is not None and not isinstance(clone, VirtualMachineCloneArgs): + clone = clone or {} + def _setter(key, value): + clone[key] = value + VirtualMachineCloneArgs._configure(_setter, **clone) __props__.__dict__["clone"] = clone __props__.__dict__["cpu_hot_add_enabled"] = cpu_hot_add_enabled __props__.__dict__["cpu_hot_remove_enabled"] = cpu_hot_remove_enabled @@ -3084,6 +3415,11 @@ def _internal_init(__self__, __props__.__dict__["network_interfaces"] = network_interfaces __props__.__dict__["num_cores_per_socket"] = num_cores_per_socket __props__.__dict__["num_cpus"] = num_cpus + if ovf_deploy is not None and not isinstance(ovf_deploy, VirtualMachineOvfDeployArgs): + ovf_deploy = ovf_deploy or {} + def _setter(key, value): + ovf_deploy[key] = value + VirtualMachineOvfDeployArgs._configure(_setter, **ovf_deploy) __props__.__dict__["ovf_deploy"] = ovf_deploy __props__.__dict__["pci_device_ids"] = pci_device_ids __props__.__dict__["poweron_timeout"] = poweron_timeout @@ -3107,6 +3443,11 @@ def _internal_init(__self__, __props__.__dict__["sync_time_with_host_periodically"] = sync_time_with_host_periodically __props__.__dict__["tags"] = tags __props__.__dict__["tools_upgrade_policy"] = tools_upgrade_policy + if vapp is not None and not isinstance(vapp, VirtualMachineVappArgs): + vapp = vapp or {} + def _setter(key, value): + vapp[key] = value + VirtualMachineVappArgs._configure(_setter, **vapp) __props__.__dict__["vapp"] = vapp __props__.__dict__["vbs_enabled"] = vbs_enabled __props__.__dict__["vvtd_enabled"] = vvtd_enabled @@ -3252,9 +3593,7 @@ def get(resource_name: str, > **NOTE:** Use of `datastore_cluster_id` requires vSphere Storage DRS to be enabled on the specified datastore cluster. > **NOTE:** The `datastore_cluster_id` setting applies to the entire virtual machine resource. You cannot assign individual individual disks to datastore clusters. In addition, you cannot use the `attach` setting to attach external disks on virtual machines that are assigned to datastore clusters. - :param pulumi.Input[str] datastore_id: The managed object reference ID of the datastore in which to place the virtual machine. The virtual machine configuration files is placed here, along with any virtual disks that are created where a datastore is not explicitly specified. See the section on virtual machine migration for more information on modifying this value. - - > **NOTE:** Datastores cannot be assigned to individual disks when `datastore_cluster_id` is used. + :param pulumi.Input[str] datastore_id: The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `client_device`. :param pulumi.Input[str] default_ip_address: The IP address selected by the provider to be used with any provisioners configured on this resource. When possible, this is the first IPv4 address that is reachable through the default gateway configured on the machine, then the first reachable IPv6 address, and then the first general discovered address if neither exists. If VMware Tools is not running on the virtual machine, or if the virtual machine is powered off, this value will be blank. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VirtualMachineDiskArgs']]]] disks: A specification for a virtual disk device on the virtual machine. See disk options for more information. :param pulumi.Input[bool] efi_secure_boot_enabled: Use this option to enable EFI secure boot when the `firmware` type is set to is `efi`. Default: `false`. @@ -3333,7 +3672,7 @@ def get(resource_name: str, controllers. :param pulumi.Input[str] scsi_type: The SCSI controller type for the virtual machine. One of `lsilogic` (LSI Logic Parallel), `lsilogic-sas` (LSI Logic SAS) or `pvscsi` (VMware Paravirtual). Default: `pvscsi`. :param pulumi.Input[int] shutdown_wait_timeout: The amount of time, in minutes, to wait for a graceful guest shutdown when making necessary updates to the virtual machine. If `force_power_off` is set to `true`, the virtual machine will be forced to power-off after the timeout, otherwise an error is returned. Default: `3` minutes. - :param pulumi.Input[str] storage_policy_id: The ID of the storage policy to assign to the home directory of a virtual machine. + :param pulumi.Input[str] storage_policy_id: The UUID of the storage policy to assign to the virtual disk. :param pulumi.Input[str] swap_placement_policy: The swap file placement policy for the virtual machine. One of `inherit`, `hostLocal`, or `vmDirectory`. Default: `inherit`. :param pulumi.Input[bool] sync_time_with_host: Enable the guest operating system to synchronization its clock with the host when the virtual machine is powered on or resumed. Requires vSphere 7.0 Update 1 and later. Requires VMware Tools to be installed. Default: `false`. :param pulumi.Input[bool] sync_time_with_host_periodically: Enable the guest operating system to periodically synchronize its clock with the host. Requires vSphere 7.0 Update 1 and later. On previous versions, setting `sync_time_with_host` is will enable periodic synchronization. Requires VMware Tools to be installed. Default: `false`. @@ -3599,9 +3938,7 @@ def datastore_cluster_id(self) -> pulumi.Output[Optional[str]]: @pulumi.getter(name="datastoreId") def datastore_id(self) -> pulumi.Output[str]: """ - The managed object reference ID of the datastore in which to place the virtual machine. The virtual machine configuration files is placed here, along with any virtual disks that are created where a datastore is not explicitly specified. See the section on virtual machine migration for more information on modifying this value. - - > **NOTE:** Datastores cannot be assigned to individual disks when `datastore_cluster_id` is used. + The datastore ID that on which the ISO is located. Required for using a datastore ISO. Conflicts with `client_device`. """ return pulumi.get(self, "datastore_id") @@ -4037,7 +4374,7 @@ def shutdown_wait_timeout(self) -> pulumi.Output[Optional[int]]: @pulumi.getter(name="storagePolicyId") def storage_policy_id(self) -> pulumi.Output[str]: """ - The ID of the storage policy to assign to the home directory of a virtual machine. + The UUID of the storage policy to assign to the virtual disk. """ return pulumi.get(self, "storage_policy_id") diff --git a/sdk/python/pulumi_vsphere/virtual_machine_snapshot.py b/sdk/python/pulumi_vsphere/virtual_machine_snapshot.py index a62cf948..ff24e7a8 100644 --- a/sdk/python/pulumi_vsphere/virtual_machine_snapshot.py +++ b/sdk/python/pulumi_vsphere/virtual_machine_snapshot.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities __all__ = ['VirtualMachineSnapshotArgs', 'VirtualMachineSnapshot'] @@ -37,15 +37,36 @@ def __init__(__self__, *, :param pulumi.Input[bool] remove_children: If set to `true`, the entire snapshot subtree is removed when this resource is destroyed. """ - pulumi.set(__self__, "description", description) - pulumi.set(__self__, "memory", memory) - pulumi.set(__self__, "quiesce", quiesce) - pulumi.set(__self__, "snapshot_name", snapshot_name) - pulumi.set(__self__, "virtual_machine_uuid", virtual_machine_uuid) + VirtualMachineSnapshotArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + description=description, + memory=memory, + quiesce=quiesce, + snapshot_name=snapshot_name, + virtual_machine_uuid=virtual_machine_uuid, + consolidate=consolidate, + remove_children=remove_children, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + description: pulumi.Input[str], + memory: pulumi.Input[bool], + quiesce: pulumi.Input[bool], + snapshot_name: pulumi.Input[str], + virtual_machine_uuid: pulumi.Input[str], + consolidate: Optional[pulumi.Input[bool]] = None, + remove_children: Optional[pulumi.Input[bool]] = None, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("description", description) + _setter("memory", memory) + _setter("quiesce", quiesce) + _setter("snapshot_name", snapshot_name) + _setter("virtual_machine_uuid", virtual_machine_uuid) if consolidate is not None: - pulumi.set(__self__, "consolidate", consolidate) + _setter("consolidate", consolidate) if remove_children is not None: - pulumi.set(__self__, "remove_children", remove_children) + _setter("remove_children", remove_children) @property @pulumi.getter @@ -164,20 +185,41 @@ def __init__(__self__, *, :param pulumi.Input[str] snapshot_name: The name of the snapshot. :param pulumi.Input[str] virtual_machine_uuid: The virtual machine UUID. """ + _VirtualMachineSnapshotState._configure( + lambda key, value: pulumi.set(__self__, key, value), + consolidate=consolidate, + description=description, + memory=memory, + quiesce=quiesce, + remove_children=remove_children, + snapshot_name=snapshot_name, + virtual_machine_uuid=virtual_machine_uuid, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + consolidate: Optional[pulumi.Input[bool]] = None, + description: Optional[pulumi.Input[str]] = None, + memory: Optional[pulumi.Input[bool]] = None, + quiesce: Optional[pulumi.Input[bool]] = None, + remove_children: Optional[pulumi.Input[bool]] = None, + snapshot_name: Optional[pulumi.Input[str]] = None, + virtual_machine_uuid: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None): if consolidate is not None: - pulumi.set(__self__, "consolidate", consolidate) + _setter("consolidate", consolidate) if description is not None: - pulumi.set(__self__, "description", description) + _setter("description", description) if memory is not None: - pulumi.set(__self__, "memory", memory) + _setter("memory", memory) if quiesce is not None: - pulumi.set(__self__, "quiesce", quiesce) + _setter("quiesce", quiesce) if remove_children is not None: - pulumi.set(__self__, "remove_children", remove_children) + _setter("remove_children", remove_children) if snapshot_name is not None: - pulumi.set(__self__, "snapshot_name", snapshot_name) + _setter("snapshot_name", snapshot_name) if virtual_machine_uuid is not None: - pulumi.set(__self__, "virtual_machine_uuid", virtual_machine_uuid) + _setter("virtual_machine_uuid", virtual_machine_uuid) @property @pulumi.getter @@ -393,6 +435,10 @@ def __init__(__self__, resource_name: str, *args, **kwargs): if resource_args is not None: __self__._internal_init(resource_name, opts, **resource_args.__dict__) else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + VirtualMachineSnapshotArgs._configure(_setter, **kwargs) __self__._internal_init(resource_name, *args, **kwargs) def _internal_init(__self__, diff --git a/sdk/python/pulumi_vsphere/vm_storage_policy.py b/sdk/python/pulumi_vsphere/vm_storage_policy.py index 787e5523..72800e6b 100644 --- a/sdk/python/pulumi_vsphere/vm_storage_policy.py +++ b/sdk/python/pulumi_vsphere/vm_storage_policy.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities from . import outputs from ._inputs import * @@ -25,11 +25,24 @@ def __init__(__self__, *, :param pulumi.Input[str] description: Description of the storage policy. :param pulumi.Input[str] name: The name of the storage policy. """ - pulumi.set(__self__, "tag_rules", tag_rules) + VmStoragePolicyArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + tag_rules=tag_rules, + description=description, + name=name, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + tag_rules: pulumi.Input[Sequence[pulumi.Input['VmStoragePolicyTagRuleArgs']]], + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("tag_rules", tag_rules) if description is not None: - pulumi.set(__self__, "description", description) + _setter("description", description) if name is not None: - pulumi.set(__self__, "name", name) + _setter("name", name) @property @pulumi.getter(name="tagRules") @@ -80,12 +93,25 @@ def __init__(__self__, *, :param pulumi.Input[str] name: The name of the storage policy. :param pulumi.Input[Sequence[pulumi.Input['VmStoragePolicyTagRuleArgs']]] tag_rules: List of tag rules. The tag category and tags to be associated to this storage policy. """ + _VmStoragePolicyState._configure( + lambda key, value: pulumi.set(__self__, key, value), + description=description, + name=name, + tag_rules=tag_rules, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + tag_rules: Optional[pulumi.Input[Sequence[pulumi.Input['VmStoragePolicyTagRuleArgs']]]] = None, + opts: Optional[pulumi.ResourceOptions]=None): if description is not None: - pulumi.set(__self__, "description", description) + _setter("description", description) if name is not None: - pulumi.set(__self__, "name", name) + _setter("name", name) if tag_rules is not None: - pulumi.set(__self__, "tag_rules", tag_rules) + _setter("tag_rules", tag_rules) @property @pulumi.getter @@ -367,6 +393,10 @@ def __init__(__self__, resource_name: str, *args, **kwargs): if resource_args is not None: __self__._internal_init(resource_name, opts, **resource_args.__dict__) else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + VmStoragePolicyArgs._configure(_setter, **kwargs) __self__._internal_init(resource_name, *args, **kwargs) def _internal_init(__self__, diff --git a/sdk/python/pulumi_vsphere/vmfs_datastore.py b/sdk/python/pulumi_vsphere/vmfs_datastore.py index bb6a6c89..996bead0 100644 --- a/sdk/python/pulumi_vsphere/vmfs_datastore.py +++ b/sdk/python/pulumi_vsphere/vmfs_datastore.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities __all__ = ['VmfsDatastoreArgs', 'VmfsDatastore'] @@ -51,18 +51,39 @@ def __init__(__self__, *, > **NOTE:** Tagging support is unsupported on direct ESXi connections and requires vCenter 6.0 or higher. """ - pulumi.set(__self__, "disks", disks) - pulumi.set(__self__, "host_system_id", host_system_id) + VmfsDatastoreArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + disks=disks, + host_system_id=host_system_id, + custom_attributes=custom_attributes, + datastore_cluster_id=datastore_cluster_id, + folder=folder, + name=name, + tags=tags, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + disks: pulumi.Input[Sequence[pulumi.Input[str]]], + host_system_id: pulumi.Input[str], + custom_attributes: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + datastore_cluster_id: Optional[pulumi.Input[str]] = None, + folder: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("disks", disks) + _setter("host_system_id", host_system_id) if custom_attributes is not None: - pulumi.set(__self__, "custom_attributes", custom_attributes) + _setter("custom_attributes", custom_attributes) if datastore_cluster_id is not None: - pulumi.set(__self__, "datastore_cluster_id", datastore_cluster_id) + _setter("datastore_cluster_id", datastore_cluster_id) if folder is not None: - pulumi.set(__self__, "folder", folder) + _setter("folder", folder) if name is not None: - pulumi.set(__self__, "name", name) + _setter("name", name) if tags is not None: - pulumi.set(__self__, "tags", tags) + _setter("tags", tags) @property @pulumi.getter @@ -226,34 +247,69 @@ def __init__(__self__, *, potentially used by all virtual machines on this datastore. :param pulumi.Input[str] url: The unique locator for the datastore. """ + _VmfsDatastoreState._configure( + lambda key, value: pulumi.set(__self__, key, value), + accessible=accessible, + capacity=capacity, + custom_attributes=custom_attributes, + datastore_cluster_id=datastore_cluster_id, + disks=disks, + folder=folder, + free_space=free_space, + host_system_id=host_system_id, + maintenance_mode=maintenance_mode, + multiple_host_access=multiple_host_access, + name=name, + tags=tags, + uncommitted_space=uncommitted_space, + url=url, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + accessible: Optional[pulumi.Input[bool]] = None, + capacity: Optional[pulumi.Input[int]] = None, + custom_attributes: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + datastore_cluster_id: Optional[pulumi.Input[str]] = None, + disks: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + folder: Optional[pulumi.Input[str]] = None, + free_space: Optional[pulumi.Input[int]] = None, + host_system_id: Optional[pulumi.Input[str]] = None, + maintenance_mode: Optional[pulumi.Input[str]] = None, + multiple_host_access: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + uncommitted_space: Optional[pulumi.Input[int]] = None, + url: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.ResourceOptions]=None): if accessible is not None: - pulumi.set(__self__, "accessible", accessible) + _setter("accessible", accessible) if capacity is not None: - pulumi.set(__self__, "capacity", capacity) + _setter("capacity", capacity) if custom_attributes is not None: - pulumi.set(__self__, "custom_attributes", custom_attributes) + _setter("custom_attributes", custom_attributes) if datastore_cluster_id is not None: - pulumi.set(__self__, "datastore_cluster_id", datastore_cluster_id) + _setter("datastore_cluster_id", datastore_cluster_id) if disks is not None: - pulumi.set(__self__, "disks", disks) + _setter("disks", disks) if folder is not None: - pulumi.set(__self__, "folder", folder) + _setter("folder", folder) if free_space is not None: - pulumi.set(__self__, "free_space", free_space) + _setter("free_space", free_space) if host_system_id is not None: - pulumi.set(__self__, "host_system_id", host_system_id) + _setter("host_system_id", host_system_id) if maintenance_mode is not None: - pulumi.set(__self__, "maintenance_mode", maintenance_mode) + _setter("maintenance_mode", maintenance_mode) if multiple_host_access is not None: - pulumi.set(__self__, "multiple_host_access", multiple_host_access) + _setter("multiple_host_access", multiple_host_access) if name is not None: - pulumi.set(__self__, "name", name) + _setter("name", name) if tags is not None: - pulumi.set(__self__, "tags", tags) + _setter("tags", tags) if uncommitted_space is not None: - pulumi.set(__self__, "uncommitted_space", uncommitted_space) + _setter("uncommitted_space", uncommitted_space) if url is not None: - pulumi.set(__self__, "url", url) + _setter("url", url) @property @pulumi.getter @@ -510,6 +566,10 @@ def __init__(__self__, resource_name: str, *args, **kwargs): if resource_args is not None: __self__._internal_init(resource_name, opts, **resource_args.__dict__) else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + VmfsDatastoreArgs._configure(_setter, **kwargs) __self__._internal_init(resource_name, *args, **kwargs) def _internal_init(__self__, diff --git a/sdk/python/pulumi_vsphere/vnic.py b/sdk/python/pulumi_vsphere/vnic.py index 2ec833e3..a3dd95a0 100644 --- a/sdk/python/pulumi_vsphere/vnic.py +++ b/sdk/python/pulumi_vsphere/vnic.py @@ -6,7 +6,7 @@ import warnings import pulumi import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload +from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload from . import _utilities from . import outputs from ._inputs import * @@ -39,25 +39,52 @@ def __init__(__self__, *, :param pulumi.Input[str] portgroup: Portgroup to attach the nic to. Do not set if you set distributed_switch_port. :param pulumi.Input[Sequence[pulumi.Input[str]]] services: Enabled services setting for this interface. Current possible values are 'vmotion', 'management', and 'vsan'. """ - pulumi.set(__self__, "host", host) + VnicArgs._configure( + lambda key, value: pulumi.set(__self__, key, value), + host=host, + distributed_port_group=distributed_port_group, + distributed_switch_port=distributed_switch_port, + ipv4=ipv4, + ipv6=ipv6, + mac=mac, + mtu=mtu, + netstack=netstack, + portgroup=portgroup, + services=services, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + host: pulumi.Input[str], + distributed_port_group: Optional[pulumi.Input[str]] = None, + distributed_switch_port: Optional[pulumi.Input[str]] = None, + ipv4: Optional[pulumi.Input['VnicIpv4Args']] = None, + ipv6: Optional[pulumi.Input['VnicIpv6Args']] = None, + mac: Optional[pulumi.Input[str]] = None, + mtu: Optional[pulumi.Input[int]] = None, + netstack: Optional[pulumi.Input[str]] = None, + portgroup: Optional[pulumi.Input[str]] = None, + services: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + opts: Optional[pulumi.ResourceOptions]=None): + _setter("host", host) if distributed_port_group is not None: - pulumi.set(__self__, "distributed_port_group", distributed_port_group) + _setter("distributed_port_group", distributed_port_group) if distributed_switch_port is not None: - pulumi.set(__self__, "distributed_switch_port", distributed_switch_port) + _setter("distributed_switch_port", distributed_switch_port) if ipv4 is not None: - pulumi.set(__self__, "ipv4", ipv4) + _setter("ipv4", ipv4) if ipv6 is not None: - pulumi.set(__self__, "ipv6", ipv6) + _setter("ipv6", ipv6) if mac is not None: - pulumi.set(__self__, "mac", mac) + _setter("mac", mac) if mtu is not None: - pulumi.set(__self__, "mtu", mtu) + _setter("mtu", mtu) if netstack is not None: - pulumi.set(__self__, "netstack", netstack) + _setter("netstack", netstack) if portgroup is not None: - pulumi.set(__self__, "portgroup", portgroup) + _setter("portgroup", portgroup) if services is not None: - pulumi.set(__self__, "services", services) + _setter("services", services) @property @pulumi.getter @@ -206,26 +233,53 @@ def __init__(__self__, *, :param pulumi.Input[str] portgroup: Portgroup to attach the nic to. Do not set if you set distributed_switch_port. :param pulumi.Input[Sequence[pulumi.Input[str]]] services: Enabled services setting for this interface. Current possible values are 'vmotion', 'management', and 'vsan'. """ + _VnicState._configure( + lambda key, value: pulumi.set(__self__, key, value), + distributed_port_group=distributed_port_group, + distributed_switch_port=distributed_switch_port, + host=host, + ipv4=ipv4, + ipv6=ipv6, + mac=mac, + mtu=mtu, + netstack=netstack, + portgroup=portgroup, + services=services, + ) + @staticmethod + def _configure( + _setter: Callable[[Any, Any], None], + distributed_port_group: Optional[pulumi.Input[str]] = None, + distributed_switch_port: Optional[pulumi.Input[str]] = None, + host: Optional[pulumi.Input[str]] = None, + ipv4: Optional[pulumi.Input['VnicIpv4Args']] = None, + ipv6: Optional[pulumi.Input['VnicIpv6Args']] = None, + mac: Optional[pulumi.Input[str]] = None, + mtu: Optional[pulumi.Input[int]] = None, + netstack: Optional[pulumi.Input[str]] = None, + portgroup: Optional[pulumi.Input[str]] = None, + services: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + opts: Optional[pulumi.ResourceOptions]=None): if distributed_port_group is not None: - pulumi.set(__self__, "distributed_port_group", distributed_port_group) + _setter("distributed_port_group", distributed_port_group) if distributed_switch_port is not None: - pulumi.set(__self__, "distributed_switch_port", distributed_switch_port) + _setter("distributed_switch_port", distributed_switch_port) if host is not None: - pulumi.set(__self__, "host", host) + _setter("host", host) if ipv4 is not None: - pulumi.set(__self__, "ipv4", ipv4) + _setter("ipv4", ipv4) if ipv6 is not None: - pulumi.set(__self__, "ipv6", ipv6) + _setter("ipv6", ipv6) if mac is not None: - pulumi.set(__self__, "mac", mac) + _setter("mac", mac) if mtu is not None: - pulumi.set(__self__, "mtu", mtu) + _setter("mtu", mtu) if netstack is not None: - pulumi.set(__self__, "netstack", netstack) + _setter("netstack", netstack) if portgroup is not None: - pulumi.set(__self__, "portgroup", portgroup) + _setter("portgroup", portgroup) if services is not None: - pulumi.set(__self__, "services", services) + _setter("services", services) @property @pulumi.getter(name="distributedPortGroup") @@ -485,6 +539,10 @@ def __init__(__self__, resource_name: str, *args, **kwargs): if resource_args is not None: __self__._internal_init(resource_name, opts, **resource_args.__dict__) else: + kwargs = kwargs or {} + def _setter(key, value): + kwargs[key] = value + VnicArgs._configure(_setter, **kwargs) __self__._internal_init(resource_name, *args, **kwargs) def _internal_init(__self__, @@ -514,7 +572,17 @@ def _internal_init(__self__, if host is None and not opts.urn: raise TypeError("Missing required property 'host'") __props__.__dict__["host"] = host + if ipv4 is not None and not isinstance(ipv4, VnicIpv4Args): + ipv4 = ipv4 or {} + def _setter(key, value): + ipv4[key] = value + VnicIpv4Args._configure(_setter, **ipv4) __props__.__dict__["ipv4"] = ipv4 + if ipv6 is not None and not isinstance(ipv6, VnicIpv6Args): + ipv6 = ipv6 or {} + def _setter(key, value): + ipv6[key] = value + VnicIpv6Args._configure(_setter, **ipv6) __props__.__dict__["ipv6"] = ipv6 __props__.__dict__["mac"] = mac __props__.__dict__["mtu"] = mtu