Class: Google::Apis::FileV1beta1::Instance

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/file_v1beta1/classes.rb,
lib/google/apis/file_v1beta1/representations.rb,
lib/google/apis/file_v1beta1/representations.rb

Overview

A Filestore instance.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ Instance

Returns a new instance of Instance.



1098
1099
1100
# File 'lib/google/apis/file_v1beta1/classes.rb', line 1098

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#backend_typeString

Optional. Immutable. Designates the backend type of this instance. Intended to be used by internal tests and allowed customers. Corresponds to the JSON property backendType

Returns:

  • (String)


920
921
922
# File 'lib/google/apis/file_v1beta1/classes.rb', line 920

def backend_type
  @backend_type
end

#capacity_gbFixnum

The storage capacity of the instance in gigabytes (GB = 1024^3 bytes). This capacity can be increased up to max_capacity_gb GB in multipliers of capacity_step_size_gb GB. Corresponds to the JSON property capacityGb

Returns:

  • (Fixnum)


927
928
929
# File 'lib/google/apis/file_v1beta1/classes.rb', line 927

def capacity_gb
  @capacity_gb
end

#capacity_step_size_gbFixnum

Output only. The incremental increase or decrease in capacity, designated in some number of GB. Corresponds to the JSON property capacityStepSizeGb

Returns:

  • (Fixnum)


933
934
935
# File 'lib/google/apis/file_v1beta1/classes.rb', line 933

def capacity_step_size_gb
  @capacity_step_size_gb
end

#create_timeString

Output only. The time when the instance was created. Corresponds to the JSON property createTime

Returns:

  • (String)


938
939
940
# File 'lib/google/apis/file_v1beta1/classes.rb', line 938

def create_time
  @create_time
end

#custom_performance_supportedBoolean Also known as: custom_performance_supported?

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. Corresponds to the JSON property customPerformanceSupported

Returns:

  • (Boolean)


945
946
947
# File 'lib/google/apis/file_v1beta1/classes.rb', line 945

def custom_performance_supported
  @custom_performance_supported
end

#deletion_protection_enabledBoolean Also known as: deletion_protection_enabled?

Optional. Indicates whether the instance is protected against deletion. Corresponds to the JSON property deletionProtectionEnabled

Returns:

  • (Boolean)


951
952
953
# File 'lib/google/apis/file_v1beta1/classes.rb', line 951

def deletion_protection_enabled
  @deletion_protection_enabled
end

#deletion_protection_reasonString

Optional. The reason for enabling deletion protection. Corresponds to the JSON property deletionProtectionReason

Returns:

  • (String)


957
958
959
# File 'lib/google/apis/file_v1beta1/classes.rb', line 957

def deletion_protection_reason
  @deletion_protection_reason
end

#descriptionString

The description of the instance (2048 characters or less). Corresponds to the JSON property description

Returns:

  • (String)


962
963
964
# File 'lib/google/apis/file_v1beta1/classes.rb', line 962

def description
  @description
end

#directory_servicesGoogle::Apis::FileV1beta1::DirectoryServicesConfig

Directory Services configuration. Corresponds to the JSON property directoryServices



967
968
969
# File 'lib/google/apis/file_v1beta1/classes.rb', line 967

def directory_services
  @directory_services
end

#etagString

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

Returns:

  • (String)


973
974
975
# File 'lib/google/apis/file_v1beta1/classes.rb', line 973

def etag
  @etag
end

#file_sharesArray<Google::Apis::FileV1beta1::FileShareConfig>

File system shares on the instance. For this version, only a single file share is supported. Corresponds to the JSON property fileShares



979
980
981
# File 'lib/google/apis/file_v1beta1/classes.rb', line 979

def file_shares
  @file_shares
end

#kms_key_nameString

KMS key name used for data encryption. Corresponds to the JSON property kmsKeyName

Returns:

  • (String)


984
985
986
# File 'lib/google/apis/file_v1beta1/classes.rb', line 984

def kms_key_name
  @kms_key_name
end

#labelsHash<String,String>

Resource labels to represent user provided metadata. Corresponds to the JSON property labels

Returns:

  • (Hash<String,String>)


989
990
991
# File 'lib/google/apis/file_v1beta1/classes.rb', line 989

def labels
  @labels
end

#max_capacity_gbFixnum

Output only. The maximum capacity of the instance. Corresponds to the JSON property maxCapacityGb

Returns:

  • (Fixnum)


994
995
996
# File 'lib/google/apis/file_v1beta1/classes.rb', line 994

def max_capacity_gb
  @max_capacity_gb
end

#max_share_countFixnum

The maximum number of shares allowed. Corresponds to the JSON property maxShareCount

Returns:

  • (Fixnum)


999
1000
1001
# File 'lib/google/apis/file_v1beta1/classes.rb', line 999

def max_share_count
  @max_share_count
end

#min_capacity_gbFixnum

Output only. The minimum capacity of the instance. Corresponds to the JSON property minCapacityGb

Returns:

  • (Fixnum)


1004
1005
1006
# File 'lib/google/apis/file_v1beta1/classes.rb', line 1004

def min_capacity_gb
  @min_capacity_gb
end

#multi_share_enabledBoolean Also known as: multi_share_enabled?

Indicates whether this instance uses a multi-share configuration with which it can have more than one file-share or none at all. File-shares are added, updated and removed through the separate file-share APIs. Corresponds to the JSON property multiShareEnabled

Returns:

  • (Boolean)


1011
1012
1013
# File 'lib/google/apis/file_v1beta1/classes.rb', line 1011

def multi_share_enabled
  @multi_share_enabled
end

#nameString

Output only. The resource name of the instance, in the format projects/ project_id/locations/location_id/instances/instance_id`. Corresponds to the JSON propertyname`

Returns:

  • (String)


1018
1019
1020
# File 'lib/google/apis/file_v1beta1/classes.rb', line 1018

def name
  @name
end

#networksArray<Google::Apis::FileV1beta1::NetworkConfig>

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



1024
1025
1026
# File 'lib/google/apis/file_v1beta1/classes.rb', line 1024

def networks
  @networks
end

#performance_configGoogle::Apis::FileV1beta1::PerformanceConfig

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). Corresponds to the JSON property performanceConfig



1034
1035
1036
# File 'lib/google/apis/file_v1beta1/classes.rb', line 1034

def performance_config
  @performance_config
end

#performance_limitsGoogle::Apis::FileV1beta1::PerformanceLimits

The enforced performance limits, calculated from the instance's performance configuration. Corresponds to the JSON property performanceLimits



1040
1041
1042
# File 'lib/google/apis/file_v1beta1/classes.rb', line 1040

def performance_limits
  @performance_limits
end

#protocolString

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. Corresponds to the JSON property protocol

Returns:

  • (String)


1047
1048
1049
# File 'lib/google/apis/file_v1beta1/classes.rb', line 1047

def protocol
  @protocol
end

#replicationGoogle::Apis::FileV1beta1::Replication

Optional. The configuration used to replicate an instance. Corresponds to the JSON property replication



1052
1053
1054
# File 'lib/google/apis/file_v1beta1/classes.rb', line 1052

def replication
  @replication
end

#satisfies_pziBoolean Also known as: satisfies_pzi?

Output only. Reserved for future use. Corresponds to the JSON property satisfiesPzi

Returns:

  • (Boolean)


1057
1058
1059
# File 'lib/google/apis/file_v1beta1/classes.rb', line 1057

def satisfies_pzi
  @satisfies_pzi
end

#satisfies_pzsBoolean Also known as: satisfies_pzs?

Output only. Reserved for future use. Corresponds to the JSON property satisfiesPzs

Returns:

  • (Boolean)


1063
1064
1065
# File 'lib/google/apis/file_v1beta1/classes.rb', line 1063

def satisfies_pzs
  @satisfies_pzs
end

#stateString

Output only. The instance state. Corresponds to the JSON property state

Returns:

  • (String)


1069
1070
1071
# File 'lib/google/apis/file_v1beta1/classes.rb', line 1069

def state
  @state
end

#status_messageString

Output only. Additional information about the instance state, if available. Corresponds to the JSON property statusMessage

Returns:

  • (String)


1074
1075
1076
# File 'lib/google/apis/file_v1beta1/classes.rb', line 1074

def status_message
  @status_message
end

#suspension_reasonsArray<String>

Output only. Field indicates all the reasons the instance is in "SUSPENDED" state. Corresponds to the JSON property suspensionReasons

Returns:

  • (Array<String>)


1080
1081
1082
# File 'lib/google/apis/file_v1beta1/classes.rb', line 1080

def suspension_reasons
  @suspension_reasons
end

#tagsHash<String,String>

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: - Namespaced name: https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing# retrieving_tag_key - Short name: https://cloud.google.com/resource-manager/ docs/tags/tags-creating-and-managing#retrieving_tag_value Corresponds to the JSON property tags

Returns:

  • (Hash<String,String>)


1091
1092
1093
# File 'lib/google/apis/file_v1beta1/classes.rb', line 1091

def tags
  @tags
end

#tierString

The service tier of the instance. Corresponds to the JSON property tier

Returns:

  • (String)


1096
1097
1098
# File 'lib/google/apis/file_v1beta1/classes.rb', line 1096

def tier
  @tier
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
# File 'lib/google/apis/file_v1beta1/classes.rb', line 1103

def update!(**args)
  @backend_type = args[:backend_type] if args.key?(:backend_type)
  @capacity_gb = args[:capacity_gb] if args.key?(:capacity_gb)
  @capacity_step_size_gb = args[:capacity_step_size_gb] if args.key?(:capacity_step_size_gb)
  @create_time = args[:create_time] if args.key?(:create_time)
  @custom_performance_supported = args[:custom_performance_supported] if args.key?(:custom_performance_supported)
  @deletion_protection_enabled = args[:deletion_protection_enabled] if args.key?(:deletion_protection_enabled)
  @deletion_protection_reason = args[:deletion_protection_reason] if args.key?(:deletion_protection_reason)
  @description = args[:description] if args.key?(:description)
  @directory_services = args[:directory_services] if args.key?(:directory_services)
  @etag = args[:etag] if args.key?(:etag)
  @file_shares = args[:file_shares] if args.key?(:file_shares)
  @kms_key_name = args[:kms_key_name] if args.key?(:kms_key_name)
  @labels = args[:labels] if args.key?(:labels)
  @max_capacity_gb = args[:max_capacity_gb] if args.key?(:max_capacity_gb)
  @max_share_count = args[:max_share_count] if args.key?(:max_share_count)
  @min_capacity_gb = args[:min_capacity_gb] if args.key?(:min_capacity_gb)
  @multi_share_enabled = args[:multi_share_enabled] if args.key?(:multi_share_enabled)
  @name = args[:name] if args.key?(:name)
  @networks = args[:networks] if args.key?(:networks)
  @performance_config = args[:performance_config] if args.key?(:performance_config)
  @performance_limits = args[:performance_limits] if args.key?(:performance_limits)
  @protocol = args[:protocol] if args.key?(:protocol)
  @replication = args[:replication] if args.key?(:replication)
  @satisfies_pzi = args[:satisfies_pzi] if args.key?(:satisfies_pzi)
  @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
  @state = args[:state] if args.key?(:state)
  @status_message = args[:status_message] if args.key?(:status_message)
  @suspension_reasons = args[:suspension_reasons] if args.key?(:suspension_reasons)
  @tags = args[:tags] if args.key?(:tags)
  @tier = args[:tier] if args.key?(:tier)
end