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\BinaryAuthorization\Resource; 19 20use Google\Service\BinaryAuthorization\Policy; 21 22/** 23 * The "projects" collection of methods. 24 * Typical usage is: 25 * <code> 26 * $binaryauthorizationService = new Google\Service\BinaryAuthorization(...); 27 * $projects = $binaryauthorizationService->projects; 28 * </code> 29 */ 30class Projects extends \Google\Service\Resource 31{ 32 /** 33 * A policy specifies the attestors that must attest to a container image, 34 * before the project is allowed to deploy that image. There is at most one 35 * policy per project. All image admission requests are permitted if a project 36 * has no policy. Gets the policy for this project. Returns a default policy if 37 * the project does not have one. (projects.getPolicy) 38 * 39 * @param string $name Required. The resource name of the policy to retrieve, in 40 * the format `projects/policy`. 41 * @param array $optParams Optional parameters. 42 * @return Policy 43 */ 44 public function getPolicy($name, $optParams = []) 45 { 46 $params = ['name' => $name]; 47 $params = array_merge($params, $optParams); 48 return $this->call('getPolicy', [$params], Policy::class); 49 } 50 /** 51 * Creates or updates a project's policy, and returns a copy of the new policy. 52 * A policy is always updated as a whole, to avoid race conditions with 53 * concurrent policy enforcement (or management!) requests. Returns NOT_FOUND if 54 * the project does not exist, INVALID_ARGUMENT if the request is malformed. 55 * (projects.updatePolicy) 56 * 57 * @param string $name Output only. The resource name, in the format 58 * `projects/policy`. There is at most one policy per project. 59 * @param Policy $postBody 60 * @param array $optParams Optional parameters. 61 * @return Policy 62 */ 63 public function updatePolicy($name, Policy $postBody, $optParams = []) 64 { 65 $params = ['name' => $name, 'postBody' => $postBody]; 66 $params = array_merge($params, $optParams); 67 return $this->call('updatePolicy', [$params], Policy::class); 68 } 69} 70 71// Adding a class alias for backwards compatibility with the previous class name. 72class_alias(Projects::class, 'Google_Service_BinaryAuthorization_Resource_Projects'); 73