Spectra Logic
1-800-833-1132 : 1-303-449-6400


Spectra S3 Bucket, Object, and Job Operations : Spectra S3 Object Operations : Verify Physical Placement

Verify Physical Placement
Description
Get the list of media on which the specified objects are physically located. A 404, not found, error is returned if one or more objects either does not exist, or has no physical placement. Therefore, if you don’t receive an error, you know that all objects have a physical placement without having to parse the entire response. If the full_details request parameter is specified, physical placement is shown on a per object piece basis. If the full_details request parameter is not specified, a summary physical placement is provided.
Requests
Syntax
GET http[s]://{datapathDNSname}/_rest_/bucket/{bucket name}/?operation=verify_physical_placement[&full_details]
Request Parameters
Request Elements
An XML payload must be sent to describe the objects, formatted as follows:
<Objects>
   <Object Name="{
string}"/>
   <Object Name="{string}"/>
</Objects>
where the parameters are defined as follows:
Responses
Response Elements
With full_details:
<Data>
   <Object Latest="TRUE|FALSE" Length="{64-bit integer}"
      Name="{string}"Offset="{64-bit integer}"
      Version="{64-bit integer}">
      (only if full_details is included)
      <PhysicalPlacement>(only if full_details is included)
         <Pools>
            <Pool>
               <AssignedToStorageDomain>
                  TRUE|FALSE
               </AssignedToStorageDomain>
               <AvailableCapacity>
                  {64-bit integer}
               </AvailableCapacity>
               <BucketId>{string}</BucketId>
               <Guid>{string}</Guid>
               <Health>OK|DEGRADED</Health>
               <Id>{string}</Id>
               <LastAccessed>
                  {
YYYY-MM-DDThh:mm:ss.xxxZ}
               </LastAccessed>
               <LastModified>
                  {YYYY-MM-DDThh:mm:ss.xxxZ}
               </LastModified>
               <LastVerified>
                  {
YYYY-MM-DDThh:mm:ss.xxxZ}
               </LastVerified>
               <Mountpoint>/{string}</Mountpoint>
               <Name>{string}</Name>
               <PartitionId>{string}</PartitionId>
               <PoweredOn>TRUE|FALSE</PoweredOn>
               <Quiesced>YES|NO|PENDING</Quiesced>
               <ReservedCapacity>
                  {64-bit integer}
                </ReservedCapacity>
               <State>
                  NORMAL|FOREIGN|IMPORT_IN_PROGRESS|
                  IMPORT_PENDING|LOST
               </State>
               <StorageDomainId>{string}</StorageDomainId>
               <TotalCapacity>{64-bit integer}</TotalCapacity>
               <Type>NEARLINE|ONLINE</Type>
               <UsedCapacity>{64-bit integer}</UsedCapacity>
            </Pool>
            ...
         </Pools>
         <Tapes>
            <Tape>
               <AssignedToStorageDomain>
                  TRUE|FALSE
               </AssignedToStorageDomain>
               <AvailableRawCapacity>
                     {
64-bit integer}
               </AvailableRawCapacity>
               <BarCode>{string}</BarCode>
               <BucketId>{string}</BucketId>
               <DescriptionForIdentification>
                  {string}
               </DescriptionForIdentification>
               <EjectDate>{YYYY-MM-DDThh:mm:ss.xxxZ}</EjectDate>
               <EjectLabel>{string}</EjectLabel>
               <EjectLocation>{string}</EjectLocation>
               <EjectPending>
                  {
YYYY-MM-DDThh:mm:ss.xxxZ}
               </EjectPending>
               <FullOfData>TRUE|FALSE</FullOfData>
               <Id>{string}</Id>
               <LastAccessed>
                  {YYYY-MM-DDThh:mm:ss.xxxZ}
               </LastAccessed>
               <LastCheckpoint>{string}</LastCheckpoint>
               <LastModified>
                  {
YYYY-MM-DDThh:mm:ss.xxxZ}
               </LastModified>
               <LastVerified>
                  {YYYY-MM-DDThh:mm:ss.xxxZ}
               </LastVerified>
               <PartitionId>{string}</PartitionId>
               <PreviousState>
                  NORMAL|BAD|BAR_CODE_MISSING|
                  DATA_CHECKPOINT_MISSING|EJECT_FROM_EE_PENDING|
                  EJECT_TO_EE_IN_PROGRESS|EJECTED|FOREIGN|
                  FORMAT_IN_PROGRESS|FORMAT_PENDING|
                  IMPORT_IN_PROGRESS|LOST|LTFS_WITH_FOREIGN_DATA|
                  OFFLINE|ONLINE_IN_PROGRESS|ONLINE_PENDING|
                  PENDING_INSPECTION|SERIAL_NUMBER_MISMATCH|
                  UNKNOWN
               </PreviousState>
               <SerialNumber>{string}</SerialNumber>
               <State>
                  NORMAL|BAD|BAR_CODE_MISSING|
                  DATA_CHECKPOINT_MISSING|EJECT_FROM_EE_PENDING|
                  EJECT_TO_EE_IN_PROGRESS|EJECTED|FOREIGN|
                  FORMAT_IN_PROGRESS|FORMAT_PENDING|
                  IMPORT_IN_PROGRESS|LOST|LTFS_WITH_FOREIGN_DATA|
                  OFFLINE|ONLINE_IN_PROGRESS|ONLINE_PENDING|
                  PENDING_INSPECTION|SERIAL_NUMBER_MISMATCH|
                  UNKNOWN
               </State>
               <StorageDomainId>{string}</StorageDomainId>
               <TakeOwnershipPending>
                  TRUE|FALSE
               </TakeOwnershipPending>
               <TotalRawCapacity>
                  {64-bit integer}
               </TotalRawCapacity>
               <Type>
                  LTO5|LTO6|LTO7|LTO_CLEANING_TAPE|TS_JC|TS_JY|
                  TS_JK|TS_JD|TS_JZ|TS_JL|TS_CLEANING_TAPE|
                  UNKNOWN|FORBIDDEN
               </Type>
               <VerifyPending>
                  CRITICAL|URGENT|HIGH|NORMAL|LOW|BACKGROUND
               </VerifyPending>
               <WriteProtected>TRUE|FALSE</WriteProtected>
            </Tape>
         </Tapes>
      </PhysicalPlacement>
   </Object>
   ...
</Data>
where the response elements are defined as follows:
The last date and time an object in the pool was modified in the format YYYY-MM-DDThh:mm:ss.xxxZ. If this attribute is null, then the object has not yet been completely received into cache.
Whether the pool is powered on. This is always TRUE for pools with type=ONLINE. Values: TRUE, FALSE
The type of pool.
Values:
NEARLINE (ArcticBlue), ONLINE (SAS)
The date and time that the BlackPearl gateway discovered that the tape was ejected, in the format YYYY-MM-DDThh:mm:ss.xxxZ. If the parameter is empty, the tape has not been ejected.
The date and time that the tape was put in the queue to be ejected in the format YYYY-MM-DDThh:mm:ss.xxxZ. If the parameter is empty, the tape has not been queued to be ejected or the eject has started and is no longer cancelable.
The last date and time the object was modified in the format YYYY-MM-DDThh:mm:ss.xxxZ. If this attribute is null, then the object has not yet been completely received into cache.
§
TRUE — The foreign tape was imported when WriteProtected was TRUE, preventing the tape from being owned.
§
FALSE — The tape was imported successfully.
The tape format and generation of the tape cartridge.
Values:
LTO5, LTO6, TS_JC, TS_JY, TS_JK, TS_JD, TS_JZ, TS_JL, UNKNOWN, FORBIDDEN
Example
Sample Request
This request returns a list of which objects specified in the payload are on which media.
GET http://blackpearl-hostname/_rest_/bucket/bucket1/?operation=get_physical_placement&full_details HTTP/1.1
<Objects>
      <Object Name="object1"/>
</Objects>
Sample Response
HTTP/1.1 200 OK
<Data>
   <Object Latest="TRUE" Length="10" Name="o4" Offset="0"
      Version="1">
      <PhysicalPlacement>
         <Pools/>
         <Tapes>
            <Tape>
               <AssignedToStorageDomain>
                  FALSE
               </AssignedToStorageDomain>
               <AvailableRawCapacity>
                  2408088338432
               </AvailableRawCapacity>
               <BarCode>018675L6</BarCode>
               <BucketId>
                  0acaac0a-55f9-4d6b-b410-4179d4696f37
               </BucketId>
               <DescriptionForIdentification/>
               <EjectDate/>
               <EjectLabel/>
               <EjectLocation/>
               <EjectPending/>
               <FullOfData>FALSE</FullOfData>
               <Id>1c3fe1dc-95b7-4152-a286-951d0af2a27e</Id>
               <LastAccessed/>
               <LastCheckpoint/>
               <LastModified/>
               <LastVerified/>
               <PartitionId>
                  bd91171d-7738-4aea-b319-7abce892a7b1
               </PartitionId>
               <PreviousState/>
               <SerialNumber>HP-AE1WRUY90E</SerialNumber>
               <State>PENDING_INSPECTION</State>
               <StorageDomainId/>
               <TakeOwnershipPending>FALSE</TakeOwnershipPending>
               <TotalRawCapacity>2408088338432</TotalRawCapacity>
               <Type>LTO6</Type>
               <VerifyPending/>
               <WriteProtected>FALSE</WriteProtected>
            </Tape>
         </Tapes>
      </PhysicalPlacement>
   </Object>
</Data>