Code Duplication    Length = 72-72 lines in 2 locations

gvm/protocols/gmpv214/entities/scanners.py 1 location

@@ 84-155 (lines=72) @@
81
class ScannersMixin(Gmp208ScannersMixin):
82
    # Override bc. of ScannerType (?)
83
84
    def create_scanner(
85
        self,
86
        name: str,
87
        host: str,
88
        port: int,
89
        scanner_type: ScannerType,
90
        credential_id: str,
91
        *,
92
        ca_pub: Optional[str] = None,
93
        comment: Optional[str] = None,
94
    ) -> Any:
95
        """Create a new scanner
96
97
        Arguments:
98
            name: Name of the scanner
99
            host: The host of the scanner
100
            port: The port of the scanner
101
            scanner_type: Type of the scanner.
102
            credential_id: UUID of client certificate credential for the
103
                scanner
104
            ca_pub: Certificate of CA to verify scanner certificate
105
            comment: Comment for the scanner
106
        Returns:
107
            The response. See :py:meth:`send_command` for details.
108
        """
109
        if not name:
110
            raise RequiredArgument(
111
                function=self.create_scanner.__name__, argument='name'
112
            )
113
114
        if not host:
115
            raise RequiredArgument(
116
                function=self.create_scanner.__name__, argument='host'
117
            )
118
119
        if not port:
120
            raise RequiredArgument(
121
                function=self.create_scanner.__name__, argument='port'
122
            )
123
124
        if not scanner_type:
125
            raise RequiredArgument(
126
                function=self.create_scanner.__name__, argument='scanner_type'
127
            )
128
129
        if not credential_id:
130
            raise RequiredArgument(
131
                function=self.create_scanner.__name__, argument='credential_id'
132
            )
133
134
        if not isinstance(scanner_type, ScannerType):
135
            raise InvalidArgumentType(
136
                function=self.create_scanner.__name__,
137
                argument='scanner_type',
138
                arg_type=ScannerType.__name__,
139
            )
140
141
        cmd = XmlCommand("create_scanner")
142
        cmd.add_element("name", name)
143
        cmd.add_element("host", host)
144
        cmd.add_element("port", str(port))
145
        cmd.add_element("type", scanner_type.value)
146
147
        if ca_pub:
148
            cmd.add_element("ca_pub", ca_pub)
149
150
        cmd.add_element("credential", attrs={"id": str(credential_id)})
151
152
        if comment:
153
            cmd.add_element("comment", comment)
154
155
        return self._send_xml_command(cmd)
156
157
    def modify_scanner(
158
        self,

gvm/protocols/gmpv208/entities/scanners.py 1 location

@@ 104-175 (lines=72) @@
101
        cmd.add_element("copy", scanner_id)
102
        return self._send_xml_command(cmd)
103
104
    def create_scanner(
105
        self,
106
        name: str,
107
        host: str,
108
        port: int,
109
        scanner_type: ScannerType,
110
        credential_id: str,
111
        *,
112
        ca_pub: Optional[str] = None,
113
        comment: Optional[str] = None,
114
    ) -> Any:
115
        """Create a new scanner
116
117
        Arguments:
118
            name: Name of the scanner
119
            host: The host of the scanner
120
            port: The port of the scanner
121
            scanner_type: Type of the scanner.
122
            credential_id: UUID of client certificate credential for the
123
                scanner
124
            ca_pub: Certificate of CA to verify scanner certificate
125
            comment: Comment for the scanner
126
        Returns:
127
            The response. See :py:meth:`send_command` for details.
128
        """
129
        if not name:
130
            raise RequiredArgument(
131
                function=self.create_scanner.__name__, argument='name'
132
            )
133
134
        if not host:
135
            raise RequiredArgument(
136
                function=self.create_scanner.__name__, argument='host'
137
            )
138
139
        if not port:
140
            raise RequiredArgument(
141
                function=self.create_scanner.__name__, argument='port'
142
            )
143
144
        if not scanner_type:
145
            raise RequiredArgument(
146
                function=self.create_scanner.__name__, argument='scanner_type'
147
            )
148
149
        if not credential_id:
150
            raise RequiredArgument(
151
                function=self.create_scanner.__name__, argument='credential_id'
152
            )
153
154
        if not isinstance(scanner_type, ScannerType):
155
            raise InvalidArgumentType(
156
                function=self.create_scanner.__name__,
157
                argument='scanner_type',
158
                arg_type=ScannerType.__name__,
159
            )
160
161
        cmd = XmlCommand("create_scanner")
162
        cmd.add_element("name", name)
163
        cmd.add_element("host", host)
164
        cmd.add_element("port", str(port))
165
        cmd.add_element("type", scanner_type.value)
166
167
        if ca_pub:
168
            cmd.add_element("ca_pub", ca_pub)
169
170
        cmd.add_element("credential", attrs={"id": str(credential_id)})
171
172
        if comment:
173
            cmd.add_element("comment", comment)
174
175
        return self._send_xml_command(cmd)
176
177
    def delete_scanner(
178
        self, scanner_id: str, *, ultimate: Optional[bool] = False