Nutanix Component

Java examples use the published
com.pulumi:netskope-publisher
SDK. Rust examples use the published
pulumi-netskope-publisher
crate plus Pulumi Gestalt.

NutanixPublisher creates one Nutanix VM per publisher name.

Inputs

Required: clusterUuid and tenantUrl plus bearerToken unless
registrations is provided.

Optional platform inputs: imageUuid, subnetUuid, numVCpus,
numCoresPerVcpu, and memorySizeMib.

Image and bootstrap behavior

Use an Ubuntu 22.04 image UUID when setting imageUuid. The component
uses Nutanix guest customization and passes base64 cloud-init as user
data.

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-nutanix
runtime: yaml
config:
tenantUrl:
type: String
bearerToken:
type: String
secret: true
resources:
publisher:
type: netskope-publisher:index:NutanixPublisher
properties:
namePrefix: pub
replicas: 2
tenantUrl: ${tenantUrl}
bearerToken: ${bearerToken}
clusterUuid: <cluster-uuid>
imageUuid: <ubuntu-2204-image-uuid>
subnetUuid: <subnet-uuid>
bootstrap: true
outputs:
publisherNames: ${publisher.publisherNames}
publishers: ${publisher.publishers}

TypeScript

1
2
3
4
5
6
7
8
9
const publisher = new NutanixPublisher("publisher", {
namePrefix: "pub-ntnx",
replicas: 2,
tenantUrl: netskope.require("tenantUrl"),
bearerToken: netskope.requireSecret("bearerToken"),
clusterUuid: config.require("clusterUuid"),
imageUuid: config.require("imageUuid"),
subnetUuid: config.require("subnetUuid"),
});

Python

1
2
3
4
5
6
7
8
9
10
publisher = NutanixPublisher(
"publisher",
name_prefix="pub-ntnx",
replicas=2,
tenant_url=netskope.require("tenantUrl"),
bearer_token=netskope.require_secret("bearerToken"),
cluster_uuid=config.require("clusterUuid"),
image_uuid=config.require("imageUuid"),
subnet_uuid=config.require("subnetUuid"),
)

C#

1
2
3
4
5
6
7
8
9
10
var publisher = new NutanixPublisher("publisher", new NutanixPublisherArgs
{
NamePrefix = "pub-ntnx",
Replicas = 2,
TenantUrl = netskope.Require("tenantUrl"),
BearerToken = netskope.RequireSecret("bearerToken"),
ClusterUuid = config.Require("clusterUuid"),
ImageUuid = config.Require("imageUuid"),
SubnetUuid = config.Require("subnetUuid"),
});

Go

1
2
3
4
5
6
7
8
9
publisher, err := netskopepublisher.NewNutanixPublisher(ctx, "publisher", &netskopepublisher.NutanixPublisherArgs{
NamePrefix: pulumi.String("pub-ntnx"),
Replicas: pulumi.Int(2),
TenantUrl: pulumi.String(netskope.Require("tenantUrl")),
BearerToken: netskope.RequireSecret("bearerToken"),
ClusterUuid: pulumi.String(cfg.Require("clusterUuid")),
ImageUuid: pulumi.String(cfg.Require("imageUuid")),
SubnetUuid: pulumi.String(cfg.Require("subnetUuid")),
})

Java

1
2
3
4
5
6
7
8
9
var publisher = new NutanixPublisher("publisher", NutanixPublisherArgs.builder()
.namePrefix("pub-ntnx")
.replicas(2)
.tenantUrl(netskope.require("tenantUrl"))
.bearerToken(netskope.requireSecret("bearerToken"))
.clusterUuid(config.require("clusterUuid"))
.imageUuid(config.require("imageUuid"))
.subnetUuid(config.require("subnetUuid"))
.build());

Rust

1
2
3
4
5
6
7
8
9
10
11
12
13
let publisher = netskope::nutanix_publisher::create(
ctx,
"publisher",
netskope::nutanix_publisher::NutanixPublisherArgs::builder()
.name_prefix("pub-ntnx")
.replicas(2)
.tenant_url("https://tenant.goskope.com")
.bearer_token("secret-token")
.cluster_uuid("cluster-uuid")
.image_uuid("image-uuid")
.subnet_uuid("subnet-uuid")
.build_struct(),
);