2023-03-28 20:12:41 +00:00
|
|
|
// Copyright (c) HashiCorp, Inc.
|
|
|
|
// SPDX-License-Identifier: MPL-2.0
|
|
|
|
|
2023-01-18 22:14:34 +00:00
|
|
|
package api
|
|
|
|
|
|
|
|
import (
|
|
|
|
"time"
|
|
|
|
)
|
|
|
|
|
|
|
|
// ResourceReference is a reference to a ConfigEntry
|
|
|
|
// with an optional reference to a subsection of that ConfigEntry
|
|
|
|
// that can be specified as SectionName
|
|
|
|
type ResourceReference struct {
|
|
|
|
// Kind is the kind of ConfigEntry that this resource refers to.
|
|
|
|
Kind string
|
|
|
|
// Name is the identifier for the ConfigEntry this resource refers to.
|
|
|
|
Name string
|
|
|
|
// SectionName is a generic subresource identifier that specifies
|
|
|
|
// a subset of the ConfigEntry to which this reference applies. Usage
|
|
|
|
// of this field should be up to the controller that leverages it. If
|
|
|
|
// unused, this should be blank.
|
|
|
|
SectionName string
|
|
|
|
|
|
|
|
// Partition is the partition the config entry is associated with.
|
|
|
|
// Partitioning is a Consul Enterprise feature.
|
|
|
|
Partition string `json:",omitempty"`
|
|
|
|
|
|
|
|
// Namespace is the namespace the config entry is associated with.
|
|
|
|
// Namespacing is a Consul Enterprise feature.
|
|
|
|
Namespace string `json:",omitempty"`
|
|
|
|
}
|
|
|
|
|
|
|
|
// ConfigEntryStatus is used for propagating back asynchronously calculated
|
|
|
|
// messages from control loops to a user
|
|
|
|
type ConfigEntryStatus struct {
|
|
|
|
// Conditions is the set of condition objects associated with
|
|
|
|
// a ConfigEntry status.
|
|
|
|
Conditions []Condition
|
|
|
|
}
|
|
|
|
|
|
|
|
// Condition is used for a single message and state associated
|
|
|
|
// with an object. For example, a ConfigEntry that references
|
|
|
|
// multiple other resources may have different statuses with
|
|
|
|
// respect to each of those resources.
|
|
|
|
type Condition struct {
|
2023-02-08 19:50:17 +00:00
|
|
|
// Type is a value from a bounded set of types that an object might have
|
|
|
|
Type string
|
2023-01-18 22:14:34 +00:00
|
|
|
// Status is a value from a bounded set of statuses that an object might have
|
|
|
|
Status string
|
|
|
|
// Reason is a value from a bounded set of reasons for a given status
|
|
|
|
Reason string
|
|
|
|
// Message is a message that gives more detailed information about
|
|
|
|
// why a Condition has a given status and reason
|
|
|
|
Message string
|
|
|
|
// Resource is an optional reference to a resource for which this
|
|
|
|
// condition applies
|
|
|
|
Resource *ResourceReference
|
|
|
|
// LastTransitionTime is the time at which this Condition was created
|
|
|
|
LastTransitionTime *time.Time
|
|
|
|
}
|