Lifecycle rule for a bucket. Allows supported Actions, such as deleting and changing storage
class, to be executed when certain Conditions are met.
Versions 1.50.0-1.111.2 of this library don’t support the CustomTimeBefore,
DaysSinceCustomTime, DaysSinceNoncurrentTime and NoncurrentTimeBefore lifecycle conditions. To
read GCS objects with those lifecycle conditions, update your Java client library to the latest
version.
See Also: Object Lifecycle Management
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-16 UTC."],[],[],null,["# Class BucketInfo.LifecycleRule (2.55.0)\n\nVersion latestkeyboard_arrow_down\n\n- [2.55.0 (latest)](/java/docs/reference/google-cloud-storage/latest/com.google.cloud.storage.BucketInfo.LifecycleRule)\n- [2.54.0](/java/docs/reference/google-cloud-storage/2.54.0/com.google.cloud.storage.BucketInfo.LifecycleRule)\n- [2.53.3](/java/docs/reference/google-cloud-storage/2.53.3/com.google.cloud.storage.BucketInfo.LifecycleRule)\n- [2.52.3](/java/docs/reference/google-cloud-storage/2.52.3/com.google.cloud.storage.BucketInfo.LifecycleRule)\n- [2.50.0](/java/docs/reference/google-cloud-storage/2.50.0/com.google.cloud.storage.BucketInfo.LifecycleRule)\n- [2.49.0](/java/docs/reference/google-cloud-storage/2.49.0/com.google.cloud.storage.BucketInfo.LifecycleRule)\n- [2.48.2](/java/docs/reference/google-cloud-storage/2.48.2/com.google.cloud.storage.BucketInfo.LifecycleRule)\n- [2.47.0](/java/docs/reference/google-cloud-storage/2.47.0/com.google.cloud.storage.BucketInfo.LifecycleRule)\n- [2.46.0](/java/docs/reference/google-cloud-storage/2.46.0/com.google.cloud.storage.BucketInfo.LifecycleRule)\n- [2.45.0](/java/docs/reference/google-cloud-storage/2.45.0/com.google.cloud.storage.BucketInfo.LifecycleRule)\n- [2.44.1](/java/docs/reference/google-cloud-storage/2.44.1/com.google.cloud.storage.BucketInfo.LifecycleRule)\n- [2.43.2](/java/docs/reference/google-cloud-storage/2.43.2/com.google.cloud.storage.BucketInfo.LifecycleRule)\n- [2.42.0](/java/docs/reference/google-cloud-storage/2.42.0/com.google.cloud.storage.BucketInfo.LifecycleRule)\n- [2.41.0](/java/docs/reference/google-cloud-storage/2.41.0/com.google.cloud.storage.BucketInfo.LifecycleRule)\n- [2.40.1](/java/docs/reference/google-cloud-storage/2.40.1/com.google.cloud.storage.BucketInfo.LifecycleRule)\n- [2.39.0](/java/docs/reference/google-cloud-storage/2.39.0/com.google.cloud.storage.BucketInfo.LifecycleRule)\n- [2.38.0](/java/docs/reference/google-cloud-storage/2.38.0/com.google.cloud.storage.BucketInfo.LifecycleRule)\n- [2.37.0](/java/docs/reference/google-cloud-storage/2.37.0/com.google.cloud.storage.BucketInfo.LifecycleRule)\n- [2.36.1](/java/docs/reference/google-cloud-storage/2.36.1/com.google.cloud.storage.BucketInfo.LifecycleRule)\n- [2.34.0](/java/docs/reference/google-cloud-storage/2.34.0/com.google.cloud.storage.BucketInfo.LifecycleRule)\n- [2.33.0](/java/docs/reference/google-cloud-storage/2.33.0/com.google.cloud.storage.BucketInfo.LifecycleRule)\n- [2.32.1](/java/docs/reference/google-cloud-storage/2.32.1/com.google.cloud.storage.BucketInfo.LifecycleRule)\n- [2.30.1](/java/docs/reference/google-cloud-storage/2.30.1/com.google.cloud.storage.BucketInfo.LifecycleRule)\n- [2.29.1](/java/docs/reference/google-cloud-storage/2.29.1/com.google.cloud.storage.BucketInfo.LifecycleRule)\n- [2.28.0](/java/docs/reference/google-cloud-storage/2.28.0/com.google.cloud.storage.BucketInfo.LifecycleRule)\n- [2.27.1](/java/docs/reference/google-cloud-storage/2.27.1/com.google.cloud.storage.BucketInfo.LifecycleRule)\n- [2.24.0](/java/docs/reference/google-cloud-storage/2.24.0/com.google.cloud.storage.BucketInfo.LifecycleRule)\n- [2.23.0](/java/docs/reference/google-cloud-storage/2.23.0/com.google.cloud.storage.BucketInfo.LifecycleRule)\n- [2.22.6](/java/docs/reference/google-cloud-storage/2.22.6/com.google.cloud.storage.BucketInfo.LifecycleRule)\n- [2.21.0](/java/docs/reference/google-cloud-storage/2.21.0/com.google.cloud.storage.BucketInfo.LifecycleRule)\n- [2.20.2](/java/docs/reference/google-cloud-storage/2.20.2/com.google.cloud.storage.BucketInfo.LifecycleRule)\n- [2.19.0](/java/docs/reference/google-cloud-storage/2.19.0/com.google.cloud.storage.BucketInfo.LifecycleRule)\n- [2.18.0](/java/docs/reference/google-cloud-storage/2.18.0/com.google.cloud.storage.BucketInfo.LifecycleRule)\n- [2.17.2](/java/docs/reference/google-cloud-storage/2.17.2/com.google.cloud.storage.BucketInfo.LifecycleRule)\n- [2.16.0](/java/docs/reference/google-cloud-storage/2.16.0/com.google.cloud.storage.BucketInfo.LifecycleRule)\n- [2.15.1](/java/docs/reference/google-cloud-storage/2.15.1/com.google.cloud.storage.BucketInfo.LifecycleRule)\n- [2.14.0](/java/docs/reference/google-cloud-storage/2.14.0/com.google.cloud.storage.BucketInfo.LifecycleRule)\n- [2.13.1](/java/docs/reference/google-cloud-storage/2.13.1/com.google.cloud.storage.BucketInfo.LifecycleRule)\n- [2.12.0](/java/docs/reference/google-cloud-storage/2.12.0/com.google.cloud.storage.BucketInfo.LifecycleRule)\n- [2.11.3](/java/docs/reference/google-cloud-storage/2.11.3/com.google.cloud.storage.BucketInfo.LifecycleRule)\n- [2.10.0](/java/docs/reference/google-cloud-storage/2.10.0/com.google.cloud.storage.BucketInfo.LifecycleRule)\n- [2.9.3](/java/docs/reference/google-cloud-storage/2.9.3/com.google.cloud.storage.BucketInfo.LifecycleRule)\n- [2.8.1](/java/docs/reference/google-cloud-storage/2.8.1/com.google.cloud.storage.BucketInfo.LifecycleRule)\n- [2.7.1](/java/docs/reference/google-cloud-storage/2.7.1/com.google.cloud.storage.BucketInfo.LifecycleRule)\n- [2.6.1](/java/docs/reference/google-cloud-storage/2.6.1/com.google.cloud.storage.BucketInfo.LifecycleRule)\n- [2.5.1](/java/docs/reference/google-cloud-storage/2.5.1/com.google.cloud.storage.BucketInfo.LifecycleRule)\n- [2.4.5](/java/docs/reference/google-cloud-storage/2.4.5/com.google.cloud.storage.BucketInfo.LifecycleRule)\n- [2.3.0](/java/docs/reference/google-cloud-storage/2.3.0/com.google.cloud.storage.BucketInfo.LifecycleRule)\n- [2.2.3](/java/docs/reference/google-cloud-storage/2.2.3/com.google.cloud.storage.BucketInfo.LifecycleRule)\n- [2.1.10](/java/docs/reference/google-cloud-storage/2.1.10/com.google.cloud.storage.BucketInfo.LifecycleRule) \n\n public static class BucketInfo.LifecycleRule implements Serializable\n\nLifecycle rule for a bucket. Allows supported Actions, such as deleting and changing storage\nclass, to be executed when certain Conditions are met.\n\nVersions 1.50.0-1.111.2 of this library don't support the CustomTimeBefore,\nDaysSinceCustomTime, DaysSinceNoncurrentTime and NoncurrentTimeBefore lifecycle conditions. To\nread GCS objects with those lifecycle conditions, update your Java client library to the latest\nversion.\nSee Also: [Object Lifecycle Management](https://cloud.google.com/storage/docs/lifecycle#actions) \n\nInheritance\n-----------\n\n[Object](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html) \\\u003e BucketInfo.LifecycleRule \n\nImplements\n----------\n\n[Serializable](https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html) \n\nInherited Members\n-----------------\n\n[Object.clone()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#clone--) \n[Object.equals(Object)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#equals-java.lang.Object-) \n[Object.finalize()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#finalize--) \n[Object.getClass()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#getClass--) \n[Object.hashCode()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#hashCode--) \n[Object.notify()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#notify--) \n[Object.notifyAll()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#notifyAll--) \n[Object.toString()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#toString--) \n[Object.wait()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait--) \n[Object.wait(long)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait-long-) \n[Object.wait(long,int)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait-long-int-)\n\nConstructors\n------------\n\n### LifecycleRule(BucketInfo.LifecycleRule.LifecycleAction action, BucketInfo.LifecycleRule.LifecycleCondition condition)\n\n public LifecycleRule(BucketInfo.LifecycleRule.LifecycleAction action, BucketInfo.LifecycleRule.LifecycleCondition condition)\n\nMethods\n-------\n\n### equals(Object o)\n\n public boolean equals(Object o)\n\n**Overrides** \n[Object.equals(Object)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#equals-java.lang.Object-)\n\n### getAction()\n\n public BucketInfo.LifecycleRule.LifecycleAction getAction()\n\n### getCondition()\n\n public BucketInfo.LifecycleRule.LifecycleCondition getCondition()\n\n### hashCode()\n\n public int hashCode()\n\n**Overrides** \n[Object.hashCode()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#hashCode--)\n\n### toString()\n\n public String toString()\n\n**Overrides** \n[Object.toString()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#toString--)"]]