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 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`