1. Packages
  2. Zscaler Private Access (ZPA)
  3. API Docs
  4. PRACredential
Zscaler Private Access v0.0.12 published on Tuesday, Jul 30, 2024 by Zscaler

zpa.PRACredential

Explore with Pulumi AI

The zpa_pra_credential_controller resource creates a privileged remote access credential in the Zscaler Private Access cloud. This resource can then be referenced in an privileged access policy resource.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as zpa from "@bdzscaler/pulumi-zpa";

// Creates Credential of Type "USERNAME_PASSWORD"
const _this = new zpa.PRACredential("this", {
    credentialType: "USERNAME_PASSWORD",
    description: "Created with Terraform",
    password: "",
    userDomain: "acme.com",
    username: "jdoe",
});
Copy
import pulumi
import zscaler_pulumi_zpa as zpa

# Creates Credential of Type "USERNAME_PASSWORD"
this = zpa.PRACredential("this",
    credential_type="USERNAME_PASSWORD",
    description="Created with Terraform",
    password="",
    user_domain="acme.com",
    username="jdoe")
Copy
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 {
		// Creates Credential of Type "USERNAME_PASSWORD"
		_, err := zpa.NewPRACredential(ctx, "this", &zpa.PRACredentialArgs{
			CredentialType: pulumi.String("USERNAME_PASSWORD"),
			Description:    pulumi.String("Created with Terraform"),
			Password:       pulumi.String(""),
			UserDomain:     pulumi.String("acme.com"),
			Username:       pulumi.String("jdoe"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Zpa = Zscaler.Zpa;

return await Deployment.RunAsync(() => 
{
    // Creates Credential of Type "USERNAME_PASSWORD"
    var @this = new Zpa.PRACredential("this", new()
    {
        CredentialType = "USERNAME_PASSWORD",
        Description = "Created with Terraform",
        Password = "",
        UserDomain = "acme.com",
        Username = "jdoe",
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.zpa.PRACredential;
import com.pulumi.zpa.PRACredentialArgs;
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) {
        // Creates Credential of Type "USERNAME_PASSWORD"
        var this_ = new PRACredential("this", PRACredentialArgs.builder()
            .credentialType("USERNAME_PASSWORD")
            .description("Created with Terraform")
            .password("")
            .userDomain("acme.com")
            .username("jdoe")
            .build());

    }
}
Copy
resources:
  # Creates Credential of Type "USERNAME_PASSWORD"
  this:
    type: zpa:PRACredential
    properties:
      credentialType: USERNAME_PASSWORD
      description: Created with Terraform
      password:
      userDomain: acme.com
      username: jdoe
Copy

######### PASSWORDS OR RELATED CREDENTIALS ATTRIBUTES IN THIS FILE #########
######### ARE FOR EXAMPLE ONLY AND NOT USED IN PRODUCTION SYSTEMS ##########

import * as pulumi from "@pulumi/pulumi";
import * as zpa from "@bdzscaler/pulumi-zpa";

// Creates Credential of Type "SSH_KEY"
const _this = new zpa.PRACredential("this", {
    credentialType: "SSH_KEY",
    description: "Created with Terraform",
    privateKey: `-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDEjc8pPoobS0l6
-----END PRIVATE KEY-----

`,
    userDomain: "acme.com",
    username: "jdoe",
});
Copy
import pulumi
import zscaler_pulumi_zpa as zpa

# Creates Credential of Type "SSH_KEY"
this = zpa.PRACredential("this",
    credential_type="SSH_KEY",
    description="Created with Terraform",
    private_key="""-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDEjc8pPoobS0l6
-----END PRIVATE KEY-----

""",
    user_domain="acme.com",
    username="jdoe")
Copy
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 {
		// Creates Credential of Type "SSH_KEY"
		_, err := zpa.NewPRACredential(ctx, "this", &zpa.PRACredentialArgs{
			CredentialType: pulumi.String("SSH_KEY"),
			Description:    pulumi.String("Created with Terraform"),
			PrivateKey:     pulumi.String("-----BEGIN PRIVATE KEY-----\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDEjc8pPoobS0l6\n-----END PRIVATE KEY-----\n\n"),
			UserDomain:     pulumi.String("acme.com"),
			Username:       pulumi.String("jdoe"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Zpa = Zscaler.Zpa;

return await Deployment.RunAsync(() => 
{
    // Creates Credential of Type "SSH_KEY"
    var @this = new Zpa.PRACredential("this", new()
    {
        CredentialType = "SSH_KEY",
        Description = "Created with Terraform",
        PrivateKey = @"-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDEjc8pPoobS0l6
-----END PRIVATE KEY-----

",
        UserDomain = "acme.com",
        Username = "jdoe",
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.zpa.PRACredential;
import com.pulumi.zpa.PRACredentialArgs;
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) {
        // Creates Credential of Type "SSH_KEY"
        var this_ = new PRACredential("this", PRACredentialArgs.builder()
            .credentialType("SSH_KEY")
            .description("Created with Terraform")
            .privateKey("""
-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDEjc8pPoobS0l6
-----END PRIVATE KEY-----

            """)
            .userDomain("acme.com")
            .username("jdoe")
            .build());

    }
}
Copy
resources:
  # Creates Credential of Type "SSH_KEY"
  this:
    type: zpa:PRACredential
    properties:
      credentialType: SSH_KEY
      description: Created with Terraform
      privateKey: |+
        -----BEGIN PRIVATE KEY-----
        MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDEjc8pPoobS0l6
        -----END PRIVATE KEY-----        

      userDomain: acme.com
      username: jdoe
Copy

Create PRACredential Resource

Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

Constructor syntax

new PRACredential(name: string, args?: PRACredentialArgs, opts?: CustomResourceOptions);
@overload
def PRACredential(resource_name: str,
                  args: Optional[PRACredentialArgs] = None,
                  opts: Optional[ResourceOptions] = None)

@overload
def PRACredential(resource_name: str,
                  opts: Optional[ResourceOptions] = None,
                  credential_type: Optional[str] = None,
                  description: Optional[str] = None,
                  microtenant_id: Optional[str] = None,
                  name: Optional[str] = None,
                  passphrase: Optional[str] = None,
                  password: Optional[str] = None,
                  private_key: Optional[str] = None,
                  user_domain: Optional[str] = None,
                  username: Optional[str] = None)
func NewPRACredential(ctx *Context, name string, args *PRACredentialArgs, opts ...ResourceOption) (*PRACredential, error)
public PRACredential(string name, PRACredentialArgs? args = null, CustomResourceOptions? opts = null)
public PRACredential(String name, PRACredentialArgs args)
public PRACredential(String name, PRACredentialArgs args, CustomResourceOptions options)
type: zpa:PRACredential
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

Parameters

name This property is required. string
The unique name of the resource.
args PRACredentialArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name This property is required. str
The unique name of the resource.
args PRACredentialArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name This property is required. string
The unique name of the resource.
args PRACredentialArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name This property is required. string
The unique name of the resource.
args PRACredentialArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name This property is required. String
The unique name of the resource.
args This property is required. PRACredentialArgs
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 pracredentialResource = new Zpa.PRACredential("pracredentialResource", new()
{
    CredentialType = "string",
    Description = "string",
    MicrotenantId = "string",
    Name = "string",
    Passphrase = "string",
    Password = "string",
    PrivateKey = "string",
    UserDomain = "string",
    Username = "string",
});
Copy
example, err := zpa.NewPRACredential(ctx, "pracredentialResource", &zpa.PRACredentialArgs{
	CredentialType: pulumi.String("string"),
	Description:    pulumi.String("string"),
	MicrotenantId:  pulumi.String("string"),
	Name:           pulumi.String("string"),
	Passphrase:     pulumi.String("string"),
	Password:       pulumi.String("string"),
	PrivateKey:     pulumi.String("string"),
	UserDomain:     pulumi.String("string"),
	Username:       pulumi.String("string"),
})
Copy
var pracredentialResource = new PRACredential("pracredentialResource", PRACredentialArgs.builder()
    .credentialType("string")
    .description("string")
    .microtenantId("string")
    .name("string")
    .passphrase("string")
    .password("string")
    .privateKey("string")
    .userDomain("string")
    .username("string")
    .build());
Copy
pracredential_resource = zpa.PRACredential("pracredentialResource",
    credential_type="string",
    description="string",
    microtenant_id="string",
    name="string",
    passphrase="string",
    password="string",
    private_key="string",
    user_domain="string",
    username="string")
Copy
const pracredentialResource = new zpa.PRACredential("pracredentialResource", {
    credentialType: "string",
    description: "string",
    microtenantId: "string",
    name: "string",
    passphrase: "string",
    password: "string",
    privateKey: "string",
    userDomain: "string",
    username: "string",
});
Copy
type: zpa:PRACredential
properties:
    credentialType: string
    description: string
    microtenantId: string
    name: string
    passphrase: string
    password: string
    privateKey: string
    userDomain: string
    username: string
Copy

PRACredential 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 PRACredential resource accepts the following input properties:

CredentialType string
The protocol type that was designated for that particular privileged credential. The protocol type options are SSH, RDP, and VNC. Each protocol type has its own credential requirements.
Description string
The description of the privileged credential
MicrotenantId string
The unique identifier of the Microtenant for the ZPA tenant. If you are within the Default Microtenant, pass microtenantId as 0 when making requests to retrieve data from the Default Microtenant.
Name string
The name of the privileged credential
Passphrase string
The password that is used to protect the SSH private key. This field is optional
Password string
The password associated with the username for the login you want to use for the privileged credential
PrivateKey string
The SSH private key associated with the username for the login you want to use for the privileged credential
UserDomain string
The domain name associated with the username. The domain name only needs to be specified with logging in to an RDP console that is connected to an Active Directory Domain
Username string
The username for the login you want to use for the privileged credential
CredentialType string
The protocol type that was designated for that particular privileged credential. The protocol type options are SSH, RDP, and VNC. Each protocol type has its own credential requirements.
Description string
The description of the privileged credential
MicrotenantId string
The unique identifier of the Microtenant for the ZPA tenant. If you are within the Default Microtenant, pass microtenantId as 0 when making requests to retrieve data from the Default Microtenant.
Name string
The name of the privileged credential
Passphrase string
The password that is used to protect the SSH private key. This field is optional
Password string
The password associated with the username for the login you want to use for the privileged credential
PrivateKey string
The SSH private key associated with the username for the login you want to use for the privileged credential
UserDomain string
The domain name associated with the username. The domain name only needs to be specified with logging in to an RDP console that is connected to an Active Directory Domain
Username string
The username for the login you want to use for the privileged credential
credentialType String
The protocol type that was designated for that particular privileged credential. The protocol type options are SSH, RDP, and VNC. Each protocol type has its own credential requirements.
description String
The description of the privileged credential
microtenantId String
The unique identifier of the Microtenant for the ZPA tenant. If you are within the Default Microtenant, pass microtenantId as 0 when making requests to retrieve data from the Default Microtenant.
name String
The name of the privileged credential
passphrase String
The password that is used to protect the SSH private key. This field is optional
password String
The password associated with the username for the login you want to use for the privileged credential
privateKey String
The SSH private key associated with the username for the login you want to use for the privileged credential
userDomain String
The domain name associated with the username. The domain name only needs to be specified with logging in to an RDP console that is connected to an Active Directory Domain
username String
The username for the login you want to use for the privileged credential
credentialType string
The protocol type that was designated for that particular privileged credential. The protocol type options are SSH, RDP, and VNC. Each protocol type has its own credential requirements.
description string
The description of the privileged credential
microtenantId string
The unique identifier of the Microtenant for the ZPA tenant. If you are within the Default Microtenant, pass microtenantId as 0 when making requests to retrieve data from the Default Microtenant.
name string
The name of the privileged credential
passphrase string
The password that is used to protect the SSH private key. This field is optional
password string
The password associated with the username for the login you want to use for the privileged credential
privateKey string
The SSH private key associated with the username for the login you want to use for the privileged credential
userDomain string
The domain name associated with the username. The domain name only needs to be specified with logging in to an RDP console that is connected to an Active Directory Domain
username string
The username for the login you want to use for the privileged credential
credential_type str
The protocol type that was designated for that particular privileged credential. The protocol type options are SSH, RDP, and VNC. Each protocol type has its own credential requirements.
description str
The description of the privileged credential
microtenant_id str
The unique identifier of the Microtenant for the ZPA tenant. If you are within the Default Microtenant, pass microtenantId as 0 when making requests to retrieve data from the Default Microtenant.
name str
The name of the privileged credential
passphrase str
The password that is used to protect the SSH private key. This field is optional
password str
The password associated with the username for the login you want to use for the privileged credential
private_key str
The SSH private key associated with the username for the login you want to use for the privileged credential
user_domain str
The domain name associated with the username. The domain name only needs to be specified with logging in to an RDP console that is connected to an Active Directory Domain
username str
The username for the login you want to use for the privileged credential
credentialType String
The protocol type that was designated for that particular privileged credential. The protocol type options are SSH, RDP, and VNC. Each protocol type has its own credential requirements.
description String
The description of the privileged credential
microtenantId String
The unique identifier of the Microtenant for the ZPA tenant. If you are within the Default Microtenant, pass microtenantId as 0 when making requests to retrieve data from the Default Microtenant.
name String
The name of the privileged credential
passphrase String
The password that is used to protect the SSH private key. This field is optional
password String
The password associated with the username for the login you want to use for the privileged credential
privateKey String
The SSH private key associated with the username for the login you want to use for the privileged credential
userDomain String
The domain name associated with the username. The domain name only needs to be specified with logging in to an RDP console that is connected to an Active Directory Domain
username String
The username for the login you want to use for the privileged credential

Outputs

All input properties are implicitly available as output properties. Additionally, the PRACredential 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 PRACredential Resource

Get an existing PRACredential 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?: PRACredentialState, opts?: CustomResourceOptions): PRACredential
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        credential_type: Optional[str] = None,
        description: Optional[str] = None,
        microtenant_id: Optional[str] = None,
        name: Optional[str] = None,
        passphrase: Optional[str] = None,
        password: Optional[str] = None,
        private_key: Optional[str] = None,
        user_domain: Optional[str] = None,
        username: Optional[str] = None) -> PRACredential
func GetPRACredential(ctx *Context, name string, id IDInput, state *PRACredentialState, opts ...ResourceOption) (*PRACredential, error)
public static PRACredential Get(string name, Input<string> id, PRACredentialState? state, CustomResourceOptions? opts = null)
public static PRACredential get(String name, Output<String> id, PRACredentialState state, CustomResourceOptions options)
resources:  _:    type: zpa:PRACredential    get:      id: ${id}
name This property is required.
The unique name of the resulting resource.
id This property is required.
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 This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
name This property is required.
The unique name of the resulting resource.
id This property is required.
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 This property is required.
The unique name of the resulting resource.
id This property is required.
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 This property is required.
The unique name of the resulting resource.
id This property is required.
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.
The following state arguments are supported:
CredentialType string
The protocol type that was designated for that particular privileged credential. The protocol type options are SSH, RDP, and VNC. Each protocol type has its own credential requirements.
Description string
The description of the privileged credential
MicrotenantId string
The unique identifier of the Microtenant for the ZPA tenant. If you are within the Default Microtenant, pass microtenantId as 0 when making requests to retrieve data from the Default Microtenant.
Name string
The name of the privileged credential
Passphrase string
The password that is used to protect the SSH private key. This field is optional
Password string
The password associated with the username for the login you want to use for the privileged credential
PrivateKey string
The SSH private key associated with the username for the login you want to use for the privileged credential
UserDomain string
The domain name associated with the username. The domain name only needs to be specified with logging in to an RDP console that is connected to an Active Directory Domain
Username string
The username for the login you want to use for the privileged credential
CredentialType string
The protocol type that was designated for that particular privileged credential. The protocol type options are SSH, RDP, and VNC. Each protocol type has its own credential requirements.
Description string
The description of the privileged credential
MicrotenantId string
The unique identifier of the Microtenant for the ZPA tenant. If you are within the Default Microtenant, pass microtenantId as 0 when making requests to retrieve data from the Default Microtenant.
Name string
The name of the privileged credential
Passphrase string
The password that is used to protect the SSH private key. This field is optional
Password string
The password associated with the username for the login you want to use for the privileged credential
PrivateKey string
The SSH private key associated with the username for the login you want to use for the privileged credential
UserDomain string
The domain name associated with the username. The domain name only needs to be specified with logging in to an RDP console that is connected to an Active Directory Domain
Username string
The username for the login you want to use for the privileged credential
credentialType String
The protocol type that was designated for that particular privileged credential. The protocol type options are SSH, RDP, and VNC. Each protocol type has its own credential requirements.
description String
The description of the privileged credential
microtenantId String
The unique identifier of the Microtenant for the ZPA tenant. If you are within the Default Microtenant, pass microtenantId as 0 when making requests to retrieve data from the Default Microtenant.
name String
The name of the privileged credential
passphrase String
The password that is used to protect the SSH private key. This field is optional
password String
The password associated with the username for the login you want to use for the privileged credential
privateKey String
The SSH private key associated with the username for the login you want to use for the privileged credential
userDomain String
The domain name associated with the username. The domain name only needs to be specified with logging in to an RDP console that is connected to an Active Directory Domain
username String
The username for the login you want to use for the privileged credential
credentialType string
The protocol type that was designated for that particular privileged credential. The protocol type options are SSH, RDP, and VNC. Each protocol type has its own credential requirements.
description string
The description of the privileged credential
microtenantId string
The unique identifier of the Microtenant for the ZPA tenant. If you are within the Default Microtenant, pass microtenantId as 0 when making requests to retrieve data from the Default Microtenant.
name string
The name of the privileged credential
passphrase string
The password that is used to protect the SSH private key. This field is optional
password string
The password associated with the username for the login you want to use for the privileged credential
privateKey string
The SSH private key associated with the username for the login you want to use for the privileged credential
userDomain string
The domain name associated with the username. The domain name only needs to be specified with logging in to an RDP console that is connected to an Active Directory Domain
username string
The username for the login you want to use for the privileged credential
credential_type str
The protocol type that was designated for that particular privileged credential. The protocol type options are SSH, RDP, and VNC. Each protocol type has its own credential requirements.
description str
The description of the privileged credential
microtenant_id str
The unique identifier of the Microtenant for the ZPA tenant. If you are within the Default Microtenant, pass microtenantId as 0 when making requests to retrieve data from the Default Microtenant.
name str
The name of the privileged credential
passphrase str
The password that is used to protect the SSH private key. This field is optional
password str
The password associated with the username for the login you want to use for the privileged credential
private_key str
The SSH private key associated with the username for the login you want to use for the privileged credential
user_domain str
The domain name associated with the username. The domain name only needs to be specified with logging in to an RDP console that is connected to an Active Directory Domain
username str
The username for the login you want to use for the privileged credential
credentialType String
The protocol type that was designated for that particular privileged credential. The protocol type options are SSH, RDP, and VNC. Each protocol type has its own credential requirements.
description String
The description of the privileged credential
microtenantId String
The unique identifier of the Microtenant for the ZPA tenant. If you are within the Default Microtenant, pass microtenantId as 0 when making requests to retrieve data from the Default Microtenant.
name String
The name of the privileged credential
passphrase String
The password that is used to protect the SSH private key. This field is optional
password String
The password associated with the username for the login you want to use for the privileged credential
privateKey String
The SSH private key associated with the username for the login you want to use for the privileged credential
userDomain String
The domain name associated with the username. The domain name only needs to be specified with logging in to an RDP console that is connected to an Active Directory Domain
username String
The username for the login you want to use for the privileged credential

Import

Zscaler offers a dedicated tool called Zscaler-Terraformer to allow the automated import of ZPA configurations into Terraform-compliant HashiCorp Configuration Language.

Visit

pra_credential_controller can be imported by using <CREDENTIAL ID> or <CREDENTIAL NAME> as the import ID.

For example:

$ pulumi import zpa:index/pRACredential:PRACredential this <credential_id>
Copy

or

$ pulumi import zpa:index/pRACredential:PRACredential this <credential_name>
Copy

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 zpa Terraform Provider.