mirror of
https://github.com/Azure/cosmos-explorer.git
synced 2025-10-13 15:28:05 +01:00
240 lines
7.0 KiB
TypeScript
240 lines
7.0 KiB
TypeScript
import { SubscriptionType } from "../Contracts/SubscriptionType";
|
|
|
|
export const hoursInAMonth = 730;
|
|
export class AutoscalePricing {
|
|
public static MonthlyPricing = {
|
|
default: {
|
|
singleMaster: {
|
|
Currency: "USD",
|
|
CurrencySign: "$",
|
|
Standard: {
|
|
StartingPrice: 24,
|
|
PricePerRU: 0.09,
|
|
PricePerGB: 0.25
|
|
}
|
|
},
|
|
multiMaster: {
|
|
Currency: "USD",
|
|
CurrencySign: "$",
|
|
Standard: {
|
|
StartingPrice: 24,
|
|
PricePerRU: 0.12,
|
|
PricePerGB: 0.25
|
|
}
|
|
}
|
|
},
|
|
mooncake: {
|
|
singleMaster: {
|
|
Currency: "RMB",
|
|
CurrencySign: "¥",
|
|
Standard: {
|
|
StartingPrice: 152,
|
|
PricePerRU: 0.57,
|
|
PricePerGB: 2.576
|
|
}
|
|
},
|
|
multiMaster: {
|
|
Currency: "RMB",
|
|
CurrencySign: "¥",
|
|
Standard: {
|
|
StartingPrice: 152,
|
|
PricePerRU: 0.76,
|
|
PricePerGB: 2.576
|
|
}
|
|
}
|
|
}
|
|
};
|
|
|
|
public static HourlyPricing = {
|
|
default: {
|
|
singleMaster: {
|
|
Currency: "USD",
|
|
CurrencySign: "$",
|
|
Standard: {
|
|
StartingPrice: 24 / hoursInAMonth,
|
|
PricePerRU: 0.00012,
|
|
PricePerGB: 0.25 / hoursInAMonth
|
|
}
|
|
},
|
|
multiMaster: {
|
|
Currency: "USD",
|
|
CurrencySign: "$",
|
|
Standard: {
|
|
StartingPrice: 24 / hoursInAMonth,
|
|
PricePerRU: 0.00016,
|
|
PricePerGB: 0.25 / hoursInAMonth
|
|
}
|
|
}
|
|
},
|
|
mooncake: {
|
|
singleMaster: {
|
|
Currency: "RMB",
|
|
CurrencySign: "¥",
|
|
Standard: {
|
|
StartingPrice: AutoscalePricing.MonthlyPricing.mooncake.singleMaster.Standard.StartingPrice / hoursInAMonth, // per hour
|
|
PricePerRU: 0.000765,
|
|
PricePerGB: AutoscalePricing.MonthlyPricing.mooncake.singleMaster.Standard.PricePerGB / hoursInAMonth
|
|
}
|
|
},
|
|
multiMaster: {
|
|
Currency: "RMB",
|
|
CurrencySign: "¥",
|
|
Standard: {
|
|
StartingPrice: AutoscalePricing.MonthlyPricing.mooncake.multiMaster.Standard.StartingPrice / hoursInAMonth, // per hour
|
|
PricePerRU: 0.00102,
|
|
PricePerGB: AutoscalePricing.MonthlyPricing.mooncake.multiMaster.Standard.PricePerGB / hoursInAMonth
|
|
}
|
|
}
|
|
}
|
|
};
|
|
}
|
|
|
|
export class OfferPricing {
|
|
public static MonthlyPricing = {
|
|
default: {
|
|
Currency: "USD",
|
|
CurrencySign: "$",
|
|
S1Price: 25,
|
|
S2Price: 50,
|
|
S3Price: 100,
|
|
Standard: {
|
|
StartingPrice: 24,
|
|
PricePerRU: 0.06,
|
|
PricePerGB: 0.25
|
|
}
|
|
},
|
|
mooncake: {
|
|
Currency: "RMB",
|
|
CurrencySign: "¥",
|
|
S1Price: 110.3,
|
|
S2Price: 220.6,
|
|
S3Price: 441.2,
|
|
Standard: {
|
|
StartingPrice: 152,
|
|
PricePerRU: 0.3794,
|
|
PricePerGB: 2.576
|
|
}
|
|
}
|
|
};
|
|
public static HourlyPricing = {
|
|
default: {
|
|
Currency: "USD",
|
|
CurrencySign: "$",
|
|
S1Price: 0.0336,
|
|
S2Price: 0.0672,
|
|
S3Price: 0.1344,
|
|
Standard: {
|
|
StartingPrice: 24 / hoursInAMonth, // per hour
|
|
PricePerRU: 0.00008,
|
|
PricePerGB: 0.25 / hoursInAMonth
|
|
}
|
|
},
|
|
mooncake: {
|
|
Currency: "RMB",
|
|
CurrencySign: "¥",
|
|
S1Price: 0.15,
|
|
S2Price: 0.3,
|
|
S3Price: 0.6,
|
|
Standard: {
|
|
StartingPrice: OfferPricing.MonthlyPricing.mooncake.Standard.StartingPrice / hoursInAMonth, // per hour
|
|
PricePerRU: 0.00051,
|
|
PricePerGB: OfferPricing.MonthlyPricing.mooncake.Standard.PricePerGB / hoursInAMonth
|
|
}
|
|
}
|
|
};
|
|
}
|
|
|
|
export class CollectionCreation {
|
|
// TODO generate these values based on Product\Services\Documents\ImageStore\GatewayApplication\Settings.xml
|
|
public static readonly MinRUPerPartitionBelow7Partitions: number = 400;
|
|
public static readonly MinRU7PartitionsTo25Partitions: number = 2500;
|
|
public static readonly MinRUPerPartitionAbove25Partitions: number = 100;
|
|
public static readonly MaxRUPerPartition: number = 10000;
|
|
public static readonly MinPartitionedCollectionRUs: number = 2500;
|
|
|
|
public static readonly NumberOfPartitionsInFixedCollection: number = 1;
|
|
public static readonly NumberOfPartitionsInUnlimitedCollection: number = 10;
|
|
|
|
public static storage10Gb: string = "10";
|
|
public static storage100Gb: string = "100";
|
|
|
|
public static readonly DefaultCollectionRUs1000: number = 1000;
|
|
public static readonly DefaultCollectionRUs10K: number = 10000;
|
|
public static readonly DefaultCollectionRUs400: number = 400;
|
|
public static readonly DefaultCollectionRUs2000: number = 2000;
|
|
public static readonly DefaultCollectionRUs2500: number = 2500;
|
|
public static readonly DefaultCollectionRUs5000: number = 5000;
|
|
public static readonly DefaultCollectionRUs15000: number = 15000;
|
|
public static readonly DefaultCollectionRUs20000: number = 20000;
|
|
public static readonly DefaultCollectionRUs25000: number = 25000;
|
|
public static readonly DefaultCollectionRUs100K: number = 100000;
|
|
public static readonly DefaultCollectionRUs1Million: number = 1000000;
|
|
|
|
public static readonly DefaultAddCollectionDefaultFlight: string = "0";
|
|
public static readonly DefaultSubscriptionType: SubscriptionType = SubscriptionType.Free;
|
|
|
|
public static readonly TablesAPIDefaultDatabase: string = "TablesDB";
|
|
}
|
|
|
|
export const CollectionCreationDefaults = {
|
|
storage: CollectionCreation.storage100Gb,
|
|
throughput: {
|
|
fixed: CollectionCreation.DefaultCollectionRUs400,
|
|
unlimited: CollectionCreation.DefaultCollectionRUs400,
|
|
unlimitedmax: CollectionCreation.DefaultCollectionRUs1Million,
|
|
unlimitedmin: CollectionCreation.DefaultCollectionRUs400,
|
|
shared: CollectionCreation.DefaultCollectionRUs400
|
|
}
|
|
} as const;
|
|
|
|
export class IndexingPolicies {
|
|
public static SharedDatabaseDefault = {
|
|
indexingMode: "consistent",
|
|
automatic: true,
|
|
includedPaths: <any>[],
|
|
excludedPaths: [
|
|
{
|
|
path: "/*"
|
|
}
|
|
]
|
|
};
|
|
|
|
public static AllPropertiesIndexed = {
|
|
indexingMode: "consistent",
|
|
automatic: true,
|
|
includedPaths: [
|
|
{
|
|
path: "/*",
|
|
indexes: [
|
|
{
|
|
kind: "Range",
|
|
dataType: "Number",
|
|
precision: -1
|
|
},
|
|
{
|
|
kind: "Range",
|
|
dataType: "String",
|
|
precision: -1
|
|
}
|
|
]
|
|
}
|
|
],
|
|
excludedPaths: <any>[]
|
|
};
|
|
}
|
|
|
|
export class SubscriptionUtilMappings {
|
|
public static FreeTierSubscriptionIds: string[] = [
|
|
"b8f2ff04-0a81-4cf9-95ef-5828d16981d2",
|
|
"39b1fdff-e5b2-4f83-adb4-33cb3aabf5ea",
|
|
"41f6d14d-ece1-46e4-942c-02c00d67f7d6",
|
|
"11dc62e3-77dc-4ef5-a46b-480ec6caa8fe",
|
|
"199d0919-60bd-448e-b64d-8461a0fe9747",
|
|
"a57b6849-d443-44cf-a3b7-7dd07ead9401"
|
|
];
|
|
}
|
|
|
|
export class AutopilotDocumentation {
|
|
public static Url: string = "https://aka.ms/cosmos-autoscale-info";
|
|
}
|