@@ 306-418 (lines=113) @@ | ||
303 | ||
304 | return self._send_xml_command(cmd) |
|
305 | ||
306 | def modify_credential( |
|
307 | self, |
|
308 | credential_id: str, |
|
309 | *, |
|
310 | name: Optional[str] = None, |
|
311 | comment: Optional[str] = None, |
|
312 | allow_insecure: Optional[bool] = None, |
|
313 | certificate: Optional[str] = None, |
|
314 | key_phrase: Optional[str] = None, |
|
315 | private_key: Optional[str] = None, |
|
316 | login: Optional[str] = None, |
|
317 | password: Optional[str] = None, |
|
318 | auth_algorithm: Optional[SnmpAuthAlgorithm] = None, |
|
319 | community: Optional[str] = None, |
|
320 | privacy_algorithm: Optional[SnmpPrivacyAlgorithm] = None, |
|
321 | privacy_password: Optional[str] = None, |
|
322 | public_key: Optional[str] = None, |
|
323 | ) -> Any: |
|
324 | """Modifies an existing credential. |
|
325 | ||
326 | Arguments: |
|
327 | credential_id: UUID of the credential |
|
328 | name: Name of the credential |
|
329 | comment: Comment for the credential |
|
330 | allow_insecure: Whether to allow insecure use of the credential |
|
331 | certificate: Certificate for the credential |
|
332 | key_phrase: Key passphrase for the private key |
|
333 | private_key: Private key to use for login |
|
334 | login: Username for the credential |
|
335 | password: Password for the credential |
|
336 | auth_algorithm: The authentication algorithm for SNMP |
|
337 | community: The SNMP community |
|
338 | privacy_algorithm: The privacy algorithm for SNMP |
|
339 | privacy_password: The SNMP privacy password |
|
340 | public_key: PGP public key in *armor* plain text format |
|
341 | ||
342 | Returns: |
|
343 | The response. See :py:meth:`send_command` for details. |
|
344 | """ |
|
345 | if not credential_id: |
|
346 | raise RequiredArgument( |
|
347 | function=self.modify_credential.__name__, |
|
348 | argument='credential_id', |
|
349 | ) |
|
350 | ||
351 | cmd = XmlCommand("modify_credential") |
|
352 | cmd.set_attribute("credential_id", credential_id) |
|
353 | ||
354 | if comment: |
|
355 | cmd.add_element("comment", comment) |
|
356 | ||
357 | if name: |
|
358 | cmd.add_element("name", name) |
|
359 | ||
360 | if allow_insecure is not None: |
|
361 | cmd.add_element("allow_insecure", _to_bool(allow_insecure)) |
|
362 | ||
363 | if certificate: |
|
364 | cmd.add_element("certificate", certificate) |
|
365 | ||
366 | if key_phrase and private_key: |
|
367 | _xmlkey = cmd.add_element("key") |
|
368 | _xmlkey.add_element("phrase", key_phrase) |
|
369 | _xmlkey.add_element("private", private_key) |
|
370 | elif (not key_phrase and private_key) or ( |
|
371 | key_phrase and not private_key |
|
372 | ): |
|
373 | raise RequiredArgument( |
|
374 | function=self.modify_credential.__name__, |
|
375 | argument='key_phrase and private_key', |
|
376 | ) |
|
377 | ||
378 | if login: |
|
379 | cmd.add_element("login", login) |
|
380 | ||
381 | if password: |
|
382 | cmd.add_element("password", password) |
|
383 | ||
384 | if auth_algorithm: |
|
385 | if not isinstance(auth_algorithm, self.types.SnmpAuthAlgorithm): |
|
386 | raise InvalidArgumentType( |
|
387 | function=self.modify_credential.__name__, |
|
388 | argument='auth_algorithm', |
|
389 | arg_type=SnmpAuthAlgorithm.__name__, |
|
390 | ) |
|
391 | cmd.add_element("auth_algorithm", auth_algorithm.value) |
|
392 | ||
393 | if community: |
|
394 | cmd.add_element("community", community) |
|
395 | ||
396 | if privacy_algorithm is not None or privacy_password is not None: |
|
397 | _xmlprivacy = cmd.add_element("privacy") |
|
398 | ||
399 | if privacy_algorithm is not None: |
|
400 | if not isinstance( |
|
401 | privacy_algorithm, self.types.SnmpPrivacyAlgorithm |
|
402 | ): |
|
403 | raise InvalidArgumentType( |
|
404 | function=self.modify_credential.__name__, |
|
405 | argument='privacy_algorithm', |
|
406 | arg_type=SnmpPrivacyAlgorithm.__name__, |
|
407 | ) |
|
408 | ||
409 | _xmlprivacy.add_element("algorithm", privacy_algorithm.value) |
|
410 | ||
411 | if privacy_password is not None: |
|
412 | _xmlprivacy.add_element("password", privacy_password) |
|
413 | ||
414 | if public_key: |
|
415 | _xmlkey = cmd.add_element("key") |
|
416 | _xmlkey.add_element("public", public_key) |
|
417 | ||
418 | return self._send_xml_command(cmd) |
|
419 | ||
420 | def create_tag( |
|
421 | self, |
@@ 2758-2870 (lines=113) @@ | ||
2755 | ||
2756 | return self._send_xml_command(cmd) |
|
2757 | ||
2758 | def modify_credential( |
|
2759 | self, |
|
2760 | credential_id: str, |
|
2761 | *, |
|
2762 | name: Optional[str] = None, |
|
2763 | comment: Optional[str] = None, |
|
2764 | allow_insecure: Optional[bool] = None, |
|
2765 | certificate: Optional[str] = None, |
|
2766 | key_phrase: Optional[str] = None, |
|
2767 | private_key: Optional[str] = None, |
|
2768 | login: Optional[str] = None, |
|
2769 | password: Optional[str] = None, |
|
2770 | auth_algorithm: Optional[SnmpAuthAlgorithm] = None, |
|
2771 | community: Optional[str] = None, |
|
2772 | privacy_algorithm: Optional[SnmpPrivacyAlgorithm] = None, |
|
2773 | privacy_password: Optional[str] = None, |
|
2774 | public_key: Optional[str] = None, |
|
2775 | ) -> Any: |
|
2776 | """Modifies an existing credential. |
|
2777 | ||
2778 | Arguments: |
|
2779 | credential_id: UUID of the credential |
|
2780 | name: Name of the credential |
|
2781 | comment: Comment for the credential |
|
2782 | allow_insecure: Whether to allow insecure use of the credential |
|
2783 | certificate: Certificate for the credential |
|
2784 | key_phrase: Key passphrase for the private key |
|
2785 | private_key: Private key to use for login |
|
2786 | login: Username for the credential |
|
2787 | password: Password for the credential |
|
2788 | auth_algorithm: The authentication algorithm for SNMP |
|
2789 | community: The SNMP community |
|
2790 | privacy_algorithm: The privacy algorithm for SNMP |
|
2791 | privacy_password: The SNMP privacy password |
|
2792 | public_key: PGP public key in *armor* plain text format |
|
2793 | ||
2794 | Returns: |
|
2795 | The response. See :py:meth:`send_command` for details. |
|
2796 | """ |
|
2797 | if not credential_id: |
|
2798 | raise RequiredArgument( |
|
2799 | function=self.modify_credential.__name__, |
|
2800 | argument='credential_id', |
|
2801 | ) |
|
2802 | ||
2803 | cmd = XmlCommand("modify_credential") |
|
2804 | cmd.set_attribute("credential_id", credential_id) |
|
2805 | ||
2806 | if comment: |
|
2807 | cmd.add_element("comment", comment) |
|
2808 | ||
2809 | if name: |
|
2810 | cmd.add_element("name", name) |
|
2811 | ||
2812 | if allow_insecure is not None: |
|
2813 | cmd.add_element("allow_insecure", _to_bool(allow_insecure)) |
|
2814 | ||
2815 | if certificate: |
|
2816 | cmd.add_element("certificate", certificate) |
|
2817 | ||
2818 | if key_phrase and private_key: |
|
2819 | _xmlkey = cmd.add_element("key") |
|
2820 | _xmlkey.add_element("phrase", key_phrase) |
|
2821 | _xmlkey.add_element("private", private_key) |
|
2822 | elif (not key_phrase and private_key) or ( |
|
2823 | key_phrase and not private_key |
|
2824 | ): |
|
2825 | raise RequiredArgument( |
|
2826 | function=self.modify_credential.__name__, |
|
2827 | argument='key_phrase and private_key', |
|
2828 | ) |
|
2829 | ||
2830 | if login: |
|
2831 | cmd.add_element("login", login) |
|
2832 | ||
2833 | if password: |
|
2834 | cmd.add_element("password", password) |
|
2835 | ||
2836 | if auth_algorithm: |
|
2837 | if not isinstance(auth_algorithm, self.types.SnmpAuthAlgorithm): |
|
2838 | raise InvalidArgumentType( |
|
2839 | function=self.modify_credential.__name__, |
|
2840 | argument='auth_algorithm', |
|
2841 | arg_type=SnmpAuthAlgorithm.__name__, |
|
2842 | ) |
|
2843 | cmd.add_element("auth_algorithm", auth_algorithm.value) |
|
2844 | ||
2845 | if community: |
|
2846 | cmd.add_element("community", community) |
|
2847 | ||
2848 | if privacy_algorithm is not None or privacy_password is not None: |
|
2849 | _xmlprivacy = cmd.add_element("privacy") |
|
2850 | ||
2851 | if privacy_algorithm is not None: |
|
2852 | if not isinstance( |
|
2853 | privacy_algorithm, self.types.SnmpPrivacyAlgorithm |
|
2854 | ): |
|
2855 | raise InvalidArgumentType( |
|
2856 | function=self.modify_credential.__name__, |
|
2857 | argument='privacy_algorithm', |
|
2858 | arg_type=SnmpPrivacyAlgorithm.__name__, |
|
2859 | ) |
|
2860 | ||
2861 | _xmlprivacy.add_element("algorithm", privacy_algorithm.value) |
|
2862 | ||
2863 | if privacy_password is not None: |
|
2864 | _xmlprivacy.add_element("password", privacy_password) |
|
2865 | ||
2866 | if public_key: |
|
2867 | _xmlkey = cmd.add_element("key") |
|
2868 | _xmlkey.add_element("public", public_key) |
|
2869 | ||
2870 | return self._send_xml_command(cmd) |
|
2871 | ||
2872 | def create_ticket( |
|
2873 | self, |