import * as API from "@distilled.cloud/core/api"; import { type HetznerOpError, type HetznerOpContext } from "../protocol.ts"; export type { HetznerOpError, HetznerOpContext }; export interface GetPricingRequest { } /** Type of [Primary IP](#tag/primary-ips) the price is for. */ export type GetPricingResponsePricingPrimaryIpsItemType = "ipv4" | "ipv6"; /** Hourly price in this [Location](#tag/locations). */ export interface GetPricingResponsePricingPrimaryIpsItemPricesItemPriceHourly { /** Price without VAT. */ net: string; /** Price with VAT added. */ gross: string; } /** Monthly price in this [Location](#tag/locations). */ export type GetPricingResponsePricingPrimaryIpsItemPricesItemPriceMonthly = GetPricingResponsePricingPrimaryIpsItemPricesItemPriceHourly; export interface GetPricingResponsePricingPrimaryIpsItemPricesItem { /** Name of the [Location](#tag/locations) the price is for. */ location: string; /** Hourly price in this [Location](#tag/locations). */ price_hourly: GetPricingResponsePricingPrimaryIpsItemPricesItemPriceHourly; /** Monthly price in this [Location](#tag/locations). */ price_monthly: GetPricingResponsePricingPrimaryIpsItemPricesItemPriceHourly; } /** Price of the [Primary IP](#tag/primary-ips) type per [Location](#tag/locations). */ export type GetPricingResponsePricingPrimaryIpsItemPricesList = Array; export interface GetPricingResponsePricingPrimaryIpsItem { /** Type of [Primary IP](#tag/primary-ips) the price is for. */ type: GetPricingResponsePricingPrimaryIpsItemType; /** Price of the [Primary IP](#tag/primary-ips) type per [Location](#tag/locations). */ prices: GetPricingResponsePricingPrimaryIpsItemPricesList; } /** Price of [Primary IPs](#tag/primary-ips) per type and per [Location](#tag/locations). */ export type GetPricingResponsePricingPrimaryIpsList = Array; /** Type of [Floating IP](#tag/floating-ips) the price is for. */ export type GetPricingResponsePricingFloatingIpsItemType = "ipv4" | "ipv6"; /** Monthly price in this [Location](#tag/locations). */ export type GetPricingResponsePricingFloatingIpsItemPricesItemPriceMonthly = GetPricingResponsePricingPrimaryIpsItemPricesItemPriceHourly; export interface GetPricingResponsePricingFloatingIpsItemPricesItem { /** Name of the [Location](#tag/locations) the price is for. */ location: string; /** Monthly price in this [Location](#tag/locations). */ price_monthly: GetPricingResponsePricingPrimaryIpsItemPricesItemPriceHourly; } /** Price of the [Floating IP](#tag/floating-ips) type per [Location](#tag/locations). */ export type GetPricingResponsePricingFloatingIpsItemPricesList = Array; export interface GetPricingResponsePricingFloatingIpsItem { /** Type of [Floating IP](#tag/floating-ips) the price is for. */ type: GetPricingResponsePricingFloatingIpsItemType; /** Price of the [Floating IP](#tag/floating-ips) type per [Location](#tag/locations). */ prices: GetPricingResponsePricingFloatingIpsItemPricesList; } /** Price of [Floating IPs](#tag/floating-ips) per type and per [Location](#tag/locations). */ export type GetPricingResponsePricingFloatingIpsList = Array; /** Price of [Images](#tag/images) per GB/month. */ export type GetPricingResponsePricingImagePricePerGbMonth = GetPricingResponsePricingPrimaryIpsItemPricesItemPriceHourly; /** Price of [Images](#tag/images). */ export interface GetPricingResponsePricingImage { /** Price of [Images](#tag/images) per GB/month. */ price_per_gb_month: GetPricingResponsePricingPrimaryIpsItemPricesItemPriceHourly; } /** Price of [Volumes](#tag/volumes) per GB/month. */ export type GetPricingResponsePricingVolumePricePerGbMonth = GetPricingResponsePricingPrimaryIpsItemPricesItemPriceHourly; /** Price of [Volumes](#tag/volumes). */ export interface GetPricingResponsePricingVolume { /** Price of [Volumes](#tag/volumes) per GB/month. */ price_per_gb_month: GetPricingResponsePricingPrimaryIpsItemPricesItemPriceHourly; } /** Price of [Server](#tag/servers) backups. */ export interface GetPricingResponsePricingServerBackup { /** Price increase of the [Server](#tag/servers) base price in percentage. */ percentage: string; } /** Hourly price in this [Location](#tag/locations). */ export type GetPricingResponsePricingServerTypesItemPricesItemPriceHourly = GetPricingResponsePricingPrimaryIpsItemPricesItemPriceHourly; /** Monthly price in this [Location](#tag/locations). */ export type GetPricingResponsePricingServerTypesItemPricesItemPriceMonthly = GetPricingResponsePricingPrimaryIpsItemPricesItemPriceHourly; /** Additional traffic price per TB in this [Location](#tag/locations). */ export type GetPricingResponsePricingServerTypesItemPricesItemPricePerTbTraffic = GetPricingResponsePricingPrimaryIpsItemPricesItemPriceHourly; export interface GetPricingResponsePricingServerTypesItemPricesItem { /** Name of the [Location](#tag/locations) the price is for. */ location: string; /** Hourly price in this [Location](#tag/locations). */ price_hourly: GetPricingResponsePricingPrimaryIpsItemPricesItemPriceHourly; /** Monthly price in this [Location](#tag/locations). */ price_monthly: GetPricingResponsePricingPrimaryIpsItemPricesItemPriceHourly; /** Free traffic per month in bytes in this [Location](#tag/locations). */ included_traffic: number; /** Additional traffic price per TB in this [Location](#tag/locations). */ price_per_tb_traffic: GetPricingResponsePricingPrimaryIpsItemPricesItemPriceHourly; } /** Price of the [Server Types](#tag/server-types) per [Location](#tag/locations). */ export type GetPricingResponsePricingServerTypesItemPricesList = Array; export interface GetPricingResponsePricingServerTypesItem { /** ID of the [Server Types](#tag/server-types) the price is for. */ id: number; /** Name of the [Server Types](#tag/server-types) the price is for. */ name: string; /** Price of the [Server Types](#tag/server-types) per [Location](#tag/locations). */ prices: GetPricingResponsePricingServerTypesItemPricesList; } /** Price of Server per [type](#tag/server-types) and per [Location](#tag/locations). */ export type GetPricingResponsePricingServerTypesList = Array; /** Hourly price in this [Location](#tag/locations). */ export type GetPricingResponsePricingLoadBalancerTypesItemPricesItemPriceHourly = GetPricingResponsePricingPrimaryIpsItemPricesItemPriceHourly; /** Monthly price in this [Location](#tag/locations). */ export type GetPricingResponsePricingLoadBalancerTypesItemPricesItemPriceMonthly = GetPricingResponsePricingPrimaryIpsItemPricesItemPriceHourly; /** Additional traffic price per TB in this [Location](#tag/locations). */ export type GetPricingResponsePricingLoadBalancerTypesItemPricesItemPricePerTbTraffic = GetPricingResponsePricingPrimaryIpsItemPricesItemPriceHourly; export type GetPricingResponsePricingLoadBalancerTypesItemPricesItem = GetPricingResponsePricingServerTypesItemPricesItem; /** Price of the [Load Balancer Types](#tag/load-balancer-types) per [Location](#tag/locations). */ export type GetPricingResponsePricingLoadBalancerTypesItemPricesList = Array; export interface GetPricingResponsePricingLoadBalancerTypesItem { /** ID of the [Load Balancer Types](#tag/load-balancer-types) the price is for. */ id: number; /** Name of the [Load Balancer Types](#tag/load-balancer-types) the price is for. */ name: string; /** Price of the [Load Balancer Types](#tag/load-balancer-types) per [Location](#tag/locations). */ prices: GetPricingResponsePricingLoadBalancerTypesItemPricesList; } /** Price of Load Balancer per [type](#tag/load-balancer-types) and per [Location](#tag/locations). */ export type GetPricingResponsePricingLoadBalancerTypesList = Array; /** Price of one [Floating IP](#tag/floating-ips) per month. */ export type GetPricingResponsePricingFloatingIpPriceMonthly = GetPricingResponsePricingPrimaryIpsItemPricesItemPriceHourly; /** Price of [Floating IPs](#tag/floating-ips). **Deprecated**: This field is deprecated, please refer to the `floating_ips` field instead. See the [Changelog](https://docs.hetzner.cloud/changelog#2024-08-29-field-floating_ip-in-pricing-response-is-now-deprecated) for more details. */ export interface GetPricingResponsePricingFloatingIp { /** Price of one [Floating IP](#tag/floating-ips) per month. */ price_monthly: GetPricingResponsePricingPrimaryIpsItemPricesItemPriceHourly; } export interface GetPricingResponsePricing { /** Currency the returned prices are expressed in, coded according to [ISO 4217](https://wikipedia.org/wiki/ISO_4217). */ currency: string; /** VAT rate used for calculating prices with VAT. */ vat_rate: string; /** Price of [Primary IPs](#tag/primary-ips) per type and per [Location](#tag/locations). */ primary_ips: GetPricingResponsePricingPrimaryIpsList; /** Price of [Floating IPs](#tag/floating-ips) per type and per [Location](#tag/locations). */ floating_ips: GetPricingResponsePricingFloatingIpsList; /** Price of [Images](#tag/images). */ image: GetPricingResponsePricingImage; /** Price of [Volumes](#tag/volumes). */ volume: GetPricingResponsePricingVolume; /** Price of [Server](#tag/servers) backups. */ server_backup: GetPricingResponsePricingServerBackup; /** Price of Server per [type](#tag/server-types) and per [Location](#tag/locations). */ server_types: GetPricingResponsePricingServerTypesList; /** Price of Load Balancer per [type](#tag/load-balancer-types) and per [Location](#tag/locations). */ load_balancer_types: GetPricingResponsePricingLoadBalancerTypesList; /** Price of [Floating IPs](#tag/floating-ips). **Deprecated**: This field is deprecated, please refer to the `floating_ips` field instead. See the [Changelog](https://docs.hetzner.cloud/changelog#2024-08-29-field-floating_ip-in-pricing-response-is-now-deprecated) for more details. */ floating_ip: GetPricingResponsePricingFloatingIp; } export interface GetPricingResponse { pricing: GetPricingResponsePricing; } export type GetPricingError = HetznerOpError; /** Get all prices Returns prices for all resources available on the platform. VAT and currency of the Project owner are used for calculations. Both net and gross prices are included in the response. */ export declare const getPricing: API.OperationMethod; //# sourceMappingURL=pricing.d.ts.map