| option app_label = "simpleexampleservice"; |
| option name = "simpleexampleservice"; |
| |
| message SimpleExampleService (Service){ |
| option verbose_name = "Simple Example Service"; |
| option description = "Service that demonstrates integration with Kubernetes compute resources"; |
| |
| required string service_message = 1 [ |
| help_text = "Service Message to display in web page", |
| max_length = 256]; |
| optional string service_secret = 2 [ |
| help_text = "Service Secret to place in a file", |
| text = True]; |
| } |
| |
| // Note: Named ColorNew to prevent name collision with ExampleService's Color. |
| |
| message ColorNew (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", |
| max_length = 256]; |
| required string html_code = 2 [ |
| help_text = "HTML Code for this color", |
| max_length = 256]; |
| } |
| |
| // Note: Named ServiceInstanceWithCompute2 to prevent name collision with ExampleService.ServiceInstanceWithCompute. |
| // Expect this model to eventually move to the core. |
| |
| message ServiceInstanceWithCompute2 (ServiceInstance) { |
| option description = "ServiceInstance with relation to a ComputeServiceInstance"; |
| |
| optional manytoone compute_instance->ComputeServiceInstance:service_instance_with_computes = 1:1001 [ |
| help_text = "ComputeServiceInstance that holds compute resources for this ServiceInstance", |
| db_index=True]; |
| } |
| |
| message SimpleExampleServiceInstance (ServiceInstanceWithCompute2){ |
| 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", |
| max_length = 256]; |
| optional manytoone foreground_color->ColorNew:serviceinstance_foreground_colors = 2:1001 [ |
| help_text = "Foreground color to use in web page", |
| db_index = True]; |
| optional manytoone background_color->ColorNew:serviceinstance_background_colors = 3:1002 [ |
| help_text = "Background color to use in web page", |
| db_index = True]; |
| optional string tenant_secret = 4 [ |
| help_text = "Tenant Secret to place in a file", |
| text = True]; |
| } |
| |
| // Note: Named EmbeddedImageNew to prevent name collision with ExampleService's EmbeddedImage. |
| |
| message EmbeddedImageNew (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", |
| max_length = 256]; |
| required string url = 2 [ |
| help_text = "URL for this image", |
| max_length = 256]; |
| optional manytoone serviceinstance->SimpleExampleServiceInstance:embedded_images = 3:1001 [ |
| help_text = "ServiceInstance that represents the web page where this embedded image should be placed", |
| db_index = True]; |
| } |