oci

package
v0.22.0 Latest Latest
Warning

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

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

Documentation

Index

Constants

View Source
const (
	ResourceTypeCompartment         = "compartment"
	ResourceTypeAvailabilityDomain  = "availabilityDomain"
	ResourceTypeShape               = "shape"
	ResourceTypeImageOS             = "imageOS"
	ResourceTypeImage               = "image"
	ResourceTypeCustomImage         = "customImage"
	ResourceTypeVCN                 = "vcn"
	ResourceTypeSubnet              = "subnet"
	ResourceTypeBlockVolume         = "blockVolume"
	ResourceTypeBootVolumeVPU       = "bootVolumeVPU"
	ResourceTypeImageSource         = "imageSource"
	ResourceTypeSourceImageType     = "sourceImageType"
	ResourceTypeObjectNamespace     = "objectStorageNamespace"
	ResourceTypeObjectBucket        = "objectStorageBucket"
	ResourceTypeObject              = "objectStorageObject"
	ResourceTypeInstance            = "instance"
	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 DeleteInstancePayloadType = "oci.deleteInstance"
View Source
const GetInstancePayloadType = "oci.getInstance"
View Source
const InvokeFunctionPayloadType = "oci.functionInvoked"
View Source
const (
	ManageInstancePowerPayloadType = "oci.manageInstancePower"
)
View Source
const (
	OnComputeInstanceCreatedPayloadType = "oci.onComputeInstanceCreated"
)
View Source
const OnInstanceStateChangePayloadType = "oci.onInstanceStateChange"
View Source
const UpdateInstancePayloadType = "oci.updateInstance"

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 Bucket added in v0.20.0

type Bucket struct {
	Name          string `json:"name"`
	CompartmentID string `json:"compartmentId"`
	Namespace     string `json:"namespace"`
}

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) CreateImage added in v0.20.0

func (c *Client) CreateImage(req CreateImageRequest) (*Image, error)

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) DeleteImage added in v0.20.0

func (c *Client) DeleteImage(imageID string) error

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) GetImage added in v0.20.0

func (c *Client) GetImage(imageID string) (*Image, error)

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) GetObjectStorageNamespace added in v0.20.0

func (c *Client) GetObjectStorageNamespace() (string, error)

func (*Client) GetVNIC

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

GetVNIC retrieves a VNIC by OCID to obtain IP addresses.

func (*Client) InstanceAction added in v0.20.0

func (c *Client) InstanceAction(instanceID, action string) (*Instance, error)

InstanceAction performs a power lifecycle action on a Compute instance.

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) ListBuckets added in v0.20.0

func (c *Client) ListBuckets(namespaceName, compartmentID string) ([]Bucket, 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) ListInstances added in v0.20.0

func (c *Client) ListInstances(compartmentID string) ([]Instance, error)

ListInstances lists Compute instances in a compartment.

func (*Client) ListObjects added in v0.20.0

func (c *Client) ListObjects(namespaceName, bucketName string) ([]ObjectSummary, 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) TerminateInstance added in v0.20.0

func (c *Client) TerminateInstance(instanceID string, preserveBootVolume bool) error

TerminateInstance terminates a Compute instance, optionally preserving the boot volume.

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) UpdateImage added in v0.20.0

func (c *Client) UpdateImage(imageID, displayName string) (*Image, error)

func (*Client) UpdateInstance added in v0.20.0

func (c *Client) UpdateInstance(instanceID string, req UpdateInstanceRequest) (*Instance, error)

UpdateInstance updates mutable Compute instance attributes.

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 CreateImage added in v0.20.0

type CreateImage struct{}

func (*CreateImage) Cancel added in v0.20.0

func (c *CreateImage) Cancel(ctx core.ExecutionContext) error

func (*CreateImage) Cleanup added in v0.20.0

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

func (*CreateImage) Color added in v0.20.0

func (c *CreateImage) Color() string

func (*CreateImage) Configuration added in v0.20.0

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

func (*CreateImage) Description added in v0.20.0

func (c *CreateImage) Description() string

func (*CreateImage) Documentation added in v0.20.0

func (c *CreateImage) Documentation() string

func (*CreateImage) ExampleOutput added in v0.20.0

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

func (*CreateImage) Execute added in v0.20.0

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

func (*CreateImage) HandleHook added in v0.20.0

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

func (*CreateImage) HandleWebhook added in v0.20.0

func (*CreateImage) Hooks added in v0.20.0

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

func (*CreateImage) Icon added in v0.20.0

func (c *CreateImage) Icon() string

func (*CreateImage) Label added in v0.20.0

func (c *CreateImage) Label() string

func (*CreateImage) Name added in v0.20.0

func (c *CreateImage) Name() string

func (*CreateImage) OutputChannels added in v0.20.0

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

func (*CreateImage) ProcessQueueItem added in v0.20.0

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

func (*CreateImage) Setup added in v0.20.0

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

type CreateImageConfiguration added in v0.20.0

type CreateImageConfiguration struct {
	SourceType      string `json:"sourceType" mapstructure:"sourceType"`
	CompartmentID   string `json:"compartment" mapstructure:"compartment"`
	Instance        string `json:"instance" mapstructure:"instance"`
	InstanceID      string `json:"instanceId" mapstructure:"instanceId"`
	DisplayName     string `json:"displayName" mapstructure:"displayName"`
	SourceImageType string `json:"sourceImageType" mapstructure:"sourceImageType"`
	SourceURI       string `json:"sourceUri" mapstructure:"sourceUri"`
	NamespaceName   string `json:"namespace" mapstructure:"namespace"`
	BucketName      string `json:"bucket" mapstructure:"bucket"`
	ObjectName      string `json:"object" mapstructure:"object"`
	Tags            []Tag  `json:"tags" mapstructure:"tags"`
}

type CreateImageRequest added in v0.20.0

type CreateImageRequest struct {
	CompartmentID      string              `json:"compartmentId"`
	DisplayName        string              `json:"displayName,omitempty"`
	InstanceID         string              `json:"instanceId,omitempty"`
	ImageSourceDetails *ImageSourceDetails `json:"imageSourceDetails,omitempty"`
	FreeformTags       map[string]string   `json:"freeformTags,omitempty"`
}

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 CreateInstanceNodeMetadata added in v0.20.0

type CreateInstanceNodeMetadata struct {
	DisplayName        string `json:"displayName,omitempty" mapstructure:"displayName"`
	Shape              string `json:"shape,omitempty" mapstructure:"shape"`
	AvailabilityDomain string `json:"availabilityDomain,omitempty" mapstructure:"availabilityDomain"`
	CompartmentID      string `json:"compartmentId,omitempty" mapstructure:"compartmentId"`
	CompartmentName    string `json:"compartmentName,omitempty" mapstructure:"compartmentName"`
	ImageID            string `json:"imageId,omitempty" mapstructure:"imageId"`
	ImageName          string `json:"imageName,omitempty" mapstructure:"imageName"`
	SubnetID           string `json:"subnetId,omitempty" mapstructure:"subnetId"`
	SubnetName         string `json:"subnetName,omitempty" mapstructure:"subnetName"`
	BlockVolumeID      string `json:"blockVolumeId,omitempty" mapstructure:"blockVolumeId"`
	BlockVolumeName    string `json:"blockVolumeName,omitempty" mapstructure:"blockVolumeName"`
}

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 DeleteImage added in v0.20.0

type DeleteImage struct{}

func (*DeleteImage) Cancel added in v0.20.0

func (c *DeleteImage) Cancel(ctx core.ExecutionContext) error

func (*DeleteImage) Cleanup added in v0.20.0

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

func (*DeleteImage) Color added in v0.20.0

func (c *DeleteImage) Color() string

func (*DeleteImage) Configuration added in v0.20.0

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

func (*DeleteImage) Description added in v0.20.0

func (c *DeleteImage) Description() string

func (*DeleteImage) Documentation added in v0.20.0

func (c *DeleteImage) Documentation() string

func (*DeleteImage) ExampleOutput added in v0.20.0

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

func (*DeleteImage) Execute added in v0.20.0

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

func (*DeleteImage) HandleHook added in v0.20.0

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

func (*DeleteImage) HandleWebhook added in v0.20.0

func (*DeleteImage) Hooks added in v0.20.0

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

func (*DeleteImage) Icon added in v0.20.0

func (c *DeleteImage) Icon() string

func (*DeleteImage) Label added in v0.20.0

func (c *DeleteImage) Label() string

func (*DeleteImage) Name added in v0.20.0

func (c *DeleteImage) Name() string

func (*DeleteImage) OutputChannels added in v0.20.0

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

func (*DeleteImage) ProcessQueueItem added in v0.20.0

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

func (*DeleteImage) Setup added in v0.20.0

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

type DeleteImageConfiguration added in v0.20.0

type DeleteImageConfiguration struct {
	ImageID string `json:"image" mapstructure:"image"`
}

type DeleteInstance added in v0.20.0

type DeleteInstance struct{}

func (*DeleteInstance) Cancel added in v0.20.0

func (c *DeleteInstance) Cancel(ctx core.ExecutionContext) error

func (*DeleteInstance) Cleanup added in v0.20.0

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

func (*DeleteInstance) Color added in v0.20.0

func (c *DeleteInstance) Color() string

func (*DeleteInstance) Configuration added in v0.20.0

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

func (*DeleteInstance) Description added in v0.20.0

func (c *DeleteInstance) Description() string

func (*DeleteInstance) Documentation added in v0.20.0

func (c *DeleteInstance) Documentation() string

func (*DeleteInstance) ExampleOutput added in v0.20.0

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

func (*DeleteInstance) Execute added in v0.20.0

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

func (*DeleteInstance) HandleHook added in v0.20.0

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

func (*DeleteInstance) HandleWebhook added in v0.20.0

func (*DeleteInstance) Hooks added in v0.20.0

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

func (*DeleteInstance) Icon added in v0.20.0

func (c *DeleteInstance) Icon() string

func (*DeleteInstance) Label added in v0.20.0

func (c *DeleteInstance) Label() string

func (*DeleteInstance) Name added in v0.20.0

func (c *DeleteInstance) Name() string

func (*DeleteInstance) OutputChannels added in v0.20.0

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

func (*DeleteInstance) ProcessQueueItem added in v0.20.0

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

func (*DeleteInstance) Setup added in v0.20.0

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

type DeleteInstanceMetadata added in v0.20.0

type DeleteInstanceMetadata struct {
	InstanceID   string `json:"instanceId" mapstructure:"instanceId"`
	PollErrors   int    `json:"pollErrors" mapstructure:"pollErrors"`
	PollAttempts int    `json:"pollAttempts" mapstructure:"pollAttempts"`
}

type DeleteInstanceSpec added in v0.20.0

type DeleteInstanceSpec struct {
	Instance           string `json:"instance" mapstructure:"instance"`
	PreserveBootVolume bool   `json:"preserveBootVolume" mapstructure:"preserveBootVolume"`
}

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 GetImage added in v0.20.0

type GetImage struct{}

func (*GetImage) Cancel added in v0.20.0

func (c *GetImage) Cancel(ctx core.ExecutionContext) error

func (*GetImage) Cleanup added in v0.20.0

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

func (*GetImage) Color added in v0.20.0

func (c *GetImage) Color() string

func (*GetImage) Configuration added in v0.20.0

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

func (*GetImage) Description added in v0.20.0

func (c *GetImage) Description() string

func (*GetImage) Documentation added in v0.20.0

func (c *GetImage) Documentation() string

func (*GetImage) ExampleOutput added in v0.20.0

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

func (*GetImage) Execute added in v0.20.0

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

func (*GetImage) HandleHook added in v0.20.0

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

func (*GetImage) HandleWebhook added in v0.20.0

func (*GetImage) Hooks added in v0.20.0

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

func (*GetImage) Icon added in v0.20.0

func (c *GetImage) Icon() string

func (*GetImage) Label added in v0.20.0

func (c *GetImage) Label() string

func (*GetImage) Name added in v0.20.0

func (c *GetImage) Name() string

func (*GetImage) OutputChannels added in v0.20.0

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

func (*GetImage) ProcessQueueItem added in v0.20.0

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

func (*GetImage) Setup added in v0.20.0

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

type GetImageConfiguration added in v0.20.0

type GetImageConfiguration struct {
	ImageID string `json:"image" mapstructure:"image"`
}

type GetInstance added in v0.20.0

type GetInstance struct{}

func (*GetInstance) Cancel added in v0.20.0

func (c *GetInstance) Cancel(ctx core.ExecutionContext) error

func (*GetInstance) Cleanup added in v0.20.0

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

func (*GetInstance) Color added in v0.20.0

func (c *GetInstance) Color() string

func (*GetInstance) Configuration added in v0.20.0

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

func (*GetInstance) Description added in v0.20.0

func (c *GetInstance) Description() string

func (*GetInstance) Documentation added in v0.20.0

func (c *GetInstance) Documentation() string

func (*GetInstance) ExampleOutput added in v0.20.0

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

func (*GetInstance) Execute added in v0.20.0

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

func (*GetInstance) HandleHook added in v0.20.0

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

func (*GetInstance) HandleWebhook added in v0.20.0

func (*GetInstance) Hooks added in v0.20.0

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

func (*GetInstance) Icon added in v0.20.0

func (c *GetInstance) Icon() string

func (*GetInstance) Label added in v0.20.0

func (c *GetInstance) Label() string

func (*GetInstance) Name added in v0.20.0

func (c *GetInstance) Name() string

func (*GetInstance) OutputChannels added in v0.20.0

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

func (*GetInstance) ProcessQueueItem added in v0.20.0

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

func (*GetInstance) Setup added in v0.20.0

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

type GetInstanceSpec added in v0.20.0

type GetInstanceSpec struct {
	Instance string `json:"instance" mapstructure:"instance"`
}

type Image

type Image struct {
	ID                     string            `json:"id"`
	DisplayName            string            `json:"displayName"`
	LifecycleState         string            `json:"lifecycleState"`
	CompartmentID          string            `json:"compartmentId"`
	BaseImageID            string            `json:"baseImageId"`
	OperatingSystem        string            `json:"operatingSystem"`
	OperatingSystemVersion string            `json:"operatingSystemVersion"`
	LaunchMode             string            `json:"launchMode"`
	SizeInMBs              int               `json:"sizeInMBs"`
	TimeCreated            string            `json:"timeCreated"`
	CreateImageAllowed     bool              `json:"createImageAllowed"`
	FreeformTags           map[string]string `json:"freeformTags"`
}

type ImageSourceDetails added in v0.20.0

type ImageSourceDetails struct {
	SourceType      string `json:"sourceType"`
	SourceImageType string `json:"sourceImageType,omitempty"`
	SourceURI       string `json:"sourceUri,omitempty"`
	NamespaceName   string `json:"namespaceName,omitempty"`
	BucketName      string `json:"bucketName,omitempty"`
	ObjectName      string `json:"objectName,omitempty"`
}

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 ListObjectsResponse added in v0.20.0

type ListObjectsResponse struct {
	Objects []ObjectSummary `json:"objects"`
}

type ManageInstancePower added in v0.20.0

type ManageInstancePower struct{}

func (*ManageInstancePower) Cancel added in v0.20.0

func (*ManageInstancePower) Cleanup added in v0.20.0

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

func (*ManageInstancePower) Color added in v0.20.0

func (c *ManageInstancePower) Color() string

func (*ManageInstancePower) Configuration added in v0.20.0

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

func (*ManageInstancePower) Description added in v0.20.0

func (c *ManageInstancePower) Description() string

func (*ManageInstancePower) Documentation added in v0.20.0

func (c *ManageInstancePower) Documentation() string

func (*ManageInstancePower) ExampleOutput added in v0.20.0

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

func (*ManageInstancePower) Execute added in v0.20.0

func (*ManageInstancePower) HandleHook added in v0.20.0

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

func (*ManageInstancePower) HandleWebhook added in v0.20.0

func (*ManageInstancePower) Hooks added in v0.20.0

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

func (*ManageInstancePower) Icon added in v0.20.0

func (c *ManageInstancePower) Icon() string

func (*ManageInstancePower) Label added in v0.20.0

func (c *ManageInstancePower) Label() string

func (*ManageInstancePower) Name added in v0.20.0

func (c *ManageInstancePower) Name() string

func (*ManageInstancePower) OutputChannels added in v0.20.0

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

func (*ManageInstancePower) ProcessQueueItem added in v0.20.0

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

func (*ManageInstancePower) Setup added in v0.20.0

type ManageInstancePowerMetadata added in v0.20.0

type ManageInstancePowerMetadata struct {
	InstanceID   string `json:"instanceId" mapstructure:"instanceId"`
	Action       string `json:"action" mapstructure:"action"`
	TargetState  string `json:"targetState" mapstructure:"targetState"`
	PollErrors   int    `json:"pollErrors" mapstructure:"pollErrors"`
	PollAttempts int    `json:"pollAttempts" mapstructure:"pollAttempts"`
}

type ManageInstancePowerSpec added in v0.20.0

type ManageInstancePowerSpec struct {
	Instance string `json:"instance" mapstructure:"instance"`
	Action   string `json:"action" mapstructure:"action"`
}

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 OCIAPIError added in v0.20.0

type OCIAPIError struct {
	StatusCode int
	Body       string
}

func (*OCIAPIError) Error added in v0.20.0

func (e *OCIAPIError) Error() string

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 ObjectSummary added in v0.20.0

type ObjectSummary struct {
	Name string `json:"name"`
}

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 OnInstanceStateChange added in v0.20.0

type OnInstanceStateChange struct{}

func (*OnInstanceStateChange) Cleanup added in v0.20.0

func (*OnInstanceStateChange) Color added in v0.20.0

func (t *OnInstanceStateChange) Color() string

func (*OnInstanceStateChange) Configuration added in v0.20.0

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

func (*OnInstanceStateChange) Description added in v0.20.0

func (t *OnInstanceStateChange) Description() string

func (*OnInstanceStateChange) Documentation added in v0.20.0

func (t *OnInstanceStateChange) Documentation() string

func (*OnInstanceStateChange) ExampleData added in v0.20.0

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

func (*OnInstanceStateChange) HandleHook added in v0.20.0

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

func (*OnInstanceStateChange) HandleWebhook added in v0.20.0

func (*OnInstanceStateChange) Hooks added in v0.20.0

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

func (*OnInstanceStateChange) Icon added in v0.20.0

func (t *OnInstanceStateChange) Icon() string

func (*OnInstanceStateChange) Label added in v0.20.0

func (t *OnInstanceStateChange) Label() string

func (*OnInstanceStateChange) Name added in v0.20.0

func (t *OnInstanceStateChange) Name() string

func (*OnInstanceStateChange) Setup added in v0.20.0

type OnInstanceStateChangeConfiguration added in v0.20.0

type OnInstanceStateChangeConfiguration struct {
	Compartment  string   `json:"compartment" mapstructure:"compartment"`
	StateChanges []string `json:"stateChanges" mapstructure:"stateChanges"`
}

type OnInstanceStateChangeMetadata added in v0.20.0

type OnInstanceStateChangeMetadata 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 Tag added in v0.20.0

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

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 UpdateImage added in v0.20.0

type UpdateImage struct{}

func (*UpdateImage) Cancel added in v0.20.0

func (c *UpdateImage) Cancel(ctx core.ExecutionContext) error

func (*UpdateImage) Cleanup added in v0.20.0

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

func (*UpdateImage) Color added in v0.20.0

func (c *UpdateImage) Color() string

func (*UpdateImage) Configuration added in v0.20.0

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

func (*UpdateImage) Description added in v0.20.0

func (c *UpdateImage) Description() string

func (*UpdateImage) Documentation added in v0.20.0

func (c *UpdateImage) Documentation() string

func (*UpdateImage) ExampleOutput added in v0.20.0

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

func (*UpdateImage) Execute added in v0.20.0

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

func (*UpdateImage) HandleHook added in v0.20.0

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

func (*UpdateImage) HandleWebhook added in v0.20.0

func (*UpdateImage) Hooks added in v0.20.0

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

func (*UpdateImage) Icon added in v0.20.0

func (c *UpdateImage) Icon() string

func (*UpdateImage) Label added in v0.20.0

func (c *UpdateImage) Label() string

func (*UpdateImage) Name added in v0.20.0

func (c *UpdateImage) Name() string

func (*UpdateImage) OutputChannels added in v0.20.0

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

func (*UpdateImage) ProcessQueueItem added in v0.20.0

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

func (*UpdateImage) Setup added in v0.20.0

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

type UpdateImageConfiguration added in v0.20.0

type UpdateImageConfiguration struct {
	ImageID     string `json:"image" mapstructure:"image"`
	DisplayName string `json:"displayName" mapstructure:"displayName"`
}

type UpdateImageRequest added in v0.20.0

type UpdateImageRequest struct {
	DisplayName string `json:"displayName"`
}

type UpdateInstance added in v0.20.0

type UpdateInstance struct{}

func (*UpdateInstance) Cancel added in v0.20.0

func (c *UpdateInstance) Cancel(ctx core.ExecutionContext) error

func (*UpdateInstance) Cleanup added in v0.20.0

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

func (*UpdateInstance) Color added in v0.20.0

func (c *UpdateInstance) Color() string

func (*UpdateInstance) Configuration added in v0.20.0

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

func (*UpdateInstance) Description added in v0.20.0

func (c *UpdateInstance) Description() string

func (*UpdateInstance) Documentation added in v0.20.0

func (c *UpdateInstance) Documentation() string

func (*UpdateInstance) ExampleOutput added in v0.20.0

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

func (*UpdateInstance) Execute added in v0.20.0

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

func (*UpdateInstance) HandleHook added in v0.20.0

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

func (*UpdateInstance) HandleWebhook added in v0.20.0

func (*UpdateInstance) Hooks added in v0.20.0

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

func (*UpdateInstance) Icon added in v0.20.0

func (c *UpdateInstance) Icon() string

func (*UpdateInstance) Label added in v0.20.0

func (c *UpdateInstance) Label() string

func (*UpdateInstance) Name added in v0.20.0

func (c *UpdateInstance) Name() string

func (*UpdateInstance) OutputChannels added in v0.20.0

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

func (*UpdateInstance) ProcessQueueItem added in v0.20.0

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

func (*UpdateInstance) Setup added in v0.20.0

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

type UpdateInstanceRequest added in v0.20.0

type UpdateInstanceRequest struct {
	DisplayName *string              `json:"displayName,omitempty"`
	ShapeConfig *InstanceShapeConfig `json:"shapeConfig,omitempty"`
}

type UpdateInstanceSpec added in v0.20.0

type UpdateInstanceSpec struct {
	Instance    string   `json:"instance" mapstructure:"instance"`
	DisplayName string   `json:"displayName" mapstructure:"displayName"`
	OCPUs       *float64 `json:"ocpus" mapstructure:"ocpus"`
	MemoryInGBs *float64 `json:"memoryInGBs" mapstructure:"memoryInGBs"`
}

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