webhook

package
v0.0.0-...-a423d60 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 4, 2024 License: Apache-2.0 Imports: 9 Imported by: 3

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Application

type Application struct {
	BaseURL string `json:"BaseUrl"`
}

Application represents the fields needed for determining the Template's values

type ApplicationLifecycleWebhookRequestObject

type ApplicationLifecycleWebhookRequestObject struct {
	Application Resource
	TenantID    string
	Headers     map[string]string
}

ApplicationLifecycleWebhookRequestObject struct contains parts of request that might be needed for later processing of a Webhook request

func (*ApplicationLifecycleWebhookRequestObject) ParseHeadersTemplate

func (rd *ApplicationLifecycleWebhookRequestObject) ParseHeadersTemplate(tmpl *string) (http.Header, error)

ParseHeadersTemplate missing godoc

func (*ApplicationLifecycleWebhookRequestObject) ParseInputTemplate

func (rd *ApplicationLifecycleWebhookRequestObject) ParseInputTemplate(tmpl *string) ([]byte, error)

ParseInputTemplate missing godoc

func (*ApplicationLifecycleWebhookRequestObject) ParseURLTemplate

func (rd *ApplicationLifecycleWebhookRequestObject) ParseURLTemplate(tmpl *string) (*URL, error)

ParseURLTemplate missing godoc

type ApplicationTemplateWithLabels

type ApplicationTemplateWithLabels struct {
	*model.ApplicationTemplate
	Labels       map[string]string
	Tenant       *TenantWithLabels
	TrustDetails *TrustDetails
}

ApplicationTemplateWithLabels represents an application template with its corresponding labels

type ApplicationTenantMappingInput

type ApplicationTenantMappingInput struct {
	Operation                 model.FormationOperation
	FormationID               string
	Formation                 *model.Formation
	SourceApplicationTemplate *ApplicationTemplateWithLabels
	// SourceApplication is the application that the notification is about
	SourceApplication         *ApplicationWithLabels
	TargetApplicationTemplate *ApplicationTemplateWithLabels
	// TargetApplication is the application that the notification is for (the one with the webhook / the one receiving the notification)
	TargetApplication     *ApplicationWithLabels
	CustomerTenantContext *CustomerTenantContext
	Assignment            *FormationAssignment
	ReverseAssignment     *FormationAssignment
}

ApplicationTenantMappingInput struct contains the input for an app-to-app formation notification

func (*ApplicationTenantMappingInput) Clone

Clone returns a copy of the ApplicationTenantMappingInput

func (*ApplicationTenantMappingInput) GetParticipantsIDs

func (rd *ApplicationTenantMappingInput) GetParticipantsIDs() []string

GetParticipantsIDs returns the list of IDs part of the FormationConfigurationChangeInput

func (*ApplicationTenantMappingInput) ParseHeadersTemplate

func (rd *ApplicationTenantMappingInput) ParseHeadersTemplate(tmpl *string) (http.Header, error)

ParseHeadersTemplate missing godoc

func (*ApplicationTenantMappingInput) ParseInputTemplate

func (rd *ApplicationTenantMappingInput) ParseInputTemplate(tmpl *string) ([]byte, error)

ParseInputTemplate missing godoc

func (*ApplicationTenantMappingInput) ParseURLTemplate

func (rd *ApplicationTenantMappingInput) ParseURLTemplate(tmpl *string) (*URL, error)

ParseURLTemplate missing godoc

func (*ApplicationTenantMappingInput) SetAssignment

func (rd *ApplicationTenantMappingInput) SetAssignment(assignment *model.FormationAssignment)

SetAssignment sets the assignment for the ApplicationTenantMappingInput to the provided one

func (*ApplicationTenantMappingInput) SetReverseAssignment

func (rd *ApplicationTenantMappingInput) SetReverseAssignment(reverseAssignment *model.FormationAssignment)

SetReverseAssignment sets the reverseAssignment for the ApplicationTenantMappingInput to the provided one

type ApplicationWithLabels

type ApplicationWithLabels struct {
	*model.Application
	Labels map[string]string
	Tenant *TenantWithLabels
}

ApplicationWithLabels represents an application with its corresponding labels

type CustomerTenantContext

type CustomerTenantContext struct {
	CustomerID   string
	CostObjectID string
	AccountID    *string
	Path         *string
}

CustomerTenantContext represents the tenant hierarchy of the customer creating the formation. Both IDs are the external ones

type FormationAssignment

type FormationAssignment struct {
	ID          string                        `json:"id"`
	FormationID string                        `json:"formation_id"`
	TenantID    string                        `json:"tenant_id"`
	Source      string                        `json:"source"`
	SourceType  model.FormationAssignmentType `json:"source_type"`
	Target      string                        `json:"target"`
	TargetType  model.FormationAssignmentType `json:"target_type"`
	State       string                        `json:"state"`
	Value       *string                       `json:"value"`
	Error       *string                       `json:"error"`
}

FormationAssignment represents the FormationAssignment model, but with the value stored as a string Because otherwise the template later renders it as a stringified []byte rather than a string

type FormationAssignmentTemplateInput

type FormationAssignmentTemplateInput interface {
	TemplateInput
	GetParticipantsIDs() []string
	SetAssignment(*model.FormationAssignment)
	SetReverseAssignment(*model.FormationAssignment)
	Clone() FormationAssignmentTemplateInput
}

FormationAssignmentTemplateInput is an interface that unions all structs that can act as a template input for a webhook

type FormationConfigurationChangeInput

type FormationConfigurationChangeInput struct {
	Operation             model.FormationOperation
	FormationID           string
	Formation             *model.Formation
	ApplicationTemplate   *ApplicationTemplateWithLabels
	Application           *ApplicationWithLabels
	Runtime               *RuntimeWithLabels
	RuntimeContext        *RuntimeContextWithLabels
	CustomerTenantContext *CustomerTenantContext
	Assignment            *FormationAssignment
	ReverseAssignment     *FormationAssignment
}

FormationConfigurationChangeInput struct contains the input for a formation notification

func (*FormationConfigurationChangeInput) Clone

Clone returns a copy of the FormationConfigurationChangeInput

func (*FormationConfigurationChangeInput) GetParticipantsIDs

func (rd *FormationConfigurationChangeInput) GetParticipantsIDs() []string

GetParticipantsIDs returns the list of IDs part of the FormationConfigurationChangeInput

func (*FormationConfigurationChangeInput) ParseHeadersTemplate

func (rd *FormationConfigurationChangeInput) ParseHeadersTemplate(tmpl *string) (http.Header, error)

ParseHeadersTemplate missing godoc

func (*FormationConfigurationChangeInput) ParseInputTemplate

func (rd *FormationConfigurationChangeInput) ParseInputTemplate(tmpl *string) ([]byte, error)

ParseInputTemplate missing godoc

func (*FormationConfigurationChangeInput) ParseURLTemplate

func (rd *FormationConfigurationChangeInput) ParseURLTemplate(tmpl *string) (*URL, error)

ParseURLTemplate missing godoc

func (*FormationConfigurationChangeInput) SetAssignment

func (rd *FormationConfigurationChangeInput) SetAssignment(assignment *model.FormationAssignment)

SetAssignment sets the assignment for the FormationConfigurationChangeInput to the provided one

func (*FormationConfigurationChangeInput) SetReverseAssignment

func (rd *FormationConfigurationChangeInput) SetReverseAssignment(reverseAssignment *model.FormationAssignment)

SetReverseAssignment sets the reverse assignment for the FormationConfigurationChangeInput to the provided one

type FormationLifecycleInput

type FormationLifecycleInput struct {
	Operation             model.FormationOperation
	Formation             *model.Formation
	CustomerTenantContext *CustomerTenantContext
}

FormationLifecycleInput struct contains the input for FORMATION_LIFECYCLE webhook

func (*FormationLifecycleInput) ParseHeadersTemplate

func (fl *FormationLifecycleInput) ParseHeadersTemplate(tmpl *string) (http.Header, error)

ParseHeadersTemplate parses the headers template

func (*FormationLifecycleInput) ParseInputTemplate

func (fl *FormationLifecycleInput) ParseInputTemplate(tmpl *string) ([]byte, error)

ParseInputTemplate parses the input template

func (*FormationLifecycleInput) ParseURLTemplate

func (fl *FormationLifecycleInput) ParseURLTemplate(tmpl *string) (*URL, error)

ParseURLTemplate parses the URL template

type Mode

type Mode string

Mode is an enum for the mode of the webhook (sync or async)

type OpenResourceDiscoveryWebhookRequestObject

type OpenResourceDiscoveryWebhookRequestObject struct {
	Application Application
	TenantID    string
	Headers     *sync.Map
}

OpenResourceDiscoveryWebhookRequestObject struct contains parts of request that might be needed for later processing of a Webhook request

func (*OpenResourceDiscoveryWebhookRequestObject) ParseHeadersTemplate

func (rd *OpenResourceDiscoveryWebhookRequestObject) ParseHeadersTemplate(tmpl *string) (http.Header, error)

ParseHeadersTemplate missing godoc

func (*OpenResourceDiscoveryWebhookRequestObject) ParseInputTemplate

func (rd *OpenResourceDiscoveryWebhookRequestObject) ParseInputTemplate(tmpl *string) ([]byte, error)

ParseInputTemplate missing godoc

func (*OpenResourceDiscoveryWebhookRequestObject) ParseURLTemplate

func (rd *OpenResourceDiscoveryWebhookRequestObject) ParseURLTemplate(tmpl *string) (*URL, error)

ParseURLTemplate missing godoc

type Resource

type Resource interface {
	Sentinel()
}

Resource is used to identify entities which can be part of a webhook's request data

type Response

type Response struct {
	Config               *string `json:"config"`
	Location             *string `json:"location"`
	State                *string `json:"state"`
	SuccessStatusCode    *int    `json:"success_status_code"`
	IncompleteStatusCode *int    `json:"incomplete_status_code"`
	ActualStatusCode     *int    `json:"-"`
	GoneStatusCode       *int    `json:"gone_status_code"`
	Error                *string `json:"error"`
}

Response defines the schema for Webhook output templates

func (*Response) Validate

func (r *Response) Validate() error

Validate missing godoc

type ResponseObject

type ResponseObject struct {
	Body    map[string]string
	Headers map[string]string
}

ResponseObject struct contains parts of response that might be needed for later processing of Webhook response

func (*ResponseObject) ParseOutputTemplate

func (rd *ResponseObject) ParseOutputTemplate(tmpl *string) (*Response, error)

ParseOutputTemplate missing godoc

func (*ResponseObject) ParseStatusTemplate

func (rd *ResponseObject) ParseStatusTemplate(tmpl *string) (*ResponseStatus, error)

ParseStatusTemplate missing godoc

type ResponseStatus

type ResponseStatus struct {
	Status                     *string `json:"status"`
	SuccessStatusCode          *int    `json:"success_status_code"`
	SuccessStatusIdentifier    *string `json:"success_status_identifier"`
	InProgressStatusIdentifier *string `json:"in_progress_status_identifier"`
	FailedStatusIdentifier     *string `json:"failed_status_identifier"`
	Error                      *string `json:"error"`
}

ResponseStatus defines the schema for Webhook status templates when dealing with async webhooks

func (*ResponseStatus) Validate

func (rs *ResponseStatus) Validate() error

Validate missing godoc

type RuntimeContextWithLabels

type RuntimeContextWithLabels struct {
	*model.RuntimeContext
	Labels map[string]string
	Tenant *TenantWithLabels
}

RuntimeContextWithLabels represents runtime context with its corresponding labels

type RuntimeWithLabels

type RuntimeWithLabels struct {
	*model.Runtime
	Labels       map[string]string
	Tenant       *TenantWithLabels
	TrustDetails *TrustDetails
}

RuntimeWithLabels represents a runtime with its corresponding labels

type TemplateInput

type TemplateInput interface {
	ParseURLTemplate(tmpl *string) (*URL, error)
	ParseInputTemplate(tmpl *string) ([]byte, error)
	ParseHeadersTemplate(tmpl *string) (http.Header, error)
}

TemplateInput is an interface that unions all structs that can act as a template input for a webhook

type TenantWithLabels

type TenantWithLabels struct {
	*model.BusinessTenantMapping
	Labels map[string]string
}

TenantWithLabels represents a tenant with its corresponding labels

type TrustDetails

type TrustDetails struct {
	Subjects []string
}

TrustDetails represents the certificate details

type URL

type URL struct {
	Method *string `json:"method"`
	Path   *string `json:"path"`
}

URL missing godoc

func (*URL) Validate

func (u *URL) Validate() error

Validate missing godoc

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL