Permalink
Branch: master
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
45 lines (36 sloc) 1.78 KB
syntax = "proto3";
package azure.plugins.gloo.solo.io;
option go_package = "github.com/solo-io/gloo/projects/gloo/pkg/api/v1/plugins/azure";
import "gogoproto/gogo.proto";
option (gogoproto.equal_all) = true;
import "github.com/solo-io/solo-kit/api/v1/ref.proto";
// Upstream Spec for Azure Functions Upstreams
// Azure Upstreams represent a collection of Azure Functions for a particular Azure Account
// within a particular Function App
message UpstreamSpec {
// The Name of the Azure Function App where the functions are grouped
string function_app_name = 1;
// A [Gloo Secret Ref](https://gloo.solo.io/introduction/concepts/#Secrets) to an [Azure Publish Profile JSON file](https://azure.microsoft.com/en-us/downloads/publishing-profile-overview/).
// {{ hide_not_implemented "Azure Secrets can be created with `glooctl secret create azure ...`" }}
// Note that this secret is not required unless Function Discovery is enabled
core.solo.io.ResourceRef secret_ref = 2 [(gogoproto.nullable) = false];
// Function Spec for Functions on Azure Functions Upstreams
// The Function Spec contains data necessary for Gloo to invoke Azure functions
message FunctionSpec {
// The Name of the Azure Function as it appears in the Azure Functions Portal
string function_name = 1;
enum AuthLevel {
Anonymous = 0;
Function = 1;
Admin = 2;
}
// Auth Level can bve either "anonymous" "function" or "admin"
// See https://vincentlauzon.com/2017/12/04/azure-functions-http-authorization-levels/ for more details
AuthLevel auth_level = 2;
}
repeated FunctionSpec functions = 3;
}
message DestinationSpec {
// The Function Name of the FunctionSpec to be invoked.
string function_name = 1;
}