@spottoai/types-package 1.0.2-beta.426 → 1.0.2-beta.428
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/azure/payloads.d.ts +7 -7
- package/dist/azure/payloads.d.ts.map +1 -1
- package/dist/azure/payloads.js +22 -23
- package/dist/azure/payloads.js.map +1 -1
- package/dist/azure/reportEvidence.d.ts +21 -1
- package/dist/azure/reportEvidence.d.ts.map +1 -1
- package/dist/azure/reportEvidenceValidationHelpers.d.ts.map +1 -1
- package/dist/azure/reportEvidenceValidationHelpers.js +5 -1
- package/dist/azure/reportEvidenceValidationHelpers.js.map +1 -1
- package/dist/esm/azure/payloads.js +19 -20
- package/dist/esm/azure/reportEvidenceValidationHelpers.js +5 -1
- package/dist/esm/index.js +0 -3
- package/dist/esm/scheduler/index.js +2 -1
- package/dist/esm/scheduler/resourceStrategyCapabilityValidation.js +4 -20
- package/dist/esm/scheduler/resourceStrategyContracts.js +4 -2
- package/dist/esm/scheduler/resourceStrategyScheduleValidation.js +109 -4
- package/dist/esm/scheduler/schedulerValidation.js +363 -0
- package/dist/index.d.ts +0 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -3
- package/dist/index.js.map +1 -1
- package/dist/scheduler/index.d.ts +2 -1
- package/dist/scheduler/index.d.ts.map +1 -1
- package/dist/scheduler/index.js +2 -1
- package/dist/scheduler/index.js.map +1 -1
- package/dist/scheduler/resourceStrategyCapabilityValidation.d.ts.map +1 -1
- package/dist/scheduler/resourceStrategyCapabilityValidation.js +4 -20
- package/dist/scheduler/resourceStrategyCapabilityValidation.js.map +1 -1
- package/dist/scheduler/resourceStrategyContracts.d.ts +26 -9
- package/dist/scheduler/resourceStrategyContracts.d.ts.map +1 -1
- package/dist/scheduler/resourceStrategyContracts.js +4 -2
- package/dist/scheduler/resourceStrategyContracts.js.map +1 -1
- package/dist/scheduler/resourceStrategyScheduleValidation.d.ts +3 -1
- package/dist/scheduler/resourceStrategyScheduleValidation.d.ts.map +1 -1
- package/dist/scheduler/resourceStrategyScheduleValidation.js +110 -4
- package/dist/scheduler/resourceStrategyScheduleValidation.js.map +1 -1
- package/dist/scheduler/schedulerContracts.d.ts +178 -0
- package/dist/scheduler/schedulerContracts.d.ts.map +1 -0
- package/dist/scheduler/{bastionSchedule.js → schedulerContracts.js} +1 -1
- package/dist/scheduler/schedulerContracts.js.map +1 -0
- package/dist/scheduler/schedulerValidation.d.ts +14 -0
- package/dist/scheduler/schedulerValidation.d.ts.map +1 -0
- package/dist/scheduler/schedulerValidation.js +378 -0
- package/dist/scheduler/schedulerValidation.js.map +1 -0
- package/package.json +4 -3
- package/dist/esm/scheduler/bastionScheduleProfile.js +0 -206
- package/dist/esm/scheduler/bastionScheduleValidation.js +0 -399
- package/dist/esm/scheduler/scheduler.js +0 -1
- package/dist/scheduler/bastionSchedule.d.ts +0 -113
- package/dist/scheduler/bastionSchedule.d.ts.map +0 -1
- package/dist/scheduler/bastionSchedule.js.map +0 -1
- package/dist/scheduler/bastionScheduleProfile.d.ts +0 -24
- package/dist/scheduler/bastionScheduleProfile.d.ts.map +0 -1
- package/dist/scheduler/bastionScheduleProfile.js +0 -210
- package/dist/scheduler/bastionScheduleProfile.js.map +0 -1
- package/dist/scheduler/bastionScheduleValidation.d.ts +0 -10
- package/dist/scheduler/bastionScheduleValidation.d.ts.map +0 -1
- package/dist/scheduler/bastionScheduleValidation.js +0 -410
- package/dist/scheduler/bastionScheduleValidation.js.map +0 -1
- package/dist/scheduler/scheduler.d.ts +0 -267
- package/dist/scheduler/scheduler.d.ts.map +0 -1
- package/dist/scheduler/scheduler.js +0 -3
- package/dist/scheduler/scheduler.js.map +0 -1
- /package/dist/esm/scheduler/{bastionSchedule.js → schedulerContracts.js} +0 -0
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
import type { ResourceScheduleDefinitionBase, SchedulerBatchRunItemBase, WeekdayNumber } from './scheduler';
|
|
2
|
-
export type BastionScheduleDefinitionType = 'bastion-availability-weekly';
|
|
3
|
-
export type BastionAvailabilityOperation = 'remove' | 'restore';
|
|
4
|
-
export interface BastionAvailabilityWindow {
|
|
5
|
-
windowId: string;
|
|
6
|
-
daysOfWeek: WeekdayNumber[];
|
|
7
|
-
accessStartTimeLocal: string;
|
|
8
|
-
accessEndTimeLocal: string;
|
|
9
|
-
}
|
|
10
|
-
export interface BastionAvailabilityWeeklyConfiguration {
|
|
11
|
-
accessWindows: BastionAvailabilityWindow[];
|
|
12
|
-
}
|
|
13
|
-
export interface BastionAvailabilityWeeklyScheduleWriteRequest {
|
|
14
|
-
definitionType: BastionScheduleDefinitionType;
|
|
15
|
-
name: string;
|
|
16
|
-
providerName: string;
|
|
17
|
-
providerScopeId: string;
|
|
18
|
-
cloudAccountId: string;
|
|
19
|
-
resourceId: string;
|
|
20
|
-
targetResourceType?: 'Microsoft.Network/bastionHosts';
|
|
21
|
-
timezone: string;
|
|
22
|
-
notes?: string;
|
|
23
|
-
acknowledgementVersion: 'bastion-delete-recreate-v1';
|
|
24
|
-
configuration: BastionAvailabilityWeeklyConfiguration;
|
|
25
|
-
}
|
|
26
|
-
export interface BastionAvailabilityWeeklyScheduleDefinition extends ResourceScheduleDefinitionBase {
|
|
27
|
-
definitionClass: 'composite';
|
|
28
|
-
definitionType: BastionScheduleDefinitionType;
|
|
29
|
-
cloudAccountId: string;
|
|
30
|
-
resourceId: string;
|
|
31
|
-
targetResourceType: 'Microsoft.Network/bastionHosts';
|
|
32
|
-
definitionRevision: number;
|
|
33
|
-
acknowledgementVersion: 'bastion-delete-recreate-v1';
|
|
34
|
-
configuration: BastionAvailabilityWeeklyConfiguration;
|
|
35
|
-
executionPolicy?: never;
|
|
36
|
-
}
|
|
37
|
-
interface BastionScheduleRunBase extends SchedulerBatchRunItemBase {
|
|
38
|
-
targetType: 'resource-operation';
|
|
39
|
-
selectorType: 'single-resource';
|
|
40
|
-
scheduleType: 'recurring';
|
|
41
|
-
cloudAccountId: string;
|
|
42
|
-
resourceId: string;
|
|
43
|
-
definitionId: string;
|
|
44
|
-
definitionClass: 'composite';
|
|
45
|
-
definitionType: BastionScheduleDefinitionType;
|
|
46
|
-
compiledRuleId: string;
|
|
47
|
-
definitionRevision: number;
|
|
48
|
-
scheduledForUtc: string;
|
|
49
|
-
}
|
|
50
|
-
export interface BastionRemoveScheduleRun extends BastionScheduleRunBase {
|
|
51
|
-
compiledOperation: 'remove';
|
|
52
|
-
controlGeneration: number;
|
|
53
|
-
}
|
|
54
|
-
export interface BastionRestoreScheduleRun extends BastionScheduleRunBase {
|
|
55
|
-
compiledOperation: 'restore';
|
|
56
|
-
controlGeneration?: never;
|
|
57
|
-
}
|
|
58
|
-
export type BastionScheduleRun = BastionRemoveScheduleRun | BastionRestoreScheduleRun;
|
|
59
|
-
export interface BastionScheduleControlV1 {
|
|
60
|
-
schemaVersion: 1;
|
|
61
|
-
companyId: string;
|
|
62
|
-
resourceId: string;
|
|
63
|
-
definitionId: string;
|
|
64
|
-
definitionRevision: number;
|
|
65
|
-
controlGeneration: number;
|
|
66
|
-
desiredStatus: 'active' | 'paused';
|
|
67
|
-
updatedAtUtc: string;
|
|
68
|
-
}
|
|
69
|
-
export type BastionScheduleReadinessStatus = 'confirmed' | 'missing' | 'unknown' | 'unsupported';
|
|
70
|
-
export type BastionScheduleReadinessReasonCode = 'feature-disabled' | 'resource-not-found' | 'unsupported-profile' | 'unsupported-region' | 'missing-permission' | 'permission-unknown' | 'management-lock';
|
|
71
|
-
export interface BastionScheduleReadinessV1 {
|
|
72
|
-
schemaVersion: 1;
|
|
73
|
-
status: BastionScheduleReadinessStatus;
|
|
74
|
-
companyId: string;
|
|
75
|
-
cloudAccountId: string;
|
|
76
|
-
subscriptionId: string;
|
|
77
|
-
resourceId: string;
|
|
78
|
-
requiredActions: string[];
|
|
79
|
-
missingActions: string[];
|
|
80
|
-
reasonCode?: BastionScheduleReadinessReasonCode;
|
|
81
|
-
checkedAtUtc: string;
|
|
82
|
-
}
|
|
83
|
-
export type BastionAvailabilityPhase = 'available' | 'removing' | 'absent' | 'restoring';
|
|
84
|
-
export type BastionAvailabilityResult = 'succeeded' | 'skipped' | 'blocked' | 'failed' | 'pending';
|
|
85
|
-
export type BastionAvailabilityReasonCode = 'feature-disabled' | 'resource-not-found' | 'unsupported-profile' | 'unsupported-region' | 'missing-permission' | 'permission-unknown' | 'management-lock' | 'active-sessions' | 'session-state-unknown' | 'snapshot-failed' | 'active-snapshot-missing' | 'source-drift' | 'dependency-missing' | 'dependency-drift' | 'stale-run' | 'continuation-overdue' | 'azure-operation-failed' | 'restore-timeout';
|
|
86
|
-
export interface BastionAvailabilityStatusV1 {
|
|
87
|
-
schemaVersion: 1;
|
|
88
|
-
companyId: string;
|
|
89
|
-
resourceId: string;
|
|
90
|
-
definitionId: string;
|
|
91
|
-
definitionRevision: number;
|
|
92
|
-
phase: BastionAvailabilityPhase;
|
|
93
|
-
lastOperation: BastionAvailabilityOperation;
|
|
94
|
-
lastResult: BastionAvailabilityResult;
|
|
95
|
-
reasonCode?: BastionAvailabilityReasonCode;
|
|
96
|
-
snapshotCapturedAtUtc?: string;
|
|
97
|
-
restoreAvailable: boolean;
|
|
98
|
-
updatedAtUtc: string;
|
|
99
|
-
}
|
|
100
|
-
export interface BastionPauseResponse {
|
|
101
|
-
status: 'paused' | 'pause-pending';
|
|
102
|
-
resourceId: string;
|
|
103
|
-
controlGeneration: number;
|
|
104
|
-
requestedAtUtc: string;
|
|
105
|
-
}
|
|
106
|
-
export interface BastionRestoreNowResponse {
|
|
107
|
-
accepted: boolean;
|
|
108
|
-
scheduleRunId: string;
|
|
109
|
-
resourceId: string;
|
|
110
|
-
requestedAtUtc: string;
|
|
111
|
-
}
|
|
112
|
-
export {};
|
|
113
|
-
//# sourceMappingURL=bastionSchedule.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bastionSchedule.d.ts","sourceRoot":"","sources":["../../src/scheduler/bastionSchedule.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bastionSchedule.js","sourceRoot":"","sources":["../../src/scheduler/bastionSchedule.ts"],"names":[],"mappings":""}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
export type BastionScheduleSupportedSkuV1 = 'Basic' | 'Standard' | 'Premium';
|
|
2
|
-
export interface BastionScheduleSupportedProfileV1 {
|
|
3
|
-
skuName: BastionScheduleSupportedSkuV1;
|
|
4
|
-
location: string;
|
|
5
|
-
zones?: string[];
|
|
6
|
-
scaleUnits: number;
|
|
7
|
-
disableCopyPaste: boolean;
|
|
8
|
-
enableFileCopy: boolean;
|
|
9
|
-
enableIpConnect: boolean;
|
|
10
|
-
enableShareableLink: boolean;
|
|
11
|
-
enableTunneling: boolean;
|
|
12
|
-
enableKerberos: boolean;
|
|
13
|
-
enableSessionRecording: false;
|
|
14
|
-
enablePrivateOnlyBastion: false;
|
|
15
|
-
tags: Record<string, string>;
|
|
16
|
-
ipConfigurationName: string;
|
|
17
|
-
publicIpId: string;
|
|
18
|
-
subnetId: string;
|
|
19
|
-
virtualNetworkId: string;
|
|
20
|
-
sourceEtag: string;
|
|
21
|
-
}
|
|
22
|
-
/** Normalizes an eligible public dedicated Azure Bastion profile for schedule readiness and recovery. */
|
|
23
|
-
export declare function readSupportedBastionScheduleProfileV1(value: unknown, expectedResourceId: string): BastionScheduleSupportedProfileV1 | undefined;
|
|
24
|
-
//# sourceMappingURL=bastionScheduleProfile.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bastionScheduleProfile.d.ts","sourceRoot":"","sources":["../../src/scheduler/bastionScheduleProfile.ts"],"names":[],"mappings":"AAUA,MAAM,MAAM,6BAA6B,GAAG,OAAO,GAAG,UAAU,GAAG,SAAS,CAAC;AAE7E,MAAM,WAAW,iCAAiC;IAChD,OAAO,EAAE,6BAA6B,CAAC;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,cAAc,EAAE,OAAO,CAAC;IACxB,eAAe,EAAE,OAAO,CAAC;IACzB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,eAAe,EAAE,OAAO,CAAC;IACzB,cAAc,EAAE,OAAO,CAAC;IACxB,sBAAsB,EAAE,KAAK,CAAC;IAC9B,wBAAwB,EAAE,KAAK,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;CACpB;AAqED,yGAAyG;AACzG,wBAAgB,qCAAqC,CAAC,KAAK,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,GAAG,iCAAiC,GAAG,SAAS,CAmK/I"}
|
|
@@ -1,210 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.readSupportedBastionScheduleProfileV1 = readSupportedBastionScheduleProfileV1;
|
|
4
|
-
const MAX_IDENTIFIER_LENGTH = 2048;
|
|
5
|
-
const MAX_ETAG_LENGTH = 4096;
|
|
6
|
-
const MAX_LOCATION_LENGTH = 128;
|
|
7
|
-
const MAX_IP_CONFIGURATION_NAME_LENGTH = 80;
|
|
8
|
-
const MAX_TAG_COUNT = 50;
|
|
9
|
-
const MAX_TAG_NAME_LENGTH = 512;
|
|
10
|
-
const MAX_TAG_VALUE_LENGTH = 256;
|
|
11
|
-
function isPlainRecord(value) {
|
|
12
|
-
if (typeof value !== 'object' || value === null || Array.isArray(value))
|
|
13
|
-
return false;
|
|
14
|
-
const prototype = Reflect.getPrototypeOf(value);
|
|
15
|
-
return prototype === Object.prototype || prototype === null;
|
|
16
|
-
}
|
|
17
|
-
function hasOnlyFields(value, fields) {
|
|
18
|
-
const allowed = new Set(fields);
|
|
19
|
-
return Object.keys(value).every(field => allowed.has(field));
|
|
20
|
-
}
|
|
21
|
-
function readString(value, maximumLength) {
|
|
22
|
-
if (typeof value !== 'string' || value.trim().length === 0 || value.length > maximumLength)
|
|
23
|
-
return undefined;
|
|
24
|
-
return value.trim();
|
|
25
|
-
}
|
|
26
|
-
function normalizeResourceId(value) {
|
|
27
|
-
const resourceId = readString(value, MAX_IDENTIFIER_LENGTH);
|
|
28
|
-
if (!resourceId || resourceId.includes('\\') || resourceId.includes('//') || resourceId.endsWith('/'))
|
|
29
|
-
return undefined;
|
|
30
|
-
return resourceId.toLowerCase();
|
|
31
|
-
}
|
|
32
|
-
function readBastionSubscriptionId(resourceId) {
|
|
33
|
-
return /^\/subscriptions\/([a-z0-9-]+)\/resourcegroups\/[a-z0-9._()-]+\/providers\/microsoft\.network\/bastionhosts\/[a-z0-9._()-]+$/.exec(resourceId)?.[1];
|
|
34
|
-
}
|
|
35
|
-
function readBoolean(value) {
|
|
36
|
-
return value === undefined ? false : typeof value === 'boolean' ? value : undefined;
|
|
37
|
-
}
|
|
38
|
-
function readTags(value) {
|
|
39
|
-
if (value === undefined)
|
|
40
|
-
return {};
|
|
41
|
-
if (!isPlainRecord(value) || Object.keys(value).length > MAX_TAG_COUNT)
|
|
42
|
-
return undefined;
|
|
43
|
-
const entries = [];
|
|
44
|
-
for (const key of Object.keys(value).sort()) {
|
|
45
|
-
const tagValue = value[key];
|
|
46
|
-
if (key.length === 0 || key.length > MAX_TAG_NAME_LENGTH || typeof tagValue !== 'string' || tagValue.length > MAX_TAG_VALUE_LENGTH) {
|
|
47
|
-
return undefined;
|
|
48
|
-
}
|
|
49
|
-
entries.push([key, tagValue]);
|
|
50
|
-
}
|
|
51
|
-
return Object.fromEntries(entries);
|
|
52
|
-
}
|
|
53
|
-
function readZones(value) {
|
|
54
|
-
if (value === undefined)
|
|
55
|
-
return undefined;
|
|
56
|
-
if (!Array.isArray(value) ||
|
|
57
|
-
value.length < 1 ||
|
|
58
|
-
value.length > 3 ||
|
|
59
|
-
!value.every(zone => typeof zone === 'string' && /^[1-3]$/.test(zone)) ||
|
|
60
|
-
new Set(value).size !== value.length) {
|
|
61
|
-
return false;
|
|
62
|
-
}
|
|
63
|
-
return [...value].sort();
|
|
64
|
-
}
|
|
65
|
-
function readSku(value) {
|
|
66
|
-
if (!isPlainRecord(value) || !hasOnlyFields(value, ['name']))
|
|
67
|
-
return undefined;
|
|
68
|
-
const name = value['name'];
|
|
69
|
-
return name === 'Basic' || name === 'Standard' || name === 'Premium' ? name : undefined;
|
|
70
|
-
}
|
|
71
|
-
/** Normalizes an eligible public dedicated Azure Bastion profile for schedule readiness and recovery. */
|
|
72
|
-
function readSupportedBastionScheduleProfileV1(value, expectedResourceId) {
|
|
73
|
-
try {
|
|
74
|
-
if (!isPlainRecord(value) ||
|
|
75
|
-
!hasOnlyFields(value, ['name', 'id', 'etag', 'type', 'location', 'tags', 'sku', 'properties', 'systemData', 'zones'])) {
|
|
76
|
-
return undefined;
|
|
77
|
-
}
|
|
78
|
-
const normalizedExpectedResourceId = normalizeResourceId(expectedResourceId);
|
|
79
|
-
const normalizedSourceResourceId = normalizeResourceId(value['id']);
|
|
80
|
-
const bastionSubscriptionId = normalizedSourceResourceId ? readBastionSubscriptionId(normalizedSourceResourceId) : undefined;
|
|
81
|
-
const resourceType = readString(value['type'], MAX_IDENTIFIER_LENGTH)?.toLowerCase();
|
|
82
|
-
const sourceEtag = readString(value['etag'], MAX_ETAG_LENGTH);
|
|
83
|
-
const location = readString(value['location'], MAX_LOCATION_LENGTH)?.toLowerCase();
|
|
84
|
-
const tags = readTags(value['tags']);
|
|
85
|
-
const skuName = readSku(value['sku']);
|
|
86
|
-
const zones = readZones(value['zones']);
|
|
87
|
-
if (!normalizedExpectedResourceId ||
|
|
88
|
-
normalizedSourceResourceId !== normalizedExpectedResourceId ||
|
|
89
|
-
!bastionSubscriptionId ||
|
|
90
|
-
resourceType !== 'microsoft.network/bastionhosts' ||
|
|
91
|
-
!sourceEtag ||
|
|
92
|
-
!location ||
|
|
93
|
-
!tags ||
|
|
94
|
-
!skuName ||
|
|
95
|
-
zones === false) {
|
|
96
|
-
return undefined;
|
|
97
|
-
}
|
|
98
|
-
if (!isPlainRecord(value['properties']) ||
|
|
99
|
-
!hasOnlyFields(value['properties'], [
|
|
100
|
-
'provisioningState',
|
|
101
|
-
'dnsName',
|
|
102
|
-
'publicUri',
|
|
103
|
-
'scaleUnits',
|
|
104
|
-
'disableCopyPaste',
|
|
105
|
-
'enableFileCopy',
|
|
106
|
-
'enableIpConnect',
|
|
107
|
-
'enableShareableLink',
|
|
108
|
-
'enableTunneling',
|
|
109
|
-
'enableKerberos',
|
|
110
|
-
'enableSessionRecording',
|
|
111
|
-
'enablePrivateOnlyBastion',
|
|
112
|
-
'ipConfigurations',
|
|
113
|
-
'networkAcls',
|
|
114
|
-
'virtualNetwork',
|
|
115
|
-
]) ||
|
|
116
|
-
value['properties']['provisioningState'] !== 'Succeeded' ||
|
|
117
|
-
value['properties']['networkAcls'] !== undefined ||
|
|
118
|
-
value['properties']['virtualNetwork'] !== undefined) {
|
|
119
|
-
return undefined;
|
|
120
|
-
}
|
|
121
|
-
const properties = value['properties'];
|
|
122
|
-
const scaleUnits = properties['scaleUnits'];
|
|
123
|
-
if (typeof scaleUnits !== 'number' ||
|
|
124
|
-
!Number.isInteger(scaleUnits) ||
|
|
125
|
-
(skuName === 'Basic' ? scaleUnits !== 2 : scaleUnits < 2 || scaleUnits > 50)) {
|
|
126
|
-
return undefined;
|
|
127
|
-
}
|
|
128
|
-
const disableCopyPaste = readBoolean(properties['disableCopyPaste']);
|
|
129
|
-
const enableFileCopy = readBoolean(properties['enableFileCopy']);
|
|
130
|
-
const enableIpConnect = readBoolean(properties['enableIpConnect']);
|
|
131
|
-
const enableShareableLink = readBoolean(properties['enableShareableLink']);
|
|
132
|
-
const enableTunneling = readBoolean(properties['enableTunneling']);
|
|
133
|
-
const enableKerberos = readBoolean(properties['enableKerberos']);
|
|
134
|
-
const enableSessionRecording = readBoolean(properties['enableSessionRecording']);
|
|
135
|
-
const enablePrivateOnlyBastion = readBoolean(properties['enablePrivateOnlyBastion']);
|
|
136
|
-
if (disableCopyPaste === undefined ||
|
|
137
|
-
enableFileCopy === undefined ||
|
|
138
|
-
enableIpConnect === undefined ||
|
|
139
|
-
enableShareableLink === undefined ||
|
|
140
|
-
enableTunneling === undefined ||
|
|
141
|
-
enableKerberos === undefined ||
|
|
142
|
-
enableSessionRecording !== false ||
|
|
143
|
-
enablePrivateOnlyBastion !== false ||
|
|
144
|
-
(skuName === 'Basic' && (enableFileCopy || enableIpConnect || enableShareableLink || enableTunneling || enableKerberos))) {
|
|
145
|
-
return undefined;
|
|
146
|
-
}
|
|
147
|
-
const configurations = properties['ipConfigurations'];
|
|
148
|
-
if (!Array.isArray(configurations) || configurations.length !== 1)
|
|
149
|
-
return undefined;
|
|
150
|
-
const configuration = configurations[0];
|
|
151
|
-
if (!isPlainRecord(configuration) ||
|
|
152
|
-
!hasOnlyFields(configuration, ['name', 'id', 'etag', 'type', 'properties']) ||
|
|
153
|
-
!isPlainRecord(configuration['properties']) ||
|
|
154
|
-
!hasOnlyFields(configuration['properties'], ['provisioningState', 'privateIPAllocationMethod', 'publicIPAddress', 'subnet']) ||
|
|
155
|
-
(configuration['properties']['provisioningState'] !== undefined && configuration['properties']['provisioningState'] !== 'Succeeded') ||
|
|
156
|
-
configuration['properties']['privateIPAllocationMethod'] !== 'Dynamic') {
|
|
157
|
-
return undefined;
|
|
158
|
-
}
|
|
159
|
-
const ipConfigurationName = readString(configuration['name'], MAX_IP_CONFIGURATION_NAME_LENGTH);
|
|
160
|
-
const publicIp = configuration['properties']['publicIPAddress'];
|
|
161
|
-
const subnet = configuration['properties']['subnet'];
|
|
162
|
-
if (!ipConfigurationName ||
|
|
163
|
-
!isPlainRecord(publicIp) ||
|
|
164
|
-
!hasOnlyFields(publicIp, ['id']) ||
|
|
165
|
-
!isPlainRecord(subnet) ||
|
|
166
|
-
!hasOnlyFields(subnet, ['id'])) {
|
|
167
|
-
return undefined;
|
|
168
|
-
}
|
|
169
|
-
const publicIpId = normalizeResourceId(publicIp['id']);
|
|
170
|
-
const subnetId = normalizeResourceId(subnet['id']);
|
|
171
|
-
const publicIpMatch = publicIpId
|
|
172
|
-
? /^\/subscriptions\/([a-z0-9-]+)\/resourcegroups\/[a-z0-9._()-]+\/providers\/microsoft\.network\/publicipaddresses\/[a-z0-9._()-]+$/.exec(publicIpId)
|
|
173
|
-
: undefined;
|
|
174
|
-
const subnetMatch = subnetId
|
|
175
|
-
? /^\/subscriptions\/([a-z0-9-]+)\/resourcegroups\/[a-z0-9._()-]+\/providers\/microsoft\.network\/virtualnetworks\/[a-z0-9._()-]+\/subnets\/azurebastionsubnet$/.exec(subnetId)
|
|
176
|
-
: undefined;
|
|
177
|
-
if (!publicIpId ||
|
|
178
|
-
!publicIpMatch ||
|
|
179
|
-
publicIpMatch[1] !== bastionSubscriptionId ||
|
|
180
|
-
!subnetId ||
|
|
181
|
-
!subnetMatch ||
|
|
182
|
-
subnetMatch[1] !== bastionSubscriptionId) {
|
|
183
|
-
return undefined;
|
|
184
|
-
}
|
|
185
|
-
return {
|
|
186
|
-
skuName,
|
|
187
|
-
location,
|
|
188
|
-
...(zones ? { zones } : {}),
|
|
189
|
-
scaleUnits,
|
|
190
|
-
disableCopyPaste,
|
|
191
|
-
enableFileCopy,
|
|
192
|
-
enableIpConnect,
|
|
193
|
-
enableShareableLink,
|
|
194
|
-
enableTunneling,
|
|
195
|
-
enableKerberos,
|
|
196
|
-
enableSessionRecording: false,
|
|
197
|
-
enablePrivateOnlyBastion: false,
|
|
198
|
-
tags,
|
|
199
|
-
ipConfigurationName,
|
|
200
|
-
publicIpId,
|
|
201
|
-
subnetId,
|
|
202
|
-
virtualNetworkId: subnetId.slice(0, subnetId.lastIndexOf('/subnets/')),
|
|
203
|
-
sourceEtag,
|
|
204
|
-
};
|
|
205
|
-
}
|
|
206
|
-
catch {
|
|
207
|
-
return undefined;
|
|
208
|
-
}
|
|
209
|
-
}
|
|
210
|
-
//# sourceMappingURL=bastionScheduleProfile.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bastionScheduleProfile.js","sourceRoot":"","sources":["../../src/scheduler/bastionScheduleProfile.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import type { BastionAvailabilityStatusV1, BastionAvailabilityWeeklyScheduleDefinition, BastionAvailabilityWeeklyScheduleWriteRequest, BastionPauseResponse, BastionRestoreNowResponse, BastionScheduleControlV1, BastionScheduleReadinessV1, BastionScheduleRun } from './bastionSchedule';
|
|
2
|
-
export declare function isBastionAvailabilityWeeklyScheduleWriteRequest(value: unknown): value is BastionAvailabilityWeeklyScheduleWriteRequest;
|
|
3
|
-
export declare function isBastionAvailabilityWeeklyScheduleDefinition(value: unknown): value is BastionAvailabilityWeeklyScheduleDefinition;
|
|
4
|
-
export declare function isBastionScheduleRun(value: unknown): value is BastionScheduleRun;
|
|
5
|
-
export declare function isBastionScheduleControlV1(value: unknown): value is BastionScheduleControlV1;
|
|
6
|
-
export declare function isBastionScheduleReadinessV1(value: unknown): value is BastionScheduleReadinessV1;
|
|
7
|
-
export declare function isBastionAvailabilityStatusV1(value: unknown): value is BastionAvailabilityStatusV1;
|
|
8
|
-
export declare function isBastionPauseResponse(value: unknown): value is BastionPauseResponse;
|
|
9
|
-
export declare function isBastionRestoreNowResponse(value: unknown): value is BastionRestoreNowResponse;
|
|
10
|
-
//# sourceMappingURL=bastionScheduleValidation.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bastionScheduleValidation.d.ts","sourceRoot":"","sources":["../../src/scheduler/bastionScheduleValidation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,2BAA2B,EAE3B,2CAA2C,EAC3C,6CAA6C,EAC7C,oBAAoB,EACpB,yBAAyB,EACzB,wBAAwB,EACxB,0BAA0B,EAC1B,kBAAkB,EACnB,MAAM,mBAAmB,CAAC;AAqN3B,wBAAgB,+CAA+C,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,6CAA6C,CAmCtI;AAED,wBAAgB,6CAA6C,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,2CAA2C,CA6DlI;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,kBAAkB,CA+DhF;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,wBAAwB,CAsB5F;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,0BAA0B,CAiChG;AAED,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,2BAA2B,CAkClG;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,oBAAoB,CASpF;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,yBAAyB,CAS9F"}
|