google-apis-compute_v1 0.15.0 → 0.19.0
Sign up to get free protection for your applications and to get access to all the features.
- 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`
|