1 /* 2 * Copyright 2020 Google LLC 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * https://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 // Generated by the protocol buffer compiler. DO NOT EDIT! 17 // source: google/cloud/compute/v1/compute.proto 18 19 package com.google.cloud.compute.v1; 20 21 public interface SecurityPolicyOrBuilder 22 extends 23 // @@protoc_insertion_point(interface_extends:google.cloud.compute.v1.SecurityPolicy) 24 com.google.protobuf.MessageOrBuilder { 25 26 /** 27 * <code> 28 * optional .google.cloud.compute.v1.SecurityPolicyAdaptiveProtectionConfig adaptive_protection_config = 150240735; 29 * </code> 30 * 31 * @return Whether the adaptiveProtectionConfig field is set. 32 */ hasAdaptiveProtectionConfig()33 boolean hasAdaptiveProtectionConfig(); 34 /** 35 * <code> 36 * optional .google.cloud.compute.v1.SecurityPolicyAdaptiveProtectionConfig adaptive_protection_config = 150240735; 37 * </code> 38 * 39 * @return The adaptiveProtectionConfig. 40 */ getAdaptiveProtectionConfig()41 com.google.cloud.compute.v1.SecurityPolicyAdaptiveProtectionConfig getAdaptiveProtectionConfig(); 42 /** 43 * <code> 44 * optional .google.cloud.compute.v1.SecurityPolicyAdaptiveProtectionConfig adaptive_protection_config = 150240735; 45 * </code> 46 */ 47 com.google.cloud.compute.v1.SecurityPolicyAdaptiveProtectionConfigOrBuilder getAdaptiveProtectionConfigOrBuilder()48 getAdaptiveProtectionConfigOrBuilder(); 49 50 /** 51 * <code> 52 * optional .google.cloud.compute.v1.SecurityPolicyAdvancedOptionsConfig advanced_options_config = 449276352; 53 * </code> 54 * 55 * @return Whether the advancedOptionsConfig field is set. 56 */ hasAdvancedOptionsConfig()57 boolean hasAdvancedOptionsConfig(); 58 /** 59 * <code> 60 * optional .google.cloud.compute.v1.SecurityPolicyAdvancedOptionsConfig advanced_options_config = 449276352; 61 * </code> 62 * 63 * @return The advancedOptionsConfig. 64 */ getAdvancedOptionsConfig()65 com.google.cloud.compute.v1.SecurityPolicyAdvancedOptionsConfig getAdvancedOptionsConfig(); 66 /** 67 * <code> 68 * optional .google.cloud.compute.v1.SecurityPolicyAdvancedOptionsConfig advanced_options_config = 449276352; 69 * </code> 70 */ 71 com.google.cloud.compute.v1.SecurityPolicyAdvancedOptionsConfigOrBuilder getAdvancedOptionsConfigOrBuilder()72 getAdvancedOptionsConfigOrBuilder(); 73 74 /** 75 * 76 * 77 * <pre> 78 * [Output Only] Creation timestamp in RFC3339 text format. 79 * </pre> 80 * 81 * <code>optional string creation_timestamp = 30525366;</code> 82 * 83 * @return Whether the creationTimestamp field is set. 84 */ hasCreationTimestamp()85 boolean hasCreationTimestamp(); 86 /** 87 * 88 * 89 * <pre> 90 * [Output Only] Creation timestamp in RFC3339 text format. 91 * </pre> 92 * 93 * <code>optional string creation_timestamp = 30525366;</code> 94 * 95 * @return The creationTimestamp. 96 */ getCreationTimestamp()97 java.lang.String getCreationTimestamp(); 98 /** 99 * 100 * 101 * <pre> 102 * [Output Only] Creation timestamp in RFC3339 text format. 103 * </pre> 104 * 105 * <code>optional string creation_timestamp = 30525366;</code> 106 * 107 * @return The bytes for creationTimestamp. 108 */ getCreationTimestampBytes()109 com.google.protobuf.ByteString getCreationTimestampBytes(); 110 111 /** 112 * <code> 113 * optional .google.cloud.compute.v1.SecurityPolicyDdosProtectionConfig ddos_protection_config = 50315853; 114 * </code> 115 * 116 * @return Whether the ddosProtectionConfig field is set. 117 */ hasDdosProtectionConfig()118 boolean hasDdosProtectionConfig(); 119 /** 120 * <code> 121 * optional .google.cloud.compute.v1.SecurityPolicyDdosProtectionConfig ddos_protection_config = 50315853; 122 * </code> 123 * 124 * @return The ddosProtectionConfig. 125 */ getDdosProtectionConfig()126 com.google.cloud.compute.v1.SecurityPolicyDdosProtectionConfig getDdosProtectionConfig(); 127 /** 128 * <code> 129 * optional .google.cloud.compute.v1.SecurityPolicyDdosProtectionConfig ddos_protection_config = 50315853; 130 * </code> 131 */ 132 com.google.cloud.compute.v1.SecurityPolicyDdosProtectionConfigOrBuilder getDdosProtectionConfigOrBuilder()133 getDdosProtectionConfigOrBuilder(); 134 135 /** 136 * 137 * 138 * <pre> 139 * An optional description of this resource. Provide this property when you create the resource. 140 * </pre> 141 * 142 * <code>optional string description = 422937596;</code> 143 * 144 * @return Whether the description field is set. 145 */ hasDescription()146 boolean hasDescription(); 147 /** 148 * 149 * 150 * <pre> 151 * An optional description of this resource. Provide this property when you create the resource. 152 * </pre> 153 * 154 * <code>optional string description = 422937596;</code> 155 * 156 * @return The description. 157 */ getDescription()158 java.lang.String getDescription(); 159 /** 160 * 161 * 162 * <pre> 163 * An optional description of this resource. Provide this property when you create the resource. 164 * </pre> 165 * 166 * <code>optional string description = 422937596;</code> 167 * 168 * @return The bytes for description. 169 */ getDescriptionBytes()170 com.google.protobuf.ByteString getDescriptionBytes(); 171 172 /** 173 * 174 * 175 * <pre> 176 * Specifies a fingerprint for this resource, which is essentially a hash of the metadata's contents and used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update metadata. You must always provide an up-to-date fingerprint hash in order to update or change metadata, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make get() request to the security policy. 177 * </pre> 178 * 179 * <code>optional string fingerprint = 234678500;</code> 180 * 181 * @return Whether the fingerprint field is set. 182 */ hasFingerprint()183 boolean hasFingerprint(); 184 /** 185 * 186 * 187 * <pre> 188 * Specifies a fingerprint for this resource, which is essentially a hash of the metadata's contents and used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update metadata. You must always provide an up-to-date fingerprint hash in order to update or change metadata, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make get() request to the security policy. 189 * </pre> 190 * 191 * <code>optional string fingerprint = 234678500;</code> 192 * 193 * @return The fingerprint. 194 */ getFingerprint()195 java.lang.String getFingerprint(); 196 /** 197 * 198 * 199 * <pre> 200 * Specifies a fingerprint for this resource, which is essentially a hash of the metadata's contents and used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update metadata. You must always provide an up-to-date fingerprint hash in order to update or change metadata, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make get() request to the security policy. 201 * </pre> 202 * 203 * <code>optional string fingerprint = 234678500;</code> 204 * 205 * @return The bytes for fingerprint. 206 */ getFingerprintBytes()207 com.google.protobuf.ByteString getFingerprintBytes(); 208 209 /** 210 * 211 * 212 * <pre> 213 * [Output Only] The unique identifier for the resource. This identifier is defined by the server. 214 * </pre> 215 * 216 * <code>optional uint64 id = 3355;</code> 217 * 218 * @return Whether the id field is set. 219 */ hasId()220 boolean hasId(); 221 /** 222 * 223 * 224 * <pre> 225 * [Output Only] The unique identifier for the resource. This identifier is defined by the server. 226 * </pre> 227 * 228 * <code>optional uint64 id = 3355;</code> 229 * 230 * @return The id. 231 */ getId()232 long getId(); 233 234 /** 235 * 236 * 237 * <pre> 238 * [Output only] Type of the resource. Always compute#securityPolicyfor security policies 239 * </pre> 240 * 241 * <code>optional string kind = 3292052;</code> 242 * 243 * @return Whether the kind field is set. 244 */ hasKind()245 boolean hasKind(); 246 /** 247 * 248 * 249 * <pre> 250 * [Output only] Type of the resource. Always compute#securityPolicyfor security policies 251 * </pre> 252 * 253 * <code>optional string kind = 3292052;</code> 254 * 255 * @return The kind. 256 */ getKind()257 java.lang.String getKind(); 258 /** 259 * 260 * 261 * <pre> 262 * [Output only] Type of the resource. Always compute#securityPolicyfor security policies 263 * </pre> 264 * 265 * <code>optional string kind = 3292052;</code> 266 * 267 * @return The bytes for kind. 268 */ getKindBytes()269 com.google.protobuf.ByteString getKindBytes(); 270 271 /** 272 * 273 * 274 * <pre> 275 * Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. 276 * </pre> 277 * 278 * <code>optional string name = 3373707;</code> 279 * 280 * @return Whether the name field is set. 281 */ hasName()282 boolean hasName(); 283 /** 284 * 285 * 286 * <pre> 287 * Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. 288 * </pre> 289 * 290 * <code>optional string name = 3373707;</code> 291 * 292 * @return The name. 293 */ getName()294 java.lang.String getName(); 295 /** 296 * 297 * 298 * <pre> 299 * Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. 300 * </pre> 301 * 302 * <code>optional string name = 3373707;</code> 303 * 304 * @return The bytes for name. 305 */ getNameBytes()306 com.google.protobuf.ByteString getNameBytes(); 307 308 /** 309 * <code> 310 * optional .google.cloud.compute.v1.SecurityPolicyRecaptchaOptionsConfig recaptcha_options_config = 519006811; 311 * </code> 312 * 313 * @return Whether the recaptchaOptionsConfig field is set. 314 */ hasRecaptchaOptionsConfig()315 boolean hasRecaptchaOptionsConfig(); 316 /** 317 * <code> 318 * optional .google.cloud.compute.v1.SecurityPolicyRecaptchaOptionsConfig recaptcha_options_config = 519006811; 319 * </code> 320 * 321 * @return The recaptchaOptionsConfig. 322 */ getRecaptchaOptionsConfig()323 com.google.cloud.compute.v1.SecurityPolicyRecaptchaOptionsConfig getRecaptchaOptionsConfig(); 324 /** 325 * <code> 326 * optional .google.cloud.compute.v1.SecurityPolicyRecaptchaOptionsConfig recaptcha_options_config = 519006811; 327 * </code> 328 */ 329 com.google.cloud.compute.v1.SecurityPolicyRecaptchaOptionsConfigOrBuilder getRecaptchaOptionsConfigOrBuilder()330 getRecaptchaOptionsConfigOrBuilder(); 331 332 /** 333 * 334 * 335 * <pre> 336 * [Output Only] URL of the region where the regional security policy resides. This field is not applicable to global security policies. 337 * </pre> 338 * 339 * <code>optional string region = 138946292;</code> 340 * 341 * @return Whether the region field is set. 342 */ hasRegion()343 boolean hasRegion(); 344 /** 345 * 346 * 347 * <pre> 348 * [Output Only] URL of the region where the regional security policy resides. This field is not applicable to global security policies. 349 * </pre> 350 * 351 * <code>optional string region = 138946292;</code> 352 * 353 * @return The region. 354 */ getRegion()355 java.lang.String getRegion(); 356 /** 357 * 358 * 359 * <pre> 360 * [Output Only] URL of the region where the regional security policy resides. This field is not applicable to global security policies. 361 * </pre> 362 * 363 * <code>optional string region = 138946292;</code> 364 * 365 * @return The bytes for region. 366 */ getRegionBytes()367 com.google.protobuf.ByteString getRegionBytes(); 368 369 /** 370 * 371 * 372 * <pre> 373 * A list of rules that belong to this policy. There must always be a default rule which is a rule with priority 2147483647 and match all condition (for the match condition this means match "*" for srcIpRanges and for the networkMatch condition every field must be either match "*" or not set). If no rules are provided when creating a security policy, a default rule with action "allow" will be added. 374 * </pre> 375 * 376 * <code>repeated .google.cloud.compute.v1.SecurityPolicyRule rules = 108873975;</code> 377 */ getRulesList()378 java.util.List<com.google.cloud.compute.v1.SecurityPolicyRule> getRulesList(); 379 /** 380 * 381 * 382 * <pre> 383 * A list of rules that belong to this policy. There must always be a default rule which is a rule with priority 2147483647 and match all condition (for the match condition this means match "*" for srcIpRanges and for the networkMatch condition every field must be either match "*" or not set). If no rules are provided when creating a security policy, a default rule with action "allow" will be added. 384 * </pre> 385 * 386 * <code>repeated .google.cloud.compute.v1.SecurityPolicyRule rules = 108873975;</code> 387 */ getRules(int index)388 com.google.cloud.compute.v1.SecurityPolicyRule getRules(int index); 389 /** 390 * 391 * 392 * <pre> 393 * A list of rules that belong to this policy. There must always be a default rule which is a rule with priority 2147483647 and match all condition (for the match condition this means match "*" for srcIpRanges and for the networkMatch condition every field must be either match "*" or not set). If no rules are provided when creating a security policy, a default rule with action "allow" will be added. 394 * </pre> 395 * 396 * <code>repeated .google.cloud.compute.v1.SecurityPolicyRule rules = 108873975;</code> 397 */ getRulesCount()398 int getRulesCount(); 399 /** 400 * 401 * 402 * <pre> 403 * A list of rules that belong to this policy. There must always be a default rule which is a rule with priority 2147483647 and match all condition (for the match condition this means match "*" for srcIpRanges and for the networkMatch condition every field must be either match "*" or not set). If no rules are provided when creating a security policy, a default rule with action "allow" will be added. 404 * </pre> 405 * 406 * <code>repeated .google.cloud.compute.v1.SecurityPolicyRule rules = 108873975;</code> 407 */ 408 java.util.List<? extends com.google.cloud.compute.v1.SecurityPolicyRuleOrBuilder> getRulesOrBuilderList()409 getRulesOrBuilderList(); 410 /** 411 * 412 * 413 * <pre> 414 * A list of rules that belong to this policy. There must always be a default rule which is a rule with priority 2147483647 and match all condition (for the match condition this means match "*" for srcIpRanges and for the networkMatch condition every field must be either match "*" or not set). If no rules are provided when creating a security policy, a default rule with action "allow" will be added. 415 * </pre> 416 * 417 * <code>repeated .google.cloud.compute.v1.SecurityPolicyRule rules = 108873975;</code> 418 */ getRulesOrBuilder(int index)419 com.google.cloud.compute.v1.SecurityPolicyRuleOrBuilder getRulesOrBuilder(int index); 420 421 /** 422 * 423 * 424 * <pre> 425 * [Output Only] Server-defined URL for the resource. 426 * </pre> 427 * 428 * <code>optional string self_link = 456214797;</code> 429 * 430 * @return Whether the selfLink field is set. 431 */ hasSelfLink()432 boolean hasSelfLink(); 433 /** 434 * 435 * 436 * <pre> 437 * [Output Only] Server-defined URL for the resource. 438 * </pre> 439 * 440 * <code>optional string self_link = 456214797;</code> 441 * 442 * @return The selfLink. 443 */ getSelfLink()444 java.lang.String getSelfLink(); 445 /** 446 * 447 * 448 * <pre> 449 * [Output Only] Server-defined URL for the resource. 450 * </pre> 451 * 452 * <code>optional string self_link = 456214797;</code> 453 * 454 * @return The bytes for selfLink. 455 */ getSelfLinkBytes()456 com.google.protobuf.ByteString getSelfLinkBytes(); 457 458 /** 459 * 460 * 461 * <pre> 462 * The type indicates the intended use of the security policy. - CLOUD_ARMOR: Cloud Armor backend security policies can be configured to filter incoming HTTP requests targeting backend services. They filter requests before they hit the origin servers. - CLOUD_ARMOR_EDGE: Cloud Armor edge security policies can be configured to filter incoming HTTP requests targeting backend services (including Cloud CDN-enabled) as well as backend buckets (Cloud Storage). They filter requests before the request is served from Google's cache. - CLOUD_ARMOR_INTERNAL_SERVICE: Cloud Armor internal service policies can be configured to filter HTTP requests targeting services managed by Traffic Director in a service mesh. They filter requests before the request is served from the application. - CLOUD_ARMOR_NETWORK: Cloud Armor network policies can be configured to filter packets targeting network load balancing resources such as backend services, target pools, target instances, and instances with external IPs. They filter requests before the request is served from the application. This field can be set only at resource creation time. 463 * Check the Type enum for the list of possible values. 464 * </pre> 465 * 466 * <code>optional string type = 3575610;</code> 467 * 468 * @return Whether the type field is set. 469 */ hasType()470 boolean hasType(); 471 /** 472 * 473 * 474 * <pre> 475 * The type indicates the intended use of the security policy. - CLOUD_ARMOR: Cloud Armor backend security policies can be configured to filter incoming HTTP requests targeting backend services. They filter requests before they hit the origin servers. - CLOUD_ARMOR_EDGE: Cloud Armor edge security policies can be configured to filter incoming HTTP requests targeting backend services (including Cloud CDN-enabled) as well as backend buckets (Cloud Storage). They filter requests before the request is served from Google's cache. - CLOUD_ARMOR_INTERNAL_SERVICE: Cloud Armor internal service policies can be configured to filter HTTP requests targeting services managed by Traffic Director in a service mesh. They filter requests before the request is served from the application. - CLOUD_ARMOR_NETWORK: Cloud Armor network policies can be configured to filter packets targeting network load balancing resources such as backend services, target pools, target instances, and instances with external IPs. They filter requests before the request is served from the application. This field can be set only at resource creation time. 476 * Check the Type enum for the list of possible values. 477 * </pre> 478 * 479 * <code>optional string type = 3575610;</code> 480 * 481 * @return The type. 482 */ getType()483 java.lang.String getType(); 484 /** 485 * 486 * 487 * <pre> 488 * The type indicates the intended use of the security policy. - CLOUD_ARMOR: Cloud Armor backend security policies can be configured to filter incoming HTTP requests targeting backend services. They filter requests before they hit the origin servers. - CLOUD_ARMOR_EDGE: Cloud Armor edge security policies can be configured to filter incoming HTTP requests targeting backend services (including Cloud CDN-enabled) as well as backend buckets (Cloud Storage). They filter requests before the request is served from Google's cache. - CLOUD_ARMOR_INTERNAL_SERVICE: Cloud Armor internal service policies can be configured to filter HTTP requests targeting services managed by Traffic Director in a service mesh. They filter requests before the request is served from the application. - CLOUD_ARMOR_NETWORK: Cloud Armor network policies can be configured to filter packets targeting network load balancing resources such as backend services, target pools, target instances, and instances with external IPs. They filter requests before the request is served from the application. This field can be set only at resource creation time. 489 * Check the Type enum for the list of possible values. 490 * </pre> 491 * 492 * <code>optional string type = 3575610;</code> 493 * 494 * @return The bytes for type. 495 */ getTypeBytes()496 com.google.protobuf.ByteString getTypeBytes(); 497 } 498