Code Duplication    Length = 54-57 lines in 2 locations

gvm/protocols/gmpv7.py 2 locations

@@ 4508-4564 (lines=57) @@
4505
4506
        return self._send_xml_command(cmd)
4507
4508
    def modify_scanner(self, scanner_id, host, port, scanner_type, *,
4509
                       comment=None, name=None, ca_pub=None,
4510
                       credential_id=None):
4511
        """Modifies an existing scanner.
4512
4513
        Arguments:
4514
            scanner_id (str): UUID of scanner to modify.
4515
            host (str): Host of the scanner.
4516
            port (str): Port of the scanner.
4517
            scanner_type (str): Type of the scanner.
4518
                '1' for OSP, '2' for OpenVAS (classic) Scanner.
4519
            comment (str, optional): Comment on scanner.
4520
            name (str, optional): Name of scanner.
4521
            ca_pub (str, optional): Certificate of CA to verify scanner's
4522
                certificate.
4523
            credential_id (str, optional): UUID of the client certificate
4524
                credential for the Scanner.
4525
4526
        Returns:
4527
            The response. See :py:meth:`send_command` for details.
4528
        """
4529
        if not scanner_id:
4530
            raise RequiredArgument(
4531
                'modify_scanner requires a scanner_id argument')
4532
        if not host:
4533
            raise RequiredArgument('modify_scanner requires a host argument')
4534
        if not port:
4535
            raise RequiredArgument('modify_scanner requires a port argument')
4536
        if not scanner_type:
4537
            raise RequiredArgument('modify_scanner requires a scanner_type '
4538
                                   'argument')
4539
4540
        cmd = XmlCommand('modify_scanner')
4541
        cmd.set_attribute('scanner_id', scanner_id)
4542
        cmd.add_element('host', host)
4543
        cmd.add_element('port', port)
4544
4545
        if scanner_type not in SCANNER_TYPES:
4546
            raise InvalidArgument('modify_scanner requires a scanner_type '
4547
                                  'argument which must be either "1" for OSP '
4548
                                  'or "2" OpenVAS (Classic).')
4549
4550
        cmd.add_element('type', scanner_type)
4551
4552
        if comment:
4553
            cmd.add_element('comment', comment)
4554
4555
        if name:
4556
            cmd.add_element('name', name)
4557
4558
        if ca_pub:
4559
            cmd.add_element('ca_pub', ca_pub)
4560
4561
        if credential_id:
4562
            cmd.add_element('credential', attrs={'id': str(credential_id)})
4563
4564
        return self._send_xml_command(cmd)
4565
4566
    def modify_schedule(self, schedule_id, *, comment=None, name=None,
4567
                        first_time_minute=None, first_time_hour=None,
@@ 1243-1296 (lines=54) @@
1240
        cmd.add_element('copy', role_id)
1241
        return self._send_xml_command(cmd)
1242
1243
    def create_scanner(self, name, host, port, scanner_type, ca_pub,
1244
                       credential_id, *, comment=None):
1245
        """Create a new scanner
1246
1247
        Arguments:
1248
            name (str): Name of the scanner
1249
            host (str): The host of the scanner
1250
            port (str): The port of the scanner
1251
            scanner_type (str): Type of the scanner.
1252
                '1' for OSP, '2' for OpenVAS (classic) Scanner.
1253
            ca_pub (str): Certificate of CA to verify scanner certificate
1254
            credential_id (str): UUID of client certificate credential for the
1255
                scanner
1256
            comment (str, optional): Comment for the scanner
1257
1258
        Returns:
1259
            The response. See :py:meth:`send_command` for details.
1260
        """
1261
        if not name:
1262
            raise RequiredArgument('create_scanner requires a name argument')
1263
1264
        if not host:
1265
            raise RequiredArgument('create_scanner requires a host argument')
1266
1267
        if not port:
1268
            raise RequiredArgument('create_scanner requires a port argument')
1269
1270
        if not scanner_type:
1271
            raise RequiredArgument('create_scanner requires a scanner_type '
1272
                                   'argument')
1273
        if not ca_pub:
1274
            raise RequiredArgument('create_scanner requires a ca_pub argument')
1275
1276
        if not credential_id:
1277
            raise RequiredArgument('create_scanner requires a credential_id '
1278
                                   'argument')
1279
1280
        if scanner_type not in SCANNER_TYPES:
1281
            raise InvalidArgument('create_scanner requires a scanner_type '
1282
                                  'argument which must be either "1" for OSP '
1283
                                  'or "2" OpenVAS (Classic).')
1284
1285
        cmd = XmlCommand('create_scanner')
1286
        cmd.add_element('name', name)
1287
        cmd.add_element('host', host)
1288
        cmd.add_element('port', port)
1289
        cmd.add_element('type', scanner_type)
1290
        cmd.add_element('ca_pub', ca_pub)
1291
        cmd.add_element('credential', attrs={'id': str(credential_id)})
1292
1293
        if comment:
1294
            cmd.add_element('comment', comment)
1295
1296
        return self._send_xml_command(cmd)
1297
1298
    def clone_scanner(self, scanner_id):
1299
        """Clone an existing scanner