google-apis-compute_v1 0.111.0 → 0.113.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.
@@ -12961,12 +12961,10 @@ module Google
12961
12961
 
12962
12962
  # In response to a matching matchRule, the load balancer performs advanced
12963
12963
  # routing actions, such as URL rewrites and header transformations, before
12964
- # forwarding the request to the selected backend. If routeAction specifies any
12965
- # weightedBackendServices, service must not be set. Conversely if service is set,
12966
- # routeAction cannot contain any weightedBackendServices. Only one of
12967
- # urlRedirect, service or routeAction.weightedBackendService must be set. URL
12968
- # maps for classic Application Load Balancers only support the urlRewrite action
12969
- # within a route rule's routeAction.
12964
+ # forwarding the request to the selected backend. Only one of urlRedirect,
12965
+ # service or routeAction.weightedBackendService can be set. URL maps for classic
12966
+ # Application Load Balancers only support the urlRewrite action within a route
12967
+ # rule's routeAction.
12970
12968
  # Corresponds to the JSON property `routeAction`
12971
12969
  # @return [Google::Apis::ComputeV1::HttpRouteAction]
12972
12970
  attr_accessor :route_action
@@ -12974,10 +12972,8 @@ module Google
12974
12972
  # The full or partial URL of the backend service resource to which traffic is
12975
12973
  # directed if this rule is matched. If routeAction is also specified, advanced
12976
12974
  # routing actions, such as URL rewrites, take effect before sending the request
12977
- # to the backend. However, if service is specified, routeAction cannot contain
12978
- # any weightedBackendServices. Conversely, if routeAction specifies any
12979
- # weightedBackendServices, service must not be specified. Only one of
12980
- # urlRedirect, service or routeAction.weightedBackendService must be set.
12975
+ # to the backend. Only one of urlRedirect, service or routeAction.
12976
+ # weightedBackendService can be set.
12981
12977
  # Corresponds to the JSON property `service`
12982
12978
  # @return [String]
12983
12979
  attr_accessor :service
@@ -14879,6 +14875,11 @@ module Google
14879
14875
  # @return [String]
14880
14876
  attr_accessor :self_link
14881
14877
 
14878
+ # Standby policy for stopped and suspended instances.
14879
+ # Corresponds to the JSON property `standbyPolicy`
14880
+ # @return [Google::Apis::ComputeV1::InstanceGroupManagerStandbyPolicy]
14881
+ attr_accessor :standby_policy
14882
+
14882
14883
  # Stateful configuration for this Instanced Group Manager
14883
14884
  # Corresponds to the JSON property `statefulPolicy`
14884
14885
  # @return [Google::Apis::ComputeV1::StatefulPolicy]
@@ -14903,6 +14904,22 @@ module Google
14903
14904
  # @return [Fixnum]
14904
14905
  attr_accessor :target_size
14905
14906
 
14907
+ # The target number of stopped instances for this managed instance group. This
14908
+ # number changes when you: - Stop instance using the stopInstances method or
14909
+ # start instances using the startInstances method. - Manually change the
14910
+ # targetStoppedSize using the update method.
14911
+ # Corresponds to the JSON property `targetStoppedSize`
14912
+ # @return [Fixnum]
14913
+ attr_accessor :target_stopped_size
14914
+
14915
+ # The target number of suspended instances for this managed instance group. This
14916
+ # number changes when you: - Suspend instance using the suspendInstances method
14917
+ # or resume instances using the resumeInstances method. - Manually change the
14918
+ # targetSuspendedSize using the update method.
14919
+ # Corresponds to the JSON property `targetSuspendedSize`
14920
+ # @return [Fixnum]
14921
+ attr_accessor :target_suspended_size
14922
+
14906
14923
  # The update policy for this managed instance group.
14907
14924
  # Corresponds to the JSON property `updatePolicy`
14908
14925
  # @return [Google::Apis::ComputeV1::InstanceGroupManagerUpdatePolicy]
@@ -14952,10 +14969,13 @@ module Google
14952
14969
  @satisfies_pzi = args[:satisfies_pzi] if args.key?(:satisfies_pzi)
14953
14970
  @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
14954
14971
  @self_link = args[:self_link] if args.key?(:self_link)
14972
+ @standby_policy = args[:standby_policy] if args.key?(:standby_policy)
14955
14973
  @stateful_policy = args[:stateful_policy] if args.key?(:stateful_policy)
14956
14974
  @status = args[:status] if args.key?(:status)
14957
14975
  @target_pools = args[:target_pools] if args.key?(:target_pools)
14958
14976
  @target_size = args[:target_size] if args.key?(:target_size)
14977
+ @target_stopped_size = args[:target_stopped_size] if args.key?(:target_stopped_size)
14978
+ @target_suspended_size = args[:target_suspended_size] if args.key?(:target_suspended_size)
14959
14979
  @update_policy = args[:update_policy] if args.key?(:update_policy)
14960
14980
  @versions = args[:versions] if args.key?(:versions)
14961
14981
  @zone = args[:zone] if args.key?(:zone)
@@ -15939,6 +15959,35 @@ module Google
15939
15959
  end
15940
15960
  end
15941
15961
 
15962
+ #
15963
+ class InstanceGroupManagerStandbyPolicy
15964
+ include Google::Apis::Core::Hashable
15965
+
15966
+ # Specifies the number of seconds that the MIG should wait to suspend or stop a
15967
+ # VM after that VM was created. The initial delay gives the initialization
15968
+ # script the time to prepare your VM for a quick scale out. The value of initial
15969
+ # delay must be between 0 and 3600 seconds. The default value is 0.
15970
+ # Corresponds to the JSON property `initialDelaySec`
15971
+ # @return [Fixnum]
15972
+ attr_accessor :initial_delay_sec
15973
+
15974
+ # Defines how a MIG resumes or starts VMs from a standby pool when the group
15975
+ # scales out. The default mode is `MANUAL`.
15976
+ # Corresponds to the JSON property `mode`
15977
+ # @return [String]
15978
+ attr_accessor :mode
15979
+
15980
+ def initialize(**args)
15981
+ update!(**args)
15982
+ end
15983
+
15984
+ # Update properties of this object
15985
+ def update!(**args)
15986
+ @initial_delay_sec = args[:initial_delay_sec] if args.key?(:initial_delay_sec)
15987
+ @mode = args[:mode] if args.key?(:mode)
15988
+ end
15989
+ end
15990
+
15942
15991
  #
15943
15992
  class InstanceGroupManagerStatus
15944
15993
  include Google::Apis::Core::Hashable
@@ -16551,6 +16600,26 @@ module Google
16551
16600
  end
16552
16601
  end
16553
16602
 
16603
+ #
16604
+ class InstanceGroupManagersResumeInstancesRequest
16605
+ include Google::Apis::Core::Hashable
16606
+
16607
+ # The URLs of one or more instances to resume. This can be a full URL or a
16608
+ # partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].
16609
+ # Corresponds to the JSON property `instances`
16610
+ # @return [Array<String>]
16611
+ attr_accessor :instances
16612
+
16613
+ def initialize(**args)
16614
+ update!(**args)
16615
+ end
16616
+
16617
+ # Update properties of this object
16618
+ def update!(**args)
16619
+ @instances = args[:instances] if args.key?(:instances)
16620
+ end
16621
+ end
16622
+
16554
16623
  #
16555
16624
  class InstanceGroupManagersScopedList
16556
16625
  include Google::Apis::Core::Hashable
@@ -16699,6 +16768,82 @@ module Google
16699
16768
  end
16700
16769
  end
16701
16770
 
16771
+ #
16772
+ class InstanceGroupManagersStartInstancesRequest
16773
+ include Google::Apis::Core::Hashable
16774
+
16775
+ # The URLs of one or more instances to start. This can be a full URL or a
16776
+ # partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].
16777
+ # Corresponds to the JSON property `instances`
16778
+ # @return [Array<String>]
16779
+ attr_accessor :instances
16780
+
16781
+ def initialize(**args)
16782
+ update!(**args)
16783
+ end
16784
+
16785
+ # Update properties of this object
16786
+ def update!(**args)
16787
+ @instances = args[:instances] if args.key?(:instances)
16788
+ end
16789
+ end
16790
+
16791
+ #
16792
+ class InstanceGroupManagersStopInstancesRequest
16793
+ include Google::Apis::Core::Hashable
16794
+
16795
+ # If this flag is set to true, the Instance Group Manager will proceed to stop
16796
+ # the instances, skipping initialization on them.
16797
+ # Corresponds to the JSON property `forceStop`
16798
+ # @return [Boolean]
16799
+ attr_accessor :force_stop
16800
+ alias_method :force_stop?, :force_stop
16801
+
16802
+ # The URLs of one or more instances to stop. This can be a full URL or a partial
16803
+ # URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].
16804
+ # Corresponds to the JSON property `instances`
16805
+ # @return [Array<String>]
16806
+ attr_accessor :instances
16807
+
16808
+ def initialize(**args)
16809
+ update!(**args)
16810
+ end
16811
+
16812
+ # Update properties of this object
16813
+ def update!(**args)
16814
+ @force_stop = args[:force_stop] if args.key?(:force_stop)
16815
+ @instances = args[:instances] if args.key?(:instances)
16816
+ end
16817
+ end
16818
+
16819
+ #
16820
+ class InstanceGroupManagersSuspendInstancesRequest
16821
+ include Google::Apis::Core::Hashable
16822
+
16823
+ # If this flag is set to true, the Instance Group Manager will proceed to
16824
+ # suspend the instances, skipping initialization on them.
16825
+ # Corresponds to the JSON property `forceSuspend`
16826
+ # @return [Boolean]
16827
+ attr_accessor :force_suspend
16828
+ alias_method :force_suspend?, :force_suspend
16829
+
16830
+ # The URLs of one or more instances to suspend. This can be a full URL or a
16831
+ # partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].
16832
+ # Corresponds to the JSON property `instances`
16833
+ # @return [Array<String>]
16834
+ attr_accessor :instances
16835
+
16836
+ def initialize(**args)
16837
+ update!(**args)
16838
+ end
16839
+
16840
+ # Update properties of this object
16841
+ def update!(**args)
16842
+ @force_suspend = args[:force_suspend] if args.key?(:force_suspend)
16843
+ @instances = args[:instances] if args.key?(:instances)
16844
+ end
16845
+ end
16846
+
16702
16847
  # InstanceGroupManagers.updatePerInstanceConfigs
16703
16848
  class InstanceGroupManagersUpdatePerInstanceConfigsReq
16704
16849
  include Google::Apis::Core::Hashable
@@ -20601,7 +20746,7 @@ module Google
20601
20746
  attr_accessor :availability_zone
20602
20747
 
20603
20748
  # [Output only] List of features available at this InterconnectLocation, which
20604
- # can take one of the following values: - MACSEC
20749
+ # can take one of the following values: - IF_MACSEC
20605
20750
  # Corresponds to the JSON property `availableFeatures`
20606
20751
  # @return [Array<String>]
20607
20752
  attr_accessor :available_features
@@ -21541,7 +21686,7 @@ module Google
21541
21686
  # @return [String]
21542
21687
  attr_accessor :name
21543
21688
 
21544
- #
21689
+ # [Input Only] Deprecated.
21545
21690
  # Corresponds to the JSON property `resourceRequirements`
21546
21691
  # @return [Google::Apis::ComputeV1::LicenseResourceRequirements]
21547
21692
  attr_accessor :resource_requirements
@@ -21711,14 +21856,14 @@ module Google
21711
21856
  class LicenseResourceRequirements
21712
21857
  include Google::Apis::Core::Hashable
21713
21858
 
21714
- # Minimum number of guest cpus required to use the Instance. Enforced at
21715
- # Instance creation and Instance start.
21859
+ # [Input Only] Deprecated. This field no longer reflects the minimum number of
21860
+ # guest cpus required to use the Instance.
21716
21861
  # Corresponds to the JSON property `minGuestCpuCount`
21717
21862
  # @return [Fixnum]
21718
21863
  attr_accessor :min_guest_cpu_count
21719
21864
 
21720
- # Minimum memory required to use the Instance. Enforced at Instance creation and
21721
- # Instance start.
21865
+ # [Input Only] Deprecated. This field no longer reflects the minimum memory
21866
+ # required to use the Instance.
21722
21867
  # Corresponds to the JSON property `minMemoryMb`
21723
21868
  # @return [Fixnum]
21724
21869
  attr_accessor :min_memory_mb
@@ -23394,6 +23539,15 @@ module Google
23394
23539
  # @return [String]
23395
23540
  attr_accessor :network_firewall_policy_enforcement_order
23396
23541
 
23542
+ # A full or partial URL of the network profile to apply to this network. This
23543
+ # field can be set only at resource creation time. For example, the following
23544
+ # are valid URLs: - https://www.googleapis.com/compute/`api_version`/projects/`
23545
+ # project_id`/global/networkProfiles/`network_profile_name` - projects/`
23546
+ # project_id`/global/networkProfiles/`network_profile_name`
23547
+ # Corresponds to the JSON property `networkProfile`
23548
+ # @return [String]
23549
+ attr_accessor :network_profile
23550
+
23397
23551
  # [Output Only] A list of network peerings for the resource.
23398
23552
  # Corresponds to the JSON property `peerings`
23399
23553
  # @return [Array<Google::Apis::ComputeV1::NetworkPeering>]
@@ -23441,6 +23595,7 @@ module Google
23441
23595
  @mtu = args[:mtu] if args.key?(:mtu)
23442
23596
  @name = args[:name] if args.key?(:name)
23443
23597
  @network_firewall_policy_enforcement_order = args[:network_firewall_policy_enforcement_order] if args.key?(:network_firewall_policy_enforcement_order)
23598
+ @network_profile = args[:network_profile] if args.key?(:network_profile)
23444
23599
  @peerings = args[:peerings] if args.key?(:peerings)
23445
23600
  @routing_config = args[:routing_config] if args.key?(:routing_config)
23446
23601
  @self_link = args[:self_link] if args.key?(:self_link)
@@ -25598,6 +25753,385 @@ module Google
25598
25753
  end
25599
25754
  end
25600
25755
 
25756
+ # NetworkProfile represents a Google managed network profile resource.
25757
+ class NetworkProfile
25758
+ include Google::Apis::Core::Hashable
25759
+
25760
+ # [Output Only] Creation timestamp in RFC3339 text format.
25761
+ # Corresponds to the JSON property `creationTimestamp`
25762
+ # @return [String]
25763
+ attr_accessor :creation_timestamp
25764
+
25765
+ # [Output Only] An optional description of this resource.
25766
+ # Corresponds to the JSON property `description`
25767
+ # @return [String]
25768
+ attr_accessor :description
25769
+
25770
+ # [Output Only] Features supported by the network.
25771
+ # Corresponds to the JSON property `features`
25772
+ # @return [Google::Apis::ComputeV1::NetworkProfileNetworkFeatures]
25773
+ attr_accessor :features
25774
+
25775
+ # [Output Only] The unique identifier for the resource. This identifier is
25776
+ # defined by the server.
25777
+ # Corresponds to the JSON property `id`
25778
+ # @return [Fixnum]
25779
+ attr_accessor :id
25780
+
25781
+ # [Output Only] Type of the resource. Always compute#networkProfile for network
25782
+ # profiles.
25783
+ # Corresponds to the JSON property `kind`
25784
+ # @return [String]
25785
+ attr_accessor :kind
25786
+
25787
+ # [Output Only] Location to which the network is restricted.
25788
+ # Corresponds to the JSON property `location`
25789
+ # @return [Google::Apis::ComputeV1::NetworkProfileLocation]
25790
+ attr_accessor :location
25791
+
25792
+ # [Output Only] Name of the resource.
25793
+ # Corresponds to the JSON property `name`
25794
+ # @return [String]
25795
+ attr_accessor :name
25796
+
25797
+ # [Output Only] Server-defined URL for the resource.
25798
+ # Corresponds to the JSON property `selfLink`
25799
+ # @return [String]
25800
+ attr_accessor :self_link
25801
+
25802
+ # [Output Only] Server-defined URL for this resource with the resource id.
25803
+ # Corresponds to the JSON property `selfLinkWithId`
25804
+ # @return [String]
25805
+ attr_accessor :self_link_with_id
25806
+
25807
+ # [Output Only] Zone to which the network is restricted.
25808
+ # Corresponds to the JSON property `zone`
25809
+ # @return [String]
25810
+ attr_accessor :zone
25811
+
25812
+ def initialize(**args)
25813
+ update!(**args)
25814
+ end
25815
+
25816
+ # Update properties of this object
25817
+ def update!(**args)
25818
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
25819
+ @description = args[:description] if args.key?(:description)
25820
+ @features = args[:features] if args.key?(:features)
25821
+ @id = args[:id] if args.key?(:id)
25822
+ @kind = args[:kind] if args.key?(:kind)
25823
+ @location = args[:location] if args.key?(:location)
25824
+ @name = args[:name] if args.key?(:name)
25825
+ @self_link = args[:self_link] if args.key?(:self_link)
25826
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
25827
+ @zone = args[:zone] if args.key?(:zone)
25828
+ end
25829
+ end
25830
+
25831
+ #
25832
+ class NetworkProfileLocation
25833
+ include Google::Apis::Core::Hashable
25834
+
25835
+ #
25836
+ # Corresponds to the JSON property `name`
25837
+ # @return [String]
25838
+ attr_accessor :name
25839
+
25840
+ #
25841
+ # Corresponds to the JSON property `scope`
25842
+ # @return [String]
25843
+ attr_accessor :scope
25844
+
25845
+ def initialize(**args)
25846
+ update!(**args)
25847
+ end
25848
+
25849
+ # Update properties of this object
25850
+ def update!(**args)
25851
+ @name = args[:name] if args.key?(:name)
25852
+ @scope = args[:scope] if args.key?(:scope)
25853
+ end
25854
+ end
25855
+
25856
+ #
25857
+ class NetworkProfileNetworkFeatures
25858
+ include Google::Apis::Core::Hashable
25859
+
25860
+ # Specifies what address purposes are supported. If empty, all address purposes
25861
+ # are supported.
25862
+ # Corresponds to the JSON property `addressPurposes`
25863
+ # @return [Array<String>]
25864
+ attr_accessor :address_purposes
25865
+
25866
+ # Specifies whether alias IP ranges (and secondary address ranges) are allowed.
25867
+ # Corresponds to the JSON property `allowAliasIpRanges`
25868
+ # @return [String]
25869
+ attr_accessor :allow_alias_ip_ranges
25870
+
25871
+ # Specifies whether auto mode subnet creation is allowed.
25872
+ # Corresponds to the JSON property `allowAutoModeSubnet`
25873
+ # @return [String]
25874
+ attr_accessor :allow_auto_mode_subnet
25875
+
25876
+ # Specifies whether firewalls for Class D address ranges are supported.
25877
+ # Corresponds to the JSON property `allowClassDFirewalls`
25878
+ # @return [String]
25879
+ attr_accessor :allow_class_d_firewalls
25880
+
25881
+ # Specifies whether cloud NAT creation is allowed.
25882
+ # Corresponds to the JSON property `allowCloudNat`
25883
+ # @return [String]
25884
+ attr_accessor :allow_cloud_nat
25885
+
25886
+ # Specifies whether cloud router creation is allowed.
25887
+ # Corresponds to the JSON property `allowCloudRouter`
25888
+ # @return [String]
25889
+ attr_accessor :allow_cloud_router
25890
+
25891
+ # Specifies whether VMs are allowed to have external IP access on network
25892
+ # interfaces connected to this VPC.
25893
+ # Corresponds to the JSON property `allowExternalIpAccess`
25894
+ # @return [String]
25895
+ attr_accessor :allow_external_ip_access
25896
+
25897
+ # Specifies whether Cloud Interconnect creation is allowed.
25898
+ # Corresponds to the JSON property `allowInterconnect`
25899
+ # @return [String]
25900
+ attr_accessor :allow_interconnect
25901
+
25902
+ # Specifies whether cloud load balancing is allowed.
25903
+ # Corresponds to the JSON property `allowLoadBalancing`
25904
+ # @return [String]
25905
+ attr_accessor :allow_load_balancing
25906
+
25907
+ # Specifies whether multi-nic in the same network is allowed.
25908
+ # Corresponds to the JSON property `allowMultiNicInSameNetwork`
25909
+ # @return [String]
25910
+ attr_accessor :allow_multi_nic_in_same_network
25911
+
25912
+ # Specifies whether Packet Mirroring 1.0 is supported.
25913
+ # Corresponds to the JSON property `allowPacketMirroring`
25914
+ # @return [String]
25915
+ attr_accessor :allow_packet_mirroring
25916
+
25917
+ # Specifies whether private Google access is allowed.
25918
+ # Corresponds to the JSON property `allowPrivateGoogleAccess`
25919
+ # @return [String]
25920
+ attr_accessor :allow_private_google_access
25921
+
25922
+ # Specifies whether PSC creation is allowed.
25923
+ # Corresponds to the JSON property `allowPsc`
25924
+ # @return [String]
25925
+ attr_accessor :allow_psc
25926
+
25927
+ # Specifies whether unicast within the same network is allowed.
25928
+ # Corresponds to the JSON property `allowSameNetworkUnicast`
25929
+ # @return [String]
25930
+ attr_accessor :allow_same_network_unicast
25931
+
25932
+ # Specifies whether static route creation is allowed.
25933
+ # Corresponds to the JSON property `allowStaticRoutes`
25934
+ # @return [String]
25935
+ attr_accessor :allow_static_routes
25936
+
25937
+ # Specifies whether sub interfaces are allowed.
25938
+ # Corresponds to the JSON property `allowSubInterfaces`
25939
+ # @return [String]
25940
+ attr_accessor :allow_sub_interfaces
25941
+
25942
+ # Specifies whether VPC peering is allowed.
25943
+ # Corresponds to the JSON property `allowVpcPeering`
25944
+ # @return [String]
25945
+ attr_accessor :allow_vpc_peering
25946
+
25947
+ # Specifies whether VPN creation is allowed.
25948
+ # Corresponds to the JSON property `allowVpn`
25949
+ # @return [String]
25950
+ attr_accessor :allow_vpn
25951
+
25952
+ # If set, limits the interface types that the network supports. If empty, all
25953
+ # interface types are supported.
25954
+ # Corresponds to the JSON property `interfaceTypes`
25955
+ # @return [Array<String>]
25956
+ attr_accessor :interface_types
25957
+
25958
+ # Specifies which subnetwork purposes are supported.
25959
+ # Corresponds to the JSON property `subnetPurposes`
25960
+ # @return [Array<String>]
25961
+ attr_accessor :subnet_purposes
25962
+
25963
+ # Specifies which subnetwork stack types are supported.
25964
+ # Corresponds to the JSON property `subnetStackTypes`
25965
+ # @return [Array<String>]
25966
+ attr_accessor :subnet_stack_types
25967
+
25968
+ # Specifies which type of unicast is supported.
25969
+ # Corresponds to the JSON property `unicast`
25970
+ # @return [String]
25971
+ attr_accessor :unicast
25972
+
25973
+ def initialize(**args)
25974
+ update!(**args)
25975
+ end
25976
+
25977
+ # Update properties of this object
25978
+ def update!(**args)
25979
+ @address_purposes = args[:address_purposes] if args.key?(:address_purposes)
25980
+ @allow_alias_ip_ranges = args[:allow_alias_ip_ranges] if args.key?(:allow_alias_ip_ranges)
25981
+ @allow_auto_mode_subnet = args[:allow_auto_mode_subnet] if args.key?(:allow_auto_mode_subnet)
25982
+ @allow_class_d_firewalls = args[:allow_class_d_firewalls] if args.key?(:allow_class_d_firewalls)
25983
+ @allow_cloud_nat = args[:allow_cloud_nat] if args.key?(:allow_cloud_nat)
25984
+ @allow_cloud_router = args[:allow_cloud_router] if args.key?(:allow_cloud_router)
25985
+ @allow_external_ip_access = args[:allow_external_ip_access] if args.key?(:allow_external_ip_access)
25986
+ @allow_interconnect = args[:allow_interconnect] if args.key?(:allow_interconnect)
25987
+ @allow_load_balancing = args[:allow_load_balancing] if args.key?(:allow_load_balancing)
25988
+ @allow_multi_nic_in_same_network = args[:allow_multi_nic_in_same_network] if args.key?(:allow_multi_nic_in_same_network)
25989
+ @allow_packet_mirroring = args[:allow_packet_mirroring] if args.key?(:allow_packet_mirroring)
25990
+ @allow_private_google_access = args[:allow_private_google_access] if args.key?(:allow_private_google_access)
25991
+ @allow_psc = args[:allow_psc] if args.key?(:allow_psc)
25992
+ @allow_same_network_unicast = args[:allow_same_network_unicast] if args.key?(:allow_same_network_unicast)
25993
+ @allow_static_routes = args[:allow_static_routes] if args.key?(:allow_static_routes)
25994
+ @allow_sub_interfaces = args[:allow_sub_interfaces] if args.key?(:allow_sub_interfaces)
25995
+ @allow_vpc_peering = args[:allow_vpc_peering] if args.key?(:allow_vpc_peering)
25996
+ @allow_vpn = args[:allow_vpn] if args.key?(:allow_vpn)
25997
+ @interface_types = args[:interface_types] if args.key?(:interface_types)
25998
+ @subnet_purposes = args[:subnet_purposes] if args.key?(:subnet_purposes)
25999
+ @subnet_stack_types = args[:subnet_stack_types] if args.key?(:subnet_stack_types)
26000
+ @unicast = args[:unicast] if args.key?(:unicast)
26001
+ end
26002
+ end
26003
+
26004
+ # Contains a list of network profiles.
26005
+ class NetworkProfilesListResponse
26006
+ include Google::Apis::Core::Hashable
26007
+
26008
+ #
26009
+ # Corresponds to the JSON property `etag`
26010
+ # @return [String]
26011
+ attr_accessor :etag
26012
+
26013
+ # [Output Only] Unique identifier for the resource; defined by the server.
26014
+ # Corresponds to the JSON property `id`
26015
+ # @return [String]
26016
+ attr_accessor :id
26017
+
26018
+ # A list of NetworkProfile resources.
26019
+ # Corresponds to the JSON property `items`
26020
+ # @return [Array<Google::Apis::ComputeV1::NetworkProfile>]
26021
+ attr_accessor :items
26022
+
26023
+ # [Output Only] Type of resource. Always compute#networkProfileList for network
26024
+ # profiles.
26025
+ # Corresponds to the JSON property `kind`
26026
+ # @return [String]
26027
+ attr_accessor :kind
26028
+
26029
+ # [Output Only] This token allows you to get the next page of results for list
26030
+ # requests. If the number of results is larger than maxResults, use the
26031
+ # nextPageToken as a value for the query parameter pageToken in the next list
26032
+ # request. Subsequent list requests will have their own nextPageToken to
26033
+ # continue paging through the results.
26034
+ # Corresponds to the JSON property `nextPageToken`
26035
+ # @return [String]
26036
+ attr_accessor :next_page_token
26037
+
26038
+ # [Output Only] Server-defined URL for this resource.
26039
+ # Corresponds to the JSON property `selfLink`
26040
+ # @return [String]
26041
+ attr_accessor :self_link
26042
+
26043
+ # [Output Only] Unreachable resources. end_interface:
26044
+ # MixerListResponseWithEtagBuilder
26045
+ # Corresponds to the JSON property `unreachables`
26046
+ # @return [Array<String>]
26047
+ attr_accessor :unreachables
26048
+
26049
+ # [Output Only] Informational warning message.
26050
+ # Corresponds to the JSON property `warning`
26051
+ # @return [Google::Apis::ComputeV1::NetworkProfilesListResponse::Warning]
26052
+ attr_accessor :warning
26053
+
26054
+ def initialize(**args)
26055
+ update!(**args)
26056
+ end
26057
+
26058
+ # Update properties of this object
26059
+ def update!(**args)
26060
+ @etag = args[:etag] if args.key?(:etag)
26061
+ @id = args[:id] if args.key?(:id)
26062
+ @items = args[:items] if args.key?(:items)
26063
+ @kind = args[:kind] if args.key?(:kind)
26064
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
26065
+ @self_link = args[:self_link] if args.key?(:self_link)
26066
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
26067
+ @warning = args[:warning] if args.key?(:warning)
26068
+ end
26069
+
26070
+ # [Output Only] Informational warning message.
26071
+ class Warning
26072
+ include Google::Apis::Core::Hashable
26073
+
26074
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
26075
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
26076
+ # Corresponds to the JSON property `code`
26077
+ # @return [String]
26078
+ attr_accessor :code
26079
+
26080
+ # [Output Only] Metadata about this warning in key: value format. For example: "
26081
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
26082
+ # Corresponds to the JSON property `data`
26083
+ # @return [Array<Google::Apis::ComputeV1::NetworkProfilesListResponse::Warning::Datum>]
26084
+ attr_accessor :data
26085
+
26086
+ # [Output Only] A human-readable description of the warning code.
26087
+ # Corresponds to the JSON property `message`
26088
+ # @return [String]
26089
+ attr_accessor :message
26090
+
26091
+ def initialize(**args)
26092
+ update!(**args)
26093
+ end
26094
+
26095
+ # Update properties of this object
26096
+ def update!(**args)
26097
+ @code = args[:code] if args.key?(:code)
26098
+ @data = args[:data] if args.key?(:data)
26099
+ @message = args[:message] if args.key?(:message)
26100
+ end
26101
+
26102
+ #
26103
+ class Datum
26104
+ include Google::Apis::Core::Hashable
26105
+
26106
+ # [Output Only] A key that provides more detail on the warning being returned.
26107
+ # For example, for warnings where there are no results in a list request for a
26108
+ # particular zone, this key might be scope and the key value might be the zone
26109
+ # name. Other examples might be a key indicating a deprecated resource and a
26110
+ # suggested replacement, or a warning about invalid network settings (for
26111
+ # example, if an instance attempts to perform IP forwarding but is not enabled
26112
+ # for IP forwarding).
26113
+ # Corresponds to the JSON property `key`
26114
+ # @return [String]
26115
+ attr_accessor :key
26116
+
26117
+ # [Output Only] A warning data value corresponding to the key.
26118
+ # Corresponds to the JSON property `value`
26119
+ # @return [String]
26120
+ attr_accessor :value
26121
+
26122
+ def initialize(**args)
26123
+ update!(**args)
26124
+ end
26125
+
26126
+ # Update properties of this object
26127
+ def update!(**args)
26128
+ @key = args[:key] if args.key?(:key)
26129
+ @value = args[:value] if args.key?(:value)
26130
+ end
26131
+ end
26132
+ end
26133
+ end
26134
+
25601
26135
  # A routing configuration attached to a network resource. The message includes
25602
26136
  # the list of routers associated with the network, and a flag indicating the
25603
26137
  # type of routing behavior to enforce network-wide.
@@ -29341,11 +29875,8 @@ module Google
29341
29875
  # defaultRouteAction takes effect when none of the pathRules or routeRules match.
29342
29876
  # The load balancer performs advanced routing actions, such as URL rewrites and
29343
29877
  # header transformations, before forwarding the request to the selected backend.
29344
- # If defaultRouteAction specifies any weightedBackendServices, defaultService
29345
- # must not be set. Conversely if defaultService is set, defaultRouteAction
29346
- # cannot contain any weightedBackendServices. If defaultRouteAction is specified,
29347
- # don't set defaultUrlRedirect. If defaultRouteAction.weightedBackendServices
29348
- # is specified, don't set defaultService. URL maps for classic Application Load
29878
+ # Only one of defaultUrlRedirect, defaultService or defaultRouteAction.
29879
+ # weightedBackendService can be set. URL maps for classic Application Load
29349
29880
  # Balancers only support the urlRewrite action within a path matcher's
29350
29881
  # defaultRouteAction.
29351
29882
  # Corresponds to the JSON property `defaultRouteAction`
@@ -29359,14 +29890,11 @@ module Google
29359
29890
  # backendService - compute/v1/projects/project/global/backendServices/
29360
29891
  # backendService - global/backendServices/backendService If defaultRouteAction
29361
29892
  # is also specified, advanced routing actions, such as URL rewrites, take effect
29362
- # before sending the request to the backend. However, if defaultService is
29363
- # specified, defaultRouteAction cannot contain any weightedBackendServices.
29364
- # Conversely, if defaultRouteAction specifies any weightedBackendServices,
29365
- # defaultService must not be specified. If defaultService is specified, then set
29366
- # either defaultUrlRedirect or defaultRouteAction.weightedBackendService. Don't
29367
- # set both. Authorization requires one or more of the following Google IAM
29368
- # permissions on the specified resource default_service: - compute.
29369
- # backendBuckets.use - compute.backendServices.use
29893
+ # before sending the request to the backend. Only one of defaultUrlRedirect,
29894
+ # defaultService or defaultRouteAction.weightedBackendService can be set.
29895
+ # Authorization requires one or more of the following Google IAM permissions on
29896
+ # the specified resource default_service: - compute.backendBuckets.use - compute.
29897
+ # backendServices.use
29370
29898
  # Corresponds to the JSON property `defaultService`
29371
29899
  # @return [String]
29372
29900
  attr_accessor :default_service
@@ -29450,11 +29978,10 @@ module Google
29450
29978
 
29451
29979
  # In response to a matching path, the load balancer performs advanced routing
29452
29980
  # actions, such as URL rewrites and header transformations, before forwarding
29453
- # the request to the selected backend. If routeAction specifies any
29454
- # weightedBackendServices, service must not be set. Conversely if service is set,
29455
- # routeAction cannot contain any weightedBackendServices. Only one of
29456
- # routeAction or urlRedirect must be set. URL maps for classic Application Load
29457
- # Balancers only support the urlRewrite action within a path rule's routeAction.
29981
+ # the request to the selected backend. Only one of urlRedirect, service or
29982
+ # routeAction.weightedBackendService can be set. URL maps for classic
29983
+ # Application Load Balancers only support the urlRewrite action within a path
29984
+ # rule's routeAction.
29458
29985
  # Corresponds to the JSON property `routeAction`
29459
29986
  # @return [Google::Apis::ComputeV1::HttpRouteAction]
29460
29987
  attr_accessor :route_action
@@ -29462,10 +29989,8 @@ module Google
29462
29989
  # The full or partial URL of the backend service resource to which traffic is
29463
29990
  # directed if this rule is matched. If routeAction is also specified, advanced
29464
29991
  # routing actions, such as URL rewrites, take effect before sending the request
29465
- # to the backend. However, if service is specified, routeAction cannot contain
29466
- # any weightedBackendServices. Conversely, if routeAction specifies any
29467
- # weightedBackendServices, service must not be specified. Only one of
29468
- # urlRedirect, service or routeAction.weightedBackendService must be set.
29992
+ # to the backend. Only one of urlRedirect, service or routeAction.
29993
+ # weightedBackendService can be set.
29469
29994
  # Corresponds to the JSON property `service`
29470
29995
  # @return [String]
29471
29996
  attr_accessor :service
@@ -29506,7 +30031,7 @@ module Google
29506
30031
  # Serves as a merge key during UpdatePerInstanceConfigs operations, that is, if
29507
30032
  # a per-instance configuration with the same name exists then it will be updated,
29508
30033
  # otherwise a new one will be created for the VM instance with the same name.
29509
- # An attempt to create a per-instance configconfiguration for a VM instance that
30034
+ # An attempt to create a per-instance configuration for a VM instance that
29510
30035
  # either doesn't exist or is not part of the group will result in an error.
29511
30036
  # Corresponds to the JSON property `name`
29512
30037
  # @return [String]
@@ -29821,7 +30346,7 @@ module Google
29821
30346
  # @return [String]
29822
30347
  attr_accessor :description
29823
30348
 
29824
- # Restricted features enabled for use on this project.
30349
+ # An optional list of restricted features enabled for use on this project.
29825
30350
  # Corresponds to the JSON property `enabledFeatures`
29826
30351
  # @return [Array<String>]
29827
30352
  attr_accessor :enabled_features
@@ -32094,6 +32619,26 @@ module Google
32094
32619
  end
32095
32620
  end
32096
32621
 
32622
+ #
32623
+ class RegionInstanceGroupManagersResumeInstancesRequest
32624
+ include Google::Apis::Core::Hashable
32625
+
32626
+ # The URLs of one or more instances to resume. This can be a full URL or a
32627
+ # partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].
32628
+ # Corresponds to the JSON property `instances`
32629
+ # @return [Array<String>]
32630
+ attr_accessor :instances
32631
+
32632
+ def initialize(**args)
32633
+ update!(**args)
32634
+ end
32635
+
32636
+ # Update properties of this object
32637
+ def update!(**args)
32638
+ @instances = args[:instances] if args.key?(:instances)
32639
+ end
32640
+ end
32641
+
32097
32642
  #
32098
32643
  class RegionInstanceGroupManagersSetTargetPoolsRequest
32099
32644
  include Google::Apis::Core::Hashable
@@ -32144,6 +32689,82 @@ module Google
32144
32689
  end
32145
32690
  end
32146
32691
 
32692
+ #
32693
+ class RegionInstanceGroupManagersStartInstancesRequest
32694
+ include Google::Apis::Core::Hashable
32695
+
32696
+ # The URLs of one or more instances to start. This can be a full URL or a
32697
+ # partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].
32698
+ # Corresponds to the JSON property `instances`
32699
+ # @return [Array<String>]
32700
+ attr_accessor :instances
32701
+
32702
+ def initialize(**args)
32703
+ update!(**args)
32704
+ end
32705
+
32706
+ # Update properties of this object
32707
+ def update!(**args)
32708
+ @instances = args[:instances] if args.key?(:instances)
32709
+ end
32710
+ end
32711
+
32712
+ #
32713
+ class RegionInstanceGroupManagersStopInstancesRequest
32714
+ include Google::Apis::Core::Hashable
32715
+
32716
+ # If this flag is set to true, the Instance Group Manager will proceed to stop
32717
+ # the instances, skipping initialization on them.
32718
+ # Corresponds to the JSON property `forceStop`
32719
+ # @return [Boolean]
32720
+ attr_accessor :force_stop
32721
+ alias_method :force_stop?, :force_stop
32722
+
32723
+ # The URLs of one or more instances to stop. This can be a full URL or a partial
32724
+ # URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].
32725
+ # Corresponds to the JSON property `instances`
32726
+ # @return [Array<String>]
32727
+ attr_accessor :instances
32728
+
32729
+ def initialize(**args)
32730
+ update!(**args)
32731
+ end
32732
+
32733
+ # Update properties of this object
32734
+ def update!(**args)
32735
+ @force_stop = args[:force_stop] if args.key?(:force_stop)
32736
+ @instances = args[:instances] if args.key?(:instances)
32737
+ end
32738
+ end
32739
+
32740
+ #
32741
+ class RegionInstanceGroupManagersSuspendInstancesRequest
32742
+ include Google::Apis::Core::Hashable
32743
+
32744
+ # If this flag is set to true, the Instance Group Manager will proceed to
32745
+ # suspend the instances, skipping initialization on them.
32746
+ # Corresponds to the JSON property `forceSuspend`
32747
+ # @return [Boolean]
32748
+ attr_accessor :force_suspend
32749
+ alias_method :force_suspend?, :force_suspend
32750
+
32751
+ # The URLs of one or more instances to suspend. This can be a full URL or a
32752
+ # partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].
32753
+ # Corresponds to the JSON property `instances`
32754
+ # @return [Array<String>]
32755
+ attr_accessor :instances
32756
+
32757
+ def initialize(**args)
32758
+ update!(**args)
32759
+ end
32760
+
32761
+ # Update properties of this object
32762
+ def update!(**args)
32763
+ @force_suspend = args[:force_suspend] if args.key?(:force_suspend)
32764
+ @instances = args[:instances] if args.key?(:instances)
32765
+ end
32766
+ end
32767
+
32147
32768
  #
32148
32769
  class RegionInstanceGroupsListInstances
32149
32770
  include Google::Apis::Core::Hashable
@@ -34168,7 +34789,9 @@ module Google
34168
34789
  class ResourceStatus
34169
34790
  include Google::Apis::Core::Hashable
34170
34791
 
34171
- # [Output Only] An opaque ID of the host on which the VM is running.
34792
+ # [Output Only] The precise location of your instance within the zone's data
34793
+ # center, including the block, sub-block, and host. The field is formatted as
34794
+ # follows: blockId/subBlockId/hostId.
34172
34795
  # Corresponds to the JSON property `physicalHost`
34173
34796
  # @return [String]
34174
34797
  attr_accessor :physical_host
@@ -38089,7 +38712,9 @@ module Google
38089
38712
  # originating client, which is resolved based on "userIpRequestHeaders"
38090
38713
  # configured with the security policy. If there is no "userIpRequestHeaders"
38091
38714
  # configuration or an IP address cannot be resolved from it, the key type
38092
- # defaults to IP.
38715
+ # defaults to IP. - TLS_JA4_FINGERPRINT: JA4 TLS/SSL fingerprint if the client
38716
+ # connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type
38717
+ # defaults to ALL.
38093
38718
  # Corresponds to the JSON property `enforceOnKey`
38094
38719
  # @return [String]
38095
38720
  attr_accessor :enforce_on_key
@@ -38184,7 +38809,9 @@ module Google
38184
38809
  # originating client, which is resolved based on "userIpRequestHeaders"
38185
38810
  # configured with the security policy. If there is no "userIpRequestHeaders"
38186
38811
  # configuration or an IP address cannot be resolved from it, the key type
38187
- # defaults to IP.
38812
+ # defaults to IP. - TLS_JA4_FINGERPRINT: JA4 TLS/SSL fingerprint if the client
38813
+ # connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type
38814
+ # defaults to ALL.
38188
38815
  # Corresponds to the JSON property `enforceOnKeyType`
38189
38816
  # @return [String]
38190
38817
  attr_accessor :enforce_on_key_type
@@ -42518,15 +43145,17 @@ module Google
42518
43145
  attr_accessor :private_ipv6_google_access
42519
43146
 
42520
43147
  # The purpose of the resource. This field can be either PRIVATE,
42521
- # GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, or PRIVATE_SERVICE_CONNECT.
42522
- # PRIVATE is the default purpose for user-created subnets or subnets that are
42523
- # automatically created in auto mode networks. Subnets with purpose set to
42524
- # GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are user-created subnetworks
42525
- # that are reserved for Envoy-based load balancers. A subnet with purpose set to
42526
- # PRIVATE_SERVICE_CONNECT is used to publish services using Private Service
42527
- # Connect. If unspecified, the subnet purpose defaults to PRIVATE. The
42528
- # enableFlowLogs field isn't supported if the subnet purpose field is set to
42529
- # GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY.
43148
+ # GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PEER_MIGRATION or
43149
+ # PRIVATE_SERVICE_CONNECT. PRIVATE is the default purpose for user-created
43150
+ # subnets or subnets that are automatically created in auto mode networks.
43151
+ # Subnets with purpose set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are
43152
+ # user-created subnetworks that are reserved for Envoy-based load balancers. A
43153
+ # subnet with purpose set to PRIVATE_SERVICE_CONNECT is used to publish services
43154
+ # using Private Service Connect. A subnet with purpose set to PEER_MIGRATION is
43155
+ # used for subnet migration from one peered VPC to another. If unspecified, the
43156
+ # subnet purpose defaults to PRIVATE. The enableFlowLogs field isn't supported
43157
+ # if the subnet purpose field is set to GLOBAL_MANAGED_PROXY or
43158
+ # REGIONAL_MANAGED_PROXY.
42530
43159
  # Corresponds to the JSON property `purpose`
42531
43160
  # @return [String]
42532
43161
  attr_accessor :purpose
@@ -43973,14 +44602,14 @@ module Google
43973
44602
  # Represents a Target HTTPS Proxy resource. Google Compute Engine has two Target
43974
44603
  # HTTPS Proxy resources: * [Global](/compute/docs/reference/rest/v1/
43975
44604
  # targetHttpsProxies) * [Regional](/compute/docs/reference/rest/v1/
43976
- # regionTargetHttpsProxies) A target HTTPS proxy is a component of GCP HTTPS
43977
- # load balancers. * targetHttpProxies are used by global external Application
43978
- # Load Balancers, classic Application Load Balancers, cross-region internal
43979
- # Application Load Balancers, and Traffic Director. * regionTargetHttpProxies
43980
- # are used by regional internal Application Load Balancers and regional external
43981
- # Application Load Balancers. Forwarding rules reference a target HTTPS proxy,
43982
- # and the target proxy then references a URL map. For more information, read
43983
- # Using Target Proxies and Forwarding rule concepts.
44605
+ # regionTargetHttpsProxies) A target HTTPS proxy is a component of Google Cloud
44606
+ # HTTPS load balancers. * targetHttpProxies are used by global external
44607
+ # Application Load Balancers, classic Application Load Balancers, cross-region
44608
+ # internal Application Load Balancers, and Traffic Director. *
44609
+ # regionTargetHttpProxies are used by regional internal Application Load
44610
+ # Balancers and regional external Application Load Balancers. Forwarding rules
44611
+ # reference a target HTTPS proxy, and the target proxy then references a URL map.
44612
+ # For more information, read Using Target Proxies and Forwarding rule concepts.
43984
44613
  class TargetHttpsProxy
43985
44614
  include Google::Apis::Core::Hashable
43986
44615
 
@@ -46887,11 +47516,9 @@ module Google
46887
47516
 
46888
47517
  # defaultRouteAction takes effect when none of the hostRules match. The load
46889
47518
  # balancer performs advanced routing actions, such as URL rewrites and header
46890
- # transformations, before forwarding the request to the selected backend. If
46891
- # defaultRouteAction specifies any weightedBackendServices, defaultService must
46892
- # not be set. Conversely if defaultService is set, defaultRouteAction cannot
46893
- # contain any weightedBackendServices. Only one of defaultRouteAction or
46894
- # defaultUrlRedirect must be set. URL maps for classic Application Load
47519
+ # transformations, before forwarding the request to the selected backend. Only
47520
+ # one of defaultUrlRedirect, defaultService or defaultRouteAction.
47521
+ # weightedBackendService can be set. URL maps for classic Application Load
46895
47522
  # Balancers only support the urlRewrite action within defaultRouteAction.
46896
47523
  # defaultRouteAction has no effect when the URL map is bound to a target gRPC
46897
47524
  # proxy that has the validateForProxyless field set to true.
@@ -46902,14 +47529,10 @@ module Google
46902
47529
  # The full or partial URL of the defaultService resource to which traffic is
46903
47530
  # directed if none of the hostRules match. If defaultRouteAction is also
46904
47531
  # specified, advanced routing actions, such as URL rewrites, take effect before
46905
- # sending the request to the backend. However, if defaultService is specified,
46906
- # defaultRouteAction cannot contain any defaultRouteAction.
46907
- # weightedBackendServices. Conversely, if defaultRouteAction specifies any
46908
- # defaultRouteAction.weightedBackendServices, defaultService must not be
46909
- # specified. If defaultService is specified, then set either defaultUrlRedirect ,
46910
- # or defaultRouteAction.weightedBackendService Don't set both. defaultService
46911
- # has no effect when the URL map is bound to a target gRPC proxy that has the
46912
- # validateForProxyless field set to true.
47532
+ # sending the request to the backend. Only one of defaultUrlRedirect,
47533
+ # defaultService or defaultRouteAction.weightedBackendService can be set.
47534
+ # defaultService has no effect when the URL map is bound to a target gRPC proxy
47535
+ # that has the validateForProxyless field set to true.
46913
47536
  # Corresponds to the JSON property `defaultService`
46914
47537
  # @return [String]
46915
47538
  attr_accessor :default_service
@@ -47657,15 +48280,17 @@ module Google
47657
48280
  attr_accessor :network
47658
48281
 
47659
48282
  # The purpose of the resource. This field can be either PRIVATE,
47660
- # GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, or PRIVATE_SERVICE_CONNECT.
47661
- # PRIVATE is the default purpose for user-created subnets or subnets that are
47662
- # automatically created in auto mode networks. Subnets with purpose set to
47663
- # GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are user-created subnetworks
47664
- # that are reserved for Envoy-based load balancers. A subnet with purpose set to
47665
- # PRIVATE_SERVICE_CONNECT is used to publish services using Private Service
47666
- # Connect. If unspecified, the subnet purpose defaults to PRIVATE. The
47667
- # enableFlowLogs field isn't supported if the subnet purpose field is set to
47668
- # GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY.
48283
+ # GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PEER_MIGRATION or
48284
+ # PRIVATE_SERVICE_CONNECT. PRIVATE is the default purpose for user-created
48285
+ # subnets or subnets that are automatically created in auto mode networks.
48286
+ # Subnets with purpose set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are
48287
+ # user-created subnetworks that are reserved for Envoy-based load balancers. A
48288
+ # subnet with purpose set to PRIVATE_SERVICE_CONNECT is used to publish services
48289
+ # using Private Service Connect. A subnet with purpose set to PEER_MIGRATION is
48290
+ # used for subnet migration from one peered VPC to another. If unspecified, the
48291
+ # subnet purpose defaults to PRIVATE. The enableFlowLogs field isn't supported
48292
+ # if the subnet purpose field is set to GLOBAL_MANAGED_PROXY or
48293
+ # REGIONAL_MANAGED_PROXY.
47669
48294
  # Corresponds to the JSON property `purpose`
47670
48295
  # @return [String]
47671
48296
  attr_accessor :purpose