SDRS API¶
The Storage Disaster Recovery Service Class¶
The SDRS high-level interface is available through the sdrs
member of a
Connection
object. The sdrs
member will
only be added if the otcextensions.sdk.register_otc_extensions(conn)
method is called.
Job Operations¶
-
class
otcextensions.sdk.sdrs.v1._proxy.
Proxy
(session, statsd_client=None, statsd_prefix=None, prometheus_counter=None, prometheus_histogram=None, influxdb_config=None, influxdb_client=None, *args, **kwargs) -
get_job
(job) Get single SDRS job by UUID.
- Parameters
job – The id or and instance of :class:’~otcextensions.sdk.sdrs.v1.job.Job’
- Returns
instance of :class: ‘~class:’otcextensions.sdk.sdrs.v1.job.Job’
-
Active-active domains Operations¶
-
class
otcextensions.sdk.sdrs.v1._proxy.
Proxy
(session, statsd_client=None, statsd_prefix=None, prometheus_counter=None, prometheus_histogram=None, influxdb_config=None, influxdb_client=None, *args, **kwargs) -
get_domains
() Retrieve a generator of Active-active domains
- Returns
A generator of active-active domains :class: ‘~otcextensions.sdk.sdrs.v1.active_domains.ActiveDomain’
-
Protection group Operations¶
-
class
otcextensions.sdk.sdrs.v1._proxy.
Proxy
(session, statsd_client=None, statsd_prefix=None, prometheus_counter=None, prometheus_histogram=None, influxdb_config=None, influxdb_client=None, *args, **kwargs) -
create_protection_group
(**attrs) Creating a SDRS protection group using attributes
- Parameters
attrs (dict) – Keyword arguments which will be used to create a
ProtectionGroup
, comprised of the properties on the ProtectionGroup class.- Returns
The results of config creation
- Return type
ProtectionGroup
-
protection_groups
(**query) Retrieve a generator of Protection groups
- Parameters
query (dict) – Optional query parameters to be sent to limit the resources being returned. * ‘availability_zone’: Production site AZ * limit: Number of records displayed per page * marker: ID of the last record displayed * name: Protection group name * offset: Offset value * ‘query_type’: Query type of protection group * status: Status
- Returns
A generator of protection groups :class: ~otcextensions.sdk.sdrs.v1.protection_group.ProtectionGroup instances
-
get_protection_group
(protection_group) Get the protection group by UUID.
- Parameters
protection_group – key id or an instance of :class: ~otcextensions.sdk.sdrs.v1.protection_group.ProtectionGroup
- Returns
instance of :class: ~otcextensions.sdk.sdrs.v1.protection_group.ProtectionGroup
-
delete_protection_group
(protection_group, ignore_missing=True) Delete a single SDRS protection group.
- Parameters
protection_group – The value can be the ID of a protection_group or a :class: ~otcextensions.sdk.sdrs.v1.protection_group.ProtectionGroup instance.
ignore_missing (bool) – When set to
False
:class: ~otcextensions.sdk.sdrs.v1.protection_group.ProtectionGroup will be raised when the group does not exist. When set toTrue
, no exception will be set when attempting to delete a nonexistent protection group.
-
find_protection_group
(name_or_id, ignore_missing=True) Find a single SDRS protection group by name or id
- Parameters
name_or_id – The name or ID of a protection group
ignore_missing (bool) – When set to
False
ResourceNotFound
will be raised when the group does not exist. When set toTrue
, no exception will be set when attempting to find a nonexistent protection group.
- Returns
a :class: ~otcextensions.sdk.sdrs.v1.protection_group.ProtectionGroup
-
update_protection_group
(protection_group, name) Update SDRS protection group name
- Parameters
protection_group – The value can be the ID of a protection group or a :class: ~otcextensions.sdk.sdrs.v1.protection_group.ProtectionGroup instance.
name (str) – name to be updated for protection group
- Returns
a :class: ~otcextensions.sdk.sdrs.v1.protection_group.ProtectionGroup
-
enable_protection
(protection_group) Enable protection for existing protection group
- Parameters
protection_group – The value can be the ID of a protection group or a :class: ~otcextensions.sdk.sdrs.v1.protection_group.ProtectionGroup instance.
- Returns
The result is the job id of an action
-
disable_protection
(protection_group) Disable protection for existing protection group
- Parameters
protection_group – The value can be the ID of a protection group or a :class: ~otcextensions.sdk.sdrs.v1.protection_group.ProtectionGroup instance.
- Returns
The result is the job id of an action
-
perform_failover
(protection_group) Perform failover for protection group
- Parameters
protection_group – The value can be the ID of a protection group or a :class: ~otcextensions.sdk.sdrs.v1.protection_group.ProtectionGroup instance.
- Returns
The result is the job id of an action
-
perform_planned_failover
(protection_group, priority_station='target') Perform failover for protection group
- Parameters
protection_group – The value can be the ID of a protection group or a :class: ~otcextensions.sdk.sdrs.v1.protection_group.ProtectionGroup instance.
priority_station – direction of planned failover Values: ‘target’ or ‘source’
- Returns
The result is the job id of an action
-
Protected instance Operations¶
-
class
otcextensions.sdk.sdrs.v1._proxy.
Proxy
(session, statsd_client=None, statsd_prefix=None, prometheus_counter=None, prometheus_histogram=None, influxdb_config=None, influxdb_client=None, *args, **kwargs) -
create_protected_instance
(**attrs) Creating a protected instance using attributes
- Parameters
attrs (dict) – Keyword arguments which will be used to create a
ProtectedInstance
, comprised of the properties on the Protected instance class.- Returns
The results of config creation
- Return type
:class ~otcextensions.sdk.sdrs.v1.protected_instance. ProtectedInstance
-
delete_protected_instance
(protected_instance, delete_target_server=False, delete_target_eip=False, ignore_missing=True) Delete a single SDRS protected instance.
- Parameters
protected_instance – The value can be the ID of a protected instance or a :class: ~otcextensions.sdk.sdrs.v1.protected_instance.ProtectedInstance instance.
delete_target_server (bool) – Specifies whether target ECS should be deleted after protection group deletion
delete_target_eip (bool) – Specifies whether target EIP should be deleted after protection group deletion
ignore_missing (bool) – When set to
False
ResourceNotFound
will be raised when the group does not exist. When set toTrue
, no exception will be set when attempting to delete a nonexistent protected instance
- Returns
instance of :class: ~otcextensions.sdk.sdrs.v1.protected_instance.ProtectedInstance
-
protected_instances
(**query) Retrieve a generator of Protected instances
- Parameters
query (dict) – Optional query parameters to be sent to limit the resources being returned. * ‘availability_zone’: Production site AZ * limit: Number of records displayed per page * marker: ID of the last record displayed * name: Protection group name * offset: Offset value * ‘protected_instance_ids’: Protected instance ID list * ‘query_type’: Query type of protected instance * ‘server_group_id’: Protection group ID * ‘server_group_ids’: Protection groups ID list * status: Status
- Returns
A generator of protected instances :class: ~otcextensions.sdk.sdrs.v1.protected_instance.ProtectedInstance instances
-
get_protected_instance
(instance_id) Get the SDRS protected instance by UUID.
- Parameters
instance_id – key id or an instance of :class: ~otcextensions.sdk.sdrs.v1.protected_instance.ProtectedInstance
- Returns
instance of :class: ~otcextensions.sdk.sdrs.v1.protected_instance.ProtectedInstance
-
update_protected_instance
(instance_id, name) Update SDRS protected instance name
- Parameters
instance_id – The value can be the ID of a protected instance or a
ProtectedInstance
instance.name (str) – name to be updated for protected instance
- Returns
ProtectedInstance`
-
find_protected_instance
(name_or_id, ignore_missing=True) Find a single SDRS protected instance by name or id
- Parameters
name_or_id – The name or ID of a protected instance
ignore_missing (bool) – When set to
False
ResourceNotFound
will be raised when the instance does not exist. When set toTrue
, no exception will be set when attempting to find a nonexistent protected instance.
- Returns
Protected instance
- Return type
ProtectedInstance
-
attach_replication_pair
(protected_instance, replication, device='/dev/vdb') Attach replication pair to protected instance
- Parameters
protected_instance – The value can be the ID of a protected instance or :class: ~otcextensions.sdk.sdrs.v1.protected_instance.ProtectedInstance
replication – The value can be the ID of a replication pair or :class: ~otcextensions.sdk.sdrs.v1.replication_pair.ReplicationPair
device – Disk device name of replication pair
-
detach_replication_pair
(protected_instance, replication) Detach replication pair from protected instance
- Parameters
protected_instance – The value can be the ID of a protected instance or a :class: ~otcextensions.sdk.sdrs.v1.protected_instance.ProtectedInstance
replication – The value can be the ID of a replication pair or :class: ~otcextensions.sdk.sdrs.v1.replication_pair.ReplicationPair
-
add_nic
(protected_instance, subnet_id, security_groups=None, ip_address=None) Add NIC to a protected instance
- Parameters
protected_instance – The value can be the ID of a protected instance or :class: ~otcextensions.sdk.sdrs.v1.protected_instance.ProtectedInstance
subnet_id (str) – Subnet ID of the NIC to be added
security_groups (list) – list of security groups to be added for NIC in format ‘id’: ‘value’
ip_address (str) – IP address of NIC
-
delete_nic
(protected_instance, nic_id) Delete NIC from a protected instance
- Parameters
protected_instance – The value can be the ID of a protected instance or a :class: ~otcextensions.sdk.sdrs.v1.protected_instance.ProtectedInstance
nic_id (str) – ID of a Network interface card to be deleted
-
modify_protected_instance
(protected_instance, flavor=None, production_flavor=None, dr_flavor=None) Modify server(s) flavor of protected instance
- Parameters
protected_instance – The value can be the ID of a protected instance or a :class: ~otcextensions.sdk.sdrs.v1.protected_instance.ProtectedInstance
flavor (str) – flavor ID for both production and DR sites
production_flavor (str) – flavor ID for production site If ‘flavor’ is specified this parameter doesn’t take effect
dr_flavor (str) – flavor ID for DR site If ‘flavor’ is specified this parameter doesn’t take effect
-
Replication pair Operations¶
-
class
otcextensions.sdk.sdrs.v1._proxy.
Proxy
(session, statsd_client=None, statsd_prefix=None, prometheus_counter=None, prometheus_histogram=None, influxdb_config=None, influxdb_client=None, *args, **kwargs) -
create_replication_pair
(**attrs) Create a replication pair using attributes
- Parameters
attrs (dict) – Keyword arguments which will be used to create a
ReplicationPair
, comprised of the properties on the Replication Pair class.- Returns
The results of config creation
- Return type
ReplicationPair
-
delete_replication_pair
(replication, server_group_id=None, delete_target_volume=False, ignore_missing=True) Delete a single SDRS replication pair
- Parameters
replication – The value can be the ID of a replication pair or a :class: ~otcextensions.sdk.sdrs.v1.replication_pair.ReplicationPair instance.
server_group_id (bool) – Protection group ID of replication pair
delete_target_volume (bool) – Specifies whether DR site volume should be deleted after replication pair deletion
ignore_missing (bool) – When set to
False
ResourceNotFound
will be raised when the group does not exist. When set toTrue
, no exception will be set when attempting to delete a nonexistent protected instance
- Returns
instance of :class: ~otcextensions.sdk.sdrs.v1.replication_pair.ReplicationPair
-
replication_pairs
(**query) Retrieve a generator of Replication pairs
- Parameters
query (dict) – Optional query parameters to be sent to limit the resources being returned. * ‘availability_zone’: Production site AZ * limit: Number of records displayed per page * marker: ID of the last record displayed * name: Replication pair name * offset: Offset value * ‘protected_instance_id’: Protected instance ID * ‘protected_instance_ids’: Protected instances ID list * ‘query_type’: Query type of replication pair Values: status_abnormal, general * ‘server_group_id’: Protection group ID * ‘server_group_ids’: Protection groups ID list * status: Status
- Returns
A generator of replication pairs :class: ~otcextensions.sdk.sdrs.v1.replication_pair.ReplicationPair instances
-
get_replication_pair
(replication) Get the SDRS replication pair by UUID.
- Parameters
replication – key id or an instance of :class: ~otcextensions.sdk.sdrs.v1.replication_pair.ReplicationPair
- Returns
instance of :class: ~otcextensions.sdk.sdrs.v1.replication_pair.ReplicationPair
-
find_replication_pair
(name_or_id, ignore_missing=True) Find a single SDRS replication pair by name or id
- Parameters
name_or_id – The name or ID of a replication pair
ignore_missing (bool) – When set to
False
ResourceNotFound
will be raised when the pair does not exist. When set toTrue
, no exception will be set when attempting to find a nonexistent replication pair
- Returns
a :class: ~otcextensions.sdk.sdrs.v1.replication_pair.ReplicationPair
-
expand_replication_pair
(replication, new_size) Expand replication pair
- Parameters
replication – The value can be the ID of a replication pair or a :class: ~otcextensions.sdk.sdrs.v1.replication_pair.ReplicationPair
new_size (int) – Replication pair new size
-
update_replication_pair
(replication, name) Update SDRS replication pair name
- Parameters
replication – The value can be the ID of a replication pair or a
ReplicationPair
instance.name (str) – name to be updated for replication pair
- Returns
Replication pair instance
- Return type
ReplicationPair
-
Disaster Recovery drill Operations¶
-
class
otcextensions.sdk.sdrs.v1._proxy.
Proxy
(session, statsd_client=None, statsd_prefix=None, prometheus_counter=None, prometheus_histogram=None, influxdb_config=None, influxdb_client=None, *args, **kwargs) -
create_dr_drill
(**attrs) Creating a disaster recovery drill using attributes
-
delete_dr_drill
(dr_drill, ignore_missing=True) Delete a single SDRS DR drill
-
dr_drills
(**query) Retrieve a generator of DR drills
- Parameters
query (dict) – Optional query parameters to be sent to limit the resources being returned. * ‘drill_vpc_id’: VPC ID used for DR drill * limit: Number of records displayed per page * marker: ID of the last record displayed * name: DR drill name * offset: Offset value * ‘server_group_id’: Protection group ID * status: Status
- Returns
A generator of dr drills
DRDrill
instances
-
get_dr_drill
(dr_drill) Get the SDRS DR drill by UUID.
-
find_dr_drill
(name_or_id, ignore_missing=True) Find a single SDRS DR drill by name or id
- Parameters
name_or_id – The name or ID of a DR drill
ignore_missing (bool) – When set to
False
ResourceNotFound
will be raised when the pair does not exist. When set toTrue
, no exception will be set when attempting to find a nonexistent DR drill
- Returns
a
DRDrill
-
Task Center Operations¶
-
class
otcextensions.sdk.sdrs.v1._proxy.
Proxy
(session, statsd_client=None, statsd_prefix=None, prometheus_counter=None, prometheus_histogram=None, influxdb_config=None, influxdb_client=None, *args, **kwargs) -
failed_tasks
(**query) Retrieve a generator of Failed tasks
- Parameters
query (dict) – Optional query parameters to be sent to limit the resources being returned. * ‘failure_status’: query the task failure status * limit: Number of records displayed per page * marker: ID of the last record displayed * offset: Offset value * ‘resource_name’: protection group name * resource_type: type of the resource * server_group_id: protection group ID
- Returns
A generator of failed tasks
FailedTask
instances
-
delete_failed_task
(failed_job_id, ignore_missing=True) Delete a single Failed task
- Parameters
failed_job_id – The value can be the ID of a failed task or a
FailedTask
instance.ignore_missing (bool) – When set to
False
FailedTask
will be raised when the dr_drill does not exist. When set toTrue
, no exception will be set when attempting to delete a nonexistent Failed task
-
delete_all_failed_tasks
() Delete all failed tasks of all protection groups
-
delete_protection_group_tasks
(protection_group) Delete all failed tasks of a single protection group
- Parameters
protection_group – The value can be the ID of a protection group or a :class: ~otcextensions.sdk.sdrs.v1.protection_group.ProtectionGroup instance.
-
Quota Operations¶
-
class
otcextensions.sdk.sdrs.v1._proxy.
Proxy
(session, statsd_client=None, statsd_prefix=None, prometheus_counter=None, prometheus_histogram=None, influxdb_config=None, influxdb_client=None, *args, **kwargs) -
quotas
() Retrieve a generator of SDRS quotas
- Returns
A generator of resource quotas
Quota
instances
-