google-api-client 0.36.1 → 0.36.2

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 (131) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +45 -0
  3. data/generated/google/apis/androidenterprise_v1.rb +1 -1
  4. data/generated/google/apis/androidenterprise_v1/classes.rb +29 -58
  5. data/generated/google/apis/androidmanagement_v1.rb +1 -1
  6. data/generated/google/apis/androidmanagement_v1/classes.rb +188 -0
  7. data/generated/google/apis/androidmanagement_v1/representations.rb +67 -0
  8. data/generated/google/apis/androidmanagement_v1/service.rb +6 -1
  9. data/generated/google/apis/bigquery_v2.rb +1 -1
  10. data/generated/google/apis/bigquery_v2/classes.rb +6 -0
  11. data/generated/google/apis/bigquery_v2/representations.rb +1 -0
  12. data/generated/google/apis/bigquery_v2/service.rb +19 -2
  13. data/generated/google/apis/bigqueryreservation_v1alpha2.rb +1 -1
  14. data/generated/google/apis/bigqueryreservation_v1alpha2/classes.rb +6 -0
  15. data/generated/google/apis/bigqueryreservation_v1alpha2/representations.rb +1 -0
  16. data/generated/google/apis/bigqueryreservation_v1beta1.rb +1 -1
  17. data/generated/google/apis/bigqueryreservation_v1beta1/classes.rb +6 -0
  18. data/generated/google/apis/bigqueryreservation_v1beta1/representations.rb +1 -0
  19. data/generated/google/apis/binaryauthorization_v1.rb +1 -1
  20. data/generated/google/apis/cloudbuild_v1alpha1.rb +34 -0
  21. data/generated/google/apis/cloudbuild_v1alpha1/classes.rb +1174 -0
  22. data/generated/google/apis/cloudbuild_v1alpha1/representations.rb +435 -0
  23. data/generated/google/apis/cloudbuild_v1alpha1/service.rb +223 -0
  24. data/generated/google/apis/compute_alpha.rb +1 -1
  25. data/generated/google/apis/compute_alpha/classes.rb +234 -240
  26. data/generated/google/apis/compute_alpha/representations.rb +7 -47
  27. data/generated/google/apis/compute_alpha/service.rb +1233 -1068
  28. data/generated/google/apis/compute_beta.rb +1 -1
  29. data/generated/google/apis/compute_beta/classes.rb +936 -164
  30. data/generated/google/apis/compute_beta/representations.rb +371 -0
  31. data/generated/google/apis/compute_beta/service.rb +1394 -899
  32. data/generated/google/apis/compute_v1.rb +1 -1
  33. data/generated/google/apis/compute_v1/classes.rb +479 -147
  34. data/generated/google/apis/compute_v1/representations.rb +127 -0
  35. data/generated/google/apis/compute_v1/service.rb +813 -748
  36. data/generated/google/apis/datacatalog_v1beta1.rb +1 -1
  37. data/generated/google/apis/datacatalog_v1beta1/classes.rb +9 -7
  38. data/generated/google/apis/datacatalog_v1beta1/representations.rb +1 -0
  39. data/generated/google/apis/datacatalog_v1beta1/service.rb +8 -3
  40. data/generated/google/apis/dataflow_v1b3.rb +1 -1
  41. data/generated/google/apis/dataflow_v1b3/classes.rb +69 -0
  42. data/generated/google/apis/dataflow_v1b3/representations.rb +34 -0
  43. data/generated/google/apis/dataproc_v1.rb +1 -1
  44. data/generated/google/apis/dataproc_v1/classes.rb +73 -43
  45. data/generated/google/apis/dataproc_v1beta2.rb +1 -1
  46. data/generated/google/apis/dataproc_v1beta2/classes.rb +73 -43
  47. data/generated/google/apis/dialogflow_v2.rb +1 -1
  48. data/generated/google/apis/dialogflow_v2/classes.rb +44 -11
  49. data/generated/google/apis/dialogflow_v2beta1.rb +1 -1
  50. data/generated/google/apis/dialogflow_v2beta1/classes.rb +44 -11
  51. data/generated/google/apis/dialogflow_v2beta1/service.rb +20 -0
  52. data/generated/google/apis/dns_v1.rb +1 -1
  53. data/generated/google/apis/dns_v1/classes.rb +70 -0
  54. data/generated/google/apis/dns_v1/representations.rb +32 -0
  55. data/generated/google/apis/dns_v2beta1.rb +1 -1
  56. data/generated/google/apis/dns_v2beta1/classes.rb +70 -0
  57. data/generated/google/apis/dns_v2beta1/representations.rb +32 -0
  58. data/generated/google/apis/docs_v1.rb +1 -1
  59. data/generated/google/apis/docs_v1/classes.rb +152 -0
  60. data/generated/google/apis/docs_v1/representations.rb +56 -0
  61. data/generated/google/apis/doubleclickbidmanager_v1.rb +1 -1
  62. data/generated/google/apis/doubleclickbidmanager_v1_1.rb +1 -1
  63. data/generated/google/apis/driveactivity_v2.rb +1 -1
  64. data/generated/google/apis/driveactivity_v2/classes.rb +6 -0
  65. data/generated/google/apis/driveactivity_v2/representations.rb +2 -0
  66. data/generated/google/apis/firebase_v1beta1.rb +1 -1
  67. data/generated/google/apis/firestore_v1.rb +1 -1
  68. data/generated/google/apis/firestore_v1/classes.rb +1 -1
  69. data/generated/google/apis/firestore_v1/service.rb +24 -22
  70. data/generated/google/apis/firestore_v1beta1.rb +1 -1
  71. data/generated/google/apis/firestore_v1beta1/classes.rb +1 -1
  72. data/generated/google/apis/firestore_v1beta1/service.rb +16 -14
  73. data/generated/google/apis/fitness_v1.rb +11 -11
  74. data/generated/google/apis/games_management_v1management.rb +1 -1
  75. data/generated/google/apis/games_management_v1management/service.rb +5 -7
  76. data/generated/google/apis/iam_v1.rb +1 -1
  77. data/generated/google/apis/iam_v1/classes.rb +83 -141
  78. data/generated/google/apis/iam_v1/representations.rb +0 -6
  79. data/generated/google/apis/iam_v1/service.rb +11 -21
  80. data/generated/google/apis/language_v1beta2.rb +1 -1
  81. data/generated/google/apis/language_v1beta2/classes.rb +15 -0
  82. data/generated/google/apis/language_v1beta2/representations.rb +2 -0
  83. data/generated/google/apis/logging_v2.rb +3 -2
  84. data/generated/google/apis/logging_v2/service.rb +2 -1
  85. data/generated/google/apis/{surveys_v2.rb → prod_tt_sasportal_v1alpha1.rb} +9 -15
  86. data/generated/google/apis/prod_tt_sasportal_v1alpha1/classes.rb +1084 -0
  87. data/generated/google/apis/prod_tt_sasportal_v1alpha1/representations.rb +503 -0
  88. data/generated/google/apis/prod_tt_sasportal_v1alpha1/service.rb +1322 -0
  89. data/generated/google/apis/recommender_v1beta1.rb +1 -1
  90. data/generated/google/apis/recommender_v1beta1/classes.rb +6 -0
  91. data/generated/google/apis/remotebuildexecution_v1.rb +1 -1
  92. data/generated/google/apis/remotebuildexecution_v1/classes.rb +1 -1
  93. data/generated/google/apis/run_v1alpha1.rb +1 -1
  94. data/generated/google/apis/run_v1alpha1/classes.rb +424 -0
  95. data/generated/google/apis/run_v1alpha1/representations.rb +161 -0
  96. data/generated/google/apis/run_v1alpha1/service.rb +862 -46
  97. data/generated/google/apis/run_v1beta1.rb +1 -1
  98. data/generated/google/apis/run_v1beta1/classes.rb +1 -1
  99. data/generated/google/apis/sasportal_v1alpha1.rb +34 -0
  100. data/generated/google/apis/sasportal_v1alpha1/classes.rb +1084 -0
  101. data/generated/google/apis/sasportal_v1alpha1/representations.rb +503 -0
  102. data/generated/google/apis/sasportal_v1alpha1/service.rb +1322 -0
  103. data/generated/google/apis/securitycenter_v1.rb +1 -1
  104. data/generated/google/apis/securitycenter_v1/classes.rb +18 -0
  105. data/generated/google/apis/securitycenter_v1/representations.rb +3 -0
  106. data/generated/google/apis/securitycenter_v1/service.rb +6 -0
  107. data/generated/google/apis/servicemanagement_v1.rb +1 -1
  108. data/generated/google/apis/servicemanagement_v1/classes.rb +16 -1
  109. data/generated/google/apis/servicemanagement_v1/representations.rb +1 -0
  110. data/generated/google/apis/sheets_v4.rb +1 -1
  111. data/generated/google/apis/sheets_v4/classes.rb +187 -2
  112. data/generated/google/apis/sheets_v4/representations.rb +47 -0
  113. data/generated/google/apis/spanner_v1.rb +1 -1
  114. data/generated/google/apis/spanner_v1/classes.rb +104 -51
  115. data/generated/google/apis/spanner_v1/representations.rb +1 -0
  116. data/generated/google/apis/spanner_v1/service.rb +6 -1
  117. data/generated/google/apis/sql_v1beta4.rb +1 -1
  118. data/generated/google/apis/sql_v1beta4/classes.rb +75 -4
  119. data/generated/google/apis/sql_v1beta4/representations.rb +32 -0
  120. data/generated/google/apis/sql_v1beta4/service.rb +83 -2
  121. data/generated/google/apis/toolresults_v1.rb +31 -0
  122. data/generated/google/apis/toolresults_v1/classes.rb +696 -0
  123. data/generated/google/apis/toolresults_v1/representations.rb +438 -0
  124. data/generated/google/apis/toolresults_v1/service.rb +59 -0
  125. data/generated/google/apis/vision_v1.rb +1 -1
  126. data/generated/google/apis/vision_v1/service.rb +1 -1
  127. data/lib/google/apis/version.rb +1 -1
  128. metadata +19 -7
  129. data/generated/google/apis/surveys_v2/classes.rb +0 -691
  130. data/generated/google/apis/surveys_v2/representations.rb +0 -305
  131. data/generated/google/apis/surveys_v2/service.rb +0 -348
@@ -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 = '20191025'
28
+ REVISION = '20191125'
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'
@@ -1306,9 +1306,10 @@ module Google
1306
1306
  # @return [String]
1307
1307
  attr_accessor :disk_name
1308
1308
 
1309
- # Specifies the size of the disk in base-2 GB. If not specified, the disk will
1310
- # be the same size as the image (usually 10GB). If specified, the size must be
1311
- # equal to or larger than 10GB.
1309
+ # Specifies the size of the disk in base-2 GB. The size must be at least 10 GB.
1310
+ # If you specify a sourceImage, which is required for boot disks, the default
1311
+ # size is the size of the sourceImage. If you do not specify a sourceImage, the
1312
+ # default disk size is 500 GB.
1312
1313
  # Corresponds to the JSON property `diskSizeGb`
1313
1314
  # @return [Fixnum]
1314
1315
  attr_accessor :disk_size_gb
@@ -2772,6 +2773,8 @@ module Google
2772
2773
  # HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED.
2773
2774
  # - A global backend service with the load_balancing_scheme set to
2774
2775
  # INTERNAL_SELF_MANAGED.
2776
+ # If sessionAffinity is not NONE, and this field is not set to >MAGLEV or
2777
+ # RING_HASH, session affinity settings will not take effect.
2775
2778
  # Corresponds to the JSON property `localityLbPolicy`
2776
2779
  # @return [String]
2777
2780
  attr_accessor :locality_lb_policy
@@ -2858,8 +2861,9 @@ module Google
2858
2861
  # HTTPS.
2859
2862
  # When the loadBalancingScheme is INTERNAL, possible values are NONE, CLIENT_IP,
2860
2863
  # CLIENT_IP_PROTO, or CLIENT_IP_PORT_PROTO.
2861
- # When the loadBalancingScheme is INTERNAL_SELF_MANAGED, possible values are
2862
- # NONE, CLIENT_IP, GENERATED_COOKIE, HEADER_FIELD, or HTTP_COOKIE.
2864
+ # When the loadBalancingScheme is INTERNAL_SELF_MANAGED, or INTERNAL_MANAGED,
2865
+ # possible values are NONE, CLIENT_IP, GENERATED_COOKIE, HEADER_FIELD, or
2866
+ # HTTP_COOKIE.
2863
2867
  # Corresponds to the JSON property `sessionAffinity`
2864
2868
  # @return [String]
2865
2869
  attr_accessor :session_affinity
@@ -3705,6 +3709,22 @@ module Google
3705
3709
  # account. For example, `my-other-app@appspot.gserviceaccount.com`.
3706
3710
  # * `group:`emailid``: An email address that represents a Google group. For
3707
3711
  # example, `admins@example.com`.
3712
+ # * `deleted:user:`emailid`?uid=`uniqueid``: An email address (plus unique
3713
+ # identifier) representing a user that has been recently deleted. For example,`
3714
+ # alice@example.com?uid=123456789012345678901`. If the user is recovered, this
3715
+ # value reverts to `user:`emailid`` and the recovered user retains the role in
3716
+ # the binding.
3717
+ # * `deleted:serviceAccount:`emailid`?uid=`uniqueid``: An email address (plus
3718
+ # unique identifier) representing a service account that has been recently
3719
+ # deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=
3720
+ # 123456789012345678901`. If the service account is undeleted, this value
3721
+ # reverts to `serviceAccount:`emailid`` and the undeleted service account
3722
+ # retains the role in the binding.
3723
+ # * `deleted:group:`emailid`?uid=`uniqueid``: An email address (plus unique
3724
+ # identifier) representing a Google group that has been recently deleted. For
3725
+ # example, `admins@example.com?uid=123456789012345678901`. If the group is
3726
+ # recovered, this value reverts to `group:`emailid`` and the recovered group
3727
+ # retains the role in the binding.
3708
3728
  # * `domain:`domain``: The G Suite domain (primary) that represents all the
3709
3729
  # users of that domain. For example, `google.com` or `example.com`.
3710
3730
  # Corresponds to the JSON property `members`
@@ -6858,8 +6878,8 @@ module Google
6858
6878
  # @return [String]
6859
6879
  attr_accessor :ip_address
6860
6880
 
6861
- # The IP protocol to which this rule applies. Valid options are TCP, UDP, ESP,
6862
- # AH, SCTP or ICMP.
6881
+ # The IP protocol to which this rule applies. For protocol forwarding, valid
6882
+ # options are TCP, UDP, ESP, AH, SCTP or ICMP.
6863
6883
  # For Internal TCP/UDP Load Balancing, the load balancing scheme is INTERNAL,
6864
6884
  # and one of TCP or UDP are valid. For Traffic Director, the load balancing
6865
6885
  # scheme is INTERNAL_SELF_MANAGED, and only TCPis valid. For Internal HTTP(S)
@@ -6984,15 +7004,17 @@ module Google
6984
7004
  attr_accessor :load_balancing_scheme
6985
7005
 
6986
7006
  # Opaque filter criteria used by Loadbalancer to restrict routing configuration
6987
- # to a limited set xDS compliant clients. In their xDS requests to Loadbalancer,
6988
- # xDS clients present node metadata. If a match takes place, the relevant
6989
- # routing configuration is made available to those proxies.
7007
+ # to a limited set of xDS compliant clients. In their xDS requests to
7008
+ # Loadbalancer, xDS clients present node metadata. If a match takes place, the
7009
+ # relevant configuration is made available to those proxies. Otherwise, all the
7010
+ # resources (e.g. TargetHttpProxy, UrlMap) referenced by the ForwardingRule will
7011
+ # not be visible to those proxies.
6990
7012
  # For each metadataFilter in this list, if its filterMatchCriteria is set to
6991
7013
  # MATCH_ANY, at least one of the filterLabels must match the corresponding label
6992
7014
  # provided in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then
6993
- # all of its filterLabels must match with corresponding labels in the provided
7015
+ # all of its filterLabels must match with corresponding labels provided in the
6994
7016
  # metadata.
6995
- # metadataFilters specified here can be overridden by those specified in the
7017
+ # metadataFilters specified here will be applifed before those specified in the
6996
7018
  # UrlMap that this ForwardingRule references.
6997
7019
  # metadataFilters only applies to Loadbalancers that have their
6998
7020
  # loadBalancingScheme set to INTERNAL_SELF_MANAGED.
@@ -7028,23 +7050,16 @@ module Google
7028
7050
  # @return [String]
7029
7051
  attr_accessor :network_tier
7030
7052
 
7031
- # This field is deprecated. See the port
7032
- # field.
7033
- # Corresponds to the JSON property `portRange`
7034
- # @return [String]
7035
- attr_accessor :port_range
7036
-
7037
- # List of comma-separated ports. The forwarding rule forwards packets with
7038
- # matching destination ports. If the forwarding rule's loadBalancingScheme is
7039
- # EXTERNAL, and the forwarding rule references a target pool, specifying ports
7040
- # is optional. You can specify an unlimited number of ports, but they must be
7041
- # contiguous. If you omit ports, GCP forwards traffic on any port of the
7042
- # forwarding rule's protocol.
7043
- # If the forwarding rule's loadBalancingScheme is EXTERNAL, and the forwarding
7044
- # rule references a target HTTP proxy, target HTTPS proxy, target TCP proxy,
7045
- # target SSL proxy, or target VPN gateway, you must specify ports using the
7046
- # following constraints:
7047
- #
7053
+ # When the load balancing scheme is EXTERNAL, INTERNAL_SELF_MANAGED and
7054
+ # INTERNAL_MANAGED, you can specify a port_range. Use with a forwarding rule
7055
+ # that points to a target proxy or a target pool. Do not use with a forwarding
7056
+ # rule that points to a backend service. This field is used along with the
7057
+ # target field for TargetHttpProxy, TargetHttpsProxy, TargetSslProxy,
7058
+ # TargetTcpProxy, TargetVpnGateway, TargetPool, TargetInstance.
7059
+ # Applicable only when IPProtocol is TCP, UDP, or SCTP, only packets addressed
7060
+ # to ports in the specified range will be forwarded to target. Forwarding rules
7061
+ # with the same [IPAddress, IPProtocol] pair must have disjoint port ranges.
7062
+ # Some types of forwarding target have constraints on the acceptable ports:
7048
7063
  # - TargetHttpProxy: 80, 8080
7049
7064
  # - TargetHttpsProxy: 443
7050
7065
  # - TargetTcpProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1688,
@@ -7052,16 +7067,20 @@ module Google
7052
7067
  # - TargetSslProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1688,
7053
7068
  # 1883, 5222
7054
7069
  # - TargetVpnGateway: 500, 4500
7055
- # If the forwarding rule's loadBalancingScheme is INTERNAL, you must specify
7070
+ # Corresponds to the JSON property `portRange`
7071
+ # @return [String]
7072
+ attr_accessor :port_range
7073
+
7074
+ # This field is used along with the backend_service field for internal load
7075
+ # balancing.
7076
+ # When the load balancing scheme is INTERNAL, a list of ports can be configured,
7077
+ # for example, ['80'], ['8000','9000']. Only packets addressed to these ports
7078
+ # are forwarded to the backends configured with the forwarding rule.
7079
+ # If the forwarding rule's loadBalancingScheme is INTERNAL, you can specify
7056
7080
  # ports in one of the following ways:
7057
7081
  # * A list of up to five ports, which can be non-contiguous * Keyword ALL, which
7058
7082
  # causes the forwarding rule to forward traffic on any port of the forwarding
7059
7083
  # rule's protocol.
7060
- # The ports field is used along with the target field for TargetHttpProxy,
7061
- # TargetHttpsProxy, TargetSslProxy, TargetTcpProxy, TargetVpnGateway, TargetPool,
7062
- # TargetInstance.
7063
- # Applicable only when IPProtocol is TCP, UDP, or SCTP. Forwarding rules with
7064
- # the same [IPAddress, IPProtocol] pair must have disjoint port ranges.
7065
7084
  # Corresponds to the JSON property `ports`
7066
7085
  # @return [Array<String>]
7067
7086
  attr_accessor :ports
@@ -7553,32 +7572,34 @@ module Google
7553
7572
  # @return [String]
7554
7573
  attr_accessor :etag
7555
7574
 
7556
- # Defines an Identity and Access Management (IAM) policy. It is used to specify
7557
- # access control policies for Cloud Platform resources.
7575
+ # An Identity and Access Management (IAM) policy, which specifies access
7576
+ # controls for Google Cloud resources.
7558
7577
  # A `Policy` is a collection of `bindings`. A `binding` binds one or more `
7559
7578
  # members` to a single `role`. Members can be user accounts, service accounts,
7560
7579
  # Google groups, and domains (such as G Suite). A `role` is a named list of
7561
- # permissions (defined by IAM or configured by users). A `binding` can
7562
- # optionally specify a `condition`, which is a logic expression that further
7563
- # constrains the role binding based on attributes about the request and/or
7564
- # target resource.
7565
- # **JSON Example**
7580
+ # permissions; each `role` can be an IAM predefined role or a user-created
7581
+ # custom role.
7582
+ # Optionally, a `binding` can specify a `condition`, which is a logical
7583
+ # expression that allows access to a resource only if the expression evaluates
7584
+ # to `true`. A condition can add constraints based on attributes of the request,
7585
+ # the resource, or both.
7586
+ # **JSON example:**
7566
7587
  # ` "bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members":
7567
7588
  # [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
7568
7589
  # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
7569
7590
  # roles/resourcemanager.organizationViewer", "members": ["user:eve@example.com"],
7570
7591
  # "condition": ` "title": "expirable access", "description": "Does not grant
7571
7592
  # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
7572
- # 00:00.000Z')", ` ` ] `
7573
- # **YAML Example**
7593
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 `
7594
+ # **YAML example:**
7574
7595
  # bindings: - members: - user:mike@example.com - group:admins@example.com -
7575
7596
  # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
7576
7597
  # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
7577
7598
  # com role: roles/resourcemanager.organizationViewer condition: title: expirable
7578
7599
  # access description: Does not grant access after Sep 2020 expression: request.
7579
- # time < timestamp('2020-10-01T00:00:00.000Z')
7580
- # For a description of IAM and its features, see the [IAM developer's guide](
7581
- # https://cloud.google.com/iam/docs).
7600
+ # time < timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3
7601
+ # For a description of IAM and its features, see the [IAM documentation](https://
7602
+ # cloud.google.com/iam/docs/).
7582
7603
  # Corresponds to the JSON property `policy`
7583
7604
  # @return [Google::Apis::ComputeBeta::Policy]
7584
7605
  attr_accessor :policy
@@ -7606,7 +7627,7 @@ module Google
7606
7627
  attr_accessor :kind
7607
7628
 
7608
7629
  # The path to be queried. This can be the default namespace ('/') or a nested
7609
- # namespace ('//') or a specified key ('//')
7630
+ # namespace ('/\/') or a specified key ('/\/\')
7610
7631
  # Corresponds to the JSON property `queryPath`
7611
7632
  # @return [String]
7612
7633
  attr_accessor :query_path
@@ -8714,7 +8735,7 @@ module Google
8714
8735
  attr_accessor :prefix_match
8715
8736
 
8716
8737
  # A header with the contents of headerName must exist. The match takes place
8717
- # whether or not the request's header has a value or not.
8738
+ # whether or not the request's header has a value.
8718
8739
  # Only one of exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or
8719
8740
  # rangeMatch must be set.
8720
8741
  # Corresponds to the JSON property `presentMatch`
@@ -9030,7 +9051,7 @@ module Google
9030
9051
 
9031
9052
  # The queryParameterMatch matches if the value of the parameter exactly matches
9032
9053
  # the contents of exactMatch.
9033
- # Only one of presentMatch, exactMatch and regexMatch must be set.
9054
+ # Only one of presentMatch, exactMatch or regexMatch must be set.
9034
9055
  # Corresponds to the JSON property `exactMatch`
9035
9056
  # @return [String]
9036
9057
  attr_accessor :exact_match
@@ -9043,7 +9064,7 @@ module Google
9043
9064
 
9044
9065
  # Specifies that the queryParameterMatch matches if the request contains the
9045
9066
  # query parameter, irrespective of whether the parameter has a value or not.
9046
- # Only one of presentMatch, exactMatch and regexMatch must be set.
9067
+ # Only one of presentMatch, exactMatch or regexMatch must be set.
9047
9068
  # Corresponds to the JSON property `presentMatch`
9048
9069
  # @return [Boolean]
9049
9070
  attr_accessor :present_match
@@ -9052,7 +9073,7 @@ module Google
9052
9073
  # The queryParameterMatch matches if the value of the parameter matches the
9053
9074
  # regular expression specified by regexMatch. For the regular expression grammar,
9054
9075
  # please see en.cppreference.com/w/cpp/regex/ecmascript
9055
- # Only one of presentMatch, exactMatch and regexMatch must be set.
9076
+ # Only one of presentMatch, exactMatch or regexMatch must be set.
9056
9077
  # Corresponds to the JSON property `regexMatch`
9057
9078
  # @return [String]
9058
9079
  attr_accessor :regex_match
@@ -9321,7 +9342,8 @@ module Google
9321
9342
  # forwarding the request to the selected backend. If routeAction specifies any
9322
9343
  # weightedBackendServices, service must not be set. Conversely if service is set,
9323
9344
  # routeAction cannot contain any weightedBackendServices.
9324
- # Only one of routeAction or urlRedirect must be set.
9345
+ # Only one of urlRedirect, service or routeAction.weightedBackendService must be
9346
+ # set.
9325
9347
  # Corresponds to the JSON property `routeAction`
9326
9348
  # @return [Google::Apis::ComputeBeta::HttpRouteAction]
9327
9349
  attr_accessor :route_action
@@ -9364,10 +9386,10 @@ module Google
9364
9386
  class HttpRouteRuleMatch
9365
9387
  include Google::Apis::Core::Hashable
9366
9388
 
9367
- # For satifying the matchRule condition, the path of the request must exactly
9389
+ # For satisfying the matchRule condition, the path of the request must exactly
9368
9390
  # match the value specified in fullPathMatch after removing any query parameters
9369
9391
  # and anchor that may be part of the original URL.
9370
- # FullPathMatch must be between 1 and 1024 characters.
9392
+ # fullPathMatch must be between 1 and 1024 characters.
9371
9393
  # Only one of prefixMatch, fullPathMatch or regexMatch must be specified.
9372
9394
  # Corresponds to the JSON property `fullPathMatch`
9373
9395
  # @return [String]
@@ -9381,30 +9403,30 @@ module Google
9381
9403
 
9382
9404
  # Specifies that prefixMatch and fullPathMatch matches are case sensitive.
9383
9405
  # The default value is false.
9384
- # caseSensitive must not be used with regexMatch.
9406
+ # ignoreCase must not be used with regexMatch.
9385
9407
  # Corresponds to the JSON property `ignoreCase`
9386
9408
  # @return [Boolean]
9387
9409
  attr_accessor :ignore_case
9388
9410
  alias_method :ignore_case?, :ignore_case
9389
9411
 
9390
9412
  # Opaque filter criteria used by Loadbalancer to restrict routing configuration
9391
- # to a limited set xDS compliant clients. In their xDS requests to Loadbalancer,
9392
- # xDS clients present node metadata. If a match takes place, the relevant
9393
- # routing configuration is made available to those proxies.
9413
+ # to a limited set of xDS compliant clients. In their xDS requests to
9414
+ # Loadbalancer, xDS clients present node metadata. If a match takes place, the
9415
+ # relevant routing configuration is made available to those proxies.
9394
9416
  # For each metadataFilter in this list, if its filterMatchCriteria is set to
9395
9417
  # MATCH_ANY, at least one of the filterLabels must match the corresponding label
9396
9418
  # provided in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then
9397
- # all of its filterLabels must match with corresponding labels in the provided
9419
+ # all of its filterLabels must match with corresponding labels provided in the
9398
9420
  # metadata.
9399
- # metadataFilters specified here can be overrides those specified in
9400
- # ForwardingRule that refers to this UrlMap.
9421
+ # metadataFilters specified here will be applied after those specified in
9422
+ # ForwardingRule that refers to the UrlMap this HttpRouteRuleMatch belongs to.
9401
9423
  # metadataFilters only applies to Loadbalancers that have their
9402
9424
  # loadBalancingScheme set to INTERNAL_SELF_MANAGED.
9403
9425
  # Corresponds to the JSON property `metadataFilters`
9404
9426
  # @return [Array<Google::Apis::ComputeBeta::MetadataFilter>]
9405
9427
  attr_accessor :metadata_filters
9406
9428
 
9407
- # For satifying the matchRule condition, the request's path must begin with the
9429
+ # For satisfying the matchRule condition, the request's path must begin with the
9408
9430
  # specified prefixMatch. prefixMatch must begin with a /.
9409
9431
  # The value must be between 1 and 1024 characters.
9410
9432
  # Only one of prefixMatch, fullPathMatch or regexMatch must be specified.
@@ -9418,7 +9440,7 @@ module Google
9418
9440
  # @return [Array<Google::Apis::ComputeBeta::HttpQueryParameterMatch>]
9419
9441
  attr_accessor :query_parameter_matches
9420
9442
 
9421
- # For satifying the matchRule condition, the path of the request must satisfy
9443
+ # For satisfying the matchRule condition, the path of the request must satisfy
9422
9444
  # the regular expression specified in regexMatch after removing any query
9423
9445
  # parameters and anchor supplied with the original URL. For regular expression
9424
9446
  # grammar please see en.cppreference.com/w/cpp/regex/ecmascript
@@ -10446,14 +10468,17 @@ module Google
10446
10468
  end
10447
10469
  end
10448
10470
 
10449
- # Represents an unmanaged Instance Group resource.
10450
- # Use unmanaged instance groups if you need to apply load balancing to groups of
10451
- # heterogeneous instances or if you need to manage the instances yourself. For
10452
- # more information, read Instance groups.
10453
- # For zonal unmanaged Instance Group, use instanceGroups resource.
10454
- # For regional unmanaged Instance Group, use regionInstanceGroups resource. (==
10455
- # resource_for beta.instanceGroups ==) (== resource_for v1.instanceGroups ==) (==
10456
- # resource_for beta.regionInstanceGroups ==) (== resource_for v1.
10471
+ # Represents an Instance Group resource.
10472
+ # Instance Groups can be used to configure a target for load balancing.
10473
+ # Instance groups can either be managed or unmanaged.
10474
+ # To create managed instance groups, use the instanceGroupManager or
10475
+ # regionInstanceGroupManager resource instead.
10476
+ # Use zonal unmanaged instance groups if you need to apply load balancing to
10477
+ # groups of heterogeneous instances or if you need to manage the instances
10478
+ # yourself. You cannot create regional unmanaged instance groups.
10479
+ # For more information, read Instance groups.
10480
+ # (== resource_for beta.instanceGroups ==) (== resource_for v1.instanceGroups ==)
10481
+ # (== resource_for beta.regionInstanceGroups ==) (== resource_for v1.
10457
10482
  # regionInstanceGroups ==)
10458
10483
  class InstanceGroup
10459
10484
  include Google::Apis::Core::Hashable
@@ -10927,6 +10952,11 @@ module Google
10927
10952
  # @return [String]
10928
10953
  attr_accessor :service_account
10929
10954
 
10955
+ # Stateful configuration for this Instanced Group Manager
10956
+ # Corresponds to the JSON property `statefulPolicy`
10957
+ # @return [Google::Apis::ComputeBeta::StatefulPolicy]
10958
+ attr_accessor :stateful_policy
10959
+
10930
10960
  # [Output Only] The status of this managed instance group.
10931
10961
  # Corresponds to the JSON property `status`
10932
10962
  # @return [Google::Apis::ComputeBeta::InstanceGroupManagerStatus]
@@ -10993,6 +11023,7 @@ module Google
10993
11023
  @region = args[:region] if args.key?(:region)
10994
11024
  @self_link = args[:self_link] if args.key?(:self_link)
10995
11025
  @service_account = args[:service_account] if args.key?(:service_account)
11026
+ @stateful_policy = args[:stateful_policy] if args.key?(:stateful_policy)
10996
11027
  @status = args[:status] if args.key?(:status)
10997
11028
  @target_pools = args[:target_pools] if args.key?(:target_pools)
10998
11029
  @target_size = args[:target_size] if args.key?(:target_size)
@@ -11420,6 +11451,11 @@ module Google
11420
11451
  attr_accessor :is_stable
11421
11452
  alias_method :is_stable?, :is_stable
11422
11453
 
11454
+ # [Output Only] Stateful status of the given Instance Group Manager.
11455
+ # Corresponds to the JSON property `stateful`
11456
+ # @return [Google::Apis::ComputeBeta::InstanceGroupManagerStatusStateful]
11457
+ attr_accessor :stateful
11458
+
11423
11459
  # [Output Only] A status of consistency of Instances' versions with their target
11424
11460
  # version specified by version field on Instance Group Manager.
11425
11461
  # Corresponds to the JSON property `versionTarget`
@@ -11433,10 +11469,34 @@ module Google
11433
11469
  # Update properties of this object
11434
11470
  def update!(**args)
11435
11471
  @is_stable = args[:is_stable] if args.key?(:is_stable)
11472
+ @stateful = args[:stateful] if args.key?(:stateful)
11436
11473
  @version_target = args[:version_target] if args.key?(:version_target)
11437
11474
  end
11438
11475
  end
11439
11476
 
11477
+ #
11478
+ class InstanceGroupManagerStatusStateful
11479
+ include Google::Apis::Core::Hashable
11480
+
11481
+ # [Output Only] A bit indicating whether the managed instance group is stateful,
11482
+ # i.e. has any disks in Stateful Policy or at least one per-instance config.
11483
+ # This is determined based on the user intent, the group may be reported as not
11484
+ # stateful even when there is still some preserved state on managed instances.
11485
+ # Corresponds to the JSON property `isStateful`
11486
+ # @return [Boolean]
11487
+ attr_accessor :is_stateful
11488
+ alias_method :is_stateful?, :is_stateful
11489
+
11490
+ def initialize(**args)
11491
+ update!(**args)
11492
+ end
11493
+
11494
+ # Update properties of this object
11495
+ def update!(**args)
11496
+ @is_stateful = args[:is_stateful] if args.key?(:is_stateful)
11497
+ end
11498
+ end
11499
+
11440
11500
  #
11441
11501
  class InstanceGroupManagerStatusVersionTarget
11442
11502
  include Google::Apis::Core::Hashable
@@ -11499,6 +11559,11 @@ module Google
11499
11559
  # @return [String]
11500
11560
  attr_accessor :minimal_action
11501
11561
 
11562
+ # What action should be used to replace instances. See minimal_action.REPLACE
11563
+ # Corresponds to the JSON property `replacementMethod`
11564
+ # @return [String]
11565
+ attr_accessor :replacement_method
11566
+
11502
11567
  # The type of update process. You can specify either PROACTIVE so that the
11503
11568
  # instance group manager proactively executes actions in order to bring
11504
11569
  # instances to their target versions or OPPORTUNISTIC so that no action is
@@ -11519,6 +11584,7 @@ module Google
11519
11584
  @max_unavailable = args[:max_unavailable] if args.key?(:max_unavailable)
11520
11585
  @min_ready_sec = args[:min_ready_sec] if args.key?(:min_ready_sec)
11521
11586
  @minimal_action = args[:minimal_action] if args.key?(:minimal_action)
11587
+ @replacement_method = args[:replacement_method] if args.key?(:replacement_method)
11522
11588
  @type = args[:type] if args.key?(:type)
11523
11589
  end
11524
11590
  end
@@ -11663,6 +11729,55 @@ module Google
11663
11729
  end
11664
11730
  end
11665
11731
 
11732
+ # InstanceGroupManagers.deletePerInstanceConfigs
11733
+ class InstanceGroupManagersDeletePerInstanceConfigsReq
11734
+ include Google::Apis::Core::Hashable
11735
+
11736
+ # The list of instance names for which we want to delete per-instance configs on
11737
+ # this managed instance group.
11738
+ # Corresponds to the JSON property `names`
11739
+ # @return [Array<String>]
11740
+ attr_accessor :names
11741
+
11742
+ def initialize(**args)
11743
+ update!(**args)
11744
+ end
11745
+
11746
+ # Update properties of this object
11747
+ def update!(**args)
11748
+ @names = args[:names] if args.key?(:names)
11749
+ end
11750
+ end
11751
+
11752
+ #
11753
+ class InstanceGroupManagersListErrorsResponse
11754
+ include Google::Apis::Core::Hashable
11755
+
11756
+ # [Output Only] The list of errors of the managed instance group.
11757
+ # Corresponds to the JSON property `items`
11758
+ # @return [Array<Google::Apis::ComputeBeta::InstanceManagedByIgmError>]
11759
+ attr_accessor :items
11760
+
11761
+ # [Output Only] This token allows you to get the next page of results for list
11762
+ # requests. If the number of results is larger than maxResults, use the
11763
+ # nextPageToken as a value for the query parameter pageToken in the next list
11764
+ # request. Subsequent list requests will have their own nextPageToken to
11765
+ # continue paging through the results.
11766
+ # Corresponds to the JSON property `nextPageToken`
11767
+ # @return [String]
11768
+ attr_accessor :next_page_token
11769
+
11770
+ def initialize(**args)
11771
+ update!(**args)
11772
+ end
11773
+
11774
+ # Update properties of this object
11775
+ def update!(**args)
11776
+ @items = args[:items] if args.key?(:items)
11777
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
11778
+ end
11779
+ end
11780
+
11666
11781
  #
11667
11782
  class InstanceGroupManagersListManagedInstancesResponse
11668
11783
  include Google::Apis::Core::Hashable
@@ -11692,6 +11807,125 @@ module Google
11692
11807
  end
11693
11808
  end
11694
11809
 
11810
+ #
11811
+ class InstanceGroupManagersListPerInstanceConfigsResp
11812
+ include Google::Apis::Core::Hashable
11813
+
11814
+ # [Output Only] The list of PerInstanceConfig.
11815
+ # Corresponds to the JSON property `items`
11816
+ # @return [Array<Google::Apis::ComputeBeta::PerInstanceConfig>]
11817
+ attr_accessor :items
11818
+
11819
+ # [Output Only] This token allows you to get the next page of results for list
11820
+ # requests. If the number of results is larger than maxResults, use the
11821
+ # nextPageToken as a value for the query parameter pageToken in the next list
11822
+ # request. Subsequent list requests will have their own nextPageToken to
11823
+ # continue paging through the results.
11824
+ # Corresponds to the JSON property `nextPageToken`
11825
+ # @return [String]
11826
+ attr_accessor :next_page_token
11827
+
11828
+ # [Output Only] Informational warning message.
11829
+ # Corresponds to the JSON property `warning`
11830
+ # @return [Google::Apis::ComputeBeta::InstanceGroupManagersListPerInstanceConfigsResp::Warning]
11831
+ attr_accessor :warning
11832
+
11833
+ def initialize(**args)
11834
+ update!(**args)
11835
+ end
11836
+
11837
+ # Update properties of this object
11838
+ def update!(**args)
11839
+ @items = args[:items] if args.key?(:items)
11840
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
11841
+ @warning = args[:warning] if args.key?(:warning)
11842
+ end
11843
+
11844
+ # [Output Only] Informational warning message.
11845
+ class Warning
11846
+ include Google::Apis::Core::Hashable
11847
+
11848
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
11849
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
11850
+ # Corresponds to the JSON property `code`
11851
+ # @return [String]
11852
+ attr_accessor :code
11853
+
11854
+ # [Output Only] Metadata about this warning in key: value format. For example:
11855
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
11856
+ # Corresponds to the JSON property `data`
11857
+ # @return [Array<Google::Apis::ComputeBeta::InstanceGroupManagersListPerInstanceConfigsResp::Warning::Datum>]
11858
+ attr_accessor :data
11859
+
11860
+ # [Output Only] A human-readable description of the warning code.
11861
+ # Corresponds to the JSON property `message`
11862
+ # @return [String]
11863
+ attr_accessor :message
11864
+
11865
+ def initialize(**args)
11866
+ update!(**args)
11867
+ end
11868
+
11869
+ # Update properties of this object
11870
+ def update!(**args)
11871
+ @code = args[:code] if args.key?(:code)
11872
+ @data = args[:data] if args.key?(:data)
11873
+ @message = args[:message] if args.key?(:message)
11874
+ end
11875
+
11876
+ #
11877
+ class Datum
11878
+ include Google::Apis::Core::Hashable
11879
+
11880
+ # [Output Only] A key that provides more detail on the warning being returned.
11881
+ # For example, for warnings where there are no results in a list request for a
11882
+ # particular zone, this key might be scope and the key value might be the zone
11883
+ # name. Other examples might be a key indicating a deprecated resource and a
11884
+ # suggested replacement, or a warning about invalid network settings (for
11885
+ # example, if an instance attempts to perform IP forwarding but is not enabled
11886
+ # for IP forwarding).
11887
+ # Corresponds to the JSON property `key`
11888
+ # @return [String]
11889
+ attr_accessor :key
11890
+
11891
+ # [Output Only] A warning data value corresponding to the key.
11892
+ # Corresponds to the JSON property `value`
11893
+ # @return [String]
11894
+ attr_accessor :value
11895
+
11896
+ def initialize(**args)
11897
+ update!(**args)
11898
+ end
11899
+
11900
+ # Update properties of this object
11901
+ def update!(**args)
11902
+ @key = args[:key] if args.key?(:key)
11903
+ @value = args[:value] if args.key?(:value)
11904
+ end
11905
+ end
11906
+ end
11907
+ end
11908
+
11909
+ # InstanceGroupManagers.patchPerInstanceConfigs
11910
+ class InstanceGroupManagersPatchPerInstanceConfigsReq
11911
+ include Google::Apis::Core::Hashable
11912
+
11913
+ # The list of per-instance configs to insert or patch on this managed instance
11914
+ # group.
11915
+ # Corresponds to the JSON property `perInstanceConfigs`
11916
+ # @return [Array<Google::Apis::ComputeBeta::PerInstanceConfig>]
11917
+ attr_accessor :per_instance_configs
11918
+
11919
+ def initialize(**args)
11920
+ update!(**args)
11921
+ end
11922
+
11923
+ # Update properties of this object
11924
+ def update!(**args)
11925
+ @per_instance_configs = args[:per_instance_configs] if args.key?(:per_instance_configs)
11926
+ end
11927
+ end
11928
+
11695
11929
  #
11696
11930
  class InstanceGroupManagersRecreateInstancesRequest
11697
11931
  include Google::Apis::Core::Hashable
@@ -11920,6 +12154,26 @@ module Google
11920
12154
  end
11921
12155
  end
11922
12156
 
12157
+ # InstanceGroupManagers.updatePerInstanceConfigs
12158
+ class InstanceGroupManagersUpdatePerInstanceConfigsReq
12159
+ include Google::Apis::Core::Hashable
12160
+
12161
+ # The list of per-instance configs to insert or patch on this managed instance
12162
+ # group.
12163
+ # Corresponds to the JSON property `perInstanceConfigs`
12164
+ # @return [Array<Google::Apis::ComputeBeta::PerInstanceConfig>]
12165
+ attr_accessor :per_instance_configs
12166
+
12167
+ def initialize(**args)
12168
+ update!(**args)
12169
+ end
12170
+
12171
+ # Update properties of this object
12172
+ def update!(**args)
12173
+ @per_instance_configs = args[:per_instance_configs] if args.key?(:per_instance_configs)
12174
+ end
12175
+ end
12176
+
11923
12177
  #
11924
12178
  class InstanceGroupsAddInstancesRequest
11925
12179
  include Google::Apis::Core::Hashable
@@ -12457,6 +12711,101 @@ module Google
12457
12711
  end
12458
12712
  end
12459
12713
 
12714
+ #
12715
+ class InstanceManagedByIgmError
12716
+ include Google::Apis::Core::Hashable
12717
+
12718
+ # [Output Only] Contents of the error.
12719
+ # Corresponds to the JSON property `error`
12720
+ # @return [Google::Apis::ComputeBeta::InstanceManagedByIgmErrorManagedInstanceError]
12721
+ attr_accessor :error
12722
+
12723
+ # [Output Only] Details of the instance action that triggered this error. May be
12724
+ # null, if the error was not caused by an action on an instance. This field is
12725
+ # optional.
12726
+ # Corresponds to the JSON property `instanceActionDetails`
12727
+ # @return [Google::Apis::ComputeBeta::InstanceManagedByIgmErrorInstanceActionDetails]
12728
+ attr_accessor :instance_action_details
12729
+
12730
+ # [Output Only] The time that this error occurred. This value is in RFC3339 text
12731
+ # format.
12732
+ # Corresponds to the JSON property `timestamp`
12733
+ # @return [String]
12734
+ attr_accessor :timestamp
12735
+
12736
+ def initialize(**args)
12737
+ update!(**args)
12738
+ end
12739
+
12740
+ # Update properties of this object
12741
+ def update!(**args)
12742
+ @error = args[:error] if args.key?(:error)
12743
+ @instance_action_details = args[:instance_action_details] if args.key?(:instance_action_details)
12744
+ @timestamp = args[:timestamp] if args.key?(:timestamp)
12745
+ end
12746
+ end
12747
+
12748
+ #
12749
+ class InstanceManagedByIgmErrorInstanceActionDetails
12750
+ include Google::Apis::Core::Hashable
12751
+
12752
+ # [Output Only] Action that managed instance group was executing on the instance
12753
+ # when the error occurred. Possible values:
12754
+ # Corresponds to the JSON property `action`
12755
+ # @return [String]
12756
+ attr_accessor :action
12757
+
12758
+ # [Output Only] The URL of the instance. The URL can be set even if the instance
12759
+ # has not yet been created.
12760
+ # Corresponds to the JSON property `instance`
12761
+ # @return [String]
12762
+ attr_accessor :instance
12763
+
12764
+ # [Output Only] Version this instance was created from, or was being created
12765
+ # from, but the creation failed. Corresponds to one of the versions that were
12766
+ # set on the Instance Group Manager resource at the time this instance was being
12767
+ # created.
12768
+ # Corresponds to the JSON property `version`
12769
+ # @return [Google::Apis::ComputeBeta::ManagedInstanceVersion]
12770
+ attr_accessor :version
12771
+
12772
+ def initialize(**args)
12773
+ update!(**args)
12774
+ end
12775
+
12776
+ # Update properties of this object
12777
+ def update!(**args)
12778
+ @action = args[:action] if args.key?(:action)
12779
+ @instance = args[:instance] if args.key?(:instance)
12780
+ @version = args[:version] if args.key?(:version)
12781
+ end
12782
+ end
12783
+
12784
+ #
12785
+ class InstanceManagedByIgmErrorManagedInstanceError
12786
+ include Google::Apis::Core::Hashable
12787
+
12788
+ # [Output Only] Error code.
12789
+ # Corresponds to the JSON property `code`
12790
+ # @return [String]
12791
+ attr_accessor :code
12792
+
12793
+ # [Output Only] Error message.
12794
+ # Corresponds to the JSON property `message`
12795
+ # @return [String]
12796
+ attr_accessor :message
12797
+
12798
+ def initialize(**args)
12799
+ update!(**args)
12800
+ end
12801
+
12802
+ # Update properties of this object
12803
+ def update!(**args)
12804
+ @code = args[:code] if args.key?(:code)
12805
+ @message = args[:message] if args.key?(:message)
12806
+ end
12807
+ end
12808
+
12460
12809
  #
12461
12810
  class MoveInstanceRequest
12462
12811
  include Google::Apis::Core::Hashable
@@ -12563,6 +12912,12 @@ module Google
12563
12912
  # @return [Google::Apis::ComputeBeta::ReservationAffinity]
12564
12913
  attr_accessor :reservation_affinity
12565
12914
 
12915
+ # Resource policies (names, not ULRs) applied to instances created from this
12916
+ # templae.
12917
+ # Corresponds to the JSON property `resourcePolicies`
12918
+ # @return [Array<String>]
12919
+ attr_accessor :resource_policies
12920
+
12566
12921
  # Sets the scheduling options for an Instance. NextID: 9
12567
12922
  # Corresponds to the JSON property `scheduling`
12568
12923
  # @return [Google::Apis::ComputeBeta::Scheduling]
@@ -12607,6 +12962,7 @@ module Google
12607
12962
  @min_cpu_platform = args[:min_cpu_platform] if args.key?(:min_cpu_platform)
12608
12963
  @network_interfaces = args[:network_interfaces] if args.key?(:network_interfaces)
12609
12964
  @reservation_affinity = args[:reservation_affinity] if args.key?(:reservation_affinity)
12965
+ @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
12610
12966
  @scheduling = args[:scheduling] if args.key?(:scheduling)
12611
12967
  @service_accounts = args[:service_accounts] if args.key?(:service_accounts)
12612
12968
  @shielded_instance_config = args[:shielded_instance_config] if args.key?(:shielded_instance_config)
@@ -15929,6 +16285,16 @@ module Google
15929
16285
  # @return [Google::Apis::ComputeBeta::ManagedInstanceLastAttempt]
15930
16286
  attr_accessor :last_attempt
15931
16287
 
16288
+ # Preserved state for a given instance.
16289
+ # Corresponds to the JSON property `preservedStateFromConfig`
16290
+ # @return [Google::Apis::ComputeBeta::PreservedState]
16291
+ attr_accessor :preserved_state_from_config
16292
+
16293
+ # Preserved state for a given instance.
16294
+ # Corresponds to the JSON property `preservedStateFromPolicy`
16295
+ # @return [Google::Apis::ComputeBeta::PreservedState]
16296
+ attr_accessor :preserved_state_from_policy
16297
+
15932
16298
  # [Output Only] Intended version of this instance.
15933
16299
  # Corresponds to the JSON property `version`
15934
16300
  # @return [Google::Apis::ComputeBeta::ManagedInstanceVersion]
@@ -15946,6 +16312,8 @@ module Google
15946
16312
  @instance_health = args[:instance_health] if args.key?(:instance_health)
15947
16313
  @instance_status = args[:instance_status] if args.key?(:instance_status)
15948
16314
  @last_attempt = args[:last_attempt] if args.key?(:last_attempt)
16315
+ @preserved_state_from_config = args[:preserved_state_from_config] if args.key?(:preserved_state_from_config)
16316
+ @preserved_state_from_policy = args[:preserved_state_from_policy] if args.key?(:preserved_state_from_policy)
15949
16317
  @version = args[:version] if args.key?(:version)
15950
16318
  end
15951
16319
  end
@@ -16147,12 +16515,12 @@ module Google
16147
16515
  # Opaque filter criteria used by loadbalancers to restrict routing configuration
16148
16516
  # to a limited set of loadbalancing proxies. Proxies and sidecars involved in
16149
16517
  # loadbalancing would typically present metadata to the loadbalancers which need
16150
- # to match criteria specified here. If a match takes place, the relevant routing
16518
+ # to match criteria specified here. If a match takes place, the relevant
16151
16519
  # configuration is made available to those proxies.
16152
16520
  # For each metadataFilter in this list, if its filterMatchCriteria is set to
16153
16521
  # MATCH_ANY, at least one of the filterLabels must match the corresponding label
16154
16522
  # provided in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then
16155
- # all of its filterLabels must match with corresponding labels in the provided
16523
+ # all of its filterLabels must match with corresponding labels provided in the
16156
16524
  # metadata.
16157
16525
  # An example for using metadataFilters would be: if loadbalancing involves
16158
16526
  # Envoys, they will only receive routing configuration when values in
@@ -16300,7 +16668,7 @@ module Google
16300
16668
  # Name of the resource. Provided by the client when the resource is created. The
16301
16669
  # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
16302
16670
  # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
16303
- # z0-9]*[a-z0-9])?. The first character must be a lowercase letter, and all
16671
+ # z0-9]*[a-z0-9])?`. The first character must be a lowercase letter, and all
16304
16672
  # following characters (except for the last character) must be a dash, lowercase
16305
16673
  # letter, or digit. The last character must be a lowercase letter or digit.
16306
16674
  # Corresponds to the JSON property `name`
@@ -16351,7 +16719,7 @@ module Google
16351
16719
  end
16352
16720
  end
16353
16721
 
16354
- # The network endpoint.
16722
+ # The network endpoint. Next ID: 7
16355
16723
  class NetworkEndpoint
16356
16724
  include Google::Apis::Core::Hashable
16357
16725
 
@@ -16394,7 +16762,7 @@ module Google
16394
16762
  # Represents a collection of network endpoints.
16395
16763
  # For more information read Setting up network endpoint groups in load balancing.
16396
16764
  # (== resource_for v1.networkEndpointGroups ==) (== resource_for beta.
16397
- # networkEndpointGroups ==)
16765
+ # networkEndpointGroups ==) Next ID: 21
16398
16766
  class NetworkEndpointGroup
16399
16767
  include Google::Apis::Core::Hashable
16400
16768
 
@@ -17048,7 +17416,7 @@ module Google
17048
17416
  # @return [Array<Google::Apis::ComputeBeta::HealthStatusForNetworkEndpoint>]
17049
17417
  attr_accessor :healths
17050
17418
 
17051
- # The network endpoint.
17419
+ # The network endpoint. Next ID: 7
17052
17420
  # Corresponds to the JSON property `networkEndpoint`
17053
17421
  # @return [Google::Apis::ComputeBeta::NetworkEndpoint]
17054
17422
  attr_accessor :network_endpoint
@@ -17477,10 +17845,15 @@ module Google
17477
17845
  # instances physically separated from instances in other projects, or to group
17478
17846
  # your instances together on the same host hardware. For more information, read
17479
17847
  # Sole-tenant nodes. (== resource_for beta.nodeGroups ==) (== resource_for v1.
17480
- # nodeGroups ==) NextID: 16
17848
+ # nodeGroups ==)
17481
17849
  class NodeGroup
17482
17850
  include Google::Apis::Core::Hashable
17483
17851
 
17852
+ # Specifies how autoscaling should behave.
17853
+ # Corresponds to the JSON property `autoscalingPolicy`
17854
+ # @return [Google::Apis::ComputeBeta::NodeGroupAutoscalingPolicy]
17855
+ attr_accessor :autoscaling_policy
17856
+
17484
17857
  # [Output Only] Creation timestamp in RFC3339 text format.
17485
17858
  # Corresponds to the JSON property `creationTimestamp`
17486
17859
  # @return [String]
@@ -17492,6 +17865,12 @@ module Google
17492
17865
  # @return [String]
17493
17866
  attr_accessor :description
17494
17867
 
17868
+ #
17869
+ # Corresponds to the JSON property `fingerprint`
17870
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
17871
+ # @return [String]
17872
+ attr_accessor :fingerprint
17873
+
17495
17874
  # [Output Only] The unique identifier for the resource. This identifier is
17496
17875
  # defined by the server.
17497
17876
  # Corresponds to the JSON property `id`
@@ -17504,6 +17883,12 @@ module Google
17504
17883
  # @return [String]
17505
17884
  attr_accessor :kind
17506
17885
 
17886
+ # Specifies how to handle instances when a node in the group undergoes
17887
+ # maintenance.
17888
+ # Corresponds to the JSON property `maintenancePolicy`
17889
+ # @return [String]
17890
+ attr_accessor :maintenance_policy
17891
+
17507
17892
  # The name of the resource, provided by the client when initially creating the
17508
17893
  # resource. The resource name must be 1-63 characters long, and comply with
17509
17894
  # RFC1035. Specifically, the name must be 1-63 characters long and match the
@@ -17547,10 +17932,13 @@ module Google
17547
17932
 
17548
17933
  # Update properties of this object
17549
17934
  def update!(**args)
17935
+ @autoscaling_policy = args[:autoscaling_policy] if args.key?(:autoscaling_policy)
17550
17936
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
17551
17937
  @description = args[:description] if args.key?(:description)
17938
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
17552
17939
  @id = args[:id] if args.key?(:id)
17553
17940
  @kind = args[:kind] if args.key?(:kind)
17941
+ @maintenance_policy = args[:maintenance_policy] if args.key?(:maintenance_policy)
17554
17942
  @name = args[:name] if args.key?(:name)
17555
17943
  @node_template = args[:node_template] if args.key?(:node_template)
17556
17944
  @self_link = args[:self_link] if args.key?(:self_link)
@@ -17678,6 +18066,37 @@ module Google
17678
18066
  end
17679
18067
  end
17680
18068
 
18069
+ #
18070
+ class NodeGroupAutoscalingPolicy
18071
+ include Google::Apis::Core::Hashable
18072
+
18073
+ # The maximum number of nodes that the group should have.
18074
+ # Corresponds to the JSON property `maxNodes`
18075
+ # @return [Fixnum]
18076
+ attr_accessor :max_nodes
18077
+
18078
+ # The minimum number of nodes that the group should have.
18079
+ # Corresponds to the JSON property `minNodes`
18080
+ # @return [Fixnum]
18081
+ attr_accessor :min_nodes
18082
+
18083
+ # The autoscaling mode.
18084
+ # Corresponds to the JSON property `mode`
18085
+ # @return [String]
18086
+ attr_accessor :mode
18087
+
18088
+ def initialize(**args)
18089
+ update!(**args)
18090
+ end
18091
+
18092
+ # Update properties of this object
18093
+ def update!(**args)
18094
+ @max_nodes = args[:max_nodes] if args.key?(:max_nodes)
18095
+ @min_nodes = args[:min_nodes] if args.key?(:min_nodes)
18096
+ @mode = args[:mode] if args.key?(:mode)
18097
+ end
18098
+ end
18099
+
17681
18100
  # Contains a list of nodeGroups.
17682
18101
  class NodeGroupList
17683
18102
  include Google::Apis::Core::Hashable
@@ -17820,6 +18239,11 @@ module Google
17820
18239
  # @return [Google::Apis::ComputeBeta::ServerBinding]
17821
18240
  attr_accessor :server_binding
17822
18241
 
18242
+ # Server ID associated with this node.
18243
+ # Corresponds to the JSON property `serverId`
18244
+ # @return [String]
18245
+ attr_accessor :server_id
18246
+
17823
18247
  #
17824
18248
  # Corresponds to the JSON property `status`
17825
18249
  # @return [String]
@@ -17835,6 +18259,7 @@ module Google
17835
18259
  @name = args[:name] if args.key?(:name)
17836
18260
  @node_type = args[:node_type] if args.key?(:node_type)
17837
18261
  @server_binding = args[:server_binding] if args.key?(:server_binding)
18262
+ @server_id = args[:server_id] if args.key?(:server_id)
17838
18263
  @status = args[:status] if args.key?(:status)
17839
18264
  end
17840
18265
  end
@@ -18109,7 +18534,7 @@ module Google
18109
18534
  # Represent a sole-tenant Node Template resource.
18110
18535
  # You can use a template to define properties for nodes in a node group. For
18111
18536
  # more information, read Creating node groups and instances. (== resource_for
18112
- # beta.nodeTemplates ==) (== resource_for v1.nodeTemplates ==) (== NextID: 16 ==)
18537
+ # beta.nodeTemplates ==) (== resource_for v1.nodeTemplates ==)
18113
18538
  class NodeTemplate
18114
18539
  include Google::Apis::Core::Hashable
18115
18540
 
@@ -20464,10 +20889,9 @@ module Google
20464
20889
  # @return [Array<Google::Apis::ComputeBeta::PathRule>]
20465
20890
  attr_accessor :path_rules
20466
20891
 
20467
- # The list of ordered HTTP route rules. Use this list instead of pathRules when
20468
- # advanced route matching and routing actions are desired. The order of
20469
- # specifying routeRules matters: the first rule that matches will cause its
20470
- # specified routing action to take effect.
20892
+ # The list of HTTP route rules. Use this list instead of pathRules when advanced
20893
+ # route matching and routing actions are desired. routeRules are evaluated in
20894
+ # order of priority, from the lowest to highest number.
20471
20895
  # Within a given pathMatcher, only one of pathRules or routeRules must be set.
20472
20896
  # routeRules are not supported in UrlMaps intended for External Load balancers.
20473
20897
  # Corresponds to the JSON property `routeRules`
@@ -20567,6 +20991,11 @@ module Google
20567
20991
  # @return [String]
20568
20992
  attr_accessor :name
20569
20993
 
20994
+ # Preserved state for a given instance.
20995
+ # Corresponds to the JSON property `preservedState`
20996
+ # @return [Google::Apis::ComputeBeta::PreservedState]
20997
+ attr_accessor :preserved_state
20998
+
20570
20999
  def initialize(**args)
20571
21000
  update!(**args)
20572
21001
  end
@@ -20575,35 +21004,38 @@ module Google
20575
21004
  def update!(**args)
20576
21005
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
20577
21006
  @name = args[:name] if args.key?(:name)
21007
+ @preserved_state = args[:preserved_state] if args.key?(:preserved_state)
20578
21008
  end
20579
21009
  end
20580
21010
 
20581
- # Defines an Identity and Access Management (IAM) policy. It is used to specify
20582
- # access control policies for Cloud Platform resources.
21011
+ # An Identity and Access Management (IAM) policy, which specifies access
21012
+ # controls for Google Cloud resources.
20583
21013
  # A `Policy` is a collection of `bindings`. A `binding` binds one or more `
20584
21014
  # members` to a single `role`. Members can be user accounts, service accounts,
20585
21015
  # Google groups, and domains (such as G Suite). A `role` is a named list of
20586
- # permissions (defined by IAM or configured by users). A `binding` can
20587
- # optionally specify a `condition`, which is a logic expression that further
20588
- # constrains the role binding based on attributes about the request and/or
20589
- # target resource.
20590
- # **JSON Example**
21016
+ # permissions; each `role` can be an IAM predefined role or a user-created
21017
+ # custom role.
21018
+ # Optionally, a `binding` can specify a `condition`, which is a logical
21019
+ # expression that allows access to a resource only if the expression evaluates
21020
+ # to `true`. A condition can add constraints based on attributes of the request,
21021
+ # the resource, or both.
21022
+ # **JSON example:**
20591
21023
  # ` "bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members":
20592
21024
  # [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
20593
21025
  # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
20594
21026
  # roles/resourcemanager.organizationViewer", "members": ["user:eve@example.com"],
20595
21027
  # "condition": ` "title": "expirable access", "description": "Does not grant
20596
21028
  # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
20597
- # 00:00.000Z')", ` ` ] `
20598
- # **YAML Example**
21029
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 `
21030
+ # **YAML example:**
20599
21031
  # bindings: - members: - user:mike@example.com - group:admins@example.com -
20600
21032
  # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
20601
21033
  # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
20602
21034
  # com role: roles/resourcemanager.organizationViewer condition: title: expirable
20603
21035
  # access description: Does not grant access after Sep 2020 expression: request.
20604
- # time < timestamp('2020-10-01T00:00:00.000Z')
20605
- # For a description of IAM and its features, see the [IAM developer's guide](
20606
- # https://cloud.google.com/iam/docs).
21036
+ # time < timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3
21037
+ # For a description of IAM and its features, see the [IAM documentation](https://
21038
+ # cloud.google.com/iam/docs/).
20607
21039
  class Policy
20608
21040
  include Google::Apis::Core::Hashable
20609
21041
 
@@ -20612,9 +21044,9 @@ module Google
20612
21044
  # @return [Array<Google::Apis::ComputeBeta::AuditConfig>]
20613
21045
  attr_accessor :audit_configs
20614
21046
 
20615
- # Associates a list of `members` to a `role`. Optionally may specify a `
20616
- # condition` that determines when binding is in effect. `bindings` with no
20617
- # members will result in an error.
21047
+ # Associates a list of `members` to a `role`. Optionally, may specify a `
21048
+ # condition` that determines how and when the `bindings` are applied. Each of
21049
+ # the `bindings` must contain at least one member.
20618
21050
  # Corresponds to the JSON property `bindings`
20619
21051
  # @return [Array<Google::Apis::ComputeBeta::Binding>]
20620
21052
  attr_accessor :bindings
@@ -20626,10 +21058,10 @@ module Google
20626
21058
  # returned in the response to `getIamPolicy`, and systems are expected to put
20627
21059
  # that etag in the request to `setIamPolicy` to ensure that their change will be
20628
21060
  # applied to the same version of the policy.
20629
- # If no `etag` is provided in the call to `setIamPolicy`, then the existing
20630
- # policy is overwritten. Due to blind-set semantics of an etag-less policy, '
20631
- # setIamPolicy' will not fail even if either of incoming or stored policy does
20632
- # not meet the version requirements.
21061
+ # **Important:** If you use IAM Conditions, you must include the `etag` field
21062
+ # whenever you call `setIamPolicy`. If you omit this field, then IAM allows you
21063
+ # to overwrite a version `3` policy with a version `1` policy, and all of the
21064
+ # conditions in the version `3` policy are lost.
20633
21065
  # Corresponds to the JSON property `etag`
20634
21066
  # NOTE: Values are automatically base64 encoded/decoded in the client library.
20635
21067
  # @return [String]
@@ -20652,19 +21084,73 @@ module Google
20652
21084
  # @return [Array<Google::Apis::ComputeBeta::Rule>]
20653
21085
  attr_accessor :rules
20654
21086
 
20655
- # Specifies the format of the policy.
20656
- # Valid values are 0, 1, and 3. Requests specifying an invalid value will be
20657
- # rejected.
20658
- # Operations affecting conditional bindings must specify version 3. This can be
20659
- # either setting a conditional policy, modifying a conditional binding, or
20660
- # removing a conditional binding from the stored conditional policy. Operations
20661
- # on non-conditional policies may specify any valid value or leave the field
20662
- # unset.
20663
- # If no etag is provided in the call to `setIamPolicy`, any version compliance
20664
- # checks on the incoming and/or stored policy is skipped.
20665
- # Corresponds to the JSON property `version`
20666
- # @return [Fixnum]
20667
- attr_accessor :version
21087
+ # Specifies the format of the policy.
21088
+ # Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are
21089
+ # rejected.
21090
+ # Any operation that affects conditional role bindings must specify version `3`.
21091
+ # This requirement applies to the following operations:
21092
+ # * Getting a policy that includes a conditional role binding * Adding a
21093
+ # conditional role binding to a policy * Changing a conditional role binding in
21094
+ # a policy * Removing any role binding, with or without a condition, from a
21095
+ # policy that includes conditions
21096
+ # **Important:** If you use IAM Conditions, you must include the `etag` field
21097
+ # whenever you call `setIamPolicy`. If you omit this field, then IAM allows you
21098
+ # to overwrite a version `3` policy with a version `1` policy, and all of the
21099
+ # conditions in the version `3` policy are lost.
21100
+ # If a policy does not include any conditions, operations on that policy may
21101
+ # specify any valid version or leave the field unset.
21102
+ # Corresponds to the JSON property `version`
21103
+ # @return [Fixnum]
21104
+ attr_accessor :version
21105
+
21106
+ def initialize(**args)
21107
+ update!(**args)
21108
+ end
21109
+
21110
+ # Update properties of this object
21111
+ def update!(**args)
21112
+ @audit_configs = args[:audit_configs] if args.key?(:audit_configs)
21113
+ @bindings = args[:bindings] if args.key?(:bindings)
21114
+ @etag = args[:etag] if args.key?(:etag)
21115
+ @iam_owned = args[:iam_owned] if args.key?(:iam_owned)
21116
+ @rules = args[:rules] if args.key?(:rules)
21117
+ @version = args[:version] if args.key?(:version)
21118
+ end
21119
+ end
21120
+
21121
+ #
21122
+ class PreconfiguredWafSet
21123
+ include Google::Apis::Core::Hashable
21124
+
21125
+ # List of entities that are currently supported for WAF rules.
21126
+ # Corresponds to the JSON property `expressionSets`
21127
+ # @return [Array<Google::Apis::ComputeBeta::WafExpressionSet>]
21128
+ attr_accessor :expression_sets
21129
+
21130
+ def initialize(**args)
21131
+ update!(**args)
21132
+ end
21133
+
21134
+ # Update properties of this object
21135
+ def update!(**args)
21136
+ @expression_sets = args[:expression_sets] if args.key?(:expression_sets)
21137
+ end
21138
+ end
21139
+
21140
+ # Preserved state for a given instance.
21141
+ class PreservedState
21142
+ include Google::Apis::Core::Hashable
21143
+
21144
+ # Preserved disks defined for this instance. This map is keyed with the device
21145
+ # names of the disks.
21146
+ # Corresponds to the JSON property `disks`
21147
+ # @return [Hash<String,Google::Apis::ComputeBeta::PreservedStatePreservedDisk>]
21148
+ attr_accessor :disks
21149
+
21150
+ # Preserved metadata defined for this instance.
21151
+ # Corresponds to the JSON property `metadata`
21152
+ # @return [Hash<String,String>]
21153
+ attr_accessor :metadata
20668
21154
 
20669
21155
  def initialize(**args)
20670
21156
  update!(**args)
@@ -20672,23 +21158,35 @@ module Google
20672
21158
 
20673
21159
  # Update properties of this object
20674
21160
  def update!(**args)
20675
- @audit_configs = args[:audit_configs] if args.key?(:audit_configs)
20676
- @bindings = args[:bindings] if args.key?(:bindings)
20677
- @etag = args[:etag] if args.key?(:etag)
20678
- @iam_owned = args[:iam_owned] if args.key?(:iam_owned)
20679
- @rules = args[:rules] if args.key?(:rules)
20680
- @version = args[:version] if args.key?(:version)
21161
+ @disks = args[:disks] if args.key?(:disks)
21162
+ @metadata = args[:metadata] if args.key?(:metadata)
20681
21163
  end
20682
21164
  end
20683
21165
 
20684
21166
  #
20685
- class PreconfiguredWafSet
21167
+ class PreservedStatePreservedDisk
20686
21168
  include Google::Apis::Core::Hashable
20687
21169
 
20688
- # List of entities that are currently supported for WAF rules.
20689
- # Corresponds to the JSON property `expressionSets`
20690
- # @return [Array<Google::Apis::ComputeBeta::WafExpressionSet>]
20691
- attr_accessor :expression_sets
21170
+ # These stateful disks will never be deleted during autohealing, update,
21171
+ # instance recreate operations. This flag is used to configure if the disk
21172
+ # should be deleted after it is no longer used by the group, e.g. when the given
21173
+ # instance or the whole MIG is deleted. Note: disks attached in READ_ONLY mode
21174
+ # cannot be auto-deleted.
21175
+ # Corresponds to the JSON property `autoDelete`
21176
+ # @return [String]
21177
+ attr_accessor :auto_delete
21178
+
21179
+ # The mode in which to attach this disk, either READ_WRITE or READ_ONLY. If not
21180
+ # specified, the default is to attach the disk in READ_WRITE mode.
21181
+ # Corresponds to the JSON property `mode`
21182
+ # @return [String]
21183
+ attr_accessor :mode
21184
+
21185
+ # The URL of the disk resource that is stateful and should be attached to the VM
21186
+ # instance.
21187
+ # Corresponds to the JSON property `source`
21188
+ # @return [String]
21189
+ attr_accessor :source
20692
21190
 
20693
21191
  def initialize(**args)
20694
21192
  update!(**args)
@@ -20696,7 +21194,9 @@ module Google
20696
21194
 
20697
21195
  # Update properties of this object
20698
21196
  def update!(**args)
20699
- @expression_sets = args[:expression_sets] if args.key?(:expression_sets)
21197
+ @auto_delete = args[:auto_delete] if args.key?(:auto_delete)
21198
+ @mode = args[:mode] if args.key?(:mode)
21199
+ @source = args[:source] if args.key?(:source)
20700
21200
  end
20701
21201
  end
20702
21202
 
@@ -21499,6 +21999,26 @@ module Google
21499
21999
  end
21500
22000
  end
21501
22001
 
22002
+ # RegionInstanceGroupManagers.deletePerInstanceConfigs
22003
+ class RegionInstanceGroupManagerDeleteInstanceConfigReq
22004
+ include Google::Apis::Core::Hashable
22005
+
22006
+ # The list of instance names for which we want to delete per-instance configs on
22007
+ # this managed instance group.
22008
+ # Corresponds to the JSON property `names`
22009
+ # @return [Array<String>]
22010
+ attr_accessor :names
22011
+
22012
+ def initialize(**args)
22013
+ update!(**args)
22014
+ end
22015
+
22016
+ # Update properties of this object
22017
+ def update!(**args)
22018
+ @names = args[:names] if args.key?(:names)
22019
+ end
22020
+ end
22021
+
21502
22022
  # Contains a list of managed instance groups.
21503
22023
  class RegionInstanceGroupManagerList
21504
22024
  include Google::Apis::Core::Hashable
@@ -21618,6 +22138,46 @@ module Google
21618
22138
  end
21619
22139
  end
21620
22140
 
22141
+ # RegionInstanceGroupManagers.patchPerInstanceConfigs
22142
+ class RegionInstanceGroupManagerPatchInstanceConfigReq
22143
+ include Google::Apis::Core::Hashable
22144
+
22145
+ # The list of per-instance configs to insert or patch on this managed instance
22146
+ # group.
22147
+ # Corresponds to the JSON property `perInstanceConfigs`
22148
+ # @return [Array<Google::Apis::ComputeBeta::PerInstanceConfig>]
22149
+ attr_accessor :per_instance_configs
22150
+
22151
+ def initialize(**args)
22152
+ update!(**args)
22153
+ end
22154
+
22155
+ # Update properties of this object
22156
+ def update!(**args)
22157
+ @per_instance_configs = args[:per_instance_configs] if args.key?(:per_instance_configs)
22158
+ end
22159
+ end
22160
+
22161
+ # RegionInstanceGroupManagers.updatePerInstanceConfigs
22162
+ class RegionInstanceGroupManagerUpdateInstanceConfigReq
22163
+ include Google::Apis::Core::Hashable
22164
+
22165
+ # The list of per-instance configs to insert or patch on this managed instance
22166
+ # group.
22167
+ # Corresponds to the JSON property `perInstanceConfigs`
22168
+ # @return [Array<Google::Apis::ComputeBeta::PerInstanceConfig>]
22169
+ attr_accessor :per_instance_configs
22170
+
22171
+ def initialize(**args)
22172
+ update!(**args)
22173
+ end
22174
+
22175
+ # Update properties of this object
22176
+ def update!(**args)
22177
+ @per_instance_configs = args[:per_instance_configs] if args.key?(:per_instance_configs)
22178
+ end
22179
+ end
22180
+
21621
22181
  #
21622
22182
  class RegionInstanceGroupManagersAbandonInstancesRequest
21623
22183
  include Google::Apis::Core::Hashable
@@ -21724,6 +22284,134 @@ module Google
21724
22284
  end
21725
22285
  end
21726
22286
 
22287
+ #
22288
+ class RegionInstanceGroupManagersListErrorsResponse
22289
+ include Google::Apis::Core::Hashable
22290
+
22291
+ # [Output Only] The list of errors of the managed instance group.
22292
+ # Corresponds to the JSON property `items`
22293
+ # @return [Array<Google::Apis::ComputeBeta::InstanceManagedByIgmError>]
22294
+ attr_accessor :items
22295
+
22296
+ # [Output Only] This token allows you to get the next page of results for list
22297
+ # requests. If the number of results is larger than maxResults, use the
22298
+ # nextPageToken as a value for the query parameter pageToken in the next list
22299
+ # request. Subsequent list requests will have their own nextPageToken to
22300
+ # continue paging through the results.
22301
+ # Corresponds to the JSON property `nextPageToken`
22302
+ # @return [String]
22303
+ attr_accessor :next_page_token
22304
+
22305
+ def initialize(**args)
22306
+ update!(**args)
22307
+ end
22308
+
22309
+ # Update properties of this object
22310
+ def update!(**args)
22311
+ @items = args[:items] if args.key?(:items)
22312
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
22313
+ end
22314
+ end
22315
+
22316
+ #
22317
+ class RegionInstanceGroupManagersListInstanceConfigsResp
22318
+ include Google::Apis::Core::Hashable
22319
+
22320
+ # [Output Only] The list of PerInstanceConfig.
22321
+ # Corresponds to the JSON property `items`
22322
+ # @return [Array<Google::Apis::ComputeBeta::PerInstanceConfig>]
22323
+ attr_accessor :items
22324
+
22325
+ # [Output Only] This token allows you to get the next page of results for list
22326
+ # requests. If the number of results is larger than maxResults, use the
22327
+ # nextPageToken as a value for the query parameter pageToken in the next list
22328
+ # request. Subsequent list requests will have their own nextPageToken to
22329
+ # continue paging through the results.
22330
+ # Corresponds to the JSON property `nextPageToken`
22331
+ # @return [String]
22332
+ attr_accessor :next_page_token
22333
+
22334
+ # [Output Only] Informational warning message.
22335
+ # Corresponds to the JSON property `warning`
22336
+ # @return [Google::Apis::ComputeBeta::RegionInstanceGroupManagersListInstanceConfigsResp::Warning]
22337
+ attr_accessor :warning
22338
+
22339
+ def initialize(**args)
22340
+ update!(**args)
22341
+ end
22342
+
22343
+ # Update properties of this object
22344
+ def update!(**args)
22345
+ @items = args[:items] if args.key?(:items)
22346
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
22347
+ @warning = args[:warning] if args.key?(:warning)
22348
+ end
22349
+
22350
+ # [Output Only] Informational warning message.
22351
+ class Warning
22352
+ include Google::Apis::Core::Hashable
22353
+
22354
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
22355
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
22356
+ # Corresponds to the JSON property `code`
22357
+ # @return [String]
22358
+ attr_accessor :code
22359
+
22360
+ # [Output Only] Metadata about this warning in key: value format. For example:
22361
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
22362
+ # Corresponds to the JSON property `data`
22363
+ # @return [Array<Google::Apis::ComputeBeta::RegionInstanceGroupManagersListInstanceConfigsResp::Warning::Datum>]
22364
+ attr_accessor :data
22365
+
22366
+ # [Output Only] A human-readable description of the warning code.
22367
+ # Corresponds to the JSON property `message`
22368
+ # @return [String]
22369
+ attr_accessor :message
22370
+
22371
+ def initialize(**args)
22372
+ update!(**args)
22373
+ end
22374
+
22375
+ # Update properties of this object
22376
+ def update!(**args)
22377
+ @code = args[:code] if args.key?(:code)
22378
+ @data = args[:data] if args.key?(:data)
22379
+ @message = args[:message] if args.key?(:message)
22380
+ end
22381
+
22382
+ #
22383
+ class Datum
22384
+ include Google::Apis::Core::Hashable
22385
+
22386
+ # [Output Only] A key that provides more detail on the warning being returned.
22387
+ # For example, for warnings where there are no results in a list request for a
22388
+ # particular zone, this key might be scope and the key value might be the zone
22389
+ # name. Other examples might be a key indicating a deprecated resource and a
22390
+ # suggested replacement, or a warning about invalid network settings (for
22391
+ # example, if an instance attempts to perform IP forwarding but is not enabled
22392
+ # for IP forwarding).
22393
+ # Corresponds to the JSON property `key`
22394
+ # @return [String]
22395
+ attr_accessor :key
22396
+
22397
+ # [Output Only] A warning data value corresponding to the key.
22398
+ # Corresponds to the JSON property `value`
22399
+ # @return [String]
22400
+ attr_accessor :value
22401
+
22402
+ def initialize(**args)
22403
+ update!(**args)
22404
+ end
22405
+
22406
+ # Update properties of this object
22407
+ def update!(**args)
22408
+ @key = args[:key] if args.key?(:key)
22409
+ @value = args[:value] if args.key?(:value)
22410
+ end
22411
+ end
22412
+ end
22413
+ end
22414
+
21727
22415
  #
21728
22416
  class RegionInstanceGroupManagersListInstancesResponse
21729
22417
  include Google::Apis::Core::Hashable
@@ -22182,32 +22870,34 @@ module Google
22182
22870
  # @return [String]
22183
22871
  attr_accessor :etag
22184
22872
 
22185
- # Defines an Identity and Access Management (IAM) policy. It is used to specify
22186
- # access control policies for Cloud Platform resources.
22873
+ # An Identity and Access Management (IAM) policy, which specifies access
22874
+ # controls for Google Cloud resources.
22187
22875
  # A `Policy` is a collection of `bindings`. A `binding` binds one or more `
22188
22876
  # members` to a single `role`. Members can be user accounts, service accounts,
22189
22877
  # Google groups, and domains (such as G Suite). A `role` is a named list of
22190
- # permissions (defined by IAM or configured by users). A `binding` can
22191
- # optionally specify a `condition`, which is a logic expression that further
22192
- # constrains the role binding based on attributes about the request and/or
22193
- # target resource.
22194
- # **JSON Example**
22878
+ # permissions; each `role` can be an IAM predefined role or a user-created
22879
+ # custom role.
22880
+ # Optionally, a `binding` can specify a `condition`, which is a logical
22881
+ # expression that allows access to a resource only if the expression evaluates
22882
+ # to `true`. A condition can add constraints based on attributes of the request,
22883
+ # the resource, or both.
22884
+ # **JSON example:**
22195
22885
  # ` "bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members":
22196
22886
  # [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
22197
22887
  # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
22198
22888
  # roles/resourcemanager.organizationViewer", "members": ["user:eve@example.com"],
22199
22889
  # "condition": ` "title": "expirable access", "description": "Does not grant
22200
22890
  # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
22201
- # 00:00.000Z')", ` ` ] `
22202
- # **YAML Example**
22891
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 `
22892
+ # **YAML example:**
22203
22893
  # bindings: - members: - user:mike@example.com - group:admins@example.com -
22204
22894
  # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
22205
22895
  # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
22206
22896
  # com role: roles/resourcemanager.organizationViewer condition: title: expirable
22207
22897
  # access description: Does not grant access after Sep 2020 expression: request.
22208
- # time < timestamp('2020-10-01T00:00:00.000Z')
22209
- # For a description of IAM and its features, see the [IAM developer's guide](
22210
- # https://cloud.google.com/iam/docs).
22898
+ # time < timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3
22899
+ # For a description of IAM and its features, see the [IAM documentation](https://
22900
+ # cloud.google.com/iam/docs/).
22211
22901
  # Corresponds to the JSON property `policy`
22212
22902
  # @return [Google::Apis::ComputeBeta::Policy]
22213
22903
  attr_accessor :policy
@@ -25138,6 +25828,12 @@ module Google
25138
25828
  # @return [Fixnum]
25139
25829
  attr_accessor :disk_size_gb
25140
25830
 
25831
+ # [Output Only] URL of the disk type resource. For example: projects/project/
25832
+ # zones/zone/diskTypes/pd-standard or pd-ssd
25833
+ # Corresponds to the JSON property `diskType`
25834
+ # @return [String]
25835
+ attr_accessor :disk_type
25836
+
25141
25837
  # A list of features to enable on the guest operating system. Applicable only
25142
25838
  # for bootable images. Read Enabling guest operating system features to see a
25143
25839
  # list of available options.
@@ -25208,6 +25904,7 @@ module Google
25208
25904
  @device_name = args[:device_name] if args.key?(:device_name)
25209
25905
  @disk_encryption_key = args[:disk_encryption_key] if args.key?(:disk_encryption_key)
25210
25906
  @disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb)
25907
+ @disk_type = args[:disk_type] if args.key?(:disk_type)
25211
25908
  @guest_os_features = args[:guest_os_features] if args.key?(:guest_os_features)
25212
25909
  @index = args[:index] if args.key?(:index)
25213
25910
  @interface = args[:interface] if args.key?(:interface)
@@ -25236,6 +25933,12 @@ module Google
25236
25933
  attr_accessor :automatic_restart
25237
25934
  alias_method :automatic_restart?, :automatic_restart
25238
25935
 
25936
+ # The minimum number of virtual CPUs this instance will consume when running on
25937
+ # a sole-tenant node.
25938
+ # Corresponds to the JSON property `minNodeCpus`
25939
+ # @return [Fixnum]
25940
+ attr_accessor :min_node_cpus
25941
+
25239
25942
  # A set of node affinity and anti-affinity configurations. Refer to Configuring
25240
25943
  # node affinity for more information.
25241
25944
  # Corresponds to the JSON property `nodeAffinities`
@@ -25265,6 +25968,7 @@ module Google
25265
25968
  # Update properties of this object
25266
25969
  def update!(**args)
25267
25970
  @automatic_restart = args[:automatic_restart] if args.key?(:automatic_restart)
25971
+ @min_node_cpus = args[:min_node_cpus] if args.key?(:min_node_cpus)
25268
25972
  @node_affinities = args[:node_affinities] if args.key?(:node_affinities)
25269
25973
  @on_host_maintenance = args[:on_host_maintenance] if args.key?(:on_host_maintenance)
25270
25974
  @preemptible = args[:preemptible] if args.key?(:preemptible)
@@ -26489,7 +27193,9 @@ module Google
26489
27193
  # This SSL certificate resource also contains a private key. You can use SSL
26490
27194
  # keys and certificates to secure connections to a load balancer. For more
26491
27195
  # information, read Creating and Using SSL Certificates. (== resource_for beta.
26492
- # sslCertificates ==) (== resource_for v1.sslCertificates ==)
27196
+ # sslCertificates ==) (== resource_for v1.sslCertificates ==) (== resource_for
27197
+ # beta.regionSslCertificates ==) (== resource_for v1.regionSslCertificates ==)
27198
+ # Next ID: 17
26493
27199
  class SslCertificate
26494
27200
  include Google::Apis::Core::Hashable
26495
27201
 
@@ -27319,6 +28025,68 @@ module Google
27319
28025
  end
27320
28026
  end
27321
28027
 
28028
+ #
28029
+ class StatefulPolicy
28030
+ include Google::Apis::Core::Hashable
28031
+
28032
+ # Configuration of preserved resources.
28033
+ # Corresponds to the JSON property `preservedState`
28034
+ # @return [Google::Apis::ComputeBeta::StatefulPolicyPreservedState]
28035
+ attr_accessor :preserved_state
28036
+
28037
+ def initialize(**args)
28038
+ update!(**args)
28039
+ end
28040
+
28041
+ # Update properties of this object
28042
+ def update!(**args)
28043
+ @preserved_state = args[:preserved_state] if args.key?(:preserved_state)
28044
+ end
28045
+ end
28046
+
28047
+ # Configuration of preserved resources.
28048
+ class StatefulPolicyPreservedState
28049
+ include Google::Apis::Core::Hashable
28050
+
28051
+ # Disks created on the instances that will be preserved on instance delete,
28052
+ # update, etc. This map is keyed with the device names of the disks.
28053
+ # Corresponds to the JSON property `disks`
28054
+ # @return [Hash<String,Google::Apis::ComputeBeta::StatefulPolicyPreservedStateDiskDevice>]
28055
+ attr_accessor :disks
28056
+
28057
+ def initialize(**args)
28058
+ update!(**args)
28059
+ end
28060
+
28061
+ # Update properties of this object
28062
+ def update!(**args)
28063
+ @disks = args[:disks] if args.key?(:disks)
28064
+ end
28065
+ end
28066
+
28067
+ #
28068
+ class StatefulPolicyPreservedStateDiskDevice
28069
+ include Google::Apis::Core::Hashable
28070
+
28071
+ # These stateful disks will never be deleted during autohealing, update or VM
28072
+ # instance recreate operations. This flag is used to configure if the disk
28073
+ # should be deleted after it is no longer used by the group, e.g. when the given
28074
+ # instance or the whole group is deleted. Note: disks attached in READ_ONLY mode
28075
+ # cannot be auto-deleted.
28076
+ # Corresponds to the JSON property `autoDelete`
28077
+ # @return [String]
28078
+ attr_accessor :auto_delete
28079
+
28080
+ def initialize(**args)
28081
+ update!(**args)
28082
+ end
28083
+
28084
+ # Update properties of this object
28085
+ def update!(**args)
28086
+ @auto_delete = args[:auto_delete] if args.key?(:auto_delete)
28087
+ end
28088
+ end
28089
+
27322
28090
  # Represents a Subnetwork resource.
27323
28091
  # A subnetwork (also known as a subnet) is a logical partition of a Virtual
27324
28092
  # Private Cloud network with one primary IP range and zero or more secondary IP
@@ -28174,11 +28942,12 @@ module Google
28174
28942
  end
28175
28943
 
28176
28944
  # Represents a Target HTTP Proxy resource.
28177
- # A target HTTP proxy is a component of certain types of load balancers. Global
28178
- # forwarding rules reference a target HTTP proxy, and the target proxy then
28179
- # references a URL map. For more information, read Using Target Proxies. (==
28180
- # resource_for beta.targetHttpProxies ==) (== resource_for v1.targetHttpProxies =
28181
- # =)
28945
+ # A target HTTP proxy is a component of GCP HTTP load balancers. Forwarding
28946
+ # rules reference a target HTTP proxy, and the target proxy then references a
28947
+ # URL map. For more information, read Using Target Proxies and Forwarding rule
28948
+ # concepts. (== resource_for beta.targetHttpProxies ==) (== resource_for v1.
28949
+ # targetHttpProxies ==) (== resource_for beta.regionTargetHttpProxies ==) (==
28950
+ # resource_for v1.regionTargetHttpProxies ==)
28182
28951
  class TargetHttpProxy
28183
28952
  include Google::Apis::Core::Hashable
28184
28953
 
@@ -28616,11 +29385,12 @@ module Google
28616
29385
  end
28617
29386
 
28618
29387
  # Represents a Target HTTPS Proxy resource.
28619
- # A target HTTPS proxy is a component of certain types of load balancers. Global
28620
- # forwarding rules reference a target HTTPS proxy, and the target proxy then
28621
- # references a URL map. For more information, read Using Target Proxies. (==
28622
- # resource_for beta.targetHttpsProxies ==) (== resource_for v1.
28623
- # targetHttpsProxies ==)
29388
+ # A target HTTPS proxy is a component of GCP HTTPS load balancers. Forwarding
29389
+ # rules reference a target HTTPS proxy, and the target proxy then references a
29390
+ # URL map. For more information, read Using Target Proxies and Forwarding rule
29391
+ # concepts. (== resource_for beta.targetHttpsProxies ==) (== resource_for v1.
29392
+ # targetHttpsProxies ==) (== resource_for beta.regionTargetHttpsProxies ==) (==
29393
+ # resource_for v1.regionTargetHttpsProxies ==)
28624
29394
  class TargetHttpsProxy
28625
29395
  include Google::Apis::Core::Hashable
28626
29396
 
@@ -32035,7 +32805,7 @@ module Google
32035
32805
  end
32036
32806
  end
32037
32807
 
32038
- # Represents a VPN gateway resource.
32808
+ # Represents a VPN gateway resource. Next ID: 13
32039
32809
  class VpnGateway
32040
32810
  include Google::Apis::Core::Hashable
32041
32811
 
@@ -33652,32 +34422,34 @@ module Google
33652
34422
  # @return [String]
33653
34423
  attr_accessor :etag
33654
34424
 
33655
- # Defines an Identity and Access Management (IAM) policy. It is used to specify
33656
- # access control policies for Cloud Platform resources.
34425
+ # An Identity and Access Management (IAM) policy, which specifies access
34426
+ # controls for Google Cloud resources.
33657
34427
  # A `Policy` is a collection of `bindings`. A `binding` binds one or more `
33658
34428
  # members` to a single `role`. Members can be user accounts, service accounts,
33659
34429
  # Google groups, and domains (such as G Suite). A `role` is a named list of
33660
- # permissions (defined by IAM or configured by users). A `binding` can
33661
- # optionally specify a `condition`, which is a logic expression that further
33662
- # constrains the role binding based on attributes about the request and/or
33663
- # target resource.
33664
- # **JSON Example**
34430
+ # permissions; each `role` can be an IAM predefined role or a user-created
34431
+ # custom role.
34432
+ # Optionally, a `binding` can specify a `condition`, which is a logical
34433
+ # expression that allows access to a resource only if the expression evaluates
34434
+ # to `true`. A condition can add constraints based on attributes of the request,
34435
+ # the resource, or both.
34436
+ # **JSON example:**
33665
34437
  # ` "bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members":
33666
34438
  # [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
33667
34439
  # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
33668
34440
  # roles/resourcemanager.organizationViewer", "members": ["user:eve@example.com"],
33669
34441
  # "condition": ` "title": "expirable access", "description": "Does not grant
33670
34442
  # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
33671
- # 00:00.000Z')", ` ` ] `
33672
- # **YAML Example**
34443
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 `
34444
+ # **YAML example:**
33673
34445
  # bindings: - members: - user:mike@example.com - group:admins@example.com -
33674
34446
  # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
33675
34447
  # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
33676
34448
  # com role: roles/resourcemanager.organizationViewer condition: title: expirable
33677
34449
  # access description: Does not grant access after Sep 2020 expression: request.
33678
- # time < timestamp('2020-10-01T00:00:00.000Z')
33679
- # For a description of IAM and its features, see the [IAM developer's guide](
33680
- # https://cloud.google.com/iam/docs).
34450
+ # time < timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3
34451
+ # For a description of IAM and its features, see the [IAM documentation](https://
34452
+ # cloud.google.com/iam/docs/).
33681
34453
  # Corresponds to the JSON property `policy`
33682
34454
  # @return [Google::Apis::ComputeBeta::Policy]
33683
34455
  attr_accessor :policy