google-apis-compute_v1 0.112.0 → 0.114.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -567,8 +567,7 @@ module Google
567
567
  # @return [String]
568
568
  attr_accessor :public_ptr_domain_name
569
569
 
570
- # [Output Only] The resource URL for the security policy associated with this
571
- # access config.
570
+ # The resource URL for the security policy associated with this access config.
572
571
  # Corresponds to the JSON property `securityPolicy`
573
572
  # @return [String]
574
573
  attr_accessor :security_policy
@@ -1773,7 +1772,9 @@ module Google
1773
1772
  # disk, one of initializeParams.sourceSnapshot or initializeParams.sourceImage
1774
1773
  # or disks.source is required. To create a disk with a snapshot that you created,
1775
1774
  # specify the snapshot name in the following format: global/snapshots/my-backup
1776
- # If the source snapshot is deleted later, this field will not be set.
1775
+ # If the source snapshot is deleted later, this field will not be set. Note: You
1776
+ # cannot create VMs in bulk using a snapshot as the source. Use an image instead
1777
+ # when you create VMs using the bulk insert method.
1777
1778
  # Corresponds to the JSON property `sourceSnapshot`
1778
1779
  # @return [String]
1779
1780
  attr_accessor :source_snapshot
@@ -2991,7 +2992,8 @@ module Google
2991
2992
  # CACHE_ALL_STATIC Automatically cache static content, including common image
2992
2993
  # formats, media (video and audio), and web assets (JavaScript and CSS).
2993
2994
  # Requests and responses that are marked as uncacheable, as well as dynamic
2994
- # content (including HTML), will not be cached.
2995
+ # content (including HTML), will not be cached. If no value is provided for
2996
+ # cdnPolicy.cacheMode, it defaults to CACHE_ALL_STATIC.
2995
2997
  # Corresponds to the JSON property `cacheMode`
2996
2998
  # @return [String]
2997
2999
  attr_accessor :cache_mode
@@ -3903,7 +3905,8 @@ module Google
3903
3905
  # CACHE_ALL_STATIC Automatically cache static content, including common image
3904
3906
  # formats, media (video and audio), and web assets (JavaScript and CSS).
3905
3907
  # Requests and responses that are marked as uncacheable, as well as dynamic
3906
- # content (including HTML), will not be cached.
3908
+ # content (including HTML), will not be cached. If no value is provided for
3909
+ # cdnPolicy.cacheMode, it defaults to CACHE_ALL_STATIC.
3907
3910
  # Corresponds to the JSON property `cacheMode`
3908
3911
  # @return [String]
3909
3912
  attr_accessor :cache_mode
@@ -8088,12 +8091,12 @@ module Google
8088
8091
  # @return [String]
8089
8092
  attr_accessor :domain
8090
8093
 
8091
- # Additional structured details about this error. Keys must match /a-z+/ but
8092
- # should ideally be lowerCamelCase. Also they must be limited to 64 characters
8093
- # in length. When identifying the current value of an exceeded limit, the units
8094
- # should be contained in the key, not the value. For example, rather than `"
8095
- # instanceLimit": "100/request"`, should be returned as, `"
8096
- # instanceLimitPerRequest": "100"`, if the client exceeds the number of
8094
+ # Additional structured details about this error. Keys must match a regular
8095
+ # expression of `a-z+` but should ideally be lowerCamelCase. Also, they must be
8096
+ # limited to 64 characters in length. When identifying the current value of an
8097
+ # exceeded limit, the units should be contained in the key, not the value. For
8098
+ # example, rather than ``"instanceLimit": "100/request"``, should be returned as,
8099
+ # ``"instanceLimitPerRequest": "100"``, if the client exceeds the number of
8097
8100
  # instances that can be created in a single (batch) request.
8098
8101
  # Corresponds to the JSON property `metadatas`
8099
8102
  # @return [Hash<String,String>]
@@ -9053,6 +9056,97 @@ module Google
9053
9056
  end
9054
9057
  end
9055
9058
 
9059
+ #
9060
+ class FirewallPoliciesScopedList
9061
+ include Google::Apis::Core::Hashable
9062
+
9063
+ # A list of firewall policies contained in this scope.
9064
+ # Corresponds to the JSON property `firewallPolicies`
9065
+ # @return [Array<Google::Apis::ComputeV1::FirewallPolicy>]
9066
+ attr_accessor :firewall_policies
9067
+
9068
+ # Informational warning which replaces the list of firewall policies when the
9069
+ # list is empty.
9070
+ # Corresponds to the JSON property `warning`
9071
+ # @return [Google::Apis::ComputeV1::FirewallPoliciesScopedList::Warning]
9072
+ attr_accessor :warning
9073
+
9074
+ def initialize(**args)
9075
+ update!(**args)
9076
+ end
9077
+
9078
+ # Update properties of this object
9079
+ def update!(**args)
9080
+ @firewall_policies = args[:firewall_policies] if args.key?(:firewall_policies)
9081
+ @warning = args[:warning] if args.key?(:warning)
9082
+ end
9083
+
9084
+ # Informational warning which replaces the list of firewall policies when the
9085
+ # list is empty.
9086
+ class Warning
9087
+ include Google::Apis::Core::Hashable
9088
+
9089
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
9090
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
9091
+ # Corresponds to the JSON property `code`
9092
+ # @return [String]
9093
+ attr_accessor :code
9094
+
9095
+ # [Output Only] Metadata about this warning in key: value format. For example: "
9096
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
9097
+ # Corresponds to the JSON property `data`
9098
+ # @return [Array<Google::Apis::ComputeV1::FirewallPoliciesScopedList::Warning::Datum>]
9099
+ attr_accessor :data
9100
+
9101
+ # [Output Only] A human-readable description of the warning code.
9102
+ # Corresponds to the JSON property `message`
9103
+ # @return [String]
9104
+ attr_accessor :message
9105
+
9106
+ def initialize(**args)
9107
+ update!(**args)
9108
+ end
9109
+
9110
+ # Update properties of this object
9111
+ def update!(**args)
9112
+ @code = args[:code] if args.key?(:code)
9113
+ @data = args[:data] if args.key?(:data)
9114
+ @message = args[:message] if args.key?(:message)
9115
+ end
9116
+
9117
+ #
9118
+ class Datum
9119
+ include Google::Apis::Core::Hashable
9120
+
9121
+ # [Output Only] A key that provides more detail on the warning being returned.
9122
+ # For example, for warnings where there are no results in a list request for a
9123
+ # particular zone, this key might be scope and the key value might be the zone
9124
+ # name. Other examples might be a key indicating a deprecated resource and a
9125
+ # suggested replacement, or a warning about invalid network settings (for
9126
+ # example, if an instance attempts to perform IP forwarding but is not enabled
9127
+ # for IP forwarding).
9128
+ # Corresponds to the JSON property `key`
9129
+ # @return [String]
9130
+ attr_accessor :key
9131
+
9132
+ # [Output Only] A warning data value corresponding to the key.
9133
+ # Corresponds to the JSON property `value`
9134
+ # @return [String]
9135
+ attr_accessor :value
9136
+
9137
+ def initialize(**args)
9138
+ update!(**args)
9139
+ end
9140
+
9141
+ # Update properties of this object
9142
+ def update!(**args)
9143
+ @key = args[:key] if args.key?(:key)
9144
+ @value = args[:value] if args.key?(:value)
9145
+ end
9146
+ end
9147
+ end
9148
+ end
9149
+
9056
9150
  # Represents a Firewall Policy resource.
9057
9151
  class FirewallPolicy
9058
9152
  include Google::Apis::Core::Hashable
@@ -12959,12 +13053,10 @@ module Google
12959
13053
 
12960
13054
  # In response to a matching matchRule, the load balancer performs advanced
12961
13055
  # routing actions, such as URL rewrites and header transformations, before
12962
- # forwarding the request to the selected backend. If routeAction specifies any
12963
- # weightedBackendServices, service must not be set. Conversely if service is set,
12964
- # routeAction cannot contain any weightedBackendServices. Only one of
12965
- # urlRedirect, service or routeAction.weightedBackendService must be set. URL
12966
- # maps for classic Application Load Balancers only support the urlRewrite action
12967
- # within a route rule's routeAction.
13056
+ # forwarding the request to the selected backend. Only one of urlRedirect,
13057
+ # service or routeAction.weightedBackendService can be set. URL maps for classic
13058
+ # Application Load Balancers only support the urlRewrite action within a route
13059
+ # rule's routeAction.
12968
13060
  # Corresponds to the JSON property `routeAction`
12969
13061
  # @return [Google::Apis::ComputeV1::HttpRouteAction]
12970
13062
  attr_accessor :route_action
@@ -12972,10 +13064,8 @@ module Google
12972
13064
  # The full or partial URL of the backend service resource to which traffic is
12973
13065
  # directed if this rule is matched. If routeAction is also specified, advanced
12974
13066
  # routing actions, such as URL rewrites, take effect before sending the request
12975
- # to the backend. However, if service is specified, routeAction cannot contain
12976
- # any weightedBackendServices. Conversely, if routeAction specifies any
12977
- # weightedBackendServices, service must not be specified. Only one of
12978
- # urlRedirect, service or routeAction.weightedBackendService must be set.
13067
+ # to the backend. Only one of urlRedirect, service or routeAction.
13068
+ # weightedBackendService can be set.
12979
13069
  # Corresponds to the JSON property `service`
12980
13070
  # @return [String]
12981
13071
  attr_accessor :service
@@ -14877,6 +14967,11 @@ module Google
14877
14967
  # @return [String]
14878
14968
  attr_accessor :self_link
14879
14969
 
14970
+ # Standby policy for stopped and suspended instances.
14971
+ # Corresponds to the JSON property `standbyPolicy`
14972
+ # @return [Google::Apis::ComputeV1::InstanceGroupManagerStandbyPolicy]
14973
+ attr_accessor :standby_policy
14974
+
14880
14975
  # Stateful configuration for this Instanced Group Manager
14881
14976
  # Corresponds to the JSON property `statefulPolicy`
14882
14977
  # @return [Google::Apis::ComputeV1::StatefulPolicy]
@@ -14901,6 +14996,22 @@ module Google
14901
14996
  # @return [Fixnum]
14902
14997
  attr_accessor :target_size
14903
14998
 
14999
+ # The target number of stopped instances for this managed instance group. This
15000
+ # number changes when you: - Stop instance using the stopInstances method or
15001
+ # start instances using the startInstances method. - Manually change the
15002
+ # targetStoppedSize using the update method.
15003
+ # Corresponds to the JSON property `targetStoppedSize`
15004
+ # @return [Fixnum]
15005
+ attr_accessor :target_stopped_size
15006
+
15007
+ # The target number of suspended instances for this managed instance group. This
15008
+ # number changes when you: - Suspend instance using the suspendInstances method
15009
+ # or resume instances using the resumeInstances method. - Manually change the
15010
+ # targetSuspendedSize using the update method.
15011
+ # Corresponds to the JSON property `targetSuspendedSize`
15012
+ # @return [Fixnum]
15013
+ attr_accessor :target_suspended_size
15014
+
14904
15015
  # The update policy for this managed instance group.
14905
15016
  # Corresponds to the JSON property `updatePolicy`
14906
15017
  # @return [Google::Apis::ComputeV1::InstanceGroupManagerUpdatePolicy]
@@ -14950,10 +15061,13 @@ module Google
14950
15061
  @satisfies_pzi = args[:satisfies_pzi] if args.key?(:satisfies_pzi)
14951
15062
  @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
14952
15063
  @self_link = args[:self_link] if args.key?(:self_link)
15064
+ @standby_policy = args[:standby_policy] if args.key?(:standby_policy)
14953
15065
  @stateful_policy = args[:stateful_policy] if args.key?(:stateful_policy)
14954
15066
  @status = args[:status] if args.key?(:status)
14955
15067
  @target_pools = args[:target_pools] if args.key?(:target_pools)
14956
15068
  @target_size = args[:target_size] if args.key?(:target_size)
15069
+ @target_stopped_size = args[:target_stopped_size] if args.key?(:target_stopped_size)
15070
+ @target_suspended_size = args[:target_suspended_size] if args.key?(:target_suspended_size)
14957
15071
  @update_policy = args[:update_policy] if args.key?(:update_policy)
14958
15072
  @versions = args[:versions] if args.key?(:versions)
14959
15073
  @zone = args[:zone] if args.key?(:zone)
@@ -15937,6 +16051,35 @@ module Google
15937
16051
  end
15938
16052
  end
15939
16053
 
16054
+ #
16055
+ class InstanceGroupManagerStandbyPolicy
16056
+ include Google::Apis::Core::Hashable
16057
+
16058
+ # Specifies the number of seconds that the MIG should wait to suspend or stop a
16059
+ # VM after that VM was created. The initial delay gives the initialization
16060
+ # script the time to prepare your VM for a quick scale out. The value of initial
16061
+ # delay must be between 0 and 3600 seconds. The default value is 0.
16062
+ # Corresponds to the JSON property `initialDelaySec`
16063
+ # @return [Fixnum]
16064
+ attr_accessor :initial_delay_sec
16065
+
16066
+ # Defines how a MIG resumes or starts VMs from a standby pool when the group
16067
+ # scales out. The default mode is `MANUAL`.
16068
+ # Corresponds to the JSON property `mode`
16069
+ # @return [String]
16070
+ attr_accessor :mode
16071
+
16072
+ def initialize(**args)
16073
+ update!(**args)
16074
+ end
16075
+
16076
+ # Update properties of this object
16077
+ def update!(**args)
16078
+ @initial_delay_sec = args[:initial_delay_sec] if args.key?(:initial_delay_sec)
16079
+ @mode = args[:mode] if args.key?(:mode)
16080
+ end
16081
+ end
16082
+
15940
16083
  #
15941
16084
  class InstanceGroupManagerStatus
15942
16085
  include Google::Apis::Core::Hashable
@@ -16549,6 +16692,26 @@ module Google
16549
16692
  end
16550
16693
  end
16551
16694
 
16695
+ #
16696
+ class InstanceGroupManagersResumeInstancesRequest
16697
+ include Google::Apis::Core::Hashable
16698
+
16699
+ # The URLs of one or more instances to resume. This can be a full URL or a
16700
+ # partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].
16701
+ # Corresponds to the JSON property `instances`
16702
+ # @return [Array<String>]
16703
+ attr_accessor :instances
16704
+
16705
+ def initialize(**args)
16706
+ update!(**args)
16707
+ end
16708
+
16709
+ # Update properties of this object
16710
+ def update!(**args)
16711
+ @instances = args[:instances] if args.key?(:instances)
16712
+ end
16713
+ end
16714
+
16552
16715
  #
16553
16716
  class InstanceGroupManagersScopedList
16554
16717
  include Google::Apis::Core::Hashable
@@ -16697,6 +16860,82 @@ module Google
16697
16860
  end
16698
16861
  end
16699
16862
 
16863
+ #
16864
+ class InstanceGroupManagersStartInstancesRequest
16865
+ include Google::Apis::Core::Hashable
16866
+
16867
+ # The URLs of one or more instances to start. This can be a full URL or a
16868
+ # partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].
16869
+ # Corresponds to the JSON property `instances`
16870
+ # @return [Array<String>]
16871
+ attr_accessor :instances
16872
+
16873
+ def initialize(**args)
16874
+ update!(**args)
16875
+ end
16876
+
16877
+ # Update properties of this object
16878
+ def update!(**args)
16879
+ @instances = args[:instances] if args.key?(:instances)
16880
+ end
16881
+ end
16882
+
16883
+ #
16884
+ class InstanceGroupManagersStopInstancesRequest
16885
+ include Google::Apis::Core::Hashable
16886
+
16887
+ # If this flag is set to true, the Instance Group Manager will proceed to stop
16888
+ # the instances, skipping initialization on them.
16889
+ # Corresponds to the JSON property `forceStop`
16890
+ # @return [Boolean]
16891
+ attr_accessor :force_stop
16892
+ alias_method :force_stop?, :force_stop
16893
+
16894
+ # The URLs of one or more instances to stop. This can be a full URL or a partial
16895
+ # URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].
16896
+ # Corresponds to the JSON property `instances`
16897
+ # @return [Array<String>]
16898
+ attr_accessor :instances
16899
+
16900
+ def initialize(**args)
16901
+ update!(**args)
16902
+ end
16903
+
16904
+ # Update properties of this object
16905
+ def update!(**args)
16906
+ @force_stop = args[:force_stop] if args.key?(:force_stop)
16907
+ @instances = args[:instances] if args.key?(:instances)
16908
+ end
16909
+ end
16910
+
16911
+ #
16912
+ class InstanceGroupManagersSuspendInstancesRequest
16913
+ include Google::Apis::Core::Hashable
16914
+
16915
+ # If this flag is set to true, the Instance Group Manager will proceed to
16916
+ # suspend the instances, skipping initialization on them.
16917
+ # Corresponds to the JSON property `forceSuspend`
16918
+ # @return [Boolean]
16919
+ attr_accessor :force_suspend
16920
+ alias_method :force_suspend?, :force_suspend
16921
+
16922
+ # The URLs of one or more instances to suspend. This can be a full URL or a
16923
+ # partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].
16924
+ # Corresponds to the JSON property `instances`
16925
+ # @return [Array<String>]
16926
+ attr_accessor :instances
16927
+
16928
+ def initialize(**args)
16929
+ update!(**args)
16930
+ end
16931
+
16932
+ # Update properties of this object
16933
+ def update!(**args)
16934
+ @force_suspend = args[:force_suspend] if args.key?(:force_suspend)
16935
+ @instances = args[:instances] if args.key?(:instances)
16936
+ end
16937
+ end
16938
+
16700
16939
  # InstanceGroupManagers.updatePerInstanceConfigs
16701
16940
  class InstanceGroupManagersUpdatePerInstanceConfigsReq
16702
16941
  include Google::Apis::Core::Hashable
@@ -19386,7 +19625,7 @@ module Google
19386
19625
  # BPS_100M: 100 Mbit/s - BPS_200M: 200 Mbit/s - BPS_300M: 300 Mbit/s - BPS_400M:
19387
19626
  # 400 Mbit/s - BPS_500M: 500 Mbit/s - BPS_1G: 1 Gbit/s - BPS_2G: 2 Gbit/s -
19388
19627
  # BPS_5G: 5 Gbit/s - BPS_10G: 10 Gbit/s - BPS_20G: 20 Gbit/s - BPS_50G: 50 Gbit/
19389
- # s
19628
+ # s - BPS_100G: 100 Gbit/s
19390
19629
  # Corresponds to the JSON property `bandwidth`
19391
19630
  # @return [String]
19392
19631
  attr_accessor :bandwidth
@@ -19396,13 +19635,13 @@ module Google
19396
19635
  # @return [Array<String>]
19397
19636
  attr_accessor :candidate_ipv6_subnets
19398
19637
 
19399
- # Up to 16 candidate prefixes that can be used to restrict the allocation of
19400
- # cloudRouterIpAddress and customerRouterIpAddress for this attachment. All
19401
- # prefixes must be within link-local address space (169.254.0.0/16) and must be /
19402
- # 29 or shorter (/28, /27, etc). Google will attempt to select an unused /29
19403
- # from the supplied candidate prefix(es). The request will fail if all possible /
19404
- # 29s are in use on Google's edge. If not supplied, Google will randomly select
19405
- # an unused /29 from all of link-local space.
19638
+ # Input only. Up to 16 candidate prefixes that can be used to restrict the
19639
+ # allocation of cloudRouterIpAddress and customerRouterIpAddress for this
19640
+ # attachment. All prefixes must be within link-local address space (169.254.0.0/
19641
+ # 16) and must be /29 or shorter (/28, /27, etc). Google will attempt to select
19642
+ # an unused /29 from the supplied candidate prefix(es). The request will fail if
19643
+ # all possible /29s are in use on Google's edge. If not supplied, Google will
19644
+ # randomly select an unused /29 from all of link-local space.
19406
19645
  # Corresponds to the JSON property `candidateSubnets`
19407
19646
  # @return [Array<String>]
19408
19647
  attr_accessor :candidate_subnets
@@ -19464,8 +19703,8 @@ module Google
19464
19703
  # @return [String]
19465
19704
  attr_accessor :description
19466
19705
 
19467
- # Desired availability domain for the attachment. Only available for type
19468
- # PARTNER, at creation time, and can take one of the following values: -
19706
+ # Input only. Desired availability domain for the attachment. Only available for
19707
+ # type PARTNER, at creation time, and can take one of the following values: -
19469
19708
  # AVAILABILITY_DOMAIN_ANY - AVAILABILITY_DOMAIN_1 - AVAILABILITY_DOMAIN_2 For
19470
19709
  # improved reliability, customers should configure a pair of attachments, one
19471
19710
  # per availability domain. The selected availability domain will be provided to
@@ -19665,13 +19904,13 @@ module Google
19665
19904
  # @return [String]
19666
19905
  attr_accessor :state
19667
19906
 
19668
- # Length of the IPv4 subnet mask. Allowed values: - 29 (default) - 30 The
19669
- # default value is 29, except for Cross-Cloud Interconnect connections that use
19670
- # an InterconnectRemoteLocation with a constraints.subnetLengthRange.min equal
19671
- # to 30. For example, connections that use an Azure remote location fall into
19672
- # this category. In these cases, the default value is 30, and requesting 29
19673
- # returns an error. Where both 29 and 30 are allowed, 29 is preferred, because
19674
- # it gives Google Cloud Support more debugging visibility.
19907
+ # Input only. Length of the IPv4 subnet mask. Allowed values: - 29 (default) -
19908
+ # 30 The default value is 29, except for Cross-Cloud Interconnect connections
19909
+ # that use an InterconnectRemoteLocation with a constraints.subnetLengthRange.
19910
+ # min equal to 30. For example, connections that use an Azure remote location
19911
+ # fall into this category. In these cases, the default value is 30, and
19912
+ # requesting 29 returns an error. Where both 29 and 30 are allowed, 29 is
19913
+ # preferred, because it gives Google Cloud Support more debugging visibility.
19675
19914
  # Corresponds to the JSON property `subnetLength`
19676
19915
  # @return [Fixnum]
19677
19916
  attr_accessor :subnet_length
@@ -20599,7 +20838,7 @@ module Google
20599
20838
  attr_accessor :availability_zone
20600
20839
 
20601
20840
  # [Output only] List of features available at this InterconnectLocation, which
20602
- # can take one of the following values: - MACSEC
20841
+ # can take one of the following values: - IF_MACSEC
20603
20842
  # Corresponds to the JSON property `availableFeatures`
20604
20843
  # @return [Array<String>]
20605
20844
  attr_accessor :available_features
@@ -21539,7 +21778,7 @@ module Google
21539
21778
  # @return [String]
21540
21779
  attr_accessor :name
21541
21780
 
21542
- #
21781
+ # [Input Only] Deprecated.
21543
21782
  # Corresponds to the JSON property `resourceRequirements`
21544
21783
  # @return [Google::Apis::ComputeV1::LicenseResourceRequirements]
21545
21784
  attr_accessor :resource_requirements
@@ -21709,14 +21948,14 @@ module Google
21709
21948
  class LicenseResourceRequirements
21710
21949
  include Google::Apis::Core::Hashable
21711
21950
 
21712
- # Minimum number of guest cpus required to use the Instance. Enforced at
21713
- # Instance creation and Instance start.
21951
+ # [Input Only] Deprecated. This field no longer reflects the minimum number of
21952
+ # guest cpus required to use the Instance.
21714
21953
  # Corresponds to the JSON property `minGuestCpuCount`
21715
21954
  # @return [Fixnum]
21716
21955
  attr_accessor :min_guest_cpu_count
21717
21956
 
21718
- # Minimum memory required to use the Instance. Enforced at Instance creation and
21719
- # Instance start.
21957
+ # [Input Only] Deprecated. This field no longer reflects the minimum memory
21958
+ # required to use the Instance.
21720
21959
  # Corresponds to the JSON property `minMemoryMb`
21721
21960
  # @return [Fixnum]
21722
21961
  attr_accessor :min_memory_mb
@@ -23392,6 +23631,15 @@ module Google
23392
23631
  # @return [String]
23393
23632
  attr_accessor :network_firewall_policy_enforcement_order
23394
23633
 
23634
+ # A full or partial URL of the network profile to apply to this network. This
23635
+ # field can be set only at resource creation time. For example, the following
23636
+ # are valid URLs: - https://www.googleapis.com/compute/`api_version`/projects/`
23637
+ # project_id`/global/networkProfiles/`network_profile_name` - projects/`
23638
+ # project_id`/global/networkProfiles/`network_profile_name`
23639
+ # Corresponds to the JSON property `networkProfile`
23640
+ # @return [String]
23641
+ attr_accessor :network_profile
23642
+
23395
23643
  # [Output Only] A list of network peerings for the resource.
23396
23644
  # Corresponds to the JSON property `peerings`
23397
23645
  # @return [Array<Google::Apis::ComputeV1::NetworkPeering>]
@@ -23439,6 +23687,7 @@ module Google
23439
23687
  @mtu = args[:mtu] if args.key?(:mtu)
23440
23688
  @name = args[:name] if args.key?(:name)
23441
23689
  @network_firewall_policy_enforcement_order = args[:network_firewall_policy_enforcement_order] if args.key?(:network_firewall_policy_enforcement_order)
23690
+ @network_profile = args[:network_profile] if args.key?(:network_profile)
23442
23691
  @peerings = args[:peerings] if args.key?(:peerings)
23443
23692
  @routing_config = args[:routing_config] if args.key?(:routing_config)
23444
23693
  @self_link = args[:self_link] if args.key?(:self_link)
@@ -25192,6 +25441,130 @@ module Google
25192
25441
  end
25193
25442
  end
25194
25443
 
25444
+ #
25445
+ class NetworkFirewallPolicyAggregatedList
25446
+ include Google::Apis::Core::Hashable
25447
+
25448
+ # [Output Only] Unique identifier for the resource; defined by the server.
25449
+ # Corresponds to the JSON property `id`
25450
+ # @return [String]
25451
+ attr_accessor :id
25452
+
25453
+ # A list of FirewallPoliciesScopedList resources.
25454
+ # Corresponds to the JSON property `items`
25455
+ # @return [Hash<String,Google::Apis::ComputeV1::FirewallPoliciesScopedList>]
25456
+ attr_accessor :items
25457
+
25458
+ # [Output Only] Type of resource. Always compute#
25459
+ # networkFirewallPoliciesAggregatedList for lists of network firewall policies.
25460
+ # Corresponds to the JSON property `kind`
25461
+ # @return [String]
25462
+ attr_accessor :kind
25463
+
25464
+ # [Output Only] This token allows you to get the next page of results for list
25465
+ # requests. If the number of results is larger than maxResults, use the
25466
+ # nextPageToken as a value for the query parameter pageToken in the next list
25467
+ # request. Subsequent list requests will have their own nextPageToken to
25468
+ # continue paging through the results.
25469
+ # Corresponds to the JSON property `nextPageToken`
25470
+ # @return [String]
25471
+ attr_accessor :next_page_token
25472
+
25473
+ # [Output Only] Server-defined URL for this resource.
25474
+ # Corresponds to the JSON property `selfLink`
25475
+ # @return [String]
25476
+ attr_accessor :self_link
25477
+
25478
+ # [Output Only] Unreachable resources.
25479
+ # Corresponds to the JSON property `unreachables`
25480
+ # @return [Array<String>]
25481
+ attr_accessor :unreachables
25482
+
25483
+ # [Output Only] Informational warning message.
25484
+ # Corresponds to the JSON property `warning`
25485
+ # @return [Google::Apis::ComputeV1::NetworkFirewallPolicyAggregatedList::Warning]
25486
+ attr_accessor :warning
25487
+
25488
+ def initialize(**args)
25489
+ update!(**args)
25490
+ end
25491
+
25492
+ # Update properties of this object
25493
+ def update!(**args)
25494
+ @id = args[:id] if args.key?(:id)
25495
+ @items = args[:items] if args.key?(:items)
25496
+ @kind = args[:kind] if args.key?(:kind)
25497
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
25498
+ @self_link = args[:self_link] if args.key?(:self_link)
25499
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
25500
+ @warning = args[:warning] if args.key?(:warning)
25501
+ end
25502
+
25503
+ # [Output Only] Informational warning message.
25504
+ class Warning
25505
+ include Google::Apis::Core::Hashable
25506
+
25507
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
25508
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
25509
+ # Corresponds to the JSON property `code`
25510
+ # @return [String]
25511
+ attr_accessor :code
25512
+
25513
+ # [Output Only] Metadata about this warning in key: value format. For example: "
25514
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
25515
+ # Corresponds to the JSON property `data`
25516
+ # @return [Array<Google::Apis::ComputeV1::NetworkFirewallPolicyAggregatedList::Warning::Datum>]
25517
+ attr_accessor :data
25518
+
25519
+ # [Output Only] A human-readable description of the warning code.
25520
+ # Corresponds to the JSON property `message`
25521
+ # @return [String]
25522
+ attr_accessor :message
25523
+
25524
+ def initialize(**args)
25525
+ update!(**args)
25526
+ end
25527
+
25528
+ # Update properties of this object
25529
+ def update!(**args)
25530
+ @code = args[:code] if args.key?(:code)
25531
+ @data = args[:data] if args.key?(:data)
25532
+ @message = args[:message] if args.key?(:message)
25533
+ end
25534
+
25535
+ #
25536
+ class Datum
25537
+ include Google::Apis::Core::Hashable
25538
+
25539
+ # [Output Only] A key that provides more detail on the warning being returned.
25540
+ # For example, for warnings where there are no results in a list request for a
25541
+ # particular zone, this key might be scope and the key value might be the zone
25542
+ # name. Other examples might be a key indicating a deprecated resource and a
25543
+ # suggested replacement, or a warning about invalid network settings (for
25544
+ # example, if an instance attempts to perform IP forwarding but is not enabled
25545
+ # for IP forwarding).
25546
+ # Corresponds to the JSON property `key`
25547
+ # @return [String]
25548
+ attr_accessor :key
25549
+
25550
+ # [Output Only] A warning data value corresponding to the key.
25551
+ # Corresponds to the JSON property `value`
25552
+ # @return [String]
25553
+ attr_accessor :value
25554
+
25555
+ def initialize(**args)
25556
+ update!(**args)
25557
+ end
25558
+
25559
+ # Update properties of this object
25560
+ def update!(**args)
25561
+ @key = args[:key] if args.key?(:key)
25562
+ @value = args[:value] if args.key?(:value)
25563
+ end
25564
+ end
25565
+ end
25566
+ end
25567
+
25195
25568
  # A network interface resource attached to an instance.
25196
25569
  class NetworkInterface
25197
25570
  include Google::Apis::Core::Hashable
@@ -25596,12 +25969,423 @@ module Google
25596
25969
  end
25597
25970
  end
25598
25971
 
25972
+ # NetworkProfile represents a Google managed network profile resource.
25973
+ class NetworkProfile
25974
+ include Google::Apis::Core::Hashable
25975
+
25976
+ # [Output Only] Creation timestamp in RFC3339 text format.
25977
+ # Corresponds to the JSON property `creationTimestamp`
25978
+ # @return [String]
25979
+ attr_accessor :creation_timestamp
25980
+
25981
+ # [Output Only] An optional description of this resource.
25982
+ # Corresponds to the JSON property `description`
25983
+ # @return [String]
25984
+ attr_accessor :description
25985
+
25986
+ # [Output Only] Features supported by the network.
25987
+ # Corresponds to the JSON property `features`
25988
+ # @return [Google::Apis::ComputeV1::NetworkProfileNetworkFeatures]
25989
+ attr_accessor :features
25990
+
25991
+ # [Output Only] The unique identifier for the resource. This identifier is
25992
+ # defined by the server.
25993
+ # Corresponds to the JSON property `id`
25994
+ # @return [Fixnum]
25995
+ attr_accessor :id
25996
+
25997
+ # [Output Only] Type of the resource. Always compute#networkProfile for network
25998
+ # profiles.
25999
+ # Corresponds to the JSON property `kind`
26000
+ # @return [String]
26001
+ attr_accessor :kind
26002
+
26003
+ # [Output Only] Location to which the network is restricted.
26004
+ # Corresponds to the JSON property `location`
26005
+ # @return [Google::Apis::ComputeV1::NetworkProfileLocation]
26006
+ attr_accessor :location
26007
+
26008
+ # [Output Only] Name of the resource.
26009
+ # Corresponds to the JSON property `name`
26010
+ # @return [String]
26011
+ attr_accessor :name
26012
+
26013
+ # [Output Only] Server-defined URL for the resource.
26014
+ # Corresponds to the JSON property `selfLink`
26015
+ # @return [String]
26016
+ attr_accessor :self_link
26017
+
26018
+ # [Output Only] Server-defined URL for this resource with the resource id.
26019
+ # Corresponds to the JSON property `selfLinkWithId`
26020
+ # @return [String]
26021
+ attr_accessor :self_link_with_id
26022
+
26023
+ # [Output Only] Zone to which the network is restricted.
26024
+ # Corresponds to the JSON property `zone`
26025
+ # @return [String]
26026
+ attr_accessor :zone
26027
+
26028
+ def initialize(**args)
26029
+ update!(**args)
26030
+ end
26031
+
26032
+ # Update properties of this object
26033
+ def update!(**args)
26034
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
26035
+ @description = args[:description] if args.key?(:description)
26036
+ @features = args[:features] if args.key?(:features)
26037
+ @id = args[:id] if args.key?(:id)
26038
+ @kind = args[:kind] if args.key?(:kind)
26039
+ @location = args[:location] if args.key?(:location)
26040
+ @name = args[:name] if args.key?(:name)
26041
+ @self_link = args[:self_link] if args.key?(:self_link)
26042
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
26043
+ @zone = args[:zone] if args.key?(:zone)
26044
+ end
26045
+ end
26046
+
26047
+ #
26048
+ class NetworkProfileLocation
26049
+ include Google::Apis::Core::Hashable
26050
+
26051
+ #
26052
+ # Corresponds to the JSON property `name`
26053
+ # @return [String]
26054
+ attr_accessor :name
26055
+
26056
+ #
26057
+ # Corresponds to the JSON property `scope`
26058
+ # @return [String]
26059
+ attr_accessor :scope
26060
+
26061
+ def initialize(**args)
26062
+ update!(**args)
26063
+ end
26064
+
26065
+ # Update properties of this object
26066
+ def update!(**args)
26067
+ @name = args[:name] if args.key?(:name)
26068
+ @scope = args[:scope] if args.key?(:scope)
26069
+ end
26070
+ end
26071
+
26072
+ #
26073
+ class NetworkProfileNetworkFeatures
26074
+ include Google::Apis::Core::Hashable
26075
+
26076
+ # Specifies what address purposes are supported. If empty, all address purposes
26077
+ # are supported.
26078
+ # Corresponds to the JSON property `addressPurposes`
26079
+ # @return [Array<String>]
26080
+ attr_accessor :address_purposes
26081
+
26082
+ # Specifies whether alias IP ranges (and secondary address ranges) are allowed.
26083
+ # Corresponds to the JSON property `allowAliasIpRanges`
26084
+ # @return [String]
26085
+ attr_accessor :allow_alias_ip_ranges
26086
+
26087
+ # Specifies whether auto mode subnet creation is allowed.
26088
+ # Corresponds to the JSON property `allowAutoModeSubnet`
26089
+ # @return [String]
26090
+ attr_accessor :allow_auto_mode_subnet
26091
+
26092
+ # Specifies whether firewalls for Class D address ranges are supported.
26093
+ # Corresponds to the JSON property `allowClassDFirewalls`
26094
+ # @return [String]
26095
+ attr_accessor :allow_class_d_firewalls
26096
+
26097
+ # Specifies whether cloud NAT creation is allowed.
26098
+ # Corresponds to the JSON property `allowCloudNat`
26099
+ # @return [String]
26100
+ attr_accessor :allow_cloud_nat
26101
+
26102
+ # Specifies whether cloud router creation is allowed.
26103
+ # Corresponds to the JSON property `allowCloudRouter`
26104
+ # @return [String]
26105
+ attr_accessor :allow_cloud_router
26106
+
26107
+ # Specifies whether VMs are allowed to have external IP access on network
26108
+ # interfaces connected to this VPC.
26109
+ # Corresponds to the JSON property `allowExternalIpAccess`
26110
+ # @return [String]
26111
+ attr_accessor :allow_external_ip_access
26112
+
26113
+ # Specifies whether Cloud Interconnect creation is allowed.
26114
+ # Corresponds to the JSON property `allowInterconnect`
26115
+ # @return [String]
26116
+ attr_accessor :allow_interconnect
26117
+
26118
+ # Specifies whether cloud load balancing is allowed.
26119
+ # Corresponds to the JSON property `allowLoadBalancing`
26120
+ # @return [String]
26121
+ attr_accessor :allow_load_balancing
26122
+
26123
+ # Specifies whether multi-nic in the same network is allowed.
26124
+ # Corresponds to the JSON property `allowMultiNicInSameNetwork`
26125
+ # @return [String]
26126
+ attr_accessor :allow_multi_nic_in_same_network
26127
+
26128
+ # Specifies whether Packet Mirroring 1.0 is supported.
26129
+ # Corresponds to the JSON property `allowPacketMirroring`
26130
+ # @return [String]
26131
+ attr_accessor :allow_packet_mirroring
26132
+
26133
+ # Specifies whether private Google access is allowed.
26134
+ # Corresponds to the JSON property `allowPrivateGoogleAccess`
26135
+ # @return [String]
26136
+ attr_accessor :allow_private_google_access
26137
+
26138
+ # Specifies whether PSC creation is allowed.
26139
+ # Corresponds to the JSON property `allowPsc`
26140
+ # @return [String]
26141
+ attr_accessor :allow_psc
26142
+
26143
+ # Specifies whether unicast within the same network is allowed.
26144
+ # Corresponds to the JSON property `allowSameNetworkUnicast`
26145
+ # @return [String]
26146
+ attr_accessor :allow_same_network_unicast
26147
+
26148
+ # Specifies whether static route creation is allowed.
26149
+ # Corresponds to the JSON property `allowStaticRoutes`
26150
+ # @return [String]
26151
+ attr_accessor :allow_static_routes
26152
+
26153
+ # Specifies whether sub interfaces are allowed.
26154
+ # Corresponds to the JSON property `allowSubInterfaces`
26155
+ # @return [String]
26156
+ attr_accessor :allow_sub_interfaces
26157
+
26158
+ # Specifies whether VPC peering is allowed.
26159
+ # Corresponds to the JSON property `allowVpcPeering`
26160
+ # @return [String]
26161
+ attr_accessor :allow_vpc_peering
26162
+
26163
+ # Specifies whether VPN creation is allowed.
26164
+ # Corresponds to the JSON property `allowVpn`
26165
+ # @return [String]
26166
+ attr_accessor :allow_vpn
26167
+
26168
+ # If set, limits the interface types that the network supports. If empty, all
26169
+ # interface types are supported.
26170
+ # Corresponds to the JSON property `interfaceTypes`
26171
+ # @return [Array<String>]
26172
+ attr_accessor :interface_types
26173
+
26174
+ # Specifies which subnetwork purposes are supported.
26175
+ # Corresponds to the JSON property `subnetPurposes`
26176
+ # @return [Array<String>]
26177
+ attr_accessor :subnet_purposes
26178
+
26179
+ # Specifies which subnetwork stack types are supported.
26180
+ # Corresponds to the JSON property `subnetStackTypes`
26181
+ # @return [Array<String>]
26182
+ attr_accessor :subnet_stack_types
26183
+
26184
+ # Specifies which type of unicast is supported.
26185
+ # Corresponds to the JSON property `unicast`
26186
+ # @return [String]
26187
+ attr_accessor :unicast
26188
+
26189
+ def initialize(**args)
26190
+ update!(**args)
26191
+ end
26192
+
26193
+ # Update properties of this object
26194
+ def update!(**args)
26195
+ @address_purposes = args[:address_purposes] if args.key?(:address_purposes)
26196
+ @allow_alias_ip_ranges = args[:allow_alias_ip_ranges] if args.key?(:allow_alias_ip_ranges)
26197
+ @allow_auto_mode_subnet = args[:allow_auto_mode_subnet] if args.key?(:allow_auto_mode_subnet)
26198
+ @allow_class_d_firewalls = args[:allow_class_d_firewalls] if args.key?(:allow_class_d_firewalls)
26199
+ @allow_cloud_nat = args[:allow_cloud_nat] if args.key?(:allow_cloud_nat)
26200
+ @allow_cloud_router = args[:allow_cloud_router] if args.key?(:allow_cloud_router)
26201
+ @allow_external_ip_access = args[:allow_external_ip_access] if args.key?(:allow_external_ip_access)
26202
+ @allow_interconnect = args[:allow_interconnect] if args.key?(:allow_interconnect)
26203
+ @allow_load_balancing = args[:allow_load_balancing] if args.key?(:allow_load_balancing)
26204
+ @allow_multi_nic_in_same_network = args[:allow_multi_nic_in_same_network] if args.key?(:allow_multi_nic_in_same_network)
26205
+ @allow_packet_mirroring = args[:allow_packet_mirroring] if args.key?(:allow_packet_mirroring)
26206
+ @allow_private_google_access = args[:allow_private_google_access] if args.key?(:allow_private_google_access)
26207
+ @allow_psc = args[:allow_psc] if args.key?(:allow_psc)
26208
+ @allow_same_network_unicast = args[:allow_same_network_unicast] if args.key?(:allow_same_network_unicast)
26209
+ @allow_static_routes = args[:allow_static_routes] if args.key?(:allow_static_routes)
26210
+ @allow_sub_interfaces = args[:allow_sub_interfaces] if args.key?(:allow_sub_interfaces)
26211
+ @allow_vpc_peering = args[:allow_vpc_peering] if args.key?(:allow_vpc_peering)
26212
+ @allow_vpn = args[:allow_vpn] if args.key?(:allow_vpn)
26213
+ @interface_types = args[:interface_types] if args.key?(:interface_types)
26214
+ @subnet_purposes = args[:subnet_purposes] if args.key?(:subnet_purposes)
26215
+ @subnet_stack_types = args[:subnet_stack_types] if args.key?(:subnet_stack_types)
26216
+ @unicast = args[:unicast] if args.key?(:unicast)
26217
+ end
26218
+ end
26219
+
26220
+ # Contains a list of network profiles.
26221
+ class NetworkProfilesListResponse
26222
+ include Google::Apis::Core::Hashable
26223
+
26224
+ #
26225
+ # Corresponds to the JSON property `etag`
26226
+ # @return [String]
26227
+ attr_accessor :etag
26228
+
26229
+ # [Output Only] Unique identifier for the resource; defined by the server.
26230
+ # Corresponds to the JSON property `id`
26231
+ # @return [String]
26232
+ attr_accessor :id
26233
+
26234
+ # A list of NetworkProfile resources.
26235
+ # Corresponds to the JSON property `items`
26236
+ # @return [Array<Google::Apis::ComputeV1::NetworkProfile>]
26237
+ attr_accessor :items
26238
+
26239
+ # [Output Only] Type of resource. Always compute#networkProfileList for network
26240
+ # profiles.
26241
+ # Corresponds to the JSON property `kind`
26242
+ # @return [String]
26243
+ attr_accessor :kind
26244
+
26245
+ # [Output Only] This token allows you to get the next page of results for list
26246
+ # requests. If the number of results is larger than maxResults, use the
26247
+ # nextPageToken as a value for the query parameter pageToken in the next list
26248
+ # request. Subsequent list requests will have their own nextPageToken to
26249
+ # continue paging through the results.
26250
+ # Corresponds to the JSON property `nextPageToken`
26251
+ # @return [String]
26252
+ attr_accessor :next_page_token
26253
+
26254
+ # [Output Only] Server-defined URL for this resource.
26255
+ # Corresponds to the JSON property `selfLink`
26256
+ # @return [String]
26257
+ attr_accessor :self_link
26258
+
26259
+ # [Output Only] Unreachable resources. end_interface:
26260
+ # MixerListResponseWithEtagBuilder
26261
+ # Corresponds to the JSON property `unreachables`
26262
+ # @return [Array<String>]
26263
+ attr_accessor :unreachables
26264
+
26265
+ # [Output Only] Informational warning message.
26266
+ # Corresponds to the JSON property `warning`
26267
+ # @return [Google::Apis::ComputeV1::NetworkProfilesListResponse::Warning]
26268
+ attr_accessor :warning
26269
+
26270
+ def initialize(**args)
26271
+ update!(**args)
26272
+ end
26273
+
26274
+ # Update properties of this object
26275
+ def update!(**args)
26276
+ @etag = args[:etag] if args.key?(:etag)
26277
+ @id = args[:id] if args.key?(:id)
26278
+ @items = args[:items] if args.key?(:items)
26279
+ @kind = args[:kind] if args.key?(:kind)
26280
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
26281
+ @self_link = args[:self_link] if args.key?(:self_link)
26282
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
26283
+ @warning = args[:warning] if args.key?(:warning)
26284
+ end
26285
+
26286
+ # [Output Only] Informational warning message.
26287
+ class Warning
26288
+ include Google::Apis::Core::Hashable
26289
+
26290
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
26291
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
26292
+ # Corresponds to the JSON property `code`
26293
+ # @return [String]
26294
+ attr_accessor :code
26295
+
26296
+ # [Output Only] Metadata about this warning in key: value format. For example: "
26297
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
26298
+ # Corresponds to the JSON property `data`
26299
+ # @return [Array<Google::Apis::ComputeV1::NetworkProfilesListResponse::Warning::Datum>]
26300
+ attr_accessor :data
26301
+
26302
+ # [Output Only] A human-readable description of the warning code.
26303
+ # Corresponds to the JSON property `message`
26304
+ # @return [String]
26305
+ attr_accessor :message
26306
+
26307
+ def initialize(**args)
26308
+ update!(**args)
26309
+ end
26310
+
26311
+ # Update properties of this object
26312
+ def update!(**args)
26313
+ @code = args[:code] if args.key?(:code)
26314
+ @data = args[:data] if args.key?(:data)
26315
+ @message = args[:message] if args.key?(:message)
26316
+ end
26317
+
26318
+ #
26319
+ class Datum
26320
+ include Google::Apis::Core::Hashable
26321
+
26322
+ # [Output Only] A key that provides more detail on the warning being returned.
26323
+ # For example, for warnings where there are no results in a list request for a
26324
+ # particular zone, this key might be scope and the key value might be the zone
26325
+ # name. Other examples might be a key indicating a deprecated resource and a
26326
+ # suggested replacement, or a warning about invalid network settings (for
26327
+ # example, if an instance attempts to perform IP forwarding but is not enabled
26328
+ # for IP forwarding).
26329
+ # Corresponds to the JSON property `key`
26330
+ # @return [String]
26331
+ attr_accessor :key
26332
+
26333
+ # [Output Only] A warning data value corresponding to the key.
26334
+ # Corresponds to the JSON property `value`
26335
+ # @return [String]
26336
+ attr_accessor :value
26337
+
26338
+ def initialize(**args)
26339
+ update!(**args)
26340
+ end
26341
+
26342
+ # Update properties of this object
26343
+ def update!(**args)
26344
+ @key = args[:key] if args.key?(:key)
26345
+ @value = args[:value] if args.key?(:value)
26346
+ end
26347
+ end
26348
+ end
26349
+ end
26350
+
25599
26351
  # A routing configuration attached to a network resource. The message includes
25600
26352
  # the list of routers associated with the network, and a flag indicating the
25601
26353
  # type of routing behavior to enforce network-wide.
25602
26354
  class NetworkRoutingConfig
25603
26355
  include Google::Apis::Core::Hashable
25604
26356
 
26357
+ # Enable comparison of Multi-Exit Discriminators (MED) across routes with
26358
+ # different neighbor ASNs when using the STANDARD BGP best path selection
26359
+ # algorithm.
26360
+ # Corresponds to the JSON property `bgpAlwaysCompareMed`
26361
+ # @return [Boolean]
26362
+ attr_accessor :bgp_always_compare_med
26363
+ alias_method :bgp_always_compare_med?, :bgp_always_compare_med
26364
+
26365
+ # The BGP best path selection algorithm to be employed within this network for
26366
+ # dynamic routes learned by Cloud Routers. Can be LEGACY (default) or STANDARD.
26367
+ # Corresponds to the JSON property `bgpBestPathSelectionMode`
26368
+ # @return [String]
26369
+ attr_accessor :bgp_best_path_selection_mode
26370
+
26371
+ # Allows to define a preferred approach for handling inter-region cost in the
26372
+ # selection process when using the STANDARD BGP best path selection algorithm.
26373
+ # Can be DEFAULT or ADD_COST_TO_MED.
26374
+ # Corresponds to the JSON property `bgpInterRegionCost`
26375
+ # @return [String]
26376
+ attr_accessor :bgp_inter_region_cost
26377
+
26378
+ # [Output Only] Effective value of the bgp_always_compare_med field.
26379
+ # Corresponds to the JSON property `effectiveBgpAlwaysCompareMed`
26380
+ # @return [Boolean]
26381
+ attr_accessor :effective_bgp_always_compare_med
26382
+ alias_method :effective_bgp_always_compare_med?, :effective_bgp_always_compare_med
26383
+
26384
+ # [Output Only] Effective value of the bgp_inter_region_cost field.
26385
+ # Corresponds to the JSON property `effectiveBgpInterRegionCost`
26386
+ # @return [String]
26387
+ attr_accessor :effective_bgp_inter_region_cost
26388
+
25605
26389
  # The network-wide routing mode to use. If set to REGIONAL, this network's Cloud
25606
26390
  # Routers will only advertise routes with subnets of this network in the same
25607
26391
  # region as the router. If set to GLOBAL, this network's Cloud Routers will
@@ -25616,6 +26400,11 @@ module Google
25616
26400
 
25617
26401
  # Update properties of this object
25618
26402
  def update!(**args)
26403
+ @bgp_always_compare_med = args[:bgp_always_compare_med] if args.key?(:bgp_always_compare_med)
26404
+ @bgp_best_path_selection_mode = args[:bgp_best_path_selection_mode] if args.key?(:bgp_best_path_selection_mode)
26405
+ @bgp_inter_region_cost = args[:bgp_inter_region_cost] if args.key?(:bgp_inter_region_cost)
26406
+ @effective_bgp_always_compare_med = args[:effective_bgp_always_compare_med] if args.key?(:effective_bgp_always_compare_med)
26407
+ @effective_bgp_inter_region_cost = args[:effective_bgp_inter_region_cost] if args.key?(:effective_bgp_inter_region_cost)
25619
26408
  @routing_mode = args[:routing_mode] if args.key?(:routing_mode)
25620
26409
  end
25621
26410
  end
@@ -29315,11 +30104,8 @@ module Google
29315
30104
  # defaultRouteAction takes effect when none of the pathRules or routeRules match.
29316
30105
  # The load balancer performs advanced routing actions, such as URL rewrites and
29317
30106
  # header transformations, before forwarding the request to the selected backend.
29318
- # If defaultRouteAction specifies any weightedBackendServices, defaultService
29319
- # must not be set. Conversely if defaultService is set, defaultRouteAction
29320
- # cannot contain any weightedBackendServices. If defaultRouteAction is specified,
29321
- # don't set defaultUrlRedirect. If defaultRouteAction.weightedBackendServices
29322
- # is specified, don't set defaultService. URL maps for classic Application Load
30107
+ # Only one of defaultUrlRedirect, defaultService or defaultRouteAction.
30108
+ # weightedBackendService can be set. URL maps for classic Application Load
29323
30109
  # Balancers only support the urlRewrite action within a path matcher's
29324
30110
  # defaultRouteAction.
29325
30111
  # Corresponds to the JSON property `defaultRouteAction`
@@ -29333,14 +30119,11 @@ module Google
29333
30119
  # backendService - compute/v1/projects/project/global/backendServices/
29334
30120
  # backendService - global/backendServices/backendService If defaultRouteAction
29335
30121
  # is also specified, advanced routing actions, such as URL rewrites, take effect
29336
- # before sending the request to the backend. However, if defaultService is
29337
- # specified, defaultRouteAction cannot contain any weightedBackendServices.
29338
- # Conversely, if defaultRouteAction specifies any weightedBackendServices,
29339
- # defaultService must not be specified. If defaultService is specified, then set
29340
- # either defaultUrlRedirect or defaultRouteAction.weightedBackendService. Don't
29341
- # set both. Authorization requires one or more of the following Google IAM
29342
- # permissions on the specified resource default_service: - compute.
29343
- # backendBuckets.use - compute.backendServices.use
30122
+ # before sending the request to the backend. Only one of defaultUrlRedirect,
30123
+ # defaultService or defaultRouteAction.weightedBackendService can be set.
30124
+ # Authorization requires one or more of the following Google IAM permissions on
30125
+ # the specified resource default_service: - compute.backendBuckets.use - compute.
30126
+ # backendServices.use
29344
30127
  # Corresponds to the JSON property `defaultService`
29345
30128
  # @return [String]
29346
30129
  attr_accessor :default_service
@@ -29424,11 +30207,10 @@ module Google
29424
30207
 
29425
30208
  # In response to a matching path, the load balancer performs advanced routing
29426
30209
  # actions, such as URL rewrites and header transformations, before forwarding
29427
- # the request to the selected backend. If routeAction specifies any
29428
- # weightedBackendServices, service must not be set. Conversely if service is set,
29429
- # routeAction cannot contain any weightedBackendServices. Only one of
29430
- # routeAction or urlRedirect must be set. URL maps for classic Application Load
29431
- # Balancers only support the urlRewrite action within a path rule's routeAction.
30210
+ # the request to the selected backend. Only one of urlRedirect, service or
30211
+ # routeAction.weightedBackendService can be set. URL maps for classic
30212
+ # Application Load Balancers only support the urlRewrite action within a path
30213
+ # rule's routeAction.
29432
30214
  # Corresponds to the JSON property `routeAction`
29433
30215
  # @return [Google::Apis::ComputeV1::HttpRouteAction]
29434
30216
  attr_accessor :route_action
@@ -29436,10 +30218,8 @@ module Google
29436
30218
  # The full or partial URL of the backend service resource to which traffic is
29437
30219
  # directed if this rule is matched. If routeAction is also specified, advanced
29438
30220
  # routing actions, such as URL rewrites, take effect before sending the request
29439
- # to the backend. However, if service is specified, routeAction cannot contain
29440
- # any weightedBackendServices. Conversely, if routeAction specifies any
29441
- # weightedBackendServices, service must not be specified. Only one of
29442
- # urlRedirect, service or routeAction.weightedBackendService must be set.
30221
+ # to the backend. Only one of urlRedirect, service or routeAction.
30222
+ # weightedBackendService can be set.
29443
30223
  # Corresponds to the JSON property `service`
29444
30224
  # @return [String]
29445
30225
  attr_accessor :service
@@ -29480,7 +30260,7 @@ module Google
29480
30260
  # Serves as a merge key during UpdatePerInstanceConfigs operations, that is, if
29481
30261
  # a per-instance configuration with the same name exists then it will be updated,
29482
30262
  # otherwise a new one will be created for the VM instance with the same name.
29483
- # An attempt to create a per-instance configconfiguration for a VM instance that
30263
+ # An attempt to create a per-instance configuration for a VM instance that
29484
30264
  # either doesn't exist or is not part of the group will result in an error.
29485
30265
  # Corresponds to the JSON property `name`
29486
30266
  # @return [String]
@@ -29795,7 +30575,7 @@ module Google
29795
30575
  # @return [String]
29796
30576
  attr_accessor :description
29797
30577
 
29798
- # Restricted features enabled for use on this project.
30578
+ # An optional list of restricted features enabled for use on this project.
29799
30579
  # Corresponds to the JSON property `enabledFeatures`
29800
30580
  # @return [Array<String>]
29801
30581
  attr_accessor :enabled_features
@@ -32068,6 +32848,26 @@ module Google
32068
32848
  end
32069
32849
  end
32070
32850
 
32851
+ #
32852
+ class RegionInstanceGroupManagersResumeInstancesRequest
32853
+ include Google::Apis::Core::Hashable
32854
+
32855
+ # The URLs of one or more instances to resume. This can be a full URL or a
32856
+ # partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].
32857
+ # Corresponds to the JSON property `instances`
32858
+ # @return [Array<String>]
32859
+ attr_accessor :instances
32860
+
32861
+ def initialize(**args)
32862
+ update!(**args)
32863
+ end
32864
+
32865
+ # Update properties of this object
32866
+ def update!(**args)
32867
+ @instances = args[:instances] if args.key?(:instances)
32868
+ end
32869
+ end
32870
+
32071
32871
  #
32072
32872
  class RegionInstanceGroupManagersSetTargetPoolsRequest
32073
32873
  include Google::Apis::Core::Hashable
@@ -32118,6 +32918,82 @@ module Google
32118
32918
  end
32119
32919
  end
32120
32920
 
32921
+ #
32922
+ class RegionInstanceGroupManagersStartInstancesRequest
32923
+ include Google::Apis::Core::Hashable
32924
+
32925
+ # The URLs of one or more instances to start. This can be a full URL or a
32926
+ # partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].
32927
+ # Corresponds to the JSON property `instances`
32928
+ # @return [Array<String>]
32929
+ attr_accessor :instances
32930
+
32931
+ def initialize(**args)
32932
+ update!(**args)
32933
+ end
32934
+
32935
+ # Update properties of this object
32936
+ def update!(**args)
32937
+ @instances = args[:instances] if args.key?(:instances)
32938
+ end
32939
+ end
32940
+
32941
+ #
32942
+ class RegionInstanceGroupManagersStopInstancesRequest
32943
+ include Google::Apis::Core::Hashable
32944
+
32945
+ # If this flag is set to true, the Instance Group Manager will proceed to stop
32946
+ # the instances, skipping initialization on them.
32947
+ # Corresponds to the JSON property `forceStop`
32948
+ # @return [Boolean]
32949
+ attr_accessor :force_stop
32950
+ alias_method :force_stop?, :force_stop
32951
+
32952
+ # The URLs of one or more instances to stop. This can be a full URL or a partial
32953
+ # URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].
32954
+ # Corresponds to the JSON property `instances`
32955
+ # @return [Array<String>]
32956
+ attr_accessor :instances
32957
+
32958
+ def initialize(**args)
32959
+ update!(**args)
32960
+ end
32961
+
32962
+ # Update properties of this object
32963
+ def update!(**args)
32964
+ @force_stop = args[:force_stop] if args.key?(:force_stop)
32965
+ @instances = args[:instances] if args.key?(:instances)
32966
+ end
32967
+ end
32968
+
32969
+ #
32970
+ class RegionInstanceGroupManagersSuspendInstancesRequest
32971
+ include Google::Apis::Core::Hashable
32972
+
32973
+ # If this flag is set to true, the Instance Group Manager will proceed to
32974
+ # suspend the instances, skipping initialization on them.
32975
+ # Corresponds to the JSON property `forceSuspend`
32976
+ # @return [Boolean]
32977
+ attr_accessor :force_suspend
32978
+ alias_method :force_suspend?, :force_suspend
32979
+
32980
+ # The URLs of one or more instances to suspend. This can be a full URL or a
32981
+ # partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].
32982
+ # Corresponds to the JSON property `instances`
32983
+ # @return [Array<String>]
32984
+ attr_accessor :instances
32985
+
32986
+ def initialize(**args)
32987
+ update!(**args)
32988
+ end
32989
+
32990
+ # Update properties of this object
32991
+ def update!(**args)
32992
+ @force_suspend = args[:force_suspend] if args.key?(:force_suspend)
32993
+ @instances = args[:instances] if args.key?(:instances)
32994
+ end
32995
+ end
32996
+
32121
32997
  #
32122
32998
  class RegionInstanceGroupsListInstances
32123
32999
  include Google::Apis::Core::Hashable
@@ -34142,7 +35018,9 @@ module Google
34142
35018
  class ResourceStatus
34143
35019
  include Google::Apis::Core::Hashable
34144
35020
 
34145
- # [Output Only] An opaque ID of the host on which the VM is running.
35021
+ # [Output Only] The precise location of your instance within the zone's data
35022
+ # center, including the block, sub-block, and host. The field is formatted as
35023
+ # follows: blockId/subBlockId/hostId.
34146
35024
  # Corresponds to the JSON property `physicalHost`
34147
35025
  # @return [String]
34148
35026
  attr_accessor :physical_host
@@ -34280,6 +35158,13 @@ module Google
34280
35158
  # @return [String]
34281
35159
  attr_accessor :next_hop_instance
34282
35160
 
35161
+ # [Output only] Internal fixed region-to-region cost that Google Cloud
35162
+ # calculates based on factors such as network performance, distance, and
35163
+ # available bandwidth between regions.
35164
+ # Corresponds to the JSON property `nextHopInterRegionCost`
35165
+ # @return [Fixnum]
35166
+ attr_accessor :next_hop_inter_region_cost
35167
+
34283
35168
  # The network IP address of an instance that should handle matching packets.
34284
35169
  # Both IPv6 address and IPv4 addresses are supported. Must specify an IPv4
34285
35170
  # address in dot-decimal notation (e.g. 192.0.2.99) or an IPv6 address in RFC
@@ -34290,11 +35175,23 @@ module Google
34290
35175
  # @return [String]
34291
35176
  attr_accessor :next_hop_ip
34292
35177
 
35178
+ # [Output Only] Multi-Exit Discriminator, a BGP route metric that indicates the
35179
+ # desirability of a particular route in a network.
35180
+ # Corresponds to the JSON property `nextHopMed`
35181
+ # @return [Fixnum]
35182
+ attr_accessor :next_hop_med
35183
+
34293
35184
  # The URL of the local network if it should handle matching packets.
34294
35185
  # Corresponds to the JSON property `nextHopNetwork`
34295
35186
  # @return [String]
34296
35187
  attr_accessor :next_hop_network
34297
35188
 
35189
+ # [Output Only] Indicates the origin of the route. Can be IGP (Interior Gateway
35190
+ # Protocol), EGP (Exterior Gateway Protocol), or INCOMPLETE.
35191
+ # Corresponds to the JSON property `nextHopOrigin`
35192
+ # @return [String]
35193
+ attr_accessor :next_hop_origin
35194
+
34298
35195
  # [Output Only] The network peering name that should handle matching packets,
34299
35196
  # which should conform to RFC1035.
34300
35197
  # Corresponds to the JSON property `nextHopPeering`
@@ -34363,8 +35260,11 @@ module Google
34363
35260
  @next_hop_hub = args[:next_hop_hub] if args.key?(:next_hop_hub)
34364
35261
  @next_hop_ilb = args[:next_hop_ilb] if args.key?(:next_hop_ilb)
34365
35262
  @next_hop_instance = args[:next_hop_instance] if args.key?(:next_hop_instance)
35263
+ @next_hop_inter_region_cost = args[:next_hop_inter_region_cost] if args.key?(:next_hop_inter_region_cost)
34366
35264
  @next_hop_ip = args[:next_hop_ip] if args.key?(:next_hop_ip)
35265
+ @next_hop_med = args[:next_hop_med] if args.key?(:next_hop_med)
34367
35266
  @next_hop_network = args[:next_hop_network] if args.key?(:next_hop_network)
35267
+ @next_hop_origin = args[:next_hop_origin] if args.key?(:next_hop_origin)
34368
35268
  @next_hop_peering = args[:next_hop_peering] if args.key?(:next_hop_peering)
34369
35269
  @next_hop_vpn_tunnel = args[:next_hop_vpn_tunnel] if args.key?(:next_hop_vpn_tunnel)
34370
35270
  @priority = args[:priority] if args.key?(:priority)
@@ -38041,7 +38941,9 @@ module Google
38041
38941
  # originating client, which is resolved based on "userIpRequestHeaders"
38042
38942
  # configured with the security policy. If there is no "userIpRequestHeaders"
38043
38943
  # configuration or an IP address cannot be resolved from it, the key type
38044
- # defaults to IP.
38944
+ # defaults to IP. - TLS_JA4_FINGERPRINT: JA4 TLS/SSL fingerprint if the client
38945
+ # connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type
38946
+ # defaults to ALL.
38045
38947
  # Corresponds to the JSON property `enforceOnKey`
38046
38948
  # @return [String]
38047
38949
  attr_accessor :enforce_on_key
@@ -38136,7 +39038,9 @@ module Google
38136
39038
  # originating client, which is resolved based on "userIpRequestHeaders"
38137
39039
  # configured with the security policy. If there is no "userIpRequestHeaders"
38138
39040
  # configuration or an IP address cannot be resolved from it, the key type
38139
- # defaults to IP.
39041
+ # defaults to IP. - TLS_JA4_FINGERPRINT: JA4 TLS/SSL fingerprint if the client
39042
+ # connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type
39043
+ # defaults to ALL.
38140
39044
  # Corresponds to the JSON property `enforceOnKeyType`
38141
39045
  # @return [String]
38142
39046
  attr_accessor :enforce_on_key_type
@@ -42470,15 +43374,17 @@ module Google
42470
43374
  attr_accessor :private_ipv6_google_access
42471
43375
 
42472
43376
  # The purpose of the resource. This field can be either PRIVATE,
42473
- # GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PRIVATE_SERVICE_CONNECT, or
42474
- # PRIVATE is the default purpose for user-created subnets or subnets that are
42475
- # automatically created in auto mode networks. Subnets with purpose set to
42476
- # GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are user-created subnetworks
42477
- # that are reserved for Envoy-based load balancers. A subnet with purpose set to
42478
- # PRIVATE_SERVICE_CONNECT is used to publish services using Private Service
42479
- # Connect. If unspecified, the subnet purpose defaults to PRIVATE. The
42480
- # enableFlowLogs field isn't supported if the subnet purpose field is set to
42481
- # GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY.
43377
+ # GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PEER_MIGRATION or
43378
+ # PRIVATE_SERVICE_CONNECT. PRIVATE is the default purpose for user-created
43379
+ # subnets or subnets that are automatically created in auto mode networks.
43380
+ # Subnets with purpose set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are
43381
+ # user-created subnetworks that are reserved for Envoy-based load balancers. A
43382
+ # subnet with purpose set to PRIVATE_SERVICE_CONNECT is used to publish services
43383
+ # using Private Service Connect. A subnet with purpose set to PEER_MIGRATION is
43384
+ # used for subnet migration from one peered VPC to another. If unspecified, the
43385
+ # subnet purpose defaults to PRIVATE. The enableFlowLogs field isn't supported
43386
+ # if the subnet purpose field is set to GLOBAL_MANAGED_PROXY or
43387
+ # REGIONAL_MANAGED_PROXY.
42482
43388
  # Corresponds to the JSON property `purpose`
42483
43389
  # @return [String]
42484
43390
  attr_accessor :purpose
@@ -43925,14 +44831,14 @@ module Google
43925
44831
  # Represents a Target HTTPS Proxy resource. Google Compute Engine has two Target
43926
44832
  # HTTPS Proxy resources: * [Global](/compute/docs/reference/rest/v1/
43927
44833
  # targetHttpsProxies) * [Regional](/compute/docs/reference/rest/v1/
43928
- # regionTargetHttpsProxies) A target HTTPS proxy is a component of GCP HTTPS
43929
- # load balancers. * targetHttpProxies are used by global external Application
43930
- # Load Balancers, classic Application Load Balancers, cross-region internal
43931
- # Application Load Balancers, and Traffic Director. * regionTargetHttpProxies
43932
- # are used by regional internal Application Load Balancers and regional external
43933
- # Application Load Balancers. Forwarding rules reference a target HTTPS proxy,
43934
- # and the target proxy then references a URL map. For more information, read
43935
- # Using Target Proxies and Forwarding rule concepts.
44834
+ # regionTargetHttpsProxies) A target HTTPS proxy is a component of Google Cloud
44835
+ # HTTPS load balancers. * targetHttpProxies are used by global external
44836
+ # Application Load Balancers, classic Application Load Balancers, cross-region
44837
+ # internal Application Load Balancers, and Traffic Director. *
44838
+ # regionTargetHttpProxies are used by regional internal Application Load
44839
+ # Balancers and regional external Application Load Balancers. Forwarding rules
44840
+ # reference a target HTTPS proxy, and the target proxy then references a URL map.
44841
+ # For more information, read Using Target Proxies and Forwarding rule concepts.
43936
44842
  class TargetHttpsProxy
43937
44843
  include Google::Apis::Core::Hashable
43938
44844
 
@@ -44064,14 +44970,15 @@ module Google
44064
44970
  # to INTERNAL_SELF_MANAGED. The URLs should refer to a SSL Certificate resource
44065
44971
  # or Certificate Manager Certificate resource. Mixing Classic Certificates and
44066
44972
  # Certificate Manager Certificates is not allowed. Certificate Manager
44067
- # Certificates must include the certificatemanager API. Certificate Manager
44068
- # Certificates are not supported by Global external Application Load Balancer or
44069
- # Classic Application Load Balancer, use certificate_map instead. Currently, you
44070
- # may specify up to 15 Classic SSL Certificates. Certificate Manager
44071
- # Certificates accepted formats are: - //certificatemanager.googleapis.com/
44072
- # projects/`project`/locations/` location`/certificates/`resourceName`. - https:/
44073
- # /certificatemanager.googleapis.com/v1alpha1/projects/`project `/locations/`
44074
- # location`/certificates/`resourceName`.
44973
+ # Certificates must include the certificatemanager API namespace. Using
44974
+ # Certificate Manager Certificates in this field is not supported by Global
44975
+ # external Application Load Balancer or Classic Application Load Balancer, use
44976
+ # certificate_map instead. Currently, you may specify up to 15 Classic SSL
44977
+ # Certificates or up to 100 Certificate Manager Certificates. Certificate
44978
+ # Manager Certificates accepted formats are: - //certificatemanager.googleapis.
44979
+ # com/projects/`project`/locations/` location`/certificates/`resourceName`. -
44980
+ # https://certificatemanager.googleapis.com/v1alpha1/projects/`project `/
44981
+ # locations/`location`/certificates/`resourceName`.
44075
44982
  # Corresponds to the JSON property `sslCertificates`
44076
44983
  # @return [Array<String>]
44077
44984
  attr_accessor :ssl_certificates
@@ -46839,11 +47746,9 @@ module Google
46839
47746
 
46840
47747
  # defaultRouteAction takes effect when none of the hostRules match. The load
46841
47748
  # balancer performs advanced routing actions, such as URL rewrites and header
46842
- # transformations, before forwarding the request to the selected backend. If
46843
- # defaultRouteAction specifies any weightedBackendServices, defaultService must
46844
- # not be set. Conversely if defaultService is set, defaultRouteAction cannot
46845
- # contain any weightedBackendServices. Only one of defaultRouteAction or
46846
- # defaultUrlRedirect must be set. URL maps for classic Application Load
47749
+ # transformations, before forwarding the request to the selected backend. Only
47750
+ # one of defaultUrlRedirect, defaultService or defaultRouteAction.
47751
+ # weightedBackendService can be set. URL maps for classic Application Load
46847
47752
  # Balancers only support the urlRewrite action within defaultRouteAction.
46848
47753
  # defaultRouteAction has no effect when the URL map is bound to a target gRPC
46849
47754
  # proxy that has the validateForProxyless field set to true.
@@ -46854,14 +47759,10 @@ module Google
46854
47759
  # The full or partial URL of the defaultService resource to which traffic is
46855
47760
  # directed if none of the hostRules match. If defaultRouteAction is also
46856
47761
  # specified, advanced routing actions, such as URL rewrites, take effect before
46857
- # sending the request to the backend. However, if defaultService is specified,
46858
- # defaultRouteAction cannot contain any defaultRouteAction.
46859
- # weightedBackendServices. Conversely, if defaultRouteAction specifies any
46860
- # defaultRouteAction.weightedBackendServices, defaultService must not be
46861
- # specified. If defaultService is specified, then set either defaultUrlRedirect ,
46862
- # or defaultRouteAction.weightedBackendService Don't set both. defaultService
46863
- # has no effect when the URL map is bound to a target gRPC proxy that has the
46864
- # validateForProxyless field set to true.
47762
+ # sending the request to the backend. Only one of defaultUrlRedirect,
47763
+ # defaultService or defaultRouteAction.weightedBackendService can be set.
47764
+ # defaultService has no effect when the URL map is bound to a target gRPC proxy
47765
+ # that has the validateForProxyless field set to true.
46865
47766
  # Corresponds to the JSON property `defaultService`
46866
47767
  # @return [String]
46867
47768
  attr_accessor :default_service
@@ -47609,15 +48510,17 @@ module Google
47609
48510
  attr_accessor :network
47610
48511
 
47611
48512
  # The purpose of the resource. This field can be either PRIVATE,
47612
- # GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PRIVATE_SERVICE_CONNECT, or
47613
- # PRIVATE is the default purpose for user-created subnets or subnets that are
47614
- # automatically created in auto mode networks. Subnets with purpose set to
47615
- # GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are user-created subnetworks
47616
- # that are reserved for Envoy-based load balancers. A subnet with purpose set to
47617
- # PRIVATE_SERVICE_CONNECT is used to publish services using Private Service
47618
- # Connect. If unspecified, the subnet purpose defaults to PRIVATE. The
47619
- # enableFlowLogs field isn't supported if the subnet purpose field is set to
47620
- # GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY.
48513
+ # GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PEER_MIGRATION or
48514
+ # PRIVATE_SERVICE_CONNECT. PRIVATE is the default purpose for user-created
48515
+ # subnets or subnets that are automatically created in auto mode networks.
48516
+ # Subnets with purpose set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are
48517
+ # user-created subnetworks that are reserved for Envoy-based load balancers. A
48518
+ # subnet with purpose set to PRIVATE_SERVICE_CONNECT is used to publish services
48519
+ # using Private Service Connect. A subnet with purpose set to PEER_MIGRATION is
48520
+ # used for subnet migration from one peered VPC to another. If unspecified, the
48521
+ # subnet purpose defaults to PRIVATE. The enableFlowLogs field isn't supported
48522
+ # if the subnet purpose field is set to GLOBAL_MANAGED_PROXY or
48523
+ # REGIONAL_MANAGED_PROXY.
47621
48524
  # Corresponds to the JSON property `purpose`
47622
48525
  # @return [String]
47623
48526
  attr_accessor :purpose