Aliyun.Oss.Bucket.Lifecycle (aliyun_oss v2.0.0)

Bucket operations - Lifecycle.

Link to this section Summary

Functions

DeleteBucketLifecycle - deletes lifecycle rules for a bucket.

GetBucketLifecycle - get the lifecycle rules that are configured for a bucket.

PutBucketLifecycle - configures a lifecycle rule for a bucket.

Link to this section Types

@type error() ::
  %Aliyun.Oss.Client.Error{
    body: String.t(),
    parsed_details: map(),
    status_code: integer()
  }
  | atom()

Link to this section Functions

Link to this function

delete(config, bucket)

@spec delete(Aliyun.Oss.Config.t(), String.t()) ::
  {:error, error()} | {:ok, Aliyun.Oss.Client.Response.t()}

DeleteBucketLifecycle - deletes lifecycle rules for a bucket.

examples

Examples

iex> Aliyun.Oss.Bucket.Lifecycle.delete("some-bucket")
{:ok,
%Aliyun.Oss.Client.Response{
  data: "",
  headers: [
    {"Server", "AliyunOSS"},
    {"Date", "Fri, 11 Jan 2019 05:19:45 GMT"},
    {"Content-Length", "0"},
    {"Connection", "keep-alive"},
    {"x-oss-request-id", "5C3000000000000000000000"},
    {"x-oss-server-time", "90"}
  ]
}}
iex> Aliyun.Oss.Bucket.Lifecycle.delete("unknown-bucket")
{:error,
%Aliyun.Oss.Client.Error{
  parsed_details: %{
    "BucketName" => "unknown-bucket",
    "Code" => "NoSuchBucket",
    "HostId" => "unknown-bucket.oss-cn-shenzhen.aliyuncs.com",
    "Message" => "The specified bucket does not exist.",
    "RequestId" => "5C38283EC84D1C4471F2F48A"
  },
  body: "<?xml version="1.0" encoding="UTF-8"?>...</xml>",
  status_code: 404
}}
Link to this function

get(config, bucket)

@spec get(Aliyun.Oss.Config.t(), String.t()) ::
  {:error, error()} | {:ok, Aliyun.Oss.Client.Response.t()}

GetBucketLifecycle - get the lifecycle rules that are configured for a bucket.

examples

Examples

iex> Aliyun.Oss.Bucket.Lifecycle.get("some-bucket")
{:ok, %Aliyun.Oss.Client.Response{
  data: %{
    "LifecycleConfiguration" => %{
      "Rule" => %{
        "ID" => "delete after one day",
        "Prefix" => "logs/",
        "Status" => "Enabled",
        "Expiration" => %{
          "Days" => "1"
        }
      }
    }
  },
  headers: [
    {"Date", "Wed, 05 Dec 2018 02:34:57 GMT"},
    ...
  ]
}}
Link to this function

put(config, bucket, config)

@spec put(Aliyun.Oss.Config.t(), String.t(), String.t() | map()) ::
  {:error, error()} | {:ok, Aliyun.Oss.Client.Response.t()}

PutBucketLifecycle - configures a lifecycle rule for a bucket.

examples

Examples

iex> config = %{
  "LifecycleConfiguration" => %{
    "Rule" => %{
      "AbortMultipartUpload" => %{"Days" => "1"},
      "Expiration" => %{"Days" => "1"},
      "ID" => "delete objects and parts after one day",
      "Prefix" => "logs/",
      "Status" => "Enabled"
    }
  }
}
iex> Aliyun.Oss.Bucket.Lifecycle.put("some-bucket", config)
{:ok, %Aliyun.Oss.Client.Response{
  data: "",
  headers: [
    {"Date", "Wed, 05 Dec 2018 02:34:57 GMT"},
    ...
  ]
}}
iex> config = ~S[
<?xml version="1.0" encoding="UTF-8"?>
<LifecycleConfiguration>
  <Rule>
    <ID>delete objects and parts after one day</ID>
    <Prefix>logs/</Prefix>
    <Status>Enabled</Status>
    <Expiration>
      <Days>1</Days>
    </Expiration>
    <AbortMultipartUpload>
      <Days>1</Days>
    </AbortMultipartUpload>
  </Rule>
</LifecycleConfiguration>
]
iex> Aliyun.Oss.Bucket.Lifecycle.put("some-bucket", config)
{:ok, %Aliyun.Oss.Client.Response{
  data: "",
  headers: [
    {"Date", "Wed, 05 Dec 2018 02:34:57 GMT"},
    ...
  ]
}}