google-apis-compute_v1 0.88.0 → 0.90.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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