The zpa_user_portal_controller resource creates a user portal in the Zscaler Private Access cloud.
Example Usage
With Customer Own Certificate
import * as pulumi from "@pulumi/pulumi";
import * as zpa from "@bdzscaler/pulumi-zpa";
const _this = zpa.getBaCertificate({
name: "example.acme.com",
});
const thisUserPortalController = new zpa.UserPortalController("this", {
name: "UserPortal01",
description: "UserPortal01",
enabled: true,
userNotification: "User_Portal_Terraform_01",
userNotificationEnabled: true,
certificateId: _this.then(_this => _this.id),
domain: "portal01",
});
import pulumi
import pulumi_zpa as zpa
import zscaler_pulumi_zpa as zpa
this = zpa.get_ba_certificate(name="example.acme.com")
this_user_portal_controller = zpa.UserPortalController("this",
name="UserPortal01",
description="UserPortal01",
enabled=True,
user_notification="User_Portal_Terraform_01",
user_notification_enabled=True,
certificate_id=this.id,
domain="portal01")
package main
import (
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/zscaler/pulumi-zpa/sdk/go/zpa"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
this, err := zpa.GetBaCertificate(ctx, &zpa.GetBaCertificateArgs{
Name: pulumi.StringRef("example.acme.com"),
}, nil)
if err != nil {
return err
}
_, err = zpa.NewUserPortalController(ctx, "this", &zpa.UserPortalControllerArgs{
Name: pulumi.String("UserPortal01"),
Description: pulumi.String("UserPortal01"),
Enabled: pulumi.Bool(true),
UserNotification: pulumi.String("User_Portal_Terraform_01"),
UserNotificationEnabled: pulumi.Bool(true),
CertificateId: pulumi.String(this.Id),
Domain: pulumi.String("portal01"),
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Zpa = Pulumi.Zpa;
using Zpa = zscaler.PulumiPackage.Zpa;
return await Deployment.RunAsync(() =>
{
var @this = Zpa.GetBaCertificate.Invoke(new()
{
Name = "example.acme.com",
});
var thisUserPortalController = new Zpa.UserPortalController("this", new()
{
Name = "UserPortal01",
Description = "UserPortal01",
Enabled = true,
UserNotification = "User_Portal_Terraform_01",
UserNotificationEnabled = true,
CertificateId = @this.Apply(@this => @this.Apply(getBaCertificateResult => getBaCertificateResult.Id)),
Domain = "portal01",
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.zpa.ZpaFunctions;
import com.pulumi.zpa.inputs.GetBaCertificateArgs;
import com.pulumi.zpa.UserPortalController;
import com.pulumi.zpa.UserPortalControllerArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
final var this = ZpaFunctions.getBaCertificate(GetBaCertificateArgs.builder()
.name("example.acme.com")
.build());
var thisUserPortalController = new UserPortalController("thisUserPortalController", UserPortalControllerArgs.builder()
.name("UserPortal01")
.description("UserPortal01")
.enabled(true)
.userNotification("User_Portal_Terraform_01")
.userNotificationEnabled(true)
.certificateId(this_.id())
.domain("portal01")
.build());
}
}
resources:
thisUserPortalController:
type: zpa:UserPortalController
name: this
properties:
name: UserPortal01
description: UserPortal01
enabled: true
userNotification: User_Portal_Terraform_01
userNotificationEnabled: true
certificateId: ${this.id}
domain: portal01
variables:
this:
fn::invoke:
function: zpa:getBaCertificate
arguments:
name: example.acme.com
With Zscaler Managed Certificate
import * as pulumi from "@pulumi/pulumi";
import * as zpa from "@bdzscaler/pulumi-zpa";
const _this = new zpa.UserPortalController("this", {
name: "UserPortal01",
description: "UserPortal01",
enabled: true,
userNotification: "UserPortal01",
userNotificationEnabled: true,
certificateId: "",
extDomainTranslation: "acme.io",
extLabel: "portal01",
extDomainName: "acme-io.b.zscalerportal.net",
extDomain: "acme.io",
domain: "portal01-acme-io.b.zscalerportal.net",
});
import pulumi
import zscaler_pulumi_zpa as zpa
this = zpa.UserPortalController("this",
name="UserPortal01",
description="UserPortal01",
enabled=True,
user_notification="UserPortal01",
user_notification_enabled=True,
certificate_id="",
ext_domain_translation="acme.io",
ext_label="portal01",
ext_domain_name="acme-io.b.zscalerportal.net",
ext_domain="acme.io",
domain="portal01-acme-io.b.zscalerportal.net")
package main
import (
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/zscaler/pulumi-zpa/sdk/go/zpa"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := zpa.NewUserPortalController(ctx, "this", &zpa.UserPortalControllerArgs{
Name: pulumi.String("UserPortal01"),
Description: pulumi.String("UserPortal01"),
Enabled: pulumi.Bool(true),
UserNotification: pulumi.String("UserPortal01"),
UserNotificationEnabled: pulumi.Bool(true),
CertificateId: pulumi.String(""),
ExtDomainTranslation: pulumi.String("acme.io"),
ExtLabel: pulumi.String("portal01"),
ExtDomainName: pulumi.String("acme-io.b.zscalerportal.net"),
ExtDomain: pulumi.String("acme.io"),
Domain: pulumi.String("portal01-acme-io.b.zscalerportal.net"),
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Zpa = zscaler.PulumiPackage.Zpa;
return await Deployment.RunAsync(() =>
{
var @this = new Zpa.UserPortalController("this", new()
{
Name = "UserPortal01",
Description = "UserPortal01",
Enabled = true,
UserNotification = "UserPortal01",
UserNotificationEnabled = true,
CertificateId = "",
ExtDomainTranslation = "acme.io",
ExtLabel = "portal01",
ExtDomainName = "acme-io.b.zscalerportal.net",
ExtDomain = "acme.io",
Domain = "portal01-acme-io.b.zscalerportal.net",
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.zpa.UserPortalController;
import com.pulumi.zpa.UserPortalControllerArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var this_ = new UserPortalController("this", UserPortalControllerArgs.builder()
.name("UserPortal01")
.description("UserPortal01")
.enabled(true)
.userNotification("UserPortal01")
.userNotificationEnabled(true)
.certificateId("")
.extDomainTranslation("acme.io")
.extLabel("portal01")
.extDomainName("acme-io.b.zscalerportal.net")
.extDomain("acme.io")
.domain("portal01-acme-io.b.zscalerportal.net")
.build());
}
}
resources:
this:
type: zpa:UserPortalController
properties:
name: UserPortal01
description: UserPortal01
enabled: true
userNotification: UserPortal01
userNotificationEnabled: true
certificateId: ""
extDomainTranslation: acme.io
extLabel: portal01
extDomainName: acme-io.b.zscalerportal.net
extDomain: acme.io
domain: portal01-acme-io.b.zscalerportal.net
Create UserPortalController Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new UserPortalController(name: string, args?: UserPortalControllerArgs, opts?: CustomResourceOptions);@overload
def UserPortalController(resource_name: str,
args: Optional[UserPortalControllerArgs] = None,
opts: Optional[ResourceOptions] = None)
@overload
def UserPortalController(resource_name: str,
opts: Optional[ResourceOptions] = None,
certificate_id: Optional[str] = None,
description: Optional[str] = None,
domain: Optional[str] = None,
enabled: Optional[bool] = None,
ext_domain: Optional[str] = None,
ext_domain_name: Optional[str] = None,
ext_domain_translation: Optional[str] = None,
ext_label: Optional[str] = None,
microtenant_id: Optional[str] = None,
name: Optional[str] = None,
user_notification: Optional[str] = None,
user_notification_enabled: Optional[bool] = None)func NewUserPortalController(ctx *Context, name string, args *UserPortalControllerArgs, opts ...ResourceOption) (*UserPortalController, error)public UserPortalController(string name, UserPortalControllerArgs? args = null, CustomResourceOptions? opts = null)
public UserPortalController(String name, UserPortalControllerArgs args)
public UserPortalController(String name, UserPortalControllerArgs args, CustomResourceOptions options)
type: zpa:UserPortalController
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
Parameters
- name string
- The unique name of the resource.
- args UserPortalControllerArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args UserPortalControllerArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args UserPortalControllerArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args UserPortalControllerArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args UserPortalControllerArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Constructor example
The following reference example uses placeholder values for all input properties.
var userPortalControllerResource = new Zpa.UserPortalController("userPortalControllerResource", new()
{
CertificateId = "string",
Description = "string",
Domain = "string",
Enabled = false,
ExtDomain = "string",
ExtDomainName = "string",
ExtDomainTranslation = "string",
ExtLabel = "string",
MicrotenantId = "string",
Name = "string",
UserNotification = "string",
UserNotificationEnabled = false,
});
example, err := zpa.NewUserPortalController(ctx, "userPortalControllerResource", &zpa.UserPortalControllerArgs{
CertificateId: pulumi.String("string"),
Description: pulumi.String("string"),
Domain: pulumi.String("string"),
Enabled: pulumi.Bool(false),
ExtDomain: pulumi.String("string"),
ExtDomainName: pulumi.String("string"),
ExtDomainTranslation: pulumi.String("string"),
ExtLabel: pulumi.String("string"),
MicrotenantId: pulumi.String("string"),
Name: pulumi.String("string"),
UserNotification: pulumi.String("string"),
UserNotificationEnabled: pulumi.Bool(false),
})
var userPortalControllerResource = new UserPortalController("userPortalControllerResource", UserPortalControllerArgs.builder()
.certificateId("string")
.description("string")
.domain("string")
.enabled(false)
.extDomain("string")
.extDomainName("string")
.extDomainTranslation("string")
.extLabel("string")
.microtenantId("string")
.name("string")
.userNotification("string")
.userNotificationEnabled(false)
.build());
user_portal_controller_resource = zpa.UserPortalController("userPortalControllerResource",
certificate_id="string",
description="string",
domain="string",
enabled=False,
ext_domain="string",
ext_domain_name="string",
ext_domain_translation="string",
ext_label="string",
microtenant_id="string",
name="string",
user_notification="string",
user_notification_enabled=False)
const userPortalControllerResource = new zpa.UserPortalController("userPortalControllerResource", {
certificateId: "string",
description: "string",
domain: "string",
enabled: false,
extDomain: "string",
extDomainName: "string",
extDomainTranslation: "string",
extLabel: "string",
microtenantId: "string",
name: "string",
userNotification: "string",
userNotificationEnabled: false,
});
type: zpa:UserPortalController
properties:
certificateId: string
description: string
domain: string
enabled: false
extDomain: string
extDomainName: string
extDomainTranslation: string
extLabel: string
microtenantId: string
name: string
userNotification: string
userNotificationEnabled: false
UserPortalController Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The UserPortalController resource accepts the following input properties:
- Certificate
Id string - Certificate ID for the User Portal Controller
- Description string
- Description of the User Portal Controller
- Domain string
- Domain for the User Portal Controller
- Enabled bool
- Whether this User Portal Controller is enabled or not
- Ext
Domain string - External domain for the User Portal Controller
- Ext
Domain stringName - External domain name for the User Portal Controller
- Ext
Domain stringTranslation - External domain translation for the User Portal Controller
- Ext
Label string - External label for the User Portal Controller
- Microtenant
Id string - Microtenant ID for the User Portal Controller
- Name string
- Name of the User Portal Controller
- User
Notification string - User notification message for the User Portal Controller
- User
Notification boolEnabled - Whether user notifications are enabled for the User Portal Controller
- Certificate
Id string - Certificate ID for the User Portal Controller
- Description string
- Description of the User Portal Controller
- Domain string
- Domain for the User Portal Controller
- Enabled bool
- Whether this User Portal Controller is enabled or not
- Ext
Domain string - External domain for the User Portal Controller
- Ext
Domain stringName - External domain name for the User Portal Controller
- Ext
Domain stringTranslation - External domain translation for the User Portal Controller
- Ext
Label string - External label for the User Portal Controller
- Microtenant
Id string - Microtenant ID for the User Portal Controller
- Name string
- Name of the User Portal Controller
- User
Notification string - User notification message for the User Portal Controller
- User
Notification boolEnabled - Whether user notifications are enabled for the User Portal Controller
- certificate
Id String - Certificate ID for the User Portal Controller
- description String
- Description of the User Portal Controller
- domain String
- Domain for the User Portal Controller
- enabled Boolean
- Whether this User Portal Controller is enabled or not
- ext
Domain String - External domain for the User Portal Controller
- ext
Domain StringName - External domain name for the User Portal Controller
- ext
Domain StringTranslation - External domain translation for the User Portal Controller
- ext
Label String - External label for the User Portal Controller
- microtenant
Id String - Microtenant ID for the User Portal Controller
- name String
- Name of the User Portal Controller
- user
Notification String - User notification message for the User Portal Controller
- user
Notification BooleanEnabled - Whether user notifications are enabled for the User Portal Controller
- certificate
Id string - Certificate ID for the User Portal Controller
- description string
- Description of the User Portal Controller
- domain string
- Domain for the User Portal Controller
- enabled boolean
- Whether this User Portal Controller is enabled or not
- ext
Domain string - External domain for the User Portal Controller
- ext
Domain stringName - External domain name for the User Portal Controller
- ext
Domain stringTranslation - External domain translation for the User Portal Controller
- ext
Label string - External label for the User Portal Controller
- microtenant
Id string - Microtenant ID for the User Portal Controller
- name string
- Name of the User Portal Controller
- user
Notification string - User notification message for the User Portal Controller
- user
Notification booleanEnabled - Whether user notifications are enabled for the User Portal Controller
- certificate_
id str - Certificate ID for the User Portal Controller
- description str
- Description of the User Portal Controller
- domain str
- Domain for the User Portal Controller
- enabled bool
- Whether this User Portal Controller is enabled or not
- ext_
domain str - External domain for the User Portal Controller
- ext_
domain_ strname - External domain name for the User Portal Controller
- ext_
domain_ strtranslation - External domain translation for the User Portal Controller
- ext_
label str - External label for the User Portal Controller
- microtenant_
id str - Microtenant ID for the User Portal Controller
- name str
- Name of the User Portal Controller
- user_
notification str - User notification message for the User Portal Controller
- user_
notification_ boolenabled - Whether user notifications are enabled for the User Portal Controller
- certificate
Id String - Certificate ID for the User Portal Controller
- description String
- Description of the User Portal Controller
- domain String
- Domain for the User Portal Controller
- enabled Boolean
- Whether this User Portal Controller is enabled or not
- ext
Domain String - External domain for the User Portal Controller
- ext
Domain StringName - External domain name for the User Portal Controller
- ext
Domain StringTranslation - External domain translation for the User Portal Controller
- ext
Label String - External label for the User Portal Controller
- microtenant
Id String - Microtenant ID for the User Portal Controller
- name String
- Name of the User Portal Controller
- user
Notification String - User notification message for the User Portal Controller
- user
Notification BooleanEnabled - Whether user notifications are enabled for the User Portal Controller
Outputs
All input properties are implicitly available as output properties. Additionally, the UserPortalController resource produces the following output properties:
- Id string
- The provider-assigned unique ID for this managed resource.
- Id string
- The provider-assigned unique ID for this managed resource.
- id String
- The provider-assigned unique ID for this managed resource.
- id string
- The provider-assigned unique ID for this managed resource.
- id str
- The provider-assigned unique ID for this managed resource.
- id String
- The provider-assigned unique ID for this managed resource.
Look up Existing UserPortalController Resource
Get an existing UserPortalController resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
public static get(name: string, id: Input<ID>, state?: UserPortalControllerState, opts?: CustomResourceOptions): UserPortalController@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
certificate_id: Optional[str] = None,
description: Optional[str] = None,
domain: Optional[str] = None,
enabled: Optional[bool] = None,
ext_domain: Optional[str] = None,
ext_domain_name: Optional[str] = None,
ext_domain_translation: Optional[str] = None,
ext_label: Optional[str] = None,
microtenant_id: Optional[str] = None,
name: Optional[str] = None,
user_notification: Optional[str] = None,
user_notification_enabled: Optional[bool] = None) -> UserPortalControllerfunc GetUserPortalController(ctx *Context, name string, id IDInput, state *UserPortalControllerState, opts ...ResourceOption) (*UserPortalController, error)public static UserPortalController Get(string name, Input<string> id, UserPortalControllerState? state, CustomResourceOptions? opts = null)public static UserPortalController get(String name, Output<String> id, UserPortalControllerState state, CustomResourceOptions options)resources: _: type: zpa:UserPortalController get: id: ${id}- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- Certificate
Id string - Certificate ID for the User Portal Controller
- Description string
- Description of the User Portal Controller
- Domain string
- Domain for the User Portal Controller
- Enabled bool
- Whether this User Portal Controller is enabled or not
- Ext
Domain string - External domain for the User Portal Controller
- Ext
Domain stringName - External domain name for the User Portal Controller
- Ext
Domain stringTranslation - External domain translation for the User Portal Controller
- Ext
Label string - External label for the User Portal Controller
- Microtenant
Id string - Microtenant ID for the User Portal Controller
- Name string
- Name of the User Portal Controller
- User
Notification string - User notification message for the User Portal Controller
- User
Notification boolEnabled - Whether user notifications are enabled for the User Portal Controller
- Certificate
Id string - Certificate ID for the User Portal Controller
- Description string
- Description of the User Portal Controller
- Domain string
- Domain for the User Portal Controller
- Enabled bool
- Whether this User Portal Controller is enabled or not
- Ext
Domain string - External domain for the User Portal Controller
- Ext
Domain stringName - External domain name for the User Portal Controller
- Ext
Domain stringTranslation - External domain translation for the User Portal Controller
- Ext
Label string - External label for the User Portal Controller
- Microtenant
Id string - Microtenant ID for the User Portal Controller
- Name string
- Name of the User Portal Controller
- User
Notification string - User notification message for the User Portal Controller
- User
Notification boolEnabled - Whether user notifications are enabled for the User Portal Controller
- certificate
Id String - Certificate ID for the User Portal Controller
- description String
- Description of the User Portal Controller
- domain String
- Domain for the User Portal Controller
- enabled Boolean
- Whether this User Portal Controller is enabled or not
- ext
Domain String - External domain for the User Portal Controller
- ext
Domain StringName - External domain name for the User Portal Controller
- ext
Domain StringTranslation - External domain translation for the User Portal Controller
- ext
Label String - External label for the User Portal Controller
- microtenant
Id String - Microtenant ID for the User Portal Controller
- name String
- Name of the User Portal Controller
- user
Notification String - User notification message for the User Portal Controller
- user
Notification BooleanEnabled - Whether user notifications are enabled for the User Portal Controller
- certificate
Id string - Certificate ID for the User Portal Controller
- description string
- Description of the User Portal Controller
- domain string
- Domain for the User Portal Controller
- enabled boolean
- Whether this User Portal Controller is enabled or not
- ext
Domain string - External domain for the User Portal Controller
- ext
Domain stringName - External domain name for the User Portal Controller
- ext
Domain stringTranslation - External domain translation for the User Portal Controller
- ext
Label string - External label for the User Portal Controller
- microtenant
Id string - Microtenant ID for the User Portal Controller
- name string
- Name of the User Portal Controller
- user
Notification string - User notification message for the User Portal Controller
- user
Notification booleanEnabled - Whether user notifications are enabled for the User Portal Controller
- certificate_
id str - Certificate ID for the User Portal Controller
- description str
- Description of the User Portal Controller
- domain str
- Domain for the User Portal Controller
- enabled bool
- Whether this User Portal Controller is enabled or not
- ext_
domain str - External domain for the User Portal Controller
- ext_
domain_ strname - External domain name for the User Portal Controller
- ext_
domain_ strtranslation - External domain translation for the User Portal Controller
- ext_
label str - External label for the User Portal Controller
- microtenant_
id str - Microtenant ID for the User Portal Controller
- name str
- Name of the User Portal Controller
- user_
notification str - User notification message for the User Portal Controller
- user_
notification_ boolenabled - Whether user notifications are enabled for the User Portal Controller
- certificate
Id String - Certificate ID for the User Portal Controller
- description String
- Description of the User Portal Controller
- domain String
- Domain for the User Portal Controller
- enabled Boolean
- Whether this User Portal Controller is enabled or not
- ext
Domain String - External domain for the User Portal Controller
- ext
Domain StringName - External domain name for the User Portal Controller
- ext
Domain StringTranslation - External domain translation for the User Portal Controller
- ext
Label String - External label for the User Portal Controller
- microtenant
Id String - Microtenant ID for the User Portal Controller
- name String
- Name of the User Portal Controller
- user
Notification String - User notification message for the User Portal Controller
- user
Notification BooleanEnabled - Whether user notifications are enabled for the User Portal Controller
Import
Zscaler offers a dedicated tool called Zscaler-Terraformer to allow the automated import of ZPA configurations into Terraform-compliant HashiCorp Configuration Language.
Visit
user_portal_controller can be imported by using <USER PORTAL ID> or <USER PORTAL NAME> as the import ID.
For example:
$ pulumi import zpa:index/userPortalController:UserPortalController example <portal_id>
or
$ pulumi import zpa:index/userPortalController:UserPortalController example <portal_name>
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- zpa zscaler/pulumi-zpa
- License
- MIT
- Notes
- This Pulumi package is based on the
zpaTerraform Provider.
