Documentation
¶
Index ¶
- type CacheConfig
- type Config
- type Creds
- type DataServer
- type DatastoreConfig
- type DeviationConfig
- type GRPCServer
- type PromConfig
- type RemoteSchemaCache
- type RemoteSchemaServer
- type SBI
- type SBIGnmiOptions
- type SBINetconfOptions
- type SchemaConfig
- type SchemaServer
- type Sync
- type SyncProtocol
- type TLS
- type Validation
- type Validators
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CacheConfig ¶
type CacheConfig struct {
// cache type: "local" or "remote"
Type string `yaml:"type,omitempty" json:"type,omitempty"`
// Local cache attr
StoreType string `yaml:"store-type,omitempty" json:"store-type,omitempty"`
Dir string `yaml:"dir,omitempty" json:"dir,omitempty"`
// Remote cache attr
Address string `yaml:"address,omitempty" json:"address,omitempty"`
}
type Config ¶
type Config struct {
GRPCServer *GRPCServer `yaml:"grpc-server,omitempty" json:"grpc-server,omitempty"`
SchemaStore *schemaConfig.SchemaStoreConfig `yaml:"schema-store,omitempty" json:"schema-store,omitempty"`
Datastores []*DatastoreConfig `yaml:"datastores,omitempty" json:"datastores,omitempty"`
SchemaServer *RemoteSchemaServer `yaml:"schema-server,omitempty" json:"schema-server,omitempty"`
Cache *CacheConfig `yaml:"cache,omitempty" json:"cache,omitempty"`
Prometheus *PromConfig `yaml:"prometheus,omitempty" json:"prometheus,omitempty"`
DefaultTransactionTimeout time.Duration `yaml:"transaction-timeout,omitempty" json:"transaction-timeout,omitempty"`
Validation *Validation `yaml:"validation-defaults,omitempty" json:"validation-defaults,omitempty"`
Deviation *DeviationConfig `yaml:"deviation-defaults,omitempty" json:"deviation-defaults,omitempty"`
}
type DataServer ¶
type DataServer struct {
// Enabled bool `yaml:"enabled,omitempty" json:"enabled,omitempty"`
MaxCandidates int `yaml:"max-candidates,omitempty" json:"max-candidates,omitempty"`
}
type DatastoreConfig ¶
type DatastoreConfig struct {
Name string `yaml:"name,omitempty" json:"name,omitempty"`
Schema *SchemaConfig `yaml:"schema,omitempty" json:"schema,omitempty"`
SBI *SBI `yaml:"sbi,omitempty" json:"sbi,omitempty"`
Sync *Sync `yaml:"sync,omitempty" json:"sync,omitempty"`
Validation *Validation `yaml:"validation,omitempty" json:"validation,omitempty"`
Deviation *DeviationConfig `yaml:"deviation,omitempty" json:"deviation,omitempty"`
}
func (*DatastoreConfig) ValidateSetDefaults ¶
func (ds *DatastoreConfig) ValidateSetDefaults() error
type DeviationConfig ¶ added in v0.0.64
type DeviationConfig struct {
Interval time.Duration `yaml:"interval,omitempty" json:"interval,omitempty"`
}
func (*DeviationConfig) DeepCopy ¶ added in v0.0.64
func (d *DeviationConfig) DeepCopy() *DeviationConfig
type GRPCServer ¶
type GRPCServer struct {
Address string `yaml:"address,omitempty" json:"address,omitempty"`
TLS *TLS `yaml:"tls,omitempty" json:"tls,omitempty"`
SchemaServer *SchemaServer `yaml:"schema-server,omitempty" json:"schema-server,omitempty"`
DataServer *DataServer `yaml:"data-server,omitempty" json:"data-server,omitempty"`
MaxRecvMsgSize int `yaml:"max-recv-msg-size,omitempty" json:"max-recv-msg-size,omitempty"`
RPCTimeout time.Duration `yaml:"rpc-timeout,omitempty" json:"rpc-timeout,omitempty"`
}
type PromConfig ¶
type PromConfig struct {
Address string `yaml:"address,omitempty" json:"address,omitempty"`
}
type RemoteSchemaCache ¶
type RemoteSchemaCache struct {
TTL time.Duration `yaml:"ttl,omitempty" json:"ttl,omitempty"`
Capacity uint64 `yaml:"capacity,omitempty" json:"capacity,omitempty"`
WithDescription bool `yaml:"with-description,omitempty" json:"with-description,omitempty"`
RefreshOnHit bool `yaml:"refresh-on-hit,omitempty" json:"refresh-on-hit,omitempty"`
}
type RemoteSchemaServer ¶
type RemoteSchemaServer struct {
Address string `yaml:"address,omitempty" json:"address,omitempty"`
TLS *TLS `yaml:"tls,omitempty" json:"tls,omitempty"`
Cache *RemoteSchemaCache `yaml:"cache,omitempty" json:"cache,omitempty"`
}
type SBI ¶
type SBI struct {
// Southbound interface type, one of: gnmi, netconf
Type string `yaml:"type,omitempty" json:"type,omitempty"`
// gNMI or netconf address
Address string `yaml:"address,omitempty" json:"address,omitempty"`
Port uint32 `yaml:"port,omitempty" json:"port,omitempty"`
// TLS config
TLS *TLS `yaml:"tls,omitempty" json:"tls,omitempty"`
// Target SBI credentials
Credentials *Creds `yaml:"credentials,omitempty" json:"credentials,omitempty"`
NetconfOptions *SBINetconfOptions `yaml:"netconf-options,omitempty" json:"netconf-options,omitempty"`
GnmiOptions *SBIGnmiOptions `yaml:"gnmi-options,omitempty" json:"gnmi-options,omitempty"`
// ConnectRetry
ConnectRetry time.Duration `yaml:"connect-retry,omitempty" json:"connect-retry,omitempty"`
// Timeout
Timeout time.Duration `yaml:"timeout,omitempty" json:"timeout,omitempty"`
}
type SBIGnmiOptions ¶ added in v0.0.44
type SBIGnmiOptions struct {
Encoding string `yaml:"encoding,omitempty" json:"encoding,omitempty"`
}
type SBINetconfOptions ¶ added in v0.0.44
type SBINetconfOptions struct {
// if true, the namespace is included as an `xmlns` attribute in the netconf payloads
IncludeNS bool `yaml:"include-ns,omitempty" json:"include-ns,omitempty"`
// sets the preferred NC version: 1.0 or 1.1
PreferredNCVersion string `yaml:"preferred-nc-version,omitempty" json:"preferred-nc-version,omitempty"`
// add a namespace when specifying a netconf operation such as 'delete' or 'remove'
OperationWithNamespace bool `yaml:"operation-with-namespace,omitempty" json:"operation-with-namespace,omitempty"`
// use 'remove' operation instead of 'delete'
UseOperationRemove bool `yaml:"use-operation-remove,omitempty" json:"use-operation-remove,omitempty"`
// for netconf targets: defines whether to commit to running or use a candidate.
CommitDatastore string `yaml:"commit-datastore,omitempty" json:"commit-datastore,omitempty"`
}
type SchemaConfig ¶
type SchemaConfig struct {
Name string `json:"name,omitempty"`
Vendor string `json:"vendor,omitempty"`
Version string `json:"version,omitempty"`
}
func (*SchemaConfig) GetSchema ¶
func (sc *SchemaConfig) GetSchema() *sdcpb.Schema
type SchemaServer ¶
type Sync ¶
type Sync struct {
Validate bool `yaml:"validate,omitempty" json:"validate,omitempty"`
Buffer int64 `yaml:"buffer,omitempty" json:"buffer,omitempty"`
WriteWorkers int64 `yaml:"write-workers,omitempty" json:"write-workers,omitempty"`
Config []*SyncProtocol `yaml:"config,omitempty" json:"config,omitempty"`
}
type SyncProtocol ¶
type SyncProtocol struct {
Name string `yaml:"name,omitempty" json:"name,omitempty"`
Protocol string `yaml:"protocol,omitempty" json:"protocol,omitempty"`
Paths []string `yaml:"paths,omitempty" json:"paths,omitempty"`
Interval time.Duration `yaml:"interval,omitempty" json:"interval,omitempty"`
Mode string `yaml:"mode,omitempty" json:"mode,omitempty"`
Encoding string `yaml:"encoding,omitempty" json:"encoding,omitempty"`
}
type TLS ¶
type Validation ¶ added in v0.0.55
type Validation struct {
DisabledValidators *Validators `yaml:"disabled-validators,omitempty" json:"disabled-validators,omitempty"`
DisableConcurrency bool `yaml:"disable-concurrency,omitempty" json:"disable-concurrency,omitempty"`
}
func NewValidationConfig ¶ added in v0.0.60
func NewValidationConfig() *Validation
func (*Validation) DeepCopy ¶ added in v0.0.60
func (v *Validation) DeepCopy() *Validation
func (*Validation) SetDisableConcurrency ¶ added in v0.0.60
func (v *Validation) SetDisableConcurrency(b bool)
type Validators ¶ added in v0.0.55
type Validators struct {
Mandatory bool `yaml:"mandatory,omitempty" json:"mandatory,omitempty"`
Leafref bool `yaml:"leafref,omitempty" json:"leafref,omitempty"`
LeafrefMinMaxAttributes bool `yaml:"leafref-min-max-attributes,omitempty" json:"leafref-min-max,omitempty"`
Pattern bool `yaml:"pattern,omitempty" json:"pattern,omitempty"`
MustStatement bool `yaml:"must-statement,omitempty" json:"must-statement,omitempty"`
Length bool `yaml:"length,omitempty" json:"length,omitempty"`
Range bool `yaml:"range,omitempty" json:"range,omitempty"`
MaxElements bool `yaml:"max-elements,omitempty" json:"max-elements,omitempty"`
}
func (*Validators) DeepCopy ¶ added in v0.0.60
func (v *Validators) DeepCopy() *Validators
func (*Validators) DisableAll ¶ added in v0.0.58
func (v *Validators) DisableAll() *Validators
Click to show internal directories.
Click to hide internal directories.