Apolak sample script

by sberube

JavaScript

/* 
 * Amazon EC2 Instance Deployment Script 
 * @displayName: Amazon EC2 Instance Deployment
 * @description: Using this script will require on your component a new property called amazonInstanceId.
 * @outputs: amazonInstanceId
 */

// context.subscriptionId = The users subsription ID
// context.selectedResourceProviderId = The selected resource provider chosen
// context.resourceSubscriptionId = Resource Subscription ID
// content.serviceComponentId = Service Component ID
// context.serviceInstanceId = The users service instance ID 
(function(context) {
  // These may not be needed as they are part of awscli directly.
  var providerHostname = CSAIntegrationHelper.getProviderHostname(context.selectedResourceProviderId);
  var providerPort = CSAIntegrationHelper.getProviderPort(context.selectedResourceProviderId);
  var providerUsername = CSAIntegrationHelper.getProviderUsername(context.selectedResourceProviderId);
  var providerPassword = CSAIntegrationHelper.getProviderPassword(context.selectedResourceProviderId);

  // Read required inputs from the resource provider
  var awsAccessKeyId = CSAIntegrationHelper.getPropertyForProvider(context.selectedResourceProviderId, 'accessKeyId');
  var awsSecretAccessKey = CSAIntegrationHelper.getPropertyForProvider(context.selectedResourceProviderId, 'secretAccessKey');
  var awsRegionName = CSAIntegrationHelper.getPropertyForProvider(context.selectedResourceProviderId, 'region');

  // Read required inputs from the component
  var amiLd = CSAIntegrationHelper.getPropertyFromComponent(context.componentId, 'amiLd'); //e.g. ami-abc12345
  var instanceType = CSAIntegrationHelper.getPropertyFromComponent(context.componentId, 'instanceType'); //e.g. t1.micro
  var securityGroup = CSAIntegrationHelper.getPropertyFromComponent(context.componentId, 'securityGroup'); //e.g. MySecurityGroup

  try {
    // Execute Command
    var result = CSAIntegrationHelper.runCommand('awscli', 'ec2 run-instances --image-id ' + amiLd + ' --count...