Skip to content

Commit 8e75cdc

Browse files
committed
doc update
1 parent a00f75d commit 8e75cdc

File tree

81 files changed

+432
-235
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

81 files changed

+432
-235
lines changed

benches/s3/bench_bucket_exists.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,6 @@ pub(crate) fn bench_bucket_exists(criterion: &mut Criterion) {
2323
"bucket_exists",
2424
criterion,
2525
|| async { Ctx2::new().await },
26-
|ctx| BucketExists::new(&ctx.client, &ctx.bucket),
26+
|ctx| BucketExists::new(&ctx.client, ctx.bucket.to_owned()),
2727
);
2828
}

benches/s3/bench_bucket_lifecycle.rs

+5-4
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ pub(crate) fn bench_set_bucket_lifecycle(criterion: &mut Criterion) {
2727
|| async { Ctx2::new().await },
2828
|ctx| {
2929
let config = create_bucket_lifecycle_config_examples();
30-
SetBucketLifecycle::new(&ctx.client, &ctx.bucket).life_cycle_config(config)
30+
SetBucketLifecycle::new(&ctx.client, ctx.bucket.to_owned()).life_cycle_config(config)
3131
},
3232
)
3333
}
@@ -38,21 +38,22 @@ pub(crate) fn bench_get_bucket_lifecycle(criterion: &mut Criterion) {
3838
|| async {
3939
let ctx = Ctx2::new().await;
4040
let config = create_bucket_lifecycle_config_examples();
41-
SetBucketLifecycle::new(&ctx.client, &ctx.bucket)
41+
ctx.client
42+
.set_bucket_lifecycle(&ctx.bucket)
4243
.life_cycle_config(config)
4344
.send()
4445
.await
4546
.unwrap();
4647
ctx
4748
},
48-
|ctx| GetBucketLifecycle::new(&ctx.client, &ctx.bucket),
49+
|ctx| GetBucketLifecycle::new(&ctx.client, ctx.bucket.to_owned()),
4950
)
5051
}
5152
pub(crate) fn bench_delete_bucket_lifecycle(criterion: &mut Criterion) {
5253
benchmark_s3_api(
5354
"delete_bucket_lifecycle",
5455
criterion,
5556
|| async { Ctx2::new().await },
56-
|ctx| DeleteBucketLifecycle::new(&ctx.client, &ctx.bucket),
57+
|ctx| DeleteBucketLifecycle::new(&ctx.client, ctx.bucket.to_owned()),
5758
)
5859
}

benches/s3/bench_bucket_notification.rs

+6-4
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,8 @@ pub(crate) fn bench_set_bucket_notification(criterion: &mut Criterion) {
2828
|| async { Ctx2::new().await },
2929
|ctx| {
3030
let config = create_bucket_notification_config_example();
31-
SetBucketNotification::new(&ctx.client, &ctx.bucket).notification_config(config)
31+
SetBucketNotification::new(&ctx.client, ctx.bucket.to_owned())
32+
.notification_config(config)
3233
},
3334
)
3435
}
@@ -40,14 +41,15 @@ pub(crate) fn bench_get_bucket_notification(criterion: &mut Criterion) {
4041
|| async {
4142
let ctx = Ctx2::new().await;
4243
let config = create_bucket_notification_config_example();
43-
SetBucketNotification::new(&ctx.client, &ctx.bucket)
44+
ctx.client
45+
.set_bucket_notification(&ctx.bucket)
4446
.notification_config(config)
4547
.send()
4648
.await
4749
.unwrap();
4850
ctx
4951
},
50-
|ctx| GetBucketNotification::new(&ctx.client, &ctx.bucket),
52+
|ctx| GetBucketNotification::new(&ctx.client, ctx.bucket.to_owned()),
5153
)
5254
}
5355
#[allow(dead_code)]
@@ -56,6 +58,6 @@ pub(crate) fn bench_delete_bucket_notification(criterion: &mut Criterion) {
5658
"delete_bucket_notification",
5759
criterion,
5860
|| async { Ctx2::new().await },
59-
|ctx| DeleteBucketNotification::new(&ctx.client, &ctx.bucket),
61+
|ctx| DeleteBucketNotification::new(&ctx.client, ctx.bucket.to_owned()),
6062
)
6163
}

benches/s3/bench_bucket_policy.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ pub(crate) fn bench_set_bucket_policy(criterion: &mut Criterion) {
2727
|| async { Ctx2::new().await },
2828
|ctx| {
2929
let config = create_bucket_policy_config_example(&ctx.bucket);
30-
SetBucketPolicy::new(&ctx.client, &ctx.bucket).config(config)
30+
SetBucketPolicy::new(&ctx.client, ctx.bucket.to_owned()).config(config)
3131
},
3232
)
3333
}
@@ -38,21 +38,21 @@ pub(crate) fn bench_get_bucket_policy(criterion: &mut Criterion) {
3838
|| async {
3939
let ctx = Ctx2::new().await;
4040
let config = create_bucket_policy_config_example(&ctx.bucket);
41-
SetBucketPolicy::new(&ctx.client, &ctx.bucket)
41+
SetBucketPolicy::new(&ctx.client, ctx.bucket.to_owned())
4242
.config(config)
4343
.send()
4444
.await
4545
.unwrap();
4646
ctx
4747
},
48-
|ctx| GetBucketPolicy::new(&ctx.client, &ctx.bucket),
48+
|ctx| GetBucketPolicy::new(&ctx.client, ctx.bucket.to_owned()),
4949
)
5050
}
5151
pub(crate) fn bench_delete_bucket_policy(criterion: &mut Criterion) {
5252
benchmark_s3_api(
5353
"delete_bucket_policy",
5454
criterion,
5555
|| async { Ctx2::new().await },
56-
|ctx| DeleteBucketPolicy::new(&ctx.client, &ctx.bucket),
56+
|ctx| DeleteBucketPolicy::new(&ctx.client, ctx.bucket.to_owned()),
5757
)
5858
}

benches/s3/bench_bucket_replication.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ pub(crate) fn bench_set_bucket_replication(criterion: &mut Criterion) {
5353
|ctx| {
5454
let config =
5555
create_bucket_replication_config_example(ctx.aux_bucket.clone().unwrap().as_str());
56-
SetBucketReplication::new(&ctx.client, &ctx.bucket).replication_config(config)
56+
SetBucketReplication::new(&ctx.client, ctx.bucket.to_owned()).replication_config(config)
5757
},
5858
)
5959
}
@@ -84,7 +84,7 @@ pub(crate) fn bench_get_bucket_replication(criterion: &mut Criterion) {
8484

8585
ctx
8686
},
87-
|ctx| GetBucketReplication::new(&ctx.client, &ctx.bucket),
87+
|ctx| GetBucketReplication::new(&ctx.client, ctx.bucket.to_owned()),
8888
)
8989
}
9090
#[allow(dead_code)]
@@ -114,6 +114,6 @@ pub(crate) fn bench_delete_bucket_replication(criterion: &mut Criterion) {
114114

115115
ctx
116116
},
117-
|ctx| DeleteBucketReplication::new(&ctx.client, &ctx.bucket),
117+
|ctx| DeleteBucketReplication::new(&ctx.client, ctx.bucket.to_owned()),
118118
)
119119
}

benches/s3/bench_bucket_tags.rs

+4-6
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ use crate::common_benches::{Ctx2, benchmark_s3_api};
1717

1818
use criterion::Criterion;
1919
use minio::s3::builders::{DeleteBucketTags, GetBucketTags, SetBucketTags};
20-
use minio::s3::response::SetBucketTagsResponse;
2120
use minio::s3::types::S3Api;
2221
use minio_common::example::create_tags_example;
2322

@@ -26,7 +25,7 @@ pub(crate) fn bench_set_bucket_tags(criterion: &mut Criterion) {
2625
"set_bucket_tags",
2726
criterion,
2827
|| async { Ctx2::new().await },
29-
|ctx| SetBucketTags::new(&ctx.client, &ctx.bucket).tags(create_tags_example()),
28+
|ctx| SetBucketTags::new(&ctx.client, ctx.bucket.to_owned()).tags(create_tags_example()),
3029
)
3130
}
3231
pub(crate) fn bench_get_bucket_tags(criterion: &mut Criterion) {
@@ -35,23 +34,22 @@ pub(crate) fn bench_get_bucket_tags(criterion: &mut Criterion) {
3534
criterion,
3635
|| async {
3736
let ctx = Ctx2::new().await;
38-
let _resp: SetBucketTagsResponse = ctx
39-
.client
37+
ctx.client
4038
.set_bucket_tags(&ctx.bucket)
4139
.tags(create_tags_example())
4240
.send()
4341
.await
4442
.unwrap();
4543
ctx
4644
},
47-
|ctx| GetBucketTags::new(&ctx.client, &ctx.bucket),
45+
|ctx| GetBucketTags::new(&ctx.client, ctx.bucket.to_owned()),
4846
)
4947
}
5048
pub(crate) fn bench_delete_bucket_tags(criterion: &mut Criterion) {
5149
benchmark_s3_api(
5250
"delete_bucket_tags",
5351
criterion,
5452
|| async { Ctx2::new().await },
55-
|ctx| DeleteBucketTags::new(&ctx.client, &ctx.bucket),
53+
|ctx| DeleteBucketTags::new(&ctx.client, ctx.bucket.to_owned()),
5654
)
5755
}

benches/s3/bench_bucket_versioning.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ pub(crate) fn bench_get_bucket_versioning(criterion: &mut Criterion) {
2323
"get_bucket_versioning",
2424
criterion,
2525
|| async { Ctx2::new().await },
26-
|ctx| GetBucketVersioning::new(&ctx.client, &ctx.bucket),
26+
|ctx| GetBucketVersioning::new(&ctx.client, ctx.bucket.to_owned()),
2727
)
2828
}
2929
pub(crate) fn bench_set_bucket_versioning(criterion: &mut Criterion) {
@@ -32,7 +32,7 @@ pub(crate) fn bench_set_bucket_versioning(criterion: &mut Criterion) {
3232
criterion,
3333
|| async { Ctx2::new().await },
3434
|ctx| {
35-
SetBucketVersioning::new(&ctx.client, &ctx.bucket)
35+
SetBucketVersioning::new(&ctx.client, ctx.bucket.to_owned())
3636
.versioning_status(VersioningStatus::Enabled)
3737
},
3838
)

benches/s3/bench_object_legal_hold.rs

+13-10
Original file line numberDiff line numberDiff line change
@@ -19,23 +19,25 @@ use criterion::Criterion;
1919
use minio::s3::builders::{
2020
DisableObjectLegalHold, EnableObjectLegalHold, IsObjectLegalHoldEnabled,
2121
};
22-
use minio::s3::response::EnableObjectLegalHoldResponse;
2322
use minio::s3::types::S3Api;
2423

2524
pub(crate) fn bench_enable_object_legal_hold(criterion: &mut Criterion) {
2625
benchmark_s3_api(
2726
"enable_object_legal_hold",
2827
criterion,
2928
|| async { Ctx2::new_with_object(true).await },
30-
|ctx| EnableObjectLegalHold::new(&ctx.client, &ctx.bucket).object(ctx.object.clone()),
29+
|ctx| EnableObjectLegalHold::new(&ctx.client, ctx.bucket.to_owned(), ctx.object.to_owned()),
3130
)
3231
}
3332
pub(crate) fn bench_disable_object_legal_hold(criterion: &mut Criterion) {
3433
benchmark_s3_api(
3534
"disable_object_legal_hold",
3635
criterion,
3736
|| async { Ctx2::new_with_object(true).await },
38-
|ctx| DisableObjectLegalHold::new(&ctx.client, &ctx.bucket).object(ctx.object.clone()),
37+
|ctx| {
38+
DisableObjectLegalHold::new(&ctx.client, ctx.bucket.to_owned())
39+
.object(ctx.object.clone())
40+
},
3941
)
4042
}
4143
pub(crate) fn bench_is_object_legal_hold(criterion: &mut Criterion) {
@@ -44,14 +46,15 @@ pub(crate) fn bench_is_object_legal_hold(criterion: &mut Criterion) {
4446
criterion,
4547
|| async {
4648
let ctx = Ctx2::new_with_object(true).await;
47-
let _resp: EnableObjectLegalHoldResponse =
48-
EnableObjectLegalHold::new(&ctx.client, &ctx.bucket)
49-
.object(ctx.object.clone())
50-
.send()
51-
.await
52-
.unwrap();
49+
ctx.client
50+
.enable_object_legal_hold(&ctx.bucket, &ctx.object)
51+
.send()
52+
.await
53+
.unwrap();
5354
ctx
5455
},
55-
|ctx| IsObjectLegalHoldEnabled::new(&ctx.client, &ctx.bucket).object(ctx.object.clone()),
56+
|ctx| {
57+
IsObjectLegalHoldEnabled::new(&ctx.client, ctx.bucket.to_owned(), ctx.object.to_owned())
58+
},
5659
)
5760
}

benches/s3/bench_object_lock_config.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ pub(crate) fn bench_set_object_lock_config(criterion: &mut Criterion) {
2525
|| async { Ctx2::new_with_object(true).await },
2626
|ctx| {
2727
let config = create_object_lock_config_example();
28-
SetObjectLockConfig::new(&ctx.client, &ctx.bucket).config(config)
28+
SetObjectLockConfig::new(&ctx.client, ctx.bucket.to_owned()).config(config)
2929
},
3030
)
3131
}
@@ -34,14 +34,14 @@ pub(crate) fn bench_get_object_lock_config(criterion: &mut Criterion) {
3434
"get_object_lock_config",
3535
criterion,
3636
|| async { Ctx2::new_with_object(true).await },
37-
|ctx| GetObjectLockConfig::new(&ctx.client, &ctx.bucket),
37+
|ctx| GetObjectLockConfig::new(&ctx.client, ctx.bucket.to_owned()),
3838
)
3939
}
4040
pub(crate) fn bench_delete_object_lock_config(criterion: &mut Criterion) {
4141
benchmark_s3_api(
4242
"delete_object_lock_config",
4343
criterion,
4444
|| async { Ctx2::new_with_object(true).await },
45-
|ctx| DeleteObjectLockConfig::new(&ctx.client, &ctx.bucket),
45+
|ctx| DeleteObjectLockConfig::new(&ctx.client, ctx.bucket.to_owned()),
4646
)
4747
}

benches/s3/bench_object_retention.rs

+3-5
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,7 @@ pub(crate) fn bench_set_object_retention(criterion: &mut Criterion) {
2727
criterion,
2828
|| async { Ctx2::new_with_object(true).await },
2929
|ctx| {
30-
SetObjectRetention::new(&ctx.client, &ctx.bucket)
31-
.object(ctx.object.clone())
30+
SetObjectRetention::new(&ctx.client, ctx.bucket.to_owned(), ctx.object.to_owned())
3231
.retention_mode(Some(RetentionMode::GOVERNANCE))
3332
.retain_until_date(Some(utc_now() + chrono::Duration::days(1)))
3433
},
@@ -41,15 +40,14 @@ pub(crate) fn bench_get_object_retention(criterion: &mut Criterion) {
4140
|| async {
4241
let ctx = Ctx2::new_with_object(true).await;
4342
let _resp: SetObjectRetentionResponse =
44-
SetObjectRetention::new(&ctx.client, &ctx.bucket)
45-
.object(ctx.object.clone())
43+
SetObjectRetention::new(&ctx.client, ctx.bucket.to_owned(), ctx.object.to_owned())
4644
.retention_mode(Some(RetentionMode::GOVERNANCE))
4745
.retain_until_date(Some(utc_now() + chrono::Duration::days(1)))
4846
.send()
4947
.await
5048
.unwrap();
5149
ctx
5250
},
53-
|ctx| GetObjectRetention::new(&ctx.client, &ctx.bucket).object(ctx.object.clone()),
51+
|ctx| GetObjectRetention::new(&ctx.client, ctx.bucket.to_owned(), ctx.object.to_owned()),
5452
)
5553
}

benches/s3/bench_object_tags.rs

+6-5
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,7 @@ pub(crate) fn bench_set_object_tags(criterion: &mut Criterion) {
2727
criterion,
2828
|| async { Ctx2::new_with_object(false).await },
2929
|ctx| {
30-
SetObjectTags::new(&ctx.client, &ctx.bucket)
31-
.object(ctx.object.clone())
30+
SetObjectTags::new(&ctx.client, ctx.bucket.to_owned(), ctx.object.to_owned())
3231
.tags(create_tags_example())
3332
},
3433
)
@@ -39,14 +38,16 @@ pub(crate) fn bench_get_object_tags(criterion: &mut Criterion) {
3938
criterion,
4039
|| async {
4140
let ctx = Ctx2::new_with_object(false).await;
42-
let _resp: SetObjectTagsResponse = SetObjectTags::new(&ctx.client, &ctx.bucket)
43-
.object(ctx.object.clone())
41+
42+
let _resp: SetObjectTagsResponse = ctx
43+
.client
44+
.set_object_tags(&ctx.bucket, &ctx.object)
4445
.tags(create_tags_example())
4546
.send()
4647
.await
4748
.unwrap();
4849
ctx
4950
},
50-
|ctx| GetObjectTags::new(&ctx.client, &ctx.bucket).object(ctx.object.clone()),
51+
|ctx| GetObjectTags::new(&ctx.client, ctx.bucket.to_owned(), ctx.object.to_owned()),
5152
)
5253
}

examples/object_prompt.rs

+7-5
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
mod common;
1717

1818
use crate::common::create_bucket_if_not_exists;
19-
use minio::s3::builders::{ObjectContent, ObjectPrompt};
19+
use minio::s3::builders::ObjectContent;
2020
use minio::s3::client::ClientBuilder;
2121
use minio::s3::creds::StaticProvider;
2222
use minio::s3::http::BaseUrl;
@@ -69,11 +69,13 @@ async fn main() -> Result<(), Box<dyn std::error::Error + Send + Sync>> {
6969
filename.display()
7070
);
7171

72-
let op = ObjectPrompt::new(&client, bucket_name, object_name, "what is it about?");
73-
//.lambda_arn("arn:minio:s3-object-lambda::_:webhook") // this is the default value
72+
let resp: ObjectPromptResponse = client
73+
.object_prompt(&bucket_name, &object_name, "what is it about?".into())
74+
//.lambda_arn("arn:minio:s3-object-lambda::_:webhook") // this is the default value
75+
.send()
76+
.await?;
7477

75-
let res: ObjectPromptResponse = op.send().await?;
76-
log::info!("Object prompt result: '{}'", res.prompt_response);
78+
log::info!("Object prompt result: '{}'", resp.prompt_response);
7779

7880
Ok(())
7981
}

src/s3/builders/bucket_common.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,10 @@ pub struct BucketCommon<A> {
3131
}
3232

3333
impl<A: Default> BucketCommon<A> {
34-
pub fn new(client: &Arc<Client>, bucket: &str) -> BucketCommon<A> {
34+
pub fn new(client: &Arc<Client>, bucket: String) -> BucketCommon<A> {
3535
BucketCommon {
3636
client: Arc::clone(client),
37-
bucket: bucket.to_owned(),
37+
bucket,
3838
..Default::default()
3939
}
4040
}

0 commit comments

Comments
 (0)