@@ -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, basestring):
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
@@ -3463,8 +3479,15 @@ def __init__(self, s3_data_replication_rule, initial_data_placement=None, max_bl
34633479
34643480class ClearSuspectBlobAzureTargetsSpectraS3Request(AbstractRequest):
34653481
3466- def __init__(self, force=None):
3482+ def __init__(self, id_list, force=None):
34673483 super(ClearSuspectBlobAzureTargetsSpectraS3Request, self).__init__()
3484+ if id_list is not None:
3485+ if not (isinstance(cur_id, basestring) for cur_id in id_list):
3486+ raise TypeError(
3487+ 'ClearSuspectBlobAzureTargetsSpectraS3Request should have request payload of type: list of strings')
3488+ xml_id_list = IdsList(id_list)
3489+ self.body = xmldom.tostring(xml_id_list.to_xml())
3490+
34683491 if force is not None:
34693492 self.query_params['force'] = force
34703493 self.path = '/_rest_/suspect_blob_azure_target'
@@ -3473,8 +3496,15 @@ def __init__(self, force=None):
34733496
34743497class ClearSuspectBlobDs3TargetsSpectraS3Request(AbstractRequest):
34753498
3476- def __init__(self, force=None):
3499+ def __init__(self, id_list, force=None):
34773500 super(ClearSuspectBlobDs3TargetsSpectraS3Request, self).__init__()
3501+ if id_list is not None:
3502+ if not (isinstance(cur_id, basestring) for cur_id in id_list):
3503+ raise TypeError(
3504+ 'ClearSuspectBlobDs3TargetsSpectraS3Request should have request payload of type: list of strings')
3505+ xml_id_list = IdsList(id_list)
3506+ self.body = xmldom.tostring(xml_id_list.to_xml())
3507+
34783508 if force is not None:
34793509 self.query_params['force'] = force
34803510 self.path = '/_rest_/suspect_blob_ds3_target'
@@ -3483,8 +3513,15 @@ def __init__(self, force=None):
34833513
34843514class ClearSuspectBlobPoolsSpectraS3Request(AbstractRequest):
34853515
3486- def __init__(self, force=None):
3516+ def __init__(self, id_list, force=None):
34873517 super(ClearSuspectBlobPoolsSpectraS3Request, self).__init__()
3518+ if id_list is not None:
3519+ if not (isinstance(cur_id, basestring) for cur_id in id_list):
3520+ raise TypeError(
3521+ 'ClearSuspectBlobPoolsSpectraS3Request should have request payload of type: list of strings')
3522+ xml_id_list = IdsList(id_list)
3523+ self.body = xmldom.tostring(xml_id_list.to_xml())
3524+
34883525 if force is not None:
34893526 self.query_params['force'] = force
34903527 self.path = '/_rest_/suspect_blob_pool'
@@ -3493,8 +3530,15 @@ def __init__(self, force=None):
34933530
34943531class ClearSuspectBlobS3TargetsSpectraS3Request(AbstractRequest):
34953532
3496- def __init__(self, force=None):
3533+ def __init__(self, id_list, force=None):
34973534 super(ClearSuspectBlobS3TargetsSpectraS3Request, self).__init__()
3535+ if id_list is not None:
3536+ if not (isinstance(cur_id, basestring) for cur_id in id_list):
3537+ raise TypeError(
3538+ 'ClearSuspectBlobS3TargetsSpectraS3Request should have request payload of type: list of strings')
3539+ xml_id_list = IdsList(id_list)
3540+ self.body = xmldom.tostring(xml_id_list.to_xml())
3541+
34983542 if force is not None:
34993543 self.query_params['force'] = force
35003544 self.path = '/_rest_/suspect_blob_s3_target'
@@ -3503,8 +3547,15 @@ def __init__(self, force=None):
35033547
35043548class ClearSuspectBlobTapesSpectraS3Request(AbstractRequest):
35053549
3506- def __init__(self, force=None):
3550+ def __init__(self, id_list, force=None):
35073551 super(ClearSuspectBlobTapesSpectraS3Request, self).__init__()
3552+ if id_list is not None:
3553+ if not (isinstance(cur_id, basestring) for cur_id in id_list):
3554+ raise TypeError(
3555+ 'ClearSuspectBlobTapesSpectraS3Request should have request payload of type: list of strings')
3556+ xml_id_list = IdsList(id_list)
3557+ self.body = xmldom.tostring(xml_id_list.to_xml())
3558+
35083559 if force is not None:
35093560 self.query_params['force'] = force
35103561 self.path = '/_rest_/suspect_blob_tape'
@@ -3810,8 +3861,15 @@ def __init__(self, bucket_id=None, storage_domain_id=None):
38103861
38113862class MarkSuspectBlobAzureTargetsAsDegradedSpectraS3Request(AbstractRequest):
38123863
3813- def __init__(self, force=None):
3864+ def __init__(self, id_list, force=None):
38143865 super(MarkSuspectBlobAzureTargetsAsDegradedSpectraS3Request, self).__init__()
3866+ if id_list is not None:
3867+ if not (isinstance(cur_id, basestring) for cur_id in id_list):
3868+ raise TypeError(
3869+ 'MarkSuspectBlobAzureTargetsAsDegradedSpectraS3Request should have request payload of type: list of strings')
3870+ xml_id_list = IdsList(id_list)
3871+ self.body = xmldom.tostring(xml_id_list.to_xml())
3872+
38153873 if force is not None:
38163874 self.query_params['force'] = force
38173875 self.path = '/_rest_/suspect_blob_azure_target'
@@ -3820,8 +3878,15 @@ def __init__(self, force=None):
38203878
38213879class MarkSuspectBlobDs3TargetsAsDegradedSpectraS3Request(AbstractRequest):
38223880
3823- def __init__(self, force=None):
3881+ def __init__(self, id_list, force=None):
38243882 super(MarkSuspectBlobDs3TargetsAsDegradedSpectraS3Request, self).__init__()
3883+ if id_list is not None:
3884+ if not (isinstance(cur_id, basestring) for cur_id in id_list):
3885+ raise TypeError(
3886+ 'MarkSuspectBlobDs3TargetsAsDegradedSpectraS3Request should have request payload of type: list of strings')
3887+ xml_id_list = IdsList(id_list)
3888+ self.body = xmldom.tostring(xml_id_list.to_xml())
3889+
38253890 if force is not None:
38263891 self.query_params['force'] = force
38273892 self.path = '/_rest_/suspect_blob_ds3_target'
@@ -3830,8 +3895,15 @@ def __init__(self, force=None):
38303895
38313896class MarkSuspectBlobPoolsAsDegradedSpectraS3Request(AbstractRequest):
38323897
3833- def __init__(self, force=None):
3898+ def __init__(self, id_list, force=None):
38343899 super(MarkSuspectBlobPoolsAsDegradedSpectraS3Request, self).__init__()
3900+ if id_list is not None:
3901+ if not (isinstance(cur_id, basestring) for cur_id in id_list):
3902+ raise TypeError(
3903+ 'MarkSuspectBlobPoolsAsDegradedSpectraS3Request should have request payload of type: list of strings')
3904+ xml_id_list = IdsList(id_list)
3905+ self.body = xmldom.tostring(xml_id_list.to_xml())
3906+
38353907 if force is not None:
38363908 self.query_params['force'] = force
38373909 self.path = '/_rest_/suspect_blob_pool'
@@ -3840,8 +3912,15 @@ def __init__(self, force=None):
38403912
38413913class MarkSuspectBlobS3TargetsAsDegradedSpectraS3Request(AbstractRequest):
38423914
3843- def __init__(self, force=None):
3915+ def __init__(self, id_list, force=None):
38443916 super(MarkSuspectBlobS3TargetsAsDegradedSpectraS3Request, self).__init__()
3917+ if id_list is not None:
3918+ if not (isinstance(cur_id, basestring) for cur_id in id_list):
3919+ raise TypeError(
3920+ 'MarkSuspectBlobS3TargetsAsDegradedSpectraS3Request should have request payload of type: list of strings')
3921+ xml_id_list = IdsList(id_list)
3922+ self.body = xmldom.tostring(xml_id_list.to_xml())
3923+
38453924 if force is not None:
38463925 self.query_params['force'] = force
38473926 self.path = '/_rest_/suspect_blob_s3_target'
@@ -3850,8 +3929,15 @@ def __init__(self, force=None):
38503929
38513930class MarkSuspectBlobTapesAsDegradedSpectraS3Request(AbstractRequest):
38523931
3853- def __init__(self, force=None):
3932+ def __init__(self, id_list, force=None):
38543933 super(MarkSuspectBlobTapesAsDegradedSpectraS3Request, self).__init__()
3934+ if id_list is not None:
3935+ if not (isinstance(cur_id, basestring) for cur_id in id_list):
3936+ raise TypeError(
3937+ 'MarkSuspectBlobTapesAsDegradedSpectraS3Request should have request payload of type: list of strings')
3938+ xml_id_list = IdsList(id_list)
3939+ self.body = xmldom.tostring(xml_id_list.to_xml())
3940+
38553941 if force is not None:
38563942 self.query_params['force'] = force
38573943 self.path = '/_rest_/suspect_blob_tape'
0 commit comments