From 9c13216d2b4e777d6dc2399bb1b3a8784da7d3ec Mon Sep 17 00:00:00 2001 From: Zane Bitter Date: Mon, 5 Nov 2012 12:06:11 +0100 Subject: [PATCH] Fix schemata errors for properties In particular, Integer refers to a literal integer in the JSON markup: {"IntegerProperty": 42} So use Number to refer to a string-encoded number: {"NumberProperty": "42"} Change-Id: Id285ae6145ba888f59529207343d016fba3825eb Signed-off-by: Zane Bitter --- heat/engine/resources/autoscaling.py | 6 +++--- heat/engine/resources/loadbalancer.py | 14 +++++++------- heat/engine/resources/user.py | 7 +++++-- 3 files changed, 15 insertions(+), 12 deletions(-) diff --git a/heat/engine/resources/autoscaling.py b/heat/engine/resources/autoscaling.py index 189001c4..774a02f3 100644 --- a/heat/engine/resources/autoscaling.py +++ b/heat/engine/resources/autoscaling.py @@ -36,7 +36,7 @@ class AutoScalingGroup(resource.Resource): 'MinSize': {'Required': True, 'Type': 'String'}, 'Cooldown': {'Type': 'String'}, - 'DesiredCapacity': {'Type': 'Integer'}, + 'DesiredCapacity': {'Type': 'Number'}, 'HealthCheckGracePeriod': {'Type': 'Integer', 'Implemented': False}, 'HealthCheckType': {'Type': 'String', @@ -176,14 +176,14 @@ class ScalingPolicy(resource.Resource): properties_schema = { 'AutoScalingGroupName': {'Type': 'String', 'Required': True}, - 'ScalingAdjustment': {'Type': 'Integer', + 'ScalingAdjustment': {'Type': 'Number', 'Required': True}, 'AdjustmentType': {'Type': 'String', 'AllowedValues': ['ChangeInCapacity', 'ExactCapacity', 'PercentChangeInCapacity'], 'Required': True}, - 'Cooldown': {'Type': 'Integer'}, + 'Cooldown': {'Type': 'Number'}, } def __init__(self, name, json_snippet, stack): diff --git a/heat/engine/resources/loadbalancer.py b/heat/engine/resources/loadbalancer.py index 0d7cec47..ac8ed220 100644 --- a/heat/engine/resources/loadbalancer.py +++ b/heat/engine/resources/loadbalancer.py @@ -160,28 +160,28 @@ lb_template = ''' class LoadBalancer(stack.Stack): listeners_schema = { - 'InstancePort': {'Type': 'Integer', + 'InstancePort': {'Type': 'Number', 'Required': True}, - 'LoadBalancerPort': {'Type': 'Integer', + 'LoadBalancerPort': {'Type': 'Number', 'Required': True}, 'Protocol': {'Type': 'String', 'Required': True, 'AllowedValues': ['TCP', 'HTTP']}, 'SSLCertificateId': {'Type': 'String', 'Implemented': False}, - 'PolicyNames': {'Type': 'Map', + 'PolicyNames': {'Type': 'List', 'Implemented': False} } healthcheck_schema = { - 'HealthyThreshold': {'Type': 'Integer', + 'HealthyThreshold': {'Type': 'Number', 'Required': True}, - 'Interval': {'Type': 'Integer', + 'Interval': {'Type': 'Number', 'Required': True}, 'Target': {'Type': 'String', 'Required': True}, - 'Timeout': {'Type': 'Integer', + 'Timeout': {'Type': 'Number', 'Required': True}, - 'UnhealthyThreshold': {'Type': 'Integer', + 'UnhealthyThreshold': {'Type': 'Number', 'Required': True}, } diff --git a/heat/engine/resources/user.py b/heat/engine/resources/user.py index 968eaab0..40b8e796 100644 --- a/heat/engine/resources/user.py +++ b/heat/engine/resources/user.py @@ -39,8 +39,11 @@ class DummyId: class User(resource.Resource): properties_schema = {'Path': {'Type': 'String'}, - 'Groups': {'Type': 'CommaDelimitedList'}, - 'LoginProfile': {'Type': 'List'}, + 'Groups': {'Type': 'List'}, + 'LoginProfile': {'Type': 'Map', + 'Schema': { + 'Password': {'Type': 'String'} + }}, 'Policies': {'Type': 'List'}} def __init__(self, name, json_snippet, stack): -- 2.45.2