google-apis-compute_alpha 0.17.0 → 0.18.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1094,6 +1094,12 @@ module Google
1094
1094
  attr_accessor :enable_nested_virtualization
1095
1095
  alias_method :enable_nested_virtualization?, :enable_nested_virtualization
1096
1096
 
1097
+ # Whether to enable UEFI networking for instance creation.
1098
+ # Corresponds to the JSON property `enableUefiNetworking`
1099
+ # @return [Boolean]
1100
+ attr_accessor :enable_uefi_networking
1101
+ alias_method :enable_uefi_networking?, :enable_uefi_networking
1102
+
1097
1103
  # The number of vNUMA nodes.
1098
1104
  # Corresponds to the JSON property `numaNodeCount`
1099
1105
  # @return [Fixnum]
@@ -1121,6 +1127,7 @@ module Google
1121
1127
  # Update properties of this object
1122
1128
  def update!(**args)
1123
1129
  @enable_nested_virtualization = args[:enable_nested_virtualization] if args.key?(:enable_nested_virtualization)
1130
+ @enable_uefi_networking = args[:enable_uefi_networking] if args.key?(:enable_uefi_networking)
1124
1131
  @numa_node_count = args[:numa_node_count] if args.key?(:numa_node_count)
1125
1132
  @threads_per_core = args[:threads_per_core] if args.key?(:threads_per_core)
1126
1133
  @visible_core_count = args[:visible_core_count] if args.key?(:visible_core_count)
@@ -3967,8 +3974,8 @@ module Google
3967
3974
  # @return [String]
3968
3975
  attr_accessor :connection_persistence_on_unhealthy_backends
3969
3976
 
3970
- # Enable Strong Session Affinity. This is only available in External TCP/UDP
3971
- # load balancer.
3977
+ # Enable Strong Session Affinity for Network Load Balancing. This option is not
3978
+ # available publicly.
3972
3979
  # Corresponds to the JSON property `enableStrongAffinity`
3973
3980
  # @return [Boolean]
3974
3981
  attr_accessor :enable_strong_affinity
@@ -3976,9 +3983,9 @@ module Google
3976
3983
 
3977
3984
  # Specifies how long to keep a Connection Tracking entry while there is no
3978
3985
  # matching traffic (in seconds). For L4 ILB the minimum(default) is 10 minutes
3979
- # and maximum is 16 hours. For NLB the minimum(default) is 60 seconds and the
3980
- # maximum is 16 hours. This field will be supported only if the Connection
3981
- # Tracking key is less than 5-tuple.
3986
+ # and maximum is 16 hours. For Network Load Balancer the default is 60 seconds.
3987
+ # This option is not available publicly. This field will be supported only if
3988
+ # the Connection Tracking key is less than 5-tuple.
3982
3989
  # Corresponds to the JSON property `idleTimeoutSec`
3983
3990
  # @return [Fixnum]
3984
3991
  attr_accessor :idle_timeout_sec
@@ -5871,30 +5878,39 @@ module Google
5871
5878
  class CustomerEncryptionKey
5872
5879
  include Google::Apis::Core::Hashable
5873
5880
 
5874
- # The name of the encryption key that is stored in Google Cloud KMS.
5881
+ # The name of the encryption key that is stored in Google Cloud KMS. For example:
5882
+ # "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ key_region/
5883
+ # cryptoKeys/key
5875
5884
  # Corresponds to the JSON property `kmsKeyName`
5876
5885
  # @return [String]
5877
5886
  attr_accessor :kms_key_name
5878
5887
 
5879
5888
  # The service account being used for the encryption request for the given KMS
5880
- # key. If absent, the Compute Engine default service account is used.
5889
+ # key. If absent, the Compute Engine default service account is used. For
5890
+ # example: "kmsKeyServiceAccount": "name@project_id.iam.gserviceaccount.com/
5881
5891
  # Corresponds to the JSON property `kmsKeyServiceAccount`
5882
5892
  # @return [String]
5883
5893
  attr_accessor :kms_key_service_account
5884
5894
 
5885
5895
  # Specifies a 256-bit customer-supplied encryption key, encoded in RFC 4648
5886
- # base64 to either encrypt or decrypt this resource.
5896
+ # base64 to either encrypt or decrypt this resource. You can provide either the
5897
+ # rawKey or the rsaEncryptedKey. For example: "rawKey": "
5898
+ # SGVsbG8gZnJvbSBHb29nbGUgQ2xvdWQgUGxhdGZvcm0="
5887
5899
  # Corresponds to the JSON property `rawKey`
5888
5900
  # @return [String]
5889
5901
  attr_accessor :raw_key
5890
5902
 
5891
5903
  # Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit customer-supplied
5892
- # encryption key to either encrypt or decrypt this resource. The key must meet
5893
- # the following requirements before you can provide it to Compute Engine: 1. The
5894
- # key is wrapped using a RSA public key certificate provided by Google. 2. After
5895
- # being wrapped, the key must be encoded in RFC 4648 base64 encoding. Gets the
5896
- # RSA public key certificate provided by Google at: https://cloud-certs.storage.
5897
- # googleapis.com/google-cloud-csek-ingress.pem
5904
+ # encryption key to either encrypt or decrypt this resource. You can provide
5905
+ # either the rawKey or the rsaEncryptedKey. For example: "rsaEncryptedKey": "
5906
+ # ieCx/NcW06PcT7Ep1X6LUTc/hLvUDYyzSZPPVCVPTVEohpeHASqC8uw5TzyO9U+Fka9JFH
5907
+ # z0mBibXUInrC/jEk014kCK/NPjYgEMOyssZ4ZINPKxlUh2zn1bV+MCaTICrdmuSBTWlUUiFoD
5908
+ # D6PYznLwh8ZNdaheCeZ8ewEXgFQ8V+sDroLaN3Xs3MDTXQEMMoNUXMCZEIpg9Vtp9x2oe==" The
5909
+ # key must meet the following requirements before you can provide it to Compute
5910
+ # Engine: 1. The key is wrapped using a RSA public key certificate provided by
5911
+ # Google. 2. After being wrapped, the key must be encoded in RFC 4648 base64
5912
+ # encoding. Gets the RSA public key certificate provided by Google at: https://
5913
+ # cloud-certs.storage.googleapis.com/google-cloud-csek-ingress.pem
5898
5914
  # Corresponds to the JSON property `rsaEncryptedKey`
5899
5915
  # @return [String]
5900
5916
  attr_accessor :rsa_encrypted_key
@@ -5929,7 +5945,8 @@ module Google
5929
5945
  attr_accessor :disk_encryption_key
5930
5946
 
5931
5947
  # Specifies a valid partial or full URL to an existing Persistent Disk resource.
5932
- # This field is only applicable for persistent disks.
5948
+ # This field is only applicable for persistent disks. For example: "source": "/
5949
+ # compute/v1/projects/project_id/zones/zone/disks/ disk_name
5933
5950
  # Corresponds to the JSON property `source`
5934
5951
  # @return [String]
5935
5952
  attr_accessor :source
@@ -6268,25 +6285,6 @@ module Google
6268
6285
  # @return [String]
6269
6286
  attr_accessor :source_image_id
6270
6287
 
6271
- # [Deprecated] The source in-place snapshot used to create this disk. You can
6272
- # provide this as a partial or full URL to the resource. For example, the
6273
- # following are valid values: - https://www.googleapis.com/compute/v1/projects/
6274
- # project /global/inPlaceSnapshots/inPlaceSnapshots - projects/project/global/
6275
- # inPlaceSnapshots/inPlaceSnapshots - global/inPlaceSnapshots/inPlaceSnapshots
6276
- # Corresponds to the JSON property `sourceInPlaceSnapshot`
6277
- # @return [String]
6278
- attr_accessor :source_in_place_snapshot
6279
-
6280
- # Deprecated The unique ID of the in-place snapshot used to create this disk.
6281
- # This value identifies the exact in-place snapshot that was used to create this
6282
- # persistent disk. For example, if you created the persistent disk from an in-
6283
- # place snapshot that was later deleted and recreated under the same name, the
6284
- # source in-place snapshot ID would identify the exact version of the in-place
6285
- # snapshot that was used.
6286
- # Corresponds to the JSON property `sourceInPlaceSnapshotId`
6287
- # @return [String]
6288
- attr_accessor :source_in_place_snapshot_id
6289
-
6290
6288
  # The source instant snapshot used to create this disk. You can provide this as
6291
6289
  # a partial or full URL to the resource. For example, the following are valid
6292
6290
  # values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /
@@ -6420,8 +6418,6 @@ module Google
6420
6418
  @source_image = args[:source_image] if args.key?(:source_image)
6421
6419
  @source_image_encryption_key = args[:source_image_encryption_key] if args.key?(:source_image_encryption_key)
6422
6420
  @source_image_id = args[:source_image_id] if args.key?(:source_image_id)
6423
- @source_in_place_snapshot = args[:source_in_place_snapshot] if args.key?(:source_in_place_snapshot)
6424
- @source_in_place_snapshot_id = args[:source_in_place_snapshot_id] if args.key?(:source_in_place_snapshot_id)
6425
6421
  @source_instant_snapshot = args[:source_instant_snapshot] if args.key?(:source_instant_snapshot)
6426
6422
  @source_instant_snapshot_id = args[:source_instant_snapshot_id] if args.key?(:source_instant_snapshot_id)
6427
6423
  @source_snapshot = args[:source_snapshot] if args.key?(:source_snapshot)
@@ -8015,7 +8011,7 @@ module Google
8015
8011
 
8016
8012
  # Name of the resource; provided by the client when the resource is created. The
8017
8013
  # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
8018
- # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
8014
+ # name must be 1-63 characters long and match the regular expression [a-z]([-a-
8019
8015
  # z0-9]*[a-z0-9])?. The first character must be a lowercase letter, and all
8020
8016
  # following characters (except for the last character) must be a dash, lowercase
8021
8017
  # letter, or digit. The last character must be a lowercase letter or digit.
@@ -13730,264 +13726,6 @@ module Google
13730
13726
  end
13731
13727
  end
13732
13728
 
13733
- # Represents a InPlaceSnapshot resource. You can use in-place snapshots to
13734
- # create disk rollback points quickly..
13735
- class InPlaceSnapshot
13736
- include Google::Apis::Core::Hashable
13737
-
13738
- # [Output Only] Creation timestamp in RFC3339 text format.
13739
- # Corresponds to the JSON property `creationTimestamp`
13740
- # @return [String]
13741
- attr_accessor :creation_timestamp
13742
-
13743
- # An optional description of this resource. Provide this property when you
13744
- # create the resource.
13745
- # Corresponds to the JSON property `description`
13746
- # @return [String]
13747
- attr_accessor :description
13748
-
13749
- # [Output Only] Size of the source disk, specified in GB.
13750
- # Corresponds to the JSON property `diskSizeGb`
13751
- # @return [Fixnum]
13752
- attr_accessor :disk_size_gb
13753
-
13754
- # Specifies to create an application consistent in-place snapshot by informing
13755
- # the OS to prepare for the snapshot process. Currently only supported on
13756
- # Windows instances using the Volume Shadow Copy Service (VSS).
13757
- # Corresponds to the JSON property `guestFlush`
13758
- # @return [Boolean]
13759
- attr_accessor :guest_flush
13760
- alias_method :guest_flush?, :guest_flush
13761
-
13762
- # [Output Only] The unique identifier for the resource. This identifier is
13763
- # defined by the server.
13764
- # Corresponds to the JSON property `id`
13765
- # @return [Fixnum]
13766
- attr_accessor :id
13767
-
13768
- # [Output Only] Type of the resource. Always compute#inPlaceSnapshot for
13769
- # InPlaceSnapshot resources.
13770
- # Corresponds to the JSON property `kind`
13771
- # @return [String]
13772
- attr_accessor :kind
13773
-
13774
- # A fingerprint for the labels being applied to this InPlaceSnapshot, which is
13775
- # essentially a hash of the labels set used for optimistic locking. The
13776
- # fingerprint is initially generated by Compute Engine and changes after every
13777
- # request to modify or update labels. You must always provide an up-to-date
13778
- # fingerprint hash in order to update or change labels, otherwise the request
13779
- # will fail with error 412 conditionNotMet. To see the latest fingerprint, make
13780
- # a get() request to retrieve a InPlaceSnapshot.
13781
- # Corresponds to the JSON property `labelFingerprint`
13782
- # NOTE: Values are automatically base64 encoded/decoded in the client library.
13783
- # @return [String]
13784
- attr_accessor :label_fingerprint
13785
-
13786
- # Labels to apply to this InPlaceSnapshot. These can be later modified by the
13787
- # setLabels method. Label values may be empty.
13788
- # Corresponds to the JSON property `labels`
13789
- # @return [Hash<String,String>]
13790
- attr_accessor :labels
13791
-
13792
- # Name of the resource; provided by the client when the resource is created. The
13793
- # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
13794
- # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
13795
- # z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
13796
- # and all following characters must be a dash, lowercase letter, or digit,
13797
- # except the last character, which cannot be a dash.
13798
- # Corresponds to the JSON property `name`
13799
- # @return [String]
13800
- attr_accessor :name
13801
-
13802
- # [Output Only] URL of the region where the in-place snapshot resides. You must
13803
- # specify this field as part of the HTTP request URL. It is not settable as a
13804
- # field in the request body.
13805
- # Corresponds to the JSON property `region`
13806
- # @return [String]
13807
- attr_accessor :region
13808
-
13809
- # [Output Only] Server-defined URL for the resource.
13810
- # Corresponds to the JSON property `selfLink`
13811
- # @return [String]
13812
- attr_accessor :self_link
13813
-
13814
- # [Output Only] Server-defined URL for this resource's resource id.
13815
- # Corresponds to the JSON property `selfLinkWithId`
13816
- # @return [String]
13817
- attr_accessor :self_link_with_id
13818
-
13819
- # URL of the source disk used to create this in-place snapshot. Note that the
13820
- # source disk must be in the same zone/region as the in-place snapshot to be
13821
- # created. This can be a full or valid partial URL. For example, the following
13822
- # are valid values: - https://www.googleapis.com/compute/v1/projects/project/
13823
- # zones/zone /disks/disk - projects/project/zones/zone/disks/disk - zones/zone/
13824
- # disks/disk
13825
- # Corresponds to the JSON property `sourceDisk`
13826
- # @return [String]
13827
- attr_accessor :source_disk
13828
-
13829
- # [Output Only] The ID value of the disk used to create this InPlaceSnapshot.
13830
- # This value may be used to determine whether the InPlaceSnapshot was taken from
13831
- # the current or a previous instance of a given disk name.
13832
- # Corresponds to the JSON property `sourceDiskId`
13833
- # @return [String]
13834
- attr_accessor :source_disk_id
13835
-
13836
- # [Output Only] The status of the inPlaceSnapshot. This can be CREATING,
13837
- # DELETING, FAILED, or READY.
13838
- # Corresponds to the JSON property `status`
13839
- # @return [String]
13840
- attr_accessor :status
13841
-
13842
- # [Output Only] URL of the zone where the in-place snapshot resides. You must
13843
- # specify this field as part of the HTTP request URL. It is not settable as a
13844
- # field in the request body.
13845
- # Corresponds to the JSON property `zone`
13846
- # @return [String]
13847
- attr_accessor :zone
13848
-
13849
- def initialize(**args)
13850
- update!(**args)
13851
- end
13852
-
13853
- # Update properties of this object
13854
- def update!(**args)
13855
- @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
13856
- @description = args[:description] if args.key?(:description)
13857
- @disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb)
13858
- @guest_flush = args[:guest_flush] if args.key?(:guest_flush)
13859
- @id = args[:id] if args.key?(:id)
13860
- @kind = args[:kind] if args.key?(:kind)
13861
- @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
13862
- @labels = args[:labels] if args.key?(:labels)
13863
- @name = args[:name] if args.key?(:name)
13864
- @region = args[:region] if args.key?(:region)
13865
- @self_link = args[:self_link] if args.key?(:self_link)
13866
- @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
13867
- @source_disk = args[:source_disk] if args.key?(:source_disk)
13868
- @source_disk_id = args[:source_disk_id] if args.key?(:source_disk_id)
13869
- @status = args[:status] if args.key?(:status)
13870
- @zone = args[:zone] if args.key?(:zone)
13871
- end
13872
- end
13873
-
13874
- # Contains a list of InPlaceSnapshot resources.
13875
- class InPlaceSnapshotList
13876
- include Google::Apis::Core::Hashable
13877
-
13878
- # [Output Only] Unique identifier for the resource; defined by the server.
13879
- # Corresponds to the JSON property `id`
13880
- # @return [String]
13881
- attr_accessor :id
13882
-
13883
- # A list of InPlaceSnapshot resources.
13884
- # Corresponds to the JSON property `items`
13885
- # @return [Array<Google::Apis::ComputeAlpha::InPlaceSnapshot>]
13886
- attr_accessor :items
13887
-
13888
- # Type of resource.
13889
- # Corresponds to the JSON property `kind`
13890
- # @return [String]
13891
- attr_accessor :kind
13892
-
13893
- # [Output Only] This token allows you to get the next page of results for list
13894
- # requests. If the number of results is larger than maxResults, use the
13895
- # nextPageToken as a value for the query parameter pageToken in the next list
13896
- # request. Subsequent list requests will have their own nextPageToken to
13897
- # continue paging through the results.
13898
- # Corresponds to the JSON property `nextPageToken`
13899
- # @return [String]
13900
- attr_accessor :next_page_token
13901
-
13902
- # [Output Only] Server-defined URL for this resource.
13903
- # Corresponds to the JSON property `selfLink`
13904
- # @return [String]
13905
- attr_accessor :self_link
13906
-
13907
- # [Output Only] Informational warning message.
13908
- # Corresponds to the JSON property `warning`
13909
- # @return [Google::Apis::ComputeAlpha::InPlaceSnapshotList::Warning]
13910
- attr_accessor :warning
13911
-
13912
- def initialize(**args)
13913
- update!(**args)
13914
- end
13915
-
13916
- # Update properties of this object
13917
- def update!(**args)
13918
- @id = args[:id] if args.key?(:id)
13919
- @items = args[:items] if args.key?(:items)
13920
- @kind = args[:kind] if args.key?(:kind)
13921
- @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
13922
- @self_link = args[:self_link] if args.key?(:self_link)
13923
- @warning = args[:warning] if args.key?(:warning)
13924
- end
13925
-
13926
- # [Output Only] Informational warning message.
13927
- class Warning
13928
- include Google::Apis::Core::Hashable
13929
-
13930
- # [Output Only] A warning code, if applicable. For example, Compute Engine
13931
- # returns NO_RESULTS_ON_PAGE if there are no results in the response.
13932
- # Corresponds to the JSON property `code`
13933
- # @return [String]
13934
- attr_accessor :code
13935
-
13936
- # [Output Only] Metadata about this warning in key: value format. For example: "
13937
- # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
13938
- # Corresponds to the JSON property `data`
13939
- # @return [Array<Google::Apis::ComputeAlpha::InPlaceSnapshotList::Warning::Datum>]
13940
- attr_accessor :data
13941
-
13942
- # [Output Only] A human-readable description of the warning code.
13943
- # Corresponds to the JSON property `message`
13944
- # @return [String]
13945
- attr_accessor :message
13946
-
13947
- def initialize(**args)
13948
- update!(**args)
13949
- end
13950
-
13951
- # Update properties of this object
13952
- def update!(**args)
13953
- @code = args[:code] if args.key?(:code)
13954
- @data = args[:data] if args.key?(:data)
13955
- @message = args[:message] if args.key?(:message)
13956
- end
13957
-
13958
- #
13959
- class Datum
13960
- include Google::Apis::Core::Hashable
13961
-
13962
- # [Output Only] A key that provides more detail on the warning being returned.
13963
- # For example, for warnings where there are no results in a list request for a
13964
- # particular zone, this key might be scope and the key value might be the zone
13965
- # name. Other examples might be a key indicating a deprecated resource and a
13966
- # suggested replacement, or a warning about invalid network settings (for
13967
- # example, if an instance attempts to perform IP forwarding but is not enabled
13968
- # for IP forwarding).
13969
- # Corresponds to the JSON property `key`
13970
- # @return [String]
13971
- attr_accessor :key
13972
-
13973
- # [Output Only] A warning data value corresponding to the key.
13974
- # Corresponds to the JSON property `value`
13975
- # @return [String]
13976
- attr_accessor :value
13977
-
13978
- def initialize(**args)
13979
- update!(**args)
13980
- end
13981
-
13982
- # Update properties of this object
13983
- def update!(**args)
13984
- @key = args[:key] if args.key?(:key)
13985
- @value = args[:value] if args.key?(:value)
13986
- end
13987
- end
13988
- end
13989
- end
13990
-
13991
13729
  # Initial State for shielded instance, these are public keys which are safe to
13992
13730
  # store in public
13993
13731
  class InitialStateConfig
@@ -14353,7 +14091,9 @@ module Google
14353
14091
  # @return [Google::Apis::ComputeAlpha::Tags]
14354
14092
  attr_accessor :tags
14355
14093
 
14356
- # Upcoming Maintenance notification information.
14094
+ # Upcoming Maintenance notification information. TODO(b/196881882) Deprecate
14095
+ # this proto once it's fully migrated to be under proto ResourceStatus.
14096
+ # UpcomingMaintenance.
14357
14097
  # Corresponds to the JSON property `upcomingMaintenance`
14358
14098
  # @return [Google::Apis::ComputeAlpha::UpcomingMaintenance]
14359
14099
  attr_accessor :upcoming_maintenance
@@ -14922,6 +14662,12 @@ module Google
14922
14662
  class InstanceGroupManager
14923
14663
  include Google::Apis::Core::Hashable
14924
14664
 
14665
+ # Specifies the instances configs overrides that should be applied for all
14666
+ # instances in the MIG.
14667
+ # Corresponds to the JSON property `allInstancesConfig`
14668
+ # @return [Google::Apis::ComputeAlpha::InstanceGroupManagerAllInstancesConfig]
14669
+ attr_accessor :all_instances_config
14670
+
14925
14671
  # The autohealing policy for this managed instance group. You can specify only
14926
14672
  # one value.
14927
14673
  # Corresponds to the JSON property `autoHealingPolicies`
@@ -15116,6 +14862,7 @@ module Google
15116
14862
 
15117
14863
  # Update properties of this object
15118
14864
  def update!(**args)
14865
+ @all_instances_config = args[:all_instances_config] if args.key?(:all_instances_config)
15119
14866
  @auto_healing_policies = args[:auto_healing_policies] if args.key?(:auto_healing_policies)
15120
14867
  @base_instance_name = args[:base_instance_name] if args.key?(:base_instance_name)
15121
14868
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
@@ -15387,6 +15134,25 @@ module Google
15387
15134
  end
15388
15135
  end
15389
15136
 
15137
+ #
15138
+ class InstanceGroupManagerAllInstancesConfig
15139
+ include Google::Apis::Core::Hashable
15140
+
15141
+ # Represents the change that you want to make to the instance properties.
15142
+ # Corresponds to the JSON property `properties`
15143
+ # @return [Google::Apis::ComputeAlpha::InstancePropertiesPatch]
15144
+ attr_accessor :properties
15145
+
15146
+ def initialize(**args)
15147
+ update!(**args)
15148
+ end
15149
+
15150
+ # Update properties of this object
15151
+ def update!(**args)
15152
+ @properties = args[:properties] if args.key?(:properties)
15153
+ end
15154
+ end
15155
+
15390
15156
  #
15391
15157
  class InstanceGroupManagerAutoHealingPolicy
15392
15158
  include Google::Apis::Core::Hashable
@@ -15411,6 +15177,11 @@ module Google
15411
15177
  # @return [Google::Apis::ComputeAlpha::FixedOrPercent]
15412
15178
  attr_accessor :max_unavailable
15413
15179
 
15180
+ #
15181
+ # Corresponds to the JSON property `updateInstances`
15182
+ # @return [String]
15183
+ attr_accessor :update_instances
15184
+
15414
15185
  def initialize(**args)
15415
15186
  update!(**args)
15416
15187
  end
@@ -15420,6 +15191,7 @@ module Google
15420
15191
  @health_check = args[:health_check] if args.key?(:health_check)
15421
15192
  @initial_delay_sec = args[:initial_delay_sec] if args.key?(:initial_delay_sec)
15422
15193
  @max_unavailable = args[:max_unavailable] if args.key?(:max_unavailable)
15194
+ @update_instances = args[:update_instances] if args.key?(:update_instances)
15423
15195
  end
15424
15196
  end
15425
15197
 
@@ -15612,6 +15384,12 @@ module Google
15612
15384
  class InstanceGroupManagerStatus
15613
15385
  include Google::Apis::Core::Hashable
15614
15386
 
15387
+ # [Output Only] A status of consistency of Instances' config applied to
15388
+ # instances with Instances' config defined in managed instance group.
15389
+ # Corresponds to the JSON property `allInstancesConfig`
15390
+ # @return [Google::Apis::ComputeAlpha::InstanceGroupManagerStatusAllInstancesConfig]
15391
+ attr_accessor :all_instances_config
15392
+
15615
15393
  # [Output Only] The URL of the Autoscaler that targets this instance group
15616
15394
  # manager.
15617
15395
  # Corresponds to the JSON property `autoscaler`
@@ -15646,6 +15424,7 @@ module Google
15646
15424
 
15647
15425
  # Update properties of this object
15648
15426
  def update!(**args)
15427
+ @all_instances_config = args[:all_instances_config] if args.key?(:all_instances_config)
15649
15428
  @autoscaler = args[:autoscaler] if args.key?(:autoscaler)
15650
15429
  @is_stable = args[:is_stable] if args.key?(:is_stable)
15651
15430
  @stateful = args[:stateful] if args.key?(:stateful)
@@ -15653,6 +15432,34 @@ module Google
15653
15432
  end
15654
15433
  end
15655
15434
 
15435
+ #
15436
+ class InstanceGroupManagerStatusAllInstancesConfig
15437
+ include Google::Apis::Core::Hashable
15438
+
15439
+ # [Output Only] Current instances' config revision. This value is in RFC3339
15440
+ # text format.
15441
+ # Corresponds to the JSON property `currentRevision`
15442
+ # @return [String]
15443
+ attr_accessor :current_revision
15444
+
15445
+ # [Output Only] A bit indicating whether instances' config has been applied to
15446
+ # all managed instances in managed instance group.
15447
+ # Corresponds to the JSON property `effective`
15448
+ # @return [Boolean]
15449
+ attr_accessor :effective
15450
+ alias_method :effective?, :effective
15451
+
15452
+ def initialize(**args)
15453
+ update!(**args)
15454
+ end
15455
+
15456
+ # Update properties of this object
15457
+ def update!(**args)
15458
+ @current_revision = args[:current_revision] if args.key?(:current_revision)
15459
+ @effective = args[:effective] if args.key?(:effective)
15460
+ end
15461
+ end
15462
+
15656
15463
  #
15657
15464
  class InstanceGroupManagerStatusStateful
15658
15465
  include Google::Apis::Core::Hashable
@@ -17285,7 +17092,7 @@ module Google
17285
17092
  # @return [Google::Apis::ComputeAlpha::NetworkPerformanceConfig]
17286
17093
  attr_accessor :network_performance_config
17287
17094
 
17288
- # PostKeyRevocationActionType of the instance.
17095
+ # PostKeyRevocationActionType of the instance.(will be deprecated soon)
17289
17096
  # Corresponds to the JSON property `postKeyRevocationActionType`
17290
17097
  # @return [String]
17291
17098
  attr_accessor :post_key_revocation_action_type
@@ -17373,6 +17180,32 @@ module Google
17373
17180
  end
17374
17181
  end
17375
17182
 
17183
+ # Represents the change that you want to make to the instance properties.
17184
+ class InstancePropertiesPatch
17185
+ include Google::Apis::Core::Hashable
17186
+
17187
+ # The label key-value pairs that you want to patch onto the instance.
17188
+ # Corresponds to the JSON property `labels`
17189
+ # @return [Hash<String,String>]
17190
+ attr_accessor :labels
17191
+
17192
+ # The metadata key-value pairs that you want to patch onto the instance. For
17193
+ # more information, see Project and instance metadata.
17194
+ # Corresponds to the JSON property `metadata`
17195
+ # @return [Hash<String,String>]
17196
+ attr_accessor :metadata
17197
+
17198
+ def initialize(**args)
17199
+ update!(**args)
17200
+ end
17201
+
17202
+ # Update properties of this object
17203
+ def update!(**args)
17204
+ @labels = args[:labels] if args.key?(:labels)
17205
+ @metadata = args[:metadata] if args.key?(:metadata)
17206
+ end
17207
+ end
17208
+
17376
17209
  #
17377
17210
  class InstanceReference
17378
17211
  include Google::Apis::Core::Hashable
@@ -22020,6 +21853,11 @@ module Google
22020
21853
  class ManagedInstance
22021
21854
  include Google::Apis::Core::Hashable
22022
21855
 
21856
+ # [Output Only] Instances config revision applied to this instance.
21857
+ # Corresponds to the JSON property `allInstancesConfig`
21858
+ # @return [Google::Apis::ComputeAlpha::ManagedInstanceAllInstancesConfig]
21859
+ attr_accessor :all_instances_config
21860
+
22023
21861
  # [Output Only] The current action that the managed instance group has scheduled
22024
21862
  # for the instance. Possible values: - NONE The instance is running, and the
22025
21863
  # managed instance group does not have any scheduled actions for this instance. -
@@ -22110,6 +21948,7 @@ module Google
22110
21948
 
22111
21949
  # Update properties of this object
22112
21950
  def update!(**args)
21951
+ @all_instances_config = args[:all_instances_config] if args.key?(:all_instances_config)
22113
21952
  @current_action = args[:current_action] if args.key?(:current_action)
22114
21953
  @id = args[:id] if args.key?(:id)
22115
21954
  @instance = args[:instance] if args.key?(:instance)
@@ -22125,6 +21964,25 @@ module Google
22125
21964
  end
22126
21965
  end
22127
21966
 
21967
+ #
21968
+ class ManagedInstanceAllInstancesConfig
21969
+ include Google::Apis::Core::Hashable
21970
+
21971
+ # [Output Only] Instances config revision. This value is in RFC3339 text format.
21972
+ # Corresponds to the JSON property `revision`
21973
+ # @return [String]
21974
+ attr_accessor :revision
21975
+
21976
+ def initialize(**args)
21977
+ update!(**args)
21978
+ end
21979
+
21980
+ # Update properties of this object
21981
+ def update!(**args)
21982
+ @revision = args[:revision] if args.key?(:revision)
21983
+ end
21984
+ end
21985
+
22128
21986
  #
22129
21987
  class ManagedInstanceInstanceHealth
22130
21988
  include Google::Apis::Core::Hashable
@@ -22508,6 +22366,13 @@ module Google
22508
22366
  # @return [String]
22509
22367
  attr_accessor :description
22510
22368
 
22369
+ # Enable ULA internal ipv6 on this network. Enabling this feature will assign a /
22370
+ # 48 from google defined ULA prefix fd20::/20. .
22371
+ # Corresponds to the JSON property `enableUlaInternalIpv6`
22372
+ # @return [Boolean]
22373
+ attr_accessor :enable_ula_internal_ipv6
22374
+ alias_method :enable_ula_internal_ipv6?, :enable_ula_internal_ipv6
22375
+
22511
22376
  # [Output Only] URL of the firewall policy the network is associated with.
22512
22377
  # Corresponds to the JSON property `firewallPolicy`
22513
22378
  # @return [String]
@@ -22525,6 +22390,16 @@ module Google
22525
22390
  # @return [Fixnum]
22526
22391
  attr_accessor :id
22527
22392
 
22393
+ # When enabling ula internal ipv6, caller optionally can specify the /48 range
22394
+ # they want from the google defined ULA prefix fd20::/20. The input must be a
22395
+ # valid /48 ULA IPv6 address and must be within the fd20::/20. Operation will
22396
+ # fail if the speficied /48 is already in used by another resource. If the field
22397
+ # is not speficied, then a /48 range will be randomly allocated from fd20::/20
22398
+ # and returned via this field. .
22399
+ # Corresponds to the JSON property `internalIpv6Range`
22400
+ # @return [String]
22401
+ attr_accessor :internal_ipv6_range
22402
+
22528
22403
  # [Output Only] Type of the resource. Always compute#network for networks.
22529
22404
  # Corresponds to the JSON property `kind`
22530
22405
  # @return [String]
@@ -22546,6 +22421,11 @@ module Google
22546
22421
  # @return [String]
22547
22422
  attr_accessor :name
22548
22423
 
22424
+ #
22425
+ # Corresponds to the JSON property `networkFirewallPolicyEnforcementOrder`
22426
+ # @return [String]
22427
+ attr_accessor :network_firewall_policy_enforcement_order
22428
+
22549
22429
  # [Output Only] A list of network peerings for the resource.
22550
22430
  # Corresponds to the JSON property `peerings`
22551
22431
  # @return [Array<Google::Apis::ComputeAlpha::NetworkPeering>]
@@ -22584,12 +22464,15 @@ module Google
22584
22464
  @auto_create_subnetworks = args[:auto_create_subnetworks] if args.key?(:auto_create_subnetworks)
22585
22465
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
22586
22466
  @description = args[:description] if args.key?(:description)
22467
+ @enable_ula_internal_ipv6 = args[:enable_ula_internal_ipv6] if args.key?(:enable_ula_internal_ipv6)
22587
22468
  @firewall_policy = args[:firewall_policy] if args.key?(:firewall_policy)
22588
22469
  @gateway_i_pv4 = args[:gateway_i_pv4] if args.key?(:gateway_i_pv4)
22589
22470
  @id = args[:id] if args.key?(:id)
22471
+ @internal_ipv6_range = args[:internal_ipv6_range] if args.key?(:internal_ipv6_range)
22590
22472
  @kind = args[:kind] if args.key?(:kind)
22591
22473
  @mtu = args[:mtu] if args.key?(:mtu)
22592
22474
  @name = args[:name] if args.key?(:name)
22475
+ @network_firewall_policy_enforcement_order = args[:network_firewall_policy_enforcement_order] if args.key?(:network_firewall_policy_enforcement_order)
22593
22476
  @peerings = args[:peerings] if args.key?(:peerings)
22594
22477
  @routing_config = args[:routing_config] if args.key?(:routing_config)
22595
22478
  @self_link = args[:self_link] if args.key?(:self_link)
@@ -33420,6 +33303,11 @@ module Google
33420
33303
  attr_accessor :allow_conflicting_subnetworks
33421
33304
  alias_method :allow_conflicting_subnetworks?, :allow_conflicting_subnetworks
33422
33305
 
33306
+ # [Output Only] AS path.
33307
+ # Corresponds to the JSON property `asPaths`
33308
+ # @return [Array<Google::Apis::ComputeAlpha::RouteAsPath>]
33309
+ attr_accessor :as_paths
33310
+
33423
33311
  # [Output Only] Creation timestamp in RFC3339 text format.
33424
33312
  # Corresponds to the JSON property `creationTimestamp`
33425
33313
  # @return [String]
@@ -33530,6 +33418,15 @@ module Google
33530
33418
  # @return [Fixnum]
33531
33419
  attr_accessor :priority
33532
33420
 
33421
+ # [Output Only] The type of this route, which can be one of the following values:
33422
+ # - 'TRANSIT' for a transit route that this router learned from another Cloud
33423
+ # Router and will readvertise to one of its BGP peers - 'SUBNET' for a route
33424
+ # from a subnet of the VPC - 'BGP' for a route learned from a BGP peer of this
33425
+ # router - 'STATIC' for a static route
33426
+ # Corresponds to the JSON property `routeType`
33427
+ # @return [String]
33428
+ attr_accessor :route_type
33429
+
33533
33430
  # [Output Only] Server-defined fully-qualified URL for this resource.
33534
33431
  # Corresponds to the JSON property `selfLink`
33535
33432
  # @return [String]
@@ -33558,6 +33455,7 @@ module Google
33558
33455
  # Update properties of this object
33559
33456
  def update!(**args)
33560
33457
  @allow_conflicting_subnetworks = args[:allow_conflicting_subnetworks] if args.key?(:allow_conflicting_subnetworks)
33458
+ @as_paths = args[:as_paths] if args.key?(:as_paths)
33561
33459
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
33562
33460
  @description = args[:description] if args.key?(:description)
33563
33461
  @dest_range = args[:dest_range] if args.key?(:dest_range)
@@ -33575,6 +33473,7 @@ module Google
33575
33473
  @next_hop_peering = args[:next_hop_peering] if args.key?(:next_hop_peering)
33576
33474
  @next_hop_vpn_tunnel = args[:next_hop_vpn_tunnel] if args.key?(:next_hop_vpn_tunnel)
33577
33475
  @priority = args[:priority] if args.key?(:priority)
33476
+ @route_type = args[:route_type] if args.key?(:route_type)
33578
33477
  @self_link = args[:self_link] if args.key?(:self_link)
33579
33478
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
33580
33479
  @tags = args[:tags] if args.key?(:tags)
@@ -33646,6 +33545,37 @@ module Google
33646
33545
  end
33647
33546
  end
33648
33547
 
33548
+ #
33549
+ class RouteAsPath
33550
+ include Google::Apis::Core::Hashable
33551
+
33552
+ # [Output Only] The AS numbers of the AS Path.
33553
+ # Corresponds to the JSON property `asLists`
33554
+ # @return [Array<Fixnum>]
33555
+ attr_accessor :as_lists
33556
+
33557
+ # [Output Only] The type of the AS Path, which can be one of the following
33558
+ # values: - 'AS_SET': unordered set of autonomous systems that the route in has
33559
+ # traversed - 'AS_SEQUENCE': ordered set of autonomous systems that the route
33560
+ # has traversed - 'AS_CONFED_SEQUENCE': ordered set of Member Autonomous Systems
33561
+ # in the local confederation that the route has traversed - 'AS_CONFED_SET':
33562
+ # unordered set of Member Autonomous Systems in the local confederation that the
33563
+ # route has traversed
33564
+ # Corresponds to the JSON property `pathSegmentType`
33565
+ # @return [String]
33566
+ attr_accessor :path_segment_type
33567
+
33568
+ def initialize(**args)
33569
+ update!(**args)
33570
+ end
33571
+
33572
+ # Update properties of this object
33573
+ def update!(**args)
33574
+ @as_lists = args[:as_lists] if args.key?(:as_lists)
33575
+ @path_segment_type = args[:path_segment_type] if args.key?(:path_segment_type)
33576
+ end
33577
+ end
33578
+
33649
33579
  # Contains a list of Route resources.
33650
33580
  class RouteList
33651
33581
  include Google::Apis::Core::Hashable
@@ -43973,7 +43903,9 @@ module Google
43973
43903
  end
43974
43904
  end
43975
43905
 
43976
- # Upcoming Maintenance notification information.
43906
+ # Upcoming Maintenance notification information. TODO(b/196881882) Deprecate
43907
+ # this proto once it's fully migrated to be under proto ResourceStatus.
43908
+ # UpcomingMaintenance.
43977
43909
  class UpcomingMaintenance
43978
43910
  include Google::Apis::Core::Hashable
43979
43911