Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
var secret = process.env['APPLICATION_SECRET'];
var subscriptionId = process.env['AZURE_SUBSCRIPTION_ID'];
var publicSSHKeyPath = process.argv[2] || "~/.ssh/id_rsa.pub";
var resourceClient;
//Sample Config
var randomIds = {};
var location = 'eastus';
var resourceGroupName = _generateRandomId('testrg', randomIds);
var deploymentName = _generateRandomId('testdeployment', randomIds);
var dnsLabelPrefix = _generateRandomId('testdnslable', randomIds);
///////////////////////////////////////
//Entrypoint for the sample script //
///////////////////////////////////////
msRestAzure.loginWithServicePrincipalSecret(clientId, secret, domain, function (err, credentials) {
if (err) return console.log(err);
resourceClient = new ResourceManagementClient(credentials, subscriptionId);
// Work flow of this sample:
// 1. create a resource group
// 2. load a VM template and deploy it.
// 3. delete deployed resource(optional)
// 4. delete a resource group(optional)
async.series([
function (callback) {
//Task 1
createResourceGroup(function (err, result, request, response) {
if (err) {
return callback(err);
}
callback(null, result);
//Sample Config
var randomIds = {};
var location = 'westus';
var resourceGroupName = _generateRandomId('testrg', randomIds);
var resourceName = _generateRandomId('testresource', randomIds);
var resourceProviderNamespace = 'Microsoft.KeyVault';
var parentResourcePath = '';
var resourceType = 'vaults';
var apiVersion = '2015-06-01';
///////////////////////////////////////
//Entrypoint for the sample script //
///////////////////////////////////////
msRestAzure.loginWithServicePrincipalSecret(clientId, secret, domain, function (err, credentials) {
if (err) return console.log(err);
resourceClient = new ResourceManagementClient(credentials, subscriptionId);
// Work flow of this sample:
// 1. create a resource group
// 2. list resource groups
// 3. update a resource group
// 4. create a key vault resource in the resource group
// 5. get details for a given resource
// 6. export the resource group template
// 7. delete a resource(optional)
// 8. delete a resource group(optional)
async.series([
function (callback) {
//Task 1
createResourceGroup(function (err, result, request, response) {
return new Promise((resolve, reject) => {
let interactive = false;
// If a specific identity was specified, then
// attempt to use it and fail if it's invalid
if (clientId && clientSecret && tenantId) {
const errorMessage =
"The specified Azure credentials don't appear to be valid. Please check them and try authenticating again";
azure.loginWithServicePrincipalSecret(
clientId,
clientSecret,
tenantId,
handle(errorMessage)
);
} else {
if (!fse.existsSync(SERVICE_PRINCIPAL_FILE)) {
return loginInteractively();
}
const { id, tenantId } = fse.readJSONSync(SERVICE_PRINCIPAL_FILE);
secretStore.getPassword(SERVICE_NAME, id).then(secret => {
if (!secret) {
// The secret has been deleted, while the SP file still exists...
fse.removeSync(SERVICE_PRINCIPAL_FILE);
return loginInteractively();
return __awaiter(this, void 0, void 0, function* () {
const credentials = yield msrestAzure.loginWithServicePrincipalSecret(clientId, secret, domain, { tokenAudience: lib_1.aadEventHubsAudience });
const client = lib_1.EventHubClient.createFromAadTokenCredentials(address, path, credentials);
yield client.send({ body: "Hello awesome world!!" }, 0);
const datas = yield client.receiveBatch("0", 2, 5, { eventPosition: lib_1.EventPosition.fromEnqueuedTime(Date.now()) });
console.log(">>> EventDataObjects: ", datas);
yield client.close();
});
}
module.exports.run = (img, name, options) => {
localOptions = options;
msRestAzure
.loginWithServicePrincipalSecret(
options.clientId, options.clientSecret, options.tenantId)
.then(credential => {
const rgClient = new resourceManagementClient.ResourceManagementClient(
credential, options.subscriptionId);
const aciClient = new containerInstanceManagementClient(
credential, options.subscriptionId);
createContainer(rgClient, aciClient, img, name, options);
})
.catch(err => {
console.log(`Failed to authenticate: ${err.message}`);
});
};
const clientCredentials: any = await new Promise((resolve, reject) => {
msrest.loginWithServicePrincipalSecret(
clientId,
clientSecret,
tenantId,
(err, credentials) => {
if (err) {
return reject(err);
}
resolve(credentials);
},
);
});
const subscriptionId = process.env['AZURE_SUBSCRIPTION_ID'];
const tenantId = process.env['AZURE_TENANT_ID'];
let resClientCached;
let deletedResourceGroups = [];
let deleteApplications = [];
const credsForGraph = new msrest.ApplicationTokenCredentials(
clientId,
tenantId,
clientSecret,
{ tokenAudience: 'graph' }
);
const graphClient = new GraphRbacManagementClient(credsForGraph, tenantId);
return msrest.loginWithServicePrincipalSecret(clientId, clientSecret, tenantId)
.then(creds => {
const resClient = new azurerm.ResourceManagementClient(creds, subscriptionId);
resClientCached = resClient;
return resClient.resourceGroups.list();
})
.then(resourceGroups => {
let deleteResourceGroupOperations = [];
for(let i = 0; i < resourceGroups.length; i++) {
if (resourceGroups[i].tags && resourceGroups[i].tags.isCI === 'yes' && isExpired(resourceGroups[i].tags.expiresOn)) {
deleteApplications.push(resourceGroups[i].tags.appObjectId);
logger(`Deleting ${resourceGroups[i].name} with expiration of ${resourceGroups[i].tags.expiresOn}`);
deleteResourceGroupOperations.push(resClientCached.resourceGroups.beginDeleteMethod(resourceGroups[i].name));
deletedResourceGroups.push(resourceGroups[i].name);
}
}
logger(`deleting ${deleteResourceGroupOperations.length} resource group(s)`);
.then(rows => {
rowsCached = rows;
return msrest.loginWithServicePrincipalSecret(clientId, clientSecret, tenantId);
})
.then(creds => {