Class: Google::Apis::ComputeAlpha::Snapshot
- Inherits:
-
Object
- Object
- Google::Apis::ComputeAlpha::Snapshot
- Includes:
- Google::Apis::Core::Hashable, Google::Apis::Core::JsonObjectSupport
- Defined in:
- lib/google/apis/compute_alpha/classes.rb,
lib/google/apis/compute_alpha/representations.rb,
lib/google/apis/compute_alpha/representations.rb
Overview
Represents a Persistent Disk Snapshot resource. You can use snapshots to back up data on a regular interval. For more information, read Creating persistent disk snapshots.
Instance Attribute Summary collapse
-
#architecture ⇒ String
Output only.
-
#auto_created ⇒ Boolean
(also: #auto_created?)
Output only.
-
#chain_name ⇒ String
Creates the new snapshot in the snapshot chain labeled with the specified name.
-
#creation_size_bytes ⇒ Fixnum
Output only.
-
#creation_timestamp ⇒ String
Output only.
-
#description ⇒ String
An optional description of this resource.
-
#disk_size_gb ⇒ Fixnum
Output only.
-
#download_bytes ⇒ Fixnum
Output only.
-
#enable_confidential_compute ⇒ Boolean
(also: #enable_confidential_compute?)
Output only.
-
#guest_flush ⇒ Boolean
(also: #guest_flush?)
[Input Only] Whether to attempt an application consistent snapshot by informing the OS to prepare for the snapshot process.
-
#guest_os_features ⇒ Array<Google::Apis::ComputeAlpha::GuestOsFeature>
Output only.
-
#id ⇒ Fixnum
Output only.
-
#kind ⇒ String
Output only.
-
#label_fingerprint ⇒ String
A fingerprint for the labels being applied to this snapshot, which is essentially a hash of the labels set used for optimistic locking.
-
#labels ⇒ Hash<String,String>
Labels to apply to this snapshot.
-
#license_codes ⇒ Array<Fixnum>
Output only.
-
#licenses ⇒ Array<String>
Output only.
-
#location_hint ⇒ String
An opaque location hint used to place the snapshot close to other resources.
-
#max_retention_days ⇒ Fixnum
Number of days the snapshot should be retained before being deleted automatically.
-
#name ⇒ String
Name of the resource; provided by the client when the resource is created.
-
#params ⇒ Google::Apis::ComputeAlpha::SnapshotParams
Additional snapshot params.
-
#region ⇒ String
Output only.
-
#resource_status ⇒ Google::Apis::ComputeAlpha::SnapshotResourceStatus
Output only.
-
#satisfies_pzi ⇒ Boolean
(also: #satisfies_pzi?)
Output only.
-
#satisfies_pzs ⇒ Boolean
(also: #satisfies_pzs?)
Output only.
-
#self_link ⇒ String
Output only.
-
#self_link_with_id ⇒ String
Output only.
-
#snapshot_encryption_key ⇒ Google::Apis::ComputeAlpha::CustomerEncryptionKey
Encrypts the snapshot using acustomer-supplied encryption key.
-
#snapshot_group_id ⇒ String
Output only.
-
#snapshot_group_name ⇒ String
Output only.
-
#snapshot_type ⇒ String
Indicates the type of the snapshot.
-
#source_disk ⇒ String
The source disk used to create this snapshot.
-
#source_disk_encryption_key ⇒ Google::Apis::ComputeAlpha::CustomerEncryptionKey
The customer-supplied encryption key of the source disk.
-
#source_disk_for_recovery_checkpoint ⇒ String
The source disk whose recovery checkpoint will be used to create this snapshot.
-
#source_disk_id ⇒ String
Output only.
-
#source_instant_snapshot ⇒ String
The source instant snapshot used to create this snapshot.
-
#source_instant_snapshot_encryption_key ⇒ Google::Apis::ComputeAlpha::CustomerEncryptionKey
Customer provided encryption key when creating Snapshot from Instant Snapshot.
-
#source_instant_snapshot_id ⇒ String
Output only.
-
#source_snapshot_schedule_policy ⇒ String
Output only.
-
#source_snapshot_schedule_policy_id ⇒ String
Output only.
-
#status ⇒ String
Output only.
-
#storage_bytes ⇒ Fixnum
Output only.
-
#storage_bytes_status ⇒ String
Output only.
-
#storage_locations ⇒ Array<String>
Cloud Storage bucket storage location of the snapshot (regional or multi-regional).
Instance Method Summary collapse
-
#initialize(**args) ⇒ Snapshot
constructor
A new instance of Snapshot.
-
#update!(**args) ⇒ Object
Update properties of this object.
Constructor Details
#initialize(**args) ⇒ Snapshot
Returns a new instance of Snapshot.
72278 72279 72280 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 72278 def initialize(**args) update!(**args) end |
Instance Attribute Details
#architecture ⇒ String
Output only. [Output Only] The architecture of the snapshot. Valid values are
ARM64 or X86_64.
Corresponds to the JSON property architecture
71962 71963 71964 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 71962 def architecture @architecture end |
#auto_created ⇒ Boolean Also known as: auto_created?
Output only. [Output Only] Set to true if snapshots are automatically created
by
applying resource policy on the target disk.
Corresponds to the JSON property autoCreated
71969 71970 71971 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 71969 def auto_created @auto_created end |
#chain_name ⇒ String
Creates the new snapshot in the snapshot chain labeled with the
specified name. The chain name must be 1-63 characters long and comply
with RFC1035. This is an uncommon option only for advanced service
owners who needs to create separate snapshot chains, for example,
for chargeback tracking. When you describe your snapshot resource, this
field is visible only if it has a non-empty value.
Corresponds to the JSON property chainName
71980 71981 71982 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 71980 def chain_name @chain_name end |
#creation_size_bytes ⇒ Fixnum
Output only. [Output Only] Size in bytes of the snapshot at creation time.
Corresponds to the JSON property creationSizeBytes
71985 71986 71987 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 71985 def creation_size_bytes @creation_size_bytes end |
#creation_timestamp ⇒ String
Output only. [Output Only] Creation timestamp inRFC3339
text format.
Corresponds to the JSON property creationTimestamp
71991 71992 71993 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 71991 def @creation_timestamp end |
#description ⇒ String
An optional description of this resource. Provide this property when you
create the resource.
Corresponds to the JSON property description
71997 71998 71999 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 71997 def description @description end |
#disk_size_gb ⇒ Fixnum
Output only. [Output Only] Size of the source disk, specified in GB.
Corresponds to the JSON property diskSizeGb
72002 72003 72004 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 72002 def disk_size_gb @disk_size_gb end |
#download_bytes ⇒ Fixnum
Output only. [Output Only] Number of bytes downloaded to restore a snapshot to
a disk.
Corresponds to the JSON property downloadBytes
72008 72009 72010 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 72008 def download_bytes @download_bytes end |
#enable_confidential_compute ⇒ Boolean Also known as: enable_confidential_compute?
Output only. Whether this snapshot is created from a confidential compute mode
disk.
[Output Only]: This field is not set by user, but from source disk.
Corresponds to the JSON property enableConfidentialCompute
72015 72016 72017 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 72015 def enable_confidential_compute @enable_confidential_compute end |
#guest_flush ⇒ Boolean Also known as: guest_flush?
[Input Only] Whether to attempt an application consistent snapshot by
informing the OS to prepare for the snapshot process.
Corresponds to the JSON property guestFlush
72022 72023 72024 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 72022 def guest_flush @guest_flush end |
#guest_os_features ⇒ Array<Google::Apis::ComputeAlpha::GuestOsFeature>
Output only. [Output Only] A list of features to enable on the guest operating
system.
Applicable only for bootable images. Read
Enabling guest operating system features to see a list of available
options.
Corresponds to the JSON property guestOsFeatures
72032 72033 72034 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 72032 def guest_os_features @guest_os_features end |
#id ⇒ Fixnum
Output only. [Output Only] The unique identifier for the resource. This
identifier is
defined by the server.
Corresponds to the JSON property id
72039 72040 72041 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 72039 def id @id end |
#kind ⇒ String
Output only. [Output Only] Type of the resource. Always compute#snapshot
for Snapshot resources.
Corresponds to the JSON property kind
72045 72046 72047 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 72045 def kind @kind end |
#label_fingerprint ⇒ String
A fingerprint for the labels being applied to this snapshot, which is
essentially a hash of the labels set used for optimistic locking. The
fingerprint is initially generated by Compute Engine and changes after
every request to modify or update labels. You must always provide an
up-to-date fingerprint hash in order to update or change labels,
otherwise the request will fail with error412 conditionNotMet.
To see the latest fingerprint, make a get() request to
retrieve a snapshot.
Corresponds to the JSON property labelFingerprint
NOTE: Values are automatically base64 encoded/decoded in the client library.
72058 72059 72060 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 72058 def label_fingerprint @label_fingerprint end |
#labels ⇒ Hash<String,String>
Labels to apply to this snapshot. These can be later modified by
the setLabels method.
Label values may be empty.
Corresponds to the JSON property labels
72065 72066 72067 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 72065 def labels @labels end |
#license_codes ⇒ Array<Fixnum>
Output only. [Output Only] Integer license codes indicating which licenses are
attached
to this snapshot.
Corresponds to the JSON property licenseCodes
72072 72073 72074 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 72072 def license_codes @license_codes end |
#licenses ⇒ Array<String>
Output only. [Output Only] A list of public visible licenses that apply to
this
snapshot. This can be because the original image had licenses attached
(such as a Windows image).
Corresponds to the JSON property licenses
72080 72081 72082 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 72080 def licenses @licenses end |
#location_hint ⇒ String
An opaque location hint used to place the snapshot close to other
resources.
This field is for use by internal tools that use the public API.
Corresponds to the JSON property locationHint
72087 72088 72089 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 72087 def location_hint @location_hint end |
#max_retention_days ⇒ Fixnum
Number of days the snapshot should be retained before being deleted
automatically.
Corresponds to the JSON property maxRetentionDays
72093 72094 72095 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 72093 def max_retention_days @max_retention_days end |
#name ⇒ String
Name of the resource; provided by the client when the resource is created.
The name must be 1-63 characters long, and comply withRFC1035.
Specifically, the name must be 1-63 characters long and match the regular
expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first
character must be a lowercase letter, and all following characters must be
a dash, lowercase letter, or digit, except the last character, which cannot
be a dash.
Corresponds to the JSON property name
72104 72105 72106 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 72104 def name @name end |
#params ⇒ Google::Apis::ComputeAlpha::SnapshotParams
Additional snapshot params.
Corresponds to the JSON property params
72109 72110 72111 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 72109 def params @params end |
#region ⇒ String
Output only. [Output Only] URL of the region where the snapshot resides. Only
applicable
for regional snapshots.
Corresponds to the JSON property region
72116 72117 72118 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 72116 def region @region end |
#resource_status ⇒ Google::Apis::ComputeAlpha::SnapshotResourceStatus
Output only. [Output only] ResourceStatus of the Snapshot resource
Corresponds to the JSON property resourceStatus
72121 72122 72123 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 72121 def resource_status @resource_status end |
#satisfies_pzi ⇒ Boolean Also known as: satisfies_pzi?
Output only. Reserved for future use.
Corresponds to the JSON property satisfiesPzi
72126 72127 72128 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 72126 def satisfies_pzi @satisfies_pzi end |
#satisfies_pzs ⇒ Boolean Also known as: satisfies_pzs?
Output only. [Output Only] Reserved for future use.
Corresponds to the JSON property satisfiesPzs
72132 72133 72134 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 72132 def satisfies_pzs @satisfies_pzs end |
#self_link ⇒ String
Output only. [Output Only] Server-defined URL for the resource.
Corresponds to the JSON property selfLink
72138 72139 72140 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 72138 def self_link @self_link end |
#self_link_with_id ⇒ String
Output only. [Output Only] Server-defined URL for this resource's resource id.
Corresponds to the JSON property selfLinkWithId
72143 72144 72145 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 72143 def self_link_with_id @self_link_with_id end |
#snapshot_encryption_key ⇒ Google::Apis::ComputeAlpha::CustomerEncryptionKey
Encrypts the snapshot using acustomer-supplied
encryption key.
After you encrypt a snapshot using a customer-supplied key, you must
provide the same key if you use the snapshot later. For example, you must
provide the encryption key when you create a disk from the encrypted
snapshot in a future request.
Customer-supplied encryption keys do not protect access to metadata
of the snapshot.
If you do not provide an encryption key when creating the snapshot, then
the snapshot will be encrypted using an automatically generated key and you
do not need to provide a key to use the snapshot later.
Corresponds to the JSON property snapshotEncryptionKey
72158 72159 72160 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 72158 def snapshot_encryption_key @snapshot_encryption_key end |
#snapshot_group_id ⇒ String
Output only. [Output Only] The unique ID of the snapshot group that this
snapshot
belongs to. The usage of snapshot group feature is restricted.
Corresponds to the JSON property snapshotGroupId
72165 72166 72167 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 72165 def snapshot_group_id @snapshot_group_id end |
#snapshot_group_name ⇒ String
Output only. [Output only] The snapshot group that this snapshot belongs to.
The usage
of snapshot group feature is restricted.
Corresponds to the JSON property snapshotGroupName
72172 72173 72174 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 72172 def snapshot_group_name @snapshot_group_name end |
#snapshot_type ⇒ String
Indicates the type of the snapshot.
Corresponds to the JSON property snapshotType
72177 72178 72179 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 72177 def snapshot_type @snapshot_type end |
#source_disk ⇒ String
The source disk used to create this snapshot.
Corresponds to the JSON property sourceDisk
72182 72183 72184 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 72182 def source_disk @source_disk end |
#source_disk_encryption_key ⇒ Google::Apis::ComputeAlpha::CustomerEncryptionKey
The customer-supplied
encryption key of the source disk. Required if the source disk is
protected by a customer-supplied encryption key.
Corresponds to the JSON property sourceDiskEncryptionKey
72189 72190 72191 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 72189 def source_disk_encryption_key @source_disk_encryption_key end |
#source_disk_for_recovery_checkpoint ⇒ String
The source disk whose recovery checkpoint will be used to create this
snapshot.
Corresponds to the JSON property sourceDiskForRecoveryCheckpoint
72195 72196 72197 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 72195 def source_disk_for_recovery_checkpoint @source_disk_for_recovery_checkpoint end |
#source_disk_id ⇒ String
Output only. [Output Only] The ID value of the disk used to create this
snapshot. This
value may be used to determine whether the snapshot was taken from the
current or a previous instance of a given disk name.
Corresponds to the JSON property sourceDiskId
72203 72204 72205 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 72203 def source_disk_id @source_disk_id end |
#source_instant_snapshot ⇒ String
The source instant snapshot used to create this snapshot. You can provide this as a partial or full URL to the resource. For example, the following are valid values:
- https://www.googleapis.com/compute/v1/projects/project/zones/zone/ instantSnapshots/instantSnapshot
- projects/project/zones/zone/instantSnapshots/instantSnapshot
- zones/zone/instantSnapshots/instantSnapshot
Corresponds to the JSON property
sourceInstantSnapshot
72216 72217 72218 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 72216 def source_instant_snapshot @source_instant_snapshot end |
#source_instant_snapshot_encryption_key ⇒ Google::Apis::ComputeAlpha::CustomerEncryptionKey
Customer provided encryption key when creating Snapshot from Instant
Snapshot.
Corresponds to the JSON property sourceInstantSnapshotEncryptionKey
72222 72223 72224 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 72222 def source_instant_snapshot_encryption_key @source_instant_snapshot_encryption_key end |
#source_instant_snapshot_id ⇒ String
Output only. [Output Only] The unique ID of the instant snapshot used to
create this
snapshot. This value identifies the exact instant snapshot that was used to
create this snapshot. For example, if you created the snapshot from an
instant snapshot that was later deleted and recreated under the same name,
the source instant snapshot ID would identify the exact instant snapshot
that was used.
Corresponds to the JSON property sourceInstantSnapshotId
72233 72234 72235 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 72233 def source_instant_snapshot_id @source_instant_snapshot_id end |
#source_snapshot_schedule_policy ⇒ String
Output only. [Output Only] URL of the resource policy which created this
scheduled snapshot.
Corresponds to the JSON property sourceSnapshotSchedulePolicy
72239 72240 72241 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 72239 def source_snapshot_schedule_policy @source_snapshot_schedule_policy end |
#source_snapshot_schedule_policy_id ⇒ String
Output only. [Output Only] ID of the resource policy which created this
scheduled snapshot.
Corresponds to the JSON property sourceSnapshotSchedulePolicyId
72245 72246 72247 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 72245 def source_snapshot_schedule_policy_id @source_snapshot_schedule_policy_id end |
#status ⇒ String
Output only. [Output Only] The status of the snapshot. This can beCREATING,
DELETING, FAILED,READY, or UPLOADING.
Corresponds to the JSON property status
72251 72252 72253 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 72251 def status @status end |
#storage_bytes ⇒ Fixnum
Output only. [Output Only] A size of the storage used by the snapshot. As
snapshots
share storage, this number is expected to change with snapshot
creation/deletion.
Corresponds to the JSON property storageBytes
72259 72260 72261 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 72259 def storage_bytes @storage_bytes end |
#storage_bytes_status ⇒ String
Output only. [Deprecated] Instead, check the storageBytes field. After
snapshot creation, the storageBytesStatus field is alwaysUP_TO_DATE.
[Output Only] An indicator whether storageBytes is in a
stable state or it is being adjusted as a result of shared storage
reallocation. This status can either be unset, meaning the snapshot is
being created, or UP_TO_DATE, meaning the size of the snapshot
is up-to-date.
Corresponds to the JSON property storageBytesStatus
72270 72271 72272 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 72270 def storage_bytes_status @storage_bytes_status end |
#storage_locations ⇒ Array<String>
Cloud Storage bucket storage location of the snapshot (regional or
multi-regional).
Corresponds to the JSON property storageLocations
72276 72277 72278 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 72276 def storage_locations @storage_locations end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
72283 72284 72285 72286 72287 72288 72289 72290 72291 72292 72293 72294 72295 72296 72297 72298 72299 72300 72301 72302 72303 72304 72305 72306 72307 72308 72309 72310 72311 72312 72313 72314 72315 72316 72317 72318 72319 72320 72321 72322 72323 72324 72325 72326 72327 72328 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 72283 def update!(**args) @architecture = args[:architecture] if args.key?(:architecture) @auto_created = args[:auto_created] if args.key?(:auto_created) @chain_name = args[:chain_name] if args.key?(:chain_name) @creation_size_bytes = args[:creation_size_bytes] if args.key?(:creation_size_bytes) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @description = args[:description] if args.key?(:description) @disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb) @download_bytes = args[:download_bytes] if args.key?(:download_bytes) @enable_confidential_compute = args[:enable_confidential_compute] if args.key?(:enable_confidential_compute) @guest_flush = args[:guest_flush] if args.key?(:guest_flush) @guest_os_features = args[:guest_os_features] if args.key?(:guest_os_features) @id = args[:id] if args.key?(:id) @kind = args[:kind] if args.key?(:kind) @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint) @labels = args[:labels] if args.key?(:labels) @license_codes = args[:license_codes] if args.key?(:license_codes) @licenses = args[:licenses] if args.key?(:licenses) @location_hint = args[:location_hint] if args.key?(:location_hint) @max_retention_days = args[:max_retention_days] if args.key?(:max_retention_days) @name = args[:name] if args.key?(:name) @params = args[:params] if args.key?(:params) @region = args[:region] if args.key?(:region) @resource_status = args[:resource_status] if args.key?(:resource_status) @satisfies_pzi = args[:satisfies_pzi] if args.key?(:satisfies_pzi) @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs) @self_link = args[:self_link] if args.key?(:self_link) @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id) @snapshot_encryption_key = args[:snapshot_encryption_key] if args.key?(:snapshot_encryption_key) @snapshot_group_id = args[:snapshot_group_id] if args.key?(:snapshot_group_id) @snapshot_group_name = args[:snapshot_group_name] if args.key?(:snapshot_group_name) @snapshot_type = args[:snapshot_type] if args.key?(:snapshot_type) @source_disk = args[:source_disk] if args.key?(:source_disk) @source_disk_encryption_key = args[:source_disk_encryption_key] if args.key?(:source_disk_encryption_key) @source_disk_for_recovery_checkpoint = args[:source_disk_for_recovery_checkpoint] if args.key?(:source_disk_for_recovery_checkpoint) @source_disk_id = args[:source_disk_id] if args.key?(:source_disk_id) @source_instant_snapshot = args[:source_instant_snapshot] if args.key?(:source_instant_snapshot) @source_instant_snapshot_encryption_key = args[:source_instant_snapshot_encryption_key] if args.key?(:source_instant_snapshot_encryption_key) @source_instant_snapshot_id = args[:source_instant_snapshot_id] if args.key?(:source_instant_snapshot_id) @source_snapshot_schedule_policy = args[:source_snapshot_schedule_policy] if args.key?(:source_snapshot_schedule_policy) @source_snapshot_schedule_policy_id = args[:source_snapshot_schedule_policy_id] if args.key?(:source_snapshot_schedule_policy_id) @status = args[:status] if args.key?(:status) @storage_bytes = args[:storage_bytes] if args.key?(:storage_bytes) @storage_bytes_status = args[:storage_bytes_status] if args.key?(:storage_bytes_status) @storage_locations = args[:storage_locations] if args.key?(:storage_locations) end |