Views: Ability for a view instance to be associated to a cluster for configuration

Details

Description

Ability for a view instance to be associated to a cluster for configuration (so the view can have access to cluster config information via view context). This enables the view instance to be configured w/o the admin having to wire-up properties. Whether the view is auto instantiated or instantiated manually, the Ambari Admin should have an option to relate an instance of a cluster to the view instance. This make the cluster config information available to the view so the view can "auto-configure". Therefore, in addition to today's manual configure option, need to add options for picking a cluster in same ambari, or picking remote ambari server to "auto-configure". Based on the configuration option the user chooses, the way the user gets configuration changes. If the user chooses today mode of config, they can use the same ViewContext.getProperties() as they do today. If they choose a local cluster, they need a way to get access to all cluster configurations. For remote cluster, maybe we just provide convenient method way to get rest endpoint to the cluster resource to limit scope? In any of the three cases, the view developer needs to know how he is to get his configurations (custom, local or remote), and have a way to get access via ViewContext. Also, need ability to flag properties as cluster "configuration" or "setting" so the UI can organize properties that can be derived from cluster configuration properties vs. settings props related to the view itself.