NetskopeRegistration Java examples use the publishedcom.pulumi:netskope-publisher SDK. Rust examples use the publishedpulumi-netskope-publisher crate plus Pulumi Gestalt.
NetskopeRegistration is the stateful provider resource that registers or reuses Netskope publisher records and generates registration tokens.
Provider-specific publisher components create this resource automatically when tenantUrl and either bearerToken or OAuth2 client credentials are supplied. Use it directly when you want to separate tenant registration from platform infrastructure.
Inputs
publisherNames
tenantUrl
bearerToken, or authMode: "oauth2" plus oauth2
apiToken remains accepted as a backwards-compatible alias forbearerToken.
Outputs
registrations, keyed by publisher name
publisherId
registrationToken
existedBefore
Pulumi YAML Static bearer token enrollment:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 name: netskope-registration runtime: yaml config: tenantUrl: type: String bearerToken: type: String secret: true resources: registration: type: netskope-publisher:index:NetskopeRegistration properties: publisherNames: - pub-eu-1 - pub-eu-2 tenantUrl: ${tenantUrl} bearerToken: ${bearerToken} outputs: registrations: ${registration.registrations}
OAuth2 client credentials enrollment:
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-registration-oauth2 runtime: yaml config: tenantUrl: type: String oauthClientSecret: type: String secret: true resources: registration: type: netskope-publisher:index:NetskopeRegistration properties: publisherNames: - pub-eu-1 - pub-eu-2 tenantUrl: ${tenantUrl} authMode: oauth2 oauth2: tokenUrl: https://tenant.goskope.com/oauth2/token clientId: <client-id> clientSecret: ${oauthClientSecret} outputs: registrations: ${registration.registrations}
TypeScript 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 import * as pulumi from "@pulumi/pulumi" ;import { NetskopeRegistration , AwsPublisher } from "@johninnl/pulumi-netskope-publisher" ;const netskope = new pulumi.Config ("netskope" );const registration = new NetskopeRegistration ("registration" , { publisherNames : ["pub-eu-1" , "pub-eu-2" ], tenantUrl : netskope.require ("tenantUrl" ), bearerToken : netskope.requireSecret ("bearerToken" ), }); const publisher = new AwsPublisher ("publisher" , { names : ["pub-eu-1" , "pub-eu-2" ], registrations : registration.registrations , subnetId, securityGroupIds : [securityGroupId], }); export const registrations = pulumi.secret (registration.registrations );export const publisherNames = publisher.publisherNames ;
OAuth2:
1 2 3 4 5 6 7 8 9 10 const registration = new NetskopeRegistration ("registration" , { publisherNames : ["pub-eu-1" , "pub-eu-2" ], tenantUrl : netskope.require ("tenantUrl" ), authMode : "oauth2" , oauth2 : { tokenUrl : netskope.require ("oauthTokenUrl" ), clientId : netskope.require ("oauthClientId" ), clientSecret : netskope.requireSecret ("oauthClientSecret" ), }, });
Python 1 2 3 4 5 6 7 8 9 10 11 12 13 import pulumifrom pulumi_netskope_publisher import NetskopeRegistrationnetskope = pulumi.Config("netskope" ) registration = NetskopeRegistration( "registration" , publisher_names=["pub-eu-1" , "pub-eu-2" ], tenant_url=netskope.require("tenantUrl" ), bearer_token=netskope.require_secret("bearerToken" ), ) pulumi.export("registrations" , pulumi.Output.secret(registration.registrations))
OAuth2:
1 2 3 4 5 6 7 8 9 10 11 registration = NetskopeRegistration( "registration" , publisher_names=["pub-eu-1" , "pub-eu-2" ], tenant_url=netskope.require("tenantUrl" ), auth_mode="oauth2" , oauth2={ "token_url" : netskope.require("oauthTokenUrl" ), "client_id" : netskope.require("oauthClientId" ), "client_secret" : netskope.require_secret("oauthClientSecret" ), }, )
C# 1 2 3 4 5 6 var registration = new NetskopeRegistration("registration" , new NetskopeRegistrationArgs{ PublisherNames = { "pub-eu-1" , "pub-eu-2" }, TenantUrl = netskope.Require("tenantUrl" ), BearerToken = netskope.RequireSecret("bearerToken" ), });
OAuth2:
1 2 3 4 5 6 7 8 9 10 11 12 var registration = new NetskopeRegistration("registration" , new NetskopeRegistrationArgs{ PublisherNames = { "pub-eu-1" , "pub-eu-2" }, TenantUrl = netskope.Require("tenantUrl" ), AuthMode = "oauth2" , Oauth2 = new Pulumi.NetskopePublisher.Provider.Inputs.NetskopeOAuth2ArgsArgs { TokenUrl = netskope.Require("oauthTokenUrl" ), ClientId = netskope.Require("oauthClientId" ), ClientSecret = netskope.RequireSecret("oauthClientSecret" ), }, });
Go 1 2 3 4 5 6 7 8 9 10 11 12 registration, err := netskopepublisher.NewNetskopeRegistration(ctx, "registration" , &netskopepublisher.NetskopeRegistrationArgs{ PublisherNames: pulumi.StringArray{ pulumi.String("pub-eu-1" ), pulumi.String("pub-eu-2" ), }, TenantUrl: pulumi.String(netskope.Require("tenantUrl" )), BearerToken: netskope.RequireSecret("bearerToken" ), }) if err != nil { return err } ctx.Export("registrations" , pulumi.ToSecret(registration.Registrations))
OAuth2:
1 2 3 4 5 6 7 8 9 10 11 12 13 registration, err := netskopepublisher.NewNetskopeRegistration(ctx, "registration" , &netskopepublisher.NetskopeRegistrationArgs{ PublisherNames: pulumi.StringArray{ pulumi.String("pub-eu-1" ), pulumi.String("pub-eu-2" ), }, TenantUrl: pulumi.String(netskope.Require("tenantUrl" )), AuthMode: pulumi.StringPtr("oauth2" ), Oauth2: &provider.NetskopeOAuth2ArgsArgs{ TokenUrl: pulumi.String(netskope.Require("oauthTokenUrl" )), ClientId: pulumi.String(netskope.Require("oauthClientId" )), ClientSecret: netskope.RequireSecret("oauthClientSecret" ), }, })
Java 1 2 3 4 5 6 7 var registration = new NetskopeRegistration ("registration" , NetskopeRegistrationArgs.builder() .publisherNames("pub-eu-1" , "pub-eu-2" ) .tenantUrl(netskope.require("tenantUrl" )) .bearerToken(netskope.requireSecret("bearerToken" )) .build()); ctx.export("registrations" , Output.secret(registration.registrations()));
OAuth2:
1 2 3 4 5 6 7 8 9 10 var registration = new NetskopeRegistration ("registration" , NetskopeRegistrationArgs.builder() .publisherNames("pub-eu-1" , "pub-eu-2" ) .tenantUrl(netskope.require("tenantUrl" )) .authMode("oauth2" ) .oauth2(NetskopeOAuth2ArgsArgs.builder() .tokenUrl(netskope.require("oauthTokenUrl" )) .clientId(netskope.require("oauthClientId" )) .clientSecret(netskope.requireSecret("oauthClientSecret" )) .build()) .build());
Rust 1 2 3 4 5 6 7 8 9 10 11 let registration = netskope::netskope_registration::create ( ctx, "registration" , netskope::netskope_registration::NetskopeRegistrationArgs::builder () .publisher_names (vec! ["pub-eu-1" .to_string (), "pub-eu-2" .to_string ()]) .tenant_url ("https://tenant.goskope.com" ) .bearer_token ("secret-token" ) .build_struct (), ); add_export ("registrations" , ®istration.registrations);
OAuth2:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 let registration = netskope::netskope_registration::create ( ctx, "registration" , netskope::netskope_registration::NetskopeRegistrationArgs::builder () .publisher_names (vec! ["pub-eu-1" .to_string (), "pub-eu-2" .to_string ()]) .tenant_url ("https://tenant.goskope.com" ) .auth_mode ("oauth2" ) .oauth2 (netskope::types::NetskopeOAuth2Args::builder () .token_url ("https://tenant.goskope.com/oauth2/token" ) .client_id ("client-id" ) .client_secret ("client-secret" ) .build_struct ()) .build_struct (), );