Skip to content

Commit a214551

Browse files
feat(CloudAsset): add sample code for listing assets (GoogleCloudPlatform#1479)
1 parent 87a0104 commit a214551

File tree

2 files changed

+63
-0
lines changed

2 files changed

+63
-0
lines changed

asset/src/list_assets.php

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
<?php
2+
/**
3+
* Copyright 2021 Google LLC.
4+
*
5+
* Licensed under the Apache License, Version 2.0 (the "License");
6+
* you may not use this file except in compliance with the License.
7+
* You may obtain a copy of the License at
8+
*
9+
* http://www.apache.org/licenses/LICENSE-2.0
10+
*
11+
* Unless required by applicable law or agreed to in writing, software
12+
* distributed under the License is distributed on an "AS IS" BASIS,
13+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
* See the License for the specific language governing permissions and
15+
* limitations under the License.
16+
*/
17+
18+
namespace Google\Cloud\Samples\Asset;
19+
20+
// [START asset_quickstart_list_assets]
21+
use Google\Cloud\Asset\V1\AssetServiceClient;
22+
23+
/**
24+
* @param string $projectId Tthe project Id for list assets.
25+
* @param string|array $assetTypes (Optional) Asset types to list for.
26+
* @param int $pageSize (Optional) Size of one result page.
27+
*/
28+
function list_assets(string $projectId, array $assetTypes = [], int $pageSize)
29+
{
30+
// Instantiate a client.
31+
$client = new AssetServiceClient();
32+
33+
// Run request
34+
$response = $client->listAssets(
35+
"projects/$projectId", [
36+
'assetTypes' => $assetTypes,
37+
'pageSize' => $pageSize,
38+
]);
39+
40+
// Print the asset names in the result
41+
foreach ($response->getPage() as $asset) {
42+
print($asset->getName() . PHP_EOL);
43+
}
44+
}
45+
// [END asset_quickstart_list_assets]
46+
47+
// The following 2 lines are only needed to run the samples
48+
require_once __DIR__ . '/../../testing/sample_helpers.php';
49+
\Google\Cloud\Samples\execute_sample(__FILE__, __NAMESPACE__, $argv);

asset/test/assetTest.php

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,20 @@ public function testExportAssets()
5959
$assetFile->delete();
6060
}
6161

62+
public function testListAssets()
63+
{
64+
$assetName = '//storage.googleapis.com/' . self::$bucketName;
65+
$this->runEventuallyConsistentTest(function () use ($assetName) {
66+
$output = $this->runFunctionSnippet('list_assets', [
67+
'projectId' => self::$projectId,
68+
'assetTypes' => ['storage.googleapis.com/Bucket'],
69+
'pageSize' => 1000,
70+
]);
71+
72+
$this->assertStringContainsString($assetName, $output);
73+
}, 10, true);
74+
}
75+
6276
public function testBatchGetAssetsHistory()
6377
{
6478
$assetName = '//storage.googleapis.com/' . self::$bucketName;

0 commit comments

Comments
 (0)