package policyengine type resource struct { name string properties map[string]string } func (r *resource) Name() string { return r.name } func (r *resource) Property(name string) string { return r.properties[name] } func newResource(name string, properties map[string]string) *resource { if properties == nil { properties = make(map[string]string) } return &resource{name: name, properties: properties} } type request struct { operation string properties map[string]string resource *resource } var _ Request = (*request)(nil) func (r *request) Operation() string { return r.operation } func (r *request) Resource() Resource { return r.resource } func (r *request) Property(name string) string { return r.properties[name] } func newRequest(op string, r *resource, properties map[string]string) *request { return &request{ operation: op, properties: properties, resource: r, } }