zpa.PRAApproval
The zpa_pra_approval_controller resource creates a privileged remote access approval in the Zscaler Private Access cloud. This resource allows third-party users and contractors to be able to log in to a Privileged Remote Access (PRA) portal.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as zpa from "@bdzscaler/pulumi-zpa";
// ZPA Segment Group resource
const thisSegmentGroup = new zpa.SegmentGroup("thisSegmentGroup", {
    description: "Example",
    enabled: true,
});
// ZPA App Connector Group resource
const thisConnectorGroup = new zpa.ConnectorGroup("thisConnectorGroup", {
    description: "Example",
    enabled: true,
    cityCountry: "San Jose, CA",
    countryCode: "US",
    latitude: "37.338",
    longitude: "-121.8863",
    location: "San Jose, CA, US",
    upgradeDay: "SUNDAY",
    upgradeTimeInSecs: "66600",
    overrideVersionProfile: true,
    versionProfileId: "0",
    dnsQueryType: "IPV4",
});
// ZPA Server Group resource
const thisServerGroup = new zpa.ServerGroup("thisServerGroup", {
    description: "Example",
    enabled: true,
    dynamicDiscovery: false,
    appConnectorGroups: [{
        ids: [thisConnectorGroup.id],
    }],
}, {
    dependsOn: [thisConnectorGroup],
});
// ZPA Application Segment resource
const thisApplicationSegment = new zpa.ApplicationSegment("thisApplicationSegment", {
    description: "Example",
    enabled: true,
    healthReporting: "ON_ACCESS",
    bypassType: "NEVER",
    isCnameEnabled: true,
    tcpPortRanges: [
        "8080",
        "8080",
    ],
    domainNames: ["server.acme.com"],
    segmentGroupId: thisSegmentGroup.id,
    serverGroups: [{
        ids: [thisServerGroup.id],
    }],
}, {
    dependsOn: [
        thisServerGroup,
        thisSegmentGroup,
    ],
});
// Create PRA Approval Controller
const thisPRAApproval = new zpa.PRAApproval("thisPRAApproval", {
    emailIds: ["jdoe@acme.com"],
    startTime: "Tue, 07 Mar 2024 11:05:30 PST",
    endTime: "Tue, 07 Jun 2024 11:05:30 PST",
    status: "FUTURE",
    applications: [{
        ids: [thisApplicationSegment.id],
    }],
    workingHours: [{
        days: [
            "FRI",
            "MON",
            "SAT",
            "SUN",
            "THU",
            "TUE",
            "WED",
        ],
        startTime: "00:10",
        startTimeCron: "0 0 8 ? * MON,TUE,WED,THU,FRI,SAT",
        endTime: "09:15",
        endTimeCron: "0 15 17 ? * MON,TUE,WED,THU,FRI,SAT",
        timezone: "America/Vancouver",
    }],
});
import pulumi
import zscaler_pulumi_zpa as zpa
# ZPA Segment Group resource
this_segment_group = zpa.SegmentGroup("thisSegmentGroup",
    description="Example",
    enabled=True)
# ZPA App Connector Group resource
this_connector_group = zpa.ConnectorGroup("thisConnectorGroup",
    description="Example",
    enabled=True,
    city_country="San Jose, CA",
    country_code="US",
    latitude="37.338",
    longitude="-121.8863",
    location="San Jose, CA, US",
    upgrade_day="SUNDAY",
    upgrade_time_in_secs="66600",
    override_version_profile=True,
    version_profile_id="0",
    dns_query_type="IPV4")
# ZPA Server Group resource
this_server_group = zpa.ServerGroup("thisServerGroup",
    description="Example",
    enabled=True,
    dynamic_discovery=False,
    app_connector_groups=[{
        "ids": [this_connector_group.id],
    }],
    opts = pulumi.ResourceOptions(depends_on=[this_connector_group]))
# ZPA Application Segment resource
this_application_segment = zpa.ApplicationSegment("thisApplicationSegment",
    description="Example",
    enabled=True,
    health_reporting="ON_ACCESS",
    bypass_type="NEVER",
    is_cname_enabled=True,
    tcp_port_ranges=[
        "8080",
        "8080",
    ],
    domain_names=["server.acme.com"],
    segment_group_id=this_segment_group.id,
    server_groups=[{
        "ids": [this_server_group.id],
    }],
    opts = pulumi.ResourceOptions(depends_on=[
            this_server_group,
            this_segment_group,
        ]))
# Create PRA Approval Controller
this_pra_approval = zpa.PRAApproval("thisPRAApproval",
    email_ids=["jdoe@acme.com"],
    start_time="Tue, 07 Mar 2024 11:05:30 PST",
    end_time="Tue, 07 Jun 2024 11:05:30 PST",
    status="FUTURE",
    applications=[{
        "ids": [this_application_segment.id],
    }],
    working_hours=[{
        "days": [
            "FRI",
            "MON",
            "SAT",
            "SUN",
            "THU",
            "TUE",
            "WED",
        ],
        "start_time": "00:10",
        "start_time_cron": "0 0 8 ? * MON,TUE,WED,THU,FRI,SAT",
        "end_time": "09:15",
        "end_time_cron": "0 15 17 ? * MON,TUE,WED,THU,FRI,SAT",
        "timezone": "America/Vancouver",
    }])
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 {
		// ZPA Segment Group resource
		thisSegmentGroup, err := zpa.NewSegmentGroup(ctx, "thisSegmentGroup", &zpa.SegmentGroupArgs{
			Description: pulumi.String("Example"),
			Enabled:     pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		// ZPA App Connector Group resource
		thisConnectorGroup, err := zpa.NewConnectorGroup(ctx, "thisConnectorGroup", &zpa.ConnectorGroupArgs{
			Description:            pulumi.String("Example"),
			Enabled:                pulumi.Bool(true),
			CityCountry:            pulumi.String("San Jose, CA"),
			CountryCode:            pulumi.String("US"),
			Latitude:               pulumi.String("37.338"),
			Longitude:              pulumi.String("-121.8863"),
			Location:               pulumi.String("San Jose, CA, US"),
			UpgradeDay:             pulumi.String("SUNDAY"),
			UpgradeTimeInSecs:      pulumi.String("66600"),
			OverrideVersionProfile: pulumi.Bool(true),
			VersionProfileId:       pulumi.String("0"),
			DnsQueryType:           pulumi.String("IPV4"),
		})
		if err != nil {
			return err
		}
		// ZPA Server Group resource
		thisServerGroup, err := zpa.NewServerGroup(ctx, "thisServerGroup", &zpa.ServerGroupArgs{
			Description:      pulumi.String("Example"),
			Enabled:          pulumi.Bool(true),
			DynamicDiscovery: pulumi.Bool(false),
			AppConnectorGroups: zpa.ServerGroupAppConnectorGroupArray{
				&zpa.ServerGroupAppConnectorGroupArgs{
					Ids: pulumi.StringArray{
						thisConnectorGroup.ID(),
					},
				},
			},
		}, pulumi.DependsOn([]pulumi.Resource{
			thisConnectorGroup,
		}))
		if err != nil {
			return err
		}
		// ZPA Application Segment resource
		thisApplicationSegment, err := zpa.NewApplicationSegment(ctx, "thisApplicationSegment", &zpa.ApplicationSegmentArgs{
			Description:     pulumi.String("Example"),
			Enabled:         pulumi.Bool(true),
			HealthReporting: pulumi.String("ON_ACCESS"),
			BypassType:      pulumi.String("NEVER"),
			IsCnameEnabled:  pulumi.Bool(true),
			TcpPortRanges: pulumi.StringArray{
				pulumi.String("8080"),
				pulumi.String("8080"),
			},
			DomainNames: pulumi.StringArray{
				pulumi.String("server.acme.com"),
			},
			SegmentGroupId: thisSegmentGroup.ID(),
			ServerGroups: zpa.ApplicationSegmentServerGroupArray{
				&zpa.ApplicationSegmentServerGroupArgs{
					Ids: pulumi.StringArray{
						thisServerGroup.ID(),
					},
				},
			},
		}, pulumi.DependsOn([]pulumi.Resource{
			thisServerGroup,
			thisSegmentGroup,
		}))
		if err != nil {
			return err
		}
		// Create PRA Approval Controller
		_, err = zpa.NewPRAApproval(ctx, "thisPRAApproval", &zpa.PRAApprovalArgs{
			EmailIds: pulumi.StringArray{
				pulumi.String("jdoe@acme.com"),
			},
			StartTime: pulumi.String("Tue, 07 Mar 2024 11:05:30 PST"),
			EndTime:   pulumi.String("Tue, 07 Jun 2024 11:05:30 PST"),
			Status:    pulumi.String("FUTURE"),
			Applications: zpa.PRAApprovalApplicationArray{
				&zpa.PRAApprovalApplicationArgs{
					Ids: pulumi.StringArray{
						thisApplicationSegment.ID(),
					},
				},
			},
			WorkingHours: zpa.PRAApprovalWorkingHourArray{
				&zpa.PRAApprovalWorkingHourArgs{
					Days: pulumi.StringArray{
						pulumi.String("FRI"),
						pulumi.String("MON"),
						pulumi.String("SAT"),
						pulumi.String("SUN"),
						pulumi.String("THU"),
						pulumi.String("TUE"),
						pulumi.String("WED"),
					},
					StartTime:     pulumi.String("00:10"),
					StartTimeCron: pulumi.String("0 0 8 ? * MON,TUE,WED,THU,FRI,SAT"),
					EndTime:       pulumi.String("09:15"),
					EndTimeCron:   pulumi.String("0 15 17 ? * MON,TUE,WED,THU,FRI,SAT"),
					Timezone:      pulumi.String("America/Vancouver"),
				},
			},
		})
		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(() => 
{
    // ZPA Segment Group resource
    var thisSegmentGroup = new Zpa.SegmentGroup("thisSegmentGroup", new()
    {
        Description = "Example",
        Enabled = true,
    });
    // ZPA App Connector Group resource
    var thisConnectorGroup = new Zpa.ConnectorGroup("thisConnectorGroup", new()
    {
        Description = "Example",
        Enabled = true,
        CityCountry = "San Jose, CA",
        CountryCode = "US",
        Latitude = "37.338",
        Longitude = "-121.8863",
        Location = "San Jose, CA, US",
        UpgradeDay = "SUNDAY",
        UpgradeTimeInSecs = "66600",
        OverrideVersionProfile = true,
        VersionProfileId = "0",
        DnsQueryType = "IPV4",
    });
    // ZPA Server Group resource
    var thisServerGroup = new Zpa.ServerGroup("thisServerGroup", new()
    {
        Description = "Example",
        Enabled = true,
        DynamicDiscovery = false,
        AppConnectorGroups = new[]
        {
            new Zpa.Inputs.ServerGroupAppConnectorGroupArgs
            {
                Ids = new[]
                {
                    thisConnectorGroup.Id,
                },
            },
        },
    }, new CustomResourceOptions
    {
        DependsOn =
        {
            thisConnectorGroup,
        },
    });
    // ZPA Application Segment resource
    var thisApplicationSegment = new Zpa.ApplicationSegment("thisApplicationSegment", new()
    {
        Description = "Example",
        Enabled = true,
        HealthReporting = "ON_ACCESS",
        BypassType = "NEVER",
        IsCnameEnabled = true,
        TcpPortRanges = new[]
        {
            "8080",
            "8080",
        },
        DomainNames = new[]
        {
            "server.acme.com",
        },
        SegmentGroupId = thisSegmentGroup.Id,
        ServerGroups = new[]
        {
            new Zpa.Inputs.ApplicationSegmentServerGroupArgs
            {
                Ids = new[]
                {
                    thisServerGroup.Id,
                },
            },
        },
    }, new CustomResourceOptions
    {
        DependsOn =
        {
            thisServerGroup,
            thisSegmentGroup,
        },
    });
    // Create PRA Approval Controller
    var thisPRAApproval = new Zpa.PRAApproval("thisPRAApproval", new()
    {
        EmailIds = new[]
        {
            "jdoe@acme.com",
        },
        StartTime = "Tue, 07 Mar 2024 11:05:30 PST",
        EndTime = "Tue, 07 Jun 2024 11:05:30 PST",
        Status = "FUTURE",
        Applications = new[]
        {
            new Zpa.Inputs.PRAApprovalApplicationArgs
            {
                Ids = new[]
                {
                    thisApplicationSegment.Id,
                },
            },
        },
        WorkingHours = new[]
        {
            new Zpa.Inputs.PRAApprovalWorkingHourArgs
            {
                Days = new[]
                {
                    "FRI",
                    "MON",
                    "SAT",
                    "SUN",
                    "THU",
                    "TUE",
                    "WED",
                },
                StartTime = "00:10",
                StartTimeCron = "0 0 8 ? * MON,TUE,WED,THU,FRI,SAT",
                EndTime = "09:15",
                EndTimeCron = "0 15 17 ? * MON,TUE,WED,THU,FRI,SAT",
                Timezone = "America/Vancouver",
            },
        },
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.zpa.SegmentGroup;
import com.pulumi.zpa.SegmentGroupArgs;
import com.pulumi.zpa.ConnectorGroup;
import com.pulumi.zpa.ConnectorGroupArgs;
import com.pulumi.zpa.ServerGroup;
import com.pulumi.zpa.ServerGroupArgs;
import com.pulumi.zpa.inputs.ServerGroupAppConnectorGroupArgs;
import com.pulumi.zpa.ApplicationSegment;
import com.pulumi.zpa.ApplicationSegmentArgs;
import com.pulumi.zpa.inputs.ApplicationSegmentServerGroupArgs;
import com.pulumi.zpa.PRAApproval;
import com.pulumi.zpa.PRAApprovalArgs;
import com.pulumi.zpa.inputs.PRAApprovalApplicationArgs;
import com.pulumi.zpa.inputs.PRAApprovalWorkingHourArgs;
import com.pulumi.resources.CustomResourceOptions;
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) {
        // ZPA Segment Group resource
        var thisSegmentGroup = new SegmentGroup("thisSegmentGroup", SegmentGroupArgs.builder()
            .description("Example")
            .enabled(true)
            .build());
        // ZPA App Connector Group resource
        var thisConnectorGroup = new ConnectorGroup("thisConnectorGroup", ConnectorGroupArgs.builder()
            .description("Example")
            .enabled(true)
            .cityCountry("San Jose, CA")
            .countryCode("US")
            .latitude("37.338")
            .longitude("-121.8863")
            .location("San Jose, CA, US")
            .upgradeDay("SUNDAY")
            .upgradeTimeInSecs("66600")
            .overrideVersionProfile(true)
            .versionProfileId("0")
            .dnsQueryType("IPV4")
            .build());
        // ZPA Server Group resource
        var thisServerGroup = new ServerGroup("thisServerGroup", ServerGroupArgs.builder()
            .description("Example")
            .enabled(true)
            .dynamicDiscovery(false)
            .appConnectorGroups(ServerGroupAppConnectorGroupArgs.builder()
                .ids(thisConnectorGroup.id())
                .build())
            .build(), CustomResourceOptions.builder()
                .dependsOn(thisConnectorGroup)
                .build());
        // ZPA Application Segment resource
        var thisApplicationSegment = new ApplicationSegment("thisApplicationSegment", ApplicationSegmentArgs.builder()
            .description("Example")
            .enabled(true)
            .healthReporting("ON_ACCESS")
            .bypassType("NEVER")
            .isCnameEnabled(true)
            .tcpPortRanges(            
                "8080",
                "8080")
            .domainNames("server.acme.com")
            .segmentGroupId(thisSegmentGroup.id())
            .serverGroups(ApplicationSegmentServerGroupArgs.builder()
                .ids(thisServerGroup.id())
                .build())
            .build(), CustomResourceOptions.builder()
                .dependsOn(                
                    thisServerGroup,
                    thisSegmentGroup)
                .build());
        // Create PRA Approval Controller
        var thisPRAApproval = new PRAApproval("thisPRAApproval", PRAApprovalArgs.builder()
            .emailIds("jdoe@acme.com")
            .startTime("Tue, 07 Mar 2024 11:05:30 PST")
            .endTime("Tue, 07 Jun 2024 11:05:30 PST")
            .status("FUTURE")
            .applications(PRAApprovalApplicationArgs.builder()
                .ids(thisApplicationSegment.id())
                .build())
            .workingHours(PRAApprovalWorkingHourArgs.builder()
                .days(                
                    "FRI",
                    "MON",
                    "SAT",
                    "SUN",
                    "THU",
                    "TUE",
                    "WED")
                .startTime("00:10")
                .startTimeCron("0 0 8 ? * MON,TUE,WED,THU,FRI,SAT")
                .endTime("09:15")
                .endTimeCron("0 15 17 ? * MON,TUE,WED,THU,FRI,SAT")
                .timezone("America/Vancouver")
                .build())
            .build());
    }
}
resources:
  # ZPA Application Segment resource
  thisApplicationSegment:
    type: zpa:ApplicationSegment
    properties:
      description: Example
      enabled: true
      healthReporting: ON_ACCESS
      bypassType: NEVER
      isCnameEnabled: true
      tcpPortRanges:
        - '8080'
        - '8080'
      domainNames:
        - server.acme.com
      segmentGroupId: ${thisSegmentGroup.id}
      serverGroups:
        - ids:
            - ${thisServerGroup.id}
    options:
      dependsOn:
        - ${thisServerGroup}
        - ${thisSegmentGroup}
  # ZPA Segment Group resource
  thisSegmentGroup:
    type: zpa:SegmentGroup
    properties:
      description: Example
      enabled: true
  # ZPA Server Group resource
  thisServerGroup:
    type: zpa:ServerGroup
    properties:
      description: Example
      enabled: true
      dynamicDiscovery: false
      appConnectorGroups:
        - ids:
            - ${thisConnectorGroup.id}
    options:
      dependsOn:
        - ${thisConnectorGroup}
  # ZPA App Connector Group resource
  thisConnectorGroup:
    type: zpa:ConnectorGroup
    properties:
      description: Example
      enabled: true
      cityCountry: San Jose, CA
      countryCode: US
      latitude: '37.338'
      longitude: '-121.8863'
      location: San Jose, CA, US
      upgradeDay: SUNDAY
      upgradeTimeInSecs: '66600'
      overrideVersionProfile: true
      versionProfileId: 0
      dnsQueryType: IPV4
  # Create PRA Approval Controller
  thisPRAApproval:
    type: zpa:PRAApproval
    properties:
      emailIds:
        - jdoe@acme.com
      startTime: Tue, 07 Mar 2024 11:05:30 PST
      endTime: Tue, 07 Jun 2024 11:05:30 PST
      status: FUTURE
      applications:
        - ids:
            - ${thisApplicationSegment.id}
      workingHours:
        - days:
            - FRI
            - MON
            - SAT
            - SUN
            - THU
            - TUE
            - WED
          startTime: 00:10
          startTimeCron: 0 0 8 ? * MON,TUE,WED,THU,FRI,SAT
          endTime: 09:15
          endTimeCron: 0 15 17 ? * MON,TUE,WED,THU,FRI,SAT
          timezone: America/Vancouver
Create PRAApproval Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new PRAApproval(name: string, args: PRAApprovalArgs, opts?: CustomResourceOptions);@overload
def PRAApproval(resource_name: str,
                args: PRAApprovalArgs,
                opts: Optional[ResourceOptions] = None)
@overload
def PRAApproval(resource_name: str,
                opts: Optional[ResourceOptions] = None,
                applications: Optional[Sequence[PRAApprovalApplicationArgs]] = None,
                email_ids: Optional[Sequence[str]] = None,
                end_time: Optional[str] = None,
                microtenant_id: Optional[str] = None,
                start_time: Optional[str] = None,
                status: Optional[str] = None,
                working_hours: Optional[Sequence[PRAApprovalWorkingHourArgs]] = None)func NewPRAApproval(ctx *Context, name string, args PRAApprovalArgs, opts ...ResourceOption) (*PRAApproval, error)public PRAApproval(string name, PRAApprovalArgs args, CustomResourceOptions? opts = null)
public PRAApproval(String name, PRAApprovalArgs args)
public PRAApproval(String name, PRAApprovalArgs args, CustomResourceOptions options)
type: zpa:PRAApproval
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 PRAApprovalArgs
- 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 PRAApprovalArgs
- 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 PRAApprovalArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args PRAApprovalArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args PRAApprovalArgs
- 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 praapprovalResource = new Zpa.PRAApproval("praapprovalResource", new()
{
    Applications = new[]
    {
        new Zpa.Inputs.PRAApprovalApplicationArgs
        {
            Ids = new[]
            {
                "string",
            },
        },
    },
    EmailIds = new[]
    {
        "string",
    },
    EndTime = "string",
    MicrotenantId = "string",
    StartTime = "string",
    Status = "string",
    WorkingHours = new[]
    {
        new Zpa.Inputs.PRAApprovalWorkingHourArgs
        {
            Days = new[]
            {
                "string",
            },
            EndTime = "string",
            EndTimeCron = "string",
            StartTime = "string",
            StartTimeCron = "string",
            Timezone = "string",
        },
    },
});
example, err := zpa.NewPRAApproval(ctx, "praapprovalResource", &zpa.PRAApprovalArgs{
	Applications: zpa.PRAApprovalApplicationArray{
		&zpa.PRAApprovalApplicationArgs{
			Ids: pulumi.StringArray{
				pulumi.String("string"),
			},
		},
	},
	EmailIds: pulumi.StringArray{
		pulumi.String("string"),
	},
	EndTime:       pulumi.String("string"),
	MicrotenantId: pulumi.String("string"),
	StartTime:     pulumi.String("string"),
	Status:        pulumi.String("string"),
	WorkingHours: zpa.PRAApprovalWorkingHourArray{
		&zpa.PRAApprovalWorkingHourArgs{
			Days: pulumi.StringArray{
				pulumi.String("string"),
			},
			EndTime:       pulumi.String("string"),
			EndTimeCron:   pulumi.String("string"),
			StartTime:     pulumi.String("string"),
			StartTimeCron: pulumi.String("string"),
			Timezone:      pulumi.String("string"),
		},
	},
})
var praapprovalResource = new PRAApproval("praapprovalResource", PRAApprovalArgs.builder()
    .applications(PRAApprovalApplicationArgs.builder()
        .ids("string")
        .build())
    .emailIds("string")
    .endTime("string")
    .microtenantId("string")
    .startTime("string")
    .status("string")
    .workingHours(PRAApprovalWorkingHourArgs.builder()
        .days("string")
        .endTime("string")
        .endTimeCron("string")
        .startTime("string")
        .startTimeCron("string")
        .timezone("string")
        .build())
    .build());
praapproval_resource = zpa.PRAApproval("praapprovalResource",
    applications=[{
        "ids": ["string"],
    }],
    email_ids=["string"],
    end_time="string",
    microtenant_id="string",
    start_time="string",
    status="string",
    working_hours=[{
        "days": ["string"],
        "end_time": "string",
        "end_time_cron": "string",
        "start_time": "string",
        "start_time_cron": "string",
        "timezone": "string",
    }])
const praapprovalResource = new zpa.PRAApproval("praapprovalResource", {
    applications: [{
        ids: ["string"],
    }],
    emailIds: ["string"],
    endTime: "string",
    microtenantId: "string",
    startTime: "string",
    status: "string",
    workingHours: [{
        days: ["string"],
        endTime: "string",
        endTimeCron: "string",
        startTime: "string",
        startTimeCron: "string",
        timezone: "string",
    }],
});
type: zpa:PRAApproval
properties:
    applications:
        - ids:
            - string
    emailIds:
        - string
    endTime: string
    microtenantId: string
    startTime: string
    status: string
    workingHours:
        - days:
            - string
          endTime: string
          endTimeCron: string
          startTime: string
          startTimeCron: string
          timezone: string
PRAApproval 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 PRAApproval resource accepts the following input properties:
- Applications
List<zscaler.Pulumi Package. Zpa. Inputs. PRAApproval Application> 
- EmailIds List<string>
- The email address of the user that you are assigning the privileged approval to
- EndTime string
- The end date that the user no longer has access to the privileged approval
- 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.
- StartTime string
- The start date that the user has access to the privileged approval
- Status string
- The status of the privileged approval
- WorkingHours List<zscaler.Pulumi Package. Zpa. Inputs. PRAApproval Working Hour> 
- Applications
[]PRAApprovalApplication Args 
- EmailIds []string
- The email address of the user that you are assigning the privileged approval to
- EndTime string
- The end date that the user no longer has access to the privileged approval
- 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.
- StartTime string
- The start date that the user has access to the privileged approval
- Status string
- The status of the privileged approval
- WorkingHours []PRAApprovalWorking Hour Args 
- applications
List<PRAApprovalApplication> 
- emailIds List<String>
- The email address of the user that you are assigning the privileged approval to
- endTime String
- The end date that the user no longer has access to the privileged approval
- 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.
- startTime String
- The start date that the user has access to the privileged approval
- status String
- The status of the privileged approval
- workingHours List<PRAApprovalWorking Hour> 
- applications
PRAApprovalApplication[] 
- emailIds string[]
- The email address of the user that you are assigning the privileged approval to
- endTime string
- The end date that the user no longer has access to the privileged approval
- 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.
- startTime string
- The start date that the user has access to the privileged approval
- status string
- The status of the privileged approval
- workingHours PRAApprovalWorking Hour[] 
- applications
Sequence[PRAApprovalApplication Args] 
- email_ids Sequence[str]
- The email address of the user that you are assigning the privileged approval to
- end_time str
- The end date that the user no longer has access to the privileged approval
- 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.
- start_time str
- The start date that the user has access to the privileged approval
- status str
- The status of the privileged approval
- working_hours Sequence[PRAApprovalWorking Hour Args] 
- applications List<Property Map>
- emailIds List<String>
- The email address of the user that you are assigning the privileged approval to
- endTime String
- The end date that the user no longer has access to the privileged approval
- 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.
- startTime String
- The start date that the user has access to the privileged approval
- status String
- The status of the privileged approval
- workingHours List<Property Map>
Outputs
All input properties are implicitly available as output properties. Additionally, the PRAApproval 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 PRAApproval Resource
Get an existing PRAApproval 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?: PRAApprovalState, opts?: CustomResourceOptions): PRAApproval@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        applications: Optional[Sequence[PRAApprovalApplicationArgs]] = None,
        email_ids: Optional[Sequence[str]] = None,
        end_time: Optional[str] = None,
        microtenant_id: Optional[str] = None,
        start_time: Optional[str] = None,
        status: Optional[str] = None,
        working_hours: Optional[Sequence[PRAApprovalWorkingHourArgs]] = None) -> PRAApprovalfunc GetPRAApproval(ctx *Context, name string, id IDInput, state *PRAApprovalState, opts ...ResourceOption) (*PRAApproval, error)public static PRAApproval Get(string name, Input<string> id, PRAApprovalState? state, CustomResourceOptions? opts = null)public static PRAApproval get(String name, Output<String> id, PRAApprovalState state, CustomResourceOptions options)resources:  _:    type: zpa:PRAApproval    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.
- Applications
List<zscaler.Pulumi Package. Zpa. Inputs. PRAApproval Application> 
- EmailIds List<string>
- The email address of the user that you are assigning the privileged approval to
- EndTime string
- The end date that the user no longer has access to the privileged approval
- 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.
- StartTime string
- The start date that the user has access to the privileged approval
- Status string
- The status of the privileged approval
- WorkingHours List<zscaler.Pulumi Package. Zpa. Inputs. PRAApproval Working Hour> 
- Applications
[]PRAApprovalApplication Args 
- EmailIds []string
- The email address of the user that you are assigning the privileged approval to
- EndTime string
- The end date that the user no longer has access to the privileged approval
- 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.
- StartTime string
- The start date that the user has access to the privileged approval
- Status string
- The status of the privileged approval
- WorkingHours []PRAApprovalWorking Hour Args 
- applications
List<PRAApprovalApplication> 
- emailIds List<String>
- The email address of the user that you are assigning the privileged approval to
- endTime String
- The end date that the user no longer has access to the privileged approval
- 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.
- startTime String
- The start date that the user has access to the privileged approval
- status String
- The status of the privileged approval
- workingHours List<PRAApprovalWorking Hour> 
- applications
PRAApprovalApplication[] 
- emailIds string[]
- The email address of the user that you are assigning the privileged approval to
- endTime string
- The end date that the user no longer has access to the privileged approval
- 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.
- startTime string
- The start date that the user has access to the privileged approval
- status string
- The status of the privileged approval
- workingHours PRAApprovalWorking Hour[] 
- applications
Sequence[PRAApprovalApplication Args] 
- email_ids Sequence[str]
- The email address of the user that you are assigning the privileged approval to
- end_time str
- The end date that the user no longer has access to the privileged approval
- 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.
- start_time str
- The start date that the user has access to the privileged approval
- status str
- The status of the privileged approval
- working_hours Sequence[PRAApprovalWorking Hour Args] 
- applications List<Property Map>
- emailIds List<String>
- The email address of the user that you are assigning the privileged approval to
- endTime String
- The end date that the user no longer has access to the privileged approval
- 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.
- startTime String
- The start date that the user has access to the privileged approval
- status String
- The status of the privileged approval
- workingHours List<Property Map>
Supporting Types
PRAApprovalApplication, PRAApprovalApplicationArgs    
- Ids List<string>
- The unique identifier of the pra application segment
- Ids []string
- The unique identifier of the pra application segment
- ids List<String>
- The unique identifier of the pra application segment
- ids string[]
- The unique identifier of the pra application segment
- ids Sequence[str]
- The unique identifier of the pra application segment
- ids List<String>
- The unique identifier of the pra application segment
PRAApprovalWorkingHour, PRAApprovalWorkingHourArgs      
- Days List<string>
- The days of the week that you want to enable the privileged approval
- EndTime string
- The end time that the user no longer has access to the privileged approval
- EndTime stringCron 
- The cron expression provided to configure the privileged approval end time working hours. The standard cron expression format is [Seconds][Minutes][Hours][Day of the Month][Month][Day of the Week][Year]The cron expression provided to configure the privileged approval end time working hours. The standard cron expression format is [Seconds][Minutes][Hours][Day of the Month][Month][Day of the Week][Year]
- StartTime string
- The start time that the user has access to the privileged approval
- StartTime stringCron 
- The cron expression provided to configure the privileged approval start time working hours. The standard cron expression format is [Seconds][Minutes][Hours][Day of the Month][Month][Day of the Week][Year]
- Timezone string
- The time zone for the time window of a privileged approval
- Days []string
- The days of the week that you want to enable the privileged approval
- EndTime string
- The end time that the user no longer has access to the privileged approval
- EndTime stringCron 
- The cron expression provided to configure the privileged approval end time working hours. The standard cron expression format is [Seconds][Minutes][Hours][Day of the Month][Month][Day of the Week][Year]The cron expression provided to configure the privileged approval end time working hours. The standard cron expression format is [Seconds][Minutes][Hours][Day of the Month][Month][Day of the Week][Year]
- StartTime string
- The start time that the user has access to the privileged approval
- StartTime stringCron 
- The cron expression provided to configure the privileged approval start time working hours. The standard cron expression format is [Seconds][Minutes][Hours][Day of the Month][Month][Day of the Week][Year]
- Timezone string
- The time zone for the time window of a privileged approval
- days List<String>
- The days of the week that you want to enable the privileged approval
- endTime String
- The end time that the user no longer has access to the privileged approval
- endTime StringCron 
- The cron expression provided to configure the privileged approval end time working hours. The standard cron expression format is [Seconds][Minutes][Hours][Day of the Month][Month][Day of the Week][Year]The cron expression provided to configure the privileged approval end time working hours. The standard cron expression format is [Seconds][Minutes][Hours][Day of the Month][Month][Day of the Week][Year]
- startTime String
- The start time that the user has access to the privileged approval
- startTime StringCron 
- The cron expression provided to configure the privileged approval start time working hours. The standard cron expression format is [Seconds][Minutes][Hours][Day of the Month][Month][Day of the Week][Year]
- timezone String
- The time zone for the time window of a privileged approval
- days string[]
- The days of the week that you want to enable the privileged approval
- endTime string
- The end time that the user no longer has access to the privileged approval
- endTime stringCron 
- The cron expression provided to configure the privileged approval end time working hours. The standard cron expression format is [Seconds][Minutes][Hours][Day of the Month][Month][Day of the Week][Year]The cron expression provided to configure the privileged approval end time working hours. The standard cron expression format is [Seconds][Minutes][Hours][Day of the Month][Month][Day of the Week][Year]
- startTime string
- The start time that the user has access to the privileged approval
- startTime stringCron 
- The cron expression provided to configure the privileged approval start time working hours. The standard cron expression format is [Seconds][Minutes][Hours][Day of the Month][Month][Day of the Week][Year]
- timezone string
- The time zone for the time window of a privileged approval
- days Sequence[str]
- The days of the week that you want to enable the privileged approval
- end_time str
- The end time that the user no longer has access to the privileged approval
- end_time_ strcron 
- The cron expression provided to configure the privileged approval end time working hours. The standard cron expression format is [Seconds][Minutes][Hours][Day of the Month][Month][Day of the Week][Year]The cron expression provided to configure the privileged approval end time working hours. The standard cron expression format is [Seconds][Minutes][Hours][Day of the Month][Month][Day of the Week][Year]
- start_time str
- The start time that the user has access to the privileged approval
- start_time_ strcron 
- The cron expression provided to configure the privileged approval start time working hours. The standard cron expression format is [Seconds][Minutes][Hours][Day of the Month][Month][Day of the Week][Year]
- timezone str
- The time zone for the time window of a privileged approval
- days List<String>
- The days of the week that you want to enable the privileged approval
- endTime String
- The end time that the user no longer has access to the privileged approval
- endTime StringCron 
- The cron expression provided to configure the privileged approval end time working hours. The standard cron expression format is [Seconds][Minutes][Hours][Day of the Month][Month][Day of the Week][Year]The cron expression provided to configure the privileged approval end time working hours. The standard cron expression format is [Seconds][Minutes][Hours][Day of the Month][Month][Day of the Week][Year]
- startTime String
- The start time that the user has access to the privileged approval
- startTime StringCron 
- The cron expression provided to configure the privileged approval start time working hours. The standard cron expression format is [Seconds][Minutes][Hours][Day of the Month][Month][Day of the Week][Year]
- timezone String
- The time zone for the time window of a privileged approval
Import
Zscaler offers a dedicated tool called Zscaler-Terraformer to allow the automated import of ZPA configurations into Terraform-compliant HashiCorp Configuration Language.
Visit
zpa_pra_approval_controller can be imported by using <APPROVAL ID> or <APPROVAL NAME> as the import ID.
For example:
$ pulumi import zpa:index/pRAApproval:PRAApproval this <approval_id>
or
$ pulumi import zpa:index/pRAApproval:PRAApproval this <approval_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.
 
