syntax = "proto3";

package envoy.extensions.resource_monitors.injected_resource.v3;

import "udpa/annotations/status.proto";
import "udpa/annotations/versioning.proto";
import "validate/validate.proto";

option java_package = "io.envoyproxy.envoy.extensions.resource_monitors.injected_resource.v3";
option java_outer_classname = "InjectedResourceProto";
option java_multiple_files = true;
option go_package = "github.com/envoyproxy/go-control-plane/envoy/extensions/resource_monitors/injected_resource/v3;injected_resourcev3";
option (udpa.annotations.file_status).package_version_status = ACTIVE;

// [#protodoc-title: Injected resource]
// [#extension: envoy.resource_monitors.injected_resource]

// The injected resource monitor allows injecting a synthetic resource pressure into Envoy
// via a text file, which must contain a floating-point number in the range [0..1] representing
// the resource pressure and be updated atomically by a symbolic link swap.
// This is intended primarily for integration tests to force Envoy into an overloaded state.
message InjectedResourceConfig {
  option (udpa.annotations.versioning).previous_message_type =
      "envoy.config.resource_monitor.injected_resource.v2alpha.InjectedResourceConfig";

  string filename = 1 [(validate.rules).string = {min_len: 1}];
}
