@@ -189,37 +189,34 @@ def get_by_name(self, name: str) -> BoundPrimaryIP | None:
189189 def create (
190190 self ,
191191 type : str ,
192- # TODO: Make the datacenter argument optional
193- datacenter : Datacenter | BoundDatacenter | None ,
194192 name : str ,
193+ datacenter : Datacenter | BoundDatacenter | None = None ,
195194 assignee_type : str | None = "server" ,
196195 assignee_id : int | None = None ,
197196 auto_delete : bool | None = False ,
198197 labels : dict | None = None ,
199198 ) -> CreatePrimaryIPResponse :
200199 """Creates a new Primary IP assigned to a server.
201200
202- :param type: str
203- Primary IP type Choices: ipv4, ipv6
204- :param assignee_type: str
205- :param assignee_id: int (optional)
206- :param datacenter: Datacenter
207- :param labels: Dict[str, str] (optional)
208- User-defined labels (key-value pairs)
201+ :param type: str Primary IP type Choices: ipv4, ipv6
209202 :param name: str
203+ :param datacenter: Datacenter (optional)
204+ :param assignee_type: str (optional)
205+ :param assignee_id: int (optional)
210206 :param auto_delete: bool (optional)
207+ :param labels: Dict[str, str] (optional) User-defined labels (key-value pairs)
211208 :return: :class:`CreatePrimaryIPResponse <hcloud.primary_ips.domain.CreatePrimaryIPResponse>`
212209 """
213210
214211 data : dict [str , Any ] = {
212+ "name" : name ,
215213 "type" : type ,
216- "assignee_type" : assignee_type ,
217214 "auto_delete" : auto_delete ,
218- "name" : name ,
219215 }
220216 if datacenter is not None :
221217 data ["datacenter" ] = datacenter .id_or_name
222218 if assignee_id is not None :
219+ data ["assignee_type" ] = assignee_type
223220 data ["assignee_id" ] = assignee_id
224221 if labels is not None :
225222 data ["labels" ] = labels
0 commit comments