* You can use OS Login to manage access to your VM instances using IAM roles.

* *

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

* * @author Google, Inc. */ class CloudOSLogin 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 your data across Google Cloud services and see the email address of your Google Account. */ const CLOUD_PLATFORM_READ_ONLY = "https://www.googleapis.com/auth/cloud-platform.read-only"; /** View and manage your Google Compute Engine resources. */ const COMPUTE = "https://www.googleapis.com/auth/compute"; /** View your Google Compute Engine resources. */ const COMPUTE_READONLY = "https://www.googleapis.com/auth/compute.readonly"; public $users; public $users_projects; public $users_sshPublicKeys; public $rootUrlTemplate; /** * Constructs the internal representation of the CloudOSLogin 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://oslogin.googleapis.com/'; $this->rootUrlTemplate = $rootUrl ?: 'https://oslogin.UNIVERSE_DOMAIN/'; $this->servicePath = ''; $this->batchPath = 'batch'; $this->version = 'v1'; $this->serviceName = 'oslogin'; $this->users = new CloudOSLogin\Resource\Users( $this, $this->serviceName, 'users', [ 'methods' => [ 'getLoginProfile' => [ 'path' => 'v1/{+name}/loginProfile', 'httpMethod' => 'GET', 'parameters' => [ 'name' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], 'projectId' => [ 'location' => 'query', 'type' => 'string', ], 'systemId' => [ 'location' => 'query', 'type' => 'string', ], ], ],'importSshPublicKey' => [ 'path' => 'v1/{+parent}:importSshPublicKey', 'httpMethod' => 'POST', 'parameters' => [ 'parent' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], 'projectId' => [ 'location' => 'query', 'type' => 'string', ], 'regions' => [ 'location' => 'query', 'type' => 'string', 'repeated' => true, ], ], ], ] ] ); $this->users_projects = new CloudOSLogin\Resource\UsersProjects( $this, $this->serviceName, 'projects', [ 'methods' => [ 'delete' => [ 'path' => 'v1/{+name}', 'httpMethod' => 'DELETE', 'parameters' => [ 'name' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ], ] ] ); $this->users_sshPublicKeys = new CloudOSLogin\Resource\UsersSshPublicKeys( $this, $this->serviceName, 'sshPublicKeys', [ 'methods' => [ 'create' => [ 'path' => 'v1/{+parent}/sshPublicKeys', 'httpMethod' => 'POST', 'parameters' => [ 'parent' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ],'delete' => [ 'path' => 'v1/{+name}', 'httpMethod' => 'DELETE', 'parameters' => [ 'name' => [ 'location' => 'path', 'type' => 'string', 'required' => true, ], ], ],'get' => [ 'path' => 'v1/{+name}', 'httpMethod' => 'GET', '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', ], ], ], ] ] ); } } // Adding a class alias for backwards compatibility with the previous class name. class_alias(CloudOSLogin::class, 'Google_Service_CloudOSLogin');