// Copyright (c) HashiCorp, Inc.
// SPDX-License-Identifier: MPL-2.0

syntax = "proto3";

package hashicorp.consul.mesh.v2beta1;

import "pbresource/resource.proto";

// NOTE: roughly equivalent to structs.ResourceReference
message ParentReference {
  // For east/west configuration, this should point to a Service.
  // For north/south it should point to a Gateway.
  hashicorp.consul.resource.Reference ref = 1;

  // For east/west this is the name of the Consul Service port to direct traffic to
  // or empty to imply all.
  // For north/south this is TBD.
  //
  // For more details on potential values of this field, see documentation for
  // Service.ServicePort.
  string port = 2;
}

message BackendReference {
  // For east/west configuration, this should point to a Service.
  hashicorp.consul.resource.Reference ref = 1;

  // For east/west this is the name of the Consul Service port to direct traffic to
  // or empty to imply using the same value as the parent ref.
  // For north/south this is TBD.
  //
  // For more details on potential values of this field, see documentation for
  // Service.ServicePort.
  string port = 2;
  string datacenter = 3;
}
