graph LR
ResourceManager["ResourceManager"]
ComputeResource["ComputeResource"]
NetworkResource["NetworkResource"]
StorageResource["StorageResource"]
ImageResource["ImageResource"]
AccountResource["AccountResource"]
SSHKeyResource["SSHKeyResource"]
VPCResource["VPCResource"]
ProjectResource["ProjectResource"]
CDNResource["CDNResource"]
ResourceManager -- "manages" --> ComputeResource
ResourceManager -- "manages" --> NetworkResource
ResourceManager -- "manages" --> StorageResource
ResourceManager -- "manages" --> ImageResource
ResourceManager -- "manages" --> AccountResource
ResourceManager -- "manages" --> SSHKeyResource
ResourceManager -- "manages" --> VPCResource
ResourceManager -- "manages" --> ProjectResource
ResourceManager -- "manages" --> CDNResource
ComputeResource -- "uses" --> ImageResource
ComputeResource -- "uses" --> SSHKeyResource
ComputeResource -- "uses" --> StorageResource
click ResourceManager href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/python-digitalocean/ResourceManager.md" "Details"
click ComputeResource href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/python-digitalocean/ComputeResource.md" "Details"
click NetworkResource href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/python-digitalocean/NetworkResource.md" "Details"
click StorageResource href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/python-digitalocean/StorageResource.md" "Details"
click ImageResource href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/python-digitalocean/ImageResource.md" "Details"
click AccountResource href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/python-digitalocean/AccountResource.md" "Details"
click SSHKeyResource href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/python-digitalocean/SSHKeyResource.md" "Details"
click VPCResource href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/python-digitalocean/VPCResource.md" "Details"
click ProjectResource href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/python-digitalocean/ProjectResource.md" "Details"
click CDNResource href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/python-digitalocean/CDNResource.md" "Details"
The python-digitalocean library provides a Python interface to the DigitalOcean API. It allows users to manage DigitalOcean resources such as droplets, domains, images, and load balancers programmatically. The library handles authentication, request construction, and response processing, providing a high-level abstraction over the DigitalOcean API. The core functionality revolves around managing various cloud resources through a central manager, which interacts with resource-specific components.
The ResourceManager component serves as the central point of interaction with the DigitalOcean API. It handles authentication, request construction, and response processing. It provides methods to retrieve, create, update, and delete various resources such as droplets, images, domains, and load balancers. It orchestrates the retrieval of data and delegates operations to other resource-specific components.
- Related Classes/Methods:
digitalocean.Manager.Manager(30:481),digitalocean.baseapi.BaseAPI(51:276)
The ComputeResource component represents a DigitalOcean Droplet (virtual server). It provides methods for creating, destroying, and managing Droplets, including actions like power on/off, reboot, resize, snapshot, and backups. It interacts with the ResourceManager to perform these actions.
- Related Classes/Methods:
digitalocean.Droplet.Droplet(25:661)
The NetworkResource component represents DigitalOcean networking resources such as Domains, Records, Floating IPs, Load Balancers, and Firewalls. It provides methods for managing these resources, including creating, updating, and deleting them. It interacts with the ResourceManager to perform these actions.
- Related Classes/Methods:
digitalocean.Domain.Domain(6:172),digitalocean.Record.Record(5:126),digitalocean.FloatingIP.FloatingIP(5:112),digitalocean.LoadBalancer.LoadBalancer(85:380),digitalocean.Firewall.Firewall(104:303)
The StorageResource component represents DigitalOcean storage resources such as Volumes and Snapshots. It provides methods for managing these resources, including creating, destroying, attaching, detaching, resizing, and snapshotting. It interacts with the ResourceManager to perform these actions.
- Related Classes/Methods:
digitalocean.Volume.Volume(5:199),digitalocean.Snapshot.Snapshot(5:44)
The ImageResource component represents a DigitalOcean image (snapshot or distribution). It provides methods for managing images, including creating, destroying, transferring, and renaming images. It interacts with the ResourceManager to perform these actions.
- Related Classes/Methods:
digitalocean.Image.Image(5:162)
The AccountResource component represents a DigitalOcean Account and Balance. It provides methods for retrieving account and balance information. It interacts with the ResourceManager to perform these actions.
- Related Classes/Methods:
digitalocean.Account.Account(5:35),digitalocean.Balance.Balance(5:31)
The SSHKeyResource component represents a DigitalOcean SSH key. It provides methods for managing SSH keys, including creating, retrieving, updating, and deleting SSH keys. It interacts with the ResourceManager to perform these actions.
- Related Classes/Methods:
digitalocean.SSHKey.SSHKey(5:98)
The VPC Resource component represents a DigitalOcean VPC. It provides methods for managing VPCs, including creating, retrieving, updating, and deleting VPCs. It interacts with the ResourceManager to perform these actions.
- Related Classes/Methods:
digitalocean.VPC.VPC(5:134)
The ProjectResource component represents a DigitalOcean Project. It provides methods for managing Projects, including creating, retrieving, updating, deleting, and assigning resources to projects. It interacts with the ResourceManager to perform these actions.
- Related Classes/Methods:
digitalocean.Project.Project(4:144)
The CDNResource component represents a DigitalOcean CDN Endpoint. It provides methods for managing CDN Endpoints, including creating, retrieving, updating, and deleting CDN Endpoints. It interacts with the ResourceManager to perform these actions.
- Related Classes/Methods:
digitalocean.CDNEndpoint.CDNEndpoint(5:102)