@@ -17,12 +17,14 @@ import {
1717 marshalRefreshDNSZoneRequest ,
1818 marshalRegistrarApiBuyDomainsRequest ,
1919 marshalRegistrarApiCheckContactsCompatibilityRequest ,
20+ marshalRegistrarApiCreateDomainHostRequest ,
2021 marshalRegistrarApiEnableDomainDNSSECRequest ,
2122 marshalRegistrarApiRegisterExternalDomainRequest ,
2223 marshalRegistrarApiRenewDomainsRequest ,
2324 marshalRegistrarApiTradeDomainRequest ,
2425 marshalRegistrarApiTransferInDomainRequest ,
2526 marshalRegistrarApiUpdateContactRequest ,
27+ marshalRegistrarApiUpdateDomainHostRequest ,
2628 marshalRegistrarApiUpdateDomainRequest ,
2729 marshalUpdateDNSZoneNameserversRequest ,
2830 marshalUpdateDNSZoneRecordsRequest ,
@@ -38,6 +40,7 @@ import {
3840 unmarshalGetDNSZoneTsigKeyResponse ,
3941 unmarshalGetDNSZoneVersionDiffResponse ,
4042 unmarshalGetDomainAuthCodeResponse ,
43+ unmarshalHost ,
4144 unmarshalImportProviderDNSZoneResponse ,
4245 unmarshalImportRawDNSZoneResponse ,
4346 unmarshalListContactsResponse ,
@@ -46,6 +49,7 @@ import {
4649 unmarshalListDNSZoneVersionRecordsResponse ,
4750 unmarshalListDNSZoneVersionsResponse ,
4851 unmarshalListDNSZonesResponse ,
52+ unmarshalListDomainHostsResponse ,
4953 unmarshalListDomainsResponse ,
5054 unmarshalListRenewableDomainsResponse ,
5155 unmarshalListSSLCertificatesResponse ,
@@ -82,6 +86,7 @@ import type {
8286 GetDNSZoneVersionDiffResponse ,
8387 GetDomainAuthCodeResponse ,
8488 GetSSLCertificateRequest ,
89+ Host ,
8590 ImportProviderDNSZoneRequest ,
8691 ImportProviderDNSZoneResponse ,
8792 ImportRawDNSZoneRequest ,
@@ -97,6 +102,7 @@ import type {
97102 ListDNSZoneVersionsResponse ,
98103 ListDNSZonesRequest ,
99104 ListDNSZonesResponse ,
105+ ListDomainHostsResponse ,
100106 ListDomainsResponse ,
101107 ListRenewableDomainsResponse ,
102108 ListSSLCertificatesRequest ,
@@ -108,6 +114,8 @@ import type {
108114 RegisterExternalDomainResponse ,
109115 RegistrarApiBuyDomainsRequest ,
110116 RegistrarApiCheckContactsCompatibilityRequest ,
117+ RegistrarApiCreateDomainHostRequest ,
118+ RegistrarApiDeleteDomainHostRequest ,
111119 RegistrarApiDeleteExternalDomainRequest ,
112120 RegistrarApiDisableDomainAutoRenewRequest ,
113121 RegistrarApiDisableDomainDNSSECRequest ,
@@ -117,6 +125,7 @@ import type {
117125 RegistrarApiGetDomainAuthCodeRequest ,
118126 RegistrarApiGetDomainRequest ,
119127 RegistrarApiListContactsRequest ,
128+ RegistrarApiListDomainHostsRequest ,
120129 RegistrarApiListDomainsRequest ,
121130 RegistrarApiListRenewableDomainsRequest ,
122131 RegistrarApiListTasksRequest ,
@@ -128,6 +137,7 @@ import type {
128137 RegistrarApiTransferInDomainRequest ,
129138 RegistrarApiUnlockDomainTransferRequest ,
130139 RegistrarApiUpdateContactRequest ,
140+ RegistrarApiUpdateDomainHostRequest ,
131141 RegistrarApiUpdateDomainRequest ,
132142 RestoreDNSZoneVersionRequest ,
133143 RestoreDNSZoneVersionResponse ,
@@ -1332,4 +1342,102 @@ export class DomainRegistrarV2Beta1GenAPI extends API {
13321342 } ,
13331343 unmarshalSearchAvailableDomainsResponse ,
13341344 )
1345+
1346+ /**
1347+ * Create domain hostname with glue IPs
1348+ *
1349+ * @param request - The request {@link RegistrarApiCreateDomainHostRequest}
1350+ * @returns A Promise of Host
1351+ */
1352+ createDomainHost = ( request : Readonly < RegistrarApiCreateDomainHostRequest > ) =>
1353+ this . client . fetch < Host > (
1354+ {
1355+ body : JSON . stringify (
1356+ marshalRegistrarApiCreateDomainHostRequest (
1357+ request ,
1358+ this . client . settings ,
1359+ ) ,
1360+ ) ,
1361+ headers : jsonContentHeaders ,
1362+ method : 'POST' ,
1363+ path : `/domain/v2beta1/domains/${ validatePathParam (
1364+ 'domain' ,
1365+ request . domain ,
1366+ ) } /hosts`,
1367+ } ,
1368+ unmarshalHost ,
1369+ )
1370+
1371+ protected pageOfListDomainHosts = (
1372+ request : Readonly < RegistrarApiListDomainHostsRequest > ,
1373+ ) =>
1374+ this . client . fetch < ListDomainHostsResponse > (
1375+ {
1376+ method : 'GET' ,
1377+ path : `/domain/v2beta1/domains/${ validatePathParam (
1378+ 'domain' ,
1379+ request . domain ,
1380+ ) } /hosts`,
1381+ urlParams : urlParams (
1382+ [ 'page' , request . page ] ,
1383+ [
1384+ 'page_size' ,
1385+ request . pageSize ?? this . client . settings . defaultPageSize ,
1386+ ] ,
1387+ ) ,
1388+ } ,
1389+ unmarshalListDomainHostsResponse ,
1390+ )
1391+
1392+ /**
1393+ * List domain hostnames with they glue IPs
1394+ *
1395+ * @param request - The request {@link RegistrarApiListDomainHostsRequest}
1396+ * @returns A Promise of ListDomainHostsResponse
1397+ */
1398+ listDomainHosts = ( request : Readonly < RegistrarApiListDomainHostsRequest > ) =>
1399+ enrichForPagination ( 'hosts' , this . pageOfListDomainHosts , request )
1400+
1401+ /**
1402+ * Update domain hostname with glue IPs
1403+ *
1404+ * @param request - The request {@link RegistrarApiUpdateDomainHostRequest}
1405+ * @returns A Promise of Host
1406+ */
1407+ updateDomainHost = ( request : Readonly < RegistrarApiUpdateDomainHostRequest > ) =>
1408+ this . client . fetch < Host > (
1409+ {
1410+ body : JSON . stringify (
1411+ marshalRegistrarApiUpdateDomainHostRequest (
1412+ request ,
1413+ this . client . settings ,
1414+ ) ,
1415+ ) ,
1416+ headers : jsonContentHeaders ,
1417+ method : 'PATCH' ,
1418+ path : `/domain/v2beta1/domains/${ validatePathParam (
1419+ 'domain' ,
1420+ request . domain ,
1421+ ) } /hosts/${ validatePathParam ( 'name' , request . name ) } `,
1422+ } ,
1423+ unmarshalHost ,
1424+ )
1425+
1426+ /**
1427+ * Delete domain hostname
1428+ *
1429+ * @param request - The request {@link RegistrarApiDeleteDomainHostRequest}
1430+ * @returns A Promise of Host
1431+ */
1432+ deleteDomainHost = ( request : Readonly < RegistrarApiDeleteDomainHostRequest > ) =>
1433+ this . client . fetch < Host > (
1434+ {
1435+ method : 'DELETE' ,
1436+ path : `/domain/v2beta1/domains/${ validatePathParam (
1437+ 'domain' ,
1438+ request . domain ,
1439+ ) } /hosts/${ validatePathParam ( 'name' , request . name ) } `,
1440+ } ,
1441+ unmarshalHost ,
1442+ )
13351443}
0 commit comments