1 | import VSSInterfaces = require("../interfaces/common/VSSInterfaces");
|
2 | export interface AdvSecEnablementSettings {
|
3 | /**
|
4 | * Automatically enable Advanced Security on newly created repositories.
|
5 | */
|
6 | enableOnCreate?: boolean;
|
7 | reposEnablementStatus?: AdvSecEnablementStatus[];
|
8 | }
|
9 | export interface AdvSecEnablementSettingsUpdate extends AdvSecEnablementStatusUpdate {
|
10 | /**
|
11 | * Automatically enable Advanced Security on newly created repositories.
|
12 | */
|
13 | enableOnCreate?: boolean;
|
14 | }
|
15 | export 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 | }
|
23 | export 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 | */
|
40 | export 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 | */
|
101 | export 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 | */
|
114 | export 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 | }
|
129 | export 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 | */
|
146 | export 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 | }
|
181 | export 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 | };
|