google-apis-compute_v1 0.15.0 → 0.19.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +17 -0
- data/OVERVIEW.md +2 -2
- data/lib/google/apis/compute_v1/classes.rb +834 -61
- data/lib/google/apis/compute_v1/gem_version.rb +2 -2
- data/lib/google/apis/compute_v1/representations.rb +234 -0
- data/lib/google/apis/compute_v1/service.rb +65 -17
- data/lib/google/apis/compute_v1.rb +3 -3
- metadata +5 -5
@@ -510,13 +510,17 @@ module Google
|
|
510
510
|
attr_accessor :network_tier
|
511
511
|
|
512
512
|
# The DNS domain name for the public PTR record. You can set this field only if
|
513
|
-
# the `setPublicPtr` field is enabled.
|
513
|
+
# the `setPublicPtr` field is enabled in accessConfig. If this field is
|
514
|
+
# unspecified in ipv6AccessConfig, a default PTR record will be createc for
|
515
|
+
# first IP in associated external IPv6 range.
|
514
516
|
# Corresponds to the JSON property `publicPtrDomainName`
|
515
517
|
# @return [String]
|
516
518
|
attr_accessor :public_ptr_domain_name
|
517
519
|
|
518
520
|
# Specifies whether a public DNS 'PTR' record should be created to map the
|
519
|
-
# external IP address of the instance to a DNS domain name.
|
521
|
+
# external IP address of the instance to a DNS domain name. This field is not
|
522
|
+
# used in ipv6AccessConfig. A default PTR record will be created if the VM has
|
523
|
+
# external IPv6 range associated.
|
520
524
|
# Corresponds to the JSON property `setPublicPtr`
|
521
525
|
# @return [Boolean]
|
522
526
|
attr_accessor :set_public_ptr
|
@@ -594,8 +598,8 @@ module Google
|
|
594
598
|
|
595
599
|
# Name of the resource. Provided by the client when the resource is created. The
|
596
600
|
# name must be 1-63 characters long, and comply with RFC1035. Specifically, the
|
597
|
-
# name must be 1-63 characters long and match the regular expression [a-z]([-a-
|
598
|
-
# z0-9]*[a-z0-9])
|
601
|
+
# name must be 1-63 characters long and match the regular expression `[a-z]([-a-
|
602
|
+
# z0-9]*[a-z0-9])?`. The first character must be a lowercase letter, and all
|
599
603
|
# following characters (except for the last character) must be a dash, lowercase
|
600
604
|
# letter, or digit. The last character must be a lowercase letter or digit.
|
601
605
|
# Corresponds to the JSON property `name`
|
@@ -1170,6 +1174,7 @@ module Google
|
|
1170
1174
|
end
|
1171
1175
|
|
1172
1176
|
# This reservation type allows to pre allocate specific instance configuration.
|
1177
|
+
# Next ID: 5
|
1173
1178
|
class AllocationSpecificSkuReservation
|
1174
1179
|
include Google::Apis::Core::Hashable
|
1175
1180
|
|
@@ -2413,7 +2418,13 @@ module Google
|
|
2413
2418
|
|
2414
2419
|
# Specifies how to determine whether the backend of a load balancer can handle
|
2415
2420
|
# additional traffic or is fully loaded. For usage guidelines, see Connection
|
2416
|
-
# balancing mode.
|
2421
|
+
# balancing mode. Backends must use compatible balancing modes. For more
|
2422
|
+
# information, see Supported balancing modes and target capacity settings and
|
2423
|
+
# Restrictions and guidance for instance groups. Note: Currently, if you use the
|
2424
|
+
# API to configure incompatible balancing modes, the configuration might be
|
2425
|
+
# accepted even though it has no impact and is ignored. Specifically, Backend.
|
2426
|
+
# maxUtilization is ignored when Backend.balancingMode is RATE. In the future,
|
2427
|
+
# this incompatible combination will be rejected.
|
2417
2428
|
# Corresponds to the JSON property `balancingMode`
|
2418
2429
|
# @return [String]
|
2419
2430
|
attr_accessor :balancing_mode
|
@@ -2494,7 +2505,9 @@ module Google
|
|
2494
2505
|
# @return [Float]
|
2495
2506
|
attr_accessor :max_rate_per_instance
|
2496
2507
|
|
2497
|
-
#
|
2508
|
+
# Optional parameter to define a target capacity for the UTILIZATIONbalancing
|
2509
|
+
# mode. The valid range is [0.0, 1.0]. For usage guidelines, see Utilization
|
2510
|
+
# balancing mode.
|
2498
2511
|
# Corresponds to the JSON property `maxUtilization`
|
2499
2512
|
# @return [Float]
|
2500
2513
|
attr_accessor :max_utilization
|
@@ -2637,7 +2650,7 @@ module Google
|
|
2637
2650
|
# specified), or else sets the response max-age directive to the lesser of the
|
2638
2651
|
# client_ttl and default_ttl, and also ensures a "public" cache-control
|
2639
2652
|
# directive is present. If a client TTL is not specified, a default value (1
|
2640
|
-
# hour) will be used. The maximum allowed value is
|
2653
|
+
# hour) will be used. The maximum allowed value is 31,622,400s (1 year).
|
2641
2654
|
# Corresponds to the JSON property `clientTtl`
|
2642
2655
|
# @return [Fixnum]
|
2643
2656
|
attr_accessor :client_ttl
|
@@ -3182,6 +3195,13 @@ module Google
|
|
3182
3195
|
# @return [String]
|
3183
3196
|
attr_accessor :session_affinity
|
3184
3197
|
|
3198
|
+
# Subsetting configuration for this BackendService. Currently this is applicable
|
3199
|
+
# only for Internal TCP/UDP load balancing, Internal HTTP(S) load balancing and
|
3200
|
+
# Traffic Director.
|
3201
|
+
# Corresponds to the JSON property `subsetting`
|
3202
|
+
# @return [Google::Apis::ComputeV1::Subsetting]
|
3203
|
+
attr_accessor :subsetting
|
3204
|
+
|
3185
3205
|
# Not supported when the backend service is referenced by a URL map that is
|
3186
3206
|
# bound to target gRPC proxy that has validateForProxyless field set to true.
|
3187
3207
|
# Instead, use maxStreamDuration.
|
@@ -3227,6 +3247,7 @@ module Google
|
|
3227
3247
|
@security_settings = args[:security_settings] if args.key?(:security_settings)
|
3228
3248
|
@self_link = args[:self_link] if args.key?(:self_link)
|
3229
3249
|
@session_affinity = args[:session_affinity] if args.key?(:session_affinity)
|
3250
|
+
@subsetting = args[:subsetting] if args.key?(:subsetting)
|
3230
3251
|
@timeout_sec = args[:timeout_sec] if args.key?(:timeout_sec)
|
3231
3252
|
end
|
3232
3253
|
end
|
@@ -3395,7 +3416,7 @@ module Google
|
|
3395
3416
|
# specified), or else sets the response max-age directive to the lesser of the
|
3396
3417
|
# client_ttl and default_ttl, and also ensures a "public" cache-control
|
3397
3418
|
# directive is present. If a client TTL is not specified, a default value (1
|
3398
|
-
# hour) will be used. The maximum allowed value is
|
3419
|
+
# hour) will be used. The maximum allowed value is 31,622,400s (1 year).
|
3399
3420
|
# Corresponds to the JSON property `clientTtl`
|
3400
3421
|
# @return [Fixnum]
|
3401
3422
|
attr_accessor :client_ttl
|
@@ -3949,6 +3970,255 @@ module Google
|
|
3949
3970
|
end
|
3950
3971
|
end
|
3951
3972
|
|
3973
|
+
#
|
3974
|
+
class BfdPacket
|
3975
|
+
include Google::Apis::Core::Hashable
|
3976
|
+
|
3977
|
+
# The Authentication Present bit of the BFD packet. This is specified in section
|
3978
|
+
# 4.1 of RFC5880
|
3979
|
+
# Corresponds to the JSON property `authenticationPresent`
|
3980
|
+
# @return [Boolean]
|
3981
|
+
attr_accessor :authentication_present
|
3982
|
+
alias_method :authentication_present?, :authentication_present
|
3983
|
+
|
3984
|
+
# The Control Plane Independent bit of the BFD packet. This is specified in
|
3985
|
+
# section 4.1 of RFC5880
|
3986
|
+
# Corresponds to the JSON property `controlPlaneIndependent`
|
3987
|
+
# @return [Boolean]
|
3988
|
+
attr_accessor :control_plane_independent
|
3989
|
+
alias_method :control_plane_independent?, :control_plane_independent
|
3990
|
+
|
3991
|
+
# The demand bit of the BFD packet. This is specified in section 4.1 of RFC5880
|
3992
|
+
# Corresponds to the JSON property `demand`
|
3993
|
+
# @return [Boolean]
|
3994
|
+
attr_accessor :demand
|
3995
|
+
alias_method :demand?, :demand
|
3996
|
+
|
3997
|
+
# The diagnostic code specifies the local system's reason for the last change in
|
3998
|
+
# session state. This allows remote systems to determine the reason that the
|
3999
|
+
# previous session failed, for example. These diagnostic codes are specified in
|
4000
|
+
# section 4.1 of RFC5880
|
4001
|
+
# Corresponds to the JSON property `diagnostic`
|
4002
|
+
# @return [String]
|
4003
|
+
attr_accessor :diagnostic
|
4004
|
+
|
4005
|
+
# The Final bit of the BFD packet. This is specified in section 4.1 of RFC5880
|
4006
|
+
# Corresponds to the JSON property `final`
|
4007
|
+
# @return [Boolean]
|
4008
|
+
attr_accessor :final
|
4009
|
+
alias_method :final?, :final
|
4010
|
+
|
4011
|
+
# The length of the BFD Control packet in bytes. This is specified in section 4.
|
4012
|
+
# 1 of RFC5880
|
4013
|
+
# Corresponds to the JSON property `length`
|
4014
|
+
# @return [Fixnum]
|
4015
|
+
attr_accessor :length
|
4016
|
+
|
4017
|
+
# The Required Min Echo RX Interval value in the BFD packet. This is specified
|
4018
|
+
# in section 4.1 of RFC5880
|
4019
|
+
# Corresponds to the JSON property `minEchoRxIntervalMs`
|
4020
|
+
# @return [Fixnum]
|
4021
|
+
attr_accessor :min_echo_rx_interval_ms
|
4022
|
+
|
4023
|
+
# The Required Min RX Interval value in the BFD packet. This is specified in
|
4024
|
+
# section 4.1 of RFC5880
|
4025
|
+
# Corresponds to the JSON property `minRxIntervalMs`
|
4026
|
+
# @return [Fixnum]
|
4027
|
+
attr_accessor :min_rx_interval_ms
|
4028
|
+
|
4029
|
+
# The Desired Min TX Interval value in the BFD packet. This is specified in
|
4030
|
+
# section 4.1 of RFC5880
|
4031
|
+
# Corresponds to the JSON property `minTxIntervalMs`
|
4032
|
+
# @return [Fixnum]
|
4033
|
+
attr_accessor :min_tx_interval_ms
|
4034
|
+
|
4035
|
+
# The detection time multiplier of the BFD packet. This is specified in section
|
4036
|
+
# 4.1 of RFC5880
|
4037
|
+
# Corresponds to the JSON property `multiplier`
|
4038
|
+
# @return [Fixnum]
|
4039
|
+
attr_accessor :multiplier
|
4040
|
+
|
4041
|
+
# The multipoint bit of the BFD packet. This is specified in section 4.1 of
|
4042
|
+
# RFC5880
|
4043
|
+
# Corresponds to the JSON property `multipoint`
|
4044
|
+
# @return [Boolean]
|
4045
|
+
attr_accessor :multipoint
|
4046
|
+
alias_method :multipoint?, :multipoint
|
4047
|
+
|
4048
|
+
# The My Discriminator value in the BFD packet. This is specified in section 4.1
|
4049
|
+
# of RFC5880
|
4050
|
+
# Corresponds to the JSON property `myDiscriminator`
|
4051
|
+
# @return [Fixnum]
|
4052
|
+
attr_accessor :my_discriminator
|
4053
|
+
|
4054
|
+
# The Poll bit of the BFD packet. This is specified in section 4.1 of RFC5880
|
4055
|
+
# Corresponds to the JSON property `poll`
|
4056
|
+
# @return [Boolean]
|
4057
|
+
attr_accessor :poll
|
4058
|
+
alias_method :poll?, :poll
|
4059
|
+
|
4060
|
+
# The current BFD session state as seen by the transmitting system. These states
|
4061
|
+
# are specified in section 4.1 of RFC5880
|
4062
|
+
# Corresponds to the JSON property `state`
|
4063
|
+
# @return [String]
|
4064
|
+
attr_accessor :state
|
4065
|
+
|
4066
|
+
# The version number of the BFD protocol, as specified in section 4.1 of RFC5880.
|
4067
|
+
# Corresponds to the JSON property `version`
|
4068
|
+
# @return [Fixnum]
|
4069
|
+
attr_accessor :version
|
4070
|
+
|
4071
|
+
# The Your Discriminator value in the BFD packet. This is specified in section 4.
|
4072
|
+
# 1 of RFC5880
|
4073
|
+
# Corresponds to the JSON property `yourDiscriminator`
|
4074
|
+
# @return [Fixnum]
|
4075
|
+
attr_accessor :your_discriminator
|
4076
|
+
|
4077
|
+
def initialize(**args)
|
4078
|
+
update!(**args)
|
4079
|
+
end
|
4080
|
+
|
4081
|
+
# Update properties of this object
|
4082
|
+
def update!(**args)
|
4083
|
+
@authentication_present = args[:authentication_present] if args.key?(:authentication_present)
|
4084
|
+
@control_plane_independent = args[:control_plane_independent] if args.key?(:control_plane_independent)
|
4085
|
+
@demand = args[:demand] if args.key?(:demand)
|
4086
|
+
@diagnostic = args[:diagnostic] if args.key?(:diagnostic)
|
4087
|
+
@final = args[:final] if args.key?(:final)
|
4088
|
+
@length = args[:length] if args.key?(:length)
|
4089
|
+
@min_echo_rx_interval_ms = args[:min_echo_rx_interval_ms] if args.key?(:min_echo_rx_interval_ms)
|
4090
|
+
@min_rx_interval_ms = args[:min_rx_interval_ms] if args.key?(:min_rx_interval_ms)
|
4091
|
+
@min_tx_interval_ms = args[:min_tx_interval_ms] if args.key?(:min_tx_interval_ms)
|
4092
|
+
@multiplier = args[:multiplier] if args.key?(:multiplier)
|
4093
|
+
@multipoint = args[:multipoint] if args.key?(:multipoint)
|
4094
|
+
@my_discriminator = args[:my_discriminator] if args.key?(:my_discriminator)
|
4095
|
+
@poll = args[:poll] if args.key?(:poll)
|
4096
|
+
@state = args[:state] if args.key?(:state)
|
4097
|
+
@version = args[:version] if args.key?(:version)
|
4098
|
+
@your_discriminator = args[:your_discriminator] if args.key?(:your_discriminator)
|
4099
|
+
end
|
4100
|
+
end
|
4101
|
+
|
4102
|
+
# Next free: 15
|
4103
|
+
class BfdStatus
|
4104
|
+
include Google::Apis::Core::Hashable
|
4105
|
+
|
4106
|
+
# The BFD session initialization mode for this BGP peer. If set to ACTIVE, the
|
4107
|
+
# Cloud Router will initiate the BFD session for this BGP peer. If set to
|
4108
|
+
# PASSIVE, the Cloud Router will wait for the peer router to initiate the BFD
|
4109
|
+
# session for this BGP peer. If set to DISABLED, BFD is disabled for this BGP
|
4110
|
+
# peer.
|
4111
|
+
# Corresponds to the JSON property `bfdSessionInitializationMode`
|
4112
|
+
# @return [String]
|
4113
|
+
attr_accessor :bfd_session_initialization_mode
|
4114
|
+
|
4115
|
+
# Unix timestamp of the most recent config update.
|
4116
|
+
# Corresponds to the JSON property `configUpdateTimestampMicros`
|
4117
|
+
# @return [Fixnum]
|
4118
|
+
attr_accessor :config_update_timestamp_micros
|
4119
|
+
|
4120
|
+
# Control packet counts for the current BFD session.
|
4121
|
+
# Corresponds to the JSON property `controlPacketCounts`
|
4122
|
+
# @return [Google::Apis::ComputeV1::BfdStatusPacketCounts]
|
4123
|
+
attr_accessor :control_packet_counts
|
4124
|
+
|
4125
|
+
# Inter-packet time interval statistics for control packets.
|
4126
|
+
# Corresponds to the JSON property `controlPacketIntervals`
|
4127
|
+
# @return [Array<Google::Apis::ComputeV1::PacketIntervals>]
|
4128
|
+
attr_accessor :control_packet_intervals
|
4129
|
+
|
4130
|
+
# The diagnostic code specifies the local system's reason for the last change in
|
4131
|
+
# session state. This allows remote systems to determine the reason that the
|
4132
|
+
# previous session failed, for example. These diagnostic codes are specified in
|
4133
|
+
# section 4.1 of RFC5880
|
4134
|
+
# Corresponds to the JSON property `localDiagnostic`
|
4135
|
+
# @return [String]
|
4136
|
+
attr_accessor :local_diagnostic
|
4137
|
+
|
4138
|
+
# The current BFD session state as seen by the transmitting system. These states
|
4139
|
+
# are specified in section 4.1 of RFC5880
|
4140
|
+
# Corresponds to the JSON property `localState`
|
4141
|
+
# @return [String]
|
4142
|
+
attr_accessor :local_state
|
4143
|
+
|
4144
|
+
# Negotiated transmit interval for control packets.
|
4145
|
+
# Corresponds to the JSON property `negotiatedLocalControlTxIntervalMs`
|
4146
|
+
# @return [Fixnum]
|
4147
|
+
attr_accessor :negotiated_local_control_tx_interval_ms
|
4148
|
+
|
4149
|
+
# The most recent Rx control packet for this BFD session.
|
4150
|
+
# Corresponds to the JSON property `rxPacket`
|
4151
|
+
# @return [Google::Apis::ComputeV1::BfdPacket]
|
4152
|
+
attr_accessor :rx_packet
|
4153
|
+
|
4154
|
+
# The most recent Tx control packet for this BFD session.
|
4155
|
+
# Corresponds to the JSON property `txPacket`
|
4156
|
+
# @return [Google::Apis::ComputeV1::BfdPacket]
|
4157
|
+
attr_accessor :tx_packet
|
4158
|
+
|
4159
|
+
# Session uptime in milliseconds. Value will be 0 if session is not up.
|
4160
|
+
# Corresponds to the JSON property `uptimeMs`
|
4161
|
+
# @return [Fixnum]
|
4162
|
+
attr_accessor :uptime_ms
|
4163
|
+
|
4164
|
+
def initialize(**args)
|
4165
|
+
update!(**args)
|
4166
|
+
end
|
4167
|
+
|
4168
|
+
# Update properties of this object
|
4169
|
+
def update!(**args)
|
4170
|
+
@bfd_session_initialization_mode = args[:bfd_session_initialization_mode] if args.key?(:bfd_session_initialization_mode)
|
4171
|
+
@config_update_timestamp_micros = args[:config_update_timestamp_micros] if args.key?(:config_update_timestamp_micros)
|
4172
|
+
@control_packet_counts = args[:control_packet_counts] if args.key?(:control_packet_counts)
|
4173
|
+
@control_packet_intervals = args[:control_packet_intervals] if args.key?(:control_packet_intervals)
|
4174
|
+
@local_diagnostic = args[:local_diagnostic] if args.key?(:local_diagnostic)
|
4175
|
+
@local_state = args[:local_state] if args.key?(:local_state)
|
4176
|
+
@negotiated_local_control_tx_interval_ms = args[:negotiated_local_control_tx_interval_ms] if args.key?(:negotiated_local_control_tx_interval_ms)
|
4177
|
+
@rx_packet = args[:rx_packet] if args.key?(:rx_packet)
|
4178
|
+
@tx_packet = args[:tx_packet] if args.key?(:tx_packet)
|
4179
|
+
@uptime_ms = args[:uptime_ms] if args.key?(:uptime_ms)
|
4180
|
+
end
|
4181
|
+
end
|
4182
|
+
|
4183
|
+
#
|
4184
|
+
class BfdStatusPacketCounts
|
4185
|
+
include Google::Apis::Core::Hashable
|
4186
|
+
|
4187
|
+
# Number of packets received since the beginning of the current BFD session.
|
4188
|
+
# Corresponds to the JSON property `numRx`
|
4189
|
+
# @return [Fixnum]
|
4190
|
+
attr_accessor :num_rx
|
4191
|
+
|
4192
|
+
# Number of packets received that were rejected because of errors since the
|
4193
|
+
# beginning of the current BFD session.
|
4194
|
+
# Corresponds to the JSON property `numRxRejected`
|
4195
|
+
# @return [Fixnum]
|
4196
|
+
attr_accessor :num_rx_rejected
|
4197
|
+
|
4198
|
+
# Number of packets received that were successfully processed since the
|
4199
|
+
# beginning of the current BFD session.
|
4200
|
+
# Corresponds to the JSON property `numRxSuccessful`
|
4201
|
+
# @return [Fixnum]
|
4202
|
+
attr_accessor :num_rx_successful
|
4203
|
+
|
4204
|
+
# Number of packets transmitted since the beginning of the current BFD session.
|
4205
|
+
# Corresponds to the JSON property `numTx`
|
4206
|
+
# @return [Fixnum]
|
4207
|
+
attr_accessor :num_tx
|
4208
|
+
|
4209
|
+
def initialize(**args)
|
4210
|
+
update!(**args)
|
4211
|
+
end
|
4212
|
+
|
4213
|
+
# Update properties of this object
|
4214
|
+
def update!(**args)
|
4215
|
+
@num_rx = args[:num_rx] if args.key?(:num_rx)
|
4216
|
+
@num_rx_rejected = args[:num_rx_rejected] if args.key?(:num_rx_rejected)
|
4217
|
+
@num_rx_successful = args[:num_rx_successful] if args.key?(:num_rx_successful)
|
4218
|
+
@num_tx = args[:num_tx] if args.key?(:num_tx)
|
4219
|
+
end
|
4220
|
+
end
|
4221
|
+
|
3952
4222
|
# Associates `members` with a `role`.
|
3953
4223
|
class Binding
|
3954
4224
|
include Google::Apis::Core::Hashable
|
@@ -4360,6 +4630,14 @@ module Google
|
|
4360
4630
|
# @return [String]
|
4361
4631
|
attr_accessor :status_message
|
4362
4632
|
|
4633
|
+
# The type of commitment, which affects the discount rate and the eligible
|
4634
|
+
# resources. Type MEMORY_OPTIMIZED specifies a commitment that will only apply
|
4635
|
+
# to memory optimized machines. Type ACCELERATOR_OPTIMIZED specifies a
|
4636
|
+
# commitment that will only apply to accelerator optimized machines.
|
4637
|
+
# Corresponds to the JSON property `type`
|
4638
|
+
# @return [String]
|
4639
|
+
attr_accessor :type
|
4640
|
+
|
4363
4641
|
def initialize(**args)
|
4364
4642
|
update!(**args)
|
4365
4643
|
end
|
@@ -4382,6 +4660,7 @@ module Google
|
|
4382
4660
|
@start_timestamp = args[:start_timestamp] if args.key?(:start_timestamp)
|
4383
4661
|
@status = args[:status] if args.key?(:status)
|
4384
4662
|
@status_message = args[:status_message] if args.key?(:status_message)
|
4663
|
+
@type = args[:type] if args.key?(:type)
|
4385
4664
|
end
|
4386
4665
|
end
|
4387
4666
|
|
@@ -4950,30 +5229,39 @@ module Google
|
|
4950
5229
|
class CustomerEncryptionKey
|
4951
5230
|
include Google::Apis::Core::Hashable
|
4952
5231
|
|
4953
|
-
# The name of the encryption key that is stored in Google Cloud KMS.
|
5232
|
+
# The name of the encryption key that is stored in Google Cloud KMS. For example:
|
5233
|
+
# "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ key_region/
|
5234
|
+
# cryptoKeys/key
|
4954
5235
|
# Corresponds to the JSON property `kmsKeyName`
|
4955
5236
|
# @return [String]
|
4956
5237
|
attr_accessor :kms_key_name
|
4957
5238
|
|
4958
5239
|
# The service account being used for the encryption request for the given KMS
|
4959
|
-
# key. If absent, the Compute Engine default service account is used.
|
5240
|
+
# key. If absent, the Compute Engine default service account is used. For
|
5241
|
+
# example: "kmsKeyServiceAccount": "name@project_id.iam.gserviceaccount.com/
|
4960
5242
|
# Corresponds to the JSON property `kmsKeyServiceAccount`
|
4961
5243
|
# @return [String]
|
4962
5244
|
attr_accessor :kms_key_service_account
|
4963
5245
|
|
4964
5246
|
# Specifies a 256-bit customer-supplied encryption key, encoded in RFC 4648
|
4965
|
-
# base64 to either encrypt or decrypt this resource.
|
5247
|
+
# base64 to either encrypt or decrypt this resource. You can provide either the
|
5248
|
+
# rawKey or the rsaEncryptedKey. For example: "rawKey": "
|
5249
|
+
# SGVsbG8gZnJvbSBHb29nbGUgQ2xvdWQgUGxhdGZvcm0="
|
4966
5250
|
# Corresponds to the JSON property `rawKey`
|
4967
5251
|
# @return [String]
|
4968
5252
|
attr_accessor :raw_key
|
4969
5253
|
|
4970
5254
|
# Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit customer-supplied
|
4971
|
-
# encryption key to either encrypt or decrypt this resource.
|
4972
|
-
# the
|
4973
|
-
#
|
4974
|
-
#
|
4975
|
-
#
|
4976
|
-
#
|
5255
|
+
# encryption key to either encrypt or decrypt this resource. You can provide
|
5256
|
+
# either the rawKey or the rsaEncryptedKey. For example: "rsaEncryptedKey": "
|
5257
|
+
# ieCx/NcW06PcT7Ep1X6LUTc/hLvUDYyzSZPPVCVPTVEohpeHASqC8uw5TzyO9U+Fka9JFH
|
5258
|
+
# z0mBibXUInrC/jEk014kCK/NPjYgEMOyssZ4ZINPKxlUh2zn1bV+MCaTICrdmuSBTWlUUiFoD
|
5259
|
+
# D6PYznLwh8ZNdaheCeZ8ewEXgFQ8V+sDroLaN3Xs3MDTXQEMMoNUXMCZEIpg9Vtp9x2oe==" The
|
5260
|
+
# key must meet the following requirements before you can provide it to Compute
|
5261
|
+
# Engine: 1. The key is wrapped using a RSA public key certificate provided by
|
5262
|
+
# Google. 2. After being wrapped, the key must be encoded in RFC 4648 base64
|
5263
|
+
# encoding. Gets the RSA public key certificate provided by Google at: https://
|
5264
|
+
# cloud-certs.storage.googleapis.com/google-cloud-csek-ingress.pem
|
4977
5265
|
# Corresponds to the JSON property `rsaEncryptedKey`
|
4978
5266
|
# @return [String]
|
4979
5267
|
attr_accessor :rsa_encrypted_key
|
@@ -5008,7 +5296,8 @@ module Google
|
|
5008
5296
|
attr_accessor :disk_encryption_key
|
5009
5297
|
|
5010
5298
|
# Specifies a valid partial or full URL to an existing Persistent Disk resource.
|
5011
|
-
# This field is only applicable for persistent disks.
|
5299
|
+
# This field is only applicable for persistent disks. For example: "source": "/
|
5300
|
+
# compute/v1/projects/project_id/zones/zone/disks/ disk_name
|
5012
5301
|
# Corresponds to the JSON property `source`
|
5013
5302
|
# @return [String]
|
5014
5303
|
attr_accessor :source
|
@@ -5103,14 +5392,20 @@ module Google
|
|
5103
5392
|
# @return [String]
|
5104
5393
|
attr_accessor :description
|
5105
5394
|
|
5106
|
-
# Encrypts the disk using a customer-supplied encryption key
|
5107
|
-
#
|
5108
|
-
# the disk
|
5109
|
-
#
|
5110
|
-
#
|
5111
|
-
#
|
5112
|
-
#
|
5113
|
-
#
|
5395
|
+
# Encrypts the disk using a customer-supplied encryption key or a customer-
|
5396
|
+
# managed encryption key. Encryption keys do not protect access to metadata of
|
5397
|
+
# the disk. After you encrypt a disk with a customer-supplied key, you must
|
5398
|
+
# provide the same key if you use the disk later. For example, to create a disk
|
5399
|
+
# snapshot, to create a disk image, to create a machine image, or to attach the
|
5400
|
+
# disk to a virtual machine. After you encrypt a disk with a customer-managed
|
5401
|
+
# key, the diskEncryptionKey.kmsKeyName is set to a key *version* name once the
|
5402
|
+
# disk is created. The disk is encrypted with this version of the key. In the
|
5403
|
+
# response, diskEncryptionKey.kmsKeyName appears in the following format: "
|
5404
|
+
# diskEncryptionKey.kmsKeyName": "projects/kms_project_id/locations/region/
|
5405
|
+
# keyRings/ key_region/cryptoKeys/key /cryptoKeysVersions/version If you do not
|
5406
|
+
# provide an encryption key when creating the disk, then the disk is encrypted
|
5407
|
+
# using an automatically generated key and you don't need to provide a key to
|
5408
|
+
# use the disk later.
|
5114
5409
|
# Corresponds to the JSON property `diskEncryptionKey`
|
5115
5410
|
# @return [Google::Apis::ComputeV1::CustomerEncryptionKey]
|
5116
5411
|
attr_accessor :disk_encryption_key
|
@@ -6925,7 +7220,7 @@ module Google
|
|
6925
7220
|
|
6926
7221
|
# If destination ranges are specified, the firewall rule applies only to traffic
|
6927
7222
|
# that has destination IP address in these ranges. These ranges must be
|
6928
|
-
# expressed in CIDR format.
|
7223
|
+
# expressed in CIDR format. Both IPv4 and IPv6 are supported.
|
6929
7224
|
# Corresponds to the JSON property `destinationRanges`
|
6930
7225
|
# @return [Array<String>]
|
6931
7226
|
attr_accessor :destination_ranges
|
@@ -6965,7 +7260,7 @@ module Google
|
|
6965
7260
|
# Name of the resource; provided by the client when the resource is created. The
|
6966
7261
|
# name must be 1-63 characters long, and comply with RFC1035. Specifically, the
|
6967
7262
|
# name must be 1-63 characters long and match the regular expression `[a-z]([-a-
|
6968
|
-
# z0-9]*[a-z0-9])
|
7263
|
+
# z0-9]*[a-z0-9])?`. The first character must be a lowercase letter, and all
|
6969
7264
|
# following characters (except for the last character) must be a dash, lowercase
|
6970
7265
|
# letter, or digit. The last character must be a lowercase letter or digit.
|
6971
7266
|
# Corresponds to the JSON property `name`
|
@@ -7005,7 +7300,7 @@ module Google
|
|
7005
7300
|
# fields are set, the rule applies to traffic that has a source IP address
|
7006
7301
|
# within sourceRanges OR a source IP from a resource with a matching tag listed
|
7007
7302
|
# in the sourceTags field. The connection does not need to match both fields for
|
7008
|
-
# the rule to apply.
|
7303
|
+
# the rule to apply. Both IPv4 and IPv6 are supported.
|
7009
7304
|
# Corresponds to the JSON property `sourceRanges`
|
7010
7305
|
# @return [Array<String>]
|
7011
7306
|
attr_accessor :source_ranges
|
@@ -7339,7 +7634,7 @@ module Google
|
|
7339
7634
|
attr_accessor :description
|
7340
7635
|
|
7341
7636
|
# Deprecated, please use short name instead. User-provided name of the
|
7342
|
-
# Organization firewall
|
7637
|
+
# Organization firewall policy. The name should be unique in the organization in
|
7343
7638
|
# which the firewall policy is created. This name must be set on creation and
|
7344
7639
|
# cannot be changed. The name must be 1-63 characters long, and comply with
|
7345
7640
|
# RFC1035. Specifically, the name must be 1-63 characters long and match the
|
@@ -8636,7 +8931,7 @@ module Google
|
|
8636
8931
|
# resourcemanager.organizationAdmin - members: - user:eve@example.com role:
|
8637
8932
|
# roles/resourcemanager.organizationViewer condition: title: expirable access
|
8638
8933
|
# description: Does not grant access after Sep 2020 expression: request.time <
|
8639
|
-
# timestamp('2020-10-01T00:00:00.000Z')
|
8934
|
+
# timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a
|
8640
8935
|
# description of IAM and its features, see the [IAM documentation](https://cloud.
|
8641
8936
|
# google.com/iam/docs/).
|
8642
8937
|
# Corresponds to the JSON property `policy`
|
@@ -8733,7 +9028,7 @@ module Google
|
|
8733
9028
|
# resourcemanager.organizationAdmin - members: - user:eve@example.com role:
|
8734
9029
|
# roles/resourcemanager.organizationViewer condition: title: expirable access
|
8735
9030
|
# description: Does not grant access after Sep 2020 expression: request.time <
|
8736
|
-
# timestamp('2020-10-01T00:00:00.000Z')
|
9031
|
+
# timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a
|
8737
9032
|
# description of IAM and its features, see the [IAM documentation](https://cloud.
|
8738
9033
|
# google.com/iam/docs/).
|
8739
9034
|
# Corresponds to the JSON property `policy`
|
@@ -11321,10 +11616,12 @@ module Google
|
|
11321
11616
|
# @return [String]
|
11322
11617
|
attr_accessor :source_disk_id
|
11323
11618
|
|
11324
|
-
# URL of the source image used to create this image.
|
11325
|
-
#
|
11326
|
-
#
|
11327
|
-
#
|
11619
|
+
# URL of the source image used to create this image. The following are valid
|
11620
|
+
# formats for the URL: - https://www.googleapis.com/compute/v1/projects/
|
11621
|
+
# project_id/global/ images/image_name - projects/project_id/global/images/
|
11622
|
+
# image_name In order to create an image, you must provide the full or partial
|
11623
|
+
# URL of one of the following: - The rawDisk.source URL - The sourceDisk URL -
|
11624
|
+
# The sourceImage URL - The sourceSnapshot URL
|
11328
11625
|
# Corresponds to the JSON property `sourceImage`
|
11329
11626
|
# @return [String]
|
11330
11627
|
attr_accessor :source_image
|
@@ -11342,10 +11639,12 @@ module Google
|
|
11342
11639
|
# @return [String]
|
11343
11640
|
attr_accessor :source_image_id
|
11344
11641
|
|
11345
|
-
# URL of the source snapshot used to create this image.
|
11346
|
-
#
|
11347
|
-
#
|
11348
|
-
#
|
11642
|
+
# URL of the source snapshot used to create this image. The following are valid
|
11643
|
+
# formats for the URL: - https://www.googleapis.com/compute/v1/projects/
|
11644
|
+
# project_id/global/ snapshots/snapshot_name - projects/project_id/global/
|
11645
|
+
# snapshots/snapshot_name In order to create an image, you must provide the full
|
11646
|
+
# or partial URL of one of the following: - The rawDisk.source URL - The
|
11647
|
+
# sourceDisk URL - The sourceImage URL - The sourceSnapshot URL
|
11349
11648
|
# Corresponds to the JSON property `sourceSnapshot`
|
11350
11649
|
# @return [String]
|
11351
11650
|
attr_accessor :source_snapshot
|
@@ -11439,10 +11738,12 @@ module Google
|
|
11439
11738
|
# @return [String]
|
11440
11739
|
attr_accessor :sha1_checksum
|
11441
11740
|
|
11442
|
-
# The full Google Cloud Storage URL where the disk image is stored.
|
11443
|
-
#
|
11444
|
-
#
|
11445
|
-
#
|
11741
|
+
# The full Google Cloud Storage URL where the raw disk image archive is stored.
|
11742
|
+
# The following are valid formats for the URL: - https://storage.googleapis.com/
|
11743
|
+
# bucket_name/image_archive_name - https://storage.googleapis.com/bucket_name/
|
11744
|
+
# folder_name/ image_archive_name In order to create an image, you must provide
|
11745
|
+
# the full or partial URL of one of the following: - The rawDisk.source URL -
|
11746
|
+
# The sourceDisk URL - The sourceImage URL - The sourceSnapshot URL
|
11446
11747
|
# Corresponds to the JSON property `source`
|
11447
11748
|
# @return [String]
|
11448
11749
|
attr_accessor :source
|
@@ -11460,6 +11761,26 @@ module Google
|
|
11460
11761
|
end
|
11461
11762
|
end
|
11462
11763
|
|
11764
|
+
#
|
11765
|
+
class ImageFamilyView
|
11766
|
+
include Google::Apis::Core::Hashable
|
11767
|
+
|
11768
|
+
# Represents an Image resource. You can use images to create boot disks for your
|
11769
|
+
# VM instances. For more information, read Images.
|
11770
|
+
# Corresponds to the JSON property `image`
|
11771
|
+
# @return [Google::Apis::ComputeV1::Image]
|
11772
|
+
attr_accessor :image
|
11773
|
+
|
11774
|
+
def initialize(**args)
|
11775
|
+
update!(**args)
|
11776
|
+
end
|
11777
|
+
|
11778
|
+
# Update properties of this object
|
11779
|
+
def update!(**args)
|
11780
|
+
@image = args[:image] if args.key?(:image)
|
11781
|
+
end
|
11782
|
+
end
|
11783
|
+
|
11463
11784
|
# Contains a list of images.
|
11464
11785
|
class ImageList
|
11465
11786
|
include Google::Apis::Core::Hashable
|
@@ -13262,6 +13583,18 @@ module Google
|
|
13262
13583
|
# @return [Array<String>]
|
13263
13584
|
attr_accessor :instances
|
13264
13585
|
|
13586
|
+
# Specifies whether the request should proceed despite the inclusion of
|
13587
|
+
# instances that are not members of the group or that are already in the process
|
13588
|
+
# of being deleted or abandoned. If this field is set to `false` and such an
|
13589
|
+
# instance is specified in the request, the operation fails. The operation
|
13590
|
+
# always fails if the request contains a malformed instance URL or a reference
|
13591
|
+
# to an instance that exists in a zone or region other than the group's zone or
|
13592
|
+
# region.
|
13593
|
+
# Corresponds to the JSON property `skipInstancesOnValidationError`
|
13594
|
+
# @return [Boolean]
|
13595
|
+
attr_accessor :skip_instances_on_validation_error
|
13596
|
+
alias_method :skip_instances_on_validation_error?, :skip_instances_on_validation_error
|
13597
|
+
|
13265
13598
|
def initialize(**args)
|
13266
13599
|
update!(**args)
|
13267
13600
|
end
|
@@ -13269,6 +13602,7 @@ module Google
|
|
13269
13602
|
# Update properties of this object
|
13270
13603
|
def update!(**args)
|
13271
13604
|
@instances = args[:instances] if args.key?(:instances)
|
13605
|
+
@skip_instances_on_validation_error = args[:skip_instances_on_validation_error] if args.key?(:skip_instances_on_validation_error)
|
13272
13606
|
end
|
13273
13607
|
end
|
13274
13608
|
|
@@ -14397,7 +14731,8 @@ module Google
|
|
14397
14731
|
attr_accessor :network_interfaces
|
14398
14732
|
|
14399
14733
|
# The private IPv6 google access type for VMs. If not specified, use
|
14400
|
-
# INHERIT_FROM_SUBNETWORK as default.
|
14734
|
+
# INHERIT_FROM_SUBNETWORK as default. Note that for MachineImage, this is not
|
14735
|
+
# supported yet.
|
14401
14736
|
# Corresponds to the JSON property `privateIpv6GoogleAccess`
|
14402
14737
|
# @return [String]
|
14403
14738
|
attr_accessor :private_ipv6_google_access
|
@@ -14408,7 +14743,7 @@ module Google
|
|
14408
14743
|
attr_accessor :reservation_affinity
|
14409
14744
|
|
14410
14745
|
# Resource policies (names, not ULRs) applied to instances created from these
|
14411
|
-
# properties.
|
14746
|
+
# properties. Note that for MachineImage, this is not supported yet.
|
14412
14747
|
# Corresponds to the JSON property `resourcePolicies`
|
14413
14748
|
# @return [Array<String>]
|
14414
14749
|
attr_accessor :resource_policies
|
@@ -15215,6 +15550,14 @@ module Google
|
|
15215
15550
|
# @return [Fixnum]
|
15216
15551
|
attr_accessor :requested_link_count
|
15217
15552
|
|
15553
|
+
# [Output Only] Set to true if the resource satisfies the zone separation
|
15554
|
+
# organization policy constraints and false otherwise. Defaults to false if the
|
15555
|
+
# field is not present.
|
15556
|
+
# Corresponds to the JSON property `satisfiesPzs`
|
15557
|
+
# @return [Boolean]
|
15558
|
+
attr_accessor :satisfies_pzs
|
15559
|
+
alias_method :satisfies_pzs?, :satisfies_pzs
|
15560
|
+
|
15218
15561
|
# [Output Only] Server-defined URL for the resource.
|
15219
15562
|
# Corresponds to the JSON property `selfLink`
|
15220
15563
|
# @return [String]
|
@@ -15257,6 +15600,7 @@ module Google
|
|
15257
15600
|
@peer_ip_address = args[:peer_ip_address] if args.key?(:peer_ip_address)
|
15258
15601
|
@provisioned_link_count = args[:provisioned_link_count] if args.key?(:provisioned_link_count)
|
15259
15602
|
@requested_link_count = args[:requested_link_count] if args.key?(:requested_link_count)
|
15603
|
+
@satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
|
15260
15604
|
@self_link = args[:self_link] if args.key?(:self_link)
|
15261
15605
|
@state = args[:state] if args.key?(:state)
|
15262
15606
|
end
|
@@ -15463,6 +15807,14 @@ module Google
|
|
15463
15807
|
# @return [String]
|
15464
15808
|
attr_accessor :router
|
15465
15809
|
|
15810
|
+
# [Output Only] Set to true if the resource satisfies the zone separation
|
15811
|
+
# organization policy constraints and false otherwise. Defaults to false if the
|
15812
|
+
# field is not present.
|
15813
|
+
# Corresponds to the JSON property `satisfiesPzs`
|
15814
|
+
# @return [Boolean]
|
15815
|
+
attr_accessor :satisfies_pzs
|
15816
|
+
alias_method :satisfies_pzs?, :satisfies_pzs
|
15817
|
+
|
15466
15818
|
# [Output Only] Server-defined URL for the resource.
|
15467
15819
|
# Corresponds to the JSON property `selfLink`
|
15468
15820
|
# @return [String]
|
@@ -15532,6 +15884,7 @@ module Google
|
|
15532
15884
|
@private_interconnect_info = args[:private_interconnect_info] if args.key?(:private_interconnect_info)
|
15533
15885
|
@region = args[:region] if args.key?(:region)
|
15534
15886
|
@router = args[:router] if args.key?(:router)
|
15887
|
+
@satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
|
15535
15888
|
@self_link = args[:self_link] if args.key?(:self_link)
|
15536
15889
|
@state = args[:state] if args.key?(:state)
|
15537
15890
|
@type = args[:type] if args.key?(:type)
|
@@ -16359,6 +16712,13 @@ module Google
|
|
16359
16712
|
# @return [String]
|
16360
16713
|
attr_accessor :status
|
16361
16714
|
|
16715
|
+
# [Output Only] Set to true for locations that support physical zone separation.
|
16716
|
+
# Defaults to false if the field is not present.
|
16717
|
+
# Corresponds to the JSON property `supportsPzs`
|
16718
|
+
# @return [Boolean]
|
16719
|
+
attr_accessor :supports_pzs
|
16720
|
+
alias_method :supports_pzs?, :supports_pzs
|
16721
|
+
|
16362
16722
|
def initialize(**args)
|
16363
16723
|
update!(**args)
|
16364
16724
|
end
|
@@ -16380,6 +16740,7 @@ module Google
|
|
16380
16740
|
@region_infos = args[:region_infos] if args.key?(:region_infos)
|
16381
16741
|
@self_link = args[:self_link] if args.key?(:self_link)
|
16382
16742
|
@status = args[:status] if args.key?(:status)
|
16743
|
+
@supports_pzs = args[:supports_pzs] if args.key?(:supports_pzs)
|
16383
16744
|
end
|
16384
16745
|
end
|
16385
16746
|
|
@@ -18113,7 +18474,7 @@ module Google
|
|
18113
18474
|
attr_accessor :kind
|
18114
18475
|
|
18115
18476
|
# Maximum Transmission Unit in bytes. The minimum value for this field is 1460
|
18116
|
-
# and the maximum value is 1500 bytes.
|
18477
|
+
# and the maximum value is 1500 bytes. If unspecified, defaults to 1460.
|
18117
18478
|
# Corresponds to the JSON property `mtu`
|
18118
18479
|
# @return [Fixnum]
|
18119
18480
|
attr_accessor :mtu
|
@@ -19299,9 +19660,8 @@ module Google
|
|
19299
19660
|
alias_method :export_custom_routes?, :export_custom_routes
|
19300
19661
|
|
19301
19662
|
# Whether subnet routes with public IP range are exported. The default value is
|
19302
|
-
# true, all subnet routes are exported.
|
19303
|
-
#
|
19304
|
-
# are not controlled by this field.
|
19663
|
+
# true, all subnet routes are exported. IPv4 special-use ranges are always
|
19664
|
+
# exported to peers and are not controlled by this field.
|
19305
19665
|
# Corresponds to the JSON property `exportSubnetRoutesWithPublicIp`
|
19306
19666
|
# @return [Boolean]
|
19307
19667
|
attr_accessor :export_subnet_routes_with_public_ip
|
@@ -19314,9 +19674,8 @@ module Google
|
|
19314
19674
|
alias_method :import_custom_routes?, :import_custom_routes
|
19315
19675
|
|
19316
19676
|
# Whether subnet routes with public IP range are imported. The default value is
|
19317
|
-
# false.
|
19318
|
-
#
|
19319
|
-
# this field.
|
19677
|
+
# false. IPv4 special-use ranges are always imported from peers and are not
|
19678
|
+
# controlled by this field.
|
19320
19679
|
# Corresponds to the JSON property `importSubnetRoutesWithPublicIp`
|
19321
19680
|
# @return [Boolean]
|
19322
19681
|
attr_accessor :import_subnet_routes_with_public_ip
|
@@ -19556,7 +19915,7 @@ module Google
|
|
19556
19915
|
end
|
19557
19916
|
end
|
19558
19917
|
|
19559
|
-
#
|
19918
|
+
# Represents a sole-tenant Node Group resource. A sole-tenant node is a physical
|
19560
19919
|
# server that is dedicated to hosting VM instances only for your specific
|
19561
19920
|
# project. Use sole-tenant nodes to keep your instances physically separated
|
19562
19921
|
# from instances in other projects, or to group your instances together on the
|
@@ -22242,6 +22601,55 @@ module Google
|
|
22242
22601
|
end
|
22243
22602
|
end
|
22244
22603
|
|
22604
|
+
# Next free: 7
|
22605
|
+
class PacketIntervals
|
22606
|
+
include Google::Apis::Core::Hashable
|
22607
|
+
|
22608
|
+
# Average observed inter-packet interval in milliseconds.
|
22609
|
+
# Corresponds to the JSON property `avgMs`
|
22610
|
+
# @return [Fixnum]
|
22611
|
+
attr_accessor :avg_ms
|
22612
|
+
|
22613
|
+
# From how long ago in the past these intervals were observed.
|
22614
|
+
# Corresponds to the JSON property `duration`
|
22615
|
+
# @return [String]
|
22616
|
+
attr_accessor :duration
|
22617
|
+
|
22618
|
+
# Maximum observed inter-packet interval in milliseconds.
|
22619
|
+
# Corresponds to the JSON property `maxMs`
|
22620
|
+
# @return [Fixnum]
|
22621
|
+
attr_accessor :max_ms
|
22622
|
+
|
22623
|
+
# Minimum observed inter-packet interval in milliseconds.
|
22624
|
+
# Corresponds to the JSON property `minMs`
|
22625
|
+
# @return [Fixnum]
|
22626
|
+
attr_accessor :min_ms
|
22627
|
+
|
22628
|
+
# Number of inter-packet intervals from which these statistics were derived.
|
22629
|
+
# Corresponds to the JSON property `numIntervals`
|
22630
|
+
# @return [Fixnum]
|
22631
|
+
attr_accessor :num_intervals
|
22632
|
+
|
22633
|
+
# The type of packets for which inter-packet intervals were computed.
|
22634
|
+
# Corresponds to the JSON property `type`
|
22635
|
+
# @return [String]
|
22636
|
+
attr_accessor :type
|
22637
|
+
|
22638
|
+
def initialize(**args)
|
22639
|
+
update!(**args)
|
22640
|
+
end
|
22641
|
+
|
22642
|
+
# Update properties of this object
|
22643
|
+
def update!(**args)
|
22644
|
+
@avg_ms = args[:avg_ms] if args.key?(:avg_ms)
|
22645
|
+
@duration = args[:duration] if args.key?(:duration)
|
22646
|
+
@max_ms = args[:max_ms] if args.key?(:max_ms)
|
22647
|
+
@min_ms = args[:min_ms] if args.key?(:min_ms)
|
22648
|
+
@num_intervals = args[:num_intervals] if args.key?(:num_intervals)
|
22649
|
+
@type = args[:type] if args.key?(:type)
|
22650
|
+
end
|
22651
|
+
end
|
22652
|
+
|
22245
22653
|
# Represents a Packet Mirroring resource. Packet Mirroring clones the traffic of
|
22246
22654
|
# specified instances in your Virtual Private Cloud (VPC) network and forwards
|
22247
22655
|
# it to a collector destination, such as an instance group of an internal TCP/
|
@@ -23083,7 +23491,7 @@ module Google
|
|
23083
23491
|
# resourcemanager.organizationAdmin - members: - user:eve@example.com role:
|
23084
23492
|
# roles/resourcemanager.organizationViewer condition: title: expirable access
|
23085
23493
|
# description: Does not grant access after Sep 2020 expression: request.time <
|
23086
|
-
# timestamp('2020-10-01T00:00:00.000Z')
|
23494
|
+
# timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a
|
23087
23495
|
# description of IAM and its features, see the [IAM documentation](https://cloud.
|
23088
23496
|
# google.com/iam/docs/).
|
23089
23497
|
class Policy
|
@@ -25084,6 +25492,18 @@ module Google
|
|
25084
25492
|
# @return [Array<String>]
|
25085
25493
|
attr_accessor :instances
|
25086
25494
|
|
25495
|
+
# Specifies whether the request should proceed despite the inclusion of
|
25496
|
+
# instances that are not members of the group or that are already in the process
|
25497
|
+
# of being deleted or abandoned. If this field is set to `false` and such an
|
25498
|
+
# instance is specified in the request, the operation fails. The operation
|
25499
|
+
# always fails if the request contains a malformed instance URL or a reference
|
25500
|
+
# to an instance that exists in a zone or region other than the group's zone or
|
25501
|
+
# region.
|
25502
|
+
# Corresponds to the JSON property `skipInstancesOnValidationError`
|
25503
|
+
# @return [Boolean]
|
25504
|
+
attr_accessor :skip_instances_on_validation_error
|
25505
|
+
alias_method :skip_instances_on_validation_error?, :skip_instances_on_validation_error
|
25506
|
+
|
25087
25507
|
def initialize(**args)
|
25088
25508
|
update!(**args)
|
25089
25509
|
end
|
@@ -25091,6 +25511,7 @@ module Google
|
|
25091
25511
|
# Update properties of this object
|
25092
25512
|
def update!(**args)
|
25093
25513
|
@instances = args[:instances] if args.key?(:instances)
|
25514
|
+
@skip_instances_on_validation_error = args[:skip_instances_on_validation_error] if args.key?(:skip_instances_on_validation_error)
|
25094
25515
|
end
|
25095
25516
|
end
|
25096
25517
|
|
@@ -25685,7 +26106,7 @@ module Google
|
|
25685
26106
|
# resourcemanager.organizationAdmin - members: - user:eve@example.com role:
|
25686
26107
|
# roles/resourcemanager.organizationViewer condition: title: expirable access
|
25687
26108
|
# description: Does not grant access after Sep 2020 expression: request.time <
|
25688
|
-
# timestamp('2020-10-01T00:00:00.000Z')
|
26109
|
+
# timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a
|
25689
26110
|
# description of IAM and its features, see the [IAM documentation](https://cloud.
|
25690
26111
|
# google.com/iam/docs/).
|
25691
26112
|
# Corresponds to the JSON property `policy`
|
@@ -25836,7 +26257,13 @@ module Google
|
|
25836
26257
|
# @return [String]
|
25837
26258
|
attr_accessor :self_link
|
25838
26259
|
|
26260
|
+
# The share setting for reservations and sole tenancy node groups.
|
26261
|
+
# Corresponds to the JSON property `shareSettings`
|
26262
|
+
# @return [Google::Apis::ComputeV1::ShareSettings]
|
26263
|
+
attr_accessor :share_settings
|
26264
|
+
|
25839
26265
|
# This reservation type allows to pre allocate specific instance configuration.
|
26266
|
+
# Next ID: 5
|
25840
26267
|
# Corresponds to the JSON property `specificReservation`
|
25841
26268
|
# @return [Google::Apis::ComputeV1::AllocationSpecificSkuReservation]
|
25842
26269
|
attr_accessor :specific_reservation
|
@@ -25874,6 +26301,7 @@ module Google
|
|
25874
26301
|
@name = args[:name] if args.key?(:name)
|
25875
26302
|
@satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
|
25876
26303
|
@self_link = args[:self_link] if args.key?(:self_link)
|
26304
|
+
@share_settings = args[:share_settings] if args.key?(:share_settings)
|
25877
26305
|
@specific_reservation = args[:specific_reservation] if args.key?(:specific_reservation)
|
25878
26306
|
@specific_reservation_required = args[:specific_reservation_required] if args.key?(:specific_reservation_required)
|
25879
26307
|
@status = args[:status] if args.key?(:status)
|
@@ -27183,6 +27611,11 @@ module Google
|
|
27183
27611
|
class Route
|
27184
27612
|
include Google::Apis::Core::Hashable
|
27185
27613
|
|
27614
|
+
# [Output Only] AS path.
|
27615
|
+
# Corresponds to the JSON property `asPaths`
|
27616
|
+
# @return [Array<Google::Apis::ComputeV1::RouteAsPath>]
|
27617
|
+
attr_accessor :as_paths
|
27618
|
+
|
27186
27619
|
# [Output Only] Creation timestamp in RFC3339 text format.
|
27187
27620
|
# Corresponds to the JSON property `creationTimestamp`
|
27188
27621
|
# @return [String]
|
@@ -27280,6 +27713,15 @@ module Google
|
|
27280
27713
|
# @return [Fixnum]
|
27281
27714
|
attr_accessor :priority
|
27282
27715
|
|
27716
|
+
# [Output Only] The type of this route, which can be one of the following values:
|
27717
|
+
# - 'TRANSIT' for a transit route that this router learned from another Cloud
|
27718
|
+
# Router and will readvertise to one of its BGP peers - 'SUBNET' for a route
|
27719
|
+
# from a subnet of the VPC - 'BGP' for a route learned from a BGP peer of this
|
27720
|
+
# router - 'STATIC' for a static route
|
27721
|
+
# Corresponds to the JSON property `routeType`
|
27722
|
+
# @return [String]
|
27723
|
+
attr_accessor :route_type
|
27724
|
+
|
27283
27725
|
# [Output Only] Server-defined fully-qualified URL for this resource.
|
27284
27726
|
# Corresponds to the JSON property `selfLink`
|
27285
27727
|
# @return [String]
|
@@ -27302,6 +27744,7 @@ module Google
|
|
27302
27744
|
|
27303
27745
|
# Update properties of this object
|
27304
27746
|
def update!(**args)
|
27747
|
+
@as_paths = args[:as_paths] if args.key?(:as_paths)
|
27305
27748
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
27306
27749
|
@description = args[:description] if args.key?(:description)
|
27307
27750
|
@dest_range = args[:dest_range] if args.key?(:dest_range)
|
@@ -27317,6 +27760,7 @@ module Google
|
|
27317
27760
|
@next_hop_peering = args[:next_hop_peering] if args.key?(:next_hop_peering)
|
27318
27761
|
@next_hop_vpn_tunnel = args[:next_hop_vpn_tunnel] if args.key?(:next_hop_vpn_tunnel)
|
27319
27762
|
@priority = args[:priority] if args.key?(:priority)
|
27763
|
+
@route_type = args[:route_type] if args.key?(:route_type)
|
27320
27764
|
@self_link = args[:self_link] if args.key?(:self_link)
|
27321
27765
|
@tags = args[:tags] if args.key?(:tags)
|
27322
27766
|
@warnings = args[:warnings] if args.key?(:warnings)
|
@@ -27387,6 +27831,37 @@ module Google
|
|
27387
27831
|
end
|
27388
27832
|
end
|
27389
27833
|
|
27834
|
+
#
|
27835
|
+
class RouteAsPath
|
27836
|
+
include Google::Apis::Core::Hashable
|
27837
|
+
|
27838
|
+
# [Output Only] The AS numbers of the AS Path.
|
27839
|
+
# Corresponds to the JSON property `asLists`
|
27840
|
+
# @return [Array<Fixnum>]
|
27841
|
+
attr_accessor :as_lists
|
27842
|
+
|
27843
|
+
# [Output Only] The type of the AS Path, which can be one of the following
|
27844
|
+
# values: - 'AS_SET': unordered set of autonomous systems that the route in has
|
27845
|
+
# traversed - 'AS_SEQUENCE': ordered set of autonomous systems that the route
|
27846
|
+
# has traversed - 'AS_CONFED_SEQUENCE': ordered set of Member Autonomous Systems
|
27847
|
+
# in the local confederation that the route has traversed - 'AS_CONFED_SET':
|
27848
|
+
# unordered set of Member Autonomous Systems in the local confederation that the
|
27849
|
+
# route has traversed
|
27850
|
+
# Corresponds to the JSON property `pathSegmentType`
|
27851
|
+
# @return [String]
|
27852
|
+
attr_accessor :path_segment_type
|
27853
|
+
|
27854
|
+
def initialize(**args)
|
27855
|
+
update!(**args)
|
27856
|
+
end
|
27857
|
+
|
27858
|
+
# Update properties of this object
|
27859
|
+
def update!(**args)
|
27860
|
+
@as_lists = args[:as_lists] if args.key?(:as_lists)
|
27861
|
+
@path_segment_type = args[:path_segment_type] if args.key?(:path_segment_type)
|
27862
|
+
end
|
27863
|
+
end
|
27864
|
+
|
27390
27865
|
# Contains a list of Route resources.
|
27391
27866
|
class RouteList
|
27392
27867
|
include Google::Apis::Core::Hashable
|
@@ -27853,6 +28328,11 @@ module Google
|
|
27853
28328
|
# @return [Fixnum]
|
27854
28329
|
attr_accessor :advertised_route_priority
|
27855
28330
|
|
28331
|
+
# BFD configuration for the BGP peering.
|
28332
|
+
# Corresponds to the JSON property `bfd`
|
28333
|
+
# @return [Google::Apis::ComputeV1::RouterBgpPeerBfd]
|
28334
|
+
attr_accessor :bfd
|
28335
|
+
|
27856
28336
|
# The status of the BGP peer connection. If set to FALSE, any active session
|
27857
28337
|
# with the peer is terminated and all associated routing information is removed.
|
27858
28338
|
# If set to TRUE, the peer connection can be established with routing
|
@@ -27904,6 +28384,14 @@ module Google
|
|
27904
28384
|
# @return [String]
|
27905
28385
|
attr_accessor :peer_ip_address
|
27906
28386
|
|
28387
|
+
# URI of the VM instance that is used as third-party router appliances such as
|
28388
|
+
# Next Gen Firewalls, Virtual Routers, or Router Appliances. The VM instance
|
28389
|
+
# must be located in zones contained in the same region as this Cloud Router.
|
28390
|
+
# The VM instance is the peer side of the BGP session.
|
28391
|
+
# Corresponds to the JSON property `routerApplianceInstance`
|
28392
|
+
# @return [String]
|
28393
|
+
attr_accessor :router_appliance_instance
|
28394
|
+
|
27907
28395
|
def initialize(**args)
|
27908
28396
|
update!(**args)
|
27909
28397
|
end
|
@@ -27914,6 +28402,7 @@ module Google
|
|
27914
28402
|
@advertised_groups = args[:advertised_groups] if args.key?(:advertised_groups)
|
27915
28403
|
@advertised_ip_ranges = args[:advertised_ip_ranges] if args.key?(:advertised_ip_ranges)
|
27916
28404
|
@advertised_route_priority = args[:advertised_route_priority] if args.key?(:advertised_route_priority)
|
28405
|
+
@bfd = args[:bfd] if args.key?(:bfd)
|
27917
28406
|
@enable = args[:enable] if args.key?(:enable)
|
27918
28407
|
@interface_name = args[:interface_name] if args.key?(:interface_name)
|
27919
28408
|
@ip_address = args[:ip_address] if args.key?(:ip_address)
|
@@ -27921,6 +28410,58 @@ module Google
|
|
27921
28410
|
@name = args[:name] if args.key?(:name)
|
27922
28411
|
@peer_asn = args[:peer_asn] if args.key?(:peer_asn)
|
27923
28412
|
@peer_ip_address = args[:peer_ip_address] if args.key?(:peer_ip_address)
|
28413
|
+
@router_appliance_instance = args[:router_appliance_instance] if args.key?(:router_appliance_instance)
|
28414
|
+
end
|
28415
|
+
end
|
28416
|
+
|
28417
|
+
#
|
28418
|
+
class RouterBgpPeerBfd
|
28419
|
+
include Google::Apis::Core::Hashable
|
28420
|
+
|
28421
|
+
# The minimum interval, in milliseconds, between BFD control packets received
|
28422
|
+
# from the peer router. The actual value is negotiated between the two routers
|
28423
|
+
# and is equal to the greater of this value and the transmit interval of the
|
28424
|
+
# other router. If set, this value must be between 1000 and 30000. The default
|
28425
|
+
# is 1000.
|
28426
|
+
# Corresponds to the JSON property `minReceiveInterval`
|
28427
|
+
# @return [Fixnum]
|
28428
|
+
attr_accessor :min_receive_interval
|
28429
|
+
|
28430
|
+
# The minimum interval, in milliseconds, between BFD control packets transmitted
|
28431
|
+
# to the peer router. The actual value is negotiated between the two routers and
|
28432
|
+
# is equal to the greater of this value and the corresponding receive interval
|
28433
|
+
# of the other router. If set, this value must be between 1000 and 30000. The
|
28434
|
+
# default is 1000.
|
28435
|
+
# Corresponds to the JSON property `minTransmitInterval`
|
28436
|
+
# @return [Fixnum]
|
28437
|
+
attr_accessor :min_transmit_interval
|
28438
|
+
|
28439
|
+
# The number of consecutive BFD packets that must be missed before BFD declares
|
28440
|
+
# that a peer is unavailable. If set, the value must be a value between 5 and 16.
|
28441
|
+
# The default is 5.
|
28442
|
+
# Corresponds to the JSON property `multiplier`
|
28443
|
+
# @return [Fixnum]
|
28444
|
+
attr_accessor :multiplier
|
28445
|
+
|
28446
|
+
# The BFD session initialization mode for this BGP peer. If set to ACTIVE, the
|
28447
|
+
# Cloud Router will initiate the BFD session for this BGP peer. If set to
|
28448
|
+
# PASSIVE, the Cloud Router will wait for the peer router to initiate the BFD
|
28449
|
+
# session for this BGP peer. If set to DISABLED, BFD is disabled for this BGP
|
28450
|
+
# peer. The default is PASSIVE.
|
28451
|
+
# Corresponds to the JSON property `sessionInitializationMode`
|
28452
|
+
# @return [String]
|
28453
|
+
attr_accessor :session_initialization_mode
|
28454
|
+
|
28455
|
+
def initialize(**args)
|
28456
|
+
update!(**args)
|
28457
|
+
end
|
28458
|
+
|
28459
|
+
# Update properties of this object
|
28460
|
+
def update!(**args)
|
28461
|
+
@min_receive_interval = args[:min_receive_interval] if args.key?(:min_receive_interval)
|
28462
|
+
@min_transmit_interval = args[:min_transmit_interval] if args.key?(:min_transmit_interval)
|
28463
|
+
@multiplier = args[:multiplier] if args.key?(:multiplier)
|
28464
|
+
@session_initialization_mode = args[:session_initialization_mode] if args.key?(:session_initialization_mode)
|
27924
28465
|
end
|
27925
28466
|
end
|
27926
28467
|
|
@@ -27970,6 +28511,35 @@ module Google
|
|
27970
28511
|
# @return [String]
|
27971
28512
|
attr_accessor :name
|
27972
28513
|
|
28514
|
+
# The regional private internal IP address that is used to establish BGP
|
28515
|
+
# sessions to a VM instance acting as a third-party Router Appliance, such as a
|
28516
|
+
# Next Gen Firewall, a Virtual Router, or an SD-WAN VM.
|
28517
|
+
# Corresponds to the JSON property `privateIpAddress`
|
28518
|
+
# @return [String]
|
28519
|
+
attr_accessor :private_ip_address
|
28520
|
+
|
28521
|
+
# Name of the interface that will be redundant with the current interface you
|
28522
|
+
# are creating. The redundantInterface must belong to the same Cloud Router as
|
28523
|
+
# the interface here. To establish the BGP session to a Router Appliance VM, you
|
28524
|
+
# must create two BGP peers. The two BGP peers must be attached to two separate
|
28525
|
+
# interfaces that are redundant with each other. The redundant_interface must be
|
28526
|
+
# 1-63 characters long, and comply with RFC1035. Specifically, the
|
28527
|
+
# redundant_interface must be 1-63 characters long and match the regular
|
28528
|
+
# expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must
|
28529
|
+
# be a lowercase letter, and all following characters must be a dash, lowercase
|
28530
|
+
# letter, or digit, except the last character, which cannot be a dash.
|
28531
|
+
# Corresponds to the JSON property `redundantInterface`
|
28532
|
+
# @return [String]
|
28533
|
+
attr_accessor :redundant_interface
|
28534
|
+
|
28535
|
+
# The URI of the subnetwork resource that this interface belongs to, which must
|
28536
|
+
# be in the same region as the Cloud Router. When you establish a BGP session to
|
28537
|
+
# a VM instance using this interface, the VM instance must belong to the same
|
28538
|
+
# subnetwork as the subnetwork specified here.
|
28539
|
+
# Corresponds to the JSON property `subnetwork`
|
28540
|
+
# @return [String]
|
28541
|
+
attr_accessor :subnetwork
|
28542
|
+
|
27973
28543
|
def initialize(**args)
|
27974
28544
|
update!(**args)
|
27975
28545
|
end
|
@@ -27981,6 +28551,9 @@ module Google
|
|
27981
28551
|
@linked_vpn_tunnel = args[:linked_vpn_tunnel] if args.key?(:linked_vpn_tunnel)
|
27982
28552
|
@management_type = args[:management_type] if args.key?(:management_type)
|
27983
28553
|
@name = args[:name] if args.key?(:name)
|
28554
|
+
@private_ip_address = args[:private_ip_address] if args.key?(:private_ip_address)
|
28555
|
+
@redundant_interface = args[:redundant_interface] if args.key?(:redundant_interface)
|
28556
|
+
@subnetwork = args[:subnetwork] if args.key?(:subnetwork)
|
27984
28557
|
end
|
27985
28558
|
end
|
27986
28559
|
|
@@ -28161,6 +28734,11 @@ module Google
|
|
28161
28734
|
# @return [Array<String>]
|
28162
28735
|
attr_accessor :nat_ips
|
28163
28736
|
|
28737
|
+
# A list of rules associated with this NAT.
|
28738
|
+
# Corresponds to the JSON property `rules`
|
28739
|
+
# @return [Array<Google::Apis::ComputeV1::RouterNatRule>]
|
28740
|
+
attr_accessor :rules
|
28741
|
+
|
28164
28742
|
# Specify the Nat option, which can take one of the following values: -
|
28165
28743
|
# ALL_SUBNETWORKS_ALL_IP_RANGES: All of the IP ranges in every Subnetwork are
|
28166
28744
|
# allowed to Nat. - ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGES: All of the primary IP
|
@@ -28187,6 +28765,12 @@ module Google
|
|
28187
28765
|
# @return [Fixnum]
|
28188
28766
|
attr_accessor :tcp_established_idle_timeout_sec
|
28189
28767
|
|
28768
|
+
# Timeout (in seconds) for TCP connections that are in TIME_WAIT state. Defaults
|
28769
|
+
# to 120s if not set.
|
28770
|
+
# Corresponds to the JSON property `tcpTimeWaitTimeoutSec`
|
28771
|
+
# @return [Fixnum]
|
28772
|
+
attr_accessor :tcp_time_wait_timeout_sec
|
28773
|
+
|
28190
28774
|
# Timeout (in seconds) for TCP transitory connections. Defaults to 30s if not
|
28191
28775
|
# set.
|
28192
28776
|
# Corresponds to the JSON property `tcpTransitoryIdleTimeoutSec`
|
@@ -28212,9 +28796,11 @@ module Google
|
|
28212
28796
|
@name = args[:name] if args.key?(:name)
|
28213
28797
|
@nat_ip_allocate_option = args[:nat_ip_allocate_option] if args.key?(:nat_ip_allocate_option)
|
28214
28798
|
@nat_ips = args[:nat_ips] if args.key?(:nat_ips)
|
28799
|
+
@rules = args[:rules] if args.key?(:rules)
|
28215
28800
|
@source_subnetwork_ip_ranges_to_nat = args[:source_subnetwork_ip_ranges_to_nat] if args.key?(:source_subnetwork_ip_ranges_to_nat)
|
28216
28801
|
@subnetworks = args[:subnetworks] if args.key?(:subnetworks)
|
28217
28802
|
@tcp_established_idle_timeout_sec = args[:tcp_established_idle_timeout_sec] if args.key?(:tcp_established_idle_timeout_sec)
|
28803
|
+
@tcp_time_wait_timeout_sec = args[:tcp_time_wait_timeout_sec] if args.key?(:tcp_time_wait_timeout_sec)
|
28218
28804
|
@tcp_transitory_idle_timeout_sec = args[:tcp_transitory_idle_timeout_sec] if args.key?(:tcp_transitory_idle_timeout_sec)
|
28219
28805
|
@udp_idle_timeout_sec = args[:udp_idle_timeout_sec] if args.key?(:udp_idle_timeout_sec)
|
28220
28806
|
end
|
@@ -28250,6 +28836,80 @@ module Google
|
|
28250
28836
|
end
|
28251
28837
|
end
|
28252
28838
|
|
28839
|
+
#
|
28840
|
+
class RouterNatRule
|
28841
|
+
include Google::Apis::Core::Hashable
|
28842
|
+
|
28843
|
+
# The action to be enforced for traffic that matches this rule.
|
28844
|
+
# Corresponds to the JSON property `action`
|
28845
|
+
# @return [Google::Apis::ComputeV1::RouterNatRuleAction]
|
28846
|
+
attr_accessor :action
|
28847
|
+
|
28848
|
+
# An optional description of this rule.
|
28849
|
+
# Corresponds to the JSON property `description`
|
28850
|
+
# @return [String]
|
28851
|
+
attr_accessor :description
|
28852
|
+
|
28853
|
+
# CEL expression that specifies the match condition that egress traffic from a
|
28854
|
+
# VM is evaluated against. If it evaluates to true, the corresponding `action`
|
28855
|
+
# is enforced. The following examples are valid match expressions for public NAT:
|
28856
|
+
# "inIpRange(destination.ip, '1.1.0.0/16') || inIpRange(destination.ip, '2.2.0.
|
28857
|
+
# 0/16')" "destination.ip == '1.1.0.1' || destination.ip == '8.8.8.8'" The
|
28858
|
+
# following example is a valid match expression for private NAT: "nexthop.hub ==
|
28859
|
+
# '/projects/my-project/global/hub/hub-1'"
|
28860
|
+
# Corresponds to the JSON property `match`
|
28861
|
+
# @return [String]
|
28862
|
+
attr_accessor :match
|
28863
|
+
|
28864
|
+
# An integer uniquely identifying a rule in the list. The rule number must be a
|
28865
|
+
# positive value between 0 and 65000, and must be unique among rules within a
|
28866
|
+
# NAT.
|
28867
|
+
# Corresponds to the JSON property `ruleNumber`
|
28868
|
+
# @return [Fixnum]
|
28869
|
+
attr_accessor :rule_number
|
28870
|
+
|
28871
|
+
def initialize(**args)
|
28872
|
+
update!(**args)
|
28873
|
+
end
|
28874
|
+
|
28875
|
+
# Update properties of this object
|
28876
|
+
def update!(**args)
|
28877
|
+
@action = args[:action] if args.key?(:action)
|
28878
|
+
@description = args[:description] if args.key?(:description)
|
28879
|
+
@match = args[:match] if args.key?(:match)
|
28880
|
+
@rule_number = args[:rule_number] if args.key?(:rule_number)
|
28881
|
+
end
|
28882
|
+
end
|
28883
|
+
|
28884
|
+
#
|
28885
|
+
class RouterNatRuleAction
|
28886
|
+
include Google::Apis::Core::Hashable
|
28887
|
+
|
28888
|
+
# A list of URLs of the IP resources used for this NAT rule. These IP addresses
|
28889
|
+
# must be valid static external IP addresses assigned to the project. This field
|
28890
|
+
# is used for public NAT.
|
28891
|
+
# Corresponds to the JSON property `sourceNatActiveIps`
|
28892
|
+
# @return [Array<String>]
|
28893
|
+
attr_accessor :source_nat_active_ips
|
28894
|
+
|
28895
|
+
# A list of URLs of the IP resources to be drained. These IPs must be valid
|
28896
|
+
# static external IPs that have been assigned to the NAT. These IPs should be
|
28897
|
+
# used for updating/patching a NAT rule only. This field is used for public NAT.
|
28898
|
+
# Corresponds to the JSON property `sourceNatDrainIps`
|
28899
|
+
# @return [Array<String>]
|
28900
|
+
attr_accessor :source_nat_drain_ips
|
28901
|
+
|
28902
|
+
def initialize(**args)
|
28903
|
+
update!(**args)
|
28904
|
+
end
|
28905
|
+
|
28906
|
+
# Update properties of this object
|
28907
|
+
def update!(**args)
|
28908
|
+
@source_nat_active_ips = args[:source_nat_active_ips] if args.key?(:source_nat_active_ips)
|
28909
|
+
@source_nat_drain_ips = args[:source_nat_drain_ips] if args.key?(:source_nat_drain_ips)
|
28910
|
+
end
|
28911
|
+
end
|
28912
|
+
|
28253
28913
|
# Defines the IP ranges that want to use NAT for a subnetwork.
|
28254
28914
|
class RouterNatSubnetworkToNat
|
28255
28915
|
include Google::Apis::Core::Hashable
|
@@ -28338,6 +28998,11 @@ module Google
|
|
28338
28998
|
# @return [Array<Google::Apis::ComputeV1::Route>]
|
28339
28999
|
attr_accessor :advertised_routes
|
28340
29000
|
|
29001
|
+
# Next free: 15
|
29002
|
+
# Corresponds to the JSON property `bfdStatus`
|
29003
|
+
# @return [Google::Apis::ComputeV1::BfdStatus]
|
29004
|
+
attr_accessor :bfd_status
|
29005
|
+
|
28341
29006
|
# IP address of the local BGP interface.
|
28342
29007
|
# Corresponds to the JSON property `ipAddress`
|
28343
29008
|
# @return [String]
|
@@ -28363,6 +29028,13 @@ module Google
|
|
28363
29028
|
# @return [String]
|
28364
29029
|
attr_accessor :peer_ip_address
|
28365
29030
|
|
29031
|
+
# [Output only] URI of the VM instance that is used as third-party router
|
29032
|
+
# appliances such as Next Gen Firewalls, Virtual Routers, or Router Appliances.
|
29033
|
+
# The VM instance is the peer side of the BGP session.
|
29034
|
+
# Corresponds to the JSON property `routerApplianceInstance`
|
29035
|
+
# @return [String]
|
29036
|
+
attr_accessor :router_appliance_instance
|
29037
|
+
|
28366
29038
|
# BGP state as specified in RFC1771.
|
28367
29039
|
# Corresponds to the JSON property `state`
|
28368
29040
|
# @return [String]
|
@@ -28391,11 +29063,13 @@ module Google
|
|
28391
29063
|
# Update properties of this object
|
28392
29064
|
def update!(**args)
|
28393
29065
|
@advertised_routes = args[:advertised_routes] if args.key?(:advertised_routes)
|
29066
|
+
@bfd_status = args[:bfd_status] if args.key?(:bfd_status)
|
28394
29067
|
@ip_address = args[:ip_address] if args.key?(:ip_address)
|
28395
29068
|
@linked_vpn_tunnel = args[:linked_vpn_tunnel] if args.key?(:linked_vpn_tunnel)
|
28396
29069
|
@name = args[:name] if args.key?(:name)
|
28397
29070
|
@num_learned_routes = args[:num_learned_routes] if args.key?(:num_learned_routes)
|
28398
29071
|
@peer_ip_address = args[:peer_ip_address] if args.key?(:peer_ip_address)
|
29072
|
+
@router_appliance_instance = args[:router_appliance_instance] if args.key?(:router_appliance_instance)
|
28399
29073
|
@state = args[:state] if args.key?(:state)
|
28400
29074
|
@status = args[:status] if args.key?(:status)
|
28401
29075
|
@uptime = args[:uptime] if args.key?(:uptime)
|
@@ -28441,6 +29115,11 @@ module Google
|
|
28441
29115
|
# @return [Fixnum]
|
28442
29116
|
attr_accessor :num_vm_endpoints_with_nat_mappings
|
28443
29117
|
|
29118
|
+
# Status of rules in this NAT.
|
29119
|
+
# Corresponds to the JSON property `ruleStatus`
|
29120
|
+
# @return [Array<Google::Apis::ComputeV1::RouterStatusNatStatusNatRuleStatus>]
|
29121
|
+
attr_accessor :rule_status
|
29122
|
+
|
28444
29123
|
# A list of fully qualified URLs of reserved IP address resources.
|
28445
29124
|
# Corresponds to the JSON property `userAllocatedNatIpResources`
|
28446
29125
|
# @return [Array<String>]
|
@@ -28464,11 +29143,58 @@ module Google
|
|
28464
29143
|
@min_extra_nat_ips_needed = args[:min_extra_nat_ips_needed] if args.key?(:min_extra_nat_ips_needed)
|
28465
29144
|
@name = args[:name] if args.key?(:name)
|
28466
29145
|
@num_vm_endpoints_with_nat_mappings = args[:num_vm_endpoints_with_nat_mappings] if args.key?(:num_vm_endpoints_with_nat_mappings)
|
29146
|
+
@rule_status = args[:rule_status] if args.key?(:rule_status)
|
28467
29147
|
@user_allocated_nat_ip_resources = args[:user_allocated_nat_ip_resources] if args.key?(:user_allocated_nat_ip_resources)
|
28468
29148
|
@user_allocated_nat_ips = args[:user_allocated_nat_ips] if args.key?(:user_allocated_nat_ips)
|
28469
29149
|
end
|
28470
29150
|
end
|
28471
29151
|
|
29152
|
+
# Status of a NAT Rule contained in this NAT.
|
29153
|
+
class RouterStatusNatStatusNatRuleStatus
|
29154
|
+
include Google::Apis::Core::Hashable
|
29155
|
+
|
29156
|
+
# A list of active IPs for NAT. Example: ["1.1.1.1", "179.12.26.133"].
|
29157
|
+
# Corresponds to the JSON property `activeNatIps`
|
29158
|
+
# @return [Array<String>]
|
29159
|
+
attr_accessor :active_nat_ips
|
29160
|
+
|
29161
|
+
# A list of IPs for NAT that are in drain mode. Example: ["1.1.1.1", "179.12.26.
|
29162
|
+
# 133"].
|
29163
|
+
# Corresponds to the JSON property `drainNatIps`
|
29164
|
+
# @return [Array<String>]
|
29165
|
+
attr_accessor :drain_nat_ips
|
29166
|
+
|
29167
|
+
# The number of extra IPs to allocate. This will be greater than 0 only if the
|
29168
|
+
# existing IPs in this NAT Rule are NOT enough to allow all configured VMs to
|
29169
|
+
# use NAT.
|
29170
|
+
# Corresponds to the JSON property `minExtraIpsNeeded`
|
29171
|
+
# @return [Fixnum]
|
29172
|
+
attr_accessor :min_extra_ips_needed
|
29173
|
+
|
29174
|
+
# Number of VM endpoints (i.e., NICs) that have NAT Mappings from this NAT Rule.
|
29175
|
+
# Corresponds to the JSON property `numVmEndpointsWithNatMappings`
|
29176
|
+
# @return [Fixnum]
|
29177
|
+
attr_accessor :num_vm_endpoints_with_nat_mappings
|
29178
|
+
|
29179
|
+
# Rule number of the rule.
|
29180
|
+
# Corresponds to the JSON property `ruleNumber`
|
29181
|
+
# @return [Fixnum]
|
29182
|
+
attr_accessor :rule_number
|
29183
|
+
|
29184
|
+
def initialize(**args)
|
29185
|
+
update!(**args)
|
29186
|
+
end
|
29187
|
+
|
29188
|
+
# Update properties of this object
|
29189
|
+
def update!(**args)
|
29190
|
+
@active_nat_ips = args[:active_nat_ips] if args.key?(:active_nat_ips)
|
29191
|
+
@drain_nat_ips = args[:drain_nat_ips] if args.key?(:drain_nat_ips)
|
29192
|
+
@min_extra_ips_needed = args[:min_extra_ips_needed] if args.key?(:min_extra_ips_needed)
|
29193
|
+
@num_vm_endpoints_with_nat_mappings = args[:num_vm_endpoints_with_nat_mappings] if args.key?(:num_vm_endpoints_with_nat_mappings)
|
29194
|
+
@rule_number = args[:rule_number] if args.key?(:rule_number)
|
29195
|
+
end
|
29196
|
+
end
|
29197
|
+
|
28472
29198
|
#
|
28473
29199
|
class RouterStatusResponse
|
28474
29200
|
include Google::Apis::Core::Hashable
|
@@ -29481,7 +30207,7 @@ module Google
|
|
29481
30207
|
# Represents a ServiceAttachment resource. A service attachment represents a
|
29482
30208
|
# service that a producer has exposed. It encapsulates the load balancer which
|
29483
30209
|
# fronts the service runs and a list of NAT IP ranges that the producers uses to
|
29484
|
-
# represent the consumers connecting to the service. next tag =
|
30210
|
+
# represent the consumers connecting to the service. next tag = 20
|
29485
30211
|
class ServiceAttachment
|
29486
30212
|
include Google::Apis::Core::Hashable
|
29487
30213
|
|
@@ -30010,6 +30736,25 @@ module Google
|
|
30010
30736
|
end
|
30011
30737
|
end
|
30012
30738
|
|
30739
|
+
# The share setting for reservations and sole tenancy node groups.
|
30740
|
+
class ShareSettings
|
30741
|
+
include Google::Apis::Core::Hashable
|
30742
|
+
|
30743
|
+
# Type of sharing for this shared-reservation
|
30744
|
+
# Corresponds to the JSON property `shareType`
|
30745
|
+
# @return [String]
|
30746
|
+
attr_accessor :share_type
|
30747
|
+
|
30748
|
+
def initialize(**args)
|
30749
|
+
update!(**args)
|
30750
|
+
end
|
30751
|
+
|
30752
|
+
# Update properties of this object
|
30753
|
+
def update!(**args)
|
30754
|
+
@share_type = args[:share_type] if args.key?(:share_type)
|
30755
|
+
end
|
30756
|
+
end
|
30757
|
+
|
30013
30758
|
# A set of Shielded Instance options.
|
30014
30759
|
class ShieldedInstanceConfig
|
30015
30760
|
include Google::Apis::Core::Hashable
|
@@ -31508,9 +32253,8 @@ module Google
|
|
31508
32253
|
attr_accessor :name
|
31509
32254
|
|
31510
32255
|
# The URL of the network to which this subnetwork belongs, provided by the
|
31511
|
-
# client when initially creating the subnetwork.
|
31512
|
-
#
|
31513
|
-
# creation time.
|
32256
|
+
# client when initially creating the subnetwork. This field can be set only at
|
32257
|
+
# resource creation time.
|
31514
32258
|
# Corresponds to the JSON property `network`
|
31515
32259
|
# @return [String]
|
31516
32260
|
attr_accessor :network
|
@@ -32086,6 +32830,27 @@ module Google
|
|
32086
32830
|
end
|
32087
32831
|
end
|
32088
32832
|
|
32833
|
+
# Subsetting configuration for this BackendService. Currently this is applicable
|
32834
|
+
# only for Internal TCP/UDP load balancing, Internal HTTP(S) load balancing and
|
32835
|
+
# Traffic Director.
|
32836
|
+
class Subsetting
|
32837
|
+
include Google::Apis::Core::Hashable
|
32838
|
+
|
32839
|
+
#
|
32840
|
+
# Corresponds to the JSON property `policy`
|
32841
|
+
# @return [String]
|
32842
|
+
attr_accessor :policy
|
32843
|
+
|
32844
|
+
def initialize(**args)
|
32845
|
+
update!(**args)
|
32846
|
+
end
|
32847
|
+
|
32848
|
+
# Update properties of this object
|
32849
|
+
def update!(**args)
|
32850
|
+
@policy = args[:policy] if args.key?(:policy)
|
32851
|
+
end
|
32852
|
+
end
|
32853
|
+
|
32089
32854
|
#
|
32090
32855
|
class TcpHealthCheck
|
32091
32856
|
include Google::Apis::Core::Hashable
|
@@ -33356,6 +34121,13 @@ module Google
|
|
33356
34121
|
# @return [String]
|
33357
34122
|
attr_accessor :nat_policy
|
33358
34123
|
|
34124
|
+
# The URL of the network this target instance uses to forward traffic. If not
|
34125
|
+
# specified, the traffic will be forwarded to the network that the default
|
34126
|
+
# network interface belongs to.
|
34127
|
+
# Corresponds to the JSON property `network`
|
34128
|
+
# @return [String]
|
34129
|
+
attr_accessor :network
|
34130
|
+
|
33359
34131
|
# [Output Only] Server-defined URL for the resource.
|
33360
34132
|
# Corresponds to the JSON property `selfLink`
|
33361
34133
|
# @return [String]
|
@@ -33381,6 +34153,7 @@ module Google
|
|
33381
34153
|
@kind = args[:kind] if args.key?(:kind)
|
33382
34154
|
@name = args[:name] if args.key?(:name)
|
33383
34155
|
@nat_policy = args[:nat_policy] if args.key?(:nat_policy)
|
34156
|
+
@network = args[:network] if args.key?(:network)
|
33384
34157
|
@self_link = args[:self_link] if args.key?(:self_link)
|
33385
34158
|
@zone = args[:zone] if args.key?(:zone)
|
33386
34159
|
end
|
@@ -38173,7 +38946,7 @@ module Google
|
|
38173
38946
|
# resourcemanager.organizationAdmin - members: - user:eve@example.com role:
|
38174
38947
|
# roles/resourcemanager.organizationViewer condition: title: expirable access
|
38175
38948
|
# description: Does not grant access after Sep 2020 expression: request.time <
|
38176
|
-
# timestamp('2020-10-01T00:00:00.000Z')
|
38949
|
+
# timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a
|
38177
38950
|
# description of IAM and its features, see the [IAM documentation](https://cloud.
|
38178
38951
|
# google.com/iam/docs/).
|
38179
38952
|
# Corresponds to the JSON property `policy`
|