本文整理匯總了TypeScript中vsts-task-lib/task.getEndpointDataParameter函數的典型用法代碼示例。如果您正苦於以下問題:TypeScript getEndpointDataParameter函數的具體用法?TypeScript getEndpointDataParameter怎麽用?TypeScript getEndpointDataParameter使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。
在下文中一共展示了getEndpointDataParameter函數的10個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。
示例1: getTemplateVariables
public async getTemplateVariables(packerHost: definitions.IPackerHost): Promise<Map<string, string>> {
if(!!this._spnVariables) {
return this._spnVariables;
}
var taskParameters = packerHost.getTaskParameters();
// if custom template is used, SPN variables are not required
if(taskParameters.templateType === constants.TemplateTypeCustom) {
this._spnVariables = new Map<string, string>();
return this._spnVariables;
}
this._spnVariables = new Map<string, string>();
var connectedService = taskParameters.serviceEndpoint;
var subscriptionId: string = tl.getEndpointDataParameter(connectedService, "SubscriptionId", true)
this._spnVariables.set(constants.TemplateVariableSubscriptionIdName, subscriptionId);
this._spnVariables.set(constants.TemplateVariableClientIdName, tl.getEndpointAuthorizationParameter(connectedService, 'serviceprincipalid', false));
this._spnVariables.set(constants.TemplateVariableClientSecretName, tl.getEndpointAuthorizationParameter(connectedService, 'serviceprincipalkey', false));
this._spnVariables.set(constants.TemplateVariableTenantIdName, tl.getEndpointAuthorizationParameter(connectedService, 'tenantid', false));
var spnObjectId = tl.getEndpointDataParameter(connectedService, "spnObjectId", true);
// if we are creating windows VM and SPN object-id is not available in service endpoint, fetch it from Graph endpoint
// NOP for nix
if(!spnObjectId && taskParameters.osType.toLowerCase().match(/^win/)) {
spnObjectId = await this.getServicePrincipalObjectId(taskParameters.graphCredentials);
}
this._spnVariables.set(constants.TemplateVariableObjectIdName, spnObjectId);
return this._spnVariables;
}
示例2: getOctopusConnectionDetails
export function getOctopusConnectionDetails(name: string): OctoServerConnectionDetails {
const octoEndpointAuthorization = tasks.getEndpointAuthorization(name, false);
const ignoreSSL = tasks.getEndpointDataParameter(name, "ignoreSslErrors", true);
return {
url: tasks.getEndpointUrl(name, false),
apiKey: octoEndpointAuthorization.parameters["apitoken"],
ignoreSslErrors: !!ignoreSSL && ignoreSSL.toLowerCase() === "true"
}
}
示例3: run
async function run() {
try {
tl.setResourcePath(path.join( __dirname, 'task.json'));
var connectedServiceName = tl.getInput('ConnectedServiceName', true);
var resourceGroupName: string = tl.getInput("ResourceGroupName", true);
var loadBalancerName: string = tl.getInput("LoadBalancer", true);
var action: string = tl.getInput("Action", true);
var endPointAuthCreds = tl.getEndpointAuthorization(connectedServiceName, true);
var endpointUrl = tl.getEndpointUrl(connectedServiceName, true);
var SPN = new Array();
SPN["servicePrincipalClientID"] = endPointAuthCreds.parameters["serviceprincipalid"];
SPN["servicePrincipalKey"] = endPointAuthCreds.parameters["serviceprincipalkey"];
SPN["tenantID"] = endPointAuthCreds.parameters["tenantid"];
SPN["subscriptionId"] = tl.getEndpointDataParameter(connectedServiceName, 'subscriptionid', true);
SPN["envAuthUrl"] = tl.getEndpointDataParameter(connectedServiceName, 'environmentAuthorityUrl', true);
SPN["url"] = tl.getEndpointUrl(connectedServiceName, true);
var nicVm = await getNetworkInterface(SPN, endpointUrl, resourceGroupName);
tl.debug(`Network Interface - ${nicVm.name}'s configuration details fetched for the virtual machine ${process.env.COMPUTERNAME}`);
var nicLbBackendPoolConfig = null;
if (action == "Connect") {
tl._writeLine(tl.loc("ConnectingVMtoLB", loadBalancerName));
var lb = await nlbUtility.getLoadBalancer(SPN, endpointUrl, loadBalancerName, resourceGroupName);
nicLbBackendPoolConfig = lb.properties.backendAddressPools;
}
else {
tl._writeLine(tl.loc("DisconnectingVMfromLB", loadBalancerName));
}
nicVm.properties.ipConfigurations[0].properties['loadBalancerBackendAddressPools'] = nicLbBackendPoolConfig;
var setNIStatus = await nlbUtility.setNetworkInterface(SPN, endpointUrl, nicVm, resourceGroupName);
tl._writeLine(tl.loc(setNIStatus, nicVm.name));
tl._writeLine(tl.loc("ActionCompletedSuccefully", action, process.env.COMPUTERNAME, loadBalancerName));
}
catch(error) {
tl.setResult(tl.TaskResult.Failed, error);
}
}
示例4: getExternalAuthInfoArray
export async function getExternalAuthInfoArray(inputKey: string): Promise<AuthInfo[]>
{
let externalAuthArray: AuthInfo[] = [];
let endpointNames = tl.getDelimitedInput(inputKey, ",");
if (!endpointNames || endpointNames.length === 0)
{
return externalAuthArray;
}
tl.debug(tl.loc("Info_AddingExternalFeeds", endpointNames.length));
for (let endpointId of endpointNames)
{
let feedUri = tl.getEndpointUrl(endpointId, false);
let endpointName = tl.getEndpointDataParameter(endpointId, "endpointname", false);
let externalAuth = tl.getEndpointAuthorization(endpointId, true);
let scheme = tl.getEndpointAuthorizationScheme(endpointId, true).toLowerCase();
switch(scheme) {
case "token":
const token = externalAuth.parameters["apitoken"];
tl.debug(tl.loc("Info_AddingTokenAuthEntry", feedUri));
externalAuthArray.push(new AuthInfo({
feedName: endpointName,
feedUri,
isInternalSource: false,
} as IPackageSource,
AuthType.Token,
"build", // fake username, could be anything.
token,
));
break;
case "usernamepassword":
let username = externalAuth.parameters["username"];
let password = externalAuth.parameters["password"];
tl.debug(tl.loc("Info_AddingPasswordAuthEntry", feedUri));
externalAuthArray.push(new AuthInfo({
feedName: endpointName,
feedUri,
isInternalSource: false,
} as IPackageSource,
AuthType.UsernamePassword,
username,
password));
break;
case "none":
default:
break;
}
}
return externalAuthArray;
}
示例5: getDockerRegistryEndpointAuthenticationToken
export function getDockerRegistryEndpointAuthenticationToken(endpointId: string): RegistryServerAuthenticationToken {
var registryType = tl.getEndpointDataParameter(endpointId, "registrytype", true);
let authToken: RegistryServerAuthenticationToken;
if (registryType === "ACR") {
const loginServer = tl.getEndpointAuthorizationParameter(endpointId, "loginServer", false);
authToken = new ACRAuthenticationTokenProvider(endpointId, loginServer).getAuthenticationToken();
}
else {
authToken = new GenericAuthenticationTokenProvider(endpointId).getAuthenticationToken();
}
return authToken;
}
示例6: getTemplateVariables
public getTemplateVariables(packerHost: definitions.IPackerHost): Map<string, string> {
if(!!this._spnVariables) {
return this._spnVariables;
}
var taskParameters = packerHost.getTaskParameters();
// if custom template is used, SPN variables are not required
if(taskParameters.templateType === constants.TemplateTypeCustom) {
this._spnVariables = new Map<string, string>();
return this._spnVariables;
}
this._spnVariables = new Map<string, string>();
var connectedService = taskParameters.serviceEndpoint;
this._spnVariables.set(constants.TemplateVariableSubscriptionIdName, tl.getEndpointDataParameter(connectedService, "SubscriptionId", true));
this._spnVariables.set(constants.TemplateVariableClientIdName, tl.getEndpointAuthorizationParameter(connectedService, 'serviceprincipalid', false));
this._spnVariables.set(constants.TemplateVariableClientSecretName, tl.getEndpointAuthorizationParameter(connectedService, 'serviceprincipalkey', false));
this._spnVariables.set(constants.TemplateVariableTenantIdName, tl.getEndpointAuthorizationParameter(connectedService, 'tenantid', false));
this._spnVariables.set(constants.TemplateVariableObjectIdName, tl.getEndpointDataParameter(connectedService, "spnObjectId", true));
return this._spnVariables;
}
示例7: if
return this.initialize().then(() => {
var authorizationType = tl.getEndpointDataParameter(kubernetesEndpoint, 'authorizationType', true);
var kubeconfig = null;
if (!authorizationType || authorizationType === "Kubeconfig")
{
if (kubernetesEndpoint) {
kubeconfig = tl.getEndpointAuthorizationParameter(kubernetesEndpoint, 'kubeconfig', false);
}
}
else if (authorizationType === "ServiceAccount")
{
kubeconfig = kubectlutility.createKubeconfig(kubernetesEndpoint);
}
this.kubeconfigFile = path.join(this.userDir, "config");
fs.writeFileSync(this.kubeconfigFile, kubeconfig);
});
示例8: open
public open() {
let kubeconfig: string, kubeconfigFile: string;
let kubernetesServiceConnection = tl.getInput("kubernetesServiceConnection", true);
let authorizationType = tl.getEndpointDataParameter(kubernetesServiceConnection, 'authorizationType', true);
if (!authorizationType || authorizationType === "Kubeconfig") {
kubeconfig = kubectlutility.getKubeconfigForCluster(kubernetesServiceConnection);
}
else if (authorizationType === "ServiceAccount" || authorizationType === "AzureSubscription") {
kubeconfig = kubectlutility.createKubeconfig(kubernetesServiceConnection);
}
kubeconfigFile = path.join(utils.getNewUserDirPath(), "config");
fs.writeFileSync(kubeconfigFile, kubeconfig);
tl.setVariable("KUBECONFIG", kubeconfigFile);
}
示例9: run
async function run() {
let sshHelper: SshHelper;
try {
tl.setResourcePath(path.join(__dirname, 'task.json'));
// read SSH endpoint input
const sshEndpoint = tl.getInput('sshEndpoint', true);
const username: string = tl.getEndpointAuthorizationParameter(sshEndpoint, 'username', false);
const password: string = tl.getEndpointAuthorizationParameter(sshEndpoint, 'password', true); //passphrase is optional
const privateKey: string = process.env['ENDPOINT_DATA_' + sshEndpoint + '_PRIVATEKEY']; //private key is optional, password can be used for connecting
const hostname: string = tl.getEndpointDataParameter(sshEndpoint, 'host', false);
let port: string = tl.getEndpointDataParameter(sshEndpoint, 'port', true); //port is optional, will use 22 as default port if not specified
if (!port) {
tl._writeLine(tl.loc('UseDefaultPort'));
port = '22';
}
// set up the SSH connection configuration based on endpoint details
let sshConfig;
if (privateKey) {
tl.debug('Using private key for ssh connection.');
sshConfig = {
host: hostname,
port: port,
username: username,
privateKey: privateKey,
passphrase: password
}
} else {
// use password
tl.debug('Using username and password for ssh connection.');
sshConfig = {
host: hostname,
port: port,
username: username,
password: password
}
}
// contents is a multiline input containing glob patterns
const contents: string[] = tl.getDelimitedInput('contents', '\n', true);
const sourceFolder: string = tl.getPathInput('sourceFolder', true, true);
let targetFolder: string = tl.getInput('targetFolder');
if (!targetFolder) {
targetFolder = "./";
} else {
// '~/' is unsupported
targetFolder = targetFolder.replace(/^~\//, "./");
}
// read the copy options
const cleanTargetFolder: boolean = tl.getBoolInput('cleanTargetFolder', false);
const overwrite: boolean = tl.getBoolInput('overwrite', false);
const failOnEmptySource: boolean = tl.getBoolInput('failOnEmptySource', false);
const flattenFolders: boolean = tl.getBoolInput('flattenFolders', false);
if (!tl.stats(sourceFolder).isDirectory()) {
throw tl.loc('SourceNotFolder');
}
// initialize the SSH helpers, set up the connection
sshHelper = new SshHelper(sshConfig);
await sshHelper.setupConnection();
if (cleanTargetFolder) {
tl._writeLine(tl.loc('CleanTargetFolder', targetFolder));
const cleanTargetFolderCmd = 'rm -rf "' + targetFolder + '"/*';
try {
await sshHelper.runCommandOnRemoteMachine(cleanTargetFolderCmd, null);
} catch (err) {
throw tl.loc('CleanTargetFolderFailed', err);
}
}
// identify the files to copy
const filesToCopy: string[] = getFilesToCopy(sourceFolder, contents);
// copy files to remote machine
if (filesToCopy) {
tl.debug('Number of files to copy = ' + filesToCopy.length);
tl.debug('filesToCopy = ' + filesToCopy);
let failureCount = 0;
tl._writeLine(tl.loc('CopyingFiles', filesToCopy.length));
for (const fileToCopy of filesToCopy) {
try {
tl.debug('fileToCopy = ' + fileToCopy);
let relativePath;
if (flattenFolders) {
relativePath = path.basename(fileToCopy);
} else {
relativePath = fileToCopy.substring(sourceFolder.length)
.replace(/^\\/g, "")
.replace(/^\//g, "");
}
tl.debug('relativePath = ' + relativePath);
const targetPath = path.posix.join(targetFolder, relativePath);
//.........這裏部分代碼省略.........
示例10: run
async function run() {
let sshClientConnection: any;
let cleanUpScriptCmd: string;
const remoteCmdOptions: RemoteCommandOptions = new RemoteCommandOptions();
try {
tl.setResourcePath(path.join(__dirname, 'task.json'));
//read SSH endpoint input
const sshEndpoint = tl.getInput('sshEndpoint', true);
const username: string = tl.getEndpointAuthorizationParameter(sshEndpoint, 'username', false);
const password: string = tl.getEndpointAuthorizationParameter(sshEndpoint, 'password', true); //passphrase is optional
const privateKey: string = process.env['ENDPOINT_DATA_' + sshEndpoint + '_PRIVATEKEY']; //private key is optional, password can be used for connecting
const hostname: string = tl.getEndpointDataParameter(sshEndpoint, 'host', false);
let port: string = tl.getEndpointDataParameter(sshEndpoint, 'port', true); //port is optional, will use 22 as default port if not specified
if (!port || port === '') {
tl._writeLine(tl.loc('UseDefaultPort'));
port = '22';
}
//setup the SSH connection configuration based on endpoint details
let sshConfig;
if (privateKey && privateKey !== '') {
tl.debug('Using private key for ssh connection.');
sshConfig = {
host: hostname,
port: port,
username: username,
privateKey: privateKey,
passphrase: password
}
} else {
//use password
tl.debug('Using username and password for ssh connection.');
sshConfig = {
host: hostname,
port: port,
username: username,
password: password
}
}
//read the run options
const runOptions: string = tl.getInput('runOptions', true);
let commands: string[];
let scriptFile: string;
let args: string;
if (runOptions === 'commands') {
// Split on '\n' and ';', flatten, and remove empty entries
commands = tl.getDelimitedInput('commands', '\n', true)
.map(s => s.split(';'))
.reduce((a, b) => a.concat(b))
.filter(s => s.length > 0);
} else if (runOptions === 'inline') {
let inlineScript: string = tl.getInput('inline', true);
if (inlineScript && !inlineScript.startsWith('#!')) {
const bashHeader: string = '#!/bin/bash';
tl.debug('No script header detected. Adding: ' + bashHeader);
inlineScript = bashHeader + os.EOL + inlineScript;
}
const tempDir = tl.getVariable('Agent.TempDirectory') || os.tmpdir();
scriptFile = path.join(tempDir, 'sshscript_' + new Date().getTime()); // default name
try {
// Make sure the directory exists or else we will get ENOENT
if (!fs.existsSync(tempDir))
{
tl.mkdirP(tempDir);
}
fs.writeFileSync(scriptFile, inlineScript);
} catch (err) {
tl.error(tl.loc('FailedToWriteScript', err.message));
tryDeleteFile(scriptFile);
throw err;
}
} else {
scriptFile = tl.getPathInput('scriptPath', true, true);
args = tl.getInput('args')
}
const failOnStdErr: boolean = tl.getBoolInput('failOnStdErr');
remoteCmdOptions.failOnStdErr = failOnStdErr;
//setup the SSH connection
tl._writeLine(tl.loc('SettingUpSshConnection', sshConfig.username, sshConfig.host, sshConfig.port));
try {
sshClientConnection = await sshHelper.setupSshClientConnection(sshConfig);
} catch (err) {
tl.setResult(tl.TaskResult.Failed, tl.loc('ConnectionFailed', err));
}
if (sshClientConnection) {
//SSH connection successful
tl._writeLine(tl.loc('SshConnectionSuccessful'));
if (runOptions === 'commands') {
//run commands specified by the user
for (const command of commands) {
tl.debug('Running command ' + command + ' on remote machine.');
tl._writeLine(command);
const returnCode: string = await sshHelper.runCommandOnRemoteMachine(
//.........這裏部分代碼省略.........