Documentation
¶
Overview ¶
Package openapi provides primitives to interact with the openapi HTTP API.
Code generated by github.com/oapi-codegen/oapi-codegen/v2 version v2.7.1 DO NOT EDIT.
Index ¶
- Constants
- type AcceptInviteJSONBody
- type AcceptInviteJSONRequestBody
- type AccessTokenOpts
- type AccessTokenOptsAttachmentType
- type AccessTokenOptsHeader
- type AddUserToOrgJSONBody
- type AddUserToOrgJSONRequestBody
- type ApiKey
- type ApiKeyAsBasicOpts
- type ApiKeyAsBasicOptsFieldUsed
- type ApiKeyOpts
- type ApiKeyOptsAttachmentType
- type ApiKeyOptsHeader
- type ApiKeyOptsQuery
- type ApiKeyRequest
- type ApiKeyScopes
- type ApiProblem
- type AssociationChangeEvent
- type AssociationChangeEventEnabled
- type AssociationDefinition
- type AssociationLabels
- type AuthHealthCheck
- type AuthType
- type Backfill
- type BackfillConfig
- type BackfillProgress
- type BaseConfigContent
- type BaseProxyConfig
- type BaseReadConfig
- type BaseReadConfigObject
- type BaseSubscribeConfig
- type BaseSubscribeConfigObject
- type BaseWriteConfig
- type BaseWriteConfigObject
- type BasicAuthOpts
- type BatchUpsertIntegrationsJSONBody
- type BatchUpsertIntegrationsJSONRequestBody
- type BatchUpsertIntegrationsParams
- type BatchWriteSupport
- type BatchWriteSupportConfig
- type BillingAccount
- type Builder
- type BuilderInfo
- type BuilderInfoOrgRolePrincipalType
- type BuilderInfoProjectRolesPrincipalType
- type BulkWriteSupport
- type CatalogType
- type CheckClaimedDomainParams
- type ClaimDomainJSONBody
- type ClaimDomainJSONRequestBody
- type ClaimedDomainResponse
- type Config
- type ConfigContent
- type ConfigCreateEvent
- type ConfigCreateEventEnabled
- type ConfigDeleteEvent
- type ConfigDeleteEventEnabled
- type ConfigOtherEvents
- type ConfigUpdateEvent
- type ConfigUpdateEventEnabled
- type ConfigUpdateEventWatchFieldsAuto
- type Connection
- type ConnectionAuthScheme
- type ConnectionRequest
- type ConnectionStatus
- type Consumer
- type CreateApiKeyJSONRequestBody
- type CreateBillingAccountSessionJSONBody
- type CreateBillingAccountSessionJSONRequestBody
- type CreateDestinationJSONBody
- type CreateDestinationJSONBodyType
- type CreateDestinationJSONRequestBody
- type CreateEvent
- type CreateEventEnabled
- type CreateEventTopicRouteJSONBody
- type CreateEventTopicRouteJSONRequestBody
- type CreateInstallationJSONBody
- type CreateInstallationJSONRequestBody
- type CreateInstallationParams
- type CreateIntegrationJSONBody
- type CreateIntegrationJSONRequestBody
- type CreateJWTKeyJSONRequestBody
- type CreateJWTKeyRequest
- type CreateJWTKeyRequestAlgorithm
- type CreateOrgInviteJSONBody
- type CreateOrgInviteJSONRequestBody
- type CreateOrgJSONBody
- type CreateOrgJSONRequestBody
- type CreateProjectJSONBody
- type CreateProjectJSONRequestBody
- type CreateProviderAppJSONBody
- type CreateProviderAppJSONRequestBody
- type CreateRevisionJSONBody
- type CreateRevisionJSONRequestBody
- type CreateRevisionParams
- type CreateTopicDestinationRouteJSONBody
- type CreateTopicDestinationRouteJSONRequestBody
- type CreateTopicJSONBody
- type CreateTopicJSONRequestBody
- type CustomAuthConnectJSONRequestBody
- type CustomAuthConnectRequest
- type CustomAuthConnectResponse
- func (t CustomAuthConnectResponse) AsCustomAuthConnectResponse0() (CustomAuthConnectResponse0, error)
- func (t CustomAuthConnectResponse) AsCustomAuthConnectResponse1() (CustomAuthConnectResponse1, error)
- func (t *CustomAuthConnectResponse) FromCustomAuthConnectResponse0(v CustomAuthConnectResponse0) error
- func (t *CustomAuthConnectResponse) FromCustomAuthConnectResponse1(v CustomAuthConnectResponse1) error
- func (t CustomAuthConnectResponse) MarshalJSON() ([]byte, error)
- func (t *CustomAuthConnectResponse) MergeCustomAuthConnectResponse0(v CustomAuthConnectResponse0) error
- func (t *CustomAuthConnectResponse) MergeCustomAuthConnectResponse1(v CustomAuthConnectResponse1) error
- func (t *CustomAuthConnectResponse) UnmarshalJSON(b []byte) error
- type CustomAuthConnectResponse0
- type CustomAuthConnectResponse1
- type CustomAuthHeader
- type CustomAuthInput
- type CustomAuthInputFieldType
- type CustomAuthInputOption
- type CustomAuthOpts
- type CustomAuthQueryParam
- type DefaultPeriod
- type DefaultPeriodConfig
- type DeleteEvent
- type DeleteEventEnabled
- type DeletionSettings
- type Delivery
- type DeliveryMode
- type Destination
- type DestinationWithSecrets
- type DynamicMappingsInput
- type DynamicMappingsInputEntry
- type DynamicMappingsInputMappedValue
- type FieldChangedEvent
- type FieldChangedEventEnabled
- type FieldCreatedEvent
- type FieldCreatedEventEnabled
- type FieldDefinition
- type FieldDeletedEvent
- type FieldDeletedEventEnabled
- type FieldMetadata
- type FieldMetadataValueType
- type FieldSetting
- type FieldSettingDefault
- type FieldSettingWriteOnCreate
- type FieldSettingWriteOnUpdate
- type FieldUpsertResult
- type FieldValue
- type GenerateConnectionJSONRequestBody
- type GenerateConnectionRequest
- type GetConnectionParams
- type GetConnectionParamsRefresh
- type GetDestinationParams
- type GetHydratedRevisionParams
- type GetObjectMetadataForConnectionParams
- type GetObjectMetadataForInstallationParams
- type GetProjectParams
- type Group
- type HydratedIntegration
- type HydratedIntegrationField
- func (t HydratedIntegrationField) AsHydratedIntegrationFieldExistent() (HydratedIntegrationFieldExistent, error)
- func (t HydratedIntegrationField) AsIntegrationFieldMapping() (IntegrationFieldMapping, error)
- func (t *HydratedIntegrationField) FromHydratedIntegrationFieldExistent(v HydratedIntegrationFieldExistent) error
- func (t *HydratedIntegrationField) FromIntegrationFieldMapping(v IntegrationFieldMapping) error
- func (t HydratedIntegrationField) MarshalJSON() ([]byte, error)
- func (t *HydratedIntegrationField) MergeHydratedIntegrationFieldExistent(v HydratedIntegrationFieldExistent) error
- func (t *HydratedIntegrationField) MergeIntegrationFieldMapping(v IntegrationFieldMapping) error
- func (t *HydratedIntegrationField) UnmarshalJSON(b []byte) error
- type HydratedIntegrationFieldExistent
- type HydratedIntegrationObject
- type HydratedIntegrationProxy
- type HydratedIntegrationRead
- type HydratedIntegrationWrite
- type HydratedIntegrationWriteObject
- type HydratedRevision
- type InputValidationIssue
- type InputValidationProblem
- type Installation
- type InstallationHealthStatus
- type InstallationLastOperationStatus
- type Integration
- type Integration2
- type IntegrationField
- func (t IntegrationField) AsIntegrationFieldExistent() (IntegrationFieldExistent, error)
- func (t IntegrationField) AsIntegrationFieldMapping() (IntegrationFieldMapping, error)
- func (t *IntegrationField) FromIntegrationFieldExistent(v IntegrationFieldExistent) error
- func (t *IntegrationField) FromIntegrationFieldMapping(v IntegrationFieldMapping) error
- func (t IntegrationField) MarshalJSON() ([]byte, error)
- func (t *IntegrationField) MergeIntegrationFieldExistent(v IntegrationFieldExistent) error
- func (t *IntegrationField) MergeIntegrationFieldMapping(v IntegrationFieldMapping) error
- func (t *IntegrationField) UnmarshalJSON(b []byte) error
- type IntegrationFieldExistent
- type IntegrationFieldMapping
- type IntegrationObject
- type IntegrationObjectEnabled
- type IntegrationProxy
- type IntegrationRead
- type IntegrationSubscribe
- type IntegrationSubscribeObject
- type IntegrationWrite
- type IntegrationWriteObject
- type Invite
- type InviteParentType
- type InviteStatus
- type JSONPatchOperation
- type JSONPatchOperationOp
- type JWTKey
- type JWTKeyAlgorithm
- type JWTKeyResponse
- type Labels
- type ListApiKeysParams
- type ListConnectionsParams
- type ListEventTopicRoutesParams
- type ListInstallationsForProjectParams
- type ListInstallationsParams
- type ListJWTKeysParams
- type ListOperationsParams
- type ListTopicDestinationRoutesParams
- type Log
- type Log_Message
- type Media
- type MediaTypeDarkMode
- type MediaTypeRegular
- type MetadataItemInput
- type MetadataItemPostAuthentication
- type ModuleDependencies
- type ModuleDependency
- type ModuleInfo
- type Modules
- type NotificationEventTopicRoute
- type NotificationEventType
- type NumericFieldOptions
- type Oauth2AuthorizationCode
- type Oauth2AuthorizationCodeTokensOnly
- type Oauth2Opts
- type Oauth2OptsGrantType
- type OauthConnectJSONBody
- type OauthConnectJSONRequestBody
- type ObjectMetadata
- type Operation
- type OptionalFieldsAutoOption
- type Org
- type OtherEvents
- type PaginationInfo
- type PatchApiKeyRequest
- type PatchJWTKeyRequest
- type PatchJWTKeyRequestUpdateMask
- type PatchJWTKeyRequest_JwtKey
- type PatchObjectConfigContentJSONBody
- func (t PatchObjectConfigContentJSONBody) AsPatchObjectConfigContentJSONBody0() (PatchObjectConfigContentJSONBody0, error)
- func (t PatchObjectConfigContentJSONBody) AsPatchObjectConfigContentJSONBody1() (PatchObjectConfigContentJSONBody1, error)
- func (t *PatchObjectConfigContentJSONBody) FromPatchObjectConfigContentJSONBody0(v PatchObjectConfigContentJSONBody0) error
- func (t *PatchObjectConfigContentJSONBody) FromPatchObjectConfigContentJSONBody1(v PatchObjectConfigContentJSONBody1) error
- func (t PatchObjectConfigContentJSONBody) MarshalJSON() ([]byte, error)
- func (t *PatchObjectConfigContentJSONBody) MergePatchObjectConfigContentJSONBody0(v PatchObjectConfigContentJSONBody0) error
- func (t *PatchObjectConfigContentJSONBody) MergePatchObjectConfigContentJSONBody1(v PatchObjectConfigContentJSONBody1) error
- func (t *PatchObjectConfigContentJSONBody) UnmarshalJSON(b []byte) error
- type PatchObjectConfigContentJSONBody0
- type PatchObjectConfigContentJSONBody0Action
- type PatchObjectConfigContentJSONBody1
- type PatchObjectConfigContentJSONBody1Action
- type PatchObjectConfigContentJSONRequestBody
- type Problem
- type Project
- type ProviderApp
- type ProviderAppMetadata
- type ProviderAppMetadata2
- type ProviderInfo
- type ProviderMetadata
- type ProviderMetadata2
- type ProviderMetadataInfo
- type ProviderMetadataInfoSource
- type QuotaOptimizationConfig
- type ReadConfig
- type ReadConfigObject
- type ReadFilter
- type ReadFilterOperator
- type ReadFilterValue
- type RedirectResponse
- type Revision
- type SearchOperators
- type SearchSupport
- type SelectedFieldsAutoConfig
- type SelectedValueMappings
- type SignedUrl
- type StringFieldOptions
- type SubscribeConfig
- type SubscribeConfigObject
- type SubscribeProviderOptions
- type SubscribeRequirements
- type SubscribeSupport
- type Support
- type TokenMetadataFields
- type TokenMetadataFieldsOtherFields
- type Topic
- type TopicDestinationRoute
- type UpdateApiKeyJSONRequestBody
- type UpdateConnectionJSONRequestBody
- type UpdateConnectionRequest
- type UpdateConnectionRequestUpdateMask
- type UpdateDestinationJSONBody
- type UpdateDestinationJSONRequestBody
- type UpdateEvent
- type UpdateEventEnabled
- type UpdateEventWatchFieldsAuto
- type UpdateInstallationConfigContent
- type UpdateInstallationJSONBody
- type UpdateInstallationJSONRequestBody
- type UpdateInstallationParams
- type UpdateJWTKeyJSONRequestBody
- type UpdateMask
- type UpdateOrgJSONBody
- type UpdateOrgJSONRequestBody
- type UpdateProjectJSONBody
- type UpdateProjectJSONRequestBody
- type UpdateProviderAppJSONBody
- type UpdateProviderAppJSONRequestBody
- type UpdateTopicJSONBody
- type UpdateTopicJSONRequestBody
- type UpsertMetadataForConnectionJSONRequestBody
- type UpsertMetadataForInstallationJSONRequestBody
- type UpsertMetadataRequest
- type UpsertMetadataResponse
- type ValueDefault
- type ValueDefaultBoolean
- type ValueDefaultBooleanApplyOnUpdate
- type ValueDefaultInteger
- type ValueDefaultIntegerApplyOnUpdate
- type ValueDefaultString
- type ValueDefaultStringApplyOnUpdate
- type ValueDefaults
- type WatchSchema
- type WatchSchemaAllObjects
- type WebhookHeaders
- type WriteConfig
- type WriteConfigObject
Constants ¶
const ( APIKeyHeaderScopes aPIKeyHeaderContextKey = "APIKeyHeader.Scopes" BearerScopes bearerContextKey = "Bearer.Scopes" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AcceptInviteJSONBody ¶
type AcceptInviteJSONBody struct {
// InvitedEmail The email address that the invite was sent to
InvitedEmail string `json:"invitedEmail"`
}
AcceptInviteJSONBody defines parameters for AcceptInvite.
type AcceptInviteJSONRequestBody ¶
type AcceptInviteJSONRequestBody AcceptInviteJSONBody
AcceptInviteJSONRequestBody defines body for AcceptInvite for application/json ContentType.
type AccessTokenOpts ¶
type AccessTokenOpts struct {
// AttachmentType How the access token should be attached to requests.
AttachmentType AccessTokenOptsAttachmentType `json:"attachmentType" validate:"required"`
// DocsURL URL with more information about how access token is used.
DocsURL string `json:"docsURL,omitempty"`
// Header Configuration for access token in header. Must be provided if type is in-header.
Header *AccessTokenOptsHeader `json:"header,omitempty"`
}
AccessTokenOpts Configuration that defines how an OAuth 2.0 access token is attached to outbound API requests. When provided, this configuration overrides the default access-token handling behavior for the connector.
type AccessTokenOptsAttachmentType ¶
type AccessTokenOptsAttachmentType string
AccessTokenOptsAttachmentType How the access token should be attached to requests.
const (
AccessTokenHeaderAttachment AccessTokenOptsAttachmentType = "accessTokenHeaderAttachment"
)
Defines values for AccessTokenOptsAttachmentType.
func (AccessTokenOptsAttachmentType) Valid ¶
func (e AccessTokenOptsAttachmentType) Valid() bool
Valid indicates whether the value is a known member of the AccessTokenOptsAttachmentType enum.
type AccessTokenOptsHeader ¶
type AccessTokenOptsHeader struct {
// Name The name of the header to be used for the access token.
Name string `json:"name"`
// ValuePrefix The prefix to be added to the access token value when it is sent in the header.
ValuePrefix string `json:"valuePrefix,omitempty"`
}
AccessTokenOptsHeader Configuration for access token in header. Must be provided if type is in-header.
type AddUserToOrgJSONBody ¶
type AddUserToOrgJSONBody struct {
// BuilderId The ID of the builder to add to the organization
BuilderId string `json:"builderId"`
}
AddUserToOrgJSONBody defines parameters for AddUserToOrg.
type AddUserToOrgJSONRequestBody ¶
type AddUserToOrgJSONRequestBody AddUserToOrgJSONBody
AddUserToOrgJSONRequestBody defines body for AddUserToOrg for application/json ContentType.
type ApiKey ¶
type ApiKey struct {
// Active Whether the API key is active.
Active *bool `json:"active,omitempty"`
// Key The API key.
Key string `json:"key"`
// Label A short name for the API key.
Label string `json:"label"`
// ProjectId The project ID.
ProjectId string `json:"projectId"`
// Scopes The scopes for the API key.
Scopes ApiKeyScopes `json:"scopes"`
}
ApiKey defines model for ApiKey.
type ApiKeyAsBasicOpts ¶
type ApiKeyAsBasicOpts struct {
// FieldUsed whether the API key should be used as the username or password.
FieldUsed ApiKeyAsBasicOptsFieldUsed `json:"fieldUsed,omitempty"`
// KeyFormat How to transform the API key in to a basic auth user:pass string. The %s is replaced with the API key value.
KeyFormat string `json:"keyFormat,omitempty"`
}
ApiKeyAsBasicOpts when this object is present, it means that this provider uses Basic Auth to actually collect an API key
type ApiKeyAsBasicOptsFieldUsed ¶
type ApiKeyAsBasicOptsFieldUsed string
ApiKeyAsBasicOptsFieldUsed whether the API key should be used as the username or password.
const ( PasswordField ApiKeyAsBasicOptsFieldUsed = "password" UsernameField ApiKeyAsBasicOptsFieldUsed = "username" )
Defines values for ApiKeyAsBasicOptsFieldUsed.
func (ApiKeyAsBasicOptsFieldUsed) Valid ¶
func (e ApiKeyAsBasicOptsFieldUsed) Valid() bool
Valid indicates whether the value is a known member of the ApiKeyAsBasicOptsFieldUsed enum.
type ApiKeyOpts ¶
type ApiKeyOpts struct {
// AttachmentType How the API key should be attached to requests.
AttachmentType ApiKeyOptsAttachmentType `json:"attachmentType" validate:"required"`
// DocsURL URL with more information about how to get or use an API key.
DocsURL string `json:"docsURL,omitempty"`
// Header Configuration for API key in header. Must be provided if type is in-header.
Header *ApiKeyOptsHeader `json:"header,omitempty"`
// Query Configuration for API key in query parameter. Must be provided if type is in-query.
Query *ApiKeyOptsQuery `json:"query,omitempty"`
}
ApiKeyOpts Configuration for API key. Must be provided if authType is apiKey.
type ApiKeyOptsAttachmentType ¶
type ApiKeyOptsAttachmentType string
ApiKeyOptsAttachmentType How the API key should be attached to requests.
const ( Header ApiKeyOptsAttachmentType = "header" Query ApiKeyOptsAttachmentType = "query" )
Defines values for ApiKeyOptsAttachmentType.
func (ApiKeyOptsAttachmentType) Valid ¶
func (e ApiKeyOptsAttachmentType) Valid() bool
Valid indicates whether the value is a known member of the ApiKeyOptsAttachmentType enum.
type ApiKeyOptsHeader ¶
type ApiKeyOptsHeader struct {
// Name The name of the header to be used for the API key.
Name string `json:"name"`
// ValuePrefix The prefix to be added to the API key value when it is sent in the header.
ValuePrefix string `json:"valuePrefix,omitempty"`
}
ApiKeyOptsHeader Configuration for API key in header. Must be provided if type is in-header.
type ApiKeyOptsQuery ¶
type ApiKeyOptsQuery struct {
// Name The name of the query parameter to be used for the API key.
Name string `json:"name"`
}
ApiKeyOptsQuery Configuration for API key in query parameter. Must be provided if type is in-query.
type ApiKeyRequest ¶
type ApiKeyRequest struct {
// Label A short name for the API key.
Label string `json:"label"`
// Scopes The scopes for the API key.
Scopes *ApiKeyScopes `json:"scopes,omitempty"`
}
ApiKeyRequest defines model for ApiKeyRequest.
type ApiProblem ¶
type ApiProblem = Problem
ApiProblem A Problem Details object (RFC 9457).
Additional properties specific to the problem type may be present.
type AssociationChangeEvent ¶
type AssociationChangeEvent struct {
// Enabled If always, the integration will subscribe to association change events.
Enabled *AssociationChangeEventEnabled `json:"enabled,omitempty"`
// IncludeFullRecords If true, the integration will include full records in the event payload.
IncludeFullRecords *bool `json:"includeFullRecords,omitempty"`
}
AssociationChangeEvent defines model for AssociationChangeEvent.
type AssociationChangeEventEnabled ¶
type AssociationChangeEventEnabled string
AssociationChangeEventEnabled If always, the integration will subscribe to association change events.
const (
AssociationChangeEventEnabledAlways AssociationChangeEventEnabled = "always"
)
Defines values for AssociationChangeEventEnabled.
func (AssociationChangeEventEnabled) Valid ¶
func (e AssociationChangeEventEnabled) Valid() bool
Valid indicates whether the value is a known member of the AssociationChangeEventEnabled enum.
type AssociationDefinition ¶
type AssociationDefinition struct {
// AssociationType High-level association variety (e.g., 'foreignKey', 'lookup', 'ref')
AssociationType string `json:"associationType"`
// Cardinality Association cardinality from the referencing field's perspective
Cardinality *string `json:"cardinality,omitempty"`
// Labels UI labels for an association
Labels *AssociationLabels `json:"labels,omitempty"`
// OnDelete Behavior upon foreign object deletion
OnDelete *string `json:"onDelete,omitempty"`
// Required If true, a referenced record must exist
Required *bool `json:"required,omitempty"`
// ReverseLookupFieldName Optional inverse relationship/property name exposed on the target object
ReverseLookupFieldName *string `json:"reverseLookupFieldName,omitempty"`
// TargetField Name of the referenced field on the target object
TargetField *string `json:"targetField,omitempty"`
// TargetObject Name of the referenced/parent object
TargetObject string `json:"targetObject"`
}
AssociationDefinition Relationship information for a field to another object
type AssociationLabels ¶
type AssociationLabels struct {
// Plural Plural display label
Plural *string `json:"plural,omitempty"`
// Singular Singular display label
Singular *string `json:"singular,omitempty"`
}
AssociationLabels UI labels for an association
type AuthHealthCheck ¶
type AuthHealthCheck struct {
// Method The HTTP method to use for the health check. If not set, defaults to GET.
Method string `json:"method,omitempty"`
// SuccessStatusCodes The HTTP status codes that indicate a successful health check. If not set, defaults to 200 and 204.
SuccessStatusCodes []int `json:"successStatusCodes,omitempty"`
// Url a no-op URL to check the health of the credentials. The URL MUST not mutate any state. If the provider doesn't have such an endpoint, then don't provide credentialsHealthCheck.
Url string `json:"url"`
}
AuthHealthCheck A URL to check the health of a provider's credentials. It's used to see if the credentials are valid and if the provider is reachable.
type AuthType ¶
type AuthType string
AuthType The type of authentication required by the provider.
type Backfill ¶
type Backfill struct {
DefaultPeriod DefaultPeriod `json:"defaultPeriod"`
}
Backfill defines model for Backfill.
type BackfillConfig ¶
type BackfillConfig struct {
DefaultPeriod DefaultPeriodConfig `json:"defaultPeriod"`
// FieldFilters Filters to apply only during backfill. Multiple conditions are joined by AND. Use this when you want different filter behavior for backfill vs. incremental reads.
FieldFilters []ReadFilter `json:"fieldFilters,omitempty"`
}
BackfillConfig defines model for BackfillConfig.
type BackfillProgress ¶
type BackfillProgress struct {
// CreateTime When the backfill operation started.
CreateTime *time.Time `json:"createTime,omitempty"`
// InstallationId The installation ID.
InstallationId string `json:"installationId"`
// ObjectName The object being synced (e.g., contact, account).
ObjectName string `json:"objectName"`
// OperationId The ID of the backfill operation.
OperationId string `json:"operationId"`
// RecordsEstimatedTotal The estimated total number of records to process. Only present for Salesforce and HubSpot; other connectors omit this field.
RecordsEstimatedTotal *int `json:"recordsEstimatedTotal,omitempty"`
// RecordsProcessed The number of records processed so far. Updates as more records are read during the backfill.
RecordsProcessed int `json:"recordsProcessed"`
// UpdateTime When progress was last updated.
UpdateTime *time.Time `json:"updateTime,omitempty"`
}
BackfillProgress defines model for BackfillProgress.
type BaseConfigContent ¶
type BaseConfigContent struct {
// Provider The SaaS API that we are integrating with.
Provider *string `json:"provider,omitempty"`
Proxy *BaseProxyConfig `json:"proxy,omitempty"`
Read *BaseReadConfig `json:"read,omitempty"`
Write *BaseWriteConfig `json:"write,omitempty"`
}
BaseConfigContent defines model for BaseConfigContent.
type BaseProxyConfig ¶
type BaseProxyConfig struct {
Enabled *bool `json:"enabled,omitempty"`
}
BaseProxyConfig defines model for BaseProxyConfig.
type BaseReadConfig ¶
type BaseReadConfig struct {
// Objects This is a map of object names to their configuration.
Objects *map[string]BaseReadConfigObject `json:"objects,omitempty"`
}
BaseReadConfig defines model for BaseReadConfig.
type BaseReadConfigObject ¶
type BaseReadConfigObject struct {
Backfill *BackfillConfig `json:"backfill,omitempty"`
// Destination The name of the destination that the result should be sent to.
Destination string `json:"destination,omitempty"`
// Disabled If this flag is set to true, scheduled reads associated with this object will be paused, and on-demand reads will not be allowed.
Disabled *bool `json:"disabled,omitempty"`
// DynamicMappingsInput An array containing all available dynamic field and value mappings for this installation, provided by the InstallIntegration component. This array represents the complete set of possible mappings, regardless of which ones are currently selected. The actual selected mappings are stored separately in the selectedFieldMappings property.
DynamicMappingsInput *DynamicMappingsInput `json:"dynamicMappingsInput,omitempty"`
// FieldFilters Filters to apply when reading records during incremental reads and backfill. Multiple conditions are joined by AND. Each field can only have one condition.
FieldFilters []ReadFilter `json:"fieldFilters,omitempty"`
// ObjectName The name of the object to read from.
ObjectName *string `json:"objectName,omitempty" validate:"required"`
// Schedule The schedule for reading the object, in cron syntax.
Schedule string `json:"schedule,omitempty"`
// SelectedFieldMappings This is a map of mapToNames to field names. (A mapTo name is the name the builder wants to map a field to when it lands in their destination.)
SelectedFieldMappings *map[string]string `json:"selectedFieldMappings,omitempty"`
// SelectedFields This is a map of field names to booleans indicating whether they should be read. If a field is already included in `selectedFieldMappings`, it does not need to be included here.
SelectedFields *map[string]bool `json:"selectedFields,omitempty"`
// SelectedFieldsAuto If selectedFieldsAuto is set to all, all fields will be read.
SelectedFieldsAuto *SelectedFieldsAutoConfig `json:"selectedFieldsAuto,omitempty"`
// SelectedValueMappings This is a map of field names to their value mappings.
SelectedValueMappings map[string]SelectedValueMappings `json:"selectedValueMappings,omitempty"`
}
BaseReadConfigObject defines model for BaseReadConfigObject.
type BaseSubscribeConfig ¶
type BaseSubscribeConfig struct {
Objects *map[string]BaseSubscribeConfigObject `json:"objects,omitempty"`
}
BaseSubscribeConfig defines model for BaseSubscribeConfig.
type BaseSubscribeConfigObject ¶
type BaseSubscribeConfigObject struct {
CreateEvent *ConfigCreateEvent `json:"createEvent,omitempty"`
DeleteEvent *ConfigDeleteEvent `json:"deleteEvent,omitempty"`
// Destination The name of the destination that the result should be sent to.
Destination string `json:"destination"`
// InheritFieldsAndMappings Whether to inherit fields and mappings from the read config.
InheritFieldsAndMappings bool `json:"inheritFieldsAndMappings"`
// ObjectName The name of the object to subscribe to.
ObjectName string `json:"objectName" validate:"required"`
OtherEvents *ConfigOtherEvents `json:"otherEvents,omitempty"`
// ProviderOptions Subscribe options that only apply to certain providers. Each option documents which providers support it; setting one for a provider that does not support it is rejected.
ProviderOptions *SubscribeProviderOptions `json:"providerOptions,omitempty"`
UpdateEvent *ConfigUpdateEvent `json:"updateEvent,omitempty"`
}
BaseSubscribeConfigObject defines model for BaseSubscribeConfigObject.
type BaseWriteConfig ¶
type BaseWriteConfig struct {
// Objects This is a map of object names to their configuration.
Objects *map[string]BaseWriteConfigObject `json:"objects,omitempty"`
}
BaseWriteConfig defines model for BaseWriteConfig.
type BaseWriteConfigObject ¶
type BaseWriteConfigObject struct {
DeletionSettings *DeletionSettings `json:"deletionSettings,omitempty"`
// ObjectName The name of the object to write to.
ObjectName string `json:"objectName" validate:"required"`
// SelectedFieldSettings This is a map of field names to their settings.
SelectedFieldSettings map[string]FieldSetting `json:"selectedFieldSettings,omitempty"`
// SelectedValueDefaults This is a map of field names to default values. These values will be used when writing to the object.
// Deprecated: this property has been marked as deprecated upstream, but no `x-deprecated-reason` was set
SelectedValueDefaults map[string]ValueDefault `json:"selectedValueDefaults,omitempty"`
}
BaseWriteConfigObject defines model for BaseWriteConfigObject.
type BasicAuthOpts ¶
type BasicAuthOpts struct {
// ApiKeyAsBasic If true, the provider uses an API key which then gets encoded as a basic auth user:pass string.
ApiKeyAsBasic bool `json:"apiKeyAsBasic,omitempty"`
// ApiKeyAsBasicOpts when this object is present, it means that this provider uses Basic Auth to actually collect an API key
ApiKeyAsBasicOpts *ApiKeyAsBasicOpts `json:"apiKeyAsBasicOpts,omitempty"`
// DocsURL URL with more information about how to get or use an API key.
DocsURL string `json:"docsURL,omitempty"`
}
BasicAuthOpts Configuration for Basic Auth. Optional.
type BatchUpsertIntegrationsJSONBody ¶
type BatchUpsertIntegrationsJSONBody struct {
// SourceYaml A YAML string that defines the integrations.
SourceYaml *string `json:"sourceYaml,omitempty"`
// SourceZipUrl URL of where a zip of the source files can be downloaded (e.g. Google Cloud Storage URL).
SourceZipUrl *string `json:"sourceZipUrl,omitempty"`
}
BatchUpsertIntegrationsJSONBody defines parameters for BatchUpsertIntegrations.
type BatchUpsertIntegrationsJSONRequestBody ¶
type BatchUpsertIntegrationsJSONRequestBody BatchUpsertIntegrationsJSONBody
BatchUpsertIntegrationsJSONRequestBody defines body for BatchUpsertIntegrations for application/json ContentType.
type BatchUpsertIntegrationsParams ¶
type BatchUpsertIntegrationsParams struct {
// Destructive Defaults to false. This flag controls whether to perform destructive actions when deploying integrations, like pausing all read actions for an object that was removed in the latest revision.
Destructive *bool `form:"destructive,omitempty" json:"destructive,omitempty"`
}
BatchUpsertIntegrationsParams defines parameters for BatchUpsertIntegrations.
type BatchWriteSupport ¶
type BatchWriteSupport struct {
Create BatchWriteSupportConfig `json:"create"`
Delete BatchWriteSupportConfig `json:"delete"`
Update BatchWriteSupportConfig `json:"update"`
Upsert BatchWriteSupportConfig `json:"upsert"`
}
BatchWriteSupport defines model for BatchWriteSupport.
type BatchWriteSupportConfig ¶
type BatchWriteSupportConfig struct {
// DefaultRecordLimit The default number of records supported in a batch
DefaultRecordLimit *int `json:"defaultRecordLimit,omitempty"`
// ObjectRecordLimits Defines object-level overrides for batch record limits. Keys represent object names, and values specify the maximum number of records per batch for those objects.
ObjectRecordLimits *map[string]int `json:"objectRecordLimits,omitempty"`
// Supported Whether this type of batch write operation is supported
Supported bool `json:"supported"`
}
BatchWriteSupportConfig defines model for BatchWriteSupportConfig.
type BillingAccount ¶
type BillingAccount struct {
// BillingProvider The billing provider that this account is associated with.
BillingProvider string `json:"billingProvider"`
// BillingProviderRef The ID used by the billing provider to identify the account.
BillingProviderRef string `json:"billingProviderRef"`
// CreateTime The time the billing account was created.
CreateTime *time.Time `json:"createTime,omitempty"`
// DisplayName The display name of the billing account.
DisplayName string `json:"displayName"`
// Id The billing account ID.
Id string `json:"id"`
// UpdateTime The time the billing account was last updated.
UpdateTime *time.Time `json:"updateTime,omitempty"`
}
BillingAccount defines model for BillingAccount.
type Builder ¶
type Builder struct {
// CreateTime The time that the builder joined Ampersand.
CreateTime time.Time `json:"createTime"`
FirstName *string `json:"firstName,omitempty"`
FullName *string `json:"fullName,omitempty"`
// Id The builder ID.
Id string `json:"id"`
// IdpProvider The identity provider
IdpProvider string `json:"idpProvider"`
// IdpRef ID used by the identity provider
IdpRef string `json:"idpRef"`
LastName *string `json:"lastName,omitempty"`
PrimaryEmail *string `json:"primaryEmail,omitempty"`
}
Builder defines model for Builder.
type BuilderInfo ¶
type BuilderInfo struct {
Builder Builder `json:"builder"`
OrgRole *struct {
Org Org `json:"org"`
// PrincipalId The ID of the team or builder.
PrincipalId string `json:"principalId"`
// PrincipalType The type of the principal.
PrincipalType BuilderInfoOrgRolePrincipalType `json:"principalType"`
// Role The role of the builder in the org.
Role string `json:"role"`
} `json:"orgRole,omitempty"`
// ProjectRoles A map of project IDs to project roles for the builder.
ProjectRoles map[string]struct {
// PrincipalId The ID of the team or builder.
PrincipalId string `json:"principalId"`
// PrincipalType The type of the principal.
PrincipalType BuilderInfoProjectRolesPrincipalType `json:"principalType"`
Project Project `json:"project"`
// Role The role of the builder in the project.
Role string `json:"role"`
} `json:"projectRoles"`
}
BuilderInfo defines model for BuilderInfo.
type BuilderInfoOrgRolePrincipalType ¶
type BuilderInfoOrgRolePrincipalType string
BuilderInfoOrgRolePrincipalType The type of the principal.
const ( BuilderInfoOrgRolePrincipalTypeBuilder BuilderInfoOrgRolePrincipalType = "builder" BuilderInfoOrgRolePrincipalTypeTeam BuilderInfoOrgRolePrincipalType = "team" )
Defines values for BuilderInfoOrgRolePrincipalType.
func (BuilderInfoOrgRolePrincipalType) Valid ¶
func (e BuilderInfoOrgRolePrincipalType) Valid() bool
Valid indicates whether the value is a known member of the BuilderInfoOrgRolePrincipalType enum.
type BuilderInfoProjectRolesPrincipalType ¶
type BuilderInfoProjectRolesPrincipalType string
BuilderInfoProjectRolesPrincipalType The type of the principal.
const ( BuilderInfoProjectRolesPrincipalTypeBuilder BuilderInfoProjectRolesPrincipalType = "builder" BuilderInfoProjectRolesPrincipalTypeTeam BuilderInfoProjectRolesPrincipalType = "team" )
Defines values for BuilderInfoProjectRolesPrincipalType.
func (BuilderInfoProjectRolesPrincipalType) Valid ¶
func (e BuilderInfoProjectRolesPrincipalType) Valid() bool
Valid indicates whether the value is a known member of the BuilderInfoProjectRolesPrincipalType enum.
type BulkWriteSupport ¶
type BulkWriteSupport struct {
Delete bool `json:"delete"`
Insert bool `json:"insert"`
Update bool `json:"update"`
Upsert bool `json:"upsert"`
}
BulkWriteSupport defines model for BulkWriteSupport.
type CatalogType ¶
type CatalogType map[string]ProviderInfo
CatalogType defines model for CatalogType.
type CheckClaimedDomainParams ¶
type CheckClaimedDomainParams struct {
// Domain Accepts an email address, domain name, or URL. The domain will be automatically extracted: for emails, the portion after @ is used (e.g., "user@example.com" becomes "example.com"); for URLs, the hostname is extracted (e.g., "https://www.example.com" becomes "example.com").
Domain string `form:"domain" json:"domain"`
}
CheckClaimedDomainParams defines parameters for CheckClaimedDomain.
type ClaimDomainJSONBody ¶
type ClaimDomainJSONBody struct {
// Domain Accepts an email address, domain name, or URL. The domain will be automatically extracted: for emails, the portion after @ is used (e.g., "user@example.com" becomes "example.com"); for URLs, the hostname is extracted (e.g., "https://www.example.com" becomes "example.com").
Domain string `json:"domain"`
// ParentId ID of the parent entity claiming the domain
ParentId string `json:"parentId"`
// ParentType Type of the parent entity
ParentType string `json:"parentType"`
}
ClaimDomainJSONBody defines parameters for ClaimDomain.
type ClaimDomainJSONRequestBody ¶
type ClaimDomainJSONRequestBody ClaimDomainJSONBody
ClaimDomainJSONRequestBody defines body for ClaimDomain for application/json ContentType.
type ClaimedDomainResponse ¶
type ClaimedDomainResponse struct {
// Domain The normalized domain name
Domain string `json:"domain"`
// Id Unique identifier for the claimed domain
Id string `json:"id"`
// ParentId ID of the parent entity that claimed the domain
ParentId string `json:"parentId"`
// ParentType Type of the parent entity that claimed the domain
ParentType string `json:"parentType"`
}
ClaimedDomainResponse defines model for ClaimedDomainResponse.
type Config ¶
type Config struct {
Content ConfigContent `json:"content"`
// CreateTime The time the config was created.
CreateTime time.Time `json:"createTime"`
// CreatedBy The person who created the config, in the format of "consumer:{consumer-id}" or "builder:{builder-id}".
CreatedBy string `json:"createdBy"`
// Id The config ID.
Id string `json:"id"`
// RevisionId The ID of the revision that was current when this config was created or last updated.
RevisionId string `json:"revisionId"`
}
Config defines model for Config.
type ConfigContent ¶
type ConfigContent struct {
// Provider The SaaS API that we are integrating with.
Provider string `json:"provider"`
Proxy *BaseProxyConfig `json:"proxy,omitempty"`
Read *ReadConfig `json:"read,omitempty"`
Subscribe *SubscribeConfig `json:"subscribe,omitempty"`
Write *WriteConfig `json:"write,omitempty"`
}
ConfigContent defines model for ConfigContent.
type ConfigCreateEvent ¶
type ConfigCreateEvent struct {
// Enabled Conditions to enable create events.
Enabled ConfigCreateEventEnabled `json:"enabled" validate:"oneof=always never"`
}
ConfigCreateEvent defines model for ConfigCreateEvent.
type ConfigCreateEventEnabled ¶
type ConfigCreateEventEnabled string
ConfigCreateEventEnabled Conditions to enable create events.
const ( ConfigCreateEventEnabledAlways ConfigCreateEventEnabled = "always" ConfigCreateEventEnabledNever ConfigCreateEventEnabled = "never" )
Defines values for ConfigCreateEventEnabled.
func (ConfigCreateEventEnabled) Valid ¶
func (e ConfigCreateEventEnabled) Valid() bool
Valid indicates whether the value is a known member of the ConfigCreateEventEnabled enum.
type ConfigDeleteEvent ¶
type ConfigDeleteEvent struct {
// Enabled Conditions to enable delete events.
Enabled ConfigDeleteEventEnabled `json:"enabled" validate:"oneof=always never"`
}
ConfigDeleteEvent defines model for ConfigDeleteEvent.
type ConfigDeleteEventEnabled ¶
type ConfigDeleteEventEnabled string
ConfigDeleteEventEnabled Conditions to enable delete events.
const ( ConfigDeleteEventEnabledAlways ConfigDeleteEventEnabled = "always" ConfigDeleteEventEnabledNever ConfigDeleteEventEnabled = "never" )
Defines values for ConfigDeleteEventEnabled.
func (ConfigDeleteEventEnabled) Valid ¶
func (e ConfigDeleteEventEnabled) Valid() bool
Valid indicates whether the value is a known member of the ConfigDeleteEventEnabled enum.
type ConfigOtherEvents ¶
type ConfigOtherEvents = []string
ConfigOtherEvents defines model for ConfigOtherEvents.
type ConfigUpdateEvent ¶
type ConfigUpdateEvent struct {
// Enabled Conditions to enable update events.
Enabled ConfigUpdateEventEnabled `json:"enabled" validate:"oneof=always never"`
// RequiredWatchFields The fields that should be watched.
RequiredWatchFields *[]string `json:"requiredWatchFields,omitempty"`
// WatchFieldsAuto Whether to watch fields all fields automatically.
WatchFieldsAuto *ConfigUpdateEventWatchFieldsAuto `json:"watchFieldsAuto,omitempty"`
}
ConfigUpdateEvent defines model for ConfigUpdateEvent.
type ConfigUpdateEventEnabled ¶
type ConfigUpdateEventEnabled string
ConfigUpdateEventEnabled Conditions to enable update events.
const ( ConfigUpdateEventEnabledAlways ConfigUpdateEventEnabled = "always" ConfigUpdateEventEnabledNever ConfigUpdateEventEnabled = "never" )
Defines values for ConfigUpdateEventEnabled.
func (ConfigUpdateEventEnabled) Valid ¶
func (e ConfigUpdateEventEnabled) Valid() bool
Valid indicates whether the value is a known member of the ConfigUpdateEventEnabled enum.
type ConfigUpdateEventWatchFieldsAuto ¶
type ConfigUpdateEventWatchFieldsAuto string
ConfigUpdateEventWatchFieldsAuto Whether to watch fields all fields automatically.
const (
ConfigUpdateEventWatchFieldsAutoAll ConfigUpdateEventWatchFieldsAuto = "all"
)
Defines values for ConfigUpdateEventWatchFieldsAuto.
func (ConfigUpdateEventWatchFieldsAuto) Valid ¶
func (e ConfigUpdateEventWatchFieldsAuto) Valid() bool
Valid indicates whether the value is a known member of the ConfigUpdateEventWatchFieldsAuto enum.
type Connection ¶
type Connection struct {
// ApiKey The API key used while making the connection.
ApiKey *string `json:"apiKey,omitempty"`
// AuthScheme The authentication scheme used for this connection.
AuthScheme ConnectionAuthScheme `json:"authScheme"`
Consumer Consumer `json:"consumer"`
// CreateTime The time the connection was created.
CreateTime time.Time `json:"createTime"`
Group Group `json:"group"`
// Id The connection ID.
Id string `json:"id"`
Oauth2AuthorizationCode *Oauth2AuthorizationCodeTokensOnly `json:"oauth2AuthorizationCode,omitempty"`
// ProjectId The Ampersand project ID.
ProjectId string `json:"projectId"`
// Provider The SaaS provider that this Connection is for.
Provider string `json:"provider"`
ProviderApp *ProviderApp `json:"providerApp,omitempty"`
// ProviderConsumerRef If available, the ID that Salesforce/Hubspot uses to identify this user (e.g. Salesforce has IDs in the form of https://login.salesforce.com/id/00D4x0000019CQTEA2/0054x000000orJ4AA)
ProviderConsumerRef *string `json:"providerConsumerRef,omitempty"`
ProviderMetadata *ProviderMetadata `json:"providerMetadata,omitempty"`
// ProviderWorkspaceRef If available, the identifier for the provider workspace (e.g. the Salesforce subdomain)
ProviderWorkspaceRef *string `json:"providerWorkspaceRef,omitempty"`
// Status The status of the connection.
// - `created`: The connection has just been created or the access token was just refreshed.
// - `working`: The connection has successfully been used to make a request.
// - `bad_credentials`: The connection encountered credential-related issues when making a request, or when attempting to refresh the access token.
Status ConnectionStatus `json:"status"`
// UpdateTime The time the connection was last updated.
UpdateTime *time.Time `json:"updateTime,omitempty"`
}
Connection defines model for Connection.
type ConnectionAuthScheme ¶
type ConnectionAuthScheme string
ConnectionAuthScheme The authentication scheme used for this connection.
const ( ConnectionAuthSchemeApiKey ConnectionAuthScheme = "apiKey" ConnectionAuthSchemeBasic ConnectionAuthScheme = "basic" ConnectionAuthSchemeNone ConnectionAuthScheme = "none" ConnectionAuthSchemeOauth2clientCredentials ConnectionAuthScheme = "oauth2/clientCredentials" ConnectionAuthSchemeOauth2password ConnectionAuthScheme = "oauth2/password" )
Defines values for ConnectionAuthScheme.
func (ConnectionAuthScheme) Valid ¶
func (e ConnectionAuthScheme) Valid() bool
Valid indicates whether the value is a known member of the ConnectionAuthScheme enum.
type ConnectionRequest ¶
type ConnectionRequest struct {
// ApiKey The API key to use for the connection.
ApiKey *string `json:"apiKey,omitempty"`
BasicAuth *struct {
// Password The password to use for the connection.
Password string `json:"password"`
// Username The username to use for the connection.
Username string `json:"username"`
} `json:"basicAuth,omitempty"`
// ConsumerName The name of the consumer that has access to this installation.
ConsumerName *string `json:"consumerName,omitempty"`
// ConsumerRef The consumer reference.
ConsumerRef *string `json:"consumerRef,omitempty"`
// CustomAuth Values used for custom auth input variables. Most values are strings (API keys, tokens, etc.), but structured values like arrays are also accepted — for example, googleWorkspaceDelegation sends a `scopes` array alongside the service account key.
CustomAuth *map[string]interface{} `json:"customAuth,omitempty"`
// GroupName The name of the user group that has access to this installation.
GroupName *string `json:"groupName,omitempty"`
// GroupRef The ID of the user group that has access to this installation.
GroupRef *string `json:"groupRef,omitempty"`
Oauth2AuthorizationCode *Oauth2AuthorizationCode `json:"oauth2AuthorizationCode,omitempty"`
Oauth2ClientCredentials *struct {
// ClientId The client ID to use for the connection.
ClientId string `json:"clientId"`
// ClientSecret The client secret to use for the connection.
ClientSecret string `json:"clientSecret"`
// Scopes The scopes for the tokens.
Scopes *[]string `json:"scopes,omitempty"`
} `json:"oauth2ClientCredentials,omitempty"`
Oauth2PasswordCredentials *struct {
// ClientId The client ID to use for the connection.
ClientId string `json:"clientId"`
// ClientSecret The client secret to use for the connection.
ClientSecret string `json:"clientSecret"`
// Password The password to use for the connection.
Password string `json:"password"`
// Scopes The scopes for the tokens.
Scopes *[]string `json:"scopes,omitempty"`
// Username The username to use for the connection.
Username string `json:"username"`
} `json:"oauth2PasswordCredentials,omitempty"`
// Provider The provider name (e.g. "salesforce", "hubspot")
Provider *string `json:"provider,omitempty"`
ProviderMetadata *ProviderMetadata `json:"providerMetadata,omitempty"`
// ProviderWorkspaceRef The ID of the provider workspace that this connection belongs to.
ProviderWorkspaceRef *string `json:"providerWorkspaceRef,omitempty"`
}
ConnectionRequest defines model for ConnectionRequest.
type ConnectionStatus ¶
type ConnectionStatus string
ConnectionStatus The status of the connection. - `created`: The connection has just been created or the access token was just refreshed. - `working`: The connection has successfully been used to make a request. - `bad_credentials`: The connection encountered credential-related issues when making a request, or when attempting to refresh the access token.
const ( BadCredentials ConnectionStatus = "bad_credentials" Created ConnectionStatus = "created" Working ConnectionStatus = "working" )
Defines values for ConnectionStatus.
func (ConnectionStatus) Valid ¶
func (e ConnectionStatus) Valid() bool
Valid indicates whether the value is a known member of the ConnectionStatus enum.
type Consumer ¶
type Consumer struct {
// ConsumerName The name of the consumer.
ConsumerName string `json:"consumerName"`
// ConsumerRef The consumer reference.
ConsumerRef string `json:"consumerRef"`
// CreateTime The time the consumer was created.
CreateTime time.Time `json:"createTime"`
// ProjectId The Ampersand project ID.
ProjectId string `json:"projectId"`
// UpdateTime The time the consumer was last updated.
UpdateTime *time.Time `json:"updateTime,omitempty"`
}
Consumer defines model for Consumer.
type CreateApiKeyJSONRequestBody ¶
type CreateApiKeyJSONRequestBody = ApiKeyRequest
CreateApiKeyJSONRequestBody defines body for CreateApiKey for application/json ContentType.
type CreateBillingAccountSessionJSONBody ¶
type CreateBillingAccountSessionJSONBody struct {
// RedirectUrl The URL to redirect to once a portal session is exited.
RedirectUrl string `json:"redirectUrl"`
// Timeout The number of seconds before the portal session expires.
Timeout *int `json:"timeout,omitempty"`
}
CreateBillingAccountSessionJSONBody defines parameters for CreateBillingAccountSession.
type CreateBillingAccountSessionJSONRequestBody ¶
type CreateBillingAccountSessionJSONRequestBody CreateBillingAccountSessionJSONBody
CreateBillingAccountSessionJSONRequestBody defines body for CreateBillingAccountSession for application/json ContentType.
type CreateDestinationJSONBody ¶
type CreateDestinationJSONBody struct {
Metadata struct {
// Account The storage account name for the `azureblob` destination.
Account string `json:"account,omitempty"`
// AccountIdentifier The Snowflake account identifier for the `snowflake` destination.
AccountIdentifier string `json:"accountIdentifier,omitempty"`
// BatchSize For warehouse destinations (`clickhouse`, `snowflake`, `bigquery`, `redshift`), the number of rows to buffer before flushing a batch. Defaults to 1000.
BatchSize int `json:"batchSize,omitempty"`
// Bucket The name of the S3 bucket to write objects to.
Bucket string `json:"bucket,omitempty"`
// ClusterIdentifier The Redshift provisioned cluster identifier for the `redshift` destination.
ClusterIdentifier string `json:"clusterIdentifier,omitempty"`
// Container The blob container name for the `azureblob` destination.
Container string `json:"container,omitempty"`
// Database The database name for the `clickhouse` destination.
Database string `json:"database,omitempty"`
// DatasetId The BigQuery dataset ID for the `bigquery` destination.
DatasetId string `json:"datasetId,omitempty"`
// DbName The database name (`snowflake`, `redshift`).
DbName string `json:"dbName,omitempty"`
// DbUser The database user for the `redshift` destination.
DbUser string `json:"dbUser,omitempty"`
// EndpointUrl The endpoint URL for the `kinesis` stream, or the optional custom endpoint URL for the `sqs` destination.
EndpointUrl string `json:"endpointUrl,omitempty"`
// Exchange The exchange to publish to for the `rabbitmq` destination. Required for `rabbitmq`.
Exchange string `json:"exchange,omitempty"`
// Headers Additional headers to add when Ampersand sends a webhook message
Headers *WebhookHeaders `json:"headers,omitempty"`
// KeyTemplate The template for the S3 object key to use when writing objects (a JMESPath template). If omitted, the key defaults to the message timestamp followed by the message ID.
KeyTemplate string `json:"keyTemplate,omitempty"`
// MaxWaitSecs For warehouse destinations, the maximum number of seconds to wait before flushing a batch (whichever comes first with `batchSize`). Defaults to 30.
MaxWaitSecs int `json:"maxWaitSecs,omitempty"`
// Name The queue or topic name for the `azureservicebus` destination. Required for `azureservicebus`.
Name string `json:"name,omitempty"`
// PartitionKeyTemplate The template for the partition key (a JMESPath template). Used by `kinesis`.
PartitionKeyTemplate string `json:"partitionKeyTemplate,omitempty"`
// ProjectId The Google Cloud project ID (`bigquery`, `pubsub`). Required for `pubsub`.
ProjectId string `json:"projectId,omitempty"`
// QueueUrl The SQS queue URL for the `sqs` destination. Required for `sqs`.
QueueUrl string `json:"queueUrl,omitempty"`
// Region The AWS region where the Kinesis or S3 destination is hosted.
Region string `json:"region,omitempty"`
// SchemaName The schema name (`snowflake`, `redshift`).
SchemaName string `json:"schemaName,omitempty"`
// ServerUrl The AMQP server URL for the `rabbitmq` destination. Required for `rabbitmq`.
ServerUrl string `json:"serverUrl,omitempty"`
// StorageClass The S3 storage class for written objects. Defaults to STANDARD. Common values include STANDARD, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, GLACIER_IR, and DEEP_ARCHIVE.
StorageClass string `json:"storageClass,omitempty"`
// StreamName The name of the Kinesis stream to send events to.
StreamName string `json:"streamName,omitempty"`
// TableId The BigQuery table ID for the `bigquery` destination.
TableId string `json:"tableId,omitempty"`
// TableName The destination table name (`clickhouse`, `snowflake`, `redshift`).
TableName string `json:"tableName,omitempty"`
// Tls Whether to connect over TLS. Optional for the `rabbitmq` destination.
Tls bool `json:"tls,omitempty"`
// TopicId The Pub/Sub topic ID for the `pubsub` destination. Required for `pubsub`.
TopicId string `json:"topicId,omitempty"`
// Url Webhook URL, must start with "https://". For `slack` destinations, this is the Slack incoming webhook URL.
Url *string `json:"url,omitempty"`
// UserId The user ID for the `snowflake` destination.
UserId string `json:"userId,omitempty"`
// Username The username for the `clickhouse` destination.
Username string `json:"username,omitempty"`
// WorkgroupName The Redshift Serverless workgroup name for the `redshift` destination.
WorkgroupName string `json:"workgroupName,omitempty"`
} `json:"metadata"`
// Name Name for the new destination. Must be unique within the project and can only contain letters, numbers and dashes.
Name string `json:"name"`
// Secrets Secrets for the destination.
Secrets *struct {
// AccessKey The account access key for the `azureblob` destination.
AccessKey string `json:"accessKey,omitempty"`
// AccessKeyId The AWS access key ID for the `redshift` destination.
AccessKeyId string `json:"accessKeyId,omitempty"`
// AwsKeyId The AWS access key ID for the `kinesis`, `s3`, and `sqs` destinations. Required for `sqs`.
AwsKeyId string `json:"awsKeyId,omitempty"`
// AwsSecretKey The AWS secret access key for the `kinesis`, `s3`, and `sqs` destinations. Required for `sqs`.
AwsSecretKey string `json:"awsSecretKey,omitempty"`
// AwsSessionToken The optional AWS session token for the `kinesis`, `s3`, and `sqs` destinations.
AwsSessionToken string `json:"awsSessionToken,omitempty"`
// ConnectionString The connection string for the `azureservicebus` destination. Required for `azureservicebus`.
ConnectionString string `json:"connectionString,omitempty"`
// Credentials The service-account credentials JSON for the `bigquery`, `gcs`, and `pubsub` destinations. Required for `pubsub`.
Credentials string `json:"credentials,omitempty"`
// Password The password for the `clickhouse` and `rabbitmq` destinations. Required for `rabbitmq`.
Password string `json:"password,omitempty"`
// PrivateKey The PEM-encoded RSA private key for the `snowflake` destination.
PrivateKey string `json:"privateKey,omitempty"`
// SecretAccessKey The AWS secret access key for the `redshift` destination.
SecretAccessKey string `json:"secretAccessKey,omitempty"`
// Username The username for the `rabbitmq` destination. Required for `rabbitmq`.
Username string `json:"username,omitempty"`
} `json:"secrets,omitempty"`
// Type The type of the destination. For `slack`, set `metadata.url` to a Slack incoming webhook URL. The warehouse and message-queue types (`clickhouse`, `snowflake`, `bigquery`, `redshift`, `sqs`, `pubsub`, `rabbitmq`, `azureservicebus`) are configured via the `metadata` and `secrets` fields documented below.
Type CreateDestinationJSONBodyType `json:"type"`
}
CreateDestinationJSONBody defines parameters for CreateDestination.
type CreateDestinationJSONBodyType ¶
type CreateDestinationJSONBodyType string
CreateDestinationJSONBodyType defines parameters for CreateDestination.
const ( Azureservicebus CreateDestinationJSONBodyType = "azureservicebus" Bigquery CreateDestinationJSONBodyType = "bigquery" Clickhouse CreateDestinationJSONBodyType = "clickhouse" Kinesis CreateDestinationJSONBodyType = "kinesis" Pubsub CreateDestinationJSONBodyType = "pubsub" Rabbitmq CreateDestinationJSONBodyType = "rabbitmq" Redshift CreateDestinationJSONBodyType = "redshift" S3 CreateDestinationJSONBodyType = "s3" Slack CreateDestinationJSONBodyType = "slack" Snowflake CreateDestinationJSONBodyType = "snowflake" Sqs CreateDestinationJSONBodyType = "sqs" Webhook CreateDestinationJSONBodyType = "webhook" )
Defines values for CreateDestinationJSONBodyType.
func (CreateDestinationJSONBodyType) Valid ¶
func (e CreateDestinationJSONBodyType) Valid() bool
Valid indicates whether the value is a known member of the CreateDestinationJSONBodyType enum.
type CreateDestinationJSONRequestBody ¶
type CreateDestinationJSONRequestBody CreateDestinationJSONBody
CreateDestinationJSONRequestBody defines body for CreateDestination for application/json ContentType.
type CreateEvent ¶
type CreateEvent struct {
// Enabled If always, the integration will subscribe to create events by default.
Enabled *CreateEventEnabled `json:"enabled,omitempty"`
}
CreateEvent defines model for CreateEvent.
type CreateEventEnabled ¶
type CreateEventEnabled string
CreateEventEnabled If always, the integration will subscribe to create events by default.
const (
CreateEventEnabledAlways CreateEventEnabled = "always"
)
Defines values for CreateEventEnabled.
func (CreateEventEnabled) Valid ¶
func (e CreateEventEnabled) Valid() bool
Valid indicates whether the value is a known member of the CreateEventEnabled enum.
type CreateEventTopicRouteJSONBody ¶
type CreateEventTopicRouteJSONBody struct {
// EventType The type of notification event.
EventType NotificationEventType `json:"eventType"`
// TopicId The ID of the topic to route events to.
TopicId string `json:"topicId"`
}
CreateEventTopicRouteJSONBody defines parameters for CreateEventTopicRoute.
type CreateEventTopicRouteJSONRequestBody ¶
type CreateEventTopicRouteJSONRequestBody CreateEventTopicRouteJSONBody
CreateEventTopicRouteJSONRequestBody defines body for CreateEventTopicRoute for application/json ContentType.
type CreateInstallationJSONBody ¶
type CreateInstallationJSONBody struct {
// Config The config of the installation.
Config struct {
Content ConfigContent `json:"content"`
// CreatedBy The person who created the config, in the format of "consumer:{consumer-id}", "builder:{builder-id}", or "api:{api-caller}".
CreatedBy *string `json:"createdBy,omitempty"`
// RevisionId Deprecated: This field will be automatically set to the latest revision.
// Deprecated: this property has been marked as deprecated upstream, but no `x-deprecated-reason` was set
RevisionId *string `json:"revisionId,omitempty"`
} `json:"config"`
// ConnectionId The ID of the SaaS connection tied to this installation. If omitted the default connection for this group will be used.
ConnectionId *string `json:"connectionId,omitempty"`
// GroupRef The ID of the user group that has access to this installation.
GroupRef string `json:"groupRef"`
}
CreateInstallationJSONBody defines parameters for CreateInstallation.
type CreateInstallationJSONRequestBody ¶
type CreateInstallationJSONRequestBody CreateInstallationJSONBody
CreateInstallationJSONRequestBody defines body for CreateInstallation for application/json ContentType.
type CreateInstallationParams ¶
type CreateInstallationParams struct {
// SkipSampling When `true`, skips the sample read that validates the installation's read configuration against the provider before saving. Defaults to `false`.
SkipSampling *bool `form:"skipSampling,omitempty" json:"skipSampling,omitempty"`
}
CreateInstallationParams defines parameters for CreateInstallation.
type CreateIntegrationJSONBody ¶
type CreateIntegrationJSONBody struct {
LatestRevision struct {
Content Integration2 `json:"content"`
// SpecVersion The spec version string.
SpecVersion string `json:"specVersion"`
} `json:"latestRevision"`
// Name The integration name.
Name string `json:"name"`
// Provider The provider name (e.g. "salesforce", "hubspot")
Provider string `json:"provider"`
}
CreateIntegrationJSONBody defines parameters for CreateIntegration.
type CreateIntegrationJSONRequestBody ¶
type CreateIntegrationJSONRequestBody CreateIntegrationJSONBody
CreateIntegrationJSONRequestBody defines body for CreateIntegration for application/json ContentType.
type CreateJWTKeyJSONRequestBody ¶
type CreateJWTKeyJSONRequestBody = CreateJWTKeyRequest
CreateJWTKeyJSONRequestBody defines body for CreateJWTKey for application/json ContentType.
type CreateJWTKeyRequest ¶
type CreateJWTKeyRequest struct {
// Algorithm The cryptographic JWT signing algorithm (currently only RS256 is supported)
Algorithm CreateJWTKeyRequestAlgorithm `json:"algorithm"`
// Label Human-readable label for the JWT key
Label string `json:"label"`
// PublicKeyPem RSA public key in PEM format for JWT signature verification
PublicKeyPem string `json:"publicKeyPem"`
}
CreateJWTKeyRequest defines model for CreateJWTKeyRequest.
type CreateJWTKeyRequestAlgorithm ¶
type CreateJWTKeyRequestAlgorithm string
CreateJWTKeyRequestAlgorithm The cryptographic JWT signing algorithm (currently only RS256 is supported)
const (
RS256 CreateJWTKeyRequestAlgorithm = "RS256"
)
Defines values for CreateJWTKeyRequestAlgorithm.
func (CreateJWTKeyRequestAlgorithm) Valid ¶
func (e CreateJWTKeyRequestAlgorithm) Valid() bool
Valid indicates whether the value is a known member of the CreateJWTKeyRequestAlgorithm enum.
type CreateOrgInviteJSONBody ¶
type CreateOrgInviteJSONBody struct {
// Email The email address of the user to invite.
Email string `json:"email"`
}
CreateOrgInviteJSONBody defines parameters for CreateOrgInvite.
type CreateOrgInviteJSONRequestBody ¶
type CreateOrgInviteJSONRequestBody CreateOrgInviteJSONBody
CreateOrgInviteJSONRequestBody defines body for CreateOrgInvite for application/json ContentType.
type CreateOrgJSONBody ¶
type CreateOrgJSONBody struct {
// Label The organization label.
Label string `json:"label"`
}
CreateOrgJSONBody defines parameters for CreateOrg.
type CreateOrgJSONRequestBody ¶
type CreateOrgJSONRequestBody CreateOrgJSONBody
CreateOrgJSONRequestBody defines body for CreateOrg for application/json ContentType.
type CreateProjectJSONBody ¶
type CreateProjectJSONBody struct {
// AppName The display name of your application, shown to end users during the connection flow.
AppName string `json:"appName"`
// Name The unique name for the project. Must contain only letters, numbers, and hyphens. Values are normalized to lowercase on save.
Name string `json:"name"`
// OrgId The ID of the organization this project belongs to. Obtain this from the Ampersand Dashboard or by calling `GET /orgs`.
OrgId string `json:"orgId"`
}
CreateProjectJSONBody defines parameters for CreateProject.
type CreateProjectJSONRequestBody ¶
type CreateProjectJSONRequestBody CreateProjectJSONBody
CreateProjectJSONRequestBody defines body for CreateProject for application/json ContentType.
type CreateProviderAppJSONBody ¶
type CreateProviderAppJSONBody struct {
// ClientId The OAuth client ID for this app.
ClientId string `json:"clientId"`
// ClientSecret The OAuth client secret for this app.
ClientSecret string `json:"clientSecret"`
// ExternalRef The ID used by the provider to identify the app (optional).
ExternalRef *string `json:"externalRef,omitempty"`
// Metadata Provider-specific configuration that extends the standard OAuth flow.
Metadata *ProviderAppMetadata `json:"metadata,omitempty"`
// Provider The SaaS provider that this app connects to.
Provider string `json:"provider"`
// Scopes The OAuth scopes for this app.
Scopes *[]string `json:"scopes,omitempty"`
}
CreateProviderAppJSONBody defines parameters for CreateProviderApp.
type CreateProviderAppJSONRequestBody ¶
type CreateProviderAppJSONRequestBody CreateProviderAppJSONBody
CreateProviderAppJSONRequestBody defines body for CreateProviderApp for application/json ContentType.
type CreateRevisionJSONBody ¶
type CreateRevisionJSONBody struct {
// SourceYaml The source YAML file that defines the revision.
SourceYaml *string `json:"sourceYaml,omitempty"`
// SourceZipUrl URL of where a zip of the source files can be downloaded (e.g. Google Cloud Storage URL).
SourceZipUrl *string `json:"sourceZipUrl,omitempty"`
}
CreateRevisionJSONBody defines parameters for CreateRevision.
type CreateRevisionJSONRequestBody ¶
type CreateRevisionJSONRequestBody CreateRevisionJSONBody
CreateRevisionJSONRequestBody defines body for CreateRevision for application/json ContentType.
type CreateRevisionParams ¶
type CreateRevisionParams struct {
// Destructive Defaults to false. This flag controls whether to perform destructive actions when deploying integrations, like pausing all read actions for an object that was removed in the latest revision.
Destructive *bool `form:"destructive,omitempty" json:"destructive,omitempty"`
}
CreateRevisionParams defines parameters for CreateRevision.
type CreateTopicDestinationRouteJSONBody ¶
type CreateTopicDestinationRouteJSONBody struct {
// DestinationId The ID of the destination.
DestinationId string `json:"destinationId"`
// TopicId The ID of the topic.
TopicId string `json:"topicId"`
}
CreateTopicDestinationRouteJSONBody defines parameters for CreateTopicDestinationRoute.
type CreateTopicDestinationRouteJSONRequestBody ¶
type CreateTopicDestinationRouteJSONRequestBody CreateTopicDestinationRouteJSONBody
CreateTopicDestinationRouteJSONRequestBody defines body for CreateTopicDestinationRoute for application/json ContentType.
type CreateTopicJSONBody ¶
type CreateTopicJSONBody struct {
// Name The name of the topic. Must contain only letters, numbers, and dashes.
Name string `json:"name"`
}
CreateTopicJSONBody defines parameters for CreateTopic.
type CreateTopicJSONRequestBody ¶
type CreateTopicJSONRequestBody CreateTopicJSONBody
CreateTopicJSONRequestBody defines body for CreateTopic for application/json ContentType.
type CustomAuthConnectJSONRequestBody ¶
type CustomAuthConnectJSONRequestBody = CustomAuthConnectRequest
CustomAuthConnectJSONRequestBody defines body for CustomAuthConnect for application/json ContentType.
type CustomAuthConnectRequest ¶
type CustomAuthConnectRequest struct {
// CallbackParams The query/body params the provider sent to the callback, forwarded to resume the flow.
CallbackParams *map[string]string `json:"callbackParams,omitempty"`
// ConsumerName The display name for the consumer. Defaults to consumerRef if not provided. Supplied on the first call; ignored on resume calls.
ConsumerName *string `json:"consumerName,omitempty"`
// ConsumerRef The ID that your app uses to identify the user whose SaaS credential will be used. Supplied on the first call; ignored on resume calls (the parked flow's identity is used).
ConsumerRef *string `json:"consumerRef,omitempty"`
// CustomAuth The consumer-supplied custom auth inputs (keyed by CustomAuthInput.name). Supplied on the first call (when sessionId is not present).
CustomAuth *map[string]interface{} `json:"customAuth,omitempty"`
// GroupName The display name for the group. Defaults to groupRef if not provided. Supplied on the first call; ignored on resume calls.
GroupName *string `json:"groupName,omitempty"`
// GroupRef Your application's identifier for the organization or workspace that this connection belongs to. Supplied on the first call; ignored on resume calls (the parked flow's identity is used).
GroupRef *string `json:"groupRef,omitempty"`
// ProjectIdOrName The Ampersand project ID or project name. Required on the first call.
ProjectIdOrName string `json:"projectIdOrName"`
// Provider The provider that this app connects to. Required on the first call (when sessionId is not present); ignored on resume calls. Conditional requirement is enforced at the application layer.
Provider *string `json:"provider,omitempty"`
// ProviderAppId ID of the provider app. If omitted, the default provider app set up on the Dashboard is assumed.
ProviderAppId *string `json:"providerAppId,omitempty"`
ProviderMetadata *ProviderMetadata `json:"providerMetadata,omitempty"`
// SessionId Identifies an in-progress flow to resume after a redirect. Returned in a prior redirect response. When present, provider and customAuth are not required.
SessionId *string `json:"sessionId,omitempty"`
}
CustomAuthConnectRequest Request body for the /custom-auth/connect endpoint. The first call supplies the flow inputs; subsequent calls supply sessionId and callbackParams to resume after a redirect.
type CustomAuthConnectResponse ¶
type CustomAuthConnectResponse struct {
// contains filtered or unexported fields
}
CustomAuthConnectResponse Response from /custom-auth/connect. Exactly one of redirect or connection is set. A redirect means the client should open the URL and call again with sessionId + callbackParams; a connection means the flow is complete.
func (CustomAuthConnectResponse) AsCustomAuthConnectResponse0 ¶
func (t CustomAuthConnectResponse) AsCustomAuthConnectResponse0() (CustomAuthConnectResponse0, error)
AsCustomAuthConnectResponse0 returns the union data inside the CustomAuthConnectResponse as a CustomAuthConnectResponse0
func (CustomAuthConnectResponse) AsCustomAuthConnectResponse1 ¶
func (t CustomAuthConnectResponse) AsCustomAuthConnectResponse1() (CustomAuthConnectResponse1, error)
AsCustomAuthConnectResponse1 returns the union data inside the CustomAuthConnectResponse as a CustomAuthConnectResponse1
func (*CustomAuthConnectResponse) FromCustomAuthConnectResponse0 ¶
func (t *CustomAuthConnectResponse) FromCustomAuthConnectResponse0(v CustomAuthConnectResponse0) error
FromCustomAuthConnectResponse0 overwrites any union data inside the CustomAuthConnectResponse as the provided CustomAuthConnectResponse0
func (*CustomAuthConnectResponse) FromCustomAuthConnectResponse1 ¶
func (t *CustomAuthConnectResponse) FromCustomAuthConnectResponse1(v CustomAuthConnectResponse1) error
FromCustomAuthConnectResponse1 overwrites any union data inside the CustomAuthConnectResponse as the provided CustomAuthConnectResponse1
func (CustomAuthConnectResponse) MarshalJSON ¶
func (t CustomAuthConnectResponse) MarshalJSON() ([]byte, error)
func (*CustomAuthConnectResponse) MergeCustomAuthConnectResponse0 ¶
func (t *CustomAuthConnectResponse) MergeCustomAuthConnectResponse0(v CustomAuthConnectResponse0) error
MergeCustomAuthConnectResponse0 performs a merge with any union data inside the CustomAuthConnectResponse, using the provided CustomAuthConnectResponse0
func (*CustomAuthConnectResponse) MergeCustomAuthConnectResponse1 ¶
func (t *CustomAuthConnectResponse) MergeCustomAuthConnectResponse1(v CustomAuthConnectResponse1) error
MergeCustomAuthConnectResponse1 performs a merge with any union data inside the CustomAuthConnectResponse, using the provided CustomAuthConnectResponse1
func (*CustomAuthConnectResponse) UnmarshalJSON ¶
func (t *CustomAuthConnectResponse) UnmarshalJSON(b []byte) error
type CustomAuthConnectResponse0 ¶
type CustomAuthConnectResponse0 struct {
// Redirect Instructs the client to open a URL (e.g. in a popup) to continue a custom auth flow, then resume by calling /custom-auth/connect with the sessionId.
Redirect RedirectResponse `json:"redirect"`
}
CustomAuthConnectResponse0 defines model for .
type CustomAuthConnectResponse1 ¶
type CustomAuthConnectResponse1 struct {
Connection Connection `json:"connection"`
}
CustomAuthConnectResponse1 defines model for .
type CustomAuthHeader ¶
type CustomAuthHeader struct {
// Name The name of the header.
Name string `json:"name"`
// ValueTemplate The value of the header, represented as a Golang text/template expression. Only the backend will interpret this.
ValueTemplate string `json:"valueTemplate" skipSubstitutions:"true"`
}
CustomAuthHeader A custom header to be used for authentication. Automatically added by the backend.
type CustomAuthInput ¶
type CustomAuthInput struct {
// DisplayName The human-readable name for the custom auth input field.
DisplayName string `json:"displayName"`
// DocsURL URL with details about this authentication mechanism and how to use it. Might be specific to this field, or a general URL for the provider. Optional.
DocsURL string `json:"docsURL,omitempty"`
// FieldType How the frontend should render this input. "fieldTypeText" is an unmasked field (not sensitive), "fieldTypePassword" is a masked field (sensitive), and "fieldTypeSelect" is a dropdown populated from options. Defaults to "fieldTypePassword" when omitted.
FieldType CustomAuthInputFieldType `json:"fieldType,omitempty"`
// Name The internal identifier for the custom auth input field.
Name string `json:"name"`
// Options The dropdown options, used only when fieldType is "select".
Options []CustomAuthInputOption `json:"options,omitempty"`
// Prompt Some helpful text or context to be displayed to the user when asking for this input.
Prompt string `json:"prompt,omitempty"`
}
CustomAuthInput A custom input field for authentication. This is used by the frontend to dynamically render input fields for custom auth. The backend will not interpret this. It will however receive the value of this field before making a request (in the connection secrets).
type CustomAuthInputFieldType ¶
type CustomAuthInputFieldType string
CustomAuthInputFieldType How the frontend should render this input. "fieldTypeText" is an unmasked field (not sensitive), "fieldTypePassword" is a masked field (sensitive), and "fieldTypeSelect" is a dropdown populated from options. Defaults to "fieldTypePassword" when omitted.
const ( FieldTypePassword CustomAuthInputFieldType = "fieldTypePassword" FieldTypeSelect CustomAuthInputFieldType = "fieldTypeSelect" FieldTypeText CustomAuthInputFieldType = "fieldTypeText" )
Defines values for CustomAuthInputFieldType.
func (CustomAuthInputFieldType) Valid ¶
func (e CustomAuthInputFieldType) Valid() bool
Valid indicates whether the value is a known member of the CustomAuthInputFieldType enum.
type CustomAuthInputOption ¶
type CustomAuthInputOption struct {
// Label The human-readable label shown for this option.
Label string `json:"label"`
// Value The value stored when this option is selected.
Value string `json:"value"`
}
CustomAuthInputOption A selectable option for a custom auth input whose fieldType is "select".
type CustomAuthOpts ¶
type CustomAuthOpts struct {
// Headers A list of custom headers to be used for authentication. The backend will add these headers.
Headers []CustomAuthHeader `json:"headers,omitempty"`
// Inputs A list of custom input fields for authentication. The frontend will render these input fields and the backend will receive the values of these fields before making a request.
Inputs []CustomAuthInput `json:"inputs,omitempty"`
// MultiStep Whether this provider uses a multi-step custom auth flow (browser redirects and/or server-side credential-exchange calls) driven by the /custom-auth/connect endpoint, rather than static header/query-param injection. The step definitions and handlers live in the connectors library, not the catalog; this flag is the signal that lets clients tell "multi-step custom" apart from plain "custom" at a glance.
MultiStep bool `json:"multiStep,omitempty"`
// ProviderInputs Input fields the builder configures on their provider app (e.g. client secrets, subscription keys) rather than the consumer. Routed to storage by fieldType. Optional.
ProviderInputs []CustomAuthInput `json:"providerInputs,omitempty"`
// QueryParams A list of custom query parameters to be used for authentication. The backend will add these query parameters.
QueryParams []CustomAuthQueryParam `json:"queryParams,omitempty"`
}
CustomAuthOpts Configuration for custom auth. Optional.
type CustomAuthQueryParam ¶
type CustomAuthQueryParam struct {
// Name The name of the query parameter.
Name string `json:"name"`
// ValueTemplate The value of the query parameter, represented as a Golang text/template expression. Only the backend will interpret this.
ValueTemplate string `json:"valueTemplate" skipSubstitutions:"true"`
}
CustomAuthQueryParam A custom query parameter to be used for authentication. Automatically added by the backend.
type DefaultPeriod ¶
type DefaultPeriod struct {
// Days Number of days in past to backfill from. 0 is no backfill. e.g) if 10, then backfill last 10 days of data. Required if fullHistory is not set.
Days *int `json:"days,omitempty" validate:"required_without=FullHistory,omitempty,min=0"`
// FullHistory If true, backfill all history. Required if days is not set.
FullHistory *bool `json:"fullHistory,omitempty" validate:"required_without=Days"`
}
DefaultPeriod defines model for DefaultPeriod.
type DefaultPeriodConfig ¶
type DefaultPeriodConfig struct {
// Days Number of days in past to backfill from. 0 is no backfill. e.g) if 10, then backfill last 10 days of data. Required if fullHistory is not set.
Days *int `json:"days,omitempty" validate:"required_without=FullHistory,omitempty,min=0"`
// FullHistory If true, backfill all history. Required if days is not set.
FullHistory *bool `json:"fullHistory,omitempty" validate:"required_without=Days"`
}
DefaultPeriodConfig defines model for DefaultPeriodConfig.
type DeleteEvent ¶
type DeleteEvent struct {
// Enabled If always, the integration will subscribe to delete events by default.
Enabled *DeleteEventEnabled `json:"enabled,omitempty"`
}
DeleteEvent defines model for DeleteEvent.
type DeleteEventEnabled ¶
type DeleteEventEnabled string
DeleteEventEnabled If always, the integration will subscribe to delete events by default.
const (
DeleteEventEnabledAlways DeleteEventEnabled = "always"
)
Defines values for DeleteEventEnabled.
func (DeleteEventEnabled) Valid ¶
func (e DeleteEventEnabled) Valid() bool
Valid indicates whether the value is a known member of the DeleteEventEnabled enum.
type DeletionSettings ¶
type DeletionSettings struct {
// Enabled Whether deletion is enabled for this object
Enabled bool `json:"enabled"`
}
DeletionSettings defines model for DeletionSettings.
type Delivery ¶
type Delivery struct {
// Mode The data delivery mode for this object. If not specified, defaults to automatic.
Mode *DeliveryMode `json:"mode,omitempty"`
// PageSize The number of records to receive per data delivery.
PageSize *int `json:"pageSize,omitempty"`
}
Delivery defines model for Delivery.
type DeliveryMode ¶
type DeliveryMode string
DeliveryMode The data delivery mode for this object. If not specified, defaults to automatic.
const ( Auto DeliveryMode = "auto" OnRequest DeliveryMode = "onRequest" )
Defines values for DeliveryMode.
func (DeliveryMode) Valid ¶
func (e DeliveryMode) Valid() bool
Valid indicates whether the value is a known member of the DeliveryMode enum.
type Destination ¶
type Destination struct {
// CreateTime The time the destination was created.
CreateTime time.Time `json:"createTime"`
// Id The destination ID.
Id string `json:"id"`
Metadata struct {
// Account The storage account name for the azureblob destination
Account *string `json:"account,omitempty"`
// AccountIdentifier The Snowflake account identifier for the snowflake destination
AccountIdentifier *string `json:"accountIdentifier,omitempty"`
// BatchSize For warehouse destinations, rows to buffer before flushing a batch (default 1000)
BatchSize *int `json:"batchSize,omitempty"`
// Bucket The name of the S3 bucket
Bucket *string `json:"bucket,omitempty"`
// ClusterIdentifier The Redshift provisioned cluster identifier for the redshift destination
ClusterIdentifier *string `json:"clusterIdentifier,omitempty"`
// Container The blob container name for the azureblob destination
Container *string `json:"container,omitempty"`
// Database The database name for the clickhouse destination
Database *string `json:"database,omitempty"`
// DatasetId The BigQuery dataset ID for the bigquery destination
DatasetId *string `json:"datasetId,omitempty"`
// DbName The database name (snowflake, redshift)
DbName *string `json:"dbName,omitempty"`
// DbUser The database user for the redshift destination
DbUser *string `json:"dbUser,omitempty"`
// Exchange The exchange to publish to for the rabbitmq destination
Exchange *string `json:"exchange,omitempty"`
// Headers Additional headers to add when Ampersand sends a webhook message
Headers *WebhookHeaders `json:"headers,omitempty"`
// KeyTemplate JMESPath template for generating S3 object keys
KeyTemplate *string `json:"keyTemplate,omitempty"`
// MaxWaitSecs For warehouse destinations, max seconds before flushing a batch (default 30)
MaxWaitSecs *int `json:"maxWaitSecs,omitempty"`
// Name The queue or topic name for the azureservicebus destination
Name *string `json:"name,omitempty"`
// PartitionKeyTemplate Template for generating partition keys
PartitionKeyTemplate *string `json:"partitionKeyTemplate,omitempty"`
// ProjectId The Google Cloud project ID (bigquery, pubsub)
ProjectId *string `json:"projectId,omitempty"`
// QueueUrl The SQS queue URL for the sqs destination
QueueUrl *string `json:"queueUrl,omitempty"`
// Region The AWS region for the destination
Region *string `json:"region,omitempty"`
// SchemaName The schema name (snowflake, redshift)
SchemaName *string `json:"schemaName,omitempty"`
// ServerUrl The AMQP server URL for the rabbitmq destination
ServerUrl *string `json:"serverUrl,omitempty"`
// StorageClass The S3 storage class for written objects (defaults to STANDARD)
StorageClass *string `json:"storageClass,omitempty"`
// StreamName The name of the Kinesis stream
StreamName *string `json:"streamName,omitempty"`
// TableId The BigQuery table ID for the bigquery destination
TableId *string `json:"tableId,omitempty"`
// TableName The destination table name (clickhouse, snowflake, redshift)
TableName *string `json:"tableName,omitempty"`
// Tls Whether to connect over TLS (rabbitmq)
Tls *bool `json:"tls,omitempty"`
// TopicId The Pub/Sub topic ID for the pubsub destination
TopicId *string `json:"topicId,omitempty"`
// Url Webhook URL
Url *string `json:"url,omitempty"`
// UserId The user ID for the snowflake destination
UserId *string `json:"userId,omitempty"`
// Username The username for the clickhouse destination
Username *string `json:"username,omitempty"`
// WorkgroupName The Redshift Serverless workgroup name for the redshift destination
WorkgroupName *string `json:"workgroupName,omitempty"`
} `json:"metadata"`
// Name User-defined name for the destination.
Name string `json:"name"`
// Type The type of the destination.
Type string `json:"type"`
// UpdateTime The time the destination was updated.
UpdateTime *time.Time `json:"updateTime,omitempty"`
}
Destination defines model for Destination.
type DestinationWithSecrets ¶
type DestinationWithSecrets struct {
// CreateTime The time the destination was created.
CreateTime time.Time `json:"createTime"`
// Id The destination ID.
Id string `json:"id"`
Metadata struct {
// Account The storage account name for the azureblob destination
Account *string `json:"account,omitempty"`
// AccountIdentifier The Snowflake account identifier for the snowflake destination
AccountIdentifier *string `json:"accountIdentifier,omitempty"`
// BatchSize For warehouse destinations, rows to buffer before flushing a batch (default 1000)
BatchSize *int `json:"batchSize,omitempty"`
// Bucket The name of the S3 bucket
Bucket *string `json:"bucket,omitempty"`
// ClusterIdentifier The Redshift provisioned cluster identifier for the redshift destination
ClusterIdentifier *string `json:"clusterIdentifier,omitempty"`
// Container The blob container name for the azureblob destination
Container *string `json:"container,omitempty"`
// Database The database name for the clickhouse destination
Database *string `json:"database,omitempty"`
// DatasetId The BigQuery dataset ID for the bigquery destination
DatasetId *string `json:"datasetId,omitempty"`
// DbName The database name (snowflake, redshift)
DbName *string `json:"dbName,omitempty"`
// DbUser The database user for the redshift destination
DbUser *string `json:"dbUser,omitempty"`
// Exchange The exchange to publish to for the rabbitmq destination
Exchange *string `json:"exchange,omitempty"`
// Headers Additional headers to add when Ampersand sends a webhook message
Headers *WebhookHeaders `json:"headers,omitempty"`
// KeyTemplate JMESPath template for generating S3 object keys
KeyTemplate *string `json:"keyTemplate,omitempty"`
// MaxWaitSecs For warehouse destinations, max seconds before flushing a batch (default 30)
MaxWaitSecs *int `json:"maxWaitSecs,omitempty"`
// Name The queue or topic name for the azureservicebus destination
Name *string `json:"name,omitempty"`
// PartitionKeyTemplate Template for generating partition keys
PartitionKeyTemplate *string `json:"partitionKeyTemplate,omitempty"`
// ProjectId The Google Cloud project ID (bigquery, pubsub)
ProjectId *string `json:"projectId,omitempty"`
// QueueUrl The SQS queue URL for the sqs destination
QueueUrl *string `json:"queueUrl,omitempty"`
// Region The AWS region for the destination
Region *string `json:"region,omitempty"`
// SchemaName The schema name (snowflake, redshift)
SchemaName *string `json:"schemaName,omitempty"`
// ServerUrl The AMQP server URL for the rabbitmq destination
ServerUrl *string `json:"serverUrl,omitempty"`
// StorageClass The S3 storage class for written objects (defaults to STANDARD)
StorageClass *string `json:"storageClass,omitempty"`
// StreamName The name of the Kinesis stream
StreamName *string `json:"streamName,omitempty"`
// TableId The BigQuery table ID for the bigquery destination
TableId *string `json:"tableId,omitempty"`
// TableName The destination table name (clickhouse, snowflake, redshift)
TableName *string `json:"tableName,omitempty"`
// Tls Whether to connect over TLS (rabbitmq)
Tls *bool `json:"tls,omitempty"`
// TopicId The Pub/Sub topic ID for the pubsub destination
TopicId *string `json:"topicId,omitempty"`
// Url Webhook URL
Url *string `json:"url,omitempty"`
// UserId The user ID for the snowflake destination
UserId *string `json:"userId,omitempty"`
// Username The username for the clickhouse destination
Username *string `json:"username,omitempty"`
// WorkgroupName The Redshift Serverless workgroup name for the redshift destination
WorkgroupName *string `json:"workgroupName,omitempty"`
} `json:"metadata"`
// Name User-defined name for the destination.
Name string `json:"name"`
// Secrets Destination secrets (only included when includeSecrets is true)
Secrets *struct {
// WebhookSigningKey Webhook signing key for the destination (only included for webhook destinations)
WebhookSigningKey *string `json:"webhookSigningKey,omitempty"`
} `json:"secrets,omitempty"`
// Type The type of the destination.
Type string `json:"type"`
// UpdateTime The time the destination was updated.
UpdateTime *time.Time `json:"updateTime,omitempty"`
}
DestinationWithSecrets Destination object with secrets field (returned by getDestination when includeSecrets is true)
type DynamicMappingsInput ¶
type DynamicMappingsInput = []DynamicMappingsInputEntry
DynamicMappingsInput An array containing all available dynamic field and value mappings for this installation, provided by the InstallIntegration component. This array represents the complete set of possible mappings, regardless of which ones are currently selected. The actual selected mappings are stored separately in the selectedFieldMappings property.
type DynamicMappingsInputEntry ¶
type DynamicMappingsInputEntry struct {
// FieldName The name of the field in SaaS provider, if present, then we will not prompt the user to map the field.
FieldName *string `json:"fieldName,omitempty"`
// MapToDisplayName Optional display name of the field to show the user in the mapping UI.
MapToDisplayName *string `json:"mapToDisplayName,omitempty"`
// MapToName The name of the field in your application.
MapToName string `json:"mapToName"`
// MappedValues If you would like the user to map a set of possible values, this is the list of possible values of the field in your application.
MappedValues *[]DynamicMappingsInputMappedValue `json:"mappedValues,omitempty"`
// Prompt Optional prompt to show the user in the mapping UI.
Prompt *string `json:"prompt,omitempty"`
}
DynamicMappingsInputEntry defines model for DynamicMappingsInputEntry.
type DynamicMappingsInputMappedValue ¶
type DynamicMappingsInputMappedValue struct {
MappedDisplayValue string `json:"mappedDisplayValue"`
MappedValue string `json:"mappedValue"`
}
DynamicMappingsInputMappedValue defines model for DynamicMappingsInputMappedValue.
type FieldChangedEvent ¶
type FieldChangedEvent struct {
// Enabled If always, the integration will monitor for field changes by default.
Enabled FieldChangedEventEnabled `json:"enabled"`
}
FieldChangedEvent Configuration for detecting when fields are changed.
type FieldChangedEventEnabled ¶
type FieldChangedEventEnabled string
FieldChangedEventEnabled If always, the integration will monitor for field changes by default.
const (
FieldChangedEventEnabledAlways FieldChangedEventEnabled = "always"
)
Defines values for FieldChangedEventEnabled.
func (FieldChangedEventEnabled) Valid ¶
func (e FieldChangedEventEnabled) Valid() bool
Valid indicates whether the value is a known member of the FieldChangedEventEnabled enum.
type FieldCreatedEvent ¶
type FieldCreatedEvent struct {
// Enabled If always, the integration will monitor for new fields by default.
Enabled FieldCreatedEventEnabled `json:"enabled"`
}
FieldCreatedEvent Configuration for detecting when new fields are created.
type FieldCreatedEventEnabled ¶
type FieldCreatedEventEnabled string
FieldCreatedEventEnabled If always, the integration will monitor for new fields by default.
const (
FieldCreatedEventEnabledAlways FieldCreatedEventEnabled = "always"
)
Defines values for FieldCreatedEventEnabled.
func (FieldCreatedEventEnabled) Valid ¶
func (e FieldCreatedEventEnabled) Valid() bool
Valid indicates whether the value is a known member of the FieldCreatedEventEnabled enum.
type FieldDefinition ¶
type FieldDefinition struct {
// Association Relationship information for a field to another object
Association *AssociationDefinition `json:"association,omitempty"`
// Description Optional description of the field
Description *string `json:"description,omitempty"`
// DisplayName The human-readable name of the field
DisplayName string `json:"displayName"`
// FieldName The identifier of the field
FieldName string `json:"fieldName"`
// Indexed Indicates if the field should be indexed for faster search
Indexed *bool `json:"indexed,omitempty"`
// NumericOptions Additional options for numeric fields
NumericOptions *NumericFieldOptions `json:"numericOptions,omitempty"`
// Required Indicates if the field is required
Required *bool `json:"required,omitempty"`
// StringOptions Additional options for string fields
StringOptions *StringFieldOptions `json:"stringOptions,omitempty"`
// Unique Indicates if the field must be unique across all records
Unique *bool `json:"unique,omitempty"`
// ValueType The data type of the field. Valid values are string, boolean, date, datetime, singleSelect, multiSelect, int, float, reference
ValueType string `json:"valueType"`
}
FieldDefinition Field definition for creating or updating custom fields
type FieldDeletedEvent ¶
type FieldDeletedEvent struct {
// Enabled If always, the integration will monitor for deleted fields by default.
Enabled FieldDeletedEventEnabled `json:"enabled"`
}
FieldDeletedEvent Configuration for detecting when fields are deleted.
type FieldDeletedEventEnabled ¶
type FieldDeletedEventEnabled string
FieldDeletedEventEnabled If always, the integration will monitor for deleted fields by default.
const (
FieldDeletedEventEnabledAlways FieldDeletedEventEnabled = "always"
)
Defines values for FieldDeletedEventEnabled.
func (FieldDeletedEventEnabled) Valid ¶
func (e FieldDeletedEventEnabled) Valid() bool
Valid indicates whether the value is a known member of the FieldDeletedEventEnabled enum.
type FieldMetadata ¶
type FieldMetadata struct {
// DisplayName The display name of the field from the provider API.
DisplayName string `json:"displayName"`
// FieldName The name of the field from the provider API.
FieldName string `json:"fieldName"`
// IsCustom Whether the field is custom field.
IsCustom *bool `json:"isCustom,omitempty"`
// IsRequired Whether the field is required when creating a new record.
IsRequired *bool `json:"isRequired,omitempty"`
// ProviderType Raw field type from the provider API.
ProviderType string `json:"providerType,omitempty"`
// ReadOnly Whether the field is read-only.
ReadOnly *bool `json:"readOnly,omitempty"`
// ReferenceTo The list of object types this field references. Only applicable if the providerType is a lookup/reference field.
ReferenceTo []string `json:"referenceTo,omitempty"`
// ValueType A normalized field type
ValueType FieldMetadataValueType `json:"valueType,omitempty"`
// Values If the valueType is singleSelect or multiSelect, this is a list of possible values
Values []FieldValue `json:"values,omitempty"`
}
FieldMetadata Metadata about a field. Please note that different providers have different levels of support for field metadata. Please reach out to support@withampersand.com if need expanded support for a particular provider.
type FieldMetadataValueType ¶
type FieldMetadataValueType string
FieldMetadataValueType A normalized field type
const ( Boolean FieldMetadataValueType = "boolean" Date FieldMetadataValueType = "date" Datetime FieldMetadataValueType = "datetime" Float FieldMetadataValueType = "float" Int FieldMetadataValueType = "int" MultiSelect FieldMetadataValueType = "multiSelect" Other FieldMetadataValueType = "other" Reference FieldMetadataValueType = "reference" SingleSelect FieldMetadataValueType = "singleSelect" String FieldMetadataValueType = "string" )
Defines values for FieldMetadataValueType.
func (FieldMetadataValueType) Valid ¶
func (e FieldMetadataValueType) Valid() bool
Valid indicates whether the value is a known member of the FieldMetadataValueType enum.
type FieldSetting ¶
type FieldSetting struct {
// Default Only use one of stringValue, integerValue, booleanValue.
Default *FieldSettingDefault `json:"default,omitempty"`
// WriteOnCreate Whether the default value should be applied when creating a record.
WriteOnCreate FieldSettingWriteOnCreate `json:"writeOnCreate,omitempty"`
// WriteOnUpdate Whether the default value should be applied when updating a record.
// - always: Always write to the field on update
// - never: Never write to the field on update
// - ifEmpty: Only write to the field if it's currently empty (unset or empty string).
WriteOnUpdate FieldSettingWriteOnUpdate `json:"writeOnUpdate,omitempty"`
}
FieldSetting defines model for FieldSetting.
type FieldSettingDefault ¶
type FieldSettingDefault struct {
// BooleanValue The default boolean value to apply to a field
BooleanValue *bool `json:"booleanValue,omitempty"`
// IntegerValue The default integer value to apply to a field
IntegerValue *int `json:"integerValue,omitempty"`
// StringValue The default string value to apply to a field
StringValue *string `json:"stringValue,omitempty"`
}
FieldSettingDefault Only use one of stringValue, integerValue, booleanValue.
type FieldSettingWriteOnCreate ¶
type FieldSettingWriteOnCreate string
FieldSettingWriteOnCreate Whether the default value should be applied when creating a record.
const ( FieldSettingWriteOnCreateAlways FieldSettingWriteOnCreate = "always" FieldSettingWriteOnCreateNever FieldSettingWriteOnCreate = "never" )
Defines values for FieldSettingWriteOnCreate.
func (FieldSettingWriteOnCreate) Valid ¶
func (e FieldSettingWriteOnCreate) Valid() bool
Valid indicates whether the value is a known member of the FieldSettingWriteOnCreate enum.
type FieldSettingWriteOnUpdate ¶
type FieldSettingWriteOnUpdate string
FieldSettingWriteOnUpdate Whether the default value should be applied when updating a record. - always: Always write to the field on update - never: Never write to the field on update - ifEmpty: Only write to the field if it's currently empty (unset or empty string).
const ( FieldSettingWriteOnUpdateAlways FieldSettingWriteOnUpdate = "always" FieldSettingWriteOnUpdateIfEmpty FieldSettingWriteOnUpdate = "ifEmpty" FieldSettingWriteOnUpdateNever FieldSettingWriteOnUpdate = "never" )
Defines values for FieldSettingWriteOnUpdate.
func (FieldSettingWriteOnUpdate) Valid ¶
func (e FieldSettingWriteOnUpdate) Valid() bool
Valid indicates whether the value is a known member of the FieldSettingWriteOnUpdate enum.
type FieldUpsertResult ¶
type FieldUpsertResult struct {
// Action Action taken (create, update, none)
Action string `json:"action"`
// FieldName Name of the field
FieldName string `json:"fieldName"`
// Metadata Provider-specific metadata about the field
Metadata *map[string]interface{} `json:"metadata,omitempty"`
// Warnings Warnings that occurred during the upsert operation
Warnings *[]string `json:"warnings,omitempty"`
}
FieldUpsertResult Result of an upsert operation for a single field
type FieldValue ¶
type FieldValue struct {
// DisplayValue The human-readable display value
DisplayValue string `json:"displayValue"`
// Value The internal value used by the system
Value string `json:"value"`
}
FieldValue Represents a field value
type GenerateConnectionJSONRequestBody ¶
type GenerateConnectionJSONRequestBody = GenerateConnectionRequest
GenerateConnectionJSONRequestBody defines body for GenerateConnection for application/json ContentType.
type GenerateConnectionRequest ¶
type GenerateConnectionRequest struct {
// ApiKey The API key to use for the connection.
ApiKey *string `json:"apiKey,omitempty"`
BasicAuth *struct {
// Password The password to use for the connection.
Password string `json:"password"`
// Username The username to use for the connection.
Username string `json:"username"`
} `json:"basicAuth,omitempty"`
// ConsumerName The name of the consumer that has access to this installation.
ConsumerName *string `json:"consumerName,omitempty"`
// ConsumerRef The consumer reference.
ConsumerRef string `json:"consumerRef"`
// CustomAuth Values used for custom auth input variables. Most values are strings (API keys, tokens, etc.), but structured values like arrays are also accepted — for example, googleWorkspaceDelegation sends a `scopes` array alongside the service account key.
CustomAuth *map[string]interface{} `json:"customAuth,omitempty"`
// GroupName The name of the user group that has access to this installation.
GroupName *string `json:"groupName,omitempty"`
// GroupRef The ID of the user group that has access to this installation.
GroupRef string `json:"groupRef"`
Oauth2AuthorizationCode *Oauth2AuthorizationCode `json:"oauth2AuthorizationCode,omitempty"`
Oauth2ClientCredentials *struct {
// ClientId The client ID to use for the connection.
ClientId string `json:"clientId"`
// ClientSecret The client secret to use for the connection.
ClientSecret string `json:"clientSecret"`
// Scopes The scopes for the tokens.
Scopes *[]string `json:"scopes,omitempty"`
} `json:"oauth2ClientCredentials,omitempty"`
Oauth2PasswordCredentials *struct {
// ClientId The client ID to use for the connection.
ClientId string `json:"clientId"`
// ClientSecret The client secret to use for the connection.
ClientSecret string `json:"clientSecret"`
// Password The password to use for the connection.
Password string `json:"password"`
// Scopes The scopes for the tokens.
Scopes *[]string `json:"scopes,omitempty"`
// Username The username to use for the connection.
Username string `json:"username"`
} `json:"oauth2PasswordCredentials,omitempty"`
// Provider The provider name (e.g. "salesforce", "hubspot")
Provider string `json:"provider"`
ProviderMetadata *ProviderMetadata `json:"providerMetadata,omitempty"`
// ProviderWorkspaceRef The ID of the provider workspace that this connection belongs to.
ProviderWorkspaceRef *string `json:"providerWorkspaceRef,omitempty"`
}
GenerateConnectionRequest defines model for GenerateConnectionRequest.
type GetConnectionParams ¶
type GetConnectionParams struct {
// IncludeCreds Whether to include credentials for `oauth2AuthorizationCode` in the response. If true, `accessToken` and `scopes` are included. To include `refreshToken` as well, set `includeRefreshToken` to true. Default is false.
IncludeCreds *bool `form:"includeCreds,omitempty" json:"includeCreds,omitempty"`
// IncludeRefreshToken Whether to include `refreshToken` for `oauth2AuthorizationCode` credentials in the response (along with `accessToken` and `scopes`). If true, the `includeCreds` query parameter will be ignored. Default is false.
IncludeRefreshToken *bool `form:"includeRefreshToken,omitempty" json:"includeRefreshToken,omitempty"`
// Refresh Whether to refresh the access token. If value is `ifExpired`, the access token will be refreshed only if it has expired. If value is `force`, the access token will be refreshed regardless of its expiration.
Refresh *GetConnectionParamsRefresh `form:"refresh,omitempty" json:"refresh,omitempty"`
}
GetConnectionParams defines parameters for GetConnection.
type GetConnectionParamsRefresh ¶
type GetConnectionParamsRefresh string
GetConnectionParamsRefresh defines parameters for GetConnection.
const ( Force GetConnectionParamsRefresh = "force" IfExpired GetConnectionParamsRefresh = "ifExpired" )
Defines values for GetConnectionParamsRefresh.
func (GetConnectionParamsRefresh) Valid ¶
func (e GetConnectionParamsRefresh) Valid() bool
Valid indicates whether the value is a known member of the GetConnectionParamsRefresh enum.
type GetDestinationParams ¶
type GetDestinationParams struct {
// IncludeSecrets Include secrets in the response
IncludeSecrets *bool `form:"includeSecrets,omitempty" json:"includeSecrets,omitempty"`
// Rotate Rotate the destination secrets
Rotate *bool `form:"rotate,omitempty" json:"rotate,omitempty"`
}
GetDestinationParams defines parameters for GetDestination.
type GetHydratedRevisionParams ¶
type GetHydratedRevisionParams struct {
// ConnectionId The ID of the consumer's connection to the SaaS provider. This connection's credentials are used to fetch field metadata from the provider's API.
ConnectionId string `form:"connectionId" json:"connectionId"`
}
GetHydratedRevisionParams defines parameters for GetHydratedRevision.
type GetObjectMetadataForConnectionParams ¶
type GetObjectMetadataForConnectionParams struct {
// GroupRef The ID of the user group whose connection should be used to fetch the metadata.
GroupRef string `form:"groupRef" json:"groupRef"`
// ExcludeReadOnly Excludes fields where `ReadOnly` is `true` from the response.
ExcludeReadOnly *bool `form:"excludeReadOnly,omitempty" json:"excludeReadOnly,omitempty"`
}
GetObjectMetadataForConnectionParams defines parameters for GetObjectMetadataForConnection.
type GetObjectMetadataForInstallationParams ¶
type GetObjectMetadataForInstallationParams struct {
// GroupRef The ID of the user group that has access to this installation.
GroupRef string `form:"groupRef" json:"groupRef"`
// ExcludeReadOnly Excludes fields where `ReadOnly` is `true` from the response.
ExcludeReadOnly *bool `form:"excludeReadOnly,omitempty" json:"excludeReadOnly,omitempty"`
}
GetObjectMetadataForInstallationParams defines parameters for GetObjectMetadataForInstallation.
type GetProjectParams ¶
type GetProjectParams struct {
// IncludeEntitlements If true, the response includes the project's entitlements (plan-based feature flags). Defaults to false.
IncludeEntitlements *bool `form:"includeEntitlements,omitempty" json:"includeEntitlements,omitempty"`
}
GetProjectParams defines parameters for GetProject.
type Group ¶
type Group struct {
// CreateTime The time the group was created.
CreateTime time.Time `json:"createTime"`
// GroupName The name of the user group that has access to this installation.
GroupName string `json:"groupName"`
// GroupRef The ID of the user group that has access to this installation.
GroupRef string `json:"groupRef"`
// ProjectId The Ampersand project ID.
ProjectId string `json:"projectId"`
// UpdateTime The time the group was last updated.
UpdateTime *time.Time `json:"updateTime,omitempty"`
}
Group defines model for Group.
type HydratedIntegration ¶
type HydratedIntegration struct {
DisplayName string `json:"displayName,omitempty"`
Module string `json:"module,omitempty"`
Name string `json:"name"`
Provider string `json:"provider"`
Proxy *HydratedIntegrationProxy `json:"proxy,omitempty"`
Read *HydratedIntegrationRead `json:"read,omitempty"`
Write *HydratedIntegrationWrite `json:"write,omitempty"`
}
HydratedIntegration defines model for HydratedIntegration.
type HydratedIntegrationField ¶
type HydratedIntegrationField struct {
// contains filtered or unexported fields
}
HydratedIntegrationField defines model for HydratedIntegrationField.
func (HydratedIntegrationField) AsHydratedIntegrationFieldExistent ¶
func (t HydratedIntegrationField) AsHydratedIntegrationFieldExistent() (HydratedIntegrationFieldExistent, error)
AsHydratedIntegrationFieldExistent returns the union data inside the HydratedIntegrationField as a HydratedIntegrationFieldExistent
func (HydratedIntegrationField) AsIntegrationFieldMapping ¶
func (t HydratedIntegrationField) AsIntegrationFieldMapping() (IntegrationFieldMapping, error)
AsIntegrationFieldMapping returns the union data inside the HydratedIntegrationField as a IntegrationFieldMapping
func (*HydratedIntegrationField) FromHydratedIntegrationFieldExistent ¶
func (t *HydratedIntegrationField) FromHydratedIntegrationFieldExistent(v HydratedIntegrationFieldExistent) error
FromHydratedIntegrationFieldExistent overwrites any union data inside the HydratedIntegrationField as the provided HydratedIntegrationFieldExistent
func (*HydratedIntegrationField) FromIntegrationFieldMapping ¶
func (t *HydratedIntegrationField) FromIntegrationFieldMapping(v IntegrationFieldMapping) error
FromIntegrationFieldMapping overwrites any union data inside the HydratedIntegrationField as the provided IntegrationFieldMapping
func (HydratedIntegrationField) MarshalJSON ¶
func (t HydratedIntegrationField) MarshalJSON() ([]byte, error)
func (*HydratedIntegrationField) MergeHydratedIntegrationFieldExistent ¶
func (t *HydratedIntegrationField) MergeHydratedIntegrationFieldExistent(v HydratedIntegrationFieldExistent) error
MergeHydratedIntegrationFieldExistent performs a merge with any union data inside the HydratedIntegrationField, using the provided HydratedIntegrationFieldExistent
func (*HydratedIntegrationField) MergeIntegrationFieldMapping ¶
func (t *HydratedIntegrationField) MergeIntegrationFieldMapping(v IntegrationFieldMapping) error
MergeIntegrationFieldMapping performs a merge with any union data inside the HydratedIntegrationField, using the provided IntegrationFieldMapping
func (*HydratedIntegrationField) UnmarshalJSON ¶
func (t *HydratedIntegrationField) UnmarshalJSON(b []byte) error
type HydratedIntegrationFieldExistent ¶
type HydratedIntegrationFieldExistent struct {
DisplayName string `json:"displayName"`
FieldName string `json:"fieldName"`
// MapToDisplayName The display name to map to in the destination.
MapToDisplayName string `json:"mapToDisplayName,omitempty"`
// MapToName The field name to map to in the destination.
MapToName string `json:"mapToName,omitempty"`
}
HydratedIntegrationFieldExistent defines model for HydratedIntegrationFieldExistent.
type HydratedIntegrationObject ¶
type HydratedIntegrationObject struct {
// AllFields This is a list of all fields on the object for a particular SaaS instance, including their display names. Prefer using allFieldsMetadata instead.
// Deprecated: this property has been marked as deprecated upstream, but no `x-deprecated-reason` was set
AllFields *[]HydratedIntegrationField `json:"allFields,omitempty"`
// AllFieldsMetadata This is a map of all fields on the object including their metadata (such as display name and type), the keys of the map are the field names.
AllFieldsMetadata *map[string]FieldMetadata `json:"allFieldsMetadata,omitempty"`
Backfill *Backfill `json:"backfill,omitempty"`
Destination string `json:"destination"`
DisplayName string `json:"displayName"`
// Error Error message if there was an issue hydrating this object.
Error string `json:"error,omitempty"`
// MapToDisplayName A display name to map to.
MapToDisplayName string `json:"mapToDisplayName,omitempty"`
// MapToName An object name to map to.
MapToName string `json:"mapToName,omitempty"`
ObjectName string `json:"objectName"`
OptionalFields *[]HydratedIntegrationField `json:"optionalFields,omitempty"`
OptionalFieldsAuto *OptionalFieldsAutoOption `json:"optionalFieldsAuto,omitempty"`
RequiredFields *[]HydratedIntegrationField `json:"requiredFields,omitempty"`
Schedule string `json:"schedule"`
}
HydratedIntegrationObject defines model for HydratedIntegrationObject.
type HydratedIntegrationProxy ¶
type HydratedIntegrationProxy struct {
Enabled *bool `json:"enabled,omitempty"`
// UseModule Default is false. If this is set to true, the base URL for the proxy action will be the module's base URL. Otherwise, it is assumed that the base URL is the provider's root base URL.
UseModule *bool `json:"useModule,omitempty"`
}
HydratedIntegrationProxy defines model for HydratedIntegrationProxy.
type HydratedIntegrationRead ¶
type HydratedIntegrationRead struct {
Objects *[]HydratedIntegrationObject `json:"objects,omitempty"`
}
HydratedIntegrationRead defines model for HydratedIntegrationRead.
type HydratedIntegrationWrite ¶
type HydratedIntegrationWrite struct {
Objects *[]HydratedIntegrationWriteObject `json:"objects,omitempty"`
}
HydratedIntegrationWrite defines model for HydratedIntegrationWrite.
type HydratedIntegrationWriteObject ¶
type HydratedIntegrationWriteObject struct {
DisplayName string `json:"displayName"`
ObjectName string `json:"objectName"`
// ValueDefaults Configuration to set default write values for object fields.
ValueDefaults *ValueDefaults `json:"valueDefaults,omitempty"`
}
HydratedIntegrationWriteObject defines model for HydratedIntegrationWriteObject.
type HydratedRevision ¶
type HydratedRevision struct {
Content HydratedIntegration `json:"content"`
// CreateTime The time the revision was created.
CreateTime time.Time `json:"createTime"`
// Id The revision ID.
Id string `json:"id"`
// SpecVersion The spec version string.
SpecVersion string `json:"specVersion"`
}
HydratedRevision defines model for HydratedRevision.
type InputValidationIssue ¶
type InputValidationIssue = ApiProblem
InputValidationIssue defines model for InputValidationIssue.
type InputValidationProblem ¶
type InputValidationProblem = ApiProblem
InputValidationProblem defines model for InputValidationProblem.
type Installation ¶
type Installation struct {
Config Config `json:"config"`
Connection Connection `json:"connection"`
// CreateTime The time the installation was created.
CreateTime time.Time `json:"createTime"`
// CreatedBy The person who did the installation, in the format of "consumer:{consumer-id}".
CreatedBy string `json:"createdBy"`
Group *Group `json:"group,omitempty"`
// HealthStatus The health status of the installation.
HealthStatus InstallationHealthStatus `json:"healthStatus"`
// Id The installation ID.
Id string `json:"id"`
// IntegrationId The integration ID.
IntegrationId string `json:"integrationId"`
// LastOperationStatus The status of the latest operation for this installation.
LastOperationStatus *InstallationLastOperationStatus `json:"lastOperationStatus,omitempty"`
// ProjectId The Ampersand project ID.
ProjectId string `json:"projectId"`
// UpdateTime The time the installation was last updated with a new config.
UpdateTime *time.Time `json:"updateTime,omitempty"`
}
Installation defines model for Installation.
type InstallationHealthStatus ¶
type InstallationHealthStatus string
InstallationHealthStatus The health status of the installation.
const ( Healthy InstallationHealthStatus = "healthy" Unhealthy InstallationHealthStatus = "unhealthy" )
Defines values for InstallationHealthStatus.
func (InstallationHealthStatus) Valid ¶
func (e InstallationHealthStatus) Valid() bool
Valid indicates whether the value is a known member of the InstallationHealthStatus enum.
type InstallationLastOperationStatus ¶
type InstallationLastOperationStatus string
InstallationLastOperationStatus The status of the latest operation for this installation.
const ( Failure InstallationLastOperationStatus = "failure" InProgress InstallationLastOperationStatus = "in_progress" Success InstallationLastOperationStatus = "success" )
Defines values for InstallationLastOperationStatus.
func (InstallationLastOperationStatus) Valid ¶
func (e InstallationLastOperationStatus) Valid() bool
Valid indicates whether the value is a known member of the InstallationLastOperationStatus enum.
type Integration ¶
type Integration struct {
// CreateTime The time the integration was created.
CreateTime time.Time `json:"createTime"`
// Id The integration ID.
Id string `json:"id"`
LatestRevision Revision `json:"latestRevision"`
// Name The integration name.
Name string `json:"name"`
// ProjectId The Ampersand project ID.
ProjectId string `json:"projectId"`
// Provider The SaaS provider that this integration connects to.
Provider string `json:"provider"`
// UpdateTime The time the integration was last updated.
UpdateTime *time.Time `json:"updateTime,omitempty"`
}
Integration defines model for Integration.
type Integration2 ¶
type Integration2 struct {
DisplayName string `json:"displayName,omitempty"`
Module string `json:"module,omitempty"`
Name string `json:"name"`
Provider string `json:"provider"`
Proxy *IntegrationProxy `json:"proxy,omitempty"`
Read *IntegrationRead `json:"read,omitempty"`
Subscribe *IntegrationSubscribe `json:"subscribe,omitempty"`
// WatchSchema Configuration for monitoring provider schema changes.
WatchSchema *WatchSchema `json:"watchSchema,omitempty"`
Write *IntegrationWrite `json:"write,omitempty"`
}
Integration2 defines model for Integration-2.
type IntegrationField ¶
type IntegrationField struct {
// contains filtered or unexported fields
}
IntegrationField defines model for IntegrationField.
func (IntegrationField) AsIntegrationFieldExistent ¶
func (t IntegrationField) AsIntegrationFieldExistent() (IntegrationFieldExistent, error)
AsIntegrationFieldExistent returns the union data inside the IntegrationField as a IntegrationFieldExistent
func (IntegrationField) AsIntegrationFieldMapping ¶
func (t IntegrationField) AsIntegrationFieldMapping() (IntegrationFieldMapping, error)
AsIntegrationFieldMapping returns the union data inside the IntegrationField as a IntegrationFieldMapping
func (*IntegrationField) FromIntegrationFieldExistent ¶
func (t *IntegrationField) FromIntegrationFieldExistent(v IntegrationFieldExistent) error
FromIntegrationFieldExistent overwrites any union data inside the IntegrationField as the provided IntegrationFieldExistent
func (*IntegrationField) FromIntegrationFieldMapping ¶
func (t *IntegrationField) FromIntegrationFieldMapping(v IntegrationFieldMapping) error
FromIntegrationFieldMapping overwrites any union data inside the IntegrationField as the provided IntegrationFieldMapping
func (IntegrationField) MarshalJSON ¶
func (t IntegrationField) MarshalJSON() ([]byte, error)
func (*IntegrationField) MergeIntegrationFieldExistent ¶
func (t *IntegrationField) MergeIntegrationFieldExistent(v IntegrationFieldExistent) error
MergeIntegrationFieldExistent performs a merge with any union data inside the IntegrationField, using the provided IntegrationFieldExistent
func (*IntegrationField) MergeIntegrationFieldMapping ¶
func (t *IntegrationField) MergeIntegrationFieldMapping(v IntegrationFieldMapping) error
MergeIntegrationFieldMapping performs a merge with any union data inside the IntegrationField, using the provided IntegrationFieldMapping
func (*IntegrationField) UnmarshalJSON ¶
func (t *IntegrationField) UnmarshalJSON(b []byte) error
type IntegrationFieldExistent ¶
type IntegrationFieldExistent struct {
FieldName string `json:"fieldName"`
// MapToDisplayName The display name to map to.
MapToDisplayName string `json:"mapToDisplayName,omitempty"`
// MapToName The field name to map to.
MapToName string `json:"mapToName,omitempty"`
}
IntegrationFieldExistent defines model for IntegrationFieldExistent.
type IntegrationFieldMapping ¶
type IntegrationFieldMapping struct {
Default *string `json:"default,omitempty"`
MapToDisplayName *string `json:"mapToDisplayName,omitempty"`
MapToName string `json:"mapToName"`
Prompt *string `json:"prompt,omitempty"`
}
IntegrationFieldMapping defines model for IntegrationFieldMapping.
type IntegrationObject ¶
type IntegrationObject struct {
Backfill *Backfill `json:"backfill,omitempty"`
Delivery *Delivery `json:"delivery,omitempty"`
Destination string `json:"destination"`
// Enabled If set to `always`, Ampersand reads this object for every installation even if the customer never selects it (or it isn't present) in the installation config.
Enabled IntegrationObjectEnabled `json:"enabled,omitempty"`
// MapToDisplayName A display name to map to.
MapToDisplayName string `json:"mapToDisplayName,omitempty"`
// MapToName An object name to map to.
MapToName string `json:"mapToName,omitempty"`
ObjectName string `json:"objectName"`
OptionalFields *[]IntegrationField `json:"optionalFields,omitempty"`
OptionalFieldsAuto *OptionalFieldsAutoOption `json:"optionalFieldsAuto,omitempty"`
RequiredFields *[]IntegrationField `json:"requiredFields,omitempty"`
Schedule string `json:"schedule"`
}
IntegrationObject defines model for IntegrationObject.
type IntegrationObjectEnabled ¶
type IntegrationObjectEnabled string
IntegrationObjectEnabled If set to `always`, Ampersand reads this object for every installation even if the customer never selects it (or it isn't present) in the installation config.
const (
IntegrationObjectEnabledAlways IntegrationObjectEnabled = "always"
)
Defines values for IntegrationObjectEnabled.
func (IntegrationObjectEnabled) Valid ¶
func (e IntegrationObjectEnabled) Valid() bool
Valid indicates whether the value is a known member of the IntegrationObjectEnabled enum.
type IntegrationProxy ¶
type IntegrationProxy struct {
Enabled *bool `json:"enabled,omitempty"`
// UseModule Default is false. If this is set to true, the base URL for the proxy action will be the module's base URL. Otherwise, it is assumed that the base URL is the provider's root base URL.
UseModule *bool `json:"useModule,omitempty"`
}
IntegrationProxy defines model for IntegrationProxy.
type IntegrationRead ¶
type IntegrationRead struct {
Objects *[]IntegrationObject `json:"objects,omitempty"`
}
IntegrationRead defines model for IntegrationRead.
type IntegrationSubscribe ¶
type IntegrationSubscribe struct {
Objects *[]IntegrationSubscribeObject `json:"objects,omitempty"`
}
IntegrationSubscribe defines model for IntegrationSubscribe.
type IntegrationSubscribeObject ¶
type IntegrationSubscribeObject struct {
AssociationChangeEvent *AssociationChangeEvent `json:"associationChangeEvent,omitempty"`
CreateEvent *CreateEvent `json:"createEvent,omitempty"`
DeleteEvent *DeleteEvent `json:"deleteEvent,omitempty"`
Destination string `json:"destination"`
// InheritFieldsAndMapping If true, the integration will inherit the fields and mapping from the read object.
InheritFieldsAndMapping bool `json:"inheritFieldsAndMapping,omitempty"`
ObjectName string `json:"objectName"`
OtherEvents *OtherEvents `json:"otherEvents,omitempty"`
UpdateEvent *UpdateEvent `json:"updateEvent,omitempty"`
}
IntegrationSubscribeObject defines model for IntegrationSubscribeObject.
type IntegrationWrite ¶
type IntegrationWrite struct {
Objects *[]IntegrationWriteObject `json:"objects,omitempty"`
}
IntegrationWrite defines model for IntegrationWrite.
type IntegrationWriteObject ¶
type IntegrationWriteObject struct {
// InheritMapping If true, the write object will inherit the mapping from the read object. If false, the write object will have no mapping.
InheritMapping *bool `json:"inheritMapping,omitempty"`
ObjectName string `json:"objectName"`
// ValueDefaults Configuration to set default write values for object fields.
ValueDefaults *ValueDefaults `json:"valueDefaults,omitempty"`
}
IntegrationWriteObject defines model for IntegrationWriteObject.
type Invite ¶
type Invite struct {
// CreateTime The time the invite was created.
CreateTime time.Time `json:"createTime"`
// Id The invite ID.
Id string `json:"id"`
// InvitedEmail The email address of the person invited.
InvitedEmail string `json:"invitedEmail"`
// ParentId The ID of the parent (e.g. org ID).
ParentId string `json:"parentId"`
// ParentType The type of entity that the person is invited to.
ParentType InviteParentType `json:"parentType"`
// Status The status of the invite.
Status InviteStatus `json:"status"`
// UpdateTime The time the invite was updated.
UpdateTime *time.Time `json:"updateTime,omitempty"`
}
Invite defines model for Invite.
type InviteParentType ¶
type InviteParentType string
InviteParentType The type of entity that the person is invited to.
const (
InviteParentTypeOrg InviteParentType = "org"
)
Defines values for InviteParentType.
func (InviteParentType) Valid ¶
func (e InviteParentType) Valid() bool
Valid indicates whether the value is a known member of the InviteParentType enum.
type InviteStatus ¶
type InviteStatus string
InviteStatus The status of the invite.
const ( Accepted InviteStatus = "accepted" Expired InviteStatus = "expired" Pending InviteStatus = "pending" Revoked InviteStatus = "revoked" )
Defines values for InviteStatus.
func (InviteStatus) Valid ¶
func (e InviteStatus) Valid() bool
Valid indicates whether the value is a known member of the InviteStatus enum.
type JSONPatchOperation ¶
type JSONPatchOperation struct {
// Op The operation to perform.
// - "add": Adds a new field or replaces an existing one at the specified path
// - "remove": Removes the field at the specified path
// - "replace": Replaces the value at the specified path
Op JSONPatchOperationOp `json:"op"`
// Path JSON Pointer path to the field to operate on (RFC 6901).
// All paths must start with "/" (e.g., "/schedule", "/selectedFields/phone").
Path string `json:"path"`
// Value The value to set for add/replace operations.
// Not used for remove operations.
Value interface{} `json:"value,omitempty"`
}
JSONPatchOperation Represents a single JSON Patch operation (RFC 6902). Only supports add, remove, and replace operations for config updates.
type JSONPatchOperationOp ¶
type JSONPatchOperationOp string
JSONPatchOperationOp The operation to perform. - "add": Adds a new field or replaces an existing one at the specified path - "remove": Removes the field at the specified path - "replace": Replaces the value at the specified path
const ( Add JSONPatchOperationOp = "add" Remove JSONPatchOperationOp = "remove" Replace JSONPatchOperationOp = "replace" )
Defines values for JSONPatchOperationOp.
func (JSONPatchOperationOp) Valid ¶
func (e JSONPatchOperationOp) Valid() bool
Valid indicates whether the value is a known member of the JSONPatchOperationOp enum.
type JWTKey ¶
type JWTKey struct {
// Active Whether the JWT key is currently active and can be used for verification
Active bool `json:"active"`
// Algorithm The cryptographic algorithm used
Algorithm JWTKeyAlgorithm `json:"algorithm"`
// CreateTime Timestamp when the JWT key was created
CreateTime time.Time `json:"createTime"`
// Id Unique identifier for the JWT key
Id openapi_types.UUID `json:"id"`
// Label Human-readable name for the JWT key
Label string `json:"label"`
// ProjectId The project this JWT key belongs to
ProjectId openapi_types.UUID `json:"projectId"`
// PublicKeyPem RSA public key in PEM format
PublicKeyPem string `json:"publicKeyPem"`
// UpdateTime Timestamp when the JWT key was last updated
UpdateTime time.Time `json:"updateTime"`
}
JWTKey defines model for JWTKey.
type JWTKeyAlgorithm ¶
type JWTKeyAlgorithm string
JWTKeyAlgorithm The cryptographic algorithm used
const (
RSA JWTKeyAlgorithm = "RSA"
)
Defines values for JWTKeyAlgorithm.
func (JWTKeyAlgorithm) Valid ¶
func (e JWTKeyAlgorithm) Valid() bool
Valid indicates whether the value is a known member of the JWTKeyAlgorithm enum.
type JWTKeyResponse ¶
type JWTKeyResponse struct {
// Kid The unique key identifier (key ID) for the created JWT key
Kid openapi_types.UUID `json:"kid"`
}
JWTKeyResponse defines model for JWTKeyResponse.
type ListApiKeysParams ¶
type ListApiKeysParams struct {
// Active Whether to include only active API keys. If false, all API keys are included.
Active *bool `form:"active,omitempty" json:"active,omitempty"`
}
ListApiKeysParams defines parameters for ListApiKeys.
type ListConnectionsParams ¶
type ListConnectionsParams struct {
// Provider The provider name (e.g. "salesforce", "hubspot")
Provider *string `form:"provider,omitempty" json:"provider,omitempty"`
// GroupRef The ID of the user group that has access to this installation.
GroupRef *string `form:"groupRef,omitempty" json:"groupRef,omitempty"`
// ConsumerRef The consumer reference.
ConsumerRef *string `form:"consumerRef,omitempty" json:"consumerRef,omitempty"`
}
ListConnectionsParams defines parameters for ListConnections.
type ListEventTopicRoutesParams ¶
type ListEventTopicRoutesParams struct {
// TopicId Filter by topic ID.
TopicId *string `form:"topicId,omitempty" json:"topicId,omitempty"`
// EventType Filter by notification event type.
EventType *NotificationEventType `form:"eventType,omitempty" json:"eventType,omitempty"`
}
ListEventTopicRoutesParams defines parameters for ListEventTopicRoutes.
type ListInstallationsForProjectParams ¶
type ListInstallationsForProjectParams struct {
// GroupRef The ID that your app uses to identify a group of users (e.g. an org ID, workspace ID, or team ID). When provided, only returns installations belonging to this group.
GroupRef *string `form:"groupRef,omitempty" json:"groupRef,omitempty"`
}
ListInstallationsForProjectParams defines parameters for ListInstallationsForProject.
type ListInstallationsParams ¶
type ListInstallationsParams struct {
// GroupRef The ID that your app uses to identify a group of users (e.g. an org ID, workspace ID, or team ID). When provided, only returns installations belonging to this group.
GroupRef *string `form:"groupRef,omitempty" json:"groupRef,omitempty"`
}
ListInstallationsParams defines parameters for ListInstallations.
type ListJWTKeysParams ¶
type ListJWTKeysParams struct {
// Active Filter to only return active JWT keys
Active *bool `form:"active,omitempty" json:"active,omitempty"`
}
ListJWTKeysParams defines parameters for ListJWTKeys.
type ListOperationsParams ¶
type ListOperationsParams struct {
// PageSize The number of operations to return.
PageSize *int `form:"pageSize,omitempty" json:"pageSize,omitempty"`
// PageToken A cursor that can be passed to paginate through multiple pages of operations.
PageToken *string `form:"pageToken,omitempty" json:"pageToken,omitempty"`
}
ListOperationsParams defines parameters for ListOperations.
type ListTopicDestinationRoutesParams ¶
type ListTopicDestinationRoutesParams struct {
// TopicId Filter by topic ID.
TopicId *string `form:"topicId,omitempty" json:"topicId,omitempty"`
// DestinationId Filter by destination ID.
DestinationId *string `form:"destinationId,omitempty" json:"destinationId,omitempty"`
}
ListTopicDestinationRoutesParams defines parameters for ListTopicDestinationRoutes.
type Log ¶
type Log struct {
// Message The log message object.
Message Log_Message `json:"message"`
// Severity The severity of the log.
Severity string `json:"severity"`
// Timestamp The time the log was created.
Timestamp string `json:"timestamp"`
}
Log defines model for Log.
type Log_Message ¶
type Log_Message struct {
// Details The details of the log.
Details *map[string]string `json:"details,omitempty"`
// Error The error message, if there has been an error.
Error *string `json:"error,omitempty"`
// Msg The use-readable message.
Msg string `json:"msg"`
// OperationId The operation ID.
OperationId *string `json:"operation_id,omitempty"`
AdditionalProperties map[string]interface{} `json:"-"`
}
Log_Message The log message object.
func (Log_Message) Get ¶
func (a Log_Message) Get(fieldName string) (value interface{}, found bool)
Getter for additional properties for Log_Message. Returns the specified element and whether it was found
func (Log_Message) MarshalJSON ¶
func (a Log_Message) MarshalJSON() ([]byte, error)
Override default JSON handling for Log_Message to handle AdditionalProperties
func (*Log_Message) Set ¶
func (a *Log_Message) Set(fieldName string, value interface{})
Setter for additional properties for Log_Message
func (*Log_Message) UnmarshalJSON ¶
func (a *Log_Message) UnmarshalJSON(b []byte) error
Override default JSON handling for Log_Message to handle AdditionalProperties
type Media ¶
type Media struct {
// DarkMode Media to be used in dark mode.
DarkMode *MediaTypeDarkMode `json:"darkMode,omitempty"`
// Regular Media for light/regular mode.
Regular *MediaTypeRegular `json:"regular,omitempty"`
}
Media defines model for Media.
type MediaTypeDarkMode ¶
type MediaTypeDarkMode struct {
// IconURL URL to the icon for the provider that is to be used in dark mode.
IconURL string `json:"iconURL,omitempty"`
// LogoURL URL to the logo for the provider that is to be used in dark mode.
LogoURL string `json:"logoURL,omitempty"`
}
MediaTypeDarkMode Media to be used in dark mode.
type MediaTypeRegular ¶
type MediaTypeRegular struct {
// IconURL URL to the icon for the provider.
IconURL string `json:"iconURL,omitempty"`
// LogoURL URL to the logo for the provider.
LogoURL string `json:"logoURL,omitempty"`
}
MediaTypeRegular Media for light/regular mode.
type MetadataItemInput ¶
type MetadataItemInput struct {
// DefaultValue Default value for this metadata item
DefaultValue string `json:"defaultValue,omitempty"`
// DisplayName The human-readable name for the field
DisplayName string `json:"displayName,omitempty"`
// DocsURL URL with more information about how to locate this value
DocsURL string `json:"docsURL,omitempty"`
// ModuleDependencies Specifies which modules REQUIRE (depend on) this metadata item. This field lists the modules that depend on/require the metadata item. Example: If "workspace" metadata has moduleDependencies: {crm: {}}, it means the CRM module requires the workspace metadata to function. Each module that needs this metadata item MUST be specified in this field. Even if it is all modules. The empty ModuleDependency {} is for future-proofing in case we need to add additional configuration options.
ModuleDependencies *ModuleDependencies `json:"moduleDependencies,omitempty"`
// Name The internal identifier for the metadata field
Name string `json:"name"`
// Prompt Human-readable description that can contain instructions on how to collect metadata
Prompt string `json:"prompt,omitempty"`
}
MetadataItemInput defines model for MetadataItemInput.
type MetadataItemPostAuthentication ¶
type MetadataItemPostAuthentication struct {
// ModuleDependencies Specifies which modules REQUIRE (depend on) this metadata item. This field lists the modules that depend on/require the metadata item. Example: If "workspace" metadata has moduleDependencies: {crm: {}}, it means the CRM module requires the workspace metadata to function. Each module that needs this metadata item MUST be specified in this field. Even if it is all modules. The empty ModuleDependency {} is for future-proofing in case we need to add additional configuration options.
ModuleDependencies *ModuleDependencies `json:"moduleDependencies,omitempty"`
// Name The internal identifier for the metadata field
Name string `json:"name"`
}
MetadataItemPostAuthentication defines model for MetadataItemPostAuthentication.
type ModuleDependencies ¶
type ModuleDependencies map[string]ModuleDependency
ModuleDependencies Specifies which modules REQUIRE (depend on) this metadata item. This field lists the modules that depend on/require the metadata item. Example: If "workspace" metadata has moduleDependencies: {crm: {}}, it means the CRM module requires the workspace metadata to function. Each module that needs this metadata item MUST be specified in this field. Even if it is all modules. The empty ModuleDependency {} is for future-proofing in case we need to add additional configuration options.
type ModuleDependency ¶
type ModuleDependency = map[string]interface{}
ModuleDependency Dependency for a single module.
type ModuleInfo ¶
type ModuleInfo struct {
BaseURL string `json:"baseURL"`
DisplayName string `json:"displayName"`
// SubscribeRequirements Declares which auxiliary steps a provider requires to support subscriptions, beyond the per-object subscribe call itself.
SubscribeRequirements *SubscribeRequirements `json:"subscribeRequirements,omitempty"`
// Support The supported features for the provider.
Support Support `json:"support" validate:"required"`
}
ModuleInfo defines model for ModuleInfo.
type NotificationEventTopicRoute ¶
type NotificationEventTopicRoute struct {
// CreateTime The time when the event-topic route was created.
CreateTime time.Time `json:"createTime"`
// EventType The type of notification event.
EventType NotificationEventType `json:"eventType"`
// Id The event-topic route ID.
Id string `json:"id"`
// ProjectId The Ampersand project ID.
ProjectId string `json:"projectId"`
// TopicId The ID of the topic to route events to.
TopicId string `json:"topicId"`
// UpdateTime The time when the event-topic route was last updated.
UpdateTime *time.Time `json:"updateTime,omitempty"`
}
NotificationEventTopicRoute defines model for NotificationEventTopicRoute.
type NotificationEventType ¶
type NotificationEventType string
NotificationEventType The type of notification event.
const ( ConnectionCreated NotificationEventType = "connection.created" ConnectionDeleted NotificationEventType = "connection.deleted" ConnectionError NotificationEventType = "connection.error" ConnectionRefreshed NotificationEventType = "connection.refreshed" ConnectionUpdated NotificationEventType = "connection.updated" DestinationWebhookDisabled NotificationEventType = "destination.webhook.disabled" InstallationCreated NotificationEventType = "installation.created" InstallationDeleted NotificationEventType = "installation.deleted" InstallationUpdated NotificationEventType = "installation.updated" ReadBackfillDone NotificationEventType = "read.backfill.done" ReadSchedulePaused NotificationEventType = "read.schedule.paused" ReadTriggeredDone NotificationEventType = "read.triggered.done" ReadTriggeredError NotificationEventType = "read.triggered.error" SubscribeCreateError NotificationEventType = "subscribe.create.error" SubscribeCreateSuccess NotificationEventType = "subscribe.create.success" SubscribeDeleteSuccess NotificationEventType = "subscribe.delete.success" SubscribeUpdateSuccess NotificationEventType = "subscribe.update.success" WriteAsyncDone NotificationEventType = "write.async.done" )
Defines values for NotificationEventType.
func (NotificationEventType) Valid ¶
func (e NotificationEventType) Valid() bool
Valid indicates whether the value is a known member of the NotificationEventType enum.
type NumericFieldOptions ¶
type NumericFieldOptions struct {
// DefaultValue Default value for the field
DefaultValue *float32 `json:"defaultValue,omitempty"`
// Max Maximum value for numeric fields
Max *float32 `json:"max,omitempty"`
// Min Minimum value for numeric fields
Min *float32 `json:"min,omitempty"`
// Precision Total number of digits (for decimal types)
Precision *int `json:"precision,omitempty"`
// Scale Number of digits to the right of the decimal point (for decimal types)
Scale *int `json:"scale,omitempty"`
}
NumericFieldOptions Additional options for numeric fields
type Oauth2AuthorizationCode ¶
type Oauth2AuthorizationCode struct {
// AccessToken The access token for the connection.
AccessToken *struct {
ExpiresAt *time.Time `json:"expiresAt,omitempty"`
IssuedAt *time.Time `json:"issuedAt,omitempty"`
Token string `json:"token"`
} `json:"accessToken,omitempty"`
// RefreshToken The refresh token to use for the connection.
RefreshToken *struct {
ExpiresAt *time.Time `json:"expiresAt,omitempty"`
IssuedAt *time.Time `json:"issuedAt,omitempty"`
Token string `json:"token"`
} `json:"refreshToken,omitempty"`
// Scopes The scopes for the tokens.
Scopes *[]string `json:"scopes,omitempty"`
}
Oauth2AuthorizationCode defines model for Oauth2AuthorizationCode.
type Oauth2AuthorizationCodeTokensOnly ¶
type Oauth2AuthorizationCodeTokensOnly struct {
// AccessToken The access token for the connection.
AccessToken *struct {
ExpiresAt *time.Time `json:"expiresAt,omitempty"`
IssuedAt *time.Time `json:"issuedAt,omitempty"`
Token string `json:"token"`
} `json:"accessToken,omitempty"`
// RefreshToken The refresh token to use for the connection.
RefreshToken *struct {
ExpiresAt *time.Time `json:"expiresAt,omitempty"`
IssuedAt *time.Time `json:"issuedAt,omitempty"`
Token string `json:"token"`
} `json:"refreshToken,omitempty"`
// Scopes The scopes for the tokens.
Scopes *[]string `json:"scopes,omitempty"`
}
Oauth2AuthorizationCodeTokensOnly defines model for Oauth2AuthorizationCodeTokensOnly.
type Oauth2Opts ¶
type Oauth2Opts struct {
// AccessTokenOpts Configuration that defines how an OAuth 2.0 access token is attached to
// outbound API requests. When provided, this configuration overrides the
// default access-token handling behavior for the connector.
AccessTokenOpts *AccessTokenOpts `json:"accessTokenOpts,omitempty"`
// Audience A list of URLs that represent the audience for the token, which is needed for some client credential grant flows.
Audience []string `json:"audience,omitempty"`
// AuthURL The authorization URL.
AuthURL string `json:"authURL,omitempty"`
AuthURLParams map[string]string `json:"authURLParams,omitempty"`
// DocsURL URL with more information about where to retrieve Client ID and Client Secret, etc.
DocsURL string `json:"docsURL,omitempty"`
// ExplicitScopesRequired Whether scopes are required to be known ahead of the OAuth flow.
ExplicitScopesRequired bool `json:"explicitScopesRequired"`
// ExplicitWorkspaceRequired Whether the workspace is required to be known ahead of the OAuth flow.
ExplicitWorkspaceRequired bool `json:"explicitWorkspaceRequired"`
GrantType Oauth2OptsGrantType `json:"grantType"`
// KeepAliveIntervalHours How many hours between proactive token keep-alive refreshes for this provider.
// Token-manager adds a random stagger offset on top. If absent, defaults to 24.
KeepAliveIntervalHours int `json:"keepAliveIntervalHours,omitempty"`
// ScopeMappings Maps input scopes to their full OAuth scope values with template variable support. Scopes not in this map are passed through unchanged. Needed for some providers.
ScopeMappings map[string]string `json:"scopeMappings,omitempty"`
// TokenMetadataFields Fields to be used to extract token metadata from the token response.
TokenMetadataFields TokenMetadataFields `json:"tokenMetadataFields"`
// TokenURL The token URL.
TokenURL string `json:"tokenURL" validate:"required"`
}
Oauth2Opts Configuration for OAuth2.0. Must be provided if authType is oauth2.
type Oauth2OptsGrantType ¶
type Oauth2OptsGrantType string
Oauth2OptsGrantType defines model for Oauth2Opts.GrantType.
const ( AuthorizationCode Oauth2OptsGrantType = "authorizationCode" AuthorizationCodePKCE Oauth2OptsGrantType = "authorizationCodePKCE" ClientCredentials Oauth2OptsGrantType = "clientCredentials" Password Oauth2OptsGrantType = "password" )
Defines values for Oauth2OptsGrantType.
func (Oauth2OptsGrantType) Valid ¶
func (e Oauth2OptsGrantType) Valid() bool
Valid indicates whether the value is a known member of the Oauth2OptsGrantType enum.
type OauthConnectJSONBody ¶
type OauthConnectJSONBody struct {
// ConsumerName The display name for the consumer. Defaults to consumerRef if not provided.
ConsumerName *string `json:"consumerName,omitempty"`
// ConsumerRef The ID that your app uses to identify the user whose SaaS credential will be used for this OAuth flow.
ConsumerRef string `json:"consumerRef"`
// EnableCSRFProtection This boolean flag is used by the UI library internally. Set it to false or omit it when manually calling this API.
EnableCSRFProtection *bool `json:"enableCSRFProtection,omitempty"`
// GroupName The display name for the group. Defaults to groupRef if not provided.
GroupName *string `json:"groupName,omitempty"`
// GroupRef Your application's identifier for the organization or workspace that this connection belongs to (e.g. an org ID or team ID).
GroupRef string `json:"groupRef"`
// ProjectIdOrName The Ampersand project ID or project name.
ProjectIdOrName string `json:"projectIdOrName"`
// Provider The provider that this app connects to.
Provider string `json:"provider"`
// ProviderAppId ID of the provider app, returned from the [Create Provider App endpoint](https://docs.withampersand.com/reference/provider-apps/create-provider-app). If omitted, the default provider app that was set up on the Ampersand Dashboard is assumed.
ProviderAppId *string `json:"providerAppId,omitempty"`
ProviderMetadata *ProviderMetadata `json:"providerMetadata,omitempty"`
// ProviderWorkspaceRef The identifier for the provider workspace (e.g. the Salesforce subdomain).
ProviderWorkspaceRef *string `json:"providerWorkspaceRef,omitempty"`
}
OauthConnectJSONBody defines parameters for OauthConnect.
type OauthConnectJSONRequestBody ¶
type OauthConnectJSONRequestBody OauthConnectJSONBody
OauthConnectJSONRequestBody defines body for OauthConnect for application/json ContentType.
type ObjectMetadata ¶
type ObjectMetadata struct {
// DisplayName Human-readable name of the object
DisplayName *string `json:"displayName,omitempty"`
// Fields Map of field metadata keyed by field name
Fields map[string]FieldMetadata `json:"fields"`
// MappedObjectName The mapped name of the object as defined in your integration config, if a mapping was applied. Only present when using the installation-scoped metadata endpoint.
MappedObjectName *string `json:"mappedObjectName,omitempty"`
// Name The provider name of the object
Name string `json:"name"`
}
ObjectMetadata defines model for ObjectMetadata.
type Operation ¶
type Operation struct {
// ActionType The type of action that was performed (`read`, `write`, or `subscribe`).
ActionType string `json:"actionType"`
// ConfigId The config ID.
ConfigId string `json:"configId"`
// CreateTime The time the operation was created.
CreateTime *time.Time `json:"createTime,omitempty"`
// Id Unique identifier for this operation. Use this to fetch operation details or list logs for debugging.
Id string `json:"id"`
// InstallationId The Ampersand installation ID (customer instance) that this operation ran for.
InstallationId string `json:"installationId"`
// IntegrationId The integration ID.
IntegrationId string `json:"integrationId"`
// Metadata Additional operation details (e.g. objects, retry info, read progress, successfulRecordIds).
Metadata *struct {
Objects *[]string `json:"objects,omitempty"`
// Progress Read progress for the operation, reporting records processed and, where available, the estimated total. Present for all read operations.
Progress *struct {
InstallationId *string `json:"installationId,omitempty"`
ObjectName *string `json:"objectName,omitempty"`
OperationId *string `json:"operationId,omitempty"`
// RecordsEstimatedTotal Only present for some providers (e.g. Salesforce, HubSpot).
RecordsEstimatedTotal *int `json:"recordsEstimatedTotal,omitempty"`
RecordsProcessed *int `json:"recordsProcessed,omitempty"`
} `json:"progress,omitempty"`
Retry *struct {
Attempts *int `json:"attempts,omitempty"`
LastAttempt *time.Time `json:"lastAttempt,omitempty"`
LastNotified *time.Time `json:"lastNotified,omitempty"`
} `json:"retry,omitempty"`
// SuccessfulRecordIds Provider-assigned IDs of successfully created or updated records. Only present for write operations.
SuccessfulRecordIds *[]string `json:"successfulRecordIds,omitempty"`
} `json:"metadata,omitempty"`
// ProjectId The Ampersand project ID.
ProjectId string `json:"projectId"`
// Result A human-readable summary of what the operation accomplished. Examples: `[contact] No new data found`, `Batch write completed (3 succeeded, 1 failed)`. May be absent.
Result *string `json:"result,omitempty"`
// Status The status of the operation.
// - `success`: The operation completed successfully
// - `failure`: The operation failed
// - `in_progress`: The operation is currently running
Status string `json:"status"`
}
Operation defines model for Operation.
type OptionalFieldsAutoOption ¶
type OptionalFieldsAutoOption string
OptionalFieldsAutoOption defines model for OptionalFieldsAutoOption.
const (
OptionalFieldsAutoOptionAll OptionalFieldsAutoOption = "all"
)
Defines values for OptionalFieldsAutoOption.
func (OptionalFieldsAutoOption) Valid ¶
func (e OptionalFieldsAutoOption) Valid() bool
Valid indicates whether the value is a known member of the OptionalFieldsAutoOption enum.
type Org ¶
type Org struct {
// CreateTime The time at which the organization was created.
CreateTime time.Time `json:"createTime"`
// DefaultTeamId The ID of the Everyone team for the org.
DefaultTeamId string `json:"defaultTeamId"`
// Id The organization ID.
Id string `json:"id"`
// Label The organization label.
Label string `json:"label"`
// UpdateTime The time the organization was updated.
UpdateTime *time.Time `json:"updateTime,omitempty"`
}
Org defines model for Org.
type PaginationInfo ¶
type PaginationInfo struct {
// Done If set to true, this is the last page of results for the given operation. There are no more results & there will be no nextPageToken sent when done is true.
Done bool `json:"done"`
// NextPageToken If present, set this value against your 'pageToken' query parameter in the next API call, which will retrieve the next set of results.
NextPageToken *string `json:"nextPageToken,omitempty"`
}
PaginationInfo defines model for PaginationInfo.
type PatchApiKeyRequest ¶
type PatchApiKeyRequest struct {
ApiKey struct {
// Active Whether the API key is active.
Active *bool `json:"active,omitempty"`
// Label A short name for the API key.
Label *string `json:"label,omitempty"`
// Scopes The scopes for the API key.
Scopes *ApiKeyScopes `json:"scopes,omitempty"`
} `json:"apiKey"`
// UpdateMask Array of field paths specifying which fields to update. Allowed values include:
// - active
// - label
// - scopes
UpdateMask []string `json:"updateMask"`
}
PatchApiKeyRequest defines model for PatchApiKeyRequest.
type PatchJWTKeyRequest ¶
type PatchJWTKeyRequest struct {
// JwtKey Object containing the fields to update with their new values
JwtKey PatchJWTKeyRequest_JwtKey `json:"jwtKey"`
// UpdateMask List of field paths to update (currently supports 'active' and 'name')
UpdateMask []PatchJWTKeyRequestUpdateMask `json:"updateMask"`
}
PatchJWTKeyRequest defines model for PatchJWTKeyRequest.
type PatchJWTKeyRequestUpdateMask ¶
type PatchJWTKeyRequestUpdateMask string
PatchJWTKeyRequestUpdateMask defines model for PatchJWTKeyRequest.UpdateMask.
const ( Active PatchJWTKeyRequestUpdateMask = "active" Label PatchJWTKeyRequestUpdateMask = "label" )
Defines values for PatchJWTKeyRequestUpdateMask.
func (PatchJWTKeyRequestUpdateMask) Valid ¶
func (e PatchJWTKeyRequestUpdateMask) Valid() bool
Valid indicates whether the value is a known member of the PatchJWTKeyRequestUpdateMask enum.
type PatchJWTKeyRequest_JwtKey ¶
type PatchJWTKeyRequest_JwtKey struct {
// Active New active status for the JWT key
Active *bool `json:"active,omitempty"`
// Label New label for the JWT key
Label *string `json:"label,omitempty"`
AdditionalProperties map[string]interface{} `json:"-"`
}
PatchJWTKeyRequest_JwtKey Object containing the fields to update with their new values
func (PatchJWTKeyRequest_JwtKey) Get ¶
func (a PatchJWTKeyRequest_JwtKey) Get(fieldName string) (value interface{}, found bool)
Getter for additional properties for PatchJWTKeyRequest_JwtKey. Returns the specified element and whether it was found
func (PatchJWTKeyRequest_JwtKey) MarshalJSON ¶
func (a PatchJWTKeyRequest_JwtKey) MarshalJSON() ([]byte, error)
Override default JSON handling for PatchJWTKeyRequest_JwtKey to handle AdditionalProperties
func (*PatchJWTKeyRequest_JwtKey) Set ¶
func (a *PatchJWTKeyRequest_JwtKey) Set(fieldName string, value interface{})
Setter for additional properties for PatchJWTKeyRequest_JwtKey
func (*PatchJWTKeyRequest_JwtKey) UnmarshalJSON ¶
func (a *PatchJWTKeyRequest_JwtKey) UnmarshalJSON(b []byte) error
Override default JSON handling for PatchJWTKeyRequest_JwtKey to handle AdditionalProperties
type PatchObjectConfigContentJSONBody ¶
type PatchObjectConfigContentJSONBody struct {
// contains filtered or unexported fields
}
PatchObjectConfigContentJSONBody defines parameters for PatchObjectConfigContent.
func (PatchObjectConfigContentJSONBody) AsPatchObjectConfigContentJSONBody0 ¶
func (t PatchObjectConfigContentJSONBody) AsPatchObjectConfigContentJSONBody0() (PatchObjectConfigContentJSONBody0, error)
AsPatchObjectConfigContentJSONBody0 returns the union data inside the PatchObjectConfigContentJSONBody as a PatchObjectConfigContentJSONBody0
func (PatchObjectConfigContentJSONBody) AsPatchObjectConfigContentJSONBody1 ¶
func (t PatchObjectConfigContentJSONBody) AsPatchObjectConfigContentJSONBody1() (PatchObjectConfigContentJSONBody1, error)
AsPatchObjectConfigContentJSONBody1 returns the union data inside the PatchObjectConfigContentJSONBody as a PatchObjectConfigContentJSONBody1
func (*PatchObjectConfigContentJSONBody) FromPatchObjectConfigContentJSONBody0 ¶
func (t *PatchObjectConfigContentJSONBody) FromPatchObjectConfigContentJSONBody0(v PatchObjectConfigContentJSONBody0) error
FromPatchObjectConfigContentJSONBody0 overwrites any union data inside the PatchObjectConfigContentJSONBody as the provided PatchObjectConfigContentJSONBody0
func (*PatchObjectConfigContentJSONBody) FromPatchObjectConfigContentJSONBody1 ¶
func (t *PatchObjectConfigContentJSONBody) FromPatchObjectConfigContentJSONBody1(v PatchObjectConfigContentJSONBody1) error
FromPatchObjectConfigContentJSONBody1 overwrites any union data inside the PatchObjectConfigContentJSONBody as the provided PatchObjectConfigContentJSONBody1
func (PatchObjectConfigContentJSONBody) MarshalJSON ¶
func (t PatchObjectConfigContentJSONBody) MarshalJSON() ([]byte, error)
func (*PatchObjectConfigContentJSONBody) MergePatchObjectConfigContentJSONBody0 ¶
func (t *PatchObjectConfigContentJSONBody) MergePatchObjectConfigContentJSONBody0(v PatchObjectConfigContentJSONBody0) error
MergePatchObjectConfigContentJSONBody0 performs a merge with any union data inside the PatchObjectConfigContentJSONBody, using the provided PatchObjectConfigContentJSONBody0
func (*PatchObjectConfigContentJSONBody) MergePatchObjectConfigContentJSONBody1 ¶
func (t *PatchObjectConfigContentJSONBody) MergePatchObjectConfigContentJSONBody1(v PatchObjectConfigContentJSONBody1) error
MergePatchObjectConfigContentJSONBody1 performs a merge with any union data inside the PatchObjectConfigContentJSONBody, using the provided PatchObjectConfigContentJSONBody1
func (*PatchObjectConfigContentJSONBody) UnmarshalJSON ¶
func (t *PatchObjectConfigContentJSONBody) UnmarshalJSON(b []byte) error
type PatchObjectConfigContentJSONBody0 ¶
type PatchObjectConfigContentJSONBody0 struct {
// Action The action type for the object config (read, subscribe, or write).
Action PatchObjectConfigContentJSONBody0Action `json:"action"`
// Changes Array of JSON Patch operations to apply.
Changes []JSONPatchOperation `json:"changes"`
// GroupRef The ID of the user group that has access to this installation.
// Either groupRef or installationId must be provided.
GroupRef string `json:"groupRef"`
}
PatchObjectConfigContentJSONBody0 defines parameters for PatchObjectConfigContent.
type PatchObjectConfigContentJSONBody0Action ¶
type PatchObjectConfigContentJSONBody0Action string
PatchObjectConfigContentJSONBody0Action defines parameters for PatchObjectConfigContent.
const ( PatchObjectConfigContentJSONBody0ActionRead PatchObjectConfigContentJSONBody0Action = "read" PatchObjectConfigContentJSONBody0ActionSubscribe PatchObjectConfigContentJSONBody0Action = "subscribe" PatchObjectConfigContentJSONBody0ActionWrite PatchObjectConfigContentJSONBody0Action = "write" )
Defines values for PatchObjectConfigContentJSONBody0Action.
func (PatchObjectConfigContentJSONBody0Action) Valid ¶
func (e PatchObjectConfigContentJSONBody0Action) Valid() bool
Valid indicates whether the value is a known member of the PatchObjectConfigContentJSONBody0Action enum.
type PatchObjectConfigContentJSONBody1 ¶
type PatchObjectConfigContentJSONBody1 struct {
// Action The action type for the object config (read, subscribe, or write).
Action PatchObjectConfigContentJSONBody1Action `json:"action"`
// Changes Array of JSON Patch operations to apply.
Changes []JSONPatchOperation `json:"changes"`
// InstallationId The installation ID.
// Either groupRef or installationId must be provided.
InstallationId string `json:"installationId"`
}
PatchObjectConfigContentJSONBody1 defines parameters for PatchObjectConfigContent.
type PatchObjectConfigContentJSONBody1Action ¶
type PatchObjectConfigContentJSONBody1Action string
PatchObjectConfigContentJSONBody1Action defines parameters for PatchObjectConfigContent.
const ( PatchObjectConfigContentJSONBody1ActionRead PatchObjectConfigContentJSONBody1Action = "read" PatchObjectConfigContentJSONBody1ActionSubscribe PatchObjectConfigContentJSONBody1Action = "subscribe" PatchObjectConfigContentJSONBody1ActionWrite PatchObjectConfigContentJSONBody1Action = "write" )
Defines values for PatchObjectConfigContentJSONBody1Action.
func (PatchObjectConfigContentJSONBody1Action) Valid ¶
func (e PatchObjectConfigContentJSONBody1Action) Valid() bool
Valid indicates whether the value is a known member of the PatchObjectConfigContentJSONBody1Action enum.
type PatchObjectConfigContentJSONRequestBody ¶
type PatchObjectConfigContentJSONRequestBody PatchObjectConfigContentJSONBody
PatchObjectConfigContentJSONRequestBody defines body for PatchObjectConfigContent for application/json ContentType.
type Problem ¶
type Problem struct {
// Detail A human-readable explanation specific to this occurrence of the problem
Detail *string `json:"detail,omitempty"`
// Href An absolute URI that, when dereferenced, provides human-readable documentation for the problem type (e.g. using HTML).
Href *string `json:"href,omitempty"`
// Instance An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
Instance *string `json:"instance,omitempty"`
// Status The HTTP status code generated by the origin server for this occurrence of the problem.
Status *int32 `json:"status,omitempty"`
// Title A short summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
Title *string `json:"title,omitempty"`
// Type An absolute URI that identifies the problem type
Type *string `json:"type,omitempty"`
}
Problem A Problem Details object (RFC 9457).
Additional properties specific to the problem type may be present.
type Project ¶
type Project struct {
// AppName The display name of the application, shown to end users during the connection flow.
AppName string `json:"appName"`
// CreateTime The time the project was created.
CreateTime time.Time `json:"createTime"`
// Entitlements Plan-based feature flags for the project. These are managed by Ampersand and cannot be set via the API.
Entitlements *struct {
// BrandingRemoval Controls whether Ampersand branding is removed from the embeddable UI components.
BrandingRemoval struct {
// Value True if Ampersand branding has been removed for this project.
Value bool `json:"value"`
} `json:"brandingRemoval,omitempty"`
// LogRetentionDays The number of days that logs are retained for this project.
LogRetentionDays struct {
// Value The log retention period for this project, in days.
Value int `json:"value"`
} `json:"logRetentionDays,omitempty"`
} `json:"entitlements,omitempty"`
// Id The unique identifier for the project.
Id string `json:"id"`
// Name The unique name for the project.
Name string `json:"name"`
// OrgId The ID of the organization that this project belongs to.
OrgId string `json:"orgId"`
// UpdateTime The time the project was updated.
UpdateTime *time.Time `json:"updateTime,omitempty"`
}
Project defines model for Project.
type ProviderApp ¶
type ProviderApp struct {
// ClientId The OAuth client ID for this app.
ClientId string `json:"clientId"`
// CreateTime The time the provider app was created.
CreateTime time.Time `json:"createTime"`
// ExternalRef The ID used by the provider to identify the app (optional).
ExternalRef *string `json:"externalRef,omitempty"`
// Id The provider app ID.
Id string `json:"id"`
// Metadata Provider-specific configuration that extends the standard OAuth flow.
Metadata *ProviderAppMetadata `json:"metadata,omitempty"`
// ProjectId The Ampersand project ID.
ProjectId string `json:"projectId"`
// Provider The SaaS provider that this app connects to.
Provider string `json:"provider"`
// Scopes The OAuth scopes for this app.
Scopes *[]string `json:"scopes,omitempty"`
// UpdateTime The time the provider app was updated.
UpdateTime *time.Time `json:"updateTime,omitempty"`
}
ProviderApp defines model for ProviderApp.
type ProviderAppMetadata ¶
type ProviderAppMetadata struct {
// AuthQueryParams Additional query parameters to include in the OAuth authorization URL (e.g., optional_scope for HubSpot).
AuthQueryParams *map[string][]string `json:"authQueryParams,omitempty"`
// ProviderParams Provider-specific string values keyed by names (e.g., packageInstallURL for Salesforce, gcpProjectId and gcpPubSubTopicName for Gmail).
ProviderParams *map[string]string `json:"providerParams,omitempty"`
}
ProviderAppMetadata Provider-specific configuration that extends the standard OAuth flow.
type ProviderAppMetadata2 ¶
type ProviderAppMetadata2 struct {
// AuthQueryParams Descriptors for fields stored in ProviderApp.metadata.authQueryParams (e.g., optional_scope for HubSpot).
AuthQueryParams []MetadataItemInput `json:"authQueryParams,omitempty"`
// ProviderParams Descriptors for fields stored in ProviderApp.metadata.providerParams (e.g., packageInstallURL for Salesforce, gcpProjectId for Gmail).
ProviderParams []MetadataItemInput `json:"providerParams,omitempty"`
}
ProviderAppMetadata2 Describes the provider-app-level fields that the Ampersand dashboard should collect from the builder when creating a ProviderApp for this provider. These descriptors tell the dashboard which form fields to render; the submitted values are stored in ProviderApp.metadata.
type ProviderInfo ¶
type ProviderInfo struct {
// ApiKeyOpts Configuration for API key. Must be provided if authType is apiKey.
ApiKeyOpts *ApiKeyOpts `json:"apiKeyOpts,omitempty"`
// AuthHealthCheck A URL to check the health of a provider's credentials. It's used to see if the credentials are valid and if the provider is reachable.
AuthHealthCheck *AuthHealthCheck `json:"authHealthCheck,omitempty"`
// AuthType The type of authentication required by the provider.
AuthType AuthType `json:"authType" validate:"required"`
// BaseURL The base URL for making API requests.
BaseURL string `json:"baseURL" validate:"required"`
// BasicOpts Configuration for Basic Auth. Optional.
BasicOpts *BasicAuthOpts `json:"basicOpts,omitempty"`
// CustomOpts Configuration for custom auth. Optional.
CustomOpts *CustomAuthOpts `json:"customOpts,omitempty"`
DefaultModule string `json:"defaultModule"`
// DisplayName The display name of the provider, if omitted, defaults to provider name.
DisplayName string `json:"displayName,omitempty"`
Labels *Labels `json:"labels,omitempty"`
Media *Media `json:"media,omitempty"`
// Metadata Provider metadata that needs to be given by the user or fetched by the connector post authentication for the connector to work.
Metadata *ProviderMetadata2 `json:"metadata,omitempty"`
// Modules The registry of provider modules.
Modules *Modules `json:"modules,omitempty"`
Name string `json:"name"`
// Oauth2Opts Configuration for OAuth2.0. Must be provided if authType is oauth2.
Oauth2Opts *Oauth2Opts `json:"oauth2Opts,omitempty"`
// PostAuthInfoNeeded If true, we require additional information after auth to start making requests.
PostAuthInfoNeeded bool `json:"postAuthInfoNeeded,omitempty"`
// ProviderAppMetadata Describes the provider-app-level fields that the Ampersand dashboard should collect from the builder when creating a ProviderApp for this provider. These descriptors tell the dashboard which form fields to render; the submitted values are stored in ProviderApp.metadata.
ProviderAppMetadata *ProviderAppMetadata2 `json:"providerAppMetadata,omitempty"`
// SubscribeRequirements Declares which auxiliary steps a provider requires to support subscriptions, beyond the per-object subscribe call itself.
SubscribeRequirements *SubscribeRequirements `json:"subscribeRequirements,omitempty"`
// Support The supported features for the provider.
Support Support `json:"support" validate:"required"`
}
ProviderInfo defines model for ProviderInfo.
type ProviderMetadata ¶
type ProviderMetadata map[string]ProviderMetadataInfo
ProviderMetadata defines model for ProviderMetadata.
type ProviderMetadata2 ¶
type ProviderMetadata2 struct {
// Input Metadata provided as manual input
Input []MetadataItemInput `json:"input,omitempty"`
// PostAuthentication Metadata fetched by the connector post authentication
PostAuthentication []MetadataItemPostAuthentication `json:"postAuthentication,omitempty"`
}
ProviderMetadata2 Provider metadata that needs to be given by the user or fetched by the connector post authentication for the connector to work.
type ProviderMetadataInfo ¶
type ProviderMetadataInfo struct {
// DisplayName The human-readable name for the field
DisplayName *string `json:"displayName,omitempty"`
// Source The source of the metadata field
Source ProviderMetadataInfoSource `json:"source"`
// Value The value of the metadata field
Value string `json:"value"`
}
ProviderMetadataInfo defines model for ProviderMetadataInfo.
type ProviderMetadataInfoSource ¶
type ProviderMetadataInfoSource string
ProviderMetadataInfoSource The source of the metadata field
const ( Input ProviderMetadataInfoSource = "input" Provider ProviderMetadataInfoSource = "provider" Token ProviderMetadataInfoSource = "token" )
Defines values for ProviderMetadataInfoSource.
func (ProviderMetadataInfoSource) Valid ¶
func (e ProviderMetadataInfoSource) Valid() bool
Valid indicates whether the value is a known member of the ProviderMetadataInfoSource enum.
type QuotaOptimizationConfig ¶
type QuotaOptimizationConfig struct {
// Enabled Whether quota optimization is enabled for this object.
Enabled bool `json:"enabled"`
}
QuotaOptimizationConfig Reduces API quota consumption for update events by filtering irrelevant change events at the source, so only updates that affect watched fields are delivered. Requires `updateEvent.requiredWatchFields` to be non-empty; it cannot be used with `updateEvent.watchFieldsAuto: all`. Currently supported for Salesforce.
type ReadConfig ¶
type ReadConfig struct {
Objects map[string]ReadConfigObject `json:"objects"`
}
ReadConfig defines model for ReadConfig.
type ReadConfigObject ¶
type ReadConfigObject struct {
Backfill *BackfillConfig `json:"backfill,omitempty"`
// Destination The name of the destination that the result should be sent to.
Destination string `json:"destination,omitempty"`
// Disabled If this flag is set to true, scheduled reads associated with this object will be paused, and on-demand reads will not be allowed.
Disabled *bool `json:"disabled,omitempty"`
// DynamicMappingsInput An array containing all available dynamic field and value mappings for this installation, provided by the InstallIntegration component. This array represents the complete set of possible mappings, regardless of which ones are currently selected. The actual selected mappings are stored separately in the selectedFieldMappings property.
DynamicMappingsInput *DynamicMappingsInput `json:"dynamicMappingsInput,omitempty"`
// FieldFilters Filters to apply when reading records during incremental reads and backfill. Multiple conditions are joined by AND. Each field can only have one condition.
FieldFilters []ReadFilter `json:"fieldFilters,omitempty"`
// ObjectName The name of the object to read from.
ObjectName string `json:"objectName" validate:"required"`
// Schedule The schedule for reading the object, in cron syntax.
Schedule string `json:"schedule,omitempty"`
// SelectedFieldMappings This is a map of mapToNames to field names. (A mapTo name is the name the builder wants to map a field to when it lands in their destination.)
SelectedFieldMappings map[string]string `json:"selectedFieldMappings"`
// SelectedFields This is a map of field names to booleans indicating whether they should be read. If a field is already included in `selectedFieldMappings`, it does not need to be included here.
SelectedFields map[string]bool `json:"selectedFields"`
// SelectedFieldsAuto If selectedFieldsAuto is set to all, all fields will be read.
SelectedFieldsAuto *SelectedFieldsAutoConfig `json:"selectedFieldsAuto,omitempty"`
// SelectedValueMappings This is a map of field names to their value mappings.
SelectedValueMappings map[string]SelectedValueMappings `json:"selectedValueMappings,omitempty"`
}
ReadConfigObject defines model for ReadConfigObject.
type ReadFilter ¶
type ReadFilter struct {
// FieldName The name of the field to filter on.
FieldName string `json:"fieldName"`
// Operator The comparison operator.
Operator ReadFilterOperator `json:"operator"`
// Value The value to filter on. Allowed types are string, boolean, and number.
Value *ReadFilterValue `json:"value,omitempty"`
}
ReadFilter defines model for ReadFilter.
type ReadFilterOperator ¶
type ReadFilterOperator string
ReadFilterOperator The comparison operator.
const (
Eq ReadFilterOperator = "eq"
)
Defines values for ReadFilterOperator.
func (ReadFilterOperator) Valid ¶
func (e ReadFilterOperator) Valid() bool
Valid indicates whether the value is a known member of the ReadFilterOperator enum.
type ReadFilterValue ¶
type ReadFilterValue = interface{}
ReadFilterValue The value to filter on. Allowed types are string, boolean, and number.
type RedirectResponse ¶
type RedirectResponse struct {
// SessionId The flow identifier to pass back to /custom-auth/connect once the provider redirects to the callback.
SessionId string `json:"sessionId"`
// Url The URL the client should open to continue the flow.
Url string `json:"url"`
}
RedirectResponse Instructs the client to open a URL (e.g. in a popup) to continue a custom auth flow, then resume by calling /custom-auth/connect with the sessionId.
type Revision ¶
type Revision struct {
Content Integration2 `json:"content"`
// CreateTime The time the revision was created.
CreateTime time.Time `json:"createTime"`
// Id The revision ID.
Id string `json:"id"`
// SpecVersion The spec version string.
SpecVersion string `json:"specVersion"`
}
Revision defines model for Revision.
type SearchOperators ¶
type SearchOperators struct {
Equals bool `json:"equals"`
}
SearchOperators defines model for SearchOperators.
type SearchSupport ¶
type SearchSupport struct {
Operators SearchOperators `json:"operators"`
}
SearchSupport defines model for SearchSupport.
type SelectedFieldsAutoConfig ¶
type SelectedFieldsAutoConfig string
SelectedFieldsAutoConfig If selectedFieldsAuto is set to all, all fields will be read.
const (
SelectedFieldsAll SelectedFieldsAutoConfig = "all"
)
Defines values for SelectedFieldsAutoConfig.
func (SelectedFieldsAutoConfig) Valid ¶
func (e SelectedFieldsAutoConfig) Valid() bool
Valid indicates whether the value is a known member of the SelectedFieldsAutoConfig enum.
type SelectedValueMappings ¶
SelectedValueMappings This is a map of values to their mappings. The key is the value delivered to the webhook, the value is the value coming from the provider API.
type SignedUrl ¶
type SignedUrl struct {
// Bucket The bucket (will match the bucket part of the url).
Bucket string `json:"bucket"`
// Path The path (will match the path part of the url).
Path string `json:"path"`
// Url The signed URL to upload the zip file to.
Url string `json:"url"`
}
SignedUrl defines model for SignedUrl.
type StringFieldOptions ¶
type StringFieldOptions struct {
// DefaultValue Default value for the field
DefaultValue *string `json:"defaultValue,omitempty"`
// Length Maximum length of the string field
Length *int `json:"length,omitempty"`
// Pattern Regex pattern that the string field value must match
Pattern *string `json:"pattern,omitempty"`
// Values List of allowed values for enum fields
Values *[]string `json:"values,omitempty"`
// ValuesRestricted Indicates if the field value must be limited to what's in Values
ValuesRestricted *bool `json:"valuesRestricted,omitempty"`
}
StringFieldOptions Additional options for string fields
type SubscribeConfig ¶
type SubscribeConfig struct {
Objects map[string]SubscribeConfigObject `json:"objects"`
}
SubscribeConfig defines model for SubscribeConfig.
type SubscribeConfigObject ¶
type SubscribeConfigObject struct {
CreateEvent *ConfigCreateEvent `json:"createEvent,omitempty"`
DeleteEvent *ConfigDeleteEvent `json:"deleteEvent,omitempty"`
// Destination The name of the destination that the result should be sent to.
Destination string `json:"destination"`
// InheritFieldsAndMappings Whether to inherit fields and mappings from the read config.
InheritFieldsAndMappings bool `json:"inheritFieldsAndMappings"`
// ObjectName The name of the object to subscribe to.
ObjectName string `json:"objectName" validate:"required"`
OtherEvents *ConfigOtherEvents `json:"otherEvents,omitempty"`
// ProviderOptions Subscribe options that only apply to certain providers. Each option documents which providers support it; setting one for a provider that does not support it is rejected.
ProviderOptions *SubscribeProviderOptions `json:"providerOptions,omitempty"`
UpdateEvent *ConfigUpdateEvent `json:"updateEvent,omitempty"`
}
SubscribeConfigObject defines model for SubscribeConfigObject.
type SubscribeProviderOptions ¶
type SubscribeProviderOptions struct {
// QuotaOptimization Reduces API quota consumption for update events by filtering irrelevant change events at the source, so only updates that affect watched fields are delivered. Requires `updateEvent.requiredWatchFields` to be non-empty; it cannot be used with `updateEvent.watchFieldsAuto: all`. Currently supported for Salesforce.
QuotaOptimization *QuotaOptimizationConfig `json:"quotaOptimization,omitempty"`
}
SubscribeProviderOptions Subscribe options that only apply to certain providers. Each option documents which providers support it; setting one for a provider that does not support it is rejected.
type SubscribeRequirements ¶
type SubscribeRequirements struct {
// Maintenance Whether the subscription requires periodic maintenance. Some providers expire subscriptions/watches after a fixed TTL, so the subscription must be renewed on a schedule to remain active.
Maintenance *bool `json:"maintenance,omitempty"`
// PostProcess Whether subscribing requires a third-party setup step that the connector instance itself cannot perform. Examples: Salesforce requires AWS EventBridge configuration; Gmail requires a Google Pub/Sub topic to be configured. Any configuration that must happen outside the connector falls into post-process.
PostProcess *bool `json:"postProcess,omitempty"`
// Registration Whether the provider requires a one-time registration step that is shared across all subscribed objects. The subscribe method is object-scoped, so if a separate API call is needed beyond per-object configuration (e.g., registering a single webhook/endpoint that all object subscriptions hang off of), registration is required.
Registration *bool `json:"registration,omitempty"`
// SubscribeByAPI Whether the provider supports programmatic subscription via API. If false, provider may still support webhooks via manual configuration in UI.
SubscribeByAPI *bool `json:"subscribeByAPI,omitempty"`
}
SubscribeRequirements Declares which auxiliary steps a provider requires to support subscriptions, beyond the per-object subscribe call itself.
type SubscribeSupport ¶
type SubscribeSupport struct {
Create *bool `json:"create,omitempty"`
Delete *bool `json:"delete,omitempty"`
PassThrough *bool `json:"passThrough,omitempty"`
Update *bool `json:"update,omitempty"`
}
SubscribeSupport defines model for SubscribeSupport.
type Support ¶
type Support struct {
BatchWrite *BatchWriteSupport `json:"batchWrite,omitempty"`
BulkWrite BulkWriteSupport `json:"bulkWrite" validate:"required"`
Delete bool `json:"delete"`
Proxy bool `json:"proxy"`
Read bool `json:"read"`
Search SearchSupport `json:"search"`
Subscribe bool `json:"subscribe"`
SubscribeSupport *SubscribeSupport `json:"subscribeSupport,omitempty"`
Write bool `json:"write"`
}
Support The supported features for the provider.
type TokenMetadataFields ¶
type TokenMetadataFields struct {
ConsumerRefField string `json:"consumerRefField,omitempty"`
// OtherFields Additional fields to extract and transform from the token response
OtherFields *TokenMetadataFieldsOtherFields `json:"otherFields,omitempty"`
ScopesField string `json:"scopesField,omitempty"`
WorkspaceRefField string `json:"workspaceRefField,omitempty"`
}
TokenMetadataFields Fields to be used to extract token metadata from the token response.
type TokenMetadataFieldsOtherFields ¶
type TokenMetadataFieldsOtherFields = []struct {
// Capture A regex expression to capture the value that we need from the path. There must be only one capture group named 'result' in the expression. If not provided, will cause an error.
Capture string `json:"capture,omitempty"`
// DisplayName The human-readable name of the field
DisplayName string `json:"displayName"`
// Name The internal name of the field
Name string `json:"name"`
// Path The path to the field in the token response (accepts dot notation for nested fields)
Path string `json:"path"`
}
TokenMetadataFieldsOtherFields Additional fields to extract and transform from the token response
type Topic ¶
type Topic struct {
// CreateTime The time when the topic was created.
CreateTime time.Time `json:"createTime"`
// Id The topic ID.
Id string `json:"id"`
// Name The name of the topic. Must contain only letters, numbers, and dashes.
Name string `json:"name"`
// ProjectId The Ampersand project ID.
ProjectId string `json:"projectId"`
// UpdateTime The time when the topic was last updated.
UpdateTime *time.Time `json:"updateTime,omitempty"`
}
Topic defines model for Topic.
type TopicDestinationRoute ¶
type TopicDestinationRoute struct {
// CreateTime The time when the topic destination route was created.
CreateTime time.Time `json:"createTime"`
// DestinationId The ID of the destination.
DestinationId string `json:"destinationId"`
// Id The topic destination route ID.
Id string `json:"id"`
// ProjectId The Ampersand project ID.
ProjectId string `json:"projectId"`
// TopicId The ID of the topic.
TopicId string `json:"topicId"`
}
TopicDestinationRoute defines model for TopicDestinationRoute.
type UpdateApiKeyJSONRequestBody ¶
type UpdateApiKeyJSONRequestBody = PatchApiKeyRequest
UpdateApiKeyJSONRequestBody defines body for UpdateApiKey for application/json ContentType.
type UpdateConnectionJSONRequestBody ¶
type UpdateConnectionJSONRequestBody = UpdateConnectionRequest
UpdateConnectionJSONRequestBody defines body for UpdateConnection for application/json ContentType.
type UpdateConnectionRequest ¶
type UpdateConnectionRequest struct {
Connection ConnectionRequest `json:"connection"`
// UpdateMask Fields to update. Each entry must have a corresponding value in `connection`. Credential fields (`apiKey`, `basicAuth`, `oauth2ClientCredentials`, `oauth2PasswordCredentials`) must match the connection's existing auth scheme.
UpdateMask []UpdateConnectionRequestUpdateMask `json:"updateMask"`
}
UpdateConnectionRequest Specify which fields to update in `updateMask` and provide corresponding values in `connection`. Fields in `connection` not listed in `updateMask` are ignored.
type UpdateConnectionRequestUpdateMask ¶
type UpdateConnectionRequestUpdateMask string
UpdateConnectionRequestUpdateMask defines model for UpdateConnectionRequest.UpdateMask.
const ( UpdateConnectionRequestUpdateMaskApiKey UpdateConnectionRequestUpdateMask = "apiKey" UpdateConnectionRequestUpdateMaskBasicAuth UpdateConnectionRequestUpdateMask = "basicAuth" UpdateConnectionRequestUpdateMaskOauth2ClientCredentials UpdateConnectionRequestUpdateMask = "oauth2ClientCredentials" UpdateConnectionRequestUpdateMaskOauth2PasswordCredentials UpdateConnectionRequestUpdateMask = "oauth2PasswordCredentials" UpdateConnectionRequestUpdateMaskProviderMetadata UpdateConnectionRequestUpdateMask = "providerMetadata" UpdateConnectionRequestUpdateMaskProviderWorkspaceRef UpdateConnectionRequestUpdateMask = "providerWorkspaceRef" )
Defines values for UpdateConnectionRequestUpdateMask.
func (UpdateConnectionRequestUpdateMask) Valid ¶
func (e UpdateConnectionRequestUpdateMask) Valid() bool
Valid indicates whether the value is a known member of the UpdateConnectionRequestUpdateMask enum.
type UpdateDestinationJSONBody ¶
type UpdateDestinationJSONBody struct {
Destination struct {
Metadata *struct {
// Account The storage account name for the `azureblob` destination.
Account *string `json:"account,omitempty"`
// AccountIdentifier The Snowflake account identifier for the `snowflake` destination.
AccountIdentifier *string `json:"accountIdentifier,omitempty"`
// BatchSize For warehouse destinations, rows to buffer before flushing a batch (default 1000).
BatchSize *int `json:"batchSize,omitempty"`
// Bucket The name of the S3 bucket to write objects to.
Bucket *string `json:"bucket,omitempty"`
// ClusterIdentifier The Redshift provisioned cluster identifier for the `redshift` destination.
ClusterIdentifier *string `json:"clusterIdentifier,omitempty"`
// Container The blob container name for the `azureblob` destination.
Container *string `json:"container,omitempty"`
// Database The database name for the `clickhouse` destination.
Database *string `json:"database,omitempty"`
// DatasetId The BigQuery dataset ID for the `bigquery` destination.
DatasetId *string `json:"datasetId,omitempty"`
// DbName The database name (`snowflake`, `redshift`).
DbName *string `json:"dbName,omitempty"`
// DbUser The database user for the `redshift` destination.
DbUser *string `json:"dbUser,omitempty"`
// EndpointUrl The endpoint URL for the `kinesis` stream, or the optional custom endpoint URL for the `sqs` destination.
EndpointUrl *string `json:"endpointUrl,omitempty"`
// Exchange The exchange to publish to for the `rabbitmq` destination. Required for `rabbitmq`.
Exchange *string `json:"exchange,omitempty"`
// Headers Additional headers to add when Ampersand sends a webhook message
Headers *WebhookHeaders `json:"headers,omitempty"`
// KeyTemplate The template for the S3 object key to use when writing objects (a JMESPath template). If omitted, the key defaults to the message timestamp followed by the message ID.
KeyTemplate *string `json:"keyTemplate,omitempty"`
// MaxWaitSecs For warehouse destinations, max seconds before flushing a batch (default 30).
MaxWaitSecs *int `json:"maxWaitSecs,omitempty"`
// Name The queue or topic name for the `azureservicebus` destination. Required for `azureservicebus`.
Name *string `json:"name,omitempty"`
// PartitionKeyTemplate The template for the partition key (a JMESPath template). Used by `kinesis`.
PartitionKeyTemplate *string `json:"partitionKeyTemplate,omitempty"`
// ProjectId The Google Cloud project ID (`bigquery`, `pubsub`). Required for `pubsub`.
ProjectId *string `json:"projectId,omitempty"`
// QueueUrl The SQS queue URL for the `sqs` destination. Required for `sqs`.
QueueUrl *string `json:"queueUrl,omitempty"`
// Region The AWS region where the Kinesis or S3 destination is hosted.
Region *string `json:"region,omitempty"`
// SchemaName The schema name (`snowflake`, `redshift`).
SchemaName *string `json:"schemaName,omitempty"`
// ServerUrl The AMQP server URL for the `rabbitmq` destination. Required for `rabbitmq`.
ServerUrl *string `json:"serverUrl,omitempty"`
// StorageClass The S3 storage class for written objects. Defaults to STANDARD. Common values include STANDARD, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, GLACIER_IR, and DEEP_ARCHIVE.
StorageClass *string `json:"storageClass,omitempty"`
// StreamName The name of the Kinesis stream to send events to.
StreamName *string `json:"streamName,omitempty"`
// TableId The BigQuery table ID for the `bigquery` destination.
TableId *string `json:"tableId,omitempty"`
// TableName The destination table name (`clickhouse`, `snowflake`, `redshift`).
TableName *string `json:"tableName,omitempty"`
// Tls Whether to connect over TLS. Optional for the `rabbitmq` destination.
Tls *bool `json:"tls,omitempty"`
// TopicId The Pub/Sub topic ID for the `pubsub` destination. Required for `pubsub`.
TopicId *string `json:"topicId,omitempty"`
// Url Webhook URL
Url *string `json:"url,omitempty"`
// UserId The user ID for the `snowflake` destination.
UserId *string `json:"userId,omitempty"`
// Username The username for the `clickhouse` destination.
Username *string `json:"username,omitempty"`
// WorkgroupName The Redshift Serverless workgroup name for the `redshift` destination.
WorkgroupName *string `json:"workgroupName,omitempty"`
} `json:"metadata,omitempty"`
// Name User-friendly name for the destination
Name *string `json:"name,omitempty"`
// Secrets Secrets for the destination.
Secrets *struct {
// AccessKey The account access key for the `azureblob` destination.
AccessKey *string `json:"accessKey,omitempty"`
// AccessKeyId The AWS access key ID for the `redshift` destination.
AccessKeyId *string `json:"accessKeyId,omitempty"`
// AwsKeyId The AWS access key ID for the `kinesis`, `s3`, and `sqs` destinations. Required for `sqs`.
AwsKeyId *string `json:"awsKeyId,omitempty"`
// AwsSecretKey The AWS secret access key for the `kinesis`, `s3`, and `sqs` destinations. Required for `sqs`.
AwsSecretKey *string `json:"awsSecretKey,omitempty"`
// AwsSessionToken The optional AWS session token for the `kinesis`, `s3`, and `sqs` destinations.
AwsSessionToken *string `json:"awsSessionToken,omitempty"`
// ConnectionString The connection string for the `azureservicebus` destination. Required for `azureservicebus`.
ConnectionString *string `json:"connectionString,omitempty"`
// Credentials The service-account credentials JSON for the `bigquery`, `gcs`, and `pubsub` destinations. Required for `pubsub`.
Credentials *string `json:"credentials,omitempty"`
// Password The password for the `clickhouse` and `rabbitmq` destinations. Required for `rabbitmq`.
Password *string `json:"password,omitempty"`
// PrivateKey The PEM-encoded RSA private key for the `snowflake` destination.
PrivateKey *string `json:"privateKey,omitempty"`
// SecretAccessKey The AWS secret access key for the `redshift` destination.
SecretAccessKey *string `json:"secretAccessKey,omitempty"`
// Username The username for the `rabbitmq` destination. Required for `rabbitmq`.
Username *string `json:"username,omitempty"`
} `json:"secrets,omitempty"`
} `json:"destination"`
// UpdateMask Array of field paths specifying which fields to update. Allowed values include:
// - name
// - metadata.url
// - metadata.headers
// - metadata.region
// - metadata.streamName
// - metadata.endpointUrl
// - metadata.partitionKeyTemplate
// - metadata.bucket
// - metadata.keyTemplate
// - metadata.storageClass
// - metadata.username
// - metadata.tableName
// - metadata.database
// - metadata.accountIdentifier
// - metadata.userId
// - metadata.dbName
// - metadata.schemaName
// - metadata.projectId
// - metadata.datasetId
// - metadata.tableId
// - metadata.workgroupName
// - metadata.clusterIdentifier
// - metadata.dbUser
// - metadata.account
// - metadata.container
// - metadata.queueUrl
// - metadata.topicId
// - metadata.serverUrl
// - metadata.exchange
// - metadata.tls
// - metadata.name
// - metadata.batchSize
// - metadata.maxWaitSecs
// - secrets.awsKeyId
// - secrets.awsSecretKey
// - secrets.awsSessionToken
// - secrets.password
// - secrets.privateKey
// - secrets.credentials
// - secrets.accessKeyId
// - secrets.secretAccessKey
// - secrets.accessKey
// - secrets.username
// - secrets.connectionString
UpdateMask []string `json:"updateMask"`
}
UpdateDestinationJSONBody defines parameters for UpdateDestination.
type UpdateDestinationJSONRequestBody ¶
type UpdateDestinationJSONRequestBody UpdateDestinationJSONBody
UpdateDestinationJSONRequestBody defines body for UpdateDestination for application/json ContentType.
type UpdateEvent ¶
type UpdateEvent struct {
// Enabled If always, the integration will subscribe to update events by default.
Enabled *UpdateEventEnabled `json:"enabled,omitempty"`
RequiredWatchFields *[]string `json:"requiredWatchFields,omitempty"`
// WatchFieldsAuto If `all`, the integration will watch all fields for updates. If `selected`, the integration will watch only the fields that are selected by the user. If `inheritFieldsAndMapping` is true for Subscribe action, the integration will watch the selected fields from read action that are selected by the user.
WatchFieldsAuto *UpdateEventWatchFieldsAuto `json:"watchFieldsAuto,omitempty"`
}
UpdateEvent defines model for UpdateEvent.
type UpdateEventEnabled ¶
type UpdateEventEnabled string
UpdateEventEnabled If always, the integration will subscribe to update events by default.
const (
UpdateEventEnabledAlways UpdateEventEnabled = "always"
)
Defines values for UpdateEventEnabled.
func (UpdateEventEnabled) Valid ¶
func (e UpdateEventEnabled) Valid() bool
Valid indicates whether the value is a known member of the UpdateEventEnabled enum.
type UpdateEventWatchFieldsAuto ¶
type UpdateEventWatchFieldsAuto string
UpdateEventWatchFieldsAuto If `all`, the integration will watch all fields for updates. If `selected`, the integration will watch only the fields that are selected by the user. If `inheritFieldsAndMapping` is true for Subscribe action, the integration will watch the selected fields from read action that are selected by the user.
const ( All UpdateEventWatchFieldsAuto = "all" Selected UpdateEventWatchFieldsAuto = "selected" )
Defines values for UpdateEventWatchFieldsAuto.
func (UpdateEventWatchFieldsAuto) Valid ¶
func (e UpdateEventWatchFieldsAuto) Valid() bool
Valid indicates whether the value is a known member of the UpdateEventWatchFieldsAuto enum.
type UpdateInstallationConfigContent ¶
type UpdateInstallationConfigContent struct {
// Provider The SaaS API that we are integrating with.
Provider *string `json:"provider,omitempty"`
Proxy *BaseProxyConfig `json:"proxy,omitempty"`
Read *BaseReadConfig `json:"read,omitempty"`
Subscribe *BaseSubscribeConfig `json:"subscribe,omitempty"`
Write *BaseWriteConfig `json:"write,omitempty"`
}
UpdateInstallationConfigContent defines model for UpdateInstallationConfigContent.
type UpdateInstallationJSONBody ¶
type UpdateInstallationJSONBody struct {
// Installation The installation fields to update. Only fields whose paths are listed in `updateMask` will be
// applied; all other fields in this object are ignored.
Installation struct {
// Config The config of the installation.
Config *struct {
Content *UpdateInstallationConfigContent `json:"content,omitempty"`
// CreatedBy The person who created the config, in the format of "consumer:{consumer-id}" or "builder:{builder-id}".
CreatedBy *string `json:"createdBy,omitempty"`
// RevisionId Deprecated: This field will be automatically set to the latest revision ID.
// Deprecated: this property has been marked as deprecated upstream, but no `x-deprecated-reason` was set
RevisionId *string `json:"revisionId,omitempty"`
} `json:"config,omitempty"`
// ConnectionId The ID of the SaaS connection tied to this installation.
ConnectionId *string `json:"connectionId,omitempty"`
} `json:"installation"`
// UpdateMask Array of field paths specifying which fields to update. Each path must have a corresponding value in the `installation` object. A field included in `installation` but not listed here will be ignored. Allowed values:
// - `connectionId` - switch the SaaS connection tied to this installation.
// - `config.createdBy` - change the attribution for who created this config.
// - `config.content.read.objects.<objectName>` - replace the read config for a single object (e.g. `config.content.read.objects.contacts`).
// - `config.content.write.objects.<objectName>` - replace the write config for a single object.
// - `config.content.write.objects` - replace the entire write objects map.
// - `config.content.subscribe.objects.<objectName>` - replace the subscribe config for a single object.
// - `config.content.subscribe.objects` - replace the entire subscribe objects map.
// - `config.content.proxy.enabled` - enable or disable the proxy.
//
// Replace `<objectName>` with the provider object name (e.g. `contacts`, `leads`, `accounts`).
UpdateMask []string `json:"updateMask"`
}
UpdateInstallationJSONBody defines parameters for UpdateInstallation.
type UpdateInstallationJSONRequestBody ¶
type UpdateInstallationJSONRequestBody UpdateInstallationJSONBody
UpdateInstallationJSONRequestBody defines body for UpdateInstallation for application/json ContentType.
type UpdateInstallationParams ¶
type UpdateInstallationParams struct {
// SkipSampling When `true`, skips the sample read that validates the installation's read configuration against the provider before saving. Defaults to `false`.
SkipSampling *bool `form:"skipSampling,omitempty" json:"skipSampling,omitempty"`
}
UpdateInstallationParams defines parameters for UpdateInstallation.
type UpdateJWTKeyJSONRequestBody ¶
type UpdateJWTKeyJSONRequestBody = PatchJWTKeyRequest
UpdateJWTKeyJSONRequestBody defines body for UpdateJWTKey for application/json ContentType.
type UpdateMask ¶
type UpdateMask = []string
UpdateMask Array of field paths specifying which fields to update. Uses dot notation for nested fields (e.g., "config.revision", "metadata.tags").
**Field Path Rules:** - Use dot notation for nested objects: `parent.child.field` - Escape special characters: `field\.with\.dots`, `field\:with\:colons` - Array elements not directly addressable - Object names can be specified directly (e.g., "config.content.read.objects.contacts") - The * operator in paths like "config.content.read.objects.*" allows you to specify any object name
- Example: "config.content.read.objects.*" pattern allows "config.content.read.objects.contacts", "config.content.read.objects.leads", etc.
type UpdateOrgJSONBody ¶
type UpdateOrgJSONBody struct {
Org struct {
// Label The organization label.
Label *string `json:"label,omitempty"`
} `json:"org"`
// UpdateMask Array of field paths specifying which fields to update. Allowed values include:
// - label
UpdateMask []string `json:"updateMask"`
}
UpdateOrgJSONBody defines parameters for UpdateOrg.
type UpdateOrgJSONRequestBody ¶
type UpdateOrgJSONRequestBody UpdateOrgJSONBody
UpdateOrgJSONRequestBody defines body for UpdateOrg for application/json ContentType.
type UpdateProjectJSONBody ¶
type UpdateProjectJSONBody struct {
// Project The project fields to update. Only fields whose paths are listed in `updateMask`
// will be applied; all other fields in this object are ignored.
Project struct {
// AppName The display name of the application, shown to end users during the connection flow.
AppName *string `json:"appName,omitempty"`
// Name The unique name for the project. Must be unique within the organization.
Name *string `json:"name,omitempty"`
} `json:"project"`
// UpdateMask Array of field paths specifying which fields to update. Each path must have a
// corresponding value in the `project` object. A field included in `project` but
// not listed here will be ignored. Allowed values:
// - `appName` - the display name of the application, shown to end users during the connection flow.
// - `name` - the unique project identifier (must be unique within your organization).
UpdateMask []string `json:"updateMask"`
}
UpdateProjectJSONBody defines parameters for UpdateProject.
type UpdateProjectJSONRequestBody ¶
type UpdateProjectJSONRequestBody UpdateProjectJSONBody
UpdateProjectJSONRequestBody defines body for UpdateProject for application/json ContentType.
type UpdateProviderAppJSONBody ¶
type UpdateProviderAppJSONBody struct {
// ProviderApp The provider app fields to update. (Only include the fields you'd like to update.)
ProviderApp struct {
// ClientId The OAuth client ID for this app.
ClientId *string `json:"clientId,omitempty"`
// ClientSecret The OAuth client secret for this app.
ClientSecret *string `json:"clientSecret,omitempty"`
// ExternalRef The ID used by the provider to identify the app (optional).
ExternalRef *string `json:"externalRef,omitempty"`
// Metadata Provider-specific configuration that extends the standard OAuth flow.
Metadata *ProviderAppMetadata `json:"metadata,omitempty"`
// Provider The SaaS provider that this app connects to.
Provider *string `json:"provider,omitempty"`
// Scopes The OAuth scopes for this app.
Scopes *[]string `json:"scopes,omitempty"`
} `json:"providerApp"`
// UpdateMask Array of field paths specifying which fields to update. Allowed values include:
// - externalRef
// - clientId
// - clientSecret
// - provider
// - scopes
// - metadata
UpdateMask []string `json:"updateMask"`
}
UpdateProviderAppJSONBody defines parameters for UpdateProviderApp.
type UpdateProviderAppJSONRequestBody ¶
type UpdateProviderAppJSONRequestBody UpdateProviderAppJSONBody
UpdateProviderAppJSONRequestBody defines body for UpdateProviderApp for application/json ContentType.
type UpdateTopicJSONBody ¶
type UpdateTopicJSONBody struct {
// Name A human-readable name for the topic.
Name string `json:"name"`
}
UpdateTopicJSONBody defines parameters for UpdateTopic.
type UpdateTopicJSONRequestBody ¶
type UpdateTopicJSONRequestBody UpdateTopicJSONBody
UpdateTopicJSONRequestBody defines body for UpdateTopic for application/json ContentType.
type UpsertMetadataForConnectionJSONRequestBody ¶
type UpsertMetadataForConnectionJSONRequestBody = UpsertMetadataRequest
UpsertMetadataForConnectionJSONRequestBody defines body for UpsertMetadataForConnection for application/json ContentType.
type UpsertMetadataForInstallationJSONRequestBody ¶
type UpsertMetadataForInstallationJSONRequestBody = UpsertMetadataRequest
UpsertMetadataForInstallationJSONRequestBody defines body for UpsertMetadataForInstallation for application/json ContentType.
type UpsertMetadataRequest ¶
type UpsertMetadataRequest struct {
// Fields Maps object names to field definitions
Fields map[string][]FieldDefinition `json:"fields"`
// GroupRef The ID that your app uses to identify the group of users for this request.
GroupRef string `json:"groupRef"`
}
UpsertMetadataRequest Request payload for upserting metadata (fields only)
type UpsertMetadataResponse ¶
type UpsertMetadataResponse struct {
// Fields Maps object name -> field name -> upsert result
Fields map[string]map[string]FieldUpsertResult `json:"fields"`
// Success Indicates if the upsert operation was successful
Success bool `json:"success"`
}
UpsertMetadataResponse Response containing results for all created/updated fields
type ValueDefaultBoolean ¶
type ValueDefaultBoolean struct {
// ApplyOnUpdate Whether the default value should be applied when updating a record.
// If set to `always`, the default value will be applied when updating a record.
// If set to `never`, the default value will not be applied when updating a record,
// only when creating a record.
// If unspecified, then `always` is assumed.
ApplyOnUpdate *ValueDefaultBooleanApplyOnUpdate `json:"applyOnUpdate,omitempty"`
// Value The value to be used as a default.
Value bool `json:"value"`
}
ValueDefaultBoolean defines model for ValueDefaultBoolean.
type ValueDefaultBooleanApplyOnUpdate ¶
type ValueDefaultBooleanApplyOnUpdate string
ValueDefaultBooleanApplyOnUpdate Whether the default value should be applied when updating a record. If set to `always`, the default value will be applied when updating a record. If set to `never`, the default value will not be applied when updating a record, only when creating a record. If unspecified, then `always` is assumed.
const ( ValueDefaultBooleanApplyOnUpdateAlways ValueDefaultBooleanApplyOnUpdate = "always" ValueDefaultBooleanApplyOnUpdateNever ValueDefaultBooleanApplyOnUpdate = "never" )
Defines values for ValueDefaultBooleanApplyOnUpdate.
func (ValueDefaultBooleanApplyOnUpdate) Valid ¶
func (e ValueDefaultBooleanApplyOnUpdate) Valid() bool
Valid indicates whether the value is a known member of the ValueDefaultBooleanApplyOnUpdate enum.
type ValueDefaultInteger ¶
type ValueDefaultInteger struct {
// ApplyOnUpdate Whether the default value should be applied when updating a record.
// If set to `always`, the default value will be applied when updating a record.
// If set to `never`, the default value will not be applied when updating a record,
// only when creating a record.
// If unspecified, then `always` is assumed.
ApplyOnUpdate *ValueDefaultIntegerApplyOnUpdate `json:"applyOnUpdate,omitempty"`
// Value The value to be used as a default.
Value int `json:"value"`
}
ValueDefaultInteger defines model for ValueDefaultInteger.
type ValueDefaultIntegerApplyOnUpdate ¶
type ValueDefaultIntegerApplyOnUpdate string
ValueDefaultIntegerApplyOnUpdate Whether the default value should be applied when updating a record. If set to `always`, the default value will be applied when updating a record. If set to `never`, the default value will not be applied when updating a record, only when creating a record. If unspecified, then `always` is assumed.
const ( ValueDefaultIntegerApplyOnUpdateAlways ValueDefaultIntegerApplyOnUpdate = "always" ValueDefaultIntegerApplyOnUpdateNever ValueDefaultIntegerApplyOnUpdate = "never" )
Defines values for ValueDefaultIntegerApplyOnUpdate.
func (ValueDefaultIntegerApplyOnUpdate) Valid ¶
func (e ValueDefaultIntegerApplyOnUpdate) Valid() bool
Valid indicates whether the value is a known member of the ValueDefaultIntegerApplyOnUpdate enum.
type ValueDefaultString ¶
type ValueDefaultString struct {
// ApplyOnUpdate Whether the default value should be applied when updating a record.
// If set to `always`, the default value will be applied when updating a record.
// If set to `never`, the default value will not be applied when updating a record,
// only when creating a record.
// If unspecified, then `always` is assumed.
ApplyOnUpdate *ValueDefaultStringApplyOnUpdate `json:"applyOnUpdate,omitempty"`
// Value The value to be used as a default.
Value string `json:"value"`
}
ValueDefaultString defines model for ValueDefaultString.
type ValueDefaultStringApplyOnUpdate ¶
type ValueDefaultStringApplyOnUpdate string
ValueDefaultStringApplyOnUpdate Whether the default value should be applied when updating a record. If set to `always`, the default value will be applied when updating a record. If set to `never`, the default value will not be applied when updating a record, only when creating a record. If unspecified, then `always` is assumed.
const ( ValueDefaultStringApplyOnUpdateAlways ValueDefaultStringApplyOnUpdate = "always" ValueDefaultStringApplyOnUpdateNever ValueDefaultStringApplyOnUpdate = "never" )
Defines values for ValueDefaultStringApplyOnUpdate.
func (ValueDefaultStringApplyOnUpdate) Valid ¶
func (e ValueDefaultStringApplyOnUpdate) Valid() bool
Valid indicates whether the value is a known member of the ValueDefaultStringApplyOnUpdate enum.
type ValueDefaults ¶
type ValueDefaults struct {
// AllowAnyFields If true, users can set default values for any field.
AllowAnyFields *bool `json:"allowAnyFields,omitempty"`
}
ValueDefaults Configuration to set default write values for object fields.
type WatchSchema ¶
type WatchSchema struct {
// AllObjects Schema change event configuration for all objects in the integration.
AllObjects WatchSchemaAllObjects `json:"allObjects"`
// Destination The destination to send schema change notifications to.
Destination string `json:"destination"`
// Schedule Cron schedule for checking schema changes. Minimum frequency is once per hour. Defaults to once a day.
Schedule string `json:"schedule,omitempty"`
}
WatchSchema Configuration for monitoring provider schema changes.
type WatchSchemaAllObjects ¶
type WatchSchemaAllObjects struct {
// FieldChanged Configuration for detecting when fields are changed.
FieldChanged *FieldChangedEvent `json:"fieldChanged,omitempty"`
// FieldCreated Configuration for detecting when new fields are created.
FieldCreated *FieldCreatedEvent `json:"fieldCreated,omitempty"`
// FieldDeleted Configuration for detecting when fields are deleted.
FieldDeleted *FieldDeletedEvent `json:"fieldDeleted,omitempty"`
}
WatchSchemaAllObjects Schema change event configuration for all objects in the integration.
type WebhookHeaders ¶
WebhookHeaders Additional headers to add when Ampersand sends a webhook message
type WriteConfig ¶
type WriteConfig struct {
Objects *map[string]WriteConfigObject `json:"objects,omitempty"`
}
WriteConfig defines model for WriteConfig.
type WriteConfigObject ¶
type WriteConfigObject struct {
DeletionSettings *DeletionSettings `json:"deletionSettings,omitempty"`
// ObjectName The name of the object to write to.
ObjectName string `json:"objectName" validate:"required"`
// SelectedFieldSettings This is a map of field names to their settings.
SelectedFieldSettings map[string]FieldSetting `json:"selectedFieldSettings,omitempty"`
// SelectedValueDefaults This is a map of field names to default values. These values will be used when writing to the object.
// Deprecated: this property has been marked as deprecated upstream, but no `x-deprecated-reason` was set
SelectedValueDefaults map[string]ValueDefault `json:"selectedValueDefaults,omitempty"`
}
WriteConfigObject defines model for WriteConfigObject.