/*
Package device is a generated package which contains definitions
of structs which generate gNMI paths for a YANG schema. The generated paths are
based on a compressed form of the schema.

This package was generated by pathgen-tests
using the following YANG input files:
	- ../testdata/modules/openconfig-simple.yang
Imported modules were sourced from:
*/
package device

import (
	"github.com/openconfig/ygot/ygot"
	"example.com/simplepath"
)

// DevicePath represents the /device YANG schema element.
type DevicePath struct {
	*ygot.DeviceRootBase
}

// DeviceRoot returns a new path object from which YANG paths can be constructed.
func DeviceRoot(id string) *DevicePath {
	return &DevicePath{ygot.NewDeviceRootBase(id)}
}

// Parent (container): I am a parent container
// that has 4 children.
// ----------------------------------------
// Defining module: "openconfig-simple"
// Instantiating module: "openconfig-simple"
// Path from parent: "parent"
// Path from root: "/parent"
func (n *DevicePath) Parent() *simplepath.ParentPath {
	return &simplepath.ParentPath{
		NodePath: ygot.NewNodePath(
			[]string{"parent"},
			map[string]interface{}{},
			n,
		),
	}
}

// RemoteContainer (container): 
// ----------------------------------------
// Defining module: "openconfig-remote"
// Instantiating module: "openconfig-simple"
// Path from parent: "remote-container"
// Path from root: "/remote-container"
func (n *DevicePath) RemoteContainer() *simplepath.RemoteContainerPath {
	return &simplepath.RemoteContainerPath{
		NodePath: ygot.NewNodePath(
			[]string{"remote-container"},
			map[string]interface{}{},
			n,
		),
	}
}
