Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 31 additions & 0 deletions CodeBoarding/AccountResource.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
```mermaid
graph LR
Account["Account"]
Balance["Balance"]
Manager["Manager"]
AccountResource["AccountResource"]
Manager -- "retrieves account information" --> Account
Manager -- "retrieves balance information" --> Balance
AccountResource -- "interacts with" --> Manager
```
[![CodeBoarding](https://img.shields.io/badge/Generated%20by-CodeBoarding-9cf?style=flat-square)](https://github.com/CodeBoarding/GeneratedOnBoardings)[![Demo](https://img.shields.io/badge/Try%20our-Demo-blue?style=flat-square)](https://www.codeboarding.org/demo)[![Contact](https://img.shields.io/badge/Contact%20us%20-%20codeboarding@gmail.com-lightgrey?style=flat-square)](mailto:codeboarding@gmail.com)

## Component Details

The DigitalOcean Account and Balance subsystem provides functionality to retrieve account information and balance details from the DigitalOcean API. The core components include the Account, Balance, and Manager classes. The Manager class acts as an intermediary, interacting with the DigitalOcean API to fetch account and balance data. The Account and Balance classes encapsulate the data and provide methods to load data from the API response.

### Account
The Account component represents a DigitalOcean account. It provides methods for retrieving account information and loading account data from the DigitalOcean API. It encapsulates account attributes such as email, UUID, and droplet limit.
- **Related Classes/Methods**: `digitalocean.Account.Account` (5:35), `digitalocean.Account.Account:__init__` (6:15), `digitalocean.Account.Account:get_object` (18:24), `digitalocean.Account.Account:load` (26:32)

### Balance
The Balance component represents the balance of a DigitalOcean account. It provides methods for retrieving balance information and loading balance data from the DigitalOcean API. It encapsulates balance attributes such as account balance, month to date usage, and billing rate.
- **Related Classes/Methods**: `digitalocean.Balance.Balance` (5:31), `digitalocean.Balance.Balance:__init__` (6:12), `digitalocean.Balance.Balance:get_object` (15:21), `digitalocean.Balance.Balance:load` (23:28)

### Manager
The Manager component is responsible for managing interactions with the DigitalOcean API. It provides methods for retrieving account and balance information. It acts as a central point for accessing account and balance data.
- **Related Classes/Methods**: `digitalocean.Manager.Manager:get_account` (34:38), `digitalocean.Manager.Manager:get_balance` (40:44)

### AccountResource
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)
24 changes: 24 additions & 0 deletions CodeBoarding/CDNResource.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
```mermaid
graph LR
CDNEndpoint["CDNEndpoint"]
Manager["Manager"]
Manager -- "manages" --> CDNEndpoint
CDNEndpoint -- "creates" --> CDNEndpoint
CDNEndpoint -- "deletes" --> CDNEndpoint
CDNEndpoint -- "saves" --> CDNEndpoint
CDNEndpoint -- "loads" --> CDNEndpoint
CDNEndpoint -- "gets object" --> CDNEndpoint
```
[![CodeBoarding](https://img.shields.io/badge/Generated%20by-CodeBoarding-9cf?style=flat-square)](https://github.com/CodeBoarding/GeneratedOnBoardings)[![Demo](https://img.shields.io/badge/Try%20our-Demo-blue?style=flat-square)](https://www.codeboarding.org/demo)[![Contact](https://img.shields.io/badge/Contact%20us%20-%20codeboarding@gmail.com-lightgrey?style=flat-square)](mailto:codeboarding@gmail.com)

## Component Details

The DigitalOcean CDN management subsystem allows users to create, retrieve, update, and delete CDN endpoints. The Manager component serves as the entry point for accessing CDN endpoint resources, while the CDNEndpoint component represents a single CDN endpoint and provides methods for interacting with the DigitalOcean API to manage the endpoint's lifecycle.

### CDNEndpoint
Represents a CDN Endpoint in DigitalOcean. It allows for creating, retrieving, updating, and deleting CDN endpoints. It interacts with the DigitalOcean API to manage CDN endpoint resources.
- **Related Classes/Methods**: `digitalocean.CDNEndpoint.CDNEndpoint` (5:102), `digitalocean.CDNEndpoint.CDNEndpoint:__init__` (23:32), `digitalocean.CDNEndpoint.CDNEndpoint:get_object` (35:44), `digitalocean.CDNEndpoint.CDNEndpoint:load` (46:56), `digitalocean.CDNEndpoint.CDNEndpoint:create` (58:76), `digitalocean.CDNEndpoint.CDNEndpoint:delete` (79:83), `digitalocean.CDNEndpoint.CDNEndpoint:save` (85:98)

### Manager
The Manager class provides methods for retrieving CDN endpoints. It serves as an entry point for accessing CDN endpoint resources and interacts with the DigitalOcean API.
- **Related Classes/Methods**: `digitalocean.Manager.Manager` (30:481), `digitalocean.Manager.Manager:get_cdn_endpoint` (471:478), `digitalocean.Manager.Manager:get_all_cdn_endpoints` (459:469)
49 changes: 49 additions & 0 deletions CodeBoarding/ComputeResource.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
```mermaid
graph LR
Droplet["Droplet"]
Droplet_create["Droplet:create"]
Droplet_get_object["Droplet:get_object"]
Droplet__perform_action["Droplet:_perform_action"]
Droplet_destroy["Droplet:destroy"]
Droplet_get_actions["Droplet:get_actions"]
Droplet_get_action["Droplet:get_action"]
Droplet -- "creates" --> Droplet_create
Droplet -- "retrieves" --> Droplet_get_object
Droplet -- "performs actions using" --> Droplet__perform_action
Droplet -- "destroys" --> Droplet_destroy
Droplet -- "retrieves actions using" --> Droplet_get_actions
Droplet -- "retrieves a specific action using" --> Droplet_get_action
```
[![CodeBoarding](https://img.shields.io/badge/Generated%20by-CodeBoarding-9cf?style=flat-square)](https://github.com/CodeBoarding/GeneratedOnBoardings)[![Demo](https://img.shields.io/badge/Try%20our-Demo-blue?style=flat-square)](https://www.codeboarding.org/demo)[![Contact](https://img.shields.io/badge/Contact%20us%20-%20codeboarding@gmail.com-lightgrey?style=flat-square)](mailto:codeboarding@gmail.com)

## Component Details

The ComputeResource component, represented by the DigitalOcean Droplet, manages virtual servers (Droplets) through the DigitalOcean API. It encompasses functionalities for creating, retrieving, and destroying Droplets, as well as performing actions like power on/off, reboot, resizing, snapshotting, and managing backups. The component interacts with the DigitalOcean API to provision and manage these resources.

### Droplet
Represents a DigitalOcean Droplet. It provides methods for creating, retrieving, and managing Droplets, including actions like power on/off, reboot, resize, snapshot, and more. It interacts with the DigitalOcean API to perform these operations.
- **Related Classes/Methods**: `digitalocean.Droplet.Droplet` (25:661)

### Droplet:create
Creates a new Droplet. It takes parameters such as name, region, size, image, SSH keys, backups, IPv6, private networking, and user data. It sends a POST request to the DigitalOcean API to create the Droplet.
- **Related Classes/Methods**: `digitalocean.Droplet.Droplet:create` (532:574)

### Droplet:get_object
Retrieves a specific Droplet by its ID. It sends a GET request to the DigitalOcean API to retrieve the Droplet's information.
- **Related Classes/Methods**: `digitalocean.Droplet.Droplet:get_object` (104:113)

### Droplet:_perform_action
A helper method that performs an action on a Droplet, such as power on/off, reboot, etc. It sends a POST request to the DigitalOcean API to initiate the action.
- **Related Classes/Methods**: `digitalocean.Droplet.Droplet:_perform_action` (207:233)

### Droplet:destroy
Destroys a Droplet. It sends a DELETE request to the DigitalOcean API to remove the Droplet.
- **Related Classes/Methods**: `digitalocean.Droplet.Droplet:destroy` (412:418)

### Droplet:get_actions
Retrieves all actions performed on a Droplet. It sends a GET request to the DigitalOcean API to retrieve the actions.
- **Related Classes/Methods**: `digitalocean.Droplet.Droplet:get_actions` (583:597)

### Droplet:get_action
Retrieves a specific action performed on a Droplet by its ID. It sends a GET request to the DigitalOcean API to retrieve the action.
- **Related Classes/Methods**: `digitalocean.Droplet.Droplet:get_action` (599:608)
20 changes: 20 additions & 0 deletions CodeBoarding/ImageResource.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
```mermaid
graph LR
Image["Image"]
Manager["Manager"]
Image -- "Interacts with" --> Manager
Manager -- "Manages" --> Image
```
[![CodeBoarding](https://img.shields.io/badge/Generated%20by-CodeBoarding-9cf?style=flat-square)](https://github.com/CodeBoarding/GeneratedOnBoardings)[![Demo](https://img.shields.io/badge/Try%20our-Demo-blue?style=flat-square)](https://www.codeboarding.org/demo)[![Contact](https://img.shields.io/badge/Contact%20us%20-%20codeboarding@gmail.com-lightgrey?style=flat-square)](mailto:codeboarding@gmail.com)

## Component Details

The DigitalOcean Image management subsystem allows users to manage their images (snapshots and distributions) on the DigitalOcean platform. It provides functionalities to list, retrieve, create, destroy, transfer, and rename images. The core components are the Image class, which represents a single image, and the Manager class, which handles collections of images and interacts with the DigitalOcean API.

### Image
Represents a DigitalOcean Image. It allows for creating, loading, destroying, transferring, and renaming images. It interacts with the Manager to perform these actions.
- **Related Classes/Methods**: `digitalocean.Image.Image` (5:162), `digitalocean.Image.Image:__init__` (44:61), `digitalocean.Image.Image:get_object` (64:78), `digitalocean.Image.Image:create` (93:111), `digitalocean.Image.Image:load` (113:133), `digitalocean.Image.Image:destroy` (135:139), `digitalocean.Image.Image:transfer` (141:149), `digitalocean.Image.Image:rename` (151:159)

### Manager
The Manager class is responsible for managing DigitalOcean Images. It provides methods for retrieving different types of images (all, my, global, distro, app) and a specific image by its ID.
- **Related Classes/Methods**: `digitalocean.Manager.Manager` (30:481), `digitalocean.Manager.Manager:get_images` (118:133), `digitalocean.Manager.Manager:get_all_images` (135:141), `digitalocean.Manager.Manager:get_image` (143:150), `digitalocean.Manager.Manager:get_my_images` (152:158), `digitalocean.Manager.Manager:get_global_images` (160:172), `digitalocean.Manager.Manager:get_distro_images` (174:180), `digitalocean.Manager.Manager:get_app_images` (182:188)
38 changes: 38 additions & 0 deletions CodeBoarding/NetworkResource.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
```mermaid
graph LR
Domain["Domain"]
Record["Record"]
FloatingIP["FloatingIP"]
LoadBalancer["LoadBalancer"]
Firewall["Firewall"]
Domain -- "manages" --> Record
LoadBalancer -- "associates with" --> Droplets
Firewall -- "associates with" --> Droplets
Firewall -- "associates with" --> Tags
FloatingIP -- "assigns to" --> Droplets
```
[![CodeBoarding](https://img.shields.io/badge/Generated%20by-CodeBoarding-9cf?style=flat-square)](https://github.com/CodeBoarding/GeneratedOnBoardings)[![Demo](https://img.shields.io/badge/Try%20our-Demo-blue?style=flat-square)](https://www.codeboarding.org/demo)[![Contact](https://img.shields.io/badge/Contact%20us%20-%20codeboarding@gmail.com-lightgrey?style=flat-square)](mailto:codeboarding@gmail.com)

## Component Details

The DigitalOcean Networking Resource Management system provides an interface for managing various networking resources on the DigitalOcean platform. It encompasses components for handling Domains, DNS Records, Floating IPs, Load Balancers, and Firewalls. These components allow users to create, retrieve, update, and delete these resources, enabling them to configure and manage their network infrastructure on DigitalOcean.

### Domain
The Domain component manages domain names and their associated DNS records on DigitalOcean. It provides functionalities to create, retrieve, update, and delete domains and their records. It interacts with the DigitalOcean API to perform these operations.
- **Related Classes/Methods**: `digitalocean.Domain.Domain` (6:172), `digitalocean.Domain.Domain:__init__` (7:13), `digitalocean.Domain.Domain:get_object` (16:22), `digitalocean.Domain.Domain:load` (24:30), `digitalocean.Domain.Domain:destroy` (32:37), `digitalocean.Domain.Domain:create_new_domain_record` (39:90), `digitalocean.Domain.Domain:update_domain_record` (92:126), `digitalocean.Domain.Domain:delete_domain_record` (128:137), `digitalocean.Domain.Domain:create` (139:150), `digitalocean.Domain.Domain:get_records` (152:169)

### Record
The Record component represents a DNS record within a domain. It allows for creating, retrieving, updating, and deleting individual DNS records. It interacts with the Domain component to manage records within a specific domain.
- **Related Classes/Methods**: `digitalocean.Record.Record` (5:126), `digitalocean.Record.Record:__init__` (23:36), `digitalocean.Record.Record:get_object` (39:45), `digitalocean.Record.Record:create` (47:83), `digitalocean.Record.Record:destroy` (85:92), `digitalocean.Record.Record:save` (94:113), `digitalocean.Record.Record:load` (115:123)

### FloatingIP
The FloatingIP component manages floating IP addresses, which are publicly accessible static IP addresses that can be reassigned between Droplets. It provides functionalities to create, retrieve, assign, unassign, and delete floating IPs. It interacts with the DigitalOcean API and Droplet component to manage IP assignments.
- **Related Classes/Methods**: `digitalocean.FloatingIP.FloatingIP` (5:112), `digitalocean.FloatingIP.FloatingIP:__init__` (6:11), `digitalocean.FloatingIP.FloatingIP:get_object` (14:24), `digitalocean.FloatingIP.FloatingIP:load` (26:39), `digitalocean.FloatingIP.FloatingIP:create` (41:59), `digitalocean.FloatingIP.FloatingIP:reserve` (61:80), `digitalocean.FloatingIP.FloatingIP:destroy` (82:86), `digitalocean.FloatingIP.FloatingIP:assign` (88:99), `digitalocean.FloatingIP.FloatingIP:unassign` (101:109)

### LoadBalancer
The LoadBalancer component manages load balancers, which distribute network traffic across multiple Droplets. It provides functionalities to create, retrieve, update, and delete load balancers, as well as manage their associated Droplets and forwarding rules. It interacts with the DigitalOcean API and Droplet component to manage load balancing configurations.
- **Related Classes/Methods**: `digitalocean.LoadBalancer.LoadBalancer` (85:380), `digitalocean.LoadBalancer.LoadBalancer:__init__` (145:163), `digitalocean.LoadBalancer.LoadBalancer:get_object` (166:176), `digitalocean.LoadBalancer.LoadBalancer:load` (178:203), `digitalocean.LoadBalancer.LoadBalancer:create` (205:283), `digitalocean.LoadBalancer.LoadBalancer:save` (285:315), `digitalocean.LoadBalancer.LoadBalancer:destroy` (317:321), `digitalocean.LoadBalancer.LoadBalancer:add_droplets` (323:334), `digitalocean.LoadBalancer.LoadBalancer:remove_droplets` (336:347), `digitalocean.LoadBalancer.LoadBalancer:add_forwarding_rules` (349:362), `digitalocean.LoadBalancer.LoadBalancer:remove_forwarding_rules` (364:377)

### Firewall
The Firewall component manages firewalls, which control network traffic to and from Droplets. It provides functionalities to create, retrieve, update, and delete firewalls, as well as manage their inbound and outbound rules, and associated Droplets and tags. It interacts with the DigitalOcean API and Droplet component to manage firewall configurations.
- **Related Classes/Methods**: `digitalocean.Firewall.Firewall` (104:303), `digitalocean.Firewall.Firewall:__init__` (134:145), `digitalocean.Firewall.Firewall:get_object` (148:154), `digitalocean.Firewall.Firewall:_set_firewall_attributes` (156:173), `digitalocean.Firewall.Firewall:load` (175:180), `digitalocean.Firewall.Firewall:create` (182:196), `digitalocean.Firewall.Firewall:add_inbound` (198:210), `digitalocean.Firewall.Firewall:add_outbound` (212:224), `digitalocean.Firewall.Firewall:remove_inbound` (226:238), `digitalocean.Firewall.Firewall:remove_outbound` (240:252), `digitalocean.Firewall.Firewall:add_droplets` (254:262), `digitalocean.Firewall.Firewall:remove_droplets` (264:272), `digitalocean.Firewall.Firewall:add_tags` (274:282), `digitalocean.Firewall.Firewall:remove_tags` (284:292), `digitalocean.Firewall.Firewall:destroy` (296:300)
13 changes: 13 additions & 0 deletions CodeBoarding/ProjectResource.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
```mermaid
graph LR
Project["Project"]
```
[![CodeBoarding](https://img.shields.io/badge/Generated%20by-CodeBoarding-9cf?style=flat-square)](https://github.com/CodeBoarding/GeneratedOnBoardings)[![Demo](https://img.shields.io/badge/Try%20our-Demo-blue?style=flat-square)](https://www.codeboarding.org/demo)[![Contact](https://img.shields.io/badge/Contact%20us%20-%20codeboarding@gmail.com-lightgrey?style=flat-square)](mailto:codeboarding@gmail.com)

## Component Details

The DigitalOcean Project management subsystem allows users to create, retrieve, update, and delete projects, as well as manage resources associated with those projects. The core component is the `Project` class, which encapsulates the project's data and provides methods for interacting with the DigitalOcean API. The `Project` component relies on the `ResourceManager` to handle the actual API calls for project management and resource assignment.

### Project
Represents a DigitalOcean Project. It allows creating, deleting, updating, and managing resources within a project. It also handles loading project details and resources from the DigitalOcean API.
- **Related Classes/Methods**: `digitalocean.Project.Project` (4:144), `digitalocean.Project.Project:__init__` (5:17), `digitalocean.Project.Project:get_object` (20:29), `digitalocean.Project.Project:load` (31:36), `digitalocean.Project.Project:set_as_default_project` (38:49), `digitalocean.Project.Project:create_project` (51:86), `digitalocean.Project.Project:delete_project` (88:90), `digitalocean.Project.Project:update_project` (92:120), `digitalocean.Project.Project:get_all_resources` (122:128), `digitalocean.Project.Project:load_resources` (130:135), `digitalocean.Project.Project:assign_resource` (137:141)
Loading
Loading