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\Compute\Resource; 19 20use Google\Service\Compute\ForwardingRule; 21use Google\Service\Compute\ForwardingRuleList; 22use Google\Service\Compute\GlobalSetLabelsRequest; 23use Google\Service\Compute\Operation; 24use Google\Service\Compute\TargetReference; 25 26/** 27 * The "globalForwardingRules" collection of methods. 28 * Typical usage is: 29 * <code> 30 * $computeService = new Google\Service\Compute(...); 31 * $globalForwardingRules = $computeService->globalForwardingRules; 32 * </code> 33 */ 34class GlobalForwardingRules extends \Google\Service\Resource 35{ 36 /** 37 * Deletes the specified GlobalForwardingRule resource. 38 * (globalForwardingRules.delete) 39 * 40 * @param string $project Project ID for this request. 41 * @param string $forwardingRule Name of the ForwardingRule resource to delete. 42 * @param array $optParams Optional parameters. 43 * 44 * @opt_param string requestId An optional request ID to identify requests. 45 * Specify a unique request ID so that if you must retry your request, the 46 * server will know to ignore the request if it has already been completed. For 47 * example, consider a situation where you make an initial request and the 48 * request times out. If you make the request again with the same request ID, 49 * the server can check if original operation with the same request ID was 50 * received, and if so, will ignore the second request. This prevents clients 51 * from accidentally creating duplicate commitments. The request ID must be a 52 * valid UUID with the exception that zero UUID is not supported ( 53 * 00000000-0000-0000-0000-000000000000). 54 * @return Operation 55 */ 56 public function delete($project, $forwardingRule, $optParams = []) 57 { 58 $params = ['project' => $project, 'forwardingRule' => $forwardingRule]; 59 $params = array_merge($params, $optParams); 60 return $this->call('delete', [$params], Operation::class); 61 } 62 /** 63 * Returns the specified GlobalForwardingRule resource. Gets a list of available 64 * forwarding rules by making a list() request. (globalForwardingRules.get) 65 * 66 * @param string $project Project ID for this request. 67 * @param string $forwardingRule Name of the ForwardingRule resource to return. 68 * @param array $optParams Optional parameters. 69 * @return ForwardingRule 70 */ 71 public function get($project, $forwardingRule, $optParams = []) 72 { 73 $params = ['project' => $project, 'forwardingRule' => $forwardingRule]; 74 $params = array_merge($params, $optParams); 75 return $this->call('get', [$params], ForwardingRule::class); 76 } 77 /** 78 * Creates a GlobalForwardingRule resource in the specified project using the 79 * data included in the request. (globalForwardingRules.insert) 80 * 81 * @param string $project Project ID for this request. 82 * @param ForwardingRule $postBody 83 * @param array $optParams Optional parameters. 84 * 85 * @opt_param string requestId An optional request ID to identify requests. 86 * Specify a unique request ID so that if you must retry your request, the 87 * server will know to ignore the request if it has already been completed. For 88 * example, consider a situation where you make an initial request and the 89 * request times out. If you make the request again with the same request ID, 90 * the server can check if original operation with the same request ID was 91 * received, and if so, will ignore the second request. This prevents clients 92 * from accidentally creating duplicate commitments. The request ID must be a 93 * valid UUID with the exception that zero UUID is not supported ( 94 * 00000000-0000-0000-0000-000000000000). 95 * @return Operation 96 */ 97 public function insert($project, ForwardingRule $postBody, $optParams = []) 98 { 99 $params = ['project' => $project, 'postBody' => $postBody]; 100 $params = array_merge($params, $optParams); 101 return $this->call('insert', [$params], Operation::class); 102 } 103 /** 104 * Retrieves a list of GlobalForwardingRule resources available to the specified 105 * project. (globalForwardingRules.listGlobalForwardingRules) 106 * 107 * @param string $project Project ID for this request. 108 * @param array $optParams Optional parameters. 109 * 110 * @opt_param string filter A filter expression that filters resources listed in 111 * the response. The expression must specify the field name, an operator, and 112 * the value that you want to use for filtering. The value must be a string, a 113 * number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, 114 * `>=` or `:`. For example, if you are filtering Compute Engine instances, you 115 * can exclude instances named `example-instance` by specifying `name != 116 * example-instance`. The `:` operator can be used with string fields to match 117 * substrings. For non-string fields it is equivalent to the `=` operator. The 118 * `:*` comparison can be used to test whether a key has been defined. For 119 * example, to find all objects with `owner` label use: ``` labels.owner:* ``` 120 * You can also filter nested fields. For example, you could specify 121 * `scheduling.automaticRestart = false` to include instances only if they are 122 * not scheduled for automatic restarts. You can use filtering on nested fields 123 * to filter based on resource labels. To filter on multiple expressions, 124 * provide each separate expression within parentheses. For example: ``` 125 * (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By 126 * default, each expression is an `AND` expression. However, you can include 127 * `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel 128 * Skylake") OR (cpuPlatform = "Intel Broadwell") AND 129 * (scheduling.automaticRestart = true) ``` 130 * @opt_param string maxResults The maximum number of results per page that 131 * should be returned. If the number of available results is larger than 132 * `maxResults`, Compute Engine returns a `nextPageToken` that can be used to 133 * get the next page of results in subsequent list requests. Acceptable values 134 * are `0` to `500`, inclusive. (Default: `500`) 135 * @opt_param string orderBy Sorts list results by a certain order. By default, 136 * results are returned in alphanumerical order based on the resource name. You 137 * can also sort results in descending order based on the creation timestamp 138 * using `orderBy="creationTimestamp desc"`. This sorts results based on the 139 * `creationTimestamp` field in reverse chronological order (newest result 140 * first). Use this to sort resources like operations so that the newest 141 * operation is returned first. Currently, only sorting by `name` or 142 * `creationTimestamp desc` is supported. 143 * @opt_param string pageToken Specifies a page token to use. Set `pageToken` to 144 * the `nextPageToken` returned by a previous list request to get the next page 145 * of results. 146 * @opt_param bool returnPartialSuccess Opt-in for partial success behavior 147 * which provides partial results in case of failure. The default value is 148 * false. 149 * @return ForwardingRuleList 150 */ 151 public function listGlobalForwardingRules($project, $optParams = []) 152 { 153 $params = ['project' => $project]; 154 $params = array_merge($params, $optParams); 155 return $this->call('list', [$params], ForwardingRuleList::class); 156 } 157 /** 158 * Updates the specified forwarding rule with the data included in the request. 159 * This method supports PATCH semantics and uses the JSON merge patch format and 160 * processing rules. Currently, you can only patch the network_tier field. 161 * (globalForwardingRules.patch) 162 * 163 * @param string $project Project ID for this request. 164 * @param string $forwardingRule Name of the ForwardingRule resource to patch. 165 * @param ForwardingRule $postBody 166 * @param array $optParams Optional parameters. 167 * 168 * @opt_param string requestId An optional request ID to identify requests. 169 * Specify a unique request ID so that if you must retry your request, the 170 * server will know to ignore the request if it has already been completed. For 171 * example, consider a situation where you make an initial request and the 172 * request times out. If you make the request again with the same request ID, 173 * the server can check if original operation with the same request ID was 174 * received, and if so, will ignore the second request. This prevents clients 175 * from accidentally creating duplicate commitments. The request ID must be a 176 * valid UUID with the exception that zero UUID is not supported ( 177 * 00000000-0000-0000-0000-000000000000). 178 * @return Operation 179 */ 180 public function patch($project, $forwardingRule, ForwardingRule $postBody, $optParams = []) 181 { 182 $params = ['project' => $project, 'forwardingRule' => $forwardingRule, 'postBody' => $postBody]; 183 $params = array_merge($params, $optParams); 184 return $this->call('patch', [$params], Operation::class); 185 } 186 /** 187 * Sets the labels on the specified resource. To learn more about labels, read 188 * the Labeling resources documentation. (globalForwardingRules.setLabels) 189 * 190 * @param string $project Project ID for this request. 191 * @param string $resource Name or id of the resource for this request. 192 * @param GlobalSetLabelsRequest $postBody 193 * @param array $optParams Optional parameters. 194 * @return Operation 195 */ 196 public function setLabels($project, $resource, GlobalSetLabelsRequest $postBody, $optParams = []) 197 { 198 $params = ['project' => $project, 'resource' => $resource, 'postBody' => $postBody]; 199 $params = array_merge($params, $optParams); 200 return $this->call('setLabels', [$params], Operation::class); 201 } 202 /** 203 * Changes target URL for the GlobalForwardingRule resource. The new target 204 * should be of the same type as the old target. 205 * (globalForwardingRules.setTarget) 206 * 207 * @param string $project Project ID for this request. 208 * @param string $forwardingRule Name of the ForwardingRule resource in which 209 * target is to be set. 210 * @param TargetReference $postBody 211 * @param array $optParams Optional parameters. 212 * 213 * @opt_param string requestId An optional request ID to identify requests. 214 * Specify a unique request ID so that if you must retry your request, the 215 * server will know to ignore the request if it has already been completed. For 216 * example, consider a situation where you make an initial request and the 217 * request times out. If you make the request again with the same request ID, 218 * the server can check if original operation with the same request ID was 219 * received, and if so, will ignore the second request. This prevents clients 220 * from accidentally creating duplicate commitments. The request ID must be a 221 * valid UUID with the exception that zero UUID is not supported ( 222 * 00000000-0000-0000-0000-000000000000). 223 * @return Operation 224 */ 225 public function setTarget($project, $forwardingRule, TargetReference $postBody, $optParams = []) 226 { 227 $params = ['project' => $project, 'forwardingRule' => $forwardingRule, 'postBody' => $postBody]; 228 $params = array_merge($params, $optParams); 229 return $this->call('setTarget', [$params], Operation::class); 230 } 231} 232 233// Adding a class alias for backwards compatibility with the previous class name. 234class_alias(GlobalForwardingRules::class, 'Google_Service_Compute_Resource_GlobalForwardingRules'); 235