vmware / go-vcloud-director

Golang SDK for VMware Cloud Director
Other
80 stars 76 forks source link

Add Behavior support to Defined Interfaces and Defined Entity Types #584

Closed adambarreiro closed 1 year ago

adambarreiro commented 1 year ago

Overview

This PR serves as the foundations of https://github.com/vmware/terraform-provider-vcd/pull/1074 It adds methods to both Defined Interface and Defined Entity Type types to manage Behaviors and Behavior Access Controls.

Context

Behaviors are explained here, but in simplified words, they're "procedures" that belong to RDE Interfaces, are inherited by the RDE Types that use those Interfaces and are invoked on the RDEs that instantiate those types.

Also, Behaviors can be overridden at the RDE Type level. For example, if you use a RDE Interface with behavior "A", you can override what it does in a Type that uses it.

Also, Behaviors have "Access Levels", which can define what operations can be done in that behavior.