Bucket Lifecycle Rule
Represents an Object Lifecycle Management rule for a bucket. The action for the rule will be taken when its conditions are met. Accessed via Google::Cloud::Storage::Bucket#lifecycle.
Inherits
- Object
Examples
Retrieving a bucket's lifecycle management rules.
require "google/cloud/storage" storage = Google::Cloud::Storage.new bucket = storage.bucket "my-bucket" bucket.lifecycle.size #=> 2 rule = bucket.lifecycle.first rule.action #=> "SetStorageClass" rule.storage_class #=> "COLDLINE" rule.age #=> 10 rule.matches_storage_class #=> ["STANDARD", "NEARLINE"]
Updating the bucket's lifecycle rules in a block.
require "google/cloud/storage" storage = Google::Cloud::Storage.new bucket = storage.bucket "my-bucket" bucket.update do |b| b.lifecycle do |l| # Remove the last rule from the array l.pop # Remove rules with the given condition l.delete_if do |r| r.matches_storage_class.include? "NEARLINE" end # Update rules l.each do |r| r.age = 90 if r.action == "Delete" end # Add a rule l.add_set_storage_class_rule "COLDLINE", age: 10 end end
Methods
#action
def action() -> String
The type of action taken when the rule's
conditions are met. Currently, only Delete
and SetStorageClass
are supported.
- (String) — the current value of action
#action=
def action=(value) -> String
The type of action taken when the rule's
conditions are met. Currently, only Delete
and SetStorageClass
are supported.
- value (String) — the newly set value
- (String) — the newly set value
#age
def age() -> Integer
The age of a file (in days). This condition is satisfied when a file reaches the specified age.
- (Integer) — the current value of age
#age=
def age=(value) -> Integer
The age of a file (in days). This condition is satisfied when a file reaches the specified age.
- value (Integer) — the newly set value
- (Integer) — the newly set value
#created_before
def created_before() -> String, Date, nil
A date in RFC 3339 format with only the date part (for instance, "2013-01-15"). This condition is satisfied when a file is created before midnight of the specified date in UTC. When returned by the service, a non-empty value will always be a Date object.
- (String, Date, nil) — the current value of created_before
#created_before=
def created_before=(value) -> String, Date, nil
A date in RFC 3339 format with only the date part (for instance, "2013-01-15"). This condition is satisfied when a file is created before midnight of the specified date in UTC. When returned by the service, a non-empty value will always be a Date object.
- value (String, Date, nil) — the newly set value
- (String, Date, nil) — the newly set value
#custom_time_before
def custom_time_before() -> String, Date, nil
A date in RFC 3339 format with only the date part (for instance, "2013-01-15"). This condition is satisfied when the custom time on an object is before this date in UTC.
- (String, Date, nil) — the current value of custom_time_before
#custom_time_before=
def custom_time_before=(value) -> String, Date, nil
A date in RFC 3339 format with only the date part (for instance, "2013-01-15"). This condition is satisfied when the custom time on an object is before this date in UTC.
- value (String, Date, nil) — the newly set value
- (String, Date, nil) — the newly set value
#days_since_custom_time
def days_since_custom_time() -> Integer, nil
Represents the number of days elapsed since the user-specified timestamp set on an object. The condition is satisfied if the days elapsed is at least this number. If no custom timestamp is specified on an object, the condition does not apply.
- (Integer, nil) — the current value of days_since_custom_time
#days_since_custom_time=
def days_since_custom_time=(value) -> Integer, nil
Represents the number of days elapsed since the user-specified timestamp set on an object. The condition is satisfied if the days elapsed is at least this number. If no custom timestamp is specified on an object, the condition does not apply.
- value (Integer, nil) — the newly set value
- (Integer, nil) — the newly set value
#days_since_noncurrent_time
def days_since_noncurrent_time() -> Integer
Represents the number of days elapsed since the noncurrent timestamp of an object. The condition is satisfied if the days elapsed is at least this number. The value of the field must be a nonnegative integer. If it's zero, the object version will become eligible for Lifecycle action as soon as it becomes noncurrent. Relevant only for versioning-enabled buckets. (See Google::Cloud::Storage::Bucket#versioning?)
- (Integer) — the current value of days_since_noncurrent_time
#days_since_noncurrent_time=
def days_since_noncurrent_time=(value) -> Integer
Represents the number of days elapsed since the noncurrent timestamp of an object. The condition is satisfied if the days elapsed is at least this number. The value of the field must be a nonnegative integer. If it's zero, the object version will become eligible for Lifecycle action as soon as it becomes noncurrent. Relevant only for versioning-enabled buckets. (See Google::Cloud::Storage::Bucket#versioning?)
- value (Integer) — the newly set value
- (Integer) — the newly set value
#is_live
def is_live() -> Boolean
Relevant only for versioned files. If the
value is true
, this condition matches live files; if the value
is false
, it matches archived files.
- (Boolean) — the current value of is_live
#is_live=
def is_live=(value) -> Boolean
Relevant only for versioned files. If the
value is true
, this condition matches live files; if the value
is false
, it matches archived files.
- value (Boolean) — the newly set value
- (Boolean) — the newly set value
#matches_storage_class
def matches_storage_class() -> Array<String>
Files having any of the
storage classes specified by this condition will be matched.
Values include STANDARD
, NEARLINE
, COLDLINE
, and ARCHIVE
.
REGIONAL
, MULTI_REGIONAL
, and DURABLE_REDUCED_AVAILABILITY
are supported as legacy storage classes.
- (Array<String>) — the current value of matches_storage_class
#matches_storage_class=
def matches_storage_class=(value) -> Array<String>
Files having any of the
storage classes specified by this condition will be matched.
Values include STANDARD
, NEARLINE
, COLDLINE
, and ARCHIVE
.
REGIONAL
, MULTI_REGIONAL
, and DURABLE_REDUCED_AVAILABILITY
are supported as legacy storage classes.
- value (Array<String>) — the newly set value
- (Array<String>) — the newly set value
#noncurrent_time_before
def noncurrent_time_before() -> String, Date, nil
A date in RFC 3339 format with only the date part (for instance, "2013-01-15"). This condition is satisfied when the noncurrent time on an object is before this date in UTC. This condition is relevant only for versioned objects. When returned by the service, a non-empty value will always be a Date object.
- (String, Date, nil) — the current value of noncurrent_time_before
#noncurrent_time_before=
def noncurrent_time_before=(value) -> String, Date, nil
A date in RFC 3339 format with only the date part (for instance, "2013-01-15"). This condition is satisfied when the noncurrent time on an object is before this date in UTC. This condition is relevant only for versioned objects. When returned by the service, a non-empty value will always be a Date object.
- value (String, Date, nil) — the newly set value
- (String, Date, nil) — the newly set value
#num_newer_versions
def num_newer_versions() -> Integer
Relevant only for versioned files. If the value is N, this condition is satisfied when there are at least N versions (including the live version) newer than this version of the file.
- (Integer) — the current value of num_newer_versions
#num_newer_versions=
def num_newer_versions=(value) -> Integer
Relevant only for versioned files. If the value is N, this condition is satisfied when there are at least N versions (including the live version) newer than this version of the file.
- value (Integer) — the newly set value
- (Integer) — the newly set value
#storage_class
def storage_class() -> String
The target storage class for the
action. Required only if the action is SetStorageClass
.
- (String) — the current value of storage_class
#storage_class=
def storage_class=(value) -> String
The target storage class for the
action. Required only if the action is SetStorageClass
.
- value (String) — the newly set value
- (String) — the newly set value