To use the 1Password Terraform provider with a Connect server:
Specify the Connect server token.You can set this value with the OP_CONNECT_TOKEN environment variable or with the connect_token field in the provider configuration.
Specify the Connect server hostname, URL, or IP address.You can set this value with the OP_CONNECT_HOST environment variable or with the connect_url field in the provider configuration.
To use the 1Password Terraform provider with a service account, you’ll need to provide your service account token.You can set this value with the OP_SERVICE_ACCOUNT_TOKEN environment variable or with the service_account_token field in the provider configuration.
First, turn on the “Integrate with other apps” setting in the 1Password desktop app. If you don’t see this setting, make sure you’ve installed the beta version of the app.
Then provide your account name or ID in the provider configuration:
Get the name of your 1Password account as it appears at the top of the left sidebar in the 1Password desktop app. Alternatively, you can use 1Password CLI to run op account get to find your account ID.
Set the OP_ACCOUNT environment variable or account in the provider configuration to your account name or ID.
Run a Terraform command that requires authentication, and you’ll be prompted to authenticate in the same way you unlock your 1Password app, like with biometrics or your 1Password account password.
The 1Password Terraform provider has fields you must set before you can use it with a 1Password Connect server, service account, or the 1Password desktop app. The following table describes each field.
Field
Type
Description
Required
connect_token
String
A valid token for the 1Password Connect server. You can also source the value from the OP_CONNECT_TOKEN environment variable.
Required if using a Connect server.
connect_url
String
The HTTP(s) URL of the 1Password Connect server. You can also source the value from the OP_CONNECT_HOST environment variable.
Required if using a Connect server.
service_account_token
String
A valid token for the 1Password Service Account. You can also source the value from the OP_SERVICE_ACCOUNT_TOKEN environment variable.
Required if using a service account.
account
String
The 1Password account name as it appears at the top left of the sidebar in the 1Password desktop app. Alternatively, the 1Password account ID. You can also source the value from the ACCOUNT environment variable.
Required if using the 1Password desktop app integration.
You can use the following environment variables to specify configuration values.
Environment variable
Description
Configuration field
OP_CONNECT_TOKEN
A valid token for the 1Password Connect server.
connect_token
OP_CONNECT_HOST
The hostname, IP address, or URL of the 1Password Connect server.
connect_url
OP_SERVICE_ACCOUNT_TOKEN
A valid token for the 1Password Service Account.
service_account_token
OP_ACCOUNT
The 1Password account name as it appears at the top left of the sidebar in the 1Password desktop app. Alternatively, the 1Password account ID.
Use the onepassword_item data source to get details of a 1Password item. You can identify an item by its vault UUID and either the item’s title or UUID.
Schema
The following tables describe the onepassword_item resource schema.
Field
Type
Description
Required
Access
vault
String
The UUID of the vault the item is in.
Yes
Read-Write
note_value
String, Sensitive
The Secure Note value.
No
Read-Write
title
String
The title of the item to retrieve. This field populates with the title of the item if the item is looked up by its UUID.
No
Read-Write
uuid
String
The UUID of the item to retrieve. This field populates with the UUID of the item if the item is looked up by its title.
No
Read-Write
category
String
The category of the item.
Acceptable values: login, password, or database.
No
Read-Only
database
String
The name of the database. Only applies to the database category.
No
Read-Only
hostname
String
The address where the database can be found. Only applies to the database category.
No
Read-Only
id
String
The Terraform resource identifier for the item in the format vaults/<vault_id>/items/<item_id>.
No
Read-Only
password
String, Sensitive
The password for the item.
No
Read-Only
port
String
The port the database is listening on. Only applies to the database category.
No
Read-Only
section
List of Object
A list of custom sections in an item.
No
Read-Only
tags
List of String
An array of strings of the tags assigned to the item.
No
Read-Only
type
String
The type of database. Only applies to the database category.