/*
Copyright 2021 The Dapr Authors
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.
*/

syntax = "proto3";

package dapr.proto.components.state.v2;

import "google/protobuf/timestamp.proto";
import "google/protobuf/duration.proto";

option go_package = "github.com/dapr/components-contrib/internal/proto/state/etcd/v2";


// Value is the value of the state key item. It contains the underlying data as
// well as necessary metadata.
message Value {
  // Required. The value of the state key item.
  bytes data = 1;

  // Required. The creation time of the state key item. This is an
  // approximation by the components-contrib instance since ETCD does not
  // provide this information natively.
  google.protobuf.Timestamp ts = 2;

  // Optional. The Time To Live of the state key item. The duration of the TTL
  // is from the creation time of the key (`ts`). If not specified, the key has
  // no TTL.
  optional google.protobuf.Duration ttl = 3;
}
