ecTopology
The ecTopology
data type describes the ecTopologies
resource.
ecTopology data type properties
The following table describes the properties included in the ecTopology
data type.
Property name | Data type | Description | Notes |
description | String |
Specifies the description of the erasure coding topology. This description is optional. The default is no description. To remove the description from an existing erasure coding topology, specify the description property with no value. | This property is optional on a PUT request. |
erasureCodedObjects | Long | Specifies the number of objects and parts of multipart objects on the local HCP system that were erasure coded according to this erasure coding topology. An object is counted as erasure coded if a chunk for it is stored on the system. | This property is not valid on a PUT or POST request. It is returned only by a verbose GET request. |
erasureCodingDelay | Integer | Specifies the erasure coding delay for the erasure coding topology as a number of days. Valid values are integers in the range zero through 3,650. The default is zero. | This property is optional on a PUT request. |
fullCopy | Boolean |
Specifies whether the erasure coding topology uses full-copy distribution or chunk distribution. Valid values are:
The default is false. | This property is optional on a PUT request. |
hcpSystems | List | Lists the HCP systems that are included in the erasure coding topology. Each system is identified by the fully qualified name of the domain associated with the [[hcp_system]] network on that system. |
This property is not valid on a PUT or POST request. In XML, the element that identifies each system is name. In JSON, the name in the name/value pair that lists the systems is name. |
id | String | Specifies the ID for the erasure coding topology. | This property is not valid on a PUT or POST request. It is returned only by a verbose GET request. |
minimumObjectSize | Long |
Specifies the minimum size for objects to be erasure coded. Valid values are:
The default is 4096. | This property is optional on a PUT request. |
name | String | Specifies the name of the erasure coding topology. The name must be from one through 64 characters long and can contain any valid UTF-8 characters, including white space. Erasure coding topology names are not case sensitive. | This property is required on a PUT request. |
protectionStatus | String |
Specifies the current status of the erasure coding topology with respect to how well-protected erasure-coded objects are. Possible values are:
| This property is not valid on a PUT or POST request. |
readStatus | String |
Specifies the current status of the erasure coding topology with respect to the ability to read erasure-coded objects. Possible values are:
| This property is not valid on a PUT or POST request. |
replicationLinks | replication Links |
Specifies the replication links included in the erasure coding topology. |
This property is required on a PUT request. It is not valid on a POST request. The properties returned for each replication link in response to a GET request for an erasure coding topology depend on whether the request includes the verbose=true query parameter. |
restorePeriod | Integer | Specifies the restore period for the erasure coding topology as a number of days. Valid values are integers in the range zero through 180. The default is zero | This property is optional on a PUT request. |
state | String |
Specifies the state of the erasure coding topology. Possible values are:
| This property is not valid on a PUT or POST request. |
tenants | List | Lists the tenants included in the erasure coding topology. |
This property is not valid on a PUT or POST request. In XML, the element that identifies each tenant is name. In JSON, the name in the name/value pair that lists the tenants is name. |
type | String |
Specifies the type of the underlying replication topology. Valid values for an erasure coding topology with four, five, or six systems are:
For an erasure coding topology with three systems, the value of this property must be These values are not case-sensitive. | This property is required on a PUT request. It is not valid on a POST request. |
Example
Here's an XML example of the ecTopology
data type; the properties shown are those that are returned in response to a verbose GET request:
<ecTopology> <description>Erasure coding topology for the US, Europe, Canada, and Africa-North divisions.</description> <erasureCodedObjects>3289</erasureCodedObjects> <erasureCodingDelay>10</erasureCodingDelay> <fullCopy>false</fullCopy> <hcpSystems> <name>hcp-an.example.com</name> <name>hcp-ca.example.com</name> <name>hcp-eu.example.com</name> <name>hcp-us.example.com</name> </hcpSystems> <id>faa9b2e5-a8b0-4211-ac83-6a25dff50800</id> <minimumObjectSize>4096</minimumObjectSize> <name>ex-corp-4</name> <protectionStatus>HEALTHY</protectionStatus> <readStatus>HEALTHY</readStatus> <replicationLinks> <replicationLink> <hcpSystems> <name>hcp-ca.example.com</name> <name>hcp-eu.example.com</name> </hcpSystems> <name>eu-ca</name> <pausedTenantsCount>0</pausedTenantsCount> <state>HEALTHY</state> <uuid>7ae4101c-6e29-426e-ae71-9a7a529f019d</uuid> </replicationLink> <replicationLink> <hcpSystems> <name>hcp-eu.example.com</name> <name>hcp-us.example.com</name> </hcpSystems> <name>us-eu</name> <pausedTenantsCount>0</pausedTenantsCount> <state>HEALTHY</state> <uuid>32871da5-2355-458a-90f5-1717aa684d6f</uuid> </replicationLink> <replicationLink> <hcpSystems> <name>hcp-an.example.com</name> <name>hcp-us.example.com</name> </hcpSystems> <name>us-an</name> <pausedTenantsCount>0</pausedTenantsCount> <state>HEALTHY</state> <uuid>c8c875ad-dbfe-437d-abd3-862a6c719894</uuid> </replicationLink> <replicationLink> <hcpSystems> <name>hcp-an.example.com</name> <name>hcp-ca.example.com</name> </hcpSystems> <name>ca-an</name> <pausedTenantsCount>0</pausedTenantsCount> <state>HEALTHY</state> <uuid>a1f21e03-fb46-48cc-967e-b0cedf80bb20</uuid> </replicationLink> </replicationLinks> <restorePeriod>5</restorePeriod> <state>ACTIVE</state> <tenants> <name>research-dev</name> <name>sales-mktg</name> <name>exec</name> <name>finance</name> </tenants> <type>RING</type> </ecTopology>
Query parameter for retiring an erasure coding topology
You use the retire query parameter to retire an erasure coding topology. You use this parameter on a POST request against the topology resource. You cannot include a request body with this request.
Here's a sample POST request that retires the erasure coding topology named ex-corp-3.
curl -k -d "<ecTopology/>" -H "Authorization: HCP bGdyZWVu:35dc4c4aa08fe0deab7e292e00eb8e97" "https://admin.hcp-us.example.com:9090/mapi/services/erasureCoding/ ecTopologies/ex-corp-3?retire"
Query parameter for forcing the deletion of an erasure coding topology
You can delete an erasure coding topology only while either of these is true:
- At least one system in the topology is available, the total number of erasure-coded objects and erasure-coded parts of multipart objects on each available system is zero, and the state of the topology is retired. These are the normal conditions for deleting a topology.
- No more than one system in the topology is unavailable, the total number of erasure-coded objects and erasure-coded parts of multipart objects on each available system is zero, and the state of the topology is retiring. To delete the topology under these conditions, you need to include the force=true query parameter on the DELETE request.
Here's a sample DELETE request that deletes the erasure coding topology named ex-corp-3 while the topology meets the second set of conditions listed above:
curl -k -X DELETE -H "Authorization: HCP bGdyZWVu:35dc4c4aa08fe0deab7e292e00eb8e97" "https://admin.hcp-us.example.com:9090/mapi/services/erasureCoding/ ecTopologies/ex-corp-3?force=true"