# {py:mod}`ros_sugar.ui_node.security` ```{py:module} ros_sugar.ui_node.security ``` ```{autodoc2-docstring} ros_sugar.ui_node.security :allowtitles: ``` ## Module Contents ### Classes ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`Certificate ` - ```{autodoc2-docstring} ros_sugar.ui_node.security.Certificate :summary: ``` * - {py:obj}`ApiKey ` - ```{autodoc2-docstring} ros_sugar.ui_node.security.ApiKey :summary: ``` * - {py:obj}`ApiKeys ` - ```{autodoc2-docstring} ros_sugar.ui_node.security.ApiKeys :summary: ``` ```` ### Functions ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`state_dir ` - ```{autodoc2-docstring} ros_sugar.ui_node.security.state_dir :summary: ``` * - {py:obj}`resolve_certificate ` - ```{autodoc2-docstring} ros_sugar.ui_node.security.resolve_certificate :summary: ``` * - {py:obj}`minted_certificate ` - ```{autodoc2-docstring} ros_sugar.ui_node.security.minted_certificate :summary: ``` * - {py:obj}`banner ` - ```{autodoc2-docstring} ros_sugar.ui_node.security.banner :summary: ``` * - {py:obj}`uncovered_addresses ` - ```{autodoc2-docstring} ros_sugar.ui_node.security.uncovered_addresses :summary: ``` * - {py:obj}`local_ipv4_addresses ` - ```{autodoc2-docstring} ros_sugar.ui_node.security.local_ipv4_addresses :summary: ``` * - {py:obj}`load_certificate ` - ```{autodoc2-docstring} ros_sugar.ui_node.security.load_certificate :summary: ``` * - {py:obj}`session_key ` - ```{autodoc2-docstring} ros_sugar.ui_node.security.session_key :summary: ``` ```` ### API `````{py:exception} CertificateError() :canonical: ros_sugar.ui_node.security.CertificateError Bases: {py:obj}`RuntimeError` ```{autodoc2-docstring} ros_sugar.ui_node.security.CertificateError ``` ````{py:method} add_note() :canonical: ros_sugar.ui_node.security.CertificateError.add_note ```{autodoc2-docstring} ros_sugar.ui_node.security.CertificateError.add_note ``` ```` ````{py:method} with_traceback() :canonical: ros_sugar.ui_node.security.CertificateError.with_traceback ```{autodoc2-docstring} ros_sugar.ui_node.security.CertificateError.with_traceback ``` ```` ````` `````{py:exception} ApiKeyError() :canonical: ros_sugar.ui_node.security.ApiKeyError Bases: {py:obj}`RuntimeError` ```{autodoc2-docstring} ros_sugar.ui_node.security.ApiKeyError ``` ````{py:method} add_note() :canonical: ros_sugar.ui_node.security.ApiKeyError.add_note ```{autodoc2-docstring} ros_sugar.ui_node.security.ApiKeyError.add_note ``` ```` ````{py:method} with_traceback() :canonical: ros_sugar.ui_node.security.ApiKeyError.with_traceback ```{autodoc2-docstring} ros_sugar.ui_node.security.ApiKeyError.with_traceback ``` ```` ````` ````{py:class} Certificate :canonical: ros_sugar.ui_node.security.Certificate ```{autodoc2-docstring} ros_sugar.ui_node.security.Certificate ``` ```` ````{py:function} state_dir() -> pathlib.Path :canonical: ros_sugar.ui_node.security.state_dir ```{autodoc2-docstring} ros_sugar.ui_node.security.state_dir ``` ```` ````{py:function} resolve_certificate() -> ros_sugar.ui_node.security.Certificate :canonical: ros_sugar.ui_node.security.resolve_certificate ```{autodoc2-docstring} ros_sugar.ui_node.security.resolve_certificate ``` ```` ````{py:function} minted_certificate(directory: pathlib.Path) -> ros_sugar.ui_node.security.Certificate :canonical: ros_sugar.ui_node.security.minted_certificate ```{autodoc2-docstring} ros_sugar.ui_node.security.minted_certificate ``` ```` ````{py:function} banner(certificate: ros_sugar.ui_node.security.Certificate) -> typing.List[str] :canonical: ros_sugar.ui_node.security.banner ```{autodoc2-docstring} ros_sugar.ui_node.security.banner ``` ```` ````{py:function} uncovered_addresses(certificate: ros_sugar.ui_node.security.Certificate) -> typing.List[str] :canonical: ros_sugar.ui_node.security.uncovered_addresses ```{autodoc2-docstring} ros_sugar.ui_node.security.uncovered_addresses ``` ```` ````{py:function} local_ipv4_addresses() -> typing.List[str] :canonical: ros_sugar.ui_node.security.local_ipv4_addresses ```{autodoc2-docstring} ros_sugar.ui_node.security.local_ipv4_addresses ``` ```` ````{py:function} load_certificate(cert_path: pathlib.Path, key_path: pathlib.Path, source: str) -> ros_sugar.ui_node.security.Certificate :canonical: ros_sugar.ui_node.security.load_certificate ```{autodoc2-docstring} ros_sugar.ui_node.security.load_certificate ``` ```` ````{py:class} ApiKey :canonical: ros_sugar.ui_node.security.ApiKey ```{autodoc2-docstring} ros_sugar.ui_node.security.ApiKey ``` ```` `````{py:class} ApiKeys(directory: pathlib.Path) :canonical: ros_sugar.ui_node.security.ApiKeys ```{autodoc2-docstring} ros_sugar.ui_node.security.ApiKeys ``` ````{py:method} all() -> typing.List[ros_sugar.ui_node.security.ApiKey] :canonical: ros_sugar.ui_node.security.ApiKeys.all ```{autodoc2-docstring} ros_sugar.ui_node.security.ApiKeys.all ``` ```` ````{py:method} find(key: str) -> typing.Optional[ros_sugar.ui_node.security.ApiKey] :canonical: ros_sugar.ui_node.security.ApiKeys.find ```{autodoc2-docstring} ros_sugar.ui_node.security.ApiKeys.find ``` ```` ````{py:method} create(name: str, scopes: typing.Sequence[str], expires_at: typing.Optional[datetime.date] = None) -> typing.Tuple[ros_sugar.ui_node.security.ApiKey, str] :canonical: ros_sugar.ui_node.security.ApiKeys.create ```{autodoc2-docstring} ros_sugar.ui_node.security.ApiKeys.create ``` ```` ````{py:method} revoke(key_id: str) -> ros_sugar.ui_node.security.ApiKey :canonical: ros_sugar.ui_node.security.ApiKeys.revoke ```{autodoc2-docstring} ros_sugar.ui_node.security.ApiKeys.revoke ``` ```` ````` ````{py:function} session_key(directory: pathlib.Path) -> str :canonical: ros_sugar.ui_node.security.session_key ```{autodoc2-docstring} ros_sugar.ui_node.security.session_key ``` ````