google-apis-compute_v1 0.88.0 → 0.90.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.
@@ -1701,8 +1701,8 @@ module Google
1701
1701
  attr_accessor :provisioned_iops
1702
1702
 
1703
1703
  # Indicates how much throughput to provision for the disk. This sets the number
1704
- # of throughput mb per second that the disk can handle. Values must be between 1
1705
- # and 7,124.
1704
+ # of throughput mb per second that the disk can handle. Values must greater than
1705
+ # or equal to 1.
1706
1706
  # Corresponds to the JSON property `provisionedThroughput`
1707
1707
  # @return [Fixnum]
1708
1708
  attr_accessor :provisioned_throughput
@@ -2838,6 +2838,16 @@ module Google
2838
2838
  # @return [Float]
2839
2839
  attr_accessor :max_utilization
2840
2840
 
2841
+ # This field indicates whether this backend should be fully utilized before
2842
+ # sending traffic to backends with default preference. The possible values are: -
2843
+ # PREFERRED: Backends with this preference level will be filled up to their
2844
+ # capacity limits first, based on RTT. - DEFAULT: If preferred backends don't
2845
+ # have enough capacity, backends in this layer would be used and traffic would
2846
+ # be assigned based on the load balancing algorithm you use. This is the default
2847
+ # Corresponds to the JSON property `preference`
2848
+ # @return [String]
2849
+ attr_accessor :preference
2850
+
2841
2851
  def initialize(**args)
2842
2852
  update!(**args)
2843
2853
  end
@@ -2856,6 +2866,7 @@ module Google
2856
2866
  @max_rate_per_endpoint = args[:max_rate_per_endpoint] if args.key?(:max_rate_per_endpoint)
2857
2867
  @max_rate_per_instance = args[:max_rate_per_instance] if args.key?(:max_rate_per_instance)
2858
2868
  @max_utilization = args[:max_utilization] if args.key?(:max_utilization)
2869
+ @preference = args[:preference] if args.key?(:preference)
2859
2870
  end
2860
2871
  end
2861
2872
 
@@ -3603,6 +3614,13 @@ module Google
3603
3614
  # @return [Array<String>]
3604
3615
  attr_accessor :service_bindings
3605
3616
 
3617
+ # URL to networkservices.ServiceLbPolicy resource. Can only be set if load
3618
+ # balancing scheme is EXTERNAL, EXTERNAL_MANAGED, INTERNAL_MANAGED or
3619
+ # INTERNAL_SELF_MANAGED and the scope is global.
3620
+ # Corresponds to the JSON property `serviceLbPolicy`
3621
+ # @return [String]
3622
+ attr_accessor :service_lb_policy
3623
+
3606
3624
  # Type of session affinity to use. The default is NONE. Only NONE and
3607
3625
  # HEADER_FIELD are supported when the backend service is referenced by a URL map
3608
3626
  # that is bound to target gRPC proxy that has validateForProxyless field set to
@@ -3679,6 +3697,7 @@ module Google
3679
3697
  @security_settings = args[:security_settings] if args.key?(:security_settings)
3680
3698
  @self_link = args[:self_link] if args.key?(:self_link)
3681
3699
  @service_bindings = args[:service_bindings] if args.key?(:service_bindings)
3700
+ @service_lb_policy = args[:service_lb_policy] if args.key?(:service_lb_policy)
3682
3701
  @session_affinity = args[:session_affinity] if args.key?(:session_affinity)
3683
3702
  @subsetting = args[:subsetting] if args.key?(:subsetting)
3684
3703
  @timeout_sec = args[:timeout_sec] if args.key?(:timeout_sec)
@@ -6434,8 +6453,8 @@ module Google
6434
6453
  attr_accessor :provisioned_iops
6435
6454
 
6436
6455
  # Indicates how much throughput to provision for the disk. This sets the number
6437
- # of throughput mb per second that the disk can handle. Values must be between 1
6438
- # and 7,124.
6456
+ # of throughput mb per second that the disk can handle. Values must be greater
6457
+ # than or equal to 1.
6439
6458
  # Corresponds to the JSON property `provisionedThroughput`
6440
6459
  # @return [Fixnum]
6441
6460
  attr_accessor :provisioned_throughput
@@ -6550,6 +6569,25 @@ module Google
6550
6569
  # @return [String]
6551
6570
  attr_accessor :source_image_id
6552
6571
 
6572
+ # The source instant snapshot used to create this disk. You can provide this as
6573
+ # a partial or full URL to the resource. For example, the following are valid
6574
+ # values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /
6575
+ # instantSnapshots/instantSnapshot - projects/project/zones/zone/
6576
+ # instantSnapshots/instantSnapshot - zones/zone/instantSnapshots/instantSnapshot
6577
+ # Corresponds to the JSON property `sourceInstantSnapshot`
6578
+ # @return [String]
6579
+ attr_accessor :source_instant_snapshot
6580
+
6581
+ # [Output Only] The unique ID of the instant snapshot used to create this disk.
6582
+ # This value identifies the exact instant snapshot that was used to create this
6583
+ # persistent disk. For example, if you created the persistent disk from an
6584
+ # instant snapshot that was later deleted and recreated under the same name, the
6585
+ # source instant snapshot ID would identify the exact version of the instant
6586
+ # snapshot that was used.
6587
+ # Corresponds to the JSON property `sourceInstantSnapshotId`
6588
+ # @return [String]
6589
+ attr_accessor :source_instant_snapshot_id
6590
+
6553
6591
  # The source snapshot used to create this disk. You can provide this as a
6554
6592
  # partial or full URL to the resource. For example, the following are valid
6555
6593
  # values: - https://www.googleapis.com/compute/v1/projects/project /global/
@@ -6655,6 +6693,8 @@ module Google
6655
6693
  @source_image = args[:source_image] if args.key?(:source_image)
6656
6694
  @source_image_encryption_key = args[:source_image_encryption_key] if args.key?(:source_image_encryption_key)
6657
6695
  @source_image_id = args[:source_image_id] if args.key?(:source_image_id)
6696
+ @source_instant_snapshot = args[:source_instant_snapshot] if args.key?(:source_instant_snapshot)
6697
+ @source_instant_snapshot_id = args[:source_instant_snapshot_id] if args.key?(:source_instant_snapshot_id)
6658
6698
  @source_snapshot = args[:source_snapshot] if args.key?(:source_snapshot)
6659
6699
  @source_snapshot_encryption_key = args[:source_snapshot_encryption_key] if args.key?(:source_snapshot_encryption_key)
6660
6700
  @source_snapshot_id = args[:source_snapshot_id] if args.key?(:source_snapshot_id)
@@ -8232,6 +8272,16 @@ module Google
8232
8272
  # @return [String]
8233
8273
  attr_accessor :ip_address
8234
8274
 
8275
+ # IPv6 address of the interface in the external VPN gateway. This IPv6 address
8276
+ # can be either from your on-premise gateway or another Cloud provider's VPN
8277
+ # gateway, it cannot be an IP address from Google Compute Engine. Must specify
8278
+ # an IPv6 address (not IPV4-mapped) using any format described in RFC 4291 (e.g.
8279
+ # 2001:db8:0:0:2d9:51:0:0). The output format is RFC 5952 format (e.g. 2001:db8::
8280
+ # 2d9:51:0:0).
8281
+ # Corresponds to the JSON property `ipv6Address`
8282
+ # @return [String]
8283
+ attr_accessor :ipv6_address
8284
+
8235
8285
  def initialize(**args)
8236
8286
  update!(**args)
8237
8287
  end
@@ -8240,6 +8290,7 @@ module Google
8240
8290
  def update!(**args)
8241
8291
  @id = args[:id] if args.key?(:id)
8242
8292
  @ip_address = args[:ip_address] if args.key?(:ip_address)
8293
+ @ipv6_address = args[:ipv6_address] if args.key?(:ipv6_address)
8243
8294
  end
8244
8295
  end
8245
8296
 
@@ -14443,6 +14494,12 @@ module Google
14443
14494
  class InstanceGroupManager
14444
14495
  include Google::Apis::Core::Hashable
14445
14496
 
14497
+ # Specifies configuration that overrides the instance template configuration for
14498
+ # the group.
14499
+ # Corresponds to the JSON property `allInstancesConfig`
14500
+ # @return [Google::Apis::ComputeV1::InstanceGroupManagerAllInstancesConfig]
14501
+ attr_accessor :all_instances_config
14502
+
14446
14503
  # The autohealing policy for this managed instance group. You can specify only
14447
14504
  # one value.
14448
14505
  # Corresponds to the JSON property `autoHealingPolicies`
@@ -14603,6 +14660,7 @@ module Google
14603
14660
 
14604
14661
  # Update properties of this object
14605
14662
  def update!(**args)
14663
+ @all_instances_config = args[:all_instances_config] if args.key?(:all_instances_config)
14606
14664
  @auto_healing_policies = args[:auto_healing_policies] if args.key?(:auto_healing_policies)
14607
14665
  @base_instance_name = args[:base_instance_name] if args.key?(:base_instance_name)
14608
14666
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
@@ -14869,6 +14927,25 @@ module Google
14869
14927
  end
14870
14928
  end
14871
14929
 
14930
+ #
14931
+ class InstanceGroupManagerAllInstancesConfig
14932
+ include Google::Apis::Core::Hashable
14933
+
14934
+ # Represents the change that you want to make to the instance properties.
14935
+ # Corresponds to the JSON property `properties`
14936
+ # @return [Google::Apis::ComputeV1::InstancePropertiesPatch]
14937
+ attr_accessor :properties
14938
+
14939
+ def initialize(**args)
14940
+ update!(**args)
14941
+ end
14942
+
14943
+ # Update properties of this object
14944
+ def update!(**args)
14945
+ @properties = args[:properties] if args.key?(:properties)
14946
+ end
14947
+ end
14948
+
14872
14949
  #
14873
14950
  class InstanceGroupManagerAutoHealingPolicy
14874
14951
  include Google::Apis::Core::Hashable
@@ -14904,6 +14981,15 @@ module Google
14904
14981
  class InstanceGroupManagerInstanceLifecyclePolicy
14905
14982
  include Google::Apis::Core::Hashable
14906
14983
 
14984
+ # The action that a MIG performs on a failed or an unhealthy VM. A VM is marked
14985
+ # as unhealthy when the application running on that VM fails a health check.
14986
+ # Valid values are - REPAIR (default): MIG automatically repairs a failed or an
14987
+ # unhealthy VM by recreating it. For more information, see About repairing VMs
14988
+ # in a MIG. - DO_NOTHING: MIG does not repair a failed or an unhealthy VM.
14989
+ # Corresponds to the JSON property `defaultActionOnFailure`
14990
+ # @return [String]
14991
+ attr_accessor :default_action_on_failure
14992
+
14907
14993
  # A bit indicating whether to forcefully apply the group's latest configuration
14908
14994
  # when repairing a VM. Valid options are: - NO (default): If configuration
14909
14995
  # updates are available, they are not forcefully applied during repair. Instead,
@@ -14919,6 +15005,7 @@ module Google
14919
15005
 
14920
15006
  # Update properties of this object
14921
15007
  def update!(**args)
15008
+ @default_action_on_failure = args[:default_action_on_failure] if args.key?(:default_action_on_failure)
14922
15009
  @force_update_on_repair = args[:force_update_on_repair] if args.key?(:force_update_on_repair)
14923
15010
  end
14924
15011
  end
@@ -15045,6 +15132,11 @@ module Google
15045
15132
  class InstanceGroupManagerStatus
15046
15133
  include Google::Apis::Core::Hashable
15047
15134
 
15135
+ # [Output only] Status of all-instances configuration on the group.
15136
+ # Corresponds to the JSON property `allInstancesConfig`
15137
+ # @return [Google::Apis::ComputeV1::InstanceGroupManagerStatusAllInstancesConfig]
15138
+ attr_accessor :all_instances_config
15139
+
15048
15140
  # [Output Only] The URL of the Autoscaler that targets this instance group
15049
15141
  # manager.
15050
15142
  # Corresponds to the JSON property `autoscaler`
@@ -15079,6 +15171,7 @@ module Google
15079
15171
 
15080
15172
  # Update properties of this object
15081
15173
  def update!(**args)
15174
+ @all_instances_config = args[:all_instances_config] if args.key?(:all_instances_config)
15082
15175
  @autoscaler = args[:autoscaler] if args.key?(:autoscaler)
15083
15176
  @is_stable = args[:is_stable] if args.key?(:is_stable)
15084
15177
  @stateful = args[:stateful] if args.key?(:stateful)
@@ -15086,6 +15179,34 @@ module Google
15086
15179
  end
15087
15180
  end
15088
15181
 
15182
+ #
15183
+ class InstanceGroupManagerStatusAllInstancesConfig
15184
+ include Google::Apis::Core::Hashable
15185
+
15186
+ # [Output Only] Current all-instances configuration revision. This value is in
15187
+ # RFC3339 text format.
15188
+ # Corresponds to the JSON property `currentRevision`
15189
+ # @return [String]
15190
+ attr_accessor :current_revision
15191
+
15192
+ # [Output Only] A bit indicating whether this configuration has been applied to
15193
+ # all managed instances in the group.
15194
+ # Corresponds to the JSON property `effective`
15195
+ # @return [Boolean]
15196
+ attr_accessor :effective
15197
+ alias_method :effective?, :effective
15198
+
15199
+ def initialize(**args)
15200
+ update!(**args)
15201
+ end
15202
+
15203
+ # Update properties of this object
15204
+ def update!(**args)
15205
+ @current_revision = args[:current_revision] if args.key?(:current_revision)
15206
+ @effective = args[:effective] if args.key?(:effective)
15207
+ end
15208
+ end
15209
+
15089
15210
  #
15090
15211
  class InstanceGroupManagerStatusStateful
15091
15212
  include Google::Apis::Core::Hashable
@@ -16638,6 +16759,32 @@ module Google
16638
16759
  end
16639
16760
  end
16640
16761
 
16762
+ # Represents the change that you want to make to the instance properties.
16763
+ class InstancePropertiesPatch
16764
+ include Google::Apis::Core::Hashable
16765
+
16766
+ # The label key-value pairs that you want to patch onto the instance.
16767
+ # Corresponds to the JSON property `labels`
16768
+ # @return [Hash<String,String>]
16769
+ attr_accessor :labels
16770
+
16771
+ # The metadata key-value pairs that you want to patch onto the instance. For
16772
+ # more information, see Project and instance metadata.
16773
+ # Corresponds to the JSON property `metadata`
16774
+ # @return [Hash<String,String>]
16775
+ attr_accessor :metadata
16776
+
16777
+ def initialize(**args)
16778
+ update!(**args)
16779
+ end
16780
+
16781
+ # Update properties of this object
16782
+ def update!(**args)
16783
+ @labels = args[:labels] if args.key?(:labels)
16784
+ @metadata = args[:metadata] if args.key?(:metadata)
16785
+ end
16786
+ end
16787
+
16641
16788
  #
16642
16789
  class InstanceReference
16643
16790
  include Google::Apis::Core::Hashable
@@ -17331,106 +17478,603 @@ module Google
17331
17478
  end
17332
17479
 
17333
17480
  #
17334
- class InstancesSetLabelsRequest
17481
+ class InstancesSetLabelsRequest
17482
+ include Google::Apis::Core::Hashable
17483
+
17484
+ # Fingerprint of the previous set of labels for this resource, used to prevent
17485
+ # conflicts. Provide the latest fingerprint value when making a request to add
17486
+ # or change labels.
17487
+ # Corresponds to the JSON property `labelFingerprint`
17488
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
17489
+ # @return [String]
17490
+ attr_accessor :label_fingerprint
17491
+
17492
+ #
17493
+ # Corresponds to the JSON property `labels`
17494
+ # @return [Hash<String,String>]
17495
+ attr_accessor :labels
17496
+
17497
+ def initialize(**args)
17498
+ update!(**args)
17499
+ end
17500
+
17501
+ # Update properties of this object
17502
+ def update!(**args)
17503
+ @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
17504
+ @labels = args[:labels] if args.key?(:labels)
17505
+ end
17506
+ end
17507
+
17508
+ #
17509
+ class InstancesSetMachineResourcesRequest
17510
+ include Google::Apis::Core::Hashable
17511
+
17512
+ # A list of the type and count of accelerator cards attached to the instance.
17513
+ # Corresponds to the JSON property `guestAccelerators`
17514
+ # @return [Array<Google::Apis::ComputeV1::AcceleratorConfig>]
17515
+ attr_accessor :guest_accelerators
17516
+
17517
+ def initialize(**args)
17518
+ update!(**args)
17519
+ end
17520
+
17521
+ # Update properties of this object
17522
+ def update!(**args)
17523
+ @guest_accelerators = args[:guest_accelerators] if args.key?(:guest_accelerators)
17524
+ end
17525
+ end
17526
+
17527
+ #
17528
+ class InstancesSetMachineTypeRequest
17529
+ include Google::Apis::Core::Hashable
17530
+
17531
+ # Full or partial URL of the machine type resource. See Machine Types for a full
17532
+ # list of machine types. For example: zones/us-central1-f/machineTypes/n1-
17533
+ # standard-1
17534
+ # Corresponds to the JSON property `machineType`
17535
+ # @return [String]
17536
+ attr_accessor :machine_type
17537
+
17538
+ def initialize(**args)
17539
+ update!(**args)
17540
+ end
17541
+
17542
+ # Update properties of this object
17543
+ def update!(**args)
17544
+ @machine_type = args[:machine_type] if args.key?(:machine_type)
17545
+ end
17546
+ end
17547
+
17548
+ #
17549
+ class InstancesSetMinCpuPlatformRequest
17550
+ include Google::Apis::Core::Hashable
17551
+
17552
+ # Minimum cpu/platform this instance should be started at.
17553
+ # Corresponds to the JSON property `minCpuPlatform`
17554
+ # @return [String]
17555
+ attr_accessor :min_cpu_platform
17556
+
17557
+ def initialize(**args)
17558
+ update!(**args)
17559
+ end
17560
+
17561
+ # Update properties of this object
17562
+ def update!(**args)
17563
+ @min_cpu_platform = args[:min_cpu_platform] if args.key?(:min_cpu_platform)
17564
+ end
17565
+ end
17566
+
17567
+ #
17568
+ class InstancesSetNameRequest
17569
+ include Google::Apis::Core::Hashable
17570
+
17571
+ # The current name of this resource, used to prevent conflicts. Provide the
17572
+ # latest name when making a request to change name.
17573
+ # Corresponds to the JSON property `currentName`
17574
+ # @return [String]
17575
+ attr_accessor :current_name
17576
+
17577
+ # The name to be applied to the instance. Needs to be RFC 1035 compliant.
17578
+ # Corresponds to the JSON property `name`
17579
+ # @return [String]
17580
+ attr_accessor :name
17581
+
17582
+ def initialize(**args)
17583
+ update!(**args)
17584
+ end
17585
+
17586
+ # Update properties of this object
17587
+ def update!(**args)
17588
+ @current_name = args[:current_name] if args.key?(:current_name)
17589
+ @name = args[:name] if args.key?(:name)
17590
+ end
17591
+ end
17592
+
17593
+ #
17594
+ class InstancesSetSecurityPolicyRequest
17595
+ include Google::Apis::Core::Hashable
17596
+
17597
+ # The network interfaces that the security policy will be applied to. Network
17598
+ # interfaces use the nicN naming format. You can only set a security policy for
17599
+ # network interfaces with an access config.
17600
+ # Corresponds to the JSON property `networkInterfaces`
17601
+ # @return [Array<String>]
17602
+ attr_accessor :network_interfaces
17603
+
17604
+ # A full or partial URL to a security policy to add to this instance. If this
17605
+ # field is set to an empty string it will remove the associated security policy.
17606
+ # Corresponds to the JSON property `securityPolicy`
17607
+ # @return [String]
17608
+ attr_accessor :security_policy
17609
+
17610
+ def initialize(**args)
17611
+ update!(**args)
17612
+ end
17613
+
17614
+ # Update properties of this object
17615
+ def update!(**args)
17616
+ @network_interfaces = args[:network_interfaces] if args.key?(:network_interfaces)
17617
+ @security_policy = args[:security_policy] if args.key?(:security_policy)
17618
+ end
17619
+ end
17620
+
17621
+ #
17622
+ class InstancesSetServiceAccountRequest
17623
+ include Google::Apis::Core::Hashable
17624
+
17625
+ # Email address of the service account.
17626
+ # Corresponds to the JSON property `email`
17627
+ # @return [String]
17628
+ attr_accessor :email
17629
+
17630
+ # The list of scopes to be made available for this service account.
17631
+ # Corresponds to the JSON property `scopes`
17632
+ # @return [Array<String>]
17633
+ attr_accessor :scopes
17634
+
17635
+ def initialize(**args)
17636
+ update!(**args)
17637
+ end
17638
+
17639
+ # Update properties of this object
17640
+ def update!(**args)
17641
+ @email = args[:email] if args.key?(:email)
17642
+ @scopes = args[:scopes] if args.key?(:scopes)
17643
+ end
17644
+ end
17645
+
17646
+ #
17647
+ class InstancesStartWithEncryptionKeyRequest
17648
+ include Google::Apis::Core::Hashable
17649
+
17650
+ # Array of disks associated with this instance that are protected with a
17651
+ # customer-supplied encryption key. In order to start the instance, the disk url
17652
+ # and its corresponding key must be provided. If the disk is not protected with
17653
+ # a customer-supplied encryption key it should not be specified.
17654
+ # Corresponds to the JSON property `disks`
17655
+ # @return [Array<Google::Apis::ComputeV1::CustomerEncryptionKeyProtectedDisk>]
17656
+ attr_accessor :disks
17657
+
17658
+ def initialize(**args)
17659
+ update!(**args)
17660
+ end
17661
+
17662
+ # Update properties of this object
17663
+ def update!(**args)
17664
+ @disks = args[:disks] if args.key?(:disks)
17665
+ end
17666
+ end
17667
+
17668
+ # Represents a InstantSnapshot resource. You can use instant snapshots to create
17669
+ # disk rollback points quickly..
17670
+ class InstantSnapshot
17671
+ include Google::Apis::Core::Hashable
17672
+
17673
+ # [Output Only] The architecture of the instant snapshot. Valid values are ARM64
17674
+ # or X86_64.
17675
+ # Corresponds to the JSON property `architecture`
17676
+ # @return [String]
17677
+ attr_accessor :architecture
17678
+
17679
+ # [Output Only] Creation timestamp in RFC3339 text format.
17680
+ # Corresponds to the JSON property `creationTimestamp`
17681
+ # @return [String]
17682
+ attr_accessor :creation_timestamp
17683
+
17684
+ # An optional description of this resource. Provide this property when you
17685
+ # create the resource.
17686
+ # Corresponds to the JSON property `description`
17687
+ # @return [String]
17688
+ attr_accessor :description
17689
+
17690
+ # [Output Only] Size of the source disk, specified in GB.
17691
+ # Corresponds to the JSON property `diskSizeGb`
17692
+ # @return [Fixnum]
17693
+ attr_accessor :disk_size_gb
17694
+
17695
+ # [Output Only] The unique identifier for the resource. This identifier is
17696
+ # defined by the server.
17697
+ # Corresponds to the JSON property `id`
17698
+ # @return [Fixnum]
17699
+ attr_accessor :id
17700
+
17701
+ # [Output Only] Type of the resource. Always compute#instantSnapshot for
17702
+ # InstantSnapshot resources.
17703
+ # Corresponds to the JSON property `kind`
17704
+ # @return [String]
17705
+ attr_accessor :kind
17706
+
17707
+ # A fingerprint for the labels being applied to this InstantSnapshot, which is
17708
+ # essentially a hash of the labels set used for optimistic locking. The
17709
+ # fingerprint is initially generated by Compute Engine and changes after every
17710
+ # request to modify or update labels. You must always provide an up-to-date
17711
+ # fingerprint hash in order to update or change labels, otherwise the request
17712
+ # will fail with error 412 conditionNotMet. To see the latest fingerprint, make
17713
+ # a get() request to retrieve a InstantSnapshot.
17714
+ # Corresponds to the JSON property `labelFingerprint`
17715
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
17716
+ # @return [String]
17717
+ attr_accessor :label_fingerprint
17718
+
17719
+ # Labels to apply to this InstantSnapshot. These can be later modified by the
17720
+ # setLabels method. Label values may be empty.
17721
+ # Corresponds to the JSON property `labels`
17722
+ # @return [Hash<String,String>]
17723
+ attr_accessor :labels
17724
+
17725
+ # Name of the resource; provided by the client when the resource is created. The
17726
+ # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
17727
+ # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
17728
+ # z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
17729
+ # and all following characters must be a dash, lowercase letter, or digit,
17730
+ # except the last character, which cannot be a dash.
17731
+ # Corresponds to the JSON property `name`
17732
+ # @return [String]
17733
+ attr_accessor :name
17734
+
17735
+ # [Output Only] URL of the region where the instant snapshot resides. You must
17736
+ # specify this field as part of the HTTP request URL. It is not settable as a
17737
+ # field in the request body.
17738
+ # Corresponds to the JSON property `region`
17739
+ # @return [String]
17740
+ attr_accessor :region
17741
+
17742
+ # [Output Only] Status information for the instant snapshot resource.
17743
+ # Corresponds to the JSON property `resourceStatus`
17744
+ # @return [Google::Apis::ComputeV1::InstantSnapshotResourceStatus]
17745
+ attr_accessor :resource_status
17746
+
17747
+ # Output only. Reserved for future use.
17748
+ # Corresponds to the JSON property `satisfiesPzi`
17749
+ # @return [Boolean]
17750
+ attr_accessor :satisfies_pzi
17751
+ alias_method :satisfies_pzi?, :satisfies_pzi
17752
+
17753
+ # [Output Only] Reserved for future use.
17754
+ # Corresponds to the JSON property `satisfiesPzs`
17755
+ # @return [Boolean]
17756
+ attr_accessor :satisfies_pzs
17757
+ alias_method :satisfies_pzs?, :satisfies_pzs
17758
+
17759
+ # [Output Only] Server-defined URL for the resource.
17760
+ # Corresponds to the JSON property `selfLink`
17761
+ # @return [String]
17762
+ attr_accessor :self_link
17763
+
17764
+ # [Output Only] Server-defined URL for this resource's resource id.
17765
+ # Corresponds to the JSON property `selfLinkWithId`
17766
+ # @return [String]
17767
+ attr_accessor :self_link_with_id
17768
+
17769
+ # URL of the source disk used to create this instant snapshot. Note that the
17770
+ # source disk must be in the same zone/region as the instant snapshot to be
17771
+ # created. This can be a full or valid partial URL. For example, the following
17772
+ # are valid values: - https://www.googleapis.com/compute/v1/projects/project/
17773
+ # zones/zone /disks/disk - https://www.googleapis.com/compute/v1/projects/
17774
+ # project/regions/region /disks/disk - projects/project/zones/zone/disks/disk -
17775
+ # projects/project/regions/region/disks/disk - zones/zone/disks/disk - regions/
17776
+ # region/disks/disk
17777
+ # Corresponds to the JSON property `sourceDisk`
17778
+ # @return [String]
17779
+ attr_accessor :source_disk
17780
+
17781
+ # [Output Only] The ID value of the disk used to create this InstantSnapshot.
17782
+ # This value may be used to determine whether the InstantSnapshot was taken from
17783
+ # the current or a previous instance of a given disk name.
17784
+ # Corresponds to the JSON property `sourceDiskId`
17785
+ # @return [String]
17786
+ attr_accessor :source_disk_id
17787
+
17788
+ # [Output Only] The status of the instantSnapshot. This can be CREATING,
17789
+ # DELETING, FAILED, or READY.
17790
+ # Corresponds to the JSON property `status`
17791
+ # @return [String]
17792
+ attr_accessor :status
17793
+
17794
+ # [Output Only] URL of the zone where the instant snapshot resides. You must
17795
+ # specify this field as part of the HTTP request URL. It is not settable as a
17796
+ # field in the request body.
17797
+ # Corresponds to the JSON property `zone`
17798
+ # @return [String]
17799
+ attr_accessor :zone
17800
+
17801
+ def initialize(**args)
17802
+ update!(**args)
17803
+ end
17804
+
17805
+ # Update properties of this object
17806
+ def update!(**args)
17807
+ @architecture = args[:architecture] if args.key?(:architecture)
17808
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
17809
+ @description = args[:description] if args.key?(:description)
17810
+ @disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb)
17811
+ @id = args[:id] if args.key?(:id)
17812
+ @kind = args[:kind] if args.key?(:kind)
17813
+ @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
17814
+ @labels = args[:labels] if args.key?(:labels)
17815
+ @name = args[:name] if args.key?(:name)
17816
+ @region = args[:region] if args.key?(:region)
17817
+ @resource_status = args[:resource_status] if args.key?(:resource_status)
17818
+ @satisfies_pzi = args[:satisfies_pzi] if args.key?(:satisfies_pzi)
17819
+ @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
17820
+ @self_link = args[:self_link] if args.key?(:self_link)
17821
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
17822
+ @source_disk = args[:source_disk] if args.key?(:source_disk)
17823
+ @source_disk_id = args[:source_disk_id] if args.key?(:source_disk_id)
17824
+ @status = args[:status] if args.key?(:status)
17825
+ @zone = args[:zone] if args.key?(:zone)
17826
+ end
17827
+ end
17828
+
17829
+ #
17830
+ class InstantSnapshotAggregatedList
17831
+ include Google::Apis::Core::Hashable
17832
+
17833
+ # [Output Only] Unique identifier for the resource; defined by the server.
17834
+ # Corresponds to the JSON property `id`
17835
+ # @return [String]
17836
+ attr_accessor :id
17837
+
17838
+ # A list of InstantSnapshotsScopedList resources.
17839
+ # Corresponds to the JSON property `items`
17840
+ # @return [Hash<String,Google::Apis::ComputeV1::InstantSnapshotsScopedList>]
17841
+ attr_accessor :items
17842
+
17843
+ # [Output Only] Type of resource. Always compute#instantSnapshotAggregatedList
17844
+ # for aggregated lists of instantSnapshots.
17845
+ # Corresponds to the JSON property `kind`
17846
+ # @return [String]
17847
+ attr_accessor :kind
17848
+
17849
+ # [Output Only] This token allows you to get the next page of results for list
17850
+ # requests. If the number of results is larger than maxResults, use the
17851
+ # nextPageToken as a value for the query parameter pageToken in the next list
17852
+ # request. Subsequent list requests will have their own nextPageToken to
17853
+ # continue paging through the results.
17854
+ # Corresponds to the JSON property `nextPageToken`
17855
+ # @return [String]
17856
+ attr_accessor :next_page_token
17857
+
17858
+ # [Output Only] Server-defined URL for this resource.
17859
+ # Corresponds to the JSON property `selfLink`
17860
+ # @return [String]
17861
+ attr_accessor :self_link
17862
+
17863
+ # [Output Only] Unreachable resources.
17864
+ # Corresponds to the JSON property `unreachables`
17865
+ # @return [Array<String>]
17866
+ attr_accessor :unreachables
17867
+
17868
+ # [Output Only] Informational warning message.
17869
+ # Corresponds to the JSON property `warning`
17870
+ # @return [Google::Apis::ComputeV1::InstantSnapshotAggregatedList::Warning]
17871
+ attr_accessor :warning
17872
+
17873
+ def initialize(**args)
17874
+ update!(**args)
17875
+ end
17876
+
17877
+ # Update properties of this object
17878
+ def update!(**args)
17879
+ @id = args[:id] if args.key?(:id)
17880
+ @items = args[:items] if args.key?(:items)
17881
+ @kind = args[:kind] if args.key?(:kind)
17882
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
17883
+ @self_link = args[:self_link] if args.key?(:self_link)
17884
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
17885
+ @warning = args[:warning] if args.key?(:warning)
17886
+ end
17887
+
17888
+ # [Output Only] Informational warning message.
17889
+ class Warning
17890
+ include Google::Apis::Core::Hashable
17891
+
17892
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
17893
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
17894
+ # Corresponds to the JSON property `code`
17895
+ # @return [String]
17896
+ attr_accessor :code
17897
+
17898
+ # [Output Only] Metadata about this warning in key: value format. For example: "
17899
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
17900
+ # Corresponds to the JSON property `data`
17901
+ # @return [Array<Google::Apis::ComputeV1::InstantSnapshotAggregatedList::Warning::Datum>]
17902
+ attr_accessor :data
17903
+
17904
+ # [Output Only] A human-readable description of the warning code.
17905
+ # Corresponds to the JSON property `message`
17906
+ # @return [String]
17907
+ attr_accessor :message
17908
+
17909
+ def initialize(**args)
17910
+ update!(**args)
17911
+ end
17912
+
17913
+ # Update properties of this object
17914
+ def update!(**args)
17915
+ @code = args[:code] if args.key?(:code)
17916
+ @data = args[:data] if args.key?(:data)
17917
+ @message = args[:message] if args.key?(:message)
17918
+ end
17919
+
17920
+ #
17921
+ class Datum
17922
+ include Google::Apis::Core::Hashable
17923
+
17924
+ # [Output Only] A key that provides more detail on the warning being returned.
17925
+ # For example, for warnings where there are no results in a list request for a
17926
+ # particular zone, this key might be scope and the key value might be the zone
17927
+ # name. Other examples might be a key indicating a deprecated resource and a
17928
+ # suggested replacement, or a warning about invalid network settings (for
17929
+ # example, if an instance attempts to perform IP forwarding but is not enabled
17930
+ # for IP forwarding).
17931
+ # Corresponds to the JSON property `key`
17932
+ # @return [String]
17933
+ attr_accessor :key
17934
+
17935
+ # [Output Only] A warning data value corresponding to the key.
17936
+ # Corresponds to the JSON property `value`
17937
+ # @return [String]
17938
+ attr_accessor :value
17939
+
17940
+ def initialize(**args)
17941
+ update!(**args)
17942
+ end
17943
+
17944
+ # Update properties of this object
17945
+ def update!(**args)
17946
+ @key = args[:key] if args.key?(:key)
17947
+ @value = args[:value] if args.key?(:value)
17948
+ end
17949
+ end
17950
+ end
17951
+ end
17952
+
17953
+ # Contains a list of InstantSnapshot resources.
17954
+ class InstantSnapshotList
17955
+ include Google::Apis::Core::Hashable
17956
+
17957
+ # [Output Only] Unique identifier for the resource; defined by the server.
17958
+ # Corresponds to the JSON property `id`
17959
+ # @return [String]
17960
+ attr_accessor :id
17961
+
17962
+ # A list of InstantSnapshot resources.
17963
+ # Corresponds to the JSON property `items`
17964
+ # @return [Array<Google::Apis::ComputeV1::InstantSnapshot>]
17965
+ attr_accessor :items
17966
+
17967
+ # Type of resource.
17968
+ # Corresponds to the JSON property `kind`
17969
+ # @return [String]
17970
+ attr_accessor :kind
17971
+
17972
+ # [Output Only] This token allows you to get the next page of results for list
17973
+ # requests. If the number of results is larger than maxResults, use the
17974
+ # nextPageToken as a value for the query parameter pageToken in the next list
17975
+ # request. Subsequent list requests will have their own nextPageToken to
17976
+ # continue paging through the results.
17977
+ # Corresponds to the JSON property `nextPageToken`
17978
+ # @return [String]
17979
+ attr_accessor :next_page_token
17980
+
17981
+ # [Output Only] Server-defined URL for this resource.
17982
+ # Corresponds to the JSON property `selfLink`
17983
+ # @return [String]
17984
+ attr_accessor :self_link
17985
+
17986
+ # [Output Only] Informational warning message.
17987
+ # Corresponds to the JSON property `warning`
17988
+ # @return [Google::Apis::ComputeV1::InstantSnapshotList::Warning]
17989
+ attr_accessor :warning
17990
+
17991
+ def initialize(**args)
17992
+ update!(**args)
17993
+ end
17994
+
17995
+ # Update properties of this object
17996
+ def update!(**args)
17997
+ @id = args[:id] if args.key?(:id)
17998
+ @items = args[:items] if args.key?(:items)
17999
+ @kind = args[:kind] if args.key?(:kind)
18000
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
18001
+ @self_link = args[:self_link] if args.key?(:self_link)
18002
+ @warning = args[:warning] if args.key?(:warning)
18003
+ end
18004
+
18005
+ # [Output Only] Informational warning message.
18006
+ class Warning
18007
+ include Google::Apis::Core::Hashable
18008
+
18009
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
18010
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
18011
+ # Corresponds to the JSON property `code`
18012
+ # @return [String]
18013
+ attr_accessor :code
18014
+
18015
+ # [Output Only] Metadata about this warning in key: value format. For example: "
18016
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
18017
+ # Corresponds to the JSON property `data`
18018
+ # @return [Array<Google::Apis::ComputeV1::InstantSnapshotList::Warning::Datum>]
18019
+ attr_accessor :data
18020
+
18021
+ # [Output Only] A human-readable description of the warning code.
18022
+ # Corresponds to the JSON property `message`
18023
+ # @return [String]
18024
+ attr_accessor :message
18025
+
18026
+ def initialize(**args)
18027
+ update!(**args)
18028
+ end
18029
+
18030
+ # Update properties of this object
18031
+ def update!(**args)
18032
+ @code = args[:code] if args.key?(:code)
18033
+ @data = args[:data] if args.key?(:data)
18034
+ @message = args[:message] if args.key?(:message)
18035
+ end
18036
+
18037
+ #
18038
+ class Datum
18039
+ include Google::Apis::Core::Hashable
18040
+
18041
+ # [Output Only] A key that provides more detail on the warning being returned.
18042
+ # For example, for warnings where there are no results in a list request for a
18043
+ # particular zone, this key might be scope and the key value might be the zone
18044
+ # name. Other examples might be a key indicating a deprecated resource and a
18045
+ # suggested replacement, or a warning about invalid network settings (for
18046
+ # example, if an instance attempts to perform IP forwarding but is not enabled
18047
+ # for IP forwarding).
18048
+ # Corresponds to the JSON property `key`
18049
+ # @return [String]
18050
+ attr_accessor :key
18051
+
18052
+ # [Output Only] A warning data value corresponding to the key.
18053
+ # Corresponds to the JSON property `value`
18054
+ # @return [String]
18055
+ attr_accessor :value
18056
+
18057
+ def initialize(**args)
18058
+ update!(**args)
18059
+ end
18060
+
18061
+ # Update properties of this object
18062
+ def update!(**args)
18063
+ @key = args[:key] if args.key?(:key)
18064
+ @value = args[:value] if args.key?(:value)
18065
+ end
18066
+ end
18067
+ end
18068
+ end
18069
+
18070
+ #
18071
+ class InstantSnapshotResourceStatus
17335
18072
  include Google::Apis::Core::Hashable
17336
18073
 
17337
- # Fingerprint of the previous set of labels for this resource, used to prevent
17338
- # conflicts. Provide the latest fingerprint value when making a request to add
17339
- # or change labels.
17340
- # Corresponds to the JSON property `labelFingerprint`
17341
- # NOTE: Values are automatically base64 encoded/decoded in the client library.
17342
- # @return [String]
17343
- attr_accessor :label_fingerprint
17344
-
17345
- #
17346
- # Corresponds to the JSON property `labels`
17347
- # @return [Hash<String,String>]
17348
- attr_accessor :labels
17349
-
17350
- def initialize(**args)
17351
- update!(**args)
17352
- end
17353
-
17354
- # Update properties of this object
17355
- def update!(**args)
17356
- @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
17357
- @labels = args[:labels] if args.key?(:labels)
17358
- end
17359
- end
17360
-
17361
- #
17362
- class InstancesSetMachineResourcesRequest
17363
- include Google::Apis::Core::Hashable
17364
-
17365
- # A list of the type and count of accelerator cards attached to the instance.
17366
- # Corresponds to the JSON property `guestAccelerators`
17367
- # @return [Array<Google::Apis::ComputeV1::AcceleratorConfig>]
17368
- attr_accessor :guest_accelerators
17369
-
17370
- def initialize(**args)
17371
- update!(**args)
17372
- end
17373
-
17374
- # Update properties of this object
17375
- def update!(**args)
17376
- @guest_accelerators = args[:guest_accelerators] if args.key?(:guest_accelerators)
17377
- end
17378
- end
17379
-
17380
- #
17381
- class InstancesSetMachineTypeRequest
17382
- include Google::Apis::Core::Hashable
17383
-
17384
- # Full or partial URL of the machine type resource. See Machine Types for a full
17385
- # list of machine types. For example: zones/us-central1-f/machineTypes/n1-
17386
- # standard-1
17387
- # Corresponds to the JSON property `machineType`
17388
- # @return [String]
17389
- attr_accessor :machine_type
17390
-
17391
- def initialize(**args)
17392
- update!(**args)
17393
- end
17394
-
17395
- # Update properties of this object
17396
- def update!(**args)
17397
- @machine_type = args[:machine_type] if args.key?(:machine_type)
17398
- end
17399
- end
17400
-
17401
- #
17402
- class InstancesSetMinCpuPlatformRequest
17403
- include Google::Apis::Core::Hashable
17404
-
17405
- # Minimum cpu/platform this instance should be started at.
17406
- # Corresponds to the JSON property `minCpuPlatform`
17407
- # @return [String]
17408
- attr_accessor :min_cpu_platform
17409
-
17410
- def initialize(**args)
17411
- update!(**args)
17412
- end
17413
-
17414
- # Update properties of this object
17415
- def update!(**args)
17416
- @min_cpu_platform = args[:min_cpu_platform] if args.key?(:min_cpu_platform)
17417
- end
17418
- end
17419
-
17420
- #
17421
- class InstancesSetNameRequest
17422
- include Google::Apis::Core::Hashable
17423
-
17424
- # The current name of this resource, used to prevent conflicts. Provide the
17425
- # latest name when making a request to change name.
17426
- # Corresponds to the JSON property `currentName`
17427
- # @return [String]
17428
- attr_accessor :current_name
17429
-
17430
- # The name to be applied to the instance. Needs to be RFC 1035 compliant.
17431
- # Corresponds to the JSON property `name`
17432
- # @return [String]
17433
- attr_accessor :name
18074
+ # [Output Only] The storage size of this instant snapshot.
18075
+ # Corresponds to the JSON property `storageSizeBytes`
18076
+ # @return [Fixnum]
18077
+ attr_accessor :storage_size_bytes
17434
18078
 
17435
18079
  def initialize(**args)
17436
18080
  update!(**args)
@@ -17438,52 +18082,24 @@ module Google
17438
18082
 
17439
18083
  # Update properties of this object
17440
18084
  def update!(**args)
17441
- @current_name = args[:current_name] if args.key?(:current_name)
17442
- @name = args[:name] if args.key?(:name)
18085
+ @storage_size_bytes = args[:storage_size_bytes] if args.key?(:storage_size_bytes)
17443
18086
  end
17444
18087
  end
17445
18088
 
17446
18089
  #
17447
- class InstancesSetSecurityPolicyRequest
18090
+ class InstantSnapshotsScopedList
17448
18091
  include Google::Apis::Core::Hashable
17449
18092
 
17450
- # The network interfaces that the security policy will be applied to. Network
17451
- # interfaces use the nicN naming format. You can only set a security policy for
17452
- # network interfaces with an access config.
17453
- # Corresponds to the JSON property `networkInterfaces`
17454
- # @return [Array<String>]
17455
- attr_accessor :network_interfaces
17456
-
17457
- # A full or partial URL to a security policy to add to this instance. If this
17458
- # field is set to an empty string it will remove the associated security policy.
17459
- # Corresponds to the JSON property `securityPolicy`
17460
- # @return [String]
17461
- attr_accessor :security_policy
17462
-
17463
- def initialize(**args)
17464
- update!(**args)
17465
- end
17466
-
17467
- # Update properties of this object
17468
- def update!(**args)
17469
- @network_interfaces = args[:network_interfaces] if args.key?(:network_interfaces)
17470
- @security_policy = args[:security_policy] if args.key?(:security_policy)
17471
- end
17472
- end
17473
-
17474
- #
17475
- class InstancesSetServiceAccountRequest
17476
- include Google::Apis::Core::Hashable
18093
+ # [Output Only] A list of instantSnapshots contained in this scope.
18094
+ # Corresponds to the JSON property `instantSnapshots`
18095
+ # @return [Array<Google::Apis::ComputeV1::InstantSnapshot>]
18096
+ attr_accessor :instant_snapshots
17477
18097
 
17478
- # Email address of the service account.
17479
- # Corresponds to the JSON property `email`
17480
- # @return [String]
17481
- attr_accessor :email
17482
-
17483
- # The list of scopes to be made available for this service account.
17484
- # Corresponds to the JSON property `scopes`
17485
- # @return [Array<String>]
17486
- attr_accessor :scopes
18098
+ # [Output Only] Informational warning which replaces the list of
18099
+ # instantSnapshots when the list is empty.
18100
+ # Corresponds to the JSON property `warning`
18101
+ # @return [Google::Apis::ComputeV1::InstantSnapshotsScopedList::Warning]
18102
+ attr_accessor :warning
17487
18103
 
17488
18104
  def initialize(**args)
17489
18105
  update!(**args)
@@ -17491,30 +18107,73 @@ module Google
17491
18107
 
17492
18108
  # Update properties of this object
17493
18109
  def update!(**args)
17494
- @email = args[:email] if args.key?(:email)
17495
- @scopes = args[:scopes] if args.key?(:scopes)
17496
- end
17497
- end
17498
-
17499
- #
17500
- class InstancesStartWithEncryptionKeyRequest
17501
- include Google::Apis::Core::Hashable
17502
-
17503
- # Array of disks associated with this instance that are protected with a
17504
- # customer-supplied encryption key. In order to start the instance, the disk url
17505
- # and its corresponding key must be provided. If the disk is not protected with
17506
- # a customer-supplied encryption key it should not be specified.
17507
- # Corresponds to the JSON property `disks`
17508
- # @return [Array<Google::Apis::ComputeV1::CustomerEncryptionKeyProtectedDisk>]
17509
- attr_accessor :disks
17510
-
17511
- def initialize(**args)
17512
- update!(**args)
18110
+ @instant_snapshots = args[:instant_snapshots] if args.key?(:instant_snapshots)
18111
+ @warning = args[:warning] if args.key?(:warning)
17513
18112
  end
17514
-
17515
- # Update properties of this object
17516
- def update!(**args)
17517
- @disks = args[:disks] if args.key?(:disks)
18113
+
18114
+ # [Output Only] Informational warning which replaces the list of
18115
+ # instantSnapshots when the list is empty.
18116
+ class Warning
18117
+ include Google::Apis::Core::Hashable
18118
+
18119
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
18120
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
18121
+ # Corresponds to the JSON property `code`
18122
+ # @return [String]
18123
+ attr_accessor :code
18124
+
18125
+ # [Output Only] Metadata about this warning in key: value format. For example: "
18126
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
18127
+ # Corresponds to the JSON property `data`
18128
+ # @return [Array<Google::Apis::ComputeV1::InstantSnapshotsScopedList::Warning::Datum>]
18129
+ attr_accessor :data
18130
+
18131
+ # [Output Only] A human-readable description of the warning code.
18132
+ # Corresponds to the JSON property `message`
18133
+ # @return [String]
18134
+ attr_accessor :message
18135
+
18136
+ def initialize(**args)
18137
+ update!(**args)
18138
+ end
18139
+
18140
+ # Update properties of this object
18141
+ def update!(**args)
18142
+ @code = args[:code] if args.key?(:code)
18143
+ @data = args[:data] if args.key?(:data)
18144
+ @message = args[:message] if args.key?(:message)
18145
+ end
18146
+
18147
+ #
18148
+ class Datum
18149
+ include Google::Apis::Core::Hashable
18150
+
18151
+ # [Output Only] A key that provides more detail on the warning being returned.
18152
+ # For example, for warnings where there are no results in a list request for a
18153
+ # particular zone, this key might be scope and the key value might be the zone
18154
+ # name. Other examples might be a key indicating a deprecated resource and a
18155
+ # suggested replacement, or a warning about invalid network settings (for
18156
+ # example, if an instance attempts to perform IP forwarding but is not enabled
18157
+ # for IP forwarding).
18158
+ # Corresponds to the JSON property `key`
18159
+ # @return [String]
18160
+ attr_accessor :key
18161
+
18162
+ # [Output Only] A warning data value corresponding to the key.
18163
+ # Corresponds to the JSON property `value`
18164
+ # @return [String]
18165
+ attr_accessor :value
18166
+
18167
+ def initialize(**args)
18168
+ update!(**args)
18169
+ end
18170
+
18171
+ # Update properties of this object
18172
+ def update!(**args)
18173
+ @key = args[:key] if args.key?(:key)
18174
+ @value = args[:value] if args.key?(:value)
18175
+ end
18176
+ end
17518
18177
  end
17519
18178
  end
17520
18179
 
@@ -22912,7 +23571,8 @@ module Google
22912
23571
  attr_accessor :creation_timestamp
22913
23572
 
22914
23573
  # The default port used if the port number is not specified in the network
22915
- # endpoint.
23574
+ # endpoint. If the network endpoint type is either GCE_VM_IP, SERVERLESS or
23575
+ # PRIVATE_SERVICE_CONNECT, this field must not be specified.
22916
23576
  # Corresponds to the JSON property `defaultPort`
22917
23577
  # @return [Fixnum]
22918
23578
  attr_accessor :default_port
@@ -22945,8 +23605,8 @@ module Google
22945
23605
  # @return [String]
22946
23606
  attr_accessor :name
22947
23607
 
22948
- # The URL of the network to which all network endpoints in the NEG belong. Uses "
22949
- # default" project network if unspecified.
23608
+ # The URL of the network to which all network endpoints in the NEG belong. Uses
23609
+ # default project network if unspecified.
22950
23610
  # Corresponds to the JSON property `network`
22951
23611
  # @return [String]
22952
23612
  attr_accessor :network
@@ -22965,8 +23625,8 @@ module Google
22965
23625
  attr_accessor :psc_data
22966
23626
 
22967
23627
  # The target service url used to set up private service connection to a Google
22968
- # API or a PSC Producer Service Attachment. An example value is: "asia-
22969
- # northeast3-cloudkms.googleapis.com"
23628
+ # API or a PSC Producer Service Attachment. An example value is: asia-northeast3-
23629
+ # cloudkms.googleapis.com
22970
23630
  # Corresponds to the JSON property `pscTargetService`
22971
23631
  # @return [String]
22972
23632
  attr_accessor :psc_target_service
@@ -23160,24 +23820,25 @@ module Google
23160
23820
  include Google::Apis::Core::Hashable
23161
23821
 
23162
23822
  # Optional serving service. The service name is case-sensitive and must be 1-63
23163
- # characters long. Example value: "default", "my-service".
23823
+ # characters long. Example value: default, my-service.
23164
23824
  # Corresponds to the JSON property `service`
23165
23825
  # @return [String]
23166
23826
  attr_accessor :service
23167
23827
 
23168
- # A template to parse service and version fields from a request URL. URL mask
23169
- # allows for routing to multiple App Engine services without having to create
23170
- # multiple Network Endpoint Groups and backend services. For example, the
23171
- # request URLs "foo1-dot-appname.appspot.com/v1" and "foo1-dot-appname.appspot.
23172
- # com/v2" can be backed by the same Serverless NEG with URL mask "<service>-dot-
23173
- # appname.appspot.com/<version>". The URL mask will parse them to ` service = "
23174
- # foo1", version = "v1" ` and ` service = "foo1", version = "v2" ` respectively.
23828
+ # An URL mask is one of the main components of the Cloud Function. A template to
23829
+ # parse service and version fields from a request URL. URL mask allows for
23830
+ # routing to multiple App Engine services without having to create multiple
23831
+ # Network Endpoint Groups and backend services. For example, the request URLs
23832
+ # foo1-dot-appname.appspot.com/v1 and foo1-dot-appname.appspot.com/v2 can be
23833
+ # backed by the same Serverless NEG with URL mask <service>-dot-appname.appspot.
23834
+ # com/<version>. The URL mask will parse them to ` service = "foo1", version = "
23835
+ # v1" ` and ` service = "foo1", version = "v2" ` respectively.
23175
23836
  # Corresponds to the JSON property `urlMask`
23176
23837
  # @return [String]
23177
23838
  attr_accessor :url_mask
23178
23839
 
23179
23840
  # Optional serving version. The version name is case-sensitive and must be 1-100
23180
- # characters long. Example value: "v1", "v2".
23841
+ # characters long. Example value: v1, v2.
23181
23842
  # Corresponds to the JSON property `version`
23182
23843
  # @return [String]
23183
23844
  attr_accessor :version
@@ -23201,17 +23862,18 @@ module Google
23201
23862
  include Google::Apis::Core::Hashable
23202
23863
 
23203
23864
  # A user-defined name of the Cloud Function. The function name is case-sensitive
23204
- # and must be 1-63 characters long. Example value: "func1".
23865
+ # and must be 1-63 characters long. Example value: func1.
23205
23866
  # Corresponds to the JSON property `function`
23206
23867
  # @return [String]
23207
23868
  attr_accessor :function
23208
23869
 
23209
- # A template to parse function field from a request URL. URL mask allows for
23210
- # routing to multiple Cloud Functions without having to create multiple Network
23211
- # Endpoint Groups and backend services. For example, request URLs " mydomain.com/
23212
- # function1" and "mydomain.com/function2" can be backed by the same Serverless
23213
- # NEG with URL mask "/<function>". The URL mask will parse them to ` function = "
23214
- # function1" ` and ` function = "function2" ` respectively.
23870
+ # An URL mask is one of the main components of the Cloud Function. A template to
23871
+ # parse function field from a request URL. URL mask allows for routing to
23872
+ # multiple Cloud Functions without having to create multiple Network Endpoint
23873
+ # Groups and backend services. For example, request URLs mydomain.com/function1
23874
+ # and mydomain.com/function2 can be backed by the same Serverless NEG with URL
23875
+ # mask /<function>. The URL mask will parse them to ` function = "function1" `
23876
+ # and ` function = "function2" ` respectively.
23215
23877
  # Corresponds to the JSON property `urlMask`
23216
23878
  # @return [String]
23217
23879
  attr_accessor :url_mask
@@ -23247,13 +23909,14 @@ module Google
23247
23909
  # @return [String]
23248
23910
  attr_accessor :tag
23249
23911
 
23250
- # A template to parse <service> and <tag> fields from a request URL. URL mask
23251
- # allows for routing to multiple Run services without having to create multiple
23252
- # network endpoint groups and backend services. For example, request URLs "foo1.
23253
- # domain.com/bar1" and "foo1.domain.com/bar2" can be backed by the same
23254
- # Serverless Network Endpoint Group (NEG) with URL mask "<tag>.domain.com/<
23255
- # service>". The URL mask will parse them to ` service="bar1", tag="foo1" ` and `
23256
- # service="bar2", tag="foo2" ` respectively.
23912
+ # An URL mask is one of the main components of the Cloud Function. A template to
23913
+ # parse <service> and <tag> fields from a request URL. URL mask allows for
23914
+ # routing to multiple Run services without having to create multiple network
23915
+ # endpoint groups and backend services. For example, request URLs foo1.domain.
23916
+ # com/bar1 and foo1.domain.com/bar2 can be backed by the same Serverless Network
23917
+ # Endpoint Group (NEG) with URL mask <tag>.domain.com/<service>. The URL mask
23918
+ # will parse them to ` service="bar1", tag="foo1" ` and ` service="bar2", tag="
23919
+ # foo2" ` respectively.
23257
23920
  # Corresponds to the JSON property `urlMask`
23258
23921
  # @return [String]
23259
23922
  attr_accessor :url_mask
@@ -28223,6 +28886,13 @@ module Google
28223
28886
  class Project
28224
28887
  include Google::Apis::Core::Hashable
28225
28888
 
28889
+ # [Output Only] The Cloud Armor tier for this project. It can be one of the
28890
+ # following values: CA_STANDARD, CA_ENTERPRISE_PAYGO. If this field is not
28891
+ # specified, it is assumed to be CA_STANDARD.
28892
+ # Corresponds to the JSON property `cloudArmorTier`
28893
+ # @return [String]
28894
+ attr_accessor :cloud_armor_tier
28895
+
28226
28896
  # A metadata key/value entry.
28227
28897
  # Corresponds to the JSON property `commonInstanceMetadata`
28228
28898
  # @return [Google::Apis::ComputeV1::Metadata]
@@ -28307,6 +28977,7 @@ module Google
28307
28977
 
28308
28978
  # Update properties of this object
28309
28979
  def update!(**args)
28980
+ @cloud_armor_tier = args[:cloud_armor_tier] if args.key?(:cloud_armor_tier)
28310
28981
  @common_instance_metadata = args[:common_instance_metadata] if args.key?(:common_instance_metadata)
28311
28982
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
28312
28983
  @default_network_tier = args[:default_network_tier] if args.key?(:default_network_tier)
@@ -28420,6 +29091,25 @@ module Google
28420
29091
  end
28421
29092
  end
28422
29093
 
29094
+ #
29095
+ class ProjectsSetCloudArmorTierRequest
29096
+ include Google::Apis::Core::Hashable
29097
+
29098
+ # Managed protection tier to be set.
29099
+ # Corresponds to the JSON property `cloudArmorTier`
29100
+ # @return [String]
29101
+ attr_accessor :cloud_armor_tier
29102
+
29103
+ def initialize(**args)
29104
+ update!(**args)
29105
+ end
29106
+
29107
+ # Update properties of this object
29108
+ def update!(**args)
29109
+ @cloud_armor_tier = args[:cloud_armor_tier] if args.key?(:cloud_armor_tier)
29110
+ end
29111
+ end
29112
+
28423
29113
  #
28424
29114
  class ProjectsSetDefaultNetworkTierRequest
28425
29115
  include Google::Apis::Core::Hashable
@@ -37557,6 +38247,30 @@ module Google
37557
38247
  # @return [String]
37558
38248
  attr_accessor :source_disk_id
37559
38249
 
38250
+ # The source instant snapshot used to create this snapshot. You can provide this
38251
+ # as a partial or full URL to the resource. For example, the following are valid
38252
+ # values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /
38253
+ # instantSnapshots/instantSnapshot - projects/project/zones/zone/
38254
+ # instantSnapshots/instantSnapshot - zones/zone/instantSnapshots/instantSnapshot
38255
+ # Corresponds to the JSON property `sourceInstantSnapshot`
38256
+ # @return [String]
38257
+ attr_accessor :source_instant_snapshot
38258
+
38259
+ # Customer provided encryption key when creating Snapshot from Instant Snapshot.
38260
+ # Corresponds to the JSON property `sourceInstantSnapshotEncryptionKey`
38261
+ # @return [Google::Apis::ComputeV1::CustomerEncryptionKey]
38262
+ attr_accessor :source_instant_snapshot_encryption_key
38263
+
38264
+ # [Output Only] The unique ID of the instant snapshot used to create this
38265
+ # snapshot. This value identifies the exact instant snapshot that was used to
38266
+ # create this persistent disk. For example, if you created the persistent disk
38267
+ # from an instant snapshot that was later deleted and recreated under the same
38268
+ # name, the source instant snapshot ID would identify the exact instant snapshot
38269
+ # that was used.
38270
+ # Corresponds to the JSON property `sourceInstantSnapshotId`
38271
+ # @return [String]
38272
+ attr_accessor :source_instant_snapshot_id
38273
+
37560
38274
  # [Output Only] URL of the resource policy which created this scheduled snapshot.
37561
38275
  # Corresponds to the JSON property `sourceSnapshotSchedulePolicy`
37562
38276
  # @return [String]
@@ -37626,6 +38340,9 @@ module Google
37626
38340
  @source_disk_encryption_key = args[:source_disk_encryption_key] if args.key?(:source_disk_encryption_key)
37627
38341
  @source_disk_for_recovery_checkpoint = args[:source_disk_for_recovery_checkpoint] if args.key?(:source_disk_for_recovery_checkpoint)
37628
38342
  @source_disk_id = args[:source_disk_id] if args.key?(:source_disk_id)
38343
+ @source_instant_snapshot = args[:source_instant_snapshot] if args.key?(:source_instant_snapshot)
38344
+ @source_instant_snapshot_encryption_key = args[:source_instant_snapshot_encryption_key] if args.key?(:source_instant_snapshot_encryption_key)
38345
+ @source_instant_snapshot_id = args[:source_instant_snapshot_id] if args.key?(:source_instant_snapshot_id)
37629
38346
  @source_snapshot_schedule_policy = args[:source_snapshot_schedule_policy] if args.key?(:source_snapshot_schedule_policy)
37630
38347
  @source_snapshot_schedule_policy_id = args[:source_snapshot_schedule_policy_id] if args.key?(:source_snapshot_schedule_policy_id)
37631
38348
  @status = args[:status] if args.key?(:status)
@@ -44948,6 +45665,12 @@ module Google
44948
45665
  # @return [String]
44949
45666
  attr_accessor :description
44950
45667
 
45668
+ # The IP family of the gateway IPs for the HA-VPN gateway interfaces. If not
45669
+ # specified, IPV4 will be used.
45670
+ # Corresponds to the JSON property `gatewayIpVersion`
45671
+ # @return [String]
45672
+ attr_accessor :gateway_ip_version
45673
+
44951
45674
  # [Output Only] The unique identifier for the resource. This identifier is
44952
45675
  # defined by the server.
44953
45676
  # Corresponds to the JSON property `id`
@@ -45024,6 +45747,7 @@ module Google
45024
45747
  def update!(**args)
45025
45748
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
45026
45749
  @description = args[:description] if args.key?(:description)
45750
+ @gateway_ip_version = args[:gateway_ip_version] if args.key?(:gateway_ip_version)
45027
45751
  @id = args[:id] if args.key?(:id)
45028
45752
  @kind = args[:kind] if args.key?(:kind)
45029
45753
  @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
@@ -45432,6 +46156,13 @@ module Google
45432
46156
  # @return [String]
45433
46157
  attr_accessor :ip_address
45434
46158
 
46159
+ # [Output Only] IPv6 address for this VPN interface associated with the VPN
46160
+ # gateway. The IPv6 address must be a regional external IPv6 address. The format
46161
+ # is RFC 5952 format (e.g. 2001:db8::2d9:51:0:0).
46162
+ # Corresponds to the JSON property `ipv6Address`
46163
+ # @return [String]
46164
+ attr_accessor :ipv6_address
46165
+
45435
46166
  def initialize(**args)
45436
46167
  update!(**args)
45437
46168
  end
@@ -45441,6 +46172,7 @@ module Google
45441
46172
  @id = args[:id] if args.key?(:id)
45442
46173
  @interconnect_attachment = args[:interconnect_attachment] if args.key?(:interconnect_attachment)
45443
46174
  @ip_address = args[:ip_address] if args.key?(:ip_address)
46175
+ @ipv6_address = args[:ipv6_address] if args.key?(:ipv6_address)
45444
46176
  end
45445
46177
  end
45446
46178