| // Copyright 2021 Google LLC |
| // |
| // Licensed under the Apache License, Version 2.0 (the "License"); |
| // you may not use this file except in compliance with the License. |
| // You may obtain a copy of the License at |
| // |
| // http://www.apache.org/licenses/LICENSE-2.0 |
| // |
| // Unless required by applicable law or agreed to in writing, software |
| // distributed under the License is distributed on an "AS IS" BASIS, |
| // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| // See the License for the specific language governing permissions and |
| // limitations under the License. |
| |
| // The proto defines struct based gRPC-Redfish request, response, and the |
| // Redfish service. |
| |
| syntax = "proto3"; |
| |
| package redfish.v1; |
| |
| import "google/protobuf/struct.proto"; |
| |
| message Request { |
| string url = 1; |
| oneof content_type { |
| google.protobuf.Struct json = 2 [deprecated = true]; |
| bytes octet_stream = 3; |
| } |
| map<string, string> headers = 4; |
| string json_str = 5; |
| } |
| |
| message Response { |
| oneof content_type { |
| google.protobuf.Struct json = 1 [deprecated = true]; |
| bytes octet_stream = 3; |
| string json_str = 5; |
| } |
| uint32 code = 2; |
| map<string, string> headers = 4; |
| } |
| |
| message GetOverridePolicyRequest {} |
| |
| message GetOverridePolicyResponse { |
| // Contents of the policy file as raw bytes. Encoding is defined by the source |
| // file. |
| bytes policy = 1; |
| } |
| |
| // The dynamic Redfish service definition. |
| service RedfishV1 { |
| // Sends a GET request |
| rpc Get(Request) returns (Response) {} |
| // Sends a POST request |
| rpc Post(Request) returns (Response) {} |
| // Sends a PATCH request |
| rpc Patch(Request) returns (Response) {} |
| // Sends a PUT request |
| rpc Put(Request) returns (Response) {} |
| // Sends a DELETE request |
| rpc Delete(Request) returns (Response) {} |
| // Get Redfish override data |
| rpc GetOverridePolicy(GetOverridePolicyRequest) |
| returns (GetOverridePolicyResponse) {} |
| // A revised Redfish eventing implementation by a server side stream RPC. |
| rpc Subscribe(Request) returns (stream Response) {} |
| } |