Custom Resource Provider Overview
Applies To: Windows Azure Pack
Windows Azure Pack for Windows Server allows for the creation of customer resource providers.
The technologies that Windows Azure Pack provides are represented by resource providers. Conceptually a resource provider is responsible for creating resources of a specific type. For example, Windows Azure Pack provides resource providers for creating websites, virtual machines, SQL Server databases and so on. A custom resource provider is implemented by a third-party and integrates in the same way as the resource providers provided by Windows Azure Pack.
The resource provider provides services on its own, or acts as a proxy to an existing external system. In either case, there is a defined set of components the custom resource provider must provide.
User Interface Extensions for the management portal for administrators and the management portal for tenants website.
Controllers for the Tenant and Administrator user interface extensions. For more information, see Administrator and Tenant User Interface Controllers.
REST Endpoints accessible via HTTPS covering the following:
Administrator Endpoint
Tenant Endpoint
Notification Endpoint
Usage Endpoint
For more information, see Custom Resource Provider Endpoints.
User Interface Extensions
A typical custom resource provider provides a user interface for tenants and administrators to manage the provider resources. The user interface either integrates with the existing Windows Azure Pack management portal as a user interface extension or integrates into a custom management portal. The Hello World sample demonstrates how to create a Windows Azure Pack management portal user interface extension for a custom provider and is documented at Windows Azure Pack Management Portal User Interface Extensions.
Note
User interface extensions can be used for a variety of purposes and are not limited to custom resource providers.
Authentication and Security
A resource provider must support the following:
Support secure communication over http (HTTPS).
Support Basic authentication.
Controllers used to provide administrator and tenant access to the Service Management API must reside on the same website as the Service Management API. For more information, see Administrator and Tenant User Interface Controllers.
The Hello World Custom Resource Provider Sample
A sample Custom Resource Provider is provided as part of the Windows Azure Pack for Windows Server Developer Kit. For more information, see https://www.microsoft.com/en-us/download/details.aspx?id=41146
The Hello World sample provides both management portal for administrators and management portal for tenants user interface extensions as well as the required endpoint implementations. As an MVC based sample, controllers are used provide the endpoint definitions that allow access to the resource provider resources. They are also used to make calls to the Service Management API on behalf of the management portal user interface. The custom resource provider management portal for administrators user interface extensions are expressed as views.
For more information about the Hello World sample, see https://curah.microsoft.com/58720/extending-the-hello-world-custom-resource-provider-sample.
See Also
Windows Azure Pack Custom Resource Providers
Windows Azure Pack Custom Resource Provider Notification REST API Reference
Windows Azure Pack Custom Resource Provider Usage REST API Reference
Authenticating Windows Azure Pack Management Portals and Service Management API