option app_label = "exampleservice";
option name = "exampleservice";

message ExampleService (Service){
    option verbose_name = "Example Service";
    option description = "Service that demonstrates integration with OpenStack compute resources";

    required string service_message = 1 [
        help_text = "Service Message to Display",
        blank = False,
        db_index = False,
        max_length = 254,
        null = False];
}

message Color (XOSBase){
     option verbose_name = "Color";
     option description = "An html color code that may be used to color a web page";

     required string name = 1 [
         help_text = "Name for this color",
         blank = False,
         db_index = False,
         max_length = 256,
         null = False];
     required string html_code = 2 [
         help_text = "HTML Code for this color",
         blank = False,
         db_index = False,
         max_length = 256,
         null = False];
}

message ServiceInstanceWithCompute (ServiceInstance) {
    option description = "ServiceInstance with relation to a ComputeServiceInstance";

    optional manytoone compute_instance->ComputeServiceInstance:service_instance_with_computes = 1:1002 [
        blank=True,
        db_index=True,
        null=True];
}

message ExampleServiceInstance (ServiceInstanceWithCompute){
     option verbose_name = "Example Service Instance";
     option description = "Tenancy in SimpleExampleService, represents a web server that serves one page";

     required string tenant_message = 1 [
         help_text = "Tenant Message to Display",
         blank = False,
         db_index = False,
         max_length = 254,
         null = False];
     optional manytoone foreground_color->Color:serviceinstance_foreground_colors = 2:1001 [
         blank = True,
         db_index = True,
         null = True];
     optional manytoone background_color->Color:serviceinstance_background_colors = 3:1002 [
         blank = True,
         db_index = True,
         null = True];
}

message EmbeddedImage (XOSBase){
     option verbose_name = "Embedded Image";
     option description = "An embedded image that may be placed in a web page";

     required string name = 1 [
         help_text = "Name for this image",
         blank = False,
         db_index = False,
         max_length = 256,
         null = False];
     required string url = 2 [
         help_text = "URL for this image",
         blank = False,
         db_index = False,
         max_length = 256,
         null = False];
     optional manytoone serviceinstance->ExampleServiceInstance:embedded_images = 3:1001 [
         help_text = "ServiceInstance that represents the web page where this embedded image should be placed",
         blank = True,
         db_index = True,
         null = True];
}
