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

# Google Cloud Storage Rehydration

<Badge className="hny-badge-enterprise-addon" stroke>Ent+</Badge>

<Note>
  This feature is available as an add-on for the [Honeycomb Enterprise plan](https://www.honeycomb.io/pricing/).
  Please contact your Honeycomb account team for details.
</Note>

## Supported Types

| Metrics | Logs | Traces |
| ------- | ---- | ------ |
| ✓       | ✓    | ✓      |

## How It Works

1. This source rehydrates data previously stored by Google Cloud Storage.
2. It will process both uncompressed JSON objects and objects compressed with gzip.
3. You can authenticate to Google Cloud using the provided `credentials`, `credentials_file`, or by using Application Default Credentials.
4. Your authentication credentials must have the Storage Admin permission to read and delete objects.

### Notes

This is not a traditional source that continually produces data. Instead, it rehydrates all objects found within a specified time range. Once all objects in that time range have been rehydrated, the source will stop producing data.

## Configuration

<table><thead><tr><th>Parameter</th><th>Type</th><th>Default</th><th>Description</th></tr></thead><tbody><tr><td>telemetry\_types\*</td><td><code>telemetrySelector</code></td><td>Logs, Metrics, Traces</td><td>Specifies which types of telemetry to rehydrate.</td></tr><tr><td>bucket\_name\*</td><td><code>string</code></td><td>""</td><td>The name of the bucket to rehydrate from.</td></tr><tr><td>project\_id</td><td><code>string</code></td><td>""</td><td>The ID of the Google Cloud project the bucket belongs to. Will be read from credentials if not configured.</td></tr><tr><td>auth\_type</td><td><code>enum</code></td><td>auto</td><td>The method used for authenticating to Google Cloud. Valid values are "auto", "json", or "file".</td></tr><tr><td>credentials</td><td><code>string</code></td><td>""</td><td>JSON value from a Google Service Account credential file. Required if auth\_type is "json".</td></tr><tr><td>credentials\_file</td><td><code>string</code></td><td>""</td><td>Path to a Google Service Account credential file. Required if auth\_type is "file".</td></tr><tr><td>starting\_time\*</td><td><code>dateTime</code></td><td>""</td><td>The UTC start time for rehydration. Must be in the format "YYYY-MM-DDTHH:MM".</td></tr><tr><td>ending\_time\*</td><td><code>dateTime</code></td><td>""</td><td>The UTC end time for rehydration. Must be in the format "YYYY-MM-DDTHH:MM".</td></tr><tr><td>folder\_name</td><td><code>string</code></td><td>""</td><td>Restricts rehydration to objects in a specific folder within the bucket.</td></tr><tr><td>batch\_size</td><td><code>int</code></td><td>30</td><td>The number of objects to download at once. This impacts performance by controlling the number of concurrent object downloads.</td></tr><tr><td>delete\_on\_read</td><td><code>bool</code></td><td>false</td><td>If true, objects will be deleted after being rehydrated.</td></tr><tr><td>storage\_enable</td><td><code>bool</code></td><td>true</td><td>Enable to specify a storage extension for rehydration progress.</td></tr><tr><td>storage\_directory</td><td><code>string</code></td><td>\$OIQ\_OTEL\_COLLECTOR\_HOME/storage</td><td>Directory for storing rehydration state. Useful for maintaining state and resuming operations after disruptions.</td></tr></tbody></table>

<span style={{color: 'red'}}>\* *required field*</span>

## Example Configurations

### Basic Configuration

This configuration authenticates using Application Default Credentials and rehydrates data in the specified bucket, folder, and time range.

Standalone Source:

```yaml theme={}
apiVersion: bindplane.observiq.com/v1
kind: Source
metadata:
  id: google_cloud_storage_rehydration
  name: google_cloud_storage_rehydration
spec:
  type: google_cloud_storage_rehydration
  parameters:
    - name: telemetry_types
      value: ['Logs', 'Metrics', 'Traces']
    - name: bucket_name
      value: 'my-bucket'
    - name: auth_type
      value: 'auto'
    - name: starting_time
      value: '2025-03-03T16:00'
    - name: ending_time
      value: '2025-03-03T17:00'
    - name: folder_name
      value: 'my-folder-name'
    - name: batch_size
      value: 30
    - name: storage_enable
      value: false
```

### Complete Configuration

This configuration demonstrates all available options for the Google Cloud Storage Rehydration source, including authentication, storage settings, and delete on read functionality.

Standalone Source:

```yaml theme={}
apiVersion: bindplane.observiq.com/v1
kind: Source
metadata:
  id: google_cloud_storage_rehydration
  name: google_cloud_storage_rehydration
spec:
  type: google_cloud_storage_rehydration
  parameters:
    - name: telemetry_types
      value: ['Logs', 'Metrics', 'Traces']
    - name: bucket_name
      value: 'my-bucket'
    - name: project_id
      value: 'my-project'
    - name: auth_type
      value: 'file'
    - name: credentials_file
      value: '/path/to/googlecloud/credentials/file'
    - name: starting_time
      value: '2025-03-03T16:00'
    - name: ending_time
      value: '2025-03-03T17:00'
    - name: folder_name
      value: 'my-folder'
    - name: batch_size
      value: 30
    - name: delete_on_read
      value: true
    - name: storage_enable
      value: true
    - name: storage_directory
      value: '/custom/storage/path'
```
