Skip to content

Commit 86baa0c

Browse files
committed
Add cbor cloudwatch customization & query compat codegen fix
1 parent 4aae71e commit 86baa0c

File tree

5 files changed

+26
-3
lines changed

5 files changed

+26
-3
lines changed

generated/src/aws-cpp-sdk-sqs/include/aws/sqs/SQSRequest.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@ class AWS_SQS_API SQSRequest : public Aws::AmazonSerializableWebServiceRequest {
2626

2727
if (headers.size() == 0 || (headers.size() > 0 && headers.count(Aws::Http::CONTENT_TYPE_HEADER) == 0)) {
2828
headers.emplace(Aws::Http::HeaderValuePair(Aws::Http::CONTENT_TYPE_HEADER, Aws::AMZN_JSON_CONTENT_TYPE_1_0));
29-
headers.emplace(Aws::Http::HeaderValuePair(Aws::Http::X_AMZN_QUERY_MODE, "true"));
3029
}
30+
headers.emplace(Aws::Http::HeaderValuePair(Aws::Http::X_AMZN_QUERY_MODE, "true"));
3131
headers.emplace(Aws::Http::HeaderValuePair(Aws::Http::API_VERSION_HEADER, "2012-11-05"));
3232
return headers;
3333
}

tools/code-generation/generator/src/main/java/com/amazonaws/util/awsclientgenerator/config/ServiceGeneratorConfig.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import com.amazonaws.util.awsclientgenerator.generators.cpp.glacier.GlacierRestJsonCppClientGenerator;
2222
import com.amazonaws.util.awsclientgenerator.generators.cpp.lambda.LambdaRestJsonCppClientGenerator;
2323
import com.amazonaws.util.awsclientgenerator.generators.cpp.machinelearning.MachineLearningJsonCppClientGenerator;
24+
import com.amazonaws.util.awsclientgenerator.generators.cpp.monitoring.CloudwatchMonitoringCborCppClientGenerator;
2425
import com.amazonaws.util.awsclientgenerator.generators.cpp.monitoring.CloudwatchMonitoringJsonCppClientGenerator;
2526
import com.amazonaws.util.awsclientgenerator.generators.cpp.neptune.NeptuneCppClientGenerator;
2627
import com.amazonaws.util.awsclientgenerator.generators.cpp.polly.PollyCppClientGenerator;
@@ -73,6 +74,7 @@ public class ServiceGeneratorConfig {
7374
SPEC_OVERRIDE_MAPPING.put("cpp-eventbridge-json", new EventBridgeCppClientGenerator());
7475
SPEC_OVERRIDE_MAPPING.put("cpp-dsql-rest-json", new DsqlCppClientGenerator());
7576
SPEC_OVERRIDE_MAPPING.put("cpp-monitoring-json", new CloudwatchMonitoringJsonCppClientGenerator());
77+
SPEC_OVERRIDE_MAPPING.put("cpp-monitoring-smithy-rpc-v2-cbor", new CloudwatchMonitoringCborCppClientGenerator());
7678

7779
// protocol tests clients
7880
SPEC_OVERRIDE_MAPPING.put("cpp-ec2-protocol-ec2", new Ec2CppClientGenerator());
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package com.amazonaws.util.awsclientgenerator.generators.cpp.monitoring;
2+
3+
import com.amazonaws.util.awsclientgenerator.domainmodels.SdkFileEntry;
4+
import com.amazonaws.util.awsclientgenerator.domainmodels.codegeneration.ServiceModel;
5+
import com.amazonaws.util.awsclientgenerator.generators.cpp.CborCppClientGenerator;
6+
import com.google.common.collect.ImmutableMap;
7+
8+
public class CloudwatchMonitoringCborCppClientGenerator extends CborCppClientGenerator {
9+
public CloudwatchMonitoringCborCppClientGenerator() throws Exception {
10+
super();
11+
}
12+
13+
@Override
14+
protected SdkFileEntry generateErrorSourceFile(ServiceModel serviceModel) throws Exception {
15+
serviceModel.setQueryCompatibleErrorMappings(ImmutableMap.of(
16+
"DASHBOARD_NOT_FOUND", "DashboardNotFoundError"
17+
));
18+
19+
return super.generateErrorSourceFile(serviceModel);
20+
}
21+
}

tools/code-generation/generator/src/main/java/com/amazonaws/util/awsclientgenerator/transform/C2jModelToGeneratorModelTransformer.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,7 @@ public ServiceModel convert() {
186186
// add protocol check. only for json, query protocols
187187
final String protocol = serviceModel.getMetadata().findFirstSupportedProtocol();
188188

189-
if ("json".equals(protocol)) {
189+
if ("json".equals(protocol) || "smithy-rpc-v2-cbor".equals(protocol)) {
190190
serviceModel.getMetadata().setAwsQueryCompatible(
191191
c2jServiceModel.getMetadata().getAwsQueryCompatible() != null);
192192
} else {

tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/AbstractServiceRequestHeader.vm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,10 +42,10 @@ namespace ${serviceNamespace}
4242
#if($metadata.acceptHeader)
4343
headers.emplace(Aws::Http::HeaderValuePair(Aws::Http::ACCEPT_HEADER, "${metadata.acceptHeader}"));
4444
#end
45+
}
4546
#if ($metadata.awsQueryCompatible)
4647
headers.emplace(Aws::Http::HeaderValuePair(Aws::Http::X_AMZN_QUERY_MODE,"true"));
4748
#end
48-
}
4949
#if($metadata.apiVersion)
5050
headers.emplace(Aws::Http::HeaderValuePair(Aws::Http::API_VERSION_HEADER, "${metadata.apiVersion}"));
5151
#end

0 commit comments

Comments
 (0)