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


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

Get Physical Placement
Description
Get the list of media on which the specified objects are physically located. Errors are not returned if the object does not exist or if the object does not have a physical placement. 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 return the physical placement of the objects within the specified storage domain only.
Requests
Syntax
PUT http[s]://{datapathDNSname}/_rest_/bucket/{bucket name}?operation=get_physical_placement[&full_details][&storage_domain_id={string}]
Request Parameters
Request Elements
An XML payload, formatted as follows, must be sent to describe the object for which to get physical placement information:
<Objects>
      <Object Name="{
string}"/>
      <Object Name="{string}"/>
</Objects>
where the parameters are defined as follows:
Responses
Response Elements
<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
Values: 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 the tapes on which the objects specified in the payload reside.
PUT http://blackpearl-hostname/_rest_/bucket/bucket1?operation=get_physical_placement&full_details HTTP/1.1
<Objects>
      <Object Name="o1"/>
</Objects>
Sample Response
HTTP/1.1 200 OK
<Data>
   <Object Bucket="b1" Id="0cdeed57-c962-4e58-9e70-3c20fc88d257"       InCache="false" Latest="true" Length="10" Name="o1"       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>