Class: Google::Cloud::Firestore::Admin::V1::Field

Inherits:
Object
  • Object
show all
Extended by:
Protobuf::MessageExts::ClassMethods
Includes:
Protobuf::MessageExts
Defined in:
proto_docs/google/firestore/admin/v1/field.rb

Overview

Represents a single field in the database.

Fields are grouped by their "Collection Group", which represent all collections in the database with the same ID.

Defined Under Namespace

Classes: IndexConfig, TtlConfig

Instance Attribute Summary collapse

Instance Attribute Details

#index_config::Google::Cloud::Firestore::Admin::V1::Field::IndexConfig

Returns The index configuration for this field. If unset, field indexing will revert to the configuration defined by the ancestor_field. To explicitly remove all indexes for this field, specify an index config with an empty list of indexes.

Returns:

  • (::Google::Cloud::Firestore::Admin::V1::Field::IndexConfig)

    The index configuration for this field. If unset, field indexing will revert to the configuration defined by the ancestor_field. To explicitly remove all indexes for this field, specify an index config with an empty list of indexes.



66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
# File 'proto_docs/google/firestore/admin/v1/field.rb', line 66

class Field
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The index configuration for this field.
  # @!attribute [rw] indexes
  #   @return [::Array<::Google::Cloud::Firestore::Admin::V1::Index>]
  #     The indexes supported for this field.
  # @!attribute [rw] uses_ancestor_config
  #   @return [::Boolean]
  #     Output only. When true, the `Field`'s index configuration is set from the
  #     configuration specified by the `ancestor_field`.
  #     When false, the `Field`'s index configuration is defined explicitly.
  # @!attribute [rw] ancestor_field
  #   @return [::String]
  #     Output only. Specifies the resource name of the `Field` from which this
  #     field's index configuration is set (when `uses_ancestor_config` is true),
  #     or from which it *would* be set if this field had no index configuration
  #     (when `uses_ancestor_config` is false).
  # @!attribute [rw] reverting
  #   @return [::Boolean]
  #     Output only
  #     When true, the `Field`'s index configuration is in the process of being
  #     reverted. Once complete, the index config will transition to the same
  #     state as the field specified by `ancestor_field`, at which point
  #     `uses_ancestor_config` will be `true` and `reverting` will be `false`.
  class IndexConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The TTL (time-to-live) configuration for documents that have this `Field`
  # set.
  #
  # Storing a timestamp value into a TTL-enabled field will be treated as
  # the document's absolute expiration time. Timestamp values in the past
  # indicate that the document is eligible for immediate expiration. Using any
  # other data type or leaving the field absent will disable expiration for the
  # individual document.
  # @!attribute [r] state
  #   @return [::Google::Cloud::Firestore::Admin::V1::Field::TtlConfig::State]
  #     Output only. The state of the TTL configuration.
  class TtlConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The state of applying the TTL configuration to all documents.
    module State
      # The state is unspecified or unknown.
      STATE_UNSPECIFIED = 0

      # The TTL is being applied. There is an active long-running operation to
      # track the change. Newly written documents will have TTLs applied as
      # requested. Requested TTLs on existing documents are still being
      # processed. When TTLs on all existing documents have been processed, the
      # state will move to 'ACTIVE'.
      CREATING = 1

      # The TTL is active for all documents.
      ACTIVE = 2

      # The TTL configuration could not be enabled for all existing documents.
      # Newly written documents will continue to have their TTL applied.
      # The LRO returned when last attempting to enable TTL for this `Field`
      # has failed, and may have more details.
      NEEDS_REPAIR = 3
    end
  end
end

#name::String

Returns Required. A field name of the form: projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/fields/{field_path}

A field path can be a simple field name, e.g. address or a path to fields within map_value , e.g. address.city, or a special field path. The only valid special field is *, which represents any field.

Field paths can be quoted using ` (backtick). The only character that must be escaped within a quoted field path is the backtick character itself, escaped using a backslash. Special characters in field paths that must be quoted include: *, ., ` (backtick), [, ], as well as any ascii symbolic characters.

Examples: `address.city` represents a field named address.city, not the map key city in the field address. `*` represents a field named *, not any field.

A special Field contains the default indexing settings for all fields. This field's resource name is: projects/{project_id}/databases/{database_id}/collectionGroups/__default__/fields/* Indexes defined on this Field will be applied to all fields which do not have their own Field index configuration.

Returns:

  • (::String)

    Required. A field name of the form: projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/fields/{field_path}

    A field path can be a simple field name, e.g. address or a path to fields within map_value , e.g. address.city, or a special field path. The only valid special field is *, which represents any field.

    Field paths can be quoted using ` (backtick). The only character that must be escaped within a quoted field path is the backtick character itself, escaped using a backslash. Special characters in field paths that must be quoted include: *, ., ` (backtick), [, ], as well as any ascii symbolic characters.

    Examples: `address.city` represents a field named address.city, not the map key city in the field address. `*` represents a field named *, not any field.

    A special Field contains the default indexing settings for all fields. This field's resource name is: projects/{project_id}/databases/{database_id}/collectionGroups/__default__/fields/* Indexes defined on this Field will be applied to all fields which do not have their own Field index configuration.



66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
# File 'proto_docs/google/firestore/admin/v1/field.rb', line 66

class Field
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The index configuration for this field.
  # @!attribute [rw] indexes
  #   @return [::Array<::Google::Cloud::Firestore::Admin::V1::Index>]
  #     The indexes supported for this field.
  # @!attribute [rw] uses_ancestor_config
  #   @return [::Boolean]
  #     Output only. When true, the `Field`'s index configuration is set from the
  #     configuration specified by the `ancestor_field`.
  #     When false, the `Field`'s index configuration is defined explicitly.
  # @!attribute [rw] ancestor_field
  #   @return [::String]
  #     Output only. Specifies the resource name of the `Field` from which this
  #     field's index configuration is set (when `uses_ancestor_config` is true),
  #     or from which it *would* be set if this field had no index configuration
  #     (when `uses_ancestor_config` is false).
  # @!attribute [rw] reverting
  #   @return [::Boolean]
  #     Output only
  #     When true, the `Field`'s index configuration is in the process of being
  #     reverted. Once complete, the index config will transition to the same
  #     state as the field specified by `ancestor_field`, at which point
  #     `uses_ancestor_config` will be `true` and `reverting` will be `false`.
  class IndexConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The TTL (time-to-live) configuration for documents that have this `Field`
  # set.
  #
  # Storing a timestamp value into a TTL-enabled field will be treated as
  # the document's absolute expiration time. Timestamp values in the past
  # indicate that the document is eligible for immediate expiration. Using any
  # other data type or leaving the field absent will disable expiration for the
  # individual document.
  # @!attribute [r] state
  #   @return [::Google::Cloud::Firestore::Admin::V1::Field::TtlConfig::State]
  #     Output only. The state of the TTL configuration.
  class TtlConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The state of applying the TTL configuration to all documents.
    module State
      # The state is unspecified or unknown.
      STATE_UNSPECIFIED = 0

      # The TTL is being applied. There is an active long-running operation to
      # track the change. Newly written documents will have TTLs applied as
      # requested. Requested TTLs on existing documents are still being
      # processed. When TTLs on all existing documents have been processed, the
      # state will move to 'ACTIVE'.
      CREATING = 1

      # The TTL is active for all documents.
      ACTIVE = 2

      # The TTL configuration could not be enabled for all existing documents.
      # Newly written documents will continue to have their TTL applied.
      # The LRO returned when last attempting to enable TTL for this `Field`
      # has failed, and may have more details.
      NEEDS_REPAIR = 3
    end
  end
end

#ttl_config::Google::Cloud::Firestore::Admin::V1::Field::TtlConfig

Returns The TTL configuration for this Field. Setting or unsetting this will enable or disable the TTL for documents that have this Field.

Returns:



66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
# File 'proto_docs/google/firestore/admin/v1/field.rb', line 66

class Field
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The index configuration for this field.
  # @!attribute [rw] indexes
  #   @return [::Array<::Google::Cloud::Firestore::Admin::V1::Index>]
  #     The indexes supported for this field.
  # @!attribute [rw] uses_ancestor_config
  #   @return [::Boolean]
  #     Output only. When true, the `Field`'s index configuration is set from the
  #     configuration specified by the `ancestor_field`.
  #     When false, the `Field`'s index configuration is defined explicitly.
  # @!attribute [rw] ancestor_field
  #   @return [::String]
  #     Output only. Specifies the resource name of the `Field` from which this
  #     field's index configuration is set (when `uses_ancestor_config` is true),
  #     or from which it *would* be set if this field had no index configuration
  #     (when `uses_ancestor_config` is false).
  # @!attribute [rw] reverting
  #   @return [::Boolean]
  #     Output only
  #     When true, the `Field`'s index configuration is in the process of being
  #     reverted. Once complete, the index config will transition to the same
  #     state as the field specified by `ancestor_field`, at which point
  #     `uses_ancestor_config` will be `true` and `reverting` will be `false`.
  class IndexConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The TTL (time-to-live) configuration for documents that have this `Field`
  # set.
  #
  # Storing a timestamp value into a TTL-enabled field will be treated as
  # the document's absolute expiration time. Timestamp values in the past
  # indicate that the document is eligible for immediate expiration. Using any
  # other data type or leaving the field absent will disable expiration for the
  # individual document.
  # @!attribute [r] state
  #   @return [::Google::Cloud::Firestore::Admin::V1::Field::TtlConfig::State]
  #     Output only. The state of the TTL configuration.
  class TtlConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The state of applying the TTL configuration to all documents.
    module State
      # The state is unspecified or unknown.
      STATE_UNSPECIFIED = 0

      # The TTL is being applied. There is an active long-running operation to
      # track the change. Newly written documents will have TTLs applied as
      # requested. Requested TTLs on existing documents are still being
      # processed. When TTLs on all existing documents have been processed, the
      # state will move to 'ACTIVE'.
      CREATING = 1

      # The TTL is active for all documents.
      ACTIVE = 2

      # The TTL configuration could not be enabled for all existing documents.
      # Newly written documents will continue to have their TTL applied.
      # The LRO returned when last attempting to enable TTL for this `Field`
      # has failed, and may have more details.
      NEEDS_REPAIR = 3
    end
  end
end