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

zpa.PolicyAccessForwardingRuleV2

Explore with Pulumi AI

The zpa_policy_forwarding_rule_v2 resource creates and manages policy access forwarding rule in the Zscaler Private Access cloud using a new v2 API endpoint.

⚠️ NOTE: This resource is recommended if your configuration requires the association of more than 1000 resource criteria per rule.

⚠️ WARNING:: The attribute rule_order is now deprecated in favor of the new resource policy_access_rule_reorder

Example Usage

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

const thisIdPController = zpa.getIdPController({
    name: "Idp_Name",
});
const emailUserSso = zpa.getSAMLAttribute({
    name: "Email_Users",
    idpName: "Idp_Name",
});
const groupUser = zpa.getSAMLAttribute({
    name: "GroupName_Users",
    idpName: "Idp_Name",
});
const a000 = zpa.getSCIMGroups({
    name: "A000",
    idpName: "Idp_Name",
});
const b000 = zpa.getSCIMGroups({
    name: "B000",
    idpName: "Idp_Name",
});
// Create Segment Group
const thisSegmentGroup = new zpa.SegmentGroup("thisSegmentGroup", {
    description: "Example",
    enabled: true,
});
// Create Policy Access Rule V2
const thisPolicyAccessForwardingRuleV2 = new zpa.PolicyAccessForwardingRuleV2("thisPolicyAccessForwardingRuleV2", {
    description: "Example",
    action: "BYPASS",
    conditions: [
        {
            operator: "OR",
            operands: [{
                objectType: "APP_GROUP",
                values: [thisSegmentGroup.id],
            }],
        },
        {
            operator: "OR",
            operands: [
                {
                    objectType: "SAML",
                    entryValues: [
                        {
                            rhs: "user1@acme.com",
                            lhs: emailUserSso.then(emailUserSso => emailUserSso.id),
                        },
                        {
                            rhs: "A000",
                            lhs: groupUser.then(groupUser => groupUser.id),
                        },
                    ],
                },
                {
                    objectType: "SCIM_GROUP",
                    entryValues: [
                        {
                            rhs: a000.then(a000 => a000.id),
                            lhs: thisIdPController.then(thisIdPController => thisIdPController.id),
                        },
                        {
                            rhs: b000.then(b000 => b000.id),
                            lhs: thisIdPController.then(thisIdPController => thisIdPController.id),
                        },
                    ],
                },
            ],
        },
        {
            operator: "OR",
            operands: [{
                objectType: "PLATFORM",
                entryValues: [
                    {
                        rhs: "true",
                        lhs: "linux",
                    },
                    {
                        rhs: "true",
                        lhs: "android",
                    },
                ],
            }],
        },
    ],
});
Copy
import pulumi
import pulumi_zpa as zpa
import zscaler_pulumi_zpa as zpa

this_id_p_controller = zpa.get_id_p_controller(name="Idp_Name")
email_user_sso = zpa.get_saml_attribute(name="Email_Users",
    idp_name="Idp_Name")
group_user = zpa.get_saml_attribute(name="GroupName_Users",
    idp_name="Idp_Name")
a000 = zpa.get_scim_groups(name="A000",
    idp_name="Idp_Name")
b000 = zpa.get_scim_groups(name="B000",
    idp_name="Idp_Name")
# Create Segment Group
this_segment_group = zpa.SegmentGroup("thisSegmentGroup",
    description="Example",
    enabled=True)
# Create Policy Access Rule V2
this_policy_access_forwarding_rule_v2 = zpa.PolicyAccessForwardingRuleV2("thisPolicyAccessForwardingRuleV2",
    description="Example",
    action="BYPASS",
    conditions=[
        zpa.PolicyAccessForwardingRuleV2ConditionArgs(
            operator="OR",
            operands=[zpa.PolicyAccessForwardingRuleV2ConditionOperandArgs(
                object_type="APP_GROUP",
                values=[this_segment_group.id],
            )],
        ),
        zpa.PolicyAccessForwardingRuleV2ConditionArgs(
            operator="OR",
            operands=[
                zpa.PolicyAccessForwardingRuleV2ConditionOperandArgs(
                    object_type="SAML",
                    entry_values=[
                        zpa.PolicyAccessForwardingRuleV2ConditionOperandEntryValueArgs(
                            rhs="user1@acme.com",
                            lhs=email_user_sso.id,
                        ),
                        zpa.PolicyAccessForwardingRuleV2ConditionOperandEntryValueArgs(
                            rhs="A000",
                            lhs=group_user.id,
                        ),
                    ],
                ),
                zpa.PolicyAccessForwardingRuleV2ConditionOperandArgs(
                    object_type="SCIM_GROUP",
                    entry_values=[
                        zpa.PolicyAccessForwardingRuleV2ConditionOperandEntryValueArgs(
                            rhs=a000.id,
                            lhs=this_id_p_controller.id,
                        ),
                        zpa.PolicyAccessForwardingRuleV2ConditionOperandEntryValueArgs(
                            rhs=b000.id,
                            lhs=this_id_p_controller.id,
                        ),
                    ],
                ),
            ],
        ),
        zpa.PolicyAccessForwardingRuleV2ConditionArgs(
            operator="OR",
            operands=[zpa.PolicyAccessForwardingRuleV2ConditionOperandArgs(
                object_type="PLATFORM",
                entry_values=[
                    zpa.PolicyAccessForwardingRuleV2ConditionOperandEntryValueArgs(
                        rhs="true",
                        lhs="linux",
                    ),
                    zpa.PolicyAccessForwardingRuleV2ConditionOperandEntryValueArgs(
                        rhs="true",
                        lhs="android",
                    ),
                ],
            )],
        ),
    ])
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 {
		thisIdPController, err := zpa.GetIdPController(ctx, &zpa.GetIdPControllerArgs{
			Name: pulumi.StringRef("Idp_Name"),
		}, nil)
		if err != nil {
			return err
		}
		emailUserSso, err := zpa.GetSAMLAttribute(ctx, &zpa.GetSAMLAttributeArgs{
			Name:    pulumi.StringRef("Email_Users"),
			IdpName: pulumi.StringRef("Idp_Name"),
		}, nil)
		if err != nil {
			return err
		}
		groupUser, err := zpa.GetSAMLAttribute(ctx, &zpa.GetSAMLAttributeArgs{
			Name:    pulumi.StringRef("GroupName_Users"),
			IdpName: pulumi.StringRef("Idp_Name"),
		}, nil)
		if err != nil {
			return err
		}
		a000, err := zpa.GetSCIMGroups(ctx, &zpa.GetSCIMGroupsArgs{
			Name:    pulumi.StringRef("A000"),
			IdpName: pulumi.StringRef("Idp_Name"),
		}, nil)
		if err != nil {
			return err
		}
		b000, err := zpa.GetSCIMGroups(ctx, &zpa.GetSCIMGroupsArgs{
			Name:    pulumi.StringRef("B000"),
			IdpName: pulumi.StringRef("Idp_Name"),
		}, nil)
		if err != nil {
			return err
		}
		// Create Segment Group
		thisSegmentGroup, err := zpa.NewSegmentGroup(ctx, "thisSegmentGroup", &zpa.SegmentGroupArgs{
			Description: pulumi.String("Example"),
			Enabled:     pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		// Create Policy Access Rule V2
		_, err = zpa.NewPolicyAccessForwardingRuleV2(ctx, "thisPolicyAccessForwardingRuleV2", &zpa.PolicyAccessForwardingRuleV2Args{
			Description: pulumi.String("Example"),
			Action:      pulumi.String("BYPASS"),
			Conditions: zpa.PolicyAccessForwardingRuleV2ConditionArray{
				&zpa.PolicyAccessForwardingRuleV2ConditionArgs{
					Operator: pulumi.String("OR"),
					Operands: zpa.PolicyAccessForwardingRuleV2ConditionOperandArray{
						&zpa.PolicyAccessForwardingRuleV2ConditionOperandArgs{
							ObjectType: pulumi.String("APP_GROUP"),
							Values: pulumi.StringArray{
								thisSegmentGroup.ID(),
							},
						},
					},
				},
				&zpa.PolicyAccessForwardingRuleV2ConditionArgs{
					Operator: pulumi.String("OR"),
					Operands: zpa.PolicyAccessForwardingRuleV2ConditionOperandArray{
						&zpa.PolicyAccessForwardingRuleV2ConditionOperandArgs{
							ObjectType: pulumi.String("SAML"),
							EntryValues: zpa.PolicyAccessForwardingRuleV2ConditionOperandEntryValueArray{
								&zpa.PolicyAccessForwardingRuleV2ConditionOperandEntryValueArgs{
									Rhs: pulumi.String("user1@acme.com"),
									Lhs: pulumi.String(emailUserSso.Id),
								},
								&zpa.PolicyAccessForwardingRuleV2ConditionOperandEntryValueArgs{
									Rhs: pulumi.String("A000"),
									Lhs: pulumi.String(groupUser.Id),
								},
							},
						},
						&zpa.PolicyAccessForwardingRuleV2ConditionOperandArgs{
							ObjectType: pulumi.String("SCIM_GROUP"),
							EntryValues: zpa.PolicyAccessForwardingRuleV2ConditionOperandEntryValueArray{
								&zpa.PolicyAccessForwardingRuleV2ConditionOperandEntryValueArgs{
									Rhs: pulumi.String(a000.Id),
									Lhs: pulumi.String(thisIdPController.Id),
								},
								&zpa.PolicyAccessForwardingRuleV2ConditionOperandEntryValueArgs{
									Rhs: pulumi.String(b000.Id),
									Lhs: pulumi.String(thisIdPController.Id),
								},
							},
						},
					},
				},
				&zpa.PolicyAccessForwardingRuleV2ConditionArgs{
					Operator: pulumi.String("OR"),
					Operands: zpa.PolicyAccessForwardingRuleV2ConditionOperandArray{
						&zpa.PolicyAccessForwardingRuleV2ConditionOperandArgs{
							ObjectType: pulumi.String("PLATFORM"),
							EntryValues: zpa.PolicyAccessForwardingRuleV2ConditionOperandEntryValueArray{
								&zpa.PolicyAccessForwardingRuleV2ConditionOperandEntryValueArgs{
									Rhs: pulumi.String("true"),
									Lhs: pulumi.String("linux"),
								},
								&zpa.PolicyAccessForwardingRuleV2ConditionOperandEntryValueArgs{
									Rhs: pulumi.String("true"),
									Lhs: pulumi.String("android"),
								},
							},
						},
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Zpa = Pulumi.Zpa;
using Zpa = Zscaler.Zpa;

return await Deployment.RunAsync(() => 
{
    var thisIdPController = Zpa.GetIdPController.Invoke(new()
    {
        Name = "Idp_Name",
    });

    var emailUserSso = Zpa.GetSAMLAttribute.Invoke(new()
    {
        Name = "Email_Users",
        IdpName = "Idp_Name",
    });

    var groupUser = Zpa.GetSAMLAttribute.Invoke(new()
    {
        Name = "GroupName_Users",
        IdpName = "Idp_Name",
    });

    var a000 = Zpa.GetSCIMGroups.Invoke(new()
    {
        Name = "A000",
        IdpName = "Idp_Name",
    });

    var b000 = Zpa.GetSCIMGroups.Invoke(new()
    {
        Name = "B000",
        IdpName = "Idp_Name",
    });

    // Create Segment Group
    var thisSegmentGroup = new Zpa.SegmentGroup("thisSegmentGroup", new()
    {
        Description = "Example",
        Enabled = true,
    });

    // Create Policy Access Rule V2
    var thisPolicyAccessForwardingRuleV2 = new Zpa.PolicyAccessForwardingRuleV2("thisPolicyAccessForwardingRuleV2", new()
    {
        Description = "Example",
        Action = "BYPASS",
        Conditions = new[]
        {
            new Zpa.Inputs.PolicyAccessForwardingRuleV2ConditionArgs
            {
                Operator = "OR",
                Operands = new[]
                {
                    new Zpa.Inputs.PolicyAccessForwardingRuleV2ConditionOperandArgs
                    {
                        ObjectType = "APP_GROUP",
                        Values = new[]
                        {
                            thisSegmentGroup.Id,
                        },
                    },
                },
            },
            new Zpa.Inputs.PolicyAccessForwardingRuleV2ConditionArgs
            {
                Operator = "OR",
                Operands = new[]
                {
                    new Zpa.Inputs.PolicyAccessForwardingRuleV2ConditionOperandArgs
                    {
                        ObjectType = "SAML",
                        EntryValues = new[]
                        {
                            new Zpa.Inputs.PolicyAccessForwardingRuleV2ConditionOperandEntryValueArgs
                            {
                                Rhs = "user1@acme.com",
                                Lhs = emailUserSso.Apply(getSAMLAttributeResult => getSAMLAttributeResult.Id),
                            },
                            new Zpa.Inputs.PolicyAccessForwardingRuleV2ConditionOperandEntryValueArgs
                            {
                                Rhs = "A000",
                                Lhs = groupUser.Apply(getSAMLAttributeResult => getSAMLAttributeResult.Id),
                            },
                        },
                    },
                    new Zpa.Inputs.PolicyAccessForwardingRuleV2ConditionOperandArgs
                    {
                        ObjectType = "SCIM_GROUP",
                        EntryValues = new[]
                        {
                            new Zpa.Inputs.PolicyAccessForwardingRuleV2ConditionOperandEntryValueArgs
                            {
                                Rhs = a000.Apply(getSCIMGroupsResult => getSCIMGroupsResult.Id),
                                Lhs = thisIdPController.Apply(getIdPControllerResult => getIdPControllerResult.Id),
                            },
                            new Zpa.Inputs.PolicyAccessForwardingRuleV2ConditionOperandEntryValueArgs
                            {
                                Rhs = b000.Apply(getSCIMGroupsResult => getSCIMGroupsResult.Id),
                                Lhs = thisIdPController.Apply(getIdPControllerResult => getIdPControllerResult.Id),
                            },
                        },
                    },
                },
            },
            new Zpa.Inputs.PolicyAccessForwardingRuleV2ConditionArgs
            {
                Operator = "OR",
                Operands = new[]
                {
                    new Zpa.Inputs.PolicyAccessForwardingRuleV2ConditionOperandArgs
                    {
                        ObjectType = "PLATFORM",
                        EntryValues = new[]
                        {
                            new Zpa.Inputs.PolicyAccessForwardingRuleV2ConditionOperandEntryValueArgs
                            {
                                Rhs = "true",
                                Lhs = "linux",
                            },
                            new Zpa.Inputs.PolicyAccessForwardingRuleV2ConditionOperandEntryValueArgs
                            {
                                Rhs = "true",
                                Lhs = "android",
                            },
                        },
                    },
                },
            },
        },
    });

});
Copy
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.GetIdPControllerArgs;
import com.pulumi.zpa.inputs.GetSAMLAttributeArgs;
import com.pulumi.zpa.inputs.GetSCIMGroupsArgs;
import com.pulumi.zpa.SegmentGroup;
import com.pulumi.zpa.SegmentGroupArgs;
import com.pulumi.zpa.PolicyAccessForwardingRuleV2;
import com.pulumi.zpa.PolicyAccessForwardingRuleV2Args;
import com.pulumi.zpa.inputs.PolicyAccessForwardingRuleV2ConditionArgs;
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 thisIdPController = ZpaFunctions.getIdPController(GetIdPControllerArgs.builder()
            .name("Idp_Name")
            .build());

        final var emailUserSso = ZpaFunctions.getSAMLAttribute(GetSAMLAttributeArgs.builder()
            .name("Email_Users")
            .idpName("Idp_Name")
            .build());

        final var groupUser = ZpaFunctions.getSAMLAttribute(GetSAMLAttributeArgs.builder()
            .name("GroupName_Users")
            .idpName("Idp_Name")
            .build());

        final var a000 = ZpaFunctions.getSCIMGroups(GetSCIMGroupsArgs.builder()
            .name("A000")
            .idpName("Idp_Name")
            .build());

        final var b000 = ZpaFunctions.getSCIMGroups(GetSCIMGroupsArgs.builder()
            .name("B000")
            .idpName("Idp_Name")
            .build());

        // Create Segment Group
        var thisSegmentGroup = new SegmentGroup("thisSegmentGroup", SegmentGroupArgs.builder()
            .description("Example")
            .enabled(true)
            .build());

        // Create Policy Access Rule V2
        var thisPolicyAccessForwardingRuleV2 = new PolicyAccessForwardingRuleV2("thisPolicyAccessForwardingRuleV2", PolicyAccessForwardingRuleV2Args.builder()
            .description("Example")
            .action("BYPASS")
            .conditions(            
                PolicyAccessForwardingRuleV2ConditionArgs.builder()
                    .operator("OR")
                    .operands(PolicyAccessForwardingRuleV2ConditionOperandArgs.builder()
                        .objectType("APP_GROUP")
                        .values(thisSegmentGroup.id())
                        .build())
                    .build(),
                PolicyAccessForwardingRuleV2ConditionArgs.builder()
                    .operator("OR")
                    .operands(                    
                        PolicyAccessForwardingRuleV2ConditionOperandArgs.builder()
                            .objectType("SAML")
                            .entryValues(                            
                                PolicyAccessForwardingRuleV2ConditionOperandEntryValueArgs.builder()
                                    .rhs("user1@acme.com")
                                    .lhs(emailUserSso.applyValue(getSAMLAttributeResult -> getSAMLAttributeResult.id()))
                                    .build(),
                                PolicyAccessForwardingRuleV2ConditionOperandEntryValueArgs.builder()
                                    .rhs("A000")
                                    .lhs(groupUser.applyValue(getSAMLAttributeResult -> getSAMLAttributeResult.id()))
                                    .build())
                            .build(),
                        PolicyAccessForwardingRuleV2ConditionOperandArgs.builder()
                            .objectType("SCIM_GROUP")
                            .entryValues(                            
                                PolicyAccessForwardingRuleV2ConditionOperandEntryValueArgs.builder()
                                    .rhs(a000.applyValue(getSCIMGroupsResult -> getSCIMGroupsResult.id()))
                                    .lhs(thisIdPController.applyValue(getIdPControllerResult -> getIdPControllerResult.id()))
                                    .build(),
                                PolicyAccessForwardingRuleV2ConditionOperandEntryValueArgs.builder()
                                    .rhs(b000.applyValue(getSCIMGroupsResult -> getSCIMGroupsResult.id()))
                                    .lhs(thisIdPController.applyValue(getIdPControllerResult -> getIdPControllerResult.id()))
                                    .build())
                            .build())
                    .build(),
                PolicyAccessForwardingRuleV2ConditionArgs.builder()
                    .operator("OR")
                    .operands(PolicyAccessForwardingRuleV2ConditionOperandArgs.builder()
                        .objectType("PLATFORM")
                        .entryValues(                        
                            PolicyAccessForwardingRuleV2ConditionOperandEntryValueArgs.builder()
                                .rhs("true")
                                .lhs("linux")
                                .build(),
                            PolicyAccessForwardingRuleV2ConditionOperandEntryValueArgs.builder()
                                .rhs("true")
                                .lhs("android")
                                .build())
                        .build())
                    .build())
            .build());

    }
}
Copy
resources:
  # Create Segment Group
  thisSegmentGroup:
    type: zpa:SegmentGroup
    properties:
      description: Example
      enabled: true
  # Create Policy Access Rule V2
  thisPolicyAccessForwardingRuleV2:
    type: zpa:PolicyAccessForwardingRuleV2
    properties:
      description: Example
      action: BYPASS
      conditions:
        - operator: OR
          operands:
            - objectType: APP_GROUP
              values:
                - ${thisSegmentGroup.id}
        - operator: OR
          operands:
            - objectType: SAML
              entryValues:
                - rhs: user1@acme.com
                  lhs: ${emailUserSso.id}
                - rhs: A000
                  lhs: ${groupUser.id}
            - objectType: SCIM_GROUP
              entryValues:
                - rhs: ${a000.id}
                  lhs: ${thisIdPController.id}
                - rhs: ${b000.id}
                  lhs: ${thisIdPController.id}
        - operator: OR
          operands:
            - objectType: PLATFORM
              entryValues:
                - rhs: 'true'
                  lhs: linux
                - rhs: 'true'
                  lhs: android
variables:
  thisIdPController:
    fn::invoke:
      Function: zpa:getIdPController
      Arguments:
        name: Idp_Name
  emailUserSso:
    fn::invoke:
      Function: zpa:getSAMLAttribute
      Arguments:
        name: Email_Users
        idpName: Idp_Name
  groupUser:
    fn::invoke:
      Function: zpa:getSAMLAttribute
      Arguments:
        name: GroupName_Users
        idpName: Idp_Name
  a000:
    fn::invoke:
      Function: zpa:getSCIMGroups
      Arguments:
        name: A000
        idpName: Idp_Name
  b000:
    fn::invoke:
      Function: zpa:getSCIMGroups
      Arguments:
        name: B000
        idpName: Idp_Name
Copy

LHS and RHS Values

Object TypeLHSRHSVALUES
APPapplication_segment_id
APP_GROUPsegment_group_id
CLIENT_TYPEzpn_client_type_zappl, zpn_client_type_exporter, zpn_client_type_browser_isolation, zpn_client_type_ip_anchoring, zpn_client_type_edge_connector, zpn_client_type_branch_connector, zpn_client_type_zapp_partner, zpn_client_type_zapp
SAMLsaml_attribute_idattribute_value_to_match
SCIMscim_attribute_idattribute_value_to_match
SCIM_GROUPscim_group_attribute_idattribute_value_to_match
PLATFORMmac, ios, windows, android, linux"true" / "false"
POSTUREposture_udid"true" / "false"

Create PolicyAccessForwardingRuleV2 Resource

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

Constructor syntax

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

@overload
def PolicyAccessForwardingRuleV2(resource_name: str,
                                 opts: Optional[ResourceOptions] = None,
                                 action: Optional[str] = None,
                                 conditions: Optional[Sequence[PolicyAccessForwardingRuleV2ConditionArgs]] = None,
                                 description: Optional[str] = None,
                                 microtenant_id: Optional[str] = None,
                                 name: Optional[str] = None)
func NewPolicyAccessForwardingRuleV2(ctx *Context, name string, args *PolicyAccessForwardingRuleV2Args, opts ...ResourceOption) (*PolicyAccessForwardingRuleV2, error)
public PolicyAccessForwardingRuleV2(string name, PolicyAccessForwardingRuleV2Args? args = null, CustomResourceOptions? opts = null)
public PolicyAccessForwardingRuleV2(String name, PolicyAccessForwardingRuleV2Args args)
public PolicyAccessForwardingRuleV2(String name, PolicyAccessForwardingRuleV2Args args, CustomResourceOptions options)
type: zpa:PolicyAccessForwardingRuleV2
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 PolicyAccessForwardingRuleV2Args
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 PolicyAccessForwardingRuleV2Args
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 PolicyAccessForwardingRuleV2Args
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 PolicyAccessForwardingRuleV2Args
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. PolicyAccessForwardingRuleV2Args
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 policyAccessForwardingRuleV2Resource = new Zpa.PolicyAccessForwardingRuleV2("policyAccessForwardingRuleV2Resource", new()
{
    Action = "string",
    Conditions = new[]
    {
        new Zpa.Inputs.PolicyAccessForwardingRuleV2ConditionArgs
        {
            Id = "string",
            Operands = new[]
            {
                new Zpa.Inputs.PolicyAccessForwardingRuleV2ConditionOperandArgs
                {
                    EntryValues = new[]
                    {
                        new Zpa.Inputs.PolicyAccessForwardingRuleV2ConditionOperandEntryValueArgs
                        {
                            Lhs = "string",
                            Rhs = "string",
                        },
                    },
                    ObjectType = "string",
                    Values = new[]
                    {
                        "string",
                    },
                },
            },
            Operator = "string",
        },
    },
    Description = "string",
    MicrotenantId = "string",
    Name = "string",
});
Copy
example, err := zpa.NewPolicyAccessForwardingRuleV2(ctx, "policyAccessForwardingRuleV2Resource", &zpa.PolicyAccessForwardingRuleV2Args{
	Action: pulumi.String("string"),
	Conditions: zpa.PolicyAccessForwardingRuleV2ConditionArray{
		&zpa.PolicyAccessForwardingRuleV2ConditionArgs{
			Id: pulumi.String("string"),
			Operands: zpa.PolicyAccessForwardingRuleV2ConditionOperandArray{
				&zpa.PolicyAccessForwardingRuleV2ConditionOperandArgs{
					EntryValues: zpa.PolicyAccessForwardingRuleV2ConditionOperandEntryValueArray{
						&zpa.PolicyAccessForwardingRuleV2ConditionOperandEntryValueArgs{
							Lhs: pulumi.String("string"),
							Rhs: pulumi.String("string"),
						},
					},
					ObjectType: pulumi.String("string"),
					Values: pulumi.StringArray{
						pulumi.String("string"),
					},
				},
			},
			Operator: pulumi.String("string"),
		},
	},
	Description:   pulumi.String("string"),
	MicrotenantId: pulumi.String("string"),
	Name:          pulumi.String("string"),
})
Copy
var policyAccessForwardingRuleV2Resource = new PolicyAccessForwardingRuleV2("policyAccessForwardingRuleV2Resource", PolicyAccessForwardingRuleV2Args.builder()
    .action("string")
    .conditions(PolicyAccessForwardingRuleV2ConditionArgs.builder()
        .id("string")
        .operands(PolicyAccessForwardingRuleV2ConditionOperandArgs.builder()
            .entryValues(PolicyAccessForwardingRuleV2ConditionOperandEntryValueArgs.builder()
                .lhs("string")
                .rhs("string")
                .build())
            .objectType("string")
            .values("string")
            .build())
        .operator("string")
        .build())
    .description("string")
    .microtenantId("string")
    .name("string")
    .build());
Copy
policy_access_forwarding_rule_v2_resource = zpa.PolicyAccessForwardingRuleV2("policyAccessForwardingRuleV2Resource",
    action="string",
    conditions=[{
        "id": "string",
        "operands": [{
            "entry_values": [{
                "lhs": "string",
                "rhs": "string",
            }],
            "object_type": "string",
            "values": ["string"],
        }],
        "operator": "string",
    }],
    description="string",
    microtenant_id="string",
    name="string")
Copy
const policyAccessForwardingRuleV2Resource = new zpa.PolicyAccessForwardingRuleV2("policyAccessForwardingRuleV2Resource", {
    action: "string",
    conditions: [{
        id: "string",
        operands: [{
            entryValues: [{
                lhs: "string",
                rhs: "string",
            }],
            objectType: "string",
            values: ["string"],
        }],
        operator: "string",
    }],
    description: "string",
    microtenantId: "string",
    name: "string",
});
Copy
type: zpa:PolicyAccessForwardingRuleV2
properties:
    action: string
    conditions:
        - id: string
          operands:
            - entryValues:
                - lhs: string
                  rhs: string
              objectType: string
              values:
                - string
          operator: string
    description: string
    microtenantId: string
    name: string
Copy

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

Action string
This is for providing the rule action. Supported values: BYPASS, INTERCEPT, and INTERCEPT_ACCESSIBLE
Conditions List<Zscaler.Zpa.Inputs.PolicyAccessForwardingRuleV2Condition>
This is for proviidng the set of conditions for the policy.
Description string
This is the description of the access policy rule.
MicrotenantId string
Name string
This is the name of the policy rule.
Action string
This is for providing the rule action. Supported values: BYPASS, INTERCEPT, and INTERCEPT_ACCESSIBLE
Conditions []PolicyAccessForwardingRuleV2ConditionArgs
This is for proviidng the set of conditions for the policy.
Description string
This is the description of the access policy rule.
MicrotenantId string
Name string
This is the name of the policy rule.
action String
This is for providing the rule action. Supported values: BYPASS, INTERCEPT, and INTERCEPT_ACCESSIBLE
conditions List<PolicyAccessForwardingRuleV2Condition>
This is for proviidng the set of conditions for the policy.
description String
This is the description of the access policy rule.
microtenantId String
name String
This is the name of the policy rule.
action string
This is for providing the rule action. Supported values: BYPASS, INTERCEPT, and INTERCEPT_ACCESSIBLE
conditions PolicyAccessForwardingRuleV2Condition[]
This is for proviidng the set of conditions for the policy.
description string
This is the description of the access policy rule.
microtenantId string
name string
This is the name of the policy rule.
action str
This is for providing the rule action. Supported values: BYPASS, INTERCEPT, and INTERCEPT_ACCESSIBLE
conditions Sequence[PolicyAccessForwardingRuleV2ConditionArgs]
This is for proviidng the set of conditions for the policy.
description str
This is the description of the access policy rule.
microtenant_id str
name str
This is the name of the policy rule.
action String
This is for providing the rule action. Supported values: BYPASS, INTERCEPT, and INTERCEPT_ACCESSIBLE
conditions List<Property Map>
This is for proviidng the set of conditions for the policy.
description String
This is the description of the access policy rule.
microtenantId String
name String
This is the name of the policy rule.

Outputs

All input properties are implicitly available as output properties. Additionally, the PolicyAccessForwardingRuleV2 resource produces the following output properties:

Id string
The provider-assigned unique ID for this managed resource.
PolicySetId string
Id string
The provider-assigned unique ID for this managed resource.
PolicySetId string
id String
The provider-assigned unique ID for this managed resource.
policySetId String
id string
The provider-assigned unique ID for this managed resource.
policySetId string
id str
The provider-assigned unique ID for this managed resource.
policy_set_id str
id String
The provider-assigned unique ID for this managed resource.
policySetId String

Look up Existing PolicyAccessForwardingRuleV2 Resource

Get an existing PolicyAccessForwardingRuleV2 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?: PolicyAccessForwardingRuleV2State, opts?: CustomResourceOptions): PolicyAccessForwardingRuleV2
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        action: Optional[str] = None,
        conditions: Optional[Sequence[PolicyAccessForwardingRuleV2ConditionArgs]] = None,
        description: Optional[str] = None,
        microtenant_id: Optional[str] = None,
        name: Optional[str] = None,
        policy_set_id: Optional[str] = None) -> PolicyAccessForwardingRuleV2
func GetPolicyAccessForwardingRuleV2(ctx *Context, name string, id IDInput, state *PolicyAccessForwardingRuleV2State, opts ...ResourceOption) (*PolicyAccessForwardingRuleV2, error)
public static PolicyAccessForwardingRuleV2 Get(string name, Input<string> id, PolicyAccessForwardingRuleV2State? state, CustomResourceOptions? opts = null)
public static PolicyAccessForwardingRuleV2 get(String name, Output<String> id, PolicyAccessForwardingRuleV2State state, CustomResourceOptions options)
resources:  _:    type: zpa:PolicyAccessForwardingRuleV2    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:
Action string
This is for providing the rule action. Supported values: BYPASS, INTERCEPT, and INTERCEPT_ACCESSIBLE
Conditions List<Zscaler.Zpa.Inputs.PolicyAccessForwardingRuleV2Condition>
This is for proviidng the set of conditions for the policy.
Description string
This is the description of the access policy rule.
MicrotenantId string
Name string
This is the name of the policy rule.
PolicySetId string
Action string
This is for providing the rule action. Supported values: BYPASS, INTERCEPT, and INTERCEPT_ACCESSIBLE
Conditions []PolicyAccessForwardingRuleV2ConditionArgs
This is for proviidng the set of conditions for the policy.
Description string
This is the description of the access policy rule.
MicrotenantId string
Name string
This is the name of the policy rule.
PolicySetId string
action String
This is for providing the rule action. Supported values: BYPASS, INTERCEPT, and INTERCEPT_ACCESSIBLE
conditions List<PolicyAccessForwardingRuleV2Condition>
This is for proviidng the set of conditions for the policy.
description String
This is the description of the access policy rule.
microtenantId String
name String
This is the name of the policy rule.
policySetId String
action string
This is for providing the rule action. Supported values: BYPASS, INTERCEPT, and INTERCEPT_ACCESSIBLE
conditions PolicyAccessForwardingRuleV2Condition[]
This is for proviidng the set of conditions for the policy.
description string
This is the description of the access policy rule.
microtenantId string
name string
This is the name of the policy rule.
policySetId string
action str
This is for providing the rule action. Supported values: BYPASS, INTERCEPT, and INTERCEPT_ACCESSIBLE
conditions Sequence[PolicyAccessForwardingRuleV2ConditionArgs]
This is for proviidng the set of conditions for the policy.
description str
This is the description of the access policy rule.
microtenant_id str
name str
This is the name of the policy rule.
policy_set_id str
action String
This is for providing the rule action. Supported values: BYPASS, INTERCEPT, and INTERCEPT_ACCESSIBLE
conditions List<Property Map>
This is for proviidng the set of conditions for the policy.
description String
This is the description of the access policy rule.
microtenantId String
name String
This is the name of the policy rule.
policySetId String

Supporting Types

PolicyAccessForwardingRuleV2Condition
, PolicyAccessForwardingRuleV2ConditionArgs

Id string
Operands List<Zscaler.Zpa.Inputs.PolicyAccessForwardingRuleV2ConditionOperand>
This signifies the various policy criteria.
Operator string
Id string
Operands []PolicyAccessForwardingRuleV2ConditionOperand
This signifies the various policy criteria.
Operator string
id String
operands List<PolicyAccessForwardingRuleV2ConditionOperand>
This signifies the various policy criteria.
operator String
id string
operands PolicyAccessForwardingRuleV2ConditionOperand[]
This signifies the various policy criteria.
operator string
id str
operands Sequence[PolicyAccessForwardingRuleV2ConditionOperand]
This signifies the various policy criteria.
operator str
id String
operands List<Property Map>
This signifies the various policy criteria.
operator String

PolicyAccessForwardingRuleV2ConditionOperand
, PolicyAccessForwardingRuleV2ConditionOperandArgs

EntryValues List<Zscaler.Zpa.Inputs.PolicyAccessForwardingRuleV2ConditionOperandEntryValue>
ObjectType string
This is for specifying the policy critiera.
Values List<string>
This denotes a list of values for the given object type. The value depend upon the key. If rhs is defined this list will be ignored
EntryValues []PolicyAccessForwardingRuleV2ConditionOperandEntryValue
ObjectType string
This is for specifying the policy critiera.
Values []string
This denotes a list of values for the given object type. The value depend upon the key. If rhs is defined this list will be ignored
entryValues List<PolicyAccessForwardingRuleV2ConditionOperandEntryValue>
objectType String
This is for specifying the policy critiera.
values List<String>
This denotes a list of values for the given object type. The value depend upon the key. If rhs is defined this list will be ignored
entryValues PolicyAccessForwardingRuleV2ConditionOperandEntryValue[]
objectType string
This is for specifying the policy critiera.
values string[]
This denotes a list of values for the given object type. The value depend upon the key. If rhs is defined this list will be ignored
entry_values Sequence[PolicyAccessForwardingRuleV2ConditionOperandEntryValue]
object_type str
This is for specifying the policy critiera.
values Sequence[str]
This denotes a list of values for the given object type. The value depend upon the key. If rhs is defined this list will be ignored
entryValues List<Property Map>
objectType String
This is for specifying the policy critiera.
values List<String>
This denotes a list of values for the given object type. The value depend upon the key. If rhs is defined this list will be ignored

PolicyAccessForwardingRuleV2ConditionOperandEntryValue
, PolicyAccessForwardingRuleV2ConditionOperandEntryValueArgs

Lhs string
Rhs string
Lhs string
Rhs string
lhs String
rhs String
lhs string
rhs string
lhs str
rhs str
lhs String
rhs String

Import

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

Visit

Policy access timeout rule can be imported by using <RULE ID> as the import ID.

For example:

$ pulumi import zpa:index/policyAccessForwardingRuleV2:PolicyAccessForwardingRuleV2 example <rule_id>
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.