Skip to content

Commit

Permalink
Converted build system to use the open sourced code generator. Update…
Browse files Browse the repository at this point in the history
…d readme. Added authenticationRegion to client config. Added request id to log output for xml clients. Fixed bug caused by null stream and seeking for curl interface. Updated licenses and notices. Added some utility scripts.
  • Loading branch information
JonathanHenson committed Dec 29, 2015
1 parent ae15c7d commit efaa127
Show file tree
Hide file tree
Showing 479 changed files with 12,723 additions and 28,331 deletions.
712 changes: 657 additions & 55 deletions CMakeLists.txt

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion NOTICE.txt
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,4 @@ This software includes third party software subject to the following copyrights:
- OpenSSL build files for cmake used for Android Builds - Copyright (C) 2007-2012 LuaDist and Copyright (C) 2013 Brian Sidebotham
- Android tool chain cmake build files - Copyright (c) 2010-2011, Ethan Rublee and Copyright (c) 2011-2014, Andrey Kamaev

The licenses for these third party components are included in LICENSE.txt
The licenses for these third party components are included in LICENSE.txt
17 changes: 16 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,9 @@ the development efforts by submitting pull requests and sending us feedback and

###Introducting the AWS SDK for C++ from AWS re:invent 2015
The following video explains many of the core features and also high-level SDKs
https://www.youtube.com/watch?v=fm4Aa3Whwos&list=PLhr1KZpdzuke5pqzTvI2ZxwP8-NwLACuU&index=9

[![Introducing the AWS SDK for C++](https://img.youtube.com/vi/fm4Aa3Whwos/0.jpg)]
(https://www.youtube.com/watch?v=fm4Aa3Whwos&list=PLhr1KZpdzuke5pqzTvI2ZxwP8-NwLACuU&index=9 "Introducing the AWS SDK for C++")

###Building the SDK:
Use the information below to build the entire source tree for your platform, run unit tests, and build integration tests.
Expand Down Expand Up @@ -53,6 +55,15 @@ msbuild INSTALL.vcxproj /p:Configuration=Release

####CMake Variables

#####BUILD_ONLY
Allows you to only build the clients you want to use. This will resolve low level client dependencies if you set this to a high-level sdk such as aws-sdk-cpp-transfer. This will also build integration and unit tests related to the projects you select if they exist. aws-sdk-cpp-core always builds regardless of the value of this argument. This is a list argument. Example: -DBUILD_ONLY="aws-sdk-cpp-s3;aws-sdk-cpp-dynamodb;aws-sdk-cpp-cognito-identity"

#####CUSTOM_CLIENTS
Allows you to build any arbitrary clients based on the api definition. Simply place your definition in the code-generation/api-definitions folder. Then pass this arg to cmake. The cmake configure step will generate your client and include it as a subdirectory in your build. This is particularly useful if you want to generate a C++ client for using one of your API Gateway services. To use this feature you need to have python, java, jdk1.8, and maven installed and in your executable path. Example: -DCUSTOM_CLIENTS="serviceName=myCustomService; version=2015-12-21;serviceName=someOtherService; version=2015-08-15"

#####REGENERATE_CLIENTS
This argument will wipe out all generated code and generate the client directories from the code-generation/api-definitions folder. To use this argument, you need to have python, java, jdk1.8, and maven installed in your executable path. Example: -DREGENERATE_CLIENTS=1

#####CUSTOM_MEMORY_MANAGEMENT
To use a custom memory manager, set the value to 1. You can install a custom allocator, and all STL types will use the custom allocation interface. If the value is set to 0, you still might want to use the STL template types to help with DLL safety on Windows.

Expand Down Expand Up @@ -250,6 +261,7 @@ struct AWS_CORE_API ClientConfiguration
Aws::String userAgent;
Aws::Http::Scheme scheme;
Aws::Region region;
Aws::String authenticationRegion;
unsigned maxConnections;
long requestTimeoutMs;
long connectTimeoutMs;
Expand All @@ -275,6 +287,9 @@ The default value for scheme is HTTPS. You can set this value to HTTP if the inf
#####Region
The region specifies where you want the client to communicate. Examples include us-east-1 or us-west-1. You must ensure the service you want to use has an endpoint in the region you configure.

#####Authentication Region
The authentication region allows you to specify an arbitrary region to use for signing. If you don't set this we fall back to Region. If you do set this, you are also responsible for setting endpoint override to connect to the endpoint that cooresponds with your custom region.

#####Max Connections
The default value for the maximum number of allowed connections to a single server for your HTTP communications is 25. You can set this value as high as you can support the bandwidth. We recommend a value around 25.

Expand Down
14 changes: 14 additions & 0 deletions attribution
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
/*
* Copyright 2010-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.
* 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.
*/
96 changes: 48 additions & 48 deletions aws-cpp-sdk-autoscaling/include/aws/autoscaling/AutoScalingClient.h
Original file line number Diff line number Diff line change
Expand Up @@ -143,54 +143,54 @@ namespace Model
class TerminateInstanceInAutoScalingGroupRequest;
class UpdateAutoScalingGroupRequest;

typedef Utils::Outcome<NoResult, Client::AWSError<AutoScalingErrors>> AttachInstancesOutcome;
typedef Utils::Outcome<AttachLoadBalancersResult, Client::AWSError<AutoScalingErrors>> AttachLoadBalancersOutcome;
typedef Utils::Outcome<CompleteLifecycleActionResult, Client::AWSError<AutoScalingErrors>> CompleteLifecycleActionOutcome;
typedef Utils::Outcome<NoResult, Client::AWSError<AutoScalingErrors>> CreateAutoScalingGroupOutcome;
typedef Utils::Outcome<NoResult, Client::AWSError<AutoScalingErrors>> CreateLaunchConfigurationOutcome;
typedef Utils::Outcome<NoResult, Client::AWSError<AutoScalingErrors>> CreateOrUpdateTagsOutcome;
typedef Utils::Outcome<NoResult, Client::AWSError<AutoScalingErrors>> DeleteAutoScalingGroupOutcome;
typedef Utils::Outcome<NoResult, Client::AWSError<AutoScalingErrors>> DeleteLaunchConfigurationOutcome;
typedef Utils::Outcome<DeleteLifecycleHookResult, Client::AWSError<AutoScalingErrors>> DeleteLifecycleHookOutcome;
typedef Utils::Outcome<NoResult, Client::AWSError<AutoScalingErrors>> DeleteNotificationConfigurationOutcome;
typedef Utils::Outcome<NoResult, Client::AWSError<AutoScalingErrors>> DeletePolicyOutcome;
typedef Utils::Outcome<NoResult, Client::AWSError<AutoScalingErrors>> DeleteScheduledActionOutcome;
typedef Utils::Outcome<NoResult, Client::AWSError<AutoScalingErrors>> DeleteTagsOutcome;
typedef Utils::Outcome<DescribeAccountLimitsResult, Client::AWSError<AutoScalingErrors>> DescribeAccountLimitsOutcome;
typedef Utils::Outcome<DescribeAdjustmentTypesResult, Client::AWSError<AutoScalingErrors>> DescribeAdjustmentTypesOutcome;
typedef Utils::Outcome<DescribeAutoScalingGroupsResult, Client::AWSError<AutoScalingErrors>> DescribeAutoScalingGroupsOutcome;
typedef Utils::Outcome<DescribeAutoScalingInstancesResult, Client::AWSError<AutoScalingErrors>> DescribeAutoScalingInstancesOutcome;
typedef Utils::Outcome<DescribeAutoScalingNotificationTypesResult, Client::AWSError<AutoScalingErrors>> DescribeAutoScalingNotificationTypesOutcome;
typedef Utils::Outcome<DescribeLaunchConfigurationsResult, Client::AWSError<AutoScalingErrors>> DescribeLaunchConfigurationsOutcome;
typedef Utils::Outcome<DescribeLifecycleHookTypesResult, Client::AWSError<AutoScalingErrors>> DescribeLifecycleHookTypesOutcome;
typedef Utils::Outcome<DescribeLifecycleHooksResult, Client::AWSError<AutoScalingErrors>> DescribeLifecycleHooksOutcome;
typedef Utils::Outcome<DescribeLoadBalancersResult, Client::AWSError<AutoScalingErrors>> DescribeLoadBalancersOutcome;
typedef Utils::Outcome<DescribeMetricCollectionTypesResult, Client::AWSError<AutoScalingErrors>> DescribeMetricCollectionTypesOutcome;
typedef Utils::Outcome<DescribeNotificationConfigurationsResult, Client::AWSError<AutoScalingErrors>> DescribeNotificationConfigurationsOutcome;
typedef Utils::Outcome<DescribePoliciesResult, Client::AWSError<AutoScalingErrors>> DescribePoliciesOutcome;
typedef Utils::Outcome<DescribeScalingActivitiesResult, Client::AWSError<AutoScalingErrors>> DescribeScalingActivitiesOutcome;
typedef Utils::Outcome<DescribeScalingProcessTypesResult, Client::AWSError<AutoScalingErrors>> DescribeScalingProcessTypesOutcome;
typedef Utils::Outcome<DescribeScheduledActionsResult, Client::AWSError<AutoScalingErrors>> DescribeScheduledActionsOutcome;
typedef Utils::Outcome<DescribeTagsResult, Client::AWSError<AutoScalingErrors>> DescribeTagsOutcome;
typedef Utils::Outcome<DescribeTerminationPolicyTypesResult, Client::AWSError<AutoScalingErrors>> DescribeTerminationPolicyTypesOutcome;
typedef Utils::Outcome<DetachInstancesResult, Client::AWSError<AutoScalingErrors>> DetachInstancesOutcome;
typedef Utils::Outcome<DetachLoadBalancersResult, Client::AWSError<AutoScalingErrors>> DetachLoadBalancersOutcome;
typedef Utils::Outcome<NoResult, Client::AWSError<AutoScalingErrors>> DisableMetricsCollectionOutcome;
typedef Utils::Outcome<NoResult, Client::AWSError<AutoScalingErrors>> EnableMetricsCollectionOutcome;
typedef Utils::Outcome<EnterStandbyResult, Client::AWSError<AutoScalingErrors>> EnterStandbyOutcome;
typedef Utils::Outcome<NoResult, Client::AWSError<AutoScalingErrors>> ExecutePolicyOutcome;
typedef Utils::Outcome<ExitStandbyResult, Client::AWSError<AutoScalingErrors>> ExitStandbyOutcome;
typedef Utils::Outcome<PutLifecycleHookResult, Client::AWSError<AutoScalingErrors>> PutLifecycleHookOutcome;
typedef Utils::Outcome<NoResult, Client::AWSError<AutoScalingErrors>> PutNotificationConfigurationOutcome;
typedef Utils::Outcome<PutScalingPolicyResult, Client::AWSError<AutoScalingErrors>> PutScalingPolicyOutcome;
typedef Utils::Outcome<NoResult, Client::AWSError<AutoScalingErrors>> PutScheduledUpdateGroupActionOutcome;
typedef Utils::Outcome<RecordLifecycleActionHeartbeatResult, Client::AWSError<AutoScalingErrors>> RecordLifecycleActionHeartbeatOutcome;
typedef Utils::Outcome<NoResult, Client::AWSError<AutoScalingErrors>> ResumeProcessesOutcome;
typedef Utils::Outcome<NoResult, Client::AWSError<AutoScalingErrors>> SetDesiredCapacityOutcome;
typedef Utils::Outcome<NoResult, Client::AWSError<AutoScalingErrors>> SetInstanceHealthOutcome;
typedef Utils::Outcome<NoResult, Client::AWSError<AutoScalingErrors>> SuspendProcessesOutcome;
typedef Utils::Outcome<TerminateInstanceInAutoScalingGroupResult, Client::AWSError<AutoScalingErrors>> TerminateInstanceInAutoScalingGroupOutcome;
typedef Utils::Outcome<NoResult, Client::AWSError<AutoScalingErrors>> UpdateAutoScalingGroupOutcome;
typedef Aws::Utils::Outcome<NoResult, Aws::Client::AWSError<AutoScalingErrors>> AttachInstancesOutcome;
typedef Aws::Utils::Outcome<AttachLoadBalancersResult, Aws::Client::AWSError<AutoScalingErrors>> AttachLoadBalancersOutcome;
typedef Aws::Utils::Outcome<CompleteLifecycleActionResult, Aws::Client::AWSError<AutoScalingErrors>> CompleteLifecycleActionOutcome;
typedef Aws::Utils::Outcome<NoResult, Aws::Client::AWSError<AutoScalingErrors>> CreateAutoScalingGroupOutcome;
typedef Aws::Utils::Outcome<NoResult, Aws::Client::AWSError<AutoScalingErrors>> CreateLaunchConfigurationOutcome;
typedef Aws::Utils::Outcome<NoResult, Aws::Client::AWSError<AutoScalingErrors>> CreateOrUpdateTagsOutcome;
typedef Aws::Utils::Outcome<NoResult, Aws::Client::AWSError<AutoScalingErrors>> DeleteAutoScalingGroupOutcome;
typedef Aws::Utils::Outcome<NoResult, Aws::Client::AWSError<AutoScalingErrors>> DeleteLaunchConfigurationOutcome;
typedef Aws::Utils::Outcome<DeleteLifecycleHookResult, Aws::Client::AWSError<AutoScalingErrors>> DeleteLifecycleHookOutcome;
typedef Aws::Utils::Outcome<NoResult, Aws::Client::AWSError<AutoScalingErrors>> DeleteNotificationConfigurationOutcome;
typedef Aws::Utils::Outcome<NoResult, Aws::Client::AWSError<AutoScalingErrors>> DeletePolicyOutcome;
typedef Aws::Utils::Outcome<NoResult, Aws::Client::AWSError<AutoScalingErrors>> DeleteScheduledActionOutcome;
typedef Aws::Utils::Outcome<NoResult, Aws::Client::AWSError<AutoScalingErrors>> DeleteTagsOutcome;
typedef Aws::Utils::Outcome<DescribeAccountLimitsResult, Aws::Client::AWSError<AutoScalingErrors>> DescribeAccountLimitsOutcome;
typedef Aws::Utils::Outcome<DescribeAdjustmentTypesResult, Aws::Client::AWSError<AutoScalingErrors>> DescribeAdjustmentTypesOutcome;
typedef Aws::Utils::Outcome<DescribeAutoScalingGroupsResult, Aws::Client::AWSError<AutoScalingErrors>> DescribeAutoScalingGroupsOutcome;
typedef Aws::Utils::Outcome<DescribeAutoScalingInstancesResult, Aws::Client::AWSError<AutoScalingErrors>> DescribeAutoScalingInstancesOutcome;
typedef Aws::Utils::Outcome<DescribeAutoScalingNotificationTypesResult, Aws::Client::AWSError<AutoScalingErrors>> DescribeAutoScalingNotificationTypesOutcome;
typedef Aws::Utils::Outcome<DescribeLaunchConfigurationsResult, Aws::Client::AWSError<AutoScalingErrors>> DescribeLaunchConfigurationsOutcome;
typedef Aws::Utils::Outcome<DescribeLifecycleHookTypesResult, Aws::Client::AWSError<AutoScalingErrors>> DescribeLifecycleHookTypesOutcome;
typedef Aws::Utils::Outcome<DescribeLifecycleHooksResult, Aws::Client::AWSError<AutoScalingErrors>> DescribeLifecycleHooksOutcome;
typedef Aws::Utils::Outcome<DescribeLoadBalancersResult, Aws::Client::AWSError<AutoScalingErrors>> DescribeLoadBalancersOutcome;
typedef Aws::Utils::Outcome<DescribeMetricCollectionTypesResult, Aws::Client::AWSError<AutoScalingErrors>> DescribeMetricCollectionTypesOutcome;
typedef Aws::Utils::Outcome<DescribeNotificationConfigurationsResult, Aws::Client::AWSError<AutoScalingErrors>> DescribeNotificationConfigurationsOutcome;
typedef Aws::Utils::Outcome<DescribePoliciesResult, Aws::Client::AWSError<AutoScalingErrors>> DescribePoliciesOutcome;
typedef Aws::Utils::Outcome<DescribeScalingActivitiesResult, Aws::Client::AWSError<AutoScalingErrors>> DescribeScalingActivitiesOutcome;
typedef Aws::Utils::Outcome<DescribeScalingProcessTypesResult, Aws::Client::AWSError<AutoScalingErrors>> DescribeScalingProcessTypesOutcome;
typedef Aws::Utils::Outcome<DescribeScheduledActionsResult, Aws::Client::AWSError<AutoScalingErrors>> DescribeScheduledActionsOutcome;
typedef Aws::Utils::Outcome<DescribeTagsResult, Aws::Client::AWSError<AutoScalingErrors>> DescribeTagsOutcome;
typedef Aws::Utils::Outcome<DescribeTerminationPolicyTypesResult, Aws::Client::AWSError<AutoScalingErrors>> DescribeTerminationPolicyTypesOutcome;
typedef Aws::Utils::Outcome<DetachInstancesResult, Aws::Client::AWSError<AutoScalingErrors>> DetachInstancesOutcome;
typedef Aws::Utils::Outcome<DetachLoadBalancersResult, Aws::Client::AWSError<AutoScalingErrors>> DetachLoadBalancersOutcome;
typedef Aws::Utils::Outcome<NoResult, Aws::Client::AWSError<AutoScalingErrors>> DisableMetricsCollectionOutcome;
typedef Aws::Utils::Outcome<NoResult, Aws::Client::AWSError<AutoScalingErrors>> EnableMetricsCollectionOutcome;
typedef Aws::Utils::Outcome<EnterStandbyResult, Aws::Client::AWSError<AutoScalingErrors>> EnterStandbyOutcome;
typedef Aws::Utils::Outcome<NoResult, Aws::Client::AWSError<AutoScalingErrors>> ExecutePolicyOutcome;
typedef Aws::Utils::Outcome<ExitStandbyResult, Aws::Client::AWSError<AutoScalingErrors>> ExitStandbyOutcome;
typedef Aws::Utils::Outcome<PutLifecycleHookResult, Aws::Client::AWSError<AutoScalingErrors>> PutLifecycleHookOutcome;
typedef Aws::Utils::Outcome<NoResult, Aws::Client::AWSError<AutoScalingErrors>> PutNotificationConfigurationOutcome;
typedef Aws::Utils::Outcome<PutScalingPolicyResult, Aws::Client::AWSError<AutoScalingErrors>> PutScalingPolicyOutcome;
typedef Aws::Utils::Outcome<NoResult, Aws::Client::AWSError<AutoScalingErrors>> PutScheduledUpdateGroupActionOutcome;
typedef Aws::Utils::Outcome<RecordLifecycleActionHeartbeatResult, Aws::Client::AWSError<AutoScalingErrors>> RecordLifecycleActionHeartbeatOutcome;
typedef Aws::Utils::Outcome<NoResult, Aws::Client::AWSError<AutoScalingErrors>> ResumeProcessesOutcome;
typedef Aws::Utils::Outcome<NoResult, Aws::Client::AWSError<AutoScalingErrors>> SetDesiredCapacityOutcome;
typedef Aws::Utils::Outcome<NoResult, Aws::Client::AWSError<AutoScalingErrors>> SetInstanceHealthOutcome;
typedef Aws::Utils::Outcome<NoResult, Aws::Client::AWSError<AutoScalingErrors>> SuspendProcessesOutcome;
typedef Aws::Utils::Outcome<TerminateInstanceInAutoScalingGroupResult, Aws::Client::AWSError<AutoScalingErrors>> TerminateInstanceInAutoScalingGroupOutcome;
typedef Aws::Utils::Outcome<NoResult, Aws::Client::AWSError<AutoScalingErrors>> UpdateAutoScalingGroupOutcome;

typedef std::future<AttachInstancesOutcome> AttachInstancesOutcomeCallable;
typedef std::future<AttachLoadBalancersOutcome> AttachLoadBalancersOutcomeCallable;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,12 +23,12 @@
#pragma warning(disable : 4251)
#ifdef USE_IMPORT_EXPORT
#ifdef AWS_AUTOSCALING_EXPORTS
#define AWS_AUTOSCALING_API __declspec(dllexport)
#define AWS_AUTOSCALING_API __declspec(dllexport)
#else
#define AWS_AUTOSCALING_API __declspec(dllimport)
#define AWS_AUTOSCALING_API __declspec(dllimport)
#endif /* AWS_AUTOSCALING_EXPORTS */
#else
#define AWS_AUTOSCALING_API
#define AWS_AUTOSCALING_API
#endif //
#else /* defined (_MSC_VER) */
#define AWS_AUTOSCALING_API
Expand Down
Loading

0 comments on commit efaa127

Please sign in to comment.