Documentation
¶
Overview ¶
Code generated by typeshare 1.13.2. DO NOT EDIT.
Index ¶
- Constants
- Variables
- type AddressFieldDetails
- type AllowedRecipientType
- type AllowedType
- type AutofillBehavior
- type Client
- type ClientOption
- type DesktopSessionExpiredError
- type DocumentCreateParams
- type ErrorMessage
- type FileAttributes
- type FileCreateParams
- type GeneratePasswordResponse
- type Group
- type GroupAccess
- type GroupGetParams
- type GroupState
- type GroupType
- type GroupVaultAccess
- type GroupsAPI
- type GroupsSource
- type Item
- type ItemCategory
- type ItemCreateParams
- type ItemField
- type ItemFieldDetails
- type ItemFieldDetailsTypes
- type ItemFieldType
- type ItemFile
- type ItemListFilter
- type ItemListFilterByStateInner
- type ItemListFilterTypes
- type ItemOverview
- type ItemSection
- type ItemShareAccountPolicy
- type ItemShareDuration
- type ItemShareFiles
- type ItemShareParams
- type ItemState
- type ItemUpdateFailureReason
- func NewItemUpdateFailureReasonTypeVariantInternal(content ErrorMessage) ItemUpdateFailureReason
- func NewItemUpdateFailureReasonTypeVariantItemNotFound() ItemUpdateFailureReason
- func NewItemUpdateFailureReasonTypeVariantItemStatusFileNotFound() ItemUpdateFailureReason
- func NewItemUpdateFailureReasonTypeVariantItemStatusIncorrectItemVersion() ItemUpdateFailureReason
- func NewItemUpdateFailureReasonTypeVariantItemStatusPermissionError() ItemUpdateFailureReason
- func NewItemUpdateFailureReasonTypeVariantItemStatusTooBig() ItemUpdateFailureReason
- func NewItemUpdateFailureReasonTypeVariantItemValidationError(content ErrorMessage) ItemUpdateFailureReason
- type ItemUpdateFailureReasonTypes
- type ItemsAPI
- type ItemsDeleteAllResponse
- type ItemsFilesAPI
- type ItemsFilesSource
- func (i ItemsFilesSource) Attach(ctx context.Context, item Item, fileParams FileCreateParams) (Item, error)
- func (i ItemsFilesSource) Delete(ctx context.Context, item Item, sectionID string, fieldID string) (Item, error)
- func (i ItemsFilesSource) Read(ctx context.Context, vaultID string, itemID string, attr FileAttributes) ([]byte, error)
- func (i ItemsFilesSource) ReplaceDocument(ctx context.Context, item Item, docParams DocumentCreateParams) (Item, error)
- type ItemsGetAllError
- type ItemsGetAllErrorTypes
- type ItemsGetAllResponse
- type ItemsSharesAPI
- type ItemsSharesSource
- func (i ItemsSharesSource) Create(ctx context.Context, item Item, policy ItemShareAccountPolicy, ...) (string, error)
- func (i ItemsSharesSource) GetAccountPolicy(ctx context.Context, vaultID string, itemID string) (ItemShareAccountPolicy, error)
- func (i ItemsSharesSource) ValidateRecipients(ctx context.Context, policy ItemShareAccountPolicy, recipients []string) ([]ValidRecipient, error)
- type ItemsSource
- func (i ItemsSource) Archive(ctx context.Context, vaultID string, itemID string) error
- func (i ItemsSource) Create(ctx context.Context, params ItemCreateParams) (Item, error)
- func (i ItemsSource) CreateAll(ctx context.Context, vaultID string, params []ItemCreateParams) (ItemsUpdateAllResponse, error)
- func (i ItemsSource) Delete(ctx context.Context, vaultID string, itemID string) error
- func (i ItemsSource) DeleteAll(ctx context.Context, vaultID string, itemIds []string) (ItemsDeleteAllResponse, error)
- func (i ItemsSource) Files() ItemsFilesAPI
- func (i ItemsSource) Get(ctx context.Context, vaultID string, itemID string) (Item, error)
- func (i ItemsSource) GetAll(ctx context.Context, vaultID string, itemIds []string) (ItemsGetAllResponse, error)
- func (i ItemsSource) List(ctx context.Context, vaultID string, filters ...ItemListFilter) ([]ItemOverview, error)
- func (i ItemsSource) Put(ctx context.Context, item Item) (Item, error)
- func (i ItemsSource) Shares() ItemsSharesAPI
- type ItemsUpdateAllResponse
- type OTPFieldDetails
- type PasswordRecipe
- type PasswordRecipeMemorableInner
- type PasswordRecipePinInner
- type PasswordRecipeRandomInner
- type PasswordRecipeTypes
- type RateLimitExceededError
- type ResolveAllResponse
- type ResolveReferenceError
- func NewResolveReferenceErrorTypeVariantFieldNotFound() ResolveReferenceError
- func NewResolveReferenceErrorTypeVariantIncompatibleSSHKeyQueryParameterField() ResolveReferenceError
- func NewResolveReferenceErrorTypeVariantIncompatibleTOTPQueryParameterField() ResolveReferenceError
- func NewResolveReferenceErrorTypeVariantItemNotFound() ResolveReferenceError
- func NewResolveReferenceErrorTypeVariantNoMatchingSections() ResolveReferenceError
- func NewResolveReferenceErrorTypeVariantOther() ResolveReferenceError
- func NewResolveReferenceErrorTypeVariantParsing(content ErrorMessage) ResolveReferenceError
- func NewResolveReferenceErrorTypeVariantSSHKeyMetadataNotFound() ResolveReferenceError
- func NewResolveReferenceErrorTypeVariantTooManyItems() ResolveReferenceError
- func NewResolveReferenceErrorTypeVariantTooManyMatchingFields() ResolveReferenceError
- func NewResolveReferenceErrorTypeVariantTooManyVaults() ResolveReferenceError
- func NewResolveReferenceErrorTypeVariantUnableToFormatPrivateKeyToOpenSSH() ResolveReferenceError
- func NewResolveReferenceErrorTypeVariantUnableToGenerateTOTPCode(content ErrorMessage) ResolveReferenceError
- func NewResolveReferenceErrorTypeVariantUnableToParsePrivateKey() ResolveReferenceError
- func NewResolveReferenceErrorTypeVariantUnsupportedFileFormat() ResolveReferenceError
- func NewResolveReferenceErrorTypeVariantVaultNotFound() ResolveReferenceError
- type ResolveReferenceErrorTypes
- type ResolvedReference
- type Response
- type SSHKeyAttributes
- type SecretsAPI
- type SecretsSource
- type SeparatorType
- type ValidRecipient
- type ValidRecipientDomainInner
- type ValidRecipientEmailInner
- type ValidRecipientTypes
- type Vault
- type VaultAccess
- type VaultAccessorType
- type VaultCreateParams
- type VaultGetParams
- type VaultListParams
- type VaultOverview
- type VaultType
- type VaultUpdateParams
- type VaultsAPI
- type VaultsSource
- func (v VaultsSource) Create(ctx context.Context, params VaultCreateParams) (Vault, error)
- func (v VaultsSource) Delete(ctx context.Context, vaultID string) error
- func (v VaultsSource) Get(ctx context.Context, vaultID string, vaultParams VaultGetParams) (Vault, error)
- func (v VaultsSource) GetOverview(ctx context.Context, vaultID string) (VaultOverview, error)
- func (v VaultsSource) GrantGroupPermissions(ctx context.Context, vaultID string, groupPermissionsList []GroupAccess) error
- func (v VaultsSource) List(ctx context.Context, params ...VaultListParams) ([]VaultOverview, error)
- func (v VaultsSource) RevokeGroupPermissions(ctx context.Context, vaultID string, groupID string) error
- func (v VaultsSource) Update(ctx context.Context, vaultID string, params VaultUpdateParams) (Vault, error)
- func (v VaultsSource) UpdateGroupPermissions(ctx context.Context, groupPermissionsList []GroupVaultAccess) error
- type Website
- type WordListType
Constants ¶
const ( DefaultIntegrationName = "Unknown" DefaultIntegrationVersion = "Unknown" )
const ArchiveItems uint32 = 256
const CreateItems uint32 = 128
const DeleteItems uint32 = 512
const ExportItems uint32 = 4194304
const ImportItems uint32 = 2097152
const ManageVault uint32 = 2
const NoAccess uint32 = 0
const PrintItems uint32 = 8388608
const ReadItems uint32 = 32
const RecoverVault uint32 = 1
const RevealItemPassword uint32 = 16
const SendItems uint32 = 1048576
const UpdateItemHistory uint32 = 1024
const UpdateItems uint32 = 64
Variables ¶
var Secrets = secretsUtil{}
Functions ¶
This section is empty.
Types ¶
type AddressFieldDetails ¶ added in v0.2.1
type AddressFieldDetails struct {
// The street address
Street string `json:"street"`
// The city
City string `json:"city"`
// The country
Country string `json:"country"`
// The ZIP code
Zip string `json:"zip"`
// The state
State string `json:"state"`
}
Additional attributes for OTP fields.
type AllowedRecipientType ¶ added in v0.1.6
type AllowedRecipientType string
The allowed recipient types of item sharing, enforced by account policy
const ( // Recipients can be specified by email address AllowedRecipientTypeEmail AllowedRecipientType = "Email" // Recipients can be specified by domain AllowedRecipientTypeDomain AllowedRecipientType = "Domain" )
type AllowedType ¶ added in v0.1.6
type AllowedType string
The allowed types of item sharing, enforced by account policy
const ( // Allows creating share links with specific recipients AllowedTypeAuthenticated AllowedType = "Authenticated" // Allows creating public share links AllowedTypePublic AllowedType = "Public" )
type AutofillBehavior ¶ added in v0.1.3
type AutofillBehavior string
Controls the auto-fill behavior of a website.
For more information, visit <https://support.1password.com/autofill-behavior/>
const ( // Auto-fill any page that’s part of the website, including subdomains AutofillBehaviorAnywhereOnWebsite AutofillBehavior = "AnywhereOnWebsite" // Auto-fill only if the domain (hostname and port) is an exact match. AutofillBehaviorExactDomain AutofillBehavior = "ExactDomain" // Never auto-fill on this website AutofillBehaviorNever AutofillBehavior = "Never" )
type Client ¶
type Client struct {
SecretsAPI SecretsAPI
ItemsAPI ItemsAPI
VaultsAPI VaultsAPI
GroupsAPI GroupsAPI
// contains filtered or unexported fields
}
Client represents an instance of the 1Password Go SDK client.
func NewClient ¶
func NewClient(ctx context.Context, opts ...ClientOption) (*Client, error)
NewClient returns a 1Password Go SDK client using the provided ClientOption list.
func (*Client) Secrets ¶
func (c *Client) Secrets() SecretsAPI
type ClientOption ¶
func WithDesktopAppIntegration ¶ added in v0.4.0
func WithDesktopAppIntegration(accountName string) ClientOption
WithDesktopAppIntegration specifies a client should use the desktop app to authenticate. Set to your 1Password account name as shown at the top left sidebar of the app, or your account UUID.
func WithIntegrationInfo ¶
func WithIntegrationInfo(name string, version string) ClientOption
WithIntegrationInfo specifies the name and version of the integration built using the 1Password Go SDK. If you don't know which name and version to use, use `DefaultIntegrationName` and `DefaultIntegrationVersion`, respectively.
func WithServiceAccountToken ¶
func WithServiceAccountToken(token string) ClientOption
WithServiceAccountToken specifies the [1Password Service Account](https://developer.1password.com/docs/service-accounts) token to use to authenticate the SDK client. Read more about how to get started with service accounts: https://developer.1password.com/docs/service-accounts/get-started/#create-a-service-account
type DesktopSessionExpiredError ¶ added in v0.4.0
type DesktopSessionExpiredError struct {
// contains filtered or unexported fields
}
func (*DesktopSessionExpiredError) Error ¶ added in v0.4.0
func (e *DesktopSessionExpiredError) Error() string
type DocumentCreateParams ¶ added in v0.2.0
type ErrorMessage ¶ added in v0.2.1
type ErrorMessage string
type FileAttributes ¶ added in v0.2.0
type FileCreateParams ¶ added in v0.2.0
type FileCreateParams struct {
// The name of the file
Name string `json:"name"`
// The content of the file
Content []byte `json:"content"`
// The section id where the file should be stored
SectionID string `json:"sectionId"`
// The field id where the file should be stored
FieldID string `json:"fieldId"`
}
type GeneratePasswordResponse ¶ added in v0.1.5
type GeneratePasswordResponse struct {
// The generated password.
Password string `json:"password"`
}
For future use, if we want to return more information about the generated password. Currently, it only returns the password itself.
type Group ¶ added in v0.4.0
type Group struct {
ID string `json:"id"`
Title string `json:"title"`
Description string `json:"description"`
GroupType GroupType `json:"groupType"`
State GroupState `json:"state"`
VaultAccess []VaultAccess `json:"vaultAccess,omitempty"`
}
type GroupAccess ¶ added in v0.4.0
type GroupAccess struct {
// The group's ID
GroupID string `json:"groupId"`
// The group's set of permissions for the vault
Permissions uint32 `json:"permissions"`
}
Represents a group's access to a 1Password vault. This is used for granting permissions
type GroupGetParams ¶ added in v0.4.0
type GroupGetParams struct {
VaultPermissions *bool `json:"vaultPermissions,omitempty"`
}
type GroupState ¶ added in v0.4.0
type GroupState string
const ( // This group is active GroupStateActive GroupState = "active" // This group has been deleted GroupStateDeleted GroupState = "deleted" // This group is in an unknown state GroupStateUnsupported GroupState = "unsupported" )
type GroupType ¶ added in v0.4.0
type GroupType string
const ( // The owners group, which gives the following permissions: // - Do everything the Admin group can do // - See every vault other than the personal vaults // - Change people's names // - See billing // - Change billing // - Make other people owners // - Delete a person GroupTypeOwners GroupType = "owners" // The administrators group, which gives the following permissions: // - Perform recovery // - Create new vaults // - Invite new members // - See vault metadata, including the vault name and who has access. // - Make other people admins GroupTypeAdministrators GroupType = "administrators" // The recovery group. It contains recovery keysets, and is added to every vault to allow for recovery. // // No one is added to this. GroupTypeRecovery GroupType = "recovery" // The external account managers group or EAM is a mandatory group for managed accounts that has // same permissions as the owners. GroupTypeExternalAccountManagers GroupType = "externalAccountManagers" // Members of a team that a user is on. GroupTypeTeamMembers GroupType = "teamMembers" // A custom, user defined group. GroupTypeUserDefined GroupType = "userDefined" // Support for new or renamed group types GroupTypeUnsupported GroupType = "unsupported" )
type GroupVaultAccess ¶ added in v0.4.0
type GroupVaultAccess struct {
// The vault's ID
VaultID string `json:"vaultId"`
// The group's ID
GroupID string `json:"groupId"`
// The group's set of permissions for the vault
Permissions uint32 `json:"permissions"`
}
Represents a group's access to a 1Password vault.
type GroupsAPI ¶ added in v0.4.0
type GroupsAPI interface {
// Get a group by its ID and parameters.
Get(ctx context.Context, groupID string, groupParams GroupGetParams) (Group, error)
}
The Groups API holds all the operations the SDK client can perform on 1Password groups.
func NewGroupsSource ¶ added in v0.4.0
func NewGroupsSource(inner *internal.InnerClient) GroupsAPI
type GroupsSource ¶ added in v0.4.0
type GroupsSource struct {
*internal.InnerClient
}
func (GroupsSource) Get ¶ added in v0.4.0
func (g GroupsSource) Get(ctx context.Context, groupID string, groupParams GroupGetParams) (Group, error)
Get a group by its ID and parameters.
type Item ¶
type Item struct {
// The item's ID
ID string `json:"id"`
// The item's title
Title string `json:"title"`
// The item's category
Category ItemCategory `json:"category"`
// The ID of the vault where the item is saved
VaultID string `json:"vaultId"`
// The item's fields
Fields []ItemField `json:"fields"`
// The item's sections
Sections []ItemSection `json:"sections"`
// The notes of the item
Notes string `json:"notes"`
// The item's tags
Tags []string `json:"tags"`
// The websites used for autofilling for items of the Login and Password categories.
Websites []Website `json:"websites"`
// The item's version
Version uint32 `json:"version"`
// The item's file fields
Files []ItemFile `json:"files"`
// The document file for the Document item category
Document *FileAttributes `json:"document,omitempty"`
// The time the item was created at
CreatedAt time.Time `json:"createdAt"`
// The time the item was updated at
UpdatedAt time.Time `json:"updatedAt"`
}
Represents an active 1Password item.
type ItemCategory ¶
type ItemCategory string
const ( ItemCategoryLogin ItemCategory = "Login" ItemCategorySecureNote ItemCategory = "SecureNote" ItemCategoryCreditCard ItemCategory = "CreditCard" ItemCategoryCryptoWallet ItemCategory = "CryptoWallet" ItemCategoryIdentity ItemCategory = "Identity" ItemCategoryPassword ItemCategory = "Password" ItemCategoryDocument ItemCategory = "Document" ItemCategoryAPICredentials ItemCategory = "ApiCredentials" ItemCategoryBankAccount ItemCategory = "BankAccount" ItemCategoryDatabase ItemCategory = "Database" ItemCategoryDriverLicense ItemCategory = "DriverLicense" ItemCategoryEmail ItemCategory = "Email" ItemCategoryMedicalRecord ItemCategory = "MedicalRecord" ItemCategoryMembership ItemCategory = "Membership" ItemCategoryOutdoorLicense ItemCategory = "OutdoorLicense" ItemCategoryPassport ItemCategory = "Passport" ItemCategoryRewards ItemCategory = "Rewards" ItemCategoryRouter ItemCategory = "Router" ItemCategoryServer ItemCategory = "Server" ItemCategorySSHKey ItemCategory = "SshKey" ItemCategorySocialSecurityNumber ItemCategory = "SocialSecurityNumber" ItemCategorySoftwareLicense ItemCategory = "SoftwareLicense" ItemCategoryPerson ItemCategory = "Person" ItemCategoryUnsupported ItemCategory = "Unsupported" )
type ItemCreateParams ¶
type ItemCreateParams struct {
// The item's category
Category ItemCategory `json:"category"`
// The ID of the vault where the item is saved
VaultID string `json:"vaultId"`
// The item's title
Title string `json:"title"`
// The item's fields
Fields []ItemField `json:"fields,omitempty"`
// The item's sections
Sections []ItemSection `json:"sections,omitempty"`
// The item's notes
Notes *string `json:"notes,omitempty"`
// The item's tags
Tags []string `json:"tags,omitempty"`
// The websites used for autofilling for items of the Login and Password categories.
Websites []Website `json:"websites,omitempty"`
// The item's files stored as fields
Files []FileCreateParams `json:"files,omitempty"`
// The document file for the Document item type. Empty when the item isn't of Document type.
Document *DocumentCreateParams `json:"document,omitempty"`
}
type ItemField ¶
type ItemField struct {
// The field's ID
ID string `json:"id"`
// The field's title
Title string `json:"title"`
// The ID of the section containing the field. Built-in fields such as usernames and passwords don't require a section.
SectionID *string `json:"sectionId,omitempty"`
// The field's type
FieldType ItemFieldType `json:"fieldType"`
// The string representation of the field's value
Value string `json:"value"`
// Field type-specific attributes.
Details *ItemFieldDetails `json:"details,omitempty"`
}
Represents a field within an item.
type ItemFieldDetails ¶
type ItemFieldDetails struct {
Type ItemFieldDetailsTypes `json:"type"`
// contains filtered or unexported fields
}
func NewItemFieldDetailsTypeVariantAddress ¶ added in v0.2.1
func NewItemFieldDetailsTypeVariantAddress(content *AddressFieldDetails) ItemFieldDetails
func NewItemFieldDetailsTypeVariantOTP ¶
func NewItemFieldDetailsTypeVariantOTP(content *OTPFieldDetails) ItemFieldDetails
func NewItemFieldDetailsTypeVariantSSHKey ¶ added in v0.2.0
func NewItemFieldDetailsTypeVariantSSHKey(content *SSHKeyAttributes) ItemFieldDetails
func (ItemFieldDetails) Address ¶ added in v0.2.1
func (i ItemFieldDetails) Address() *AddressFieldDetails
func (ItemFieldDetails) MarshalJSON ¶
func (i ItemFieldDetails) MarshalJSON() ([]byte, error)
func (ItemFieldDetails) OTP ¶
func (i ItemFieldDetails) OTP() *OTPFieldDetails
func (ItemFieldDetails) SSHKey ¶ added in v0.2.0
func (i ItemFieldDetails) SSHKey() *SSHKeyAttributes
func (*ItemFieldDetails) UnmarshalJSON ¶
func (i *ItemFieldDetails) UnmarshalJSON(data []byte) error
type ItemFieldDetailsTypes ¶
type ItemFieldDetailsTypes string
Field type-specific attributes.
const ( // The computed OTP code and other details ItemFieldDetailsTypeVariantOTP ItemFieldDetailsTypes = "Otp" // Computed SSH Key attributes ItemFieldDetailsTypeVariantSSHKey ItemFieldDetailsTypes = "SshKey" // Address components ItemFieldDetailsTypeVariantAddress ItemFieldDetailsTypes = "Address" )
type ItemFieldType ¶
type ItemFieldType string
const ( ItemFieldTypeText ItemFieldType = "Text" ItemFieldTypeConcealed ItemFieldType = "Concealed" ItemFieldTypeCreditCardType ItemFieldType = "CreditCardType" ItemFieldTypeCreditCardNumber ItemFieldType = "CreditCardNumber" ItemFieldTypePhone ItemFieldType = "Phone" ItemFieldTypeURL ItemFieldType = "Url" ItemFieldTypeTOTP ItemFieldType = "Totp" ItemFieldTypeEmail ItemFieldType = "Email" ItemFieldTypeReference ItemFieldType = "Reference" ItemFieldTypeSSHKey ItemFieldType = "SshKey" ItemFieldTypeMenu ItemFieldType = "Menu" ItemFieldTypeMonthYear ItemFieldType = "MonthYear" ItemFieldTypeAddress ItemFieldType = "Address" ItemFieldTypeDate ItemFieldType = "Date" ItemFieldTypeUnsupported ItemFieldType = "Unsupported" )
type ItemFile ¶ added in v0.2.0
type ItemFile struct {
// the attributes of the file
Attributes FileAttributes `json:"attributes"`
// the section id where the file should be stored
SectionID string `json:"sectionId"`
// the field id where the file should be stored
FieldID string `json:"fieldId"`
}
type ItemListFilter ¶ added in v0.3.0
type ItemListFilter struct {
Type ItemListFilterTypes `json:"type"`
// contains filtered or unexported fields
}
func NewItemListFilterTypeVariantByState ¶ added in v0.3.0
func NewItemListFilterTypeVariantByState(content *ItemListFilterByStateInner) ItemListFilter
func (ItemListFilter) ByState ¶ added in v0.3.0
func (i ItemListFilter) ByState() *ItemListFilterByStateInner
func (ItemListFilter) MarshalJSON ¶ added in v0.3.0
func (i ItemListFilter) MarshalJSON() ([]byte, error)
func (*ItemListFilter) UnmarshalJSON ¶ added in v0.3.0
func (i *ItemListFilter) UnmarshalJSON(data []byte) error
type ItemListFilterByStateInner ¶ added in v0.3.0
type ItemListFilterByStateInner struct {
Active bool `json:"active"`
Archived bool `json:"archived"`
}
Generated type representing the anonymous struct variant `ByState` of the `ItemListFilter` Rust enum
type ItemListFilterTypes ¶ added in v0.3.0
type ItemListFilterTypes string
const (
ItemListFilterTypeVariantByState ItemListFilterTypes = "ByState"
)
type ItemOverview ¶
type ItemOverview struct {
// The item's ID
ID string `json:"id"`
// The item's title
Title string `json:"title"`
// The item's category
Category ItemCategory `json:"category"`
// The ID of the vault where the item is saved
VaultID string `json:"vaultId"`
// The websites used for autofilling for items of the Login and Password categories.
Websites []Website `json:"websites"`
// The item tags
Tags []string `json:"tags"`
// The time the item was created at
CreatedAt time.Time `json:"createdAt"`
// The time the item was updated at
UpdatedAt time.Time `json:"updatedAt"`
// Indicates the state of the item
State ItemState `json:"state"`
}
Represents a decrypted 1Password item overview.
type ItemSection ¶
type ItemSection struct {
// The section's unique ID
ID string `json:"id"`
// The section's title
Title string `json:"title"`
}
A section groups together multiple fields in an item.
type ItemShareAccountPolicy ¶ added in v0.1.6
type ItemShareAccountPolicy struct {
MaxExpiry ItemShareDuration `json:"maxExpiry"`
DefaultExpiry ItemShareDuration `json:"defaultExpiry"`
MaxViews *uint32 `json:"maxViews,omitempty"`
AllowedTypes []AllowedType `json:"allowedTypes"`
AllowedRecipientTypes []AllowedRecipientType `json:"allowedRecipientTypes"`
Files ItemShareFiles `json:"files"`
}
The account policy for sharing items, set by your account owner/admin This policy is enforced server-side when sharing items
type ItemShareDuration ¶ added in v0.1.6
type ItemShareDuration string
The valid duration options for sharing an item
const ( ItemShareDurationOneHour ItemShareDuration = "OneHour" ItemShareDurationOneDay ItemShareDuration = "OneDay" ItemShareDurationSevenDays ItemShareDuration = "SevenDays" ItemShareDurationFourteenDays ItemShareDuration = "FourteenDays" ItemShareDurationThirtyDays ItemShareDuration = "ThirtyDays" )
type ItemShareFiles ¶ added in v0.2.1
type ItemShareFiles struct {
Allowed bool `json:"allowed"`
MaxSize uint32 `json:"maxSize"`
AllowedTypes []AllowedType `json:"allowedTypes,omitempty"`
AllowedRecipientTypes []AllowedRecipientType `json:"allowedRecipientTypes,omitempty"`
MaxExpiry *ItemShareDuration `json:"maxExpiry,omitempty"`
DefaultExpiry *ItemShareDuration `json:"defaultExpiry,omitempty"`
MaxViews *uint32 `json:"maxViews,omitempty"`
}
The file sharing policy
type ItemShareParams ¶ added in v0.1.6
type ItemShareParams struct {
Recipients []ValidRecipient `json:"recipients,omitempty"`
ExpireAfter *ItemShareDuration `json:"expireAfter,omitempty"`
OneTimeOnly bool `json:"oneTimeOnly"`
}
The configuration options for sharing an item These must respect the account policy on item sharing
type ItemUpdateFailureReason ¶ added in v0.4.0
type ItemUpdateFailureReason struct {
Type ItemUpdateFailureReasonTypes `json:"type"`
// contains filtered or unexported fields
}
func NewItemUpdateFailureReasonTypeVariantInternal ¶ added in v0.4.0
func NewItemUpdateFailureReasonTypeVariantInternal(content ErrorMessage) ItemUpdateFailureReason
func NewItemUpdateFailureReasonTypeVariantItemNotFound ¶ added in v0.4.0
func NewItemUpdateFailureReasonTypeVariantItemNotFound() ItemUpdateFailureReason
func NewItemUpdateFailureReasonTypeVariantItemStatusFileNotFound ¶ added in v0.4.0
func NewItemUpdateFailureReasonTypeVariantItemStatusFileNotFound() ItemUpdateFailureReason
func NewItemUpdateFailureReasonTypeVariantItemStatusIncorrectItemVersion ¶ added in v0.4.0
func NewItemUpdateFailureReasonTypeVariantItemStatusIncorrectItemVersion() ItemUpdateFailureReason
func NewItemUpdateFailureReasonTypeVariantItemStatusPermissionError ¶ added in v0.4.0
func NewItemUpdateFailureReasonTypeVariantItemStatusPermissionError() ItemUpdateFailureReason
func NewItemUpdateFailureReasonTypeVariantItemStatusTooBig ¶ added in v0.4.0
func NewItemUpdateFailureReasonTypeVariantItemStatusTooBig() ItemUpdateFailureReason
func NewItemUpdateFailureReasonTypeVariantItemValidationError ¶ added in v0.4.0
func NewItemUpdateFailureReasonTypeVariantItemValidationError(content ErrorMessage) ItemUpdateFailureReason
func (ItemUpdateFailureReason) Internal ¶ added in v0.4.0
func (i ItemUpdateFailureReason) Internal() ErrorMessage
func (ItemUpdateFailureReason) ItemValidationError ¶ added in v0.4.0
func (i ItemUpdateFailureReason) ItemValidationError() ErrorMessage
func (ItemUpdateFailureReason) MarshalJSON ¶ added in v0.4.0
func (i ItemUpdateFailureReason) MarshalJSON() ([]byte, error)
func (*ItemUpdateFailureReason) UnmarshalJSON ¶ added in v0.4.0
func (i *ItemUpdateFailureReason) UnmarshalJSON(data []byte) error
type ItemUpdateFailureReasonTypes ¶ added in v0.4.0
type ItemUpdateFailureReasonTypes string
const ( // Item update operation failed due to bad user input. ItemUpdateFailureReasonTypeVariantItemValidationError ItemUpdateFailureReasonTypes = "itemValidationError" // Item update operation is forbidden, permission issue. Make sure you have the correct permissions to update items in this vault. ItemUpdateFailureReasonTypeVariantItemStatusPermissionError ItemUpdateFailureReasonTypes = "itemStatusPermissionError" // Item update operation failed due to incorrect version. ItemUpdateFailureReasonTypeVariantItemStatusIncorrectItemVersion ItemUpdateFailureReasonTypes = "itemStatusIncorrectItemVersion" // Item update operation failed because a file reference didn't match a known file. ItemUpdateFailureReasonTypeVariantItemStatusFileNotFound ItemUpdateFailureReasonTypes = "itemStatusFileNotFound" // Item update request is too big to be sent to the server. ItemUpdateFailureReasonTypeVariantItemStatusTooBig ItemUpdateFailureReasonTypes = "itemStatusTooBig" // The item was not found ItemUpdateFailureReasonTypeVariantItemNotFound ItemUpdateFailureReasonTypes = "itemNotFound" // Item update operation experienced an internal error. ItemUpdateFailureReasonTypeVariantInternal ItemUpdateFailureReasonTypes = "internal" )
type ItemsAPI ¶
type ItemsAPI interface {
// Create a new item.
Create(ctx context.Context, params ItemCreateParams) (Item, error)
// Create items in batch, within a single vault.
CreateAll(ctx context.Context, vaultID string, params []ItemCreateParams) (ItemsUpdateAllResponse, error)
// Get an item by vault and item ID.
Get(ctx context.Context, vaultID string, itemID string) (Item, error)
// Get items by vault and their item IDs.
GetAll(ctx context.Context, vaultID string, itemIds []string) (ItemsGetAllResponse, error)
// Update an existing item.
Put(ctx context.Context, item Item) (Item, error)
// Delete an item.
Delete(ctx context.Context, vaultID string, itemID string) error
// Delete items in batch, within a single vault.
DeleteAll(ctx context.Context, vaultID string, itemIds []string) (ItemsDeleteAllResponse, error)
// Archive an item.
Archive(ctx context.Context, vaultID string, itemID string) error
// List items based on filters.
List(ctx context.Context, vaultID string, filters ...ItemListFilter) ([]ItemOverview, error)
// ----- Sub APIs - these methods are used to access subordinate function groups -----
Files() ItemsFilesAPI
}
The Items API holds all operations the SDK client can perform on 1Password items.
func NewItemsSource ¶
func NewItemsSource(inner *internal.InnerClient) ItemsAPI
type ItemsDeleteAllResponse ¶ added in v0.4.0
type ItemsDeleteAllResponse struct {
IndividualResponses map[string]Response[struct{}, ItemUpdateFailureReason] `json:"individualResponses"`
}
type ItemsFilesAPI ¶ added in v0.2.0
type ItemsFilesAPI interface {
// Attach files to Items.
Attach(ctx context.Context, item Item, fileParams FileCreateParams) (Item, error)
// Read file content from the Item.
Read(ctx context.Context, vaultID string, itemID string, attr FileAttributes) ([]byte, error)
// Delete a field file from Item using the section and field IDs.
Delete(ctx context.Context, item Item, sectionID string, fieldID string) (Item, error)
// Replace the document file within a document item.
ReplaceDocument(ctx context.Context, item Item, docParams DocumentCreateParams) (Item, error)
}
func NewItemsFilesSource ¶ added in v0.2.0
func NewItemsFilesSource(inner *internal.InnerClient) ItemsFilesAPI
type ItemsFilesSource ¶ added in v0.2.0
type ItemsFilesSource struct {
*internal.InnerClient
}
func (ItemsFilesSource) Attach ¶ added in v0.2.0
func (i ItemsFilesSource) Attach(ctx context.Context, item Item, fileParams FileCreateParams) (Item, error)
Attach files to Items.
func (ItemsFilesSource) Delete ¶ added in v0.2.0
func (i ItemsFilesSource) Delete(ctx context.Context, item Item, sectionID string, fieldID string) (Item, error)
Delete a field file from Item using the section and field IDs.
func (ItemsFilesSource) Read ¶ added in v0.2.0
func (i ItemsFilesSource) Read(ctx context.Context, vaultID string, itemID string, attr FileAttributes) ([]byte, error)
Read file content from the Item.
func (ItemsFilesSource) ReplaceDocument ¶ added in v0.2.0
func (i ItemsFilesSource) ReplaceDocument(ctx context.Context, item Item, docParams DocumentCreateParams) (Item, error)
Replace the document file within a document item.
type ItemsGetAllError ¶ added in v0.4.0
type ItemsGetAllError struct {
Type ItemsGetAllErrorTypes `json:"type"`
// contains filtered or unexported fields
}
func NewItemsGetAllErrorTypeVariantInternal ¶ added in v0.4.0
func NewItemsGetAllErrorTypeVariantInternal(content ErrorMessage) ItemsGetAllError
func NewItemsGetAllErrorTypeVariantItemNotFound ¶ added in v0.4.0
func NewItemsGetAllErrorTypeVariantItemNotFound() ItemsGetAllError
func (ItemsGetAllError) Internal ¶ added in v0.4.0
func (i ItemsGetAllError) Internal() ErrorMessage
func (ItemsGetAllError) MarshalJSON ¶ added in v0.4.0
func (i ItemsGetAllError) MarshalJSON() ([]byte, error)
func (*ItemsGetAllError) UnmarshalJSON ¶ added in v0.4.0
func (i *ItemsGetAllError) UnmarshalJSON(data []byte) error
type ItemsGetAllErrorTypes ¶ added in v0.4.0
type ItemsGetAllErrorTypes string
const ( ItemsGetAllErrorTypeVariantItemNotFound ItemsGetAllErrorTypes = "itemNotFound" ItemsGetAllErrorTypeVariantInternal ItemsGetAllErrorTypes = "internal" )
type ItemsGetAllResponse ¶ added in v0.4.0
type ItemsGetAllResponse struct {
IndividualResponses []Response[Item, ItemsGetAllError] `json:"individualResponses"`
}
type ItemsSharesAPI ¶ added in v0.2.0
type ItemsSharesAPI interface {
GetAccountPolicy(ctx context.Context, vaultID string, itemID string) (ItemShareAccountPolicy, error)
ValidateRecipients(ctx context.Context, policy ItemShareAccountPolicy, recipients []string) ([]ValidRecipient, error)
Create(ctx context.Context, item Item, policy ItemShareAccountPolicy, params ItemShareParams) (string, error)
}
func NewItemsSharesSource ¶ added in v0.1.6
func NewItemsSharesSource(inner *internal.InnerClient) ItemsSharesAPI
type ItemsSharesSource ¶ added in v0.1.6
type ItemsSharesSource struct {
}
func (ItemsSharesSource) Create ¶ added in v0.1.6
func (i ItemsSharesSource) Create(ctx context.Context, item Item, policy ItemShareAccountPolicy, params ItemShareParams) (string, error)
Create a new item sharing link.
func (ItemsSharesSource) GetAccountPolicy ¶ added in v0.1.6
func (i ItemsSharesSource) GetAccountPolicy(ctx context.Context, vaultID string, itemID string) (ItemShareAccountPolicy, error)
Get the item sharing policy of your account.
func (ItemsSharesSource) ValidateRecipients ¶ added in v0.1.6
func (i ItemsSharesSource) ValidateRecipients(ctx context.Context, policy ItemShareAccountPolicy, recipients []string) ([]ValidRecipient, error)
Validate the recipients of an item sharing link.
type ItemsSource ¶
type ItemsSource struct {
*internal.InnerClient
FilesAPI ItemsFilesAPI
}
func (ItemsSource) Create ¶
func (i ItemsSource) Create(ctx context.Context, params ItemCreateParams) (Item, error)
Create a new item.
func (ItemsSource) CreateAll ¶ added in v0.4.0
func (i ItemsSource) CreateAll(ctx context.Context, vaultID string, params []ItemCreateParams) (ItemsUpdateAllResponse, error)
Create items in batch, within a single vault.
func (ItemsSource) DeleteAll ¶ added in v0.4.0
func (i ItemsSource) DeleteAll(ctx context.Context, vaultID string, itemIds []string) (ItemsDeleteAllResponse, error)
Delete items in batch, within a single vault.
func (ItemsSource) Files ¶ added in v0.2.0
func (i ItemsSource) Files() ItemsFilesAPI
func (ItemsSource) GetAll ¶ added in v0.4.0
func (i ItemsSource) GetAll(ctx context.Context, vaultID string, itemIds []string) (ItemsGetAllResponse, error)
Get items by vault and their item IDs.
func (ItemsSource) List ¶ added in v0.3.0
func (i ItemsSource) List(ctx context.Context, vaultID string, filters ...ItemListFilter) ([]ItemOverview, error)
List items based on filters.
func (ItemsSource) Shares ¶ added in v0.1.6
func (i ItemsSource) Shares() ItemsSharesAPI
type ItemsUpdateAllResponse ¶ added in v0.4.0
type ItemsUpdateAllResponse struct {
IndividualResponses []Response[Item, ItemUpdateFailureReason] `json:"individualResponses"`
}
type OTPFieldDetails ¶
type OTPFieldDetails struct {
// The OTP code, if successfully computed
Code *string `json:"code,omitempty"`
// The error message, if the OTP code could not be computed
ErrorMessage *string `json:"errorMessage,omitempty"`
}
Additional attributes for OTP fields.
type PasswordRecipe ¶ added in v0.1.5
type PasswordRecipe struct {
Type PasswordRecipeTypes `json:"type"`
// contains filtered or unexported fields
}
func NewPasswordRecipeTypeVariantMemorable ¶ added in v0.1.5
func NewPasswordRecipeTypeVariantMemorable(content *PasswordRecipeMemorableInner) PasswordRecipe
func NewPasswordRecipeTypeVariantPin ¶ added in v0.1.5
func NewPasswordRecipeTypeVariantPin(content *PasswordRecipePinInner) PasswordRecipe
func NewPasswordRecipeTypeVariantRandom ¶ added in v0.1.5
func NewPasswordRecipeTypeVariantRandom(content *PasswordRecipeRandomInner) PasswordRecipe
func (PasswordRecipe) MarshalJSON ¶ added in v0.1.5
func (p PasswordRecipe) MarshalJSON() ([]byte, error)
func (PasswordRecipe) Memorable ¶ added in v0.1.5
func (p PasswordRecipe) Memorable() *PasswordRecipeMemorableInner
func (PasswordRecipe) Pin ¶ added in v0.1.5
func (p PasswordRecipe) Pin() *PasswordRecipePinInner
func (PasswordRecipe) Random ¶ added in v0.1.5
func (p PasswordRecipe) Random() *PasswordRecipeRandomInner
func (*PasswordRecipe) UnmarshalJSON ¶ added in v0.1.5
func (p *PasswordRecipe) UnmarshalJSON(data []byte) error
type PasswordRecipeMemorableInner ¶ added in v0.1.5
type PasswordRecipeMemorableInner struct {
// The type of separator between chunks.
SeparatorType SeparatorType `json:"separatorType"`
// Uppercase one randomly selected chunk.
Capitalize bool `json:"capitalize"`
// The type of word list used.
WordListType WordListType `json:"wordListType"`
// The number of "words" (words or syllables).
WordCount uint32 `json:"wordCount"`
}
Generated type representing the anonymous struct variant `Memorable` of the `PasswordRecipe` Rust enum
type PasswordRecipePinInner ¶ added in v0.1.5
type PasswordRecipePinInner struct {
// Number of digits in the PIN.
Length uint32 `json:"length"`
}
Generated type representing the anonymous struct variant `Pin` of the `PasswordRecipe` Rust enum
type PasswordRecipeRandomInner ¶ added in v0.1.5
type PasswordRecipeRandomInner struct {
// Include at least one digit in the password.
IncludeDigits bool `json:"includeDigits"`
// Include at least one symbol in the password.
IncludeSymbols bool `json:"includeSymbols"`
// The length of the password.
Length uint32 `json:"length"`
}
Generated type representing the anonymous struct variant `Random` of the `PasswordRecipe` Rust enum
type PasswordRecipeTypes ¶ added in v0.1.5
type PasswordRecipeTypes string
const ( PasswordRecipeTypeVariantMemorable PasswordRecipeTypes = "Memorable" PasswordRecipeTypeVariantPin PasswordRecipeTypes = "Pin" PasswordRecipeTypeVariantRandom PasswordRecipeTypes = "Random" )
type RateLimitExceededError ¶ added in v0.1.7
type RateLimitExceededError struct {
// contains filtered or unexported fields
}
func (*RateLimitExceededError) Error ¶ added in v0.1.7
func (e *RateLimitExceededError) Error() string
type ResolveAllResponse ¶ added in v0.2.1
type ResolveAllResponse struct {
IndividualResponses map[string]Response[ResolvedReference, ResolveReferenceError] `json:"individualResponses"`
}
type ResolveReferenceError ¶ added in v0.2.1
type ResolveReferenceError struct {
Type ResolveReferenceErrorTypes `json:"type"`
// contains filtered or unexported fields
}
func NewResolveReferenceErrorTypeVariantFieldNotFound ¶ added in v0.2.1
func NewResolveReferenceErrorTypeVariantFieldNotFound() ResolveReferenceError
func NewResolveReferenceErrorTypeVariantIncompatibleSSHKeyQueryParameterField ¶ added in v0.2.1
func NewResolveReferenceErrorTypeVariantIncompatibleSSHKeyQueryParameterField() ResolveReferenceError
func NewResolveReferenceErrorTypeVariantIncompatibleTOTPQueryParameterField ¶ added in v0.2.1
func NewResolveReferenceErrorTypeVariantIncompatibleTOTPQueryParameterField() ResolveReferenceError
func NewResolveReferenceErrorTypeVariantItemNotFound ¶ added in v0.2.1
func NewResolveReferenceErrorTypeVariantItemNotFound() ResolveReferenceError
func NewResolveReferenceErrorTypeVariantNoMatchingSections ¶ added in v0.2.1
func NewResolveReferenceErrorTypeVariantNoMatchingSections() ResolveReferenceError
func NewResolveReferenceErrorTypeVariantOther ¶ added in v0.2.1
func NewResolveReferenceErrorTypeVariantOther() ResolveReferenceError
func NewResolveReferenceErrorTypeVariantParsing ¶ added in v0.2.1
func NewResolveReferenceErrorTypeVariantParsing(content ErrorMessage) ResolveReferenceError
func NewResolveReferenceErrorTypeVariantSSHKeyMetadataNotFound ¶ added in v0.2.1
func NewResolveReferenceErrorTypeVariantSSHKeyMetadataNotFound() ResolveReferenceError
func NewResolveReferenceErrorTypeVariantTooManyItems ¶ added in v0.2.1
func NewResolveReferenceErrorTypeVariantTooManyItems() ResolveReferenceError
func NewResolveReferenceErrorTypeVariantTooManyMatchingFields ¶ added in v0.2.1
func NewResolveReferenceErrorTypeVariantTooManyMatchingFields() ResolveReferenceError
func NewResolveReferenceErrorTypeVariantTooManyVaults ¶ added in v0.2.1
func NewResolveReferenceErrorTypeVariantTooManyVaults() ResolveReferenceError
func NewResolveReferenceErrorTypeVariantUnableToFormatPrivateKeyToOpenSSH ¶ added in v0.2.1
func NewResolveReferenceErrorTypeVariantUnableToFormatPrivateKeyToOpenSSH() ResolveReferenceError
func NewResolveReferenceErrorTypeVariantUnableToGenerateTOTPCode ¶ added in v0.2.1
func NewResolveReferenceErrorTypeVariantUnableToGenerateTOTPCode(content ErrorMessage) ResolveReferenceError
func NewResolveReferenceErrorTypeVariantUnableToParsePrivateKey ¶ added in v0.2.1
func NewResolveReferenceErrorTypeVariantUnableToParsePrivateKey() ResolveReferenceError
func NewResolveReferenceErrorTypeVariantUnsupportedFileFormat ¶ added in v0.2.1
func NewResolveReferenceErrorTypeVariantUnsupportedFileFormat() ResolveReferenceError
func NewResolveReferenceErrorTypeVariantVaultNotFound ¶ added in v0.2.1
func NewResolveReferenceErrorTypeVariantVaultNotFound() ResolveReferenceError
func (ResolveReferenceError) MarshalJSON ¶ added in v0.2.1
func (r ResolveReferenceError) MarshalJSON() ([]byte, error)
func (ResolveReferenceError) Parsing ¶ added in v0.2.1
func (r ResolveReferenceError) Parsing() ErrorMessage
func (ResolveReferenceError) UnableToGenerateTOTPCode ¶ added in v0.2.1
func (r ResolveReferenceError) UnableToGenerateTOTPCode() ErrorMessage
func (*ResolveReferenceError) UnmarshalJSON ¶ added in v0.2.1
func (r *ResolveReferenceError) UnmarshalJSON(data []byte) error
type ResolveReferenceErrorTypes ¶ added in v0.2.1
type ResolveReferenceErrorTypes string
const ( // Error parsing the secret reference ResolveReferenceErrorTypeVariantParsing ResolveReferenceErrorTypes = "parsing" // The specified reference cannot be found within the item ResolveReferenceErrorTypeVariantFieldNotFound ResolveReferenceErrorTypes = "fieldNotFound" // No vault matched the secret reference query ResolveReferenceErrorTypeVariantVaultNotFound ResolveReferenceErrorTypes = "vaultNotFound" // More than one vault matched the secret reference query ResolveReferenceErrorTypeVariantTooManyVaults ResolveReferenceErrorTypes = "tooManyVaults" // No item matched the secret reference query ResolveReferenceErrorTypeVariantItemNotFound ResolveReferenceErrorTypes = "itemNotFound" // More than one item matched the secret reference query ResolveReferenceErrorTypeVariantTooManyItems ResolveReferenceErrorTypes = "tooManyItems" // More than one field matched the provided secret reference ResolveReferenceErrorTypeVariantTooManyMatchingFields ResolveReferenceErrorTypes = "tooManyMatchingFields" // No section found within the item for the provided identifier ResolveReferenceErrorTypeVariantNoMatchingSections ResolveReferenceErrorTypes = "noMatchingSections" // Incompatiable TOTP query parameters ResolveReferenceErrorTypeVariantIncompatibleTOTPQueryParameterField ResolveReferenceErrorTypes = "incompatibleTOTPQueryParameterField" // The totp was not able to be generated ResolveReferenceErrorTypeVariantUnableToGenerateTOTPCode ResolveReferenceErrorTypes = "unableToGenerateTotpCode" // Couldn't find attributes specific to an SSH Key field ResolveReferenceErrorTypeVariantSSHKeyMetadataNotFound ResolveReferenceErrorTypes = "sSHKeyMetadataNotFound" // Currently only support text files ResolveReferenceErrorTypeVariantUnsupportedFileFormat ResolveReferenceErrorTypes = "unsupportedFileFormat" // Trying to convert a non-private key to a private key format ResolveReferenceErrorTypeVariantIncompatibleSSHKeyQueryParameterField ResolveReferenceErrorTypes = "incompatibleSshKeyQueryParameterField" // Unable to properly parse a private key string to convert to an internal Private Key type ResolveReferenceErrorTypeVariantUnableToParsePrivateKey ResolveReferenceErrorTypes = "unableToParsePrivateKey" // Unable to format a private key to OpenSSH format ResolveReferenceErrorTypeVariantUnableToFormatPrivateKeyToOpenSSH ResolveReferenceErrorTypes = "unableToFormatPrivateKeyToOpenSsh" // Other type ResolveReferenceErrorTypeVariantOther ResolveReferenceErrorTypes = "other" )
type ResolvedReference ¶ added in v0.2.1
type SSHKeyAttributes ¶ added in v0.2.0
type SecretsAPI ¶
type SecretsAPI interface {
// Resolve returns the secret the provided secret reference points to.
Resolve(ctx context.Context, secretReference string) (string, error)
// Resolve takes in a list of secret references and returns the secrets they point to or errors if any.
ResolveAll(ctx context.Context, secretReferences []string) (ResolveAllResponse, error)
}
The Secrets API includes all operations the SDK client can perform on secrets. Use secret reference URIs to securely load secrets from 1Password: `op://<vault-name>/<item-name>[/<section-name>]/<field-name>`
func NewSecretsSource ¶
func NewSecretsSource(inner *internal.InnerClient) SecretsAPI
type SecretsSource ¶
type SecretsSource struct {
*internal.InnerClient
}
func (SecretsSource) ResolveAll ¶ added in v0.2.1
func (s SecretsSource) ResolveAll(ctx context.Context, secretReferences []string) (ResolveAllResponse, error)
Resolve takes in a list of secret references and returns the secrets they point to or errors if any.
type SeparatorType ¶ added in v0.1.5
type SeparatorType string
const ( // Randomly selected digits. // E.g, "`correct4horse0battery1staple`" SeparatorTypeDigits SeparatorType = "digits" // Randomly selected digits and symbols. // This is useful to get word-based passwords to meet complexity requirements // E.g, "`correct4horse-battery1staple`" SeparatorTypeDigitsAndSymbols SeparatorType = "digitsAndSymbols" // Spaces, like the original Diceware. // Great for mobile keyboards, not so great when people can overhear you type the password. // E.g, "`correct horse battery staple`" SeparatorTypeSpaces SeparatorType = "spaces" // Hyphens "`-`". // E.g, "`correct-horse-battery-staple`" SeparatorTypeHyphens SeparatorType = "hyphens" // "`_`". // E.g, "`correct_horse_battery_staple`" SeparatorTypeUnderscores SeparatorType = "underscores" // Period (full stop) "`.`". // E.g, "`correct.horse.battery.staple`" SeparatorTypePeriods SeparatorType = "periods" // Comma "`,`". // E.g, "`correct,horse,battery,staple`" SeparatorTypeCommas SeparatorType = "commas" )
type ValidRecipient ¶ added in v0.1.6
type ValidRecipient struct {
Type ValidRecipientTypes `json:"type"`
// contains filtered or unexported fields
}
func NewValidRecipientTypeVariantDomain ¶ added in v0.1.6
func NewValidRecipientTypeVariantDomain(content *ValidRecipientDomainInner) ValidRecipient
func NewValidRecipientTypeVariantEmail ¶ added in v0.1.6
func NewValidRecipientTypeVariantEmail(content *ValidRecipientEmailInner) ValidRecipient
func (ValidRecipient) Domain ¶ added in v0.1.6
func (v ValidRecipient) Domain() *ValidRecipientDomainInner
func (ValidRecipient) Email ¶ added in v0.1.6
func (v ValidRecipient) Email() *ValidRecipientEmailInner
func (ValidRecipient) MarshalJSON ¶ added in v0.1.6
func (v ValidRecipient) MarshalJSON() ([]byte, error)
func (*ValidRecipient) UnmarshalJSON ¶ added in v0.1.6
func (v *ValidRecipient) UnmarshalJSON(data []byte) error
type ValidRecipientDomainInner ¶ added in v0.1.6
type ValidRecipientDomainInner struct {
Domain string `json:"domain"`
}
Generated type representing the anonymous struct variant `Domain` of the `ValidRecipient` Rust enum
type ValidRecipientEmailInner ¶ added in v0.1.6
type ValidRecipientEmailInner struct {
Email string `json:"email"`
}
Generated type representing the anonymous struct variant `Email` of the `ValidRecipient` Rust enum
type ValidRecipientTypes ¶ added in v0.1.6
type ValidRecipientTypes string
The validated recipient of an item share
const ( // This exact email address ValidRecipientTypeVariantEmail ValidRecipientTypes = "Email" // Anyone with an email address from the specified domain ValidRecipientTypeVariantDomain ValidRecipientTypes = "Domain" )
type Vault ¶ added in v0.4.0
type Vault struct {
// The vault's ID.
ID string `json:"id"`
// The vault's title.
Title string `json:"title"`
// The description of the vault.
Description string `json:"description"`
// The type of the vault.
VaultType VaultType `json:"vaultType"`
// The number of active items within the vault.
ActiveItemCount uint32 `json:"activeItemCount"`
// The content version number of the vault. It gets incremented whenever the state of the vault's contents changes (e.g. items from within the vault get created or updated).
ContentVersion uint32 `json:"contentVersion"`
// The attribute version number of the vault. It gets incremented whenever vault presentation information changes, such as its title or icon.
AttributeVersion uint32 `json:"attributeVersion"`
// The access information associated with the vault.
Access []VaultAccess `json:"access,omitempty"`
}
Represents regular vault information together with the vault's access information.
type VaultAccess ¶ added in v0.4.0
type VaultAccess struct {
// The vault's UUID.
VaultUuid string `json:"vaultUuid"`
// The vault's accessor type.
AccessorType VaultAccessorType `json:"accessorType"`
// The vault's accessor UUID.
AccessorUuid string `json:"accessorUuid"`
// The permissions granted to this vault
Permissions uint32 `json:"permissions"`
}
Represents the vault access information.
type VaultAccessorType ¶ added in v0.4.0
type VaultAccessorType string
const ( VaultAccessorTypeUser VaultAccessorType = "user" VaultAccessorTypeGroup VaultAccessorType = "group" )
type VaultCreateParams ¶ added in v0.4.0
type VaultGetParams ¶ added in v0.4.0
type VaultGetParams struct {
// The vault's accessor params.
Accessors *bool `json:"accessors,omitempty"`
}
Represents the possible query parameters used for retrieving extra information about a vault.
type VaultListParams ¶ added in v0.4.0
type VaultListParams struct {
DecryptDetails *bool `json:"decryptDetails,omitempty"`
}
type VaultOverview ¶
type VaultOverview struct {
// The vault's ID.
ID string `json:"id"`
// The vault's title.
Title string `json:"title"`
// The description of this vault.
Description string `json:"description"`
// The type of the vault.
VaultType VaultType `json:"vaultType"`
// The number of active items within the vault.
ActiveItemCount uint32 `json:"activeItemCount"`
// The content version number of the vault. It gets incremented whenever the state of the vault's contents changes (e.g. items from within the vault get created or updated).
ContentVersion uint32 `json:"contentVersion"`
// The attribute version number of the vault. It gets incremented whenever vault presentation information changes, such as its title or icon.
AttributeVersion uint32 `json:"attributeVersion"`
// The time the vault was created at
CreatedAt time.Time `json:"createdAt"`
// The time the vault was updated at
UpdatedAt time.Time `json:"updatedAt"`
}
Holds information about a 1Password Vault.
type VaultUpdateParams ¶ added in v0.4.0
type VaultsAPI ¶
type VaultsAPI interface {
// Create a new user vault.
Create(ctx context.Context, params VaultCreateParams) (Vault, error)
// List information about vaults that's configurable based on some input parameters.
List(ctx context.Context, params ...VaultListParams) ([]VaultOverview, error)
// Get an overview of a vault by its ID.
GetOverview(ctx context.Context, vaultID string) (VaultOverview, error)
// Get detailed vault information by vault ID and parameters.
Get(ctx context.Context, vaultID string, vaultParams VaultGetParams) (Vault, error)
// Update a vault
Update(ctx context.Context, vaultID string, params VaultUpdateParams) (Vault, error)
// Delete a vault by its ID.
Delete(ctx context.Context, vaultID string) error
// Grant group permissions to a vault.
GrantGroupPermissions(ctx context.Context, vaultID string, groupPermissionsList []GroupAccess) error
// Update group permissions for vaults.
UpdateGroupPermissions(ctx context.Context, groupPermissionsList []GroupVaultAccess) error
// Revoke group permissions from a vault.
RevokeGroupPermissions(ctx context.Context, vaultID string, groupID string) error
}
The Vaults API holds all the operations the SDK client can perform on 1Password vaults.
func NewVaultsSource ¶
func NewVaultsSource(inner *internal.InnerClient) VaultsAPI
type VaultsSource ¶
type VaultsSource struct {
*internal.InnerClient
}
func (VaultsSource) Create ¶ added in v0.4.0
func (v VaultsSource) Create(ctx context.Context, params VaultCreateParams) (Vault, error)
Create a new user vault.
func (VaultsSource) Delete ¶ added in v0.4.0
func (v VaultsSource) Delete(ctx context.Context, vaultID string) error
Delete a vault by its ID.
func (VaultsSource) Get ¶ added in v0.4.0
func (v VaultsSource) Get(ctx context.Context, vaultID string, vaultParams VaultGetParams) (Vault, error)
Get detailed vault information by vault ID and parameters.
func (VaultsSource) GetOverview ¶ added in v0.4.0
func (v VaultsSource) GetOverview(ctx context.Context, vaultID string) (VaultOverview, error)
Get an overview of a vault by its ID.
func (VaultsSource) GrantGroupPermissions ¶ added in v0.4.0
func (v VaultsSource) GrantGroupPermissions(ctx context.Context, vaultID string, groupPermissionsList []GroupAccess) error
Grant group permissions to a vault.
func (VaultsSource) List ¶ added in v0.3.0
func (v VaultsSource) List(ctx context.Context, params ...VaultListParams) ([]VaultOverview, error)
List information about vaults that's configurable based on some input parameters.
func (VaultsSource) RevokeGroupPermissions ¶ added in v0.4.0
func (v VaultsSource) RevokeGroupPermissions(ctx context.Context, vaultID string, groupID string) error
Revoke group permissions from a vault.
func (VaultsSource) Update ¶ added in v0.4.0
func (v VaultsSource) Update(ctx context.Context, vaultID string, params VaultUpdateParams) (Vault, error)
Update a vault
func (VaultsSource) UpdateGroupPermissions ¶ added in v0.4.0
func (v VaultsSource) UpdateGroupPermissions(ctx context.Context, groupPermissionsList []GroupVaultAccess) error
Update group permissions for vaults.
type Website ¶ added in v0.1.3
type Website struct {
// The website URL
URL string `json:"url"`
// The label of the website, e.g. 'website', 'sign-in address'
Label string `json:"label"`
// The auto-fill behavior of the website
//
// For more information, visit <https://support.1password.com/autofill-behavior/>
AutofillBehavior AutofillBehavior `json:"autofillBehavior"`
}
type WordListType ¶ added in v0.1.5
type WordListType string
const ( // Agile wordlist WordListTypeFullWords WordListType = "fullWords" // English-like syllables WordListTypeSyllables WordListType = "syllables" // Three (random) letter "words" WordListTypeThreeLetters WordListType = "threeLetters" )