Skip to content
Merged
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
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@ This project uses [Semantic Versioning 2.0.0](http://semver.org/).

## main

- CHANGED: Dependency updates
- REMOVED: `DomainCollaborators` have been removed. Please use our Domain Access Control feature.

## 4.0.0

- NEW: Added `alias_email` and `destination_email` to `EmailForward`
Expand Down
2 changes: 1 addition & 1 deletion LICENSE.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
The MIT License (MIT)

Copyright (c) 2024 DNSimple Corporation
Copyright (c) 2025 DNSimple Corporation

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -143,4 +143,4 @@ Contibutions are welcomed. Please open an issue to discuss the changes before op

## License

Copyright (c) 2024 DNSimple Corporation. This is Free Software distributed under the MIT license.
Copyright (c) 2025 DNSimple Corporation. This is Free Software distributed under the MIT license.
65 changes: 0 additions & 65 deletions dnsimple/service/domains.py
Original file line number Diff line number Diff line change
Expand Up @@ -99,71 +99,6 @@ def delete_domain(self, account_id, domain):
response = self.client.delete(f'/{account_id}/domains/{domain}')
return Response(response)

def list_collaborators(self, account_id, domain):
"""
List collaborators for the domain in the account.

See https://developer.dnsimple.com/v2/domains/collaborators/#listDomainCollaborators

:param account_id: int
The account ID
:param domain: int/str
The domain name or id
:return: dnsimple.Response
A list of collaborators for the domain in the account
"""
warnings.warn("DEPRECATION WARNING: `DomainCollaborators` have been deprecated and will be removed in the next major version. Please use our Domain Access Control feature.")
response = self.client.get(f'/{account_id}/domains/{domain}/collaborators')
return Response(response, Collaborator)

def add_collaborator(self, account_id, domain, email):
"""
Adds a collaborator for the domain in the account

At the time of the add, a collaborator may or may not have a DNSimple account.

In case the collaborator doesn't have a DNSimple account, the system will invite her/him to register to
DNSimple first and then to accept the collaboration invitation.

In the other case, she/he is automatically added to the domain as collaborator. She/he can decide to reject
the invitation later.

See https://developer.dnsimple.com/v2/domains/collaborators/#addDomainCollaborator

:param account_id: int
The account ID
:param domain: int/str
The domain name or id
:param email: str
The email of the collaborator to be added

:return: dnsimple.Response
The collaborator added to the domain in the account
"""
warnings.warn("DEPRECATION WARNING: `DomainCollaborators` have been deprecated and will be removed in the next major version. Please use our Domain Access Control feature.")
response = self.client.post(f'/{account_id}/domains/{domain}/collaborators', data=json.dumps({'email': email}))
return Response(response, Collaborator)

def remove_collaborator(self, account_id, domain, collaborator):
"""
Remove a collaborator from the domain in the account

See https://developer.dnsimple.com/v2/domains/collaborators/#removeDomainCollaborator

:param account_id: int
The account ID
:param domain: int/str
The domain name or id
:param collaborator: int
The collaborator id

:return: dnsimple.Response
An empty response
"""
warnings.warn("DEPRECATION WARNING: `DomainCollaborators` have been deprecated and will be removed in the next major version. Please use our Domain Access Control feature.")
response = self.client.delete(f'/{account_id}/domains/{domain}/collaborators/{collaborator}')
return Response(response)

def enable_dnssec(self, account_id, domain):
"""
Enable DNSSEC for the domain in the account. This will sign the zone. If the domain is registered it will also
Expand Down
54 changes: 0 additions & 54 deletions tests/service/domains_collaborators_test.py

This file was deleted.