diff --git a/botocore/parsers.py b/botocore/parsers.py
index 99eb4e3409..57d499fa7e 100644
--- a/botocore/parsers.py
+++ b/botocore/parsers.py
@@ -428,11 +428,6 @@ def _inject_response_metadata(self, node, inject_into):
sub_mapping[key] = value.text
inject_into['ResponseMetadata'] = sub_mapping
- def _handle_string(self, shape, node):
- return node.text
-
- _handle_character = _handle_string
-
class EC2QueryParser(QueryParser):
diff --git a/tests/unit/protocols/output/ec2.json b/tests/unit/protocols/output/ec2.json
index a85607a65d..5b76bf5fda 100644
--- a/tests/unit/protocols/output/ec2.json
+++ b/tests/unit/protocols/output/ec2.json
@@ -413,5 +413,42 @@
}
}
]
+ },
+ {
+ "description": "Empty string",
+ "metadata": {
+ "protocol": "ec2"
+ },
+ "shapes": {
+ "OutputShape": {
+ "type": "structure",
+ "members": {
+ "Foo": {
+ "shape": "StringType"
+ }
+ }
+ },
+ "StringType": {
+ "type": "string"
+ }
+ },
+ "cases": [
+ {
+ "given": {
+ "output": {
+ "shape": "OutputShape"
+ },
+ "name": "OperationName"
+ },
+ "result": {
+ "Foo": ""
+ },
+ "response": {
+ "status_code": 200,
+ "headers": {},
+ "body": "requestid"
+ }
+ }
+ ]
}
]
diff --git a/tests/unit/protocols/output/query.json b/tests/unit/protocols/output/query.json
index 5ffd5ac263..eee10b8301 100644
--- a/tests/unit/protocols/output/query.json
+++ b/tests/unit/protocols/output/query.json
@@ -772,5 +772,42 @@
}
}
]
+ },
+ {
+ "description": "Empty string",
+ "metadata": {
+ "protocol": "query"
+ },
+ "shapes": {
+ "OutputShape": {
+ "type": "structure",
+ "members": {
+ "Foo": {
+ "shape": "StringType"
+ }
+ }
+ },
+ "StringType": {
+ "type": "string"
+ }
+ },
+ "cases": [
+ {
+ "given": {
+ "output": {
+ "shape": "OutputShape"
+ },
+ "name": "OperationName"
+ },
+ "result": {
+ "Foo": ""
+ },
+ "response": {
+ "status_code": 200,
+ "headers": {},
+ "body": "requestid"
+ }
+ }
+ ]
}
]
diff --git a/tests/unit/protocols/output/rest-xml.json b/tests/unit/protocols/output/rest-xml.json
index ba1f09ffa8..705422564f 100644
--- a/tests/unit/protocols/output/rest-xml.json
+++ b/tests/unit/protocols/output/rest-xml.json
@@ -679,5 +679,42 @@
}
}
]
+ },
+ {
+ "description": "Empty string",
+ "metadata": {
+ "protocol": "rest-xml"
+ },
+ "shapes": {
+ "OutputShape": {
+ "type": "structure",
+ "members": {
+ "Foo": {
+ "shape": "StringType"
+ }
+ }
+ },
+ "StringType": {
+ "type": "string"
+ }
+ },
+ "cases": [
+ {
+ "given": {
+ "output": {
+ "shape": "OutputShape"
+ },
+ "name": "OperationName"
+ },
+ "result": {
+ "Foo": ""
+ },
+ "response": {
+ "status_code": 200,
+ "headers": {},
+ "body": "requestid"
+ }
+ }
+ ]
}
]
diff --git a/tests/unit/response_parsing/xml/responses/ec2-create-network-interface.json b/tests/unit/response_parsing/xml/responses/ec2-create-network-interface.json
index 05794bf0ae..84658dd3da 100644
--- a/tests/unit/response_parsing/xml/responses/ec2-create-network-interface.json
+++ b/tests/unit/response_parsing/xml/responses/ec2-create-network-interface.json
@@ -1,47 +1,47 @@
{
"ResponseMetadata": {
"RequestId": "bd78c839-0895-4fac-a17f-98b559b6b630"
- },
+ },
"NetworkInterface": {
- "Status": "pending",
- "MacAddress": "02:74:b0:70:7f:1a",
- "SourceDestCheck": true,
- "VpcId": "vpc-c31dafaa",
- "Description": null,
- "NetworkInterfaceId": "eni-1bcb7772",
+ "Status": "pending",
+ "MacAddress": "02:74:b0:70:7f:1a",
+ "SourceDestCheck": true,
+ "VpcId": "vpc-c31dafaa",
+ "Description": "",
+ "NetworkInterfaceId": "eni-1bcb7772",
"PrivateIpAddresses": [
{
- "Primary": true,
+ "Primary": true,
"PrivateIpAddress": "10.0.2.140"
- },
+ },
{
- "Primary": false,
+ "Primary": false,
"PrivateIpAddress": "10.0.2.172"
- },
+ },
{
- "Primary": false,
+ "Primary": false,
"PrivateIpAddress": "10.0.2.169"
- },
+ },
{
- "Primary": false,
+ "Primary": false,
"PrivateIpAddress": "10.0.2.170"
- },
+ },
{
- "Primary": false,
+ "Primary": false,
"PrivateIpAddress": "10.0.2.171"
}
- ],
- "RequesterManaged": false,
- "AvailabilityZone": "ap-southeast-1b",
+ ],
+ "RequesterManaged": false,
+ "AvailabilityZone": "ap-southeast-1b",
"Groups": [
{
- "GroupName": "default",
+ "GroupName": "default",
"GroupId": "sg-1a2b3c4d"
}
- ],
- "SubnetId": "subnet-a61dafcf",
- "OwnerId": "251839141158",
- "TagSet": [],
+ ],
+ "SubnetId": "subnet-a61dafcf",
+ "OwnerId": "251839141158",
+ "TagSet": [],
"PrivateIpAddress": "10.0.2.140"
}
}
\ No newline at end of file
diff --git a/tests/unit/response_parsing/xml/responses/ec2-create-volume.json b/tests/unit/response_parsing/xml/responses/ec2-create-volume.json
index 7978969be7..e089b1edf1 100644
--- a/tests/unit/response_parsing/xml/responses/ec2-create-volume.json
+++ b/tests/unit/response_parsing/xml/responses/ec2-create-volume.json
@@ -1,12 +1,12 @@
{
- "AvailabilityZone": "us-east-1a",
+ "AvailabilityZone": "us-east-1a",
"ResponseMetadata": {
"RequestId": "59dbff89-35bd-4eac-99ed-be587EXAMPLE"
- },
- "VolumeType": "standard",
- "VolumeId": "vol-1a2b3c4d",
- "State": "creating",
- "SnapshotId": null,
- "CreateTime": "YYYY-MM-DDTHH:MM:SS.000Z",
+ },
+ "VolumeType": "standard",
+ "VolumeId": "vol-1a2b3c4d",
+ "State": "creating",
+ "SnapshotId": "",
+ "CreateTime": "YYYY-MM-DDTHH:MM:SS.000Z",
"Size": 80
}
diff --git a/tests/unit/response_parsing/xml/responses/ec2-describe-addresses.json b/tests/unit/response_parsing/xml/responses/ec2-describe-addresses.json
index 525b38d07e..1f8a28b591 100644
--- a/tests/unit/response_parsing/xml/responses/ec2-describe-addresses.json
+++ b/tests/unit/response_parsing/xml/responses/ec2-describe-addresses.json
@@ -5,12 +5,12 @@
"Addresses": [
{
"PublicIp": "54.245.81.77",
- "InstanceId": null,
+ "InstanceId": "",
"Domain": "standard"
},
{
"PublicIp": "54.245.99.8",
- "InstanceId": null,
+ "InstanceId": "",
"Domain": "standard"
},
{
diff --git a/tests/unit/response_parsing/xml/responses/ec2-describe-instances.json b/tests/unit/response_parsing/xml/responses/ec2-describe-instances.json
index b743eb0281..63b51d57ae 100644
--- a/tests/unit/response_parsing/xml/responses/ec2-describe-instances.json
+++ b/tests/unit/response_parsing/xml/responses/ec2-describe-instances.json
@@ -14,7 +14,7 @@
"Monitoring": {
"State": "disabled"
},
- "PublicDnsName": null,
+ "PublicDnsName": "",
"KernelId": "aki-98e26fa8",
"State": {
"Code": 80,
@@ -26,7 +26,7 @@
"StateTransitionReason": "User initiated (2013-03-01 17:24:16 GMT)",
"InstanceId": "i-fde9cece",
"ImageId": "ami-30fe7300",
- "PrivateDnsName": null,
+ "PrivateDnsName": "",
"KeyName": "aws",
"SecurityGroups": [
{
@@ -34,12 +34,12 @@
"GroupId": "sg-4e970e7e"
}
],
- "ClientToken": null,
+ "ClientToken": "",
"InstanceType": "m1.small",
"NetworkInterfaces": [],
"Placement": {
"Tenancy": "default",
- "GroupName": null,
+ "GroupName": "",
"AvailabilityZone": "us-west-2a"
},
"Hypervisor": "xen",
@@ -64,7 +64,7 @@
"RootDeviceType": "ebs",
"Tags": [
{
- "Value": null,
+ "Value": "",
"Key": "notebook"
}
],
@@ -97,7 +97,7 @@
"PublicIpAddress": "54.245.16.142",
"PrivateIpAddress": "10.253.17.74",
"ProductCodes": [],
- "StateTransitionReason": null,
+ "StateTransitionReason": "",
"InstanceId": "i-78f1b94a",
"ImageId": "ami-c4d643f4",
"PrivateDnsName": "ip-10-253-17-74.us-west-2.compute.internal",
@@ -113,7 +113,7 @@
"NetworkInterfaces": [],
"Placement": {
"Tenancy": "default",
- "GroupName": null,
+ "GroupName": "",
"AvailabilityZone": "us-west-2b"
},
"Hypervisor": "xen",
diff --git a/tests/unit/response_parsing/xml/responses/ec2-describe-network-interfaces.json b/tests/unit/response_parsing/xml/responses/ec2-describe-network-interfaces.json
index e0a729288b..9b654f8128 100644
--- a/tests/unit/response_parsing/xml/responses/ec2-describe-network-interfaces.json
+++ b/tests/unit/response_parsing/xml/responses/ec2-describe-network-interfaces.json
@@ -6,7 +6,7 @@
"InstanceOwnerId": "123456789012",
"Status": "attached"},
"AvailabilityZone": "ap-southeast-1b",
- "Description": null,
+ "Description": "",
"Groups": [{"GroupId": "sg-3f4b5653",
"GroupName": "default"}],
"MacAddress": "02:81:60:cb:27:37",
diff --git a/tests/unit/response_parsing/xml/responses/ec2-describe-snapshots.json b/tests/unit/response_parsing/xml/responses/ec2-describe-snapshots.json
index fed9e78a25..f446174a14 100644
--- a/tests/unit/response_parsing/xml/responses/ec2-describe-snapshots.json
+++ b/tests/unit/response_parsing/xml/responses/ec2-describe-snapshots.json
@@ -14,7 +14,7 @@
"OwnerId": "123456789012"
},
{
- "Description": null,
+ "Description": "",
"VolumeId": "vol-213dd14a",
"State": "completed",
"VolumeSize": 90,
@@ -24,7 +24,7 @@
"OwnerId": "123456789012"
},
{
- "Description": null,
+ "Description": "",
"VolumeId": "vol-4ab8dc22",
"State": "completed",
"VolumeSize": 8,
diff --git a/tests/unit/response_parsing/xml/responses/ec2-describe-tags.json b/tests/unit/response_parsing/xml/responses/ec2-describe-tags.json
index f47a09e60d..d2f4b9c1b5 100644
--- a/tests/unit/response_parsing/xml/responses/ec2-describe-tags.json
+++ b/tests/unit/response_parsing/xml/responses/ec2-describe-tags.json
@@ -6,7 +6,7 @@
{
"ResourceType": "instance",
"ResourceId": "i-fde9cece",
- "Value": null,
+ "Value": "",
"Key": "notebook"
}
]
diff --git a/tests/unit/response_parsing/xml/responses/ec2-import-instance.json b/tests/unit/response_parsing/xml/responses/ec2-import-instance.json
index 42f467686d..a2ca2bf0f9 100644
--- a/tests/unit/response_parsing/xml/responses/ec2-import-instance.json
+++ b/tests/unit/response_parsing/xml/responses/ec2-import-instance.json
@@ -1,29 +1,29 @@
{
"ConversionTask": {
- "ConversionTaskId": "import-i-ffvko9js",
+ "ConversionTaskId": "import-i-ffvko9js",
"ImportInstance": {
- "InstanceId": "i-12655a7f",
- "Description": null,
+ "InstanceId": "i-12655a7f",
+ "Description": "",
"Volumes": [
{
- "Status": "active",
- "AvailabilityZone": "us-east-1a",
- "Description": null,
+ "Status": "active",
+ "AvailabilityZone": "us-east-1a",
+ "Description": "",
"Image": {
- "Size": 1179593728,
- "ImportManifestUrl": "https://s3.amazonaws.com/myawsbucket/a3a5e1b6-590d-43cc-97c1-15c7325d3f41/Win_2008_Server_Data_Center_SP2_32-bit.vmdkmanifest.xml?AWSaccessKeyId=AKIAIOSFODNN7EXAMPLE%26Expires=1294855591%26Signature=5snej01T1TtL0uR7KExtEXAMPLE%3D",
+ "Size": 1179593728,
+ "ImportManifestUrl": "https://s3.amazonaws.com/myawsbucket/a3a5e1b6-590d-43cc-97c1-15c7325d3f41/Win_2008_Server_Data_Center_SP2_32-bit.vmdkmanifest.xml?AWSaccessKeyId=AKIAIOSFODNN7EXAMPLE%26Expires=1294855591%26Signature=5snej01T1TtL0uR7KExtEXAMPLE%3D",
"Format": "VMDK"
- },
+ },
"Volume": {
- "Id": "vol-1a2b3c4d",
+ "Id": "vol-1a2b3c4d",
"Size": 12
- },
- "BytesConverted": 0,
- "StatusMessage": null
+ },
+ "BytesConverted": 0,
+ "StatusMessage": ""
}
]
- },
+ },
"ExpirationTime": "2010-12-22T12:01Z"
- },
+ },
"ResponseMetadata": {"RequestId": "7a62c49f-347e-4fc4-9331-6e8eEXAMPLE"}
}
diff --git a/tests/unit/response_parsing/xml/responses/ec2-import-volume.json b/tests/unit/response_parsing/xml/responses/ec2-import-volume.json
index 57f2190ecf..d53be2a89d 100644
--- a/tests/unit/response_parsing/xml/responses/ec2-import-volume.json
+++ b/tests/unit/response_parsing/xml/responses/ec2-import-volume.json
@@ -1,24 +1,24 @@
{
"ConversionTask": {
- "ConversionTaskId": "import-i-fh95npoc",
+ "ConversionTaskId": "import-i-fh95npoc",
"ImportVolume": {
"Volume": {
- "Id": "vol-34d8a2ff",
+ "Id": "vol-34d8a2ff",
"Size": 8
- },
+ },
"Image": {
- "Checksum": "ccb1b0536a4a70e86016b85229b5c6b10b14a4eb",
- "Size": 128696320,
- "ImportManifestUrl": "https://s3.amazonaws.com/myawsbucket/a3a5e1b6-590d-43cc-97c1-15c7325d3f41/Win_2008_Server_Data_Center_SP2_32-bit.vmdkmanifest.xml?AWSaccessKeyId=AKIAIOSFODNN7EXAMPLE%26Expires=1294855591%26Signature=5snej01T1TtL0uR7KExtEXAMPLE%3D",
+ "Checksum": "ccb1b0536a4a70e86016b85229b5c6b10b14a4eb",
+ "Size": 128696320,
+ "ImportManifestUrl": "https://s3.amazonaws.com/myawsbucket/a3a5e1b6-590d-43cc-97c1-15c7325d3f41/Win_2008_Server_Data_Center_SP2_32-bit.vmdkmanifest.xml?AWSaccessKeyId=AKIAIOSFODNN7EXAMPLE%26Expires=1294855591%26Signature=5snej01T1TtL0uR7KExtEXAMPLE%3D",
"Format": "VDMK"
- },
- "BytesConverted": 0,
- "Description": null,
+ },
+ "BytesConverted": 0,
+ "Description": "",
"AvailabilityZone": "us-east-1c"
- },
- "ExpirationTime": "2010-12-22T12:01Z",
- "State": "active",
- "StatusMessage": null
- },
+ },
+ "ExpirationTime": "2010-12-22T12:01Z",
+ "State": "active",
+ "StatusMessage": ""
+ },
"ResponseMetadata": {"RequestId": "7a62c49f-347e-4fc4-9331-6e8eEXAMPLE"}
}
diff --git a/tests/unit/response_parsing/xml/responses/ec2-request-spot-instances.json b/tests/unit/response_parsing/xml/responses/ec2-request-spot-instances.json
index 7d7af27f6e..51c7fb5e3f 100644
--- a/tests/unit/response_parsing/xml/responses/ec2-request-spot-instances.json
+++ b/tests/unit/response_parsing/xml/responses/ec2-request-spot-instances.json
@@ -1,28 +1,28 @@
{
"SpotInstanceRequests": [
{
- "ProductDescription": "Linux/UNIX",
- "SpotInstanceRequestId": "sir-1a2b3c4d",
- "State": "open",
- "AvailabilityZoneGroup": "MyAzGroup",
+ "ProductDescription": "Linux/UNIX",
+ "SpotInstanceRequestId": "sir-1a2b3c4d",
+ "State": "open",
+ "AvailabilityZoneGroup": "MyAzGroup",
"LaunchSpecification": {
- "EbsOptimized": false,
- "BlockDeviceMappings": [],
+ "EbsOptimized": false,
+ "BlockDeviceMappings": [],
"Monitoring": {"Enabled": false},
"SecurityGroups": [
{
- "GroupName": null,
- "GroupId": null
+ "GroupName": "",
+ "GroupId": ""
}
- ],
- "InstanceType": "m1.small",
+ ],
+ "InstanceType": "m1.small",
"ImageId": "ami-1a2b3c4d"
- },
- "Type": "one-time",
- "CreateTime": "YYYY-MM-DDTHH:MM:SS.000Z",
+ },
+ "Type": "one-time",
+ "CreateTime": "YYYY-MM-DDTHH:MM:SS.000Z",
"SpotPrice": "0.5"
}
- ],
+ ],
"ResponseMetadata": {
"RequestId": "59dbff89-35bd-4eac-99ed-be587EXAMPLE"
}
diff --git a/tests/unit/response_parsing/xml/responses/ec2-run-instances.json b/tests/unit/response_parsing/xml/responses/ec2-run-instances.json
index 21114d6d41..c0b72c9b5b 100644
--- a/tests/unit/response_parsing/xml/responses/ec2-run-instances.json
+++ b/tests/unit/response_parsing/xml/responses/ec2-run-instances.json
@@ -1,79 +1,79 @@
{
- "OwnerId": "111122223333",
- "ReservationId": "r-157ad274",
+ "OwnerId": "111122223333",
+ "ReservationId": "r-157ad274",
"ResponseMetadata": {
"RequestId": "e86ff3c8-2400-45e3-a4e7-f158a69283d4"
- },
- "Groups": [],
+ },
+ "Groups": [],
"Instances": [
{
"Monitoring": {
"State": "disabled"
- },
- "PublicDnsName": null,
+ },
+ "PublicDnsName": "",
"StateReason": {
- "Message": "pending",
+ "Message": "pending",
"Code": "pending"
- },
+ },
"State": {
- "Code": 0,
+ "Code": 0,
"Name": "pending"
- },
- "LaunchTime": "2011-12-20T08:29:31.000Z",
- "PrivateIpAddress": "10.0.0.142",
- "ProductCodes": [],
- "VpcId": "vpc-1ea24976",
- "StateTransitionReason": null,
- "InstanceId": "i-0ee0356c",
- "ImageId": "ami-31814f58",
- "PrivateDnsName": null,
+ },
+ "LaunchTime": "2011-12-20T08:29:31.000Z",
+ "PrivateIpAddress": "10.0.0.142",
+ "ProductCodes": [],
+ "VpcId": "vpc-1ea24976",
+ "StateTransitionReason": "",
+ "InstanceId": "i-0ee0356c",
+ "ImageId": "ami-31814f58",
+ "PrivateDnsName": "",
"SecurityGroups": [
{
- "GroupName": "default",
+ "GroupName": "default",
"GroupId": "sg-050c1369"
}
- ],
- "ClientToken": null,
- "SubnetId": "subnet-b2a249da",
- "InstanceType": "m1.small",
+ ],
+ "ClientToken": "",
+ "SubnetId": "subnet-b2a249da",
+ "InstanceType": "m1.small",
"NetworkInterfaces": [
{
- "Status": "in-use",
- "SourceDestCheck": true,
- "VpcId": "vpc-1ea24976",
- "Description": null,
- "NetworkInterfaceId": "eni-c6bb50ae",
+ "Status": "in-use",
+ "SourceDestCheck": true,
+ "VpcId": "vpc-1ea24976",
+ "Description": "",
+ "NetworkInterfaceId": "eni-c6bb50ae",
"Attachment": {
- "Status": "attaching",
- "DeviceIndex": 0,
- "DeleteOnTermination": true,
- "AttachmentId": "eni-attach-0326646a",
+ "Status": "attaching",
+ "DeviceIndex": 0,
+ "DeleteOnTermination": true,
+ "AttachmentId": "eni-attach-0326646a",
"AttachTime": "2011-12-20T08:29:31.000Z"
- },
+ },
"Groups": [
{
- "GroupName": "default",
+ "GroupName": "default",
"GroupId": "sg-050c1369"
}
- ],
- "SubnetId": "subnet-b2a249da",
- "OwnerId": "111122223333",
+ ],
+ "SubnetId": "subnet-b2a249da",
+ "OwnerId": "111122223333",
"PrivateIpAddress": "10.0.0.142"
}
- ],
- "SourceDestCheck": true,
+ ],
+ "SourceDestCheck": true,
"Placement": {
- "GroupName": null,
- "Tenancy": "default",
+ "GroupName": "",
+ "Tenancy": "default",
"AvailabilityZone": "us-east-1b"
- },
- "Hypervisor": "xen",
- "BlockDeviceMappings": [],
- "Architecture": "i386",
- "KernelId": "aki-805ea7e9",
- "RootDeviceName": "/dev/sda1",
- "VirtualizationType": "paravirtual",
- "RootDeviceType": "ebs",
+ },
+ "Hypervisor": "xen",
+ "BlockDeviceMappings": [],
+ "Architecture": "i386",
+ "KernelId": "aki-805ea7e9",
+ "RootDeviceName": "/dev/sda1",
+ "VirtualizationType": "paravirtual",
+ "RootDeviceType": "ebs",
"AmiLaunchIndex": 0
}
]
diff --git a/tests/unit/response_parsing/xml/responses/elasticbeanstalk-create-configuration-template.json b/tests/unit/response_parsing/xml/responses/elasticbeanstalk-create-configuration-template.json
index 3e475d9722..e8e1a7844a 100644
--- a/tests/unit/response_parsing/xml/responses/elasticbeanstalk-create-configuration-template.json
+++ b/tests/unit/response_parsing/xml/responses/elasticbeanstalk-create-configuration-template.json
@@ -1,243 +1,243 @@
{
- "ApplicationName": "SampleApp",
- "Description": "ConfigTemplateDescription",
+ "ApplicationName": "SampleApp",
+ "Description": "ConfigTemplateDescription",
"ResponseMetadata": {
"RequestId": "846cd905-f1fd-11df-8a78-9f77047e0d0c"
- },
- "TemplateName": "AppTemplate",
- "DateCreated": "2010-11-17T03:48:19.640Z",
+ },
+ "TemplateName": "AppTemplate",
+ "DateCreated": "2010-11-17T03:48:19.640Z",
"OptionSettings": [
{
- "Namespace": "aws:autoscaling:launchconfiguration",
- "OptionName": "ImageId",
+ "Namespace": "aws:autoscaling:launchconfiguration",
+ "OptionName": "ImageId",
"Value": "ami-f2f0069b"
- },
+ },
{
- "Namespace": "aws:elasticbeanstalk:sns:topics",
- "OptionName": "Notification Endpoint",
- "Value": null
- },
+ "Namespace": "aws:elasticbeanstalk:sns:topics",
+ "OptionName": "Notification Endpoint",
+ "Value": ""
+ },
{
- "Namespace": "aws:elasticbeanstalk:application:environment",
- "OptionName": "PARAM4",
- "Value": null
- },
+ "Namespace": "aws:elasticbeanstalk:application:environment",
+ "OptionName": "PARAM4",
+ "Value": ""
+ },
{
- "Namespace": "aws:elasticbeanstalk:application:environment",
- "OptionName": "JDBC_CONNECTION_STRING",
- "Value": null
- },
+ "Namespace": "aws:elasticbeanstalk:application:environment",
+ "OptionName": "JDBC_CONNECTION_STRING",
+ "Value": ""
+ },
{
- "Namespace": "aws:autoscaling:launchconfiguration",
- "OptionName": "SecurityGroups",
+ "Namespace": "aws:autoscaling:launchconfiguration",
+ "OptionName": "SecurityGroups",
"Value": "elasticbeanstalk-default"
- },
+ },
{
- "Namespace": "aws:elb:healthcheck",
- "OptionName": "UnhealthyThreshold",
+ "Namespace": "aws:elb:healthcheck",
+ "OptionName": "UnhealthyThreshold",
"Value": "5"
- },
+ },
{
- "Namespace": "aws:autoscaling:launchconfiguration",
- "OptionName": "InstanceType",
+ "Namespace": "aws:autoscaling:launchconfiguration",
+ "OptionName": "InstanceType",
"Value": "t1.micro"
- },
+ },
{
- "Namespace": "aws:autoscaling:trigger",
- "OptionName": "Statistic",
+ "Namespace": "aws:autoscaling:trigger",
+ "OptionName": "Statistic",
"Value": "Average"
- },
+ },
{
- "Namespace": "aws:elb:loadbalancer",
- "OptionName": "LoadBalancerHTTPSPort",
+ "Namespace": "aws:elb:loadbalancer",
+ "OptionName": "LoadBalancerHTTPSPort",
"Value": "OFF"
- },
+ },
{
- "Namespace": "aws:elb:policies",
- "OptionName": "Stickiness Cookie Expiration",
+ "Namespace": "aws:elb:policies",
+ "OptionName": "Stickiness Cookie Expiration",
"Value": "0"
- },
+ },
{
- "Namespace": "aws:elasticbeanstalk:application:environment",
- "OptionName": "PARAM5",
- "Value": null
- },
+ "Namespace": "aws:elasticbeanstalk:application:environment",
+ "OptionName": "PARAM5",
+ "Value": ""
+ },
{
- "Namespace": "aws:autoscaling:trigger",
- "OptionName": "MeasureName",
+ "Namespace": "aws:autoscaling:trigger",
+ "OptionName": "MeasureName",
"Value": "NetworkOut"
- },
+ },
{
- "Namespace": "aws:elb:healthcheck",
- "OptionName": "Interval",
+ "Namespace": "aws:elb:healthcheck",
+ "OptionName": "Interval",
"Value": "30"
- },
+ },
{
- "Namespace": "aws:elasticbeanstalk:application",
- "OptionName": "Application Healthcheck URL",
+ "Namespace": "aws:elasticbeanstalk:application",
+ "OptionName": "Application Healthcheck URL",
"Value": "/"
- },
+ },
{
- "Namespace": "aws:elasticbeanstalk:sns:topics",
- "OptionName": "Notification Topic ARN",
- "Value": null
- },
+ "Namespace": "aws:elasticbeanstalk:sns:topics",
+ "OptionName": "Notification Topic ARN",
+ "Value": ""
+ },
{
- "Namespace": "aws:autoscaling:trigger",
- "OptionName": "LowerBreachScaleIncrement",
+ "Namespace": "aws:autoscaling:trigger",
+ "OptionName": "LowerBreachScaleIncrement",
"Value": "-1"
- },
+ },
{
- "Namespace": "aws:elasticbeanstalk:container:tomcat:jvmoptions",
- "OptionName": "XX:MaxPermSize",
+ "Namespace": "aws:elasticbeanstalk:container:tomcat:jvmoptions",
+ "OptionName": "XX:MaxPermSize",
"Value": "64m"
- },
+ },
{
- "Namespace": "aws:autoscaling:trigger",
- "OptionName": "UpperBreachScaleIncrement",
+ "Namespace": "aws:autoscaling:trigger",
+ "OptionName": "UpperBreachScaleIncrement",
"Value": "1"
- },
+ },
{
- "Namespace": "aws:autoscaling:asg",
- "OptionName": "MinSize",
+ "Namespace": "aws:autoscaling:asg",
+ "OptionName": "MinSize",
"Value": "1"
- },
+ },
{
- "Namespace": "aws:autoscaling:asg",
- "OptionName": "Custom Availability Zones",
+ "Namespace": "aws:autoscaling:asg",
+ "OptionName": "Custom Availability Zones",
"Value": "us-east-1a"
- },
+ },
{
- "Namespace": "aws:autoscaling:asg",
- "OptionName": "Availability Zones",
+ "Namespace": "aws:autoscaling:asg",
+ "OptionName": "Availability Zones",
"Value": "Any 1"
- },
+ },
{
- "Namespace": "aws:elasticbeanstalk:hostmanager",
- "OptionName": "LogPublicationControl",
+ "Namespace": "aws:elasticbeanstalk:hostmanager",
+ "OptionName": "LogPublicationControl",
"Value": "false"
- },
+ },
{
- "Namespace": "aws:elasticbeanstalk:container:tomcat:jvmoptions",
- "OptionName": "JVM Options",
- "Value": null
- },
+ "Namespace": "aws:elasticbeanstalk:container:tomcat:jvmoptions",
+ "OptionName": "JVM Options",
+ "Value": ""
+ },
{
- "Namespace": "aws:elasticbeanstalk:sns:topics",
- "OptionName": "Notification Topic Name",
- "Value": null
- },
+ "Namespace": "aws:elasticbeanstalk:sns:topics",
+ "OptionName": "Notification Topic Name",
+ "Value": ""
+ },
{
- "Namespace": "aws:elasticbeanstalk:application:environment",
- "OptionName": "PARAM2",
- "Value": null
- },
+ "Namespace": "aws:elasticbeanstalk:application:environment",
+ "OptionName": "PARAM2",
+ "Value": ""
+ },
{
- "Namespace": "aws:elb:loadbalancer",
- "OptionName": "LoadBalancerHTTPPort",
+ "Namespace": "aws:elb:loadbalancer",
+ "OptionName": "LoadBalancerHTTPPort",
"Value": "80"
- },
+ },
{
- "Namespace": "aws:elb:healthcheck",
- "OptionName": "Timeout",
+ "Namespace": "aws:elb:healthcheck",
+ "OptionName": "Timeout",
"Value": "5"
- },
+ },
{
- "Namespace": "aws:autoscaling:trigger",
- "OptionName": "BreachDuration",
+ "Namespace": "aws:autoscaling:trigger",
+ "OptionName": "BreachDuration",
"Value": "2"
- },
+ },
{
- "Namespace": "aws:autoscaling:launchconfiguration",
- "OptionName": "MonitoringInterval",
+ "Namespace": "aws:autoscaling:launchconfiguration",
+ "OptionName": "MonitoringInterval",
"Value": "5 minute"
- },
+ },
{
- "Namespace": "aws:elasticbeanstalk:application:environment",
- "OptionName": "PARAM1",
- "Value": null
- },
+ "Namespace": "aws:elasticbeanstalk:application:environment",
+ "OptionName": "PARAM1",
+ "Value": ""
+ },
{
- "Namespace": "aws:autoscaling:asg",
- "OptionName": "MaxSize",
+ "Namespace": "aws:autoscaling:asg",
+ "OptionName": "MaxSize",
"Value": "4"
- },
+ },
{
- "Namespace": "aws:autoscaling:trigger",
- "OptionName": "LowerThreshold",
+ "Namespace": "aws:autoscaling:trigger",
+ "OptionName": "LowerThreshold",
"Value": "2000000"
- },
+ },
{
- "Namespace": "aws:elasticbeanstalk:application:environment",
- "OptionName": "AWS_SECRET_KEY",
- "Value": null
- },
+ "Namespace": "aws:elasticbeanstalk:application:environment",
+ "OptionName": "AWS_SECRET_KEY",
+ "Value": ""
+ },
{
- "Namespace": "aws:elasticbeanstalk:application:environment",
- "OptionName": "AWS_ACCESS_KEY_ID",
- "Value": null
- },
+ "Namespace": "aws:elasticbeanstalk:application:environment",
+ "OptionName": "AWS_ACCESS_KEY_ID",
+ "Value": ""
+ },
{
- "Namespace": "aws:autoscaling:trigger",
- "OptionName": "UpperThreshold",
+ "Namespace": "aws:autoscaling:trigger",
+ "OptionName": "UpperThreshold",
"Value": "6000000"
- },
+ },
{
- "Namespace": "aws:elasticbeanstalk:sns:topics",
- "OptionName": "Notification Protocol",
+ "Namespace": "aws:elasticbeanstalk:sns:topics",
+ "OptionName": "Notification Protocol",
"Value": "email"
- },
+ },
{
- "Namespace": "aws:autoscaling:trigger",
- "OptionName": "Unit",
+ "Namespace": "aws:autoscaling:trigger",
+ "OptionName": "Unit",
"Value": "Bytes"
- },
+ },
{
- "Namespace": "aws:elasticbeanstalk:container:tomcat:jvmoptions",
- "OptionName": "Xmx",
+ "Namespace": "aws:elasticbeanstalk:container:tomcat:jvmoptions",
+ "OptionName": "Xmx",
"Value": "256m"
- },
+ },
{
- "Namespace": "aws:autoscaling:asg",
- "OptionName": "Cooldown",
+ "Namespace": "aws:autoscaling:asg",
+ "OptionName": "Cooldown",
"Value": "360"
- },
+ },
{
- "Namespace": "aws:autoscaling:trigger",
- "OptionName": "Period",
+ "Namespace": "aws:autoscaling:trigger",
+ "OptionName": "Period",
"Value": "1"
- },
+ },
{
- "Namespace": "aws:elasticbeanstalk:container:tomcat:jvmoptions",
- "OptionName": "Xms",
+ "Namespace": "aws:elasticbeanstalk:container:tomcat:jvmoptions",
+ "OptionName": "Xms",
"Value": "256m"
- },
+ },
{
- "Namespace": "aws:autoscaling:launchconfiguration",
- "OptionName": "EC2KeyName",
- "Value": null
- },
+ "Namespace": "aws:autoscaling:launchconfiguration",
+ "OptionName": "EC2KeyName",
+ "Value": ""
+ },
{
- "Namespace": "aws:elb:policies",
- "OptionName": "Stickiness Policy",
+ "Namespace": "aws:elb:policies",
+ "OptionName": "Stickiness Policy",
"Value": "false"
- },
+ },
{
- "Namespace": "aws:elasticbeanstalk:application:environment",
- "OptionName": "PARAM3",
- "Value": null
- },
+ "Namespace": "aws:elasticbeanstalk:application:environment",
+ "OptionName": "PARAM3",
+ "Value": ""
+ },
{
- "Namespace": "aws:elb:healthcheck",
- "OptionName": "HealthyThreshold",
+ "Namespace": "aws:elb:healthcheck",
+ "OptionName": "HealthyThreshold",
"Value": "3"
- },
+ },
{
- "Namespace": "aws:elb:loadbalancer",
- "OptionName": "SSLCertificateId",
- "Value": null
+ "Namespace": "aws:elb:loadbalancer",
+ "OptionName": "SSLCertificateId",
+ "Value": ""
}
- ],
- "DateUpdated": "2010-11-17T03:48:19.640Z",
+ ],
+ "DateUpdated": "2010-11-17T03:48:19.640Z",
"SolutionStackName": "32bit Amazon Linux running Tomcat 7"
}
\ No newline at end of file
diff --git a/tests/unit/response_parsing/xml/responses/elasticbeanstalk-describe-configuration-options.json b/tests/unit/response_parsing/xml/responses/elasticbeanstalk-describe-configuration-options.json
index 59ec92c948..2cb7f3803b 100644
--- a/tests/unit/response_parsing/xml/responses/elasticbeanstalk-describe-configuration-options.json
+++ b/tests/unit/response_parsing/xml/responses/elasticbeanstalk-describe-configuration-options.json
@@ -11,12 +11,12 @@
"ChangeSeverity": "RestartApplicationServer",
"Namespace": "aws:elasticbeanstalk:application:environment",
"MaxLength": 200,
- "DefaultValue": null
+ "DefaultValue": ""
},
{
"Name": "PARAM1",
"UserDefined": false,
- "DefaultValue": null,
+ "DefaultValue": "",
"ChangeSeverity": "RestartApplicationServer",
"Namespace": "aws:elasticbeanstalk:application:environment",
"MaxLength": 200,
@@ -33,12 +33,12 @@
"ChangeSeverity": "RestartApplicationServer",
"Namespace": "aws:elasticbeanstalk:application:environment",
"MaxLength": 200,
- "DefaultValue": null
+ "DefaultValue": ""
},
{
"Name": "PARAM2",
"UserDefined": false,
- "DefaultValue": null,
+ "DefaultValue": "",
"ChangeSeverity": "RestartApplicationServer",
"Namespace": "aws:elasticbeanstalk:application:environment",
"MaxLength": 200,
@@ -55,12 +55,12 @@
"ChangeSeverity": "RestartApplicationServer",
"Namespace": "aws:elasticbeanstalk:application:environment",
"MaxLength": 200,
- "DefaultValue": null
+ "DefaultValue": ""
},
{
"Name": "PARAM3",
"UserDefined": false,
- "DefaultValue": null,
+ "DefaultValue": "",
"ChangeSeverity": "RestartApplicationServer",
"Namespace": "aws:elasticbeanstalk:application:environment",
"MaxLength": 200,
@@ -69,7 +69,7 @@
{
"Name": "PARAM4",
"UserDefined": false,
- "DefaultValue": null,
+ "DefaultValue": "",
"ChangeSeverity": "RestartApplicationServer",
"Namespace": "aws:elasticbeanstalk:application:environment",
"MaxLength": 200,
@@ -78,7 +78,7 @@
{
"Name": "PARAM5",
"UserDefined": false,
- "DefaultValue": null,
+ "DefaultValue": "",
"ChangeSeverity": "RestartApplicationServer",
"Namespace": "aws:elasticbeanstalk:application:environment",
"MaxLength": 200,
@@ -126,7 +126,7 @@
{
"Name": "JVM Options",
"UserDefined": false,
- "DefaultValue": null,
+ "DefaultValue": "",
"ChangeSeverity": "RestartApplicationServer",
"Namespace": "aws:elasticbeanstalk:container:tomcat:jvmoptions",
"MaxLength": 200,
@@ -135,7 +135,7 @@
{
"Name": "Notification Endpoint",
"UserDefined": false,
- "DefaultValue": null,
+ "DefaultValue": "",
"ChangeSeverity": "NoInterruption",
"Namespace": "aws:elasticbeanstalk:sns:topics",
"MaxLength": 200,
@@ -144,7 +144,7 @@
{
"Name": "Notification Topic ARN",
"UserDefined": false,
- "DefaultValue": null,
+ "DefaultValue": "",
"ChangeSeverity": "NoInterruption",
"Namespace": "aws:elasticbeanstalk:sns:topics",
"MaxLength": 200,
@@ -168,7 +168,7 @@
{
"Name": "Notification Topic Name",
"UserDefined": false,
- "DefaultValue": null,
+ "DefaultValue": "",
"ChangeSeverity": "NoInterruption",
"Namespace": "aws:elasticbeanstalk:sns:topics",
"MaxLength": 200,
@@ -260,7 +260,7 @@
{
"Name": "SSLCertificateId",
"UserDefined": false,
- "DefaultValue": null,
+ "DefaultValue": "",
"ChangeSeverity": "NoInterruption",
"Namespace": "aws:elb:loadbalancer",
"MaxLength": 200,
@@ -424,7 +424,7 @@
{
"Name": "Custom Availability Zones",
"UserDefined": false,
- "DefaultValue": null,
+ "DefaultValue": "",
"ChangeSeverity": "NoInterruption",
"Namespace": "aws:autoscaling:asg",
"ValueType": "List",
@@ -449,7 +449,7 @@
{
"Name": "EC2KeyName",
"UserDefined": false,
- "DefaultValue": null,
+ "DefaultValue": "",
"ChangeSeverity": "RestartEnvironment",
"Namespace": "aws:autoscaling:launchconfiguration",
"MaxLength": 200,