google-api-client 0.33.0 → 0.33.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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`