2023-03-28 18:39:22 +00:00
|
|
|
// Copyright (c) HashiCorp, Inc.
|
|
|
|
// SPDX-License-Identifier: MPL-2.0
|
|
|
|
|
2020-10-06 15:08:37 +00:00
|
|
|
package structs
|
|
|
|
|
|
|
|
// SystemMetadataOp is the operation for a request related to system metadata.
|
|
|
|
type SystemMetadataOp string
|
|
|
|
|
|
|
|
const (
|
|
|
|
SystemMetadataUpsert SystemMetadataOp = "upsert"
|
|
|
|
SystemMetadataDelete SystemMetadataOp = "delete"
|
|
|
|
)
|
|
|
|
|
|
|
|
// SystemMetadataRequest is used to upsert and delete system metadata.
|
|
|
|
type SystemMetadataRequest struct {
|
|
|
|
// Datacenter is the target for this request.
|
|
|
|
Datacenter string
|
|
|
|
|
|
|
|
// Op is the type of operation being requested.
|
|
|
|
Op SystemMetadataOp
|
|
|
|
|
|
|
|
// Entry is the key to modify.
|
|
|
|
Entry *SystemMetadataEntry
|
|
|
|
|
|
|
|
// WriteRequest is a common struct containing ACL tokens and other
|
|
|
|
// write-related common elements for requests.
|
|
|
|
WriteRequest
|
|
|
|
}
|
|
|
|
|
2020-10-06 18:24:05 +00:00
|
|
|
const (
|
2022-01-12 20:08:49 +00:00
|
|
|
SystemMetadataIntentionFormatKey = "intention-format"
|
|
|
|
SystemMetadataIntentionFormatConfigValue = "config-entry"
|
|
|
|
SystemMetadataIntentionFormatLegacyValue = "legacy"
|
|
|
|
SystemMetadataVirtualIPsEnabled = "virtual-ips"
|
|
|
|
SystemMetadataTermGatewayVirtualIPsEnabled = "virtual-ips-term-gateway"
|
2020-10-06 18:24:05 +00:00
|
|
|
)
|
|
|
|
|
2020-10-06 15:08:37 +00:00
|
|
|
type SystemMetadataEntry struct {
|
|
|
|
Key string
|
|
|
|
Value string `json:",omitempty"`
|
|
|
|
RaftIndex
|
|
|
|
}
|
|
|
|
|
|
|
|
// RequestDatacenter returns the datacenter for a given request.
|
|
|
|
func (c *SystemMetadataRequest) RequestDatacenter() string {
|
|
|
|
return c.Datacenter
|
|
|
|
}
|