> ## Documentation Index
> Fetch the complete documentation index at: https://docs.odigos.io/llms.txt
> Use this file to discover all available pages before exploring further.

# actions.odigos.io/v1alpha1

## Resource Types

* [AddClusterInfo](#AddClusterInfo)
* [DeleteAttribute](#DeleteAttribute)
* [ErrorSampler](#ErrorSampler)
* [K8sAttributesResolver](#K8sAttributesResolver)
* [LatencySampler](#LatencySampler)
* [PiiMasking](#PiiMasking)
* [ProbabilisticSampler](#ProbabilisticSampler)
* [RenameAttribute](#RenameAttribute)
* [ServiceNameSampler](#ServiceNameSampler)
* [SpanAttributeSampler](#SpanAttributeSampler)

## `AddClusterInfo` <a id="AddClusterInfo" />

<p>AddClusterInfo is the Schema for the addclusterinfo odigos action API
DEPRECATED: Use odigosv1.Action instead</p>

<table class="table">
  <thead><tr><th width="30%">Field</th><th>Type</th><th>Description</th></tr></thead>

  <tbody>
    <tr><td><code>apiVersion</code></td><td>string</td><td><code>/v1alpha1</code></td></tr>
    <tr><td><code>kind</code></td><td>string</td><td><code>AddClusterInfo</code></td></tr>

    <tr>
      <td>
        <code>metadata</code> <B>\[Required]</B>
      </td>

      <td>
        <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#objectmeta-v1-meta"><code>meta/v1.ObjectMeta</code></a>
      </td>

      <td>
        <span class="text-muted">No description provided.</span>
        Refer to the Kubernetes API documentation for the fields of the <code>metadata</code> field.
      </td>
    </tr>

    <tr>
      <td>
        <code>spec</code> <B>\[Required]</B>
      </td>

      <td>
        <a href="#AddClusterInfoSpec"><code>AddClusterInfoSpec</code></a>
      </td>

      <td>
        <span class="text-muted">No description provided.</span>
      </td>
    </tr>

    <tr>
      <td>
        <code>status</code> <B>\[Required]</B>
      </td>

      <td>
        <a href="#AddClusterInfoStatus"><code>AddClusterInfoStatus</code></a>
      </td>

      <td>
        <span class="text-muted">No description provided.</span>
      </td>
    </tr>
  </tbody>
</table>

## `DeleteAttribute` <a id="DeleteAttribute" />

<p>DeleteAttribute is the Schema for the DeleteAttribute odigos action API
DEPRECATED: Use odigosv1.Action instead</p>

<table class="table">
  <thead><tr><th width="30%">Field</th><th>Type</th><th>Description</th></tr></thead>

  <tbody>
    <tr><td><code>apiVersion</code></td><td>string</td><td><code>/v1alpha1</code></td></tr>
    <tr><td><code>kind</code></td><td>string</td><td><code>DeleteAttribute</code></td></tr>

    <tr>
      <td>
        <code>metadata</code> <B>\[Required]</B>
      </td>

      <td>
        <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#objectmeta-v1-meta"><code>meta/v1.ObjectMeta</code></a>
      </td>

      <td>
        <span class="text-muted">No description provided.</span>
        Refer to the Kubernetes API documentation for the fields of the <code>metadata</code> field.
      </td>
    </tr>

    <tr>
      <td>
        <code>spec</code> <B>\[Required]</B>
      </td>

      <td>
        <a href="#DeleteAttributeSpec"><code>DeleteAttributeSpec</code></a>
      </td>

      <td>
        <span class="text-muted">No description provided.</span>
      </td>
    </tr>

    <tr>
      <td>
        <code>status</code> <B>\[Required]</B>
      </td>

      <td>
        <a href="#DeleteAttributeStatus"><code>DeleteAttributeStatus</code></a>
      </td>

      <td>
        <span class="text-muted">No description provided.</span>
      </td>
    </tr>
  </tbody>
</table>

## `ErrorSampler` <a id="ErrorSampler" />

<p>ErrorSampler is the Schema for the ErrorSampler CRD.
It defines sampling logic that always retains traces with errors, and optionally samples
non-error traces based on the fallback ratio.
DEPRECATED: Use odigosv1.Action instead</p>

<table class="table">
  <thead><tr><th width="30%">Field</th><th>Type</th><th>Description</th></tr></thead>

  <tbody>
    <tr><td><code>apiVersion</code></td><td>string</td><td><code>/v1alpha1</code></td></tr>
    <tr><td><code>kind</code></td><td>string</td><td><code>ErrorSampler</code></td></tr>

    <tr>
      <td>
        <code>metadata</code> <B>\[Required]</B>
      </td>

      <td>
        <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#objectmeta-v1-meta"><code>meta/v1.ObjectMeta</code></a>
      </td>

      <td>
        <span class="text-muted">No description provided.</span>
        Refer to the Kubernetes API documentation for the fields of the <code>metadata</code> field.
      </td>
    </tr>

    <tr>
      <td>
        <code>spec</code> <B>\[Required]</B>
      </td>

      <td>
        <a href="#ErrorSamplerSpec"><code>ErrorSamplerSpec</code></a>
      </td>

      <td>
        <span class="text-muted">No description provided.</span>
      </td>
    </tr>

    <tr>
      <td>
        <code>status</code> <B>\[Required]</B>
      </td>

      <td>
        <a href="#ErrorSamplerStatus"><code>ErrorSamplerStatus</code></a>
      </td>

      <td>
        <span class="text-muted">No description provided.</span>
      </td>
    </tr>
  </tbody>
</table>

## `K8sAttributesResolver` <a id="K8sAttributesResolver" />

<p>K8sAttributesResolver allows adding an action to collect k8s attributes.
DEPRECATED: Use odigosv1.Action instead</p>

<table class="table">
  <thead><tr><th width="30%">Field</th><th>Type</th><th>Description</th></tr></thead>

  <tbody>
    <tr><td><code>apiVersion</code></td><td>string</td><td><code>/v1alpha1</code></td></tr>
    <tr><td><code>kind</code></td><td>string</td><td><code>K8sAttributesResolver</code></td></tr>

    <tr>
      <td>
        <code>metadata</code> <B>\[Required]</B>
      </td>

      <td>
        <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#objectmeta-v1-meta"><code>meta/v1.ObjectMeta</code></a>
      </td>

      <td>
        <span class="text-muted">No description provided.</span>
        Refer to the Kubernetes API documentation for the fields of the <code>metadata</code> field.
      </td>
    </tr>

    <tr>
      <td>
        <code>spec</code> <B>\[Required]</B>
      </td>

      <td>
        <a href="#K8sAttributesSpec"><code>K8sAttributesSpec</code></a>
      </td>

      <td>
        <span class="text-muted">No description provided.</span>
      </td>
    </tr>

    <tr>
      <td>
        <code>status</code> <B>\[Required]</B>
      </td>

      <td>
        <a href="#K8sAttributesStatus"><code>K8sAttributesStatus</code></a>
      </td>

      <td>
        <span class="text-muted">No description provided.</span>
      </td>
    </tr>
  </tbody>
</table>

## `LatencySampler` <a id="LatencySampler" />

<p>LatencySampler is the Schema for defining latency-based trace sampling rules.
It supports targeting specific services and HTTP routes and applying latency thresholds
to determine sampling eligibility.
DEPRECATED: Use odigosv1.Action instead</p>

<table class="table">
  <thead><tr><th width="30%">Field</th><th>Type</th><th>Description</th></tr></thead>

  <tbody>
    <tr><td><code>apiVersion</code></td><td>string</td><td><code>/v1alpha1</code></td></tr>
    <tr><td><code>kind</code></td><td>string</td><td><code>LatencySampler</code></td></tr>

    <tr>
      <td>
        <code>metadata</code> <B>\[Required]</B>
      </td>

      <td>
        <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#objectmeta-v1-meta"><code>meta/v1.ObjectMeta</code></a>
      </td>

      <td>
        <span class="text-muted">No description provided.</span>
        Refer to the Kubernetes API documentation for the fields of the <code>metadata</code> field.
      </td>
    </tr>

    <tr>
      <td>
        <code>spec</code> <B>\[Required]</B>
      </td>

      <td>
        <a href="#LatencySamplerSpec"><code>LatencySamplerSpec</code></a>
      </td>

      <td>
        <span class="text-muted">No description provided.</span>
      </td>
    </tr>

    <tr>
      <td>
        <code>status</code> <B>\[Required]</B>
      </td>

      <td>
        <a href="#LatencySamplerStatus"><code>LatencySamplerStatus</code></a>
      </td>

      <td>
        <span class="text-muted">No description provided.</span>
      </td>
    </tr>
  </tbody>
</table>

## `PiiMasking` <a id="PiiMasking" />

<p>PiiMasking is the Schema for the PiiMasking odigos action API
DEPRECATED: Use odigosv1.Action instead</p>

<table class="table">
  <thead><tr><th width="30%">Field</th><th>Type</th><th>Description</th></tr></thead>

  <tbody>
    <tr><td><code>apiVersion</code></td><td>string</td><td><code>/v1alpha1</code></td></tr>
    <tr><td><code>kind</code></td><td>string</td><td><code>PiiMasking</code></td></tr>

    <tr>
      <td>
        <code>metadata</code> <B>\[Required]</B>
      </td>

      <td>
        <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#objectmeta-v1-meta"><code>meta/v1.ObjectMeta</code></a>
      </td>

      <td>
        <span class="text-muted">No description provided.</span>
        Refer to the Kubernetes API documentation for the fields of the <code>metadata</code> field.
      </td>
    </tr>

    <tr>
      <td>
        <code>spec</code> <B>\[Required]</B>
      </td>

      <td>
        <a href="#PiiMaskingSpec"><code>PiiMaskingSpec</code></a>
      </td>

      <td>
        <span class="text-muted">No description provided.</span>
      </td>
    </tr>

    <tr>
      <td>
        <code>status</code> <B>\[Required]</B>
      </td>

      <td>
        <a href="#PiiMaskingStatus"><code>PiiMaskingStatus</code></a>
      </td>

      <td>
        <span class="text-muted">No description provided.</span>
      </td>
    </tr>
  </tbody>
</table>

## `ProbabilisticSampler` <a id="ProbabilisticSampler" />

<p>ProbabilisticSampler is the Schema for the ProbabilisticSampler odigos action API
DEPRECATED: Use odigosv1.Action instead</p>

<table class="table">
  <thead><tr><th width="30%">Field</th><th>Type</th><th>Description</th></tr></thead>

  <tbody>
    <tr><td><code>apiVersion</code></td><td>string</td><td><code>/v1alpha1</code></td></tr>
    <tr><td><code>kind</code></td><td>string</td><td><code>ProbabilisticSampler</code></td></tr>

    <tr>
      <td>
        <code>metadata</code> <B>\[Required]</B>
      </td>

      <td>
        <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#objectmeta-v1-meta"><code>meta/v1.ObjectMeta</code></a>
      </td>

      <td>
        <span class="text-muted">No description provided.</span>
        Refer to the Kubernetes API documentation for the fields of the <code>metadata</code> field.
      </td>
    </tr>

    <tr>
      <td>
        <code>spec</code> <B>\[Required]</B>
      </td>

      <td>
        <a href="#ProbabilisticSamplerSpec"><code>ProbabilisticSamplerSpec</code></a>
      </td>

      <td>
        <span class="text-muted">No description provided.</span>
      </td>
    </tr>

    <tr>
      <td>
        <code>status</code> <B>\[Required]</B>
      </td>

      <td>
        <a href="#ProbabilisticSamplerStatus"><code>ProbabilisticSamplerStatus</code></a>
      </td>

      <td>
        <span class="text-muted">No description provided.</span>
      </td>
    </tr>
  </tbody>
</table>

## `RenameAttribute` <a id="RenameAttribute" />

<p>RenameAttribute is the Schema for the RenameAttribute odigos action API
DEPRECATED: Use odigosv1.Action instead</p>

<table class="table">
  <thead><tr><th width="30%">Field</th><th>Type</th><th>Description</th></tr></thead>

  <tbody>
    <tr><td><code>apiVersion</code></td><td>string</td><td><code>/v1alpha1</code></td></tr>
    <tr><td><code>kind</code></td><td>string</td><td><code>RenameAttribute</code></td></tr>

    <tr>
      <td>
        <code>metadata</code> <B>\[Required]</B>
      </td>

      <td>
        <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#objectmeta-v1-meta"><code>meta/v1.ObjectMeta</code></a>
      </td>

      <td>
        <span class="text-muted">No description provided.</span>
        Refer to the Kubernetes API documentation for the fields of the <code>metadata</code> field.
      </td>
    </tr>

    <tr>
      <td>
        <code>spec</code> <B>\[Required]</B>
      </td>

      <td>
        <a href="#RenameAttributeSpec"><code>RenameAttributeSpec</code></a>
      </td>

      <td>
        <span class="text-muted">No description provided.</span>
      </td>
    </tr>

    <tr>
      <td>
        <code>status</code> <B>\[Required]</B>
      </td>

      <td>
        <a href="#RenameAttributeStatus"><code>RenameAttributeStatus</code></a>
      </td>

      <td>
        <span class="text-muted">No description provided.</span>
      </td>
    </tr>
  </tbody>
</table>

## `ServiceNameSampler` <a id="ServiceNameSampler" />

<p>ServiceNameSampler is the Schema for the servicenamesamplers API.
It enables trace sampling based on whether specific services appear within a trace.
DEPRECATED: Use odigosv1.Action instead</p>

<table class="table">
  <thead><tr><th width="30%">Field</th><th>Type</th><th>Description</th></tr></thead>

  <tbody>
    <tr><td><code>apiVersion</code></td><td>string</td><td><code>/v1alpha1</code></td></tr>
    <tr><td><code>kind</code></td><td>string</td><td><code>ServiceNameSampler</code></td></tr>

    <tr>
      <td>
        <code>metadata</code> <B>\[Required]</B>
      </td>

      <td>
        <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#objectmeta-v1-meta"><code>meta/v1.ObjectMeta</code></a>
      </td>

      <td>
        <span class="text-muted">No description provided.</span>
        Refer to the Kubernetes API documentation for the fields of the <code>metadata</code> field.
      </td>
    </tr>

    <tr>
      <td>
        <code>spec</code> <B>\[Required]</B>
      </td>

      <td>
        <a href="#ServiceNameSamplerSpec"><code>ServiceNameSamplerSpec</code></a>
      </td>

      <td>
        <span class="text-muted">No description provided.</span>
      </td>
    </tr>

    <tr>
      <td>
        <code>status</code> <B>\[Required]</B>
      </td>

      <td>
        <a href="#ServiceNameSamplerStatus"><code>ServiceNameSamplerStatus</code></a>
      </td>

      <td>
        <span class="text-muted">No description provided.</span>
      </td>
    </tr>
  </tbody>
</table>

## `SpanAttributeSampler` <a id="SpanAttributeSampler" />

<p>SpanAttributeSampler is the Schema for the spanattributesamplers API.
It holds the specification for sampling spans based on attribute conditions,
as well as the sampler's current status.
DEPRECATED: Use odigosv1.Action instead</p>

<table class="table">
  <thead><tr><th width="30%">Field</th><th>Type</th><th>Description</th></tr></thead>

  <tbody>
    <tr><td><code>apiVersion</code></td><td>string</td><td><code>/v1alpha1</code></td></tr>
    <tr><td><code>kind</code></td><td>string</td><td><code>SpanAttributeSampler</code></td></tr>

    <tr>
      <td>
        <code>metadata</code> <B>\[Required]</B>
      </td>

      <td>
        <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#objectmeta-v1-meta"><code>meta/v1.ObjectMeta</code></a>
      </td>

      <td>
        <span class="text-muted">No description provided.</span>
        Refer to the Kubernetes API documentation for the fields of the <code>metadata</code> field.
      </td>
    </tr>

    <tr>
      <td>
        <code>spec</code> <B>\[Required]</B>
      </td>

      <td>
        <a href="#SpanAttributeSamplerSpec"><code>SpanAttributeSamplerSpec</code></a>
      </td>

      <td>
        <span class="text-muted">No description provided.</span>
      </td>
    </tr>

    <tr>
      <td>
        <code>status</code> <B>\[Required]</B>
      </td>

      <td>
        <a href="#SpanAttributeSamplerStatus"><code>SpanAttributeSamplerStatus</code></a>
      </td>

      <td>
        <span class="text-muted">No description provided.</span>
      </td>
    </tr>
  </tbody>
</table>

## `AddClusterInfoConfig` <a id="AddClusterInfoConfig" />

**Appears in:**

* [ActionSpec](#odigos-io-v1alpha1-ActionSpec)

<table class="table">
  <thead><tr><th width="30%">Field</th><th>Type</th><th>Description</th></tr></thead>

  <tbody>
    <tr>
      <td>
        <code>clusterAttributes</code> <B>\[Required]</B>
      </td>

      <td>
        <a href="#OtelAttributeWithValue"><code>\[]OtelAttributeWithValue</code></a>
      </td>

      <td>
        <span class="text-muted">No description provided.</span>
      </td>
    </tr>

    <tr>
      <td>
        <code>overwriteExistingValues</code> <B>\[Required]</B>
      </td>

      <td>
        <code>bool</code>
      </td>

      <td>
        <span class="text-muted">No description provided.</span>
      </td>
    </tr>
  </tbody>
</table>

## `AddClusterInfoSpec` <a id="AddClusterInfoSpec" />

**Appears in:**

* [AddClusterInfo](#AddClusterInfo)

<p>AddClusterInfoSpec defines the desired state of AddClusterInfo action</p>

<table class="table">
  <thead><tr><th width="30%">Field</th><th>Type</th><th>Description</th></tr></thead>

  <tbody>
    <tr>
      <td>
        <code>actionName</code> <B>\[Required]</B>
      </td>

      <td>
        <code>string</code>
      </td>

      <td>
        <span class="text-muted">No description provided.</span>
      </td>
    </tr>

    <tr>
      <td>
        <code>notes</code> <B>\[Required]</B>
      </td>

      <td>
        <code>string</code>
      </td>

      <td>
        <span class="text-muted">No description provided.</span>
      </td>
    </tr>

    <tr>
      <td>
        <code>disabled</code> <B>\[Required]</B>
      </td>

      <td>
        <code>bool</code>
      </td>

      <td>
        <span class="text-muted">No description provided.</span>
      </td>
    </tr>

    <tr>
      <td>
        <code>signals</code> <B>\[Required]</B>
      </td>

      <td>
        <a href="https://pkg.go.dev/github.com/odigos-io/odigos/common#ObservabilitySignal"><code>\[]common.ObservabilitySignal</code></a>
      </td>

      <td>
        <span class="text-muted">No description provided.</span>
      </td>
    </tr>

    <tr>
      <td>
        <code>clusterAttributes</code> <B>\[Required]</B>
      </td>

      <td>
        <a href="#OtelAttributeWithValue"><code>\[]OtelAttributeWithValue</code></a>
      </td>

      <td>
        <span class="text-muted">No description provided.</span>
      </td>
    </tr>

    <tr>
      <td>
        <code>overwriteExistingValues</code> <B>\[Required]</B>
      </td>

      <td>
        <code>bool</code>
      </td>

      <td>
        <span class="text-muted">No description provided.</span>
      </td>
    </tr>
  </tbody>
</table>

## `AddClusterInfoStatus` <a id="AddClusterInfoStatus" />

**Appears in:**

* [AddClusterInfo](#AddClusterInfo)

<p>AddClusterInfoStatus defines the observed state of AddClusterInfo action</p>

<table class="table">
  <thead><tr><th width="30%">Field</th><th>Type</th><th>Description</th></tr></thead>

  <tbody>
    <tr>
      <td>
        <code>conditions</code> <B>\[Required]</B>
      </td>

      <td>
        <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#condition-v1-meta"><code>\[]meta/v1.Condition</code></a>
      </td>

      <td>
        <p>Represents the observations of a addclusterinfo's current state.
        Known .status.conditions.type are: "Available", "Progressing"</p>
      </td>
    </tr>
  </tbody>
</table>

## `AttributeCondition` <a id="AttributeCondition" />

**Appears in:**

* [SpanAttributeFilter](#SpanAttributeFilter)

<p>AttributeCondition wraps different condition types so that only one type
of condition needs to be specified. This makes it explicit which data type
the attribute is expected to have.</p>

<table class="table">
  <thead><tr><th width="30%">Field</th><th>Type</th><th>Description</th></tr></thead>

  <tbody>
    <tr>
      <td>
        <code>string\_condition</code> <B>\[Required]</B>
      </td>

      <td>
        <a href="#StringAttributeCondition"><code>StringAttributeCondition</code></a>
      </td>

      <td>
        <p>StringCondition applies to string-type attributes.</p>
      </td>
    </tr>

    <tr>
      <td>
        <code>number\_condition</code> <B>\[Required]</B>
      </td>

      <td>
        <a href="#NumberAttributeCondition"><code>NumberAttributeCondition</code></a>
      </td>

      <td>
        <p>NumberCondition applies to numeric attributes (int, long, float, double).</p>
      </td>
    </tr>

    <tr>
      <td>
        <code>boolean\_condition</code> <B>\[Required]</B>
      </td>

      <td>
        <a href="#BooleanAttributeCondition"><code>BooleanAttributeCondition</code></a>
      </td>

      <td>
        <p>BooleanCondition applies to boolean attributes.</p>
      </td>
    </tr>

    <tr>
      <td>
        <code>json\_condition</code> <B>\[Required]</B>
      </td>

      <td>
        <a href="#JsonAttributeCondition"><code>JsonAttributeCondition</code></a>
      </td>

      <td>
        <p>JsonCondition applies to attributes that are JSON-encoded strings.</p>
      </td>
    </tr>
  </tbody>
</table>

## `BooleanAttributeCondition` <a id="BooleanAttributeCondition" />

**Appears in:**

* [AttributeCondition](#AttributeCondition)

<p>BooleanAttributeCondition defines a check against a boolean attribute.</p>

<table class="table">
  <thead><tr><th width="30%">Field</th><th>Type</th><th>Description</th></tr></thead>

  <tbody>
    <tr>
      <td>
        <code>operation</code> <B>\[Required]</B>
      </td>

      <td>
        <code>string</code>
      </td>

      <td>
        <p>Operation can be:</p>

        <ul>
          <li>"exists": Checks that the boolean attribute is present.</li>
          <li>"equals": Checks if the attribute exactly matches ExpectedValue.</li>
        </ul>

        <p>ExpectedValue is required only for the "equals" operation.</p>
      </td>
    </tr>

    <tr>
      <td>
        <code>expected\_value</code> <B>\[Required]</B>
      </td>

      <td>
        <code>bool</code>
      </td>

      <td>
        <p>ExpectedValue is only used if Operation == "equals".</p>
      </td>
    </tr>
  </tbody>
</table>

## `DefaultSamplerConfig` <a id="DefaultSamplerConfig" />

**Appears in:**

* [SamplersConfig](#SamplersConfig)

<p>DefaultSamplerConfig is a base config for all samplers.</p>

## `DeleteAttributeConfig` <a id="DeleteAttributeConfig" />

**Appears in:**

* [ActionSpec](#odigos-io-v1alpha1-ActionSpec)

<table class="table">
  <thead><tr><th width="30%">Field</th><th>Type</th><th>Description</th></tr></thead>

  <tbody>
    <tr>
      <td>
        <code>attributeNamesToDelete</code> <B>\[Required]</B>
      </td>

      <td>
        <code>\[]string</code>
      </td>

      <td>
        <span class="text-muted">No description provided.</span>
      </td>
    </tr>
  </tbody>
</table>

## `DeleteAttributeSpec` <a id="DeleteAttributeSpec" />

**Appears in:**

* [DeleteAttribute](#DeleteAttribute)

<p>DeleteAttributeSpec defines the desired state of DeleteAttribute action</p>

<table class="table">
  <thead><tr><th width="30%">Field</th><th>Type</th><th>Description</th></tr></thead>

  <tbody>
    <tr>
      <td>
        <code>actionName</code> <B>\[Required]</B>
      </td>

      <td>
        <code>string</code>
      </td>

      <td>
        <span class="text-muted">No description provided.</span>
      </td>
    </tr>

    <tr>
      <td>
        <code>notes</code> <B>\[Required]</B>
      </td>

      <td>
        <code>string</code>
      </td>

      <td>
        <span class="text-muted">No description provided.</span>
      </td>
    </tr>

    <tr>
      <td>
        <code>disabled</code> <B>\[Required]</B>
      </td>

      <td>
        <code>bool</code>
      </td>

      <td>
        <span class="text-muted">No description provided.</span>
      </td>
    </tr>

    <tr>
      <td>
        <code>signals</code> <B>\[Required]</B>
      </td>

      <td>
        <a href="https://pkg.go.dev/github.com/odigos-io/odigos/common#ObservabilitySignal"><code>\[]common.ObservabilitySignal</code></a>
      </td>

      <td>
        <span class="text-muted">No description provided.</span>
      </td>
    </tr>

    <tr>
      <td>
        <code>attributeNamesToDelete</code> <B>\[Required]</B>
      </td>

      <td>
        <code>\[]string</code>
      </td>

      <td>
        <span class="text-muted">No description provided.</span>
      </td>
    </tr>
  </tbody>
</table>

## `DeleteAttributeStatus` <a id="DeleteAttributeStatus" />

**Appears in:**

* [DeleteAttribute](#DeleteAttribute)

<p>DeleteAttributeStatus defines the observed state of DeleteAttribute action</p>

<table class="table">
  <thead><tr><th width="30%">Field</th><th>Type</th><th>Description</th></tr></thead>

  <tbody>
    <tr>
      <td>
        <code>conditions</code> <B>\[Required]</B>
      </td>

      <td>
        <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#condition-v1-meta"><code>\[]meta/v1.Condition</code></a>
      </td>

      <td>
        <p>Represents the observations of a DeleteAttribute's current state.
        Known .status.conditions.type are: "Available", "Progressing"</p>
      </td>
    </tr>
  </tbody>
</table>

## `ErrorSamplerConfig` <a id="ErrorSamplerConfig" />

**Appears in:**

* [SamplersConfig](#SamplersConfig)

<p>ErrorSamplerConfig defines the configuration for the ErrorSampler action.</p>

<table class="table">
  <thead><tr><th width="30%">Field</th><th>Type</th><th>Description</th></tr></thead>

  <tbody>
    <tr>
      <td>
        <code>fallback\_sampling\_ratio</code> <B>\[Required]</B>
      </td>

      <td>
        <code>float64</code>
      </td>

      <td>
        <p>FallbackSamplingRatio determines the percentage (0–100) of non-error traces
        that should be sampled. Error traces are always sampled.</p>
      </td>
    </tr>
  </tbody>
</table>

## `ErrorSamplerSpec` <a id="ErrorSamplerSpec" />

**Appears in:**

* [ErrorSampler](#ErrorSampler)

<p>ErrorSamplerSpec defines the configuration for an ErrorSampler action.
This sampler prioritizes traces that contain errors, and allows specifying a fallback sampling ratio
for traces that do not include any errors.</p>

<table class="table">
  <thead><tr><th width="30%">Field</th><th>Type</th><th>Description</th></tr></thead>

  <tbody>
    <tr>
      <td>
        <code>actionName</code> <B>\[Required]</B>
      </td>

      <td>
        <code>string</code>
      </td>

      <td>
        <p>ActionName is an optional identifier for this sampler rule.
        It can be used for referencing, labeling, or displaying the rule in UIs.</p>
      </td>
    </tr>

    <tr>
      <td>
        <code>notes</code> <B>\[Required]</B>
      </td>

      <td>
        <code>string</code>
      </td>

      <td>
        <p>Notes provides free-form documentation or context for the user.</p>
      </td>
    </tr>

    <tr>
      <td>
        <code>disabled</code> <B>\[Required]</B>
      </td>

      <td>
        <code>bool</code>
      </td>

      <td>
        <p>Disabled indicates whether the sampler is currently active.
        When true, the sampler will not be evaluated or applied.</p>
      </td>
    </tr>

    <tr>
      <td>
        <code>signals</code> <B>\[Required]</B>
      </td>

      <td>
        <a href="https://pkg.go.dev/github.com/odigos-io/odigos/common#ObservabilitySignal"><code>\[]common.ObservabilitySignal</code></a>
      </td>

      <td>
        <p>Signals specifies the types of telemetry data this sampler should apply to.
        Typically, this includes "traces", but may also include "logs" or "metrics".</p>
      </td>
    </tr>

    <tr>
      <td>
        <code>fallback\_sampling\_ratio</code> <B>\[Required]</B>
      </td>

      <td>
        <code>float64</code>
      </td>

      <td>
        <p>FallbackSamplingRatio determines the percentage (0–100) of non-error traces
        that should be sampled. Error traces are always sampled.</p>
      </td>
    </tr>
  </tbody>
</table>

## `ErrorSamplerStatus` <a id="ErrorSamplerStatus" />

**Appears in:**

* [ErrorSampler](#ErrorSampler)

<p>ErrorSamplerStatus defines the runtime state and observed conditions of an ErrorSampler.
It may include conditions such as "Available" or "Progressing".</p>

<table class="table">
  <thead><tr><th width="30%">Field</th><th>Type</th><th>Description</th></tr></thead>

  <tbody>
    <tr>
      <td>
        <code>conditions</code> <B>\[Required]</B>
      </td>

      <td>
        <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#condition-v1-meta"><code>\[]meta/v1.Condition</code></a>
      </td>

      <td>
        <p>Conditions captures the current operational state of the sampler.</p>
      </td>
    </tr>
  </tbody>
</table>

## `HttpRouteFilter` <a id="HttpRouteFilter" />

**Appears in:**

* [LatencySamplerConfig](#LatencySamplerConfig)
* [LatencySamplerSpec](#LatencySamplerSpec)

<p>HttpRouteFilter defines a single latency-based sampling rule for an HTTP route.</p>

<table class="table">
  <thead><tr><th width="30%">Field</th><th>Type</th><th>Description</th></tr></thead>

  <tbody>
    <tr>
      <td>
        <code>http\_route</code> <B>\[Required]</B>
      </td>

      <td>
        <code>string</code>
      </td>

      <td>
        <p>HttpRoute is the route name (from span attribute "http.route") that this rule applies to.</p>
      </td>
    </tr>

    <tr>
      <td>
        <code>service\_name</code> <B>\[Required]</B>
      </td>

      <td>
        <code>string</code>
      </td>

      <td>
        <p>ServiceName specifies the service that must emit the span for this rule to apply.
        Matches the value of the "service.name" attribute in the span.</p>
      </td>
    </tr>

    <tr>
      <td>
        <code>minimum\_latency\_threshold</code> <B>\[Required]</B>
      </td>

      <td>
        <code>int</code>
      </td>

      <td>
        <p>MinimumLatencyThreshold is the latency in milliseconds that spans must exceed
        to be considered for sampling. Spans with latency >= this value are eligible.</p>
      </td>
    </tr>

    <tr>
      <td>
        <code>fallback\_sampling\_ratio</code> <B>\[Required]</B>
      </td>

      <td>
        <code>float64</code>
      </td>

      <td>
        <p>FallbackSamplingRatio is the percentage (0–100) of traces to sample if the route
        and service match but the span latency is below the threshold.</p>
      </td>
    </tr>
  </tbody>
</table>

## `IgnoreHealthChecksConfig` <a id="IgnoreHealthChecksConfig" />

**Appears in:**

* [SamplersConfig](#SamplersConfig)

<table class="table">
  <thead><tr><th width="30%">Field</th><th>Type</th><th>Description</th></tr></thead>

  <tbody>
    <tr>
      <td>
        <code>fractionToRecord</code> <B>\[Required]</B>
      </td>

      <td>
        <code>float64</code>
      </td>

      <td>
        <p>FractionToRecord determines the percentage (0–100) of health checks traces to record.
        should be in range \[0, 1]
        0 (default) means no health checks traces will be recorded
        1 means all health checks traces will be recorded
        @deprecated: use odigos config to enable/disable this behavior instead.</p>
      </td>
    </tr>
  </tbody>
</table>

## `JsonAttributeCondition` <a id="JsonAttributeCondition" />

**Appears in:**

* [AttributeCondition](#AttributeCondition)

<p>JsonAttributeCondition defines conditions for evaluating JSON-encoded span attributes.
It supports structural and value-based filtering using key lookups and JSONPath expressions.</p>
<p>Supported operations:</p>

<ul>
  <li>"exists": Checks that the attribute is a non-empty string.</li>
  <li>"is\_valid\_json": Ensures the string parses as valid JSON.</li>
  <li>"is\_invalid\_json": Ensures the string is not valid JSON.</li>
  <li>"equals": Compares the full JSON string to expected\_value.</li>
  <li>"not\_equals": Verifies the full JSON string is not equal to expected\_value.</li>
  <li>"jsonpath\_exists": Asserts that the specified json\_path resolves to a non-empty result.</li>
  <li>"key\_equals": Compares the value at json\_path to expected\_value.</li>
  <li>"key\_not\_equals": Verifies the value at json\_path is not equal to expected\_value.</li>
</ul>

<table class="table">
  <thead><tr><th width="30%">Field</th><th>Type</th><th>Description</th></tr></thead>

  <tbody>
    <tr>
      <td>
        <code>operation</code> <B>\[Required]</B>
      </td>

      <td>
        <code>string</code>
      </td>

      <td>
        <p>Operation defines the evaluation logic applied to the JSON value.</p>
        <p>Supported values:</p>

        <ul>
          <li>is\_valid\_json</li>
          <li>is\_invalid\_json</li>
          <li>equals</li>
          <li>not\_equals</li>
          <li>jsonpath\_exists</li>
          <li>key\_equals</li>
          <li>key\_not\_equals</li>
        </ul>
      </td>
    </tr>

    <tr>
      <td>
        <code>json\_path</code> <B>\[Required]</B>
      </td>

      <td>
        <code>string</code>
      </td>

      <td>
        <p>JsonPath is required for:</p>

        <ul>
          <li>jsonpath\_exists</li>
          <li>key\_equals</li>
          <li>key\_not\_equals</li>
        </ul>

        <p>It is a JSONPath expression used to navigate the JSON structure.
        Example: $.user.role or $.events\[0].code</p>
      </td>
    </tr>

    <tr>
      <td>
        <code>expected\_value</code> <B>\[Required]</B>
      </td>

      <td>
        <code>string</code>
      </td>

      <td>
        <p>ExpectedValue is required for:</p>

        <ul>
          <li>equals</li>
          <li>not\_equals</li>
          <li>key\_equals</li>
          <li>key\_not\_equals</li>
        </ul>

        <p>The value to compare against during evaluation.</p>
      </td>
    </tr>
  </tbody>
</table>

## `K8sAnnotationAttribute` <a id="K8sAnnotationAttribute" />

**Appears in:**

* [K8sAttributesConfig](#K8sAttributesConfig)
* [K8sAttributesSpec](#K8sAttributesSpec)

<table class="table">
  <thead><tr><th width="30%">Field</th><th>Type</th><th>Description</th></tr></thead>

  <tbody>
    <tr>
      <td>
        <code>annotationKey</code> <B>\[Required]</B>
      </td>

      <td>
        <code>string</code>
      </td>

      <td>
        <p>The annotation name to be extracted.
        e.g. "kubectl.kubernetes.io/restartedAt"</p>
      </td>
    </tr>

    <tr>
      <td>
        <code>attributeKey</code> <B>\[Required]</B>
      </td>

      <td>
        <code>string</code>
      </td>

      <td>
        <p>The attribute key to be used for the resource attribute created from the annotation.
        e.g. "kubectl.kubernetes.restartedAt"</p>
      </td>
    </tr>

    <tr>
      <td>
        <code>from</code> <B>\[Required]</B>
      </td>

      <td>
        <code>string</code>
      </td>

      <td>
        <p>The source of the annotation.
        e.g. "pod" or "namespace"
        Deprecated: Use FromSources instead for specifying multiple sources with precedence.</p>
      </td>
    </tr>

    <tr>
      <td>
        <code>fromSources</code> <B>\[Required]</B>
      </td>

      <td>
        <a href="#K8sAttributeSource"><code>\[]K8sAttributeSource</code></a>
      </td>

      <td>
        <p>The sources from which to extract the annotation, in order of precedence (most specific first).
        When multiple sources are specified, the most specific source (e.g., pod) takes precedence
        over less specific sources (e.g., namespace).
        If an annotation exists in multiple sources, the value from the most specific source will be used.
        Supported sources: "pod", "namespace", "node"</p>
      </td>
    </tr>
  </tbody>
</table>

## `K8sAttributeSource` <a id="K8sAttributeSource" />

(Alias of `string`)

**Appears in:**

* [K8sAnnotationAttribute](#K8sAnnotationAttribute)
* [K8sLabelAttribute](#K8sLabelAttribute)

## `K8sAttributesConfig` <a id="K8sAttributesConfig" />

**Appears in:**

* [ActionSpec](#odigos-io-v1alpha1-ActionSpec)

<table class="table">
  <thead><tr><th width="30%">Field</th><th>Type</th><th>Description</th></tr></thead>

  <tbody>
    <tr>
      <td>
        <code>collectContainerAttributes</code> <B>\[Required]</B>
      </td>

      <td>
        <code>bool</code>
      </td>

      <td>
        <p>Collect the following container related attributes:
        k8s.container.name
        container.id
        container.image.name
        container.image.tag</p>
      </td>
    </tr>

    <tr>
      <td>
        <code>collectReplicaSetAttributes</code> <B>\[Required]</B>
      </td>

      <td>
        <code>bool</code>
      </td>

      <td>
        <p>collect replicaset related attributes (when relevant, e.g. for deployments):
        k8s.replicaset.name
        if CollectWorkloadUID is set, also collect:
        k8s.replicaset.uid
        DEPRECATED: ReplicaSet attributes are now collected by default during instrumentation.</p>
      </td>
    </tr>

    <tr>
      <td>
        <code>collectWorkloadUID</code> <B>\[Required]</B>
      </td>

      <td>
        <code>bool</code>
      </td>

      <td>
        <p>Collect the following workload UID attributes:
        k8s.deployment.uid
        k8s.daemonset.uid
        k8s.statefulset.uid
        DEPRECATED: Workload UID attributes are now collected by default during instrumentation.</p>
      </td>
    </tr>

    <tr>
      <td>
        <code>collectClusterUID</code> <B>\[Required]</B>
      </td>

      <td>
        <code>bool</code>
      </td>

      <td>
        <p>Collect the k8s.cluster.uid attribute, which is set to the uid of the namespace "kube-system"</p>
      </td>
    </tr>

    <tr>
      <td>
        <code>labelsAttributes</code>
      </td>

      <td>
        <a href="#K8sLabelAttribute"><code>\[]K8sLabelAttribute</code></a>
      </td>

      <td>
        <p>list of labels to be extracted from the pod, and the attribute key to be used for the resource attribute created from each label.</p>
      </td>
    </tr>

    <tr>
      <td>
        <code>annotationsAttributes</code>
      </td>

      <td>
        <a href="#K8sAnnotationAttribute"><code>\[]K8sAnnotationAttribute</code></a>
      </td>

      <td>
        <p>list of annotations to be extracted from the pod, and the attribute key to be used for the resource attribute created from each annotation.</p>
      </td>
    </tr>
  </tbody>
</table>

## `K8sAttributesSpec` <a id="K8sAttributesSpec" />

**Appears in:**

* [K8sAttributesResolver](#K8sAttributesResolver)

<table class="table">
  <thead><tr><th width="30%">Field</th><th>Type</th><th>Description</th></tr></thead>

  <tbody>
    <tr>
      <td>
        <code>actionName</code> <B>\[Required]</B>
      </td>

      <td>
        <code>string</code>
      </td>

      <td>
        <span class="text-muted">No description provided.</span>
      </td>
    </tr>

    <tr>
      <td>
        <code>notes</code> <B>\[Required]</B>
      </td>

      <td>
        <code>string</code>
      </td>

      <td>
        <span class="text-muted">No description provided.</span>
      </td>
    </tr>

    <tr>
      <td>
        <code>disabled</code> <B>\[Required]</B>
      </td>

      <td>
        <code>bool</code>
      </td>

      <td>
        <span class="text-muted">No description provided.</span>
      </td>
    </tr>

    <tr>
      <td>
        <code>signals</code> <B>\[Required]</B>
      </td>

      <td>
        <a href="https://pkg.go.dev/github.com/odigos-io/odigos/common#ObservabilitySignal"><code>\[]common.ObservabilitySignal</code></a>
      </td>

      <td>
        <span class="text-muted">No description provided.</span>
      </td>
    </tr>

    <tr>
      <td>
        <code>collectContainerAttributes</code> <B>\[Required]</B>
      </td>

      <td>
        <code>bool</code>
      </td>

      <td>
        <p>Collect the following container related attributes:
        k8s.container.name
        container.id
        container.image.name
        container.image.tag</p>
      </td>
    </tr>

    <tr>
      <td>
        <code>collectReplicaSetAttributes</code> <B>\[Required]</B>
      </td>

      <td>
        <code>bool</code>
      </td>

      <td>
        <p>collect replicaset related attributes (when relevant, e.g. for deployments):
        k8s.replicaset.name
        if CollectWorkloadUID is set, also collect:
        k8s.replicaset.uid
        DEPRECATED: ReplicaSet attributes are now collected by default during instrumentation.</p>
      </td>
    </tr>

    <tr>
      <td>
        <code>collectWorkloadUID</code> <B>\[Required]</B>
      </td>

      <td>
        <code>bool</code>
      </td>

      <td>
        <p>Collect the following workload UID attributes:
        k8s.deployment.uid
        k8s.daemonset.uid
        k8s.statefulset.uid
        DEPRECATED: Workload UID attributes are now collected by default during instrumentation.</p>
      </td>
    </tr>

    <tr>
      <td>
        <code>collectClusterUID</code> <B>\[Required]</B>
      </td>

      <td>
        <code>bool</code>
      </td>

      <td>
        <p>Collect the k8s.cluster.uid attribute, which is set to the uid of the namespace "kube-system"</p>
      </td>
    </tr>

    <tr>
      <td>
        <code>labelsAttributes</code>
      </td>

      <td>
        <a href="#K8sLabelAttribute"><code>\[]K8sLabelAttribute</code></a>
      </td>

      <td>
        <p>list of labels to be extracted from the pod, and the attribute key to be used for the resource attribute created from each label.</p>
      </td>
    </tr>

    <tr>
      <td>
        <code>annotationsAttributes</code>
      </td>

      <td>
        <a href="#K8sAnnotationAttribute"><code>\[]K8sAnnotationAttribute</code></a>
      </td>

      <td>
        <p>list of annotations to be extracted from the pod, and the attribute key to be used for the resource attribute created from each annotation.</p>
      </td>
    </tr>
  </tbody>
</table>

## `K8sAttributesStatus` <a id="K8sAttributesStatus" />

**Appears in:**

* [K8sAttributesResolver](#K8sAttributesResolver)

<p>K8sAttributesStatus defines the observed state of K8sAttributes action</p>

<table class="table">
  <thead><tr><th width="30%">Field</th><th>Type</th><th>Description</th></tr></thead>

  <tbody>
    <tr>
      <td>
        <code>conditions</code> <B>\[Required]</B>
      </td>

      <td>
        <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#condition-v1-meta"><code>\[]meta/v1.Condition</code></a>
      </td>

      <td>
        <p>Represents the observations of a k8sattributes' current state.
        Known .status.conditions.type are: "Available", "Progressing"</p>
      </td>
    </tr>
  </tbody>
</table>

## `K8sLabelAttribute` <a id="K8sLabelAttribute" />

**Appears in:**

* [K8sAttributesConfig](#K8sAttributesConfig)
* [K8sAttributesSpec](#K8sAttributesSpec)

<table class="table">
  <thead><tr><th width="30%">Field</th><th>Type</th><th>Description</th></tr></thead>

  <tbody>
    <tr>
      <td>
        <code>labelKey</code> <B>\[Required]</B>
      </td>

      <td>
        <code>string</code>
      </td>

      <td>
        <p>The label name to be extracted.
        e.g. "app.kubernetes.io/name"</p>
      </td>
    </tr>

    <tr>
      <td>
        <code>attributeKey</code> <B>\[Required]</B>
      </td>

      <td>
        <code>string</code>
      </td>

      <td>
        <p>The attribute key to be used for the resource attribute created from the label.
        e.g. "app.kubernetes.name"</p>
      </td>
    </tr>

    <tr>
      <td>
        <code>from</code> <B>\[Required]</B>
      </td>

      <td>
        <a href="#K8sAttributeSource"><code>K8sAttributeSource</code></a>
      </td>

      <td>
        <p>The source of the label.
        e.g. "pod" or "namespace"
        Deprecated: Use FromSources instead for specifying multiple sources with precedence.</p>
      </td>
    </tr>

    <tr>
      <td>
        <code>fromSources</code> <B>\[Required]</B>
      </td>

      <td>
        <a href="#K8sAttributeSource"><code>\[]K8sAttributeSource</code></a>
      </td>

      <td>
        <p>The sources from which to extract the label, in order of precedence (most specific first).
        When multiple sources are specified, the most specific source (e.g., pod) takes precedence
        over less specific sources (e.g., namespace).
        If a label exists in multiple sources, the value from the most specific source will be used.
        Supported sources: "pod", "namespace", "node"</p>
      </td>
    </tr>
  </tbody>
</table>

## `LatencySamplerConfig` <a id="LatencySamplerConfig" />

**Appears in:**

* [SamplersConfig](#SamplersConfig)

<p>LatencySamplerConfig defines the configuration for the LatencySampler action.</p>

<table class="table">
  <thead><tr><th width="30%">Field</th><th>Type</th><th>Description</th></tr></thead>

  <tbody>
    <tr>
      <td>
        <code>endpoints\_filters</code> <B>\[Required]</B>
      </td>

      <td>
        <a href="#HttpRouteFilter"><code>\[]HttpRouteFilter</code></a>
      </td>

      <td>
        <p>EndpointsFilters defines the list of route-based latency sampling filters.
        Each filter targets a specific service and HTTP route with a latency threshold.</p>
      </td>
    </tr>
  </tbody>
</table>

## `LatencySamplerSpec` <a id="LatencySamplerSpec" />

**Appears in:**

* [LatencySampler](#LatencySampler)

<p>LatencySamplerSpec defines the desired state of a LatencySampler.
This sampler filters traces based on HTTP route and latency thresholds.
Traces with spans whose latency exceeds the specified threshold will be considered for sampling.</p>

<table class="table">
  <thead><tr><th width="30%">Field</th><th>Type</th><th>Description</th></tr></thead>

  <tbody>
    <tr>
      <td>
        <code>actionName</code> <B>\[Required]</B>
      </td>

      <td>
        <code>string</code>
      </td>

      <td>
        <p>ActionName is a user-defined identifier for this sampling action.
        It can be used to reference this policy in UIs or configuration tools.</p>
      </td>
    </tr>

    <tr>
      <td>
        <code>notes</code> <B>\[Required]</B>
      </td>

      <td>
        <code>string</code>
      </td>

      <td>
        <p>Notes is an optional field for storing human-readable documentation or context for this sampler.</p>
      </td>
    </tr>

    <tr>
      <td>
        <code>disabled</code> <B>\[Required]</B>
      </td>

      <td>
        <code>bool</code>
      </td>

      <td>
        <p>Disabled indicates whether the sampler is currently active.
        When true, this sampler will not be applied.</p>
      </td>
    </tr>

    <tr>
      <td>
        <code>signals</code> <B>\[Required]</B>
      </td>

      <td>
        <a href="https://pkg.go.dev/github.com/odigos-io/odigos/common#ObservabilitySignal"><code>\[]common.ObservabilitySignal</code></a>
      </td>

      <td>
        <p>Signals lists the observability signal types (e.g., traces, metrics, logs)
        that this sampler applies to.</p>
      </td>
    </tr>

    <tr>
      <td>
        <code>endpoints\_filters</code> <B>\[Required]</B>
      </td>

      <td>
        <a href="#HttpRouteFilter"><code>\[]HttpRouteFilter</code></a>
      </td>

      <td>
        <p>EndpointsFilters defines the list of route-based latency sampling filters.
        Each filter targets a specific service and HTTP route with a latency threshold.</p>
      </td>
    </tr>
  </tbody>
</table>

## `LatencySamplerStatus` <a id="LatencySamplerStatus" />

**Appears in:**

* [LatencySampler](#LatencySampler)

<p>LatencySamplerStatus defines the observed state of a LatencySampler.
It captures runtime status such as readiness or deployment progress.</p>

<table class="table">
  <thead><tr><th width="30%">Field</th><th>Type</th><th>Description</th></tr></thead>

  <tbody>
    <tr>
      <td>
        <code>conditions</code> <B>\[Required]</B>
      </td>

      <td>
        <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#condition-v1-meta"><code>\[]meta/v1.Condition</code></a>
      </td>

      <td>
        <p>Conditions contains the current status conditions for this sampler.
        Typical types include "Available" and "Progressing".</p>
      </td>
    </tr>
  </tbody>
</table>

## `NumberAttributeCondition` <a id="NumberAttributeCondition" />

**Appears in:**

* [AttributeCondition](#AttributeCondition)

<p>NumberAttributeCondition applies to attributes that are numeric (int, float, etc.).</p>

<table class="table">
  <thead><tr><th width="30%">Field</th><th>Type</th><th>Description</th></tr></thead>

  <tbody>
    <tr>
      <td>
        <code>operation</code> <B>\[Required]</B>
      </td>

      <td>
        <code>string</code>
      </td>

      <td>
        <p>Operation determines the numeric comparison to perform.</p>
        <p>Valid operations:</p>

        <ul>
          <li>"exists": Checks that the numeric attribute is present (non-null).</li>
          <li>"equals": Checks if the attribute equals ExpectedValue.</li>
          <li>"not\_equals": Checks if the attribute does not equal ExpectedValue.</li>
          <li>"greater\_than": Checks if attribute > ExpectedValue.</li>
          <li>"less\_than": Checks if attribute \< ExpectedValue.</li>
          <li>"greater\_than\_or\_equal": Checks if attribute >= ExpectedValue.</li>
          <li>"less\_than\_or\_equal": Checks if attribute \<= ExpectedValue.</li>
        </ul>

        <p>For operations other than "exists", ExpectedValue must be specified.</p>
      </td>
    </tr>

    <tr>
      <td>
        <code>expected\_value</code> <B>\[Required]</B>
      </td>

      <td>
        <code>float64</code>
      </td>

      <td>
        <p>ExpectedValue is required for all operations except "exists".</p>
      </td>
    </tr>
  </tbody>
</table>

## `OtelAttributeWithValue` <a id="OtelAttributeWithValue" />

**Appears in:**

* [AddClusterInfoConfig](#AddClusterInfoConfig)
* [AddClusterInfoSpec](#AddClusterInfoSpec)

<table class="table">
  <thead><tr><th width="30%">Field</th><th>Type</th><th>Description</th></tr></thead>

  <tbody>
    <tr>
      <td>
        <code>attributeName</code> <B>\[Required]</B>
      </td>

      <td>
        <code>string</code>
      </td>

      <td>
        <p>the name of the attribute to insert</p>
      </td>
    </tr>

    <tr>
      <td>
        <code>attributeStringValue</code> <B>\[Required]</B>
      </td>

      <td>
        <code>string</code>
      </td>

      <td>
        <p>if the value is a string, this field should be used.
        empty string is a valid value</p>
      </td>
    </tr>
  </tbody>
</table>

## `PiiCategory` <a id="PiiCategory" />

(Alias of `string`)

**Appears in:**

* [PiiMaskingConfig](#PiiMaskingConfig)
* [PiiMaskingSpec](#PiiMaskingSpec)

## `PiiMaskingConfig` <a id="PiiMaskingConfig" />

**Appears in:**

* [ActionSpec](#odigos-io-v1alpha1-ActionSpec)

<table class="table">
  <thead><tr><th width="30%">Field</th><th>Type</th><th>Description</th></tr></thead>

  <tbody>
    <tr>
      <td>
        <code>piiCategories</code> <B>\[Required]</B>
      </td>

      <td>
        <a href="#PiiCategory"><code>\[]PiiCategory</code></a>
      </td>

      <td>
        <span class="text-muted">No description provided.</span>
      </td>
    </tr>
  </tbody>
</table>

## `PiiMaskingSpec` <a id="PiiMaskingSpec" />

**Appears in:**

* [PiiMasking](#PiiMasking)

<p>PiiMaskingSpec defines the desired state of PiiMasking action</p>

<table class="table">
  <thead><tr><th width="30%">Field</th><th>Type</th><th>Description</th></tr></thead>

  <tbody>
    <tr>
      <td>
        <code>actionName</code> <B>\[Required]</B>
      </td>

      <td>
        <code>string</code>
      </td>

      <td>
        <span class="text-muted">No description provided.</span>
      </td>
    </tr>

    <tr>
      <td>
        <code>notes</code> <B>\[Required]</B>
      </td>

      <td>
        <code>string</code>
      </td>

      <td>
        <span class="text-muted">No description provided.</span>
      </td>
    </tr>

    <tr>
      <td>
        <code>disabled</code> <B>\[Required]</B>
      </td>

      <td>
        <code>bool</code>
      </td>

      <td>
        <span class="text-muted">No description provided.</span>
      </td>
    </tr>

    <tr>
      <td>
        <code>signals</code> <B>\[Required]</B>
      </td>

      <td>
        <a href="https://pkg.go.dev/github.com/odigos-io/odigos/common#ObservabilitySignal"><code>\[]common.ObservabilitySignal</code></a>
      </td>

      <td>
        <span class="text-muted">No description provided.</span>
      </td>
    </tr>

    <tr>
      <td>
        <code>piiCategories</code> <B>\[Required]</B>
      </td>

      <td>
        <a href="#PiiCategory"><code>\[]PiiCategory</code></a>
      </td>

      <td>
        <span class="text-muted">No description provided.</span>
      </td>
    </tr>
  </tbody>
</table>

## `PiiMaskingStatus` <a id="PiiMaskingStatus" />

**Appears in:**

* [PiiMasking](#PiiMasking)

<p>PiiMaskingStatus defines the observed state of PiiMasking action</p>

<table class="table">
  <thead><tr><th width="30%">Field</th><th>Type</th><th>Description</th></tr></thead>

  <tbody>
    <tr>
      <td>
        <code>conditions</code> <B>\[Required]</B>
      </td>

      <td>
        <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#condition-v1-meta"><code>\[]meta/v1.Condition</code></a>
      </td>

      <td>
        <p>Represents the observations of a piiMasking's current state.
        Known .status.conditions.type are: "Available", "Progressing"</p>
      </td>
    </tr>
  </tbody>
</table>

## `ProbabilisticSamplerConfig` <a id="ProbabilisticSamplerConfig" />

**Appears in:**

* [SamplersConfig](#SamplersConfig)

<p>ProbabilisticSamplerConfig defines the configuration for the ProbabilisticSampler action.</p>

<table class="table">
  <thead><tr><th width="30%">Field</th><th>Type</th><th>Description</th></tr></thead>

  <tbody>
    <tr>
      <td>
        <code>sampling\_percentage</code> <B>\[Required]</B>
      </td>

      <td>
        <code>string</code>
      </td>

      <td>
        <p>SamplingPercentage determines the percentage (0–100) of traces to sample.</p>
      </td>
    </tr>
  </tbody>
</table>

## `ProbabilisticSamplerSpec` <a id="ProbabilisticSamplerSpec" />

**Appears in:**

* [ProbabilisticSampler](#ProbabilisticSampler)

<p>ProbabilisticSamplerSpec defines the desired state of ProbabilisticSampler action</p>

<table class="table">
  <thead><tr><th width="30%">Field</th><th>Type</th><th>Description</th></tr></thead>

  <tbody>
    <tr>
      <td>
        <code>actionName</code> <B>\[Required]</B>
      </td>

      <td>
        <code>string</code>
      </td>

      <td>
        <span class="text-muted">No description provided.</span>
      </td>
    </tr>

    <tr>
      <td>
        <code>notes</code> <B>\[Required]</B>
      </td>

      <td>
        <code>string</code>
      </td>

      <td>
        <span class="text-muted">No description provided.</span>
      </td>
    </tr>

    <tr>
      <td>
        <code>disabled</code> <B>\[Required]</B>
      </td>

      <td>
        <code>bool</code>
      </td>

      <td>
        <span class="text-muted">No description provided.</span>
      </td>
    </tr>

    <tr>
      <td>
        <code>signals</code> <B>\[Required]</B>
      </td>

      <td>
        <a href="https://pkg.go.dev/github.com/odigos-io/odigos/common#ObservabilitySignal"><code>\[]common.ObservabilitySignal</code></a>
      </td>

      <td>
        <span class="text-muted">No description provided.</span>
      </td>
    </tr>

    <tr>
      <td>
        <code>sampling\_percentage</code> <B>\[Required]</B>
      </td>

      <td>
        <code>string</code>
      </td>

      <td>
        <span class="text-muted">No description provided.</span>
      </td>
    </tr>
  </tbody>
</table>

## `ProbabilisticSamplerStatus` <a id="ProbabilisticSamplerStatus" />

**Appears in:**

* [ProbabilisticSampler](#ProbabilisticSampler)

<p>ProbabilisticSamplerStatus defines the observed state of ProbabilisticSampler action</p>

<table class="table">
  <thead><tr><th width="30%">Field</th><th>Type</th><th>Description</th></tr></thead>

  <tbody>
    <tr>
      <td>
        <code>conditions</code> <B>\[Required]</B>
      </td>

      <td>
        <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#condition-v1-meta"><code>\[]meta/v1.Condition</code></a>
      </td>

      <td>
        <p>Represents the observations of a ProbabilisticSampler's current state.
        Known .status.conditions.type are: "Available", "Progressing"</p>
      </td>
    </tr>
  </tbody>
</table>

## `RenameAttributeConfig` <a id="RenameAttributeConfig" />

**Appears in:**

* [ActionSpec](#odigos-io-v1alpha1-ActionSpec)

<table class="table">
  <thead><tr><th width="30%">Field</th><th>Type</th><th>Description</th></tr></thead>

  <tbody>
    <tr>
      <td>
        <code>renames</code> <B>\[Required]</B>
      </td>

      <td>
        <code>map\[string]string</code>
      </td>

      <td>
        <span class="text-muted">No description provided.</span>
      </td>
    </tr>
  </tbody>
</table>

## `RenameAttributeSpec` <a id="RenameAttributeSpec" />

**Appears in:**

* [RenameAttribute](#RenameAttribute)

<p>RenameAttributeSpec defines the desired state of RenameAttribute action</p>

<table class="table">
  <thead><tr><th width="30%">Field</th><th>Type</th><th>Description</th></tr></thead>

  <tbody>
    <tr>
      <td>
        <code>actionName</code> <B>\[Required]</B>
      </td>

      <td>
        <code>string</code>
      </td>

      <td>
        <span class="text-muted">No description provided.</span>
      </td>
    </tr>

    <tr>
      <td>
        <code>notes</code> <B>\[Required]</B>
      </td>

      <td>
        <code>string</code>
      </td>

      <td>
        <span class="text-muted">No description provided.</span>
      </td>
    </tr>

    <tr>
      <td>
        <code>disabled</code> <B>\[Required]</B>
      </td>

      <td>
        <code>bool</code>
      </td>

      <td>
        <span class="text-muted">No description provided.</span>
      </td>
    </tr>

    <tr>
      <td>
        <code>signals</code> <B>\[Required]</B>
      </td>

      <td>
        <a href="https://pkg.go.dev/github.com/odigos-io/odigos/common#ObservabilitySignal"><code>\[]common.ObservabilitySignal</code></a>
      </td>

      <td>
        <span class="text-muted">No description provided.</span>
      </td>
    </tr>

    <tr>
      <td>
        <code>renames</code> <B>\[Required]</B>
      </td>

      <td>
        <code>map\[string]string</code>
      </td>

      <td>
        <span class="text-muted">No description provided.</span>
      </td>
    </tr>
  </tbody>
</table>

## `RenameAttributeStatus` <a id="RenameAttributeStatus" />

**Appears in:**

* [RenameAttribute](#RenameAttribute)

<p>RenameAttributeStatus defines the observed state of RenameAttribute action</p>

<table class="table">
  <thead><tr><th width="30%">Field</th><th>Type</th><th>Description</th></tr></thead>

  <tbody>
    <tr>
      <td>
        <code>conditions</code> <B>\[Required]</B>
      </td>

      <td>
        <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#condition-v1-meta"><code>\[]meta/v1.Condition</code></a>
      </td>

      <td>
        <p>Represents the observations of a RenameAttribute's current state.
        Known .status.conditions.type are: "Available", "Progressing"</p>
      </td>
    </tr>
  </tbody>
</table>

## `SamplersConfig` <a id="SamplersConfig" />

**Appears in:**

* [ActionSpec](#odigos-io-v1alpha1-ActionSpec)

<table class="table">
  <thead><tr><th width="30%">Field</th><th>Type</th><th>Description</th></tr></thead>

  <tbody>
    <tr>
      <td>
        <code>DefaultSamplerConfig</code> <B>\[Required]</B>
      </td>

      <td>
        <a href="#DefaultSamplerConfig"><code>DefaultSamplerConfig</code></a>
      </td>

      <td>
        (Members of <code>DefaultSamplerConfig</code> are embedded into this type.)
        <p>DefaultSamplerConfig contains the base sampling configuration shared by all samplers.</p>
      </td>
    </tr>

    <tr>
      <td>
        <code>errorSampler</code> <B>\[Required]</B>
      </td>

      <td>
        <a href="#ErrorSamplerConfig"><code>ErrorSamplerConfig</code></a>
      </td>

      <td>
        <p>ErrorSamplerSpec defines the desired state of ErrorSampler</p>
      </td>
    </tr>

    <tr>
      <td>
        <code>latencySampler</code> <B>\[Required]</B>
      </td>

      <td>
        <a href="#LatencySamplerConfig"><code>LatencySamplerConfig</code></a>
      </td>

      <td>
        <p>LatencySamplerSpec defines the desired state of LatencySampler</p>
      </td>
    </tr>

    <tr>
      <td>
        <code>serviceNameSampler</code> <B>\[Required]</B>
      </td>

      <td>
        <a href="#ServiceNameSamplerConfig"><code>ServiceNameSamplerConfig</code></a>
      </td>

      <td>
        <p>ServiceNameSamplerSpec defines the desired state of ServiceNameSampler</p>
      </td>
    </tr>

    <tr>
      <td>
        <code>spanAttributeSampler</code> <B>\[Required]</B>
      </td>

      <td>
        <a href="#SpanAttributeSamplerConfig"><code>SpanAttributeSamplerConfig</code></a>
      </td>

      <td>
        <p>SpanAttributeSamplerSpec defines the desired state of SpanAttributeSampler</p>
      </td>
    </tr>

    <tr>
      <td>
        <code>probabilisticSampler</code> <B>\[Required]</B>
      </td>

      <td>
        <a href="#ProbabilisticSamplerConfig"><code>ProbabilisticSamplerConfig</code></a>
      </td>

      <td>
        <p>ProbabilisticSamplerSpec defines the desired state of ProbabilisticSampler</p>
      </td>
    </tr>

    <tr>
      <td>
        <code>ignoreHealthChecks</code> <B>\[Required]</B>
      </td>

      <td>
        <a href="#IgnoreHealthChecksConfig"><code>IgnoreHealthChecksConfig</code></a>
      </td>

      <td>
        <p>automatically sample out health checks by a set fraction.
        health checks are discovered based on the livenessProbe and readinessProbe in the workload spec.
        if set, health checks are sampled regardless of any other configuration (head sampling at agent level, before traces are pushed into the collector pipeline)
        @deprecated: use odigos config to enable/disable this behavior instead.</p>
      </td>
    </tr>
  </tbody>
</table>

## `ServiceNameFilter` <a id="ServiceNameFilter" />

**Appears in:**

* [ServiceNameSamplerConfig](#ServiceNameSamplerConfig)
* [ServiceNameSamplerSpec](#ServiceNameSamplerSpec)

<p>ServiceNameFilter defines a single rule that maps a service name to a sampling decision.</p>

<table class="table">
  <thead><tr><th width="30%">Field</th><th>Type</th><th>Description</th></tr></thead>

  <tbody>
    <tr>
      <td>
        <code>service\_name</code> <B>\[Required]</B>
      </td>

      <td>
        <code>string</code>
      </td>

      <td>
        <p>ServiceName specifies the name of the service to look for within a trace.
        If any span in the trace comes from this service, the rule will apply.</p>
      </td>
    </tr>

    <tr>
      <td>
        <code>sampling\_ratio</code> <B>\[Required]</B>
      </td>

      <td>
        <code>float64</code>
      </td>

      <td>
        <p>SamplingRatio determines the percentage (0–100) of traces to sample
        when the specified service is present in the trace.</p>
        <p>For example, a value of 100 means all such traces will be kept,
        while a value of 0 means all will be dropped.</p>
      </td>
    </tr>

    <tr>
      <td>
        <code>fallback\_sampling\_ratio</code> <B>\[Required]</B>
      </td>

      <td>
        <code>float64</code>
      </td>

      <td>
        <p>FallbackSamplingRatio is the percentage (0–100) of traces to sample
        if the specified service is not present in the trace.</p>
      </td>
    </tr>
  </tbody>
</table>

## `ServiceNameSamplerConfig` <a id="ServiceNameSamplerConfig" />

**Appears in:**

* [SamplersConfig](#SamplersConfig)

<p>ServiceNameSamplerConfig defines the configuration for the ServiceNameSampler action.</p>

<table class="table">
  <thead><tr><th width="30%">Field</th><th>Type</th><th>Description</th></tr></thead>

  <tbody>
    <tr>
      <td>
        <code>services\_name\_filters</code> <B>\[Required]</B>
      </td>

      <td>
        <a href="#ServiceNameFilter"><code>\[]ServiceNameFilter</code></a>
      </td>

      <td>
        <p>ServicesNameFilters defines rules for sampling traces based on the presence
        of specific service names. If a trace contains a span from one of the listed
        services, the associated sampling ratio is applied.</p>
      </td>
    </tr>
  </tbody>
</table>

## `ServiceNameSamplerSpec` <a id="ServiceNameSamplerSpec" />

**Appears in:**

* [ServiceNameSampler](#ServiceNameSampler)

<p>ServiceNameSamplerSpec defines the desired configuration for a ServiceNameSampler.
This sampler enables sampling based on the presence of specific service names within a trace.</p>

<table class="table">
  <thead><tr><th width="30%">Field</th><th>Type</th><th>Description</th></tr></thead>

  <tbody>
    <tr>
      <td>
        <code>actionName</code> <B>\[Required]</B>
      </td>

      <td>
        <code>string</code>
      </td>

      <td>
        <p>ActionName is an optional label to identify this sampling policy.
        It can be used for display purposes or integration with other tools.</p>
      </td>
    </tr>

    <tr>
      <td>
        <code>notes</code> <B>\[Required]</B>
      </td>

      <td>
        <code>string</code>
      </td>

      <td>
        <p>Notes allows attaching additional free-form documentation or context to this sampler.</p>
      </td>
    </tr>

    <tr>
      <td>
        <code>disabled</code> <B>\[Required]</B>
      </td>

      <td>
        <code>bool</code>
      </td>

      <td>
        <p>Disabled indicates whether this sampler should be active.
        If true, the sampler will not be applied.</p>
      </td>
    </tr>

    <tr>
      <td>
        <code>signals</code> <B>\[Required]</B>
      </td>

      <td>
        <a href="https://pkg.go.dev/github.com/odigos-io/odigos/common#ObservabilitySignal"><code>\[]common.ObservabilitySignal</code></a>
      </td>

      <td>
        <p>Signals specifies which types of telemetry data this sampler applies to.
        Common values include "traces", "metrics", or "logs".</p>
      </td>
    </tr>

    <tr>
      <td>
        <code>services\_name\_filters</code> <B>\[Required]</B>
      </td>

      <td>
        <a href="#ServiceNameFilter"><code>\[]ServiceNameFilter</code></a>
      </td>

      <td>
        <p>ServicesNameFilters defines rules for sampling traces based on the presence
        of specific service names. If a trace contains a span from one of the listed
        services, the associated sampling ratio is applied.</p>
      </td>
    </tr>
  </tbody>
</table>

## `ServiceNameSamplerStatus` <a id="ServiceNameSamplerStatus" />

**Appears in:**

* [ServiceNameSampler](#ServiceNameSampler)

<p>ServiceNameSamplerStatus represents the runtime status of a ServiceNameSampler,
including observed conditions such as validation errors or processing state.</p>

<table class="table">
  <thead><tr><th width="30%">Field</th><th>Type</th><th>Description</th></tr></thead>

  <tbody>
    <tr>
      <td>
        <code>conditions</code> <B>\[Required]</B>
      </td>

      <td>
        <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#condition-v1-meta"><code>\[]meta/v1.Condition</code></a>
      </td>

      <td>
        <p>Conditions is a list of status conditions for this sampler,
        following the standard Kubernetes conventions.</p>
      </td>
    </tr>
  </tbody>
</table>

## `SpanAttributeFilter` <a id="SpanAttributeFilter" />

**Appears in:**

* [SpanAttributeSamplerConfig](#SpanAttributeSamplerConfig)
* [SpanAttributeSamplerSpec](#SpanAttributeSamplerSpec)

<p>SpanAttributeFilter allows sampling traces based on specific span attributes and conditions.</p>

<table class="table">
  <thead><tr><th width="30%">Field</th><th>Type</th><th>Description</th></tr></thead>

  <tbody>
    <tr>
      <td>
        <code>service\_name</code> <B>\[Required]</B>
      </td>

      <td>
        <code>string</code>
      </td>

      <td>
        <p>ServiceName specifies which service this filter applies to. Only spans
        originating from the given service will be evaluated against this filter.</p>
      </td>
    </tr>

    <tr>
      <td>
        <code>attribute\_key</code> <B>\[Required]</B>
      </td>

      <td>
        <code>string</code>
      </td>

      <td>
        <p>AttributeKey indicates which attribute on the span to evaluate.</p>
      </td>
    </tr>

    <tr>
      <td>
        <code>condition</code> <B>\[Required]</B>
      </td>

      <td>
        <a href="#AttributeCondition"><code>AttributeCondition</code></a>
      </td>

      <td>
        <p>Condition is the rule or expression that will be used to evaluate
        the attribute's value. Exactly one of the condition types must be set:</p>

        <ul>
          <li>StringCondition</li>
          <li>NumberCondition</li>
          <li>BooleanCondition</li>
          <li>JsonCondition</li>
        </ul>
      </td>
    </tr>

    <tr>
      <td>
        <code>sampling\_ratio</code> <B>\[Required]</B>
      </td>

      <td>
        <code>float64</code>
      </td>

      <td>
        <p>SamplingRatio determines the percentage (0–100) of traces to sample
        when the specified attribute satisfies the filter.</p>
        <p>For example, a value of 100 means all such traces will be kept,
        while a value of 0 means all will be dropped.</p>
      </td>
    </tr>

    <tr>
      <td>
        <code>fallback\_sampling\_ratio</code> <B>\[Required]</B>
      </td>

      <td>
        <code>float64</code>
      </td>

      <td>
        <p>FallbackSamplingRatio is the percentage (0–100) of spans to sample
        when the condition does not explicitly match. For example, if set to 50,
        then half of non-matching spans would be sampled.</p>
      </td>
    </tr>
  </tbody>
</table>

## `SpanAttributeSamplerConfig` <a id="SpanAttributeSamplerConfig" />

**Appears in:**

* [SamplersConfig](#SamplersConfig)

<p>SpanAttributeSamplerConfig defines the configuration for the SpanAttributeSampler action.</p>

<table class="table">
  <thead><tr><th width="30%">Field</th><th>Type</th><th>Description</th></tr></thead>

  <tbody>
    <tr>
      <td>
        <code>attribute\_filters</code> <B>\[Required]</B>
      </td>

      <td>
        <a href="#SpanAttributeFilter"><code>\[]SpanAttributeFilter</code></a>
      </td>

      <td>
        <p>AttributeFilters defines a list of criteria to decide how spans should be
        sampled based on their attributes. At least one filter is required.</p>
      </td>
    </tr>
  </tbody>
</table>

## `SpanAttributeSamplerSpec` <a id="SpanAttributeSamplerSpec" />

**Appears in:**

* [SpanAttributeSampler](#SpanAttributeSampler)

<p>SpanAttributeSamplerSpec defines the desired state of SpanAttributeSampler</p>

<table class="table">
  <thead><tr><th width="30%">Field</th><th>Type</th><th>Description</th></tr></thead>

  <tbody>
    <tr>
      <td>
        <code>actionName</code> <B>\[Required]</B>
      </td>

      <td>
        <code>string</code>
      </td>

      <td>
        <p>ActionName is the name of the sampling action. This may be used to
        describe the purpose or intent of this sampler, for documentation
        or reference within other tools or systems.</p>
      </td>
    </tr>

    <tr>
      <td>
        <code>notes</code> <B>\[Required]</B>
      </td>

      <td>
        <code>string</code>
      </td>

      <td>
        <p>Notes provides additional, free-form information about this sampler,
        such as a reference to a ticket, a link, or usage guidelines.</p>
      </td>
    </tr>

    <tr>
      <td>
        <code>disabled</code> <B>\[Required]</B>
      </td>

      <td>
        <code>bool</code>
      </td>

      <td>
        <p>Disabled, if set to true, indicates that this sampler should not be
        applied at runtime.</p>
      </td>
    </tr>

    <tr>
      <td>
        <code>signals</code> <B>\[Required]</B>
      </td>

      <td>
        <a href="https://pkg.go.dev/github.com/odigos-io/odigos/common#ObservabilitySignal"><code>\[]common.ObservabilitySignal</code></a>
      </td>

      <td>
        <p>Signals indicates which ObservabilitySignal types this sampler applies to.
        For instance, this could include traces, metrics, logs, etc.</p>
      </td>
    </tr>

    <tr>
      <td>
        <code>attribute\_filters</code> <B>\[Required]</B>
      </td>

      <td>
        <a href="#SpanAttributeFilter"><code>\[]SpanAttributeFilter</code></a>
      </td>

      <td>
        <p>AttributeFilters defines a list of criteria to decide how spans should be
        sampled based on their attributes. At least one filter is required.</p>
      </td>
    </tr>
  </tbody>
</table>

## `SpanAttributeSamplerStatus` <a id="SpanAttributeSamplerStatus" />

**Appears in:**

* [SpanAttributeSampler](#SpanAttributeSampler)

<p>SpanAttributeSamplerStatus represents the current status of a SpanAttributeSampler.</p>

<table class="table">
  <thead><tr><th width="30%">Field</th><th>Type</th><th>Description</th></tr></thead>

  <tbody>
    <tr>
      <td>
        <code>conditions</code> <B>\[Required]</B>
      </td>

      <td>
        <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#condition-v1-meta"><code>\[]meta/v1.Condition</code></a>
      </td>

      <td>
        <p>Conditions is a list of the latest available observations of this sampler's state.</p>
      </td>
    </tr>
  </tbody>
</table>

## `StringAttributeCondition` <a id="StringAttributeCondition" />

**Appears in:**

* [AttributeCondition](#AttributeCondition)

<p>StringAttributeCondition defines how to evaluate a string attribute.</p>

<table class="table">
  <thead><tr><th width="30%">Field</th><th>Type</th><th>Description</th></tr></thead>

  <tbody>
    <tr>
      <td>
        <code>operation</code> <B>\[Required]</B>
      </td>

      <td>
        <code>string</code>
      </td>

      <td>
        <p>Operation determines what comparison or check should be performed.</p>
        <p>The valid operations are:</p>

        <ul>
          <li>"exists": Checks that the attribute is present (and not an empty string).</li>
          <li>"equals": String equality comparison with ExpectedValue.</li>
          <li>"not\_equals": String inequality comparison with ExpectedValue.</li>
          <li>"contains": Checks if the attribute contains ExpectedValue as a substring.</li>
          <li>"not\_contains": Checks if the attribute does not contain ExpectedValue.</li>
          <li>"regex": Interprets ExpectedValue as a regular expression (RE2 syntax)
          and checks for a match within the attribute.</li>
        </ul>

        <p>For operations other than "exists", ExpectedValue must be provided.</p>
      </td>
    </tr>

    <tr>
      <td>
        <code>expected\_value</code> <B>\[Required]</B>
      </td>

      <td>
        <code>string</code>
      </td>

      <td>
        <p>ExpectedValue is required for all operations except "exists". Its usage
        depends on the chosen Operation, e.g. it may represent an exact string
        to match, a substring, or a regular expression.</p>
      </td>
    </tr>
  </tbody>
</table>
