get dedicated gateway value from API response

This commit is contained in:
Tara Zou
2024-03-26 10:38:59 -04:00
parent b26dd70bbd
commit 5e83b81540
3 changed files with 21 additions and 12 deletions

View File

@@ -24,6 +24,7 @@ export enum ResourceStatus {
export interface DedicatedGatewayResponse {
sku: string;
dedicatedGatewayType: string;
instances: number;
status: string;
endpoint: string;
@@ -42,7 +43,7 @@ export const updateDedicatedGatewayResource = async (
const body: UpdateDedicatedGatewayRequestParameters = {
properties: {
instanceSize: sku,
// TODO: pass in DedicatedGatewayType into the properties on Update
dedicatedGatewayType: dedicatedGatewayType,
instanceCount: instances,
serviceType: "SqlDedicatedGateway",
},
@@ -114,12 +115,19 @@ export const getCurrentProvisioningState = async (): Promise<DedicatedGatewayRes
const response = await getDedicatedGatewayResource();
return {
sku: response.properties.instanceSize,
dedicatedGatewayType: response.properties.dedicatedGatewayType,
instances: response.properties.instanceCount,
status: response.properties.status,
endpoint: response.properties.sqlxEndPoint,
};
} catch (e) {
return { sku: undefined, instances: undefined, status: undefined, endpoint: undefined };
return {
sku: undefined,
dedicatedGatewayType: undefined,
instances: undefined,
status: undefined,
endpoint: undefined,
};
}
};

View File

@@ -408,8 +408,7 @@ export default class SqlX extends SelfServeBaseClass {
if (response.status && response.status !== "Deleting") {
defaults.set("enableDedicatedGateway", { value: true });
defaults.set("sku", { value: response.sku, disabled: true });
// TODO: Replace mocked value with real API response value later on initilization
defaults.set("dedicatedGatewayType", { value: IntegratedCache, disabled: true });
defaults.set("dedicatedGatewayType", { value: response.dedicatedGatewayType || IntegratedCache, disabled: true });
defaults.set("instances", { value: response.instances, disabled: false });
defaults.set("costPerHour", { value: calculateCost(response.sku, response.instances) });
defaults.set("connectionString", {
@@ -451,14 +450,6 @@ export default class SqlX extends SelfServeBaseClass {
})
enableDedicatedGateway: boolean;
@OnChange(onSKUChange)
@Values({
labelTKey: "SKUs",
choices: getSkus,
placeholderTKey: "SKUsPlaceHolder",
})
sku: ChoiceItem;
@OnChange(onDedicatedGatewayTypeChange)
@Values({
labelTKey: "Dedicated Gateway Type",
@@ -467,6 +458,14 @@ export default class SqlX extends SelfServeBaseClass {
})
dedicatedGatewayType: ChoiceItem;
@OnChange(onSKUChange)
@Values({
labelTKey: "SKUs",
choices: getSkus,
placeholderTKey: "SKUsPlaceHolder",
})
sku: ChoiceItem;
@OnChange(onNumberOfInstancesChange)
@PropertyInfo(NumberOfInstancesDropdownInfo)
@Values({

View File

@@ -10,6 +10,7 @@ export type SqlxServiceProps = {
creationTime: string;
status: string;
instanceSize: string;
dedicatedGatewayType: string;
instanceCount: number;
sqlxEndPoint: string;
};
@@ -26,6 +27,7 @@ export type UpdateDedicatedGatewayRequestParameters = {
export type UpdateDedicatedGatewayRequestProperties = {
instanceSize: string;
dedicatedGatewayType: string;
instanceCount: number;
serviceType: string;
};