1<?php 2/* 3 * Copyright 2014 Google Inc. 4 * 5 * Licensed under the Apache License, Version 2.0 (the "License"); you may not 6 * use this file except in compliance with the License. You may obtain a copy of 7 * 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, WITHOUT 13 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 * License for the specific language governing permissions and limitations under 15 * the License. 16 */ 17 18namespace Google\Service; 19 20use Google\Client; 21 22/** 23 * Service definition for IAMCredentials (v1). 24 * 25 * <p> 26 * Creates short-lived credentials for impersonating IAM service accounts. To 27 * enable this API, you must enable the IAM API (iam.googleapis.com).</p> 28 * 29 * <p> 30 * For more information about this service, see the API 31 * <a href="https://cloud.google.com/iam/docs/creating-short-lived-service-account-credentials" target="_blank">Documentation</a> 32 * </p> 33 * 34 * @author Google, Inc. 35 */ 36class IAMCredentials extends \Google\Service 37{ 38 /** See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account.. */ 39 const CLOUD_PLATFORM = 40 "https://www.googleapis.com/auth/cloud-platform"; 41 42 public $projects_serviceAccounts; 43 44 /** 45 * Constructs the internal representation of the IAMCredentials service. 46 * 47 * @param Client|array $clientOrConfig The client used to deliver requests, or a 48 * config array to pass to a new Client instance. 49 * @param string $rootUrl The root URL used for requests to the service. 50 */ 51 public function __construct($clientOrConfig = [], $rootUrl = null) 52 { 53 parent::__construct($clientOrConfig); 54 $this->rootUrl = $rootUrl ?: 'https://iamcredentials.googleapis.com/'; 55 $this->servicePath = ''; 56 $this->batchPath = 'batch'; 57 $this->version = 'v1'; 58 $this->serviceName = 'iamcredentials'; 59 60 $this->projects_serviceAccounts = new IAMCredentials\Resource\ProjectsServiceAccounts( 61 $this, 62 $this->serviceName, 63 'serviceAccounts', 64 [ 65 'methods' => [ 66 'generateAccessToken' => [ 67 'path' => 'v1/{+name}:generateAccessToken', 68 'httpMethod' => 'POST', 69 'parameters' => [ 70 'name' => [ 71 'location' => 'path', 72 'type' => 'string', 73 'required' => true, 74 ], 75 ], 76 ],'generateIdToken' => [ 77 'path' => 'v1/{+name}:generateIdToken', 78 'httpMethod' => 'POST', 79 'parameters' => [ 80 'name' => [ 81 'location' => 'path', 82 'type' => 'string', 83 'required' => true, 84 ], 85 ], 86 ],'signBlob' => [ 87 'path' => 'v1/{+name}:signBlob', 88 'httpMethod' => 'POST', 89 'parameters' => [ 90 'name' => [ 91 'location' => 'path', 92 'type' => 'string', 93 'required' => true, 94 ], 95 ], 96 ],'signJwt' => [ 97 'path' => 'v1/{+name}:signJwt', 98 'httpMethod' => 'POST', 99 'parameters' => [ 100 'name' => [ 101 'location' => 'path', 102 'type' => 'string', 103 'required' => true, 104 ], 105 ], 106 ], 107 ] 108 ] 109 ); 110 } 111} 112 113// Adding a class alias for backwards compatibility with the previous class name. 114class_alias(IAMCredentials::class, 'Google_Service_IAMCredentials'); 115