UNPKG

5.61 kBTypeScriptView Raw
1import VSSInterfaces = require("../interfaces/common/VSSInterfaces");
2export interface AdvSecEnablementSettings {
3 /**
4 * Automatically enable Advanced Security on newly created repositories.
5 */
6 enableOnCreate?: boolean;
7 reposEnablementStatus?: AdvSecEnablementStatus[];
8}
9export interface AdvSecEnablementSettingsUpdate extends AdvSecEnablementStatusUpdate {
10 /**
11 * Automatically enable Advanced Security on newly created repositories.
12 */
13 enableOnCreate?: boolean;
14}
15export interface AdvSecEnablementStatus extends AdvSecEnablementStatusUpdate {
16 /**
17 * The last time the status of Advanced Security for this repository was updated
18 */
19 advSecEnablementLastChangedDate?: Date;
20 projectId?: string;
21 repositoryId?: string;
22}
23export interface AdvSecEnablementStatusUpdate {
24 /**
25 * Advanced Security enablement status set to False when disabled and True when enabled; Null is never explicitly set.
26 */
27 advSecEnabled?: boolean;
28 /**
29 * When true, pushes containing secrets will be blocked. <br />When false, pushes are scanned for secrets and are not blocked. <br />If includeAllProperties in the request is false, this value will be null.
30 */
31 blockPushes?: boolean;
32 /**
33 * Dependabot enablement status set to False when disabled and True when enabled; Null is never explicitly set. <br />When true, Dependabot will open PRs to support security updates for outdated dependencies. <br />If includeAllProperties in the request is false, this value will be null.
34 */
35 dependabotEnabled?: boolean;
36}
37/**
38 * Billable Committers Details for Advanced Security Services
39 */
40export interface BillableCommitterDetails {
41 /**
42 * ID (SHA-1) of the commit.
43 */
44 commitId?: string;
45 /**
46 * Committer email address after parsing.
47 */
48 committerEmail?: string;
49 /**
50 * Time reported by the commit.
51 */
52 commitTime?: Date;
53 /**
54 * DisplayName of the Pusher.
55 */
56 displayName?: string;
57 /**
58 * MailNickName of the Pusher.
59 */
60 mailNickName?: string;
61 /**
62 * Project Id commit was pushed to.
63 */
64 projectId?: string;
65 /**
66 * Project name commit was pushed to.
67 */
68 projectName?: string;
69 /**
70 * Time of the push that contained the commit.
71 */
72 pushedTime?: Date;
73 /**
74 * Pusher Id for the push.
75 */
76 pusherId?: string;
77 /**
78 * Push Id that contained the commit.
79 */
80 pushId?: number;
81 /**
82 * RepositoryId commit was pushed to.
83 */
84 repoId?: string;
85 /**
86 * Repository name commit was pushed to.
87 */
88 repoName?: string;
89 /**
90 * SamAccountName of the Pusher.
91 */
92 samAccountName?: string;
93 /**
94 * Visual Studio ID /Team Foundation ID
95 */
96 vSID?: string;
97}
98/**
99 * Information related to billed committers using Advanced Security services
100 */
101export interface BilledCommitter {
102 /**
103 * Cuid of the billed committer. CUID is unique across an Azure Subscription.
104 */
105 cuid?: string;
106 /**
107 * Identity Reference object of the billed committer
108 */
109 userIdentity?: VSSInterfaces.IdentityRef;
110}
111/**
112 * BillingInfo contains an organization, its enablement status and the Azure Subscription for it.
113 */
114export interface BillingInfo {
115 advSecEnabled?: boolean;
116 /**
117 * The most recent time the enablement state was modified.
118 */
119 advSecEnabledChangedOnDate?: Date;
120 /**
121 * The first time the enablement state was modified.
122 */
123 advSecEnabledFirstChangedOnDate?: Date;
124 azureSubscriptionId?: string;
125 billingMode?: BillingMode;
126 organizationId?: string;
127 tenantId?: string;
128}
129export declare enum BillingMode {
130 /**
131 * None implies the organization is not billable because no Azure Subscription has been set.
132 */
133 None = 0,
134 /**
135 * When an organization is the only organization mapped to an Azure Subscription.
136 */
137 SingleOrg = 1,
138 /**
139 * When an organization is mapped to an Azure Subscription to which at least one other org is mapped.
140 */
141 MultiOrg = 2
142}
143/**
144 * Information related to billing for Advanced Security services
145 */
146export interface MeterUsage {
147 /**
148 * The Azure DevOps account
149 */
150 accountId?: string;
151 azureSubscriptionId?: string;
152 /**
153 * Deprecated - use BilledCommittersIdentities instead A list of Cuids for the commiters to the repositories that have Advanced Security features enabled
154 */
155 billedCommitters?: string[];
156 /**
157 * A list of BilledCommitter objects that contain the identityRef of committers that have AdvSec enabled
158 */
159 billedUsers?: BilledCommitter[];
160 /**
161 * The date this billing information pertains to
162 */
163 billingDate?: Date;
164 /**
165 * True when a bill is generated for Advanced Security feature usage in this organziation
166 */
167 isAdvSecBillable?: boolean;
168 /**
169 * True when Advanced Security features are enabled in this organization
170 */
171 isAdvSecEnabled?: boolean;
172 /**
173 * The Azure subscription
174 */
175 tenantId?: string;
176 /**
177 * The number of commiters to repositories that have Advanced Security features enabled
178 */
179 uniqueCommitterCount?: number;
180}
181export declare var TypeInfo: {
182 AdvSecEnablementSettings: any;
183 AdvSecEnablementStatus: any;
184 BillableCommitterDetails: any;
185 BillingInfo: any;
186 BillingMode: {
187 enumValues: {
188 none: number;
189 singleOrg: number;
190 multiOrg: number;
191 };
192 };
193 MeterUsage: any;
194};