@@ -137,6 +137,22 @@ def to_xml(self):
137137 return xml_part_list
138138
139139
140+ class IdsList(object):
141+ def __init__(self, id_list):
142+ for cur_id in id_list:
143+ if not isinstance(cur_id, str):
144+ raise TypeError("Ids should only contain strings")
145+ self.id_list = id_list
146+
147+ def to_xml(self):
148+ xml_id_list = xmldom.Element('Ids')
149+ for cur_id in self.id_list:
150+ xml_cur_id = xmldom.Element('Id')
151+ xml_cur_id.text = cur_id
152+ xml_id_list.append(xml_cur_id)
153+ return xml_id_list
154+
155+
140156# Type Descriptors
141157
142158
@@ -3461,8 +3477,15 @@ def __init__(self, s3_data_replication_rule, initial_data_placement=None, max_bl
34613477
34623478class ClearSuspectBlobAzureTargetsSpectraS3Request(AbstractRequest):
34633479
3464- def __init__(self, force=None):
3480+ def __init__(self, id_list, force=None):
34653481 super(ClearSuspectBlobAzureTargetsSpectraS3Request, self).__init__()
3482+ if id_list is not None:
3483+ if not (isinstance(cur_id, str) for cur_id in id_list):
3484+ raise TypeError(
3485+ 'ClearSuspectBlobAzureTargetsSpectraS3Request should have request payload of type: list of strings')
3486+ xml_id_list = IdsList(id_list)
3487+ self.body = xmldom.tostring(xml_id_list.to_xml())
3488+
34663489 if force is not None:
34673490 self.query_params['force'] = force
34683491 self.path = '/_rest_/suspect_blob_azure_target'
@@ -3471,8 +3494,15 @@ def __init__(self, force=None):
34713494
34723495class ClearSuspectBlobDs3TargetsSpectraS3Request(AbstractRequest):
34733496
3474- def __init__(self, force=None):
3497+ def __init__(self, id_list, force=None):
34753498 super(ClearSuspectBlobDs3TargetsSpectraS3Request, self).__init__()
3499+ if id_list is not None:
3500+ if not (isinstance(cur_id, str) for cur_id in id_list):
3501+ raise TypeError(
3502+ 'ClearSuspectBlobDs3TargetsSpectraS3Request should have request payload of type: list of strings')
3503+ xml_id_list = IdsList(id_list)
3504+ self.body = xmldom.tostring(xml_id_list.to_xml())
3505+
34763506 if force is not None:
34773507 self.query_params['force'] = force
34783508 self.path = '/_rest_/suspect_blob_ds3_target'
@@ -3481,8 +3511,15 @@ def __init__(self, force=None):
34813511
34823512class ClearSuspectBlobPoolsSpectraS3Request(AbstractRequest):
34833513
3484- def __init__(self, force=None):
3514+ def __init__(self, id_list, force=None):
34853515 super(ClearSuspectBlobPoolsSpectraS3Request, self).__init__()
3516+ if id_list is not None:
3517+ if not (isinstance(cur_id, str) for cur_id in id_list):
3518+ raise TypeError(
3519+ 'ClearSuspectBlobPoolsSpectraS3Request should have request payload of type: list of strings')
3520+ xml_id_list = IdsList(id_list)
3521+ self.body = xmldom.tostring(xml_id_list.to_xml())
3522+
34863523 if force is not None:
34873524 self.query_params['force'] = force
34883525 self.path = '/_rest_/suspect_blob_pool'
@@ -3491,8 +3528,15 @@ def __init__(self, force=None):
34913528
34923529class ClearSuspectBlobS3TargetsSpectraS3Request(AbstractRequest):
34933530
3494- def __init__(self, force=None):
3531+ def __init__(self, id_list, force=None):
34953532 super(ClearSuspectBlobS3TargetsSpectraS3Request, self).__init__()
3533+ if id_list is not None:
3534+ if not (isinstance(cur_id, str) for cur_id in id_list):
3535+ raise TypeError(
3536+ 'ClearSuspectBlobS3TargetsSpectraS3Request should have request payload of type: list of strings')
3537+ xml_id_list = IdsList(id_list)
3538+ self.body = xmldom.tostring(xml_id_list.to_xml())
3539+
34963540 if force is not None:
34973541 self.query_params['force'] = force
34983542 self.path = '/_rest_/suspect_blob_s3_target'
@@ -3501,8 +3545,15 @@ def __init__(self, force=None):
35013545
35023546class ClearSuspectBlobTapesSpectraS3Request(AbstractRequest):
35033547
3504- def __init__(self, force=None):
3548+ def __init__(self, id_list, force=None):
35053549 super(ClearSuspectBlobTapesSpectraS3Request, self).__init__()
3550+ if id_list is not None:
3551+ if not (isinstance(cur_id, str) for cur_id in id_list):
3552+ raise TypeError(
3553+ 'ClearSuspectBlobTapesSpectraS3Request should have request payload of type: list of strings')
3554+ xml_id_list = IdsList(id_list)
3555+ self.body = xmldom.tostring(xml_id_list.to_xml())
3556+
35063557 if force is not None:
35073558 self.query_params['force'] = force
35083559 self.path = '/_rest_/suspect_blob_tape'
@@ -3808,8 +3859,15 @@ def __init__(self, bucket_id=None, storage_domain_id=None):
38083859
38093860class MarkSuspectBlobAzureTargetsAsDegradedSpectraS3Request(AbstractRequest):
38103861
3811- def __init__(self, force=None):
3862+ def __init__(self, id_list, force=None):
38123863 super(MarkSuspectBlobAzureTargetsAsDegradedSpectraS3Request, self).__init__()
3864+ if id_list is not None:
3865+ if not (isinstance(cur_id, str) for cur_id in id_list):
3866+ raise TypeError(
3867+ 'MarkSuspectBlobAzureTargetsAsDegradedSpectraS3Request should have request payload of type: list of strings')
3868+ xml_id_list = IdsList(id_list)
3869+ self.body = xmldom.tostring(xml_id_list.to_xml())
3870+
38133871 if force is not None:
38143872 self.query_params['force'] = force
38153873 self.path = '/_rest_/suspect_blob_azure_target'
@@ -3818,8 +3876,15 @@ def __init__(self, force=None):
38183876
38193877class MarkSuspectBlobDs3TargetsAsDegradedSpectraS3Request(AbstractRequest):
38203878
3821- def __init__(self, force=None):
3879+ def __init__(self, id_list, force=None):
38223880 super(MarkSuspectBlobDs3TargetsAsDegradedSpectraS3Request, self).__init__()
3881+ if id_list is not None:
3882+ if not (isinstance(cur_id, str) for cur_id in id_list):
3883+ raise TypeError(
3884+ 'MarkSuspectBlobDs3TargetsAsDegradedSpectraS3Request should have request payload of type: list of strings')
3885+ xml_id_list = IdsList(id_list)
3886+ self.body = xmldom.tostring(xml_id_list.to_xml())
3887+
38233888 if force is not None:
38243889 self.query_params['force'] = force
38253890 self.path = '/_rest_/suspect_blob_ds3_target'
@@ -3828,8 +3893,15 @@ def __init__(self, force=None):
38283893
38293894class MarkSuspectBlobPoolsAsDegradedSpectraS3Request(AbstractRequest):
38303895
3831- def __init__(self, force=None):
3896+ def __init__(self, id_list, force=None):
38323897 super(MarkSuspectBlobPoolsAsDegradedSpectraS3Request, self).__init__()
3898+ if id_list is not None:
3899+ if not (isinstance(cur_id, str) for cur_id in id_list):
3900+ raise TypeError(
3901+ 'MarkSuspectBlobPoolsAsDegradedSpectraS3Request should have request payload of type: list of strings')
3902+ xml_id_list = IdsList(id_list)
3903+ self.body = xmldom.tostring(xml_id_list.to_xml())
3904+
38333905 if force is not None:
38343906 self.query_params['force'] = force
38353907 self.path = '/_rest_/suspect_blob_pool'
@@ -3838,8 +3910,15 @@ def __init__(self, force=None):
38383910
38393911class MarkSuspectBlobS3TargetsAsDegradedSpectraS3Request(AbstractRequest):
38403912
3841- def __init__(self, force=None):
3913+ def __init__(self, id_list, force=None):
38423914 super(MarkSuspectBlobS3TargetsAsDegradedSpectraS3Request, self).__init__()
3915+ if id_list is not None:
3916+ if not (isinstance(cur_id, str) for cur_id in id_list):
3917+ raise TypeError(
3918+ 'MarkSuspectBlobS3TargetsAsDegradedSpectraS3Request should have request payload of type: list of strings')
3919+ xml_id_list = IdsList(id_list)
3920+ self.body = xmldom.tostring(xml_id_list.to_xml())
3921+
38433922 if force is not None:
38443923 self.query_params['force'] = force
38453924 self.path = '/_rest_/suspect_blob_s3_target'
@@ -3848,8 +3927,15 @@ def __init__(self, force=None):
38483927
38493928class MarkSuspectBlobTapesAsDegradedSpectraS3Request(AbstractRequest):
38503929
3851- def __init__(self, force=None):
3930+ def __init__(self, id_list, force=None):
38523931 super(MarkSuspectBlobTapesAsDegradedSpectraS3Request, self).__init__()
3932+ if id_list is not None:
3933+ if not (isinstance(cur_id, str) for cur_id in id_list):
3934+ raise TypeError(
3935+ 'MarkSuspectBlobTapesAsDegradedSpectraS3Request should have request payload of type: list of strings')
3936+ xml_id_list = IdsList(id_list)
3937+ self.body = xmldom.tostring(xml_id_list.to_xml())
3938+
38533939 if force is not None:
38543940 self.query_params['force'] = force
38553941 self.path = '/_rest_/suspect_blob_tape'
0 commit comments