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. Use the storage_domain_id parameter to verify the physical placement of the objects within the specified storage domain only.
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 Id="{string}" InCache=”TRUE|FALSE” 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)
         <AzureTargets>
            <AzureTarget>
               <AccountKey>{string}</AccountKey>
               <AccountName>{string}</AccountName>
               <AutoVerifyFrequencyInDays>
                 {
integer}
               </AutoVerifyFrequencyInDays>
               <CloudBucketPrefix>{string}</CloudBucketPrefix>
               <CloudBucketSuffix>{string}</CloudBucketSuffix>
               <DefaultReadPreference>
                  MINIMUM_LATENCY|AFTER_ONLINE_POOL|
                  AFTER_NEARLINE_POOL|AFTER_NON_EJECTABLE_TAPE|
                  LAST_RESORT|NEVER
               </DefaultReadPreference>
               <Https>TRUE|FALSE</Https>
               <Id>{
string}</Id>
               <LastFullyVerified/>
               <Name>{
string}</Name>
               <PermitGoingOutOfSync>
                  TRUE|FALSE
               </PermitGoingOutOfSync>
               <Quiesced>NO|PENDING|YES</Quiesced>
               <State>ONLINE|OFFLINE|LIMITED_ACCESS</State>
            </AzureTarget>
            ...
         </AzureTargets>
         <Ds3Targets>
            <Ds3Target>
               <AccessControlReplication>
                  NONE|USERS
               </AccessControlReplication>
               <AdminAuthId>{
string}</AdminAuthId>
               <AdminSecretKey>{string}</AdminSecretKey>
               <DataPathEndPoint>{string}</DataPathEndPoint>
               <DataPathHttps>TRUE|FALSE</DataPathHttps>
               <DataPathPort>{16-bit integer}</DataPathPort>
               <DataPathProxy>{string}</DataPathProxy>
               <DataPathVerifyCertificate>
                  TRUE|FALSE
               </DataPathVerifyCertificate>
               <DefaultReadPreference>
                  MINIMUM_LATENCY|AFTER_ONLINE_POOL
                  |AFTER_NEARLINE_POOL
                  |AFTER_NON_EJECTABLE_TAPE|LAST_RESORT|NEVER
               </DefaultReadPreference>
               <Id>{string}</Id>
               <Name>{string}</Name>
               <PermitGoingOutOfSync>
                  TRUE|FALSE
               </PermitGoingOutOfSync>
               <Quiesced>NO|PENDING|YES</Quiesced>
               <ReplicatedUserDefaultDataPolicy>
                  {
string}
               </ReplicatedUserDefaultDataPolicy>
               <State>ONLINE|OFFLINE</State>
            </Ds3Target>
            ...
         </Ds3Targets>
         <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>NO|PENDING|YES</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>
         <S3Targets>
            <S3Target>
               <AccessKey>{
string}</AccessKey>
               <AutoVerifyFrequencyInDays>
                  {integer}
               </AutoVerifyFrequencyInDays>
               <CloudBucketPrefix>{string}</CloudBucketPrefix>
               <CloudBucketSuffix>{string}</CloudBucketSuffix>
               <DataPathEndPoint>{string}</DataPathEndPoint>
               <DefaultReadPreference>
                  MINIMUM_LATENCY|AFTER_ONLINE_POOL|
                  AFTER_NEARLINE_POOL|AFTER_NON_EJECTABLE_TAPE|
                  LAST_RESORT|NEVER
               </DefaultReadPreference>
               <Https>TRUE|FALSE</Https>
               <Id>{string}</Id>
               <LastFullyVerified>{string}</LastFullyVerified>
               <Name>{string}</Name>
               <OfflineDataStagingWindowInTb>
                  {64-bit integer}
               </OfflineDataStagingWindowInTb>
               <PermitGoingOutOfSync>
                  TRUE|FALSE
               </PermitGoingOutOfSync>
               <ProxyDomain>{string}</ProxyDomain>
               <ProxyHost>{string}</ProxyHost>
               <ProxyPassword>{string}</ProxyPassword>
               <ProxyPort>{64-bit integer}</ProxyPort>
               <ProxyUsername>{string}</ProxyUsername>
               <Quiesced>NO|PENDING|YES</Quiesced>
               <Region>{string}</Region>
               <SecretKey>{string}</SecretKey>
               <StagedDataExpirationInDays>
                  {64-bit integer}
               </StagedDataExpirationInDays>
               <State>ONLINE|OFFLINE|LIMITED_ACCESS</State>
            </S3Target>
            ...
         </S3Targets>
         <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>
               <PartiallyVerifiedEndOfTape>
                  {
YYYY-MM-DDThh:mm:ss.xxxZ}
               </PartiallyVerifiedEndOfTape>
               <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|INSPECTION_PENDING|LOST|
                  LTFS_WITH_FOREIGN_DATA|OFFLINE|
                  ONLINE_IN_PROGRESS|ONLINE_PENDING|
                  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|INSPECTION_PENDING|LOST|
                  LTFS_WITH_FOREIGN_DATA|OFFLINE|
                  ONLINE_IN_PROGRESS|ONLINE_PENDING|
                  SERIAL_NUMBER_MISMATCH|UNKNOWN
               </State>
               <StorageDomainId>{
string}</StorageDomainId>
               <TakeOwnershipPending>
                  TRUE|FALSE
               </TakeOwnershipPending>
               <TotalRawCapacity>
                  {
64‑bit integer}
               </TotalRawCapacity>
               <Type>
                  LTO5|LTO6|LTO7|LTO8|LTOM8|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:
Values: MINIMUM_LATENCY, AFTER_ONLINE_POOL, AFTER_NEARLINE_POOL, AFTER_NON_EJECTABLE_TAPE, LAST_RESORT, NEVER. See read_preference.
Values: TRUE, FALSE.
The state of the Azure target.
Values: ONLINE, OFFLINE, LIMITED_ACCESS
NONE — No access control is replicated.
USERS — The source BlackPearl system replicates its users and passwords to the target system.
Whether the data path certificate is verified. When DataPathVerifyCertificate and DataPathHttps are both TRUE, the source BlackPearl system fully validates the target system’s certificate. If the certificate is not trusted or problematic in anyway, it is not honored.
Values: TRUE, FALSE
Values: MINIMUM_LATENCY, AFTER_ONLINE_POOL, AFTER_NEARLINE_POOL, AFTER_NON_EJECTABLE_TAPE, LAST_RESORT, NEVER. See read_preference.
Whether a target is allowed to be out of sync with the source. By default, if the data policy specifies that the BlackPearl system must replicate local actions, actions that the system cannot replicate fail. You can temporarily set this parameter to TRUE in order to operate in full capacity locally while one or more targets is down for a prolonged period of time.
The state of the BlackPearl target.
Values:
ONLINE, OFFLINE, LIMITED_ACCESS
The type of pool.
Values:
NEARLINE (ArcticBlue), ONLINE (SAS)
Values: MINIMUM_LATENCY, AFTER_ONLINE_POOL, AFTER_NEARLINE_POOL, AFTER_NON_EJECTABLE_TAPE, LAST_RESORT, NEVER. See read_preference.
Values: TRUE, FALSE.
The world region where the Amazon S3 target is physically located. Values: US_EAST_1, US_WEST_1, US_WEST_2, EU_WEST_1, EU_CENTRAL_1, AP_SOUTH_1, AP_SOUTHEAST_1, AP_SOUTHEAST_2, AP_NORTHEAST_1, AP_NORTHEAST_2, SA_EAST_1, CN_NORTH_1, GOV_CLOUD
The state of the Amazon S3 target.
Values:
ONLINE, OFFLINE, LIMITED_ACCESS
The date and time that the BlackPearl system 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.
§
TRUE — The foreign tape was imported when WriteProtected was TRUE, preventing the tape from being claimed by the current BlackPearl system.
§
FALSE — The tape was imported successfully.
The tape format and generation of the tape cartridge.
Values:
LTO5, LTO6, LTO7, LTO8, LTOM8, LTO_CLEANING_TAPE, TS_JC, TS_JY, TS_JK, TS_JD, TS_JZ, TS_JL, TS_CLEANING_TAPE, 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 Id="72886aed-6865-4173-b87f-a60e1f82966e"
      InCache=”FALSE” Latest="TRUE" Length="10" Name="o4"
      Offset="0" Version=1">
      <PhysicalPlacement>
         <AzureTargets/>
         <Ds3Targets/>
         <Pools>
            <Pool>
               <AssignedToStorageDomain>
                  false
               </AssignedToStorageDomain>
               <AvailableCapacity>10000</AvailableCapacity>
               <BucketId/>
               <Guid>d276b9a9-02e4-4528-972d-8e621719510c</Guid>
               <Health>OK</Health>
               <Id>8b5a44e5-cfe8-4021-a745-bc70832cd6b5</Id>
               <LastAccessed/>
               <LastModified/>
               <LastVerified/>
               <Mountpoint>/mountpoint-0</Mountpoint>
               <Name>p1</Name>
               <PartitionId/>
               <PoweredOn>true</PoweredOn>
               <Quiesced>NO</Quiesced>
               <ReservedCapacity>0</ReservedCapacity>
               <State>NORMAL</State>
               <StorageDomainMemberId>
                  db43b9ee-f2a5-4e8d-8620-f7aa14508bba
               </StorageDomainMemberId>
               <TotalCapacity>0</TotalCapacity>
               <Type>NEARLINE</Type>
               <UsedCapacity>20000</UsedCapacity>
            </Pool>
         </Pools>
         <S3Targets/>
         <Tapes/>
      </PhysicalPlacement>
   </Object>
</Data>