Skip to content

Commit 7c4b600

Browse files
authored
add bucket redundancy transition api
1 parent 8f34b83 commit 7c4b600

22 files changed

+1571
-0
lines changed

Diff for: sample/CreateBucketDataRedundancyTransition.php

+47
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
<?php
2+
3+
require_once __DIR__ . '/../vendor/autoload.php';
4+
5+
use AlibabaCloud\Oss\V2 as Oss;
6+
7+
// parse args
8+
$optsdesc = [
9+
"region" => ['help' => 'The region in which the bucket is located.', 'required' => True],
10+
"endpoint" => ['help' => 'The domain names that other services can use to access OSS.', 'required' => False],
11+
"bucket" => ['help' => 'The name of the bucket', 'required' => True],
12+
];
13+
$longopts = \array_map(function ($key) {
14+
return "$key:";
15+
}, array_keys($optsdesc));
16+
$options = getopt("", $longopts);
17+
foreach ($optsdesc as $key => $value) {
18+
if ($value['required'] === True && empty($options[$key])) {
19+
$help = $value['help'];
20+
echo "Error: the following arguments are required: --$key, $help";
21+
exit(1);
22+
}
23+
}
24+
25+
$region = $options["region"];
26+
$bucket = $options["bucket"];
27+
28+
// Loading credentials values from the environment variables
29+
$credentialsProvider = new Oss\Credentials\EnvironmentVariableCredentialsProvider();
30+
31+
// Using the SDK's default configuration
32+
$cfg = Oss\Config::loadDefault();
33+
$cfg->setCredentialsProvider($credentialsProvider);
34+
$cfg->setRegion($region);
35+
if (isset($options["endpoint"])) {
36+
$cfg->setEndpoint($options["endpoint"]);
37+
}
38+
39+
$client = new Oss\Client($cfg);
40+
$request = new Oss\Models\CreateBucketDataRedundancyTransitionRequest($bucket, 'ZRS');
41+
$result = $client->createBucketDataRedundancyTransition($request);
42+
43+
printf(
44+
'status code:' . $result->statusCode . PHP_EOL .
45+
'request id:' . $result->requestId . PHP_EOL .
46+
'task id:' . $result->bucketDataRedundancyTransition->taskId
47+
);

Diff for: sample/DeleteBucketDataRedundancyTransition.php

+47
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
<?php
2+
3+
require_once __DIR__ . '/../vendor/autoload.php';
4+
5+
use AlibabaCloud\Oss\V2 as Oss;
6+
7+
// parse args
8+
$optsdesc = [
9+
"region" => ['help' => 'The region in which the bucket is located.', 'required' => True],
10+
"endpoint" => ['help' => 'The domain names that other services can use to access OSS.', 'required' => False],
11+
"bucket" => ['help' => 'The name of the bucket', 'required' => True],
12+
"task-id" => ['help' => 'The Id of the redundancy change task.', 'required' => True],
13+
];
14+
$longopts = \array_map(function ($key) {
15+
return "$key:";
16+
}, array_keys($optsdesc));
17+
$options = getopt("", $longopts);
18+
foreach ($optsdesc as $key => $value) {
19+
if ($value['required'] === True && empty($options[$key])) {
20+
$help = $value['help'];
21+
echo "Error: the following arguments are required: --$key, $help";
22+
exit(1);
23+
}
24+
}
25+
26+
$region = $options["region"];
27+
$bucket = $options["bucket"];
28+
$taskId = $options["task-id"];
29+
// Loading credentials values from the environment variables
30+
$credentialsProvider = new Oss\Credentials\EnvironmentVariableCredentialsProvider();
31+
32+
// Using the SDK's default configuration
33+
$cfg = Oss\Config::loadDefault();
34+
$cfg->setCredentialsProvider($credentialsProvider);
35+
$cfg->setRegion($region);
36+
if (isset($options["endpoint"])) {
37+
$cfg->setEndpoint($options["endpoint"]);
38+
}
39+
40+
$client = new Oss\Client($cfg);
41+
$request = new Oss\Models\DeleteBucketDataRedundancyTransitionRequest($bucket, $taskId);
42+
$result = $client->deleteBucketDataRedundancyTransition($request);
43+
44+
printf(
45+
'status code:' . $result->statusCode . PHP_EOL .
46+
'request id:' . $result->requestId
47+
);

Diff for: sample/GetBucketDataRedundancyTransition.php

+48
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
<?php
2+
3+
require_once __DIR__ . '/../vendor/autoload.php';
4+
5+
use AlibabaCloud\Oss\V2 as Oss;
6+
7+
// parse args
8+
$optsdesc = [
9+
"region" => ['help' => 'The region in which the bucket is located.', 'required' => True],
10+
"endpoint" => ['help' => 'The domain names that other services can use to access OSS.', 'required' => False],
11+
"bucket" => ['help' => 'The name of the bucket', 'required' => True],
12+
"task-id" => ['help' => 'The Id of the redundancy change task.', 'required' => True],
13+
];
14+
$longopts = \array_map(function ($key) {
15+
return "$key:";
16+
}, array_keys($optsdesc));
17+
$options = getopt("", $longopts);
18+
foreach ($optsdesc as $key => $value) {
19+
if ($value['required'] === True && empty($options[$key])) {
20+
$help = $value['help'];
21+
echo "Error: the following arguments are required: --$key, $help";
22+
exit(1);
23+
}
24+
}
25+
26+
$region = $options["region"];
27+
$bucket = $options["bucket"];
28+
$taskId = $options["task-id"];
29+
// Loading credentials values from the environment variables
30+
$credentialsProvider = new Oss\Credentials\EnvironmentVariableCredentialsProvider();
31+
32+
// Using the SDK's default configuration
33+
$cfg = Oss\Config::loadDefault();
34+
$cfg->setCredentialsProvider($credentialsProvider);
35+
$cfg->setRegion($region);
36+
if (isset($options["endpoint"])) {
37+
$cfg->setEndpoint($options["endpoint"]);
38+
}
39+
40+
$client = new Oss\Client($cfg);
41+
$request = new Oss\Models\GetBucketDataRedundancyTransitionRequest($bucket, $taskId);
42+
$result = $client->getBucketDataRedundancyTransition($request);
43+
44+
printf(
45+
'status code:' . $result->statusCode . PHP_EOL .
46+
'request id:' . $result->requestId . PHP_EOL .
47+
'bucket data redundancy transition:' . var_export($result->bucketDataRedundancyTransition, true)
48+
);

Diff for: sample/ListBucketDataRedundancyTransition.php

+46
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
<?php
2+
3+
require_once __DIR__ . '/../vendor/autoload.php';
4+
5+
use AlibabaCloud\Oss\V2 as Oss;
6+
7+
// parse args
8+
$optsdesc = [
9+
"region" => ['help' => 'The region in which the bucket is located.', 'required' => True],
10+
"endpoint" => ['help' => 'The domain names that other services can use to access OSS.', 'required' => False],
11+
"bucket" => ['help' => 'The name of the bucket', 'required' => True],
12+
];
13+
$longopts = \array_map(function ($key) {
14+
return "$key:";
15+
}, array_keys($optsdesc));
16+
$options = getopt("", $longopts);
17+
foreach ($optsdesc as $key => $value) {
18+
if ($value['required'] === True && empty($options[$key])) {
19+
$help = $value['help'];
20+
echo "Error: the following arguments are required: --$key, $help";
21+
exit(1);
22+
}
23+
}
24+
25+
$region = $options["region"];
26+
$bucket = $options["bucket"];
27+
// Loading credentials values from the environment variables
28+
$credentialsProvider = new Oss\Credentials\EnvironmentVariableCredentialsProvider();
29+
30+
// Using the SDK's default configuration
31+
$cfg = Oss\Config::loadDefault();
32+
$cfg->setCredentialsProvider($credentialsProvider);
33+
$cfg->setRegion($region);
34+
if (isset($options["endpoint"])) {
35+
$cfg->setEndpoint($options["endpoint"]);
36+
}
37+
38+
$client = new Oss\Client($cfg);
39+
$request = new Oss\Models\ListBucketDataRedundancyTransitionRequest($bucket);
40+
$result = $client->listBucketDataRedundancyTransition($request);
41+
42+
printf(
43+
'status code:' . $result->statusCode . PHP_EOL .
44+
'request id:' . $result->requestId . PHP_EOL .
45+
'bucket data redundancy transitions:' . var_export($result->listBucketDataRedundancyTransition->bucketDataRedundancyTransitions, true)
46+
);

Diff for: sample/ListUserDataRedundancyTransition.php

+44
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
<?php
2+
3+
require_once __DIR__ . '/../vendor/autoload.php';
4+
5+
use AlibabaCloud\Oss\V2 as Oss;
6+
7+
// parse args
8+
$optsdesc = [
9+
"region" => ['help' => 'The region in which the bucket is located.', 'required' => True],
10+
"endpoint" => ['help' => 'The domain names that other services can use to access OSS.', 'required' => False],
11+
];
12+
$longopts = \array_map(function ($key) {
13+
return "$key:";
14+
}, array_keys($optsdesc));
15+
$options = getopt("", $longopts);
16+
foreach ($optsdesc as $key => $value) {
17+
if ($value['required'] === True && empty($options[$key])) {
18+
$help = $value['help'];
19+
echo "Error: the following arguments are required: --$key, $help";
20+
exit(1);
21+
}
22+
}
23+
24+
$region = $options["region"];
25+
// Loading credentials values from the environment variables
26+
$credentialsProvider = new Oss\Credentials\EnvironmentVariableCredentialsProvider();
27+
28+
// Using the SDK's default configuration
29+
$cfg = Oss\Config::loadDefault();
30+
$cfg->setCredentialsProvider($credentialsProvider);
31+
$cfg->setRegion($region);
32+
if (isset($options["endpoint"])) {
33+
$cfg->setEndpoint($options["endpoint"]);
34+
}
35+
36+
$client = new Oss\Client($cfg);
37+
$request = new Oss\Models\ListUserDataRedundancyTransitionRequest();
38+
$result = $client->listUserDataRedundancyTransition($request);
39+
40+
printf(
41+
'status code:' . $result->statusCode . PHP_EOL .
42+
'request id:' . $result->requestId . PHP_EOL .
43+
'bucket data redundancy transitions:' . var_export($result->listBucketDataRedundancyTransition->bucketDataRedundancyTransitions, true)
44+
);

Diff for: src/Client.php

+10
Original file line numberDiff line numberDiff line change
@@ -212,6 +212,16 @@
212212
* @method \GuzzleHttp\Promise\Promise putBucketPublicAccessBlockAsync(Models\PutBucketPublicAccessBlockRequest $request, array $args = []) Enables or disables Block Public Access for a bucket.
213213
* @method Models\DeleteBucketPublicAccessBlockResult deleteBucketPublicAccessBlock(Models\DeleteBucketPublicAccessBlockRequest $request, array $args = []) Deletes the Block Public Access configurations of a bucket.
214214
* @method \GuzzleHttp\Promise\Promise deleteBucketPublicAccessBlockAsync(Models\DeleteBucketPublicAccessBlockRequest $request, array $args = []) Deletes the Block Public Access configurations of a bucket.
215+
* @method Models\ListBucketDataRedundancyTransitionResult listBucketDataRedundancyTransition(Models\ListBucketDataRedundancyTransitionRequest $request, array $args = []) Lists all redundancy type conversion tasks of a bucket.
216+
* @method \GuzzleHttp\Promise\Promise listBucketDataRedundancyTransitionAsync(Models\ListBucketDataRedundancyTransitionRequest $request, array $args = []) Lists all redundancy type conversion tasks of a bucket.
217+
* @method Models\ListUserDataRedundancyTransitionResult listUserDataRedundancyTransition(Models\ListUserDataRedundancyTransitionRequest $request, array $args = []) Lists all redundancy type conversion tasks.
218+
* @method \GuzzleHttp\Promise\Promise listUserDataRedundancyTransitionAsync(Models\ListUserDataRedundancyTransitionRequest $request, array $args = []) Lists all redundancy type conversion tasks.
219+
* @method Models\GetBucketDataRedundancyTransitionResult getBucketDataRedundancyTransition(Models\GetBucketDataRedundancyTransitionRequest $request, array $args = []) Queries the redundancy type conversion tasks of a bucket.
220+
* @method \GuzzleHttp\Promise\Promise getBucketDataRedundancyTransitionAsync(Models\GetBucketDataRedundancyTransitionRequest $request, array $args = []) Queries the redundancy type conversion tasks of a bucket.
221+
* @method Models\CreateBucketDataRedundancyTransitionResult createBucketDataRedundancyTransition(Models\CreateBucketDataRedundancyTransitionRequest $request, array $args = []) Creates a redundancy type conversion task for a bucket.
222+
* @method \GuzzleHttp\Promise\Promise createBucketDataRedundancyTransitionAsync(Models\CreateBucketDataRedundancyTransitionRequest $request, array $args = []) Creates a redundancy type conversion task for a bucket.
223+
* @method Models\DeleteBucketDataRedundancyTransitionResult deleteBucketDataRedundancyTransition(Models\DeleteBucketDataRedundancyTransitionRequest $request, array $args = []) Deletes a redundancy type conversion task of a bucket.
224+
* @method \GuzzleHttp\Promise\Promise deleteBucketDataRedundancyTransitionAsync(Models\DeleteBucketDataRedundancyTransitionRequest $request, array $args = []) Deletes a redundancy type conversion task of a bucket.
215225
* @method Models\GetBucketHttpsConfigResult getBucketHttpsConfig(Models\GetBucketHttpsConfigRequest $request, array $args = []) Queries the Transport Layer Security (TLS) version configurations of a bucket.
216226
* @method \GuzzleHttp\Promise\Promise getBucketHttpsConfigAsync(Models\GetBucketHttpsConfigRequest $request, array $args = []) Queries the Transport Layer Security (TLS) version configurations of a bucket.
217227
* @method Models\PutBucketHttpsConfigResult putBucketHttpsConfig(Models\PutBucketHttpsConfigRequest $request, array $args = []) Enables or disables Transport Layer Security (TLS) version management for a bucket.

Diff for: src/Models/BucketDataRedundancyTransition.php

+106
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace AlibabaCloud\Oss\V2\Models;
6+
7+
use AlibabaCloud\Oss\V2\Types\Model;
8+
use AlibabaCloud\Oss\V2\Annotation\XmlElement;
9+
use AlibabaCloud\Oss\V2\Annotation\XmlRoot;
10+
11+
/**
12+
* Class BucketDataRedundancyTransition
13+
* @package AlibabaCloud\Oss\V2\Models
14+
*/
15+
#[XmlRoot(name: 'BucketDataRedundancyTransition')]
16+
final class BucketDataRedundancyTransition extends Model
17+
{
18+
19+
/**
20+
* The progress of the redundancy type change task in percentage. Valid values: 0 to 100. This element is available when the task is in the Processing or Finished state.
21+
* @var int|null
22+
*/
23+
#[XmlElement(rename: 'ProcessPercentage', type: 'int')]
24+
public ?int $processPercentage;
25+
26+
/**
27+
* The estimated period of time that is required for the redundancy type change task. Unit: hours. This element is available when the task is in the Processing or Finished state.
28+
* @var int|null
29+
*/
30+
#[XmlElement(rename: 'EstimatedRemainingTime', type: 'int')]
31+
public ?int $estimatedRemainingTime;
32+
33+
/**
34+
* The name of the bucket.
35+
* @var string|null
36+
*/
37+
#[XmlElement(rename: 'Bucket', type: 'string')]
38+
public ?string $bucket;
39+
40+
/**
41+
* The ID of the redundancy type conversion task. The ID can be used to view and delete the redundancy type conversion task.
42+
* @var string|null
43+
*/
44+
#[XmlElement(rename: 'TaskId', type: 'string')]
45+
public ?string $taskId;
46+
47+
/**
48+
* The state of the redundancy type change task. Valid values:QueueingProcessingFinished
49+
* @var string|null
50+
*/
51+
#[XmlElement(rename: 'Status', type: 'string')]
52+
public ?string $status;
53+
54+
/**
55+
* The time when the redundancy type change task was created.
56+
* @var string|null
57+
*/
58+
#[XmlElement(rename: 'CreateTime', type: 'string')]
59+
public ?string $createTime;
60+
61+
/**
62+
* The time when the redundancy type change task was performed. This element is available when the task is in the Processing or Finished state.
63+
* @var string|null
64+
*/
65+
#[XmlElement(rename: 'StartTime', type: 'string')]
66+
public ?string $startTime;
67+
68+
/**
69+
* The time when the redundancy type change task was finished. This element is available when the task is in the Finished state.
70+
* @var string|null
71+
*/
72+
#[XmlElement(rename: 'EndTime', type: 'string')]
73+
public ?string $endTime;
74+
75+
/**
76+
* BucketDataRedundancyTransition constructor.
77+
* @param int|null $processPercentage The progress of the redundancy type change task in percentage.
78+
* @param int|null $estimatedRemainingTime The estimated period of time that is required for the redundancy type change task.
79+
* @param string|null $bucket The name of the bucket.
80+
* @param string|null $taskId The ID of the redundancy type conversion task.
81+
* @param string|null $status The state of the redundancy type change task.
82+
* @param string|null $createTime The time when the redundancy type change task was created.
83+
* @param string|null $startTime The time when the redundancy type change task was performed.
84+
* @param string|null $endTime The time when the redundancy type change task was finished.
85+
*/
86+
public function __construct(
87+
?int $processPercentage = null,
88+
?int $estimatedRemainingTime = null,
89+
?string $bucket = null,
90+
?string $taskId = null,
91+
?string $status = null,
92+
?string $createTime = null,
93+
?string $startTime = null,
94+
?string $endTime = null
95+
)
96+
{
97+
$this->processPercentage = $processPercentage;
98+
$this->estimatedRemainingTime = $estimatedRemainingTime;
99+
$this->bucket = $bucket;
100+
$this->status = $status;
101+
$this->taskId = $taskId;
102+
$this->createTime = $createTime;
103+
$this->startTime = $startTime;
104+
$this->endTime = $endTime;
105+
}
106+
}

0 commit comments

Comments
 (0)