google-api-client 0.36.1 → 0.36.2

Sign up to get free protection for your applications and to get access to all the features.
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