ESXi Component Java examples use the publishedcom.pulumi:netskope-publisher SDK. Rust examples use the publishedpulumi-netskope-publisher crate plus Pulumi Gestalt.
EsxiPublisher creates one ESXi Native virtual machine per publisher name. It is direct-host ESXi support and does not replaceVspherePublisher.
Inputs Required: diskStore, virtualNetwork, and tenantUrl plus bearerToken unless registrations is provided.
Optional platform inputs: os, memory, numVCpus, and diskSize.
Image and bootstrap behavior The component passes cloud-init through ESXi guestinfo keys. Use an Ubuntu 22.04 cloud-init capable template or OVF source prepared for the ESXi Native provider.
Outputs publisherNames and secret publishers, keyed by publisher name.
Pulumi YAML 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 name: netskope-publisher-esxi runtime: yaml config: tenantUrl: type: String bearerToken: type: String secret: true resources: publisher: type: netskope-publisher:index:EsxiPublisher properties: namePrefix: pub replicas: 2 tenantUrl: ${tenantUrl} bearerToken: ${bearerToken} datastore: datastore1 networkName: VM Network ovfSource: /images/ubuntu-22.04.ova diskStore: datastore1 outputs: publisherNames: ${publisher.publisherNames} publishers: ${publisher.publishers}
TypeScript 1 2 3 4 5 6 7 8 9 const publisher = new EsxiPublisher ("publisher" , { names : ["pub-esxi-1" , "pub-esxi-2" ], tenantUrl : netskope.require ("tenantUrl" ), bearerToken : netskope.requireSecret ("bearerToken" ), diskStore : "datastore1" , virtualNetwork : "VM Network" , memory : 4096 , numVCpus : 2 , });
Python 1 2 3 4 5 6 7 8 9 10 publisher = EsxiPublisher( "publisher" , names=["pub-esxi-1" , "pub-esxi-2" ], tenant_url=netskope.require("tenantUrl" ), bearer_token=netskope.require_secret("bearerToken" ), disk_store="datastore1" , virtual_network="VM Network" , memory=4096 , num_v_cpus=2 , )
C# 1 2 3 4 5 6 7 8 9 10 var publisher = new EsxiPublisher("publisher" , new EsxiPublisherArgs{ Names = { "pub-esxi-1" , "pub-esxi-2" }, TenantUrl = netskope.Require("tenantUrl" ), BearerToken = netskope.RequireSecret("bearerToken" ), DiskStore = "datastore1" , VirtualNetwork = "VM Network" , Memory = 4096 , NumVCpus = 2 , });
Go 1 2 3 4 5 6 7 8 9 publisher, err := netskopepublisher.NewEsxiPublisher(ctx, "publisher" , &netskopepublisher.EsxiPublisherArgs{ Names: pulumi.StringArray{pulumi.String("pub-esxi-1" ), pulumi.String("pub-esxi-2" )}, TenantUrl: pulumi.String(netskope.Require("tenantUrl" )), BearerToken: netskope.RequireSecret("bearerToken" ), DiskStore: pulumi.String("datastore1" ), VirtualNetwork: pulumi.String("VM Network" ), Memory: pulumi.Int(4096 ), NumVCpus: pulumi.Int(2 ), })
Java 1 2 3 4 5 6 7 8 9 var publisher = new EsxiPublisher ("publisher" , EsxiPublisherArgs.builder() .names("pub-esxi-1" , "pub-esxi-2" ) .tenantUrl(netskope.require("tenantUrl" )) .bearerToken(netskope.requireSecret("bearerToken" )) .diskStore("datastore1" ) .virtualNetwork("VM Network" ) .memory(4096 ) .numVCpus(2 ) .build());
Rust 1 2 3 4 5 6 7 8 9 10 11 12 13 let publisher = netskope::esxi_publisher::create ( ctx, "publisher" , netskope::esxi_publisher::EsxiPublisherArgs::builder () .names (vec! ["pub-esxi-1" .to_string (), "pub-esxi-2" .to_string ()]) .tenant_url ("https://tenant.goskope.com" ) .bearer_token ("secret-token" ) .disk_store ("datastore1" ) .virtual_network ("VM Network" ) .memory (4096 ) .num_v_cpus (2 ) .build_struct (), );