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\ContainerAnalysis\Resource; 19 20use Google\Service\ContainerAnalysis\BatchCreateNotesRequest; 21use Google\Service\ContainerAnalysis\BatchCreateNotesResponse; 22use Google\Service\ContainerAnalysis\ContaineranalysisEmpty; 23use Google\Service\ContainerAnalysis\GetIamPolicyRequest; 24use Google\Service\ContainerAnalysis\ListNotesResponse; 25use Google\Service\ContainerAnalysis\Note; 26use Google\Service\ContainerAnalysis\Policy; 27use Google\Service\ContainerAnalysis\SetIamPolicyRequest; 28use Google\Service\ContainerAnalysis\TestIamPermissionsRequest; 29use Google\Service\ContainerAnalysis\TestIamPermissionsResponse; 30 31/** 32 * The "notes" collection of methods. 33 * Typical usage is: 34 * <code> 35 * $containeranalysisService = new Google\Service\ContainerAnalysis(...); 36 * $notes = $containeranalysisService->notes; 37 * </code> 38 */ 39class ProjectsNotes extends \Google\Service\Resource 40{ 41 /** 42 * Creates new notes in batch. (notes.batchCreate) 43 * 44 * @param string $parent Required. The name of the project in the form of 45 * `projects/[PROJECT_ID]`, under which the notes are to be created. 46 * @param BatchCreateNotesRequest $postBody 47 * @param array $optParams Optional parameters. 48 * @return BatchCreateNotesResponse 49 */ 50 public function batchCreate($parent, BatchCreateNotesRequest $postBody, $optParams = []) 51 { 52 $params = ['parent' => $parent, 'postBody' => $postBody]; 53 $params = array_merge($params, $optParams); 54 return $this->call('batchCreate', [$params], BatchCreateNotesResponse::class); 55 } 56 /** 57 * Creates a new note. (notes.create) 58 * 59 * @param string $parent Required. The name of the project in the form of 60 * `projects/[PROJECT_ID]`, under which the note is to be created. 61 * @param Note $postBody 62 * @param array $optParams Optional parameters. 63 * 64 * @opt_param string noteId Required. The ID to use for this note. 65 * @return Note 66 */ 67 public function create($parent, Note $postBody, $optParams = []) 68 { 69 $params = ['parent' => $parent, 'postBody' => $postBody]; 70 $params = array_merge($params, $optParams); 71 return $this->call('create', [$params], Note::class); 72 } 73 /** 74 * Deletes the specified note. (notes.delete) 75 * 76 * @param string $name Required. The name of the note in the form of 77 * `projects/[PROVIDER_ID]/notes/[NOTE_ID]`. 78 * @param array $optParams Optional parameters. 79 * @return ContaineranalysisEmpty 80 */ 81 public function delete($name, $optParams = []) 82 { 83 $params = ['name' => $name]; 84 $params = array_merge($params, $optParams); 85 return $this->call('delete', [$params], ContaineranalysisEmpty::class); 86 } 87 /** 88 * Gets the specified note. (notes.get) 89 * 90 * @param string $name Required. The name of the note in the form of 91 * `projects/[PROVIDER_ID]/notes/[NOTE_ID]`. 92 * @param array $optParams Optional parameters. 93 * @return Note 94 */ 95 public function get($name, $optParams = []) 96 { 97 $params = ['name' => $name]; 98 $params = array_merge($params, $optParams); 99 return $this->call('get', [$params], Note::class); 100 } 101 /** 102 * Gets the access control policy for a note or an occurrence resource. Requires 103 * `containeranalysis.notes.setIamPolicy` or 104 * `containeranalysis.occurrences.setIamPolicy` permission if the resource is a 105 * note or occurrence, respectively. The resource takes the format 106 * `projects/[PROJECT_ID]/notes/[NOTE_ID]` for notes and 107 * `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]` for occurrences. 108 * (notes.getIamPolicy) 109 * 110 * @param string $resource REQUIRED: The resource for which the policy is being 111 * requested. See the operation documentation for the appropriate value for this 112 * field. 113 * @param GetIamPolicyRequest $postBody 114 * @param array $optParams Optional parameters. 115 * @return Policy 116 */ 117 public function getIamPolicy($resource, GetIamPolicyRequest $postBody, $optParams = []) 118 { 119 $params = ['resource' => $resource, 'postBody' => $postBody]; 120 $params = array_merge($params, $optParams); 121 return $this->call('getIamPolicy', [$params], Policy::class); 122 } 123 /** 124 * Lists notes for the specified project. (notes.listProjectsNotes) 125 * 126 * @param string $parent Required. The name of the project to list notes for in 127 * the form of `projects/[PROJECT_ID]`. 128 * @param array $optParams Optional parameters. 129 * 130 * @opt_param string filter The filter expression. 131 * @opt_param int pageSize Number of notes to return in the list. Must be 132 * positive. Max allowed page size is 1000. If not specified, page size defaults 133 * to 20. 134 * @opt_param string pageToken Token to provide to skip to a particular spot in 135 * the list. 136 * @return ListNotesResponse 137 */ 138 public function listProjectsNotes($parent, $optParams = []) 139 { 140 $params = ['parent' => $parent]; 141 $params = array_merge($params, $optParams); 142 return $this->call('list', [$params], ListNotesResponse::class); 143 } 144 /** 145 * Updates the specified note. (notes.patch) 146 * 147 * @param string $name Required. The name of the note in the form of 148 * `projects/[PROVIDER_ID]/notes/[NOTE_ID]`. 149 * @param Note $postBody 150 * @param array $optParams Optional parameters. 151 * 152 * @opt_param string updateMask The fields to update. 153 * @return Note 154 */ 155 public function patch($name, Note $postBody, $optParams = []) 156 { 157 $params = ['name' => $name, 'postBody' => $postBody]; 158 $params = array_merge($params, $optParams); 159 return $this->call('patch', [$params], Note::class); 160 } 161 /** 162 * Sets the access control policy on the specified note or occurrence. Requires 163 * `containeranalysis.notes.setIamPolicy` or 164 * `containeranalysis.occurrences.setIamPolicy` permission if the resource is a 165 * note or an occurrence, respectively. The resource takes the format 166 * `projects/[PROJECT_ID]/notes/[NOTE_ID]` for notes and 167 * `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]` for occurrences. 168 * (notes.setIamPolicy) 169 * 170 * @param string $resource REQUIRED: The resource for which the policy is being 171 * specified. See the operation documentation for the appropriate value for this 172 * field. 173 * @param SetIamPolicyRequest $postBody 174 * @param array $optParams Optional parameters. 175 * @return Policy 176 */ 177 public function setIamPolicy($resource, SetIamPolicyRequest $postBody, $optParams = []) 178 { 179 $params = ['resource' => $resource, 'postBody' => $postBody]; 180 $params = array_merge($params, $optParams); 181 return $this->call('setIamPolicy', [$params], Policy::class); 182 } 183 /** 184 * Returns the permissions that a caller has on the specified note or 185 * occurrence. Requires list permission on the project (for example, 186 * `containeranalysis.notes.list`). The resource takes the format 187 * `projects/[PROJECT_ID]/notes/[NOTE_ID]` for notes and 188 * `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]` for occurrences. 189 * (notes.testIamPermissions) 190 * 191 * @param string $resource REQUIRED: The resource for which the policy detail is 192 * being requested. See the operation documentation for the appropriate value 193 * for this field. 194 * @param TestIamPermissionsRequest $postBody 195 * @param array $optParams Optional parameters. 196 * @return TestIamPermissionsResponse 197 */ 198 public function testIamPermissions($resource, TestIamPermissionsRequest $postBody, $optParams = []) 199 { 200 $params = ['resource' => $resource, 'postBody' => $postBody]; 201 $params = array_merge($params, $optParams); 202 return $this->call('testIamPermissions', [$params], TestIamPermissionsResponse::class); 203 } 204} 205 206// Adding a class alias for backwards compatibility with the previous class name. 207class_alias(ProjectsNotes::class, 'Google_Service_ContainerAnalysis_Resource_ProjectsNotes'); 208