Class: Google::Cloud::Filestore::V1::Instance

Inherits:
Object
  • Object
show all
Extended by:
Protobuf::MessageExts::ClassMethods
Includes:
Protobuf::MessageExts
Defined in:
proto_docs/google/cloud/filestore/v1/cloud_filestore_service.rb

Overview

A Filestore instance.

Defined Under Namespace

Modules: FileProtocol, State, SuspensionReason, Tier Classes: FixedIOPS, IOPSPerTB, LabelsEntry, PerformanceConfig, PerformanceLimits, TagsEntry

Instance Attribute Summary collapse

Instance Attribute Details

#create_time::Google::Protobuf::Timestamp (readonly)

Returns Output only. The time when the instance was created.

Returns:



343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
# File 'proto_docs/google/cloud/filestore/v1/cloud_filestore_service.rb', line 343

class Instance
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # IOPS per TB.
  # Filestore defines TB as 1024^4 bytes (TiB).
  # @!attribute [rw] max_iops_per_tb
  #   @return [::Integer]
  #     Required. Maximum IOPS per TiB.
  class IOPSPerTB
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Fixed IOPS (input/output operations per second) parameters.
  # @!attribute [rw] max_iops
  #   @return [::Integer]
  #     Required. Maximum IOPS.
  class FixedIOPS
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Used for setting the performance configuration.
  # If the user doesn't specify PerformanceConfig, automatically provision
  # the default performance settings as described in
  # https://cloud.google.com/filestore/docs/performance. Larger instances will
  # be linearly set to more IOPS. If the instance's capacity is increased or
  # decreased, its performance will be automatically adjusted upwards or
  # downwards accordingly (respectively).
  # @!attribute [rw] iops_per_tb
  #   @return [::Google::Cloud::Filestore::V1::Instance::IOPSPerTB]
  #     Provision IOPS dynamically based on the capacity of the instance.
  #     Provisioned IOPS will be calculated by multiplying the capacity of the
  #     instance in TiB by the `iops_per_tb` value. For example, for a 2 TiB
  #     instance with an `iops_per_tb` value of 17000 the provisioned IOPS will
  #     be 34000.
  #
  #     If the calculated value is outside the supported range for the
  #     instance's capacity during instance creation, instance creation will
  #     fail with an `InvalidArgument` error. Similarly, if an instance
  #     capacity update would result in a value outside the supported range,
  #     the update will fail with an `InvalidArgument` error.
  #
  #     Note: The following fields are mutually exclusive: `iops_per_tb`, `fixed_iops`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] fixed_iops
  #   @return [::Google::Cloud::Filestore::V1::Instance::FixedIOPS]
  #     Choose a fixed provisioned IOPS value for the instance, which will
  #     remain constant regardless of instance capacity. Value must be a
  #     multiple of 1000.
  #
  #     If the chosen value is outside the supported range for the instance's
  #     capacity during instance creation, instance creation will fail with an
  #     `InvalidArgument` error. Similarly, if an instance capacity update
  #     would result in a value outside the supported range, the update will
  #     fail with an `InvalidArgument` error.
  #
  #     Note: The following fields are mutually exclusive: `fixed_iops`, `iops_per_tb`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  class PerformanceConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The enforced performance limits, calculated from the instance's performance
  # configuration.
  # @!attribute [r] max_iops
  #   @return [::Integer]
  #     Output only. The max IOPS.
  # @!attribute [r] max_read_iops
  #   @return [::Integer]
  #     Output only. The max read IOPS.
  # @!attribute [r] max_write_iops
  #   @return [::Integer]
  #     Output only. The max write IOPS.
  # @!attribute [r] max_read_throughput_bps
  #   @return [::Integer]
  #     Output only. The max read throughput in bytes per second.
  # @!attribute [r] max_write_throughput_bps
  #   @return [::Integer]
  #     Output only. The max write throughput in bytes per second.
  class PerformanceLimits
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class TagsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The instance state.
  module State
    # State not set.
    STATE_UNSPECIFIED = 0

    # The instance is being created.
    CREATING = 1

    # The instance is available for use.
    READY = 2

    # Work is being done on the instance. You can get further details from the
    # `statusMessage` field of the `Instance` resource.
    REPAIRING = 3

    # The instance is shutting down.
    DELETING = 4

    # The instance is experiencing an issue and might be unusable. You can get
    # further details from the `statusMessage` field of the `Instance`
    # resource.
    ERROR = 6

    # The instance is restoring a backup to an existing file share and may be
    # unusable during this time.
    RESTORING = 7

    # The instance is suspended. You can get further details from
    # the `suspension_reasons` field of the `Instance` resource.
    SUSPENDED = 8

    # The instance is in the process of becoming suspended.
    SUSPENDING = 9

    # The instance is in the process of becoming active.
    RESUMING = 10

    # The instance is reverting to a snapshot.
    REVERTING = 12

    # The replica instance is being promoted.
    PROMOTING = 13
  end

  # Available service tiers.
  module Tier
    # Not set.
    TIER_UNSPECIFIED = 0

    # STANDARD tier. BASIC_HDD is the preferred term for this tier.
    STANDARD = 1

    # PREMIUM tier. BASIC_SSD is the preferred term for this tier.
    PREMIUM = 2

    # BASIC instances offer a maximum capacity of 63.9 TB.
    # BASIC_HDD is an alias for STANDARD Tier, offering economical
    # performance backed by HDD.
    BASIC_HDD = 3

    # BASIC instances offer a maximum capacity of 63.9 TB.
    # BASIC_SSD is an alias for PREMIUM Tier, and offers improved
    # performance backed by SSD.
    BASIC_SSD = 4

    # HIGH_SCALE instances offer expanded capacity and performance scaling
    # capabilities.
    HIGH_SCALE_SSD = 5

    # ENTERPRISE instances offer the features and availability needed for
    # mission-critical workloads.
    ENTERPRISE = 6

    # ZONAL instances offer expanded capacity and performance scaling
    # capabilities.
    ZONAL = 7

    # REGIONAL instances offer the features and availability needed for
    # mission-critical workloads.
    REGIONAL = 8
  end

  # SuspensionReason contains the possible reasons for a suspension.
  module SuspensionReason
    # Not set.
    SUSPENSION_REASON_UNSPECIFIED = 0

    # The KMS key used by the instance is either revoked or denied access to.
    KMS_KEY_ISSUE = 1
  end

  # File access protocol.
  module FileProtocol
    # FILE_PROTOCOL_UNSPECIFIED serves a "not set" default value when
    # a FileProtocol is a separate field in a message.
    FILE_PROTOCOL_UNSPECIFIED = 0

    # NFS 3.0.
    NFS_V3 = 1

    # NFS 4.1.
    NFS_V4_1 = 2
  end
end

#custom_performance_supported::Boolean (readonly)

Returns Output only. Indicates whether this instance supports configuring its performance. If true, the user can configure the instance's performance by using the 'performance_config' field.

Returns:

  • (::Boolean)

    Output only. Indicates whether this instance supports configuring its performance. If true, the user can configure the instance's performance by using the 'performance_config' field.



343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
# File 'proto_docs/google/cloud/filestore/v1/cloud_filestore_service.rb', line 343

class Instance
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # IOPS per TB.
  # Filestore defines TB as 1024^4 bytes (TiB).
  # @!attribute [rw] max_iops_per_tb
  #   @return [::Integer]
  #     Required. Maximum IOPS per TiB.
  class IOPSPerTB
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Fixed IOPS (input/output operations per second) parameters.
  # @!attribute [rw] max_iops
  #   @return [::Integer]
  #     Required. Maximum IOPS.
  class FixedIOPS
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Used for setting the performance configuration.
  # If the user doesn't specify PerformanceConfig, automatically provision
  # the default performance settings as described in
  # https://cloud.google.com/filestore/docs/performance. Larger instances will
  # be linearly set to more IOPS. If the instance's capacity is increased or
  # decreased, its performance will be automatically adjusted upwards or
  # downwards accordingly (respectively).
  # @!attribute [rw] iops_per_tb
  #   @return [::Google::Cloud::Filestore::V1::Instance::IOPSPerTB]
  #     Provision IOPS dynamically based on the capacity of the instance.
  #     Provisioned IOPS will be calculated by multiplying the capacity of the
  #     instance in TiB by the `iops_per_tb` value. For example, for a 2 TiB
  #     instance with an `iops_per_tb` value of 17000 the provisioned IOPS will
  #     be 34000.
  #
  #     If the calculated value is outside the supported range for the
  #     instance's capacity during instance creation, instance creation will
  #     fail with an `InvalidArgument` error. Similarly, if an instance
  #     capacity update would result in a value outside the supported range,
  #     the update will fail with an `InvalidArgument` error.
  #
  #     Note: The following fields are mutually exclusive: `iops_per_tb`, `fixed_iops`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] fixed_iops
  #   @return [::Google::Cloud::Filestore::V1::Instance::FixedIOPS]
  #     Choose a fixed provisioned IOPS value for the instance, which will
  #     remain constant regardless of instance capacity. Value must be a
  #     multiple of 1000.
  #
  #     If the chosen value is outside the supported range for the instance's
  #     capacity during instance creation, instance creation will fail with an
  #     `InvalidArgument` error. Similarly, if an instance capacity update
  #     would result in a value outside the supported range, the update will
  #     fail with an `InvalidArgument` error.
  #
  #     Note: The following fields are mutually exclusive: `fixed_iops`, `iops_per_tb`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  class PerformanceConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The enforced performance limits, calculated from the instance's performance
  # configuration.
  # @!attribute [r] max_iops
  #   @return [::Integer]
  #     Output only. The max IOPS.
  # @!attribute [r] max_read_iops
  #   @return [::Integer]
  #     Output only. The max read IOPS.
  # @!attribute [r] max_write_iops
  #   @return [::Integer]
  #     Output only. The max write IOPS.
  # @!attribute [r] max_read_throughput_bps
  #   @return [::Integer]
  #     Output only. The max read throughput in bytes per second.
  # @!attribute [r] max_write_throughput_bps
  #   @return [::Integer]
  #     Output only. The max write throughput in bytes per second.
  class PerformanceLimits
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class TagsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The instance state.
  module State
    # State not set.
    STATE_UNSPECIFIED = 0

    # The instance is being created.
    CREATING = 1

    # The instance is available for use.
    READY = 2

    # Work is being done on the instance. You can get further details from the
    # `statusMessage` field of the `Instance` resource.
    REPAIRING = 3

    # The instance is shutting down.
    DELETING = 4

    # The instance is experiencing an issue and might be unusable. You can get
    # further details from the `statusMessage` field of the `Instance`
    # resource.
    ERROR = 6

    # The instance is restoring a backup to an existing file share and may be
    # unusable during this time.
    RESTORING = 7

    # The instance is suspended. You can get further details from
    # the `suspension_reasons` field of the `Instance` resource.
    SUSPENDED = 8

    # The instance is in the process of becoming suspended.
    SUSPENDING = 9

    # The instance is in the process of becoming active.
    RESUMING = 10

    # The instance is reverting to a snapshot.
    REVERTING = 12

    # The replica instance is being promoted.
    PROMOTING = 13
  end

  # Available service tiers.
  module Tier
    # Not set.
    TIER_UNSPECIFIED = 0

    # STANDARD tier. BASIC_HDD is the preferred term for this tier.
    STANDARD = 1

    # PREMIUM tier. BASIC_SSD is the preferred term for this tier.
    PREMIUM = 2

    # BASIC instances offer a maximum capacity of 63.9 TB.
    # BASIC_HDD is an alias for STANDARD Tier, offering economical
    # performance backed by HDD.
    BASIC_HDD = 3

    # BASIC instances offer a maximum capacity of 63.9 TB.
    # BASIC_SSD is an alias for PREMIUM Tier, and offers improved
    # performance backed by SSD.
    BASIC_SSD = 4

    # HIGH_SCALE instances offer expanded capacity and performance scaling
    # capabilities.
    HIGH_SCALE_SSD = 5

    # ENTERPRISE instances offer the features and availability needed for
    # mission-critical workloads.
    ENTERPRISE = 6

    # ZONAL instances offer expanded capacity and performance scaling
    # capabilities.
    ZONAL = 7

    # REGIONAL instances offer the features and availability needed for
    # mission-critical workloads.
    REGIONAL = 8
  end

  # SuspensionReason contains the possible reasons for a suspension.
  module SuspensionReason
    # Not set.
    SUSPENSION_REASON_UNSPECIFIED = 0

    # The KMS key used by the instance is either revoked or denied access to.
    KMS_KEY_ISSUE = 1
  end

  # File access protocol.
  module FileProtocol
    # FILE_PROTOCOL_UNSPECIFIED serves a "not set" default value when
    # a FileProtocol is a separate field in a message.
    FILE_PROTOCOL_UNSPECIFIED = 0

    # NFS 3.0.
    NFS_V3 = 1

    # NFS 4.1.
    NFS_V4_1 = 2
  end
end

#deletion_protection_enabled::Boolean

Returns Optional. Indicates whether the instance is protected against deletion.

Returns:

  • (::Boolean)

    Optional. Indicates whether the instance is protected against deletion.



343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
# File 'proto_docs/google/cloud/filestore/v1/cloud_filestore_service.rb', line 343

class Instance
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # IOPS per TB.
  # Filestore defines TB as 1024^4 bytes (TiB).
  # @!attribute [rw] max_iops_per_tb
  #   @return [::Integer]
  #     Required. Maximum IOPS per TiB.
  class IOPSPerTB
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Fixed IOPS (input/output operations per second) parameters.
  # @!attribute [rw] max_iops
  #   @return [::Integer]
  #     Required. Maximum IOPS.
  class FixedIOPS
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Used for setting the performance configuration.
  # If the user doesn't specify PerformanceConfig, automatically provision
  # the default performance settings as described in
  # https://cloud.google.com/filestore/docs/performance. Larger instances will
  # be linearly set to more IOPS. If the instance's capacity is increased or
  # decreased, its performance will be automatically adjusted upwards or
  # downwards accordingly (respectively).
  # @!attribute [rw] iops_per_tb
  #   @return [::Google::Cloud::Filestore::V1::Instance::IOPSPerTB]
  #     Provision IOPS dynamically based on the capacity of the instance.
  #     Provisioned IOPS will be calculated by multiplying the capacity of the
  #     instance in TiB by the `iops_per_tb` value. For example, for a 2 TiB
  #     instance with an `iops_per_tb` value of 17000 the provisioned IOPS will
  #     be 34000.
  #
  #     If the calculated value is outside the supported range for the
  #     instance's capacity during instance creation, instance creation will
  #     fail with an `InvalidArgument` error. Similarly, if an instance
  #     capacity update would result in a value outside the supported range,
  #     the update will fail with an `InvalidArgument` error.
  #
  #     Note: The following fields are mutually exclusive: `iops_per_tb`, `fixed_iops`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] fixed_iops
  #   @return [::Google::Cloud::Filestore::V1::Instance::FixedIOPS]
  #     Choose a fixed provisioned IOPS value for the instance, which will
  #     remain constant regardless of instance capacity. Value must be a
  #     multiple of 1000.
  #
  #     If the chosen value is outside the supported range for the instance's
  #     capacity during instance creation, instance creation will fail with an
  #     `InvalidArgument` error. Similarly, if an instance capacity update
  #     would result in a value outside the supported range, the update will
  #     fail with an `InvalidArgument` error.
  #
  #     Note: The following fields are mutually exclusive: `fixed_iops`, `iops_per_tb`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  class PerformanceConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The enforced performance limits, calculated from the instance's performance
  # configuration.
  # @!attribute [r] max_iops
  #   @return [::Integer]
  #     Output only. The max IOPS.
  # @!attribute [r] max_read_iops
  #   @return [::Integer]
  #     Output only. The max read IOPS.
  # @!attribute [r] max_write_iops
  #   @return [::Integer]
  #     Output only. The max write IOPS.
  # @!attribute [r] max_read_throughput_bps
  #   @return [::Integer]
  #     Output only. The max read throughput in bytes per second.
  # @!attribute [r] max_write_throughput_bps
  #   @return [::Integer]
  #     Output only. The max write throughput in bytes per second.
  class PerformanceLimits
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class TagsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The instance state.
  module State
    # State not set.
    STATE_UNSPECIFIED = 0

    # The instance is being created.
    CREATING = 1

    # The instance is available for use.
    READY = 2

    # Work is being done on the instance. You can get further details from the
    # `statusMessage` field of the `Instance` resource.
    REPAIRING = 3

    # The instance is shutting down.
    DELETING = 4

    # The instance is experiencing an issue and might be unusable. You can get
    # further details from the `statusMessage` field of the `Instance`
    # resource.
    ERROR = 6

    # The instance is restoring a backup to an existing file share and may be
    # unusable during this time.
    RESTORING = 7

    # The instance is suspended. You can get further details from
    # the `suspension_reasons` field of the `Instance` resource.
    SUSPENDED = 8

    # The instance is in the process of becoming suspended.
    SUSPENDING = 9

    # The instance is in the process of becoming active.
    RESUMING = 10

    # The instance is reverting to a snapshot.
    REVERTING = 12

    # The replica instance is being promoted.
    PROMOTING = 13
  end

  # Available service tiers.
  module Tier
    # Not set.
    TIER_UNSPECIFIED = 0

    # STANDARD tier. BASIC_HDD is the preferred term for this tier.
    STANDARD = 1

    # PREMIUM tier. BASIC_SSD is the preferred term for this tier.
    PREMIUM = 2

    # BASIC instances offer a maximum capacity of 63.9 TB.
    # BASIC_HDD is an alias for STANDARD Tier, offering economical
    # performance backed by HDD.
    BASIC_HDD = 3

    # BASIC instances offer a maximum capacity of 63.9 TB.
    # BASIC_SSD is an alias for PREMIUM Tier, and offers improved
    # performance backed by SSD.
    BASIC_SSD = 4

    # HIGH_SCALE instances offer expanded capacity and performance scaling
    # capabilities.
    HIGH_SCALE_SSD = 5

    # ENTERPRISE instances offer the features and availability needed for
    # mission-critical workloads.
    ENTERPRISE = 6

    # ZONAL instances offer expanded capacity and performance scaling
    # capabilities.
    ZONAL = 7

    # REGIONAL instances offer the features and availability needed for
    # mission-critical workloads.
    REGIONAL = 8
  end

  # SuspensionReason contains the possible reasons for a suspension.
  module SuspensionReason
    # Not set.
    SUSPENSION_REASON_UNSPECIFIED = 0

    # The KMS key used by the instance is either revoked or denied access to.
    KMS_KEY_ISSUE = 1
  end

  # File access protocol.
  module FileProtocol
    # FILE_PROTOCOL_UNSPECIFIED serves a "not set" default value when
    # a FileProtocol is a separate field in a message.
    FILE_PROTOCOL_UNSPECIFIED = 0

    # NFS 3.0.
    NFS_V3 = 1

    # NFS 4.1.
    NFS_V4_1 = 2
  end
end

#deletion_protection_reason::String

Returns Optional. The reason for enabling deletion protection.

Returns:

  • (::String)

    Optional. The reason for enabling deletion protection.



343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
# File 'proto_docs/google/cloud/filestore/v1/cloud_filestore_service.rb', line 343

class Instance
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # IOPS per TB.
  # Filestore defines TB as 1024^4 bytes (TiB).
  # @!attribute [rw] max_iops_per_tb
  #   @return [::Integer]
  #     Required. Maximum IOPS per TiB.
  class IOPSPerTB
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Fixed IOPS (input/output operations per second) parameters.
  # @!attribute [rw] max_iops
  #   @return [::Integer]
  #     Required. Maximum IOPS.
  class FixedIOPS
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Used for setting the performance configuration.
  # If the user doesn't specify PerformanceConfig, automatically provision
  # the default performance settings as described in
  # https://cloud.google.com/filestore/docs/performance. Larger instances will
  # be linearly set to more IOPS. If the instance's capacity is increased or
  # decreased, its performance will be automatically adjusted upwards or
  # downwards accordingly (respectively).
  # @!attribute [rw] iops_per_tb
  #   @return [::Google::Cloud::Filestore::V1::Instance::IOPSPerTB]
  #     Provision IOPS dynamically based on the capacity of the instance.
  #     Provisioned IOPS will be calculated by multiplying the capacity of the
  #     instance in TiB by the `iops_per_tb` value. For example, for a 2 TiB
  #     instance with an `iops_per_tb` value of 17000 the provisioned IOPS will
  #     be 34000.
  #
  #     If the calculated value is outside the supported range for the
  #     instance's capacity during instance creation, instance creation will
  #     fail with an `InvalidArgument` error. Similarly, if an instance
  #     capacity update would result in a value outside the supported range,
  #     the update will fail with an `InvalidArgument` error.
  #
  #     Note: The following fields are mutually exclusive: `iops_per_tb`, `fixed_iops`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] fixed_iops
  #   @return [::Google::Cloud::Filestore::V1::Instance::FixedIOPS]
  #     Choose a fixed provisioned IOPS value for the instance, which will
  #     remain constant regardless of instance capacity. Value must be a
  #     multiple of 1000.
  #
  #     If the chosen value is outside the supported range for the instance's
  #     capacity during instance creation, instance creation will fail with an
  #     `InvalidArgument` error. Similarly, if an instance capacity update
  #     would result in a value outside the supported range, the update will
  #     fail with an `InvalidArgument` error.
  #
  #     Note: The following fields are mutually exclusive: `fixed_iops`, `iops_per_tb`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  class PerformanceConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The enforced performance limits, calculated from the instance's performance
  # configuration.
  # @!attribute [r] max_iops
  #   @return [::Integer]
  #     Output only. The max IOPS.
  # @!attribute [r] max_read_iops
  #   @return [::Integer]
  #     Output only. The max read IOPS.
  # @!attribute [r] max_write_iops
  #   @return [::Integer]
  #     Output only. The max write IOPS.
  # @!attribute [r] max_read_throughput_bps
  #   @return [::Integer]
  #     Output only. The max read throughput in bytes per second.
  # @!attribute [r] max_write_throughput_bps
  #   @return [::Integer]
  #     Output only. The max write throughput in bytes per second.
  class PerformanceLimits
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class TagsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The instance state.
  module State
    # State not set.
    STATE_UNSPECIFIED = 0

    # The instance is being created.
    CREATING = 1

    # The instance is available for use.
    READY = 2

    # Work is being done on the instance. You can get further details from the
    # `statusMessage` field of the `Instance` resource.
    REPAIRING = 3

    # The instance is shutting down.
    DELETING = 4

    # The instance is experiencing an issue and might be unusable. You can get
    # further details from the `statusMessage` field of the `Instance`
    # resource.
    ERROR = 6

    # The instance is restoring a backup to an existing file share and may be
    # unusable during this time.
    RESTORING = 7

    # The instance is suspended. You can get further details from
    # the `suspension_reasons` field of the `Instance` resource.
    SUSPENDED = 8

    # The instance is in the process of becoming suspended.
    SUSPENDING = 9

    # The instance is in the process of becoming active.
    RESUMING = 10

    # The instance is reverting to a snapshot.
    REVERTING = 12

    # The replica instance is being promoted.
    PROMOTING = 13
  end

  # Available service tiers.
  module Tier
    # Not set.
    TIER_UNSPECIFIED = 0

    # STANDARD tier. BASIC_HDD is the preferred term for this tier.
    STANDARD = 1

    # PREMIUM tier. BASIC_SSD is the preferred term for this tier.
    PREMIUM = 2

    # BASIC instances offer a maximum capacity of 63.9 TB.
    # BASIC_HDD is an alias for STANDARD Tier, offering economical
    # performance backed by HDD.
    BASIC_HDD = 3

    # BASIC instances offer a maximum capacity of 63.9 TB.
    # BASIC_SSD is an alias for PREMIUM Tier, and offers improved
    # performance backed by SSD.
    BASIC_SSD = 4

    # HIGH_SCALE instances offer expanded capacity and performance scaling
    # capabilities.
    HIGH_SCALE_SSD = 5

    # ENTERPRISE instances offer the features and availability needed for
    # mission-critical workloads.
    ENTERPRISE = 6

    # ZONAL instances offer expanded capacity and performance scaling
    # capabilities.
    ZONAL = 7

    # REGIONAL instances offer the features and availability needed for
    # mission-critical workloads.
    REGIONAL = 8
  end

  # SuspensionReason contains the possible reasons for a suspension.
  module SuspensionReason
    # Not set.
    SUSPENSION_REASON_UNSPECIFIED = 0

    # The KMS key used by the instance is either revoked or denied access to.
    KMS_KEY_ISSUE = 1
  end

  # File access protocol.
  module FileProtocol
    # FILE_PROTOCOL_UNSPECIFIED serves a "not set" default value when
    # a FileProtocol is a separate field in a message.
    FILE_PROTOCOL_UNSPECIFIED = 0

    # NFS 3.0.
    NFS_V3 = 1

    # NFS 4.1.
    NFS_V4_1 = 2
  end
end

#description::String

Returns The description of the instance (2048 characters or less).

Returns:

  • (::String)

    The description of the instance (2048 characters or less).



343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
# File 'proto_docs/google/cloud/filestore/v1/cloud_filestore_service.rb', line 343

class Instance
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # IOPS per TB.
  # Filestore defines TB as 1024^4 bytes (TiB).
  # @!attribute [rw] max_iops_per_tb
  #   @return [::Integer]
  #     Required. Maximum IOPS per TiB.
  class IOPSPerTB
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Fixed IOPS (input/output operations per second) parameters.
  # @!attribute [rw] max_iops
  #   @return [::Integer]
  #     Required. Maximum IOPS.
  class FixedIOPS
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Used for setting the performance configuration.
  # If the user doesn't specify PerformanceConfig, automatically provision
  # the default performance settings as described in
  # https://cloud.google.com/filestore/docs/performance. Larger instances will
  # be linearly set to more IOPS. If the instance's capacity is increased or
  # decreased, its performance will be automatically adjusted upwards or
  # downwards accordingly (respectively).
  # @!attribute [rw] iops_per_tb
  #   @return [::Google::Cloud::Filestore::V1::Instance::IOPSPerTB]
  #     Provision IOPS dynamically based on the capacity of the instance.
  #     Provisioned IOPS will be calculated by multiplying the capacity of the
  #     instance in TiB by the `iops_per_tb` value. For example, for a 2 TiB
  #     instance with an `iops_per_tb` value of 17000 the provisioned IOPS will
  #     be 34000.
  #
  #     If the calculated value is outside the supported range for the
  #     instance's capacity during instance creation, instance creation will
  #     fail with an `InvalidArgument` error. Similarly, if an instance
  #     capacity update would result in a value outside the supported range,
  #     the update will fail with an `InvalidArgument` error.
  #
  #     Note: The following fields are mutually exclusive: `iops_per_tb`, `fixed_iops`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] fixed_iops
  #   @return [::Google::Cloud::Filestore::V1::Instance::FixedIOPS]
  #     Choose a fixed provisioned IOPS value for the instance, which will
  #     remain constant regardless of instance capacity. Value must be a
  #     multiple of 1000.
  #
  #     If the chosen value is outside the supported range for the instance's
  #     capacity during instance creation, instance creation will fail with an
  #     `InvalidArgument` error. Similarly, if an instance capacity update
  #     would result in a value outside the supported range, the update will
  #     fail with an `InvalidArgument` error.
  #
  #     Note: The following fields are mutually exclusive: `fixed_iops`, `iops_per_tb`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  class PerformanceConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The enforced performance limits, calculated from the instance's performance
  # configuration.
  # @!attribute [r] max_iops
  #   @return [::Integer]
  #     Output only. The max IOPS.
  # @!attribute [r] max_read_iops
  #   @return [::Integer]
  #     Output only. The max read IOPS.
  # @!attribute [r] max_write_iops
  #   @return [::Integer]
  #     Output only. The max write IOPS.
  # @!attribute [r] max_read_throughput_bps
  #   @return [::Integer]
  #     Output only. The max read throughput in bytes per second.
  # @!attribute [r] max_write_throughput_bps
  #   @return [::Integer]
  #     Output only. The max write throughput in bytes per second.
  class PerformanceLimits
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class TagsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The instance state.
  module State
    # State not set.
    STATE_UNSPECIFIED = 0

    # The instance is being created.
    CREATING = 1

    # The instance is available for use.
    READY = 2

    # Work is being done on the instance. You can get further details from the
    # `statusMessage` field of the `Instance` resource.
    REPAIRING = 3

    # The instance is shutting down.
    DELETING = 4

    # The instance is experiencing an issue and might be unusable. You can get
    # further details from the `statusMessage` field of the `Instance`
    # resource.
    ERROR = 6

    # The instance is restoring a backup to an existing file share and may be
    # unusable during this time.
    RESTORING = 7

    # The instance is suspended. You can get further details from
    # the `suspension_reasons` field of the `Instance` resource.
    SUSPENDED = 8

    # The instance is in the process of becoming suspended.
    SUSPENDING = 9

    # The instance is in the process of becoming active.
    RESUMING = 10

    # The instance is reverting to a snapshot.
    REVERTING = 12

    # The replica instance is being promoted.
    PROMOTING = 13
  end

  # Available service tiers.
  module Tier
    # Not set.
    TIER_UNSPECIFIED = 0

    # STANDARD tier. BASIC_HDD is the preferred term for this tier.
    STANDARD = 1

    # PREMIUM tier. BASIC_SSD is the preferred term for this tier.
    PREMIUM = 2

    # BASIC instances offer a maximum capacity of 63.9 TB.
    # BASIC_HDD is an alias for STANDARD Tier, offering economical
    # performance backed by HDD.
    BASIC_HDD = 3

    # BASIC instances offer a maximum capacity of 63.9 TB.
    # BASIC_SSD is an alias for PREMIUM Tier, and offers improved
    # performance backed by SSD.
    BASIC_SSD = 4

    # HIGH_SCALE instances offer expanded capacity and performance scaling
    # capabilities.
    HIGH_SCALE_SSD = 5

    # ENTERPRISE instances offer the features and availability needed for
    # mission-critical workloads.
    ENTERPRISE = 6

    # ZONAL instances offer expanded capacity and performance scaling
    # capabilities.
    ZONAL = 7

    # REGIONAL instances offer the features and availability needed for
    # mission-critical workloads.
    REGIONAL = 8
  end

  # SuspensionReason contains the possible reasons for a suspension.
  module SuspensionReason
    # Not set.
    SUSPENSION_REASON_UNSPECIFIED = 0

    # The KMS key used by the instance is either revoked or denied access to.
    KMS_KEY_ISSUE = 1
  end

  # File access protocol.
  module FileProtocol
    # FILE_PROTOCOL_UNSPECIFIED serves a "not set" default value when
    # a FileProtocol is a separate field in a message.
    FILE_PROTOCOL_UNSPECIFIED = 0

    # NFS 3.0.
    NFS_V3 = 1

    # NFS 4.1.
    NFS_V4_1 = 2
  end
end

#etag::String

Returns Server-specified ETag for the instance resource to prevent simultaneous updates from overwriting each other.

Returns:

  • (::String)

    Server-specified ETag for the instance resource to prevent simultaneous updates from overwriting each other.



343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
# File 'proto_docs/google/cloud/filestore/v1/cloud_filestore_service.rb', line 343

class Instance
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # IOPS per TB.
  # Filestore defines TB as 1024^4 bytes (TiB).
  # @!attribute [rw] max_iops_per_tb
  #   @return [::Integer]
  #     Required. Maximum IOPS per TiB.
  class IOPSPerTB
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Fixed IOPS (input/output operations per second) parameters.
  # @!attribute [rw] max_iops
  #   @return [::Integer]
  #     Required. Maximum IOPS.
  class FixedIOPS
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Used for setting the performance configuration.
  # If the user doesn't specify PerformanceConfig, automatically provision
  # the default performance settings as described in
  # https://cloud.google.com/filestore/docs/performance. Larger instances will
  # be linearly set to more IOPS. If the instance's capacity is increased or
  # decreased, its performance will be automatically adjusted upwards or
  # downwards accordingly (respectively).
  # @!attribute [rw] iops_per_tb
  #   @return [::Google::Cloud::Filestore::V1::Instance::IOPSPerTB]
  #     Provision IOPS dynamically based on the capacity of the instance.
  #     Provisioned IOPS will be calculated by multiplying the capacity of the
  #     instance in TiB by the `iops_per_tb` value. For example, for a 2 TiB
  #     instance with an `iops_per_tb` value of 17000 the provisioned IOPS will
  #     be 34000.
  #
  #     If the calculated value is outside the supported range for the
  #     instance's capacity during instance creation, instance creation will
  #     fail with an `InvalidArgument` error. Similarly, if an instance
  #     capacity update would result in a value outside the supported range,
  #     the update will fail with an `InvalidArgument` error.
  #
  #     Note: The following fields are mutually exclusive: `iops_per_tb`, `fixed_iops`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] fixed_iops
  #   @return [::Google::Cloud::Filestore::V1::Instance::FixedIOPS]
  #     Choose a fixed provisioned IOPS value for the instance, which will
  #     remain constant regardless of instance capacity. Value must be a
  #     multiple of 1000.
  #
  #     If the chosen value is outside the supported range for the instance's
  #     capacity during instance creation, instance creation will fail with an
  #     `InvalidArgument` error. Similarly, if an instance capacity update
  #     would result in a value outside the supported range, the update will
  #     fail with an `InvalidArgument` error.
  #
  #     Note: The following fields are mutually exclusive: `fixed_iops`, `iops_per_tb`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  class PerformanceConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The enforced performance limits, calculated from the instance's performance
  # configuration.
  # @!attribute [r] max_iops
  #   @return [::Integer]
  #     Output only. The max IOPS.
  # @!attribute [r] max_read_iops
  #   @return [::Integer]
  #     Output only. The max read IOPS.
  # @!attribute [r] max_write_iops
  #   @return [::Integer]
  #     Output only. The max write IOPS.
  # @!attribute [r] max_read_throughput_bps
  #   @return [::Integer]
  #     Output only. The max read throughput in bytes per second.
  # @!attribute [r] max_write_throughput_bps
  #   @return [::Integer]
  #     Output only. The max write throughput in bytes per second.
  class PerformanceLimits
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class TagsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The instance state.
  module State
    # State not set.
    STATE_UNSPECIFIED = 0

    # The instance is being created.
    CREATING = 1

    # The instance is available for use.
    READY = 2

    # Work is being done on the instance. You can get further details from the
    # `statusMessage` field of the `Instance` resource.
    REPAIRING = 3

    # The instance is shutting down.
    DELETING = 4

    # The instance is experiencing an issue and might be unusable. You can get
    # further details from the `statusMessage` field of the `Instance`
    # resource.
    ERROR = 6

    # The instance is restoring a backup to an existing file share and may be
    # unusable during this time.
    RESTORING = 7

    # The instance is suspended. You can get further details from
    # the `suspension_reasons` field of the `Instance` resource.
    SUSPENDED = 8

    # The instance is in the process of becoming suspended.
    SUSPENDING = 9

    # The instance is in the process of becoming active.
    RESUMING = 10

    # The instance is reverting to a snapshot.
    REVERTING = 12

    # The replica instance is being promoted.
    PROMOTING = 13
  end

  # Available service tiers.
  module Tier
    # Not set.
    TIER_UNSPECIFIED = 0

    # STANDARD tier. BASIC_HDD is the preferred term for this tier.
    STANDARD = 1

    # PREMIUM tier. BASIC_SSD is the preferred term for this tier.
    PREMIUM = 2

    # BASIC instances offer a maximum capacity of 63.9 TB.
    # BASIC_HDD is an alias for STANDARD Tier, offering economical
    # performance backed by HDD.
    BASIC_HDD = 3

    # BASIC instances offer a maximum capacity of 63.9 TB.
    # BASIC_SSD is an alias for PREMIUM Tier, and offers improved
    # performance backed by SSD.
    BASIC_SSD = 4

    # HIGH_SCALE instances offer expanded capacity and performance scaling
    # capabilities.
    HIGH_SCALE_SSD = 5

    # ENTERPRISE instances offer the features and availability needed for
    # mission-critical workloads.
    ENTERPRISE = 6

    # ZONAL instances offer expanded capacity and performance scaling
    # capabilities.
    ZONAL = 7

    # REGIONAL instances offer the features and availability needed for
    # mission-critical workloads.
    REGIONAL = 8
  end

  # SuspensionReason contains the possible reasons for a suspension.
  module SuspensionReason
    # Not set.
    SUSPENSION_REASON_UNSPECIFIED = 0

    # The KMS key used by the instance is either revoked or denied access to.
    KMS_KEY_ISSUE = 1
  end

  # File access protocol.
  module FileProtocol
    # FILE_PROTOCOL_UNSPECIFIED serves a "not set" default value when
    # a FileProtocol is a separate field in a message.
    FILE_PROTOCOL_UNSPECIFIED = 0

    # NFS 3.0.
    NFS_V3 = 1

    # NFS 4.1.
    NFS_V4_1 = 2
  end
end

#file_shares::Array<::Google::Cloud::Filestore::V1::FileShareConfig>

Returns File system shares on the instance. For this version, only a single file share is supported.

Returns:



343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
# File 'proto_docs/google/cloud/filestore/v1/cloud_filestore_service.rb', line 343

class Instance
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # IOPS per TB.
  # Filestore defines TB as 1024^4 bytes (TiB).
  # @!attribute [rw] max_iops_per_tb
  #   @return [::Integer]
  #     Required. Maximum IOPS per TiB.
  class IOPSPerTB
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Fixed IOPS (input/output operations per second) parameters.
  # @!attribute [rw] max_iops
  #   @return [::Integer]
  #     Required. Maximum IOPS.
  class FixedIOPS
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Used for setting the performance configuration.
  # If the user doesn't specify PerformanceConfig, automatically provision
  # the default performance settings as described in
  # https://cloud.google.com/filestore/docs/performance. Larger instances will
  # be linearly set to more IOPS. If the instance's capacity is increased or
  # decreased, its performance will be automatically adjusted upwards or
  # downwards accordingly (respectively).
  # @!attribute [rw] iops_per_tb
  #   @return [::Google::Cloud::Filestore::V1::Instance::IOPSPerTB]
  #     Provision IOPS dynamically based on the capacity of the instance.
  #     Provisioned IOPS will be calculated by multiplying the capacity of the
  #     instance in TiB by the `iops_per_tb` value. For example, for a 2 TiB
  #     instance with an `iops_per_tb` value of 17000 the provisioned IOPS will
  #     be 34000.
  #
  #     If the calculated value is outside the supported range for the
  #     instance's capacity during instance creation, instance creation will
  #     fail with an `InvalidArgument` error. Similarly, if an instance
  #     capacity update would result in a value outside the supported range,
  #     the update will fail with an `InvalidArgument` error.
  #
  #     Note: The following fields are mutually exclusive: `iops_per_tb`, `fixed_iops`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] fixed_iops
  #   @return [::Google::Cloud::Filestore::V1::Instance::FixedIOPS]
  #     Choose a fixed provisioned IOPS value for the instance, which will
  #     remain constant regardless of instance capacity. Value must be a
  #     multiple of 1000.
  #
  #     If the chosen value is outside the supported range for the instance's
  #     capacity during instance creation, instance creation will fail with an
  #     `InvalidArgument` error. Similarly, if an instance capacity update
  #     would result in a value outside the supported range, the update will
  #     fail with an `InvalidArgument` error.
  #
  #     Note: The following fields are mutually exclusive: `fixed_iops`, `iops_per_tb`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  class PerformanceConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The enforced performance limits, calculated from the instance's performance
  # configuration.
  # @!attribute [r] max_iops
  #   @return [::Integer]
  #     Output only. The max IOPS.
  # @!attribute [r] max_read_iops
  #   @return [::Integer]
  #     Output only. The max read IOPS.
  # @!attribute [r] max_write_iops
  #   @return [::Integer]
  #     Output only. The max write IOPS.
  # @!attribute [r] max_read_throughput_bps
  #   @return [::Integer]
  #     Output only. The max read throughput in bytes per second.
  # @!attribute [r] max_write_throughput_bps
  #   @return [::Integer]
  #     Output only. The max write throughput in bytes per second.
  class PerformanceLimits
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class TagsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The instance state.
  module State
    # State not set.
    STATE_UNSPECIFIED = 0

    # The instance is being created.
    CREATING = 1

    # The instance is available for use.
    READY = 2

    # Work is being done on the instance. You can get further details from the
    # `statusMessage` field of the `Instance` resource.
    REPAIRING = 3

    # The instance is shutting down.
    DELETING = 4

    # The instance is experiencing an issue and might be unusable. You can get
    # further details from the `statusMessage` field of the `Instance`
    # resource.
    ERROR = 6

    # The instance is restoring a backup to an existing file share and may be
    # unusable during this time.
    RESTORING = 7

    # The instance is suspended. You can get further details from
    # the `suspension_reasons` field of the `Instance` resource.
    SUSPENDED = 8

    # The instance is in the process of becoming suspended.
    SUSPENDING = 9

    # The instance is in the process of becoming active.
    RESUMING = 10

    # The instance is reverting to a snapshot.
    REVERTING = 12

    # The replica instance is being promoted.
    PROMOTING = 13
  end

  # Available service tiers.
  module Tier
    # Not set.
    TIER_UNSPECIFIED = 0

    # STANDARD tier. BASIC_HDD is the preferred term for this tier.
    STANDARD = 1

    # PREMIUM tier. BASIC_SSD is the preferred term for this tier.
    PREMIUM = 2

    # BASIC instances offer a maximum capacity of 63.9 TB.
    # BASIC_HDD is an alias for STANDARD Tier, offering economical
    # performance backed by HDD.
    BASIC_HDD = 3

    # BASIC instances offer a maximum capacity of 63.9 TB.
    # BASIC_SSD is an alias for PREMIUM Tier, and offers improved
    # performance backed by SSD.
    BASIC_SSD = 4

    # HIGH_SCALE instances offer expanded capacity and performance scaling
    # capabilities.
    HIGH_SCALE_SSD = 5

    # ENTERPRISE instances offer the features and availability needed for
    # mission-critical workloads.
    ENTERPRISE = 6

    # ZONAL instances offer expanded capacity and performance scaling
    # capabilities.
    ZONAL = 7

    # REGIONAL instances offer the features and availability needed for
    # mission-critical workloads.
    REGIONAL = 8
  end

  # SuspensionReason contains the possible reasons for a suspension.
  module SuspensionReason
    # Not set.
    SUSPENSION_REASON_UNSPECIFIED = 0

    # The KMS key used by the instance is either revoked or denied access to.
    KMS_KEY_ISSUE = 1
  end

  # File access protocol.
  module FileProtocol
    # FILE_PROTOCOL_UNSPECIFIED serves a "not set" default value when
    # a FileProtocol is a separate field in a message.
    FILE_PROTOCOL_UNSPECIFIED = 0

    # NFS 3.0.
    NFS_V3 = 1

    # NFS 4.1.
    NFS_V4_1 = 2
  end
end

#kms_key_name::String

Returns KMS key name used for data encryption.

Returns:

  • (::String)

    KMS key name used for data encryption.



343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
# File 'proto_docs/google/cloud/filestore/v1/cloud_filestore_service.rb', line 343

class Instance
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # IOPS per TB.
  # Filestore defines TB as 1024^4 bytes (TiB).
  # @!attribute [rw] max_iops_per_tb
  #   @return [::Integer]
  #     Required. Maximum IOPS per TiB.
  class IOPSPerTB
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Fixed IOPS (input/output operations per second) parameters.
  # @!attribute [rw] max_iops
  #   @return [::Integer]
  #     Required. Maximum IOPS.
  class FixedIOPS
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Used for setting the performance configuration.
  # If the user doesn't specify PerformanceConfig, automatically provision
  # the default performance settings as described in
  # https://cloud.google.com/filestore/docs/performance. Larger instances will
  # be linearly set to more IOPS. If the instance's capacity is increased or
  # decreased, its performance will be automatically adjusted upwards or
  # downwards accordingly (respectively).
  # @!attribute [rw] iops_per_tb
  #   @return [::Google::Cloud::Filestore::V1::Instance::IOPSPerTB]
  #     Provision IOPS dynamically based on the capacity of the instance.
  #     Provisioned IOPS will be calculated by multiplying the capacity of the
  #     instance in TiB by the `iops_per_tb` value. For example, for a 2 TiB
  #     instance with an `iops_per_tb` value of 17000 the provisioned IOPS will
  #     be 34000.
  #
  #     If the calculated value is outside the supported range for the
  #     instance's capacity during instance creation, instance creation will
  #     fail with an `InvalidArgument` error. Similarly, if an instance
  #     capacity update would result in a value outside the supported range,
  #     the update will fail with an `InvalidArgument` error.
  #
  #     Note: The following fields are mutually exclusive: `iops_per_tb`, `fixed_iops`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] fixed_iops
  #   @return [::Google::Cloud::Filestore::V1::Instance::FixedIOPS]
  #     Choose a fixed provisioned IOPS value for the instance, which will
  #     remain constant regardless of instance capacity. Value must be a
  #     multiple of 1000.
  #
  #     If the chosen value is outside the supported range for the instance's
  #     capacity during instance creation, instance creation will fail with an
  #     `InvalidArgument` error. Similarly, if an instance capacity update
  #     would result in a value outside the supported range, the update will
  #     fail with an `InvalidArgument` error.
  #
  #     Note: The following fields are mutually exclusive: `fixed_iops`, `iops_per_tb`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  class PerformanceConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The enforced performance limits, calculated from the instance's performance
  # configuration.
  # @!attribute [r] max_iops
  #   @return [::Integer]
  #     Output only. The max IOPS.
  # @!attribute [r] max_read_iops
  #   @return [::Integer]
  #     Output only. The max read IOPS.
  # @!attribute [r] max_write_iops
  #   @return [::Integer]
  #     Output only. The max write IOPS.
  # @!attribute [r] max_read_throughput_bps
  #   @return [::Integer]
  #     Output only. The max read throughput in bytes per second.
  # @!attribute [r] max_write_throughput_bps
  #   @return [::Integer]
  #     Output only. The max write throughput in bytes per second.
  class PerformanceLimits
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class TagsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The instance state.
  module State
    # State not set.
    STATE_UNSPECIFIED = 0

    # The instance is being created.
    CREATING = 1

    # The instance is available for use.
    READY = 2

    # Work is being done on the instance. You can get further details from the
    # `statusMessage` field of the `Instance` resource.
    REPAIRING = 3

    # The instance is shutting down.
    DELETING = 4

    # The instance is experiencing an issue and might be unusable. You can get
    # further details from the `statusMessage` field of the `Instance`
    # resource.
    ERROR = 6

    # The instance is restoring a backup to an existing file share and may be
    # unusable during this time.
    RESTORING = 7

    # The instance is suspended. You can get further details from
    # the `suspension_reasons` field of the `Instance` resource.
    SUSPENDED = 8

    # The instance is in the process of becoming suspended.
    SUSPENDING = 9

    # The instance is in the process of becoming active.
    RESUMING = 10

    # The instance is reverting to a snapshot.
    REVERTING = 12

    # The replica instance is being promoted.
    PROMOTING = 13
  end

  # Available service tiers.
  module Tier
    # Not set.
    TIER_UNSPECIFIED = 0

    # STANDARD tier. BASIC_HDD is the preferred term for this tier.
    STANDARD = 1

    # PREMIUM tier. BASIC_SSD is the preferred term for this tier.
    PREMIUM = 2

    # BASIC instances offer a maximum capacity of 63.9 TB.
    # BASIC_HDD is an alias for STANDARD Tier, offering economical
    # performance backed by HDD.
    BASIC_HDD = 3

    # BASIC instances offer a maximum capacity of 63.9 TB.
    # BASIC_SSD is an alias for PREMIUM Tier, and offers improved
    # performance backed by SSD.
    BASIC_SSD = 4

    # HIGH_SCALE instances offer expanded capacity and performance scaling
    # capabilities.
    HIGH_SCALE_SSD = 5

    # ENTERPRISE instances offer the features and availability needed for
    # mission-critical workloads.
    ENTERPRISE = 6

    # ZONAL instances offer expanded capacity and performance scaling
    # capabilities.
    ZONAL = 7

    # REGIONAL instances offer the features and availability needed for
    # mission-critical workloads.
    REGIONAL = 8
  end

  # SuspensionReason contains the possible reasons for a suspension.
  module SuspensionReason
    # Not set.
    SUSPENSION_REASON_UNSPECIFIED = 0

    # The KMS key used by the instance is either revoked or denied access to.
    KMS_KEY_ISSUE = 1
  end

  # File access protocol.
  module FileProtocol
    # FILE_PROTOCOL_UNSPECIFIED serves a "not set" default value when
    # a FileProtocol is a separate field in a message.
    FILE_PROTOCOL_UNSPECIFIED = 0

    # NFS 3.0.
    NFS_V3 = 1

    # NFS 4.1.
    NFS_V4_1 = 2
  end
end

#labels::Google::Protobuf::Map{::String => ::String}

Returns Resource labels to represent user provided metadata.

Returns:

  • (::Google::Protobuf::Map{::String => ::String})

    Resource labels to represent user provided metadata.



343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
# File 'proto_docs/google/cloud/filestore/v1/cloud_filestore_service.rb', line 343

class Instance
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # IOPS per TB.
  # Filestore defines TB as 1024^4 bytes (TiB).
  # @!attribute [rw] max_iops_per_tb
  #   @return [::Integer]
  #     Required. Maximum IOPS per TiB.
  class IOPSPerTB
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Fixed IOPS (input/output operations per second) parameters.
  # @!attribute [rw] max_iops
  #   @return [::Integer]
  #     Required. Maximum IOPS.
  class FixedIOPS
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Used for setting the performance configuration.
  # If the user doesn't specify PerformanceConfig, automatically provision
  # the default performance settings as described in
  # https://cloud.google.com/filestore/docs/performance. Larger instances will
  # be linearly set to more IOPS. If the instance's capacity is increased or
  # decreased, its performance will be automatically adjusted upwards or
  # downwards accordingly (respectively).
  # @!attribute [rw] iops_per_tb
  #   @return [::Google::Cloud::Filestore::V1::Instance::IOPSPerTB]
  #     Provision IOPS dynamically based on the capacity of the instance.
  #     Provisioned IOPS will be calculated by multiplying the capacity of the
  #     instance in TiB by the `iops_per_tb` value. For example, for a 2 TiB
  #     instance with an `iops_per_tb` value of 17000 the provisioned IOPS will
  #     be 34000.
  #
  #     If the calculated value is outside the supported range for the
  #     instance's capacity during instance creation, instance creation will
  #     fail with an `InvalidArgument` error. Similarly, if an instance
  #     capacity update would result in a value outside the supported range,
  #     the update will fail with an `InvalidArgument` error.
  #
  #     Note: The following fields are mutually exclusive: `iops_per_tb`, `fixed_iops`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] fixed_iops
  #   @return [::Google::Cloud::Filestore::V1::Instance::FixedIOPS]
  #     Choose a fixed provisioned IOPS value for the instance, which will
  #     remain constant regardless of instance capacity. Value must be a
  #     multiple of 1000.
  #
  #     If the chosen value is outside the supported range for the instance's
  #     capacity during instance creation, instance creation will fail with an
  #     `InvalidArgument` error. Similarly, if an instance capacity update
  #     would result in a value outside the supported range, the update will
  #     fail with an `InvalidArgument` error.
  #
  #     Note: The following fields are mutually exclusive: `fixed_iops`, `iops_per_tb`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  class PerformanceConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The enforced performance limits, calculated from the instance's performance
  # configuration.
  # @!attribute [r] max_iops
  #   @return [::Integer]
  #     Output only. The max IOPS.
  # @!attribute [r] max_read_iops
  #   @return [::Integer]
  #     Output only. The max read IOPS.
  # @!attribute [r] max_write_iops
  #   @return [::Integer]
  #     Output only. The max write IOPS.
  # @!attribute [r] max_read_throughput_bps
  #   @return [::Integer]
  #     Output only. The max read throughput in bytes per second.
  # @!attribute [r] max_write_throughput_bps
  #   @return [::Integer]
  #     Output only. The max write throughput in bytes per second.
  class PerformanceLimits
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class TagsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The instance state.
  module State
    # State not set.
    STATE_UNSPECIFIED = 0

    # The instance is being created.
    CREATING = 1

    # The instance is available for use.
    READY = 2

    # Work is being done on the instance. You can get further details from the
    # `statusMessage` field of the `Instance` resource.
    REPAIRING = 3

    # The instance is shutting down.
    DELETING = 4

    # The instance is experiencing an issue and might be unusable. You can get
    # further details from the `statusMessage` field of the `Instance`
    # resource.
    ERROR = 6

    # The instance is restoring a backup to an existing file share and may be
    # unusable during this time.
    RESTORING = 7

    # The instance is suspended. You can get further details from
    # the `suspension_reasons` field of the `Instance` resource.
    SUSPENDED = 8

    # The instance is in the process of becoming suspended.
    SUSPENDING = 9

    # The instance is in the process of becoming active.
    RESUMING = 10

    # The instance is reverting to a snapshot.
    REVERTING = 12

    # The replica instance is being promoted.
    PROMOTING = 13
  end

  # Available service tiers.
  module Tier
    # Not set.
    TIER_UNSPECIFIED = 0

    # STANDARD tier. BASIC_HDD is the preferred term for this tier.
    STANDARD = 1

    # PREMIUM tier. BASIC_SSD is the preferred term for this tier.
    PREMIUM = 2

    # BASIC instances offer a maximum capacity of 63.9 TB.
    # BASIC_HDD is an alias for STANDARD Tier, offering economical
    # performance backed by HDD.
    BASIC_HDD = 3

    # BASIC instances offer a maximum capacity of 63.9 TB.
    # BASIC_SSD is an alias for PREMIUM Tier, and offers improved
    # performance backed by SSD.
    BASIC_SSD = 4

    # HIGH_SCALE instances offer expanded capacity and performance scaling
    # capabilities.
    HIGH_SCALE_SSD = 5

    # ENTERPRISE instances offer the features and availability needed for
    # mission-critical workloads.
    ENTERPRISE = 6

    # ZONAL instances offer expanded capacity and performance scaling
    # capabilities.
    ZONAL = 7

    # REGIONAL instances offer the features and availability needed for
    # mission-critical workloads.
    REGIONAL = 8
  end

  # SuspensionReason contains the possible reasons for a suspension.
  module SuspensionReason
    # Not set.
    SUSPENSION_REASON_UNSPECIFIED = 0

    # The KMS key used by the instance is either revoked or denied access to.
    KMS_KEY_ISSUE = 1
  end

  # File access protocol.
  module FileProtocol
    # FILE_PROTOCOL_UNSPECIFIED serves a "not set" default value when
    # a FileProtocol is a separate field in a message.
    FILE_PROTOCOL_UNSPECIFIED = 0

    # NFS 3.0.
    NFS_V3 = 1

    # NFS 4.1.
    NFS_V4_1 = 2
  end
end

#name::String (readonly)

Returns Output only. The resource name of the instance, in the format projects/{project}/locations/{location}/instances/{instance}.

Returns:

  • (::String)

    Output only. The resource name of the instance, in the format projects/{project}/locations/{location}/instances/{instance}.



343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
# File 'proto_docs/google/cloud/filestore/v1/cloud_filestore_service.rb', line 343

class Instance
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # IOPS per TB.
  # Filestore defines TB as 1024^4 bytes (TiB).
  # @!attribute [rw] max_iops_per_tb
  #   @return [::Integer]
  #     Required. Maximum IOPS per TiB.
  class IOPSPerTB
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Fixed IOPS (input/output operations per second) parameters.
  # @!attribute [rw] max_iops
  #   @return [::Integer]
  #     Required. Maximum IOPS.
  class FixedIOPS
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Used for setting the performance configuration.
  # If the user doesn't specify PerformanceConfig, automatically provision
  # the default performance settings as described in
  # https://cloud.google.com/filestore/docs/performance. Larger instances will
  # be linearly set to more IOPS. If the instance's capacity is increased or
  # decreased, its performance will be automatically adjusted upwards or
  # downwards accordingly (respectively).
  # @!attribute [rw] iops_per_tb
  #   @return [::Google::Cloud::Filestore::V1::Instance::IOPSPerTB]
  #     Provision IOPS dynamically based on the capacity of the instance.
  #     Provisioned IOPS will be calculated by multiplying the capacity of the
  #     instance in TiB by the `iops_per_tb` value. For example, for a 2 TiB
  #     instance with an `iops_per_tb` value of 17000 the provisioned IOPS will
  #     be 34000.
  #
  #     If the calculated value is outside the supported range for the
  #     instance's capacity during instance creation, instance creation will
  #     fail with an `InvalidArgument` error. Similarly, if an instance
  #     capacity update would result in a value outside the supported range,
  #     the update will fail with an `InvalidArgument` error.
  #
  #     Note: The following fields are mutually exclusive: `iops_per_tb`, `fixed_iops`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] fixed_iops
  #   @return [::Google::Cloud::Filestore::V1::Instance::FixedIOPS]
  #     Choose a fixed provisioned IOPS value for the instance, which will
  #     remain constant regardless of instance capacity. Value must be a
  #     multiple of 1000.
  #
  #     If the chosen value is outside the supported range for the instance's
  #     capacity during instance creation, instance creation will fail with an
  #     `InvalidArgument` error. Similarly, if an instance capacity update
  #     would result in a value outside the supported range, the update will
  #     fail with an `InvalidArgument` error.
  #
  #     Note: The following fields are mutually exclusive: `fixed_iops`, `iops_per_tb`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  class PerformanceConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The enforced performance limits, calculated from the instance's performance
  # configuration.
  # @!attribute [r] max_iops
  #   @return [::Integer]
  #     Output only. The max IOPS.
  # @!attribute [r] max_read_iops
  #   @return [::Integer]
  #     Output only. The max read IOPS.
  # @!attribute [r] max_write_iops
  #   @return [::Integer]
  #     Output only. The max write IOPS.
  # @!attribute [r] max_read_throughput_bps
  #   @return [::Integer]
  #     Output only. The max read throughput in bytes per second.
  # @!attribute [r] max_write_throughput_bps
  #   @return [::Integer]
  #     Output only. The max write throughput in bytes per second.
  class PerformanceLimits
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class TagsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The instance state.
  module State
    # State not set.
    STATE_UNSPECIFIED = 0

    # The instance is being created.
    CREATING = 1

    # The instance is available for use.
    READY = 2

    # Work is being done on the instance. You can get further details from the
    # `statusMessage` field of the `Instance` resource.
    REPAIRING = 3

    # The instance is shutting down.
    DELETING = 4

    # The instance is experiencing an issue and might be unusable. You can get
    # further details from the `statusMessage` field of the `Instance`
    # resource.
    ERROR = 6

    # The instance is restoring a backup to an existing file share and may be
    # unusable during this time.
    RESTORING = 7

    # The instance is suspended. You can get further details from
    # the `suspension_reasons` field of the `Instance` resource.
    SUSPENDED = 8

    # The instance is in the process of becoming suspended.
    SUSPENDING = 9

    # The instance is in the process of becoming active.
    RESUMING = 10

    # The instance is reverting to a snapshot.
    REVERTING = 12

    # The replica instance is being promoted.
    PROMOTING = 13
  end

  # Available service tiers.
  module Tier
    # Not set.
    TIER_UNSPECIFIED = 0

    # STANDARD tier. BASIC_HDD is the preferred term for this tier.
    STANDARD = 1

    # PREMIUM tier. BASIC_SSD is the preferred term for this tier.
    PREMIUM = 2

    # BASIC instances offer a maximum capacity of 63.9 TB.
    # BASIC_HDD is an alias for STANDARD Tier, offering economical
    # performance backed by HDD.
    BASIC_HDD = 3

    # BASIC instances offer a maximum capacity of 63.9 TB.
    # BASIC_SSD is an alias for PREMIUM Tier, and offers improved
    # performance backed by SSD.
    BASIC_SSD = 4

    # HIGH_SCALE instances offer expanded capacity and performance scaling
    # capabilities.
    HIGH_SCALE_SSD = 5

    # ENTERPRISE instances offer the features and availability needed for
    # mission-critical workloads.
    ENTERPRISE = 6

    # ZONAL instances offer expanded capacity and performance scaling
    # capabilities.
    ZONAL = 7

    # REGIONAL instances offer the features and availability needed for
    # mission-critical workloads.
    REGIONAL = 8
  end

  # SuspensionReason contains the possible reasons for a suspension.
  module SuspensionReason
    # Not set.
    SUSPENSION_REASON_UNSPECIFIED = 0

    # The KMS key used by the instance is either revoked or denied access to.
    KMS_KEY_ISSUE = 1
  end

  # File access protocol.
  module FileProtocol
    # FILE_PROTOCOL_UNSPECIFIED serves a "not set" default value when
    # a FileProtocol is a separate field in a message.
    FILE_PROTOCOL_UNSPECIFIED = 0

    # NFS 3.0.
    NFS_V3 = 1

    # NFS 4.1.
    NFS_V4_1 = 2
  end
end

#networks::Array<::Google::Cloud::Filestore::V1::NetworkConfig>

Returns VPC networks to which the instance is connected. For this version, only a single network is supported.

Returns:



343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
# File 'proto_docs/google/cloud/filestore/v1/cloud_filestore_service.rb', line 343

class Instance
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # IOPS per TB.
  # Filestore defines TB as 1024^4 bytes (TiB).
  # @!attribute [rw] max_iops_per_tb
  #   @return [::Integer]
  #     Required. Maximum IOPS per TiB.
  class IOPSPerTB
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Fixed IOPS (input/output operations per second) parameters.
  # @!attribute [rw] max_iops
  #   @return [::Integer]
  #     Required. Maximum IOPS.
  class FixedIOPS
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Used for setting the performance configuration.
  # If the user doesn't specify PerformanceConfig, automatically provision
  # the default performance settings as described in
  # https://cloud.google.com/filestore/docs/performance. Larger instances will
  # be linearly set to more IOPS. If the instance's capacity is increased or
  # decreased, its performance will be automatically adjusted upwards or
  # downwards accordingly (respectively).
  # @!attribute [rw] iops_per_tb
  #   @return [::Google::Cloud::Filestore::V1::Instance::IOPSPerTB]
  #     Provision IOPS dynamically based on the capacity of the instance.
  #     Provisioned IOPS will be calculated by multiplying the capacity of the
  #     instance in TiB by the `iops_per_tb` value. For example, for a 2 TiB
  #     instance with an `iops_per_tb` value of 17000 the provisioned IOPS will
  #     be 34000.
  #
  #     If the calculated value is outside the supported range for the
  #     instance's capacity during instance creation, instance creation will
  #     fail with an `InvalidArgument` error. Similarly, if an instance
  #     capacity update would result in a value outside the supported range,
  #     the update will fail with an `InvalidArgument` error.
  #
  #     Note: The following fields are mutually exclusive: `iops_per_tb`, `fixed_iops`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] fixed_iops
  #   @return [::Google::Cloud::Filestore::V1::Instance::FixedIOPS]
  #     Choose a fixed provisioned IOPS value for the instance, which will
  #     remain constant regardless of instance capacity. Value must be a
  #     multiple of 1000.
  #
  #     If the chosen value is outside the supported range for the instance's
  #     capacity during instance creation, instance creation will fail with an
  #     `InvalidArgument` error. Similarly, if an instance capacity update
  #     would result in a value outside the supported range, the update will
  #     fail with an `InvalidArgument` error.
  #
  #     Note: The following fields are mutually exclusive: `fixed_iops`, `iops_per_tb`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  class PerformanceConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The enforced performance limits, calculated from the instance's performance
  # configuration.
  # @!attribute [r] max_iops
  #   @return [::Integer]
  #     Output only. The max IOPS.
  # @!attribute [r] max_read_iops
  #   @return [::Integer]
  #     Output only. The max read IOPS.
  # @!attribute [r] max_write_iops
  #   @return [::Integer]
  #     Output only. The max write IOPS.
  # @!attribute [r] max_read_throughput_bps
  #   @return [::Integer]
  #     Output only. The max read throughput in bytes per second.
  # @!attribute [r] max_write_throughput_bps
  #   @return [::Integer]
  #     Output only. The max write throughput in bytes per second.
  class PerformanceLimits
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class TagsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The instance state.
  module State
    # State not set.
    STATE_UNSPECIFIED = 0

    # The instance is being created.
    CREATING = 1

    # The instance is available for use.
    READY = 2

    # Work is being done on the instance. You can get further details from the
    # `statusMessage` field of the `Instance` resource.
    REPAIRING = 3

    # The instance is shutting down.
    DELETING = 4

    # The instance is experiencing an issue and might be unusable. You can get
    # further details from the `statusMessage` field of the `Instance`
    # resource.
    ERROR = 6

    # The instance is restoring a backup to an existing file share and may be
    # unusable during this time.
    RESTORING = 7

    # The instance is suspended. You can get further details from
    # the `suspension_reasons` field of the `Instance` resource.
    SUSPENDED = 8

    # The instance is in the process of becoming suspended.
    SUSPENDING = 9

    # The instance is in the process of becoming active.
    RESUMING = 10

    # The instance is reverting to a snapshot.
    REVERTING = 12

    # The replica instance is being promoted.
    PROMOTING = 13
  end

  # Available service tiers.
  module Tier
    # Not set.
    TIER_UNSPECIFIED = 0

    # STANDARD tier. BASIC_HDD is the preferred term for this tier.
    STANDARD = 1

    # PREMIUM tier. BASIC_SSD is the preferred term for this tier.
    PREMIUM = 2

    # BASIC instances offer a maximum capacity of 63.9 TB.
    # BASIC_HDD is an alias for STANDARD Tier, offering economical
    # performance backed by HDD.
    BASIC_HDD = 3

    # BASIC instances offer a maximum capacity of 63.9 TB.
    # BASIC_SSD is an alias for PREMIUM Tier, and offers improved
    # performance backed by SSD.
    BASIC_SSD = 4

    # HIGH_SCALE instances offer expanded capacity and performance scaling
    # capabilities.
    HIGH_SCALE_SSD = 5

    # ENTERPRISE instances offer the features and availability needed for
    # mission-critical workloads.
    ENTERPRISE = 6

    # ZONAL instances offer expanded capacity and performance scaling
    # capabilities.
    ZONAL = 7

    # REGIONAL instances offer the features and availability needed for
    # mission-critical workloads.
    REGIONAL = 8
  end

  # SuspensionReason contains the possible reasons for a suspension.
  module SuspensionReason
    # Not set.
    SUSPENSION_REASON_UNSPECIFIED = 0

    # The KMS key used by the instance is either revoked or denied access to.
    KMS_KEY_ISSUE = 1
  end

  # File access protocol.
  module FileProtocol
    # FILE_PROTOCOL_UNSPECIFIED serves a "not set" default value when
    # a FileProtocol is a separate field in a message.
    FILE_PROTOCOL_UNSPECIFIED = 0

    # NFS 3.0.
    NFS_V3 = 1

    # NFS 4.1.
    NFS_V4_1 = 2
  end
end

#performance_config::Google::Cloud::Filestore::V1::Instance::PerformanceConfig

Returns Optional. Used to configure performance.

Returns:



343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
# File 'proto_docs/google/cloud/filestore/v1/cloud_filestore_service.rb', line 343

class Instance
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # IOPS per TB.
  # Filestore defines TB as 1024^4 bytes (TiB).
  # @!attribute [rw] max_iops_per_tb
  #   @return [::Integer]
  #     Required. Maximum IOPS per TiB.
  class IOPSPerTB
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Fixed IOPS (input/output operations per second) parameters.
  # @!attribute [rw] max_iops
  #   @return [::Integer]
  #     Required. Maximum IOPS.
  class FixedIOPS
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Used for setting the performance configuration.
  # If the user doesn't specify PerformanceConfig, automatically provision
  # the default performance settings as described in
  # https://cloud.google.com/filestore/docs/performance. Larger instances will
  # be linearly set to more IOPS. If the instance's capacity is increased or
  # decreased, its performance will be automatically adjusted upwards or
  # downwards accordingly (respectively).
  # @!attribute [rw] iops_per_tb
  #   @return [::Google::Cloud::Filestore::V1::Instance::IOPSPerTB]
  #     Provision IOPS dynamically based on the capacity of the instance.
  #     Provisioned IOPS will be calculated by multiplying the capacity of the
  #     instance in TiB by the `iops_per_tb` value. For example, for a 2 TiB
  #     instance with an `iops_per_tb` value of 17000 the provisioned IOPS will
  #     be 34000.
  #
  #     If the calculated value is outside the supported range for the
  #     instance's capacity during instance creation, instance creation will
  #     fail with an `InvalidArgument` error. Similarly, if an instance
  #     capacity update would result in a value outside the supported range,
  #     the update will fail with an `InvalidArgument` error.
  #
  #     Note: The following fields are mutually exclusive: `iops_per_tb`, `fixed_iops`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] fixed_iops
  #   @return [::Google::Cloud::Filestore::V1::Instance::FixedIOPS]
  #     Choose a fixed provisioned IOPS value for the instance, which will
  #     remain constant regardless of instance capacity. Value must be a
  #     multiple of 1000.
  #
  #     If the chosen value is outside the supported range for the instance's
  #     capacity during instance creation, instance creation will fail with an
  #     `InvalidArgument` error. Similarly, if an instance capacity update
  #     would result in a value outside the supported range, the update will
  #     fail with an `InvalidArgument` error.
  #
  #     Note: The following fields are mutually exclusive: `fixed_iops`, `iops_per_tb`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  class PerformanceConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The enforced performance limits, calculated from the instance's performance
  # configuration.
  # @!attribute [r] max_iops
  #   @return [::Integer]
  #     Output only. The max IOPS.
  # @!attribute [r] max_read_iops
  #   @return [::Integer]
  #     Output only. The max read IOPS.
  # @!attribute [r] max_write_iops
  #   @return [::Integer]
  #     Output only. The max write IOPS.
  # @!attribute [r] max_read_throughput_bps
  #   @return [::Integer]
  #     Output only. The max read throughput in bytes per second.
  # @!attribute [r] max_write_throughput_bps
  #   @return [::Integer]
  #     Output only. The max write throughput in bytes per second.
  class PerformanceLimits
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class TagsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The instance state.
  module State
    # State not set.
    STATE_UNSPECIFIED = 0

    # The instance is being created.
    CREATING = 1

    # The instance is available for use.
    READY = 2

    # Work is being done on the instance. You can get further details from the
    # `statusMessage` field of the `Instance` resource.
    REPAIRING = 3

    # The instance is shutting down.
    DELETING = 4

    # The instance is experiencing an issue and might be unusable. You can get
    # further details from the `statusMessage` field of the `Instance`
    # resource.
    ERROR = 6

    # The instance is restoring a backup to an existing file share and may be
    # unusable during this time.
    RESTORING = 7

    # The instance is suspended. You can get further details from
    # the `suspension_reasons` field of the `Instance` resource.
    SUSPENDED = 8

    # The instance is in the process of becoming suspended.
    SUSPENDING = 9

    # The instance is in the process of becoming active.
    RESUMING = 10

    # The instance is reverting to a snapshot.
    REVERTING = 12

    # The replica instance is being promoted.
    PROMOTING = 13
  end

  # Available service tiers.
  module Tier
    # Not set.
    TIER_UNSPECIFIED = 0

    # STANDARD tier. BASIC_HDD is the preferred term for this tier.
    STANDARD = 1

    # PREMIUM tier. BASIC_SSD is the preferred term for this tier.
    PREMIUM = 2

    # BASIC instances offer a maximum capacity of 63.9 TB.
    # BASIC_HDD is an alias for STANDARD Tier, offering economical
    # performance backed by HDD.
    BASIC_HDD = 3

    # BASIC instances offer a maximum capacity of 63.9 TB.
    # BASIC_SSD is an alias for PREMIUM Tier, and offers improved
    # performance backed by SSD.
    BASIC_SSD = 4

    # HIGH_SCALE instances offer expanded capacity and performance scaling
    # capabilities.
    HIGH_SCALE_SSD = 5

    # ENTERPRISE instances offer the features and availability needed for
    # mission-critical workloads.
    ENTERPRISE = 6

    # ZONAL instances offer expanded capacity and performance scaling
    # capabilities.
    ZONAL = 7

    # REGIONAL instances offer the features and availability needed for
    # mission-critical workloads.
    REGIONAL = 8
  end

  # SuspensionReason contains the possible reasons for a suspension.
  module SuspensionReason
    # Not set.
    SUSPENSION_REASON_UNSPECIFIED = 0

    # The KMS key used by the instance is either revoked or denied access to.
    KMS_KEY_ISSUE = 1
  end

  # File access protocol.
  module FileProtocol
    # FILE_PROTOCOL_UNSPECIFIED serves a "not set" default value when
    # a FileProtocol is a separate field in a message.
    FILE_PROTOCOL_UNSPECIFIED = 0

    # NFS 3.0.
    NFS_V3 = 1

    # NFS 4.1.
    NFS_V4_1 = 2
  end
end

#performance_limits::Google::Cloud::Filestore::V1::Instance::PerformanceLimits (readonly)

Returns Output only. Used for getting performance limits.

Returns:



343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
# File 'proto_docs/google/cloud/filestore/v1/cloud_filestore_service.rb', line 343

class Instance
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # IOPS per TB.
  # Filestore defines TB as 1024^4 bytes (TiB).
  # @!attribute [rw] max_iops_per_tb
  #   @return [::Integer]
  #     Required. Maximum IOPS per TiB.
  class IOPSPerTB
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Fixed IOPS (input/output operations per second) parameters.
  # @!attribute [rw] max_iops
  #   @return [::Integer]
  #     Required. Maximum IOPS.
  class FixedIOPS
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Used for setting the performance configuration.
  # If the user doesn't specify PerformanceConfig, automatically provision
  # the default performance settings as described in
  # https://cloud.google.com/filestore/docs/performance. Larger instances will
  # be linearly set to more IOPS. If the instance's capacity is increased or
  # decreased, its performance will be automatically adjusted upwards or
  # downwards accordingly (respectively).
  # @!attribute [rw] iops_per_tb
  #   @return [::Google::Cloud::Filestore::V1::Instance::IOPSPerTB]
  #     Provision IOPS dynamically based on the capacity of the instance.
  #     Provisioned IOPS will be calculated by multiplying the capacity of the
  #     instance in TiB by the `iops_per_tb` value. For example, for a 2 TiB
  #     instance with an `iops_per_tb` value of 17000 the provisioned IOPS will
  #     be 34000.
  #
  #     If the calculated value is outside the supported range for the
  #     instance's capacity during instance creation, instance creation will
  #     fail with an `InvalidArgument` error. Similarly, if an instance
  #     capacity update would result in a value outside the supported range,
  #     the update will fail with an `InvalidArgument` error.
  #
  #     Note: The following fields are mutually exclusive: `iops_per_tb`, `fixed_iops`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] fixed_iops
  #   @return [::Google::Cloud::Filestore::V1::Instance::FixedIOPS]
  #     Choose a fixed provisioned IOPS value for the instance, which will
  #     remain constant regardless of instance capacity. Value must be a
  #     multiple of 1000.
  #
  #     If the chosen value is outside the supported range for the instance's
  #     capacity during instance creation, instance creation will fail with an
  #     `InvalidArgument` error. Similarly, if an instance capacity update
  #     would result in a value outside the supported range, the update will
  #     fail with an `InvalidArgument` error.
  #
  #     Note: The following fields are mutually exclusive: `fixed_iops`, `iops_per_tb`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  class PerformanceConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The enforced performance limits, calculated from the instance's performance
  # configuration.
  # @!attribute [r] max_iops
  #   @return [::Integer]
  #     Output only. The max IOPS.
  # @!attribute [r] max_read_iops
  #   @return [::Integer]
  #     Output only. The max read IOPS.
  # @!attribute [r] max_write_iops
  #   @return [::Integer]
  #     Output only. The max write IOPS.
  # @!attribute [r] max_read_throughput_bps
  #   @return [::Integer]
  #     Output only. The max read throughput in bytes per second.
  # @!attribute [r] max_write_throughput_bps
  #   @return [::Integer]
  #     Output only. The max write throughput in bytes per second.
  class PerformanceLimits
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class TagsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The instance state.
  module State
    # State not set.
    STATE_UNSPECIFIED = 0

    # The instance is being created.
    CREATING = 1

    # The instance is available for use.
    READY = 2

    # Work is being done on the instance. You can get further details from the
    # `statusMessage` field of the `Instance` resource.
    REPAIRING = 3

    # The instance is shutting down.
    DELETING = 4

    # The instance is experiencing an issue and might be unusable. You can get
    # further details from the `statusMessage` field of the `Instance`
    # resource.
    ERROR = 6

    # The instance is restoring a backup to an existing file share and may be
    # unusable during this time.
    RESTORING = 7

    # The instance is suspended. You can get further details from
    # the `suspension_reasons` field of the `Instance` resource.
    SUSPENDED = 8

    # The instance is in the process of becoming suspended.
    SUSPENDING = 9

    # The instance is in the process of becoming active.
    RESUMING = 10

    # The instance is reverting to a snapshot.
    REVERTING = 12

    # The replica instance is being promoted.
    PROMOTING = 13
  end

  # Available service tiers.
  module Tier
    # Not set.
    TIER_UNSPECIFIED = 0

    # STANDARD tier. BASIC_HDD is the preferred term for this tier.
    STANDARD = 1

    # PREMIUM tier. BASIC_SSD is the preferred term for this tier.
    PREMIUM = 2

    # BASIC instances offer a maximum capacity of 63.9 TB.
    # BASIC_HDD is an alias for STANDARD Tier, offering economical
    # performance backed by HDD.
    BASIC_HDD = 3

    # BASIC instances offer a maximum capacity of 63.9 TB.
    # BASIC_SSD is an alias for PREMIUM Tier, and offers improved
    # performance backed by SSD.
    BASIC_SSD = 4

    # HIGH_SCALE instances offer expanded capacity and performance scaling
    # capabilities.
    HIGH_SCALE_SSD = 5

    # ENTERPRISE instances offer the features and availability needed for
    # mission-critical workloads.
    ENTERPRISE = 6

    # ZONAL instances offer expanded capacity and performance scaling
    # capabilities.
    ZONAL = 7

    # REGIONAL instances offer the features and availability needed for
    # mission-critical workloads.
    REGIONAL = 8
  end

  # SuspensionReason contains the possible reasons for a suspension.
  module SuspensionReason
    # Not set.
    SUSPENSION_REASON_UNSPECIFIED = 0

    # The KMS key used by the instance is either revoked or denied access to.
    KMS_KEY_ISSUE = 1
  end

  # File access protocol.
  module FileProtocol
    # FILE_PROTOCOL_UNSPECIFIED serves a "not set" default value when
    # a FileProtocol is a separate field in a message.
    FILE_PROTOCOL_UNSPECIFIED = 0

    # NFS 3.0.
    NFS_V3 = 1

    # NFS 4.1.
    NFS_V4_1 = 2
  end
end

#protocol::Google::Cloud::Filestore::V1::Instance::FileProtocol

Returns Immutable. The protocol indicates the access protocol for all shares in the instance. This field is immutable and it cannot be changed after the instance has been created. Default value: NFS_V3.

Returns:



343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
# File 'proto_docs/google/cloud/filestore/v1/cloud_filestore_service.rb', line 343

class Instance
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # IOPS per TB.
  # Filestore defines TB as 1024^4 bytes (TiB).
  # @!attribute [rw] max_iops_per_tb
  #   @return [::Integer]
  #     Required. Maximum IOPS per TiB.
  class IOPSPerTB
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Fixed IOPS (input/output operations per second) parameters.
  # @!attribute [rw] max_iops
  #   @return [::Integer]
  #     Required. Maximum IOPS.
  class FixedIOPS
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Used for setting the performance configuration.
  # If the user doesn't specify PerformanceConfig, automatically provision
  # the default performance settings as described in
  # https://cloud.google.com/filestore/docs/performance. Larger instances will
  # be linearly set to more IOPS. If the instance's capacity is increased or
  # decreased, its performance will be automatically adjusted upwards or
  # downwards accordingly (respectively).
  # @!attribute [rw] iops_per_tb
  #   @return [::Google::Cloud::Filestore::V1::Instance::IOPSPerTB]
  #     Provision IOPS dynamically based on the capacity of the instance.
  #     Provisioned IOPS will be calculated by multiplying the capacity of the
  #     instance in TiB by the `iops_per_tb` value. For example, for a 2 TiB
  #     instance with an `iops_per_tb` value of 17000 the provisioned IOPS will
  #     be 34000.
  #
  #     If the calculated value is outside the supported range for the
  #     instance's capacity during instance creation, instance creation will
  #     fail with an `InvalidArgument` error. Similarly, if an instance
  #     capacity update would result in a value outside the supported range,
  #     the update will fail with an `InvalidArgument` error.
  #
  #     Note: The following fields are mutually exclusive: `iops_per_tb`, `fixed_iops`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] fixed_iops
  #   @return [::Google::Cloud::Filestore::V1::Instance::FixedIOPS]
  #     Choose a fixed provisioned IOPS value for the instance, which will
  #     remain constant regardless of instance capacity. Value must be a
  #     multiple of 1000.
  #
  #     If the chosen value is outside the supported range for the instance's
  #     capacity during instance creation, instance creation will fail with an
  #     `InvalidArgument` error. Similarly, if an instance capacity update
  #     would result in a value outside the supported range, the update will
  #     fail with an `InvalidArgument` error.
  #
  #     Note: The following fields are mutually exclusive: `fixed_iops`, `iops_per_tb`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  class PerformanceConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The enforced performance limits, calculated from the instance's performance
  # configuration.
  # @!attribute [r] max_iops
  #   @return [::Integer]
  #     Output only. The max IOPS.
  # @!attribute [r] max_read_iops
  #   @return [::Integer]
  #     Output only. The max read IOPS.
  # @!attribute [r] max_write_iops
  #   @return [::Integer]
  #     Output only. The max write IOPS.
  # @!attribute [r] max_read_throughput_bps
  #   @return [::Integer]
  #     Output only. The max read throughput in bytes per second.
  # @!attribute [r] max_write_throughput_bps
  #   @return [::Integer]
  #     Output only. The max write throughput in bytes per second.
  class PerformanceLimits
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class TagsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The instance state.
  module State
    # State not set.
    STATE_UNSPECIFIED = 0

    # The instance is being created.
    CREATING = 1

    # The instance is available for use.
    READY = 2

    # Work is being done on the instance. You can get further details from the
    # `statusMessage` field of the `Instance` resource.
    REPAIRING = 3

    # The instance is shutting down.
    DELETING = 4

    # The instance is experiencing an issue and might be unusable. You can get
    # further details from the `statusMessage` field of the `Instance`
    # resource.
    ERROR = 6

    # The instance is restoring a backup to an existing file share and may be
    # unusable during this time.
    RESTORING = 7

    # The instance is suspended. You can get further details from
    # the `suspension_reasons` field of the `Instance` resource.
    SUSPENDED = 8

    # The instance is in the process of becoming suspended.
    SUSPENDING = 9

    # The instance is in the process of becoming active.
    RESUMING = 10

    # The instance is reverting to a snapshot.
    REVERTING = 12

    # The replica instance is being promoted.
    PROMOTING = 13
  end

  # Available service tiers.
  module Tier
    # Not set.
    TIER_UNSPECIFIED = 0

    # STANDARD tier. BASIC_HDD is the preferred term for this tier.
    STANDARD = 1

    # PREMIUM tier. BASIC_SSD is the preferred term for this tier.
    PREMIUM = 2

    # BASIC instances offer a maximum capacity of 63.9 TB.
    # BASIC_HDD is an alias for STANDARD Tier, offering economical
    # performance backed by HDD.
    BASIC_HDD = 3

    # BASIC instances offer a maximum capacity of 63.9 TB.
    # BASIC_SSD is an alias for PREMIUM Tier, and offers improved
    # performance backed by SSD.
    BASIC_SSD = 4

    # HIGH_SCALE instances offer expanded capacity and performance scaling
    # capabilities.
    HIGH_SCALE_SSD = 5

    # ENTERPRISE instances offer the features and availability needed for
    # mission-critical workloads.
    ENTERPRISE = 6

    # ZONAL instances offer expanded capacity and performance scaling
    # capabilities.
    ZONAL = 7

    # REGIONAL instances offer the features and availability needed for
    # mission-critical workloads.
    REGIONAL = 8
  end

  # SuspensionReason contains the possible reasons for a suspension.
  module SuspensionReason
    # Not set.
    SUSPENSION_REASON_UNSPECIFIED = 0

    # The KMS key used by the instance is either revoked or denied access to.
    KMS_KEY_ISSUE = 1
  end

  # File access protocol.
  module FileProtocol
    # FILE_PROTOCOL_UNSPECIFIED serves a "not set" default value when
    # a FileProtocol is a separate field in a message.
    FILE_PROTOCOL_UNSPECIFIED = 0

    # NFS 3.0.
    NFS_V3 = 1

    # NFS 4.1.
    NFS_V4_1 = 2
  end
end

#replication::Google::Cloud::Filestore::V1::Replication

Returns Optional. Replication configuration.

Returns:



343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
# File 'proto_docs/google/cloud/filestore/v1/cloud_filestore_service.rb', line 343

class Instance
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # IOPS per TB.
  # Filestore defines TB as 1024^4 bytes (TiB).
  # @!attribute [rw] max_iops_per_tb
  #   @return [::Integer]
  #     Required. Maximum IOPS per TiB.
  class IOPSPerTB
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Fixed IOPS (input/output operations per second) parameters.
  # @!attribute [rw] max_iops
  #   @return [::Integer]
  #     Required. Maximum IOPS.
  class FixedIOPS
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Used for setting the performance configuration.
  # If the user doesn't specify PerformanceConfig, automatically provision
  # the default performance settings as described in
  # https://cloud.google.com/filestore/docs/performance. Larger instances will
  # be linearly set to more IOPS. If the instance's capacity is increased or
  # decreased, its performance will be automatically adjusted upwards or
  # downwards accordingly (respectively).
  # @!attribute [rw] iops_per_tb
  #   @return [::Google::Cloud::Filestore::V1::Instance::IOPSPerTB]
  #     Provision IOPS dynamically based on the capacity of the instance.
  #     Provisioned IOPS will be calculated by multiplying the capacity of the
  #     instance in TiB by the `iops_per_tb` value. For example, for a 2 TiB
  #     instance with an `iops_per_tb` value of 17000 the provisioned IOPS will
  #     be 34000.
  #
  #     If the calculated value is outside the supported range for the
  #     instance's capacity during instance creation, instance creation will
  #     fail with an `InvalidArgument` error. Similarly, if an instance
  #     capacity update would result in a value outside the supported range,
  #     the update will fail with an `InvalidArgument` error.
  #
  #     Note: The following fields are mutually exclusive: `iops_per_tb`, `fixed_iops`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] fixed_iops
  #   @return [::Google::Cloud::Filestore::V1::Instance::FixedIOPS]
  #     Choose a fixed provisioned IOPS value for the instance, which will
  #     remain constant regardless of instance capacity. Value must be a
  #     multiple of 1000.
  #
  #     If the chosen value is outside the supported range for the instance's
  #     capacity during instance creation, instance creation will fail with an
  #     `InvalidArgument` error. Similarly, if an instance capacity update
  #     would result in a value outside the supported range, the update will
  #     fail with an `InvalidArgument` error.
  #
  #     Note: The following fields are mutually exclusive: `fixed_iops`, `iops_per_tb`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  class PerformanceConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The enforced performance limits, calculated from the instance's performance
  # configuration.
  # @!attribute [r] max_iops
  #   @return [::Integer]
  #     Output only. The max IOPS.
  # @!attribute [r] max_read_iops
  #   @return [::Integer]
  #     Output only. The max read IOPS.
  # @!attribute [r] max_write_iops
  #   @return [::Integer]
  #     Output only. The max write IOPS.
  # @!attribute [r] max_read_throughput_bps
  #   @return [::Integer]
  #     Output only. The max read throughput in bytes per second.
  # @!attribute [r] max_write_throughput_bps
  #   @return [::Integer]
  #     Output only. The max write throughput in bytes per second.
  class PerformanceLimits
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class TagsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The instance state.
  module State
    # State not set.
    STATE_UNSPECIFIED = 0

    # The instance is being created.
    CREATING = 1

    # The instance is available for use.
    READY = 2

    # Work is being done on the instance. You can get further details from the
    # `statusMessage` field of the `Instance` resource.
    REPAIRING = 3

    # The instance is shutting down.
    DELETING = 4

    # The instance is experiencing an issue and might be unusable. You can get
    # further details from the `statusMessage` field of the `Instance`
    # resource.
    ERROR = 6

    # The instance is restoring a backup to an existing file share and may be
    # unusable during this time.
    RESTORING = 7

    # The instance is suspended. You can get further details from
    # the `suspension_reasons` field of the `Instance` resource.
    SUSPENDED = 8

    # The instance is in the process of becoming suspended.
    SUSPENDING = 9

    # The instance is in the process of becoming active.
    RESUMING = 10

    # The instance is reverting to a snapshot.
    REVERTING = 12

    # The replica instance is being promoted.
    PROMOTING = 13
  end

  # Available service tiers.
  module Tier
    # Not set.
    TIER_UNSPECIFIED = 0

    # STANDARD tier. BASIC_HDD is the preferred term for this tier.
    STANDARD = 1

    # PREMIUM tier. BASIC_SSD is the preferred term for this tier.
    PREMIUM = 2

    # BASIC instances offer a maximum capacity of 63.9 TB.
    # BASIC_HDD is an alias for STANDARD Tier, offering economical
    # performance backed by HDD.
    BASIC_HDD = 3

    # BASIC instances offer a maximum capacity of 63.9 TB.
    # BASIC_SSD is an alias for PREMIUM Tier, and offers improved
    # performance backed by SSD.
    BASIC_SSD = 4

    # HIGH_SCALE instances offer expanded capacity and performance scaling
    # capabilities.
    HIGH_SCALE_SSD = 5

    # ENTERPRISE instances offer the features and availability needed for
    # mission-critical workloads.
    ENTERPRISE = 6

    # ZONAL instances offer expanded capacity and performance scaling
    # capabilities.
    ZONAL = 7

    # REGIONAL instances offer the features and availability needed for
    # mission-critical workloads.
    REGIONAL = 8
  end

  # SuspensionReason contains the possible reasons for a suspension.
  module SuspensionReason
    # Not set.
    SUSPENSION_REASON_UNSPECIFIED = 0

    # The KMS key used by the instance is either revoked or denied access to.
    KMS_KEY_ISSUE = 1
  end

  # File access protocol.
  module FileProtocol
    # FILE_PROTOCOL_UNSPECIFIED serves a "not set" default value when
    # a FileProtocol is a separate field in a message.
    FILE_PROTOCOL_UNSPECIFIED = 0

    # NFS 3.0.
    NFS_V3 = 1

    # NFS 4.1.
    NFS_V4_1 = 2
  end
end

#satisfies_pzi::Boolean (readonly)

Returns Output only. Reserved for future use.

Returns:

  • (::Boolean)

    Output only. Reserved for future use.



343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
# File 'proto_docs/google/cloud/filestore/v1/cloud_filestore_service.rb', line 343

class Instance
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # IOPS per TB.
  # Filestore defines TB as 1024^4 bytes (TiB).
  # @!attribute [rw] max_iops_per_tb
  #   @return [::Integer]
  #     Required. Maximum IOPS per TiB.
  class IOPSPerTB
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Fixed IOPS (input/output operations per second) parameters.
  # @!attribute [rw] max_iops
  #   @return [::Integer]
  #     Required. Maximum IOPS.
  class FixedIOPS
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Used for setting the performance configuration.
  # If the user doesn't specify PerformanceConfig, automatically provision
  # the default performance settings as described in
  # https://cloud.google.com/filestore/docs/performance. Larger instances will
  # be linearly set to more IOPS. If the instance's capacity is increased or
  # decreased, its performance will be automatically adjusted upwards or
  # downwards accordingly (respectively).
  # @!attribute [rw] iops_per_tb
  #   @return [::Google::Cloud::Filestore::V1::Instance::IOPSPerTB]
  #     Provision IOPS dynamically based on the capacity of the instance.
  #     Provisioned IOPS will be calculated by multiplying the capacity of the
  #     instance in TiB by the `iops_per_tb` value. For example, for a 2 TiB
  #     instance with an `iops_per_tb` value of 17000 the provisioned IOPS will
  #     be 34000.
  #
  #     If the calculated value is outside the supported range for the
  #     instance's capacity during instance creation, instance creation will
  #     fail with an `InvalidArgument` error. Similarly, if an instance
  #     capacity update would result in a value outside the supported range,
  #     the update will fail with an `InvalidArgument` error.
  #
  #     Note: The following fields are mutually exclusive: `iops_per_tb`, `fixed_iops`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] fixed_iops
  #   @return [::Google::Cloud::Filestore::V1::Instance::FixedIOPS]
  #     Choose a fixed provisioned IOPS value for the instance, which will
  #     remain constant regardless of instance capacity. Value must be a
  #     multiple of 1000.
  #
  #     If the chosen value is outside the supported range for the instance's
  #     capacity during instance creation, instance creation will fail with an
  #     `InvalidArgument` error. Similarly, if an instance capacity update
  #     would result in a value outside the supported range, the update will
  #     fail with an `InvalidArgument` error.
  #
  #     Note: The following fields are mutually exclusive: `fixed_iops`, `iops_per_tb`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  class PerformanceConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The enforced performance limits, calculated from the instance's performance
  # configuration.
  # @!attribute [r] max_iops
  #   @return [::Integer]
  #     Output only. The max IOPS.
  # @!attribute [r] max_read_iops
  #   @return [::Integer]
  #     Output only. The max read IOPS.
  # @!attribute [r] max_write_iops
  #   @return [::Integer]
  #     Output only. The max write IOPS.
  # @!attribute [r] max_read_throughput_bps
  #   @return [::Integer]
  #     Output only. The max read throughput in bytes per second.
  # @!attribute [r] max_write_throughput_bps
  #   @return [::Integer]
  #     Output only. The max write throughput in bytes per second.
  class PerformanceLimits
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class TagsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The instance state.
  module State
    # State not set.
    STATE_UNSPECIFIED = 0

    # The instance is being created.
    CREATING = 1

    # The instance is available for use.
    READY = 2

    # Work is being done on the instance. You can get further details from the
    # `statusMessage` field of the `Instance` resource.
    REPAIRING = 3

    # The instance is shutting down.
    DELETING = 4

    # The instance is experiencing an issue and might be unusable. You can get
    # further details from the `statusMessage` field of the `Instance`
    # resource.
    ERROR = 6

    # The instance is restoring a backup to an existing file share and may be
    # unusable during this time.
    RESTORING = 7

    # The instance is suspended. You can get further details from
    # the `suspension_reasons` field of the `Instance` resource.
    SUSPENDED = 8

    # The instance is in the process of becoming suspended.
    SUSPENDING = 9

    # The instance is in the process of becoming active.
    RESUMING = 10

    # The instance is reverting to a snapshot.
    REVERTING = 12

    # The replica instance is being promoted.
    PROMOTING = 13
  end

  # Available service tiers.
  module Tier
    # Not set.
    TIER_UNSPECIFIED = 0

    # STANDARD tier. BASIC_HDD is the preferred term for this tier.
    STANDARD = 1

    # PREMIUM tier. BASIC_SSD is the preferred term for this tier.
    PREMIUM = 2

    # BASIC instances offer a maximum capacity of 63.9 TB.
    # BASIC_HDD is an alias for STANDARD Tier, offering economical
    # performance backed by HDD.
    BASIC_HDD = 3

    # BASIC instances offer a maximum capacity of 63.9 TB.
    # BASIC_SSD is an alias for PREMIUM Tier, and offers improved
    # performance backed by SSD.
    BASIC_SSD = 4

    # HIGH_SCALE instances offer expanded capacity and performance scaling
    # capabilities.
    HIGH_SCALE_SSD = 5

    # ENTERPRISE instances offer the features and availability needed for
    # mission-critical workloads.
    ENTERPRISE = 6

    # ZONAL instances offer expanded capacity and performance scaling
    # capabilities.
    ZONAL = 7

    # REGIONAL instances offer the features and availability needed for
    # mission-critical workloads.
    REGIONAL = 8
  end

  # SuspensionReason contains the possible reasons for a suspension.
  module SuspensionReason
    # Not set.
    SUSPENSION_REASON_UNSPECIFIED = 0

    # The KMS key used by the instance is either revoked or denied access to.
    KMS_KEY_ISSUE = 1
  end

  # File access protocol.
  module FileProtocol
    # FILE_PROTOCOL_UNSPECIFIED serves a "not set" default value when
    # a FileProtocol is a separate field in a message.
    FILE_PROTOCOL_UNSPECIFIED = 0

    # NFS 3.0.
    NFS_V3 = 1

    # NFS 4.1.
    NFS_V4_1 = 2
  end
end

#satisfies_pzs::Google::Protobuf::BoolValue (readonly)

Returns Output only. Reserved for future use.

Returns:



343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
# File 'proto_docs/google/cloud/filestore/v1/cloud_filestore_service.rb', line 343

class Instance
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # IOPS per TB.
  # Filestore defines TB as 1024^4 bytes (TiB).
  # @!attribute [rw] max_iops_per_tb
  #   @return [::Integer]
  #     Required. Maximum IOPS per TiB.
  class IOPSPerTB
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Fixed IOPS (input/output operations per second) parameters.
  # @!attribute [rw] max_iops
  #   @return [::Integer]
  #     Required. Maximum IOPS.
  class FixedIOPS
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Used for setting the performance configuration.
  # If the user doesn't specify PerformanceConfig, automatically provision
  # the default performance settings as described in
  # https://cloud.google.com/filestore/docs/performance. Larger instances will
  # be linearly set to more IOPS. If the instance's capacity is increased or
  # decreased, its performance will be automatically adjusted upwards or
  # downwards accordingly (respectively).
  # @!attribute [rw] iops_per_tb
  #   @return [::Google::Cloud::Filestore::V1::Instance::IOPSPerTB]
  #     Provision IOPS dynamically based on the capacity of the instance.
  #     Provisioned IOPS will be calculated by multiplying the capacity of the
  #     instance in TiB by the `iops_per_tb` value. For example, for a 2 TiB
  #     instance with an `iops_per_tb` value of 17000 the provisioned IOPS will
  #     be 34000.
  #
  #     If the calculated value is outside the supported range for the
  #     instance's capacity during instance creation, instance creation will
  #     fail with an `InvalidArgument` error. Similarly, if an instance
  #     capacity update would result in a value outside the supported range,
  #     the update will fail with an `InvalidArgument` error.
  #
  #     Note: The following fields are mutually exclusive: `iops_per_tb`, `fixed_iops`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] fixed_iops
  #   @return [::Google::Cloud::Filestore::V1::Instance::FixedIOPS]
  #     Choose a fixed provisioned IOPS value for the instance, which will
  #     remain constant regardless of instance capacity. Value must be a
  #     multiple of 1000.
  #
  #     If the chosen value is outside the supported range for the instance's
  #     capacity during instance creation, instance creation will fail with an
  #     `InvalidArgument` error. Similarly, if an instance capacity update
  #     would result in a value outside the supported range, the update will
  #     fail with an `InvalidArgument` error.
  #
  #     Note: The following fields are mutually exclusive: `fixed_iops`, `iops_per_tb`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  class PerformanceConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The enforced performance limits, calculated from the instance's performance
  # configuration.
  # @!attribute [r] max_iops
  #   @return [::Integer]
  #     Output only. The max IOPS.
  # @!attribute [r] max_read_iops
  #   @return [::Integer]
  #     Output only. The max read IOPS.
  # @!attribute [r] max_write_iops
  #   @return [::Integer]
  #     Output only. The max write IOPS.
  # @!attribute [r] max_read_throughput_bps
  #   @return [::Integer]
  #     Output only. The max read throughput in bytes per second.
  # @!attribute [r] max_write_throughput_bps
  #   @return [::Integer]
  #     Output only. The max write throughput in bytes per second.
  class PerformanceLimits
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class TagsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The instance state.
  module State
    # State not set.
    STATE_UNSPECIFIED = 0

    # The instance is being created.
    CREATING = 1

    # The instance is available for use.
    READY = 2

    # Work is being done on the instance. You can get further details from the
    # `statusMessage` field of the `Instance` resource.
    REPAIRING = 3

    # The instance is shutting down.
    DELETING = 4

    # The instance is experiencing an issue and might be unusable. You can get
    # further details from the `statusMessage` field of the `Instance`
    # resource.
    ERROR = 6

    # The instance is restoring a backup to an existing file share and may be
    # unusable during this time.
    RESTORING = 7

    # The instance is suspended. You can get further details from
    # the `suspension_reasons` field of the `Instance` resource.
    SUSPENDED = 8

    # The instance is in the process of becoming suspended.
    SUSPENDING = 9

    # The instance is in the process of becoming active.
    RESUMING = 10

    # The instance is reverting to a snapshot.
    REVERTING = 12

    # The replica instance is being promoted.
    PROMOTING = 13
  end

  # Available service tiers.
  module Tier
    # Not set.
    TIER_UNSPECIFIED = 0

    # STANDARD tier. BASIC_HDD is the preferred term for this tier.
    STANDARD = 1

    # PREMIUM tier. BASIC_SSD is the preferred term for this tier.
    PREMIUM = 2

    # BASIC instances offer a maximum capacity of 63.9 TB.
    # BASIC_HDD is an alias for STANDARD Tier, offering economical
    # performance backed by HDD.
    BASIC_HDD = 3

    # BASIC instances offer a maximum capacity of 63.9 TB.
    # BASIC_SSD is an alias for PREMIUM Tier, and offers improved
    # performance backed by SSD.
    BASIC_SSD = 4

    # HIGH_SCALE instances offer expanded capacity and performance scaling
    # capabilities.
    HIGH_SCALE_SSD = 5

    # ENTERPRISE instances offer the features and availability needed for
    # mission-critical workloads.
    ENTERPRISE = 6

    # ZONAL instances offer expanded capacity and performance scaling
    # capabilities.
    ZONAL = 7

    # REGIONAL instances offer the features and availability needed for
    # mission-critical workloads.
    REGIONAL = 8
  end

  # SuspensionReason contains the possible reasons for a suspension.
  module SuspensionReason
    # Not set.
    SUSPENSION_REASON_UNSPECIFIED = 0

    # The KMS key used by the instance is either revoked or denied access to.
    KMS_KEY_ISSUE = 1
  end

  # File access protocol.
  module FileProtocol
    # FILE_PROTOCOL_UNSPECIFIED serves a "not set" default value when
    # a FileProtocol is a separate field in a message.
    FILE_PROTOCOL_UNSPECIFIED = 0

    # NFS 3.0.
    NFS_V3 = 1

    # NFS 4.1.
    NFS_V4_1 = 2
  end
end

#state::Google::Cloud::Filestore::V1::Instance::State (readonly)

Returns Output only. The instance state.

Returns:



343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
# File 'proto_docs/google/cloud/filestore/v1/cloud_filestore_service.rb', line 343

class Instance
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # IOPS per TB.
  # Filestore defines TB as 1024^4 bytes (TiB).
  # @!attribute [rw] max_iops_per_tb
  #   @return [::Integer]
  #     Required. Maximum IOPS per TiB.
  class IOPSPerTB
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Fixed IOPS (input/output operations per second) parameters.
  # @!attribute [rw] max_iops
  #   @return [::Integer]
  #     Required. Maximum IOPS.
  class FixedIOPS
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Used for setting the performance configuration.
  # If the user doesn't specify PerformanceConfig, automatically provision
  # the default performance settings as described in
  # https://cloud.google.com/filestore/docs/performance. Larger instances will
  # be linearly set to more IOPS. If the instance's capacity is increased or
  # decreased, its performance will be automatically adjusted upwards or
  # downwards accordingly (respectively).
  # @!attribute [rw] iops_per_tb
  #   @return [::Google::Cloud::Filestore::V1::Instance::IOPSPerTB]
  #     Provision IOPS dynamically based on the capacity of the instance.
  #     Provisioned IOPS will be calculated by multiplying the capacity of the
  #     instance in TiB by the `iops_per_tb` value. For example, for a 2 TiB
  #     instance with an `iops_per_tb` value of 17000 the provisioned IOPS will
  #     be 34000.
  #
  #     If the calculated value is outside the supported range for the
  #     instance's capacity during instance creation, instance creation will
  #     fail with an `InvalidArgument` error. Similarly, if an instance
  #     capacity update would result in a value outside the supported range,
  #     the update will fail with an `InvalidArgument` error.
  #
  #     Note: The following fields are mutually exclusive: `iops_per_tb`, `fixed_iops`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] fixed_iops
  #   @return [::Google::Cloud::Filestore::V1::Instance::FixedIOPS]
  #     Choose a fixed provisioned IOPS value for the instance, which will
  #     remain constant regardless of instance capacity. Value must be a
  #     multiple of 1000.
  #
  #     If the chosen value is outside the supported range for the instance's
  #     capacity during instance creation, instance creation will fail with an
  #     `InvalidArgument` error. Similarly, if an instance capacity update
  #     would result in a value outside the supported range, the update will
  #     fail with an `InvalidArgument` error.
  #
  #     Note: The following fields are mutually exclusive: `fixed_iops`, `iops_per_tb`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  class PerformanceConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The enforced performance limits, calculated from the instance's performance
  # configuration.
  # @!attribute [r] max_iops
  #   @return [::Integer]
  #     Output only. The max IOPS.
  # @!attribute [r] max_read_iops
  #   @return [::Integer]
  #     Output only. The max read IOPS.
  # @!attribute [r] max_write_iops
  #   @return [::Integer]
  #     Output only. The max write IOPS.
  # @!attribute [r] max_read_throughput_bps
  #   @return [::Integer]
  #     Output only. The max read throughput in bytes per second.
  # @!attribute [r] max_write_throughput_bps
  #   @return [::Integer]
  #     Output only. The max write throughput in bytes per second.
  class PerformanceLimits
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class TagsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The instance state.
  module State
    # State not set.
    STATE_UNSPECIFIED = 0

    # The instance is being created.
    CREATING = 1

    # The instance is available for use.
    READY = 2

    # Work is being done on the instance. You can get further details from the
    # `statusMessage` field of the `Instance` resource.
    REPAIRING = 3

    # The instance is shutting down.
    DELETING = 4

    # The instance is experiencing an issue and might be unusable. You can get
    # further details from the `statusMessage` field of the `Instance`
    # resource.
    ERROR = 6

    # The instance is restoring a backup to an existing file share and may be
    # unusable during this time.
    RESTORING = 7

    # The instance is suspended. You can get further details from
    # the `suspension_reasons` field of the `Instance` resource.
    SUSPENDED = 8

    # The instance is in the process of becoming suspended.
    SUSPENDING = 9

    # The instance is in the process of becoming active.
    RESUMING = 10

    # The instance is reverting to a snapshot.
    REVERTING = 12

    # The replica instance is being promoted.
    PROMOTING = 13
  end

  # Available service tiers.
  module Tier
    # Not set.
    TIER_UNSPECIFIED = 0

    # STANDARD tier. BASIC_HDD is the preferred term for this tier.
    STANDARD = 1

    # PREMIUM tier. BASIC_SSD is the preferred term for this tier.
    PREMIUM = 2

    # BASIC instances offer a maximum capacity of 63.9 TB.
    # BASIC_HDD is an alias for STANDARD Tier, offering economical
    # performance backed by HDD.
    BASIC_HDD = 3

    # BASIC instances offer a maximum capacity of 63.9 TB.
    # BASIC_SSD is an alias for PREMIUM Tier, and offers improved
    # performance backed by SSD.
    BASIC_SSD = 4

    # HIGH_SCALE instances offer expanded capacity and performance scaling
    # capabilities.
    HIGH_SCALE_SSD = 5

    # ENTERPRISE instances offer the features and availability needed for
    # mission-critical workloads.
    ENTERPRISE = 6

    # ZONAL instances offer expanded capacity and performance scaling
    # capabilities.
    ZONAL = 7

    # REGIONAL instances offer the features and availability needed for
    # mission-critical workloads.
    REGIONAL = 8
  end

  # SuspensionReason contains the possible reasons for a suspension.
  module SuspensionReason
    # Not set.
    SUSPENSION_REASON_UNSPECIFIED = 0

    # The KMS key used by the instance is either revoked or denied access to.
    KMS_KEY_ISSUE = 1
  end

  # File access protocol.
  module FileProtocol
    # FILE_PROTOCOL_UNSPECIFIED serves a "not set" default value when
    # a FileProtocol is a separate field in a message.
    FILE_PROTOCOL_UNSPECIFIED = 0

    # NFS 3.0.
    NFS_V3 = 1

    # NFS 4.1.
    NFS_V4_1 = 2
  end
end

#status_message::String (readonly)

Returns Output only. Additional information about the instance state, if available.

Returns:

  • (::String)

    Output only. Additional information about the instance state, if available.



343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
# File 'proto_docs/google/cloud/filestore/v1/cloud_filestore_service.rb', line 343

class Instance
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # IOPS per TB.
  # Filestore defines TB as 1024^4 bytes (TiB).
  # @!attribute [rw] max_iops_per_tb
  #   @return [::Integer]
  #     Required. Maximum IOPS per TiB.
  class IOPSPerTB
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Fixed IOPS (input/output operations per second) parameters.
  # @!attribute [rw] max_iops
  #   @return [::Integer]
  #     Required. Maximum IOPS.
  class FixedIOPS
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Used for setting the performance configuration.
  # If the user doesn't specify PerformanceConfig, automatically provision
  # the default performance settings as described in
  # https://cloud.google.com/filestore/docs/performance. Larger instances will
  # be linearly set to more IOPS. If the instance's capacity is increased or
  # decreased, its performance will be automatically adjusted upwards or
  # downwards accordingly (respectively).
  # @!attribute [rw] iops_per_tb
  #   @return [::Google::Cloud::Filestore::V1::Instance::IOPSPerTB]
  #     Provision IOPS dynamically based on the capacity of the instance.
  #     Provisioned IOPS will be calculated by multiplying the capacity of the
  #     instance in TiB by the `iops_per_tb` value. For example, for a 2 TiB
  #     instance with an `iops_per_tb` value of 17000 the provisioned IOPS will
  #     be 34000.
  #
  #     If the calculated value is outside the supported range for the
  #     instance's capacity during instance creation, instance creation will
  #     fail with an `InvalidArgument` error. Similarly, if an instance
  #     capacity update would result in a value outside the supported range,
  #     the update will fail with an `InvalidArgument` error.
  #
  #     Note: The following fields are mutually exclusive: `iops_per_tb`, `fixed_iops`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] fixed_iops
  #   @return [::Google::Cloud::Filestore::V1::Instance::FixedIOPS]
  #     Choose a fixed provisioned IOPS value for the instance, which will
  #     remain constant regardless of instance capacity. Value must be a
  #     multiple of 1000.
  #
  #     If the chosen value is outside the supported range for the instance's
  #     capacity during instance creation, instance creation will fail with an
  #     `InvalidArgument` error. Similarly, if an instance capacity update
  #     would result in a value outside the supported range, the update will
  #     fail with an `InvalidArgument` error.
  #
  #     Note: The following fields are mutually exclusive: `fixed_iops`, `iops_per_tb`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  class PerformanceConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The enforced performance limits, calculated from the instance's performance
  # configuration.
  # @!attribute [r] max_iops
  #   @return [::Integer]
  #     Output only. The max IOPS.
  # @!attribute [r] max_read_iops
  #   @return [::Integer]
  #     Output only. The max read IOPS.
  # @!attribute [r] max_write_iops
  #   @return [::Integer]
  #     Output only. The max write IOPS.
  # @!attribute [r] max_read_throughput_bps
  #   @return [::Integer]
  #     Output only. The max read throughput in bytes per second.
  # @!attribute [r] max_write_throughput_bps
  #   @return [::Integer]
  #     Output only. The max write throughput in bytes per second.
  class PerformanceLimits
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class TagsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The instance state.
  module State
    # State not set.
    STATE_UNSPECIFIED = 0

    # The instance is being created.
    CREATING = 1

    # The instance is available for use.
    READY = 2

    # Work is being done on the instance. You can get further details from the
    # `statusMessage` field of the `Instance` resource.
    REPAIRING = 3

    # The instance is shutting down.
    DELETING = 4

    # The instance is experiencing an issue and might be unusable. You can get
    # further details from the `statusMessage` field of the `Instance`
    # resource.
    ERROR = 6

    # The instance is restoring a backup to an existing file share and may be
    # unusable during this time.
    RESTORING = 7

    # The instance is suspended. You can get further details from
    # the `suspension_reasons` field of the `Instance` resource.
    SUSPENDED = 8

    # The instance is in the process of becoming suspended.
    SUSPENDING = 9

    # The instance is in the process of becoming active.
    RESUMING = 10

    # The instance is reverting to a snapshot.
    REVERTING = 12

    # The replica instance is being promoted.
    PROMOTING = 13
  end

  # Available service tiers.
  module Tier
    # Not set.
    TIER_UNSPECIFIED = 0

    # STANDARD tier. BASIC_HDD is the preferred term for this tier.
    STANDARD = 1

    # PREMIUM tier. BASIC_SSD is the preferred term for this tier.
    PREMIUM = 2

    # BASIC instances offer a maximum capacity of 63.9 TB.
    # BASIC_HDD is an alias for STANDARD Tier, offering economical
    # performance backed by HDD.
    BASIC_HDD = 3

    # BASIC instances offer a maximum capacity of 63.9 TB.
    # BASIC_SSD is an alias for PREMIUM Tier, and offers improved
    # performance backed by SSD.
    BASIC_SSD = 4

    # HIGH_SCALE instances offer expanded capacity and performance scaling
    # capabilities.
    HIGH_SCALE_SSD = 5

    # ENTERPRISE instances offer the features and availability needed for
    # mission-critical workloads.
    ENTERPRISE = 6

    # ZONAL instances offer expanded capacity and performance scaling
    # capabilities.
    ZONAL = 7

    # REGIONAL instances offer the features and availability needed for
    # mission-critical workloads.
    REGIONAL = 8
  end

  # SuspensionReason contains the possible reasons for a suspension.
  module SuspensionReason
    # Not set.
    SUSPENSION_REASON_UNSPECIFIED = 0

    # The KMS key used by the instance is either revoked or denied access to.
    KMS_KEY_ISSUE = 1
  end

  # File access protocol.
  module FileProtocol
    # FILE_PROTOCOL_UNSPECIFIED serves a "not set" default value when
    # a FileProtocol is a separate field in a message.
    FILE_PROTOCOL_UNSPECIFIED = 0

    # NFS 3.0.
    NFS_V3 = 1

    # NFS 4.1.
    NFS_V4_1 = 2
  end
end

#suspension_reasons::Array<::Google::Cloud::Filestore::V1::Instance::SuspensionReason> (readonly)

Returns Output only. Field indicates all the reasons the instance is in "SUSPENDED" state.

Returns:



343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
# File 'proto_docs/google/cloud/filestore/v1/cloud_filestore_service.rb', line 343

class Instance
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # IOPS per TB.
  # Filestore defines TB as 1024^4 bytes (TiB).
  # @!attribute [rw] max_iops_per_tb
  #   @return [::Integer]
  #     Required. Maximum IOPS per TiB.
  class IOPSPerTB
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Fixed IOPS (input/output operations per second) parameters.
  # @!attribute [rw] max_iops
  #   @return [::Integer]
  #     Required. Maximum IOPS.
  class FixedIOPS
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Used for setting the performance configuration.
  # If the user doesn't specify PerformanceConfig, automatically provision
  # the default performance settings as described in
  # https://cloud.google.com/filestore/docs/performance. Larger instances will
  # be linearly set to more IOPS. If the instance's capacity is increased or
  # decreased, its performance will be automatically adjusted upwards or
  # downwards accordingly (respectively).
  # @!attribute [rw] iops_per_tb
  #   @return [::Google::Cloud::Filestore::V1::Instance::IOPSPerTB]
  #     Provision IOPS dynamically based on the capacity of the instance.
  #     Provisioned IOPS will be calculated by multiplying the capacity of the
  #     instance in TiB by the `iops_per_tb` value. For example, for a 2 TiB
  #     instance with an `iops_per_tb` value of 17000 the provisioned IOPS will
  #     be 34000.
  #
  #     If the calculated value is outside the supported range for the
  #     instance's capacity during instance creation, instance creation will
  #     fail with an `InvalidArgument` error. Similarly, if an instance
  #     capacity update would result in a value outside the supported range,
  #     the update will fail with an `InvalidArgument` error.
  #
  #     Note: The following fields are mutually exclusive: `iops_per_tb`, `fixed_iops`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] fixed_iops
  #   @return [::Google::Cloud::Filestore::V1::Instance::FixedIOPS]
  #     Choose a fixed provisioned IOPS value for the instance, which will
  #     remain constant regardless of instance capacity. Value must be a
  #     multiple of 1000.
  #
  #     If the chosen value is outside the supported range for the instance's
  #     capacity during instance creation, instance creation will fail with an
  #     `InvalidArgument` error. Similarly, if an instance capacity update
  #     would result in a value outside the supported range, the update will
  #     fail with an `InvalidArgument` error.
  #
  #     Note: The following fields are mutually exclusive: `fixed_iops`, `iops_per_tb`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  class PerformanceConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The enforced performance limits, calculated from the instance's performance
  # configuration.
  # @!attribute [r] max_iops
  #   @return [::Integer]
  #     Output only. The max IOPS.
  # @!attribute [r] max_read_iops
  #   @return [::Integer]
  #     Output only. The max read IOPS.
  # @!attribute [r] max_write_iops
  #   @return [::Integer]
  #     Output only. The max write IOPS.
  # @!attribute [r] max_read_throughput_bps
  #   @return [::Integer]
  #     Output only. The max read throughput in bytes per second.
  # @!attribute [r] max_write_throughput_bps
  #   @return [::Integer]
  #     Output only. The max write throughput in bytes per second.
  class PerformanceLimits
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class TagsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The instance state.
  module State
    # State not set.
    STATE_UNSPECIFIED = 0

    # The instance is being created.
    CREATING = 1

    # The instance is available for use.
    READY = 2

    # Work is being done on the instance. You can get further details from the
    # `statusMessage` field of the `Instance` resource.
    REPAIRING = 3

    # The instance is shutting down.
    DELETING = 4

    # The instance is experiencing an issue and might be unusable. You can get
    # further details from the `statusMessage` field of the `Instance`
    # resource.
    ERROR = 6

    # The instance is restoring a backup to an existing file share and may be
    # unusable during this time.
    RESTORING = 7

    # The instance is suspended. You can get further details from
    # the `suspension_reasons` field of the `Instance` resource.
    SUSPENDED = 8

    # The instance is in the process of becoming suspended.
    SUSPENDING = 9

    # The instance is in the process of becoming active.
    RESUMING = 10

    # The instance is reverting to a snapshot.
    REVERTING = 12

    # The replica instance is being promoted.
    PROMOTING = 13
  end

  # Available service tiers.
  module Tier
    # Not set.
    TIER_UNSPECIFIED = 0

    # STANDARD tier. BASIC_HDD is the preferred term for this tier.
    STANDARD = 1

    # PREMIUM tier. BASIC_SSD is the preferred term for this tier.
    PREMIUM = 2

    # BASIC instances offer a maximum capacity of 63.9 TB.
    # BASIC_HDD is an alias for STANDARD Tier, offering economical
    # performance backed by HDD.
    BASIC_HDD = 3

    # BASIC instances offer a maximum capacity of 63.9 TB.
    # BASIC_SSD is an alias for PREMIUM Tier, and offers improved
    # performance backed by SSD.
    BASIC_SSD = 4

    # HIGH_SCALE instances offer expanded capacity and performance scaling
    # capabilities.
    HIGH_SCALE_SSD = 5

    # ENTERPRISE instances offer the features and availability needed for
    # mission-critical workloads.
    ENTERPRISE = 6

    # ZONAL instances offer expanded capacity and performance scaling
    # capabilities.
    ZONAL = 7

    # REGIONAL instances offer the features and availability needed for
    # mission-critical workloads.
    REGIONAL = 8
  end

  # SuspensionReason contains the possible reasons for a suspension.
  module SuspensionReason
    # Not set.
    SUSPENSION_REASON_UNSPECIFIED = 0

    # The KMS key used by the instance is either revoked or denied access to.
    KMS_KEY_ISSUE = 1
  end

  # File access protocol.
  module FileProtocol
    # FILE_PROTOCOL_UNSPECIFIED serves a "not set" default value when
    # a FileProtocol is a separate field in a message.
    FILE_PROTOCOL_UNSPECIFIED = 0

    # NFS 3.0.
    NFS_V3 = 1

    # NFS 4.1.
    NFS_V4_1 = 2
  end
end

#tags::Google::Protobuf::Map{::String => ::String}

Returns Optional. Input only. Immutable. Tag key-value pairs bound to this resource. Each key must be a namespaced name and each value a short name. Example: "123456789012/environment" : "production", "123456789013/costCenter" : "marketing" See the documentation for more information:

Returns:



343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
# File 'proto_docs/google/cloud/filestore/v1/cloud_filestore_service.rb', line 343

class Instance
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # IOPS per TB.
  # Filestore defines TB as 1024^4 bytes (TiB).
  # @!attribute [rw] max_iops_per_tb
  #   @return [::Integer]
  #     Required. Maximum IOPS per TiB.
  class IOPSPerTB
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Fixed IOPS (input/output operations per second) parameters.
  # @!attribute [rw] max_iops
  #   @return [::Integer]
  #     Required. Maximum IOPS.
  class FixedIOPS
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Used for setting the performance configuration.
  # If the user doesn't specify PerformanceConfig, automatically provision
  # the default performance settings as described in
  # https://cloud.google.com/filestore/docs/performance. Larger instances will
  # be linearly set to more IOPS. If the instance's capacity is increased or
  # decreased, its performance will be automatically adjusted upwards or
  # downwards accordingly (respectively).
  # @!attribute [rw] iops_per_tb
  #   @return [::Google::Cloud::Filestore::V1::Instance::IOPSPerTB]
  #     Provision IOPS dynamically based on the capacity of the instance.
  #     Provisioned IOPS will be calculated by multiplying the capacity of the
  #     instance in TiB by the `iops_per_tb` value. For example, for a 2 TiB
  #     instance with an `iops_per_tb` value of 17000 the provisioned IOPS will
  #     be 34000.
  #
  #     If the calculated value is outside the supported range for the
  #     instance's capacity during instance creation, instance creation will
  #     fail with an `InvalidArgument` error. Similarly, if an instance
  #     capacity update would result in a value outside the supported range,
  #     the update will fail with an `InvalidArgument` error.
  #
  #     Note: The following fields are mutually exclusive: `iops_per_tb`, `fixed_iops`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] fixed_iops
  #   @return [::Google::Cloud::Filestore::V1::Instance::FixedIOPS]
  #     Choose a fixed provisioned IOPS value for the instance, which will
  #     remain constant regardless of instance capacity. Value must be a
  #     multiple of 1000.
  #
  #     If the chosen value is outside the supported range for the instance's
  #     capacity during instance creation, instance creation will fail with an
  #     `InvalidArgument` error. Similarly, if an instance capacity update
  #     would result in a value outside the supported range, the update will
  #     fail with an `InvalidArgument` error.
  #
  #     Note: The following fields are mutually exclusive: `fixed_iops`, `iops_per_tb`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  class PerformanceConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The enforced performance limits, calculated from the instance's performance
  # configuration.
  # @!attribute [r] max_iops
  #   @return [::Integer]
  #     Output only. The max IOPS.
  # @!attribute [r] max_read_iops
  #   @return [::Integer]
  #     Output only. The max read IOPS.
  # @!attribute [r] max_write_iops
  #   @return [::Integer]
  #     Output only. The max write IOPS.
  # @!attribute [r] max_read_throughput_bps
  #   @return [::Integer]
  #     Output only. The max read throughput in bytes per second.
  # @!attribute [r] max_write_throughput_bps
  #   @return [::Integer]
  #     Output only. The max write throughput in bytes per second.
  class PerformanceLimits
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class TagsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The instance state.
  module State
    # State not set.
    STATE_UNSPECIFIED = 0

    # The instance is being created.
    CREATING = 1

    # The instance is available for use.
    READY = 2

    # Work is being done on the instance. You can get further details from the
    # `statusMessage` field of the `Instance` resource.
    REPAIRING = 3

    # The instance is shutting down.
    DELETING = 4

    # The instance is experiencing an issue and might be unusable. You can get
    # further details from the `statusMessage` field of the `Instance`
    # resource.
    ERROR = 6

    # The instance is restoring a backup to an existing file share and may be
    # unusable during this time.
    RESTORING = 7

    # The instance is suspended. You can get further details from
    # the `suspension_reasons` field of the `Instance` resource.
    SUSPENDED = 8

    # The instance is in the process of becoming suspended.
    SUSPENDING = 9

    # The instance is in the process of becoming active.
    RESUMING = 10

    # The instance is reverting to a snapshot.
    REVERTING = 12

    # The replica instance is being promoted.
    PROMOTING = 13
  end

  # Available service tiers.
  module Tier
    # Not set.
    TIER_UNSPECIFIED = 0

    # STANDARD tier. BASIC_HDD is the preferred term for this tier.
    STANDARD = 1

    # PREMIUM tier. BASIC_SSD is the preferred term for this tier.
    PREMIUM = 2

    # BASIC instances offer a maximum capacity of 63.9 TB.
    # BASIC_HDD is an alias for STANDARD Tier, offering economical
    # performance backed by HDD.
    BASIC_HDD = 3

    # BASIC instances offer a maximum capacity of 63.9 TB.
    # BASIC_SSD is an alias for PREMIUM Tier, and offers improved
    # performance backed by SSD.
    BASIC_SSD = 4

    # HIGH_SCALE instances offer expanded capacity and performance scaling
    # capabilities.
    HIGH_SCALE_SSD = 5

    # ENTERPRISE instances offer the features and availability needed for
    # mission-critical workloads.
    ENTERPRISE = 6

    # ZONAL instances offer expanded capacity and performance scaling
    # capabilities.
    ZONAL = 7

    # REGIONAL instances offer the features and availability needed for
    # mission-critical workloads.
    REGIONAL = 8
  end

  # SuspensionReason contains the possible reasons for a suspension.
  module SuspensionReason
    # Not set.
    SUSPENSION_REASON_UNSPECIFIED = 0

    # The KMS key used by the instance is either revoked or denied access to.
    KMS_KEY_ISSUE = 1
  end

  # File access protocol.
  module FileProtocol
    # FILE_PROTOCOL_UNSPECIFIED serves a "not set" default value when
    # a FileProtocol is a separate field in a message.
    FILE_PROTOCOL_UNSPECIFIED = 0

    # NFS 3.0.
    NFS_V3 = 1

    # NFS 4.1.
    NFS_V4_1 = 2
  end
end

#tier::Google::Cloud::Filestore::V1::Instance::Tier

Returns The service tier of the instance.

Returns:



343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
# File 'proto_docs/google/cloud/filestore/v1/cloud_filestore_service.rb', line 343

class Instance
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # IOPS per TB.
  # Filestore defines TB as 1024^4 bytes (TiB).
  # @!attribute [rw] max_iops_per_tb
  #   @return [::Integer]
  #     Required. Maximum IOPS per TiB.
  class IOPSPerTB
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Fixed IOPS (input/output operations per second) parameters.
  # @!attribute [rw] max_iops
  #   @return [::Integer]
  #     Required. Maximum IOPS.
  class FixedIOPS
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Used for setting the performance configuration.
  # If the user doesn't specify PerformanceConfig, automatically provision
  # the default performance settings as described in
  # https://cloud.google.com/filestore/docs/performance. Larger instances will
  # be linearly set to more IOPS. If the instance's capacity is increased or
  # decreased, its performance will be automatically adjusted upwards or
  # downwards accordingly (respectively).
  # @!attribute [rw] iops_per_tb
  #   @return [::Google::Cloud::Filestore::V1::Instance::IOPSPerTB]
  #     Provision IOPS dynamically based on the capacity of the instance.
  #     Provisioned IOPS will be calculated by multiplying the capacity of the
  #     instance in TiB by the `iops_per_tb` value. For example, for a 2 TiB
  #     instance with an `iops_per_tb` value of 17000 the provisioned IOPS will
  #     be 34000.
  #
  #     If the calculated value is outside the supported range for the
  #     instance's capacity during instance creation, instance creation will
  #     fail with an `InvalidArgument` error. Similarly, if an instance
  #     capacity update would result in a value outside the supported range,
  #     the update will fail with an `InvalidArgument` error.
  #
  #     Note: The following fields are mutually exclusive: `iops_per_tb`, `fixed_iops`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] fixed_iops
  #   @return [::Google::Cloud::Filestore::V1::Instance::FixedIOPS]
  #     Choose a fixed provisioned IOPS value for the instance, which will
  #     remain constant regardless of instance capacity. Value must be a
  #     multiple of 1000.
  #
  #     If the chosen value is outside the supported range for the instance's
  #     capacity during instance creation, instance creation will fail with an
  #     `InvalidArgument` error. Similarly, if an instance capacity update
  #     would result in a value outside the supported range, the update will
  #     fail with an `InvalidArgument` error.
  #
  #     Note: The following fields are mutually exclusive: `fixed_iops`, `iops_per_tb`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  class PerformanceConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The enforced performance limits, calculated from the instance's performance
  # configuration.
  # @!attribute [r] max_iops
  #   @return [::Integer]
  #     Output only. The max IOPS.
  # @!attribute [r] max_read_iops
  #   @return [::Integer]
  #     Output only. The max read IOPS.
  # @!attribute [r] max_write_iops
  #   @return [::Integer]
  #     Output only. The max write IOPS.
  # @!attribute [r] max_read_throughput_bps
  #   @return [::Integer]
  #     Output only. The max read throughput in bytes per second.
  # @!attribute [r] max_write_throughput_bps
  #   @return [::Integer]
  #     Output only. The max write throughput in bytes per second.
  class PerformanceLimits
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class TagsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The instance state.
  module State
    # State not set.
    STATE_UNSPECIFIED = 0

    # The instance is being created.
    CREATING = 1

    # The instance is available for use.
    READY = 2

    # Work is being done on the instance. You can get further details from the
    # `statusMessage` field of the `Instance` resource.
    REPAIRING = 3

    # The instance is shutting down.
    DELETING = 4

    # The instance is experiencing an issue and might be unusable. You can get
    # further details from the `statusMessage` field of the `Instance`
    # resource.
    ERROR = 6

    # The instance is restoring a backup to an existing file share and may be
    # unusable during this time.
    RESTORING = 7

    # The instance is suspended. You can get further details from
    # the `suspension_reasons` field of the `Instance` resource.
    SUSPENDED = 8

    # The instance is in the process of becoming suspended.
    SUSPENDING = 9

    # The instance is in the process of becoming active.
    RESUMING = 10

    # The instance is reverting to a snapshot.
    REVERTING = 12

    # The replica instance is being promoted.
    PROMOTING = 13
  end

  # Available service tiers.
  module Tier
    # Not set.
    TIER_UNSPECIFIED = 0

    # STANDARD tier. BASIC_HDD is the preferred term for this tier.
    STANDARD = 1

    # PREMIUM tier. BASIC_SSD is the preferred term for this tier.
    PREMIUM = 2

    # BASIC instances offer a maximum capacity of 63.9 TB.
    # BASIC_HDD is an alias for STANDARD Tier, offering economical
    # performance backed by HDD.
    BASIC_HDD = 3

    # BASIC instances offer a maximum capacity of 63.9 TB.
    # BASIC_SSD is an alias for PREMIUM Tier, and offers improved
    # performance backed by SSD.
    BASIC_SSD = 4

    # HIGH_SCALE instances offer expanded capacity and performance scaling
    # capabilities.
    HIGH_SCALE_SSD = 5

    # ENTERPRISE instances offer the features and availability needed for
    # mission-critical workloads.
    ENTERPRISE = 6

    # ZONAL instances offer expanded capacity and performance scaling
    # capabilities.
    ZONAL = 7

    # REGIONAL instances offer the features and availability needed for
    # mission-critical workloads.
    REGIONAL = 8
  end

  # SuspensionReason contains the possible reasons for a suspension.
  module SuspensionReason
    # Not set.
    SUSPENSION_REASON_UNSPECIFIED = 0

    # The KMS key used by the instance is either revoked or denied access to.
    KMS_KEY_ISSUE = 1
  end

  # File access protocol.
  module FileProtocol
    # FILE_PROTOCOL_UNSPECIFIED serves a "not set" default value when
    # a FileProtocol is a separate field in a message.
    FILE_PROTOCOL_UNSPECIFIED = 0

    # NFS 3.0.
    NFS_V3 = 1

    # NFS 4.1.
    NFS_V4_1 = 2
  end
end