Documentation ¶
Index ¶
- Variables
- func CommonPolicySchema() map[string]*schema.Schema
- func ConvertV1ResponseToV2Request(v1Response policysetcontrollerv2.PolicyRuleResource) policysetcontrollerv2.PolicyRule
- func DiffSuppressFuncCoordinate(_, old, new string, _ *schema.ResourceData) bool
- func ExpandPolicyConditions(d *schema.ResourceData) ([]policysetcontroller.Conditions, error)
- func ExpandPolicyConditionsV2(d *schema.ResourceData) ([]policysetcontrollerv2.PolicyRuleResourceConditions, error)
- func ExpandPolicyRuleResourceConditions(d map[string]interface{}) ([]lssconfigcontroller.PolicyRuleResourceConditions, error)
- func GetBool(v interface{}) bool
- func GetGlobalPolicySetByPolicyType(client *Client, policyType string) (*policysetcontroller.PolicySet, error)
- func GetPolicyConditionsSchema(objectTypes []string) *schema.Schema
- func GetString(v interface{}) string
- func ListToStringSlice(v []interface{}) []string
- func MergeSchema(schemas ...map[string]*schema.Schema) map[string]*schema.Schema
- func PRAPortOverlap(s1, s2 []string) (bool, []string, []string)
- func SetToStringList(d *schema.ResourceData, key string) []string
- func SetToStringSlice(d *schema.Set) []string
- func ValidateConditions(conditions []policysetcontroller.Conditions, zClient *Client, ...) error
- func ValidateLatitude(val interface{}, _ string) (warns []string, errs []error)
- func ValidateLongitude(val interface{}, _ string) (warns []string, errs []error)
- func ValidatePolicyRuleConditions(d *schema.ResourceData) error
- func ZPAProvider() *schema.Provider
- type Client
- type Config
- type Getter
- type RulesOrders
Constants ¶
This section is empty.
Variables ¶
View Source
var AllowedPolicyTypes = map[string]struct{}{
"ACCESS_POLICY": {},
"GLOBAL_POLICY": {},
"TIMEOUT_POLICY": {},
"REAUTH_POLICY": {},
"CLIENT_FORWARDING_POLICY": {},
"BYPASS_POLICY": {},
"ISOLATION_POLICY": {},
"INSPECTION_POLICY": {},
"CREDENTIAL_POLICY": {},
"CAPABILITIES_POLICY": {},
"CLIENTLESS_SESSION_PROTECTION_POLICY": {},
"REDIRECTION_POLICY": {},
}
View Source
var ProviderVersion = "3.32.0"
ProviderVersion is set at build-time in the release process
Functions ¶
func CommonPolicySchema ¶
func ConvertV1ResponseToV2Request ¶ added in v3.3.24
func ConvertV1ResponseToV2Request(v1Response policysetcontrollerv2.PolicyRuleResource) policysetcontrollerv2.PolicyRule
// ConvertV1ResponseToV2Request converts a PolicyRuleResource (API v1 response) to a PolicyRule (API v2 request) with aggregated values.
func ConvertV1ResponseToV2Request(v1Response policysetcontrollerv2.PolicyRuleResource) policysetcontrollerv2.PolicyRule { v2Request := policysetcontrollerv2.PolicyRule{ ID: v1Response.ID, Name: v1Response.Name, Description: v1Response.Description, Action: v1Response.Action, PolicySetID: v1Response.PolicySetID, Operator: v1Response.Operator, CustomMsg: v1Response.CustomMsg, ZpnIsolationProfileID: v1Response.ZpnIsolationProfileID, ZpnInspectionProfileID: v1Response.ZpnInspectionProfileID, Conditions: make([]policysetcontrollerv2.PolicyRuleResourceConditions, 0), } for _, condition := range v1Response.Conditions { newCondition := policysetcontrollerv2.PolicyRuleResourceConditions{ Operator: condition.Operator, Operands: make([]policysetcontrollerv2.PolicyRuleResourceOperands, 0), } // Use a map to aggregate RHS values by ObjectType operandMap := make(map[string][]string) entryValuesMap := make(map[string][]policysetcontrollerv2.OperandsResourceLHSRHSValue) for _, operand := range condition.Operands { switch operand.ObjectType { case "APP", "APP_GROUP", "CONSOLE", "MACHINE_GRP", "LOCATION", "BRANCH_CONNECTOR_GROUP", "EDGE_CONNECTOR_GROUP", "CLIENT_TYPE": operandMap[operand.ObjectType] = append(operandMap[operand.ObjectType], operand.RHS) case "PLATFORM", "POSTURE", "TRUSTED_NETWORK", "SAML", "SCIM", "SCIM_GROUP", "COUNTRY_CODE": entryValuesMap[operand.ObjectType] = append(entryValuesMap[operand.ObjectType], policysetcontrollerv2.OperandsResourceLHSRHSValue{ LHS: operand.LHS, RHS: operand.RHS, }) } } // Create operand blocks from the aggregated data for objectType, values := range operandMap { newCondition.Operands = append(newCondition.Operands, policysetcontrollerv2.PolicyRuleResourceOperands{ ObjectType: objectType, Values: values, }) } for objectType, entryValues := range entryValuesMap { newCondition.Operands = append(newCondition.Operands, policysetcontrollerv2.PolicyRuleResourceOperands{ ObjectType: objectType, EntryValuesLHSRHS: entryValues, }) } v2Request.Conditions = append(v2Request.Conditions, newCondition) } return v2Request }
ConvertV1ResponseToV2Request converts a PolicyRuleResource (API v1 response) to a PolicyRule (API v2 request) with aggregated values.
func DiffSuppressFuncCoordinate ¶
func DiffSuppressFuncCoordinate(_, old, new string, _ *schema.ResourceData) bool
func ExpandPolicyConditions ¶
func ExpandPolicyConditions(d *schema.ResourceData) ([]policysetcontroller.Conditions, error)
func ExpandPolicyConditionsV2 ¶ added in v3.2.0
func ExpandPolicyConditionsV2(d *schema.ResourceData) ([]policysetcontrollerv2.PolicyRuleResourceConditions, error)
func ExpandPolicyRuleResourceConditions ¶
func ExpandPolicyRuleResourceConditions(d map[string]interface{}) ([]lssconfigcontroller.PolicyRuleResourceConditions, error)
func GetBool ¶ added in v3.2.0
func GetBool(v interface{}) bool
Helper to safely extract bool values from map
func GetGlobalPolicySetByPolicyType ¶
func GetGlobalPolicySetByPolicyType(client *Client, policyType string) (*policysetcontroller.PolicySet, error)
func ListToStringSlice ¶
func ListToStringSlice(v []interface{}) []string
func SetToStringList ¶
func SetToStringList(d *schema.ResourceData, key string) []string
func SetToStringSlice ¶
func ValidateConditions ¶
func ValidateConditions(conditions []policysetcontroller.Conditions, zClient *Client, microtenantID string) error
func ValidateLatitude ¶
func ValidateLongitude ¶
func ValidatePolicyRuleConditions ¶ added in v3.2.0
func ValidatePolicyRuleConditions(d *schema.ResourceData) error
ValidatePolicyRuleConditions ensures that the necessary values are provided for specific object types.
func ZPAProvider ¶
Types ¶
type Client ¶
type Client struct { AppConnectorGroup *services.Service AppConnectorController *services.Service AppConnectorSchedule *services.Service ApplicationSegment *services.Service ApplicationSegmentPRA *services.Service ApplicationSegmentInspection *services.Service ApplicationSegmentByType *services.Service AppServerController *services.Service BACertificate *services.Service BrowserAccess *services.Service CBIRegions *services.Service CBIProfileController *services.Service CBIZpaProfile *services.Service CBICertificateController *services.Service CBIBannerController *services.Service CloudConnectorGroup *services.Service CustomerVersionProfile *services.Service ClientTypes *services.Service EmergencyAccess *services.Service EnrollmentCert *services.Service IDPController *services.Service InspectionCustomControls *services.Service InspectionPredefinedControls *services.Service InspectionProfile *services.Service IsolationProfile *services.Service LSSConfigController *services.Service MachineGroup *services.Service MicroTenants *services.Service Platforms *services.Service PolicySetController *services.Service PolicySetControllerV2 *services.Service PostureProfile *services.Service PRAApproval *services.Service PRAConsole *services.Service PRACredential *services.Service PRAPortal *services.Service ProvisioningKey *services.Service SAMLAttribute *services.Service ScimGroup *scimgroup.Service ScimAttributeHeader *services.Service SegmentGroup *services.Service ServerGroup *services.Service ServiceEdgeGroup *services.Service ServiceEdgeSchedule *services.Service ServiceEdgeController *services.Service TrustedNetwork *services.Service }
type Config ¶
type RulesOrders ¶
Source Files ¶
- common.go
- config.go
- data_source_zpa_access_policy_client_types.go
- data_source_zpa_access_policy_platform.go
- data_source_zpa_app_connector_assistant_schedule.go
- data_source_zpa_app_connector_controller.go
- data_source_zpa_app_connector_group.go
- data_source_zpa_app_server_controller.go
- data_source_zpa_application_segment.go
- data_source_zpa_application_segment_browser_access.go
- data_source_zpa_application_segment_by_type.go
- data_source_zpa_application_segment_inspection.go
- data_source_zpa_application_segment_pra.go
- data_source_zpa_ba_certificate.go
- data_source_zpa_cloud_browser_isolation_banner.go
- data_source_zpa_cloud_browser_isolation_certificate.go
- data_source_zpa_cloud_browser_isolation_external_profile.go
- data_source_zpa_cloud_browser_isolation_region.go
- data_source_zpa_cloud_browser_isolation_zpaprofiles.go
- data_source_zpa_cloud_connector_group.go
- data_source_zpa_customer_version_profile.go
- data_source_zpa_enrollement_cert.go
- data_source_zpa_idp_controller.go
- data_source_zpa_inspection_all_predefined_controls.go
- data_source_zpa_inspection_custom_controls.go
- data_source_zpa_inspection_predefined_controls.go
- data_source_zpa_inspection_profile.go
- data_source_zpa_isolation_profiles.go
- data_source_zpa_lss_config_client_types.go
- data_source_zpa_lss_config_controller.go
- data_source_zpa_lss_config_log_types_formats.go
- data_source_zpa_lss_config_status_codes.go
- data_source_zpa_machine_group.go
- data_source_zpa_microtenant_controller.go
- data_source_zpa_policy_type.go
- data_source_zpa_posture_profile.go
- data_source_zpa_pra_approval.go
- data_source_zpa_pra_console.go
- data_source_zpa_pra_credential_controller.go
- data_source_zpa_pra_portal_controller.go
- data_source_zpa_provisioning_key.go
- data_source_zpa_saml_attribute.go
- data_source_zpa_scim_attribute_header.go
- data_source_zpa_scim_group.go
- data_source_zpa_segment_group.go
- data_source_zpa_server_group.go
- data_source_zpa_service_edge.go
- data_source_zpa_service_edge_assistant_schedule.go
- data_source_zpa_service_edge_group.go
- data_source_zpa_trusted_network.go
- provider.go
- resource_zpa_app_connector_assistant_schedule.go
- resource_zpa_app_connector_group.go
- resource_zpa_app_server_controller.go
- resource_zpa_application_segment.go
- resource_zpa_application_segment_browser_access.go
- resource_zpa_application_segment_inspection.go
- resource_zpa_application_segment_pra.go
- resource_zpa_ba_certificate.go
- resource_zpa_cloud_browser_isolation_banner.go
- resource_zpa_cloud_browser_isolation_certificate.go
- resource_zpa_cloud_browser_isolation_external_profile.go
- resource_zpa_emergency_access.go
- resource_zpa_inspection_custom_controls.go
- resource_zpa_inspection_profile.go
- resource_zpa_lss_config_controller.go
- resource_zpa_microtenant_controller.go
- resource_zpa_policy_access_forwarding_rule.go
- resource_zpa_policy_access_forwarding_rule_v2.go
- resource_zpa_policy_access_inspection_rule.go
- resource_zpa_policy_access_inspection_rule_v2.go
- resource_zpa_policy_access_isolation_rule.go
- resource_zpa_policy_access_isolation_rule_v2.go
- resource_zpa_policy_access_redirection_rule.go
- resource_zpa_policy_access_rule.go
- resource_zpa_policy_access_rule_reorder.go
- resource_zpa_policy_access_rule_v2.go
- resource_zpa_policy_access_timeout_rule.go
- resource_zpa_policy_access_timeout_rule_v2.go
- resource_zpa_policy_capabilities_access_rule.go
- resource_zpa_policy_credential_access_rule.go
- resource_zpa_pra_approval.go
- resource_zpa_pra_console_controller.go
- resource_zpa_pra_credential_controller.go
- resource_zpa_pra_portal_controller.go
- resource_zpa_provisioning_key.go
- resource_zpa_segment_group.go
- resource_zpa_server_group.go
- resource_zpa_service_edge_assistant_schedule.go
- resource_zpa_service_edge_group.go
- utils.go
- validator.go
- version.go
Click to show internal directories.
Click to hide internal directories.