oci

package
v0.19.0 Latest Latest
Warning

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

Go to latest
Published: May 4, 2026 License: Apache-2.0 Imports: 25 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ResourceTypeCompartment         = "compartment"
	ResourceTypeAvailabilityDomain  = "availabilityDomain"
	ResourceTypeShape               = "shape"
	ResourceTypeImage               = "image"
	ResourceTypeVCN                 = "vcn"
	ResourceTypeSubnet              = "subnet"
	ResourceTypeBlockVolume         = "blockVolume"
	ResourceTypeFunctionApplication = "functionApplication"
	ResourceTypeFunction            = "function"
	ResourceTypeContainerRepository = "containerRepository"
	ResourceTypeContainerImage      = "containerImage"
)
View Source
const (
	ComputeInstancePayloadType = "oci.computeInstanceCreated"
)
View Source
const CreateApplicationPayloadType = "oci.applicationCreated"
View Source
const CreateFunctionPayloadType = "oci.functionCreated"
View Source
const DeleteApplicationPayloadType = "oci.applicationDeleted"
View Source
const DeleteFunctionPayloadType = "oci.functionDeleted"
View Source
const InvokeFunctionPayloadType = "oci.functionInvoked"
View Source
const (
	OnComputeInstanceCreatedPayloadType = "oci.onComputeInstanceCreated"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type AvailabilityDomain

type AvailabilityDomain struct {
	Name          string `json:"name"`
	CompartmentID string `json:"compartmentId"`
}

type BlockVolume

type BlockVolume struct {
	ID             string `json:"id"`
	DisplayName    string `json:"displayName"`
	LifecycleState string `json:"lifecycleState"`
	SizeInGBs      int    `json:"sizeInGBs"`
}

type Client

type Client struct {
	// contains filtered or unexported fields
}

Client is an OCI REST API client that signs requests using OCI API Key authentication.

func NewClient

func NewClient(httpCtx core.HTTPContext, integration core.IntegrationContext) (*Client, error)

func (*Client) AttachVolume

func (c *Client) AttachVolume(instanceID, volumeID string) (*VolumeAttachment, error)

AttachVolume attaches an existing block volume to a running instance using paravirtualised attachment.

func (*Client) CreateApplication added in v0.19.0

func (c *Client) CreateApplication(compartmentID, displayName, shape string, subnetIDs []string, freeformTags map[string]string) (*FunctionApplication, error)

CreateApplication creates a new Functions application.

func (*Client) CreateEventsRule

func (c *Client) CreateEventsRule(compartmentID, displayName, condition, topicID string) (*EventsRule, error)

CreateEventsRule creates an OCI Events rule that routes matching events to an ONS topic.

func (*Client) CreateFunction added in v0.19.0

func (c *Client) CreateFunction(input CreateFunctionInput) (*FunctionResource, error)

CreateFunction deploys a new function within an application.

func (*Client) CreateONSSubscription

func (c *Client) CreateONSSubscription(compartmentID, topicID, endpoint string) (*ONSSubscription, error)

CreateONSSubscription creates an HTTPS subscription on an OCI Notifications topic.

func (*Client) CreateONSTopic

func (c *Client) CreateONSTopic(compartmentID, name string) (*ONSTopic, error)

CreateONSTopic creates a new OCI Notifications topic.

func (*Client) DeleteApplication added in v0.19.0

func (c *Client) DeleteApplication(applicationID string) error

DeleteApplication deletes a Functions application by OCID.

func (*Client) DeleteEventsRule

func (c *Client) DeleteEventsRule(ruleID string) error

DeleteEventsRule deletes an OCI Events rule by its OCID.

func (*Client) DeleteFunction added in v0.19.0

func (c *Client) DeleteFunction(functionID string) error

DeleteFunction removes a function by OCID.

func (*Client) DeleteONSSubscription

func (c *Client) DeleteONSSubscription(subscriptionID string) error

DeleteONSSubscription deletes an OCI Notifications subscription by its OCID.

func (*Client) DeleteONSTopic

func (c *Client) DeleteONSTopic(topicID string) error

DeleteONSTopic deletes an OCI Notifications topic by its OCID. Deleting the topic also removes all its subscriptions.

func (*Client) GetApplication added in v0.19.0

func (c *Client) GetApplication(applicationID string) (*FunctionApplication, error)

GetApplication retrieves a Functions application by OCID.

func (*Client) GetFunction added in v0.19.0

func (c *Client) GetFunction(functionID string) (*FunctionResource, error)

GetFunction retrieves a function by OCID.

func (*Client) GetInstance

func (c *Client) GetInstance(instanceID string) (*Instance, error)

GetInstance retrieves a Compute instance by OCID.

func (*Client) GetOCIRNamespace added in v0.19.0

func (c *Client) GetOCIRNamespace(compartmentID string) (string, error)

GetOCIRNamespace returns the tenancy's OCIR (Container Registry) namespace.

func (*Client) GetVNIC

func (c *Client) GetVNIC(vnicID string) (*VNIC, error)

GetVNIC retrieves a VNIC by OCID to obtain IP addresses.

func (*Client) InvokeFunction added in v0.19.0

func (c *Client) InvokeFunction(functionID string, payload []byte) ([]byte, int, error)

InvokeFunction calls the function's invoke endpoint with an optional payload. The invokeEndpoint field from GetFunction is the base host in the form https://<hash>.call.<region>.oci.oraclecloud.com. The full invocation URL is: <invokeEndpoint>/20181201/functions/<functionId>/actions/invoke

func (*Client) LaunchInstance

func (c *Client) LaunchInstance(req LaunchInstanceRequest) (*Instance, error)

LaunchInstance starts a new OCI Compute instance.

func (*Client) ListApplications added in v0.19.0

func (c *Client) ListApplications(compartmentID string) ([]FunctionApplication, error)

ListApplications lists Functions applications in a compartment.

func (*Client) ListAvailabilityDomains

func (c *Client) ListAvailabilityDomains(compartmentID string) ([]AvailabilityDomain, error)

func (*Client) ListBlockVolumes

func (c *Client) ListBlockVolumes(compartmentID string) ([]BlockVolume, error)

func (*Client) ListCompartments

func (c *Client) ListCompartments() ([]Compartment, error)

func (*Client) ListContainerImages added in v0.19.0

func (c *Client) ListContainerImages(compartmentID, repositoryID string) ([]ContainerImage, error)

ListContainerImages lists container images within a repository.

func (*Client) ListContainerRepositories added in v0.19.0

func (c *Client) ListContainerRepositories(compartmentID string) ([]ContainerRepository, error)

ListContainerRepositories lists container repositories in a compartment.

func (*Client) ListFunctions added in v0.19.0

func (c *Client) ListFunctions(applicationID string) ([]FunctionResource, error)

ListFunctions lists functions within an application.

func (*Client) ListImages

func (c *Client) ListImages(compartmentID, operatingSystem string) ([]Image, error)

func (*Client) ListShapes

func (c *Client) ListShapes(compartmentID string) ([]Shape, error)

func (*Client) ListSubnets

func (c *Client) ListSubnets(compartmentID string, vcnID string) ([]Subnet, error)

func (*Client) ListVCNs added in v0.19.0

func (c *Client) ListVCNs(compartmentID string) ([]VCN, error)

func (*Client) ListVNICAttachments

func (c *Client) ListVNICAttachments(compartmentID, instanceID string) ([]VNICAttachment, error)

ListVNICAttachments lists VNIC attachments for an instance, used to find IP addresses.

func (*Client) UpdateEventsRule added in v0.19.0

func (c *Client) UpdateEventsRule(ruleID, condition string) error

UpdateEventsRule updates the condition of an existing OCI Events rule.

func (*Client) ValidateCredentials

func (c *Client) ValidateCredentials() error

ValidateCredentials validates the OCI credentials by fetching the current user.

type Compartment

type Compartment struct {
	ID             string `json:"id"`
	Name           string `json:"name"`
	LifecycleState string `json:"lifecycleState"`
}

type ConfidentialInstanceOptions

type ConfidentialInstanceOptions struct {
	IsEnabled bool `json:"isEnabled"`
}

type Configuration

type Configuration struct {
	TenancyOCID string `json:"tenancyOcid" mapstructure:"tenancyOcid"`
	UserOCID    string `json:"userOcid" mapstructure:"userOcid"`
	Fingerprint string `json:"fingerprint" mapstructure:"fingerprint"`
	PrivateKey  string `json:"privateKey" mapstructure:"privateKey"`
	Region      string `json:"region" mapstructure:"region"`
}

type ContainerImage added in v0.19.0

type ContainerImage struct {
	ID             string `json:"id"`
	DisplayName    string `json:"displayName"`
	CompartmentID  string `json:"compartmentId"`
	RepositoryID   string `json:"repositoryId"`
	RepositoryName string `json:"repositoryName"`
	Version        string `json:"version"`
	LifecycleState string `json:"lifecycleState"`
}

ContainerImage represents a container image version in OCIR.

type ContainerRepository added in v0.19.0

type ContainerRepository struct {
	ID             string `json:"id"`
	DisplayName    string `json:"displayName"`
	CompartmentID  string `json:"compartmentId"`
	LifecycleState string `json:"lifecycleState"`
	ImageCount     int    `json:"imageCount"`
}

ContainerRepository represents an OCI Container Registry repository.

type CreateApplication added in v0.19.0

type CreateApplication struct{}

func (*CreateApplication) Cancel added in v0.19.0

func (*CreateApplication) Cleanup added in v0.19.0

func (c *CreateApplication) Cleanup(_ core.SetupContext) error

func (*CreateApplication) Color added in v0.19.0

func (c *CreateApplication) Color() string

func (*CreateApplication) Configuration added in v0.19.0

func (c *CreateApplication) Configuration() []configuration.Field

func (*CreateApplication) Description added in v0.19.0

func (c *CreateApplication) Description() string

func (*CreateApplication) Documentation added in v0.19.0

func (c *CreateApplication) Documentation() string

func (*CreateApplication) ExampleOutput added in v0.19.0

func (c *CreateApplication) ExampleOutput() map[string]any

func (*CreateApplication) Execute added in v0.19.0

func (c *CreateApplication) Execute(ctx core.ExecutionContext) error

func (*CreateApplication) HandleHook added in v0.19.0

func (c *CreateApplication) HandleHook(ctx core.ActionHookContext) error

func (*CreateApplication) HandleWebhook added in v0.19.0

func (*CreateApplication) Hooks added in v0.19.0

func (c *CreateApplication) Hooks() []core.Hook

func (*CreateApplication) Icon added in v0.19.0

func (c *CreateApplication) Icon() string

func (*CreateApplication) Label added in v0.19.0

func (c *CreateApplication) Label() string

func (*CreateApplication) Name added in v0.19.0

func (c *CreateApplication) Name() string

func (*CreateApplication) OutputChannels added in v0.19.0

func (c *CreateApplication) OutputChannels(_ any) []core.OutputChannel

func (*CreateApplication) ProcessQueueItem added in v0.19.0

func (c *CreateApplication) ProcessQueueItem(ctx core.ProcessQueueContext) (*uuid.UUID, error)

func (*CreateApplication) Setup added in v0.19.0

func (c *CreateApplication) Setup(ctx core.SetupContext) error

type CreateApplicationNodeMetadata added in v0.19.0

type CreateApplicationNodeMetadata struct {
	SubnetID   string `json:"subnetId" mapstructure:"subnetId"`
	SubnetName string `json:"subnetName" mapstructure:"subnetName"`
	Shape      string `json:"shape" mapstructure:"shape"`
}

type CreateApplicationSpec added in v0.19.0

type CreateApplicationSpec struct {
	Compartment  string    `json:"compartment" mapstructure:"compartment"`
	DisplayName  string    `json:"displayName" mapstructure:"displayName"`
	Vcn          string    `json:"vcn" mapstructure:"vcn"`
	Subnet       string    `json:"subnet" mapstructure:"subnet"`
	Shape        string    `json:"shape" mapstructure:"shape"`
	FreeformTags []TagItem `json:"freeformTags" mapstructure:"freeformTags"`
}

type CreateComputeInstance

type CreateComputeInstance struct{}

func (*CreateComputeInstance) Cancel

func (*CreateComputeInstance) Cleanup

func (c *CreateComputeInstance) Cleanup(ctx core.SetupContext) error

func (*CreateComputeInstance) Color

func (c *CreateComputeInstance) Color() string

func (*CreateComputeInstance) Configuration

func (c *CreateComputeInstance) Configuration() []configuration.Field

func (*CreateComputeInstance) Description

func (c *CreateComputeInstance) Description() string

func (*CreateComputeInstance) Documentation

func (c *CreateComputeInstance) Documentation() string

func (*CreateComputeInstance) ExampleOutput

func (c *CreateComputeInstance) ExampleOutput() map[string]any

func (*CreateComputeInstance) Execute

func (*CreateComputeInstance) HandleHook

func (*CreateComputeInstance) HandleWebhook

func (*CreateComputeInstance) Hooks

func (c *CreateComputeInstance) Hooks() []core.Hook

func (*CreateComputeInstance) Icon

func (c *CreateComputeInstance) Icon() string

func (*CreateComputeInstance) Label

func (c *CreateComputeInstance) Label() string

func (*CreateComputeInstance) Name

func (c *CreateComputeInstance) Name() string

func (*CreateComputeInstance) OutputChannels

func (c *CreateComputeInstance) OutputChannels(configuration any) []core.OutputChannel

func (*CreateComputeInstance) ProcessQueueItem

func (c *CreateComputeInstance) ProcessQueueItem(ctx core.ProcessQueueContext) (*uuid.UUID, error)

func (*CreateComputeInstance) Setup

type CreateComputeInstanceSpec

type CreateComputeInstanceSpec struct {
	Compartment                 string   `json:"compartment" mapstructure:"compartment"`
	AvailabilityDomain          string   `json:"availabilityDomain" mapstructure:"availabilityDomain"`
	DisplayName                 string   `json:"displayName" mapstructure:"displayName"`
	ImageOs                     string   `json:"imageOs" mapstructure:"imageOs"`
	Shape                       string   `json:"shape" mapstructure:"shape"`
	Image                       string   `json:"image" mapstructure:"image"`
	Subnet                      string   `json:"subnet" mapstructure:"subnet"`
	SSHPublicKey                string   `json:"sshPublicKey" mapstructure:"sshPublicKey"`
	OCPUs                       *float64 `json:"ocpus" mapstructure:"ocpus"`
	MemoryInGBs                 *float64 `json:"memoryInGBs" mapstructure:"memoryInGBs"`
	EnableShieldedInstance      bool     `json:"enableShieldedInstance" mapstructure:"enableShieldedInstance"`
	EnableConfidentialComputing bool     `json:"enableConfidentialComputing" mapstructure:"enableConfidentialComputing"`
	BootVolumeSizeGB            *float64 `json:"bootVolumeSizeGB" mapstructure:"bootVolumeSizeGB"`
	BootVolumeVpusPerGB         *float64 `json:"bootVolumeVpusPerGB" mapstructure:"bootVolumeVpusPerGB"`
	AttachBlockVolume           bool     `json:"attachBlockVolume" mapstructure:"attachBlockVolume"`
	BlockVolumeID               string   `json:"blockVolume" mapstructure:"blockVolume"`
}

type CreateFunction added in v0.19.0

type CreateFunction struct{}

func (*CreateFunction) Cancel added in v0.19.0

func (*CreateFunction) Cleanup added in v0.19.0

func (c *CreateFunction) Cleanup(_ core.SetupContext) error

func (*CreateFunction) Color added in v0.19.0

func (c *CreateFunction) Color() string

func (*CreateFunction) Configuration added in v0.19.0

func (c *CreateFunction) Configuration() []configuration.Field

func (*CreateFunction) Description added in v0.19.0

func (c *CreateFunction) Description() string

func (*CreateFunction) Documentation added in v0.19.0

func (c *CreateFunction) Documentation() string

func (*CreateFunction) ExampleOutput added in v0.19.0

func (c *CreateFunction) ExampleOutput() map[string]any

func (*CreateFunction) Execute added in v0.19.0

func (c *CreateFunction) Execute(ctx core.ExecutionContext) error

func (*CreateFunction) HandleHook added in v0.19.0

func (c *CreateFunction) HandleHook(ctx core.ActionHookContext) error

func (*CreateFunction) HandleWebhook added in v0.19.0

func (*CreateFunction) Hooks added in v0.19.0

func (c *CreateFunction) Hooks() []core.Hook

func (*CreateFunction) Icon added in v0.19.0

func (c *CreateFunction) Icon() string

func (*CreateFunction) Label added in v0.19.0

func (c *CreateFunction) Label() string

func (*CreateFunction) Name added in v0.19.0

func (c *CreateFunction) Name() string

func (*CreateFunction) OutputChannels added in v0.19.0

func (c *CreateFunction) OutputChannels(_ any) []core.OutputChannel

func (*CreateFunction) ProcessQueueItem added in v0.19.0

func (c *CreateFunction) ProcessQueueItem(ctx core.ProcessQueueContext) (*uuid.UUID, error)

func (*CreateFunction) Setup added in v0.19.0

func (c *CreateFunction) Setup(ctx core.SetupContext) error

type CreateFunctionInput added in v0.19.0

type CreateFunctionInput struct {
	ApplicationID                  string
	DisplayName                    string
	Image                          string
	MemoryInMBs                    int64
	TimeoutInSeconds               *int
	TraceEnabled                   bool
	SourceTriggerType              string // "" = omit, "NONE", "OCI_STREAMING"
	ProvisionedConcurrencyStrategy string // "" = omit, "NONE", "CONSTANT"
	ProvisionedConcurrencyCount    int
	FreeformTags                   map[string]string
}

CreateFunctionInput holds all parameters for creating an OCI Function.

type CreateFunctionNodeMetadata added in v0.19.0

type CreateFunctionNodeMetadata struct {
	ApplicationID   string `json:"applicationId" mapstructure:"applicationId"`
	ApplicationName string `json:"applicationName" mapstructure:"applicationName"`
}

type CreateFunctionSpec added in v0.19.0

type CreateFunctionSpec struct {
	Compartment                    string    `json:"compartment" mapstructure:"compartment"`
	Application                    string    `json:"application" mapstructure:"application"`
	DisplayName                    string    `json:"displayName" mapstructure:"displayName"`
	ImageRepository                string    `json:"imageRepository" mapstructure:"imageRepository"`
	Image                          string    `json:"image" mapstructure:"image"`
	MemoryInMBs                    int64     `json:"memoryInMBs" mapstructure:"memoryInMBs"`
	TimeoutInSeconds               *int      `json:"timeoutInSeconds" mapstructure:"timeoutInSeconds"`
	TraceEnabled                   bool      `json:"traceEnabled" mapstructure:"traceEnabled"`
	SourceTriggerType              string    `json:"sourceTriggerType" mapstructure:"sourceTriggerType"`
	ProvisionedConcurrencyStrategy string    `json:"provisionedConcurrencyStrategy" mapstructure:"provisionedConcurrencyStrategy"`
	ProvisionedConcurrencyCount    int       `json:"provisionedConcurrencyCount" mapstructure:"provisionedConcurrencyCount"`
	FreeformTags                   []TagItem `json:"freeformTags" mapstructure:"freeformTags"`
}

type CreateInstanceExecutionMetadata

type CreateInstanceExecutionMetadata struct {
	InstanceID              string `json:"instanceId" mapstructure:"instanceId"`
	CompartmentID           string `json:"compartmentId" mapstructure:"compartmentId"`
	BlockVolumeID           string `json:"blockVolumeId" mapstructure:"blockVolumeId"`
	BlockVolumeAttachmentID string `json:"blockVolumeAttachmentId" mapstructure:"blockVolumeAttachmentId"`
	PollErrors              int    `json:"pollErrors" mapstructure:"pollErrors"`
	PollAttempts            int    `json:"pollAttempts" mapstructure:"pollAttempts"`
	StartedAt               string `json:"startedAt" mapstructure:"startedAt"`
}

type CreateVnicDetails

type CreateVnicDetails struct {
	SubnetID string `json:"subnetId"`
}

type DeleteApplication added in v0.19.0

type DeleteApplication struct{}

func (*DeleteApplication) Cancel added in v0.19.0

func (*DeleteApplication) Cleanup added in v0.19.0

func (d *DeleteApplication) Cleanup(_ core.SetupContext) error

func (*DeleteApplication) Color added in v0.19.0

func (d *DeleteApplication) Color() string

func (*DeleteApplication) Configuration added in v0.19.0

func (d *DeleteApplication) Configuration() []configuration.Field

func (*DeleteApplication) Description added in v0.19.0

func (d *DeleteApplication) Description() string

func (*DeleteApplication) Documentation added in v0.19.0

func (d *DeleteApplication) Documentation() string

func (*DeleteApplication) ExampleOutput added in v0.19.0

func (d *DeleteApplication) ExampleOutput() map[string]any

func (*DeleteApplication) Execute added in v0.19.0

func (d *DeleteApplication) Execute(ctx core.ExecutionContext) error

func (*DeleteApplication) HandleHook added in v0.19.0

func (d *DeleteApplication) HandleHook(ctx core.ActionHookContext) error

func (*DeleteApplication) HandleWebhook added in v0.19.0

func (*DeleteApplication) Hooks added in v0.19.0

func (d *DeleteApplication) Hooks() []core.Hook

func (*DeleteApplication) Icon added in v0.19.0

func (d *DeleteApplication) Icon() string

func (*DeleteApplication) Label added in v0.19.0

func (d *DeleteApplication) Label() string

func (*DeleteApplication) Name added in v0.19.0

func (d *DeleteApplication) Name() string

func (*DeleteApplication) OutputChannels added in v0.19.0

func (d *DeleteApplication) OutputChannels(_ any) []core.OutputChannel

func (*DeleteApplication) ProcessQueueItem added in v0.19.0

func (d *DeleteApplication) ProcessQueueItem(ctx core.ProcessQueueContext) (*uuid.UUID, error)

func (*DeleteApplication) Setup added in v0.19.0

func (d *DeleteApplication) Setup(ctx core.SetupContext) error

type DeleteApplicationNodeMetadata added in v0.19.0

type DeleteApplicationNodeMetadata struct {
	ApplicationID   string `json:"applicationId" mapstructure:"applicationId"`
	ApplicationName string `json:"applicationName" mapstructure:"applicationName"`
}

type DeleteApplicationSpec added in v0.19.0

type DeleteApplicationSpec struct {
	Compartment string `json:"compartment" mapstructure:"compartment"`
	Application string `json:"application" mapstructure:"application"`
}

type DeleteFunction added in v0.19.0

type DeleteFunction struct{}

func (*DeleteFunction) Cancel added in v0.19.0

func (*DeleteFunction) Cleanup added in v0.19.0

func (d *DeleteFunction) Cleanup(_ core.SetupContext) error

func (*DeleteFunction) Color added in v0.19.0

func (d *DeleteFunction) Color() string

func (*DeleteFunction) Configuration added in v0.19.0

func (d *DeleteFunction) Configuration() []configuration.Field

func (*DeleteFunction) Description added in v0.19.0

func (d *DeleteFunction) Description() string

func (*DeleteFunction) Documentation added in v0.19.0

func (d *DeleteFunction) Documentation() string

func (*DeleteFunction) ExampleOutput added in v0.19.0

func (d *DeleteFunction) ExampleOutput() map[string]any

func (*DeleteFunction) Execute added in v0.19.0

func (d *DeleteFunction) Execute(ctx core.ExecutionContext) error

func (*DeleteFunction) HandleHook added in v0.19.0

func (d *DeleteFunction) HandleHook(ctx core.ActionHookContext) error

func (*DeleteFunction) HandleWebhook added in v0.19.0

func (*DeleteFunction) Hooks added in v0.19.0

func (d *DeleteFunction) Hooks() []core.Hook

func (*DeleteFunction) Icon added in v0.19.0

func (d *DeleteFunction) Icon() string

func (*DeleteFunction) Label added in v0.19.0

func (d *DeleteFunction) Label() string

func (*DeleteFunction) Name added in v0.19.0

func (d *DeleteFunction) Name() string

func (*DeleteFunction) OutputChannels added in v0.19.0

func (d *DeleteFunction) OutputChannels(_ any) []core.OutputChannel

func (*DeleteFunction) ProcessQueueItem added in v0.19.0

func (d *DeleteFunction) ProcessQueueItem(ctx core.ProcessQueueContext) (*uuid.UUID, error)

func (*DeleteFunction) Setup added in v0.19.0

func (d *DeleteFunction) Setup(ctx core.SetupContext) error

type DeleteFunctionNodeMetadata added in v0.19.0

type DeleteFunctionNodeMetadata struct {
	ApplicationID   string `json:"applicationId" mapstructure:"applicationId"`
	ApplicationName string `json:"applicationName" mapstructure:"applicationName"`
	FunctionID      string `json:"functionId" mapstructure:"functionId"`
	FunctionName    string `json:"functionName" mapstructure:"functionName"`
}

type DeleteFunctionSpec added in v0.19.0

type DeleteFunctionSpec struct {
	Compartment string `json:"compartment" mapstructure:"compartment"`
	Application string `json:"application" mapstructure:"application"`
	Function    string `json:"function" mapstructure:"function"`
}

type EventsRule

type EventsRule struct {
	ID             string `json:"id"`
	DisplayName    string `json:"displayName"`
	LifecycleState string `json:"lifecycleState"`
}

type FunctionApplication added in v0.19.0

type FunctionApplication struct {
	ID             string            `json:"id"`
	DisplayName    string            `json:"displayName"`
	CompartmentID  string            `json:"compartmentId"`
	SubnetIDs      []string          `json:"subnetIds"`
	Shape          string            `json:"shape"`
	LifecycleState string            `json:"lifecycleState"`
	TimeCreated    string            `json:"timeCreated"`
	FreeformTags   map[string]string `json:"freeformTags,omitempty"`
}

FunctionApplication represents an OCI Functions application.

type FunctionResource added in v0.19.0

type FunctionResource struct {
	ID               string            `json:"id"`
	DisplayName      string            `json:"displayName"`
	ApplicationID    string            `json:"applicationId"`
	Image            string            `json:"image"`
	MemoryInMBs      int64             `json:"memoryInMBs"`
	TimeoutInSeconds int               `json:"timeoutInSeconds"`
	LifecycleState   string            `json:"lifecycleState"`
	InvokeEndpoint   string            `json:"invokeEndpoint"`
	TimeCreated      string            `json:"timeCreated"`
	FreeformTags     map[string]string `json:"freeformTags,omitempty"`
}

FunctionResource represents an OCI Function within an application.

type Image

type Image struct {
	ID             string `json:"id"`
	DisplayName    string `json:"displayName"`
	LifecycleState string `json:"lifecycleState"`
}

type Instance

type Instance struct {
	ID                 string `json:"id"`
	DisplayName        string `json:"displayName"`
	LifecycleState     string `json:"lifecycleState"`
	Shape              string `json:"shape"`
	AvailabilityDomain string `json:"availabilityDomain"`
	CompartmentID      string `json:"compartmentId"`
	Region             string `json:"region"`
	TimeCreated        string `json:"timeCreated"`
}

type InstanceShapeConfig

type InstanceShapeConfig struct {
	OCPUs       *float64 `json:"ocpus,omitempty"`
	MemoryInGBs *float64 `json:"memoryInGBs,omitempty"`
}

type InstanceSourceDetails

type InstanceSourceDetails struct {
	SourceType          string   `json:"sourceType"`
	ImageID             string   `json:"imageId"`
	BootVolumeSizeInGBs *float64 `json:"bootVolumeSizeInGBs,omitempty"`
	BootVolumeVpusPerGB *float64 `json:"bootVolumeVpusPerGB,omitempty"`
}

type IntegrationMetadata

type IntegrationMetadata struct {
	TopicID      string `json:"topicId" mapstructure:"topicId"`
	EventsRuleID string `json:"eventsRuleId" mapstructure:"eventsRuleId"`
	// EventsRuleCondition is the condition string last successfully applied to the Events rule.
	// Used to skip redundant UpdateEventsRule API calls when the desired condition has not changed.
	EventsRuleCondition string `json:"eventsRuleCondition,omitempty" mapstructure:"eventsRuleCondition"`
	// Deprecated: CompartmentRules was used in older versions to track per-compartment rules.
	// It is kept only for cleanup of legacy resources.
	CompartmentRules map[string]string `json:"compartmentRules,omitempty" mapstructure:"compartmentRules"`
}

IntegrationMetadata holds resources created during integration setup.

type InvokeFunction added in v0.19.0

type InvokeFunction struct{}

func (*InvokeFunction) Cancel added in v0.19.0

func (*InvokeFunction) Cleanup added in v0.19.0

func (i *InvokeFunction) Cleanup(_ core.SetupContext) error

func (*InvokeFunction) Color added in v0.19.0

func (i *InvokeFunction) Color() string

func (*InvokeFunction) Configuration added in v0.19.0

func (i *InvokeFunction) Configuration() []configuration.Field

func (*InvokeFunction) Description added in v0.19.0

func (i *InvokeFunction) Description() string

func (*InvokeFunction) Documentation added in v0.19.0

func (i *InvokeFunction) Documentation() string

func (*InvokeFunction) ExampleOutput added in v0.19.0

func (i *InvokeFunction) ExampleOutput() map[string]any

func (*InvokeFunction) Execute added in v0.19.0

func (i *InvokeFunction) Execute(ctx core.ExecutionContext) error

func (*InvokeFunction) HandleHook added in v0.19.0

func (i *InvokeFunction) HandleHook(ctx core.ActionHookContext) error

func (*InvokeFunction) HandleWebhook added in v0.19.0

func (*InvokeFunction) Hooks added in v0.19.0

func (i *InvokeFunction) Hooks() []core.Hook

func (*InvokeFunction) Icon added in v0.19.0

func (i *InvokeFunction) Icon() string

func (*InvokeFunction) Label added in v0.19.0

func (i *InvokeFunction) Label() string

func (*InvokeFunction) Name added in v0.19.0

func (i *InvokeFunction) Name() string

func (*InvokeFunction) OutputChannels added in v0.19.0

func (i *InvokeFunction) OutputChannels(_ any) []core.OutputChannel

func (*InvokeFunction) ProcessQueueItem added in v0.19.0

func (i *InvokeFunction) ProcessQueueItem(ctx core.ProcessQueueContext) (*uuid.UUID, error)

func (*InvokeFunction) Setup added in v0.19.0

func (i *InvokeFunction) Setup(ctx core.SetupContext) error

type InvokeFunctionNodeMetadata added in v0.19.0

type InvokeFunctionNodeMetadata struct {
	ApplicationID   string `json:"applicationId" mapstructure:"applicationId"`
	ApplicationName string `json:"applicationName" mapstructure:"applicationName"`
	FunctionID      string `json:"functionId" mapstructure:"functionId"`
	FunctionName    string `json:"functionName" mapstructure:"functionName"`
}

type InvokeFunctionSpec added in v0.19.0

type InvokeFunctionSpec struct {
	Compartment string `json:"compartment" mapstructure:"compartment"`
	Application string `json:"application" mapstructure:"application"`
	Function    string `json:"function" mapstructure:"function"`
	Payload     string `json:"payload" mapstructure:"payload"`
}

type LaunchInstanceRequest

type LaunchInstanceRequest struct {
	CompartmentID               string                       `json:"compartmentId"`
	AvailabilityDomain          string                       `json:"availabilityDomain"`
	DisplayName                 string                       `json:"displayName,omitempty"`
	Shape                       string                       `json:"shape"`
	SourceDetails               InstanceSourceDetails        `json:"sourceDetails"`
	CreateVnicDetails           *CreateVnicDetails           `json:"createVnicDetails,omitempty"`
	Metadata                    map[string]string            `json:"metadata,omitempty"`
	ShapeConfig                 *InstanceShapeConfig         `json:"shapeConfig,omitempty"`
	ShieldedInstanceConfig      *ShieldedInstanceConfig      `json:"shieldedInstanceConfig,omitempty"`
	ConfidentialInstanceOptions *ConfidentialInstanceOptions `json:"confidentialInstanceOptions,omitempty"`
}

type OCI

type OCI struct{}

func (*OCI) Actions

func (o *OCI) Actions() []core.Action

func (*OCI) Cleanup

func (o *OCI) Cleanup(ctx core.IntegrationCleanupContext) error

func (*OCI) Configuration

func (o *OCI) Configuration() []configuration.Field

func (*OCI) Description

func (o *OCI) Description() string

func (*OCI) HandleHook

func (o *OCI) HandleHook(ctx core.IntegrationHookContext) error

func (*OCI) HandleRequest

func (o *OCI) HandleRequest(ctx core.HTTPRequestContext)

func (*OCI) Hooks

func (o *OCI) Hooks() []core.Hook

func (*OCI) Icon

func (o *OCI) Icon() string

func (*OCI) Instructions

func (o *OCI) Instructions() string

func (*OCI) Label

func (o *OCI) Label() string

func (*OCI) ListResources

func (o *OCI) ListResources(resourceType string, ctx core.ListResourcesContext) ([]core.IntegrationResource, error)

func (*OCI) Name

func (o *OCI) Name() string

func (*OCI) Sync

func (o *OCI) Sync(ctx core.SyncContext) error

func (*OCI) Triggers

func (o *OCI) Triggers() []core.Trigger

type ONSSubscription

type ONSSubscription struct {
	ID             string `json:"id"`
	TopicID        string `json:"topicId"`
	Protocol       string `json:"protocol"`
	Endpoint       string `json:"endpoint"`
	LifecycleState string `json:"lifecycleState"`
}

type ONSTopic

type ONSTopic struct {
	TopicID        string `json:"topicId"`
	Name           string `json:"name"`
	LifecycleState string `json:"lifecycleState"`
}

type OnComputeInstanceCreated

type OnComputeInstanceCreated struct{}

func (*OnComputeInstanceCreated) Cleanup

func (*OnComputeInstanceCreated) Color

func (t *OnComputeInstanceCreated) Color() string

func (*OnComputeInstanceCreated) Configuration

func (t *OnComputeInstanceCreated) Configuration() []configuration.Field

func (*OnComputeInstanceCreated) Description

func (t *OnComputeInstanceCreated) Description() string

func (*OnComputeInstanceCreated) Documentation

func (t *OnComputeInstanceCreated) Documentation() string

func (*OnComputeInstanceCreated) ExampleData

func (t *OnComputeInstanceCreated) ExampleData() map[string]any

func (*OnComputeInstanceCreated) HandleHook

func (t *OnComputeInstanceCreated) HandleHook(ctx core.TriggerHookContext) (map[string]any, error)

func (*OnComputeInstanceCreated) HandleWebhook

HandleWebhook processes inbound requests forwarded by OCI Notifications.

func (*OnComputeInstanceCreated) Hooks

func (t *OnComputeInstanceCreated) Hooks() []core.Hook

func (*OnComputeInstanceCreated) Icon

func (t *OnComputeInstanceCreated) Icon() string

func (*OnComputeInstanceCreated) Label

func (t *OnComputeInstanceCreated) Label() string

func (*OnComputeInstanceCreated) Name

func (t *OnComputeInstanceCreated) Name() string

func (*OnComputeInstanceCreated) Setup

type OnComputeInstanceCreatedConfiguration

type OnComputeInstanceCreatedConfiguration struct {
	Compartment string `json:"compartment" mapstructure:"compartment"`
}

type OnComputeInstanceCreatedMetadata

type OnComputeInstanceCreatedMetadata struct {
	CompartmentID string `json:"compartmentId" mapstructure:"compartmentId"`
}

type Shape

type Shape struct {
	Shape string `json:"shape"`
}

type ShieldedInstanceConfig

type ShieldedInstanceConfig struct {
	IsSecureBootEnabled            bool `json:"isSecureBootEnabled"`
	IsMeasuredBootEnabled          bool `json:"isMeasuredBootEnabled"`
	IsTrustedPlatformModuleEnabled bool `json:"isTrustedPlatformModuleEnabled"`
}

type Subnet

type Subnet struct {
	ID             string `json:"id"`
	DisplayName    string `json:"displayName"`
	CIDRBlock      string `json:"cidrBlock"`
	LifecycleState string `json:"lifecycleState"`
	VcnID          string `json:"vcnId"`
}

type TagItem added in v0.19.0

type TagItem struct {
	Key   string `json:"key" mapstructure:"key"`
	Value string `json:"value" mapstructure:"value"`
}

TagItem represents a single key-value free-form tag.

type VCN added in v0.19.0

type VCN struct {
	ID             string `json:"id"`
	DisplayName    string `json:"displayName"`
	CIDRBlock      string `json:"cidrBlock"`
	LifecycleState string `json:"lifecycleState"`
}

type VNIC

type VNIC struct {
	ID        string `json:"id"`
	PublicIP  string `json:"publicIp"`
	PrivateIP string `json:"privateIp"`
}

type VNICAttachment

type VNICAttachment struct {
	VNICID         string `json:"vnicId"`
	SubnetID       string `json:"subnetId"`
	LifecycleState string `json:"lifecycleState"`
}

type VolumeAttachment

type VolumeAttachment struct {
	ID             string `json:"id"`
	InstanceID     string `json:"instanceId"`
	VolumeID       string `json:"volumeId"`
	LifecycleState string `json:"lifecycleState"`
	Device         string `json:"device"`
}

type WebhookConfiguration

type WebhookConfiguration struct {
	// CompartmentID is used when creating the ONS subscription (required by OCI).
	CompartmentID string `json:"compartmentId" mapstructure:"compartmentId"`
	// TopicID is the OCID of the ONS topic to subscribe to.
	TopicID string `json:"topicId" mapstructure:"topicId"`
}

WebhookConfiguration is stored on each OCI webhook record so the handler knows which ONS topic to subscribe / unsubscribe.

type WebhookHandler

type WebhookHandler struct{}

func (*WebhookHandler) Cleanup

Cleanup deletes the ONS subscription created during Setup.

func (*WebhookHandler) CompareConfig

func (h *WebhookHandler) CompareConfig(a, b any) (bool, error)

CompareConfig returns true when both configs point to the same ONS topic.

func (*WebhookHandler) Merge

func (h *WebhookHandler) Merge(current, requested any) (any, bool, error)

Merge returns the requested config unchanged (no merging needed for OCI webhooks).

func (*WebhookHandler) Setup

Setup creates an HTTPS subscription on the configured OCI Notifications topic, pointing to the SuperPlane-generated webhook URL.

type WebhookMetadata

type WebhookMetadata struct {
	SubscriptionID string `json:"subscriptionId" mapstructure:"subscriptionId"`
}

WebhookMetadata is persisted after a successful subscription and used during cleanup.

Jump to

Keyboard shortcuts

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