// Copyright 2016-2017, Pulumi Corporation. All rights reserved. syntax = "proto3"; import "google/protobuf/struct.proto"; package lumirpc; // Analyzer is a pluggable service that checks entire projects/stacks/snapshots, and/or individual resources, // for arbitrary issues. These might be style, policy, correctness, security, or performance related. service Analyzer { // Analyze analyzes a single resource object, and returns any errors that it finds. rpc Analyze(AnalyzeRequest) returns (AnalyzeResponse) {} } message AnalyzeRequest { string type = 1; // the type token of the resource. google.protobuf.Struct properties = 2; // the full properties to use for validation. map unknowns = 3; // the optional set of properties whose values are unknown. } message AnalyzeResponse { repeated AnalyzeFailure failures = 1; // the failures (or empty if none). } message AnalyzeFailure { string property = 1; // the property that the analyzer rejected (or "" if general). string reason = 2; // the reason that the analyzer rejected the request. }