# Class CIM_TapeCopyService
extends CIM_Service

Provides functions needed for the following type of copies: snapshot and selective copy.

### Table of Contents
Hierarchy
Direct Known Subclasses
Class Qualifiers
Class Properties
Class Methods

## Class Hierarchy

CIM_ManagedElement
|
+--CIM_ManagedSystemElement
|
+--CIM_LogicalElement
|
+--CIM_EnabledLogicalElement
|
+--CIM_Service
|
+--CIM_TapeCopyService

## Direct Known Subclasses

## Class Qualifiers

Name | Data Type | Value
--- | --- | ---
Description | string | Provides functions needed for the following type of copies: snapshot and selective copy.
Experimental | boolean | true
UMLPackagePath | string | CIM::Device::Tape
Version | string | 2.42.0

## Class Properties

### Inherited Properties

Name | Data Type | Class Origin
--- | --- | ---
Caption | string | CIM_ManagedElement
CommunicationStatus | uint16 | CIM_ManagedSystemElement
CreationClassName | string | CIM_Service
Description | string | CIM_ManagedElement
DetailedStatus | uint16 | CIM_ManagedSystemElement
ElementName | string | CIM_ManagedElement
EnabledDefault | uint16 | CIM_EnabledLogicalElement
EnabledState | uint16 | CIM_EnabledLogicalElement
Generation | uint64 | CIM_ManagedElement
HealthState | uint16 | CIM_ManagedSystemElement
InstallDate | datetime | CIM_ManagedSystemElement
InstanceID | string | CIM_ManagedElement
LoSID | string | CIM_Service
LoSOrgID | string | CIM_Service
Name | string | CIM_Service
OperatingStatus | uint16 | CIM_ManagedSystemElement
OtherEnabledState | string | CIM_EnabledLogicalElement
PrimaryOwnerContact | string | CIM_Service
PrimaryOwnerName | string | CIM_Service
PrimaryStatus | uint16 | CIM_ManagedSystemElement
RequestedState | uint16 | CIM_EnabledLogicalElement
Started | boolean | CIM_Service
StartMode | string | CIM_Service
Status | string | CIM_ManagedSystemElement
SystemCreationClassName | string | CIM_Service
SystemName | string | CIM_Service
TimeOfLastStateChange | datetime | CIM_EnabledLogicalElement
TransitioningToState | uint16 | CIM_EnabledLogicalElement
AvailableRequestedStates | uint16[] | CIM_EnabledLogicalElement
OperationalStatus | uint16[] | CIM_ManagedSystemElement
StatusDescriptions | string[] | CIM_ManagedSystemElement

## Class Methods

### Local Class Methods

#### AcquireTape (uint16)

#### Method Qualifiers (AcquireTape)

Name | Data Type | Value
--- | --- | ---
Description | string | AcquireTape initializes a transaction for a given tape and informs the provider that a sequence of actions will be performed on that tape. A transaction is defined as a sequence of actions on a tape, starting with AcquireTape and ending with ReleaseTape. A call to AcquireTape is required before any sequence of actions can be performed, actions that will result in an error if the tape activity is not 'Acquired'. These actions are: PositionTape, WriteMetaData, ReadMetaData, TapeSnapshot, SelectiveTapeCopy. GetTapeServicesActivity is the only call pertaining to a tape that doesn't require that tape to be 'Acquired'.For any given tape, additional calls to AcquireTape shall return an error unless ReleaseTape was called or if the AcquireTape timeout has expired.
Experimental | boolean | true
ValueMap | string | 0, 1, 2, 3, 4, 5, 6, .., 32768..65535
Values | string | Success, Not Supported, Unknown, Timeout, Failed, Invalid Parameter, Already Acquired, DMTF Reserved, Vendor Specific

#### Method Parameters (AcquireTape)

Name | Type | Qualifiers
--- | --- | ---
Name | Data Type | Value
timeout | datetime
Description | string | The time after which an inactive transaction will automatically end (equivalent to an implicit call to RealeaseTape. A value of 0 indicates that the default timeout specified in TapeCopyServiceCapabilities will be used.
IN | boolean | true
job | REF CIM_ConcreteJob
Description | string | returned reference to a job control object if AcquireTape is implemented asynchronously.
IN | boolean | false
OUT | boolean | true
targetTape | REF CIM_PhysicalTape
Description | string | A reference to the tape that needs to be acquired
IN | boolean | true

#### ReleaseTape (uint16)

#### Method Qualifiers (ReleaseTape)

Name | Data Type | Value
--- | --- | ---
Description | string | ReleaseTape marks the end of a transaction. At this point, the tape becomes available for use by other clients or for a new transaction. ReleaseTape shall fail if called on a tape whose activity is not 'Acquired'.
Experimental | boolean | true
ValueMap | string | 0, 1, 2, 3, 4, 5, 6, 7, .., 32768..65535
Values | string | Success, Not Supported, Unknown, Timeout, Failed, Invalid Parameter, Operation in Progress, Tape Not Acquired, DMTF Reserved, Vendor Specific

#### Method Parameters (ReleaseTape)

Name | Type | Qualifiers
--- | --- | ---
Name | Data Type | Value
job | REF CIM_ConcreteJob
Description | string | returned reference to a job control object if ReleaseTape is implemented asynchronously.
IN | boolean | false
OUT | boolean | true
targetTape | REF CIM_PhysicalTape
Description | string | The tape to be released.
IN | boolean | true

#### PositionTape (uint16)

#### Method Qualifiers (PositionTape)

Name | Data Type | Value
--- | --- | ---
Description | string | PositionTape positions a tape before data gets read or written by one of the following calls: ReadTapeMetaData, WriteTapeMetaData, TapeSnapshot, SelectiveTapeCopy. PositionTape uses relative positioning and can also be used to rewind the tape by passing 0 as a start position. PositionTape shall fail if called on a tape whose activity is not 'Acquired'.
Experimental | boolean | true
ValueMap | string | 0, 1, 2, 3, 4, 5, 6, .., 32768..65535
Values | string | Success, Not Supported, Unknown, Timeout, Failed, Invalid Parameter, Tape Not Acquired, DMTF Reserved, Vendor Specific

#### Method Parameters (PositionTape)

Name | Type | Qualifiers
--- | --- | ---
Name | Data Type | Value
start | sint64
Description | string | A number of elements of type start type. Relative positioning implie that negative values are acceptable. A zero value has a special meaning and will result in a full rewind of the tape.
IN | boolean | true
startType | uint16
Description | string | Type of positioning: filemark or block
IN | boolean | true
ValueMap | string | 1, 2, 3..65535
Values | string | filemark, block, Vendor Specific
job | REF CIM_ConcreteJob
Description | string | returned reference to a job control object if PositionTape is implemented asynchronously.
IN | boolean | false
OUT | boolean | true
targetTape | REF CIM_PhysicalTape
Description | string | The tape to be positioned
IN | boolean | true

#### WriteTapeMetaData (uint16)

#### Method Qualifiers (WriteTapeMetaData)

Name | Data Type | Value
--- | --- | ---
Description | string | WriteTapeMetaData writes meta data to tape at a the current tape position (specified by PositionTape). The size of the tape meta data size is limited to 1MB beyond which an error will be returned. WriteTapeMetaData shall fail if called on a tape whose activity is not 'Acquired'.
Experimental | boolean | true
ValueMap | string | 0, 1, 2, 3, 4, 5, 6, .., 32768..65535
Values | string | Success, Not Supported, Unknown, Timeout, Failed, Invalid Parameter, Tape Not Acquired, DMTF Reserved, Vendor Specific

#### Method Parameters (WriteTapeMetaData)

Name | Type | Qualifiers
--- | --- | ---
Name | Data Type | Value
metaData | string
Description | string | The meta data to be written to tape, passed as an embedded instance. See CIM_TapeMetaData.mof for details
EmbeddedInstance | string | CIM_TapeMetaData
IN | boolean | true
job | REF CIM_ConcreteJob
Description | string | returned reference to a job control object if WriteTapeMetaData is implemented asynchronously.
IN | boolean | false
OUT | boolean | true
targetTape | REF CIM_PhysicalTape
Description | string | The tape to write meta data to
IN | boolean | true

#### ReadTapeMetaData (uint16)

#### Method Qualifiers (ReadTapeMetaData)

Name | Data Type | Value
--- | --- | ---
Description | string | ReadTapeMetaData reads meta data from tape. The tape meta data size is limited to 1MB beyond which an error will be returned.The metaData parameter is a reference, which means that clients will have to retrieve the actual data from the provider through CIM access methods (i.e. GetInstance). The lifecycle of tape meta data on the provider is defined as follows: - A list of TapeMetaData instances will be maintained for every acquired tape. - The provider will delete a given TapeMetaData instance upon receiving a GetInstance call. - Upon receiving a ReleaseTape call, the provider will clear its list of TapeMetaData instances, thus ensuring proper memory management
Experimental | boolean | true
ValueMap | string | 0, 1, 2, 3, 4, 5, .., 32768..65535
Values | string | Success, Not Supported, Unknown, Timeout, Failed, Invalid Parameter, DMTF Reserved, Vendor Specific

#### Method Parameters (ReadTapeMetaData)

Name | Type | Qualifiers
--- | --- | ---
Name | Data Type | Value
size | uint32
Description | string | Number of elements of type 'sizeType' to be read
IN | boolean | true
sizeType | uint16
Description | string | Type of elements to read: filemark or block
IN | boolean | true
ValueMap | string | 1, 2, 3..65535
Values | string | filemark, block, Vendor Specific
job | REF CIM_ConcreteJob
Description | string | returned reference to a job control object if ReadTapeMetaData is implemented asynchronously.
IN | boolean | false
OUT | boolean | true
metaData | REF CIM_TapeMetaData
Description | string | A reference to the TapeMetaData object resulting from the read
IN | boolean | false
OUT | boolean | true
targetTape | REF CIM_PhysicalTape
Description | string | The tape to read meta data from
IN | boolean | true

#### TapeSnapshot (uint16)

#### Method Qualifiers (TapeSnapshot)

Name | Data Type | Value
--- | --- | ---
Description | string | TapeSnapshot triggers a snapshot copy. TapeSnapshot shall fail if called on a tape whose activity is not 'Acquired'
Experimental | boolean | true
ValueMap | string | 0, 1, 2, 3, 4, 5, 6, 7, .., 32768..65535
Values | string | Success, Not Supported, Unknown, Timeout, Failed, Invalid Parameter, Source Tape Not Acquired, Target Tape Not Acquired, DMTF Reserved, Vendor Specific

#### Method Parameters (TapeSnapshot)

Name | Type | Qualifiers
--- | --- | ---
Name | Data Type | Value
copyType | uint16
Description | string | Type of copy: simple snapshot or selective copy
IN | boolean | true
ValueMap | string | 1, 2, 3..65535
Values | string | SimpleSnapshot, SelectiveTapeCopy, Vendor Specific
job | REF CIM_ConcreteJob
Description | string | returned reference to a job control object if TapeSnapshot is implemented asynchronously.
IN | boolean | false
OUT | boolean | true
sourceTape | REF CIM_PhysicalTape
Description | string | Source tape.
IN | boolean | true
targetTape | REF CIM_PhysicalTape
Description | string | Target tape.
IN | boolean | true

#### SelectiveTapeCopy (uint16)

#### Method Qualifiers (SelectiveTapeCopy)

Name | Data Type | Value
--- | --- | ---
Description | string | SelectiveTapeCopy partially copies data. It allows a host system to copy all or part of a tape to another tape. SelectiveTapeCopy is to be used in conjunction with WriteTapeMetaData to add meta data to tape. SelectiveTapeCopy shall fail if called on a tape whose activity is not 'Acquired'
Experimental | boolean | true
ValueMap | string | 0, 1, 2, 3, 4, 5, 6, 7, .., 32768..65535
Values | string | Success, Not Supported, Unknown, Timeout, Failed, Invalid Parameter, Source Tape Not Acquired, Target Tape Not Acquired, DMTF Reserved, Vendor Specific

#### Method Parameters (SelectiveTapeCopy)

Name | Type | Qualifiers
--- | --- | ---
Name | Data Type | Value
copyType | uint16
Description | string | Type of copy: simple snapshot or selective copy
IN | boolean | true
ValueMap | string | 1, 2, 3..65535
Values | string | SimpleSnapshot, SelectiveTapeCopy, Vendor Specific
size | uint32
Description | string | Number of elements of type 'sizeType' to be copied
IN | boolean | true
sizeType | uint16
Description | string | Type of elements to copy: filemark or block
IN | boolean | true
ValueMap | string | 1, 2, 3..65535
Values | string | filemark, block, Vendor Specific
job | REF CIM_ConcreteJob
Description | string | returned reference to a job control object if SelectiveTapeCopy is implemented asynchronously.
IN | boolean | false
OUT | boolean | true
sourceTape | REF CIM_PhysicalTape
Description | string | Source tape.
IN | boolean | true
targetTape | REF CIM_PhysicalTape
Description | string | Target tape.
IN | boolean | true

#### GetTapeServicesActivity (uint16)

#### Method Qualifiers (GetTapeServicesActivity)

Name | Data Type | Value
--- | --- | ---
Description | string | GetTapeCopyServices indicates what copy-related actions is currently performed on a given tape. GetTapeCopyServices shall be implemented synchronously. Concurrent clients can use this call to check whether copy operations are in progress. tape activity is returned by way of an OUT parameter, defined as an enumeration of the following values: - Idle: the target is not currently acquired. - Acquired: the target tape is currently acquired and no operation is currently being performed. - Writing: the target tape is acquired and tape meta data is being written. - Reading: the target tape is acquired and tape meta data is being read. - Positioning: the target tape is acquired and being positioned. - SnapshotCopy: the target tape is acquired and is the source or target tape of a snapshot copy. - SelectiveCopy: the target tape is acquired and is the source or target tape of a selective copy.
Experimental | boolean | true
ValueMap | string | 0, 1, 2, 3, 4, 5, .., 32768..65535
Values | string | Success, Not Supported, Unknown, Timeout, Failed, Invalid Parameter, DMTF Reserved, Vendor Specific

#### Method Parameters (GetTapeServicesActivity)

Name | Type | Qualifiers
--- | --- | ---
Name | Data Type | Value
activity | uint16
Description | string | Current tape activity returned
IN | boolean | false
OUT | boolean | true
ValueMap | string | 0, 1, 2, 3, 4, 5, 6, 7..65535
Values | string | Idle, Acquired, Writing, Reading, Positioning, SnapshotCopy, SelectiveCopy, DMTF Reserved
targetTape | REF CIM_PhysicalTape
Description | string | Target tape.
IN | boolean | true

### Inherited Class Methods

Name | Return Type | Class Origin
--- | --- | ---
ChangeAffectedElementsAssignedSequence | uint32 | CIM_Service
RequestStateChange | uint32 | CIM_EnabledLogicalElement
StartService | uint32 | CIM_Service
StopService | uint32 | CIM_Service