registry

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: May 16, 2024 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var Resources = mustValidate([]Resource{
	{
		Name:   "blackhole_alert_notifier",
		Entity: "Notifier",
		API:    V1,
		Schema: tfschema.BlackholeAlertNotifier,
		DryRun: true,
	},
	{
		Name:   "bucket",
		Entity: "Bucket",
		API:    V1,
		Schema: tfschema.Bucket,
		DryRun: true,
	},
	{
		Name:   "collection",
		Entity: "Collection",
		API:    V1,
		Schema: tfschema.Collection,
		DryRun: true,
	},
	{
		Name:   "dashboard",
		Entity: "Dashboard",
		API:    V1,
		Schema: tfschema.Dashboard,
		DryRun: true,
	},
	{
		Name:   "dataset",
		Entity: "Dataset",
		API:    V1,
		Schema: tfschema.Dataset,
		DryRun: true,
	},
	{
		Name:   "derived_label",
		Entity: "DerivedLabel",
		API:    V1,
		Schema: tfschema.DerivedLabel,
		DryRun: true,
	},
	{
		Name:   "derived_metric",
		Entity: "DerivedMetric",
		API:    V1,
		Schema: tfschema.DerivedMetric,
		DryRun: true,
	},
	{
		Name:   "drop_rule",
		Entity: "DropRule",
		API:    V1,
		Schema: tfschema.DropRule,
		DryRun: true,
	},
	{
		Name:   "email_alert_notifier",
		Entity: "Notifier",
		API:    V1,
		Schema: tfschema.EmailAlertNotifier,
		DryRun: true,
	},
	{
		Name:   "classic_dashboard",
		Entity: "GrafanaDashboard",
		API:    V1,
		Schema: tfschema.ClassicDashboard,
		DryRun: true,
	},
	{
		Name:   "gcp_metrics_integration",
		Entity: "GcpMetricsIntegration",
		API:    V1,
		Schema: tfschema.GcpMetricsIntegration,
		DryRun: true,
	},
	{
		Name:   "mapping_rule",
		Entity: "MappingRule",
		API:    V1,
		Schema: tfschema.MappingRule,
		DryRun: true,
	},
	{
		Name:   "monitor",
		Entity: "Monitor",
		API:    V1,
		Schema: tfschema.Monitor,
		DryRun: true,
	},
	{
		Name:   "notification_policy",
		Entity: "NotificationPolicy",
		API:    V1,
		Schema: tfschema.NotificationPolicy,

		DryRun: true,
	},
	{
		Name:   "opsgenie_alert_notifier",
		Entity: "Notifier",
		API:    V1,
		Schema: tfschema.OpsgenieAlertNotifier,
		DryRun: true,
	},
	{
		Name:   "pagerduty_alert_notifier",
		Entity: "Notifier",
		API:    V1,
		Schema: tfschema.PagerdutyAlertNotifier,
		DryRun: true,
	},
	{
		Name:   "recording_rule",
		Entity: "RecordingRule",
		API:    V1,
		Schema: tfschema.RecordingRule,
		DryRun: true,
	},
	{
		Name:              "resource_pools_config",
		Entity:            "ResourcePoolsConfig",
		API:               V1,
		Schema:            tfschema.ResourcePoolsConfig,
		NonStandardEntity: true,
	},
	{
		Name:   "rollup_rule",
		Entity: "RollupRule",
		API:    V1,
		Schema: tfschema.RollupRule,
		DryRun: true,
	},
	{
		Name:              "service_account",
		Entity:            "ServiceAccount",
		API:               V1,
		Schema:            tfschema.ServiceAccount,
		DryRun:            true,
		UpdateUnsupported: true,
	},
	{
		Name:   "slack_alert_notifier",
		Entity: "Notifier",
		API:    V1,
		Schema: tfschema.SlackAlertNotifier,
		DryRun: true,
	},
	{
		Name:   "team",
		Entity: "Team",
		API:    V1,
		Schema: tfschema.Team,
		DryRun: true,
	},
	{
		Name:   "trace_metrics_rule",
		Entity: "TraceMetricsRule",
		API:    V1,
		Schema: tfschema.TraceMetricsRule,
	},
	{
		Name:   "trace_jaeger_remote_sampling_strategy",
		Entity: "TraceJaegerRemoteSamplingStrategy",
		API:    V1,
		Schema: tfschema.TraceJaegerRemoteSamplingStrategy,
		DryRun: true,
	},
	{
		Name:   "victorops_alert_notifier",
		Entity: "Notifier",
		API:    V1,
		Schema: tfschema.VictoropsAlertNotifier,
		DryRun: true,
	},
	{
		Name:   "webhook_alert_notifier",
		Entity: "Notifier",
		API:    V1,
		Schema: tfschema.WebhookAlertNotifier,
		DryRun: true,
	},
	{
		Name:              "trace_tail_sampling_rules",
		Entity:            "TraceTailSamplingRules",
		API:               V1,
		Schema:            tfschema.TraceTailSamplingRules,
		NonStandardEntity: true,
	},
})

Functions

This section is empty.

Types

type API

type API string

API is an API namespace.

const (
	V1       API = "v1"
	Unstable API = "unstable"
	Legacy   API = "legacy"
)

type Resource

type Resource struct {
	// Name is the name of the resource (without a "chronosphere_" prefix).
	Name string

	// Entity is the name of the entity the resource wraps.
	Entity string

	// API is the API namespace which backs the resource.
	API API

	// Schema is the tfschema which defines the resource.
	Schema map[string]*schema.Schema

	// If the underlying entity is in the public API and it
	// does not match the entity spec, then set this field to
	// skip generating CRUD+List bindings for the entity.
	NonStandardEntity bool

	// DryRun is a flag to indicate whether the resource supports dry run.
	DryRun bool

	// DisableExportImport silently disables all paginated list helpers by
	// returning no results, thus preventing export-config/import-state from
	// observing any entities. Only useful when promoting an entity from
	// unstable to V1 and you need to temporarily prevent
	// export-config/import-state tests from hitting a disabled unstable API.
	DisableExportImport bool

	// UpdateUnsupported disables generateresource from creating an update helper
	// for the given resource type. This is currently designed with ServiceAccounts
	// in mind, as the resource only support CRD+list.
	UpdateUnsupported bool
}

Resource consolidates metadata for a Terraform resource.

func StandardEntities

func StandardEntities(api API) []Resource

StandardEntities returns all unique entity names which are registered against the given api, where all resources w/ NonStandardEntity=true are filtered out. Useful for generating standard CRUD+List bindings.

func (Resource) Type

func (r Resource) Type() string

Jump to

Keyboard shortcuts

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