oci

package
v0.8.1 Latest Latest
Warning

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

Go to latest
Published: Feb 24, 2022 License: Apache-2.0 Imports: 49 Imported by: 0

Documentation

Overview

Package oci implements a steampipe plugin for OCI.

This plugin provides data that Steampipe uses to present foreign tables that represent Oracle Cloud Infrastructure resources.

Index

Constants

View Source
const (
	// Constants for Standard Column Descriptions
	ColumnDescriptionAkas        = "Array of globally unique identifier strings (also known as) for the resource."
	ColumnDescriptionTags        = "A map of tags for the resource."
	ColumnDescriptionTitle       = "Title of the resource."
	ColumnDescriptionTenant      = "The OCID of the Tenant in which the resource is located."
	ColumnDescriptionCompartment = "The OCID of the compartment in Tenant in which the resource is located."
	ColumnDescriptionRegion      = "The OCI region in which the resource is located."

	// Other repetitive columns for the provider
	ColumnDescriptionFreefromTags = "Free-form tags for resource. This tags can be applied by any user with permissions on the resource."
	ColumnDescriptionDefinedTags  = "" /* 176-byte string literal not displayed */
	ColumnDescriptionSystemTags   = "System tags for resource. System tags can be viewed by users, but can only be created by the system."
)

Variables

View Source
var ConfigSchema = map[string]*schema.Attribute{
	"regions": {
		Type: schema.TypeList,
		Elem: &schema.Attribute{Type: schema.TypeString},
	},
	"auth": {
		Type: schema.TypeString,
	},
	"tenancy_ocid": {
		Type: schema.TypeString,
	},
	"config_file_profile": {
		Type: schema.TypeString,
	},
	"config_path": {
		Type: schema.TypeString,
	},
	"user_ocid": {
		Type: schema.TypeString,
	},
	"fingerprint": {
		Type: schema.TypeString,
	},
	"private_key": {
		Type: schema.TypeString,
	},
	"private_key_path": {
		Type: schema.TypeString,
	},
	"private_key_password": {
		Type: schema.TypeString,
	},
}

Functions

func BuildCompartementRegionList

func BuildCompartementRegionList(ctx context.Context, connection *plugin.Connection) []map[string]interface{}

BuildCompartmentRegionList :: return a list of matrix items, one per region-compartment specified in the connection config

func BuildCompartementZonalList added in v0.0.9

func BuildCompartementZonalList(ctx context.Context, connection *plugin.Connection) []map[string]interface{}

BuildCompartmentZonalList :: return a list of matrix items, one per zone-compartment specified in the connection config

func BuildCompartmentList added in v0.0.6

func BuildCompartmentList(ctx context.Context, connection *plugin.Connection) []map[string]interface{}

BuildCompartmentList :: return a list of matrix items, one per compartment specified in the connection config

func BuildRegionList

func BuildRegionList(_ context.Context, connection *plugin.Connection) []map[string]interface{}

BuildRegionList :: return a list of matrix items, one per region specified in the connection config

func ConfigInstance

func ConfigInstance() interface{}

func GetConfig

func GetConfig(connection *plugin.Connection) ociConfig

GetConfig :: retrieve and cast connection config from query data

func MonitoringMetricColumns added in v0.0.16

func MonitoringMetricColumns(columns []*plugin.Column) []*plugin.Column

append the common metric columns onto the column list

func Plugin

func Plugin(ctx context.Context) *plugin.Plugin

Plugin creates this (oci) plugin

Types

type AlertRuleInfo added in v0.0.15

type AlertRuleInfo struct {

	// The OCID of the alert rule
	Id *string `mandatory:"true" json:"id"`

	// The OCID of the budget
	BudgetId *string `mandatory:"true" json:"budgetId"`

	// The name of the alert rule.
	DisplayName *string `mandatory:"true" json:"displayName"`

	// The type of alert. Valid values are ACTUAL (the alert will trigger based on actual usage) or
	// FORECAST (the alert will trigger based on predicted usage).
	Type budget.AlertTypeEnum `mandatory:"true" json:"type"`

	// The threshold for triggering the alert. If thresholdType is PERCENTAGE, the maximum value is 10000.
	Threshold *float32 `mandatory:"true" json:"threshold"`

	// The type of threshold.
	ThresholdType budget.ThresholdTypeEnum `mandatory:"true" json:"thresholdType"`

	// The current state of the alert rule.
	LifecycleState budget.LifecycleStateEnum `mandatory:"true" json:"lifecycleState"`

	// Delimited list of email addresses to receive the alert when it triggers.
	// Delimiter character can be comma, space, TAB, or semicolon.
	Recipients *string `mandatory:"true" json:"recipients"`

	// Time budget was created
	TimeCreated *common.SDKTime `mandatory:"true" json:"timeCreated"`

	// Time budget was updated
	TimeUpdated *common.SDKTime `mandatory:"true" json:"timeUpdated"`

	// Custom message sent when alert is triggered
	Message *string `mandatory:"false" json:"message"`

	// The description of the alert rule.
	Description *string `mandatory:"false" json:"description"`

	// Version of the alert rule. Starts from 1 and increments by 1.
	Version *int `mandatory:"false" json:"version"`

	// Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace.
	// For more information, see Resource Tags (https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm).
	// Example: `{"Department": "Finance"}`
	FreeformTags map[string]string `mandatory:"false" json:"freeformTags"`

	// Defined tags for this resource. Each key is predefined and scoped to a namespace.
	// For more information, see Resource Tags (https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm).
	// Example: `{"Operations": {"CostCenter": "42"}}`
	DefinedTags map[string]map[string]interface{} `mandatory:"false" json:"definedTags"`

	// The compartment id
	CompartmentId string
}

type KeyInfo added in v0.0.13

type KeyInfo struct {
	keymanagement.KeySummary
	ManagementEndpoint string
	VaultName          string
}

type KeyVersionInfo added in v0.0.13

type KeyVersionInfo struct {
	keymanagement.KeyVersionSummary
	ManagementEndpoint string
	Region             string
}

type MetricData added in v0.0.16

type MetricData struct {
	CompartmentId *string
	PointValue    *float64
	Timestamp     *time.Time
}

type MonitoringMetricRow added in v0.0.16

type MonitoringMetricRow struct {
	// The compartment id
	CompartmentId *string

	// The (single) metric Dimension name
	DimensionName *string

	// The value for the (single) metric Dimension
	DimensionValue *string

	// The namespace of the metric
	Namespace *string

	// The name of the metric
	MetricName *string

	// The average of the metric values that correspond to the data point.
	Average *float64

	// The maximum metric value for the data point.
	Maximum *float64

	// The minimum metric value for the data point.
	Minimum *float64

	// The number of metric values that contributed to the aggregate value of this
	// data point.
	SampleCount *float64

	// The sum of the metric values for the data point.
	Sum *float64

	// The time stamp used for the data point.
	Timestamp *time.Time

	// The standard unit for the data point.
	Unit *string

	Metadata map[string]string

	Region string
}

Source Files

Jump to

Keyboard shortcuts

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