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 ComputeV1
27
27
  VERSION = 'V1'
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'
@@ -2485,16 +2485,10 @@ module Google
2485
2485
  end
2486
2486
 
2487
2487
  # Represents a Backend Service resource.
2488
- # Backend services must have an associated health check. Backend services also
2489
- # store information about session affinity. For more information, read Backend
2490
- # Services.
2491
- # A backendServices resource represents a global backend service. Global backend
2492
- # services are used for HTTP(S), SSL Proxy, TCP Proxy load balancing and Traffic
2493
- # Director.
2494
- # A regionBackendServices resource represents a regional backend service.
2495
- # Regional backend services are used for internal TCP/UDP load balancing. For
2496
- # more information, read Internal TCP/UDP Load balancing. (== resource_for v1.
2497
- # backendService ==) (== resource_for beta.backendService ==)
2488
+ # A backend service contains configuration values for Google Cloud Platform load
2489
+ # balancing services.
2490
+ # For more information, read Backend Services.
2491
+ # (== resource_for v1.backendService ==) (== resource_for beta.backendService ==)
2498
2492
  class BackendService
2499
2493
  include Google::Apis::Core::Hashable
2500
2494
 
@@ -2592,9 +2586,12 @@ module Google
2592
2586
  # @return [String]
2593
2587
  attr_accessor :kind
2594
2588
 
2595
- # Indicates whether the backend service will be used with internal or external
2596
- # load balancing. A backend service created for one type of load balancing
2597
- # cannot be used with the other. Possible values are INTERNAL and EXTERNAL.
2589
+ # Specifies the load balancer type. Choose EXTERNAL for load balancers that
2590
+ # receive traffic from external clients. Choose INTERNAL for Internal TCP/UDP
2591
+ # Load Balancing. Choose INTERNAL_MANAGED for Internal HTTP(S) Load Balancing.
2592
+ # Choose INTERNAL_SELF_MANAGED for Traffic Director. A backend service created
2593
+ # for one type of load balancing cannot be used with another. For more
2594
+ # information, refer to Choosing a load balancer.
2598
2595
  # Corresponds to the JSON property `loadBalancingScheme`
2599
2596
  # @return [String]
2600
2597
  attr_accessor :load_balancing_scheme
@@ -2661,9 +2658,10 @@ module Google
2661
2658
  attr_accessor :port_name
2662
2659
 
2663
2660
  # The protocol this BackendService uses to communicate with backends.
2664
- # Possible values are HTTP, HTTPS, TCP, SSL, or UDP, depending on the chosen
2665
- # load balancer or Traffic Director configuration. Refer to the documentation
2666
- # for the load balancer or for Traffic director for more information.
2661
+ # Possible values are HTTP, HTTPS, HTTP2, TCP, SSL, or UDP, depending on the
2662
+ # chosen load balancer or Traffic Director configuration. Refer to the
2663
+ # documentation for the load balancer or for Traffic Director for more
2664
+ # information.
2667
2665
  # Corresponds to the JSON property `protocol`
2668
2666
  # @return [String]
2669
2667
  attr_accessor :protocol
@@ -6109,27 +6107,12 @@ module Google
6109
6107
  end
6110
6108
 
6111
6109
  # Represents a Forwarding Rule resource.
6112
- # A forwardingRules resource represents a regional forwarding rule.
6113
- # Regional external forwarding rules can reference any of the following
6114
- # resources:
6115
- #
6116
- # - A target instance
6117
- # - A Cloud VPN Classic gateway (targetVpnGateway),
6118
- # - A target pool for a Network Load Balancer
6119
- # - A global target HTTP(S) proxy for an HTTP(S) load balancer using Standard
6120
- # Tier
6121
- # - A target SSL proxy for a SSL Proxy load balancer using Standard Tier
6122
- # - A target TCP proxy for a TCP Proxy load balancer using Standard Tier.
6123
- # Regional internal forwarding rules can reference the backend service of an
6124
- # internal TCP/UDP load balancer.
6125
- # For regional internal forwarding rules, the following applies:
6126
- # - If the loadBalancingScheme for the load balancer is INTERNAL, then the
6127
- # forwarding rule references a regional internal backend service.
6128
- # - If the loadBalancingScheme for the load balancer is INTERNAL_MANAGED, then
6129
- # the forwarding rule must reference a regional target HTTP(S) proxy.
6130
- # For more information, read Using Forwarding rules.
6131
- # A globalForwardingRules resource represents a global forwarding rule.
6132
- # Global forwarding rules are only used by load balancers that use Premium Tier.
6110
+ # A forwarding rule and its corresponding IP address represent the frontend
6111
+ # configuration of a Google Cloud Platform load balancer. Forwarding rules can
6112
+ # also reference target instances and Cloud VPN Classic gateways (
6113
+ # targetVpnGateway).
6114
+ # For more information, read Forwarding rule concepts and Using protocol
6115
+ # forwarding.
6133
6116
  # (== resource_for beta.forwardingRules ==) (== resource_for v1.forwardingRules =
6134
6117
  # =) (== resource_for beta.globalForwardingRules ==) (== resource_for v1.
6135
6118
  # globalForwardingRules ==) (== resource_for beta.regionForwardingRules ==) (==
@@ -6157,8 +6140,14 @@ module Google
6157
6140
 
6158
6141
  # The IP protocol to which this rule applies. Valid options are TCP, UDP, ESP,
6159
6142
  # AH, SCTP or ICMP.
6160
- # When the load balancing scheme is INTERNAL, only TCP and UDP are valid. When
6161
- # the load balancing scheme is INTERNAL_SELF_MANAGED, only TCPis valid.
6143
+ # For Internal TCP/UDP Load Balancing, the load balancing scheme is INTERNAL,
6144
+ # and one of TCP or UDP are valid. For Traffic Director, the load balancing
6145
+ # scheme is INTERNAL_SELF_MANAGED, and only TCPis valid. For Internal HTTP(S)
6146
+ # Load Balancing, the load balancing scheme is INTERNAL_MANAGED, and only TCP is
6147
+ # valid. For HTTP(S), SSL Proxy, and TCP Proxy Load Balancing, the load
6148
+ # balancing scheme is EXTERNAL and only TCP is valid. For Network TCP/UDP Load
6149
+ # Balancing, the load balancing scheme is EXTERNAL, and one of TCP or UDP is
6150
+ # valid.
6162
6151
  # Corresponds to the JSON property `IPProtocol`
6163
6152
  # @return [String]
6164
6153
  attr_accessor :ip_protocol
@@ -6211,12 +6200,14 @@ module Google
6211
6200
  # @return [String]
6212
6201
  attr_accessor :kind
6213
6202
 
6214
- # This signifies what the ForwardingRule will be used for and can only take the
6215
- # following values: INTERNAL, INTERNAL_SELF_MANAGED, EXTERNAL. The value of
6216
- # INTERNAL means that this will be used for Internal Network Load Balancing (TCP,
6217
- # UDP). The value of INTERNAL_SELF_MANAGED means that this will be used for
6218
- # Internal Global HTTP(S) LB. The value of EXTERNAL means that this will be used
6219
- # for External Load Balancing (HTTP(S) LB, External TCP/UDP LB, SSL Proxy)
6203
+ # Specifies the forwarding rule type. EXTERNAL is used for: - Classic Cloud VPN
6204
+ # gateways - Protocol forwarding to VMs from an external IP address - The
6205
+ # following load balancers: HTTP(S), SSL Proxy, TCP Proxy, and Network TCP/UDP.
6206
+ # INTERNAL is used for: - Protocol forwarding to VMs from an internal IP address
6207
+ # - Internal TCP/UDP load balancers
6208
+ # INTERNAL_MANAGED is used for: - Internal HTTP(S) load balancers
6209
+ # INTERNAL_SELF_MANAGED is used for: - Traffic Director
6210
+ # For more information about forwarding rules, refer to Forwarding rule concepts.
6220
6211
  # Corresponds to the JSON property `loadBalancingScheme`
6221
6212
  # @return [String]
6222
6213
  attr_accessor :load_balancing_scheme
@@ -6788,19 +6779,28 @@ module Google
6788
6779
 
6789
6780
  # Defines an Identity and Access Management (IAM) policy. It is used to specify
6790
6781
  # access control policies for Cloud Platform resources.
6791
- # A `Policy` consists of a list of `bindings`. A `binding` binds a list of `
6792
- # members` to a `role`, where the members can be user accounts, Google groups,
6793
- # Google domains, and service accounts. A `role` is a named list of permissions
6794
- # defined by IAM.
6782
+ # A `Policy` is a collection of `bindings`. A `binding` binds one or more `
6783
+ # members` to a single `role`. Members can be user accounts, service accounts,
6784
+ # Google groups, and domains (such as G Suite). A `role` is a named list of
6785
+ # permissions (defined by IAM or configured by users). A `binding` can
6786
+ # optionally specify a `condition`, which is a logic expression that further
6787
+ # constrains the role binding based on attributes about the request and/or
6788
+ # target resource.
6795
6789
  # **JSON Example**
6796
- # ` "bindings": [ ` "role": "roles/owner", "members": [ "user:mike@example.com",
6797
- # "group:admins@example.com", "domain:google.com", "serviceAccount:my-other-app@
6798
- # appspot.gserviceaccount.com" ] `, ` "role": "roles/viewer", "members": ["user:
6799
- # sean@example.com"] ` ] `
6790
+ # ` "bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members":
6791
+ # [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
6792
+ # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
6793
+ # roles/resourcemanager.organizationViewer", "members": ["user:eve@example.com"],
6794
+ # "condition": ` "title": "expirable access", "description": "Does not grant
6795
+ # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
6796
+ # 00:00.000Z')", ` ` ] `
6800
6797
  # **YAML Example**
6801
6798
  # bindings: - members: - user:mike@example.com - group:admins@example.com -
6802
- # domain:google.com - serviceAccount:my-other-app@appspot.gserviceaccount.com
6803
- # role: roles/owner - members: - user:sean@example.com role: roles/viewer
6799
+ # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
6800
+ # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
6801
+ # com role: roles/resourcemanager.organizationViewer condition: title: expirable
6802
+ # access description: Does not grant access after Sep 2020 expression: request.
6803
+ # time < timestamp('2020-10-01T00:00:00.000Z')
6804
6804
  # For a description of IAM and its features, see the [IAM developer's guide](
6805
6805
  # https://cloud.google.com/iam/docs).
6806
6806
  # Corresponds to the JSON property `policy`
@@ -8506,6 +8506,12 @@ module Google
8506
8506
  class HttpRouteRule
8507
8507
  include Google::Apis::Core::Hashable
8508
8508
 
8509
+ # The short description conveying the intent of this routeRule.
8510
+ # The description can have a maximum length of 1024 characters.
8511
+ # Corresponds to the JSON property `description`
8512
+ # @return [String]
8513
+ attr_accessor :description
8514
+
8509
8515
  # The request and response header transformations that take effect before the
8510
8516
  # request is passed along to the selected backendService.
8511
8517
  # Corresponds to the JSON property `headerAction`
@@ -8517,6 +8523,22 @@ module Google
8517
8523
  # @return [Array<Google::Apis::ComputeV1::HttpRouteRuleMatch>]
8518
8524
  attr_accessor :match_rules
8519
8525
 
8526
+ # For routeRules within a given pathMatcher, priority determines the order in
8527
+ # which load balancer will interpret routeRules. RouteRules are evaluated in
8528
+ # order of priority, from the lowest to highest number. The priority of a rule
8529
+ # decreases as its number increases (1, 2, 3, N+1). The first rule that matches
8530
+ # the request is applied.
8531
+ # You cannot configure two or more routeRules with the same priority. Priority
8532
+ # for each rule must be set to a number between 0 and 2147483647 inclusive.
8533
+ # Priority numbers can have gaps, which enable you to add or remove rules in the
8534
+ # future without affecting the rest of the rules. For example, 1, 2, 3, 4, 5, 9,
8535
+ # 12, 16 is a valid series of priority numbers to which you could add rules
8536
+ # numbered from 6 to 8, 10 to 11, and 13 to 15 in the future without any impact
8537
+ # on existing rules.
8538
+ # Corresponds to the JSON property `priority`
8539
+ # @return [Fixnum]
8540
+ attr_accessor :priority
8541
+
8520
8542
  # In response to a matching matchRule, the load balancer performs advanced
8521
8543
  # routing actions like URL rewrites, header transformations, etc. prior to
8522
8544
  # forwarding the request to the selected backend. If routeAction specifies any
@@ -8550,8 +8572,10 @@ module Google
8550
8572
 
8551
8573
  # Update properties of this object
8552
8574
  def update!(**args)
8575
+ @description = args[:description] if args.key?(:description)
8553
8576
  @header_action = args[:header_action] if args.key?(:header_action)
8554
8577
  @match_rules = args[:match_rules] if args.key?(:match_rules)
8578
+ @priority = args[:priority] if args.key?(:priority)
8555
8579
  @route_action = args[:route_action] if args.key?(:route_action)
8556
8580
  @service = args[:service] if args.key?(:service)
8557
8581
  @url_redirect = args[:url_redirect] if args.key?(:url_redirect)
@@ -13948,6 +13972,11 @@ module Google
13948
13972
  class LogConfigCounterOptions
13949
13973
  include Google::Apis::Core::Hashable
13950
13974
 
13975
+ # Custom fields.
13976
+ # Corresponds to the JSON property `customFields`
13977
+ # @return [Array<Google::Apis::ComputeV1::LogConfigCounterOptionsCustomField>]
13978
+ attr_accessor :custom_fields
13979
+
13951
13980
  # The field value to attribute.
13952
13981
  # Corresponds to the JSON property `field`
13953
13982
  # @return [String]
@@ -13964,11 +13993,40 @@ module Google
13964
13993
 
13965
13994
  # Update properties of this object
13966
13995
  def update!(**args)
13996
+ @custom_fields = args[:custom_fields] if args.key?(:custom_fields)
13967
13997
  @field = args[:field] if args.key?(:field)
13968
13998
  @metric = args[:metric] if args.key?(:metric)
13969
13999
  end
13970
14000
  end
13971
14001
 
14002
+ # Custom fields. These can be used to create a counter with arbitrary field/
14003
+ # value pairs. See: go/rpcsp-custom-fields.
14004
+ class LogConfigCounterOptionsCustomField
14005
+ include Google::Apis::Core::Hashable
14006
+
14007
+ # Name is the field name.
14008
+ # Corresponds to the JSON property `name`
14009
+ # @return [String]
14010
+ attr_accessor :name
14011
+
14012
+ # Value is the field value. It is important that in contrast to the
14013
+ # CounterOptions.field, the value here is a constant that is not derived from
14014
+ # the IAMContext.
14015
+ # Corresponds to the JSON property `value`
14016
+ # @return [String]
14017
+ attr_accessor :value
14018
+
14019
+ def initialize(**args)
14020
+ update!(**args)
14021
+ end
14022
+
14023
+ # Update properties of this object
14024
+ def update!(**args)
14025
+ @name = args[:name] if args.key?(:name)
14026
+ @value = args[:value] if args.key?(:value)
14027
+ end
14028
+ end
14029
+
13972
14030
  # Write a Data Access (Gin) log
13973
14031
  class LogConfigDataAccessOptions
13974
14032
  include Google::Apis::Core::Hashable
@@ -18377,19 +18435,28 @@ module Google
18377
18435
 
18378
18436
  # Defines an Identity and Access Management (IAM) policy. It is used to specify
18379
18437
  # access control policies for Cloud Platform resources.
18380
- # A `Policy` consists of a list of `bindings`. A `binding` binds a list of `
18381
- # members` to a `role`, where the members can be user accounts, Google groups,
18382
- # Google domains, and service accounts. A `role` is a named list of permissions
18383
- # defined by IAM.
18438
+ # A `Policy` is a collection of `bindings`. A `binding` binds one or more `
18439
+ # members` to a single `role`. Members can be user accounts, service accounts,
18440
+ # Google groups, and domains (such as G Suite). A `role` is a named list of
18441
+ # permissions (defined by IAM or configured by users). A `binding` can
18442
+ # optionally specify a `condition`, which is a logic expression that further
18443
+ # constrains the role binding based on attributes about the request and/or
18444
+ # target resource.
18384
18445
  # **JSON Example**
18385
- # ` "bindings": [ ` "role": "roles/owner", "members": [ "user:mike@example.com",
18386
- # "group:admins@example.com", "domain:google.com", "serviceAccount:my-other-app@
18387
- # appspot.gserviceaccount.com" ] `, ` "role": "roles/viewer", "members": ["user:
18388
- # sean@example.com"] ` ] `
18446
+ # ` "bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members":
18447
+ # [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
18448
+ # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
18449
+ # roles/resourcemanager.organizationViewer", "members": ["user:eve@example.com"],
18450
+ # "condition": ` "title": "expirable access", "description": "Does not grant
18451
+ # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
18452
+ # 00:00.000Z')", ` ` ] `
18389
18453
  # **YAML Example**
18390
18454
  # bindings: - members: - user:mike@example.com - group:admins@example.com -
18391
- # domain:google.com - serviceAccount:my-other-app@appspot.gserviceaccount.com
18392
- # role: roles/owner - members: - user:sean@example.com role: roles/viewer
18455
+ # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
18456
+ # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
18457
+ # com role: roles/resourcemanager.organizationViewer condition: title: expirable
18458
+ # access description: Does not grant access after Sep 2020 expression: request.
18459
+ # time < timestamp('2020-10-01T00:00:00.000Z')
18393
18460
  # For a description of IAM and its features, see the [IAM developer's guide](
18394
18461
  # https://cloud.google.com/iam/docs).
18395
18462
  class Policy
@@ -18400,8 +18467,9 @@ module Google
18400
18467
  # @return [Array<Google::Apis::ComputeV1::AuditConfig>]
18401
18468
  attr_accessor :audit_configs
18402
18469
 
18403
- # Associates a list of `members` to a `role`. `bindings` with no members will
18404
- # result in an error.
18470
+ # Associates a list of `members` to a `role`. Optionally may specify a `
18471
+ # condition` that determines when binding is in effect. `bindings` with no
18472
+ # members will result in an error.
18405
18473
  # Corresponds to the JSON property `bindings`
18406
18474
  # @return [Array<Google::Apis::ComputeV1::Binding>]
18407
18475
  attr_accessor :bindings
@@ -18414,7 +18482,9 @@ module Google
18414
18482
  # that etag in the request to `setIamPolicy` to ensure that their change will be
18415
18483
  # applied to the same version of the policy.
18416
18484
  # If no `etag` is provided in the call to `setIamPolicy`, then the existing
18417
- # policy is overwritten.
18485
+ # policy is overwritten. Due to blind-set semantics of an etag-less policy, '
18486
+ # setIamPolicy' will not fail even if either of incoming or stored policy does
18487
+ # not meet the version requirements.
18418
18488
  # Corresponds to the JSON property `etag`
18419
18489
  # NOTE: Values are automatically base64 encoded/decoded in the client library.
18420
18490
  # @return [String]
@@ -18440,9 +18510,13 @@ module Google
18440
18510
  # Specifies the format of the policy.
18441
18511
  # Valid values are 0, 1, and 3. Requests specifying an invalid value will be
18442
18512
  # rejected.
18443
- # Policies with any conditional bindings must specify version 3. Policies
18444
- # without any conditional bindings may specify any valid value or leave the
18445
- # field unset.
18513
+ # Operations affecting conditional bindings must specify version 3. This can be
18514
+ # either setting a conditional policy, modifying a conditional binding, or
18515
+ # removing a conditional binding from the stored conditional policy. Operations
18516
+ # on non-conditional policies may specify any valid value or leave the field
18517
+ # unset.
18518
+ # If no etag is provided in the call to `setIamPolicy`, any version compliance
18519
+ # checks on the incoming and/or stored policy is skipped.
18446
18520
  # Corresponds to the JSON property `version`
18447
18521
  # @return [Fixnum]
18448
18522
  attr_accessor :version
@@ -19832,19 +19906,28 @@ module Google
19832
19906
 
19833
19907
  # Defines an Identity and Access Management (IAM) policy. It is used to specify
19834
19908
  # access control policies for Cloud Platform resources.
19835
- # A `Policy` consists of a list of `bindings`. A `binding` binds a list of `
19836
- # members` to a `role`, where the members can be user accounts, Google groups,
19837
- # Google domains, and service accounts. A `role` is a named list of permissions
19838
- # defined by IAM.
19909
+ # A `Policy` is a collection of `bindings`. A `binding` binds one or more `
19910
+ # members` to a single `role`. Members can be user accounts, service accounts,
19911
+ # Google groups, and domains (such as G Suite). A `role` is a named list of
19912
+ # permissions (defined by IAM or configured by users). A `binding` can
19913
+ # optionally specify a `condition`, which is a logic expression that further
19914
+ # constrains the role binding based on attributes about the request and/or
19915
+ # target resource.
19839
19916
  # **JSON Example**
19840
- # ` "bindings": [ ` "role": "roles/owner", "members": [ "user:mike@example.com",
19841
- # "group:admins@example.com", "domain:google.com", "serviceAccount:my-other-app@
19842
- # appspot.gserviceaccount.com" ] `, ` "role": "roles/viewer", "members": ["user:
19843
- # sean@example.com"] ` ] `
19917
+ # ` "bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members":
19918
+ # [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
19919
+ # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
19920
+ # roles/resourcemanager.organizationViewer", "members": ["user:eve@example.com"],
19921
+ # "condition": ` "title": "expirable access", "description": "Does not grant
19922
+ # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
19923
+ # 00:00.000Z')", ` ` ] `
19844
19924
  # **YAML Example**
19845
19925
  # bindings: - members: - user:mike@example.com - group:admins@example.com -
19846
- # domain:google.com - serviceAccount:my-other-app@appspot.gserviceaccount.com
19847
- # role: roles/owner - members: - user:sean@example.com role: roles/viewer
19926
+ # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
19927
+ # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
19928
+ # com role: roles/resourcemanager.organizationViewer condition: title: expirable
19929
+ # access description: Does not grant access after Sep 2020 expression: request.
19930
+ # time < timestamp('2020-10-01T00:00:00.000Z')
19848
19931
  # For a description of IAM and its features, see the [IAM developer's guide](
19849
19932
  # https://cloud.google.com/iam/docs).
19850
19933
  # Corresponds to the JSON property `policy`
@@ -21182,6 +21265,16 @@ module Google
21182
21265
  # @return [String]
21183
21266
  attr_accessor :next_hop_gateway
21184
21267
 
21268
+ # The URL to a forwarding rule of type loadBalancingScheme=INTERNAL that should
21269
+ # handle matching packets. You can only specify the forwarding rule as a partial
21270
+ # or full URL. For example, the following are all valid URLs:
21271
+ # - https://www.googleapis.com/compute/v1/projects/project/regions/region/
21272
+ # forwardingRules/forwardingRule
21273
+ # - regions/region/forwardingRules/forwardingRule
21274
+ # Corresponds to the JSON property `nextHopIlb`
21275
+ # @return [String]
21276
+ attr_accessor :next_hop_ilb
21277
+
21185
21278
  # The URL to an instance that should handle matching packets. You can specify
21186
21279
  # this as a full or partial URL. For example:
21187
21280
  # https://www.googleapis.com/compute/v1/projects/project/zones/zone/instances/
@@ -21250,6 +21343,7 @@ module Google
21250
21343
  @name = args[:name] if args.key?(:name)
21251
21344
  @network = args[:network] if args.key?(:network)
21252
21345
  @next_hop_gateway = args[:next_hop_gateway] if args.key?(:next_hop_gateway)
21346
+ @next_hop_ilb = args[:next_hop_ilb] if args.key?(:next_hop_ilb)
21253
21347
  @next_hop_instance = args[:next_hop_instance] if args.key?(:next_hop_instance)
21254
21348
  @next_hop_ip = args[:next_hop_ip] if args.key?(:next_hop_ip)
21255
21349
  @next_hop_network = args[:next_hop_network] if args.key?(:next_hop_network)
@@ -22016,6 +22110,13 @@ module Google
22016
22110
  class RouterNat
22017
22111
  include Google::Apis::Core::Hashable
22018
22112
 
22113
+ # A list of URLs of the IP resources to be drained. These IPs must be valid
22114
+ # static external IPs that have been assigned to the NAT. These IPs should be
22115
+ # used for updating/patching a NAT only.
22116
+ # Corresponds to the JSON property `drainNatIps`
22117
+ # @return [Array<String>]
22118
+ attr_accessor :drain_nat_ips
22119
+
22019
22120
  # Timeout (in seconds) for ICMP connections. Defaults to 30s if not set.
22020
22121
  # Corresponds to the JSON property `icmpIdleTimeoutSec`
22021
22122
  # @return [Fixnum]
@@ -22100,6 +22201,7 @@ module Google
22100
22201
 
22101
22202
  # Update properties of this object
22102
22203
  def update!(**args)
22204
+ @drain_nat_ips = args[:drain_nat_ips] if args.key?(:drain_nat_ips)
22103
22205
  @icmp_idle_timeout_sec = args[:icmp_idle_timeout_sec] if args.key?(:icmp_idle_timeout_sec)
22104
22206
  @log_config = args[:log_config] if args.key?(:log_config)
22105
22207
  @min_ports_per_vm = args[:min_ports_per_vm] if args.key?(:min_ports_per_vm)
@@ -22303,6 +22405,18 @@ module Google
22303
22405
  # @return [Array<String>]
22304
22406
  attr_accessor :auto_allocated_nat_ips
22305
22407
 
22408
+ # A list of IPs auto-allocated for NAT that are in drain mode. Example: ["1.1.1.
22409
+ # 1", ?179.12.26.133?].
22410
+ # Corresponds to the JSON property `drainAutoAllocatedNatIps`
22411
+ # @return [Array<String>]
22412
+ attr_accessor :drain_auto_allocated_nat_ips
22413
+
22414
+ # A list of IPs user-allocated for NAT that are in drain mode. Example: ["1.1.1.
22415
+ # 1", ?179.12.26.133?].
22416
+ # Corresponds to the JSON property `drainUserAllocatedNatIps`
22417
+ # @return [Array<String>]
22418
+ attr_accessor :drain_user_allocated_nat_ips
22419
+
22306
22420
  # The number of extra IPs to allocate. This will be greater than 0 only if user-
22307
22421
  # specified IPs are NOT enough to allow all configured VMs to use NAT. This
22308
22422
  # value is meaningful only when auto-allocation of NAT IPs is *not* used.
@@ -22338,6 +22452,8 @@ module Google
22338
22452
  # Update properties of this object
22339
22453
  def update!(**args)
22340
22454
  @auto_allocated_nat_ips = args[:auto_allocated_nat_ips] if args.key?(:auto_allocated_nat_ips)
22455
+ @drain_auto_allocated_nat_ips = args[:drain_auto_allocated_nat_ips] if args.key?(:drain_auto_allocated_nat_ips)
22456
+ @drain_user_allocated_nat_ips = args[:drain_user_allocated_nat_ips] if args.key?(:drain_user_allocated_nat_ips)
22341
22457
  @min_extra_nat_ips_needed = args[:min_extra_nat_ips_needed] if args.key?(:min_extra_nat_ips_needed)
22342
22458
  @name = args[:name] if args.key?(:name)
22343
22459
  @num_vm_endpoints_with_nat_mappings = args[:num_vm_endpoints_with_nat_mappings] if args.key?(:num_vm_endpoints_with_nat_mappings)
@@ -25528,12 +25644,14 @@ module Google
25528
25644
  attr_accessor :name
25529
25645
 
25530
25646
  # Specifies the QUIC override policy for this TargetHttpsProxy resource. This
25531
- # determines whether the load balancer will attempt to negotiate QUIC with
25532
- # clients or not. Can specify one of NONE, ENABLE, or DISABLE. Specify ENABLE to
25533
- # always enable QUIC, Enables QUIC when set to ENABLE, and disables QUIC when
25534
- # set to DISABLE. If NONE is specified, uses the QUIC policy with no user
25535
- # overrides, which is equivalent to DISABLE. Not specifying this field is
25536
- # equivalent to specifying NONE.
25647
+ # setting determines whether the load balancer attempts to negotiate QUIC with
25648
+ # clients. You can specify NONE, ENABLE, or DISABLE.
25649
+ # - When quic-override is set to NONE, Google manages whether QUIC is used.
25650
+ # - When quic-override is set to ENABLE, the load balancer uses QUIC when
25651
+ # possible.
25652
+ # - When quic-override is set to DISABLE, the load balancer doesn't use QUIC.
25653
+ # - If the quic-override flag is not specified, NONE is implied.
25654
+ # -
25537
25655
  # Corresponds to the JSON property `quicOverride`
25538
25656
  # @return [String]
25539
25657
  attr_accessor :quic_override
@@ -25557,8 +25675,8 @@ module Google
25557
25675
  attr_accessor :ssl_certificates
25558
25676
 
25559
25677
  # URL of SslPolicy resource that will be associated with the TargetHttpsProxy
25560
- # resource. If not set, the TargetHttpsProxy resource will not have any SSL
25561
- # policy configured.
25678
+ # resource. If not set, the TargetHttpsProxy resource has no SSL policy
25679
+ # configured.
25562
25680
  # Corresponds to the JSON property `sslPolicy`
25563
25681
  # @return [String]
25564
25682
  attr_accessor :ssl_policy
@@ -28710,6 +28828,13 @@ module Google
28710
28828
  class VmEndpointNatMappingsInterfaceNatMappings
28711
28829
  include Google::Apis::Core::Hashable
28712
28830
 
28831
+ # List of all drain IP:port-range mappings assigned to this interface. These
28832
+ # ranges are inclusive, that is, both the first and the last ports can be used
28833
+ # for NAT. Example: ["2.2.2.2:12345-12355", "1.1.1.1:2234-2234"].
28834
+ # Corresponds to the JSON property `drainNatIpPortRanges`
28835
+ # @return [Array<String>]
28836
+ attr_accessor :drain_nat_ip_port_ranges
28837
+
28713
28838
  # A list of all IP:port-range mappings assigned to this interface. These ranges
28714
28839
  # are inclusive, that is, both the first and the last ports can be used for NAT.
28715
28840
  # Example: ["2.2.2.2:12345-12355", "1.1.1.1:2234-2234"].
@@ -28717,6 +28842,12 @@ module Google
28717
28842
  # @return [Array<String>]
28718
28843
  attr_accessor :nat_ip_port_ranges
28719
28844
 
28845
+ # Total number of drain ports across all NAT IPs allocated to this interface. It
28846
+ # equals to the aggregated port number in the field drain_nat_ip_port_ranges.
28847
+ # Corresponds to the JSON property `numTotalDrainNatPorts`
28848
+ # @return [Fixnum]
28849
+ attr_accessor :num_total_drain_nat_ports
28850
+
28720
28851
  # Total number of ports across all NAT IPs allocated to this interface. It
28721
28852
  # equals to the aggregated port number in the field nat_ip_port_ranges.
28722
28853
  # Corresponds to the JSON property `numTotalNatPorts`
@@ -28740,7 +28871,9 @@ module Google
28740
28871
 
28741
28872
  # Update properties of this object
28742
28873
  def update!(**args)
28874
+ @drain_nat_ip_port_ranges = args[:drain_nat_ip_port_ranges] if args.key?(:drain_nat_ip_port_ranges)
28743
28875
  @nat_ip_port_ranges = args[:nat_ip_port_ranges] if args.key?(:nat_ip_port_ranges)
28876
+ @num_total_drain_nat_ports = args[:num_total_drain_nat_ports] if args.key?(:num_total_drain_nat_ports)
28744
28877
  @num_total_nat_ports = args[:num_total_nat_ports] if args.key?(:num_total_nat_ports)
28745
28878
  @source_alias_ip_range = args[:source_alias_ip_range] if args.key?(:source_alias_ip_range)
28746
28879
  @source_virtual_ip = args[:source_virtual_ip] if args.key?(:source_virtual_ip)
@@ -29586,6 +29719,17 @@ module Google
29586
29719
  # - NEGOTIATION_FAILURE: Handshake failed.
29587
29720
  # - DEPROVISIONING: Resources are being deallocated for the VPN tunnel.
29588
29721
  # - FAILED: Tunnel creation has failed and the tunnel is not ready to be used.
29722
+ # - NO_INCOMING_PACKETS: No incoming packets from peer.
29723
+ # - REJECTED: Tunnel configuration was rejected, can be result of being
29724
+ # blacklisted.
29725
+ # - ALLOCATING_RESOURCES: Cloud VPN is in the process of allocating all required
29726
+ # resources.
29727
+ # - STOPPED: Tunnel is stopped due to its Forwarding Rules being deleted for
29728
+ # Classic VPN tunnels or the project is in frozen state.
29729
+ # - PEER_IDENTITY_MISMATCH: Peer identity does not match peer IP, probably
29730
+ # behind NAT.
29731
+ # - TS_NARROWING_NOT_ALLOWED: Traffic selector narrowing not allowed for an HA-
29732
+ # VPN tunnel.
29589
29733
  # Corresponds to the JSON property `status`
29590
29734
  # @return [String]
29591
29735
  attr_accessor :status
@@ -30396,19 +30540,28 @@ module Google
30396
30540
 
30397
30541
  # Defines an Identity and Access Management (IAM) policy. It is used to specify
30398
30542
  # access control policies for Cloud Platform resources.
30399
- # A `Policy` consists of a list of `bindings`. A `binding` binds a list of `
30400
- # members` to a `role`, where the members can be user accounts, Google groups,
30401
- # Google domains, and service accounts. A `role` is a named list of permissions
30402
- # defined by IAM.
30543
+ # A `Policy` is a collection of `bindings`. A `binding` binds one or more `
30544
+ # members` to a single `role`. Members can be user accounts, service accounts,
30545
+ # Google groups, and domains (such as G Suite). A `role` is a named list of
30546
+ # permissions (defined by IAM or configured by users). A `binding` can
30547
+ # optionally specify a `condition`, which is a logic expression that further
30548
+ # constrains the role binding based on attributes about the request and/or
30549
+ # target resource.
30403
30550
  # **JSON Example**
30404
- # ` "bindings": [ ` "role": "roles/owner", "members": [ "user:mike@example.com",
30405
- # "group:admins@example.com", "domain:google.com", "serviceAccount:my-other-app@
30406
- # appspot.gserviceaccount.com" ] `, ` "role": "roles/viewer", "members": ["user:
30407
- # sean@example.com"] ` ] `
30551
+ # ` "bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members":
30552
+ # [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
30553
+ # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
30554
+ # roles/resourcemanager.organizationViewer", "members": ["user:eve@example.com"],
30555
+ # "condition": ` "title": "expirable access", "description": "Does not grant
30556
+ # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
30557
+ # 00:00.000Z')", ` ` ] `
30408
30558
  # **YAML Example**
30409
30559
  # bindings: - members: - user:mike@example.com - group:admins@example.com -
30410
- # domain:google.com - serviceAccount:my-other-app@appspot.gserviceaccount.com
30411
- # role: roles/owner - members: - user:sean@example.com role: roles/viewer
30560
+ # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
30561
+ # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
30562
+ # com role: roles/resourcemanager.organizationViewer condition: title: expirable
30563
+ # access description: Does not grant access after Sep 2020 expression: request.
30564
+ # time < timestamp('2020-10-01T00:00:00.000Z')
30412
30565
  # For a description of IAM and its features, see the [IAM developer's guide](
30413
30566
  # https://cloud.google.com/iam/docs).
30414
30567
  # Corresponds to the JSON property `policy`