* Manages keys and performs cryptographic operations in a central cloud * service, for direct use by other cloud resources and applications.

* *

* For more information about this service, see the API * Documentation *

* * @author Google, Inc. */ class CloudKMS extends \Google\Service { /** See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account.. */ const CLOUD_PLATFORM = "https://www.googleapis.com/auth/cloud-platform"; /** View and manage your keys and secrets stored in Cloud Key Management Service. */ const CLOUDKMS = "https://www.googleapis.com/auth/cloudkms"; public $projects_locations; public $projects_locations_ekmConnections; public $projects_locations_keyRings; public $projects_locations_keyRings_cryptoKeys; public $projects_locations_keyRings_cryptoKeys_cryptoKeyVersions; public $projects_locations_keyRings_importJobs; /** * Constructs the internal representation of the CloudKMS service. * * @param Client|array $clientOrConfig The client used to deliver requests, or a * config array to pass to a new Client instance. * @param string $rootUrl The root URL used for requests to the service. */ public function __construct($clientOrConfig = [], $rootUrl = null) { parent::__construct($clientOrConfig); $this->rootUrl = $rootUrl ?: 'https://cloudkms.googleapis.com/'; $this->servicePath = ''; $this->batchPath = 'batch'; $this->version = 'v1'; $this->serviceName = 'cloudkms'; $this->projects_locations = new CloudKMS\Resource\ProjectsLocations( $this, $this->serviceName, 'locations', [ 'methods' => [ 'generateRandomBytes' => [ 'path' => 'v1/{+location}:generateRandomBytes', 'httpMethod' => 'POST', 'parameters' => [ 'location' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ],'get' => [ 'path' => 'v1/{+name}', 'httpMethod' => 'GET', 'parameters' => [ 'name' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ],'list' => [ 'path' => 'v1/{+name}/locations', 'httpMethod' => 'GET', 'parameters' => [ 'name' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], 'filter' => [ 'location' => 'query', 'type' => 'string', ], 'pageSize' => [ 'location' => 'query', 'type' => 'integer', ], 'pageToken' => [ 'location' => 'query', 'type' => 'string', ], ], ], ] ] ); $this->projects_locations_ekmConnections = new CloudKMS\Resource\ProjectsLocationsEkmConnections( $this, $this->serviceName, 'ekmConnections', [ 'methods' => [ 'create' => [ 'path' => 'v1/{+parent}/ekmConnections', 'httpMethod' => 'POST', 'parameters' => [ 'parent' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], 'ekmConnectionId' => [ 'location' => 'query', 'type' => 'string', ], ], ],'get' => [ 'path' => 'v1/{+name}', 'httpMethod' => 'GET', 'parameters' => [ 'name' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ],'getIamPolicy' => [ 'path' => 'v1/{+resource}:getIamPolicy', 'httpMethod' => 'GET', 'parameters' => [ 'resource' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], 'options.requestedPolicyVersion' => [ 'location' => 'query', 'type' => 'integer', ], ], ],'list' => [ 'path' => 'v1/{+parent}/ekmConnections', 'httpMethod' => 'GET', 'parameters' => [ 'parent' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], 'filter' => [ 'location' => 'query', 'type' => 'string', ], 'orderBy' => [ 'location' => 'query', 'type' => 'string', ], 'pageSize' => [ 'location' => 'query', 'type' => 'integer', ], 'pageToken' => [ 'location' => 'query', 'type' => 'string', ], ], ],'patch' => [ 'path' => 'v1/{+name}', 'httpMethod' => 'PATCH', 'parameters' => [ 'name' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], 'updateMask' => [ 'location' => 'query', 'type' => 'string', ], ], ],'setIamPolicy' => [ 'path' => 'v1/{+resource}:setIamPolicy', 'httpMethod' => 'POST', 'parameters' => [ 'resource' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ],'testIamPermissions' => [ 'path' => 'v1/{+resource}:testIamPermissions', 'httpMethod' => 'POST', 'parameters' => [ 'resource' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ], ] ] ); $this->projects_locations_keyRings = new CloudKMS\Resource\ProjectsLocationsKeyRings( $this, $this->serviceName, 'keyRings', [ 'methods' => [ 'create' => [ 'path' => 'v1/{+parent}/keyRings', 'httpMethod' => 'POST', 'parameters' => [ 'parent' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], 'keyRingId' => [ 'location' => 'query', 'type' => 'string', ], ], ],'get' => [ 'path' => 'v1/{+name}', 'httpMethod' => 'GET', 'parameters' => [ 'name' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ],'getIamPolicy' => [ 'path' => 'v1/{+resource}:getIamPolicy', 'httpMethod' => 'GET', 'parameters' => [ 'resource' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], 'options.requestedPolicyVersion' => [ 'location' => 'query', 'type' => 'integer', ], ], ],'list' => [ 'path' => 'v1/{+parent}/keyRings', 'httpMethod' => 'GET', 'parameters' => [ 'parent' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], 'filter' => [ 'location' => 'query', 'type' => 'string', ], 'orderBy' => [ 'location' => 'query', 'type' => 'string', ], 'pageSize' => [ 'location' => 'query', 'type' => 'integer', ], 'pageToken' => [ 'location' => 'query', 'type' => 'string', ], ], ],'setIamPolicy' => [ 'path' => 'v1/{+resource}:setIamPolicy', 'httpMethod' => 'POST', 'parameters' => [ 'resource' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ],'testIamPermissions' => [ 'path' => 'v1/{+resource}:testIamPermissions', 'httpMethod' => 'POST', 'parameters' => [ 'resource' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ], ] ] ); $this->projects_locations_keyRings_cryptoKeys = new CloudKMS\Resource\ProjectsLocationsKeyRingsCryptoKeys( $this, $this->serviceName, 'cryptoKeys', [ 'methods' => [ 'create' => [ 'path' => 'v1/{+parent}/cryptoKeys', 'httpMethod' => 'POST', 'parameters' => [ 'parent' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], 'cryptoKeyId' => [ 'location' => 'query', 'type' => 'string', ], 'skipInitialVersionCreation' => [ 'location' => 'query', 'type' => 'boolean', ], ], ],'decrypt' => [ 'path' => 'v1/{+name}:decrypt', 'httpMethod' => 'POST', 'parameters' => [ 'name' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ],'encrypt' => [ 'path' => 'v1/{+name}:encrypt', 'httpMethod' => 'POST', 'parameters' => [ 'name' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ],'get' => [ 'path' => 'v1/{+name}', 'httpMethod' => 'GET', 'parameters' => [ 'name' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ],'getIamPolicy' => [ 'path' => 'v1/{+resource}:getIamPolicy', 'httpMethod' => 'GET', 'parameters' => [ 'resource' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], 'options.requestedPolicyVersion' => [ 'location' => 'query', 'type' => 'integer', ], ], ],'list' => [ 'path' => 'v1/{+parent}/cryptoKeys', 'httpMethod' => 'GET', 'parameters' => [ 'parent' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], 'filter' => [ 'location' => 'query', 'type' => 'string', ], 'orderBy' => [ 'location' => 'query', 'type' => 'string', ], 'pageSize' => [ 'location' => 'query', 'type' => 'integer', ], 'pageToken' => [ 'location' => 'query', 'type' => 'string', ], 'versionView' => [ 'location' => 'query', 'type' => 'string', ], ], ],'patch' => [ 'path' => 'v1/{+name}', 'httpMethod' => 'PATCH', 'parameters' => [ 'name' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], 'updateMask' => [ 'location' => 'query', 'type' => 'string', ], ], ],'setIamPolicy' => [ 'path' => 'v1/{+resource}:setIamPolicy', 'httpMethod' => 'POST', 'parameters' => [ 'resource' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ],'testIamPermissions' => [ 'path' => 'v1/{+resource}:testIamPermissions', 'httpMethod' => 'POST', 'parameters' => [ 'resource' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ],'updatePrimaryVersion' => [ 'path' => 'v1/{+name}:updatePrimaryVersion', 'httpMethod' => 'POST', 'parameters' => [ 'name' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ], ] ] ); $this->projects_locations_keyRings_cryptoKeys_cryptoKeyVersions = new CloudKMS\Resource\ProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersions( $this, $this->serviceName, 'cryptoKeyVersions', [ 'methods' => [ 'asymmetricDecrypt' => [ 'path' => 'v1/{+name}:asymmetricDecrypt', 'httpMethod' => 'POST', 'parameters' => [ 'name' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ],'asymmetricSign' => [ 'path' => 'v1/{+name}:asymmetricSign', 'httpMethod' => 'POST', 'parameters' => [ 'name' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ],'create' => [ 'path' => 'v1/{+parent}/cryptoKeyVersions', 'httpMethod' => 'POST', 'parameters' => [ 'parent' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ],'destroy' => [ 'path' => 'v1/{+name}:destroy', 'httpMethod' => 'POST', 'parameters' => [ 'name' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ],'get' => [ 'path' => 'v1/{+name}', 'httpMethod' => 'GET', 'parameters' => [ 'name' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ],'getPublicKey' => [ 'path' => 'v1/{+name}/publicKey', 'httpMethod' => 'GET', 'parameters' => [ 'name' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ],'import' => [ 'path' => 'v1/{+parent}/cryptoKeyVersions:import', 'httpMethod' => 'POST', 'parameters' => [ 'parent' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ],'list' => [ 'path' => 'v1/{+parent}/cryptoKeyVersions', 'httpMethod' => 'GET', 'parameters' => [ 'parent' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], 'filter' => [ 'location' => 'query', 'type' => 'string', ], 'orderBy' => [ 'location' => 'query', 'type' => 'string', ], 'pageSize' => [ 'location' => 'query', 'type' => 'integer', ], 'pageToken' => [ 'location' => 'query', 'type' => 'string', ], 'view' => [ 'location' => 'query', 'type' => 'string', ], ], ],'macSign' => [ 'path' => 'v1/{+name}:macSign', 'httpMethod' => 'POST', 'parameters' => [ 'name' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ],'macVerify' => [ 'path' => 'v1/{+name}:macVerify', 'httpMethod' => 'POST', 'parameters' => [ 'name' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ],'patch' => [ 'path' => 'v1/{+name}', 'httpMethod' => 'PATCH', 'parameters' => [ 'name' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], 'updateMask' => [ 'location' => 'query', 'type' => 'string', ], ], ],'restore' => [ 'path' => 'v1/{+name}:restore', 'httpMethod' => 'POST', 'parameters' => [ 'name' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ], ] ] ); $this->projects_locations_keyRings_importJobs = new CloudKMS\Resource\ProjectsLocationsKeyRingsImportJobs( $this, $this->serviceName, 'importJobs', [ 'methods' => [ 'create' => [ 'path' => 'v1/{+parent}/importJobs', 'httpMethod' => 'POST', 'parameters' => [ 'parent' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], 'importJobId' => [ 'location' => 'query', 'type' => 'string', ], ], ],'get' => [ 'path' => 'v1/{+name}', 'httpMethod' => 'GET', 'parameters' => [ 'name' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ],'getIamPolicy' => [ 'path' => 'v1/{+resource}:getIamPolicy', 'httpMethod' => 'GET', 'parameters' => [ 'resource' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], 'options.requestedPolicyVersion' => [ 'location' => 'query', 'type' => 'integer', ], ], ],'list' => [ 'path' => 'v1/{+parent}/importJobs', 'httpMethod' => 'GET', 'parameters' => [ 'parent' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], 'filter' => [ 'location' => 'query', 'type' => 'string', ], 'orderBy' => [ 'location' => 'query', 'type' => 'string', ], 'pageSize' => [ 'location' => 'query', 'type' => 'integer', ], 'pageToken' => [ 'location' => 'query', 'type' => 'string', ], ], ],'setIamPolicy' => [ 'path' => 'v1/{+resource}:setIamPolicy', 'httpMethod' => 'POST', 'parameters' => [ 'resource' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ],'testIamPermissions' => [ 'path' => 'v1/{+resource}:testIamPermissions', 'httpMethod' => 'POST', 'parameters' => [ 'resource' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ], ] ] ); } } // Adding a class alias for backwards compatibility with the previous class name. class_alias(CloudKMS::class, 'Google_Service_CloudKMS');