Alicloud Component AlicloudPublisher creates one Alibaba Cloud ECS instance per publisher name.
Inputs Required: imageId, vswitchId, securityGroupIds, and tenantUrl plus apiToken unless registrations is provided.
Optional platform inputs: instanceType, keyName, andallocatePublicIp.
Image and bootstrap behavior Alicloud requires an Ubuntu 22.04 ECS image ID. The component uses bootstrap mode and passes base64 cloud-init through userData.
Outputs publisherNames and secret publishers, keyed by publisher name.
Pulumi CLI 1 2 3 4 pulumi config set alicloud:region eu-central-1 pulumi config set netskope:tenantUrl https://tenant.goskope.com pulumi config set netskope:apiToken --secret pulumi up
TypeScript 1 2 3 4 5 6 7 8 9 10 const publisher = new AlicloudPublisher ("publisher" , { namePrefix : "pub-ali" , replicas : 2 , tenantUrl : netskope.require ("tenantUrl" ), apiToken : netskope.requireSecret ("apiToken" ), imageId : config.require ("imageId" ), vswitchId : config.require ("vswitchId" ), securityGroupIds : [config.require ("securityGroupId" )], instanceType : "ecs.t6-c1m2.large" , });
Python 1 2 3 4 5 6 7 8 9 10 11 publisher = AlicloudPublisher( "publisher" , name_prefix="pub-ali" , replicas=2 , tenant_url=netskope.require("tenantUrl" ), api_token=netskope.require_secret("apiToken" ), image_id=config.require("imageId" ), vswitch_id=config.require("vswitchId" ), security_group_ids=[config.require("securityGroupId" )], instance_type="ecs.t6-c1m2.large" , )
C# 1 2 3 4 5 6 7 8 9 10 11 var publisher = new AlicloudPublisher("publisher" , new AlicloudPublisherArgs{ NamePrefix = "pub-ali" , Replicas = 2 , TenantUrl = netskope.Require("tenantUrl" ), ApiToken = netskope.RequireSecret("apiToken" ), ImageId = config.Require("imageId" ), VswitchId = config.Require("vswitchId" ), SecurityGroupIds = { config.Require("securityGroupId" ) }, InstanceType = "ecs.t6-c1m2.large" , });
Go 1 2 3 4 5 6 7 8 9 10 publisher, err := netskopepublisher.NewAlicloudPublisher(ctx, "publisher" , &netskopepublisher.AlicloudPublisherArgs{ NamePrefix: pulumi.String("pub-ali" ), Replicas: pulumi.Int(2 ), TenantUrl: pulumi.String(netskope.Require("tenantUrl" )), ApiToken: netskope.RequireSecret("apiToken" ), ImageId: pulumi.String(cfg.Require("imageId" )), VswitchId: pulumi.String(cfg.Require("vswitchId" )), SecurityGroupIds: pulumi.StringArray{pulumi.String(cfg.Require("securityGroupId" ))}, InstanceType: pulumi.String("ecs.t6-c1m2.large" ), })
Java 1 2 3 4 5 6 7 8 9 10 var publisher = new AlicloudPublisher ("publisher" , AlicloudPublisherArgs.builder() .namePrefix("pub-ali" ) .replicas(2 ) .tenantUrl(netskope.require("tenantUrl" )) .apiToken(netskope.requireSecret("apiToken" )) .imageId(config.require("imageId" )) .vswitchId(config.require("vswitchId" )) .securityGroupIds(config.require("securityGroupId" )) .instanceType("ecs.t6-c1m2.large" ) .build());
Rust 1 2 3 4 5 6 7 8 9 10 11 12 13 14 let publisher = netskope::alicloud_publisher::create ( ctx, "publisher" , netskope::alicloud_publisher::AlicloudPublisherArgs::builder () .name_prefix ("pub-ali" ) .replicas (2 ) .tenant_url ("https://tenant.goskope.com" ) .api_token ("secret-token" ) .image_id ("ubuntu_22_04_x64_20G_alibase.vhd" ) .vswitch_id ("vsw-123" ) .security_group_ids (vec! ["sg-123" .to_string ()]) .instance_type ("ecs.t6-c1m2.large" ) .build_struct (), );