All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.yamcs.protobuf.ParameterArchiveServiceProto Maven / Gradle / Ivy

There is a newer version: 5.10.9
Show newest version
// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: yamcs/protobuf/archive/parameter_archive_service.proto

package org.yamcs.protobuf;

public final class ParameterArchiveServiceProto {
  private ParameterArchiveServiceProto() {}
  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistryLite registry) {
  }

  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistry registry) {
    registerAllExtensions(
        (com.google.protobuf.ExtensionRegistryLite) registry);
  }
  static final com.google.protobuf.Descriptors.Descriptor
    internal_static_yamcs_protobuf_archive_SubscribeBackfillingRequest_descriptor;
  static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_yamcs_protobuf_archive_SubscribeBackfillingRequest_fieldAccessorTable;
  static final com.google.protobuf.Descriptors.Descriptor
    internal_static_yamcs_protobuf_archive_SubscribeBackfillingData_descriptor;
  static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_yamcs_protobuf_archive_SubscribeBackfillingData_fieldAccessorTable;
  static final com.google.protobuf.Descriptors.Descriptor
    internal_static_yamcs_protobuf_archive_SubscribeBackfillingData_BackfillFinishedInfo_descriptor;
  static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_yamcs_protobuf_archive_SubscribeBackfillingData_BackfillFinishedInfo_fieldAccessorTable;
  static final com.google.protobuf.Descriptors.Descriptor
    internal_static_yamcs_protobuf_archive_RebuildRangeRequest_descriptor;
  static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_yamcs_protobuf_archive_RebuildRangeRequest_fieldAccessorTable;
  static final com.google.protobuf.Descriptors.Descriptor
    internal_static_yamcs_protobuf_archive_PurgeRequest_descriptor;
  static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_yamcs_protobuf_archive_PurgeRequest_fieldAccessorTable;
  static final com.google.protobuf.Descriptors.Descriptor
    internal_static_yamcs_protobuf_archive_GetParameterRangesRequest_descriptor;
  static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_yamcs_protobuf_archive_GetParameterRangesRequest_fieldAccessorTable;
  static final com.google.protobuf.Descriptors.Descriptor
    internal_static_yamcs_protobuf_archive_GetArchivedParametersInfoRequest_descriptor;
  static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_yamcs_protobuf_archive_GetArchivedParametersInfoRequest_fieldAccessorTable;
  static final com.google.protobuf.Descriptors.Descriptor
    internal_static_yamcs_protobuf_archive_GetArchivedParameterSegmentsRequest_descriptor;
  static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_yamcs_protobuf_archive_GetArchivedParameterSegmentsRequest_fieldAccessorTable;
  static final com.google.protobuf.Descriptors.Descriptor
    internal_static_yamcs_protobuf_archive_ArchivedParameterInfo_descriptor;
  static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_yamcs_protobuf_archive_ArchivedParameterInfo_fieldAccessorTable;
  static final com.google.protobuf.Descriptors.Descriptor
    internal_static_yamcs_protobuf_archive_ArchivedParametersInfoResponse_descriptor;
  static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_yamcs_protobuf_archive_ArchivedParametersInfoResponse_fieldAccessorTable;
  static final com.google.protobuf.Descriptors.Descriptor
    internal_static_yamcs_protobuf_archive_ArchiveParameterSegmentInfo_descriptor;
  static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_yamcs_protobuf_archive_ArchiveParameterSegmentInfo_fieldAccessorTable;
  static final com.google.protobuf.Descriptors.Descriptor
    internal_static_yamcs_protobuf_archive_ArchivedParameterSegmentsResponse_descriptor;
  static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_yamcs_protobuf_archive_ArchivedParameterSegmentsResponse_fieldAccessorTable;
  static final com.google.protobuf.Descriptors.Descriptor
    internal_static_yamcs_protobuf_archive_GetArchivedParameterGroupRequest_descriptor;
  static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_yamcs_protobuf_archive_GetArchivedParameterGroupRequest_fieldAccessorTable;
  static final com.google.protobuf.Descriptors.Descriptor
    internal_static_yamcs_protobuf_archive_ArchivedParameterGroupResponse_descriptor;
  static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_yamcs_protobuf_archive_ArchivedParameterGroupResponse_fieldAccessorTable;
  static final com.google.protobuf.Descriptors.Descriptor
    internal_static_yamcs_protobuf_archive_EnableBackfillingRequest_descriptor;
  static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_yamcs_protobuf_archive_EnableBackfillingRequest_fieldAccessorTable;
  static final com.google.protobuf.Descriptors.Descriptor
    internal_static_yamcs_protobuf_archive_DisableBackfillingRequest_descriptor;
  static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_yamcs_protobuf_archive_DisableBackfillingRequest_fieldAccessorTable;

  public static com.google.protobuf.Descriptors.FileDescriptor
      getDescriptor() {
    return descriptor;
  }
  private static  com.google.protobuf.Descriptors.FileDescriptor
      descriptor;
  static {
    java.lang.String[] descriptorData = {
      "\n6yamcs/protobuf/archive/parameter_archi" +
      "ve_service.proto\022\026yamcs.protobuf.archive" +
      "\032\033google/protobuf/empty.proto\032\037google/pr" +
      "otobuf/timestamp.proto\032\033yamcs/api/annota" +
      "tions.proto\032$yamcs/protobuf/archive/arch" +
      "ive.proto\032\"yamcs/protobuf/pvalue/pvalue." +
      "proto\032\032yamcs/protobuf/yamcs.proto\"/\n\033Sub" +
      "scribeBackfillingRequest\022\020\n\010instance\030\001 \001" +
      "(\t\"\376\001\n\030SubscribeBackfillingData\022W\n\010finis" +
      "hed\030\001 \003(\0132E.yamcs.protobuf.archive.Subsc" +
      "ribeBackfillingData.BackfillFinishedInfo" +
      "\032\210\001\n\024BackfillFinishedInfo\022)\n\005start\030\001 \001(\013" +
      "2\032.google.protobuf.Timestamp\022(\n\004stop\030\002 \001" +
      "(\0132\032.google.protobuf.Timestamp\022\033\n\023proces" +
      "sedParameters\030\003 \001(\004\"|\n\023RebuildRangeReque" +
      "st\022\020\n\010instance\030\001 \001(\t\022)\n\005start\030\002 \001(\0132\032.go" +
      "ogle.protobuf.Timestamp\022(\n\004stop\030\003 \001(\0132\032." +
      "google.protobuf.Timestamp\" \n\014PurgeReques" +
      "t\022\020\n\010instance\030\001 \001(\t\"\214\002\n\031GetParameterRang" +
      "esRequest\022\020\n\010instance\030\001 \001(\t\022\014\n\004name\030\002 \001(" +
      "\t\022)\n\005start\030\003 \001(\0132\032.google.protobuf.Times" +
      "tamp\022(\n\004stop\030\004 \001(\0132\032.google.protobuf.Tim" +
      "estamp\022\016\n\006minGap\030\005 \001(\003\022\016\n\006maxGap\030\006 \001(\003\022\022" +
      "\n\nnorealtime\030\007 \001(\010\022\021\n\tprocessor\030\010 \001(\t\022\016\n" +
      "\006source\030\t \001(\t\022\020\n\010minRange\030\n \001(\003\022\021\n\tmaxVa" +
      "lues\030\013 \001(\005\"^\n GetArchivedParametersInfoR" +
      "equest\022\020\n\010instance\030\001 \001(\t\022\t\n\001q\030\002 \001(\t\022\016\n\006s" +
      "ystem\030\003 \001(\t\022\r\n\005limit\030\007 \001(\005\"\231\001\n#GetArchiv" +
      "edParameterSegmentsRequest\022\020\n\010instance\030\001" +
      " \001(\t\022\013\n\003pid\030\002 \001(\r\022)\n\005start\030\003 \001(\0132\032.googl" +
      "e.protobuf.Timestamp\022(\n\004stop\030\004 \001(\0132\032.goo" +
      "gle.protobuf.Timestamp\"\231\001\n\025ArchivedParam" +
      "eterInfo\022\013\n\003pid\030\001 \001(\r\022\013\n\003fqn\030\002 \001(\t\022+\n\007ra" +
      "wType\030\003 \001(\0162\032.yamcs.protobuf.Value.Type\022" +
      "+\n\007engType\030\004 \001(\0162\032.yamcs.protobuf.Value." +
      "Type\022\014\n\004gids\030\005 \003(\r\"c\n\036ArchivedParameters" +
      "InfoResponse\022A\n\nparameters\030\001 \003(\0132-.yamcs" +
      ".protobuf.archive.ArchivedParameterInfo\"" +
      "\221\001\n\033ArchiveParameterSegmentInfo\022\017\n\007group" +
      "Id\030\001 \001(\r\022)\n\005start\030\002 \001(\0132\032.google.protobu" +
      "f.Timestamp\022\'\n\003end\030\003 \001(\0132\032.google.protob" +
      "uf.Timestamp\022\r\n\005count\030\004 \001(\r\"\260\001\n!Archived" +
      "ParameterSegmentsResponse\022D\n\rparameterIn" +
      "fo\030\001 \001(\0132-.yamcs.protobuf.archive.Archiv" +
      "edParameterInfo\022E\n\010segments\030\002 \003(\01323.yamc" +
      "s.protobuf.archive.ArchiveParameterSegme" +
      "ntInfo\"A\n GetArchivedParameterGroupReque" +
      "st\022\020\n\010instance\030\001 \001(\t\022\013\n\003gid\030\002 \001(\r\"p\n\036Arc" +
      "hivedParameterGroupResponse\022\013\n\003gid\030\001 \001(\r" +
      "\022A\n\nparameters\030\002 \003(\0132-.yamcs.protobuf.ar" +
      "chive.ArchivedParameterInfo\",\n\030EnableBac" +
      "kfillingRequest\022\020\n\010instance\030\001 \001(\t\"-\n\031Dis" +
      "ableBackfillingRequest\022\020\n\010instance\030\001 \001(\t" +
      "2\233\017\n\023ParameterArchiveApi\022\220\001\n\014RebuildRang" +
      "e\022+.yamcs.protobuf.archive.RebuildRangeR" +
      "equest\032\026.google.protobuf.Empty\";\212\222\0037\0320/a" +
      "pi/archive/{instance}/parameterArchive:r" +
      "ebuild:\001*H\001\022\256\001\n\023GetParameterSamples\0222.ya" +
      "mcs.protobuf.archive.GetParameterSamples" +
      "Request\032!.yamcs.protobuf.pvalue.TimeSeri" +
      "es\"@\212\222\003<\n2/api/archive/{instance}/parame" +
      "ters/{name*}/samplesR\006sample\022\246\001\n\022GetPara" +
      "meterRanges\0221.yamcs.protobuf.archive.Get" +
      "ParameterRangesRequest\032\035.yamcs.protobuf." +
      "pvalue.Ranges\">\212\222\003:\n1/api/archive/{insta" +
      "nce}/parameters/{name*}/rangesR\005range\022\263\001" +
      "\n\024ListParameterHistory\0223.yamcs.protobuf." +
      "archive.ListParameterHistoryRequest\0324.ya" +
      "mcs.protobuf.archive.ListParameterHistor" +
      "yResponse\"0\212\222\003,\n*/api/archive/{instance}" +
      "/parameters/{name*}\022\315\001\n\031GetArchivedParam" +
      "etersInfo\0228.yamcs.protobuf.archive.GetAr" +
      "chivedParametersInfoRequest\0326.yamcs.prot" +
      "obuf.archive.ArchivedParametersInfoRespo" +
      "nse\">\212\222\003:\n8/api/archive/{instance}/param" +
      "eterArchive/info/parameters\022\333\001\n\034GetArchi" +
      "vedParameterSegments\022;.yamcs.protobuf.ar" +
      "chive.GetArchivedParameterSegmentsReques" +
      "t\0329.yamcs.protobuf.archive.ArchivedParam" +
      "eterSegmentsResponse\"C\212\222\003?\n=/api/archive" +
      "/{instance}/parameterArchive/info/segmen" +
      "ts/{pid*}\022\320\001\n\031GetArchivedParameterGroup\022" +
      "8.yamcs.protobuf.archive.GetArchivedPara" +
      "meterGroupRequest\0326.yamcs.protobuf.archi" +
      "ve.ArchivedParameterGroupResponse\"A\212\222\003=\n" +
      ";/api/archive/{instance}/parameterArchiv" +
      "e/info/groups/{gid*}\022~\n\005Purge\022$.yamcs.pr" +
      "otobuf.archive.PurgeRequest\032\026.google.pro" +
      "tobuf.Empty\"7\212\222\0033\032./api/archive/{instanc" +
      "e}/parameterArchive:purge:\001*\022\245\001\n\022Disable" +
      "Backfilling\0221.yamcs.protobuf.archive.Dis" +
      "ableBackfillingRequest\032\026.google.protobuf" +
      ".Empty\"D\212\222\003@\032;/api/archive/{instance}/pa" +
      "rameterArchive:disableBackfilling:\001*\022\242\001\n" +
      "\021EnableBackfilling\0220.yamcs.protobuf.arch" +
      "ive.EnableBackfillingRequest\032\026.google.pr" +
      "otobuf.Empty\"C\212\222\003?\032:/api/archive/{instan" +
      "ce}/parameterArchive:enableBackfilling:\001" +
      "*\022\222\001\n\024SubscribeBackfilling\0223.yamcs.proto" +
      "buf.archive.SubscribeBackfillingRequest\032" +
      "0.yamcs.protobuf.archive.SubscribeBackfi" +
      "llingData\"\021\332\222\003\r\n\013backfilling0\001B4\n\022org.ya" +
      "mcs.protobufB\034ParameterArchiveServicePro" +
      "toP\001"
    };
    descriptor = com.google.protobuf.Descriptors.FileDescriptor
      .internalBuildGeneratedFileFrom(descriptorData,
        new com.google.protobuf.Descriptors.FileDescriptor[] {
          com.google.protobuf.EmptyProto.getDescriptor(),
          com.google.protobuf.TimestampProto.getDescriptor(),
          org.yamcs.api.AnnotationsProto.getDescriptor(),
          org.yamcs.protobuf.Archive.getDescriptor(),
          org.yamcs.protobuf.Pvalue.getDescriptor(),
          org.yamcs.protobuf.Yamcs.getDescriptor(),
        });
    internal_static_yamcs_protobuf_archive_SubscribeBackfillingRequest_descriptor =
      getDescriptor().getMessageTypes().get(0);
    internal_static_yamcs_protobuf_archive_SubscribeBackfillingRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_yamcs_protobuf_archive_SubscribeBackfillingRequest_descriptor,
        new java.lang.String[] { "Instance", });
    internal_static_yamcs_protobuf_archive_SubscribeBackfillingData_descriptor =
      getDescriptor().getMessageTypes().get(1);
    internal_static_yamcs_protobuf_archive_SubscribeBackfillingData_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_yamcs_protobuf_archive_SubscribeBackfillingData_descriptor,
        new java.lang.String[] { "Finished", });
    internal_static_yamcs_protobuf_archive_SubscribeBackfillingData_BackfillFinishedInfo_descriptor =
      internal_static_yamcs_protobuf_archive_SubscribeBackfillingData_descriptor.getNestedTypes().get(0);
    internal_static_yamcs_protobuf_archive_SubscribeBackfillingData_BackfillFinishedInfo_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_yamcs_protobuf_archive_SubscribeBackfillingData_BackfillFinishedInfo_descriptor,
        new java.lang.String[] { "Start", "Stop", "ProcessedParameters", });
    internal_static_yamcs_protobuf_archive_RebuildRangeRequest_descriptor =
      getDescriptor().getMessageTypes().get(2);
    internal_static_yamcs_protobuf_archive_RebuildRangeRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_yamcs_protobuf_archive_RebuildRangeRequest_descriptor,
        new java.lang.String[] { "Instance", "Start", "Stop", });
    internal_static_yamcs_protobuf_archive_PurgeRequest_descriptor =
      getDescriptor().getMessageTypes().get(3);
    internal_static_yamcs_protobuf_archive_PurgeRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_yamcs_protobuf_archive_PurgeRequest_descriptor,
        new java.lang.String[] { "Instance", });
    internal_static_yamcs_protobuf_archive_GetParameterRangesRequest_descriptor =
      getDescriptor().getMessageTypes().get(4);
    internal_static_yamcs_protobuf_archive_GetParameterRangesRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_yamcs_protobuf_archive_GetParameterRangesRequest_descriptor,
        new java.lang.String[] { "Instance", "Name", "Start", "Stop", "MinGap", "MaxGap", "Norealtime", "Processor", "Source", "MinRange", "MaxValues", });
    internal_static_yamcs_protobuf_archive_GetArchivedParametersInfoRequest_descriptor =
      getDescriptor().getMessageTypes().get(5);
    internal_static_yamcs_protobuf_archive_GetArchivedParametersInfoRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_yamcs_protobuf_archive_GetArchivedParametersInfoRequest_descriptor,
        new java.lang.String[] { "Instance", "Q", "System", "Limit", });
    internal_static_yamcs_protobuf_archive_GetArchivedParameterSegmentsRequest_descriptor =
      getDescriptor().getMessageTypes().get(6);
    internal_static_yamcs_protobuf_archive_GetArchivedParameterSegmentsRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_yamcs_protobuf_archive_GetArchivedParameterSegmentsRequest_descriptor,
        new java.lang.String[] { "Instance", "Pid", "Start", "Stop", });
    internal_static_yamcs_protobuf_archive_ArchivedParameterInfo_descriptor =
      getDescriptor().getMessageTypes().get(7);
    internal_static_yamcs_protobuf_archive_ArchivedParameterInfo_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_yamcs_protobuf_archive_ArchivedParameterInfo_descriptor,
        new java.lang.String[] { "Pid", "Fqn", "RawType", "EngType", "Gids", });
    internal_static_yamcs_protobuf_archive_ArchivedParametersInfoResponse_descriptor =
      getDescriptor().getMessageTypes().get(8);
    internal_static_yamcs_protobuf_archive_ArchivedParametersInfoResponse_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_yamcs_protobuf_archive_ArchivedParametersInfoResponse_descriptor,
        new java.lang.String[] { "Parameters", });
    internal_static_yamcs_protobuf_archive_ArchiveParameterSegmentInfo_descriptor =
      getDescriptor().getMessageTypes().get(9);
    internal_static_yamcs_protobuf_archive_ArchiveParameterSegmentInfo_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_yamcs_protobuf_archive_ArchiveParameterSegmentInfo_descriptor,
        new java.lang.String[] { "GroupId", "Start", "End", "Count", });
    internal_static_yamcs_protobuf_archive_ArchivedParameterSegmentsResponse_descriptor =
      getDescriptor().getMessageTypes().get(10);
    internal_static_yamcs_protobuf_archive_ArchivedParameterSegmentsResponse_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_yamcs_protobuf_archive_ArchivedParameterSegmentsResponse_descriptor,
        new java.lang.String[] { "ParameterInfo", "Segments", });
    internal_static_yamcs_protobuf_archive_GetArchivedParameterGroupRequest_descriptor =
      getDescriptor().getMessageTypes().get(11);
    internal_static_yamcs_protobuf_archive_GetArchivedParameterGroupRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_yamcs_protobuf_archive_GetArchivedParameterGroupRequest_descriptor,
        new java.lang.String[] { "Instance", "Gid", });
    internal_static_yamcs_protobuf_archive_ArchivedParameterGroupResponse_descriptor =
      getDescriptor().getMessageTypes().get(12);
    internal_static_yamcs_protobuf_archive_ArchivedParameterGroupResponse_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_yamcs_protobuf_archive_ArchivedParameterGroupResponse_descriptor,
        new java.lang.String[] { "Gid", "Parameters", });
    internal_static_yamcs_protobuf_archive_EnableBackfillingRequest_descriptor =
      getDescriptor().getMessageTypes().get(13);
    internal_static_yamcs_protobuf_archive_EnableBackfillingRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_yamcs_protobuf_archive_EnableBackfillingRequest_descriptor,
        new java.lang.String[] { "Instance", });
    internal_static_yamcs_protobuf_archive_DisableBackfillingRequest_descriptor =
      getDescriptor().getMessageTypes().get(14);
    internal_static_yamcs_protobuf_archive_DisableBackfillingRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_yamcs_protobuf_archive_DisableBackfillingRequest_descriptor,
        new java.lang.String[] { "Instance", });
    com.google.protobuf.ExtensionRegistry registry =
        com.google.protobuf.ExtensionRegistry.newInstance();
    registry.add(org.yamcs.api.AnnotationsProto.route);
    registry.add(org.yamcs.api.AnnotationsProto.websocket);
    com.google.protobuf.Descriptors.FileDescriptor
        .internalUpdateFileDescriptor(descriptor, registry);
    com.google.protobuf.EmptyProto.getDescriptor();
    com.google.protobuf.TimestampProto.getDescriptor();
    org.yamcs.api.AnnotationsProto.getDescriptor();
    org.yamcs.protobuf.Archive.getDescriptor();
    org.yamcs.protobuf.Pvalue.getDescriptor();
    org.yamcs.protobuf.Yamcs.getDescriptor();
  }

  // @@protoc_insertion_point(outer_class_scope)
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy