Source code for censys.asm.client

"""Interact with the Censys Seeds, Assets, and Logbook APIs."""
from typing import Optional

from .assets import (
from .clouds import Clouds
from .events import Events
from .inventory import InventorySearch
from .risks import Risks
from .seeds import Seeds

[docs]class AsmClient: """Client ASM API class.""" def __init__(self, api_key: Optional[str] = None, **kwargs): """Inits AsmClient. Args: api_key (str): Optional; The API Key provided by Censys. **kwargs: Arbitrary keyword arguments. """ self.seeds = Seeds(api_key, **kwargs) self.hosts = HostsAssets(api_key, **kwargs) self.certificates = CertificatesAssets(api_key, **kwargs) = DomainsAssets(api_key, **kwargs) = Events(api_key, **kwargs) self.clouds = Clouds(api_key, **kwargs) self.risks = Risks(api_key, **kwargs) self.inventory = InventorySearch(api_key, **kwargs) self.web_entities = WebEntitiesAssets(api_key, **kwargs) # Save the arguments for parameterized client usage self.__api_kwargs = kwargs
[docs] def get_subdomains(self, domain: str): """Get an API instance for subdomains of the parent domain. Args: domain: (str): Parent domain to access. Returns: SubdomainsAssets: A Subdomains Assets API instance . """ return SubdomainsAssets(domain,, **self.__api_kwargs)