add CloudWatch datasource
This commit is contained in:
1 parent
956a2bbdbe
commit
88ce05976e
17 files changed
+12212
-1
No files matched your search
+2
-1
@@ -21,6 +21,7 @@
|
||||
"angular-native-dragdrop": "~1.1.0",
|
||||
"angular-bindonce": "~0.3.3",
|
||||
"requirejs": "~2.1.18",
|
||||
"requirejs-text": "~2.0.14"
|
||||
"requirejs-text": "~2.0.14",
|
||||
"aws-sdk": "~2.1.42"
|
||||
}
|
||||
}
|
||||
@@ -44,6 +44,7 @@ require.config({
|
||||
modernizr: '../vendor/modernizr-2.6.1',
|
||||
|
||||
'bootstrap-tagsinput': '../vendor/tagsinput/bootstrap-tagsinput',
|
||||
'aws-sdk': '../vendor/aws-sdk/dist/aws-sdk.min',
|
||||
},
|
||||
shim: {
|
||||
|
||||
|
||||
@@ -0,0 +1,154 @@
|
||||
/* global AWS */
|
||||
define([
|
||||
'angular',
|
||||
'lodash',
|
||||
'kbn',
|
||||
'moment',
|
||||
'./queryCtrl',
|
||||
'aws-sdk',
|
||||
],
|
||||
function (angular, _, kbn) {
|
||||
'use strict';
|
||||
|
||||
var module = angular.module('grafana.services');
|
||||
|
||||
module.factory('CloudWatchDatasource', function($q, $http, templateSrv) {
|
||||
|
||||
function CloudWatchDatasource(datasource) {
|
||||
this.type = 'cloudwatch';
|
||||
this.name = datasource.name;
|
||||
this.supportMetrics = true;
|
||||
|
||||
AWS.config.update({ region: datasource.jsonData.region });
|
||||
this.cloudwatch = new AWS.CloudWatch({
|
||||
accessKeyId: datasource.jsonData.accessKeyId,
|
||||
secretAccessKey: datasource.jsonData.secretAccessKey,
|
||||
});
|
||||
}
|
||||
|
||||
// Called once per panel (graph)
|
||||
CloudWatchDatasource.prototype.query = function(options) {
|
||||
var start = convertToCloudWatchTime(options.range.from);
|
||||
var end = convertToCloudWatchTime(options.range.to);
|
||||
|
||||
var queries = [];
|
||||
_.each(options.targets, _.bind(function(target) {
|
||||
if (!target.namespace || !target.metricName || _.isEmpty(target.dimensions) || _.isEmpty(target.statistics)) {
|
||||
return;
|
||||
}
|
||||
|
||||
var query = {};
|
||||
query.namespace = templateSrv.replace(target.namespace, options.scopedVars);
|
||||
query.metricName = templateSrv.replace(target.metricName, options.scopedVars);
|
||||
query.dimensions = _.map(_.keys(target.dimensions), function(key) {
|
||||
return {
|
||||
Name: key,
|
||||
Value: target.dimensions[key]
|
||||
};
|
||||
});
|
||||
query.statistics = _.keys(target.statistics);
|
||||
query.period = target.period;
|
||||
|
||||
var range = (end.getTime() - start.getTime()) / 1000;
|
||||
// CloudWatch limit datapoints up to 1440
|
||||
if (range / query.period >= 1440) {
|
||||
query.period = Math.floor(range / 1440 / 60) * 60;
|
||||
}
|
||||
|
||||
queries.push(query);
|
||||
}, this));
|
||||
|
||||
// No valid targets, return the empty result to save a round trip.
|
||||
if (_.isEmpty(queries)) {
|
||||
var d = $q.defer();
|
||||
d.resolve({ data: [] });
|
||||
return d.promise;
|
||||
}
|
||||
|
||||
var allQueryPromise = _.map(queries, _.bind(function(query) {
|
||||
return this.performTimeSeriesQuery(query, start, end);
|
||||
}, this));
|
||||
|
||||
return $q.all(allQueryPromise)
|
||||
.then(function(allResponse) {
|
||||
var result = [];
|
||||
|
||||
_.each(allResponse, function(response, index) {
|
||||
var metrics = transformMetricData(response, options.targets[index]);
|
||||
_.each(metrics, function(m) {
|
||||
result.push(m);
|
||||
});
|
||||
});
|
||||
|
||||
return { data: result };
|
||||
});
|
||||
};
|
||||
|
||||
CloudWatchDatasource.prototype.performTimeSeriesQuery = function(query, start, end) {
|
||||
var params = {
|
||||
Namespace: query.namespace,
|
||||
MetricName: query.metricName,
|
||||
Dimensions: query.dimensions,
|
||||
Statistics: query.statistics,
|
||||
StartTime: start,
|
||||
EndTime: end,
|
||||
Period: query.period
|
||||
};
|
||||
|
||||
var d = $q.defer();
|
||||
this.cloudwatch.getMetricStatistics(params, function(err, data) {
|
||||
if (err) {
|
||||
return d.reject(err);
|
||||
}
|
||||
return d.resolve(data);
|
||||
});
|
||||
|
||||
return d.promise;
|
||||
};
|
||||
|
||||
CloudWatchDatasource.prototype.performSuggestQuery = function(params) {
|
||||
var d = $q.defer();
|
||||
|
||||
this.cloudwatch.listMetrics(params, function(err, data) {
|
||||
if (err) {
|
||||
return d.reject(err);
|
||||
}
|
||||
|
||||
return d.resolve(data);
|
||||
});
|
||||
|
||||
return d.promise;
|
||||
};
|
||||
|
||||
CloudWatchDatasource.prototype.testDatasource = function() {
|
||||
return this.performSuggestQuery({}).then(function () {
|
||||
return { status: 'success', message: 'Data source is working', title: 'Success' };
|
||||
});
|
||||
};
|
||||
|
||||
function transformMetricData(md, options) {
|
||||
var result = [];
|
||||
|
||||
var dimensionPart = JSON.stringify(options.dimensions);
|
||||
_.each(_.keys(options.statistics), function(s) {
|
||||
var metricLabel = md.Label + '_' + s + dimensionPart;
|
||||
|
||||
var dps = _.map(md.Datapoints, function(value) {
|
||||
return [value[s], new Date(value.Timestamp).getTime()];
|
||||
});
|
||||
dps = _.sortBy(dps, function(dp) { return dp[1]; });
|
||||
|
||||
result.push({ target: metricLabel, datapoints: dps });
|
||||
});
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
function convertToCloudWatchTime(date) {
|
||||
return kbn.parseDate(date);
|
||||
}
|
||||
|
||||
return CloudWatchDatasource;
|
||||
});
|
||||
|
||||
});
|
||||
@@ -0,0 +1,30 @@
|
||||
<h5>CloudWatch details</h5>
|
||||
|
||||
<div class="tight-form">
|
||||
<ul class="tight-form-list">
|
||||
<li class="tight-form-item" style="width: 80px">
|
||||
Region
|
||||
</li>
|
||||
<li>
|
||||
<input type="text" class="tight-form-input input-large" ng-model='current.jsonData.region' placeholder="" required></input>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="clearfix"></div>
|
||||
</div>
|
||||
<div class="tight-form last">
|
||||
<ul class="tight-form-list">
|
||||
<li class="tight-form-item" style="width: 80px">
|
||||
Access Key Id
|
||||
</li>
|
||||
<li>
|
||||
<input type="text" class="tight-form-input input-large" ng-model='current.jsonData.accessKeyId' placeholder="" required></input>
|
||||
</li>
|
||||
<li class="tight-form-item">
|
||||
Secret Access Key
|
||||
</li>
|
||||
<li>
|
||||
<input type="password" class="tight-form-input input-large" ng-model='current.jsonData.secretAccessKey' placeholder="" required></input>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="clearfix"></div>
|
||||
</div>
|
||||
@@ -0,0 +1,212 @@
|
||||
<div class="editor-row" style="margin-top: 10px;">
|
||||
|
||||
<div ng-repeat="target in panel.targets"
|
||||
style="margin-bottom: 10px;"
|
||||
ng-class="{'tight-form-disabled': target.hide}"
|
||||
ng-controller="CloudWatchQueryCtrl"
|
||||
ng-init="init()">
|
||||
|
||||
<div class="tight-form">
|
||||
<ul class="tight-form-list pull-right">
|
||||
<li class="tight-form-item">
|
||||
<div class="dropdown">
|
||||
<a class="pointer dropdown-toggle"
|
||||
data-toggle="dropdown"
|
||||
tabindex="1">
|
||||
<i class="fa fa-bars"></i>
|
||||
</a>
|
||||
<ul class="dropdown-menu pull-right" role="menu">
|
||||
<li role="menuitem">
|
||||
<a tabindex="1"
|
||||
ng-click="duplicate()">
|
||||
Duplicate
|
||||
</a>
|
||||
</li>
|
||||
<li role="menuitem">
|
||||
<a tabindex="1"
|
||||
ng-click="moveMetricQuery($index, $index-1)">
|
||||
Move up
|
||||
</a>
|
||||
</li>
|
||||
<li role="menuitem">
|
||||
<a tabindex="1"
|
||||
ng-click="moveMetricQuery($index, $index+1)">
|
||||
Move down
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</li>
|
||||
<li class="tight-form-item last">
|
||||
<a class="pointer" tabindex="1" ng-click="removeDataQuery(target)">
|
||||
<i class="fa fa-remove"></i>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<ul class="tight-form-list">
|
||||
<li>
|
||||
<a class="tight-form-item"
|
||||
ng-click="target.hide = !target.hide; get_data();"
|
||||
role="menuitem">
|
||||
<i class="fa fa-eye"></i>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<ul class="tight-form-list" role="menu">
|
||||
<li class="tight-form-item" style="width: 100px">
|
||||
Namespace
|
||||
</li>
|
||||
<li>
|
||||
<input type="text"
|
||||
class="input-medium tight-form-input"
|
||||
ng-model="target.namespace"
|
||||
spellcheck='false'
|
||||
bs-typeahead="suggestNamespace"
|
||||
placeholder="namespace"
|
||||
data-min-length=0 data-items=100
|
||||
ng-change="refreshMetricData()"
|
||||
>
|
||||
</li>
|
||||
<li class="tight-form-item">
|
||||
Metric
|
||||
</li>
|
||||
<li>
|
||||
<input type="text"
|
||||
class="input-medium tight-form-input"
|
||||
ng-model="target.metricName"
|
||||
spellcheck='false'
|
||||
bs-typeahead="suggestMetrics"
|
||||
placeholder="metric name"
|
||||
data-min-length=0 data-items=100
|
||||
ng-change="refreshMetricData()"
|
||||
>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<div class="clearfix"></div>
|
||||
</div>
|
||||
|
||||
<div class="tight-form">
|
||||
<ul class="tight-form-list" role="menu">
|
||||
<li class="tight-form-item">
|
||||
<i class="fa fa-eye invisible"></i>
|
||||
</li>
|
||||
|
||||
<li class="tight-form-item" style="width: 86px">
|
||||
Dimensions
|
||||
</li>
|
||||
<li ng-repeat="(key, value) in target.dimensions track by $index" class="tight-form-item">
|
||||
{{key}} = {{value}}
|
||||
<a ng-click="removeDimension(key)">
|
||||
<i class="fa fa-remove"></i>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li class="tight-form-item" ng-hide="addDimensionMode">
|
||||
<a ng-click="addDimension()">
|
||||
<i class="fa fa-plus"></i>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li ng-show="addDimensionMode">
|
||||
<input type="text"
|
||||
class="input-small tight-form-input"
|
||||
spellcheck='false'
|
||||
bs-typeahead="suggestDimensionKeys"
|
||||
data-min-length=0 data-items=100
|
||||
ng-model="target.currentDimensionKey"
|
||||
placeholder="key">
|
||||
<input type="text"
|
||||
class="input-small tight-form-input"
|
||||
spellcheck='false'
|
||||
bs-typeahead="suggestDimensionValues"
|
||||
data-min-length=0 data-items=100
|
||||
ng-model="target.currentDimensionValue"
|
||||
placeholder="value">
|
||||
<a ng-click="addDimension()">
|
||||
add dimension
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<div class="clearfix"></div>
|
||||
</div>
|
||||
|
||||
<div class="tight-form">
|
||||
<ul class="tight-form-list" role="menu">
|
||||
<li class="tight-form-item">
|
||||
<i class="fa fa-eye invisible"></i>
|
||||
</li>
|
||||
|
||||
<li class="tight-form-item" style="width: 86px">
|
||||
Statistics
|
||||
</li>
|
||||
<li class="tight-form-item">
|
||||
Min
|
||||
<input class="cr1" id="target.statistics.Minimum" type="checkbox"
|
||||
ng-model="target.statistics.Minimum" ng-checked="target.statistics.Minimum" ng-change="statisticsOptionChanged()">
|
||||
<label for="target.statistics.Minimum" class="cr1"></label>
|
||||
</li>
|
||||
<li class="tight-form-item">
|
||||
Max
|
||||
<input class="cr1" id="target.statistics.Maximum" type="checkbox"
|
||||
ng-model="target.statistics.Maximum" ng-checked="target.statistics.Maximum" ng-change="statisticsOptionChanged()">
|
||||
<label for="target.statistics.Maximum" class="cr1"></label>
|
||||
</li>
|
||||
<li class="tight-form-item">
|
||||
Avg
|
||||
<input class="cr1" id="target.statistics.Average" type="checkbox"
|
||||
ng-model="target.statistics.Average" ng-checked="target.statistics.Average" ng-change="statisticsOptionChanged()">
|
||||
<label for="target.statistics.Average" class="cr1"></label>
|
||||
</li>
|
||||
<li class="tight-form-item">
|
||||
Sum
|
||||
<input class="cr1" id="target.statistics.Sum" type="checkbox"
|
||||
ng-model="target.statistics.Sum" ng-checked="target.statistics.Sum" ng-change="statisticsOptionChanged()">
|
||||
<label for="target.statistics.Sum" class="cr1"></label>
|
||||
</li>
|
||||
<li class="tight-form-item last">
|
||||
SampleCount
|
||||
<input class="cr1" id="target.statistics.SampleCount" type="checkbox"
|
||||
ng-model="target.statistics.SampleCount" ng-checked="target.statistics.SampleCount" ng-change="statisticsOptionChanged()">
|
||||
<label for="target.statistics.SampleCount" class="cr1"></label>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<div class="clearfix"></div>
|
||||
</div>
|
||||
|
||||
<div class="tight-form">
|
||||
<ul class="tight-form-list" role="menu">
|
||||
<li class="tight-form-item">
|
||||
<i class="fa fa-eye invisible"></i>
|
||||
</li>
|
||||
|
||||
<li class="tight-form-item" style="width: 100px">
|
||||
Period
|
||||
</li>
|
||||
<li>
|
||||
<input type="text"
|
||||
class="input-mini tight-form-input"
|
||||
ng-model="target.period"
|
||||
data-placement="right"
|
||||
spellcheck='false'
|
||||
placeholder="period"
|
||||
data-min-length=0 data-items=100
|
||||
ng-change="refreshMetricData()"
|
||||
/>
|
||||
<a bs-tooltip="target.errors.period"
|
||||
style="color: rgb(229, 189, 28)"
|
||||
ng-show="target.errors.period">
|
||||
<i class="fa fa-warning"></i>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<div class="clearfix"></div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"pluginType": "datasource",
|
||||
"name": "CloudWatch",
|
||||
|
||||
"type": "cloudwatch",
|
||||
"serviceName": "CloudWatchDatasource",
|
||||
|
||||
"module": "plugins/datasource/cloudwatch/datasource",
|
||||
|
||||
"partials": {
|
||||
"config": "app/plugins/datasource/cloudwatch/partials/config.html",
|
||||
"query": "app/plugins/datasource/cloudwatch/partials/query.editor.html"
|
||||
},
|
||||
|
||||
"metrics": true
|
||||
}
|
||||
@@ -0,0 +1,271 @@
|
||||
define([
|
||||
'angular',
|
||||
'lodash',
|
||||
'kbn',
|
||||
],
|
||||
function (angular, _, kbn) {
|
||||
'use strict';
|
||||
|
||||
var module = angular.module('grafana.controllers');
|
||||
|
||||
var supportedMetrics = {
|
||||
"AWS/AutoScaling": [
|
||||
"GroupMinSize", "GroupMaxSize", "GroupDesiredCapacity", "GroupInServiceInstances", "GroupPendingInstances", "GroupStandbyInstances", "GroupTerminatingInstances", "GroupTotalInstances"
|
||||
],
|
||||
"AWS/Billing": [
|
||||
"EstimatedCharges"
|
||||
],
|
||||
"AWS/CloudFront": [
|
||||
"Requests", "BytesDownloaded", "BytesUploaded", "TotalErrorRate", "4xxErrorRate", "5xxErrorRate"
|
||||
],
|
||||
"AWS/CloudSearch": [
|
||||
"SuccessfulRequests", "SearchableDocuments", "IndexUtilization", "Partitions"
|
||||
],
|
||||
"AWS/DynamoDB": [
|
||||
"ConditionalCheckFailedRequests", "ConsumedReadCapacityUnits", "ConsumedWriteCapacityUnits", "OnlineIndexConsumedWriteCapacity", "OnlineIndexPercentageProgress", "OnlineIndexThrottleEvents", "ProvisionedReadCapacityUnits", "ProvisionedWriteCapacityUnits", "ReadThrottleEvents", "ReturnedItemCount", "SuccessfulRequestLatency", "SystemErrors", "ThrottledRequests", "UserErrors", "WriteThrottleEvents"
|
||||
],
|
||||
"AWS/ElastiCache": [
|
||||
"CPUUtilization", "SwapUsage", "FreeableMemory", "NetworkBytesIn", "NetworkBytesOut",
|
||||
"BytesUsedForCacheItems", "BytesReadIntoMemcached", "BytesWrittenOutFromMemcached", "CasBadval", "CasHits", "CasMisses", "CmdFlush", "CmdGet", "CmdSet", "CurrConnections", "CurrItems", "DecrHits", "DecrMisses", "DeleteHits", "DeleteMisses", "Evictions", "GetHits", "GetMisses", "IncrHits", "IncrMisses", "Reclaimed",
|
||||
"CurrConnections", "Evictions", "Reclaimed", "NewConnections", "BytesUsedForCache", "CacheHits", "CacheMisses", "ReplicationLag", "GetTypeCmds", "SetTypeCmds", "KeyBasedCmds", "StringBasedCmds", "HashBasedCmds", "ListBasedCmds", "SetBasedCmds", "SortedSetBasedCmds", "CurrItems"
|
||||
],
|
||||
"AWS/EBS": [
|
||||
"VolumeReadBytes", "VolumeWriteBytes", "VolumeReadOps", "VolumeWriteOps", "VolumeTotalReadTime", "VolumeTotalWriteTime", "VolumeIdleTime", "VolumeQueueLength", "VolumeThroughputPercentage", "VolumeConsumedReadWriteOps",
|
||||
],
|
||||
"AWS/EC2": [
|
||||
"CPUCreditUsage", "CPUCreditBalance", "CPUUtilization", "DiskReadOps", "DiskWriteOps", "DiskReadBytes", "DiskWriteBytes", "NetworkIn", "NetworkOut", "StatusCheckFailed", "StatusCheckFailed_Instance", "StatusCheckFailed_System"
|
||||
],
|
||||
"AWS/ELB": [
|
||||
"HealthyHostCount", "UnHealthyHostCount", "RequestCount", "Latency", "HTTPCode_ELB_4XX", "HTTPCode_ELB_5XX", "HTTPCode_Backend_2XX", "HTTPCode_Backend_3XX", "HTTPCode_Backend_4XX", "HTTPCode_Backend_5XX", "BackendConnectionErrors", "SurgeQueueLength", "SpilloverCount"
|
||||
],
|
||||
"AWS/ElasticMapReduce": [
|
||||
"CoreNodesPending", "CoreNodesRunning", "HBaseBackupFailed", "HBaseMostRecentBackupDuration", "HBaseTimeSinceLastSuccessfulBackup", "HDFSBytesRead", "HDFSBytesWritten", "HDFSUtilization", "IsIdle", "JobsFailed", "JobsRunning", "LiveDataNodes", "LiveTaskTrackers", "MapSlotsOpen", "MissingBlocks", "ReduceSlotsOpen", "RemainingMapTasks", "RemainingMapTasksPerSlot", "RemainingReduceTasks", "RunningMapTasks", "RunningReduceTasks", "S3BytesRead", "S3BytesWritten", "TaskNodesPending", "TaskNodesRunning", "TotalLoad"
|
||||
],
|
||||
"AWS/Kinesis": [
|
||||
"PutRecord.Bytes", "PutRecord.Latency", "PutRecord.Success", "PutRecords.Bytes", "PutRecords.Latency", "PutRecords.Records", "PutRecords.Success", "IncomingBytes", "IncomingRecords", "GetRecords.Bytes", "GetRecords.IteratorAgeMilliseconds", "GetRecords.Latency", "GetRecords.Success"
|
||||
],
|
||||
"AWS/ML": [
|
||||
"PredictCount", "PredictFailureCount"
|
||||
],
|
||||
"AWS/OpsWorks": [
|
||||
"cpu_idle", "cpu_nice", "cpu_system", "cpu_user", "cpu_waitio", "load_1", "load_5", "load_15", "memory_buffers", "memory_cached", "memory_free", "memory_swap", "memory_total", "memory_used", "procs"
|
||||
],
|
||||
"AWS/Redshift": [
|
||||
"CPUUtilization", "DatabaseConnections", "HealthStatus", "MaintenanceMode", "NetworkReceiveThroughput", "NetworkTransmitThroughput", "PercentageDiskSpaceUsed", "ReadIOPS", "ReadLatency", "ReadThroughput", "WriteIOPS", "WriteLatency", "WriteThroughput"
|
||||
],
|
||||
"AWS/RDS": [
|
||||
"BinLogDiskUsage", "CPUUtilization", "DatabaseConnections", "DiskQueueDepth", "FreeableMemory", "FreeStorageSpace", "ReplicaLag", "SwapUsage", "ReadIOPS", "WriteIOPS", "ReadLatency", "WriteLatency", "ReadThroughput", "WriteThroughput", "NetworkReceiveThroughput", "NetworkTransmitThroughput"
|
||||
],
|
||||
"AWS/Route53": [
|
||||
"HealthCheckStatus", "HealthCheckPercentageHealthy"
|
||||
],
|
||||
"AWS/SNS": [
|
||||
"NumberOfMessagesPublished", "PublishSize", "NumberOfNotificationsDelivered", "NumberOfNotificationsFailed"
|
||||
],
|
||||
"AWS/SQS": [
|
||||
"NumberOfMessagesSent", "SentMessageSize", "NumberOfMessagesReceived", "NumberOfEmptyReceives", "NumberOfMessagesDeleted", "ApproximateNumberOfMessagesDelayed", "ApproximateNumberOfMessagesVisible", "ApproximateNumberOfMessagesNotVisible"
|
||||
],
|
||||
"AWS/S3": [
|
||||
"BucketSizeBytes", "NumberOfObjects"
|
||||
],
|
||||
"AWS/SWF": [
|
||||
"DecisionTaskScheduleToStartTime", "DecisionTaskStartToCloseTime", "DecisionTasksCompleted", "StartedDecisionTasksTimedOutOnClose", "WorkflowStartToCloseTime", "WorkflowsCanceled", "WorkflowsCompleted", "WorkflowsContinuedAsNew", "WorkflowsFailed", "WorkflowsTerminated", "WorkflowsTimedOut"
|
||||
],
|
||||
"AWS/StorageGateway": [
|
||||
"CacheHitPercent", "CachePercentUsed", "CachePercentDirty", "CloudBytesDownloaded", "CloudDownloadLatency", "CloudBytesUploaded", "UploadBufferFree", "UploadBufferPercentUsed", "UploadBufferUsed", "QueuedWrites", "ReadBytes", "ReadTime", "TotalCacheSize", "WriteBytes", "WriteTime", "WorkingStorageFree", "WorkingStoragePercentUsed", "WorkingStorageUsed", "CacheHitPercent", "CachePercentUsed", "CachePercentDirty", "ReadBytes", "ReadTime", "WriteBytes", "WriteTime", "QueuedWrites"
|
||||
],
|
||||
"AWS/WorkSpaces": [
|
||||
"Available", "Unhealthy", "ConnectionAttempt", "ConnectionSuccess", "ConnectionFailure", "SessionLaunchTime", "InSessionLatency", "SessionDisconnect"
|
||||
],
|
||||
};
|
||||
|
||||
var supportedDimensions = {
|
||||
"AWS/AutoScaling": [
|
||||
"AutoScalingGroupName"
|
||||
],
|
||||
"AWS/Billing": [
|
||||
"ServiceName", "LinkedAccount", "Currency"
|
||||
],
|
||||
"AWS/CloudFront": [
|
||||
"DistributionId", "Region"
|
||||
],
|
||||
"AWS/CloudSearch": [
|
||||
|
||||
],
|
||||
"AWS/DynamoDB": [
|
||||
"TableName", "GlobalSecondaryIndexName", "Operation"
|
||||
],
|
||||
"AWS/ElastiCache": [
|
||||
"CacheClusterId", "CacheNodeId"
|
||||
],
|
||||
"AWS/EBS": [
|
||||
"VolumeId"
|
||||
],
|
||||
"AWS/EC2": [
|
||||
"AutoScalingGroupName", "ImageId", "InstanceId", "InstanceType"
|
||||
],
|
||||
"AWS/ELB": [
|
||||
"LoadBalancerName", "AvailabilityZone"
|
||||
],
|
||||
"AWS/ElasticMapReduce": [
|
||||
"ClusterId", "JobId"
|
||||
],
|
||||
"AWS/Kinesis": [
|
||||
"StreamName"
|
||||
],
|
||||
"AWS/ML": [
|
||||
"MLModelId", "RequestMode"
|
||||
],
|
||||
"AWS/OpsWorks": [
|
||||
"StackId", "LayerId", "InstanceId"
|
||||
],
|
||||
"AWS/Redshift": [
|
||||
"NodeID", "ClusterIdentifier"
|
||||
],
|
||||
"AWS/RDS": [
|
||||
"DBInstanceIdentifier", "DatabaseClass", "EngineName"
|
||||
],
|
||||
"AWS/Route53": [
|
||||
"HealthCheckId"
|
||||
],
|
||||
"AWS/SNS": [
|
||||
"Application", "Platform", "TopicName"
|
||||
],
|
||||
"AWS/SQS": [
|
||||
"QueueName"
|
||||
],
|
||||
"AWS/S3": [
|
||||
"BucketName", "StorageType"
|
||||
],
|
||||
"AWS/SWF": [
|
||||
"Domain", "ActivityTypeName", "ActivityTypeVersion"
|
||||
],
|
||||
"AWS/StorageGateway": [
|
||||
"GatewayId", "GatewayName", "VolumeId"
|
||||
],
|
||||
"AWS/WorkSpaces": [
|
||||
"DirectoryId", "WorkspaceId"
|
||||
],
|
||||
};
|
||||
|
||||
module.controller('CloudWatchQueryCtrl', function($scope) {
|
||||
|
||||
$scope.init = function() {
|
||||
$scope.target.namespace = $scope.target.namespace || '';
|
||||
$scope.target.metricName = $scope.target.metricName || '';
|
||||
$scope.target.dimensions = $scope.target.dimensions || {};
|
||||
$scope.target.statistics = $scope.target.statistics || {};
|
||||
$scope.target.period = $scope.target.period || 60;
|
||||
|
||||
$scope.target.errors = validateTarget();
|
||||
};
|
||||
|
||||
$scope.refreshMetricData = function() {
|
||||
$scope.target.errors = validateTarget($scope.target);
|
||||
|
||||
// this does not work so good
|
||||
if (!_.isEqual($scope.oldTarget, $scope.target) && _.isEmpty($scope.target.errors)) {
|
||||
$scope.oldTarget = angular.copy($scope.target);
|
||||
$scope.get_data();
|
||||
}
|
||||
};
|
||||
|
||||
$scope.moveMetricQuery = function(fromIndex, toIndex) {
|
||||
_.move($scope.panel.targets, fromIndex, toIndex);
|
||||
};
|
||||
|
||||
$scope.duplicate = function() {
|
||||
var clone = angular.copy($scope.target);
|
||||
$scope.panel.targets.push(clone);
|
||||
};
|
||||
|
||||
$scope.suggestNamespace = function(query, callback) {
|
||||
return _.keys(supportedMetrics);
|
||||
};
|
||||
|
||||
$scope.suggestMetrics = function(query, callback) {
|
||||
return supportedMetrics[$scope.target.namespace] || [];
|
||||
};
|
||||
|
||||
$scope.suggestDimensionKeys = function(query, callback) {
|
||||
return supportedDimensions[$scope.target.namespace] || [];
|
||||
};
|
||||
|
||||
$scope.suggestDimensionValues = function(query, callback) {
|
||||
if (!$scope.target.namespace || !$scope.target.metricName) {
|
||||
return callback([]);
|
||||
}
|
||||
|
||||
var params = {
|
||||
Namespace: $scope.target.namespace,
|
||||
MetricName: $scope.target.metricName
|
||||
};
|
||||
if (!_.isEmpty($scope.target.dimensions)) {
|
||||
params.Dimensions = $scope.target.dimensions;
|
||||
}
|
||||
|
||||
$scope.datasource
|
||||
.performSuggestQuery(params)
|
||||
.then(function(result) {
|
||||
var suggestData = _.chain(result.Metrics)
|
||||
.map(function(metric) {
|
||||
return metric.Dimensions;
|
||||
})
|
||||
.flatten(true)
|
||||
.filter(function(dimension) {
|
||||
return dimension.Name === $scope.target.currentDimensionKey;
|
||||
})
|
||||
.map(function(metric) {
|
||||
return metric;
|
||||
})
|
||||
.pluck('Value')
|
||||
.uniq()
|
||||
.value();
|
||||
|
||||
callback(suggestData);
|
||||
}, function() {
|
||||
callback([]);
|
||||
});
|
||||
};
|
||||
|
||||
$scope.addDimension = function() {
|
||||
if (!$scope.addDimensionMode) {
|
||||
$scope.addDimensionMode = true;
|
||||
return;
|
||||
}
|
||||
|
||||
if (!$scope.target.dimensions) {
|
||||
$scope.target.dimensions = {};
|
||||
}
|
||||
|
||||
$scope.target.dimensions[$scope.target.currentDimensionKey] = $scope.target.currentDimensionValue;
|
||||
$scope.target.currentDimensionKey = '';
|
||||
$scope.target.currentDimensionValue = '';
|
||||
$scope.refreshMetricData();
|
||||
|
||||
$scope.addDimensionMode = false;
|
||||
};
|
||||
|
||||
$scope.removeDimension = function(key) {
|
||||
delete $scope.target.dimensions[key];
|
||||
$scope.refreshMetricData();
|
||||
};
|
||||
|
||||
$scope.statisticsOptionChanged = function() {
|
||||
$scope.refreshMetricData();
|
||||
};
|
||||
|
||||
// TODO: validate target
|
||||
function validateTarget() {
|
||||
var errs = {};
|
||||
|
||||
if ($scope.target.period < 60 || ($scope.target.period % 60) !== 0) {
|
||||
errs.period = 'Period must be at least 60 seconds and must be a multiple of 60';
|
||||
}
|
||||
|
||||
return errs;
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
});
|
||||
Vendored
+33
@@ -0,0 +1,33 @@
|
||||
{
|
||||
"name": "aws-sdk",
|
||||
"ignore": [
|
||||
"apis",
|
||||
"doc-src",
|
||||
"dist-tools",
|
||||
"eslint-rules",
|
||||
"features",
|
||||
"lib",
|
||||
"scripts",
|
||||
"tasks",
|
||||
"test",
|
||||
"Gemfile*",
|
||||
"configuration*",
|
||||
"Rakefile",
|
||||
"package.json",
|
||||
"testem.json",
|
||||
".*",
|
||||
"index.js"
|
||||
],
|
||||
"main": "dist/aws-sdk.js",
|
||||
"homepage": "https://github.com/aws/aws-sdk-js",
|
||||
"version": "2.1.42",
|
||||
"_release": "2.1.42",
|
||||
"_resolution": {
|
||||
"type": "version",
|
||||
"tag": "v2.1.42",
|
||||
"commit": "6ad65d3e09a3a4531c84d12b980e6fb9af136a0a"
|
||||
},
|
||||
"_source": "git://github.com/aws/aws-sdk-js.git",
|
||||
"_target": "~2.1.41",
|
||||
"_originalSource": "aws-sdk"
|
||||
}
|
||||
+84
@@ -0,0 +1,84 @@
|
||||
# Contributing to the AWS SDK for JavaScript
|
||||
|
||||
We work hard to provide a high-quality and useful SDK, and we greatly value
|
||||
feedback and contributions from our community. Whether it's a bug report,
|
||||
new feature, correction, or additional documentation, we welcome your issues
|
||||
and pull requests. Please read through this document before submitting any
|
||||
issues or pull requests to ensure we have all the necessary information to
|
||||
effectively respond to your bug report or contribution.
|
||||
|
||||
|
||||
## Filing Bug Reports
|
||||
|
||||
You can file bug reports against the SDK on the [GitHub issues][issues] page.
|
||||
|
||||
If you are filing a report for a bug or regression in the SDK, it's extremely
|
||||
helpful to provide as much information as possible when opening the original
|
||||
issue. This helps us reproduce and investigate the possible bug without having
|
||||
to wait for this extra information to be provided. Please read the following
|
||||
guidelines prior to filing a bug report.
|
||||
|
||||
1. Search through existing [issues][] to ensure that your specific issue has
|
||||
not yet been reported. If it is a common issue, it is likely there is
|
||||
already a bug report for your problem.
|
||||
|
||||
2. Ensure that you have tested the latest version of the SDK. Although you
|
||||
may have an issue against an older version of the SDK, we cannot provide
|
||||
bug fixes for old versions. It's also possible that the bug may have been
|
||||
fixed in the latest release.
|
||||
|
||||
3. Provide as much information about your environment, SDK version, and
|
||||
relevant dependencies as possible. For example, let us know what version
|
||||
of Node.js you are using, or if it's a browser issue, which browser you
|
||||
are using. If the issue only occurs with a specific dependency loaded,
|
||||
please provide that dependency name and version.
|
||||
|
||||
4. Provide a minimal test case that reproduces your issue or any error
|
||||
information you related to your problem. We can provide feedback much
|
||||
more quickly if we know what operations you are calling in the SDK. If
|
||||
you cannot provide a full test case, provide as much code as you can
|
||||
to help us diagnose the problem. Any relevant information should be provided
|
||||
as well, like whether this is a persistent issue, or if it only occurs
|
||||
some of the time.
|
||||
|
||||
|
||||
## Submitting Pull Requests
|
||||
|
||||
We are always happy to receive code and documentation contributions to the SDK.
|
||||
Please be aware of the following notes prior to opening a pull request:
|
||||
|
||||
1. The SDK is released under the [Apache license][license]. Any code you submit
|
||||
will be released under that license. For substantial contributions, we may
|
||||
ask you to sign a [Contributor License Agreement (CLA)][cla].
|
||||
|
||||
2. If you would like to implement support for a significant feature that is not
|
||||
yet available in the SDK, please talk to us beforehand to avoid any
|
||||
duplication of effort.
|
||||
|
||||
### Testing
|
||||
|
||||
To run the tests locally, install `phantomjs`. You can do so using [Homebrew][homebrew]:
|
||||
|
||||
```
|
||||
brew install phantomjs
|
||||
```
|
||||
|
||||
Then, to run all tests:
|
||||
|
||||
```
|
||||
npm test
|
||||
```
|
||||
|
||||
To run a particular test subset e.g. just the unit tests:
|
||||
|
||||
```
|
||||
npm run-script unit
|
||||
```
|
||||
|
||||
See the implementation of the `test` script in `package.json` for more options.
|
||||
|
||||
[issues]: https://github.com/aws/aws-sdk-js/issues
|
||||
[pr]: https://github.com/aws/aws-sdk-js/pulls
|
||||
[license]: http://aws.amazon.com/apache2.0/
|
||||
[cla]: http://en.wikipedia.org/wiki/Contributor_License_Agreement
|
||||
[homebrew]: http://brew.sh/
|
||||
Vendored
+201
@@ -0,0 +1,201 @@
|
||||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
APPENDIX: How to apply the Apache License to your work.
|
||||
|
||||
To apply the Apache License to your work, attach the following
|
||||
boilerplate notice, with the fields enclosed by brackets "[]"
|
||||
replaced with your own identifying information. (Don't include
|
||||
the brackets!) The text should be enclosed in the appropriate
|
||||
comment syntax for the file format. We also recommend that a
|
||||
file or class name and description of purpose be included on the
|
||||
same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
|
||||
Copyright 2012-2015 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||
|
||||
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.
|
||||
Vendored
+5
@@ -0,0 +1,5 @@
|
||||
AWS SDK for JavaScript
|
||||
Copyright 2012-2015 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||
|
||||
This product includes software developed at
|
||||
Amazon Web Services, Inc. (http://aws.amazon.com/).
|
||||
Vendored
+124
@@ -0,0 +1,124 @@
|
||||
# AWS SDK for JavaScript
|
||||
|
||||
[](https://nodei.co/npm/aws-sdk/)
|
||||
|
||||
[](https://gitter.im/aws/aws-sdk-js)
|
||||
|
||||
[](http://badge.fury.io/js/aws-sdk) [](https://travis-ci.org/aws/aws-sdk-js) [](https://coveralls.io/r/aws/aws-sdk-js?branch=master)
|
||||
|
||||
The official AWS SDK for JavaScript, available for browsers and mobile devices,
|
||||
or Node.js backends
|
||||
|
||||
Release notes can be found at http://aws.amazon.com/releasenotes/SDK/JavaScript
|
||||
|
||||
<p class="note">
|
||||
If you are upgrading from 1.x to 2.0 of the SDK, please see
|
||||
the {file:UPGRADING.md} notes for information on how to migrate existing code
|
||||
to work with the new major version.
|
||||
</p>
|
||||
|
||||
## Installing
|
||||
|
||||
### In the Browser
|
||||
|
||||
To use the SDK in the browser, simply add the following script tag to your
|
||||
HTML pages:
|
||||
|
||||
<script src="https://sdk.amazonaws.com/js/aws-sdk-2.1.42.min.js"></script>
|
||||
|
||||
The AWS SDK is also compatible with [browserify](http://browserify.org).
|
||||
|
||||
### In Node.js
|
||||
|
||||
The preferred way to install the AWS SDK for Node.js is to use the
|
||||
[npm](http://npmjs.org) package manager for Node.js. Simply type the following
|
||||
into a terminal window:
|
||||
|
||||
```sh
|
||||
npm install aws-sdk
|
||||
```
|
||||
|
||||
### Using Bower
|
||||
|
||||
You can also use [Bower](http://bower.io) to install the SDK by typing the
|
||||
following into a terminal window:
|
||||
|
||||
```sh
|
||||
bower install aws-sdk-js
|
||||
```
|
||||
|
||||
## Usage and Getting Started
|
||||
|
||||
You can find a getting started guide at:
|
||||
|
||||
http://docs.aws.amazon.com/AWSJavaScriptSDK/guide/
|
||||
|
||||
## Supported Services
|
||||
|
||||
<p class="note"><strong>Note</strong>:
|
||||
Although all services are supported in the browser version of the SDK,
|
||||
not all of the services are available in the default hosted build (using the
|
||||
script tag provided above). A list of services in the hosted build are provided
|
||||
in the "<a href="http://docs.aws.amazon.com/AWSJavaScriptSDK/guide/browser-services.html">Working With Services</a>"
|
||||
section of the browser SDK guide, including instructions on how to build a
|
||||
custom version of the SDK with extra services.
|
||||
</p>
|
||||
|
||||
The SDK currently supports the following services:
|
||||
|
||||
<table>
|
||||
<thead>
|
||||
<th>Service Name</th>
|
||||
<th>Class Name</th>
|
||||
<th>API Version</th>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr><td>Amazon CloudFront</td><td>AWS.CloudFront</td><td>2014-10-21</td></tr>
|
||||
<tr><td>Amazon CloudSearch</td><td>AWS.CloudSearch</td><td>2013-01-01</td></tr>
|
||||
<tr><td>Amazon CloudSearch Domain</td><td>AWS.CloudSearchDomain</td><td>2013-01-01</td></tr>
|
||||
<tr><td>Amazon CloudWatch</td><td>AWS.CloudWatch</td><td>2010-08-01</td></tr>
|
||||
<tr><td>Amazon CloudWatch Logs</td><td>AWS.CloudWatchLogs</td><td>2014-03-28</td></tr>
|
||||
<tr><td>Amazon Cognito Identity</td><td>AWS.CognitoIdentity</td><td>2014-06-30</td></tr>
|
||||
<tr><td>Amazon Cognito Sync</td><td>AWS.CognitoSync</td><td>2014-06-30</td></tr>
|
||||
<tr><td>Amazon DynamoDB</td><td>AWS.DynamoDB</td><td>2012-08-10</td></tr>
|
||||
<tr><td>Amazon Elastic Compute Cloud</td><td>AWS.EC2</td><td>2014-10-01</td></tr>
|
||||
<tr><td>Amazon Elastic MapReduce</td><td>AWS.EMR</td><td>2009-03-31</td></tr>
|
||||
<tr><td>Amazon Elastic Transcoder</td><td>AWS.ElasticTranscoder</td><td>2012-09-25</td></tr>
|
||||
<tr><td>Amazon ElastiCache</td><td>AWS.ElastiCache</td><td>2014-09-30</td></tr>
|
||||
<tr><td>Amazon Glacier</td><td>AWS.Glacier</td><td>2012-06-01</td></tr>
|
||||
<tr><td>Amazon Kinesis</td><td>AWS.Kinesis</td><td>2013-12-02</td></tr>
|
||||
<tr><td>Amazon Redshift</td><td>AWS.Redshift</td><td>2012-12-01</td></tr>
|
||||
<tr><td>Amazon Relational Database Service</td><td>AWS.RDS</td><td>2014-09-01</td></tr>
|
||||
<tr><td>Amazon Route 53</td><td>AWS.Route53</td><td>2013-04-01</td></tr>
|
||||
<tr><td>Amazon Route 53 Domains</td><td>AWS.Route53Domains</td><td>2014-05-15</td></tr>
|
||||
<tr><td>Amazon Simple Email Service</td><td>AWS.SES</td><td>2010-12-01</td></tr>
|
||||
<tr><td>Amazon Simple Notification Service</td><td>AWS.SNS</td><td>2010-03-31</td></tr>
|
||||
<tr><td>Amazon Simple Queue Service</td><td>AWS.SQS</td><td>2012-11-05</td></tr>
|
||||
<tr><td>Amazon Simple Storage Service</td><td>AWS.S3</td><td>2006-03-01</td></tr>
|
||||
<tr><td>Amazon Simple Workflow Service</td><td>AWS.SWF</td><td>2012-01-25</td></tr>
|
||||
<tr><td>Amazon SimpleDB</td><td>AWS.SimpleDB</td><td>2009-04-15</td></tr>
|
||||
<tr><td>Auto Scaling</td><td>AWS.AutoScaling</td><td>2011-01-01</td></tr>
|
||||
<tr><td>AWS CloudFormation</td><td>AWS.CloudFormation</td><td>2010-05-15</td></tr>
|
||||
<tr><td>AWS CloudTrail</td><td>AWS.CloudTrail</td><td>2013-11-01</td></tr>
|
||||
<tr><td>AWS CodeDeploy</td><td>AWS.CodeDeploy</td><td>2014-10-06</td></tr>
|
||||
<tr><td>AWS Config</td><td>AWS.ConfigService</td><td>2014-11-12</td></tr>
|
||||
<tr><td>AWS Data Pipeline</td><td>AWS.DataPipeline</td><td>2012-10-29</td></tr>
|
||||
<tr><td>AWS Direct Connect</td><td>AWS.DirectConnect</td><td>2012-10-25</td></tr>
|
||||
<tr><td>AWS Elastic Beanstalk</td><td>AWS.ElasticBeanstalk</td><td>2010-12-01</td></tr>
|
||||
<tr><td>AWS Identity and Access Management</td><td>AWS.IAM</td><td>2010-05-08</td></tr>
|
||||
<tr><td>AWS Import/Export</td><td>AWS.ImportExport</td><td>2010-06-01</td></tr>
|
||||
<tr><td>AWS Key Management Service</td><td>AWS.KMS</td><td>2014-11-01</td></tr>
|
||||
<tr><td>AWS Lambda</td><td>AWS.Lambda</td><td>2014-11-11</td></tr>
|
||||
<tr><td>AWS OpsWorks</td><td>AWS.OpsWorks</td><td>2013-02-18</td></tr>
|
||||
<tr><td>AWS Security Token Service</td><td>AWS.STS</td><td>2011-06-15</td></tr>
|
||||
<tr><td>AWS Storage Gateway</td><td>AWS.StorageGateway</td><td>2013-06-30</td></tr>
|
||||
<tr><td>AWS Support</td><td>AWS.Support</td><td>2013-04-15</td></tr>
|
||||
<tr><td>Elastic Load Balancing</td><td>AWS.ELB</td><td>2012-06-01</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
## License
|
||||
|
||||
This SDK is distributed under the
|
||||
[Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0),
|
||||
see LICENSE.txt and NOTICE.txt for more information.
|
||||
Vendored
+157
@@ -0,0 +1,157 @@
|
||||
# @!title Upgrading Notes (1.x to 2.0)
|
||||
|
||||
# Upgrading Notes (1.x to 2.0)
|
||||
|
||||
This document captures breaking changes from 1.x versions to the first
|
||||
stable 2.x (non-RC) release of the AWS SDK for JavaScript.
|
||||
|
||||
## 1. Automatic Conversion of Base64 and Timestamp Types on Input/Output
|
||||
|
||||
The SDK will now automatically encode and decode base64-encoded values, as well
|
||||
as timestamp values, on the user's behalf. This change affects any operation
|
||||
where Base64 or Timestamp values were sent by a request or returned in a
|
||||
response, i.e., `AWS.DynamoDB` and `AWS.SQS`, which allow for Base64
|
||||
encoded values.
|
||||
|
||||
User code that previously did base64 conversion no longer requires this.
|
||||
Furthermore, values encoded as base64 are now returned as Buffer objects
|
||||
from server responses (and can also be passed as Buffer input). For
|
||||
example, the following 1.x `SQS.sendMessage()` parameters:
|
||||
|
||||
```javascript
|
||||
var params = {
|
||||
MessageBody: 'Some Message',
|
||||
MessageAttributes: {
|
||||
attrName: {
|
||||
DataType: 'Binary',
|
||||
BinaryValue: new Buffer('example text').toString('base64')
|
||||
}
|
||||
}
|
||||
};
|
||||
```
|
||||
|
||||
Can be rewritten as:
|
||||
|
||||
```javascript
|
||||
var params = {
|
||||
MessageBody: 'Some Message',
|
||||
MessageAttributes: {
|
||||
attrName: {
|
||||
DataType: 'Binary',
|
||||
BinaryValue: 'example text'
|
||||
}
|
||||
}
|
||||
};
|
||||
```
|
||||
|
||||
And the message will be read as:
|
||||
|
||||
```javascript
|
||||
sqs.receiveMessage(params, function(err, data) {
|
||||
// buf is <Buffer 65 78 61 6d 70 6c 65 20 74 65 78 74>
|
||||
var buf = data.Messages[0].MessageAttributes.attrName.BinaryValue;
|
||||
console.log(buf.toString()); // "example text"
|
||||
});
|
||||
```
|
||||
|
||||
## 2. Moved response.data.RequestId to response.requestId
|
||||
|
||||
The SDK now stores request IDs for all services in a consistent place on the
|
||||
response object, rather than inside the response.data property. This is to
|
||||
improve consistency across services that expose request IDs in different ways.
|
||||
Note that this is also a breaking change that renames the
|
||||
`response.data.RequestId` property to `response.requestId`
|
||||
(or `this.requestId` inside of a callback).
|
||||
|
||||
To migrate your code, change:
|
||||
|
||||
```javascript
|
||||
svc.operation(params, function (err, data) {
|
||||
console.log('Request ID:', data.RequestId);
|
||||
});
|
||||
```
|
||||
|
||||
To the following:
|
||||
|
||||
```javascript
|
||||
svc.operation(params, function () {
|
||||
console.log('Request ID:', this.requestId);
|
||||
});
|
||||
```
|
||||
|
||||
## 3. Exposed Wrapper Elements
|
||||
|
||||
If you use {AWS.ElastiCache}, {AWS.RDS}, or {AWS.Redshift}, you must now access
|
||||
the response through the top-level output property in the response for certain
|
||||
operations. This change corrects the SDK to behave according to documentation
|
||||
output, which was previously listing this wrapper element.
|
||||
|
||||
Example:
|
||||
|
||||
`RDS.describeEngineDefaultParameters()` used to return:
|
||||
|
||||
```javascript
|
||||
{ Parameters: [ ... ] }
|
||||
```
|
||||
|
||||
This operation now returns:
|
||||
|
||||
```javascript
|
||||
{ EngineDefaults: { Parameters: [ ... ] } }
|
||||
```
|
||||
|
||||
The full list of affected operations for each service are:
|
||||
|
||||
**AWS.ElastiCache**: authorizeCacheSecurityGroupIngress, createCacheCluster,
|
||||
createCacheParameterGroup, createCacheSecurityGroup, createCacheSubnetGroup,
|
||||
createReplicationGroup, deleteCacheCluster, deleteReplicationGroup,
|
||||
describeEngineDefaultParameters, modifyCacheCluster, modifyCacheSubnetGroup,
|
||||
modifyReplicationGroup, purchaseReservedCacheNodesOffering, rebootCacheCluster,
|
||||
revokeCacheSecurityGroupIngress
|
||||
|
||||
**AWS.RDS**: addSourceIdentifierToSubscription, authorizeDBSecurityGroupIngress,
|
||||
copyDBSnapshot, createDBInstance, createDBInstanceReadReplica,
|
||||
createDBParameterGroup, createDBSecurityGroup, createDBSnapshot,
|
||||
createDBSubnetGroup, createEventSubscription, createOptionGroup,
|
||||
deleteDBInstance, deleteDBSnapshot, deleteEventSubscription,
|
||||
describeEngineDefaultParameters, modifyDBInstance, modifyDBSubnetGroup,
|
||||
modifyEventSubscription, modifyOptionGroup, promoteReadReplica,
|
||||
purchaseReservedDBInstancesOffering, rebootDBInstance,
|
||||
removeSourceIdentifierFromSubscription, restoreDBInstanceFromDBSnapshot,
|
||||
restoreDBInstanceToPointInTime, revokeDBSecurityGroupIngress
|
||||
|
||||
**AWS.Redshift**: authorizeClusterSecurityGroupIngress, authorizeSnapshotAccess,
|
||||
copyClusterSnapshot, createCluster, createClusterParameterGroup,
|
||||
createClusterSecurityGroup, createClusterSnapshot, createClusterSubnetGroup,
|
||||
createEventSubscription, createHsmClientCertificate, createHsmConfiguration,
|
||||
deleteCluster, deleteClusterSnapshot, describeDefaultClusterParameters,
|
||||
disableSnapshotCopy, enableSnapshotCopy, modifyCluster,
|
||||
modifyClusterSubnetGroup, modifyEventSubscription,
|
||||
modifySnapshotCopyRetentionPeriod, purchaseReservedNodeOffering, rebootCluster,
|
||||
restoreFromClusterSnapshot, revokeClusterSecurityGroupIngress,
|
||||
revokeSnapshotAccess, rotateEncryptionKey
|
||||
|
||||
## 4. Dropped `.Client` and `.client` Properties
|
||||
|
||||
The `.Client` and `.client` properties have been removed from Service objects.
|
||||
If you are using the `.Client` property on a Service class or a `.client`
|
||||
property on an instance of the service, remove these properties from your code.
|
||||
|
||||
Upgrading example:
|
||||
|
||||
The following 1.x code:
|
||||
|
||||
```
|
||||
var sts = new AWS.STS.Client();
|
||||
// or
|
||||
var sts = new AWS.STS();
|
||||
|
||||
sts.client.operation(...);
|
||||
```
|
||||
|
||||
Should be changed to the following:
|
||||
|
||||
```
|
||||
var sts = new AWS.STS();
|
||||
sts.operation(...)
|
||||
```
|
||||
Vendored
+9
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"name": "aws-sdk",
|
||||
"ignore": [
|
||||
"apis", "doc-src", "dist-tools", "eslint-rules", "features", "lib",
|
||||
"scripts", "tasks", "test", "Gemfile*", "configuration*",
|
||||
"Rakefile", "package.json", "testem.json", ".*", "index.js"
|
||||
],
|
||||
"main": "dist/aws-sdk.js"
|
||||
}
|
||||
+96
@@ -0,0 +1,96 @@
|
||||
The bundled package of the AWS SDK for JavaScript is available under the
|
||||
Apache License, Version 2.0:
|
||||
|
||||
Copyright 2012-2014 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License"). You
|
||||
may not use this file except in compliance with the License. A copy of
|
||||
the License is located at
|
||||
|
||||
http://aws.amazon.com/apache2.0/
|
||||
|
||||
or in the "license" file accompanying this file. This file 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.
|
||||
|
||||
This product bundles browserify, which is available under a
|
||||
"3-clause BSD" license:
|
||||
|
||||
Copyright Joyent, Inc. and other Node contributors.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a
|
||||
copy of this software and associated documentation files (the
|
||||
"Software"), to deal in the Software without restriction, including
|
||||
without limitation the rights to use, copy, modify, merge, publish,
|
||||
distribute, sublicense, and/or sell copies of the Software, and to permit
|
||||
persons to whom the Software is furnished to do so, subject to the
|
||||
following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included
|
||||
in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
|
||||
NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
|
||||
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
|
||||
OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
|
||||
USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
This product bundles crypto-browserify, which is available under
|
||||
the MIT license:
|
||||
|
||||
Copyright (c) 2013 Dominic Tarr
|
||||
|
||||
Permission is hereby granted, free of charge,
|
||||
to any person obtaining a copy of this software and
|
||||
associated documentation files (the "Software"), to
|
||||
deal in the Software without restriction, including
|
||||
without limitation the rights to use, copy, modify,
|
||||
merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom
|
||||
the Software is furnished to do so,
|
||||
subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice
|
||||
shall be included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR
|
||||
ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
This product bundles MD5, SHA-1, and SHA-256 hashing algorithm components,
|
||||
which are available under a BSD license:
|
||||
|
||||
Copyright (c) 1998 - 2009, Paul Johnston & Contributors
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
|
||||
Redistributions of source code must retain the above copyrightnotice,
|
||||
this list of conditions and the following disclaimer. Redistributions
|
||||
in binary form must reproduce the above copyright notice, this list of
|
||||
conditions and the following disclaimer in the documentation and/or
|
||||
other materials provided with the distribution.
|
||||
|
||||
Neither the name of the author nor the names of its contributors may
|
||||
be used to endorse or promote products derived from this software
|
||||
without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
|
||||
THE POSSIBILITY OF SUCH DAMAGE.
|
||||
+10800
File diff suppressed because it is too large.
Load diff
+17
@@ -0,0 +1,17 @@
|
||||
// AWS SDK for JavaScript v2.1.42
|
||||
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||
// License at https://sdk.amazonaws.com/js/BUNDLE_LICENSE.txt
|
||||
!function e(t,r,a){function o(i,s){if(!r[i]){if(!t[i]){var u="function"==typeof require&&require;if(!s&&u)return u(i,!0);if(n)return n(i,!0);throw new Error("Cannot find module '"+i+"'")}var c=r[i]={exports:{}};t[i][0].call(c.exports,function(e){var r=t[i][1][e];return o(r?r:e)},c,c.exports,e,t,r,a)}return r[i].exports}for(var n="function"==typeof require&&require,i=0;i<a.length;i++)o(a[i]);return o}({1:[function(e,t,r){var a=e("./core");a.apiLoader=function(e,t){return a.apiLoader.services[e][t]},a.apiLoader.services={},a.XML.Parser=e("./xml/browser_parser"),e("./http/xhr"),"undefined"!=typeof window&&(window.AWS=a),"undefined"!=typeof t&&(t.exports=a),a.apiLoader.services.cloudwatch={},a.CloudWatch=a.Service.defineService("cloudwatch",["2010-08-01"]),a.apiLoader.services.cloudwatch["2010-08-01"]={metadata:{apiVersion:"2010-08-01",endpointPrefix:"monitoring",serviceAbbreviation:"CloudWatch",serviceFullName:"Amazon CloudWatch",signatureVersion:"v4",xmlNamespace:"http://monitoring.amazonaws.com/doc/2010-08-01/",protocol:"query"},operations:{DeleteAlarms:{input:{type:"structure",required:["AlarmNames"],members:{AlarmNames:{shape:"S2"}}},http:{}},DescribeAlarmHistory:{input:{type:"structure",members:{AlarmName:{},HistoryItemType:{},StartDate:{type:"timestamp"},EndDate:{type:"timestamp"},MaxRecords:{type:"integer"},NextToken:{}}},output:{resultWrapper:"DescribeAlarmHistoryResult",type:"structure",members:{AlarmHistoryItems:{type:"list",member:{type:"structure",members:{AlarmName:{},Timestamp:{type:"timestamp"},HistoryItemType:{},HistorySummary:{},HistoryData:{}}}},NextToken:{}}},http:{}},DescribeAlarms:{input:{type:"structure",members:{AlarmNames:{shape:"S2"},AlarmNamePrefix:{},StateValue:{},ActionPrefix:{},MaxRecords:{type:"integer"},NextToken:{}}},output:{resultWrapper:"DescribeAlarmsResult",type:"structure",members:{MetricAlarms:{shape:"Sj"},NextToken:{}}},http:{}},DescribeAlarmsForMetric:{input:{type:"structure",required:["MetricName","Namespace"],members:{MetricName:{},Namespace:{},Statistic:{},Dimensions:{shape:"Sv"},Period:{type:"integer"},Unit:{}}},output:{resultWrapper:"DescribeAlarmsForMetricResult",type:"structure",members:{MetricAlarms:{shape:"Sj"}}},http:{}},DisableAlarmActions:{input:{type:"structure",required:["AlarmNames"],members:{AlarmNames:{shape:"S2"}}},http:{}},EnableAlarmActions:{input:{type:"structure",required:["AlarmNames"],members:{AlarmNames:{shape:"S2"}}},http:{}},GetMetricStatistics:{input:{type:"structure",required:["Namespace","MetricName","StartTime","EndTime","Period","Statistics"],members:{Namespace:{},MetricName:{},Dimensions:{shape:"Sv"},StartTime:{type:"timestamp"},EndTime:{type:"timestamp"},Period:{type:"integer"},Statistics:{type:"list",member:{}},Unit:{}}},output:{resultWrapper:"GetMetricStatisticsResult",type:"structure",members:{Label:{},Datapoints:{type:"list",member:{type:"structure",members:{Timestamp:{type:"timestamp"},SampleCount:{type:"double"},Average:{type:"double"},Sum:{type:"double"},Minimum:{type:"double"},Maximum:{type:"double"},Unit:{}},xmlOrder:["Timestamp","SampleCount","Average","Sum","Minimum","Maximum","Unit"]}}}},http:{}},ListMetrics:{input:{type:"structure",members:{Namespace:{},MetricName:{},Dimensions:{type:"list",member:{type:"structure",required:["Name"],members:{Name:{},Value:{}}}},NextToken:{}}},output:{xmlOrder:["Metrics","NextToken"],resultWrapper:"ListMetricsResult",type:"structure",members:{Metrics:{type:"list",member:{type:"structure",members:{Namespace:{},MetricName:{},Dimensions:{shape:"Sv"}},xmlOrder:["Namespace","MetricName","Dimensions"]}},NextToken:{}}},http:{}},PutMetricAlarm:{input:{type:"structure",required:["AlarmName","MetricName","Namespace","Statistic","Period","EvaluationPeriods","Threshold","ComparisonOperator"],members:{AlarmName:{},AlarmDescription:{},ActionsEnabled:{type:"boolean"},OKActions:{shape:"So"},AlarmActions:{shape:"So"},InsufficientDataActions:{shape:"So"},MetricName:{},Namespace:{},Statistic:{},Dimensions:{shape:"Sv"},Period:{type:"integer"},Unit:{},EvaluationPeriods:{type:"integer"},Threshold:{type:"double"},ComparisonOperator:{}}},http:{}},PutMetricData:{input:{type:"structure",required:["Namespace","MetricData"],members:{Namespace:{},MetricData:{type:"list",member:{type:"structure",required:["MetricName"],members:{MetricName:{},Dimensions:{shape:"Sv"},Timestamp:{type:"timestamp"},Value:{type:"double"},StatisticValues:{type:"structure",required:["SampleCount","Sum","Minimum","Maximum"],members:{SampleCount:{type:"double"},Sum:{type:"double"},Minimum:{type:"double"},Maximum:{type:"double"}}},Unit:{}}}}}},http:{}},SetAlarmState:{input:{type:"structure",required:["AlarmName","StateValue","StateReason"],members:{AlarmName:{},StateValue:{},StateReason:{},StateReasonData:{}}},http:{}}},shapes:{S2:{type:"list",member:{}},Sj:{type:"list",member:{type:"structure",members:{AlarmName:{},AlarmArn:{},AlarmDescription:{},AlarmConfigurationUpdatedTimestamp:{type:"timestamp"},ActionsEnabled:{type:"boolean"},OKActions:{shapeLine truncated
|
||||
required:["latitude","longitude"],members:{latitude:{type:"double"},longitude:{type:"double"}}},radios:{type:"structure",members:{wifi:{type:"boolean"},bluetooth:{type:"boolean"},nfc:{type:"boolean"},gps:{type:"boolean"}}},auxiliaryApps:{type:"list",member:{}}}}}},output:{type:"structure",members:{run:{shape:"S1j"}}},http:{}}},shapes:{S5:{type:"list",member:{type:"structure",members:{attribute:{},operator:{},value:{}}}},Sb:{type:"structure",members:{arn:{},name:{},description:{},type:{},rules:{shape:"S5"}}},Sf:{type:"structure",members:{arn:{},name:{},created:{type:"timestamp"}}},Sl:{type:"structure",members:{arn:{},name:{},created:{type:"timestamp"},type:{},status:{},url:{},metadata:{},contentType:{},message:{}}},Sr:{type:"structure",members:{arn:{},name:{},manufacturer:{},model:{},formFactor:{},platform:{},os:{},cpu:{type:"structure",members:{frequency:{},architecture:{},clock:{type:"double"}}},resolution:{type:"structure",members:{width:{type:"integer"},height:{type:"integer"}}},heapSize:{type:"long"},memory:{type:"long"},image:{},carrier:{},radio:{}}},S14:{type:"list",member:{type:"structure",members:{device:{shape:"Sr"},compatible:{type:"boolean"},incompatibilityMessages:{type:"list",member:{type:"structure",members:{message:{},type:{}}}}}}},S1b:{type:"structure",members:{arn:{},name:{},type:{},created:{type:"timestamp"},status:{},result:{},started:{type:"timestamp"},stopped:{type:"timestamp"},counters:{shape:"S1e"},message:{},device:{shape:"Sr"}}},S1e:{type:"structure",members:{total:{type:"integer"},passed:{type:"integer"},failed:{type:"integer"},warned:{type:"integer"},errored:{type:"integer"},stopped:{type:"integer"},skipped:{type:"integer"}}},S1j:{type:"structure",members:{arn:{},name:{},type:{},platform:{},created:{type:"timestamp"},status:{},result:{},started:{type:"timestamp"},stopped:{type:"timestamp"},counters:{shape:"S1e"},message:{},totalJobs:{type:"integer"},completedJobs:{type:"integer"}}},S1m:{type:"structure",members:{arn:{},name:{},type:{},created:{type:"timestamp"},status:{},result:{},started:{type:"timestamp"},stopped:{type:"timestamp"},counters:{shape:"S1e"},message:{}}},S1p:{type:"structure",members:{arn:{},name:{},type:{},created:{type:"timestamp"},status:{},result:{},started:{type:"timestamp"},stopped:{type:"timestamp"},counters:{shape:"S1e"},message:{}}},S2w:{type:"structure",members:{arn:{},name:{}}}},examples:{},paginators:{ListArtifacts:{input_token:"nextToken",output_token:"nextToken",result_key:"artifacts"},ListDevicePools:{input_token:"nextToken",output_token:"nextToken",result_key:"devicePools"},ListDevices:{input_token:"nextToken",output_token:"nextToken",result_key:"devices"},ListJobs:{input_token:"nextToken",output_token:"nextToken",result_key:"jobs"},ListProjects:{input_token:"nextToken",output_token:"nextToken",result_key:"projects"},ListRuns:{input_token:"nextToken",output_token:"nextToken",result_key:"runs"},ListSamples:{input_token:"nextToken",output_token:"nextToken",result_key:"samples"},ListSuites:{input_token:"nextToken",output_token:"nextToken",result_key:"suites"},ListTests:{input_token:"nextToken",output_token:"nextToken",result_key:"tests"},ListUniqueProblems:{input_token:"nextToken",output_token:"nextToken",result_key:"uniqueProblems"},ListUploads:{input_token:"nextToken",output_token:"nextToken",result_key:"uploads"}}},a.apiLoader.services.dynamodb={},a.DynamoDB=a.Service.defineService("dynamodb",["2011-12-05","2012-08-10"]),e("./services/dynamodb"),a.apiLoader.services.dynamodb["2012-08-10"]={version:"2.0",metadata:{apiVersion:"2012-08-10",endpointPrefix:"dynamodb",jsonVersion:"1.0",serviceAbbreviation:"DynamoDB",serviceFullName:"Amazon DynamoDB",signatureVersion:"v4",targetPrefix:"DynamoDB_20120810",protocol:"json"},operations:{BatchGetItem:{input:{type:"structure",required:["RequestItems"],members:{RequestItems:{shape:"S2"},ReturnConsumedCapacity:{}}},output:{type:"structure",members:{Responses:{type:"map",key:{},value:{shape:"Sr"}},UnprocessedKeys:{shape:"S2"},ConsumedCapacity:{shape:"St"}}},http:{}},BatchWriteItem:{input:{type:"structure",required:["RequestItems"],members:{RequestItems:{shape:"S10"},ReturnConsumedCapacity:{},ReturnItemCollectionMetrics:{}}},output:{type:"structure",members:{UnprocessedItems:{shape:"S10"},ItemCollectionMetrics:{type:"map",key:{},value:{type:"list",member:{shape:"S1a"}}},ConsumedCapacity:{shape:"St"}}},http:{}},CreateTable:{input:{type:"structure",required:["AttributeDefinitions","TableName","KeySchema","ProvisionedThroughput"],members:{AttributeDefinitions:{shape:"S1f"},TableName:{},KeySchema:{shape:"S1j"},LocalSecondaryIndexes:{type:"list",member:{type:"structure",required:["IndexName","KeySchema","Projection"],members:{IndexName:{},KeySchema:{shape:"S1j"},Projection:{shape:"S1o"}}}},GlobalSecondaryIndexes:{type:"list",member:{type:"structure",required:["IndexName","KeySchema","Projection","ProvisionedThroughput"],members:{IndexName:{},KeySchema:{shape:"S1j"},Projection:{shape:"S1o"},ProvisionedThroughput:{shape:"SLine truncated
|
||||
type:"structure",required:["AvailabilityZone"],members:{DryRun:{locationName:"dryRun",type:"boolean"},Size:{type:"integer"},SnapshotId:{},AvailabilityZone:{},VolumeType:{},Iops:{type:"integer"},Encrypted:{locationName:"encrypted",type:"boolean"},KmsKeyId:{}}},output:{shape:"S5i",locationName:"volume"},http:{}},CreateVpc:{input:{type:"structure",required:["CidrBlock"],members:{DryRun:{locationName:"dryRun",type:"boolean"},CidrBlock:{},InstanceTenancy:{locationName:"instanceTenancy"}}},output:{type:"structure",members:{Vpc:{shape:"S5o",locationName:"vpc"}}},http:{}},CreateVpcEndpoint:{input:{type:"structure",required:["VpcId","ServiceName"],members:{DryRun:{type:"boolean"},VpcId:{},ServiceName:{},PolicyDocument:{},RouteTableIds:{shape:"S22",locationName:"RouteTableId"},ClientToken:{}}},output:{type:"structure",members:{VpcEndpoint:{shape:"S5s",locationName:"vpcEndpoint"},ClientToken:{locationName:"clientToken"}}},http:{}},CreateVpcPeeringConnection:{input:{type:"structure",members:{DryRun:{locationName:"dryRun",type:"boolean"},VpcId:{locationName:"vpcId"},PeerVpcId:{locationName:"peerVpcId"},PeerOwnerId:{locationName:"peerOwnerId"}}},output:{type:"structure",members:{VpcPeeringConnection:{shape:"S5",locationName:"vpcPeeringConnection"}}},http:{}},CreateVpnConnection:{input:{type:"structure",required:["Type","CustomerGatewayId","VpnGatewayId"],members:{DryRun:{locationName:"dryRun",type:"boolean"},Type:{},CustomerGatewayId:{},VpnGatewayId:{},Options:{locationName:"options",type:"structure",members:{StaticRoutesOnly:{locationName:"staticRoutesOnly",type:"boolean"}}}}},output:{type:"structure",members:{VpnConnection:{shape:"S5z",locationName:"vpnConnection"}}},http:{}},CreateVpnConnectionRoute:{input:{type:"structure",required:["VpnConnectionId","DestinationCidrBlock"],members:{VpnConnectionId:{},DestinationCidrBlock:{}}},http:{}},CreateVpnGateway:{input:{type:"structure",required:["Type"],members:{DryRun:{locationName:"dryRun",type:"boolean"},Type:{},AvailabilityZone:{}}},output:{type:"structure",members:{VpnGateway:{shape:"S6b",locationName:"vpnGateway"}}},http:{}},DeleteCustomerGateway:{input:{type:"structure",required:["CustomerGatewayId"],members:{DryRun:{locationName:"dryRun",type:"boolean"},CustomerGatewayId:{}}},http:{}},DeleteDhcpOptions:{input:{type:"structure",required:["DhcpOptionsId"],members:{DryRun:{locationName:"dryRun",type:"boolean"},DhcpOptionsId:{}}},http:{}},DeleteFlowLogs:{input:{type:"structure",required:["FlowLogIds"],members:{FlowLogIds:{shape:"S22",locationName:"FlowLogId"}}},output:{type:"structure",members:{Unsuccessful:{shape:"S34",locationName:"unsuccessful"}}},http:{}},DeleteInternetGateway:{input:{type:"structure",required:["InternetGatewayId"],members:{DryRun:{locationName:"dryRun",type:"boolean"},InternetGatewayId:{locationName:"internetGatewayId"}}},http:{}},DeleteKeyPair:{input:{type:"structure",required:["KeyName"],members:{DryRun:{locationName:"dryRun",type:"boolean"},KeyName:{}}},http:{}},DeleteNetworkAcl:{input:{type:"structure",required:["NetworkAclId"],members:{DryRun:{locationName:"dryRun",type:"boolean"},NetworkAclId:{locationName:"networkAclId"}}},http:{}},DeleteNetworkAclEntry:{input:{type:"structure",required:["NetworkAclId","RuleNumber","Egress"],members:{DryRun:{locationName:"dryRun",type:"boolean"},NetworkAclId:{locationName:"networkAclId"},RuleNumber:{locationName:"ruleNumber",type:"integer"},Egress:{locationName:"egress",type:"boolean"}}},http:{}},DeleteNetworkInterface:{input:{type:"structure",required:["NetworkInterfaceId"],members:{DryRun:{locationName:"dryRun",type:"boolean"},NetworkInterfaceId:{locationName:"networkInterfaceId"}}},http:{}},DeletePlacementGroup:{input:{type:"structure",required:["GroupName"],members:{DryRun:{locationName:"dryRun",type:"boolean"},GroupName:{locationName:"groupName"}}},http:{}},DeleteRoute:{input:{type:"structure",required:["RouteTableId","DestinationCidrBlock"],members:{DryRun:{locationName:"dryRun",type:"boolean"},RouteTableId:{locationName:"routeTableId"},DestinationCidrBlock:{locationName:"destinationCidrBlock"}}},http:{}},DeleteRouteTable:{input:{type:"structure",required:["RouteTableId"],members:{DryRun:{locationName:"dryRun",type:"boolean"},RouteTableId:{locationName:"routeTableId"}}},http:{}},DeleteSecurityGroup:{input:{type:"structure",members:{DryRun:{locationName:"dryRun",type:"boolean"},GroupName:{},GroupId:{}}},http:{}},DeleteSnapshot:{input:{type:"structure",required:["SnapshotId"],members:{DryRun:{locationName:"dryRun",type:"boolean"},SnapshotId:{}}},http:{}},DeleteSpotDatafeedSubscription:{input:{type:"structure",members:{DryRun:{locationName:"dryRun",type:"boolean"}}},http:{}},DeleteSubnet:{input:{type:"structure",required:["SubnetId"],members:{DryRun:{locationName:"dryRun",type:"boolean"},SubnetId:{}}},http:{}},DeleteTags:{input:{type:"structure",required:["Resources"],members:{DryRun:{locationName:"dryRun",type:"boolean"},Resources:{shape:"S5g",locationName:"resourceId"},Tags:{shape:"Sa",locationName:"tag"Line truncated
|
||||
}}},output:{type:"structure",members:{SpotInstanceRequests:{shape:"Se4",locationName:"spotInstanceRequestSet"}}},http:{}},DescribeSpotPriceHistory:{input:{type:"structure",members:{DryRun:{locationName:"dryRun",type:"boolean"},StartTime:{locationName:"startTime",type:"timestamp"},EndTime:{locationName:"endTime",type:"timestamp"},InstanceTypes:{locationName:"InstanceType",type:"list",member:{}},ProductDescriptions:{locationName:"ProductDescription",type:"list",member:{}},Filters:{shape:"S7e",locationName:"Filter"},AvailabilityZone:{locationName:"availabilityZone"},MaxResults:{locationName:"maxResults",type:"integer"},NextToken:{locationName:"nextToken"}}},output:{type:"structure",members:{SpotPriceHistory:{locationName:"spotPriceHistorySet",type:"list",member:{locationName:"item",type:"structure",members:{InstanceType:{locationName:"instanceType"},ProductDescription:{locationName:"productDescription"},SpotPrice:{locationName:"spotPrice"},Timestamp:{locationName:"timestamp",type:"timestamp"},AvailabilityZone:{locationName:"availabilityZone"}}}},NextToken:{locationName:"nextToken"}}},http:{}},DescribeSubnets:{input:{type:"structure",members:{DryRun:{locationName:"dryRun",type:"boolean"},SubnetIds:{locationName:"SubnetId",type:"list",member:{locationName:"SubnetId"}},Filters:{shape:"S7e",locationName:"Filter"}}},output:{type:"structure",members:{Subnets:{locationName:"subnetSet",type:"list",member:{shape:"S5d",locationName:"item"}}}},http:{}},DescribeTags:{input:{type:"structure",members:{DryRun:{locationName:"dryRun",type:"boolean"},Filters:{shape:"S7e",locationName:"Filter"},MaxResults:{locationName:"maxResults",type:"integer"},NextToken:{locationName:"nextToken"}}},output:{type:"structure",members:{Tags:{locationName:"tagSet",type:"list",member:{locationName:"item",type:"structure",members:{ResourceId:{locationName:"resourceId"},ResourceType:{locationName:"resourceType"},Key:{locationName:"key"},Value:{locationName:"value"}}}},NextToken:{locationName:"nextToken"}}},http:{}},DescribeVolumeAttribute:{input:{type:"structure",required:["VolumeId"],members:{DryRun:{locationName:"dryRun",type:"boolean"},VolumeId:{},Attribute:{}}},output:{type:"structure",members:{VolumeId:{locationName:"volumeId"},AutoEnableIO:{shape:"S9y",locationName:"autoEnableIO"},ProductCodes:{shape:"S90",locationName:"productCodes"}}},http:{}},DescribeVolumeStatus:{input:{type:"structure",members:{DryRun:{locationName:"dryRun",type:"boolean"},VolumeIds:{shape:"Seu",locationName:"VolumeId"},Filters:{shape:"S7e",locationName:"Filter"},NextToken:{},MaxResults:{type:"integer"}}},output:{type:"structure",members:{VolumeStatuses:{locationName:"volumeStatusSet",type:"list",member:{locationName:"item",type:"structure",members:{VolumeId:{locationName:"volumeId"},AvailabilityZone:{locationName:"availabilityZone"},VolumeStatus:{locationName:"volumeStatus",type:"structure",members:{Status:{locationName:"status"},Details:{locationName:"details",type:"list",member:{locationName:"item",type:"structure",members:{Name:{locationName:"name"},Status:{locationName:"status"}}}}}},Events:{locationName:"eventsSet",type:"list",member:{locationName:"item",type:"structure",members:{EventType:{locationName:"eventType"},Description:{locationName:"description"},NotBefore:{locationName:"notBefore",type:"timestamp"},NotAfter:{locationName:"notAfter",type:"timestamp"},EventId:{locationName:"eventId"}}}},Actions:{locationName:"actionsSet",type:"list",member:{locationName:"item",type:"structure",members:{Code:{locationName:"code"},Description:{locationName:"description"},EventType:{locationName:"eventType"},EventId:{locationName:"eventId"}}}}}}},NextToken:{locationName:"nextToken"}}},http:{}},DescribeVolumes:{input:{type:"structure",members:{DryRun:{locationName:"dryRun",type:"boolean"},VolumeIds:{shape:"Seu",locationName:"VolumeId"},Filters:{shape:"S7e",locationName:"Filter"},NextToken:{locationName:"nextToken"},MaxResults:{locationName:"maxResults",type:"integer"}}},output:{type:"structure",members:{Volumes:{locationName:"volumeSet",type:"list",member:{shape:"S5i",locationName:"item"}},NextToken:{locationName:"nextToken"}}},http:{}},DescribeVpcAttribute:{input:{type:"structure",required:["VpcId"],members:{DryRun:{locationName:"dryRun",type:"boolean"},VpcId:{},Attribute:{}}},output:{type:"structure",members:{VpcId:{locationName:"vpcId"},EnableDnsSupport:{shape:"S9y",locationName:"enableDnsSupport"},EnableDnsHostnames:{shape:"S9y",locationName:"enableDnsHostnames"}}},http:{}},DescribeVpcClassicLink:{input:{type:"structure",members:{DryRun:{locationName:"dryRun",type:"boolean"},VpcIds:{locationName:"VpcId",type:"list",member:{locationName:"VpcId"}},Filters:{shape:"S7e",locationName:"Filter"}}},output:{type:"structure",members:{Vpcs:{locationName:"vpcSet",type:"list",member:{locationName:"item",type:"structure",members:{VpcId:{locationName:"vpcId"},ClassicLinkEnabled:{locationName:"classicLinkEnabled",type:"boolean"},Tags:{shape:"Sa",locationName:"tagSet"}}}}}},http:{}},DescriLine truncated
|
||||
},BgpAsn:{locationName:"bgpAsn"},Tags:{shape:"Sa",locationName:"tagSet"}}},S2v:{type:"structure",members:{DhcpOptionsId:{locationName:"dhcpOptionsId"},DhcpConfigurations:{locationName:"dhcpConfigurationSet",type:"list",member:{locationName:"item",type:"structure",members:{Key:{locationName:"key"},Values:{locationName:"valueSet",type:"list",member:{shape:"S2z",locationName:"item"}}}}},Tags:{shape:"Sa",locationName:"tagSet"}}},S2z:{type:"structure",members:{Value:{locationName:"value"}}},S34:{type:"list",member:{locationName:"item",type:"structure",required:["Error"],members:{ResourceId:{locationName:"resourceId"},Error:{locationName:"error",type:"structure",required:["Code","Message"],members:{Code:{locationName:"code"},Message:{locationName:"message"}}}}}},S38:{type:"list",member:{shape:"S39",locationName:"BlockDeviceMapping"}},S39:{type:"structure",members:{VirtualName:{locationName:"virtualName"},DeviceName:{locationName:"deviceName"},Ebs:{locationName:"ebs",type:"structure",members:{SnapshotId:{locationName:"snapshotId"},VolumeSize:{locationName:"volumeSize",type:"integer"},DeleteOnTermination:{locationName:"deleteOnTermination",type:"boolean"},VolumeType:{locationName:"volumeType"},Iops:{locationName:"iops",type:"integer"},Encrypted:{locationName:"encrypted",type:"boolean"}}},NoDevice:{locationName:"noDevice"}}},S3j:{type:"structure",members:{ExportTaskId:{locationName:"exportTaskId"},Description:{locationName:"description"},State:{locationName:"state"},StatusMessage:{locationName:"statusMessage"},InstanceExportDetails:{locationName:"instanceExport",type:"structure",members:{InstanceId:{locationName:"instanceId"},TargetEnvironment:{locationName:"targetEnvironment"}}},ExportToS3Task:{locationName:"exportToS3",type:"structure",members:{DiskImageFormat:{locationName:"diskImageFormat"},ContainerFormat:{locationName:"containerFormat"},S3Bucket:{locationName:"s3Bucket"},S3Key:{locationName:"s3Key"}}}}},S3p:{type:"structure",members:{InternetGatewayId:{locationName:"internetGatewayId"},Attachments:{locationName:"attachmentSet",type:"list",member:{locationName:"item",type:"structure",members:{VpcId:{locationName:"vpcId"},State:{locationName:"state"}}}},Tags:{shape:"Sa",locationName:"tagSet"}}},S3w:{type:"structure",members:{NetworkAclId:{locationName:"networkAclId"},VpcId:{locationName:"vpcId"},IsDefault:{locationName:"default",type:"boolean"},Entries:{locationName:"entrySet",type:"list",member:{locationName:"item",type:"structure",members:{RuleNumber:{locationName:"ruleNumber",type:"integer"},Protocol:{locationName:"protocol"},RuleAction:{locationName:"ruleAction"},Egress:{locationName:"egress",type:"boolean"},CidrBlock:{locationName:"cidrBlock"},IcmpTypeCode:{shape:"S40",locationName:"icmpTypeCode"},PortRange:{shape:"S41",locationName:"portRange"}}}},Associations:{locationName:"associationSet",type:"list",member:{locationName:"item",type:"structure",members:{NetworkAclAssociationId:{locationName:"networkAclAssociationId"},NetworkAclId:{locationName:"networkAclId"},SubnetId:{locationName:"subnetId"}}}},Tags:{shape:"Sa",locationName:"tagSet"}}},S40:{type:"structure",members:{Type:{locationName:"type",type:"integer"},Code:{locationName:"code",type:"integer"}}},S41:{type:"structure",members:{From:{locationName:"from",type:"integer"},To:{locationName:"to",type:"integer"}}},S46:{type:"list",member:{locationName:"SecurityGroupId"}},S47:{type:"list",member:{locationName:"item",type:"structure",required:["PrivateIpAddress"],members:{PrivateIpAddress:{locationName:"privateIpAddress"},Primary:{locationName:"primary",type:"boolean"}}}},S4a:{type:"structure",members:{NetworkInterfaceId:{locationName:"networkInterfaceId"},SubnetId:{locationName:"subnetId"},VpcId:{locationName:"vpcId"},AvailabilityZone:{locationName:"availabilityZone"},Description:{locationName:"description"},OwnerId:{locationName:"ownerId"},RequesterId:{locationName:"requesterId"},RequesterManaged:{locationName:"requesterManaged",type:"boolean"},Status:{locationName:"status"},MacAddress:{locationName:"macAddress"},PrivateIpAddress:{locationName:"privateIpAddress"},PrivateDnsName:{locationName:"privateDnsName"},SourceDestCheck:{locationName:"sourceDestCheck",type:"boolean"},Groups:{shape:"S4c",locationName:"groupSet"},Attachment:{shape:"S4e",locationName:"attachment"},Association:{shape:"S4f",locationName:"association"},TagSet:{shape:"Sa",locationName:"tagSet"},PrivateIpAddresses:{locationName:"privateIpAddressesSet",type:"list",member:{locationName:"item",type:"structure",members:{PrivateIpAddress:{locationName:"privateIpAddress"},PrivateDnsName:{locationName:"privateDnsName"},Primary:{locationName:"primary",type:"boolean"},Association:{shape:"S4f",locationName:"association"}}}}}},S4c:{type:"list",member:{locationName:"item",type:"structure",members:{GroupName:{locationName:"groupName"},GroupId:{locationName:"groupId"}}}},S4e:{type:"structure",members:{AttachmentId:{locationName:"attachmentId"},InstanceId:{locationName:"instanceId"},InstanceOwnerId:{locatLine truncated
|
||||
method:"GET",requestUri:"/2012-09-25/jobsByPipeline/{PipelineId}"},input:{type:"structure",required:["PipelineId"],members:{PipelineId:{location:"uri",locationName:"PipelineId"},Ascending:{location:"querystring",locationName:"Ascending"},PageToken:{location:"querystring",locationName:"PageToken"}}},output:{type:"structure",members:{Jobs:{shape:"S3s"},NextPageToken:{}}}},ListJobsByStatus:{http:{method:"GET",requestUri:"/2012-09-25/jobsByStatus/{Status}"},input:{type:"structure",required:["Status"],members:{Status:{location:"uri",locationName:"Status"},Ascending:{location:"querystring",locationName:"Ascending"},PageToken:{location:"querystring",locationName:"PageToken"}}},output:{type:"structure",members:{Jobs:{shape:"S3s"},NextPageToken:{}}}},ListPipelines:{http:{method:"GET",requestUri:"/2012-09-25/pipelines"},input:{type:"structure",members:{Ascending:{location:"querystring",locationName:"Ascending"},PageToken:{location:"querystring",locationName:"PageToken"}}},output:{type:"structure",members:{Pipelines:{type:"list",member:{shape:"S2i"}},NextPageToken:{}}}},ListPresets:{http:{method:"GET",requestUri:"/2012-09-25/presets"},input:{type:"structure",members:{Ascending:{location:"querystring",locationName:"Ascending"},PageToken:{location:"querystring",locationName:"PageToken"}}},output:{type:"structure",members:{Presets:{type:"list",member:{shape:"S3j"}},NextPageToken:{}}}},ReadJob:{http:{method:"GET",requestUri:"/2012-09-25/jobs/{Id}"},input:{type:"structure",required:["Id"],members:{Id:{location:"uri",locationName:"Id"}}},output:{type:"structure",members:{Job:{shape:"S1v"}}}},ReadPipeline:{http:{method:"GET",requestUri:"/2012-09-25/pipelines/{Id}"},input:{type:"structure",required:["Id"],members:{Id:{location:"uri",locationName:"Id"}}},output:{type:"structure",members:{Pipeline:{shape:"S2i"},Warnings:{shape:"S2k"}}}},ReadPreset:{http:{method:"GET",requestUri:"/2012-09-25/presets/{Id}"},input:{type:"structure",required:["Id"],members:{Id:{location:"uri",locationName:"Id"}}},output:{type:"structure",members:{Preset:{shape:"S3j"}}}},TestRole:{http:{requestUri:"/2012-09-25/roleTests",responseCode:200},input:{type:"structure",required:["Role","InputBucket","OutputBucket","Topics"],members:{Role:{},InputBucket:{},OutputBucket:{},Topics:{type:"list",member:{}}}},output:{type:"structure",members:{Success:{},Messages:{type:"list",member:{}}}}},UpdatePipeline:{http:{method:"PUT",requestUri:"/2012-09-25/pipelines/{Id}",responseCode:200},input:{type:"structure",required:["Id"],members:{Id:{location:"uri",locationName:"Id"},Name:{},InputBucket:{},Role:{},AwsKmsKeyArn:{},Notifications:{shape:"S27"},ContentConfig:{shape:"S29"},ThumbnailConfig:{shape:"S29"}}},output:{type:"structure",members:{Pipeline:{shape:"S2i"},Warnings:{shape:"S2k"}}}},UpdatePipelineNotifications:{http:{requestUri:"/2012-09-25/pipelines/{Id}/notifications"},input:{type:"structure",required:["Id","Notifications"],members:{Id:{location:"uri",locationName:"Id"},Notifications:{shape:"S27"}}},output:{type:"structure",members:{Pipeline:{shape:"S2i"}}}},UpdatePipelineStatus:{http:{requestUri:"/2012-09-25/pipelines/{Id}/status"},input:{type:"structure",required:["Id","Status"],members:{Id:{location:"uri",locationName:"Id"},Status:{}}},output:{type:"structure",members:{Pipeline:{shape:"S2i"}}}}},shapes:{S5:{type:"structure",members:{Key:{},FrameRate:{},Resolution:{},AspectRatio:{},Interlaced:{},Container:{},Encryption:{shape:"Sc"},DetectedProperties:{type:"structure",members:{Width:{type:"integer"},Height:{type:"integer"},FrameRate:{},FileSize:{type:"long"},DurationMillis:{type:"long"}}}}},Sc:{type:"structure",members:{Mode:{},Key:{},KeyMd5:{},InitializationVector:{}}},Sk:{type:"structure",members:{Key:{},ThumbnailPattern:{},ThumbnailEncryption:{shape:"Sc"},Rotate:{},PresetId:{},SegmentDuration:{},Watermarks:{shape:"Sn"},AlbumArt:{shape:"Sr"},Composition:{shape:"Sz"},Captions:{shape:"S13"},Encryption:{shape:"Sc"}}},Sn:{type:"list",member:{type:"structure",members:{PresetWatermarkId:{},InputKey:{},Encryption:{shape:"Sc"}}}},Sr:{type:"structure",members:{MergePolicy:{},Artwork:{type:"list",member:{type:"structure",members:{InputKey:{},MaxWidth:{},MaxHeight:{},SizingPolicy:{},PaddingPolicy:{},AlbumArtFormat:{},Encryption:{shape:"Sc"}}}}}},Sz:{type:"list",member:{type:"structure",members:{TimeSpan:{type:"structure",members:{StartTime:{},Duration:{}}}}}},S13:{type:"structure",members:{MergePolicy:{},CaptionSources:{type:"list",member:{type:"structure",members:{Key:{},Language:{},TimeOffset:{},Label:{},Encryption:{shape:"Sc"}}}},CaptionFormats:{type:"list",member:{type:"structure",members:{Format:{},Pattern:{},Encryption:{shape:"Sc"}}}}}},S1i:{type:"list",member:{}},S1j:{type:"structure",members:{Method:{},Key:{},KeyMd5:{},InitializationVector:{},LicenseAcquisitionUrl:{},KeyStoragePolicy:{}}},S1n:{type:"structure",members:{Format:{},Key:{},KeyMd5:{},KeyId:{},InitializationVector:{},LicenseAcquisitionUrl:{}}},S1s:{type:"map",key:{},value:{}},S1v:{type:"structure",memLine truncated
|
||||
shape:"Sa"},ChefConfiguration:{shape:"Sb"},UseCustomCookbooks:{type:"boolean"},UseOpsworksSecurityGroups:{type:"boolean"},CustomCookbooksSource:{shape:"Sd"},DefaultSshKeyName:{},ClonePermissions:{type:"boolean"},CloneAppIds:{shape:"S3"},DefaultRootDeviceType:{},AgentVersion:{}}},output:{type:"structure",members:{StackId:{}}},http:{}},CreateApp:{input:{type:"structure",required:["StackId","Name","Type"],members:{StackId:{},Shortname:{},Name:{},Description:{},DataSources:{shape:"Si"},Type:{},AppSource:{shape:"Sd"},Domains:{shape:"S3"},EnableSsl:{type:"boolean"},SslConfiguration:{shape:"Sl"},Attributes:{shape:"Sm"},Environment:{shape:"So"}}},output:{type:"structure",members:{AppId:{}}},http:{}},CreateDeployment:{input:{type:"structure",required:["StackId","Command"],members:{StackId:{},AppId:{},InstanceIds:{shape:"S3"},Command:{shape:"Ss"},Comment:{},CustomJson:{}}},output:{type:"structure",members:{DeploymentId:{}}},http:{}},CreateInstance:{input:{type:"structure",required:["StackId","LayerIds","InstanceType"],members:{StackId:{},LayerIds:{shape:"S3"},InstanceType:{},AutoScalingType:{},Hostname:{},Os:{},AmiId:{},SshKeyName:{},AvailabilityZone:{},VirtualizationType:{},SubnetId:{},Architecture:{},RootDeviceType:{},BlockDeviceMappings:{shape:"Sz"},InstallUpdatesOnBoot:{type:"boolean"},EbsOptimized:{type:"boolean"},AgentVersion:{}}},output:{type:"structure",members:{InstanceId:{}}},http:{}},CreateLayer:{input:{type:"structure",required:["StackId","Type","Name","Shortname"],members:{StackId:{},Type:{},Name:{},Shortname:{},Attributes:{shape:"S17"},CustomInstanceProfileArn:{},CustomJson:{},CustomSecurityGroupIds:{shape:"S3"},Packages:{shape:"S3"},VolumeConfigurations:{shape:"S19"},EnableAutoHealing:{type:"boolean"},AutoAssignElasticIps:{type:"boolean"},AutoAssignPublicIps:{type:"boolean"},CustomRecipes:{shape:"S1b"},InstallUpdatesOnBoot:{type:"boolean"},UseEbsOptimizedInstances:{type:"boolean"},LifecycleEventConfiguration:{shape:"S1c"}}},output:{type:"structure",members:{LayerId:{}}},http:{}},CreateStack:{input:{type:"structure",required:["Name","Region","ServiceRoleArn","DefaultInstanceProfileArn"],members:{Name:{},Region:{},VpcId:{},Attributes:{shape:"S8"},ServiceRoleArn:{},DefaultInstanceProfileArn:{},DefaultOs:{},HostnameTheme:{},DefaultAvailabilityZone:{},DefaultSubnetId:{},CustomJson:{},ConfigurationManager:{shape:"Sa"},ChefConfiguration:{shape:"Sb"},UseCustomCookbooks:{type:"boolean"},UseOpsworksSecurityGroups:{type:"boolean"},CustomCookbooksSource:{shape:"Sd"},DefaultSshKeyName:{},DefaultRootDeviceType:{},AgentVersion:{}}},output:{type:"structure",members:{StackId:{}}},http:{}},CreateUserProfile:{input:{type:"structure",required:["IamUserArn"],members:{IamUserArn:{},SshUsername:{},SshPublicKey:{},AllowSelfManagement:{type:"boolean"}}},output:{type:"structure",members:{IamUserArn:{}}},http:{}},DeleteApp:{input:{type:"structure",required:["AppId"],members:{AppId:{}}},http:{}},DeleteInstance:{input:{type:"structure",required:["InstanceId"],members:{InstanceId:{},DeleteElasticIp:{type:"boolean"},DeleteVolumes:{type:"boolean"}}},http:{}},DeleteLayer:{input:{type:"structure",required:["LayerId"],members:{LayerId:{}}},http:{}},DeleteStack:{input:{type:"structure",required:["StackId"],members:{StackId:{}}},http:{}},DeleteUserProfile:{input:{type:"structure",required:["IamUserArn"],members:{IamUserArn:{}}},http:{}},DeregisterEcsCluster:{input:{type:"structure",required:["EcsClusterArn"],members:{EcsClusterArn:{}}},http:{}},DeregisterElasticIp:{input:{type:"structure",required:["ElasticIp"],members:{ElasticIp:{}}},http:{}},DeregisterInstance:{input:{type:"structure",required:["InstanceId"],members:{InstanceId:{}}},http:{}},DeregisterRdsDbInstance:{input:{type:"structure",required:["RdsDbInstanceArn"],members:{RdsDbInstanceArn:{}}},http:{}},DeregisterVolume:{input:{type:"structure",required:["VolumeId"],members:{VolumeId:{}}},http:{}},DescribeAgentVersions:{input:{type:"structure",members:{StackId:{},ConfigurationManager:{shape:"Sa"}}},output:{type:"structure",members:{AgentVersions:{type:"list",member:{type:"structure",members:{Version:{},ConfigurationManager:{shape:"Sa"}}}}}},http:{}},DescribeApps:{input:{type:"structure",members:{StackId:{},AppIds:{shape:"S3"}}},output:{type:"structure",members:{Apps:{type:"list",member:{type:"structure",members:{AppId:{},StackId:{},Shortname:{},Name:{},Description:{},DataSources:{shape:"Si"},Type:{},AppSource:{shape:"Sd"},Domains:{shape:"S3"},EnableSsl:{type:"boolean"},SslConfiguration:{shape:"Sl"},Attributes:{shape:"Sm"},CreatedAt:{},Environment:{shape:"So"}}}}}},http:{}},DescribeCommands:{input:{type:"structure",members:{DeploymentId:{},InstanceId:{},CommandIds:{shape:"S3"}}},output:{type:"structure",members:{Commands:{type:"list",member:{type:"structure",members:{CommandId:{},InstanceId:{},DeploymentId:{},CreatedAt:{},AcknowledgedAt:{},CompletedAt:{},Status:{},ExitCode:{type:"integer"},LogUrl:{},Type:{}}}}}},http:{}},DescribeDeployments:{input:{type:"structure",members:{StackIdLine truncated
|
||||
type:"structure",members:{Owner:{shape:"S2f"},Grants:{shape:"S2i",locationName:"AccessControlList"}}}},GetBucketCors:{http:{method:"GET",requestUri:"/{Bucket}?cors"},input:{type:"structure",required:["Bucket"],members:{Bucket:{location:"uri",locationName:"Bucket"}}},output:{type:"structure",members:{CORSRules:{shape:"S2r",locationName:"CORSRule"}}}},GetBucketLifecycle:{http:{method:"GET",requestUri:"/{Bucket}?lifecycle"},input:{type:"structure",required:["Bucket"],members:{Bucket:{location:"uri",locationName:"Bucket"}}},output:{type:"structure",members:{Rules:{shape:"S34",locationName:"Rule"}}}},GetBucketLocation:{http:{method:"GET",requestUri:"/{Bucket}?location"},input:{type:"structure",required:["Bucket"],members:{Bucket:{location:"uri",locationName:"Bucket"}}},output:{type:"structure",members:{LocationConstraint:{}}}},GetBucketLogging:{http:{method:"GET",requestUri:"/{Bucket}?logging"},input:{type:"structure",required:["Bucket"],members:{Bucket:{location:"uri",locationName:"Bucket"}}},output:{type:"structure",members:{LoggingEnabled:{shape:"S3j"}}}},GetBucketNotification:{http:{method:"GET",requestUri:"/{Bucket}?notification"},input:{shape:"S3p"},output:{shape:"S3q"},deprecated:!0},GetBucketNotificationConfiguration:{http:{method:"GET",requestUri:"/{Bucket}?notification"},input:{shape:"S3p"},output:{shape:"S41"}},GetBucketPolicy:{http:{method:"GET",requestUri:"/{Bucket}?policy"},input:{type:"structure",required:["Bucket"],members:{Bucket:{location:"uri",locationName:"Bucket"}}},output:{type:"structure",members:{Policy:{}},payload:"Policy"}},GetBucketReplication:{http:{method:"GET",requestUri:"/{Bucket}?replication"},input:{type:"structure",required:["Bucket"],members:{Bucket:{location:"uri",locationName:"Bucket"}}},output:{type:"structure",members:{ReplicationConfiguration:{shape:"S4e"}},payload:"ReplicationConfiguration"}},GetBucketRequestPayment:{http:{method:"GET",requestUri:"/{Bucket}?requestPayment"},input:{type:"structure",required:["Bucket"],members:{Bucket:{location:"uri",locationName:"Bucket"}}},output:{type:"structure",members:{Payer:{}}}},GetBucketTagging:{http:{method:"GET",requestUri:"/{Bucket}?tagging"},input:{type:"structure",required:["Bucket"],members:{Bucket:{location:"uri",locationName:"Bucket"}}},output:{type:"structure",required:["TagSet"],members:{TagSet:{shape:"S4p"}}}},GetBucketVersioning:{http:{method:"GET",requestUri:"/{Bucket}?versioning"},input:{type:"structure",required:["Bucket"],members:{Bucket:{location:"uri",locationName:"Bucket"}}},output:{type:"structure",members:{Status:{},MFADelete:{locationName:"MfaDelete"}}}},GetBucketWebsite:{http:{method:"GET",requestUri:"/{Bucket}?website"},input:{type:"structure",required:["Bucket"],members:{Bucket:{location:"uri",locationName:"Bucket"}}},output:{type:"structure",members:{RedirectAllRequestsTo:{shape:"S4y"},IndexDocument:{shape:"S51"},ErrorDocument:{shape:"S53"},RoutingRules:{shape:"S54"}}}},GetObject:{http:{method:"GET",requestUri:"/{Bucket}/{Key+}"},input:{type:"structure",required:["Bucket","Key"],members:{Bucket:{location:"uri",locationName:"Bucket"},IfMatch:{location:"header",locationName:"If-Match"},IfModifiedSince:{location:"header",locationName:"If-Modified-Since",type:"timestamp"},IfNoneMatch:{location:"header",locationName:"If-None-Match"},IfUnmodifiedSince:{location:"header",locationName:"If-Unmodified-Since",type:"timestamp"},Key:{location:"uri",locationName:"Key"},Range:{location:"header",locationName:"Range"},ResponseCacheControl:{location:"querystring",locationName:"response-cache-control"},ResponseContentDisposition:{location:"querystring",locationName:"response-content-disposition"},ResponseContentEncoding:{location:"querystring",locationName:"response-content-encoding"},ResponseContentLanguage:{location:"querystring",locationName:"response-content-language"},ResponseContentType:{location:"querystring",locationName:"response-content-type"},ResponseExpires:{location:"querystring",locationName:"response-expires",type:"timestamp"},VersionId:{location:"querystring",locationName:"versionId"},SSECustomerAlgorithm:{location:"header",locationName:"x-amz-server-side-encryption-customer-algorithm"},SSECustomerKey:{shape:"S18",location:"header",locationName:"x-amz-server-side-encryption-customer-key"},SSECustomerKeyMD5:{location:"header",locationName:"x-amz-server-side-encryption-customer-key-MD5"},RequestPayer:{location:"header",locationName:"x-amz-request-payer"}}},output:{type:"structure",members:{Body:{streaming:!0,type:"blob"},DeleteMarker:{location:"header",locationName:"x-amz-delete-marker",type:"boolean"},AcceptRanges:{location:"header",locationName:"accept-ranges"},Expiration:{location:"header",locationName:"x-amz-expiration"},Restore:{location:"header",locationName:"x-amz-restore"},LastModified:{location:"header",locationName:"Last-Modified",type:"timestamp"},ContentLength:{location:"header",locationName:"Content-Length",type:"integer"},ETag:{location:"header",locationName:"ETag"},MissingMeta:{location:"header"Line truncated
|
||||
members:{Suffix:{}}},S53:{type:"structure",required:["Key"],members:{Key:{}}},S54:{type:"list",member:{locationName:"RoutingRule",type:"structure",required:["Redirect"],members:{Condition:{type:"structure",members:{HttpErrorCodeReturnedEquals:{},KeyPrefixEquals:{}}},Redirect:{type:"structure",members:{HostName:{},HttpRedirectCode:{},Protocol:{},ReplaceKeyPrefixWith:{},ReplaceKeyWith:{}}}}}},S6l:{type:"structure",members:{ID:{},DisplayName:{}}},S6m:{type:"list",member:{type:"structure",members:{Prefix:{}}},flattened:!0},S7f:{type:"structure",members:{Grants:{shape:"S2i",locationName:"AccessControlList"},Owner:{shape:"S2f"}}}},examples:{},paginators:{ListBuckets:{result_key:"Buckets"},ListMultipartUploads:{limit_key:"MaxUploads",more_results:"IsTruncated",output_token:["NextKeyMarker","NextUploadIdMarker"],input_token:["KeyMarker","UploadIdMarker"],result_key:["Uploads","CommonPrefixes"]},ListObjectVersions:{more_results:"IsTruncated",limit_key:"MaxKeys",output_token:["NextKeyMarker","NextVersionIdMarker"],input_token:["KeyMarker","VersionIdMarker"],result_key:["Versions","DeleteMarkers","CommonPrefixes"]},ListObjects:{more_results:"IsTruncated",limit_key:"MaxKeys",output_token:"NextMarker || Contents[-1].Key",input_token:"Marker",result_key:["Contents","CommonPrefixes"]},ListParts:{more_results:"IsTruncated",limit_key:"MaxParts",output_token:"NextPartNumberMarker",input_token:"PartNumberMarker",result_key:"Parts"}},waiters:{__default__:{interval:5,max_attempts:20},BucketExists:{operation:"HeadBucket",ignore_errors:[404],success_type:"output"},BucketNotExists:{operation:"HeadBucket",success_type:"error",success_value:404},ObjectExists:{operation:"HeadObject",ignore_errors:[404],success_type:"output"},ObjectNotExists:{operation:"HeadObject",success_type:"error",success_value:404}}},a.apiLoader.services.sns={},a.SNS=a.Service.defineService("sns",["2010-03-31"]),a.apiLoader.services.sns["2010-03-31"]={metadata:{apiVersion:"2010-03-31",endpointPrefix:"sns",serviceAbbreviation:"Amazon SNS",serviceFullName:"Amazon Simple Notification Service",signatureVersion:"v4",xmlNamespace:"http://sns.amazonaws.com/doc/2010-03-31/",protocol:"query"},operations:{AddPermission:{input:{type:"structure",required:["TopicArn","Label","AWSAccountId","ActionName"],members:{TopicArn:{},Label:{},AWSAccountId:{type:"list",member:{}},ActionName:{type:"list",member:{}}}},http:{}},ConfirmSubscription:{input:{type:"structure",required:["TopicArn","Token"],members:{TopicArn:{},Token:{},AuthenticateOnUnsubscribe:{}}},output:{resultWrapper:"ConfirmSubscriptionResult",type:"structure",members:{SubscriptionArn:{}}},http:{}},CreatePlatformApplication:{input:{type:"structure",required:["Name","Platform","Attributes"],members:{Name:{},Platform:{},Attributes:{shape:"Sf"}}},output:{resultWrapper:"CreatePlatformApplicationResult",type:"structure",members:{PlatformApplicationArn:{}}},http:{}},CreatePlatformEndpoint:{input:{type:"structure",required:["PlatformApplicationArn","Token"],members:{PlatformApplicationArn:{},Token:{},CustomUserData:{},Attributes:{shape:"Sf"}}},output:{resultWrapper:"CreatePlatformEndpointResult",type:"structure",members:{EndpointArn:{}}},http:{}},CreateTopic:{input:{type:"structure",required:["Name"],members:{Name:{}}},output:{resultWrapper:"CreateTopicResult",type:"structure",members:{TopicArn:{}}},http:{}},DeleteEndpoint:{input:{type:"structure",required:["EndpointArn"],members:{EndpointArn:{}}},http:{}},DeletePlatformApplication:{input:{type:"structure",required:["PlatformApplicationArn"],members:{PlatformApplicationArn:{}}},http:{}},DeleteTopic:{input:{type:"structure",required:["TopicArn"],members:{TopicArn:{}}},http:{}},GetEndpointAttributes:{input:{type:"structure",required:["EndpointArn"],members:{EndpointArn:{}}},output:{resultWrapper:"GetEndpointAttributesResult",type:"structure",members:{Attributes:{shape:"Sf"}}},http:{}},GetPlatformApplicationAttributes:{input:{type:"structure",required:["PlatformApplicationArn"],members:{PlatformApplicationArn:{}}},output:{resultWrapper:"GetPlatformApplicationAttributesResult",type:"structure",members:{Attributes:{shape:"Sf"}}},http:{}},GetSubscriptionAttributes:{input:{type:"structure",required:["SubscriptionArn"],members:{SubscriptionArn:{}}},output:{resultWrapper:"GetSubscriptionAttributesResult",type:"structure",members:{Attributes:{type:"map",key:{},value:{}}}},http:{}},GetTopicAttributes:{input:{type:"structure",required:["TopicArn"],members:{TopicArn:{}}},output:{resultWrapper:"GetTopicAttributesResult",type:"structure",members:{Attributes:{type:"map",key:{},value:{}}}},http:{}},ListEndpointsByPlatformApplication:{input:{type:"structure",required:["PlatformApplicationArn"],members:{PlatformApplicationArn:{},NextToken:{}}},output:{resultWrapper:"ListEndpointsByPlatformApplicationResult",type:"structure",members:{Endpoints:{type:"list",member:{type:"structure",members:{EndpointArn:{},Attributes:{shape:"Sf"}}}},NextToken:{}}},http:{}},ListPlatformApplications:{input:{type:"struLine truncated
|
||||
if(e.error)switch(e.error.code){case"RequestExpired":case"ExpiredTokenException":case"ExpiredToken":e.error.retryable=!0,e.request.service.config.credentials.expired=!0}}),e("EXPIRED_SIGNATURE","retry",function(e){var t=e.error;t&&"string"==typeof t.code&&"string"==typeof t.message&&t.code.match(/Signature/)&&t.message.match(/expired/)&&(e.error.retryable=!0)}),e("REDIRECT","retry",function(e){e.error&&e.error.statusCode>=300&&e.error.statusCode<400&&e.httpResponse.headers.location&&(this.httpRequest.endpoint=new a.Endpoint(e.httpResponse.headers.location),this.httpRequest.headers.Host=this.httpRequest.endpoint.host,e.error.redirect=!0,e.error.retryable=!0)}),e("RETRY_CHECK","retry",function(e){if(e.error)if(e.error.redirect&&e.redirectCount<e.maxRedirects)e.error.retryDelay=0;else if(e.retryCount<e.maxRetries){var t=this.service.retryDelays();e.error.retryDelay=t[e.retryCount]||0}}),t("RESET_RETRY_STATE","afterRetry",function(e,t){var r,a=!1;e.error&&(r=e.error.retryDelay||0,e.error.retryable&&e.retryCount<e.maxRetries?(e.retryCount++,a=!0):e.error.redirect&&e.redirectCount<e.maxRedirects&&(e.redirectCount++,a=!0)),a?(e.error=null,setTimeout(t,r)):t()})}),CorePost:(new o).addNamedListeners(function(e){e("EXTRACT_REQUEST_ID","extractData",function(e){e.requestId||(e.requestId=e.httpResponse.headers["x-amz-request-id"]||e.httpResponse.headers["x-amzn-requestid"]),!e.requestId&&e.data&&e.data.ResponseMetadata&&(e.requestId=e.data.ResponseMetadata.RequestId)}),e("ENOTFOUND_ERROR","httpError",function(e){if("NetworkingError"===e.code&&"ENOTFOUND"===e.errno){var t="Inaccessible host: `"+e.hostname+"'. This service may not be available in the `"+e.region+"' region.";this.response.error=a.util.error(new Error(t),{code:"UnknownEndpoint",region:e.region,hostname:e.hostname,retryable:!0,originalError:e})}})}),Logger:(new o).addNamedListeners(function(t){t("LOG_REQUEST","complete",function(t){function r(){var r=a.util.date.getDate().getTime(),i=(r-o.startTime.getTime())/1e3,s=n.isTTY?!0:!1,u=t.httpResponse.statusCode,c=e("util").inspect(o.params,!0,null),p="";return s&&(p+="[33m"),p+="[AWS "+o.service.serviceIdentifier+" "+u,p+=" "+i.toString()+"s "+t.retryCount+" retries]",s&&(p+="[0;1m"),p+=" "+a.util.string.lowerFirst(o.operation),p+="("+c+")",s&&(p+="[0m"),p}var o=t.request,n=o.service.config.logger;if(n){var i=r();"function"==typeof n.log?n.log(i):"function"==typeof n.write&&n.write(i+"\n")}})}),Json:(new o).addNamedListeners(function(t){var r=e("./protocol/json");t("BUILD","build",r.buildRequest),t("EXTRACT_DATA","extractData",r.extractData),t("EXTRACT_ERROR","extractError",r.extractError)}),Rest:(new o).addNamedListeners(function(t){var r=e("./protocol/rest");t("BUILD","build",r.buildRequest),t("EXTRACT_DATA","extractData",r.extractData),t("EXTRACT_ERROR","extractError",r.extractError)}),RestJson:(new o).addNamedListeners(function(t){var r=e("./protocol/rest_json");t("BUILD","build",r.buildRequest),t("EXTRACT_DATA","extractData",r.extractData),t("EXTRACT_ERROR","extractError",r.extractError)}),RestXml:(new o).addNamedListeners(function(t){var r=e("./protocol/rest_xml");t("BUILD","build",r.buildRequest),t("EXTRACT_DATA","extractData",r.extractData),t("EXTRACT_ERROR","extractError",r.extractError)}),Query:(new o).addNamedListeners(function(t){var r=e("./protocol/query");t("BUILD","build",r.buildRequest),t("EXTRACT_DATA","extractData",r.extractData),t("EXTRACT_ERROR","extractError",r.extractError)})}},{"./core":3,"./protocol/json":22,"./protocol/query":23,"./protocol/rest":24,"./protocol/rest_json":25,"./protocol/rest_xml":26,"./sequential_executor":34,util:72}],11:[function(e,t,r){var a=e("./core"),o=a.util.inherit;a.Endpoint=o({constructor:function(e,t){if(a.util.hideProperties(this,["slashes","auth","hash","search","query"]),"undefined"==typeof e||null===e)throw new Error("Invalid endpoint: "+e);if("string"!=typeof e)return a.util.copy(e);if(!e.match(/^http/)){var r=t&&void 0!==t.sslEnabled?t.sslEnabled:a.config.sslEnabled;e=(r?"https":"http")+"://"+e}a.util.update(this,a.util.urlParse(e)),this.port?this.port=parseInt(this.port,10):this.port="https:"===this.protocol?443:80}}),a.HttpRequest=o({constructor:function(e,t){e=new a.Endpoint(e),this.method="POST",this.path=e.path||"/",this.headers={},this.body="",this.endpoint=e,this.region=t,this.setUserAgent()},setUserAgent:function(){var e=a.util.isBrowser()?"X-Amz-":"";this.headers[e+"User-Agent"]=a.util.userAgent()},pathname:function(){return this.path.split("?",1)[0]},search:function(){var e=this.path.split("?",2)[1];return e?(e=a.util.queryStringParse(e),a.util.queryParamsToString(e)):""}}),a.HttpResponse=o({constructor:function(){this.statusCode=void 0,this.headers={},this.body=void 0,this.streaming=!1,this.stream=null},createUnbufferedStream:function(){return this.streaming=!0,this.stream}}),a.HttpClient=o({}),a.HttpClient.getInstance=function(){return void 0===this.singleton&&(this.singleton=new this),this.singleton}},{"./core":3}],12:[function(e,t,r){vaLine truncated
|
||||
this.response},build:function(e){return this.runTo("send",e)},runTo:function(e,t){return this._asm.runTo(e,t,this),this},abort:function(){return this.removeAllListeners("validateResponse"),this.removeAllListeners("extractError"),this.on("validateResponse",function(e){e.error=a.util.error(new Error("Request aborted by user"),{code:"RequestAbortedError",retryable:!1})}),this.httpRequest.stream&&(this.httpRequest.stream.abort(),this.httpRequest._abortCallback?this.httpRequest._abortCallback():this.removeAllListeners("send")),this},eachPage:function(e){function t(r){e.call(r,r.error,r.data,function(o){o!==!1&&(r.hasNextPage()?r.nextPage().on("complete",t).send():e.call(r,null,null,a.util.fn.noop))})}e=a.util.fn.makeAsync(e,3),this.on("complete",t).send()},eachItem:function(e){function t(t,o){if(t)return e(t,null);if(null===o)return e(null,null);var n=r.service.paginationConfig(r.operation),i=n.resultKey;Array.isArray(i)&&(i=i[0]);var s=a.util.jamespath.query(i,o);a.util.arrayEach(s,function(t){a.util.arrayEach(t,function(t){e(null,t)})})}var r=this;this.eachPage(t)},isPageable:function(){return this.service.paginationConfig(this.operation)?!0:!1},createReadStream:function(){var e=a.util.nodeRequire("stream"),r=this,o=null;return 2===a.HttpClient.streamsApiVersion?(o=new e.PassThrough,r.send()):(o=new e.Stream,o.readable=!0,o.sent=!1,o.on("newListener",function(e){o.sent||"data"!==e||(o.sent=!0,t.nextTick(function(){r.send()}))})),this.on("httpHeaders",function(e,t,n){if(300>e){r.removeListener("httpData",a.EventListeners.Core.HTTP_DATA),r.removeListener("httpError",a.EventListeners.Core.HTTP_ERROR),r.on("httpError",function(e){n.error=e,n.error.retryable=!1});var i=n.httpResponse.createUnbufferedStream();2===a.HttpClient.streamsApiVersion?i.pipe(o):(i.on("data",function(e){o.emit("data",e)}),i.on("end",function(){o.emit("end")})),i.on("error",function(e){o.emit("error",e)})}}),this.on("error",function(e){o.emit("error",e)}),o},emitEvent:function(e,t,r){"function"==typeof t&&(r=t,t=null),r||(r=function(){}),t||(t=this.eventParameters(e,this.response));var o=a.SequentialExecutor.prototype.emit;o.call(this,e,t,function(e){e&&(this.response.error=e),r.call(this,e)})},eventParameters:function(e){switch(e){case"restart":case"validate":case"sign":case"build":case"afterValidate":case"afterBuild":return[this];case"error":return[this.response.error,this.response];default:return[this.response]}},presign:function(e,t){return t||"function"!=typeof e||(t=e,e=null),(new a.Signers.Presign).sign(this.toGet(),e,t)},toUnauthenticated:function(){return this.removeListener("validate",a.EventListeners.Core.VALIDATE_CREDENTIALS),this.removeListener("sign",a.EventListeners.Core.SIGN),this.toGet()},toGet:function(){return("query"===this.service.api.protocol||"ec2"===this.service.api.protocol)&&(this.removeListener("build",this.buildAsGet),this.addListener("build",this.buildAsGet)),this},buildAsGet:function(e){e.httpRequest.method="GET",e.httpRequest.path=e.service.endpoint.path+"?"+e.httpRequest.body,e.httpRequest.body="",delete e.httpRequest.headers["Content-Length"],delete e.httpRequest.headers["Content-Type"]},haltHandlersOnError:function(){this._haltHandlersOnError=!0}}),a.util.mixin(a.Request,a.SequentialExecutor)}).call(this,e("FWaASH"))},{"./core":3,"./state_machine":50,FWaASH:65}],31:[function(e,t,r){var a=e("./core"),o=a.util.inherit;a.ResourceWaiter=o({constructor:function(e,t){this.service=e,this.state=t,"object"==typeof this.state&&a.util.each.call(this,this.state,function(e,t){this.state=e,this.expectedValue=t}),this.loadWaiterConfig(this.state),this.expectedValue||(this.expectedValue=this.config.successValue)},service:null,state:null,expectedValue:null,config:null,waitDone:!1,Listeners:{retry:(new a.SequentialExecutor).addNamedListeners(function(e){e("RETRY_CHECK","retry",function(e){var t=e.request._waiter;e.error&&"ResourceNotReady"===e.error.code&&(e.error.retryDelay=1e3*t.config.interval)})}),output:(new a.SequentialExecutor).addNamedListeners(function(e){e("CHECK_OUT_ERROR","extractError",function(e){e.error&&e.request._waiter.setError(e,!0)}),e("CHECK_OUTPUT","extractData",function(e){var t=e.request._waiter,r=t.checkSuccess(e);r?e.error=null:t.setError(e,null===r?!1:!0)})}),error:(new a.SequentialExecutor).addNamedListeners(function(e){e("CHECK_ERROR","extractError",function(e){var t=e.request._waiter,r=t.checkError(e);r?(e.error=null,e.data={},e.request.removeAllListeners("extractData")):t.setError(e,null===r?!1:!0)}),e("CHECK_ERR_OUTPUT","extractData",function(e){e.request._waiter.setError(e,!0)})})},wait:function(e,t){"function"==typeof e&&(t=e,e=void 0);var r=this.service.makeRequest(this.config.operation,e),a=this.Listeners[this.config.successType];return r._waiter=this,r.response.maxRetries=this.config.maxAttempts,r.addListeners(this.Listeners.retry),a&&r.addListeners(a),t&&r.send(t),r},setError:function(e,t){e.data=null,e.error=a.util.error(e.error||new Error,{code:"ResourceNotReady",message:"Resource is noLine truncated
|
||||
if(delete e.httpRequest.headers["User-Agent"],delete e.httpRequest.headers["X-Amz-User-Agent"],e.service.getSignerClass()===n.Signers.V4){if(t>604800){var r="Presigning does not support expiry time greater than a week with SigV4 signing.";throw n.util.error(new Error,{code:"InvalidExpiryTime",message:r,retryable:!1})}e.httpRequest.headers[s]=t}else{if(e.service.getSignerClass()!==n.Signers.S3)throw n.util.error(new Error,{message:"Presigning only supports S3 or SigV4 signing.",code:"UnsupportedSigner",retryable:!1});e.httpRequest.headers[s]=parseInt(n.util.date.unixTimestamp()+t,10).toString()}}function o(e){var t=e.httpRequest.endpoint,r=n.util.urlParse(e.httpRequest.path),a={};r.search&&(a=n.util.queryStringParse(r.search.substr(1))),n.util.each(e.httpRequest.headers,function(e,t){e===s&&(e="Expires"),a[e]=t}),delete e.httpRequest.headers[s];var o=a.Authorization.split(" ");if("AWS"===o[0])o=o[1].split(":"),a.AWSAccessKeyId=o[0],a.Signature=o[1];else if("AWS4-HMAC-SHA256"===o[0]){o.shift();var i=o.join(" "),u=i.match(/Signature=(.*?)(?:,|\s|\r?\n|$)/)[1];a["X-Amz-Signature"]=u,delete a.Expires}delete a.Authorization,delete a.Host,t.pathname=r.pathname,t.search=n.util.queryParamsToString(a)}var n=e("../core"),i=n.util.inherit,s="presigned-expires";n.Signers.Presign=i({sign:function(e,t,r){if(e.httpRequest.headers[s]=t||3600,e.on("build",a),e.on("sign",o),e.removeListener("afterBuild",n.EventListeners.Core.SET_CONTENT_LENGTH),e.removeListener("afterBuild",n.EventListeners.Core.COMPUTE_SHA256),e.emit("beforePresign",[e]),!r){if(e.build(),e.response.error)throw e.response.error;return n.util.urlFormat(e.httpRequest.endpoint)}e.build(function(){this.response.error?r(this.response.error):r(null,n.util.urlFormat(e.httpRequest.endpoint))})}}),t.exports=n.Signers.Presign},{"../core":3}],44:[function(e,t,r){var a=e("../core"),o=a.util.inherit;a.Signers.RequestSigner=o({constructor:function(e){this.request=e}}),a.Signers.RequestSigner.getVersion=function(e){switch(e){case"v2":return a.Signers.V2;case"v3":return a.Signers.V3;case"v4":return a.Signers.V4;case"s3":return a.Signers.S3;case"v3https":return a.Signers.V3Https}throw new Error("Unknown signing version "+e)},e("./v2"),e("./v3"),e("./v3https"),e("./v4"),e("./s3"),e("./presign")},{"../core":3,"./presign":43,"./s3":45,"./v2":46,"./v3":47,"./v3https":48,"./v4":49}],45:[function(e,t,r){var a=e("../core"),o=a.util.inherit;a.Signers.S3=o(a.Signers.RequestSigner,{subResources:{acl:1,cors:1,lifecycle:1,"delete":1,location:1,logging:1,notification:1,partNumber:1,policy:1,requestPayment:1,restore:1,tagging:1,torrent:1,uploadId:1,uploads:1,versionId:1,versioning:1,versions:1,website:1},responseHeaders:{"response-content-type":1,"response-content-language":1,"response-expires":1,"response-cache-control":1,"response-content-disposition":1,"response-content-encoding":1},addAuthorization:function(e,t){this.request.headers["presigned-expires"]||(this.request.headers["X-Amz-Date"]=a.util.date.rfc822(t)),e.sessionToken&&(this.request.headers["x-amz-security-token"]=e.sessionToken);var r=this.sign(e.secretAccessKey,this.stringToSign()),o="AWS "+e.accessKeyId+":"+r;this.request.headers.Authorization=o},stringToSign:function(){var e=this.request,t=[];t.push(e.method),t.push(e.headers["Content-MD5"]||""),t.push(e.headers["Content-Type"]||""),t.push(e.headers["presigned-expires"]||"");var r=this.canonicalizedAmzHeaders();return r&&t.push(r),t.push(this.canonicalizedResource()),t.join("\n")},canonicalizedAmzHeaders:function(){var e=[];a.util.each(this.request.headers,function(t){t.match(/^x-amz-/i)&&e.push(t)}),e.sort(function(e,t){return e.toLowerCase()<t.toLowerCase()?-1:1});var t=[];return a.util.arrayEach.call(this,e,function(e){t.push(e.toLowerCase()+":"+String(this.request.headers[e]))}),t.join("\n")},canonicalizedResource:function(){var e=this.request,t=e.path.split("?"),r=t[0],o=t[1],n="";if(e.virtualHostedBucket&&(n+="/"+e.virtualHostedBucket),n+=r,o){var i=[];a.util.arrayEach.call(this,o.split("&"),function(e){var t=e.split("=")[0],r=e.split("=")[1];if(this.subResources[t]||this.responseHeaders[t]){var a={name:t};void 0!==r&&(this.subResources[t]?a.value=r:a.value=decodeURIComponent(r)),i.push(a)}}),i.sort(function(e,t){return e.name<t.name?-1:1}),i.length&&(o=[],a.util.arrayEach(i,function(e){void 0===e.value?o.push(e.name):o.push(e.name+"="+e.value)}),n+="?"+o.join("&"))}return n},sign:function(e,t){return a.util.crypto.hmac(e,t,"base64","sha1")}}),t.exports=a.Signers.S3},{"../core":3}],46:[function(e,t,r){var a=e("../core"),o=a.util.inherit;a.Signers.V2=o(a.Signers.RequestSigner,{addAuthorization:function(e,t){t||(t=a.util.date.getDate());var r=this.request;r.params.Timestamp=a.util.date.iso8601(t),r.params.SignatureVersion="2",r.params.SignatureMethod="HmacSHA256",r.params.AWSAccessKeyId=e.accessKeyId,e.sessionToken&&(r.params.SecurityToken=e.sessionToken),delete r.params.Signature,r.params.Signature=this.signature(e),r.body=a.util.queryParamsToString(r.params),r.headeLine truncated
|
||||
G("boolean"==typeof a,"missing or invalid endian"),G(void 0!==r&&null!==r,"missing offset"),G(r+7<e.length,"Trying to write beyond buffer length"),O(t,1.7976931348623157e308,-1.7976931348623157e308));var n=e.length;r>=n||j.write(e,t,r,a,52,8)}function A(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}function q(e,t,r){return"number"!=typeof e?r:(e=~~e,e>=t?t:e>=0?e:(e+=t,e>=0?e:0))}function x(e){return e=~~Math.ceil(+e),0>e?0:e}function E(e){return(Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)})(e)}function P(e){return E(e)||a.isBuffer(e)||e&&"object"==typeof e&&"number"==typeof e.length}function w(e){return 16>e?"0"+e.toString(16):e.toString(16)}function L(e){for(var t=[],r=0;r<e.length;r++){var a=e.charCodeAt(r);if(127>=a)t.push(e.charCodeAt(r));else{var o=r;a>=55296&&57343>=a&&r++;for(var n=encodeURIComponent(e.slice(o,r+1)).substr(1).split("%"),i=0;i<n.length;i++)t.push(parseInt(n[i],16))}}return t}function M(e){for(var t=[],r=0;r<e.length;r++)t.push(255&e.charCodeAt(r));return t}function B(e){for(var t,r,a,o=[],n=0;n<e.length;n++)t=e.charCodeAt(n),r=t>>8,a=t%256,o.push(a),o.push(r);return o}function U(e){return K.toByteArray(e)}function _(e,t,r,a){for(var o=0;a>o&&!(o+r>=t.length||o>=e.length);o++)t[o+r]=e[o];return o}function V(e){try{return decodeURIComponent(e)}catch(t){return String.fromCharCode(65533)}}function z(e,t){G("number"==typeof e,"cannot write a non-number as a number"),G(e>=0,"specified a negative value for writing an unsigned value"),G(t>=e,"value is larger than maximum value for type"),G(Math.floor(e)===e,"value has a fractional component")}function F(e,t,r){G("number"==typeof e,"cannot write a non-number as a number"),G(t>=e,"value larger than maximum allowed value"),G(e>=r,"value smaller than minimum allowed value"),G(Math.floor(e)===e,"value has a fractional component")}function O(e,t,r){G("number"==typeof e,"cannot write a non-number as a number"),G(t>=e,"value larger than maximum allowed value"),G(e>=r,"value smaller than minimum allowed value")}function G(e,t){if(!e)throw new Error(t||"Failed assertion")}var K=e("base64-js"),j=e("ieee754");r.Buffer=a,r.SlowBuffer=a,r.INSPECT_MAX_BYTES=50,a.poolSize=8192,a._useTypedArrays=function(){try{var e=new ArrayBuffer(0),t=new Uint8Array(e);return t.foo=function(){return 42},42===t.foo()&&"function"==typeof t.subarray}catch(r){return!1}}(),a.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"raw":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},a.isBuffer=function(e){return!(null===e||void 0===e||!e._isBuffer)},a.byteLength=function(e,t){var r;switch(e+="",t||"utf8"){case"hex":r=e.length/2;break;case"utf8":case"utf-8":r=L(e).length;break;case"ascii":case"binary":case"raw":r=e.length;break;case"base64":r=U(e).length;break;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":r=2*e.length;break;default:throw new Error("Unknown encoding")}return r},a.concat=function(e,t){if(G(E(e),"Usage: Buffer.concat(list, [totalLength])\nlist should be an Array."),0===e.length)return new a(0);if(1===e.length)return e[0];var r;if("number"!=typeof t)for(t=0,r=0;r<e.length;r++)t+=e[r].length;var o=new a(t),n=0;for(r=0;r<e.length;r++){var i=e[r];i.copy(o,n),n+=i.length}return o},a.prototype.write=function(e,t,r,a){if(isFinite(t))isFinite(r)||(a=r,r=void 0);else{var p=a;a=t,t=r,r=p}t=Number(t)||0;var m=this.length-t;r?(r=Number(r),r>m&&(r=m)):r=m,a=String(a||"utf8").toLowerCase();var l;switch(a){case"hex":l=o(this,e,t,r);break;case"utf8":case"utf-8":l=n(this,e,t,r);break;case"ascii":l=i(this,e,t,r);break;case"binary":l=s(this,e,t,r);break;case"base64":l=u(this,e,t,r);break;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":l=c(this,e,t,r);break;default:throw new Error("Unknown encoding")}return l},a.prototype.toString=function(e,t,r){var a=this;if(e=String(e||"utf8").toLowerCase(),t=Number(t)||0,r=void 0!==r?Number(r):r=a.length,r===t)return"";var o;switch(e){case"hex":o=y(a,t,r);break;case"utf8":case"utf-8":o=m(a,t,r);break;case"ascii":o=l(a,t,r);break;case"binary":o=d(a,t,r);break;case"base64":o=p(a,t,r);break;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":o=h(a,t,r);break;default:throw new Error("Unknown encoding")}return o},a.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}},a.prototype.copy=function(e,t,r,o){var n=this;if(r||(r=0),o||0===o||(o=this.length),t||(t=0),o!==r&&0!==e.length&&0!==n.length){G(o>=r,"sourceEnd < sourceStart"),G(t>=0&&t<e.length,"targetStart out of bounds"),G(r>=0&&r<n.length,"sourceStart out of bounds"),G(o>=0&&o<=n.length,"sourceEnd out of bounds"),o>this.length&&(o=this.length),e.length-t<o-r&&(o=e.length-t+r);var i=o-r;if(100>i||!a._useTypedArrays)for(var s=0;i>s;s++)e[s+t]=this[s+r];else e._set(this.subarray(r,r+i),t)}},a.prototype.slice=function(e,t){var r=this.length;if(e=q(e,r,0),t=q(t,r,r),a._useTypedArrays)return a.Line truncated
|
||||
e&&(e=encodeURIComponent(e),e=e.replace(/%3A/i,":"),e+="@");var t=this.protocol||"",r=this.pathname||"",a=this.hash||"",o=!1,n="";this.host?o=e+this.host:this.hostname&&(o=e+(-1===this.hostname.indexOf(":")?this.hostname:"["+this.hostname+"]"),this.port&&(o+=":"+this.port)),this.query&&c(this.query)&&Object.keys(this.query).length&&(n=T.stringify(this.query));var i=this.search||n&&"?"+n||"";return t&&":"!==t.substr(-1)&&(t+=":"),this.slashes||(!t||C[t])&&o!==!1?(o="//"+(o||""),r&&"/"!==r.charAt(0)&&(r="/"+r)):o||(o=""),a&&"#"!==a.charAt(0)&&(a="#"+a),i&&"?"!==i.charAt(0)&&(i="?"+i),r=r.replace(/[?#]/g,function(e){return encodeURIComponent(e)}),i=i.replace("#","%23"),t+o+r+i+a},a.prototype.resolve=function(e){return this.resolveObject(o(e,!1,!0)).format()},a.prototype.resolveObject=function(e){if(u(e)){var t=new a;t.parse(e,!1,!0),e=t}var r=new a;if(Object.keys(this).forEach(function(e){r[e]=this[e]},this),r.hash=e.hash,""===e.href)return r.href=r.format(),r;if(e.slashes&&!e.protocol)return Object.keys(e).forEach(function(t){"protocol"!==t&&(r[t]=e[t])}),C[r.protocol]&&r.hostname&&!r.pathname&&(r.path=r.pathname="/"),r.href=r.format(),r;if(e.protocol&&e.protocol!==r.protocol){if(!C[e.protocol])return Object.keys(e).forEach(function(t){r[t]=e[t]}),r.href=r.format(),r;if(r.protocol=e.protocol,e.host||R[e.protocol])r.pathname=e.pathname;else{for(var o=(e.pathname||"").split("/");o.length&&!(e.host=o.shift()););e.host||(e.host=""),e.hostname||(e.hostname=""),""!==o[0]&&o.unshift(""),o.length<2&&o.unshift(""),r.pathname=o.join("/")}if(r.search=e.search,r.query=e.query,r.host=e.host||"",r.auth=e.auth,r.hostname=e.hostname||e.host,r.port=e.port,r.pathname||r.search){var n=r.pathname||"",i=r.search||"";r.path=n+i}return r.slashes=r.slashes||e.slashes,r.href=r.format(),r}var s=r.pathname&&"/"===r.pathname.charAt(0),c=e.host||e.pathname&&"/"===e.pathname.charAt(0),l=c||s||r.host&&e.pathname,d=l,y=r.pathname&&r.pathname.split("/")||[],o=e.pathname&&e.pathname.split("/")||[],h=r.protocol&&!C[r.protocol];if(h&&(r.hostname="",r.port=null,r.host&&(""===y[0]?y[0]=r.host:y.unshift(r.host)),r.host="",e.protocol&&(e.hostname=null,e.port=null,e.host&&(""===o[0]?o[0]=e.host:o.unshift(e.host)),e.host=null),l=l&&(""===o[0]||""===y[0])),c)r.host=e.host||""===e.host?e.host:r.host,r.hostname=e.hostname||""===e.hostname?e.hostname:r.hostname,r.search=e.search,r.query=e.query,y=o;else if(o.length)y||(y=[]),y.pop(),y=y.concat(o),r.search=e.search,r.query=e.query;else if(!m(e.search)){if(h){r.hostname=r.host=y.shift();var b=r.host&&r.host.indexOf("@")>0?r.host.split("@"):!1;b&&(r.auth=b.shift(),r.host=r.hostname=b.shift())}return r.search=e.search,r.query=e.query,p(r.pathname)&&p(r.search)||(r.path=(r.pathname?r.pathname:"")+(r.search?r.search:"")),r.href=r.format(),r}if(!y.length)return r.pathname=null,r.search?r.path="/"+r.search:r.path=null,r.href=r.format(),r;for(var f=y.slice(-1)[0],S=(r.host||e.host)&&("."===f||".."===f)||""===f,g=0,N=y.length;N>=0;N--)f=y[N],"."==f?y.splice(N,1):".."===f?(y.splice(N,1),g++):g&&(y.splice(N,1),g--);if(!l&&!d)for(;g--;g)y.unshift("..");!l||""===y[0]||y[0]&&"/"===y[0].charAt(0)||y.unshift(""),S&&"/"!==y.join("/").substr(-1)&&y.push("");var I=""===y[0]||y[0]&&"/"===y[0].charAt(0);if(h){r.hostname=r.host=I?"":y.length?y.shift():"";var b=r.host&&r.host.indexOf("@")>0?r.host.split("@"):!1;b&&(r.auth=b.shift(),r.host=r.hostname=b.shift())}return l=l||r.host&&y.length,l&&!I&&y.unshift(""),y.length?r.pathname=y.join("/"):(r.pathname=null,r.path=null),p(r.pathname)&&p(r.search)||(r.path=(r.pathname?r.pathname:"")+(r.search?r.search:"")),r.auth=e.auth||r.auth,r.slashes=r.slashes||e.slashes,r.href=r.format(),r},a.prototype.parseHost=function(){var e=this.host,t=y.exec(e);t&&(t=t[0],":"!==t&&(this.port=t.substr(1)),e=e.substr(0,e.length-t.length)),e&&(this.hostname=e)}},{punycode:66,querystring:69}],71:[function(e,t,r){t.exports=function(e){return e&&"object"==typeof e&&"function"==typeof e.copy&&"function"==typeof e.fill&&"function"==typeof e.readUInt8}},{}],72:[function(e,t,r){(function(t,a){function o(e,t){var a={seen:[],stylize:i};return arguments.length>=3&&(a.depth=arguments[2]),arguments.length>=4&&(a.colors=arguments[3]),h(t)?a.showHidden=t:t&&r._extend(a,t),I(a.showHidden)&&(a.showHidden=!1),I(a.depth)&&(a.depth=2),I(a.colors)&&(a.colors=!1),I(a.customInspect)&&(a.customInspect=!0),a.colors&&(a.stylize=n),u(a,e,a.depth)}function n(e,t){var r=o.styles[t];return r?"["+o.colors[r][0]+"m"+e+"["+o.colors[r][1]+"m":e}function i(e,t){return e}function s(e){var t={};return e.forEach(function(e,r){t[e]=!0}),t}function u(e,t,a){if(e.customInspect&&t&&T(t.inspect)&&t.inspect!==r.inspect&&(!t.constructor||t.constructor.prototype!==t)){var o=t.inspect(a,e);return g(o)||(o=u(e,o,a)),o}var n=c(e,t);if(n)return n;var i=Object.keys(t),h=s(i);if(e.showHidden&&(i=Object.getOwnPropertyNames(t)),C(t)&&(i.indexOf("message")>=0||i.indexOf("description")>=0))return p(t);if(0===i.length){if(T(t)){var b=t.name?": "+t.name:"";Line truncated
|
||||
Reference in new issue
Block a user