google-apis-compute_alpha 0.17.0 → 0.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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