syntax = "proto3";

package istio.mixer.adapter.sample.quota;

import "mixer/v1/config/descriptor/value_type.proto";
import "mixer/v1/template/extensions.proto";
import "mixer/v1/template/standard_types.proto";

option (istio.mixer.v1.template.template_variety) = TEMPLATE_VARIETY_QUOTA;

message Template {
    map<string, istio.mixer.v1.config.descriptor.ValueType> dimensions = 1;
    map<string, bool> boolMap = 2;
    Res1 res1 = 11;
}

message Res1 {
    istio.mixer.v1.config.descriptor.ValueType value = 1;
    map<string, istio.mixer.v1.config.descriptor.ValueType> dimensions = 2;

    int64 int64Primitive = 3;

    bool boolPrimitive = 4;

    double doublePrimitive = 5;

    string stringPrimitive = 6;

    map<string, int64> int64Map = 7;

    istio.mixer.v1.template.TimeStamp timeStamp = 9;

    istio.mixer.v1.template.Duration duration = 10;

    Res2 res2 = 11;

    map<string, Res2> res2_map = 12;
}

message Res2 {
    istio.mixer.v1.config.descriptor.ValueType value = 1;
    map<string, istio.mixer.v1.config.descriptor.ValueType> dimensions = 2;

    int64 int64Primitive = 3;
}
