google-api-client 0.33.0 → 0.33.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (95) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +35 -0
  3. data/generated/google/apis/accessapproval_v1beta1.rb +1 -1
  4. data/generated/google/apis/accessapproval_v1beta1/classes.rb +19 -0
  5. data/generated/google/apis/accessapproval_v1beta1/representations.rb +12 -0
  6. data/generated/google/apis/accessapproval_v1beta1/service.rb +105 -0
  7. data/generated/google/apis/accesscontextmanager_v1.rb +1 -1
  8. data/generated/google/apis/accesscontextmanager_v1/classes.rb +1 -1
  9. data/generated/google/apis/accesscontextmanager_v1beta.rb +1 -1
  10. data/generated/google/apis/accesscontextmanager_v1beta/classes.rb +1 -1
  11. data/generated/google/apis/adexchangebuyer2_v2beta1.rb +1 -1
  12. data/generated/google/apis/androidpublisher_v3.rb +1 -1
  13. data/generated/google/apis/androidpublisher_v3/classes.rb +6 -0
  14. data/generated/google/apis/androidpublisher_v3/representations.rb +1 -0
  15. data/generated/google/apis/bigquery_v2.rb +1 -1
  16. data/generated/google/apis/bigquery_v2/classes.rb +6 -0
  17. data/generated/google/apis/bigquery_v2/representations.rb +2 -0
  18. data/generated/google/apis/bigqueryconnection_v1beta1.rb +1 -1
  19. data/generated/google/apis/bigqueryconnection_v1beta1/service.rb +1 -1
  20. data/generated/google/apis/binaryauthorization_v1.rb +1 -1
  21. data/generated/google/apis/binaryauthorization_v1/service.rb +2 -0
  22. data/generated/google/apis/binaryauthorization_v1beta1.rb +1 -1
  23. data/generated/google/apis/binaryauthorization_v1beta1/service.rb +2 -0
  24. data/generated/google/apis/cloudasset_v1.rb +1 -1
  25. data/generated/google/apis/cloudasset_v1/classes.rb +14 -15
  26. data/generated/google/apis/cloudasset_v1/service.rb +1 -2
  27. data/generated/google/apis/clouddebugger_v2.rb +1 -1
  28. data/generated/google/apis/clouddebugger_v2/service.rb +14 -14
  29. data/generated/google/apis/cloudidentity_v1.rb +1 -1
  30. data/generated/google/apis/cloudidentity_v1/classes.rb +11 -8
  31. data/generated/google/apis/cloudidentity_v1/service.rb +2 -1
  32. data/generated/google/apis/cloudidentity_v1beta1.rb +1 -1
  33. data/generated/google/apis/cloudidentity_v1beta1/classes.rb +11 -8
  34. data/generated/google/apis/cloudidentity_v1beta1/service.rb +2 -1
  35. data/generated/google/apis/cloudsearch_v1.rb +1 -1
  36. data/generated/google/apis/cloudsearch_v1/classes.rb +5 -2
  37. data/generated/google/apis/cloudsearch_v1/service.rb +5 -2
  38. data/generated/google/apis/cloudshell_v1.rb +1 -1
  39. data/generated/google/apis/cloudshell_v1/classes.rb +15 -0
  40. data/generated/google/apis/cloudshell_v1/representations.rb +2 -0
  41. data/generated/google/apis/cloudshell_v1alpha1.rb +1 -1
  42. data/generated/google/apis/cloudshell_v1alpha1/classes.rb +15 -0
  43. data/generated/google/apis/cloudshell_v1alpha1/representations.rb +2 -0
  44. data/generated/google/apis/compute_alpha.rb +1 -1
  45. data/generated/google/apis/compute_alpha/classes.rb +481 -126
  46. data/generated/google/apis/compute_alpha/representations.rb +107 -2
  47. data/generated/google/apis/compute_alpha/service.rb +1035 -640
  48. data/generated/google/apis/compute_beta.rb +1 -1
  49. data/generated/google/apis/compute_beta/classes.rb +986 -241
  50. data/generated/google/apis/compute_beta/representations.rb +284 -0
  51. data/generated/google/apis/compute_beta/service.rb +1242 -532
  52. data/generated/google/apis/compute_v1.rb +1 -1
  53. data/generated/google/apis/compute_v1/classes.rb +252 -99
  54. data/generated/google/apis/compute_v1/representations.rb +24 -0
  55. data/generated/google/apis/compute_v1/service.rb +749 -472
  56. data/generated/google/apis/docs_v1.rb +1 -1
  57. data/generated/google/apis/docs_v1/classes.rb +63 -0
  58. data/generated/google/apis/docs_v1/representations.rb +17 -0
  59. data/generated/google/apis/doubleclickbidmanager_v1.rb +1 -1
  60. data/generated/google/apis/healthcare_v1beta1.rb +1 -1
  61. data/generated/google/apis/healthcare_v1beta1/classes.rb +203 -8
  62. data/generated/google/apis/healthcare_v1beta1/representations.rb +101 -0
  63. data/generated/google/apis/healthcare_v1beta1/service.rb +100 -3
  64. data/generated/google/apis/iam_v1.rb +1 -1
  65. data/generated/google/apis/iam_v1/classes.rb +1 -1
  66. data/generated/google/apis/iap_v1.rb +1 -1
  67. data/generated/google/apis/iap_v1/classes.rb +185 -0
  68. data/generated/google/apis/iap_v1/representations.rb +102 -0
  69. data/generated/google/apis/iap_v1/service.rb +72 -0
  70. data/generated/google/apis/{speech_v2beta.rb → lifesciences_v2beta.rb} +9 -8
  71. data/generated/google/apis/lifesciences_v2beta/classes.rb +1328 -0
  72. data/generated/google/apis/lifesciences_v2beta/representations.rb +533 -0
  73. data/generated/google/apis/lifesciences_v2beta/service.rb +303 -0
  74. data/generated/google/apis/monitoring_v1.rb +36 -0
  75. data/generated/google/apis/monitoring_v1/classes.rb +260 -0
  76. data/generated/google/apis/monitoring_v1/representations.rb +123 -0
  77. data/generated/google/apis/monitoring_v1/service.rb +64 -0
  78. data/generated/google/apis/policytroubleshooter_v1beta.rb +1 -1
  79. data/generated/google/apis/run_v1.rb +1 -1
  80. data/generated/google/apis/run_v1/classes.rb +0 -7
  81. data/generated/google/apis/run_v1/service.rb +156 -94
  82. data/generated/google/apis/sql_v1beta4.rb +37 -0
  83. data/generated/google/apis/sql_v1beta4/classes.rb +2689 -0
  84. data/generated/google/apis/sql_v1beta4/representations.rb +1099 -0
  85. data/generated/google/apis/sql_v1beta4/service.rb +1660 -0
  86. data/generated/google/apis/testing_v1.rb +1 -1
  87. data/generated/google/apis/testing_v1/classes.rb +1 -1
  88. data/generated/google/apis/vision_v1.rb +1 -1
  89. data/generated/google/apis/vision_v1p1beta1.rb +1 -1
  90. data/generated/google/apis/vision_v1p2beta1.rb +1 -1
  91. data/lib/google/apis/version.rb +1 -1
  92. metadata +14 -6
  93. data/generated/google/apis/speech_v2beta/classes.rb +0 -355
  94. data/generated/google/apis/speech_v2beta/representations.rb +0 -152
  95. data/generated/google/apis/speech_v2beta/service.rb +0 -138
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://developers.google.com/compute/docs/reference/latest/
26
26
  module ComputeBeta
27
27
  VERSION = 'Beta'
28
- REVISION = '20190905'
28
+ REVISION = '20190929'
29
29
 
30
30
  # View and manage your data across Google Cloud Platform services
31
31
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
@@ -1567,6 +1567,15 @@ module Google
1567
1567
  # @return [String]
1568
1568
  attr_accessor :name
1569
1569
 
1570
+ # [Output Only] Target recommended MIG size (number of instances) computed by
1571
+ # autoscaler. Autoscaler calculates recommended MIG size even when autoscaling
1572
+ # policy mode is different from ON. This field is empty when autoscaler is not
1573
+ # connected to the existing managed instance group or autoscaler did not
1574
+ # generate its prediction.
1575
+ # Corresponds to the JSON property `recommendedSize`
1576
+ # @return [Fixnum]
1577
+ attr_accessor :recommended_size
1578
+
1570
1579
  # [Output Only] URL of the region where the instance group resides (for
1571
1580
  # autoscalers living in regional scope).
1572
1581
  # Corresponds to the JSON property `region`
@@ -1613,6 +1622,7 @@ module Google
1613
1622
  @id = args[:id] if args.key?(:id)
1614
1623
  @kind = args[:kind] if args.key?(:kind)
1615
1624
  @name = args[:name] if args.key?(:name)
1625
+ @recommended_size = args[:recommended_size] if args.key?(:recommended_size)
1616
1626
  @region = args[:region] if args.key?(:region)
1617
1627
  @self_link = args[:self_link] if args.key?(:self_link)
1618
1628
  @status = args[:status] if args.key?(:status)
@@ -2019,6 +2029,11 @@ module Google
2019
2029
  # @return [Fixnum]
2020
2030
  attr_accessor :min_num_replicas
2021
2031
 
2032
+ # Defines operating mode for this policy.
2033
+ # Corresponds to the JSON property `mode`
2034
+ # @return [String]
2035
+ attr_accessor :mode
2036
+
2022
2037
  def initialize(**args)
2023
2038
  update!(**args)
2024
2039
  end
@@ -2031,6 +2046,7 @@ module Google
2031
2046
  @load_balancing_utilization = args[:load_balancing_utilization] if args.key?(:load_balancing_utilization)
2032
2047
  @max_num_replicas = args[:max_num_replicas] if args.key?(:max_num_replicas)
2033
2048
  @min_num_replicas = args[:min_num_replicas] if args.key?(:min_num_replicas)
2049
+ @mode = args[:mode] if args.key?(:mode)
2034
2050
  end
2035
2051
  end
2036
2052
 
@@ -2571,16 +2587,10 @@ module Google
2571
2587
  end
2572
2588
 
2573
2589
  # Represents a Backend Service resource.
2574
- # Backend services must have an associated health check. Backend services also
2575
- # store information about session affinity. For more information, read Backend
2576
- # Services.
2577
- # A backendServices resource represents a global backend service. Global backend
2578
- # services are used for HTTP(S), SSL Proxy, TCP Proxy load balancing and Traffic
2579
- # Director.
2580
- # A regionBackendServices resource represents a regional backend service.
2581
- # Regional backend services are used for internal TCP/UDP load balancing. For
2582
- # more information, read Internal TCP/UDP Load balancing. (== resource_for v1.
2583
- # backendService ==) (== resource_for beta.backendService ==)
2590
+ # A backend service contains configuration values for Google Cloud Platform load
2591
+ # balancing services.
2592
+ # For more information, read Backend Services.
2593
+ # (== resource_for v1.backendService ==) (== resource_for beta.backendService ==)
2584
2594
  class BackendService
2585
2595
  include Google::Apis::Core::Hashable
2586
2596
 
@@ -2684,9 +2694,12 @@ module Google
2684
2694
  # @return [String]
2685
2695
  attr_accessor :kind
2686
2696
 
2687
- # Indicates whether the backend service will be used with internal or external
2688
- # load balancing. A backend service created for one type of load balancing
2689
- # cannot be used with the other. Possible values are INTERNAL and EXTERNAL.
2697
+ # Specifies the load balancer type. Choose EXTERNAL for load balancers that
2698
+ # receive traffic from external clients. Choose INTERNAL for Internal TCP/UDP
2699
+ # Load Balancing. Choose INTERNAL_MANAGED for Internal HTTP(S) Load Balancing.
2700
+ # Choose INTERNAL_SELF_MANAGED for Traffic Director. A backend service created
2701
+ # for one type of load balancing cannot be used with another. For more
2702
+ # information, refer to Choosing a load balancer.
2690
2703
  # Corresponds to the JSON property `loadBalancingScheme`
2691
2704
  # @return [String]
2692
2705
  attr_accessor :load_balancing_scheme
@@ -2765,9 +2778,10 @@ module Google
2765
2778
  attr_accessor :port_name
2766
2779
 
2767
2780
  # The protocol this BackendService uses to communicate with backends.
2768
- # Possible values are HTTP, HTTPS, TCP, SSL, or UDP, depending on the chosen
2769
- # load balancer or Traffic Director configuration. Refer to the documentation
2770
- # for the load balancer or for Traffic director for more information.
2781
+ # Possible values are HTTP, HTTPS, HTTP2, TCP, SSL, or UDP, depending on the
2782
+ # chosen load balancer or Traffic Director configuration. Refer to the
2783
+ # documentation for the load balancer or for Traffic Director for more
2784
+ # information.
2771
2785
  # Corresponds to the JSON property `protocol`
2772
2786
  # @return [String]
2773
2787
  attr_accessor :protocol
@@ -4476,6 +4490,12 @@ module Google
4476
4490
  # @return [String]
4477
4491
  attr_accessor :kms_key_name
4478
4492
 
4493
+ # The service account being used for the encryption request for the given KMS
4494
+ # key. If absent, default GCE compute robot account will be used
4495
+ # Corresponds to the JSON property `kmsKeyServiceAccount`
4496
+ # @return [String]
4497
+ attr_accessor :kms_key_service_account
4498
+
4479
4499
  # Specifies a 256-bit customer-supplied encryption key, encoded in RFC 4648
4480
4500
  # base64 to either encrypt or decrypt this resource.
4481
4501
  # Corresponds to the JSON property `rawKey`
@@ -4507,6 +4527,7 @@ module Google
4507
4527
  # Update properties of this object
4508
4528
  def update!(**args)
4509
4529
  @kms_key_name = args[:kms_key_name] if args.key?(:kms_key_name)
4530
+ @kms_key_service_account = args[:kms_key_service_account] if args.key?(:kms_key_service_account)
4510
4531
  @raw_key = args[:raw_key] if args.key?(:raw_key)
4511
4532
  @rsa_encrypted_key = args[:rsa_encrypted_key] if args.key?(:rsa_encrypted_key)
4512
4533
  @sha256 = args[:sha256] if args.key?(:sha256)
@@ -6750,27 +6771,12 @@ module Google
6750
6771
  end
6751
6772
 
6752
6773
  # Represents a Forwarding Rule resource.
6753
- # A forwardingRules resource represents a regional forwarding rule.
6754
- # Regional external forwarding rules can reference any of the following
6755
- # resources:
6756
- #
6757
- # - A target instance
6758
- # - A Cloud VPN Classic gateway (targetVpnGateway),
6759
- # - A target pool for a Network Load Balancer
6760
- # - A global target HTTP(S) proxy for an HTTP(S) load balancer using Standard
6761
- # Tier
6762
- # - A target SSL proxy for a SSL Proxy load balancer using Standard Tier
6763
- # - A target TCP proxy for a TCP Proxy load balancer using Standard Tier.
6764
- # Regional internal forwarding rules can reference the backend service of an
6765
- # internal TCP/UDP load balancer.
6766
- # For regional internal forwarding rules, the following applies:
6767
- # - If the loadBalancingScheme for the load balancer is INTERNAL, then the
6768
- # forwarding rule references a regional internal backend service.
6769
- # - If the loadBalancingScheme for the load balancer is INTERNAL_MANAGED, then
6770
- # the forwarding rule must reference a regional target HTTP(S) proxy.
6771
- # For more information, read Using Forwarding rules.
6772
- # A globalForwardingRules resource represents a global forwarding rule.
6773
- # Global forwarding rules are only used by load balancers that use Premium Tier.
6774
+ # A forwarding rule and its corresponding IP address represent the frontend
6775
+ # configuration of a Google Cloud Platform load balancer. Forwarding rules can
6776
+ # also reference target instances and Cloud VPN Classic gateways (
6777
+ # targetVpnGateway).
6778
+ # For more information, read Forwarding rule concepts and Using protocol
6779
+ # forwarding.
6774
6780
  # (== resource_for beta.forwardingRules ==) (== resource_for v1.forwardingRules =
6775
6781
  # =) (== resource_for beta.globalForwardingRules ==) (== resource_for v1.
6776
6782
  # globalForwardingRules ==) (== resource_for beta.regionForwardingRules ==) (==
@@ -6798,8 +6804,14 @@ module Google
6798
6804
 
6799
6805
  # The IP protocol to which this rule applies. Valid options are TCP, UDP, ESP,
6800
6806
  # AH, SCTP or ICMP.
6801
- # When the load balancing scheme is INTERNAL, only TCP and UDP are valid. When
6802
- # the load balancing scheme is INTERNAL_SELF_MANAGED, only TCPis valid.
6807
+ # For Internal TCP/UDP Load Balancing, the load balancing scheme is INTERNAL,
6808
+ # and one of TCP or UDP are valid. For Traffic Director, the load balancing
6809
+ # scheme is INTERNAL_SELF_MANAGED, and only TCPis valid. For Internal HTTP(S)
6810
+ # Load Balancing, the load balancing scheme is INTERNAL_MANAGED, and only TCP is
6811
+ # valid. For HTTP(S), SSL Proxy, and TCP Proxy Load Balancing, the load
6812
+ # balancing scheme is EXTERNAL and only TCP is valid. For Network TCP/UDP Load
6813
+ # Balancing, the load balancing scheme is EXTERNAL, and one of TCP or UDP is
6814
+ # valid.
6803
6815
  # Corresponds to the JSON property `IPProtocol`
6804
6816
  # @return [String]
6805
6817
  attr_accessor :ip_protocol
@@ -6867,6 +6879,16 @@ module Google
6867
6879
  # @return [String]
6868
6880
  attr_accessor :ip_version
6869
6881
 
6882
+ # Indicates whether or not this load balancer can be used as a collector for
6883
+ # packet mirroring. To prevent mirroring loops, instances behind this load
6884
+ # balancer will not have their traffic mirrored even if a PacketMirroring rule
6885
+ # applies to them. This can only be set to true for load balancers that have
6886
+ # their loadBalancingScheme set to INTERNAL.
6887
+ # Corresponds to the JSON property `isMirroringCollector`
6888
+ # @return [Boolean]
6889
+ attr_accessor :is_mirroring_collector
6890
+ alias_method :is_mirroring_collector?, :is_mirroring_collector
6891
+
6870
6892
  # [Output Only] Type of the resource. Always compute#forwardingRule for
6871
6893
  # Forwarding Rule resources.
6872
6894
  # Corresponds to the JSON property `kind`
@@ -6893,12 +6915,14 @@ module Google
6893
6915
  # @return [Hash<String,String>]
6894
6916
  attr_accessor :labels
6895
6917
 
6896
- # This signifies what the ForwardingRule will be used for and can only take the
6897
- # following values: INTERNAL, INTERNAL_SELF_MANAGED, EXTERNAL. The value of
6898
- # INTERNAL means that this will be used for Internal Network Load Balancing (TCP,
6899
- # UDP). The value of INTERNAL_SELF_MANAGED means that this will be used for
6900
- # Internal Global HTTP(S) LB. The value of EXTERNAL means that this will be used
6901
- # for External Load Balancing (HTTP(S) LB, External TCP/UDP LB, SSL Proxy)
6918
+ # Specifies the forwarding rule type. EXTERNAL is used for: - Classic Cloud VPN
6919
+ # gateways - Protocol forwarding to VMs from an external IP address - The
6920
+ # following load balancers: HTTP(S), SSL Proxy, TCP Proxy, and Network TCP/UDP.
6921
+ # INTERNAL is used for: - Protocol forwarding to VMs from an internal IP address
6922
+ # - Internal TCP/UDP load balancers
6923
+ # INTERNAL_MANAGED is used for: - Internal HTTP(S) load balancers
6924
+ # INTERNAL_SELF_MANAGED is used for: - Traffic Director
6925
+ # For more information about forwarding rules, refer to Forwarding rule concepts.
6902
6926
  # Corresponds to the JSON property `loadBalancingScheme`
6903
6927
  # @return [String]
6904
6928
  attr_accessor :load_balancing_scheme
@@ -7054,6 +7078,7 @@ module Google
7054
7078
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
7055
7079
  @id = args[:id] if args.key?(:id)
7056
7080
  @ip_version = args[:ip_version] if args.key?(:ip_version)
7081
+ @is_mirroring_collector = args[:is_mirroring_collector] if args.key?(:is_mirroring_collector)
7057
7082
  @kind = args[:kind] if args.key?(:kind)
7058
7083
  @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
7059
7084
  @labels = args[:labels] if args.key?(:labels)
@@ -7474,19 +7499,28 @@ module Google
7474
7499
 
7475
7500
  # Defines an Identity and Access Management (IAM) policy. It is used to specify
7476
7501
  # access control policies for Cloud Platform resources.
7477
- # A `Policy` consists of a list of `bindings`. A `binding` binds a list of `
7478
- # members` to a `role`, where the members can be user accounts, Google groups,
7479
- # Google domains, and service accounts. A `role` is a named list of permissions
7480
- # defined by IAM.
7502
+ # A `Policy` is a collection of `bindings`. A `binding` binds one or more `
7503
+ # members` to a single `role`. Members can be user accounts, service accounts,
7504
+ # Google groups, and domains (such as G Suite). A `role` is a named list of
7505
+ # permissions (defined by IAM or configured by users). A `binding` can
7506
+ # optionally specify a `condition`, which is a logic expression that further
7507
+ # constrains the role binding based on attributes about the request and/or
7508
+ # target resource.
7481
7509
  # **JSON Example**
7482
- # ` "bindings": [ ` "role": "roles/owner", "members": [ "user:mike@example.com",
7483
- # "group:admins@example.com", "domain:google.com", "serviceAccount:my-other-app@
7484
- # appspot.gserviceaccount.com" ] `, ` "role": "roles/viewer", "members": ["user:
7485
- # sean@example.com"] ` ] `
7510
+ # ` "bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members":
7511
+ # [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
7512
+ # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
7513
+ # roles/resourcemanager.organizationViewer", "members": ["user:eve@example.com"],
7514
+ # "condition": ` "title": "expirable access", "description": "Does not grant
7515
+ # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
7516
+ # 00:00.000Z')", ` ` ] `
7486
7517
  # **YAML Example**
7487
7518
  # bindings: - members: - user:mike@example.com - group:admins@example.com -
7488
- # domain:google.com - serviceAccount:my-other-app@appspot.gserviceaccount.com
7489
- # role: roles/owner - members: - user:sean@example.com role: roles/viewer
7519
+ # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
7520
+ # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
7521
+ # com role: roles/resourcemanager.organizationViewer condition: title: expirable
7522
+ # access description: Does not grant access after Sep 2020 expression: request.
7523
+ # time < timestamp('2020-10-01T00:00:00.000Z')
7490
7524
  # For a description of IAM and its features, see the [IAM developer's guide](
7491
7525
  # https://cloud.google.com/iam/docs).
7492
7526
  # Corresponds to the JSON property `policy`
@@ -9192,6 +9226,12 @@ module Google
9192
9226
  class HttpRouteRule
9193
9227
  include Google::Apis::Core::Hashable
9194
9228
 
9229
+ # The short description conveying the intent of this routeRule.
9230
+ # The description can have a maximum length of 1024 characters.
9231
+ # Corresponds to the JSON property `description`
9232
+ # @return [String]
9233
+ attr_accessor :description
9234
+
9195
9235
  # The request and response header transformations that take effect before the
9196
9236
  # request is passed along to the selected backendService.
9197
9237
  # Corresponds to the JSON property `headerAction`
@@ -9203,6 +9243,22 @@ module Google
9203
9243
  # @return [Array<Google::Apis::ComputeBeta::HttpRouteRuleMatch>]
9204
9244
  attr_accessor :match_rules
9205
9245
 
9246
+ # For routeRules within a given pathMatcher, priority determines the order in
9247
+ # which load balancer will interpret routeRules. RouteRules are evaluated in
9248
+ # order of priority, from the lowest to highest number. The priority of a rule
9249
+ # decreases as its number increases (1, 2, 3, N+1). The first rule that matches
9250
+ # the request is applied.
9251
+ # You cannot configure two or more routeRules with the same priority. Priority
9252
+ # for each rule must be set to a number between 0 and 2147483647 inclusive.
9253
+ # Priority numbers can have gaps, which enable you to add or remove rules in the
9254
+ # future without affecting the rest of the rules. For example, 1, 2, 3, 4, 5, 9,
9255
+ # 12, 16 is a valid series of priority numbers to which you could add rules
9256
+ # numbered from 6 to 8, 10 to 11, and 13 to 15 in the future without any impact
9257
+ # on existing rules.
9258
+ # Corresponds to the JSON property `priority`
9259
+ # @return [Fixnum]
9260
+ attr_accessor :priority
9261
+
9206
9262
  # In response to a matching matchRule, the load balancer performs advanced
9207
9263
  # routing actions like URL rewrites, header transformations, etc. prior to
9208
9264
  # forwarding the request to the selected backend. If routeAction specifies any
@@ -9236,8 +9292,10 @@ module Google
9236
9292
 
9237
9293
  # Update properties of this object
9238
9294
  def update!(**args)
9295
+ @description = args[:description] if args.key?(:description)
9239
9296
  @header_action = args[:header_action] if args.key?(:header_action)
9240
9297
  @match_rules = args[:match_rules] if args.key?(:match_rules)
9298
+ @priority = args[:priority] if args.key?(:priority)
9241
9299
  @route_action = args[:route_action] if args.key?(:route_action)
9242
9300
  @service = args[:service] if args.key?(:service)
9243
9301
  @url_redirect = args[:url_redirect] if args.key?(:url_redirect)
@@ -15000,6 +15058,11 @@ module Google
15000
15058
  class LogConfigCounterOptions
15001
15059
  include Google::Apis::Core::Hashable
15002
15060
 
15061
+ # Custom fields.
15062
+ # Corresponds to the JSON property `customFields`
15063
+ # @return [Array<Google::Apis::ComputeBeta::LogConfigCounterOptionsCustomField>]
15064
+ attr_accessor :custom_fields
15065
+
15003
15066
  # The field value to attribute.
15004
15067
  # Corresponds to the JSON property `field`
15005
15068
  # @return [String]
@@ -15016,11 +15079,40 @@ module Google
15016
15079
 
15017
15080
  # Update properties of this object
15018
15081
  def update!(**args)
15082
+ @custom_fields = args[:custom_fields] if args.key?(:custom_fields)
15019
15083
  @field = args[:field] if args.key?(:field)
15020
15084
  @metric = args[:metric] if args.key?(:metric)
15021
15085
  end
15022
15086
  end
15023
15087
 
15088
+ # Custom fields. These can be used to create a counter with arbitrary field/
15089
+ # value pairs. See: go/rpcsp-custom-fields.
15090
+ class LogConfigCounterOptionsCustomField
15091
+ include Google::Apis::Core::Hashable
15092
+
15093
+ # Name is the field name.
15094
+ # Corresponds to the JSON property `name`
15095
+ # @return [String]
15096
+ attr_accessor :name
15097
+
15098
+ # Value is the field value. It is important that in contrast to the
15099
+ # CounterOptions.field, the value here is a constant that is not derived from
15100
+ # the IAMContext.
15101
+ # Corresponds to the JSON property `value`
15102
+ # @return [String]
15103
+ attr_accessor :value
15104
+
15105
+ def initialize(**args)
15106
+ update!(**args)
15107
+ end
15108
+
15109
+ # Update properties of this object
15110
+ def update!(**args)
15111
+ @name = args[:name] if args.key?(:name)
15112
+ @value = args[:value] if args.key?(:value)
15113
+ end
15114
+ end
15115
+
15024
15116
  # Write a Data Access (Gin) log
15025
15117
  class LogConfigDataAccessOptions
15026
15118
  include Google::Apis::Core::Hashable
@@ -19371,49 +19463,21 @@ module Google
19371
19463
  end
19372
19464
  end
19373
19465
 
19374
- # A matcher for the path portion of the URL. The BackendService from the longest-
19375
- # matched rule will serve the URL. If no rule was matched, the default service
19376
- # will be used.
19377
- class PathMatcher
19466
+ # Represents a PacketMirroring resource.
19467
+ class PacketMirroring
19378
19468
  include Google::Apis::Core::Hashable
19379
19469
 
19380
- # defaultRouteAction takes effect when none of the pathRules or routeRules
19381
- # match. The load balancer performs advanced routing actions like URL rewrites,
19382
- # header transformations, etc. prior to forwarding the request to the selected
19383
- # backend. If defaultRouteAction specifies any weightedBackendServices,
19384
- # defaultService must not be set. Conversely if defaultService is set,
19385
- # defaultRouteAction cannot contain any weightedBackendServices.
19386
- # Only one of defaultRouteAction or defaultUrlRedirect must be set.
19387
- # Corresponds to the JSON property `defaultRouteAction`
19388
- # @return [Google::Apis::ComputeBeta::HttpRouteAction]
19389
- attr_accessor :default_route_action
19470
+ # The Forwarding Rule resource of type loadBalancingScheme=INTERNAL that will be
19471
+ # used as collector for mirrored traffic. The specified forwarding rule must
19472
+ # have isMirroringCollector set to true.
19473
+ # Corresponds to the JSON property `collectorIlb`
19474
+ # @return [Google::Apis::ComputeBeta::PacketMirroringForwardingRuleInfo]
19475
+ attr_accessor :collector_ilb
19390
19476
 
19391
- # The full or partial URL to the BackendService resource. This will be used if
19392
- # none of the pathRules or routeRules defined by this PathMatcher are matched.
19393
- # For example, the following are all valid URLs to a BackendService resource:
19394
- # - https://www.googleapis.com/compute/v1/projects/project/global/
19395
- # backendServices/backendService
19396
- # - compute/v1/projects/project/global/backendServices/backendService
19397
- # - global/backendServices/backendService If defaultRouteAction is additionally
19398
- # specified, advanced routing actions like URL Rewrites, etc. take effect prior
19399
- # to sending the request to the backend. However, if defaultService is specified,
19400
- # defaultRouteAction cannot contain any weightedBackendServices. Conversely, if
19401
- # defaultRouteAction specifies any weightedBackendServices, defaultService must
19402
- # not be specified.
19403
- # Only one of defaultService, defaultUrlRedirect or defaultRouteAction.
19404
- # weightedBackendService must be set.
19405
- # Authorization requires one or more of the following Google IAM permissions on
19406
- # the specified resource default_service:
19407
- # - compute.backendBuckets.use
19408
- # - compute.backendServices.use
19409
- # Corresponds to the JSON property `defaultService`
19477
+ # [Output Only] Creation timestamp in RFC3339 text format.
19478
+ # Corresponds to the JSON property `creationTimestamp`
19410
19479
  # @return [String]
19411
- attr_accessor :default_service
19412
-
19413
- # Specifies settings for an HTTP redirect.
19414
- # Corresponds to the JSON property `defaultUrlRedirect`
19415
- # @return [Google::Apis::ComputeBeta::HttpRedirectAction]
19416
- attr_accessor :default_url_redirect
19480
+ attr_accessor :creation_timestamp
19417
19481
 
19418
19482
  # An optional description of this resource. Provide this property when you
19419
19483
  # create the resource.
@@ -19421,37 +19485,72 @@ module Google
19421
19485
  # @return [String]
19422
19486
  attr_accessor :description
19423
19487
 
19424
- # The request and response header transformations that take effect before the
19425
- # request is passed along to the selected backendService.
19426
- # Corresponds to the JSON property `headerAction`
19427
- # @return [Google::Apis::ComputeBeta::HttpHeaderAction]
19428
- attr_accessor :header_action
19488
+ # Indicates whether or not this packet mirroring takes effect. If set to FALSE,
19489
+ # this packet mirroring policy will not be enforced on the network.
19490
+ # The default is TRUE.
19491
+ # Corresponds to the JSON property `enable`
19492
+ # @return [String]
19493
+ attr_accessor :enable
19429
19494
 
19430
- # The name to which this PathMatcher is referred by the HostRule.
19495
+ # Filter for mirrored traffic. If unspecified, all traffic is mirrored.
19496
+ # Corresponds to the JSON property `filter`
19497
+ # @return [Google::Apis::ComputeBeta::PacketMirroringFilter]
19498
+ attr_accessor :filter
19499
+
19500
+ # [Output Only] The unique identifier for the resource. This identifier is
19501
+ # defined by the server.
19502
+ # Corresponds to the JSON property `id`
19503
+ # @return [Fixnum]
19504
+ attr_accessor :id
19505
+
19506
+ # [Output Only] Type of the resource. Always compute#packetMirroring for packet
19507
+ # mirrorings.
19508
+ # Corresponds to the JSON property `kind`
19509
+ # @return [String]
19510
+ attr_accessor :kind
19511
+
19512
+ # PacketMirroring mirroredResourceInfos. MirroredResourceInfo specifies a set of
19513
+ # mirrored VM instances, subnetworks and/or tags for which traffic from/to all
19514
+ # VM instances will be mirrored.
19515
+ # Corresponds to the JSON property `mirroredResources`
19516
+ # @return [Google::Apis::ComputeBeta::PacketMirroringMirroredResourceInfo]
19517
+ attr_accessor :mirrored_resources
19518
+
19519
+ # Name of the resource; provided by the client when the resource is created. The
19520
+ # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
19521
+ # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
19522
+ # z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
19523
+ # and all following characters must be a dash, lowercase letter, or digit,
19524
+ # except the last character, which cannot be a dash.
19431
19525
  # Corresponds to the JSON property `name`
19432
19526
  # @return [String]
19433
19527
  attr_accessor :name
19434
19528
 
19435
- # The list of path rules. Use this list instead of routeRules when routing based
19436
- # on simple path matching is all that's required. The order by which path rules
19437
- # are specified does not matter. Matches are always done on the longest-path-
19438
- # first basis.
19439
- # For example: a pathRule with a path /a/b/c/* will match before /a/b/*
19440
- # irrespective of the order in which those paths appear in this list.
19441
- # Within a given pathMatcher, only one of pathRules or routeRules must be set.
19442
- # Corresponds to the JSON property `pathRules`
19443
- # @return [Array<Google::Apis::ComputeBeta::PathRule>]
19444
- attr_accessor :path_rules
19529
+ # Specifies the mirrored VPC network. Only packets in this network will be
19530
+ # mirrored. All mirrored VMs should have a NIC in the given network. All
19531
+ # mirrored subnetworks should belong to the given network.
19532
+ # Corresponds to the JSON property `network`
19533
+ # @return [Google::Apis::ComputeBeta::PacketMirroringNetworkInfo]
19534
+ attr_accessor :network
19445
19535
 
19446
- # The list of ordered HTTP route rules. Use this list instead of pathRules when
19447
- # advanced route matching and routing actions are desired. The order of
19448
- # specifying routeRules matters: the first rule that matches will cause its
19449
- # specified routing action to take effect.
19450
- # Within a given pathMatcher, only one of pathRules or routeRules must be set.
19451
- # routeRules are not supported in UrlMaps intended for External Load balancers.
19452
- # Corresponds to the JSON property `routeRules`
19453
- # @return [Array<Google::Apis::ComputeBeta::HttpRouteRule>]
19454
- attr_accessor :route_rules
19536
+ # The priority of applying this configuration. Priority is used to break ties in
19537
+ # cases where there is more than one matching rule. In the case of two rules
19538
+ # that apply for a given Instance, the one with the lowest-numbered priority
19539
+ # value wins.
19540
+ # Default value is 1000. Valid range is 0 through 65535.
19541
+ # Corresponds to the JSON property `priority`
19542
+ # @return [Fixnum]
19543
+ attr_accessor :priority
19544
+
19545
+ # [Output Only] URI of the region where the packetMirroring resides.
19546
+ # Corresponds to the JSON property `region`
19547
+ # @return [String]
19548
+ attr_accessor :region
19549
+
19550
+ # [Output Only] Server-defined URL for the resource.
19551
+ # Corresponds to the JSON property `selfLink`
19552
+ # @return [String]
19553
+ attr_accessor :self_link
19455
19554
 
19456
19555
  def initialize(**args)
19457
19556
  update!(**args)
@@ -19459,92 +19558,59 @@ module Google
19459
19558
 
19460
19559
  # Update properties of this object
19461
19560
  def update!(**args)
19462
- @default_route_action = args[:default_route_action] if args.key?(:default_route_action)
19463
- @default_service = args[:default_service] if args.key?(:default_service)
19464
- @default_url_redirect = args[:default_url_redirect] if args.key?(:default_url_redirect)
19561
+ @collector_ilb = args[:collector_ilb] if args.key?(:collector_ilb)
19562
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
19465
19563
  @description = args[:description] if args.key?(:description)
19466
- @header_action = args[:header_action] if args.key?(:header_action)
19564
+ @enable = args[:enable] if args.key?(:enable)
19565
+ @filter = args[:filter] if args.key?(:filter)
19566
+ @id = args[:id] if args.key?(:id)
19567
+ @kind = args[:kind] if args.key?(:kind)
19568
+ @mirrored_resources = args[:mirrored_resources] if args.key?(:mirrored_resources)
19467
19569
  @name = args[:name] if args.key?(:name)
19468
- @path_rules = args[:path_rules] if args.key?(:path_rules)
19469
- @route_rules = args[:route_rules] if args.key?(:route_rules)
19570
+ @network = args[:network] if args.key?(:network)
19571
+ @priority = args[:priority] if args.key?(:priority)
19572
+ @region = args[:region] if args.key?(:region)
19573
+ @self_link = args[:self_link] if args.key?(:self_link)
19470
19574
  end
19471
19575
  end
19472
19576
 
19473
- # A path-matching rule for a URL. If matched, will use the specified
19474
- # BackendService to handle the traffic arriving at this URL.
19475
- class PathRule
19577
+ # Contains a list of packetMirrorings.
19578
+ class PacketMirroringAggregatedList
19476
19579
  include Google::Apis::Core::Hashable
19477
19580
 
19478
- # The list of path patterns to match. Each must start with / and the only place
19479
- # a * is allowed is at the end following a /. The string fed to the path matcher
19480
- # does not include any text after the first ? or #, and those chars are not
19481
- # allowed here.
19482
- # Corresponds to the JSON property `paths`
19483
- # @return [Array<String>]
19484
- attr_accessor :paths
19485
-
19486
- # In response to a matching path, the load balancer performs advanced routing
19487
- # actions like URL rewrites, header transformations, etc. prior to forwarding
19488
- # the request to the selected backend. If routeAction specifies any
19489
- # weightedBackendServices, service must not be set. Conversely if service is set,
19490
- # routeAction cannot contain any weightedBackendServices.
19491
- # Only one of routeAction or urlRedirect must be set.
19492
- # Corresponds to the JSON property `routeAction`
19493
- # @return [Google::Apis::ComputeBeta::HttpRouteAction]
19494
- attr_accessor :route_action
19495
-
19496
- # The full or partial URL of the backend service resource to which traffic is
19497
- # directed if this rule is matched. If routeAction is additionally specified,
19498
- # advanced routing actions like URL Rewrites, etc. take effect prior to sending
19499
- # the request to the backend. However, if service is specified, routeAction
19500
- # cannot contain any weightedBackendService s. Conversely, if routeAction
19501
- # specifies any weightedBackendServices, service must not be specified.
19502
- # Only one of urlRedirect, service or routeAction.weightedBackendService must be
19503
- # set.
19504
- # Corresponds to the JSON property `service`
19581
+ # [Output Only] Unique identifier for the resource; defined by the server.
19582
+ # Corresponds to the JSON property `id`
19505
19583
  # @return [String]
19506
- attr_accessor :service
19507
-
19508
- # Specifies settings for an HTTP redirect.
19509
- # Corresponds to the JSON property `urlRedirect`
19510
- # @return [Google::Apis::ComputeBeta::HttpRedirectAction]
19511
- attr_accessor :url_redirect
19512
-
19513
- def initialize(**args)
19514
- update!(**args)
19515
- end
19584
+ attr_accessor :id
19516
19585
 
19517
- # Update properties of this object
19518
- def update!(**args)
19519
- @paths = args[:paths] if args.key?(:paths)
19520
- @route_action = args[:route_action] if args.key?(:route_action)
19521
- @service = args[:service] if args.key?(:service)
19522
- @url_redirect = args[:url_redirect] if args.key?(:url_redirect)
19523
- end
19524
- end
19586
+ # A list of PacketMirroring resources.
19587
+ # Corresponds to the JSON property `items`
19588
+ # @return [Hash<String,Google::Apis::ComputeBeta::PacketMirroringsScopedList>]
19589
+ attr_accessor :items
19525
19590
 
19526
- #
19527
- class PerInstanceConfig
19528
- include Google::Apis::Core::Hashable
19591
+ # Type of resource.
19592
+ # Corresponds to the JSON property `kind`
19593
+ # @return [String]
19594
+ attr_accessor :kind
19529
19595
 
19530
- # Fingerprint of this per-instance config. This field may be used in optimistic
19531
- # locking. It will be ignored when inserting a per-instance config. An up-to-
19532
- # date fingerprint must be provided in order to update an existing per-instance
19533
- # config or the field needs to be unset.
19534
- # Corresponds to the JSON property `fingerprint`
19535
- # NOTE: Values are automatically base64 encoded/decoded in the client library.
19596
+ # [Output Only] This token allows you to get the next page of results for list
19597
+ # requests. If the number of results is larger than maxResults, use the
19598
+ # nextPageToken as a value for the query parameter pageToken in the next list
19599
+ # request. Subsequent list requests will have their own nextPageToken to
19600
+ # continue paging through the results.
19601
+ # Corresponds to the JSON property `nextPageToken`
19536
19602
  # @return [String]
19537
- attr_accessor :fingerprint
19603
+ attr_accessor :next_page_token
19538
19604
 
19539
- # The name of the per-instance config and the corresponding instance. Serves as
19540
- # a merge key during UpdatePerInstanceConfigs operation, i.e. if per-instance
19541
- # config with the same name exists then it will be updated, otherwise a new one
19542
- # will be created for the VM instance with the same name. An attempt to create a
19543
- # per-instance config for a VM instance that either doesn't exist or is not part
19544
- # of the group will result in a failure.
19545
- # Corresponds to the JSON property `name`
19605
+ # [Output Only] Server-defined URL for this resource.
19606
+ # Corresponds to the JSON property `selfLink`
19546
19607
  # @return [String]
19547
- attr_accessor :name
19608
+ attr_accessor :self_link
19609
+
19610
+ # [Output Only] Informational warning message.
19611
+ # Corresponds to the JSON property `warning`
19612
+ # @return [Google::Apis::ComputeBeta::PacketMirroringAggregatedList::Warning]
19613
+ attr_accessor :warning
19548
19614
 
19549
19615
  def initialize(**args)
19550
19616
  update!(**args)
@@ -19552,26 +19618,668 @@ module Google
19552
19618
 
19553
19619
  # Update properties of this object
19554
19620
  def update!(**args)
19555
- @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
19556
- @name = args[:name] if args.key?(:name)
19557
- end
19558
- end
19621
+ @id = args[:id] if args.key?(:id)
19622
+ @items = args[:items] if args.key?(:items)
19623
+ @kind = args[:kind] if args.key?(:kind)
19624
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
19625
+ @self_link = args[:self_link] if args.key?(:self_link)
19626
+ @warning = args[:warning] if args.key?(:warning)
19627
+ end
19628
+
19629
+ # [Output Only] Informational warning message.
19630
+ class Warning
19631
+ include Google::Apis::Core::Hashable
19632
+
19633
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
19634
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
19635
+ # Corresponds to the JSON property `code`
19636
+ # @return [String]
19637
+ attr_accessor :code
19638
+
19639
+ # [Output Only] Metadata about this warning in key: value format. For example:
19640
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
19641
+ # Corresponds to the JSON property `data`
19642
+ # @return [Array<Google::Apis::ComputeBeta::PacketMirroringAggregatedList::Warning::Datum>]
19643
+ attr_accessor :data
19644
+
19645
+ # [Output Only] A human-readable description of the warning code.
19646
+ # Corresponds to the JSON property `message`
19647
+ # @return [String]
19648
+ attr_accessor :message
19649
+
19650
+ def initialize(**args)
19651
+ update!(**args)
19652
+ end
19653
+
19654
+ # Update properties of this object
19655
+ def update!(**args)
19656
+ @code = args[:code] if args.key?(:code)
19657
+ @data = args[:data] if args.key?(:data)
19658
+ @message = args[:message] if args.key?(:message)
19659
+ end
19660
+
19661
+ #
19662
+ class Datum
19663
+ include Google::Apis::Core::Hashable
19664
+
19665
+ # [Output Only] A key that provides more detail on the warning being returned.
19666
+ # For example, for warnings where there are no results in a list request for a
19667
+ # particular zone, this key might be scope and the key value might be the zone
19668
+ # name. Other examples might be a key indicating a deprecated resource and a
19669
+ # suggested replacement, or a warning about invalid network settings (for
19670
+ # example, if an instance attempts to perform IP forwarding but is not enabled
19671
+ # for IP forwarding).
19672
+ # Corresponds to the JSON property `key`
19673
+ # @return [String]
19674
+ attr_accessor :key
19675
+
19676
+ # [Output Only] A warning data value corresponding to the key.
19677
+ # Corresponds to the JSON property `value`
19678
+ # @return [String]
19679
+ attr_accessor :value
19680
+
19681
+ def initialize(**args)
19682
+ update!(**args)
19683
+ end
19684
+
19685
+ # Update properties of this object
19686
+ def update!(**args)
19687
+ @key = args[:key] if args.key?(:key)
19688
+ @value = args[:value] if args.key?(:value)
19689
+ end
19690
+ end
19691
+ end
19692
+ end
19693
+
19694
+ #
19695
+ class PacketMirroringFilter
19696
+ include Google::Apis::Core::Hashable
19697
+
19698
+ # Protocols that apply as filter on mirrored traffic. If no protocols are
19699
+ # specified, all traffic that matches the specified CIDR ranges is mirrored. If
19700
+ # neither cidrRanges nor IPProtocols is specified, all traffic is mirrored.
19701
+ # Corresponds to the JSON property `IPProtocols`
19702
+ # @return [Array<String>]
19703
+ attr_accessor :ip_protocols
19704
+
19705
+ # IP CIDR ranges that apply as filter on the source (ingress) or destination (
19706
+ # egress) IP in the IP header. Only IPv4 is supported. If no ranges are
19707
+ # specified, all traffic that matches the specified IPProtocols is mirrored. If
19708
+ # neither cidrRanges nor IPProtocols is specified, all traffic is mirrored.
19709
+ # Corresponds to the JSON property `cidrRanges`
19710
+ # @return [Array<String>]
19711
+ attr_accessor :cidr_ranges
19712
+
19713
+ def initialize(**args)
19714
+ update!(**args)
19715
+ end
19716
+
19717
+ # Update properties of this object
19718
+ def update!(**args)
19719
+ @ip_protocols = args[:ip_protocols] if args.key?(:ip_protocols)
19720
+ @cidr_ranges = args[:cidr_ranges] if args.key?(:cidr_ranges)
19721
+ end
19722
+ end
19723
+
19724
+ #
19725
+ class PacketMirroringForwardingRuleInfo
19726
+ include Google::Apis::Core::Hashable
19727
+
19728
+ # [Output Only] Unique identifier for the forwarding rule; defined by the server.
19729
+ # Corresponds to the JSON property `canonicalUrl`
19730
+ # @return [String]
19731
+ attr_accessor :canonical_url
19732
+
19733
+ # Resource URL to the forwarding rule representing the ILB configured as
19734
+ # destination of the mirrored traffic.
19735
+ # Corresponds to the JSON property `url`
19736
+ # @return [String]
19737
+ attr_accessor :url
19738
+
19739
+ def initialize(**args)
19740
+ update!(**args)
19741
+ end
19742
+
19743
+ # Update properties of this object
19744
+ def update!(**args)
19745
+ @canonical_url = args[:canonical_url] if args.key?(:canonical_url)
19746
+ @url = args[:url] if args.key?(:url)
19747
+ end
19748
+ end
19749
+
19750
+ # Contains a list of PacketMirroring resources.
19751
+ class PacketMirroringList
19752
+ include Google::Apis::Core::Hashable
19753
+
19754
+ # [Output Only] Unique identifier for the resource; defined by the server.
19755
+ # Corresponds to the JSON property `id`
19756
+ # @return [String]
19757
+ attr_accessor :id
19758
+
19759
+ # A list of PacketMirroring resources.
19760
+ # Corresponds to the JSON property `items`
19761
+ # @return [Array<Google::Apis::ComputeBeta::PacketMirroring>]
19762
+ attr_accessor :items
19763
+
19764
+ # [Output Only] Type of resource. Always compute#packetMirroring for
19765
+ # packetMirrorings.
19766
+ # Corresponds to the JSON property `kind`
19767
+ # @return [String]
19768
+ attr_accessor :kind
19769
+
19770
+ # [Output Only] This token allows you to get the next page of results for list
19771
+ # requests. If the number of results is larger than maxResults, use the
19772
+ # nextPageToken as a value for the query parameter pageToken in the next list
19773
+ # request. Subsequent list requests will have their own nextPageToken to
19774
+ # continue paging through the results.
19775
+ # Corresponds to the JSON property `nextPageToken`
19776
+ # @return [String]
19777
+ attr_accessor :next_page_token
19778
+
19779
+ # [Output Only] Server-defined URL for this resource.
19780
+ # Corresponds to the JSON property `selfLink`
19781
+ # @return [String]
19782
+ attr_accessor :self_link
19783
+
19784
+ # [Output Only] Informational warning message.
19785
+ # Corresponds to the JSON property `warning`
19786
+ # @return [Google::Apis::ComputeBeta::PacketMirroringList::Warning]
19787
+ attr_accessor :warning
19788
+
19789
+ def initialize(**args)
19790
+ update!(**args)
19791
+ end
19792
+
19793
+ # Update properties of this object
19794
+ def update!(**args)
19795
+ @id = args[:id] if args.key?(:id)
19796
+ @items = args[:items] if args.key?(:items)
19797
+ @kind = args[:kind] if args.key?(:kind)
19798
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
19799
+ @self_link = args[:self_link] if args.key?(:self_link)
19800
+ @warning = args[:warning] if args.key?(:warning)
19801
+ end
19802
+
19803
+ # [Output Only] Informational warning message.
19804
+ class Warning
19805
+ include Google::Apis::Core::Hashable
19806
+
19807
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
19808
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
19809
+ # Corresponds to the JSON property `code`
19810
+ # @return [String]
19811
+ attr_accessor :code
19812
+
19813
+ # [Output Only] Metadata about this warning in key: value format. For example:
19814
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
19815
+ # Corresponds to the JSON property `data`
19816
+ # @return [Array<Google::Apis::ComputeBeta::PacketMirroringList::Warning::Datum>]
19817
+ attr_accessor :data
19818
+
19819
+ # [Output Only] A human-readable description of the warning code.
19820
+ # Corresponds to the JSON property `message`
19821
+ # @return [String]
19822
+ attr_accessor :message
19823
+
19824
+ def initialize(**args)
19825
+ update!(**args)
19826
+ end
19827
+
19828
+ # Update properties of this object
19829
+ def update!(**args)
19830
+ @code = args[:code] if args.key?(:code)
19831
+ @data = args[:data] if args.key?(:data)
19832
+ @message = args[:message] if args.key?(:message)
19833
+ end
19834
+
19835
+ #
19836
+ class Datum
19837
+ include Google::Apis::Core::Hashable
19838
+
19839
+ # [Output Only] A key that provides more detail on the warning being returned.
19840
+ # For example, for warnings where there are no results in a list request for a
19841
+ # particular zone, this key might be scope and the key value might be the zone
19842
+ # name. Other examples might be a key indicating a deprecated resource and a
19843
+ # suggested replacement, or a warning about invalid network settings (for
19844
+ # example, if an instance attempts to perform IP forwarding but is not enabled
19845
+ # for IP forwarding).
19846
+ # Corresponds to the JSON property `key`
19847
+ # @return [String]
19848
+ attr_accessor :key
19849
+
19850
+ # [Output Only] A warning data value corresponding to the key.
19851
+ # Corresponds to the JSON property `value`
19852
+ # @return [String]
19853
+ attr_accessor :value
19854
+
19855
+ def initialize(**args)
19856
+ update!(**args)
19857
+ end
19858
+
19859
+ # Update properties of this object
19860
+ def update!(**args)
19861
+ @key = args[:key] if args.key?(:key)
19862
+ @value = args[:value] if args.key?(:value)
19863
+ end
19864
+ end
19865
+ end
19866
+ end
19867
+
19868
+ #
19869
+ class PacketMirroringMirroredResourceInfo
19870
+ include Google::Apis::Core::Hashable
19871
+
19872
+ # A set of virtual machine instances that are being mirrored. They must live in
19873
+ # zones contained in the same region as this packetMirroring.
19874
+ # Note that this config will apply only to those network interfaces of the
19875
+ # Instances that belong to the network specified in this packetMirroring.
19876
+ # You may specify a maximum of 50 Instances.
19877
+ # Corresponds to the JSON property `instances`
19878
+ # @return [Array<Google::Apis::ComputeBeta::PacketMirroringMirroredResourceInfoInstanceInfo>]
19879
+ attr_accessor :instances
19880
+
19881
+ # A set of subnetworks for which traffic from/to all VM instances will be
19882
+ # mirrored. They must live in the same region as this packetMirroring.
19883
+ # You may specify a maximum of 5 subnetworks.
19884
+ # Corresponds to the JSON property `subnetworks`
19885
+ # @return [Array<Google::Apis::ComputeBeta::PacketMirroringMirroredResourceInfoSubnetInfo>]
19886
+ attr_accessor :subnetworks
19887
+
19888
+ # A set of mirrored tags. Traffic from/to all VM instances that have one or more
19889
+ # of these tags will be mirrored.
19890
+ # Corresponds to the JSON property `tags`
19891
+ # @return [Array<String>]
19892
+ attr_accessor :tags
19893
+
19894
+ def initialize(**args)
19895
+ update!(**args)
19896
+ end
19897
+
19898
+ # Update properties of this object
19899
+ def update!(**args)
19900
+ @instances = args[:instances] if args.key?(:instances)
19901
+ @subnetworks = args[:subnetworks] if args.key?(:subnetworks)
19902
+ @tags = args[:tags] if args.key?(:tags)
19903
+ end
19904
+ end
19905
+
19906
+ #
19907
+ class PacketMirroringMirroredResourceInfoInstanceInfo
19908
+ include Google::Apis::Core::Hashable
19909
+
19910
+ # [Output Only] Unique identifier for the instance; defined by the server.
19911
+ # Corresponds to the JSON property `canonicalUrl`
19912
+ # @return [String]
19913
+ attr_accessor :canonical_url
19914
+
19915
+ # Resource URL to the virtual machine instance which is being mirrored.
19916
+ # Corresponds to the JSON property `url`
19917
+ # @return [String]
19918
+ attr_accessor :url
19919
+
19920
+ def initialize(**args)
19921
+ update!(**args)
19922
+ end
19923
+
19924
+ # Update properties of this object
19925
+ def update!(**args)
19926
+ @canonical_url = args[:canonical_url] if args.key?(:canonical_url)
19927
+ @url = args[:url] if args.key?(:url)
19928
+ end
19929
+ end
19930
+
19931
+ #
19932
+ class PacketMirroringMirroredResourceInfoSubnetInfo
19933
+ include Google::Apis::Core::Hashable
19934
+
19935
+ # [Output Only] Unique identifier for the subnetwork; defined by the server.
19936
+ # Corresponds to the JSON property `canonicalUrl`
19937
+ # @return [String]
19938
+ attr_accessor :canonical_url
19939
+
19940
+ # Resource URL to the subnetwork for which traffic from/to all VM instances will
19941
+ # be mirrored.
19942
+ # Corresponds to the JSON property `url`
19943
+ # @return [String]
19944
+ attr_accessor :url
19945
+
19946
+ def initialize(**args)
19947
+ update!(**args)
19948
+ end
19949
+
19950
+ # Update properties of this object
19951
+ def update!(**args)
19952
+ @canonical_url = args[:canonical_url] if args.key?(:canonical_url)
19953
+ @url = args[:url] if args.key?(:url)
19954
+ end
19955
+ end
19956
+
19957
+ #
19958
+ class PacketMirroringNetworkInfo
19959
+ include Google::Apis::Core::Hashable
19960
+
19961
+ # [Output Only] Unique identifier for the network; defined by the server.
19962
+ # Corresponds to the JSON property `canonicalUrl`
19963
+ # @return [String]
19964
+ attr_accessor :canonical_url
19965
+
19966
+ # URL of the network resource.
19967
+ # Corresponds to the JSON property `url`
19968
+ # @return [String]
19969
+ attr_accessor :url
19970
+
19971
+ def initialize(**args)
19972
+ update!(**args)
19973
+ end
19974
+
19975
+ # Update properties of this object
19976
+ def update!(**args)
19977
+ @canonical_url = args[:canonical_url] if args.key?(:canonical_url)
19978
+ @url = args[:url] if args.key?(:url)
19979
+ end
19980
+ end
19981
+
19982
+ #
19983
+ class PacketMirroringsScopedList
19984
+ include Google::Apis::Core::Hashable
19985
+
19986
+ # A list of packetMirrorings contained in this scope.
19987
+ # Corresponds to the JSON property `packetMirrorings`
19988
+ # @return [Array<Google::Apis::ComputeBeta::PacketMirroring>]
19989
+ attr_accessor :packet_mirrorings
19990
+
19991
+ # Informational warning which replaces the list of packetMirrorings when the
19992
+ # list is empty.
19993
+ # Corresponds to the JSON property `warning`
19994
+ # @return [Google::Apis::ComputeBeta::PacketMirroringsScopedList::Warning]
19995
+ attr_accessor :warning
19996
+
19997
+ def initialize(**args)
19998
+ update!(**args)
19999
+ end
20000
+
20001
+ # Update properties of this object
20002
+ def update!(**args)
20003
+ @packet_mirrorings = args[:packet_mirrorings] if args.key?(:packet_mirrorings)
20004
+ @warning = args[:warning] if args.key?(:warning)
20005
+ end
20006
+
20007
+ # Informational warning which replaces the list of packetMirrorings when the
20008
+ # list is empty.
20009
+ class Warning
20010
+ include Google::Apis::Core::Hashable
20011
+
20012
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
20013
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
20014
+ # Corresponds to the JSON property `code`
20015
+ # @return [String]
20016
+ attr_accessor :code
20017
+
20018
+ # [Output Only] Metadata about this warning in key: value format. For example:
20019
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
20020
+ # Corresponds to the JSON property `data`
20021
+ # @return [Array<Google::Apis::ComputeBeta::PacketMirroringsScopedList::Warning::Datum>]
20022
+ attr_accessor :data
20023
+
20024
+ # [Output Only] A human-readable description of the warning code.
20025
+ # Corresponds to the JSON property `message`
20026
+ # @return [String]
20027
+ attr_accessor :message
20028
+
20029
+ def initialize(**args)
20030
+ update!(**args)
20031
+ end
20032
+
20033
+ # Update properties of this object
20034
+ def update!(**args)
20035
+ @code = args[:code] if args.key?(:code)
20036
+ @data = args[:data] if args.key?(:data)
20037
+ @message = args[:message] if args.key?(:message)
20038
+ end
20039
+
20040
+ #
20041
+ class Datum
20042
+ include Google::Apis::Core::Hashable
20043
+
20044
+ # [Output Only] A key that provides more detail on the warning being returned.
20045
+ # For example, for warnings where there are no results in a list request for a
20046
+ # particular zone, this key might be scope and the key value might be the zone
20047
+ # name. Other examples might be a key indicating a deprecated resource and a
20048
+ # suggested replacement, or a warning about invalid network settings (for
20049
+ # example, if an instance attempts to perform IP forwarding but is not enabled
20050
+ # for IP forwarding).
20051
+ # Corresponds to the JSON property `key`
20052
+ # @return [String]
20053
+ attr_accessor :key
20054
+
20055
+ # [Output Only] A warning data value corresponding to the key.
20056
+ # Corresponds to the JSON property `value`
20057
+ # @return [String]
20058
+ attr_accessor :value
20059
+
20060
+ def initialize(**args)
20061
+ update!(**args)
20062
+ end
20063
+
20064
+ # Update properties of this object
20065
+ def update!(**args)
20066
+ @key = args[:key] if args.key?(:key)
20067
+ @value = args[:value] if args.key?(:value)
20068
+ end
20069
+ end
20070
+ end
20071
+ end
20072
+
20073
+ # A matcher for the path portion of the URL. The BackendService from the longest-
20074
+ # matched rule will serve the URL. If no rule was matched, the default service
20075
+ # will be used.
20076
+ class PathMatcher
20077
+ include Google::Apis::Core::Hashable
20078
+
20079
+ # defaultRouteAction takes effect when none of the pathRules or routeRules
20080
+ # match. The load balancer performs advanced routing actions like URL rewrites,
20081
+ # header transformations, etc. prior to forwarding the request to the selected
20082
+ # backend. If defaultRouteAction specifies any weightedBackendServices,
20083
+ # defaultService must not be set. Conversely if defaultService is set,
20084
+ # defaultRouteAction cannot contain any weightedBackendServices.
20085
+ # Only one of defaultRouteAction or defaultUrlRedirect must be set.
20086
+ # Corresponds to the JSON property `defaultRouteAction`
20087
+ # @return [Google::Apis::ComputeBeta::HttpRouteAction]
20088
+ attr_accessor :default_route_action
20089
+
20090
+ # The full or partial URL to the BackendService resource. This will be used if
20091
+ # none of the pathRules or routeRules defined by this PathMatcher are matched.
20092
+ # For example, the following are all valid URLs to a BackendService resource:
20093
+ # - https://www.googleapis.com/compute/v1/projects/project/global/
20094
+ # backendServices/backendService
20095
+ # - compute/v1/projects/project/global/backendServices/backendService
20096
+ # - global/backendServices/backendService If defaultRouteAction is additionally
20097
+ # specified, advanced routing actions like URL Rewrites, etc. take effect prior
20098
+ # to sending the request to the backend. However, if defaultService is specified,
20099
+ # defaultRouteAction cannot contain any weightedBackendServices. Conversely, if
20100
+ # defaultRouteAction specifies any weightedBackendServices, defaultService must
20101
+ # not be specified.
20102
+ # Only one of defaultService, defaultUrlRedirect or defaultRouteAction.
20103
+ # weightedBackendService must be set.
20104
+ # Authorization requires one or more of the following Google IAM permissions on
20105
+ # the specified resource default_service:
20106
+ # - compute.backendBuckets.use
20107
+ # - compute.backendServices.use
20108
+ # Corresponds to the JSON property `defaultService`
20109
+ # @return [String]
20110
+ attr_accessor :default_service
20111
+
20112
+ # Specifies settings for an HTTP redirect.
20113
+ # Corresponds to the JSON property `defaultUrlRedirect`
20114
+ # @return [Google::Apis::ComputeBeta::HttpRedirectAction]
20115
+ attr_accessor :default_url_redirect
20116
+
20117
+ # An optional description of this resource. Provide this property when you
20118
+ # create the resource.
20119
+ # Corresponds to the JSON property `description`
20120
+ # @return [String]
20121
+ attr_accessor :description
20122
+
20123
+ # The request and response header transformations that take effect before the
20124
+ # request is passed along to the selected backendService.
20125
+ # Corresponds to the JSON property `headerAction`
20126
+ # @return [Google::Apis::ComputeBeta::HttpHeaderAction]
20127
+ attr_accessor :header_action
20128
+
20129
+ # The name to which this PathMatcher is referred by the HostRule.
20130
+ # Corresponds to the JSON property `name`
20131
+ # @return [String]
20132
+ attr_accessor :name
20133
+
20134
+ # The list of path rules. Use this list instead of routeRules when routing based
20135
+ # on simple path matching is all that's required. The order by which path rules
20136
+ # are specified does not matter. Matches are always done on the longest-path-
20137
+ # first basis.
20138
+ # For example: a pathRule with a path /a/b/c/* will match before /a/b/*
20139
+ # irrespective of the order in which those paths appear in this list.
20140
+ # Within a given pathMatcher, only one of pathRules or routeRules must be set.
20141
+ # Corresponds to the JSON property `pathRules`
20142
+ # @return [Array<Google::Apis::ComputeBeta::PathRule>]
20143
+ attr_accessor :path_rules
20144
+
20145
+ # The list of ordered HTTP route rules. Use this list instead of pathRules when
20146
+ # advanced route matching and routing actions are desired. The order of
20147
+ # specifying routeRules matters: the first rule that matches will cause its
20148
+ # specified routing action to take effect.
20149
+ # Within a given pathMatcher, only one of pathRules or routeRules must be set.
20150
+ # routeRules are not supported in UrlMaps intended for External Load balancers.
20151
+ # Corresponds to the JSON property `routeRules`
20152
+ # @return [Array<Google::Apis::ComputeBeta::HttpRouteRule>]
20153
+ attr_accessor :route_rules
20154
+
20155
+ def initialize(**args)
20156
+ update!(**args)
20157
+ end
20158
+
20159
+ # Update properties of this object
20160
+ def update!(**args)
20161
+ @default_route_action = args[:default_route_action] if args.key?(:default_route_action)
20162
+ @default_service = args[:default_service] if args.key?(:default_service)
20163
+ @default_url_redirect = args[:default_url_redirect] if args.key?(:default_url_redirect)
20164
+ @description = args[:description] if args.key?(:description)
20165
+ @header_action = args[:header_action] if args.key?(:header_action)
20166
+ @name = args[:name] if args.key?(:name)
20167
+ @path_rules = args[:path_rules] if args.key?(:path_rules)
20168
+ @route_rules = args[:route_rules] if args.key?(:route_rules)
20169
+ end
20170
+ end
20171
+
20172
+ # A path-matching rule for a URL. If matched, will use the specified
20173
+ # BackendService to handle the traffic arriving at this URL.
20174
+ class PathRule
20175
+ include Google::Apis::Core::Hashable
20176
+
20177
+ # The list of path patterns to match. Each must start with / and the only place
20178
+ # a * is allowed is at the end following a /. The string fed to the path matcher
20179
+ # does not include any text after the first ? or #, and those chars are not
20180
+ # allowed here.
20181
+ # Corresponds to the JSON property `paths`
20182
+ # @return [Array<String>]
20183
+ attr_accessor :paths
20184
+
20185
+ # In response to a matching path, the load balancer performs advanced routing
20186
+ # actions like URL rewrites, header transformations, etc. prior to forwarding
20187
+ # the request to the selected backend. If routeAction specifies any
20188
+ # weightedBackendServices, service must not be set. Conversely if service is set,
20189
+ # routeAction cannot contain any weightedBackendServices.
20190
+ # Only one of routeAction or urlRedirect must be set.
20191
+ # Corresponds to the JSON property `routeAction`
20192
+ # @return [Google::Apis::ComputeBeta::HttpRouteAction]
20193
+ attr_accessor :route_action
20194
+
20195
+ # The full or partial URL of the backend service resource to which traffic is
20196
+ # directed if this rule is matched. If routeAction is additionally specified,
20197
+ # advanced routing actions like URL Rewrites, etc. take effect prior to sending
20198
+ # the request to the backend. However, if service is specified, routeAction
20199
+ # cannot contain any weightedBackendService s. Conversely, if routeAction
20200
+ # specifies any weightedBackendServices, service must not be specified.
20201
+ # Only one of urlRedirect, service or routeAction.weightedBackendService must be
20202
+ # set.
20203
+ # Corresponds to the JSON property `service`
20204
+ # @return [String]
20205
+ attr_accessor :service
20206
+
20207
+ # Specifies settings for an HTTP redirect.
20208
+ # Corresponds to the JSON property `urlRedirect`
20209
+ # @return [Google::Apis::ComputeBeta::HttpRedirectAction]
20210
+ attr_accessor :url_redirect
20211
+
20212
+ def initialize(**args)
20213
+ update!(**args)
20214
+ end
20215
+
20216
+ # Update properties of this object
20217
+ def update!(**args)
20218
+ @paths = args[:paths] if args.key?(:paths)
20219
+ @route_action = args[:route_action] if args.key?(:route_action)
20220
+ @service = args[:service] if args.key?(:service)
20221
+ @url_redirect = args[:url_redirect] if args.key?(:url_redirect)
20222
+ end
20223
+ end
20224
+
20225
+ #
20226
+ class PerInstanceConfig
20227
+ include Google::Apis::Core::Hashable
20228
+
20229
+ # Fingerprint of this per-instance config. This field may be used in optimistic
20230
+ # locking. It will be ignored when inserting a per-instance config. An up-to-
20231
+ # date fingerprint must be provided in order to update an existing per-instance
20232
+ # config or the field needs to be unset.
20233
+ # Corresponds to the JSON property `fingerprint`
20234
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
20235
+ # @return [String]
20236
+ attr_accessor :fingerprint
20237
+
20238
+ # The name of the per-instance config and the corresponding instance. Serves as
20239
+ # a merge key during UpdatePerInstanceConfigs operation, i.e. if per-instance
20240
+ # config with the same name exists then it will be updated, otherwise a new one
20241
+ # will be created for the VM instance with the same name. An attempt to create a
20242
+ # per-instance config for a VM instance that either doesn't exist or is not part
20243
+ # of the group will result in a failure.
20244
+ # Corresponds to the JSON property `name`
20245
+ # @return [String]
20246
+ attr_accessor :name
20247
+
20248
+ def initialize(**args)
20249
+ update!(**args)
20250
+ end
20251
+
20252
+ # Update properties of this object
20253
+ def update!(**args)
20254
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
20255
+ @name = args[:name] if args.key?(:name)
20256
+ end
20257
+ end
19559
20258
 
19560
20259
  # Defines an Identity and Access Management (IAM) policy. It is used to specify
19561
20260
  # access control policies for Cloud Platform resources.
19562
- # A `Policy` consists of a list of `bindings`. A `binding` binds a list of `
19563
- # members` to a `role`, where the members can be user accounts, Google groups,
19564
- # Google domains, and service accounts. A `role` is a named list of permissions
19565
- # defined by IAM.
20261
+ # A `Policy` is a collection of `bindings`. A `binding` binds one or more `
20262
+ # members` to a single `role`. Members can be user accounts, service accounts,
20263
+ # Google groups, and domains (such as G Suite). A `role` is a named list of
20264
+ # permissions (defined by IAM or configured by users). A `binding` can
20265
+ # optionally specify a `condition`, which is a logic expression that further
20266
+ # constrains the role binding based on attributes about the request and/or
20267
+ # target resource.
19566
20268
  # **JSON Example**
19567
- # ` "bindings": [ ` "role": "roles/owner", "members": [ "user:mike@example.com",
19568
- # "group:admins@example.com", "domain:google.com", "serviceAccount:my-other-app@
19569
- # appspot.gserviceaccount.com" ] `, ` "role": "roles/viewer", "members": ["user:
19570
- # sean@example.com"] ` ] `
20269
+ # ` "bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members":
20270
+ # [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
20271
+ # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
20272
+ # roles/resourcemanager.organizationViewer", "members": ["user:eve@example.com"],
20273
+ # "condition": ` "title": "expirable access", "description": "Does not grant
20274
+ # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
20275
+ # 00:00.000Z')", ` ` ] `
19571
20276
  # **YAML Example**
19572
20277
  # bindings: - members: - user:mike@example.com - group:admins@example.com -
19573
- # domain:google.com - serviceAccount:my-other-app@appspot.gserviceaccount.com
19574
- # role: roles/owner - members: - user:sean@example.com role: roles/viewer
20278
+ # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
20279
+ # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
20280
+ # com role: roles/resourcemanager.organizationViewer condition: title: expirable
20281
+ # access description: Does not grant access after Sep 2020 expression: request.
20282
+ # time < timestamp('2020-10-01T00:00:00.000Z')
19575
20283
  # For a description of IAM and its features, see the [IAM developer's guide](
19576
20284
  # https://cloud.google.com/iam/docs).
19577
20285
  class Policy
@@ -19582,8 +20290,9 @@ module Google
19582
20290
  # @return [Array<Google::Apis::ComputeBeta::AuditConfig>]
19583
20291
  attr_accessor :audit_configs
19584
20292
 
19585
- # Associates a list of `members` to a `role`. `bindings` with no members will
19586
- # result in an error.
20293
+ # Associates a list of `members` to a `role`. Optionally may specify a `
20294
+ # condition` that determines when binding is in effect. `bindings` with no
20295
+ # members will result in an error.
19587
20296
  # Corresponds to the JSON property `bindings`
19588
20297
  # @return [Array<Google::Apis::ComputeBeta::Binding>]
19589
20298
  attr_accessor :bindings
@@ -19596,7 +20305,9 @@ module Google
19596
20305
  # that etag in the request to `setIamPolicy` to ensure that their change will be
19597
20306
  # applied to the same version of the policy.
19598
20307
  # If no `etag` is provided in the call to `setIamPolicy`, then the existing
19599
- # policy is overwritten.
20308
+ # policy is overwritten. Due to blind-set semantics of an etag-less policy, '
20309
+ # setIamPolicy' will not fail even if either of incoming or stored policy does
20310
+ # not meet the version requirements.
19600
20311
  # Corresponds to the JSON property `etag`
19601
20312
  # NOTE: Values are automatically base64 encoded/decoded in the client library.
19602
20313
  # @return [String]
@@ -19622,9 +20333,13 @@ module Google
19622
20333
  # Specifies the format of the policy.
19623
20334
  # Valid values are 0, 1, and 3. Requests specifying an invalid value will be
19624
20335
  # rejected.
19625
- # Policies with any conditional bindings must specify version 3. Policies
19626
- # without any conditional bindings may specify any valid value or leave the
19627
- # field unset.
20336
+ # Operations affecting conditional bindings must specify version 3. This can be
20337
+ # either setting a conditional policy, modifying a conditional binding, or
20338
+ # removing a conditional binding from the stored conditional policy. Operations
20339
+ # on non-conditional policies may specify any valid value or leave the field
20340
+ # unset.
20341
+ # If no etag is provided in the call to `setIamPolicy`, any version compliance
20342
+ # checks on the incoming and/or stored policy is skipped.
19628
20343
  # Corresponds to the JSON property `version`
19629
20344
  # @return [Fixnum]
19630
20345
  attr_accessor :version
@@ -21147,19 +21862,28 @@ module Google
21147
21862
 
21148
21863
  # Defines an Identity and Access Management (IAM) policy. It is used to specify
21149
21864
  # access control policies for Cloud Platform resources.
21150
- # A `Policy` consists of a list of `bindings`. A `binding` binds a list of `
21151
- # members` to a `role`, where the members can be user accounts, Google groups,
21152
- # Google domains, and service accounts. A `role` is a named list of permissions
21153
- # defined by IAM.
21865
+ # A `Policy` is a collection of `bindings`. A `binding` binds one or more `
21866
+ # members` to a single `role`. Members can be user accounts, service accounts,
21867
+ # Google groups, and domains (such as G Suite). A `role` is a named list of
21868
+ # permissions (defined by IAM or configured by users). A `binding` can
21869
+ # optionally specify a `condition`, which is a logic expression that further
21870
+ # constrains the role binding based on attributes about the request and/or
21871
+ # target resource.
21154
21872
  # **JSON Example**
21155
- # ` "bindings": [ ` "role": "roles/owner", "members": [ "user:mike@example.com",
21156
- # "group:admins@example.com", "domain:google.com", "serviceAccount:my-other-app@
21157
- # appspot.gserviceaccount.com" ] `, ` "role": "roles/viewer", "members": ["user:
21158
- # sean@example.com"] ` ] `
21873
+ # ` "bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members":
21874
+ # [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
21875
+ # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
21876
+ # roles/resourcemanager.organizationViewer", "members": ["user:eve@example.com"],
21877
+ # "condition": ` "title": "expirable access", "description": "Does not grant
21878
+ # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
21879
+ # 00:00.000Z')", ` ` ] `
21159
21880
  # **YAML Example**
21160
21881
  # bindings: - members: - user:mike@example.com - group:admins@example.com -
21161
- # domain:google.com - serviceAccount:my-other-app@appspot.gserviceaccount.com
21162
- # role: roles/owner - members: - user:sean@example.com role: roles/viewer
21882
+ # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
21883
+ # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
21884
+ # com role: roles/resourcemanager.organizationViewer condition: title: expirable
21885
+ # access description: Does not grant access after Sep 2020 expression: request.
21886
+ # time < timestamp('2020-10-01T00:00:00.000Z')
21163
21887
  # For a description of IAM and its features, see the [IAM developer's guide](
21164
21888
  # https://cloud.google.com/iam/docs).
21165
21889
  # Corresponds to the JSON property `policy`
@@ -22502,8 +23226,7 @@ module Google
22502
23226
  # or full URL. For example, the following are all valid URLs:
22503
23227
  # - https://www.googleapis.com/compute/v1/projects/project/regions/region/
22504
23228
  # forwardingRules/forwardingRule
22505
- # - regions/region/forwardingRules/forwardingRule Note that this can only be
22506
- # used when the destination_range is a public (non-RFC 1918) IP CIDR range.
23229
+ # - regions/region/forwardingRules/forwardingRule
22507
23230
  # Corresponds to the JSON property `nextHopIlb`
22508
23231
  # @return [String]
22509
23232
  attr_accessor :next_hop_ilb
@@ -27329,12 +28052,14 @@ module Google
27329
28052
  attr_accessor :name
27330
28053
 
27331
28054
  # Specifies the QUIC override policy for this TargetHttpsProxy resource. This
27332
- # determines whether the load balancer will attempt to negotiate QUIC with
27333
- # clients or not. Can specify one of NONE, ENABLE, or DISABLE. Specify ENABLE to
27334
- # always enable QUIC, Enables QUIC when set to ENABLE, and disables QUIC when
27335
- # set to DISABLE. If NONE is specified, uses the QUIC policy with no user
27336
- # overrides, which is equivalent to DISABLE. Not specifying this field is
27337
- # equivalent to specifying NONE.
28055
+ # setting determines whether the load balancer attempts to negotiate QUIC with
28056
+ # clients. You can specify NONE, ENABLE, or DISABLE.
28057
+ # - When quic-override is set to NONE, Google manages whether QUIC is used.
28058
+ # - When quic-override is set to ENABLE, the load balancer uses QUIC when
28059
+ # possible.
28060
+ # - When quic-override is set to DISABLE, the load balancer doesn't use QUIC.
28061
+ # - If the quic-override flag is not specified, NONE is implied.
28062
+ # -
27338
28063
  # Corresponds to the JSON property `quicOverride`
27339
28064
  # @return [String]
27340
28065
  attr_accessor :quic_override
@@ -27358,8 +28083,8 @@ module Google
27358
28083
  attr_accessor :ssl_certificates
27359
28084
 
27360
28085
  # URL of SslPolicy resource that will be associated with the TargetHttpsProxy
27361
- # resource. If not set, the TargetHttpsProxy resource will not have any SSL
27362
- # policy configured.
28086
+ # resource. If not set, the TargetHttpsProxy resource has no SSL policy
28087
+ # configured.
27363
28088
  # Corresponds to the JSON property `sslPolicy`
27364
28089
  # @return [String]
27365
28090
  attr_accessor :ssl_policy
@@ -31443,6 +32168,17 @@ module Google
31443
32168
  # - NEGOTIATION_FAILURE: Handshake failed.
31444
32169
  # - DEPROVISIONING: Resources are being deallocated for the VPN tunnel.
31445
32170
  # - FAILED: Tunnel creation has failed and the tunnel is not ready to be used.
32171
+ # - NO_INCOMING_PACKETS: No incoming packets from peer.
32172
+ # - REJECTED: Tunnel configuration was rejected, can be result of being
32173
+ # blacklisted.
32174
+ # - ALLOCATING_RESOURCES: Cloud VPN is in the process of allocating all required
32175
+ # resources.
32176
+ # - STOPPED: Tunnel is stopped due to its Forwarding Rules being deleted for
32177
+ # Classic VPN tunnels or the project is in frozen state.
32178
+ # - PEER_IDENTITY_MISMATCH: Peer identity does not match peer IP, probably
32179
+ # behind NAT.
32180
+ # - TS_NARROWING_NOT_ALLOWED: Traffic selector narrowing not allowed for an HA-
32181
+ # VPN tunnel.
31446
32182
  # Corresponds to the JSON property `status`
31447
32183
  # @return [String]
31448
32184
  attr_accessor :status
@@ -32312,19 +33048,28 @@ module Google
32312
33048
 
32313
33049
  # Defines an Identity and Access Management (IAM) policy. It is used to specify
32314
33050
  # access control policies for Cloud Platform resources.
32315
- # A `Policy` consists of a list of `bindings`. A `binding` binds a list of `
32316
- # members` to a `role`, where the members can be user accounts, Google groups,
32317
- # Google domains, and service accounts. A `role` is a named list of permissions
32318
- # defined by IAM.
33051
+ # A `Policy` is a collection of `bindings`. A `binding` binds one or more `
33052
+ # members` to a single `role`. Members can be user accounts, service accounts,
33053
+ # Google groups, and domains (such as G Suite). A `role` is a named list of
33054
+ # permissions (defined by IAM or configured by users). A `binding` can
33055
+ # optionally specify a `condition`, which is a logic expression that further
33056
+ # constrains the role binding based on attributes about the request and/or
33057
+ # target resource.
32319
33058
  # **JSON Example**
32320
- # ` "bindings": [ ` "role": "roles/owner", "members": [ "user:mike@example.com",
32321
- # "group:admins@example.com", "domain:google.com", "serviceAccount:my-other-app@
32322
- # appspot.gserviceaccount.com" ] `, ` "role": "roles/viewer", "members": ["user:
32323
- # sean@example.com"] ` ] `
33059
+ # ` "bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members":
33060
+ # [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
33061
+ # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
33062
+ # roles/resourcemanager.organizationViewer", "members": ["user:eve@example.com"],
33063
+ # "condition": ` "title": "expirable access", "description": "Does not grant
33064
+ # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
33065
+ # 00:00.000Z')", ` ` ] `
32324
33066
  # **YAML Example**
32325
33067
  # bindings: - members: - user:mike@example.com - group:admins@example.com -
32326
- # domain:google.com - serviceAccount:my-other-app@appspot.gserviceaccount.com
32327
- # role: roles/owner - members: - user:sean@example.com role: roles/viewer
33068
+ # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
33069
+ # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
33070
+ # com role: roles/resourcemanager.organizationViewer condition: title: expirable
33071
+ # access description: Does not grant access after Sep 2020 expression: request.
33072
+ # time < timestamp('2020-10-01T00:00:00.000Z')
32328
33073
  # For a description of IAM and its features, see the [IAM developer's guide](
32329
33074
  # https://cloud.google.com/iam/docs).
32330
33075
  # Corresponds to the JSON property `policy`