---
search:
  exclude: true
---

# <a id="bitdrift.public.unary.workflows.v1.GenericMatch"></a>GenericMatch

| Field | Type | Description |
|---|---|---|
| base_matcher | <span class="proto-type proto-type-message">[<i class="proto-type-part">bitdrift</i><i class="proto-type-dot">.</i><i class="proto-type-part">public</i><i class="proto-type-dot">.</i><i class="proto-type-part">unary</i><i class="proto-type-dot">.</i><i class="proto-type-part">workflows</i><i class="proto-type-dot">.</i><i class="proto-type-part">v1</i><i class="proto-type-dot">.</i><i class="proto-type-part">GenericMatch</i><i class="proto-type-dot">.</i><i class="proto-type-part">GenericMatchCondition</i>](#bitdrift.public.unary.workflows.v1.GenericMatch.GenericMatchCondition){ title="bitdrift.public.unary.workflows.v1.GenericMatch.GenericMatchCondition"}</span> | A single predicate to evaluate.<br><br>(Only one of <em>base_matcher</em>, or <em>or_matcher</em>, <em>and_matcher</em>, <em>not_matcher</em> can be set) |
| or_matcher | <span class="proto-type proto-type-message">[<i class="proto-type-part">bitdrift</i><i class="proto-type-dot">.</i><i class="proto-type-part">public</i><i class="proto-type-dot">.</i><i class="proto-type-part">unary</i><i class="proto-type-dot">.</i><i class="proto-type-part">workflows</i><i class="proto-type-dot">.</i><i class="proto-type-part">v1</i><i class="proto-type-dot">.</i><i class="proto-type-part">GenericMatch</i><i class="proto-type-dot">.</i><i class="proto-type-part">MatcherList</i>](#bitdrift.public.unary.workflows.v1.GenericMatch.MatcherList){ title="bitdrift.public.unary.workflows.v1.GenericMatch.MatcherList"}</span> | A list of predicates to be OR-ed together.<br><br>(Only one of <em>or_matcher</em>, or <em>base_matcher</em>, <em>and_matcher</em>, <em>not_matcher</em> can be set) |
| and_matcher | <span class="proto-type proto-type-message">[<i class="proto-type-part">bitdrift</i><i class="proto-type-dot">.</i><i class="proto-type-part">public</i><i class="proto-type-dot">.</i><i class="proto-type-part">unary</i><i class="proto-type-dot">.</i><i class="proto-type-part">workflows</i><i class="proto-type-dot">.</i><i class="proto-type-part">v1</i><i class="proto-type-dot">.</i><i class="proto-type-part">GenericMatch</i><i class="proto-type-dot">.</i><i class="proto-type-part">MatcherList</i>](#bitdrift.public.unary.workflows.v1.GenericMatch.MatcherList){ title="bitdrift.public.unary.workflows.v1.GenericMatch.MatcherList"}</span> | A list of predicates to be AND-ed together.<br><br>(Only one of <em>and_matcher</em>, or <em>base_matcher</em>, <em>or_matcher</em>, <em>not_matcher</em> can be set) |
| not_matcher | <span class="proto-type proto-type-message">[<i class="proto-type-part">bitdrift</i><i class="proto-type-dot">.</i><i class="proto-type-part">public</i><i class="proto-type-dot">.</i><i class="proto-type-part">unary</i><i class="proto-type-dot">.</i><i class="proto-type-part">workflows</i><i class="proto-type-dot">.</i><i class="proto-type-part">v1</i><i class="proto-type-dot">.</i><i class="proto-type-part">GenericMatch</i><i class="proto-type-dot">.</i><i class="proto-type-part">GenericMatchCondition</i>](#bitdrift.public.unary.workflows.v1.GenericMatch.GenericMatchCondition){ title="bitdrift.public.unary.workflows.v1.GenericMatch.GenericMatchCondition"}</span> | An inversion of a predicate.<br><br>(Only one of <em>not_matcher</em>, or <em>base_matcher</em>, <em>or_matcher</em>, <em>and_matcher</em> can be set) |

#### Example
```json
{
  "base_matcher": {
    "log_field": "field_name",
    "operator": "EQUAL",
    "string_value": "example"
  }
}
```

# <a id="bitdrift.public.unary.workflows.v1.GenericMatch.GenericMatchCondition"></a>GenericMatch.GenericMatchCondition

| Field | Type | Description |
|---|---|---|
| log_field | <span class="proto-type proto-type-primitive">string</span> | Match against a log field.<br><br>(Only one of <em>log_field</em>, or <em>log_body</em>, <em>log_field_json_path</em>, <em>state_key</em> can be set) |
| log_body | <span class="proto-type proto-type-primitive">bool</span> | Match against the log body.<br><br>(Only one of <em>log_body</em>, or <em>log_field</em>, <em>log_field_json_path</em>, <em>state_key</em> can be set) |
| log_field_json_path | <span class="proto-type proto-type-primitive">string</span> | Match against a JSON path expression inside a log field.<br><br>(Only one of <em>log_field_json_path</em>, or <em>log_field</em>, <em>log_body</em>, <em>state_key</em> can be set) |
| state_key | <span class="proto-type proto-type-message">[<i class="proto-type-part">bitdrift</i><i class="proto-type-dot">.</i><i class="proto-type-part">public</i><i class="proto-type-dot">.</i><i class="proto-type-part">unary</i><i class="proto-type-dot">.</i><i class="proto-type-part">workflows</i><i class="proto-type-dot">.</i><i class="proto-type-part">v1</i><i class="proto-type-dot">.</i><i class="proto-type-part">GenericMatch</i><i class="proto-type-dot">.</i><i class="proto-type-part">GenericMatchCondition</i><i class="proto-type-dot">.</i><i class="proto-type-part">StateKey</i>](#bitdrift.public.unary.workflows.v1.GenericMatch.GenericMatchCondition.StateKey){ title="bitdrift.public.unary.workflows.v1.GenericMatch.GenericMatchCondition.StateKey"}</span> | A state value specified by the scope and key.<br><br>(Only one of <em>state_key</em>, or <em>log_field</em>, <em>log_body</em>, <em>log_field_json_path</em> can be set) |
| operator | <span class="proto-type proto-type-enum">[<i class="proto-type-part">bitdrift</i><i class="proto-type-dot">.</i><i class="proto-type-part">public</i><i class="proto-type-dot">.</i><i class="proto-type-part">unary</i><i class="proto-type-dot">.</i><i class="proto-type-part">workflows</i><i class="proto-type-dot">.</i><i class="proto-type-part">v1</i><i class="proto-type-dot">.</i><i class="proto-type-part">Operator</i>](bitdrift_public_unary_workflows_v1_Operator.md#bitdrift.public.unary.workflows.v1.Operator){ title="bitdrift.public.unary.workflows.v1.Operator"}</span> | The operator of the conditional. |
| string_value | <span class="proto-type proto-type-primitive">string</span> | A string value to match against.<br><br>(Only one of <em>string_value</em>, or <em>semver_value</em>, <em>int_value</em>, <em>double_value</em>, <em>saved_field_id</em> can be set) |
| semver_value | <span class="proto-type proto-type-primitive">string</span> | A semantic version value to match against.<br><br>(Only one of <em>semver_value</em>, or <em>string_value</em>, <em>int_value</em>, <em>double_value</em>, <em>saved_field_id</em> can be set) |
| int_value | <span class="proto-type proto-type-primitive">int32</span> | An integer value to match against.<br><br>(Only one of <em>int_value</em>, or <em>string_value</em>, <em>semver_value</em>, <em>double_value</em>, <em>saved_field_id</em> can be set) |
| double_value | <span class="proto-type proto-type-primitive">double</span> | A double value to match against.<br><br>(Only one of <em>double_value</em>, or <em>string_value</em>, <em>semver_value</em>, <em>int_value</em>, <em>saved_field_id</em> can be set) |
| saved_field_id | <span class="proto-type proto-type-primitive">string</span> | A reference to a value saved from a previous match rule.<br><br>(Only one of <em>saved_field_id</em>, or <em>string_value</em>, <em>semver_value</em>, <em>int_value</em>, <em>double_value</em> can be set) |

#### Example
```json
{
  "log_field": "field_name",
  "operator": "EQUAL",
  "string_value": "example"
}
```

# <a id="bitdrift.public.unary.workflows.v1.GenericMatch.GenericMatchCondition.StateKey"></a>GenericMatch.GenericMatchCondition.StateKey

| Field | Type | Description |
|---|---|---|
| scope | <span class="proto-type proto-type-enum">[<i class="proto-type-part">bitdrift</i><i class="proto-type-dot">.</i><i class="proto-type-part">public</i><i class="proto-type-dot">.</i><i class="proto-type-part">unary</i><i class="proto-type-dot">.</i><i class="proto-type-part">workflows</i><i class="proto-type-dot">.</i><i class="proto-type-part">v1</i><i class="proto-type-dot">.</i><i class="proto-type-part">StateScope</i>](bitdrift_public_unary_workflows_v1_StateScope.md#bitdrift.public.unary.workflows.v1.StateScope){ title="bitdrift.public.unary.workflows.v1.StateScope"}</span> | The scope of the state key to look up. |
| key | <span class="proto-type proto-type-primitive">string</span> | The key within the given scope to read the value from. |

#### Example
```json
{
  "key": "example-key",
  "scope": "GLOBAL_STATE"
}
```

# <a id="bitdrift.public.unary.workflows.v1.GenericMatch.MatcherList"></a>GenericMatch.MatcherList

A list of two or more matchers. Used to allow using a list within a oneof for and/or matching.

| Field | Type | Description |
|---|---|---|
| matchers | <span class="proto-type proto-type-message">repeated [<i class="proto-type-part">bitdrift</i><i class="proto-type-dot">.</i><i class="proto-type-part">public</i><i class="proto-type-dot">.</i><i class="proto-type-part">unary</i><i class="proto-type-dot">.</i><i class="proto-type-part">workflows</i><i class="proto-type-dot">.</i><i class="proto-type-part">v1</i><i class="proto-type-dot">.</i><i class="proto-type-part">GenericMatch</i>](#bitdrift.public.unary.workflows.v1.GenericMatch){ title="bitdrift.public.unary.workflows.v1.GenericMatch"}</span> | The child matchers to evaluate together. |

#### Example
```json
{
  "matchers": [
    {
      "base_matcher": {
        "log_field": "field_name",
        "operator": "EQUAL",
        "string_value": "example"
      }
    }
  ]
}
```

