def __init__(__self__, *, config: Optional[pulumi.Input['SecurityPolicyRuleMatcherConfigArgs']]=None, expr: Optional[pulumi.Input['ExprArgs']]=None, versioned_expr: Optional[pulumi.Input['SecurityPolicyRuleMatcherVersionedExpr']]=None):
    "\n        Represents a match condition that incoming traffic is evaluated against. Exactly one field must be specified.\n        :param pulumi.Input['SecurityPolicyRuleMatcherConfigArgs'] config: The configuration options available when specifying versioned_expr. This field must be specified if versioned_expr is specified and cannot be specified if versioned_expr is not specified.\n        :param pulumi.Input['ExprArgs'] expr: User defined CEVAL expression. A CEVAL expression is used to specify match criteria such as origin.ip, source.region_code and contents in the request header.\n        :param pulumi.Input['SecurityPolicyRuleMatcherVersionedExpr'] versioned_expr: Preconfigured versioned expression. If this field is specified, config must also be specified. Available preconfigured expressions along with their requirements are: SRC_IPS_V1 - must specify the corresponding src_ip_range field in config.\n        "
    if (config is not None):
        pulumi.set(__self__, 'config', config)
    if (expr is not None):
        pulumi.set(__self__, 'expr', expr)
    if (versioned_expr is not None):
        pulumi.set(__self__, 'versioned_expr', versioned_expr)
Represents a match condition that incoming traffic is evaluated against. Exactly one field must be specified.
:param pulumi.Input['SecurityPolicyRuleMatcherConfigArgs'] config: The configuration options available when specifying versioned_expr. This field must be specified if versioned_expr is specified and cannot be specified if versioned_expr is not specified.
:param pulumi.Input['ExprArgs'] expr: User defined CEVAL expression. A CEVAL expression is used to specify match criteria such as origin.ip, source.region_code and contents in the request header.
:param pulumi.Input['SecurityPolicyRuleMatcherVersionedExpr'] versioned_expr: Preconfigured versioned expression. If this field is specified, config must also be specified. Available preconfigured expressions along with their requirements are: SRC_IPS_V1 - must specify the corresponding src_ip_range field in config.
def __init__(__self__, *, config: Optional[pulumi.Input['SecurityPolicyRuleMatcherConfigArgs']]=None, expr: Optional[pulumi.Input['ExprArgs']]=None, versioned_expr: Optional[pulumi.Input['SecurityPolicyRuleMatcherVersionedExpr']]=None):
    "\n        Represents a match condition that incoming traffic is evaluated against. Exactly one field must be specified.\n        :param pulumi.Input['SecurityPolicyRuleMatcherConfigArgs'] config: The configuration options available when specifying versioned_expr. This field must be specified if versioned_expr is specified and cannot be specified if versioned_expr is not specified.\n        :param pulumi.Input['ExprArgs'] expr: User defined CEVAL expression. A CEVAL expression is used to specify match criteria such as origin.ip, source.region_code and contents in the request header.\n        :param pulumi.Input['SecurityPolicyRuleMatcherVersionedExpr'] versioned_expr: Preconfigured versioned expression. If this field is specified, config must also be specified. Available preconfigured expressions along with their requirements are: SRC_IPS_V1 - must specify the corresponding src_ip_range field in config.\n        "
    if (config is not None):
        pulumi.set(__self__, 'config', config)
    if (expr is not None):
        pulumi.set(__self__, 'expr', expr)
    if (versioned_expr is not None):
        pulumi.set(__self__, 'versioned_expr', versioned_expr)