@drunk-pulumi/azure 1.0.23 → 1.0.24
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/Builder/AcrBuilder.d.ts +5 -0
- package/Builder/AcrBuilder.js +43 -10
- package/Builder/AksBuilder.d.ts +5 -0
- package/Builder/AksBuilder.js +90 -6
- package/Builder/ApimApiBuilder.js +1 -1
- package/Builder/ApimBuilder.js +3 -7
- package/Builder/ApimPolicyBuilder.js +1 -1
- package/Builder/ApimProductBuilder.d.ts +6 -5
- package/Builder/ApimProductBuilder.js +53 -27
- package/Builder/AppConfigBuilder.js +4 -8
- package/Builder/MySqlBuilder.js +4 -8
- package/Builder/PostgreSqlBuilder.js +4 -8
- package/Builder/RedisCacheBuilder.js +4 -11
- package/Builder/ResourceBuilder.js +4 -4
- package/Builder/ServiceBusBuilder.js +4 -11
- package/Builder/SignalRBuilder.js +4 -11
- package/Builder/VaultBuilder.js +7 -26
- package/Builder/types/acrBuilder.d.ts +38 -2
- package/Builder/types/apimBuilder.d.ts +109 -5
- package/Builder/types/apimPolicyBuilder.d.ts +129 -7
- package/Builder/types/apimPolicyBuilder.js +4 -1
- package/Builder/types/apimProductBuilder.d.ts +152 -5
- package/Builder/types/appCertBuilder.d.ts +17 -0
- package/Builder/types/appConfigBuilder.d.ts +22 -0
- package/Builder/types/askBuilder.d.ts +79 -1
- package/Builder/types/automationBuilder.d.ts +17 -0
- package/Builder/types/cdnBuilder.d.ts +11 -0
- package/Builder/types/dnsZoneBuilder.d.ts +20 -0
- package/Builder/types/envRoleBuilder.d.ts +28 -0
- package/Builder/types/genericBuilder.d.ts +78 -0
- package/Builder/types/genericBuilder.js +9 -1
- package/Builder/types/iotHubBuilder.d.ts +38 -5
- package/Builder/types/logicAppBuilder.d.ts +17 -0
- package/Builder/types/mySqlBuilder.d.ts +54 -1
- package/Builder/types/posgreSqlBuilder.d.ts +64 -2
- package/Builder/types/privateDnsZoneBuilder.d.ts +26 -0
- package/Builder/types/redisCacheBuilder.d.ts +31 -0
- package/Builder/types/resourceBuilder.d.ts +171 -7
- package/Builder/types/serviceBusBuilder.d.ts +55 -0
- package/Builder/types/signalRBuilder.d.ts +65 -6
- package/Builder/types/sqlBuilder.d.ts +88 -1
- package/Builder/types/storageBuilder.d.ts +63 -0
- package/Builder/types/vaultBuilder.d.ts +43 -1
- package/Builder/types/vdiBuilder.d.ts +41 -2
- package/Builder/types/vmBuilder.d.ts +83 -1
- package/Builder/types/vnetBuilder.d.ts +107 -0
- package/KeyVault/index.d.ts +1 -11
- package/KeyVault/index.js +3 -21
- package/Sql/index.js +3 -6
- package/Storage/index.js +4 -8
- package/VNet/PrivateEndpoint.d.ts +9 -3
- package/VNet/PrivateEndpoint.js +62 -2
- package/VNet/index.d.ts +11 -0
- package/VNet/index.js +18 -2
- package/package.json +1 -1
- package/types.d.ts +162 -4
- package/Sql/Auditing.d.ts +0 -0
- package/Sql/Auditing.js +0 -2
- package/Sql/Helper.d.ts +0 -9
- package/Sql/Helper.js +0 -11
- package/VNet/GlobalNetworkPeering.d.ts +0 -9
- package/VNet/GlobalNetworkPeering.js +0 -40
package/VNet/PrivateEndpoint.js
CHANGED
|
@@ -23,11 +23,12 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
23
23
|
return result;
|
|
24
24
|
};
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.StoragePrivateLink = void 0;
|
|
26
27
|
const network = __importStar(require("@pulumi/azure-native/network"));
|
|
27
28
|
const pulumi_1 = require("@pulumi/pulumi");
|
|
28
29
|
const Common_1 = require("../Common");
|
|
29
30
|
const Builder_1 = require("../Builder");
|
|
30
|
-
|
|
31
|
+
const create = ({ resourceInfo, subnetIds, extraVnetIds, privateDnsZoneName, linkServiceGroupIds, privateIpAddress, dependsOn, }) => {
|
|
31
32
|
const name = Common_1.naming.getPrivateEndpointName(resourceInfo.name);
|
|
32
33
|
const endpoints = (0, pulumi_1.output)(subnetIds).apply((ss) => ss.map((s) => {
|
|
33
34
|
const n = Common_1.rsInfo.getNameFromId(s);
|
|
@@ -77,4 +78,63 @@ exports.default = ({ resourceInfo, subnetIds, extraVnetIds, privateDnsZoneName,
|
|
|
77
78
|
.build());
|
|
78
79
|
return endpoints;
|
|
79
80
|
};
|
|
80
|
-
|
|
81
|
+
const StoragePrivateLink = (type, props) => create({
|
|
82
|
+
...props,
|
|
83
|
+
privateDnsZoneName: `privatelink.${type}.core.windows.net`,
|
|
84
|
+
linkServiceGroupIds: [type],
|
|
85
|
+
});
|
|
86
|
+
exports.StoragePrivateLink = StoragePrivateLink;
|
|
87
|
+
const linkConfig = {
|
|
88
|
+
VaultPrivateLink: {
|
|
89
|
+
privateDnsZoneName: 'privatelink.vaultcore.azure.net',
|
|
90
|
+
linkServiceGroupIds: ['keyVault'],
|
|
91
|
+
},
|
|
92
|
+
SqlPrivateLink: {
|
|
93
|
+
privateDnsZoneName: 'privatelink.database.windows.net',
|
|
94
|
+
linkServiceGroupIds: ['sqlServer'],
|
|
95
|
+
},
|
|
96
|
+
SignalRPrivateLink: {
|
|
97
|
+
privateDnsZoneName: 'privatelink.service.signalr.net',
|
|
98
|
+
linkServiceGroupIds: ['signalr'],
|
|
99
|
+
},
|
|
100
|
+
ServiceBusPrivateLink: {
|
|
101
|
+
privateDnsZoneName: 'privatelink.servicebus.windows.net',
|
|
102
|
+
linkServiceGroupIds: ['namespace'],
|
|
103
|
+
},
|
|
104
|
+
RedisCachePrivateLink: {
|
|
105
|
+
privateDnsZoneName: 'privatelink.redis.cache.windows.net',
|
|
106
|
+
linkServiceGroupIds: ['redisCache'],
|
|
107
|
+
},
|
|
108
|
+
PostgreSqlPrivateLink: {
|
|
109
|
+
privateDnsZoneName: 'PostgreSql.database.azure.com',
|
|
110
|
+
linkServiceGroupIds: ['PostgreSql'],
|
|
111
|
+
},
|
|
112
|
+
MySqlPrivateLink: {
|
|
113
|
+
privateDnsZoneName: 'mysql.database.azure.com',
|
|
114
|
+
linkServiceGroupIds: ['mysql'],
|
|
115
|
+
},
|
|
116
|
+
AppConfigPrivateLink: {
|
|
117
|
+
privateDnsZoneName: 'privatelink.azconfig.io',
|
|
118
|
+
linkServiceGroupIds: ['configurationStores'],
|
|
119
|
+
},
|
|
120
|
+
ApimPrivateLink: {
|
|
121
|
+
privateDnsZoneName: 'privatelink.azure-api.net',
|
|
122
|
+
linkServiceGroupIds: ['Gateway'],
|
|
123
|
+
},
|
|
124
|
+
AcrPrivateLink: {
|
|
125
|
+
privateDnsZoneName: 'privatelink.azurecr.io',
|
|
126
|
+
linkServiceGroupIds: ['azurecr'],
|
|
127
|
+
},
|
|
128
|
+
};
|
|
129
|
+
exports.default = (() => {
|
|
130
|
+
const rs = {};
|
|
131
|
+
Object.keys(linkConfig).forEach((key) => {
|
|
132
|
+
const config = linkConfig[key];
|
|
133
|
+
rs[key] = (props) => create({
|
|
134
|
+
...props,
|
|
135
|
+
...config,
|
|
136
|
+
});
|
|
137
|
+
});
|
|
138
|
+
return rs;
|
|
139
|
+
})();
|
|
140
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJpdmF0ZUVuZHBvaW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL1ZOZXQvUHJpdmF0ZUVuZHBvaW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsc0VBQXdEO0FBQ3hELDJDQUF3RDtBQU94RCxzQ0FBMkM7QUFDM0Msd0NBQW1EO0FBWW5ELE1BQU0sTUFBTSxHQUFHLENBQUMsRUFDZCxZQUFZLEVBQ1osU0FBUyxFQUNULFlBQVksRUFDWixrQkFBa0IsRUFDbEIsbUJBQW1CLEVBQ25CLGdCQUFnQixFQUNoQixTQUFTLEdBQ1ksRUFBRSxFQUFFO0lBQ3pCLE1BQU0sSUFBSSxHQUFHLGVBQU0sQ0FBQyxzQkFBc0IsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFOUQsTUFBTSxTQUFTLEdBQUcsSUFBQSxlQUFNLEVBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FDL0MsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1FBQ1gsTUFBTSxDQUFDLEdBQUcsZUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNsQyxNQUFNLEVBQUUsR0FBRyxJQUFJLE9BQU8sQ0FBQyxlQUFlLENBQ3BDLEdBQUcsSUFBSSxJQUFJLENBQUMsRUFBRSxFQUNkO1lBQ0UsR0FBRyxZQUFZLENBQUMsS0FBSztZQUNyQixtQkFBbUIsRUFBRSxHQUFHLElBQUksSUFBSSxDQUFDLEVBQUU7WUFDbkMsTUFBTSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRTtZQUNqQixnQkFBZ0IsRUFBRSxnQkFBZ0I7Z0JBQ2hDLENBQUMsQ0FBQztvQkFDRTt3QkFDRSxXQUFXLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztxQkFDaEM7aUJBQ0Y7Z0JBQ0gsQ0FBQyxDQUFDLFNBQVM7WUFDYixnQkFBZ0IsRUFBRSxnQkFBZ0I7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
|
package/VNet/index.d.ts
CHANGED
|
@@ -1,2 +1,13 @@
|
|
|
1
1
|
export * as IpAddress from './IpAddress';
|
|
2
2
|
export * as Firewall from './Firewall';
|
|
3
|
+
export { StoragePrivateLink } from './PrivateEndpoint';
|
|
4
|
+
export declare const VaultPrivateLink: (props: import("./PrivateEndpoint").ResourceLinkType) => void;
|
|
5
|
+
export declare const SqlPrivateLink: (props: import("./PrivateEndpoint").ResourceLinkType) => void;
|
|
6
|
+
export declare const SignalRPrivateLink: (props: import("./PrivateEndpoint").ResourceLinkType) => void;
|
|
7
|
+
export declare const ServiceBusPrivateLink: (props: import("./PrivateEndpoint").ResourceLinkType) => void;
|
|
8
|
+
export declare const RedisCachePrivateLink: (props: import("./PrivateEndpoint").ResourceLinkType) => void;
|
|
9
|
+
export declare const PostgreSqlPrivateLink: (props: import("./PrivateEndpoint").ResourceLinkType) => void;
|
|
10
|
+
export declare const MySqlPrivateLink: (props: import("./PrivateEndpoint").ResourceLinkType) => void;
|
|
11
|
+
export declare const AppConfigPrivateLink: (props: import("./PrivateEndpoint").ResourceLinkType) => void;
|
|
12
|
+
export declare const ApimPrivateLink: (props: import("./PrivateEndpoint").ResourceLinkType) => void;
|
|
13
|
+
export declare const AcrPrivateLink: (props: import("./PrivateEndpoint").ResourceLinkType) => void;
|
package/VNet/index.js
CHANGED
|
@@ -22,8 +22,24 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
22
22
|
__setModuleDefault(result, mod);
|
|
23
23
|
return result;
|
|
24
24
|
};
|
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
25
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.Firewall = exports.IpAddress = void 0;
|
|
29
|
+
exports.AcrPrivateLink = exports.ApimPrivateLink = exports.AppConfigPrivateLink = exports.MySqlPrivateLink = exports.PostgreSqlPrivateLink = exports.RedisCachePrivateLink = exports.ServiceBusPrivateLink = exports.SignalRPrivateLink = exports.SqlPrivateLink = exports.VaultPrivateLink = exports.StoragePrivateLink = exports.Firewall = exports.IpAddress = void 0;
|
|
27
30
|
exports.IpAddress = __importStar(require("./IpAddress"));
|
|
28
31
|
exports.Firewall = __importStar(require("./Firewall"));
|
|
29
|
-
|
|
32
|
+
var PrivateEndpoint_1 = require("./PrivateEndpoint");
|
|
33
|
+
Object.defineProperty(exports, "StoragePrivateLink", { enumerable: true, get: function () { return PrivateEndpoint_1.StoragePrivateLink; } });
|
|
34
|
+
const PrivateEndpoint_2 = __importDefault(require("./PrivateEndpoint"));
|
|
35
|
+
exports.VaultPrivateLink = PrivateEndpoint_2.default.VaultPrivateLink;
|
|
36
|
+
exports.SqlPrivateLink = PrivateEndpoint_2.default.SqlPrivateLink;
|
|
37
|
+
exports.SignalRPrivateLink = PrivateEndpoint_2.default.SignalRPrivateLink;
|
|
38
|
+
exports.ServiceBusPrivateLink = PrivateEndpoint_2.default.ServiceBusPrivateLink;
|
|
39
|
+
exports.RedisCachePrivateLink = PrivateEndpoint_2.default.RedisCachePrivateLink;
|
|
40
|
+
exports.PostgreSqlPrivateLink = PrivateEndpoint_2.default.PostgreSqlPrivateLink;
|
|
41
|
+
exports.MySqlPrivateLink = PrivateEndpoint_2.default.MySqlPrivateLink;
|
|
42
|
+
exports.AppConfigPrivateLink = PrivateEndpoint_2.default.AppConfigPrivateLink;
|
|
43
|
+
exports.ApimPrivateLink = PrivateEndpoint_2.default.ApimPrivateLink;
|
|
44
|
+
exports.AcrPrivateLink = PrivateEndpoint_2.default.AcrPrivateLink;
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvVk5ldC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHlEQUF5QztBQUN6Qyx1REFBdUM7QUFFdkMscURBQXVEO0FBQTlDLHFIQUFBLGtCQUFrQixPQUFBO0FBQzNCLHdFQUFzQztBQUV6QixRQUFBLGdCQUFnQixHQUFHLHlCQUFLLENBQUMsZ0JBQWdCLENBQUM7QUFDMUMsUUFBQSxjQUFjLEdBQUcseUJBQUssQ0FBQyxjQUFjLENBQUM7QUFDdEMsUUFBQSxrQkFBa0IsR0FBRyx5QkFBSyxDQUFDLGtCQUFrQixDQUFDO0FBQzlDLFFBQUEscUJBQXFCLEdBQUcseUJBQUssQ0FBQyxxQkFBcUIsQ0FBQztBQUNwRCxRQUFBLHFCQUFxQixHQUFHLHlCQUFLLENBQUMscUJBQXFCLENBQUM7QUFDcEQsUUFBQSxxQkFBcUIsR0FBRyx5QkFBSyxDQUFDLHFCQUFxQixDQUFDO0FBQ3BELFFBQUEsZ0JBQWdCLEdBQUcseUJBQUssQ0FBQyxnQkFBZ0IsQ0FBQztBQUMxQyxRQUFBLG9CQUFvQixHQUFHLHlCQUFLLENBQUMsb0JBQW9CLENBQUM7QUFDbEQsUUFBQSxlQUFlLEdBQUcseUJBQUssQ0FBQyxlQUFlLENBQUM7QUFDeEMsUUFBQSxjQUFjLEdBQUcseUJBQUssQ0FBQyxjQUFjLENBQUMifQ==
|
package/package.json
CHANGED
package/types.d.ts
CHANGED
|
@@ -11,80 +11,180 @@ export declare namespace NodeJS {
|
|
|
11
11
|
/** Omit all the key of OT from T */
|
|
12
12
|
export type TypeOmit<T, OT> = Omit<T, keyof OT>;
|
|
13
13
|
export type OmitOpts<T> = TypeOmit<T, OptsArgs>;
|
|
14
|
+
/**
|
|
15
|
+
* Information about a resource group.
|
|
16
|
+
*/
|
|
14
17
|
export type ResourceGroupInfo = {
|
|
15
18
|
resourceGroupName: string;
|
|
16
19
|
location?: Input<string>;
|
|
17
20
|
};
|
|
21
|
+
/**
|
|
22
|
+
* Information about a resource group with an ID.
|
|
23
|
+
*/
|
|
18
24
|
export type ResourceGroupWithIdInfo = ResourceGroupInfo & {
|
|
19
25
|
id: Input<string>;
|
|
20
26
|
};
|
|
27
|
+
/**
|
|
28
|
+
* Properties for lockable resources.
|
|
29
|
+
*/
|
|
21
30
|
export type WithLockable = {
|
|
22
31
|
lock?: boolean;
|
|
23
32
|
};
|
|
33
|
+
/**
|
|
34
|
+
* Properties for resources with dependencies.
|
|
35
|
+
*/
|
|
24
36
|
export type WithDependsOn = {
|
|
25
37
|
dependsOn?: Input<Input<Resource>[]> | Input<Resource>;
|
|
26
38
|
};
|
|
39
|
+
/**
|
|
40
|
+
* Options arguments for resources.
|
|
41
|
+
*/
|
|
27
42
|
export type OptsArgs = WithDependsOn & {
|
|
28
43
|
importUri?: string;
|
|
29
44
|
ignoreChanges?: string[];
|
|
30
45
|
};
|
|
46
|
+
/**
|
|
47
|
+
* Arguments for login credentials.
|
|
48
|
+
*/
|
|
31
49
|
export type LoginArgs = {
|
|
32
50
|
adminLogin: Input<string>;
|
|
33
51
|
password: Input<string>;
|
|
34
52
|
};
|
|
53
|
+
/**
|
|
54
|
+
* Properties for named types.
|
|
55
|
+
*/
|
|
35
56
|
export type WithNamedType = {
|
|
36
57
|
name: string;
|
|
37
58
|
};
|
|
59
|
+
/**
|
|
60
|
+
* Properties for resources with an output ID.
|
|
61
|
+
*/
|
|
38
62
|
export type WithOutputId = {
|
|
39
63
|
id: Output<string>;
|
|
40
64
|
};
|
|
65
|
+
/**
|
|
66
|
+
* Properties for resources with a subscription ID.
|
|
67
|
+
*/
|
|
41
68
|
export type WithSubId = {
|
|
42
69
|
subscriptionId?: string;
|
|
43
70
|
};
|
|
71
|
+
/**
|
|
72
|
+
* Properties for resources with principal IDs.
|
|
73
|
+
*/
|
|
44
74
|
export type WithPrincipalId = {
|
|
45
75
|
clientId: Input<string>;
|
|
46
76
|
principalId: Input<string>;
|
|
47
77
|
};
|
|
78
|
+
/**
|
|
79
|
+
* Properties for resources with environment roles.
|
|
80
|
+
*/
|
|
48
81
|
export type WithEnvRoles = {
|
|
49
82
|
envRoles?: IEnvRoleBuilder;
|
|
50
83
|
envUIDInfo?: IdentityInfo;
|
|
51
84
|
};
|
|
85
|
+
/**
|
|
86
|
+
* Properties for resources with encryption.
|
|
87
|
+
*/
|
|
52
88
|
export type WithEncryption = {
|
|
53
89
|
enableEncryption?: boolean;
|
|
54
90
|
};
|
|
91
|
+
/**
|
|
92
|
+
* Properties for resources with disk encryption.
|
|
93
|
+
*/
|
|
55
94
|
export type WithDiskEncryption = {
|
|
56
95
|
diskEncryptionSetId?: Input<string>;
|
|
57
96
|
};
|
|
97
|
+
/**
|
|
98
|
+
* Properties for resources with vault information.
|
|
99
|
+
*/
|
|
58
100
|
export type WithVaultInfo = {
|
|
59
101
|
vaultInfo?: KeyVaultInfo;
|
|
60
102
|
};
|
|
103
|
+
/**
|
|
104
|
+
* Properties for resources with resource group information.
|
|
105
|
+
*/
|
|
61
106
|
export type WithResourceGroupInfo = {
|
|
62
107
|
group: ResourceGroupInfo;
|
|
63
108
|
};
|
|
109
|
+
/**
|
|
110
|
+
* Properties for resources with log information.
|
|
111
|
+
*/
|
|
64
112
|
export type WithLogInfo = {
|
|
65
113
|
logInfo?: LogInfo;
|
|
66
114
|
};
|
|
115
|
+
/**
|
|
116
|
+
* Properties for resources with encryption information.
|
|
117
|
+
*/
|
|
67
118
|
export type WithEncryptionInfo = WithEnvRoles & WithVaultInfo & WithEncryption;
|
|
119
|
+
/**
|
|
120
|
+
* Properties for resources with Pulumi options.
|
|
121
|
+
*/
|
|
68
122
|
export type WithPulumiOpts = {
|
|
69
123
|
opts?: CustomResourceOptions;
|
|
70
124
|
};
|
|
125
|
+
/**
|
|
126
|
+
* Arguments for login credentials with environment roles.
|
|
127
|
+
*/
|
|
71
128
|
export type LoginWithEnvRolesArgs = LoginArgs & WithEnvRoles;
|
|
129
|
+
/**
|
|
130
|
+
* Properties for named types with vault information.
|
|
131
|
+
*/
|
|
72
132
|
export type NamedWithVaultType = WithNamedType & WithVaultInfo;
|
|
133
|
+
/**
|
|
134
|
+
* Basic arguments for named resources.
|
|
135
|
+
*/
|
|
73
136
|
export type NamedBasicArgs = WithNamedType & OptsArgs;
|
|
137
|
+
/**
|
|
138
|
+
* Basic arguments for named resources with vault information.
|
|
139
|
+
*/
|
|
74
140
|
export type NamedWithVaultBasicArgs = NamedWithVaultType & OptsArgs;
|
|
141
|
+
/**
|
|
142
|
+
* Arguments for resources.
|
|
143
|
+
*/
|
|
75
144
|
export type ResourceArgs = WithNamedType & WithResourceGroupInfo;
|
|
145
|
+
/**
|
|
146
|
+
* Arguments for resources with vault information.
|
|
147
|
+
*/
|
|
76
148
|
export type ResourceWithVaultArgs = ResourceArgs & NamedWithVaultType;
|
|
149
|
+
/**
|
|
150
|
+
* Arguments for encrypted resources.
|
|
151
|
+
*/
|
|
77
152
|
export type EncryptResourceArgs = ResourceWithVaultArgs & WithEncryptionInfo;
|
|
153
|
+
/**
|
|
154
|
+
* Basic arguments for resources with formattable names.
|
|
155
|
+
*/
|
|
78
156
|
export type BasicResourceArgs = WithFormattableName & ResourceArgs & OptsArgs;
|
|
157
|
+
/**
|
|
158
|
+
* Basic arguments for resources with vault information.
|
|
159
|
+
*/
|
|
79
160
|
export type BasicResourceWithVaultArgs = WithVaultInfo & BasicResourceArgs;
|
|
161
|
+
/**
|
|
162
|
+
* Basic arguments for encrypted resources.
|
|
163
|
+
*/
|
|
80
164
|
export type BasicEncryptResourceArgs = BasicResourceWithVaultArgs & WithEncryptionInfo & OptsArgs;
|
|
81
|
-
/**
|
|
165
|
+
/**
|
|
166
|
+
* Basic resource information.
|
|
167
|
+
*/
|
|
82
168
|
export type BasicResourceInfo = WithNamedType & WithOutputId;
|
|
169
|
+
/**
|
|
170
|
+
* Resource output information.
|
|
171
|
+
*/
|
|
83
172
|
export type ResourceInfo = BasicResourceInfo & ResourceArgs;
|
|
84
|
-
/**
|
|
173
|
+
/**
|
|
174
|
+
* Resource information with subscription ID.
|
|
175
|
+
*/
|
|
85
176
|
export type ResourceInfoWithSub = ResourceInfo & WithSubId;
|
|
177
|
+
/**
|
|
178
|
+
* Key vault information.
|
|
179
|
+
*/
|
|
86
180
|
export type KeyVaultInfo = ResourceInfo;
|
|
181
|
+
/**
|
|
182
|
+
* Identity information.
|
|
183
|
+
*/
|
|
87
184
|
export type IdentityInfo = WithOutputId & WithPrincipalId;
|
|
185
|
+
/**
|
|
186
|
+
* Active Directory identity information.
|
|
187
|
+
*/
|
|
88
188
|
export type AdIdentityInfo = WithNamedType & {
|
|
89
189
|
objectId: Output<string>;
|
|
90
190
|
clientId: Output<string>;
|
|
@@ -92,13 +192,22 @@ export type AdIdentityInfo = WithNamedType & {
|
|
|
92
192
|
principalId: Output<string> | undefined;
|
|
93
193
|
principalSecret: Output<string> | undefined;
|
|
94
194
|
};
|
|
195
|
+
/**
|
|
196
|
+
* Active Directory identity information with instance.
|
|
197
|
+
*/
|
|
95
198
|
export type AdIdentityInfoWithInstance<TInstance> = AdIdentityInfo & WithInstance<TInstance>;
|
|
199
|
+
/**
|
|
200
|
+
* Storage connection information.
|
|
201
|
+
*/
|
|
96
202
|
export type StorageConnectionInfo = {
|
|
97
203
|
primaryConnection?: Output<string>;
|
|
98
204
|
secondaryConnection?: Output<string>;
|
|
99
205
|
primaryKey?: Output<string>;
|
|
100
206
|
secondaryKey?: Output<string>;
|
|
101
207
|
};
|
|
208
|
+
/**
|
|
209
|
+
* Storage information.
|
|
210
|
+
*/
|
|
102
211
|
export type StorageInfo = ResourceInfo & StorageConnectionInfo & {
|
|
103
212
|
endpoints: {
|
|
104
213
|
blob: string;
|
|
@@ -106,51 +215,91 @@ export type StorageInfo = ResourceInfo & StorageConnectionInfo & {
|
|
|
106
215
|
table: string;
|
|
107
216
|
};
|
|
108
217
|
};
|
|
218
|
+
/**
|
|
219
|
+
* Application Insights secrets information.
|
|
220
|
+
*/
|
|
109
221
|
export type AppInsightSecretsInfo = {
|
|
110
222
|
instrumentationKey?: Output<string>;
|
|
111
223
|
};
|
|
224
|
+
/**
|
|
225
|
+
* Application Insights information.
|
|
226
|
+
*/
|
|
112
227
|
export type AppInsightInfo = ResourceInfo & AppInsightSecretsInfo;
|
|
228
|
+
/**
|
|
229
|
+
* Log workspace secrets information.
|
|
230
|
+
*/
|
|
113
231
|
export type LogWorkspaceSecretsInfo = {
|
|
114
232
|
primarySharedKey?: Output<string>;
|
|
115
233
|
secondarySharedKey?: Output<string>;
|
|
116
234
|
workspaceId?: Output<string>;
|
|
117
235
|
};
|
|
236
|
+
/**
|
|
237
|
+
* Log workspace information.
|
|
238
|
+
*/
|
|
118
239
|
export type LogWorkspaceInfo = ResourceInfo & LogWorkspaceSecretsInfo;
|
|
240
|
+
/**
|
|
241
|
+
* Log information.
|
|
242
|
+
*/
|
|
119
243
|
export type LogInfo = {
|
|
120
244
|
logWp: LogWorkspaceInfo;
|
|
121
245
|
logStorage: StorageInfo;
|
|
122
246
|
appInsight: AppInsightInfo;
|
|
123
247
|
};
|
|
248
|
+
/**
|
|
249
|
+
* Interface for identity information with instance.
|
|
250
|
+
*/
|
|
124
251
|
export interface IdentityInfoWithInstance<InstanceType> extends IdentityInfo, WithInstance<InstanceType> {
|
|
125
252
|
}
|
|
253
|
+
/**
|
|
254
|
+
* Interface for resources with instance.
|
|
255
|
+
*/
|
|
126
256
|
export interface WithInstance<InstanceType> {
|
|
127
257
|
instance: InstanceType;
|
|
128
258
|
}
|
|
129
|
-
/**
|
|
259
|
+
/**
|
|
260
|
+
* Interface for basic resource information with instance.
|
|
261
|
+
*/
|
|
130
262
|
export interface BasicResourceInfoWithInstance<InstanceType> extends WithInstance<InstanceType>, BasicResourceInfo {
|
|
131
263
|
}
|
|
264
|
+
/**
|
|
265
|
+
* Interface for resource information with instance.
|
|
266
|
+
*/
|
|
132
267
|
export interface ResourceInfoWithInstance<InstanceType> extends WithInstance<InstanceType>, ResourceInfo {
|
|
133
268
|
}
|
|
269
|
+
/**
|
|
270
|
+
* Properties for private link.
|
|
271
|
+
*/
|
|
134
272
|
export type PrivateLinkPropsType = {
|
|
135
273
|
privateIpAddress?: Input<string>;
|
|
136
274
|
/** The Subnet that private links will be created.*/
|
|
137
275
|
subnetIds: Input<string>[];
|
|
138
276
|
/** The extra Vnet that Private DNS Zone will be linked.*/
|
|
139
277
|
extraVnetIds?: Input<string>[];
|
|
140
|
-
type?: string;
|
|
141
278
|
};
|
|
279
|
+
/**
|
|
280
|
+
* Properties for network.
|
|
281
|
+
*/
|
|
142
282
|
export type NetworkPropsType = {
|
|
143
283
|
subnetId?: Input<string>;
|
|
144
284
|
ipAddresses?: Input<string>[];
|
|
145
285
|
privateLink?: PrivateLinkPropsType;
|
|
146
286
|
};
|
|
287
|
+
/**
|
|
288
|
+
* Properties for identity role assignment.
|
|
289
|
+
*/
|
|
147
290
|
export type IdentityRoleAssignment = WithVaultInfo & {
|
|
148
291
|
role?: EnvRoleKeyTypes;
|
|
149
292
|
};
|
|
293
|
+
/**
|
|
294
|
+
* Interface for replace pattern.
|
|
295
|
+
*/
|
|
150
296
|
export interface ReplacePattern {
|
|
151
297
|
from: string | RegExp;
|
|
152
298
|
to: string;
|
|
153
299
|
}
|
|
300
|
+
/**
|
|
301
|
+
* Properties for naming conventions.
|
|
302
|
+
*/
|
|
154
303
|
export type ConventionProps = {
|
|
155
304
|
prefix?: string;
|
|
156
305
|
suffix?: string;
|
|
@@ -165,13 +314,22 @@ export type ConventionProps = {
|
|
|
165
314
|
/**The regex to replace specials characters from the name*/
|
|
166
315
|
replaces?: ReplacePattern[];
|
|
167
316
|
};
|
|
317
|
+
/**
|
|
318
|
+
* Type for naming.
|
|
319
|
+
*/
|
|
168
320
|
export type NamingType = string | {
|
|
169
321
|
val: string;
|
|
170
322
|
rule: ConventionProps;
|
|
171
323
|
};
|
|
324
|
+
/**
|
|
325
|
+
* Properties for formattable names.
|
|
326
|
+
*/
|
|
172
327
|
export type WithFormattableName = {
|
|
173
328
|
name: NamingType;
|
|
174
329
|
};
|
|
330
|
+
/**
|
|
331
|
+
* Properties for diagnostic settings.
|
|
332
|
+
*/
|
|
175
333
|
export type DiagnosticProps = WithNamedType & WithDependsOn & {
|
|
176
334
|
logInfo: Partial<Omit<LogInfo, 'appInsight'>>;
|
|
177
335
|
targetResourceId: Input<string>;
|
package/Sql/Auditing.d.ts
DELETED
|
File without changes
|
package/Sql/Auditing.js
DELETED
package/Sql/Helper.d.ts
DELETED
package/Sql/Helper.js
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getSqlServerInfo = void 0;
|
|
4
|
-
const Common_1 = require("../Common");
|
|
5
|
-
const getSqlServerInfo = ({ name, groupName, }) => {
|
|
6
|
-
const group = Common_1.naming.getResourceGroupName(groupName);
|
|
7
|
-
const sqlServerName = Common_1.naming.getSqlServerName(name);
|
|
8
|
-
return { name: sqlServerName, group: { resourceGroupName: group } };
|
|
9
|
-
};
|
|
10
|
-
exports.getSqlServerInfo = getSqlServerInfo;
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL1NxbC9IZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsc0NBQW1DO0FBRTVCLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxFQUMvQixJQUFJLEVBQ0osU0FBUyxHQUlWLEVBQUUsRUFBRTtJQUNILE1BQU0sS0FBSyxHQUFHLGVBQU0sQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNyRCxNQUFNLGFBQWEsR0FBRyxlQUFNLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFcEQsT0FBTyxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLEVBQUUsaUJBQWlCLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztBQUN0RSxDQUFDLENBQUM7QUFYVyxRQUFBLGdCQUFnQixvQkFXM0IifQ==
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { Input } from '@pulumi/pulumi';
|
|
2
|
-
export interface VNetPeeringProps {
|
|
3
|
-
name: string;
|
|
4
|
-
localVNetName: Input<string>;
|
|
5
|
-
localVNetResourceGroupName: Input<string>;
|
|
6
|
-
globalPeeringVnetId: Input<string>;
|
|
7
|
-
}
|
|
8
|
-
declare const _default: ({ name, localVNetName, localVNetResourceGroupName, globalPeeringVnetId, }: VNetPeeringProps) => void;
|
|
9
|
-
export default _default;
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
const Common_1 = require("../Common");
|
|
27
|
-
const network = __importStar(require("@pulumi/azure-native/network"));
|
|
28
|
-
exports.default = ({ name, localVNetName, localVNetResourceGroupName, globalPeeringVnetId, }) => {
|
|
29
|
-
new network.VirtualNetworkPeering(`${Common_1.stack}-${name}-first-vlk`, {
|
|
30
|
-
virtualNetworkPeeringName: `${Common_1.stack}-${name}-first-vlk`,
|
|
31
|
-
virtualNetworkName: localVNetName,
|
|
32
|
-
resourceGroupName: localVNetResourceGroupName,
|
|
33
|
-
allowForwardedTraffic: false,
|
|
34
|
-
allowVirtualNetworkAccess: false,
|
|
35
|
-
remoteVirtualNetwork: {
|
|
36
|
-
id: globalPeeringVnetId,
|
|
37
|
-
},
|
|
38
|
-
});
|
|
39
|
-
};
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR2xvYmFsTmV0d29ya1BlZXJpbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvVk5ldC9HbG9iYWxOZXR3b3JrUGVlcmluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsc0NBQWtDO0FBQ2xDLHNFQUF3RDtBQVl4RCxrQkFBZSxDQUFDLEVBQ2QsSUFBSSxFQUNKLGFBQWEsRUFDYiwwQkFBMEIsRUFDMUIsbUJBQW1CLEdBQ0YsRUFBRSxFQUFFO0lBQ3JCLElBQUksT0FBTyxDQUFDLHFCQUFxQixDQUFDLEdBQUcsY0FBSyxJQUFJLElBQUksWUFBWSxFQUFFO1FBQzlELHlCQUF5QixFQUFFLEdBQUcsY0FBSyxJQUFJLElBQUksWUFBWTtRQUN2RCxrQkFBa0IsRUFBRSxhQUFhO1FBQ2pDLGlCQUFpQixFQUFFLDBCQUEwQjtRQUM3QyxxQkFBcUIsRUFBRSxLQUFLO1FBQzVCLHlCQUF5QixFQUFFLEtBQUs7UUFDaEMsb0JBQW9CLEVBQUU7WUFDcEIsRUFBRSxFQUFFLG1CQUFtQjtTQUN4QjtLQUNGLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyJ9
|