ManagementRestClient class

Base class that should be used (derived from) to make requests to VSS REST apis

Extends

Constructors

ManagementRestClient(IVssRestClientOptions)

Methods

createBillingSnapshot(MeterUsage)

During multi-org billing computation in primary scale unit(EUS21), this API is used to create billing snapshot for a specific org. Primary scale unit will call this API for each org in different scsle units to create billing snapshot. Data will be stored in the org specific partition DB -> billing snapshot table. This is needed as customers will fetch billing data from their org specific partition DB.

deleteBillingInfo(string)

Delete the billing info for an organization.

deleteMeterUsageHistory(string)

Delete the meter usage history from Primary SU for an organization.

getBillableCommitterDetails(Date)

Get all billable committers details, including those not matched with a VSID.

getBillingInfo(string)

Get the billing info for an organization.

getEstimatedOrgBillablePushers()

Estimate the committers that would be added to the customer's usage if Advanced Security was enabled for this organization.

getEstimatedProjectBillablePushers(string)

Estimate the number of committers that would be added to the customer's usage if Advanced Security was enabled for this project.

getEstimatedRepoBillableCommitters(string, string)

Estimate the committers that would be added to the customer's usage if Advanced Security was enabled for this repository.

getLastMeterUsage()
getMeterUsage(Date)

Get commiters used when calculating billing information.

getOrgEnablementStatus(boolean)

Get the current status of Advanced Security for the organization

getProjectEnablementStatus(string, boolean)

Get the current status of Advanced Security for a project

getRepoEnablementStatus(string, string, boolean)

Determine if Advanced Security is enabled for a repository

saveBillingInfo(BillingInfo, string)

Save the billing info for an organization.

updateOrgEnablementStatus(AdvSecEnablementSettingsUpdate)

Update the status of Advanced Security for the organization

updateProjectEnablementStatus(AdvSecEnablementSettingsUpdate, string)

Update the status of Advanced Security for the project

updateRepoAdvSecEnablementStatus(AdvSecEnablementStatusUpdate, string, string)

Update the enablement of Advanced Security for a repository

Constructor Details

ManagementRestClient(IVssRestClientOptions)

new ManagementRestClient(options: IVssRestClientOptions)

Parameters

Method Details

createBillingSnapshot(MeterUsage)

During multi-org billing computation in primary scale unit(EUS21), this API is used to create billing snapshot for a specific org. Primary scale unit will call this API for each org in different scsle units to create billing snapshot. Data will be stored in the org specific partition DB -> billing snapshot table. This is needed as customers will fetch billing data from their org specific partition DB.

function createBillingSnapshot(meterUsage: MeterUsage): Promise<void>

Parameters

meterUsage
MeterUsage

Returns

Promise<void>

deleteBillingInfo(string)

Delete the billing info for an organization.

function deleteBillingInfo(organizationId: string): Promise<void>

Parameters

organizationId

string

Returns

Promise<void>

deleteMeterUsageHistory(string)

Delete the meter usage history from Primary SU for an organization.

function deleteMeterUsageHistory(organizationId: string): Promise<void>

Parameters

organizationId

string

Returns

Promise<void>

getBillableCommitterDetails(Date)

Get all billable committers details, including those not matched with a VSID.

function getBillableCommitterDetails(billingDate?: Date): Promise<BillableCommitterDetails[]>

Parameters

billingDate

Date

The date to query, or if not provided, today

Returns

getBillingInfo(string)

Get the billing info for an organization.

function getBillingInfo(organizationId: string): Promise<BillingInfo>

Parameters

organizationId

string

Organization ID to get billing info for.

Returns

Promise<BillingInfo>

getEstimatedOrgBillablePushers()

Estimate the committers that would be added to the customer's usage if Advanced Security was enabled for this organization.

function getEstimatedOrgBillablePushers(): Promise<string[]>

Returns

Promise<string[]>

getEstimatedProjectBillablePushers(string)

Estimate the number of committers that would be added to the customer's usage if Advanced Security was enabled for this project.

function getEstimatedProjectBillablePushers(project: string): Promise<string[]>

Parameters

project

string

Project ID or project name

Returns

Promise<string[]>

getEstimatedRepoBillableCommitters(string, string)

Estimate the committers that would be added to the customer's usage if Advanced Security was enabled for this repository.

function getEstimatedRepoBillableCommitters(project: string, repository: string): Promise<string[]>

Parameters

project

string

Project ID or project name

repository

string

The name or ID of the repository

Returns

Promise<string[]>

getLastMeterUsage()

function getLastMeterUsage(): Promise<MeterUsage>

Returns

Promise<MeterUsage>

getMeterUsage(Date)

Get commiters used when calculating billing information.

function getMeterUsage(billingDate?: Date): Promise<MeterUsage>

Parameters

billingDate

Date

The date to query, or if not provided, today

Returns

Promise<MeterUsage>

getOrgEnablementStatus(boolean)

Get the current status of Advanced Security for the organization

function getOrgEnablementStatus(includeAllProperties?: boolean): Promise<AdvSecEnablementSettings>

Parameters

includeAllProperties

boolean

When true, also determine if pushes are blocked if they contain secrets

Returns

getProjectEnablementStatus(string, boolean)

Get the current status of Advanced Security for a project

function getProjectEnablementStatus(project: string, includeAllProperties?: boolean): Promise<AdvSecEnablementSettings>

Parameters

project

string

Project ID or project name

includeAllProperties

boolean

When true, also determine if pushes are blocked if they contain secrets

Returns

getRepoEnablementStatus(string, string, boolean)

Determine if Advanced Security is enabled for a repository

function getRepoEnablementStatus(project: string, repository: string, includeAllProperties?: boolean): Promise<AdvSecEnablementStatus>

Parameters

project

string

Project ID or project name

repository

string

The name or ID of the repository

includeAllProperties

boolean

When true, will also determine if pushes are blocked when secrets are detected

Returns

saveBillingInfo(BillingInfo, string)

Save the billing info for an organization.

function saveBillingInfo(billingInfo: BillingInfo, organizationId: string): Promise<void>

Parameters

billingInfo
BillingInfo
organizationId

string

Returns

Promise<void>

updateOrgEnablementStatus(AdvSecEnablementSettingsUpdate)

Update the status of Advanced Security for the organization

function updateOrgEnablementStatus(savedAdvSecEnablementStatus: AdvSecEnablementSettingsUpdate): Promise<void>

Parameters

savedAdvSecEnablementStatus
AdvSecEnablementSettingsUpdate

The new status

Returns

Promise<void>

updateProjectEnablementStatus(AdvSecEnablementSettingsUpdate, string)

Update the status of Advanced Security for the project

function updateProjectEnablementStatus(savedAdvSecEnablementStatus: AdvSecEnablementSettingsUpdate, project: string): Promise<void>

Parameters

savedAdvSecEnablementStatus
AdvSecEnablementSettingsUpdate

The new status

project

string

Project ID or project name

Returns

Promise<void>

updateRepoAdvSecEnablementStatus(AdvSecEnablementStatusUpdate, string, string)

Update the enablement of Advanced Security for a repository

function updateRepoAdvSecEnablementStatus(savedAdvSecEnablementStatus: AdvSecEnablementStatusUpdate, project: string, repository: string): Promise<void>

Parameters

savedAdvSecEnablementStatus
AdvSecEnablementStatusUpdate

new status

project

string

Project ID or project name

repository

string

Name or ID of the repository

Returns

Promise<void>