Documentation
¶
Index ¶
- Constants
- Variables
- func ARNIndexSize(b *InMemoryBackend) int
- func AppCount(b *InMemoryBackend) int
- func CampaignCount(b *InMemoryBackend) int
- func EmailTemplateCount(b *InMemoryBackend) int
- func ExportJobCount(b *InMemoryBackend) int
- func HandlerOpsLen(h *Handler) int
- func ImportJobCount(b *InMemoryBackend) int
- func InAppTemplateCount(b *InMemoryBackend) int
- func JourneyCount(b *InMemoryBackend) int
- func PushTemplateCount(b *InMemoryBackend) int
- func RecommenderCount(b *InMemoryBackend) int
- func SegmentCount(b *InMemoryBackend) int
- func SmsTemplateCount(b *InMemoryBackend) int
- type App
- type Campaign
- type Channel
- type EmailTemplate
- type Endpoint
- type EventStream
- type ExportJob
- type ExportedApp
- type ExportedCreateAppRequest
- type ExportedCreateCampaignRequest
- type ExportedCreateEmailTemplateRequest
- type ExportedCreateExportJobRequest
- type ExportedCreateImportJobRequest
- type ExportedCreateInAppTemplateRequest
- type ExportedCreateJourneyRequest
- type ExportedCreatePushTemplateRequest
- type ExportedCreateRecommenderConfigRequest
- type ExportedCreateSegmentRequest
- type ExportedCreateSmsTemplateRequest
- type Handler
- func (h *Handler) ChaosOperations() []string
- func (h *Handler) ChaosRegions() []string
- func (h *Handler) ChaosServiceName() string
- func (h *Handler) ExtractOperation(c *echo.Context) string
- func (h *Handler) ExtractResource(c *echo.Context) string
- func (h *Handler) GetSupportedOperations() []string
- func (h *Handler) Handler() echo.HandlerFunc
- func (h *Handler) MatchPriority() int
- func (h *Handler) Name() string
- func (h *Handler) Reset()
- func (h *Handler) Restore(ctx context.Context, data []byte) error
- func (h *Handler) RouteMatcher() service.Matcher
- func (h *Handler) ServeHTTP(c *echo.Context) error
- func (h *Handler) Snapshot(ctx context.Context) []byte
- type ImportJob
- type InAppTemplate
- type InMemoryBackend
- func (b *InMemoryBackend) AccountID() string
- func (b *InMemoryBackend) AddAppInternal(app *App)
- func (b *InMemoryBackend) AddCampaignInternal(c *Campaign)
- func (b *InMemoryBackend) AddJourneyInternal(j *Journey)
- func (b *InMemoryBackend) AddSegmentInternal(s *Segment)
- func (b *InMemoryBackend) CreateApp(region, accountID, name string, tags map[string]string) (*App, error)
- func (b *InMemoryBackend) CreateCampaign(region, accountID, appID string, req createCampaignRequest) (*Campaign, error)
- func (b *InMemoryBackend) CreateEmailTemplate(region, accountID, templateName string, req createEmailTemplateRequest) (*EmailTemplate, error)
- func (b *InMemoryBackend) CreateExportJob(region, accountID, appID string, req createExportJobRequest) (*ExportJob, error)
- func (b *InMemoryBackend) CreateImportJob(region, accountID, appID string, req createImportJobRequest) (*ImportJob, error)
- func (b *InMemoryBackend) CreateInAppTemplate(region, accountID, templateName string, req createInAppTemplateRequest) (*InAppTemplate, error)
- func (b *InMemoryBackend) CreateJourney(region, accountID, appID string, req createJourneyRequest) (*Journey, error)
- func (b *InMemoryBackend) CreatePushTemplate(region, accountID, templateName string, req createPushTemplateRequest) (*PushTemplate, error)
- func (b *InMemoryBackend) CreateRecommenderConfiguration(req createRecommenderConfigRequest) (*RecommenderConfiguration, error)
- func (b *InMemoryBackend) CreateSegment(region, accountID, appID string, req createSegmentRequest) (*Segment, error)
- func (b *InMemoryBackend) CreateSmsTemplate(region, accountID, templateName string, req createSmsTemplateRequest) (*SmsTemplate, error)
- func (b *InMemoryBackend) CreateVoiceTemplate(region, accountID, templateName string, req createVoiceTemplateRequest) (*VoiceTemplate, error)
- func (b *InMemoryBackend) DeleteApp(appID string) (*App, error)
- func (b *InMemoryBackend) DeleteCampaign(appID, campaignID string) (*Campaign, error)
- func (b *InMemoryBackend) DeleteChannel(appID, channelType string) *Channel
- func (b *InMemoryBackend) DeleteEmailTemplate(templateName string) (*EmailTemplate, error)
- func (b *InMemoryBackend) DeleteEndpoint(appID, endpointID string) (*Endpoint, error)
- func (b *InMemoryBackend) DeleteEventStream(appID string) (*EventStream, error)
- func (b *InMemoryBackend) DeleteInAppTemplate(templateName string) (*InAppTemplate, error)
- func (b *InMemoryBackend) DeleteJourney(appID, journeyID string) (*Journey, error)
- func (b *InMemoryBackend) DeletePushTemplate(templateName string) (*PushTemplate, error)
- func (b *InMemoryBackend) DeleteRecommenderConfiguration(recommenderID string) (*RecommenderConfiguration, error)
- func (b *InMemoryBackend) DeleteSegment(appID, segmentID string) (*Segment, error)
- func (b *InMemoryBackend) DeleteSmsTemplate(templateName string) (*SmsTemplate, error)
- func (b *InMemoryBackend) DeleteUserEndpoints(appID, userID string) error
- func (b *InMemoryBackend) DeleteVoiceTemplate(templateName string) (*VoiceTemplate, error)
- func (b *InMemoryBackend) GetAllChannels(appID string) map[string]*Channel
- func (b *InMemoryBackend) GetApp(appID string) (*App, error)
- func (b *InMemoryBackend) GetApplicationDateRangeKpi(appID, kpiName string) (*kpiResult, error)
- func (b *InMemoryBackend) GetApplicationSettings(appID string) (*storedAppSettings, error)
- func (b *InMemoryBackend) GetApps() ([]*App, error)
- func (b *InMemoryBackend) GetCampaign(appID, campaignID string) (*Campaign, error)
- func (b *InMemoryBackend) GetCampaignActivities(appID, campaignID string) (*campaignActivitiesResponse, error)
- func (b *InMemoryBackend) GetCampaignDateRangeKpi(appID, campaignID, kpiName string) (*kpiResult, error)
- func (b *InMemoryBackend) GetCampaignVersion(appID, campaignID string, version int) (*Campaign, error)
- func (b *InMemoryBackend) GetCampaignVersions(appID, campaignID string) ([]*Campaign, error)
- func (b *InMemoryBackend) GetCampaigns(appID string) ([]*Campaign, error)
- func (b *InMemoryBackend) GetChannel(appID, channelType string) *Channel
- func (b *InMemoryBackend) GetEmailTemplate(templateName string) (*EmailTemplate, error)
- func (b *InMemoryBackend) GetEndpoint(appID, endpointID string) (*Endpoint, error)
- func (b *InMemoryBackend) GetEventStream(appID string) (*EventStream, error)
- func (b *InMemoryBackend) GetExportJob(appID, jobID string) (*ExportJob, error)
- func (b *InMemoryBackend) GetExportJobs(appID string) ([]*ExportJob, error)
- func (b *InMemoryBackend) GetImportJob(appID, jobID string) (*ImportJob, error)
- func (b *InMemoryBackend) GetImportJobs(appID string) ([]*ImportJob, error)
- func (b *InMemoryBackend) GetInAppMessages(appID, _ string) (*inAppMessagesResponse, error)
- func (b *InMemoryBackend) GetInAppTemplate(templateName string) (*InAppTemplate, error)
- func (b *InMemoryBackend) GetJourney(appID, journeyID string) (*Journey, error)
- func (b *InMemoryBackend) GetJourneyDateRangeKpi(appID, journeyID, kpiName string) (*kpiResult, error)
- func (b *InMemoryBackend) GetJourneyExecutionActivityMetrics(appID, journeyID, activityID string) (*journeyExecutionActivityMetricsResponse, error)
- func (b *InMemoryBackend) GetJourneyExecutionMetrics(appID, journeyID string) (*journeyExecutionMetricsResponse, error)
- func (b *InMemoryBackend) GetJourneyRunExecutionActivityMetrics(appID, journeyID, runID, activityID string) (*journeyRunExecutionActivityMetricsResponse, error)
- func (b *InMemoryBackend) GetJourneyRunExecutionMetrics(appID, journeyID, runID string) (*journeyRunExecutionMetricsResponse, error)
- func (b *InMemoryBackend) GetJourneyRuns(appID, journeyID string) (*journeyRunsResponse, error)
- func (b *InMemoryBackend) GetJourneys(appID string) ([]*Journey, error)
- func (b *InMemoryBackend) GetPushTemplate(templateName string) (*PushTemplate, error)
- func (b *InMemoryBackend) GetRecommenderConfiguration(recommenderID string) (*RecommenderConfiguration, error)
- func (b *InMemoryBackend) GetRecommenderConfigurations() ([]*RecommenderConfiguration, error)
- func (b *InMemoryBackend) GetSegment(appID, segmentID string) (*Segment, error)
- func (b *InMemoryBackend) GetSegmentExportJobs(appID, _ string) ([]*ExportJob, error)
- func (b *InMemoryBackend) GetSegmentImportJobs(appID, segmentID string) ([]*ImportJob, error)
- func (b *InMemoryBackend) GetSegmentVersion(appID, segmentID string, version int) (*Segment, error)
- func (b *InMemoryBackend) GetSegmentVersions(appID, segmentID string) ([]*Segment, error)
- func (b *InMemoryBackend) GetSegments(appID string) ([]*Segment, error)
- func (b *InMemoryBackend) GetSmsTemplate(templateName string) (*SmsTemplate, error)
- func (b *InMemoryBackend) GetUserEndpoints(appID, userID string) ([]*Endpoint, error)
- func (b *InMemoryBackend) GetVoiceTemplate(templateName string) (*VoiceTemplate, error)
- func (b *InMemoryBackend) ListTagsForResource(resourceARN string) (map[string]string, error)
- func (b *InMemoryBackend) ListTemplateVersions(templateName, templateType string) ([]*templateVersionItem, error)
- func (b *InMemoryBackend) ListTemplates() ([]*templateListItem, error)
- func (b *InMemoryBackend) PhoneNumberValidate(phoneNumber string) (*phoneNumberValidateResponse, error)
- func (b *InMemoryBackend) PutEventStream(appID string, req putEventStreamRequest) (*EventStream, error)
- func (b *InMemoryBackend) PutEvents(appID string, req putEventsRequest) (*eventsResponse, error)
- func (b *InMemoryBackend) Region() string
- func (b *InMemoryBackend) RemoveAttributes(appID, attributeType string, blacklist []string) (*attributesResource, error)
- func (b *InMemoryBackend) Reset()
- func (b *InMemoryBackend) Restore(ctx context.Context, data []byte) error
- func (b *InMemoryBackend) SendMessages(appID string, req sendMessagesRequest) (*messageResponse, error)
- func (b *InMemoryBackend) SendOTPMessage(appID string) (*sendOTPMessageResponse, error)
- func (b *InMemoryBackend) SendUsersMessages(appID string, req sendUsersMessagesRequest) (*usersMessageResponse, error)
- func (b *InMemoryBackend) Snapshot(ctx context.Context) []byte
- func (b *InMemoryBackend) TagResource(resourceARN string, tags map[string]string) error
- func (b *InMemoryBackend) UntagResource(resourceARN string, tagKeys []string) error
- func (b *InMemoryBackend) UpdateApplicationSettings(appID string, settings *storedAppSettings) (*storedAppSettings, error)
- func (b *InMemoryBackend) UpdateCampaign(appID, campaignID string, req updateCampaignRequest) (*Campaign, error)
- func (b *InMemoryBackend) UpdateEmailTemplate(templateName string, req createEmailTemplateRequest) (*EmailTemplate, error)
- func (b *InMemoryBackend) UpdateEndpoint(appID, endpointID string, req updateEndpointRequest) (*Endpoint, error)
- func (b *InMemoryBackend) UpdateEndpointsBatch(appID string, endpoints map[string]updateEndpointRequest) error
- func (b *InMemoryBackend) UpdateInAppTemplate(templateName string, req createInAppTemplateRequest) (*InAppTemplate, error)
- func (b *InMemoryBackend) UpdateJourney(appID, journeyID string, req updateJourneyRequest) (*Journey, error)
- func (b *InMemoryBackend) UpdateJourneyState(appID, journeyID, state string) (*Journey, error)
- func (b *InMemoryBackend) UpdatePushTemplate(templateName string, req createPushTemplateRequest) (*PushTemplate, error)
- func (b *InMemoryBackend) UpdateRecommenderConfiguration(recommenderID string, req createRecommenderConfigRequest) (*RecommenderConfiguration, error)
- func (b *InMemoryBackend) UpdateSegment(appID, segmentID string, req updateSegmentRequest) (*Segment, error)
- func (b *InMemoryBackend) UpdateSmsTemplate(templateName string, req createSmsTemplateRequest) (*SmsTemplate, error)
- func (b *InMemoryBackend) UpdateTemplateActiveVersion(templateName, templateType string) error
- func (b *InMemoryBackend) UpdateVoiceTemplate(templateName string, req createVoiceTemplateRequest) (*VoiceTemplate, error)
- func (b *InMemoryBackend) UpsertChannel(appID, channelType string, enabled bool, extra map[string]any) *Channel
- func (b *InMemoryBackend) VerifyOTPMessage(appID, code string) (*verifyOTPMessageResponse, error)
- type Journey
- type Provider
- type PushTemplate
- type RecommenderConfiguration
- type Segment
- type SmsTemplate
- type StorageBackend
- type VoiceTemplate
Constants ¶
const ( // ChannelTypeADM is the Amazon Device Messaging channel. ChannelTypeADM = "ADM" // ChannelTypeAPNS is the Apple Push Notification service channel. ChannelTypeAPNS = "APNS" // ChannelTypeAPNSSandbox is the APNS Sandbox channel. ChannelTypeAPNSSandbox = "APNS_SANDBOX" // ChannelTypeAPNSVoip is the APNS VoIP channel. ChannelTypeAPNSVoip = "APNS_VOIP" // ChannelTypeAPNSVoipSandbox is the APNS VoIP Sandbox channel. ChannelTypeAPNSVoipSandbox = "APNS_VOIP_SANDBOX" // ChannelTypeBaidu is the Baidu Cloud Push channel. ChannelTypeBaidu = "BAIDU" // ChannelTypeEmail is the Email channel. ChannelTypeEmail = "EMAIL" // ChannelTypeGCM is the Google Cloud Messaging / FCM channel. ChannelTypeGCM = "GCM" // ChannelTypeSMS is the SMS channel. ChannelTypeSMS = "SMS" // ChannelTypeVoice is the Voice channel. ChannelTypeVoice = "VOICE" // ChannelTypeInApp is the In-App channel. ChannelTypeInApp = "IN_APP" // ChannelTypeCustom is the Custom channel. ChannelTypeCustom = "CUSTOM" // ChannelTypePush is the generic push channel. ChannelTypePush = "PUSH" )
Variables ¶
var ( // ErrAppNotFound is returned when a Pinpoint application is not found. ErrAppNotFound = awserr.New("NotFoundException: app not found", awserr.ErrNotFound) // ErrValidation is returned when request parameters fail validation. ErrValidation = awserr.New("BadRequestException", awserr.ErrInvalidParameter) // ErrAlreadyExists is returned when a resource with the same key already exists. ErrAlreadyExists = awserr.New("ConflictException: resource already exists", awserr.ErrConflict) // ErrJourneyActive is returned when attempting to modify an ACTIVE journey's activities. ErrJourneyActive = awserr.New( "BadRequestException: journey is ACTIVE and cannot be modified", awserr.ErrInvalidParameter, ) )
var ErrNilAppContext = errors.New("pinpoint: nil AppContext")
ErrNilAppContext is returned when Init receives a nil AppContext.
Functions ¶
func ARNIndexSize ¶
func ARNIndexSize(b *InMemoryBackend) int
ARNIndexSize returns the number of entries in the ARN index.
func AppCount ¶
func AppCount(b *InMemoryBackend) int
AppCount returns the number of applications in the backend.
func CampaignCount ¶
func CampaignCount(b *InMemoryBackend) int
CampaignCount returns the number of campaigns in the backend.
func EmailTemplateCount ¶
func EmailTemplateCount(b *InMemoryBackend) int
EmailTemplateCount returns the number of email templates in the backend.
func ExportJobCount ¶
func ExportJobCount(b *InMemoryBackend) int
ExportJobCount returns the number of export jobs in the backend.
func HandlerOpsLen ¶
HandlerOpsLen returns the number of supported operations for the given handler.
func ImportJobCount ¶
func ImportJobCount(b *InMemoryBackend) int
ImportJobCount returns the number of import jobs in the backend.
func InAppTemplateCount ¶
func InAppTemplateCount(b *InMemoryBackend) int
InAppTemplateCount returns the number of in-app templates in the backend.
func JourneyCount ¶
func JourneyCount(b *InMemoryBackend) int
JourneyCount returns the number of journeys in the backend.
func PushTemplateCount ¶
func PushTemplateCount(b *InMemoryBackend) int
PushTemplateCount returns the number of push templates in the backend.
func RecommenderCount ¶
func RecommenderCount(b *InMemoryBackend) int
RecommenderCount returns the number of recommender configurations in the backend.
func SegmentCount ¶
func SegmentCount(b *InMemoryBackend) int
SegmentCount returns the number of segments in the backend.
func SmsTemplateCount ¶
func SmsTemplateCount(b *InMemoryBackend) int
SmsTemplateCount returns the number of SMS templates in the backend.
Types ¶
type App ¶
type App struct {
Tags map[string]string `json:"tags,omitempty"`
ARN string `json:"Arn"`
ID string `json:"Id"`
Name string `json:"Name"`
CreationDate string `json:"CreationDate,omitempty"`
}
App represents an Amazon Pinpoint application.
type Campaign ¶
type Campaign struct {
Tags map[string]string `json:"tags,omitempty"`
MessageConfiguration map[string]any `json:"MessageConfiguration,omitempty"`
Schedule map[string]any `json:"Schedule,omitempty"`
Hook map[string]any `json:"Hook,omitempty"`
Limits map[string]any `json:"Limits,omitempty"`
TemplateConfiguration map[string]any `json:"TemplateConfiguration,omitempty"`
CustomDeliveryConfiguration map[string]any `json:"CustomDeliveryConfiguration,omitempty"`
ApplicationID string `json:"ApplicationId"`
ARN string `json:"Arn,omitempty"`
ID string `json:"Id"`
Name string `json:"Name"`
SegmentID string `json:"SegmentId,omitempty"`
TreatmentDescription string `json:"TreatmentDescription,omitempty"`
TreatmentName string `json:"TreatmentName,omitempty"`
CreationDate string `json:"CreationDate,omitempty"`
LastModifiedDate string `json:"LastModifiedDate,omitempty"`
Status string `json:"Status,omitempty"`
AdditionalTreatments []map[string]any `json:"AdditionalTreatments,omitempty"`
SegmentVersion int `json:"SegmentVersion,omitempty"`
Version int `json:"Version,omitempty"`
Priority int `json:"Priority,omitempty"`
IsPaused bool `json:"IsPaused,omitempty"`
}
Campaign represents a Pinpoint campaign.
type Channel ¶
type Channel struct {
ExtraData map[string]any `json:"ExtraData,omitempty"`
ApplicationID string `json:"ApplicationId"`
ChannelType string `json:"ChannelType"`
Platform string `json:"Platform,omitempty"`
CreationDate string `json:"CreationDate,omitempty"`
LastModifiedDate string `json:"LastModifiedDate,omitempty"`
Version int `json:"Version,omitempty"`
MessagesPerSecond int `json:"MessagesPerSecond,omitempty"`
Enabled bool `json:"Enabled"`
IsArchived bool `json:"IsArchived"`
HasCredential bool `json:"HasCredential,omitempty"`
HasTokenKey bool `json:"HasTokenKey,omitempty"`
}
Channel represents a generic Pinpoint channel response.
type EmailTemplate ¶
type EmailTemplate struct {
ARN string `json:"Arn,omitempty"`
CreationDate string `json:"CreationDate,omitempty"`
DefaultSubstitutions map[string]any `json:"DefaultSubstitutions,omitempty"`
HTMLPart string `json:"HtmlPart,omitempty"`
LastModifiedDate string `json:"LastModifiedDate,omitempty"`
RecommenderID string `json:"RecommenderId,omitempty"`
Subject string `json:"Subject,omitempty"`
Tags map[string]string `json:"tags,omitempty"`
TemplateDescription string `json:"TemplateDescription,omitempty"`
TemplateName string `json:"TemplateName"`
TextPart string `json:"TextPart,omitempty"`
Version string `json:"Version,omitempty"`
}
EmailTemplate represents a Pinpoint email template.
type Endpoint ¶
type Endpoint struct {
Attributes map[string][]string `json:"Attributes,omitempty"`
UserAttributes map[string][]string `json:"UserAttributes,omitempty"`
Metrics map[string]float64 `json:"Metrics,omitempty"`
Demographic map[string]any `json:"Demographic,omitempty"`
Location map[string]any `json:"Location,omitempty"`
ApplicationID string `json:"ApplicationId"`
ID string `json:"Id"`
ChannelType string `json:"ChannelType,omitempty"`
Address string `json:"Address,omitempty"`
UserID string `json:"UserId,omitempty"`
EffectiveDate string `json:"EffectiveDate,omitempty"`
CreationDate string `json:"CreationDate,omitempty"`
EndpointStatus string `json:"EndpointStatus,omitempty"`
OptOut string `json:"OptOut,omitempty"`
RequestID string `json:"RequestId,omitempty"`
}
Endpoint represents a Pinpoint endpoint.
type EventStream ¶
type EventStream struct {
ApplicationID string `json:"ApplicationId"`
DestinationStreamArn string `json:"DestinationStreamArn"`
RoleArn string `json:"RoleArn"`
LastModifiedDate string `json:"LastModifiedDate,omitempty"`
}
EventStream represents a Pinpoint event stream.
type ExportJob ¶
type ExportJob struct {
ARN string `json:"Arn,omitempty"`
ApplicationID string `json:"ApplicationId"`
ID string `json:"Id"`
RoleArn string `json:"RoleArn,omitempty"`
S3UrlPrefix string `json:"S3UrlPrefix,omitempty"`
JobStatus string `json:"JobStatus"`
CreationDate string `json:"CreationDate,omitempty"`
}
ExportJob represents a Pinpoint export job.
type ExportedApp ¶
type ExportedApp = App
ExportedApp is a compatibility alias used by the dashboard package.
type ExportedCreateAppRequest ¶
type ExportedCreateAppRequest = createAppRequest
ExportedCreateAppRequest aliases createAppRequest for testing.
type ExportedCreateCampaignRequest ¶
type ExportedCreateCampaignRequest = createCampaignRequest
ExportedCreateCampaignRequest aliases createCampaignRequest for testing/seeding.
type ExportedCreateEmailTemplateRequest ¶
type ExportedCreateEmailTemplateRequest = createEmailTemplateRequest
ExportedCreateEmailTemplateRequest aliases createEmailTemplateRequest for testing/seeding.
type ExportedCreateExportJobRequest ¶
type ExportedCreateExportJobRequest = createExportJobRequest
ExportedCreateExportJobRequest aliases createExportJobRequest for testing/seeding.
type ExportedCreateImportJobRequest ¶
type ExportedCreateImportJobRequest = createImportJobRequest
ExportedCreateImportJobRequest aliases createImportJobRequest for testing/seeding.
type ExportedCreateInAppTemplateRequest ¶
type ExportedCreateInAppTemplateRequest = createInAppTemplateRequest
ExportedCreateInAppTemplateRequest aliases createInAppTemplateRequest for testing/seeding.
type ExportedCreateJourneyRequest ¶
type ExportedCreateJourneyRequest = createJourneyRequest
ExportedCreateJourneyRequest aliases createJourneyRequest for testing/seeding.
type ExportedCreatePushTemplateRequest ¶
type ExportedCreatePushTemplateRequest = createPushTemplateRequest
ExportedCreatePushTemplateRequest aliases createPushTemplateRequest for testing/seeding.
type ExportedCreateRecommenderConfigRequest ¶
type ExportedCreateRecommenderConfigRequest = createRecommenderConfigRequest
ExportedCreateRecommenderConfigRequest aliases createRecommenderConfigRequest for testing/seeding.
type ExportedCreateSegmentRequest ¶
type ExportedCreateSegmentRequest = createSegmentRequest
ExportedCreateSegmentRequest aliases createSegmentRequest for testing/seeding.
type ExportedCreateSmsTemplateRequest ¶
type ExportedCreateSmsTemplateRequest = createSmsTemplateRequest
ExportedCreateSmsTemplateRequest aliases createSmsTemplateRequest for testing/seeding.
type Handler ¶
type Handler struct {
Backend StorageBackend
AccountID string
DefaultRegion string
}
Handler is the HTTP handler for the Amazon Pinpoint REST API.
func NewHandler ¶
func NewHandler(backend StorageBackend) *Handler
NewHandler creates a new Pinpoint handler.
func (*Handler) ChaosOperations ¶
ChaosOperations returns all operations that can be fault-injected.
func (*Handler) ChaosRegions ¶
ChaosRegions returns all regions this handler handles.
func (*Handler) ChaosServiceName ¶
ChaosServiceName returns the lowercase AWS service name for fault rule matching.
func (*Handler) ExtractOperation ¶
ExtractOperation extracts the operation name from the request path and method.
func (*Handler) ExtractResource ¶
ExtractResource extracts the app ID or decoded ARN from the request path.
func (*Handler) GetSupportedOperations ¶
GetSupportedOperations returns the list of supported Pinpoint operations.
func (*Handler) Handler ¶
func (h *Handler) Handler() echo.HandlerFunc
Handler returns the echo.HandlerFunc for this service.
func (*Handler) MatchPriority ¶
MatchPriority returns the routing priority.
func (*Handler) Reset ¶
func (h *Handler) Reset()
Reset clears the handler's backend state (used for test isolation).
func (*Handler) RouteMatcher ¶
RouteMatcher returns a function that matches Pinpoint API requests.
func (*Handler) Snapshot ¶
Snapshot implements persistence.Persistable by delegating to the backend.
h.Backend is the StorageBackend interface, which already declares Snapshot(ctx context.Context) []byte (see interfaces.go) with a shape matching persistence.Persistable exactly, so this can call it directly -- no local type assertion needed. But interface membership alone does not help: h.Backend is a named field, not an embedded one, so InMemoryBackend's methods are never promoted onto *Handler. Without this delegation, cli.go's setupPersistence type-asserts the registered service.Registerable (this *Handler) against persistence.Persistable, fails silently, and never registers pinpoint for snapshot/restore despite the backend being fully capable. Mirrors services/securityhub's Handler-level delegation.
type ImportJob ¶
type ImportJob struct {
ARN string `json:"Arn,omitempty"`
ApplicationID string `json:"ApplicationId"`
ID string `json:"Id"`
RoleArn string `json:"RoleArn,omitempty"`
S3Url string `json:"S3Url,omitempty"`
Format string `json:"Format,omitempty"`
JobStatus string `json:"JobStatus"`
SegmentID string `json:"SegmentId,omitempty"`
CreationDate string `json:"CreationDate,omitempty"`
}
ImportJob represents a Pinpoint import job.
type InAppTemplate ¶
type InAppTemplate struct {
Tags map[string]string `json:"tags,omitempty"`
ARN string `json:"Arn,omitempty"`
CreationDate string `json:"CreationDate,omitempty"`
LastModifiedDate string `json:"LastModifiedDate,omitempty"`
Layout string `json:"Layout,omitempty"`
TemplateDescription string `json:"TemplateDescription,omitempty"`
TemplateName string `json:"TemplateName"`
Version string `json:"Version,omitempty"`
Content []map[string]any `json:"Content,omitempty"`
}
InAppTemplate represents a Pinpoint in-app template.
type InMemoryBackend ¶
type InMemoryBackend struct {
// contains filtered or unexported fields
}
InMemoryBackend is the in-memory implementation of StorageBackend.
func NewInMemoryBackend ¶
func NewInMemoryBackend(region, accountID string) *InMemoryBackend
NewInMemoryBackend creates a new Pinpoint in-memory backend.
func (*InMemoryBackend) AccountID ¶
func (b *InMemoryBackend) AccountID() string
AccountID returns the configured AWS account ID.
func (*InMemoryBackend) AddAppInternal ¶
func (b *InMemoryBackend) AddAppInternal(app *App)
AddAppInternal seeds an application directly without going through the HTTP layer.
func (*InMemoryBackend) AddCampaignInternal ¶
func (b *InMemoryBackend) AddCampaignInternal(c *Campaign)
AddCampaignInternal seeds a campaign directly without going through the HTTP layer.
func (*InMemoryBackend) AddJourneyInternal ¶
func (b *InMemoryBackend) AddJourneyInternal(j *Journey)
AddJourneyInternal seeds a journey directly without going through the HTTP layer.
func (*InMemoryBackend) AddSegmentInternal ¶
func (b *InMemoryBackend) AddSegmentInternal(s *Segment)
AddSegmentInternal seeds a segment directly without going through the HTTP layer.
func (*InMemoryBackend) CreateApp ¶
func (b *InMemoryBackend) CreateApp(region, accountID, name string, tags map[string]string) (*App, error)
CreateApp creates a new Pinpoint application.
func (*InMemoryBackend) CreateCampaign ¶
func (b *InMemoryBackend) CreateCampaign( region, accountID, appID string, req createCampaignRequest, ) (*Campaign, error)
CreateCampaign creates a new Pinpoint campaign for an application.
func (*InMemoryBackend) CreateEmailTemplate ¶
func (b *InMemoryBackend) CreateEmailTemplate( region, accountID, templateName string, req createEmailTemplateRequest, ) (*EmailTemplate, error)
CreateEmailTemplate creates a new Pinpoint email template.
func (*InMemoryBackend) CreateExportJob ¶
func (b *InMemoryBackend) CreateExportJob( region, accountID, appID string, req createExportJobRequest, ) (*ExportJob, error)
CreateExportJob creates a new Pinpoint export job for an application.
func (*InMemoryBackend) CreateImportJob ¶
func (b *InMemoryBackend) CreateImportJob( region, accountID, appID string, req createImportJobRequest, ) (*ImportJob, error)
CreateImportJob creates a new Pinpoint import job for an application. It also materialises an associated IMPORT-type Segment so that callers can reference the segment by ID after the job completes (AWS behaviour).
func (*InMemoryBackend) CreateInAppTemplate ¶
func (b *InMemoryBackend) CreateInAppTemplate( region, accountID, templateName string, req createInAppTemplateRequest, ) (*InAppTemplate, error)
CreateInAppTemplate creates a new Pinpoint in-app template.
func (*InMemoryBackend) CreateJourney ¶
func (b *InMemoryBackend) CreateJourney(region, accountID, appID string, req createJourneyRequest) (*Journey, error)
CreateJourney creates a new Pinpoint journey for an application.
func (*InMemoryBackend) CreatePushTemplate ¶
func (b *InMemoryBackend) CreatePushTemplate( region, accountID, templateName string, req createPushTemplateRequest, ) (*PushTemplate, error)
CreatePushTemplate creates a new Pinpoint push notification template.
func (*InMemoryBackend) CreateRecommenderConfiguration ¶
func (b *InMemoryBackend) CreateRecommenderConfiguration( req createRecommenderConfigRequest, ) (*RecommenderConfiguration, error)
CreateRecommenderConfiguration creates a new Pinpoint recommender configuration.
func (*InMemoryBackend) CreateSegment ¶
func (b *InMemoryBackend) CreateSegment(region, accountID, appID string, req createSegmentRequest) (*Segment, error)
CreateSegment creates a new Pinpoint segment for an application.
func (*InMemoryBackend) CreateSmsTemplate ¶
func (b *InMemoryBackend) CreateSmsTemplate( region, accountID, templateName string, req createSmsTemplateRequest, ) (*SmsTemplate, error)
CreateSmsTemplate creates a new Pinpoint SMS template.
func (*InMemoryBackend) CreateVoiceTemplate ¶
func (b *InMemoryBackend) CreateVoiceTemplate( region, accountID, templateName string, req createVoiceTemplateRequest, ) (*VoiceTemplate, error)
CreateVoiceTemplate creates a new Pinpoint voice template.
func (*InMemoryBackend) DeleteApp ¶
func (b *InMemoryBackend) DeleteApp(appID string) (*App, error)
DeleteApp deletes a Pinpoint application by ID.
func (*InMemoryBackend) DeleteCampaign ¶
func (b *InMemoryBackend) DeleteCampaign(appID, campaignID string) (*Campaign, error)
DeleteCampaign deletes a Pinpoint campaign.
func (*InMemoryBackend) DeleteChannel ¶
func (b *InMemoryBackend) DeleteChannel(appID, channelType string) *Channel
DeleteChannel removes a channel for an app.
func (*InMemoryBackend) DeleteEmailTemplate ¶
func (b *InMemoryBackend) DeleteEmailTemplate(templateName string) (*EmailTemplate, error)
DeleteEmailTemplate deletes an email template by name.
func (*InMemoryBackend) DeleteEndpoint ¶
func (b *InMemoryBackend) DeleteEndpoint(appID, endpointID string) (*Endpoint, error)
DeleteEndpoint deletes a Pinpoint endpoint.
func (*InMemoryBackend) DeleteEventStream ¶
func (b *InMemoryBackend) DeleteEventStream(appID string) (*EventStream, error)
DeleteEventStream deletes the event stream for an application.
func (*InMemoryBackend) DeleteInAppTemplate ¶
func (b *InMemoryBackend) DeleteInAppTemplate(templateName string) (*InAppTemplate, error)
DeleteInAppTemplate deletes an in-app template by name.
func (*InMemoryBackend) DeleteJourney ¶
func (b *InMemoryBackend) DeleteJourney(appID, journeyID string) (*Journey, error)
DeleteJourney deletes a Pinpoint journey.
func (*InMemoryBackend) DeletePushTemplate ¶
func (b *InMemoryBackend) DeletePushTemplate(templateName string) (*PushTemplate, error)
DeletePushTemplate deletes a push notification template by name.
func (*InMemoryBackend) DeleteRecommenderConfiguration ¶
func (b *InMemoryBackend) DeleteRecommenderConfiguration( recommenderID string, ) (*RecommenderConfiguration, error)
DeleteRecommenderConfiguration deletes a recommender by ID.
func (*InMemoryBackend) DeleteSegment ¶
func (b *InMemoryBackend) DeleteSegment(appID, segmentID string) (*Segment, error)
DeleteSegment deletes a Pinpoint segment.
func (*InMemoryBackend) DeleteSmsTemplate ¶
func (b *InMemoryBackend) DeleteSmsTemplate(templateName string) (*SmsTemplate, error)
DeleteSmsTemplate deletes an SMS template by name.
func (*InMemoryBackend) DeleteUserEndpoints ¶
func (b *InMemoryBackend) DeleteUserEndpoints(appID, userID string) error
DeleteUserEndpoints deletes all endpoints for a user in an application.
func (*InMemoryBackend) DeleteVoiceTemplate ¶
func (b *InMemoryBackend) DeleteVoiceTemplate(templateName string) (*VoiceTemplate, error)
DeleteVoiceTemplate deletes a Pinpoint voice template by name.
func (*InMemoryBackend) GetAllChannels ¶
func (b *InMemoryBackend) GetAllChannels(appID string) map[string]*Channel
GetAllChannels returns all channels for an app.
func (*InMemoryBackend) GetApp ¶
func (b *InMemoryBackend) GetApp(appID string) (*App, error)
GetApp retrieves a Pinpoint application by ID.
func (*InMemoryBackend) GetApplicationDateRangeKpi ¶
func (b *InMemoryBackend) GetApplicationDateRangeKpi(appID, kpiName string) (*kpiResult, error)
GetApplicationDateRangeKpi returns stub KPI data for an application.
func (*InMemoryBackend) GetApplicationSettings ¶
func (b *InMemoryBackend) GetApplicationSettings(appID string) (*storedAppSettings, error)
GetApplicationSettings retrieves the settings for a Pinpoint application.
func (*InMemoryBackend) GetApps ¶
func (b *InMemoryBackend) GetApps() ([]*App, error)
GetApps returns all Pinpoint applications sorted by name.
func (*InMemoryBackend) GetCampaign ¶
func (b *InMemoryBackend) GetCampaign(appID, campaignID string) (*Campaign, error)
GetCampaign retrieves a Pinpoint campaign by appID and campaignID.
func (*InMemoryBackend) GetCampaignActivities ¶
func (b *InMemoryBackend) GetCampaignActivities( appID, campaignID string, ) (*campaignActivitiesResponse, error)
GetCampaignActivities returns campaign activities.
func (*InMemoryBackend) GetCampaignDateRangeKpi ¶
func (b *InMemoryBackend) GetCampaignDateRangeKpi( appID, campaignID, kpiName string, ) (*kpiResult, error)
GetCampaignDateRangeKpi returns stub KPI data for a campaign.
func (*InMemoryBackend) GetCampaignVersion ¶
func (b *InMemoryBackend) GetCampaignVersion( appID, campaignID string, version int, ) (*Campaign, error)
GetCampaignVersion returns a specific campaign version.
func (*InMemoryBackend) GetCampaignVersions ¶
func (b *InMemoryBackend) GetCampaignVersions(appID, campaignID string) ([]*Campaign, error)
GetCampaignVersions returns all stored versions of a campaign.
func (*InMemoryBackend) GetCampaigns ¶
func (b *InMemoryBackend) GetCampaigns(appID string) ([]*Campaign, error)
GetCampaigns returns all campaigns for an application.
func (*InMemoryBackend) GetChannel ¶
func (b *InMemoryBackend) GetChannel(appID, channelType string) *Channel
GetChannel retrieves or synthesises a channel response for an app.
func (*InMemoryBackend) GetEmailTemplate ¶
func (b *InMemoryBackend) GetEmailTemplate(templateName string) (*EmailTemplate, error)
GetEmailTemplate retrieves an email template by name.
func (*InMemoryBackend) GetEndpoint ¶
func (b *InMemoryBackend) GetEndpoint(appID, endpointID string) (*Endpoint, error)
GetEndpoint retrieves a Pinpoint endpoint by appID and endpointID.
func (*InMemoryBackend) GetEventStream ¶
func (b *InMemoryBackend) GetEventStream(appID string) (*EventStream, error)
GetEventStream retrieves the event stream for an application.
func (*InMemoryBackend) GetExportJob ¶
func (b *InMemoryBackend) GetExportJob(appID, jobID string) (*ExportJob, error)
GetExportJob retrieves an export job by ID.
func (*InMemoryBackend) GetExportJobs ¶
func (b *InMemoryBackend) GetExportJobs(appID string) ([]*ExportJob, error)
GetExportJobs returns all export jobs for an app.
func (*InMemoryBackend) GetImportJob ¶
func (b *InMemoryBackend) GetImportJob(appID, jobID string) (*ImportJob, error)
GetImportJob retrieves an import job by ID.
func (*InMemoryBackend) GetImportJobs ¶
func (b *InMemoryBackend) GetImportJobs(appID string) ([]*ImportJob, error)
GetImportJobs returns all import jobs for an app.
func (*InMemoryBackend) GetInAppMessages ¶
func (b *InMemoryBackend) GetInAppMessages(appID, _ string) (*inAppMessagesResponse, error)
GetInAppMessages returns in-app messages for an endpoint.
func (*InMemoryBackend) GetInAppTemplate ¶
func (b *InMemoryBackend) GetInAppTemplate(templateName string) (*InAppTemplate, error)
GetInAppTemplate retrieves an in-app template by name.
func (*InMemoryBackend) GetJourney ¶
func (b *InMemoryBackend) GetJourney(appID, journeyID string) (*Journey, error)
GetJourney retrieves a Pinpoint journey by appID and journeyID.
func (*InMemoryBackend) GetJourneyDateRangeKpi ¶
func (b *InMemoryBackend) GetJourneyDateRangeKpi( appID, journeyID, kpiName string, ) (*kpiResult, error)
GetJourneyDateRangeKpi returns stub KPI data for a journey.
func (*InMemoryBackend) GetJourneyExecutionActivityMetrics ¶
func (b *InMemoryBackend) GetJourneyExecutionActivityMetrics( appID, journeyID, activityID string, ) (*journeyExecutionActivityMetricsResponse, error)
GetJourneyExecutionActivityMetrics returns journey activity metrics.
func (*InMemoryBackend) GetJourneyExecutionMetrics ¶
func (b *InMemoryBackend) GetJourneyExecutionMetrics( appID, journeyID string, ) (*journeyExecutionMetricsResponse, error)
GetJourneyExecutionMetrics returns journey execution metrics.
func (*InMemoryBackend) GetJourneyRunExecutionActivityMetrics ¶
func (b *InMemoryBackend) GetJourneyRunExecutionActivityMetrics( appID, journeyID, runID, activityID string, ) (*journeyRunExecutionActivityMetricsResponse, error)
GetJourneyRunExecutionActivityMetrics returns metrics for a specific journey run activity.
func (*InMemoryBackend) GetJourneyRunExecutionMetrics ¶
func (b *InMemoryBackend) GetJourneyRunExecutionMetrics( appID, journeyID, runID string, ) (*journeyRunExecutionMetricsResponse, error)
GetJourneyRunExecutionMetrics returns metrics for a specific journey run.
func (*InMemoryBackend) GetJourneyRuns ¶
func (b *InMemoryBackend) GetJourneyRuns(appID, journeyID string) (*journeyRunsResponse, error)
GetJourneyRuns returns journey runs.
func (*InMemoryBackend) GetJourneys ¶
func (b *InMemoryBackend) GetJourneys(appID string) ([]*Journey, error)
GetJourneys returns all journeys for an application.
func (*InMemoryBackend) GetPushTemplate ¶
func (b *InMemoryBackend) GetPushTemplate(templateName string) (*PushTemplate, error)
GetPushTemplate retrieves a push notification template by name.
func (*InMemoryBackend) GetRecommenderConfiguration ¶
func (b *InMemoryBackend) GetRecommenderConfiguration( recommenderID string, ) (*RecommenderConfiguration, error)
GetRecommenderConfiguration retrieves a recommender by ID.
func (*InMemoryBackend) GetRecommenderConfigurations ¶
func (b *InMemoryBackend) GetRecommenderConfigurations() ([]*RecommenderConfiguration, error)
GetRecommenderConfigurations returns all recommender configurations.
func (*InMemoryBackend) GetSegment ¶
func (b *InMemoryBackend) GetSegment(appID, segmentID string) (*Segment, error)
GetSegment retrieves a Pinpoint segment by appID and segmentID.
func (*InMemoryBackend) GetSegmentExportJobs ¶
func (b *InMemoryBackend) GetSegmentExportJobs(appID, _ string) ([]*ExportJob, error)
GetSegmentExportJobs returns all export jobs for a segment.
func (*InMemoryBackend) GetSegmentImportJobs ¶
func (b *InMemoryBackend) GetSegmentImportJobs(appID, segmentID string) ([]*ImportJob, error)
GetSegmentImportJobs returns import jobs associated with a specific segment.
func (*InMemoryBackend) GetSegmentVersion ¶
func (b *InMemoryBackend) GetSegmentVersion( appID, segmentID string, version int, ) (*Segment, error)
GetSegmentVersion returns a specific segment version.
func (*InMemoryBackend) GetSegmentVersions ¶
func (b *InMemoryBackend) GetSegmentVersions(appID, segmentID string) ([]*Segment, error)
GetSegmentVersions returns all stored versions of a segment.
func (*InMemoryBackend) GetSegments ¶
func (b *InMemoryBackend) GetSegments(appID string) ([]*Segment, error)
GetSegments returns all segments for an application.
func (*InMemoryBackend) GetSmsTemplate ¶
func (b *InMemoryBackend) GetSmsTemplate(templateName string) (*SmsTemplate, error)
GetSmsTemplate retrieves an SMS template by name.
func (*InMemoryBackend) GetUserEndpoints ¶
func (b *InMemoryBackend) GetUserEndpoints(appID, userID string) ([]*Endpoint, error)
GetUserEndpoints retrieves all endpoints for a user in an application.
func (*InMemoryBackend) GetVoiceTemplate ¶
func (b *InMemoryBackend) GetVoiceTemplate(templateName string) (*VoiceTemplate, error)
GetVoiceTemplate retrieves a Pinpoint voice template by name.
func (*InMemoryBackend) ListTagsForResource ¶
func (b *InMemoryBackend) ListTagsForResource(resourceARN string) (map[string]string, error)
ListTagsForResource returns all tags for a resource identified by ARN.
func (*InMemoryBackend) ListTemplateVersions ¶
func (b *InMemoryBackend) ListTemplateVersions( templateName, templateType string, ) ([]*templateVersionItem, error)
ListTemplateVersions returns stored version history for a template.
func (*InMemoryBackend) ListTemplates ¶
func (b *InMemoryBackend) ListTemplates() ([]*templateListItem, error)
ListTemplates returns all templates sorted by name.
func (*InMemoryBackend) PhoneNumberValidate ¶
func (b *InMemoryBackend) PhoneNumberValidate( phoneNumber string, ) (*phoneNumberValidateResponse, error)
PhoneNumberValidate validates a phone number and returns a cleaned E164 response.
func (*InMemoryBackend) PutEventStream ¶
func (b *InMemoryBackend) PutEventStream( appID string, req putEventStreamRequest, ) (*EventStream, error)
PutEventStream creates or updates the event stream for an application.
func (*InMemoryBackend) PutEvents ¶
func (b *InMemoryBackend) PutEvents(appID string, req putEventsRequest) (*eventsResponse, error)
PutEvents records events for an application and returns per-endpoint per-event results.
func (*InMemoryBackend) Region ¶
func (b *InMemoryBackend) Region() string
Region returns the configured AWS region.
func (*InMemoryBackend) RemoveAttributes ¶
func (b *InMemoryBackend) RemoveAttributes( appID, attributeType string, blacklist []string, ) (*attributesResource, error)
RemoveAttributes removes the attributes named in blacklist, of the given attributeType category, from every endpoint in the application. It returns the updated attributesResource echoing back what was removed.
func (*InMemoryBackend) Reset ¶
func (b *InMemoryBackend) Reset()
Reset clears all stored state and returns the backend to a pristine state.
func (*InMemoryBackend) Restore ¶
func (b *InMemoryBackend) Restore(ctx context.Context, data []byte) error
Restore loads backend state from a JSON snapshot.
func (*InMemoryBackend) SendMessages ¶
func (b *InMemoryBackend) SendMessages( appID string, req sendMessagesRequest, ) (*messageResponse, error)
SendMessages sends messages and tracks send count.
func (*InMemoryBackend) SendOTPMessage ¶
func (b *InMemoryBackend) SendOTPMessage(appID string) (*sendOTPMessageResponse, error)
SendOTPMessage sends an OTP message and stores the generated code.
func (*InMemoryBackend) SendUsersMessages ¶
func (b *InMemoryBackend) SendUsersMessages( appID string, req sendUsersMessagesRequest, ) (*usersMessageResponse, error)
SendUsersMessages sends messages to users, returning per-endpoint results keyed by userID.
func (*InMemoryBackend) Snapshot ¶
func (b *InMemoryBackend) Snapshot(ctx context.Context) []byte
Snapshot serialises the backend state to JSON.
func (*InMemoryBackend) TagResource ¶
func (b *InMemoryBackend) TagResource(resourceARN string, tags map[string]string) error
TagResource adds or updates tags on a resource identified by ARN.
func (*InMemoryBackend) UntagResource ¶
func (b *InMemoryBackend) UntagResource(resourceARN string, tagKeys []string) error
UntagResource removes tags from a resource identified by ARN.
func (*InMemoryBackend) UpdateApplicationSettings ¶
func (b *InMemoryBackend) UpdateApplicationSettings( appID string, settings *storedAppSettings, ) (*storedAppSettings, error)
UpdateApplicationSettings updates the settings for a Pinpoint application.
func (*InMemoryBackend) UpdateCampaign ¶
func (b *InMemoryBackend) UpdateCampaign( appID, campaignID string, req updateCampaignRequest, ) (*Campaign, error)
UpdateCampaign updates an existing Pinpoint campaign.
func (*InMemoryBackend) UpdateEmailTemplate ¶
func (b *InMemoryBackend) UpdateEmailTemplate( templateName string, req createEmailTemplateRequest, ) (*EmailTemplate, error)
UpdateEmailTemplate updates an existing email template.
func (*InMemoryBackend) UpdateEndpoint ¶
func (b *InMemoryBackend) UpdateEndpoint( appID, endpointID string, req updateEndpointRequest, ) (*Endpoint, error)
UpdateEndpoint creates or updates a Pinpoint endpoint.
func (*InMemoryBackend) UpdateEndpointsBatch ¶
func (b *InMemoryBackend) UpdateEndpointsBatch( appID string, endpoints map[string]updateEndpointRequest, ) error
UpdateEndpointsBatch updates multiple endpoints in a single call.
func (*InMemoryBackend) UpdateInAppTemplate ¶
func (b *InMemoryBackend) UpdateInAppTemplate( templateName string, req createInAppTemplateRequest, ) (*InAppTemplate, error)
UpdateInAppTemplate updates an existing in-app template.
func (*InMemoryBackend) UpdateJourney ¶
func (b *InMemoryBackend) UpdateJourney( appID, journeyID string, req updateJourneyRequest, ) (*Journey, error)
UpdateJourney updates an existing Pinpoint journey.
func (*InMemoryBackend) UpdateJourneyState ¶
func (b *InMemoryBackend) UpdateJourneyState(appID, journeyID, state string) (*Journey, error)
UpdateJourneyState updates the state of a Pinpoint journey.
func (*InMemoryBackend) UpdatePushTemplate ¶
func (b *InMemoryBackend) UpdatePushTemplate( templateName string, req createPushTemplateRequest, ) (*PushTemplate, error)
UpdatePushTemplate updates an existing push notification template.
func (*InMemoryBackend) UpdateRecommenderConfiguration ¶
func (b *InMemoryBackend) UpdateRecommenderConfiguration( recommenderID string, req createRecommenderConfigRequest, ) (*RecommenderConfiguration, error)
UpdateRecommenderConfiguration updates an existing recommender.
func (*InMemoryBackend) UpdateSegment ¶
func (b *InMemoryBackend) UpdateSegment( appID, segmentID string, req updateSegmentRequest, ) (*Segment, error)
UpdateSegment updates an existing Pinpoint segment.
func (*InMemoryBackend) UpdateSmsTemplate ¶
func (b *InMemoryBackend) UpdateSmsTemplate( templateName string, req createSmsTemplateRequest, ) (*SmsTemplate, error)
UpdateSmsTemplate updates an existing SMS template.
func (*InMemoryBackend) UpdateTemplateActiveVersion ¶
func (b *InMemoryBackend) UpdateTemplateActiveVersion(templateName, templateType string) error
UpdateTemplateActiveVersion updates the active version to the latest for the given template.
func (*InMemoryBackend) UpdateVoiceTemplate ¶
func (b *InMemoryBackend) UpdateVoiceTemplate( templateName string, req createVoiceTemplateRequest, ) (*VoiceTemplate, error)
UpdateVoiceTemplate updates an existing Pinpoint voice template.
func (*InMemoryBackend) UpsertChannel ¶
func (b *InMemoryBackend) UpsertChannel( appID, channelType string, enabled bool, extra map[string]any, ) *Channel
UpsertChannel creates or updates a channel for an app with type-specific data.
func (*InMemoryBackend) VerifyOTPMessage ¶
func (b *InMemoryBackend) VerifyOTPMessage(appID, code string) (*verifyOTPMessageResponse, error)
VerifyOTPMessage verifies an OTP code for the given app. If code is non-empty it must match the stored code exactly. If code is empty it falls back to checking whether any OTP was ever sent.
type Journey ¶
type Journey struct {
Tags map[string]string `json:"tags,omitempty"`
Activities map[string]map[string]any `json:"Activities,omitempty"`
StartCondition map[string]any `json:"StartCondition,omitempty"`
Schedule map[string]any `json:"Schedule,omitempty"`
Limits map[string]any `json:"Limits,omitempty"`
QuietTime map[string]any `json:"QuietTime,omitempty"`
OpenHours map[string]any `json:"OpenHours,omitempty"`
ClosedDays map[string]any `json:"ClosedDays,omitempty"`
ApplicationID string `json:"ApplicationId"`
ARN string `json:"Arn,omitempty"`
ID string `json:"Id"`
Name string `json:"Name"`
StartActivity string `json:"StartActivity,omitempty"`
RefreshFrequency string `json:"RefreshFrequency,omitempty"`
CreationDate string `json:"CreationDate,omitempty"`
LastModifiedDate string `json:"LastModifiedDate,omitempty"`
State string `json:"State"`
LocalTime bool `json:"LocalTime,omitempty"`
WaitForQuietTime bool `json:"WaitForQuietTime,omitempty"`
RefreshOnSegmentUpdate bool `json:"RefreshOnSegmentUpdate,omitempty"`
}
Journey represents a Pinpoint journey.
type Provider ¶
type Provider struct{}
Provider implements service.Provider for the Pinpoint service.
func (*Provider) Init ¶
func (p *Provider) Init(ctx *service.AppContext) (service.Registerable, error)
Init initializes the Pinpoint service backend and handler.
type PushTemplate ¶
type PushTemplate struct {
APNS map[string]any `json:"APNS,omitempty"`
Default map[string]any `json:"Default,omitempty"`
GCM map[string]any `json:"GCM,omitempty"`
Tags map[string]string `json:"tags,omitempty"`
ARN string `json:"Arn,omitempty"`
Body string `json:"Body,omitempty"`
CreationDate string `json:"CreationDate,omitempty"`
LastModifiedDate string `json:"LastModifiedDate,omitempty"`
TemplateDescription string `json:"TemplateDescription,omitempty"`
TemplateName string `json:"TemplateName"`
Title string `json:"Title,omitempty"`
Version string `json:"Version,omitempty"`
}
PushTemplate represents a Pinpoint push notification template.
type RecommenderConfiguration ¶
type RecommenderConfiguration struct {
Attributes map[string]string `json:"Attributes,omitempty"`
ID string `json:"Id"`
Name string `json:"Name"`
Description string `json:"Description,omitempty"`
RecommendationProviderIDType string `json:"RecommendationProviderIdType,omitempty"`
RecommendationProviderRoleARN string `json:"RecommendationProviderRoleArn,omitempty"`
RecommendationProviderURI string `json:"RecommendationProviderUri,omitempty"`
CreationDate string `json:"CreationDate,omitempty"`
LastModifiedDate string `json:"LastModifiedDate,omitempty"`
RecommendationsPerMessage int `json:"RecommendationsPerMessage,omitempty"`
}
RecommenderConfiguration represents a Pinpoint recommender configuration.
type Segment ¶
type Segment struct {
Tags map[string]string `json:"tags,omitempty"`
Dimensions map[string]any `json:"Dimensions,omitempty"`
SegmentGroups map[string]any `json:"SegmentGroups,omitempty"`
ImportDefinition map[string]any `json:"ImportDefinition,omitempty"`
ApplicationID string `json:"ApplicationId"`
ARN string `json:"Arn,omitempty"`
ID string `json:"Id"`
Name string `json:"Name"`
CreationDate string `json:"CreationDate,omitempty"`
LastModifiedDate string `json:"LastModifiedDate,omitempty"`
SegmentType string `json:"SegmentType"`
Version int `json:"Version,omitempty"`
}
Segment represents a Pinpoint segment.
type SmsTemplate ¶
type SmsTemplate struct {
ARN string `json:"Arn,omitempty"`
Body string `json:"Body,omitempty"`
CreationDate string `json:"CreationDate,omitempty"`
LastModifiedDate string `json:"LastModifiedDate,omitempty"`
SenderID string `json:"SenderId,omitempty"`
Tags map[string]string `json:"tags,omitempty"`
TemplateDescription string `json:"TemplateDescription,omitempty"`
TemplateName string `json:"TemplateName"`
Version string `json:"Version,omitempty"`
}
SmsTemplate represents a Pinpoint SMS template.
type StorageBackend ¶
type StorageBackend interface {
// App operations
CreateApp(region, accountID, name string, tags map[string]string) (*App, error)
GetApp(appID string) (*App, error)
DeleteApp(appID string) (*App, error)
GetApps() ([]*App, error)
GetApplicationSettings(appID string) (*storedAppSettings, error)
UpdateApplicationSettings(appID string, settings *storedAppSettings) (*storedAppSettings, error)
// Tag operations
TagResource(resourceARN string, tags map[string]string) error
UntagResource(resourceARN string, tagKeys []string) error
ListTagsForResource(resourceARN string) (map[string]string, error)
// Campaign operations
CreateCampaign(region, accountID, appID string, req createCampaignRequest) (*Campaign, error)
GetCampaign(appID, campaignID string) (*Campaign, error)
GetCampaigns(appID string) ([]*Campaign, error)
UpdateCampaign(appID, campaignID string, req updateCampaignRequest) (*Campaign, error)
DeleteCampaign(appID, campaignID string) (*Campaign, error)
GetCampaignActivities(appID, campaignID string) (*campaignActivitiesResponse, error)
GetCampaignDateRangeKpi(appID, campaignID, kpiName string) (*kpiResult, error)
GetCampaignVersion(appID, campaignID string, version int) (*Campaign, error)
GetCampaignVersions(appID, campaignID string) ([]*Campaign, error)
// Template operations
CreateEmailTemplate(region, accountID, templateName string, req createEmailTemplateRequest) (*EmailTemplate, error)
GetEmailTemplate(templateName string) (*EmailTemplate, error)
UpdateEmailTemplate(templateName string, req createEmailTemplateRequest) (*EmailTemplate, error)
DeleteEmailTemplate(templateName string) (*EmailTemplate, error)
CreateInAppTemplate(region, accountID, templateName string, req createInAppTemplateRequest) (*InAppTemplate, error)
GetInAppTemplate(templateName string) (*InAppTemplate, error)
UpdateInAppTemplate(templateName string, req createInAppTemplateRequest) (*InAppTemplate, error)
DeleteInAppTemplate(templateName string) (*InAppTemplate, error)
CreatePushTemplate(region, accountID, templateName string, req createPushTemplateRequest) (*PushTemplate, error)
GetPushTemplate(templateName string) (*PushTemplate, error)
UpdatePushTemplate(templateName string, req createPushTemplateRequest) (*PushTemplate, error)
DeletePushTemplate(templateName string) (*PushTemplate, error)
CreateSmsTemplate(region, accountID, templateName string, req createSmsTemplateRequest) (*SmsTemplate, error)
GetSmsTemplate(templateName string) (*SmsTemplate, error)
UpdateSmsTemplate(templateName string, req createSmsTemplateRequest) (*SmsTemplate, error)
DeleteSmsTemplate(templateName string) (*SmsTemplate, error)
CreateVoiceTemplate(region, accountID, templateName string, req createVoiceTemplateRequest) (*VoiceTemplate, error)
GetVoiceTemplate(templateName string) (*VoiceTemplate, error)
UpdateVoiceTemplate(templateName string, req createVoiceTemplateRequest) (*VoiceTemplate, error)
DeleteVoiceTemplate(templateName string) (*VoiceTemplate, error)
ListTemplates() ([]*templateListItem, error)
ListTemplateVersions(templateName, templateType string) ([]*templateVersionItem, error)
UpdateTemplateActiveVersion(templateName, templateType string) error
// Job operations
CreateExportJob(region, accountID, appID string, req createExportJobRequest) (*ExportJob, error)
GetExportJob(appID, jobID string) (*ExportJob, error)
GetExportJobs(appID string) ([]*ExportJob, error)
GetSegmentExportJobs(appID, segmentID string) ([]*ExportJob, error)
CreateImportJob(region, accountID, appID string, req createImportJobRequest) (*ImportJob, error)
GetImportJob(appID, jobID string) (*ImportJob, error)
GetImportJobs(appID string) ([]*ImportJob, error)
GetSegmentImportJobs(appID, segmentID string) ([]*ImportJob, error)
// Journey operations
CreateJourney(region, accountID, appID string, req createJourneyRequest) (*Journey, error)
GetJourney(appID, journeyID string) (*Journey, error)
GetJourneys(appID string) ([]*Journey, error)
UpdateJourney(appID, journeyID string, req updateJourneyRequest) (*Journey, error)
UpdateJourneyState(appID, journeyID, state string) (*Journey, error)
DeleteJourney(appID, journeyID string) (*Journey, error)
GetJourneyDateRangeKpi(appID, journeyID, kpiName string) (*kpiResult, error)
GetJourneyExecutionMetrics(appID, journeyID string) (*journeyExecutionMetricsResponse, error)
GetJourneyExecutionActivityMetrics(
appID, journeyID, activityID string,
) (*journeyExecutionActivityMetricsResponse, error)
GetJourneyRuns(appID, journeyID string) (*journeyRunsResponse, error)
GetJourneyRunExecutionMetrics(appID, journeyID, runID string) (*journeyRunExecutionMetricsResponse, error)
GetJourneyRunExecutionActivityMetrics(
appID, journeyID, runID, activityID string,
) (*journeyRunExecutionActivityMetricsResponse, error)
// Recommender operations
CreateRecommenderConfiguration(req createRecommenderConfigRequest) (*RecommenderConfiguration, error)
GetRecommenderConfiguration(recommenderID string) (*RecommenderConfiguration, error)
GetRecommenderConfigurations() ([]*RecommenderConfiguration, error)
UpdateRecommenderConfiguration(
recommenderID string,
req createRecommenderConfigRequest,
) (*RecommenderConfiguration, error)
DeleteRecommenderConfiguration(recommenderID string) (*RecommenderConfiguration, error)
// Segment operations
CreateSegment(region, accountID, appID string, req createSegmentRequest) (*Segment, error)
GetSegment(appID, segmentID string) (*Segment, error)
GetSegments(appID string) ([]*Segment, error)
UpdateSegment(appID, segmentID string, req updateSegmentRequest) (*Segment, error)
DeleteSegment(appID, segmentID string) (*Segment, error)
GetSegmentVersion(appID, segmentID string, version int) (*Segment, error)
GetSegmentVersions(appID, segmentID string) ([]*Segment, error)
// Endpoint operations
GetEndpoint(appID, endpointID string) (*Endpoint, error)
UpdateEndpoint(appID, endpointID string, req updateEndpointRequest) (*Endpoint, error)
DeleteEndpoint(appID, endpointID string) (*Endpoint, error)
GetUserEndpoints(appID, userID string) ([]*Endpoint, error)
DeleteUserEndpoints(appID, userID string) error
UpdateEndpointsBatch(appID string, endpoints map[string]updateEndpointRequest) error
// EventStream operations
GetEventStream(appID string) (*EventStream, error)
PutEventStream(appID string, req putEventStreamRequest) (*EventStream, error)
DeleteEventStream(appID string) (*EventStream, error)
// Channel operations
GetChannel(appID, channelType string) *Channel
UpsertChannel(appID, channelType string, enabled bool, extra map[string]any) *Channel
DeleteChannel(appID, channelType string) *Channel
GetAllChannels(appID string) map[string]*Channel
// Analytics
GetApplicationDateRangeKpi(appID, kpiName string) (*kpiResult, error)
// Messaging
SendMessages(appID string, req sendMessagesRequest) (*messageResponse, error)
SendUsersMessages(appID string, req sendUsersMessagesRequest) (*usersMessageResponse, error)
SendOTPMessage(appID string) (*sendOTPMessageResponse, error)
VerifyOTPMessage(appID, code string) (*verifyOTPMessageResponse, error)
PutEvents(appID string, req putEventsRequest) (*eventsResponse, error)
PhoneNumberValidate(phoneNumber string) (*phoneNumberValidateResponse, error)
RemoveAttributes(appID, attributeType string, blacklist []string) (*attributesResource, error)
GetInAppMessages(appID, endpointID string) (*inAppMessagesResponse, error)
// Lifecycle
Reset()
Region() string
AccountID() string
Snapshot(ctx context.Context) []byte
Restore(ctx context.Context, data []byte) error
}
StorageBackend defines the interface for Pinpoint backend implementations. All mutating methods must be safe for concurrent use.
type VoiceTemplate ¶
type VoiceTemplate struct {
Tags map[string]string `json:"tags,omitempty"`
ARN string `json:"Arn,omitempty"`
TemplateName string `json:"TemplateName"`
Body string `json:"Body,omitempty"`
CreationDate string `json:"CreationDate,omitempty"`
}
VoiceTemplate represents a Pinpoint voice template.
Source Files
¶
- applications_settings.go
- apps.go
- attributes.go
- campaign_activities.go
- campaigns.go
- channels.go
- endpoints.go
- errors.go
- event_streams.go
- events.go
- export_import_jobs.go
- exports.go
- handler.go
- handler_applications_settings.go
- handler_apps.go
- handler_attributes.go
- handler_campaigns.go
- handler_channels.go
- handler_endpoints.go
- handler_event_streams.go
- handler_events.go
- handler_export_import_jobs.go
- handler_in_app_messages.go
- handler_journeys.go
- handler_messages.go
- handler_recommender_configurations.go
- handler_segments.go
- handler_tags.go
- handler_templates.go
- in_app_messages.go
- interfaces.go
- journeys.go
- messages.go
- models.go
- persistence.go
- provider.go
- recommender_configurations.go
- segments.go
- store.go
- store_setup.go
- tags.go
- templates.go
- wire.go