node-red-contrib-aws
Version:
A collection of Node-RED nodes for AWS. Includes nodes for DynamoDB, EC2, IoT, Kinesis, Lambda, SNS, SQS and S3.
1,616 lines (1,046 loc) • 46 kB
JavaScript
/**
* Copyright 2021 Daniel Thomas.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
**/
module.exports = function(RED) {
"use strict";
function AmazonAPINode(n) {
RED.nodes.createNode(this,n);
this.awsConfig = RED.nodes.getNode(n.aws);
this.region = n.region;
this.operation = n.operation;
this.name = n.name;
this.region = this.awsConfig.region;
this.accessKey = this.awsConfig.accessKey;
this.secretKey = this.awsConfig.secretKey;
var node = this;
var AWS = require("aws-sdk");
AWS.config.update({
accessKeyId: this.accessKey,
secretAccessKey: this.secretKey,
region: this.region
});
if (!AWS) {
node.warn("Missing AWS credentials");
return;
}
if (this.awsConfig.proxyRequired){
var proxy = require('proxy-agent');
AWS.config.update({
httpOptions: { agent: new proxy(this.awsConfig.proxy) }
});
}
var awsService = new AWS.Redshift( { 'region': node.region } );
node.on("input", function(msg) {
var aService = msg.AWSConfig?new AWS.Redshift(msg.AWSConfig) : awsService;
node.sendMsg = function (err, data, msg) {
if (err) {
node.status({fill:"red",shape:"ring",text:"error"});
node.error("failed: " + err.toString(), msg);
node.send([null, { err: err }]);
return;
} else {
msg.payload = data;
node.status({});
}
node.send([msg,null]);
};
if (typeof service[node.operation] == "function"){
node.status({fill:"blue",shape:"dot",text:node.operation});
service[node.operation](aService,msg,function(err,data){
node.sendMsg(err, data, msg);
});
} else {
node.error("failed: Operation node defined - "+node.operation);
}
});
var copyArg=function(src,arg,out,outArg,isObject){
var tmpValue=src[arg];
outArg = (typeof outArg !== 'undefined') ? outArg : arg;
if (typeof src[arg] !== 'undefined'){
if (isObject && typeof src[arg]=="string" && src[arg] != "") {
tmpValue=JSON.parse(src[arg]);
}
out[outArg]=tmpValue;
}
//AWS API takes 'Payload' not 'payload' (see Lambda)
if (arg=="Payload" && typeof tmpValue == 'undefined'){
out[arg]=src["payload"];
}
}
var service={};
service.AcceptReservedNodeExchange=function(svc,msg,cb){
var params={};
//copyArgs
copyArg(n,"ReservedNodeId",params,undefined,false);
copyArg(n,"TargetReservedNodeOfferingId",params,undefined,false);
copyArg(msg,"ReservedNodeId",params,undefined,false);
copyArg(msg,"TargetReservedNodeOfferingId",params,undefined,false);
svc.acceptReservedNodeExchange(params,cb);
}
service.AuthorizeClusterSecurityGroupIngress=function(svc,msg,cb){
var params={};
//copyArgs
copyArg(n,"ClusterSecurityGroupName",params,undefined,false);
copyArg(msg,"ClusterSecurityGroupName",params,undefined,false);
copyArg(msg,"CIDRIP",params,undefined,false);
copyArg(msg,"EC2SecurityGroupName",params,undefined,false);
copyArg(msg,"EC2SecurityGroupOwnerId",params,undefined,false);
svc.authorizeClusterSecurityGroupIngress(params,cb);
}
service.AuthorizeSnapshotAccess=function(svc,msg,cb){
var params={};
//copyArgs
copyArg(n,"SnapshotIdentifier",params,undefined,false);
copyArg(n,"AccountWithRestoreAccess",params,undefined,false);
copyArg(msg,"SnapshotIdentifier",params,undefined,false);
copyArg(msg,"SnapshotClusterIdentifier",params,undefined,false);
copyArg(msg,"AccountWithRestoreAccess",params,undefined,false);
svc.authorizeSnapshotAccess(params,cb);
}
service.BatchDeleteClusterSnapshots=function(svc,msg,cb){
var params={};
//copyArgs
copyArg(n,"Identifiers",params,undefined,false);
copyArg(msg,"Identifiers",params,undefined,false);
svc.batchDeleteClusterSnapshots(params,cb);
}
service.BatchModifyClusterSnapshots=function(svc,msg,cb){
var params={};
//copyArgs
copyArg(n,"SnapshotIdentifierList",params,undefined,true);
copyArg(msg,"SnapshotIdentifierList",params,undefined,true);
copyArg(msg,"ManualSnapshotRetentionPeriod",params,undefined,false);
copyArg(msg,"Force",params,undefined,false);
svc.batchModifyClusterSnapshots(params,cb);
}
service.CancelResize=function(svc,msg,cb){
var params={};
//copyArgs
copyArg(n,"ClusterIdentifier",params,undefined,false);
copyArg(msg,"ClusterIdentifier",params,undefined,false);
svc.cancelResize(params,cb);
}
service.CopyClusterSnapshot=function(svc,msg,cb){
var params={};
//copyArgs
copyArg(n,"SourceSnapshotIdentifier",params,undefined,false);
copyArg(n,"TargetSnapshotIdentifier",params,undefined,false);
copyArg(msg,"SourceSnapshotIdentifier",params,undefined,false);
copyArg(msg,"SourceSnapshotClusterIdentifier",params,undefined,false);
copyArg(msg,"TargetSnapshotIdentifier",params,undefined,false);
copyArg(msg,"ManualSnapshotRetentionPeriod",params,undefined,false);
svc.copyClusterSnapshot(params,cb);
}
service.CreateCluster=function(svc,msg,cb){
var params={};
//copyArgs
copyArg(n,"ClusterIdentifier",params,undefined,false);
copyArg(n,"NodeType",params,undefined,false);
copyArg(n,"MasterUsername",params,undefined,false);
copyArg(n,"MasterUserPassword",params,undefined,false);
copyArg(msg,"DBName",params,undefined,false);
copyArg(msg,"ClusterIdentifier",params,undefined,false);
copyArg(msg,"ClusterType",params,undefined,false);
copyArg(msg,"NodeType",params,undefined,false);
copyArg(msg,"MasterUsername",params,undefined,false);
copyArg(msg,"MasterUserPassword",params,undefined,false);
copyArg(msg,"ClusterSecurityGroups",params,undefined,true);
copyArg(msg,"VpcSecurityGroupIds",params,undefined,true);
copyArg(msg,"ClusterSubnetGroupName",params,undefined,false);
copyArg(msg,"AvailabilityZone",params,undefined,false);
copyArg(msg,"PreferredMaintenanceWindow",params,undefined,false);
copyArg(msg,"ClusterParameterGroupName",params,undefined,false);
copyArg(msg,"AutomatedSnapshotRetentionPeriod",params,undefined,false);
copyArg(msg,"ManualSnapshotRetentionPeriod",params,undefined,false);
copyArg(msg,"Port",params,undefined,false);
copyArg(msg,"ClusterVersion",params,undefined,false);
copyArg(msg,"AllowVersionUpgrade",params,undefined,false);
copyArg(msg,"NumberOfNodes",params,undefined,false);
copyArg(msg,"PubliclyAccessible",params,undefined,false);
copyArg(msg,"Encrypted",params,undefined,false);
copyArg(msg,"HsmClientCertificateIdentifier",params,undefined,false);
copyArg(msg,"HsmConfigurationIdentifier",params,undefined,false);
copyArg(msg,"ElasticIp",params,undefined,false);
copyArg(msg,"Tags",params,undefined,true);
copyArg(msg,"KmsKeyId",params,undefined,false);
copyArg(msg,"EnhancedVpcRouting",params,undefined,false);
copyArg(msg,"AdditionalInfo",params,undefined,false);
copyArg(msg,"IamRoles",params,undefined,true);
copyArg(msg,"MaintenanceTrackName",params,undefined,false);
copyArg(msg,"SnapshotScheduleIdentifier",params,undefined,false);
copyArg(msg,"AvailabilityZoneRelocation",params,undefined,false);
svc.createCluster(params,cb);
}
service.CreateClusterParameterGroup=function(svc,msg,cb){
var params={};
//copyArgs
copyArg(n,"ParameterGroupName",params,undefined,false);
copyArg(n,"ParameterGroupFamily",params,undefined,false);
copyArg(n,"Description",params,undefined,false);
copyArg(msg,"ParameterGroupName",params,undefined,false);
copyArg(msg,"ParameterGroupFamily",params,undefined,false);
copyArg(msg,"Description",params,undefined,false);
copyArg(msg,"Tags",params,undefined,true);
svc.createClusterParameterGroup(params,cb);
}
service.CreateClusterSecurityGroup=function(svc,msg,cb){
var params={};
//copyArgs
copyArg(n,"ClusterSecurityGroupName",params,undefined,false);
copyArg(n,"Description",params,undefined,false);
copyArg(msg,"ClusterSecurityGroupName",params,undefined,false);
copyArg(msg,"Description",params,undefined,false);
copyArg(msg,"Tags",params,undefined,true);
svc.createClusterSecurityGroup(params,cb);
}
service.CreateClusterSnapshot=function(svc,msg,cb){
var params={};
//copyArgs
copyArg(n,"SnapshotIdentifier",params,undefined,false);
copyArg(n,"ClusterIdentifier",params,undefined,false);
copyArg(msg,"SnapshotIdentifier",params,undefined,false);
copyArg(msg,"ClusterIdentifier",params,undefined,false);
copyArg(msg,"ManualSnapshotRetentionPeriod",params,undefined,false);
copyArg(msg,"Tags",params,undefined,true);
svc.createClusterSnapshot(params,cb);
}
service.CreateClusterSubnetGroup=function(svc,msg,cb){
var params={};
//copyArgs
copyArg(n,"ClusterSubnetGroupName",params,undefined,false);
copyArg(n,"Description",params,undefined,false);
copyArg(n,"SubnetIds",params,undefined,true);
copyArg(msg,"ClusterSubnetGroupName",params,undefined,false);
copyArg(msg,"Description",params,undefined,false);
copyArg(msg,"SubnetIds",params,undefined,true);
copyArg(msg,"Tags",params,undefined,true);
svc.createClusterSubnetGroup(params,cb);
}
service.CreateEventSubscription=function(svc,msg,cb){
var params={};
//copyArgs
copyArg(n,"SubscriptionName",params,undefined,false);
copyArg(n,"SnsTopicArn",params,undefined,false);
copyArg(msg,"SubscriptionName",params,undefined,false);
copyArg(msg,"SnsTopicArn",params,undefined,false);
copyArg(msg,"SourceType",params,undefined,false);
copyArg(msg,"SourceIds",params,undefined,true);
copyArg(msg,"EventCategories",params,undefined,true);
copyArg(msg,"Severity",params,undefined,false);
copyArg(msg,"Enabled",params,undefined,false);
copyArg(msg,"Tags",params,undefined,true);
svc.createEventSubscription(params,cb);
}
service.CreateHsmClientCertificate=function(svc,msg,cb){
var params={};
//copyArgs
copyArg(n,"HsmClientCertificateIdentifier",params,undefined,false);
copyArg(msg,"HsmClientCertificateIdentifier",params,undefined,false);
copyArg(msg,"Tags",params,undefined,true);
svc.createHsmClientCertificate(params,cb);
}
service.CreateHsmConfiguration=function(svc,msg,cb){
var params={};
//copyArgs
copyArg(n,"HsmConfigurationIdentifier",params,undefined,false);
copyArg(n,"Description",params,undefined,false);
copyArg(n,"HsmIpAddress",params,undefined,false);
copyArg(n,"HsmPartitionName",params,undefined,false);
copyArg(n,"HsmPartitionPassword",params,undefined,false);
copyArg(n,"HsmServerPublicCertificate",params,undefined,false);
copyArg(msg,"HsmConfigurationIdentifier",params,undefined,false);
copyArg(msg,"Description",params,undefined,false);
copyArg(msg,"HsmIpAddress",params,undefined,false);
copyArg(msg,"HsmPartitionName",params,undefined,false);
copyArg(msg,"HsmPartitionPassword",params,undefined,false);
copyArg(msg,"HsmServerPublicCertificate",params,undefined,false);
copyArg(msg,"Tags",params,undefined,true);
svc.createHsmConfiguration(params,cb);
}
service.CreateScheduledAction=function(svc,msg,cb){
var params={};
//copyArgs
copyArg(n,"ScheduledActionName",params,undefined,false);
copyArg(n,"TargetAction",params,undefined,true);
copyArg(n,"Schedule",params,undefined,false);
copyArg(n,"IamRole",params,undefined,false);
copyArg(msg,"ScheduledActionName",params,undefined,false);
copyArg(msg,"TargetAction",params,undefined,true);
copyArg(msg,"Schedule",params,undefined,false);
copyArg(msg,"IamRole",params,undefined,false);
copyArg(msg,"ScheduledActionDescription",params,undefined,false);
copyArg(msg,"StartTime",params,undefined,false);
copyArg(msg,"EndTime",params,undefined,false);
copyArg(msg,"Enable",params,undefined,false);
svc.createScheduledAction(params,cb);
}
service.CreateSnapshotCopyGrant=function(svc,msg,cb){
var params={};
//copyArgs
copyArg(n,"SnapshotCopyGrantName",params,undefined,false);
copyArg(msg,"SnapshotCopyGrantName",params,undefined,false);
copyArg(msg,"KmsKeyId",params,undefined,false);
copyArg(msg,"Tags",params,undefined,true);
svc.createSnapshotCopyGrant(params,cb);
}
service.CreateSnapshotSchedule=function(svc,msg,cb){
var params={};
//copyArgs
copyArg(msg,"ScheduleDefinitions",params,undefined,true);
copyArg(msg,"ScheduleIdentifier",params,undefined,false);
copyArg(msg,"ScheduleDescription",params,undefined,false);
copyArg(msg,"Tags",params,undefined,true);
copyArg(msg,"DryRun",params,undefined,false);
copyArg(msg,"NextInvocations",params,undefined,false);
svc.createSnapshotSchedule(params,cb);
}
service.CreateTags=function(svc,msg,cb){
var params={};
//copyArgs
copyArg(n,"ResourceName",params,undefined,false);
copyArg(n,"Tags",params,undefined,true);
copyArg(msg,"ResourceName",params,undefined,false);
copyArg(msg,"Tags",params,undefined,true);
svc.createTags(params,cb);
}
service.CreateUsageLimit=function(svc,msg,cb){
var params={};
//copyArgs
copyArg(n,"ClusterIdentifier",params,undefined,false);
copyArg(n,"FeatureType",params,undefined,false);
copyArg(n,"LimitType",params,undefined,false);
copyArg(n,"Amount",params,undefined,false);
copyArg(msg,"ClusterIdentifier",params,undefined,false);
copyArg(msg,"FeatureType",params,undefined,false);
copyArg(msg,"LimitType",params,undefined,false);
copyArg(msg,"Amount",params,undefined,false);
copyArg(msg,"Period",params,undefined,false);
copyArg(msg,"BreachAction",params,undefined,false);
copyArg(msg,"Tags",params,undefined,true);
svc.createUsageLimit(params,cb);
}
service.DeleteCluster=function(svc,msg,cb){
var params={};
//copyArgs
copyArg(n,"ClusterIdentifier",params,undefined,false);
copyArg(msg,"ClusterIdentifier",params,undefined,false);
copyArg(msg,"SkipFinalClusterSnapshot",params,undefined,false);
copyArg(msg,"FinalClusterSnapshotIdentifier",params,undefined,false);
copyArg(msg,"FinalClusterSnapshotRetentionPeriod",params,undefined,false);
svc.deleteCluster(params,cb);
}
service.DeleteClusterParameterGroup=function(svc,msg,cb){
var params={};
//copyArgs
copyArg(n,"ParameterGroupName",params,undefined,false);
copyArg(msg,"ParameterGroupName",params,undefined,false);
svc.deleteClusterParameterGroup(params,cb);
}
service.DeleteClusterSecurityGroup=function(svc,msg,cb){
var params={};
//copyArgs
copyArg(n,"ClusterSecurityGroupName",params,undefined,false);
copyArg(msg,"ClusterSecurityGroupName",params,undefined,false);
svc.deleteClusterSecurityGroup(params,cb);
}
service.DeleteClusterSnapshot=function(svc,msg,cb){
var params={};
//copyArgs
copyArg(msg,"SnapshotIdentifier",params,undefined,true);
copyArg(msg,"SnapshotClusterIdentifier",params,undefined,true);
svc.deleteClusterSnapshot(params,cb);
}
service.DeleteClusterSubnetGroup=function(svc,msg,cb){
var params={};
//copyArgs
copyArg(n,"ClusterSubnetGroupName",params,undefined,false);
copyArg(msg,"ClusterSubnetGroupName",params,undefined,false);
svc.deleteClusterSubnetGroup(params,cb);
}
service.DeleteEventSubscription=function(svc,msg,cb){
var params={};
//copyArgs
copyArg(n,"SubscriptionName",params,undefined,false);
copyArg(msg,"SubscriptionName",params,undefined,false);
svc.deleteEventSubscription(params,cb);
}
service.DeleteHsmClientCertificate=function(svc,msg,cb){
var params={};
//copyArgs
copyArg(n,"HsmClientCertificateIdentifier",params,undefined,false);
copyArg(msg,"HsmClientCertificateIdentifier",params,undefined,false);
svc.deleteHsmClientCertificate(params,cb);
}
service.DeleteHsmConfiguration=function(svc,msg,cb){
var params={};
//copyArgs
copyArg(n,"HsmConfigurationIdentifier",params,undefined,false);
copyArg(msg,"HsmConfigurationIdentifier",params,undefined,false);
svc.deleteHsmConfiguration(params,cb);
}
service.DeleteScheduledAction=function(svc,msg,cb){
var params={};
//copyArgs
copyArg(n,"ScheduledActionName",params,undefined,false);
copyArg(msg,"ScheduledActionName",params,undefined,false);
svc.deleteScheduledAction(params,cb);
}
service.DeleteSnapshotCopyGrant=function(svc,msg,cb){
var params={};
//copyArgs
copyArg(n,"SnapshotCopyGrantName",params,undefined,false);
copyArg(msg,"SnapshotCopyGrantName",params,undefined,false);
svc.deleteSnapshotCopyGrant(params,cb);
}
service.DeleteSnapshotSchedule=function(svc,msg,cb){
var params={};
//copyArgs
copyArg(n,"ScheduleIdentifier",params,undefined,false);
copyArg(msg,"ScheduleIdentifier",params,undefined,false);
svc.deleteSnapshotSchedule(params,cb);
}
service.DeleteTags=function(svc,msg,cb){
var params={};
//copyArgs
copyArg(n,"ResourceName",params,undefined,false);
copyArg(n,"TagKeys",params,undefined,true);
copyArg(msg,"ResourceName",params,undefined,false);
copyArg(msg,"TagKeys",params,undefined,true);
svc.deleteTags(params,cb);
}
service.DeleteUsageLimit=function(svc,msg,cb){
var params={};
//copyArgs
copyArg(n,"UsageLimitId",params,undefined,false);
copyArg(msg,"UsageLimitId",params,undefined,false);
svc.deleteUsageLimit(params,cb);
}
service.DescribeAccountAttributes=function(svc,msg,cb){
var params={};
//copyArgs
copyArg(msg,"AttributeNames",params,undefined,false);
svc.describeAccountAttributes(params,cb);
}
service.DescribeClusterDbRevisions=function(svc,msg,cb){
var params={};
//copyArgs
copyArg(msg,"ClusterIdentifier",params,undefined,false);
copyArg(msg,"MaxRecords",params,undefined,false);
copyArg(msg,"Marker",params,undefined,false);
svc.describeClusterDbRevisions(params,cb);
}
service.DescribeClusterParameterGroups=function(svc,msg,cb){
var params={};
//copyArgs
copyArg(msg,"ParameterGroupName",params,undefined,false);
copyArg(msg,"MaxRecords",params,undefined,false);
copyArg(msg,"Marker",params,undefined,false);
copyArg(msg,"TagKeys",params,undefined,true);
copyArg(msg,"TagValues",params,undefined,true);
svc.describeClusterParameterGroups(params,cb);
}
service.DescribeClusterParameters=function(svc,msg,cb){
var params={};
//copyArgs
copyArg(n,"ParameterGroupName",params,undefined,false);
copyArg(msg,"ParameterGroupName",params,undefined,false);
copyArg(msg,"Source",params,undefined,false);
copyArg(msg,"MaxRecords",params,undefined,false);
copyArg(msg,"Marker",params,undefined,false);
svc.describeClusterParameters(params,cb);
}
service.DescribeClusterSecurityGroups=function(svc,msg,cb){
var params={};
//copyArgs
copyArg(msg,"ClusterSecurityGroupName",params,undefined,false);
copyArg(msg,"MaxRecords",params,undefined,false);
copyArg(msg,"Marker",params,undefined,false);
copyArg(msg,"TagKeys",params,undefined,true);
copyArg(msg,"TagValues",params,undefined,true);
svc.describeClusterSecurityGroups(params,cb);
}
service.DescribeClusterSnapshots=function(svc,msg,cb){
var params={};
//copyArgs
copyArg(msg,"ClusterIdentifier",params,undefined,false);
copyArg(msg,"SnapshotIdentifier",params,undefined,false);
copyArg(msg,"SnapshotType",params,undefined,false);
copyArg(msg,"StartTime",params,undefined,false);
copyArg(msg,"EndTime",params,undefined,false);
copyArg(msg,"MaxRecords",params,undefined,false);
copyArg(msg,"Marker",params,undefined,false);
copyArg(msg,"OwnerAccount",params,undefined,false);
copyArg(msg,"TagKeys",params,undefined,true);
copyArg(msg,"TagValues",params,undefined,true);
copyArg(msg,"ClusterExists",params,undefined,false);
copyArg(msg,"SortingEntities",params,undefined,false);
svc.describeClusterSnapshots(params,cb);
}
service.DescribeClusterSubnetGroups=function(svc,msg,cb){
var params={};
//copyArgs
copyArg(msg,"ClusterSubnetGroupName",params,undefined,false);
copyArg(msg,"MaxRecords",params,undefined,false);
copyArg(msg,"Marker",params,undefined,false);
copyArg(msg,"TagKeys",params,undefined,true);
copyArg(msg,"TagValues",params,undefined,true);
svc.describeClusterSubnetGroups(params,cb);
}
service.DescribeClusterTracks=function(svc,msg,cb){
var params={};
//copyArgs
copyArg(msg,"MaintenanceTrackName",params,undefined,false);
copyArg(msg,"MaxRecords",params,undefined,false);
copyArg(msg,"Marker",params,undefined,false);
svc.describeClusterTracks(params,cb);
}
service.DescribeClusterVersions=function(svc,msg,cb){
var params={};
//copyArgs
copyArg(msg,"ClusterVersion",params,undefined,false);
copyArg(msg,"ClusterParameterGroupFamily",params,undefined,false);
copyArg(msg,"MaxRecords",params,undefined,false);
copyArg(msg,"Marker",params,undefined,false);
svc.describeClusterVersions(params,cb);
}
service.DescribeClusters=function(svc,msg,cb){
var params={};
//copyArgs
copyArg(msg,"ClusterIdentifier",params,undefined,false);
copyArg(msg,"MaxRecords",params,undefined,false);
copyArg(msg,"Marker",params,undefined,false);
copyArg(msg,"TagKeys",params,undefined,true);
copyArg(msg,"TagValues",params,undefined,true);
svc.describeClusters(params,cb);
}
service.DescribeDefaultClusterParameters=function(svc,msg,cb){
var params={};
//copyArgs
copyArg(n,"ParameterGroupFamily",params,undefined,false);
copyArg(msg,"ParameterGroupFamily",params,undefined,false);
copyArg(msg,"MaxRecords",params,undefined,false);
copyArg(msg,"Marker",params,undefined,false);
svc.describeDefaultClusterParameters(params,cb);
}
service.DescribeEventCategories=function(svc,msg,cb){
var params={};
//copyArgs
copyArg(msg,"SourceType",params,undefined,false);
svc.describeEventCategories(params,cb);
}
service.DescribeEventSubscriptions=function(svc,msg,cb){
var params={};
//copyArgs
copyArg(msg,"SubscriptionName",params,undefined,false);
copyArg(msg,"MaxRecords",params,undefined,false);
copyArg(msg,"Marker",params,undefined,false);
copyArg(msg,"TagKeys",params,undefined,true);
copyArg(msg,"TagValues",params,undefined,true);
svc.describeEventSubscriptions(params,cb);
}
service.DescribeEvents=function(svc,msg,cb){
var params={};
//copyArgs
copyArg(msg,"SourceIdentifier",params,undefined,false);
copyArg(msg,"SourceType",params,undefined,false);
copyArg(msg,"StartTime",params,undefined,false);
copyArg(msg,"EndTime",params,undefined,false);
copyArg(msg,"Duration",params,undefined,false);
copyArg(msg,"MaxRecords",params,undefined,false);
copyArg(msg,"Marker",params,undefined,false);
svc.describeEvents(params,cb);
}
service.DescribeHsmClientCertificates=function(svc,msg,cb){
var params={};
//copyArgs
copyArg(msg,"HsmClientCertificateIdentifier",params,undefined,false);
copyArg(msg,"MaxRecords",params,undefined,false);
copyArg(msg,"Marker",params,undefined,false);
copyArg(msg,"TagKeys",params,undefined,true);
copyArg(msg,"TagValues",params,undefined,true);
svc.describeHsmClientCertificates(params,cb);
}
service.DescribeHsmConfigurations=function(svc,msg,cb){
var params={};
//copyArgs
copyArg(msg,"HsmConfigurationIdentifier",params,undefined,false);
copyArg(msg,"MaxRecords",params,undefined,false);
copyArg(msg,"Marker",params,undefined,false);
copyArg(msg,"TagKeys",params,undefined,true);
copyArg(msg,"TagValues",params,undefined,true);
svc.describeHsmConfigurations(params,cb);
}
service.DescribeLoggingStatus=function(svc,msg,cb){
var params={};
//copyArgs
copyArg(n,"ClusterIdentifier",params,undefined,false);
copyArg(msg,"ClusterIdentifier",params,undefined,false);
svc.describeLoggingStatus(params,cb);
}
service.DescribeNodeConfigurationOptions=function(svc,msg,cb){
var params={};
//copyArgs
copyArg(n,"ActionType",params,undefined,false);
copyArg(msg,"ActionType",params,undefined,false);
copyArg(msg,"ClusterIdentifier",params,undefined,false);
copyArg(msg,"SnapshotIdentifier",params,undefined,false);
copyArg(msg,"OwnerAccount",params,undefined,false);
copyArg(msg,"Filters",params,undefined,false);
copyArg(msg,"Marker",params,undefined,false);
copyArg(msg,"MaxRecords",params,undefined,false);
svc.describeNodeConfigurationOptions(params,cb);
}
service.DescribeOrderableClusterOptions=function(svc,msg,cb){
var params={};
//copyArgs
copyArg(msg,"ClusterVersion",params,undefined,false);
copyArg(msg,"NodeType",params,undefined,false);
copyArg(msg,"MaxRecords",params,undefined,false);
copyArg(msg,"Marker",params,undefined,false);
svc.describeOrderableClusterOptions(params,cb);
}
service.DescribeReservedNodeOfferings=function(svc,msg,cb){
var params={};
//copyArgs
copyArg(msg,"ReservedNodeOfferingId",params,undefined,false);
copyArg(msg,"MaxRecords",params,undefined,false);
copyArg(msg,"Marker",params,undefined,false);
svc.describeReservedNodeOfferings(params,cb);
}
service.DescribeReservedNodes=function(svc,msg,cb){
var params={};
//copyArgs
copyArg(msg,"ReservedNodeId",params,undefined,false);
copyArg(msg,"MaxRecords",params,undefined,false);
copyArg(msg,"Marker",params,undefined,false);
svc.describeReservedNodes(params,cb);
}
service.DescribeResize=function(svc,msg,cb){
var params={};
//copyArgs
copyArg(n,"ClusterIdentifier",params,undefined,false);
copyArg(msg,"ClusterIdentifier",params,undefined,false);
svc.describeResize(params,cb);
}
service.DescribeScheduledActions=function(svc,msg,cb){
var params={};
//copyArgs
copyArg(msg,"ScheduledActionName",params,undefined,false);
copyArg(msg,"TargetActionType",params,undefined,false);
copyArg(msg,"StartTime",params,undefined,false);
copyArg(msg,"EndTime",params,undefined,false);
copyArg(msg,"Active",params,undefined,false);
copyArg(msg,"Filters",params,undefined,false);
copyArg(msg,"Marker",params,undefined,false);
copyArg(msg,"MaxRecords",params,undefined,false);
svc.describeScheduledActions(params,cb);
}
service.DescribeSnapshotCopyGrants=function(svc,msg,cb){
var params={};
//copyArgs
copyArg(msg,"SnapshotCopyGrantName",params,undefined,false);
copyArg(msg,"MaxRecords",params,undefined,false);
copyArg(msg,"Marker",params,undefined,false);
copyArg(msg,"TagKeys",params,undefined,true);
copyArg(msg,"TagValues",params,undefined,true);
svc.describeSnapshotCopyGrants(params,cb);
}
service.DescribeSnapshotSchedules=function(svc,msg,cb){
var params={};
//copyArgs
copyArg(msg,"ClusterIdentifier",params,undefined,false);
copyArg(msg,"ScheduleIdentifier",params,undefined,false);
copyArg(msg,"TagKeys",params,undefined,true);
copyArg(msg,"TagValues",params,undefined,true);
copyArg(msg,"Marker",params,undefined,false);
copyArg(msg,"MaxRecords",params,undefined,false);
svc.describeSnapshotSchedules(params,cb);
}
service.DescribeStorage=function(svc,msg,cb){
var params={};
//copyArgs
svc.describeStorage(params,cb);
}
service.DescribeTableRestoreStatus=function(svc,msg,cb){
var params={};
//copyArgs
copyArg(msg,"ClusterIdentifier",params,undefined,false);
copyArg(msg,"TableRestoreRequestId",params,undefined,false);
copyArg(msg,"MaxRecords",params,undefined,false);
copyArg(msg,"Marker",params,undefined,false);
svc.describeTableRestoreStatus(params,cb);
}
service.DescribeTags=function(svc,msg,cb){
var params={};
//copyArgs
copyArg(msg,"ResourceName",params,undefined,false);
copyArg(msg,"ResourceType",params,undefined,false);
copyArg(msg,"MaxRecords",params,undefined,false);
copyArg(msg,"Marker",params,undefined,false);
copyArg(msg,"TagKeys",params,undefined,true);
copyArg(msg,"TagValues",params,undefined,true);
svc.describeTags(params,cb);
}
service.DescribeUsageLimits=function(svc,msg,cb){
var params={};
//copyArgs
copyArg(msg,"UsageLimitId",params,undefined,false);
copyArg(msg,"ClusterIdentifier",params,undefined,false);
copyArg(msg,"FeatureType",params,undefined,false);
copyArg(msg,"MaxRecords",params,undefined,false);
copyArg(msg,"Marker",params,undefined,false);
copyArg(msg,"TagKeys",params,undefined,true);
copyArg(msg,"TagValues",params,undefined,true);
svc.describeUsageLimits(params,cb);
}
service.DisableLogging=function(svc,msg,cb){
var params={};
//copyArgs
copyArg(n,"ClusterIdentifier",params,undefined,false);
copyArg(msg,"ClusterIdentifier",params,undefined,false);
svc.disableLogging(params,cb);
}
service.DisableSnapshotCopy=function(svc,msg,cb){
var params={};
//copyArgs
copyArg(n,"ClusterIdentifier",params,undefined,false);
copyArg(msg,"ClusterIdentifier",params,undefined,false);
svc.disableSnapshotCopy(params,cb);
}
service.EnableLogging=function(svc,msg,cb){
var params={};
//copyArgs
copyArg(n,"ClusterIdentifier",params,undefined,false);
copyArg(n,"BucketName",params,undefined,false);
copyArg(msg,"ClusterIdentifier",params,undefined,false);
copyArg(msg,"BucketName",params,undefined,false);
copyArg(msg,"S3KeyPrefix",params,undefined,false);
svc.enableLogging(params,cb);
}
service.EnableSnapshotCopy=function(svc,msg,cb){
var params={};
//copyArgs
copyArg(n,"ClusterIdentifier",params,undefined,false);
copyArg(n,"DestinationRegion",params,undefined,false);
copyArg(msg,"ClusterIdentifier",params,undefined,false);
copyArg(msg,"DestinationRegion",params,undefined,false);
copyArg(msg,"RetentionPeriod",params,undefined,false);
copyArg(msg,"SnapshotCopyGrantName",params,undefined,false);
copyArg(msg,"ManualSnapshotRetentionPeriod",params,undefined,false);
svc.enableSnapshotCopy(params,cb);
}
service.GetClusterCredentials=function(svc,msg,cb){
var params={};
//copyArgs
copyArg(n,"DbUser",params,undefined,false);
copyArg(n,"ClusterIdentifier",params,undefined,false);
copyArg(msg,"DbUser",params,undefined,false);
copyArg(msg,"DbName",params,undefined,false);
copyArg(msg,"ClusterIdentifier",params,undefined,false);
copyArg(msg,"DurationSeconds",params,undefined,false);
copyArg(msg,"AutoCreate",params,undefined,false);
copyArg(msg,"DbGroups",params,undefined,false);
svc.getClusterCredentials(params,cb);
}
service.GetReservedNodeExchangeOfferings=function(svc,msg,cb){
var params={};
//copyArgs
copyArg(n,"ReservedNodeId",params,undefined,false);
copyArg(msg,"ReservedNodeId",params,undefined,false);
copyArg(msg,"MaxRecords",params,undefined,false);
copyArg(msg,"Marker",params,undefined,false);
svc.getReservedNodeExchangeOfferings(params,cb);
}
service.ModifyCluster=function(svc,msg,cb){
var params={};
//copyArgs
copyArg(n,"ClusterIdentifier",params,undefined,false);
copyArg(msg,"ClusterIdentifier",params,undefined,false);
copyArg(msg,"ClusterType",params,undefined,false);
copyArg(msg,"NodeType",params,undefined,false);
copyArg(msg,"NumberOfNodes",params,undefined,false);
copyArg(msg,"ClusterSecurityGroups",params,undefined,true);
copyArg(msg,"VpcSecurityGroupIds",params,undefined,true);
copyArg(msg,"MasterUserPassword",params,undefined,false);
copyArg(msg,"ClusterParameterGroupName",params,undefined,false);
copyArg(msg,"AutomatedSnapshotRetentionPeriod",params,undefined,false);
copyArg(msg,"ManualSnapshotRetentionPeriod",params,undefined,false);
copyArg(msg,"PreferredMaintenanceWindow",params,undefined,false);
copyArg(msg,"ClusterVersion",params,undefined,false);
copyArg(msg,"AllowVersionUpgrade",params,undefined,false);
copyArg(msg,"HsmClientCertificateIdentifier",params,undefined,false);
copyArg(msg,"HsmConfigurationIdentifier",params,undefined,false);
copyArg(msg,"NewClusterIdentifier",params,undefined,false);
copyArg(msg,"PubliclyAccessible",params,undefined,false);
copyArg(msg,"ElasticIp",params,undefined,false);
copyArg(msg,"EnhancedVpcRouting",params,undefined,false);
copyArg(msg,"MaintenanceTrackName",params,undefined,false);
copyArg(msg,"Encrypted",params,undefined,false);
copyArg(msg,"KmsKeyId",params,undefined,false);
copyArg(msg,"AvailabilityZoneRelocation",params,undefined,false);
copyArg(msg,"AvailabilityZone",params,undefined,false);
copyArg(msg,"Port",params,undefined,false);
svc.modifyCluster(params,cb);
}
service.ModifyClusterDbRevision=function(svc,msg,cb){
var params={};
//copyArgs
copyArg(n,"ClusterIdentifier",params,undefined,false);
copyArg(n,"RevisionTarget",params,undefined,false);
copyArg(msg,"ClusterIdentifier",params,undefined,false);
copyArg(msg,"RevisionTarget",params,undefined,false);
svc.modifyClusterDbRevision(params,cb);
}
service.ModifyClusterIamRoles=function(svc,msg,cb){
var params={};
//copyArgs
copyArg(n,"ClusterIdentifier",params,undefined,false);
copyArg(msg,"ClusterIdentifier",params,undefined,false);
copyArg(msg,"AddIamRoles",params,undefined,true);
copyArg(msg,"RemoveIamRoles",params,undefined,true);
svc.modifyClusterIamRoles(params,cb);
}
service.ModifyClusterMaintenance=function(svc,msg,cb){
var params={};
//copyArgs
copyArg(n,"ClusterIdentifier",params,undefined,false);
copyArg(msg,"ClusterIdentifier",params,undefined,false);
copyArg(msg,"DeferMaintenance",params,undefined,false);
copyArg(msg,"DeferMaintenanceIdentifier",params,undefined,false);
copyArg(msg,"DeferMaintenanceStartTime",params,undefined,false);
copyArg(msg,"DeferMaintenanceEndTime",params,undefined,false);
copyArg(msg,"DeferMaintenanceDuration",params,undefined,false);
svc.modifyClusterMaintenance(params,cb);
}
service.ModifyClusterParameterGroup=function(svc,msg,cb){
var params={};
//copyArgs
copyArg(n,"ParameterGroupName",params,undefined,false);
copyArg(n,"Parameters",params,undefined,true);
copyArg(msg,"ParameterGroupName",params,undefined,false);
copyArg(msg,"Parameters",params,undefined,true);
svc.modifyClusterParameterGroup(params,cb);
}
service.ModifyClusterSnapshot=function(svc,msg,cb){
var params={};
//copyArgs
copyArg(n,"SnapshotIdentifier",params,undefined,false);
copyArg(msg,"SnapshotIdentifier",params,undefined,false);
copyArg(msg,"ManualSnapshotRetentionPeriod",params,undefined,false);
copyArg(msg,"Force",params,undefined,false);
svc.modifyClusterSnapshot(params,cb);
}
service.ModifyClusterSnapshotSchedule=function(svc,msg,cb){
var params={};
//copyArgs
copyArg(n,"ClusterIdentifier",params,undefined,false);
copyArg(msg,"ClusterIdentifier",params,undefined,false);
copyArg(msg,"ScheduleIdentifier",params,undefined,false);
copyArg(msg,"DisassociateSchedule",params,undefined,false);
svc.modifyClusterSnapshotSchedule(params,cb);
}
service.ModifyClusterSubnetGroup=function(svc,msg,cb){
var params={};
//copyArgs
copyArg(n,"ClusterSubnetGroupName",params,undefined,false);
copyArg(n,"SubnetIds",params,undefined,true);
copyArg(msg,"ClusterSubnetGroupName",params,undefined,false);
copyArg(msg,"Description",params,undefined,false);
copyArg(msg,"SubnetIds",params,undefined,true);
svc.modifyClusterSubnetGroup(params,cb);
}
service.ModifyEventSubscription=function(svc,msg,cb){
var params={};
//copyArgs
copyArg(n,"SubscriptionName",params,undefined,false);
copyArg(msg,"SubscriptionName",params,undefined,false);
copyArg(msg,"SnsTopicArn",params,undefined,false);
copyArg(msg,"SourceType",params,undefined,false);
copyArg(msg,"SourceIds",params,undefined,true);
copyArg(msg,"EventCategories",params,undefined,true);
copyArg(msg,"Severity",params,undefined,false);
copyArg(msg,"Enabled",params,undefined,false);
svc.modifyEventSubscription(params,cb);
}
service.ModifyScheduledAction=function(svc,msg,cb){
var params={};
//copyArgs
copyArg(n,"ScheduledActionName",params,undefined,false);
copyArg(msg,"ScheduledActionName",params,undefined,false);
copyArg(msg,"TargetAction",params,undefined,true);
copyArg(msg,"Schedule",params,undefined,false);
copyArg(msg,"IamRole",params,undefined,false);
copyArg(msg,"ScheduledActionDescription",params,undefined,false);
copyArg(msg,"StartTime",params,undefined,false);
copyArg(msg,"EndTime",params,undefined,false);
copyArg(msg,"Enable",params,undefined,false);
svc.modifyScheduledAction(params,cb);
}
service.ModifySnapshotCopyRetentionPeriod=function(svc,msg,cb){
var params={};
//copyArgs
copyArg(n,"ClusterIdentifier",params,undefined,false);
copyArg(n,"RetentionPeriod",params,undefined,false);
copyArg(msg,"ClusterIdentifier",params,undefined,false);
copyArg(msg,"RetentionPeriod",params,undefined,false);
copyArg(msg,"Manual",params,undefined,false);
svc.modifySnapshotCopyRetentionPeriod(params,cb);
}
service.ModifySnapshotSchedule=function(svc,msg,cb){
var params={};
//copyArgs
copyArg(n,"ScheduleIdentifier",params,undefined,false);
copyArg(n,"ScheduleDefinitions",params,undefined,true);
copyArg(msg,"ScheduleIdentifier",params,undefined,false);
copyArg(msg,"ScheduleDefinitions",params,undefined,true);
svc.modifySnapshotSchedule(params,cb);
}
service.ModifyUsageLimit=function(svc,msg,cb){
var params={};
//copyArgs
copyArg(n,"UsageLimitId",params,undefined,false);
copyArg(msg,"UsageLimitId",params,undefined,false);
copyArg(msg,"Amount",params,undefined,false);
copyArg(msg,"BreachAction",params,undefined,false);
svc.modifyUsageLimit(params,cb);
}
service.PauseCluster=function(svc,msg,cb){
var params={};
//copyArgs
copyArg(msg,"ClusterIdentifier",params,undefined,true);
svc.pauseCluster(params,cb);
}
service.PurchaseReservedNodeOffering=function(svc,msg,cb){
var params={};
//copyArgs
copyArg(n,"ReservedNodeOfferingId",params,undefined,false);
copyArg(msg,"ReservedNodeOfferingId",params,undefined,false);
copyArg(msg,"NodeCount",params,undefined,false);
svc.purchaseReservedNodeOffering(params,cb);
}
service.RebootCluster=function(svc,msg,cb){
var params={};
//copyArgs
copyArg(n,"ClusterIdentifier",params,undefined,false);
copyArg(msg,"ClusterIdentifier",params,undefined,false);
svc.rebootCluster(params,cb);
}
service.ResetClusterParameterGroup=function(svc,msg,cb){
var params={};
//copyArgs
copyArg(n,"ParameterGroupName",params,undefined,false);
copyArg(msg,"ParameterGroupName",params,undefined,false);
copyArg(msg,"ResetAllParameters",params,undefined,false);
copyArg(msg,"Parameters",params,undefined,true);
svc.resetClusterParameterGroup(params,cb);
}
service.ResizeCluster=function(svc,msg,cb){
var params={};
//copyArgs
copyArg(msg,"ClusterIdentifier",params,undefined,true);
copyArg(msg,"ClusterType",params,undefined,true);
copyArg(msg,"NodeType",params,undefined,true);
copyArg(msg,"NumberOfNodes",params,undefined,true);
copyArg(msg,"Classic",params,undefined,true);
svc.resizeCluster(params,cb);
}
service.RestoreFromClusterSnapshot=function(svc,msg,cb){
var params={};
//copyArgs
copyArg(n,"ClusterIdentifier",params,undefined,false);
copyArg(n,"SnapshotIdentifier",params,undefined,false);
copyArg(msg,"ClusterIdentifier",params,undefined,false);
copyArg(msg,"SnapshotIdentifier",params,undefined,false);
copyArg(msg,"SnapshotClusterIdentifier",params,undefined,false);
copyArg(msg,"Port",params,undefined,false);
copyArg(msg,"AvailabilityZone",params,undefined,false);
copyArg(msg,"AllowVersionUpgrade",params,undefined,false);
copyArg(msg,"ClusterSubnetGroupName",params,undefined,false);
copyArg(msg,"PubliclyAccessible",params,undefined,false);
copyArg(msg,"OwnerAccount",params,undefined,false);
copyArg(msg,"HsmClientCertificateIdentifier",params,undefined,false);
copyArg(msg,"HsmConfigurationIdentifier",params,undefined,false);
copyArg(msg,"ElasticIp",params,undefined,false);
copyArg(msg,"ClusterParameterGroupName",params,undefined,false);
copyArg(msg,"ClusterSecurityGroups",params,undefined,true);
copyArg(msg,"VpcSecurityGroupIds",params,undefined,true);
copyArg(msg,"PreferredMaintenanceWindow",params,undefined,false);
copyArg(msg,"AutomatedSnapshotRetentionPeriod",params,undefined,false);
copyArg(msg,"ManualSnapshotRetentionPeriod",params,undefined,false);
copyArg(msg,"KmsKeyId",params,undefined,false);
copyArg(msg,"NodeType",params,undefined,false);
copyArg(msg,"EnhancedVpcRouting",params,undefined,false);
copyArg(msg,"AdditionalInfo",params,undefined,false);
copyArg(msg,"IamRoles",params,undefined,true);
copyArg(msg,"MaintenanceTrackName",params,undefined,false);
copyArg(msg,"SnapshotScheduleIdentifier",params,undefined,false);
copyArg(msg,"NumberOfNodes",params,undefined,false);
copyArg(msg,"AvailabilityZoneRelocation",params,undefined,false);
svc.restoreFromClusterSnapshot(params,cb);
}
service.RestoreTableFromClusterSnapshot=function(svc,msg,cb){
var params={};
//copyArgs
copyArg(n,"ClusterIdentifier",params,undefined,false);
copyArg(n,"SnapshotIdentifier",params,undefined,false);
copyArg(n,"SourceDatabaseName",params,undefined,false);
copyArg(n,"SourceTableName",params,undefined,false);
copyArg(n,"NewTableName",params,undefined,false);
copyArg(msg,"ClusterIdentifier",params,undefined,false);
copyArg(msg,"SnapshotIdentifier",params,undefined,false);
copyArg(msg,"SourceDatabaseName",params,undefined,false);
copyArg(msg,"SourceSchemaName",params,undefined,false);
copyArg(msg,"SourceTableName",params,undefined,false);
copyArg(msg,"TargetDatabaseName",params,undefined,false);
copyArg(msg,"TargetSchemaName",params,undefined,false);
copyArg(msg,"NewTableName",params,undefined,false);
svc.restoreTableFromClusterSnapshot(params,cb);
}
service.ResumeCluster=function(svc,msg,cb){
var params={};
//copyArgs
copyArg(msg,"ClusterIdentifier",params,undefined,true);
svc.resumeCluster(params,cb);
}
service.RevokeClusterSecurityGroupIngress=function(svc,msg,cb){
var params={};
//copyArgs
copyArg(n,"ClusterSecurityGroupName",params,undefined,false);
copyArg(msg,"ClusterSecurityGroupName",params,undefined,false);
copyArg(msg,"CIDRIP",params,undefined,false);
copyArg(msg,"EC2SecurityGroupName",params,undefined,false);
copyArg(msg,"EC2SecurityGroupOwnerId",params,undefined,false);
svc.revokeClusterSecurityGroupIngress(params,cb);
}
service.RevokeSnapshotAccess=function(svc,msg,cb){
var params={};
//copyArgs
copyArg(n,"SnapshotIdentifier",params,undefined,false);
copyArg(n,"AccountWithRestoreAccess",params,undefined,false);
copyArg(msg,"SnapshotIdentifier",params,undefined,false);
copyArg(msg,"SnapshotClusterIdentifier",params,undefined,false);
copyArg(msg,"AccountWithRestoreAccess",params,undefined,false);
svc.revokeSnapshotAccess(params,cb);
}
service.RotateEncryptionKey=function(svc,msg,cb){
var params={};
//copyArgs
copyArg(n,"ClusterIdentifier",params,undefined,false);
copyArg(msg,"ClusterIdentifier",params,undefined,false);
svc.rotateEncryptionKey(params,cb);
}
}
RED.nodes.registerType("AWS Redshift", AmazonAPINode);
};